luisa-vue3
Version:
Vue Low Code - VUE Renderer for FIGMA designs. Turn your Figma or Quant-UX design into VUE, or create re-usable designlets
19,651 lines • 760 kB
JavaScript
module.exports =
/******/ (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 = "fb15");
/******/ })
/************************************************************************/
/******/ ({
/***/ "02df":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-textarea{border:1px solid #333;resize:none;-webkit-transition:all .2s;transition:all .2s}.qux-textarea:focus{outline:none}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "0393":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Container_vue_vue_type_style_index_0_id_1feccc0d_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("46b8");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Container_vue_vue_type_style_index_0_id_1feccc0d_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Container_vue_vue_type_style_index_0_id_1feccc0d_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "0488":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-rating{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.qux-rating .mdi{cursor:pointer}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "04be":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Switch_vue_vue_type_style_index_0_id_4ef03930_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("a1bb");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Switch_vue_vue_type_style_index_0_id_4ef03930_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Switch_vue_vue_type_style_index_0_id_4ef03930_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "04c7":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Icon_vue_vue_type_style_index_0_id_2359caee_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("80db");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Icon_vue_vue_type_style_index_0_id_2359caee_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Icon_vue_vue_type_style_index_0_id_2359caee_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "0865":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_UploadPreview_vue_vue_type_style_index_0_id_3d974a76_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1806");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_UploadPreview_vue_vue_type_style_index_0_id_3d974a76_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_UploadPreview_vue_vue_type_style_index_0_id_3d974a76_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "0974":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Stepper_vue_vue_type_style_index_0_id_5838e59b_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ab5c");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Stepper_vue_vue_type_style_index_0_id_5838e59b_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Stepper_vue_vue_type_style_index_0_id_5838e59b_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "109d":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_ComponentSet_vue_vue_type_style_index_0_id_1ea9ebf0_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("4674");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_ComponentSet_vue_vue_type_style_index_0_id_1ea9ebf0_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_ComponentSet_vue_vue_type_style_index_0_id_1ea9ebf0_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "10c2":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-vector{background-size:100% 100%}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "140a":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-repeater{overflow:auto}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "1473":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("780a");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("02e5c2bf", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "150c":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("02df");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("b5ff05c4", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "1806":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("ffe2");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("f6762724", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "1916":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("b9c6");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("4bf79dce", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "1c90":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_DropDown_vue_vue_type_style_index_0_id_6ba79bc6_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("42be");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_DropDown_vue_vue_type_style_index_0_id_6ba79bc6_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_DropDown_vue_vue_type_style_index_0_id_6ba79bc6_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "1d09":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-stepper{display:inline-block;border:1px solid #333;color:#333;display:-webkit-box;display:-ms-flexbox;display:flex}.qux-stepper .qux-stepper-minus{width:50%;position:relative;text-align:center}.qux-stepper .qux-stepper-plus{width:calc(50% - 1px);border-left:1px solid #333;position:relative;text-align:center}.qux-stepper .qux-stepper-label{position:absolute;top:45%;left:0;width:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "1dec":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("8ff5");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("0ff076d0", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "2221":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("6ebc");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("025e1495", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "24fb":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
// css base code, injected by the css-loader
// eslint-disable-next-line func-names
module.exports = function (useSourceMap) {
var list = []; // return the list of modules as css string
list.toString = function toString() {
return this.map(function (item) {
var content = cssWithMappingToString(item, useSourceMap);
if (item[2]) {
return "@media ".concat(item[2], " {").concat(content, "}");
}
return content;
}).join('');
}; // import a list of modules into the list
// eslint-disable-next-line func-names
list.i = function (modules, mediaQuery, dedupe) {
if (typeof modules === 'string') {
// eslint-disable-next-line no-param-reassign
modules = [[null, modules, '']];
}
var alreadyImportedModules = {};
if (dedupe) {
for (var i = 0; i < this.length; i++) {
// eslint-disable-next-line prefer-destructuring
var id = this[i][0];
if (id != null) {
alreadyImportedModules[id] = true;
}
}
}
for (var _i = 0; _i < modules.length; _i++) {
var item = [].concat(modules[_i]);
if (dedupe && alreadyImportedModules[item[0]]) {
// eslint-disable-next-line no-continue
continue;
}
if (mediaQuery) {
if (!item[2]) {
item[2] = mediaQuery;
} else {
item[2] = "".concat(mediaQuery, " and ").concat(item[2]);
}
}
list.push(item);
}
};
return list;
};
function cssWithMappingToString(item, useSourceMap) {
var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring
var cssMapping = item[3];
if (!cssMapping) {
return content;
}
if (useSourceMap && typeof btoa === 'function') {
var sourceMapping = toComment(cssMapping);
var sourceURLs = cssMapping.sources.map(function (source) {
return "/*# sourceURL=".concat(cssMapping.sourceRoot || '').concat(source, " */");
});
return [content].concat(sourceURLs).concat([sourceMapping]).join('\n');
}
return [content].join('\n');
} // Adapted from convert-source-map (MIT)
function toComment(sourceMap) {
// eslint-disable-next-line no-undef
var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));
var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64);
return "/*# ".concat(data, " */");
}
/***/ }),
/***/ "27df":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("cc39");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("7f0276aa", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "2919":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_CheckBox_vue_vue_type_style_index_0_id_d3268f34_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("27df");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_CheckBox_vue_vue_type_style_index_0_id_d3268f34_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_CheckBox_vue_vue_type_style_index_0_id_d3268f34_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "32b2":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Camera_vue_vue_type_style_index_0_id_44f3d424_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ca12");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Camera_vue_vue_type_style_index_0_id_44f3d424_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Camera_vue_vue_type_style_index_0_id_44f3d424_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "35ed":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_DynamicContainer_vue_vue_type_style_index_0_id_5db800f7_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("2221");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_DynamicContainer_vue_vue_type_style_index_0_id_5db800f7_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_DynamicContainer_vue_vue_type_style_index_0_id_5db800f7_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "397d":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("f761");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("2273055d", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "39c2":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Label_vue_vue_type_style_index_0_id_0d034c6a_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("bac5");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Label_vue_vue_type_style_index_0_id_0d034c6a_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Label_vue_vue_type_style_index_0_id_0d034c6a_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "3ea0":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_TextArea_vue_vue_type_style_index_0_id_54ddff53_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("150c");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_TextArea_vue_vue_type_style_index_0_id_54ddff53_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_TextArea_vue_vue_type_style_index_0_id_54ddff53_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "3f27":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_IconToggle_vue_vue_type_style_index_0_id_ee87e65e_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("f0d9");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_IconToggle_vue_vue_type_style_index_0_id_ee87e65e_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_IconToggle_vue_vue_type_style_index_0_id_ee87e65e_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "42be":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("879b");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("9696d4ea", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "435a":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_TextBox_vue_vue_type_style_index_0_id_3c21fda5_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("458e");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_TextBox_vue_vue_type_style_index_0_id_3c21fda5_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_TextBox_vue_vue_type_style_index_0_id_3c21fda5_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "458e":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("ced2");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("386d2354", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "4674":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("bf15");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("25af3204", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "46b8":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("8449");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("a432078c", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "499e":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ addStylesClient; });
// CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/listToStyles.js
/**
* Translates the list format produced by css-loader into something
* easier to manipulate.
*/
function listToStyles (parentId, list) {
var styles = []
var newStyles = {}
for (var i = 0; i < list.length; i++) {
var item = list[i]
var id = item[0]
var css = item[1]
var media = item[2]
var sourceMap = item[3]
var part = {
id: parentId + ':' + i,
css: css,
media: media,
sourceMap: sourceMap
}
if (!newStyles[id]) {
styles.push(newStyles[id] = { id: id, parts: [part] })
} else {
newStyles[id].parts.push(part)
}
}
return styles
}
// CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/addStylesClient.js
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
Modified by Evan You @yyx990803
*/
var hasDocument = typeof document !== 'undefined'
if (typeof DEBUG !== 'undefined' && DEBUG) {
if (!hasDocument) {
throw new Error(
'vue-style-loader cannot be used in a non-browser environment. ' +
"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment."
) }
}
/*
type StyleObject = {
id: number;
parts: Array<StyleObjectPart>
}
type StyleObjectPart = {
css: string;
media: string;
sourceMap: ?string
}
*/
var stylesInDom = {/*
[id: number]: {
id: number,
refs: number,
parts: Array<(obj?: StyleObjectPart) => void>
}
*/}
var head = hasDocument && (document.head || document.getElementsByTagName('head')[0])
var singletonElement = null
var singletonCounter = 0
var isProduction = false
var noop = function () {}
var options = null
var ssrIdKey = 'data-vue-ssr-id'
// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>
// tags it will allow on a page
var isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\b/.test(navigator.userAgent.toLowerCase())
function addStylesClient (parentId, list, _isProduction, _options) {
isProduction = _isProduction
options = _options || {}
var styles = listToStyles(parentId, list)
addStylesToDom(styles)
return function update (newList) {
var mayRemove = []
for (var i = 0; i < styles.length; i++) {
var item = styles[i]
var domStyle = stylesInDom[item.id]
domStyle.refs--
mayRemove.push(domStyle)
}
if (newList) {
styles = listToStyles(parentId, newList)
addStylesToDom(styles)
} else {
styles = []
}
for (var i = 0; i < mayRemove.length; i++) {
var domStyle = mayRemove[i]
if (domStyle.refs === 0) {
for (var j = 0; j < domStyle.parts.length; j++) {
domStyle.parts[j]()
}
delete stylesInDom[domStyle.id]
}
}
}
}
function addStylesToDom (styles /* Array<StyleObject> */) {
for (var i = 0; i < styles.length; i++) {
var item = styles[i]
var domStyle = stylesInDom[item.id]
if (domStyle) {
domStyle.refs++
for (var j = 0; j < domStyle.parts.length; j++) {
domStyle.parts[j](item.parts[j])
}
for (; j < item.parts.length; j++) {
domStyle.parts.push(addStyle(item.parts[j]))
}
if (domStyle.parts.length > item.parts.length) {
domStyle.parts.length = item.parts.length
}
} else {
var parts = []
for (var j = 0; j < item.parts.length; j++) {
parts.push(addStyle(item.parts[j]))
}
stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }
}
}
}
function createStyleElement () {
var styleElement = document.createElement('style')
styleElement.type = 'text/css'
head.appendChild(styleElement)
return styleElement
}
function addStyle (obj /* StyleObjectPart */) {
var update, remove
var styleElement = document.querySelector('style[' + ssrIdKey + '~="' + obj.id + '"]')
if (styleElement) {
if (isProduction) {
// has SSR styles and in production mode.
// simply do nothing.
return noop
} else {
// has SSR styles but in dev mode.
// for some reason Chrome can't handle source map in server-rendered
// style tags - source maps in <style> only works if the style tag is
// created and inserted dynamically. So we remove the server rendered
// styles and inject new ones.
styleElement.parentNode.removeChild(styleElement)
}
}
if (isOldIE) {
// use singleton mode for IE9.
var styleIndex = singletonCounter++
styleElement = singletonElement || (singletonElement = createStyleElement())
update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)
remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)
} else {
// use multi-style-tag mode in all other cases
styleElement = createStyleElement()
update = applyToTag.bind(null, styleElement)
remove = function () {
styleElement.parentNode.removeChild(styleElement)
}
}
update(obj)
return function updateStyle (newObj /* StyleObjectPart */) {
if (newObj) {
if (newObj.css === obj.css &&
newObj.media === obj.media &&
newObj.sourceMap === obj.sourceMap) {
return
}
update(obj = newObj)
} else {
remove()
}
}
}
var replaceText = (function () {
var textStore = []
return function (index, replacement) {
textStore[index] = replacement
return textStore.filter(Boolean).join('\n')
}
})()
function applyToSingletonTag (styleElement, index, remove, obj) {
var css = remove ? '' : obj.css
if (styleElement.styleSheet) {
styleElement.styleSheet.cssText = replaceText(index, css)
} else {
var cssNode = document.createTextNode(css)
var childNodes = styleElement.childNodes
if (childNodes[index]) styleElement.removeChild(childNodes[index])
if (childNodes.length) {
styleElement.insertBefore(cssNode, childNodes[index])
} else {
styleElement.appendChild(cssNode)
}
}
}
function applyToTag (styleElement, obj) {
var css = obj.css
var media = obj.media
var sourceMap = obj.sourceMap
if (media) {
styleElement.setAttribute('media', media)
}
if (options.ssrId) {
styleElement.setAttribute(ssrIdKey, obj.id)
}
if (sourceMap) {
// https://developer.chrome.com/devtools/docs/javascript-debugging
// this makes source maps inside style tags work properly in Chrome
css += '\n/*# sourceURL=' + sourceMap.sources[0] + ' */'
// http://stackoverflow.com/a/26603875
css += '\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'
}
if (styleElement.styleSheet) {
styleElement.styleSheet.cssText = css
} else {
while (styleElement.firstChild) {
styleElement.removeChild(styleElement.firstChild)
}
styleElement.appendChild(document.createTextNode(css))
}
}
/***/ }),
/***/ "4b60":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-segment{-webkit-box-pack:stretch;-ms-flex-pack:stretch;justify-content:stretch}.qux-segment,.qux-segment .qux-segment-item{display:-webkit-box;display:-ms-flexbox;display:flex}.qux-segment .qux-segment-item{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;height:100%;cursor:pointer;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.qux-segment .qux-segment-item .qux-segment-item-label{display:inline-block;width:100%}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "4b6f":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Spinner_vue_vue_type_style_index_0_id_6878191f_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("aeee");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Spinner_vue_vue_type_style_index_0_id_6878191f_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Spinner_vue_vue_type_style_index_0_id_6878191f_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "4c3b":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-timeline{position:relative}.qux-timeline-line{position:absolute;height:100%;background:#333;width:8px;top:0;left:8px;border-radius:4px}.qux-timeline-element{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative}.qux-timeline-circle{display:inline-block;border-radius:50%;border-style:solid;width:32px;height:32px;background:#fff;border:2px solid #333}.qux-timeline-label{display:inline-block;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;color:#333;padding-left:8px}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "4cdb":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Luisa_vue_vue_type_style_index_0_id_7a806424_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("a62f");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Luisa_vue_vue_type_style_index_0_id_7a806424_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Luisa_vue_vue_type_style_index_0_id_7a806424_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "5241":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-toggle{cursor:pointer;-webkit-transition:all .2s;transition:all .2s}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "54ca":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_CheckBoxGroup_vue_vue_type_style_index_0_id_40254c42_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1473");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_CheckBoxGroup_vue_vue_type_style_index_0_id_40254c42_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_CheckBoxGroup_vue_vue_type_style_index_0_id_40254c42_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "58a5":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("4c3b");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("435cdc34", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "5991":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Upload_vue_vue_type_style_index_0_id_0e5fb944_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("aad6");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Upload_vue_vue_type_style_index_0_id_0e5fb944_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Upload_vue_vue_type_style_index_0_id_0e5fb944_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "5ebe":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("6ac4");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("10632dd7", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "6359":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("afc2");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("797b9334", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "6381":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Vector_vue_vue_type_style_index_0_id_32aacd8d_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d2a9");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Vector_vue_vue_type_style_index_0_id_32aacd8d_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Vector_vue_vue_type_style_index_0_id_32aacd8d_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "6ac4":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-radiobox{display:inline-block;overflow:hidden}.qux-radiobox .qux-radiobox-cntr{position:relative;width:100%;height:100%;display:inline-block;vertical-align:middle}.qux-radiobox .qux-radiobox-hook{-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:opacity;transition-property:opacity;background:#1973e8;border-radius:50%;display:inline-block;height:60%;width:60%;left:20%;position:absolute;opacity:0;top:20%}.qux-radiobox .qux-radiobox-label{margin-left:10px;vertical-align:middle;cursor:pointer}.qux-radiobox-checked .qux-radiobox-hook{opacity:1}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "6ebc":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, "", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "760f":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Button_vue_vue_type_style_index_0_id_560e0170_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ad9d");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Button_vue_vue_type_style_index_0_id_560e0170_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Button_vue_vue_type_style_index_0_id_560e0170_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "764c":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Repeater_vue_vue_type_style_index_0_id_4a475f68_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d2f0");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Repeater_vue_vue_type_style_index_0_id_4a475f68_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Repeater_vue_vue_type_style_index_0_id_4a475f68_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "771a":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-upload{cursor:pointer;-webkit-transition:all .2s;transition:all .2s;border:1px solid red}.qux-upload input{height:100%;width:100%;opacity:0;cursor:pointer}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "780a":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-checkgroup{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.qux-checkgroup .qux-checkbox{display:block}.qux-checkgroup .qux-checkbox .qux-checkbox-cntr{vertical-align:middle}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "783a":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Rating_vue_vue_type_style_index_0_id_6338593b_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d931");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Rating_vue_vue_type_style_index_0_id_6338593b_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Rating_vue_vue_type_style_index_0_id_6338593b_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "8040":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("c7aa");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("7b673c79", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "80db":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("fb8c");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("d4d82594", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "8449":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-container{border-style:solid;border-width:0}.qux-container .qux-container-debug{color:red}.qux-container .qux-container-wrapper-placeholder{background:red;height:1px;width:100px}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "84b3":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-radiogroup{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.qux-radiogroup .qux-radiobox{display:block}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "879b":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-dropdown{border:1px solid #333;-webkit-transition:all .2s;transition:all .2s;display:inline-block;position:relative;cursor:pointer}.qux-dropdown .qux-dropdown-label{height:100%;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.qux-dropdown .qux-dropdown-label .qux-dropdown-expend{position:absolute;height:100%;top:0;right:0;width:40px}.qux-dropdown .qux-dropdown-label .qux-dropdown-carret{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid;display:inline-block;height:0;margin-left:2px;vertical-align:middle;width:0;position:absolute;right:50%;top:50%;-webkit-transform:translateY(-50%) translateX(50%);transform:translateY(-50%) translateX(50%);cursor:pointer}.qux-dropdown .qux-dropdown-popup{position:absolute;top:100%;left:0;display:none;border:1px solid #333;width:100%;z-index:1000;background:#fff;max-height:300px;overflow:auto}.qux-dropdown .qux-dropdown-item{display:block;cursor:pointer}.qux-dropdown.qux-open .qux-dropdown-popup{display:block}.qux-dropdown.qux-dropdown-mobile .qux-dropdown-popup{position:fixed;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);left:10%;width:80%;max-height:80%;overflow:auto;border-radius:20px;background:#333;color:#fff;-webkit-box-shadow:0 3px 100px rgba(0,0,0,.5);box-shadow:0 3px 100px rgba(0,0,0,.5);border:none;z-index:10001}.qux-dropdown.qux-dropdown-mobile .qux-dropdown-popup .qux-dropdown-item{display:block;cursor:pointer;padding:20px;font-size:20px}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "8875":
/***/ (function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// addapted from the document.currentScript polyfill by Adam Miller
// MIT license
// source: https://github.com/amiller-gh/currentScript-polyfill
// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505
(function (root, factory) {
if (true) {
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
} else {}
}(typeof self !== 'undefined' ? self : this, function () {
function getCurrentScript () {
var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')
// for chrome
if (!descriptor && 'currentScript' in document && document.currentScript) {
return document.currentScript
}
// for other browsers with native support for currentScript
if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {
return document.currentScript
}
// IE 8-10 support script readyState
// IE 11+ & Firefox support stack trace
try {
throw new Error();
}
catch (err) {
// Find the second match for the "at" string to get file src url from stack.
var ieStackRegExp = /.*at [^(]*\((.*):(.+):(.+)\)$/ig,
ffStackRegExp = /@([^@]*):(\d+):(\d+)\s*$/ig,
stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),
scriptLocation = (stackDetails && stackDetails[1]) || false,
line = (stackDetails && stackDetails[2]) || false,
currentLocation = document.location.href.replace(document.location.hash, ''),
pageSource,
inlineScriptSourceRegExp,
inlineScriptSource,
scripts = document.getElementsByTagName('script'); // Live NodeList collection
if (scriptLocation === currentLocation) {
pageSource = document.documentElement.outerHTML;
inlineScriptSourceRegExp = new RegExp('(?:[^\\n]+?\\n){0,' + (line - 2) + '}[^<]*<script>([\\d\\D]*?)<\\/script>[\\d\\D]*', 'i');
inlineScriptSource = pageSource.replace(inlineScriptSourceRegExp, '$1').trim();
}
for (var i = 0; i < scripts.length; i++) {
// If ready state is interactive, return the script tag
if (scripts[i].readyState === 'interactive') {
return scripts[i];
}
// If src matches, return the script tag
if (scripts[i].src === scriptLocation) {
return scripts[i];
}
// If inline source matches, return the script tag
if (
scriptLocation === currentLocation &&
scripts[i].innerHTML &&
scripts[i].innerHTML.trim() === inlineScriptSource
) {
return scripts[i];
}
}
// If no match, return null
return null;
}
};
return getCurrentScript
}));
/***/ }),
/***/ "8a4c":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux{background:none;height:100%}.qux.qux-component-screen{height:auto;display:inline-block}.qux-screen{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:100%;background-size:100%}.qux-action{text-decoration:none}.qux-action,.qux-action *{cursor:pointer}.qux-valign-middle{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center}.qux-valign-middle .qux-common-label{width:100%}.qux-valign-bottom{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-ms-flex-line-pack:end;align-content:flex-end}.qux-valign-bottom .qux-common-label{width:100%}.qux-overlay-wrapper{width:100%;height:100%;position:absolute;top:0;left:0;z-index:99999}.qux-overlay-wrapper.qux-overlay-wrapper-fixed{position:fixed}.qux-screen-blurred{-webkit-filter:blur(10px);filter:blur(10px)}.qux-resize-left:before{content:\"\";width:3px;background:orange}.qux-resize-right:after{content:\"\";width:3px;background:orange}.qux-common-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.qux-common-valign-center{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.qux-noselect{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.qux-button{display:inline-block;border-style:solid;border-width:0}a.qux-button{text-decoration:none}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "8bbf":
/***/ (function(module, exports) {
module.exports = require("vue");
/***/ }),
/***/ "8bd9":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Slider_vue_vue_type_style_index_0_id_1ec537c2_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cc0a");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Slider_vue_vue_type_style_index_0_id_1ec537c2_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Slider_vue_vue_type_style_index_0_id_1ec537c2_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "8efa":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Timeline_vue_vue_type_style_index_0_id_0a766c80_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("58a5");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Timeline_vue_vue_type_style_index_0_id_0a766c80_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Timeline_vue_vue_type_style_index_0_id_0a766c80_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "8f51":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("f4e8");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("f7aa3fbe", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "8ff5":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-toggle{cursor:pointer;-webkit-transition:all .2s;transition:all .2s}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "9137":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_ChildrenToggle_vue_vue_type_style_index_0_id_5ea1dd04_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("c7a1");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_ChildrenToggle_vue_vue_type_style_index_0_id_5ea1dd04_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_ChildrenToggle_vue_vue_type_style_index_0_id_5ea1dd04_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "9465":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-date{overflow:hidden}.qux-date .qux-date-header{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:15%;font-size:120%}.qux-date .qux-date-header .qux-date-header-btn{position:relative;width:15%;text-align:center;cursor:pointer}.qux-date .qux-date-header .qux-date-header-label{position:relative;text-align:center;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.qux-date .qux-date-header-label .qux-common-valign-center{width:100%}.qux-date .qux-date-body{width:100%;height:85%}.qux-date .qux-date-body table{width:100%;height:100%;border-spacing:0;border-collapse:collapse;text-align:center}.qux-date .qux-date-body td,.qux-date .qux-date-body th{padding:5px;width:14.3%}.qux-date .qux-date-body td{cursor:pointer}.qux-date .qux-date-body .qux-date-range-end,.qux-date .qux-date-body .qux-date-range-start,.qux-date .qux-date-body .qux-date-selected{background:#333;color:#fff}.qux-date .qux-date-body .qux-date-range-middle{background:#555;color:#fff}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "95b2":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("e7e7");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("6cec7cba", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "a1bb":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("beac");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("36d04c1e", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "a61b":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Chart_vue_vue_type_style_index_0_id_14b478fc_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("6359");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Chart_vue_vue_type_style_index_0_id_14b478fc_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Chart_vue_vue_type_style_index_0_id_14b478fc_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "a62f":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("eb39");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("b202a1ae", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "a775":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-icon-toggle{display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer}.qux-icon-toggle .qux-icon-toggle-label{padding-left:10px}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "aad6":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("771a");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("323e9ee8", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "ab5c":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("1d09");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("1c510ef4", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "ac19":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Image_vue_vue_type_style_index_0_id_7b37ca7e_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1916");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Image_vue_vue_type_style_index_0_id_7b37ca7e_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Image_vue_vue_type_style_index_0_id_7b37ca7e_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "ad9d":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("8a4c");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("0e45268a", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "ae03":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Date_vue_vue_type_style_index_0_id_2653b0e3_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ee07");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Date_vue_vue_type_style_index_0_id_2653b0e3_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Date_vue_vue_type_style_index_0_id_2653b0e3_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "ae5d":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-label{display:inline-block}.qux-label .qux-richtext h1{font-size:150%;font-weight:600}.qux-label .qux-richtext h2{font-size:140%;font-weight:600}.qux-label .qux-richtext h3{font-size:130%;font-weight:600}.qux-label .qux-richtext h4{font-size:120%;font-weight:600}.qux-label .qux-richtext h5,.qux-label .qux-richtext h6{font-size:100%;font-weight:600}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "aee5":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-camera{cursor:pointer;-webkit-transition:all .2s;transition:all .2s;border:1px solid red;position:relative}.qux-camera .qux-camera-icon{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);cursor:pointer}.qux-camera input{height:100%;width:100%;opacity:0;cursor:pointer}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "aeee":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("c325");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("0a9fa113", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "af65":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-date-picker{border:1px solid #333;position:relative}.qux-date-picker .qux-common-placeholder{opacity:.7}.qux-date-picker .qux-date-picker-icon{position:absolute;right:50%;top:50%;-webkit-transform:translateY(-50%) translateX(50%);transform:translateY(-50%) translateX(50%)}.qux-date-picker .qux-date-picker-expend{position:absolute;height:100%;top:0;right:0;width:40px}.qux-date-picker .qux-date-picker-carret{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid;display:inline-block;height:0;margin-left:2px;vertical-align:middle;width:0;position:absolute;right:50%;top:50%;-webkit-transform:translateY(-50%) translateX(50%);transform:translateY(-50%) translateX(50%);cursor:pointer}.qux-date-picker .qux-date-picker-popup{position:absolute;top:calc(100% + 1px);left:0;display:none;border:1px solid #333;width:100%;height:300px;max-width:300px;max-height:300px;z-index:1000;background:#fff}.qux-date-picker .qux-date-picker-popup .qux-date{height:100%}.qux-date-picker .qux-date-picker-item{display:block;cursor:pointer}.qux-date-picker.qux-open .qux-date-picker-popup{display:block}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "afc2":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-chart{border:0 solid #333}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "b16e":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_RadioGroup_vue_vue_type_style_index_0_id_c691a47a_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("f135");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_RadioGroup_vue_vue_type_style_index_0_id_c691a47a_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_RadioGroup_vue_vue_type_style_index_0_id_c691a47a_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "b9c6":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, "", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "ba07":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("af65");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("7b14fb49", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "bac5":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("ae5d");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("68e087e4", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "beac":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-switch{cursor:pointer;position:relative}.qux-switch .qux-switch-cntr{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.qux-switch .qux-switch-cntr.qux-switch-cntr-thin{height:50%;top:50%;transform:translateY(-50%);-webkit-transform:translateY(-50%)}.qux-switch .qux-switch-cntr .qux-switch-on{left:-100%}.qux-switch .qux-switch-cntr .qux-switch-off,.qux-switch .qux-switch-cntr .qux-switch-on{position:absolute;width:100%;height:100%;top:0;-webkit-transition:all .3s;transition:all .3s}.qux-switch .qux-switch-cntr .qux-switch-off{left:0}.qux-switch .qux-switch-handle{position:absolute;top:0;left:0;-webkit-transition:all .3s;transition:all .3s;border:1px solid transparent}.qux-switch.qux-active .qux-switch-handle{position:absolute;top:0;left:auto;right:0}.qux-switch.qux-active .qux-switch-on{left:0}.qux-switch.qux-active .qux-switch-off{left:100%}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "bf15":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-compoment-set{border-style:solid;border-width:0}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "c151":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_DatePicker_vue_vue_type_style_index_0_id_732c8e84_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ba07");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_DatePicker_vue_vue_type_style_index_0_id_732c8e84_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_DatePicker_vue_vue_type_style_index_0_id_732c8e84_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "c325":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-spinner{border:none;position:relative;overflow:hidden;cursor:pointer}.qux-spinner .qux-spinner-border{position:absolute;height:33.3%;width:100%;top:33.3%;left:0;border-top:1px solid #333;border-bottom:1px solid #333}.qux-spinner .qux-spinner-option-cntr{position:absolute;left:0;height:300%;width:100%}.qux-spinner .qux-spinner-option-cntr.qux-spinner-option-cntr-animated{-webkit-transition:all .33s;transition:all .33s}.qux-spinner .qux-spinner-option{display:block;height:20%;width:100%;opacity:.6;position:relative;text-align:center}.qux-spinner .qux-spinner-option .qux-common-label{width:100%}.qux-spinner .qux-spinner-option.qux-spinner-option-selected{opacity:1}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "c7a1":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("5241");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("1d74e7e9", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "c7aa":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-table{overflow:auto}.qux-table.qux-table-fixed{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.qux-table.qux-table-fixed .qux-table-body{overflow:auto;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.qux-table table{width:100%;height:100%;border-spacing:0;border-collapse:collapse}.qux-table table .qux-table-action{cursor:pointer}.qux-table table .qux-table-action:hover{text-decoration:underline}.qux-table table .qux-table-action-hover{opacity:0}.qux-table table th{cursor:pointer}.qux-table table tr:hover .qux-table-action-hover{opacity:1}.qux-table table .qux-table-action-cntr{text-align:right}.qux-checkbox{display:inline-block;overflow:hidden;cursor:pointer}.qux-checkbox .qux-checkbox-cntr{position:relative;width:100%;height:100%;display:inline-block;vertical-align:top;border:1px solid #333}.qux-checkbox .qux-checkbox-hook{-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:opacity;transition-property:opacity;border-bottom:3px solid #333;border-right:3px solid #333;transform:rotate(45deg);-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);display:inline-block;height:70%;width:30%;left:30%;position:absolute;opacity:0;top:0}.qux-checkbox .qux-checkbox-label{margin-left:10px;vertical-align:middle;cursor:pointer}.qux-checkbox-checked .qux-checkbox-hook{opacity:1}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "ca12":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("aee5");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("54d73212", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "cc0a":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("f21a");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("bece7f60", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "cc39":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-checkbox{display:inline-block;overflow:hidden;cursor:pointer}.qux-checkbox .qux-checkbox-cntr{position:relative;width:100%;height:100%;display:inline-block;vertical-align:top;border:1px solid #333}.qux-checkbox .qux-checkbox-hook{-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:opacity;transition-property:opacity;border-bottom:3px solid #333;border-right:3px solid #333;transform:rotate(45deg);-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);display:inline-block;height:70%;width:30%;left:30%;position:absolute;opacity:0;top:0}.qux-checkbox .qux-checkbox-label{margin-left:10px;vertical-align:middle;cursor:pointer}.qux-checkbox-checked .qux-checkbox-hook{opacity:1}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "cc7d":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_RichText_vue_vue_type_style_index_0_id_033a04d5_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("fa6a");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_RichText_vue_vue_type_style_index_0_id_033a04d5_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_RichText_vue_vue_type_style_index_0_id_033a04d5_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "ced2":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-textbox{border:1px solid #333;-webkit-transition:all .2s;transition:all .2s;padding:0}.qux-textbox:focus{outline:none}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "d0ae":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("4b60");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("87092d34", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "d2a9":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("10c2");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("2fd1c6c1", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "d2f0":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("140a");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("22285934", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "d63c":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Table_vue_vue_type_style_index_0_id_69078851_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("8040");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Table_vue_vue_type_style_index_0_id_69078851_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Table_vue_vue_type_style_index_0_id_69078851_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "d8f4":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-rich-text{display:inline-block}.qux-rich-text .qux-common-label{width:100%}.qux-rich-text .qux-common-label span{display:inline}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "d931":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("0488");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("7150d64c", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "d959":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
// runtime helper for setting properties on components
// in a tree-shakable way
exports.default = (sfc, props) => {
for (const [key, val] of props) {
sfc[key] = val;
}
return sfc;
};
/***/ }),
/***/ "dbbf":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Combo_vue_vue_type_style_index_0_id_5ada1a2c_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("397d");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Combo_vue_vue_type_style_index_0_id_5ada1a2c_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Combo_vue_vue_type_style_index_0_id_5ada1a2c_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "e7e7":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-label{display:inline-block;text-decoration:none}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "eb39":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux{background:none;height:100%}.qux.qux-component-screen{height:auto;display:inline-block}.qux-screen{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:100%;background-size:100%}.qux-action{text-decoration:none}.qux-action,.qux-action *{cursor:pointer}.qux-valign-middle{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center}.qux-valign-middle .qux-common-label{width:100%}.qux-valign-bottom{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-ms-flex-line-pack:end;align-content:flex-end}.qux-valign-bottom .qux-common-label{width:100%}.qux-overlay-wrapper{width:100%;height:100%;position:absolute;top:0;left:0;z-index:99999}.qux-overlay-wrapper.qux-overlay-wrapper-fixed{position:fixed}.qux-screen-blurred{-webkit-filter:blur(10px);filter:blur(10px)}.qux-resize-left:before{content:\"\";width:3px;background:orange}.qux-resize-right:after{content:\"\";width:3px;background:orange}.qux-common-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.qux-common-valign-center{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.qux-noselect{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "ec79":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Toggle_vue_vue_type_style_index_0_id_133dc670_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1dec");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Toggle_vue_vue_type_style_index_0_id_133dc670_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Toggle_vue_vue_type_style_index_0_id_133dc670_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "ed76":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Paging_vue_vue_type_style_index_0_id_2fa03020_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("8f51");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Paging_vue_vue_type_style_index_0_id_2fa03020_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Paging_vue_vue_type_style_index_0_id_2fa03020_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "ee07":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("9465");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("1f048245", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "ef5f":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Link_vue_vue_type_style_index_0_id_17dac503_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("95b2");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Link_vue_vue_type_style_index_0_id_17dac503_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Link_vue_vue_type_style_index_0_id_17dac503_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "f0d9":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("a775");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("33d18efe", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "f135":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("84b3");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("2d914847", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "f21a":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-slider{position:relative;cursor:pointer}.qux-slider .qux-slider-track{width:100%;height:34%;position:absolute;top:33%;left:0;border:0;overflow:hidden}.qux-slider .qux-slider-track .qux-slider-progress{height:100%}.qux-slider .qux-slider-handle-cntr{position:absolute;top:0;left:0}.qux-slider .qux-slider-handle{position:absolute;top:0;left:0;width:40px;border-radius:20px;cursor:pointer}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "f4e8":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-paging{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.qux-paging .qux-paging-item{cursor:pointer;position:relative}.qux-paging .qux-paging-item-active{background:#333}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "f761":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-combo{border:none;position:relative;-webkit-transition:all .2s;transition:all .2s}.qux-combo .qux-combo-input{width:100%;height:100%}.qux-combo .qux-combo-input:focus{outline:none}.qux-combo .qux-combo-popup{position:absolute;top:calc(100% + 1px);left:0;display:none;border:1px solid #333;width:100%;z-index:1000;max-height:300px;overflow:auto;background:#fff}.qux-combo .qux-combo-item{display:block;cursor:pointer}.qux-combo.qux-open .qux-combo-popup{display:block}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "fa41":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_RadioBox_vue_vue_type_style_index_0_id_c602cd60_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("5ebe");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_RadioBox_vue_vue_type_style_index_0_id_c602cd60_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_RadioBox_vue_vue_type_style_index_0_id_c602cd60_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "fa6a":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("d8f4");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__("499e").default
var update = add("3fd3ddf3", content, true, {"sourceMap":false,"shadowMode":false});
/***/ }),
/***/ "fb15":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, "createFigmaService", function() { return /* reexport */ createFigmaService; });
__webpack_require__.d(__webpack_exports__, "createModelTransformer", function() { return /* reexport */ createModelTransformer; });
__webpack_require__.d(__webpack_exports__, "createCSSOptimizer", function() { return /* reexport */ createCSSOptimizer; });
__webpack_require__.d(__webpack_exports__, "createCSSFactory", function() { return /* reexport */ createCSSFactory; });
__webpack_require__.d(__webpack_exports__, "createCSSWriter", function() { return /* reexport */ createCSSWriter; });
__webpack_require__.d(__webpack_exports__, "setLogLevel", function() { return /* reexport */ setLogLevel; });
__webpack_require__.d(__webpack_exports__, "createFigmaDesignlets", function() { return /* reexport */ createFigmaDesignlets; });
__webpack_require__.d(__webpack_exports__, "createFigmaDesignSystem", function() { return /* reexport */ createFigmaDesignSystem; });
__webpack_require__.d(__webpack_exports__, "createQUXDesignlets", function() { return /* reexport */ createQUXDesignlets; });
__webpack_require__.d(__webpack_exports__, "createQUXDesignSystem", function() { return /* reexport */ createQUXDesignSystem; });
__webpack_require__.d(__webpack_exports__, "getDesignSystem", function() { return /* reexport */ getDesignSystem; });
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js
// This file is imported into lib/wc client bundles.
if (typeof window !== 'undefined') {
var currentScript = window.document.currentScript
if (true) {
var getCurrentScript = __webpack_require__("8875")
currentScript = getCurrentScript()
// for backward compatibility, because previously we directly included the polyfill
if (!('currentScript' in document)) {
Object.defineProperty(document, 'currentScript', { get: getCurrentScript })
}
}
var src = currentScript && currentScript.src.match(/(.+\/)[^/]+\.js(\?.*)?$/)
if (src) {
__webpack_require__.p = src[1] // eslint-disable-line
}
}
// Indicate to webpack that this file can be concatenated
/* harmony default export */ var setPublicPath = (null);
// CONCATENATED MODULE: ./src/qux/core/Logger.js
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; }
var Logger = /*#__PURE__*/function () {
function Logger() {
_classCallCheck(this, Logger);
this.logLevel = 0;
}
_createClass(Logger, [{
key: "setLogLevel",
value: function setLogLevel(l) {
this.logLevel = l;
}
}, {
key: "warn",
value: function warn(msg, obj) {
if (obj !== undefined) {
console.warn(msg, obj);
} else {
console.warn(msg);
}
}
}, {
key: "error",
value: function error(msg, obj) {
if (obj !== undefined) {
console.error(msg, obj);
} else {
console.error(msg);
}
}
}, {
key: "log",
value: function log(level, msg, obj) {
var obj2 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "";
if (level < this.logLevel) {
if (obj !== undefined) {
console.debug(msg, obj, obj2);
} else {
console.debug(msg);
}
}
}
}]);
return Logger;
}();
/* harmony default export */ var core_Logger = (new Logger());
// CONCATENATED MODULE: ./src/qux/core/Const.js
var Layout = Object.freeze({
Row: 'row',
// row means we render as rows top down. Thjis is different than felx rows!
Grid: 'grid',
Wrap: 'wrap',
AutoHorizontal: 'auto-horizontal',
AutoVertical: 'auto-vertical'
});
// CONCATENATED MODULE: ./src/qux/figma/FigmaService.js
function FigmaService_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function FigmaService_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 FigmaService_createClass(Constructor, protoProps, staticProps) { if (protoProps) FigmaService_defineProperties(Constructor.prototype, protoProps); if (staticProps) FigmaService_defineProperties(Constructor, staticProps); return Constructor; }
var FigmaService_FigmaService = /*#__PURE__*/function () {
function FigmaService(key) {
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
FigmaService_classCallCheck(this, FigmaService);
this.setAccessKey(key);
this.baseURL = 'https://api.figma.com/v1/';
this.vectorTypes = ['LINE', 'ELLIPSE', 'VECTOR'];
this.buttonTypes = ['RECTANGLE', 'TEXT', 'FRAME', 'GROUP', 'INSTANCE', 'COMPONENT', 'VARIANT_COMPONENT', 'COMPONENT_SET'];
this.ignoredTypes = []; // ['GROUP', 'INSTANCE']
this.allAsVecor = false;
this.max_ids = 50;
this.pluginId = '858477504263032980';
this.downloadVectors = true;
this.imageScaleFactor = 2;
this.throttleRequestThreshold = 10;
this.throttleRequestTimeout = 1000;
this.pinnRight = false;
this.errors = [];
this.autoLineHeightAsNormal = true;
this.defaultFontFamily = 'Helvetica Neue,Helvetica,Arial,sans-serif';
if (config.figma) {
if (config.figma.throttleRequestThreshold) {
this.throttleRequestThreshold = config.figma.throttleRequestThreshold;
}
if (config.figma.throttleRequestTimeout) {
this.throttleRequestTimeout = config.figma.throttleRequestTimeout;
}
if (config.figma.throttleBatchSize) {
this.max_ids = config.figma.throttleBatchSize;
}
if (config.figma.pinnRight) {
this.pinnRight = config.figma.pinnRight;
}
if (config.figma.downloadVectors === false) {
this.downloadVectors = false;
}
if (config.figma.defaultFontFamily !== '') {
this.defaultFontFamily = config.figma.defaultFontFamily;
}
}
if (config.css && config.css.autoLineHeightAsNormal === false) {
core_Logger.log(-1, 'FigmaService.constructor () > Auto Line === 150%');
this.autoLineHeightAsNormal = false;
}
this.figmaAlignMapping = {
MIN: 'flex-start',
CENTER: 'center',
MAX: 'flex-end',
SPACE_BETWEEN: 'space-between'
}; // https://www.figma.com/plugin-docs/api/Trigger/
this.figmaAnimationTypeMapping = {
'ON_CLICK': 'click',
'ON_HOVER': 'hover',
'MOUSE_LEAVE': 'mouseleave',
'MOUSE_ENTER': 'mouseenter',
"MOUSE_UP": 'mouseup',
"MOUSE_DOWN": "mousedown"
};
this.figmaAnimationEasingMapping = {};
}
FigmaService_createClass(FigmaService, [{
key: "setImageScaleFactor",
value: function setImageScaleFactor(factor) {
this.imageScaleFactor = factor;
return this;
}
}, {
key: "setAccessKey",
value: function setAccessKey(key) {
this.key = key;
return this;
}
}, {
key: "setDownloadVectors",
value: function setDownloadVectors(value) {
this.downloadVectors = value;
return this;
}
}, {
key: "setBackgroundImages",
value: function setBackgroundImages(app) {
var _this = this;
core_Logger.log('FigmaService.setBackgroundImages()');
Object.values(app.screens).forEach(function (screen) {
return _this.setBackgroundImage(screen);
});
Object.values(app.widgets).forEach(function (widget) {
return _this.setBackgroundImage(widget);
});
return app;
}
}, {
key: "setBackgroundImage",
value: function setBackgroundImage(element) {
if (element.props.figmaImage) {
element.style.backgroundImage = {
url: element.props.figmaImage
};
}
}
}, {
key: "_createDefaultHeader",
value: function _createDefaultHeader() {
var headers = new Headers({
'Content-Type': 'application/json',
'Accept': 'application/json',
'X-Figma-Token': this.key
});
return headers;
}
}, {
key: "getRaw",
value: async function getRaw(key) {
var _this2 = this;
return new Promise(function (resolve, reject) {
var url = _this2.baseURL + 'files/' + key + '?geometry=paths&plugin_data=' + _this2.pluginId;
fetch(url, {
method: 'get',
credentials: "same-origin",
headers: _this2._createDefaultHeader()
}).then(function (resp) {
resp.json().then(function (json) {
try {
resolve(json);
} catch (e) {
core_Logger.error('FigmaService.getRaw() > Error', e);
resolve(null);
}
});
}, function (err) {
reject(err);
});
});
}
}, {
key: "getPages",
value: function getPages(fModel) {
core_Logger.log(-1, 'getPages() > enter');
var pages = [];
var fDoc = fModel.document;
if (fDoc.children) {
fDoc.children.forEach(function (page) {
pages.push({
id: page.id,
value: page.id,
label: page.name
});
});
}
core_Logger.log(-1, 'getPages() > exit', pages);
return pages;
}
}, {
key: "get",
value: async function get(key) {
var _this3 = this;
var importChildren = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var allAsVecor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
var selectedPages = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
this.allAsVecor = allAsVecor;
return new Promise(function (resolve, reject) {
var url = _this3.baseURL + 'files/' + key + '?geometry=paths&plugin_data=' + _this3.pluginId;
fetch(url, {
method: 'get',
credentials: "same-origin",
headers: _this3._createDefaultHeader()
}).then(function (resp) {
resp.json().then(function (json) {
try {
var app = _this3.parse(key, json, importChildren, selectedPages);
resolve(app);
} catch (e) {
core_Logger.error('FigmaService.get() > Error', e);
resolve(null);
}
});
}, function (err) {
reject(err);
});
});
}
}, {
key: "getImages",
value: function getImages(key, ids) {
var _this4 = this;
return new Promise(function (resolve, reject) {
/**
* Get in double resolution
*/
var url = _this4.baseURL + 'images/' + key + "?format=png&scale=".concat(_this4.imageScaleFactor, "&ids=") + ids;
fetch(url, {
method: 'get',
credentials: "same-origin",
headers: _this4._createDefaultHeader()
}).then(function (resp) {
resp.json().then(function (json) {
try {
resolve(json);
} catch (err) {
core_Logger.error('FigmaService.getImages() > Error', err);
reject(err);
}
});
}, function (err) {
reject(err);
});
});
}
}, {
key: "parse",
value: async function parse(id, fModel) {
var _this5 = this;
var importChildren = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
var selectedPages = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
core_Logger.log(3, 'FigmaService.parse() > enter importChildren:' + importChildren, fModel);
this.errors = [];
var model = this.createApp(id, fModel);
var fDoc = fModel.document; // add some lookup maps for speedy lookups later
fModel._elementsById = {};
fModel._elementsToWidgets = {};
if (fDoc.children) {
fDoc.children.forEach(function (page) {
if (selectedPages.length === 0 || selectedPages.indexOf(page.name) >= 0) {
core_Logger.log(-1, 'FigmaService.parse() > parse page:' + page.name);
if (page.children) {
page.children.forEach(function (child) {
if (!_this5.isInvisible(child)) {
if (_this5.isFrame(child)) {
_this5.parseScreen(child, model, fModel, importChildren, page);
}
if (_this5.isComponet(child) || _this5.isComponentSet(child)) {
_this5.parseComponent(child, model, fModel, importChildren, page);
}
}
});
}
}
});
}
/**
* Set varients for designlets
*/
this.setVarientComponents(model, fModel);
/**
* Fix the lines that are until now with figma ids
*/
this.setLineTos(model, fModel);
/**
* now find the dynamic components
*/
this.setDynamicComponents(model, fModel);
/**
* Get download images for all
*/
await this.addBackgroundImages(id, model, importChildren);
/**
* TODO Add groups?
*/
return model;
}
}, {
key: "setDynamicComponents",
value: function setDynamicComponents(qModel, fModel) {
var _this6 = this;
core_Logger.log(2, 'FigmaService.setDynamicComponents() > enter');
/**
* 1) Check all component lines
*
* 2) Take the source
*
* 3) Check of teh target is a componnt
*
* 5) Find out of the target is in a componentSet
*
* 5) If so, make it a dynamic component, including references of the
*/
Object.values(qModel.widgets).forEach(function (qWidget) {
if (qWidget.fimgaTransitionNodeID && qWidget.figmaType === 'INSTANCE') {
var target = fModel._elementsById[qWidget.fimgaTransitionNodeID];
if (target && target._parent) {
var parent = target._parent;
if (parent.type === 'COMPONENT_SET' && parent.children) {
qWidget.type = _this6.getDynamicType(parent);
qWidget.props.dynamicChildren = [];
qWidget.props.dynamicLines = [];
var parentWidgetId = fModel._elementsToWidgets[parent.id];
qWidget.props.dynamicParent = parentWidgetId;
/**
* Check if the children are all the same, so we can set the animation type to transform...
*/
parent.children.forEach(function (fChild) {
var childId = fModel._elementsToWidgets[fChild.id];
if (childId) {
var qChild = qModel.widgets[childId];
qWidget.props.dynamicChildren.push(childId);
if (fChild.id === qWidget.figmaComponentId) {
qWidget.props.dynamicStart = childId;
}
var figmaLines = _this6.parseFigmaAnitions(qChild.props.figmaAnimation);
if (figmaLines && figmaLines.length > 0) {
figmaLines.forEach(function (fLine) {
var targetId = fModel._elementsToWidgets[fLine.figmaTo];
if (targetId) {
console.debug('dynamic line', fLine.event, fLine.animation);
qWidget.props.dynamicLines.push({
from: childId,
to: targetId,
duration: fLine.duration,
animation: fLine.animation,
event: fLine.event
});
}
});
} else if (fChild.transitionNodeID) {
var targetId = fModel._elementsToWidgets[fChild.transitionNodeID];
qWidget.props.dynamicLines.push({
from: childId,
to: targetId,
duration: fChild.transitionDuration,
animation: 'none',
event: 'click'
});
}
}
});
core_Logger.log(3, 'FigmaService.setDynamicComponents() > ' + qWidget.name, qWidget.props.dynamicStart, qWidget.props.dynamicChildren);
core_Logger.log(3, 'FigmaService.setDynamicComponents() > ' + qWidget.name, qWidget.props.dynamicLines, qWidget.props.dynamicParent);
}
}
}
});
}
}, {
key: "parseFigmaAnitions",
value: function parseFigmaAnitions(figmaAnimations) {
var _this7 = this;
if (figmaAnimations) {
var lines = figmaAnimations.map(function (anim) {
var line = {};
line.animation = 'none';
line.duration = 200;
if (anim.trigger && anim.action) {
var trigger = anim.trigger.type;
var action = anim.action;
if (_this7.figmaAnimationTypeMapping[trigger]) {
line.event = _this7.figmaAnimationTypeMapping[trigger];
}
line.figmaTo = action.destinationId;
line.figmaFrom = '';
if (action.transition) {
var transition = action.transition;
if (transition.type === 'SMART_ANIMATE') {
line.animation = 'transform';
}
if (transition.easing && _this7.figmaAnimationEasingMapping[transition.easing]) {
line.easing = _this7.figmaAnimationEasingMapping[transition.easing];
}
line.duration = Math.round(transition.duration * 1000);
} //console.debug(JSON.stringify(anim), JSON.stringify(line))
return line;
}
});
return lines;
}
return null;
}
}, {
key: "getDynamicType",
value: function getDynamicType(fComponentSet) {
core_Logger.log(3, 'FigmaService.getDynamicType()', fComponentSet.name);
return 'DynamicContainer';
}
/**
* Set for each instance the id to the parent. Why??
*/
}, {
key: "setVarientComponents",
value: function setVarientComponents(qModel) {
var _this8 = this;
// console.debug('setInstanceComponents')
/**
* Mark all elements of a variant as a component for the
* design lets
*/
var varientComponents = {};
Object.values(qModel.widgets).forEach(function (widget) {
var parent = qModel.widgets[widget.parentId];
if (parent && parent.figmaType === 'COMPONENT_SET') {
widget.props.isComponet = true;
widget.props.isVaraint = true;
widget.variant = _this8.parseVariant(widget.name);
if (!varientComponents[widget.parentId]) {
varientComponents[widget.parentId] = [];
}
varientComponents[widget.parentId].push(widget);
/**
* Give a better na,e other wise css will fail
*/
widget.name = parent.name + '-' + Object.values(widget.variant).join('-');
}
});
}
}, {
key: "parseVariant",
value: function parseVariant(str) {
var result = {};
/**
* Figma somehpw changed the name of the varient...
*/
if (str.indexOf('-') >= 0) {
str.split('-').map(function (s) {
return s.split('=');
}).filter(function (pair) {
return pair.length > 1;
}).forEach(function (pair) {
return result[pair[0].trim()] = pair[1].trim();
});
} else {
str.split(',').map(function (s) {
return s.split('=');
}).filter(function (pair) {
return pair.length > 1;
}).forEach(function (pair) {
return result[pair[0].trim()] = pair[1].trim();
});
}
core_Logger.log(2, 'FigmaService.addBackgroundImages() > parseVariant', str, result);
return result;
}
}, {
key: "getParentVarientComponent",
value: function getParentVarientComponent(widget, widgetsByFigmaID, qModel) {
var parent = widgetsByFigmaID[widget.figmaComponentId];
while (parent && parent.figmaType !== 'VARIANT_COMPONENT') {
parent = qModel.widgets[parent.parentId];
}
return parent;
}
}, {
key: "setLineTos",
value: function setLineTos(model) {
var widgetMapping = {};
Object.values(model.widgets).forEach(function (w) {
widgetMapping[w.figmaId] = w.id;
});
var screenMapping = {};
Object.values(model.screens).forEach(function (s) {
screenMapping[s.figmaId] = s.id;
});
Object.values(model.lines).forEach(function (line) {
line.from = widgetMapping[line.figmaFrom];
if (screenMapping[line.figmaTo]) {
line.to = screenMapping[line.figmaTo];
}
if (widgetMapping[line.figmaTo]) {
line.to = widgetMapping[line.figmaTo];
line.isComponentLine = true;
}
});
}
}, {
key: "addBackgroundImages",
value: async function addBackgroundImages(id, model, importChildren) {
var _this9 = this;
core_Logger.log(1, 'FigmaService.addBackgroundImages() > importChildren', importChildren);
if (this.downloadVectors) {
var vectorWidgets = this.getElementsWithBackgroundIMage(model, importChildren);
if (vectorWidgets.length > 0) {
core_Logger.log(-1, 'FigmaService.addBackgroundImages() > vectors', vectorWidgets.length);
var batches = this.getChunks(vectorWidgets, this.max_ids);
var promisses = batches.map(function (batch, i) {
return _this9.addBackgroundImagesBatch(id, batch, i, batches.length);
});
await Promise.all(promisses);
}
} else {
core_Logger.log(3, 'FigmaService.addBackgroundImages() > Skip');
}
core_Logger.log(3, 'FigmaService.addBackgroundImages() > exit');
}
}, {
key: "getElementsWithBackgroundIMage",
value: function getElementsWithBackgroundIMage(model, importChildren) {
if (importChildren) {
return Object.values(model.widgets).filter(function (widget) {
return widget.props.isVector || widget.hasBackgroundImage;
});
} else {
return Object.values(model.screens);
}
}
}, {
key: "addBackgroundImagesBatch",
value: async function addBackgroundImagesBatch(id, batch, i, totalNumberOfBatches) {
var _this10 = this;
core_Logger.log(1, 'FigmaService.addBackgroundImagesBatch() > start', i);
return new Promise(function (resolve, reject) {
setTimeout(function () {
var vectorWidgetIds = batch.map(function (w) {
return w.figmaId;
}).join(',');
_this10.getImages(id, vectorWidgetIds).then(function (imageResponse) {
if (imageResponse.err === null) {
core_Logger.log(3, 'FigmaService.addBackgroundImagesBatch () > end', i);
var images = imageResponse.images;
batch.forEach(function (w) {
var image = images[w.figmaId];
if (image) {
w.props.figmaImage = image;
} else {
core_Logger.error('FigmaService.addBackgroundImagesBatch() > Cannot get image for ', w);
_this10.errors.push({
type: 'ImageGetError',
data: w
});
}
resolve(batch);
});
} else {
core_Logger.error('FigmaService.addBackgroundImagesBatch () > Could not get images', imageResponse);
reject(imageResponse.err);
}
}, function (err) {
core_Logger.error('FigmaService.addBackgroundImagesBatch() > Could not get images', err);
reject(err);
});
}, _this10.getImageTimeout(i, totalNumberOfBatches));
});
}
}, {
key: "getImageTimeout",
value: function getImageTimeout(i, totalNumberOfBatches) {
if (totalNumberOfBatches > this.throttleRequestThreshold) {
core_Logger.warn("igmaService.getImageTimeout () > Throttle requests. Delay request ".concat(i, " by ").concat(i * this.throttleRequestTimeout, " ms"));
return i * this.throttleRequestTimeout;
}
return 0;
}
}, {
key: "getChunks",
value: function getChunks(array, size) {
var result = [];
for (var i = 0; i < array.length; i += size) {
var chunk = array.slice(i, i + size);
result.push(chunk);
}
return result;
}
}, {
key: "parseComponent",
value: function parseComponent(fElement, qModel, fModel, importChildren, page) {
core_Logger.log(3, 'FigmaService.parseComponent()', fElement.name);
/**
* We create a wrapper screen!
*/
var pos = this.getPosition(fElement);
var qScreen = {
id: 's' + this.getUUID(qModel),
figmaId: fElement.id,
pageName: page.name,
name: fElement.name + 'Wrapper',
isComponentScreen: true,
type: 'Screen',
x: pos.x,
y: pos.y,
w: pos.w,
h: pos.h,
props: {},
children: [],
style: {
background: 'transparent'
}
};
qModel.screens[qScreen.id] = qScreen;
this.getPluginData(fElement, qScreen, fModel);
this.parseElement(fElement, qScreen, fElement, qModel, fModel, qScreen.id);
}
}, {
key: "parseScreen",
value: function parseScreen(fScreen, model, fModel, importChildren, page) {
var _this11 = this;
core_Logger.log(3, 'FigmaService.parseScreen()', fScreen.name);
var pos = this.getPosition(fScreen);
var qScreen = {
id: 's' + this.getUUID(model),
figmaId: fScreen.id,
pageName: page.name,
name: fScreen.name,
type: 'Screen',
x: pos.x,
y: pos.y,
w: pos.w,
h: pos.h,
props: {},
children: [],
layout: {},
style: this.getStyle(fScreen)
};
qScreen = this.getLayout(fScreen, qScreen);
this.getPluginData(fScreen, qScreen, fModel);
if (fScreen.children) {
fScreen.children.forEach(function (child) {
child._parent = fScreen;
_this11.parseElement(child, qScreen, fScreen, model, fModel, qScreen.id);
});
}
/**
* Or check prototypeDevice
*/
model.screenSize.w = model.screenSize.w === -1 ? pos.w : Math.max(model.screenSize.w, pos.w);
model.screenSize.h = model.screenSize.h === -1 ? pos.h : Math.max(model.screenSize.h, pos.h);
model.screens[qScreen.id] = qScreen;
core_Logger.log(4, 'FigmaService.parseScreen() exit ', fScreen.name, qScreen.id);
return qScreen;
}
}, {
key: "parseElement",
value: function parseElement(element, qScreen, fScreen, model, fModel, qParentId) {
var _this12 = this;
core_Logger.log(5, 'FigmaService.parseElement() > enter: ' + element.name, element.type);
var widget = null;
if (!this.isIgnored(element) && !this.isInvisible(element)) {
var pos = this.getPosition(element);
var qID = 'w' + this.getUUID(model);
widget = {
id: qID,
parentId: qParentId,
name: this.getFigmaName(element, qID),
type: this.getType(element),
figmaId: element.id,
figmaType: element.type,
figmaComponentId: this.getFigmaComponentId(element),
fimgaTransitionNodeID: element.transitionNodeID,
x: pos.x,
y: pos.y,
w: pos.w,
h: pos.h,
layout: {},
z: this.getZ(element, model)
};
widget.style = this.getStyle(element, widget);
widget.props = this.getProps(element, widget);
widget.has = this.getHas(element, widget);
widget = this.getPluginData(element, widget, fModel);
widget = this.getLayout(element, widget);
fModel._elementsById[element.id] = element;
fModel._elementsToWidgets[element.id] = qID;
model.widgets[widget.id] = widget;
qScreen.children.push(widget.id);
/**
* Update the parent id, so we can have the correct hierachy
*/
qParentId = widget.id;
} else {
core_Logger.log(4, 'FigmaService.parseElement() >Ignore: ' + element.name, element.type);
/**
* What if we have defined the callbacks and on a compomemt?
*/
}
/**
* Go down recursive...
*/
if (element.children) {
/**
* We do not go down on vector elements and hidden elements.
*/
if (!this.isVector(element) && !this.isInvisible(element) && !this.isCustomVector(element)) {
element.children.forEach(function (child) {
if (child.visible !== false) {
child._parent = element;
core_Logger.log(3, 'FigmaService.parseElement() > go recursive', element);
_this12.parseElement(child, qScreen, fScreen, model, fModel, qParentId);
}
});
} else {
core_Logger.log(6, 'FigmaService.parseElement() > No recursive: ' + element.name, element.type);
}
}
this.addTempLine(element, model, widget);
return widget;
}
}, {
key: "getFigmaComponentId",
value: function getFigmaComponentId(fElement) {
if (fElement.type === 'INSTANCE') {
return fElement.componentId;
}
if (fElement.id.indexOf('I') === 0) {
var parts = fElement.id.split(';');
if (parts.length === 2) {
return parts[1];
}
}
}
}, {
key: "getFigmaName",
value: function getFigmaName(element, qID) {
/**
* FIXME: Check if teh name is tool long or has spaces or shit...
*/
var name = element.name;
if (name.length > 50) {
name = qID;
}
return name.replace(/#/g, '').replace(/\//g, '-').replace(/&/g, '').replace(/,/g, '-');
}
}, {
key: "addTempLine",
value: function addTempLine(fElement, model, widget) {
core_Logger.log(4, 'FigmaService.addLine() > enter', fElement.name, 'transition :' + fElement.transitionNodeID, fElement);
if (fElement.transitionNodeID) {
var clickChild = this.getFirstNoIgnoredChild(fElement);
core_Logger.log(6, 'addLine() > : ', fElement.name, clickChild);
var line = {
id: 'l' + this.getUUID(model),
from: null,
to: null,
figmaFrom: clickChild.id,
figmaTo: fElement.transitionNodeID,
points: [],
event: "click",
animation: "",
duration: fElement.transitionDuration
};
if (widget && widget.props.figmaAnimation) {// add animation stuff and easing...
}
model.lines[line.id] = line;
}
}
}, {
key: "getFirstNoIgnoredChild",
value: function getFirstNoIgnoredChild(element) {
/**
* We do not render instance wrappers, so we take the first child.
*/
if (this.isIgnored(element) && element.children.length > 0) {
core_Logger.log(5, 'FigmaService.getFirstNoIgnoredChild() > take child ', element.name);
return this.getFirstNoIgnoredChild(element.children[0]);
}
return element;
}
}, {
key: "getPluginData",
value: function getPluginData(element, widget) {
if (element.pluginData && element.pluginData[this.pluginId]) {
var pluginData = element.pluginData[this.pluginId];
if (pluginData.quxType) {
core_Logger.log(-1, 'FigmaService.getPluginData() > quxType : ', pluginData.quxType, element.name);
widget.type = pluginData.quxType;
widget.props.placeholder = true;
/**
* SmartContainer has a subType
*/
if (pluginData.quxType === 'SmartContainer' && pluginData.quxSmartContainerType) {
core_Logger.log(2, 'FigmaService.getPluginData() > quxSmartContainerType : ', pluginData.quxSmartContainerType, element.name);
widget.type = pluginData.quxSmartContainerType;
widget.smartContainerType = pluginData.quxSmartContainerType;
}
if (pluginData.quxType === 'Image' && pluginData.quxDataBindingDefault) {
widget.type = 'UploadPreview';
}
if (pluginData.quxType === 'Vector') {
widget.props.isVector = true;
}
}
if (pluginData.quxDataValue) {
core_Logger.log(3, 'FigmaService.getPluginData() > quxDataValue: ', pluginData.quxDataValue, element.name);
widget.props.dataValue = pluginData.quxDataValue;
}
if (pluginData.quxLinkUrl) {
core_Logger.log(3, 'FigmaService.getPluginData() > quxLinkUrl: ', pluginData.quxLinkUrl, element.name);
widget.props.url = pluginData.quxLinkUrl;
}
if (pluginData.quxTypeCustom) {
core_Logger.log(3, 'FigmaService.getPluginData() > quxTypeCustom: ', pluginData.quxOnChangeCallback, element.name);
widget.props.customComponent = pluginData.quxTypeCustom;
}
if (pluginData.quxAnimationProps) {
core_Logger.log(3, 'FigmaService.getPluginData() > quxAnimationProps: ', pluginData.quxAnimationProps, element.name);
try {
widget.props.figmaAnimation = JSON.parse(pluginData.quxAnimationProps);
} catch (err) {
core_Logger.error('FigmaService.getPluginData() > quxAnimationProps Could not parse ', pluginData.quxAnimationProps);
}
}
if (pluginData.quxDataBindingDefault) {
core_Logger.log(3, 'FigmaService.getPluginData() > quxDataBindingDefault : ', pluginData.quxDataBindingDefault, element.name);
if (!widget.props.databinding) {
widget.props.databinding = {};
}
widget.props.databinding['default'] = pluginData.quxDataBindingDefault;
}
if (pluginData.quxDataBindingOutput) {
core_Logger.log(3, 'FigmaService.getPluginData() > quxDataBindingOutput : ', pluginData.quxDataBindingOutput, element.name);
if (!widget.props.databinding) {
widget.props.databinding = {};
}
widget.props.databinding['output'] = pluginData.quxDataBindingOutput;
}
if (pluginData.quxDataBindingOptions) {
core_Logger.log(3, 'FigmaService.getPluginData() > quxDataBindingOptions : ', pluginData.quxDataBindingOptions, element.name);
if (!widget.props.databinding) {
widget.props.databinding = {};
}
widget.props.databinding['options'] = pluginData.quxDataBindingOptions;
}
if (pluginData.quxOnClickCallback) {
core_Logger.log(3, 'FigmaService.getPluginData() > quxOnClickCallback: ', pluginData.quxOnClickCallback, element.name);
if (!widget.props.callbacks) {
widget.props.callbacks = {};
}
widget.props.callbacks.click = pluginData.quxOnClickCallback;
}
if (pluginData.quxOnLoadCallback) {
core_Logger.log(3, 'FigmaService.getPluginData() > quxOnLoadCallback: ', pluginData.quxOnLoadCallback, element.name);
if (!widget.props.callbacks) {
widget.props.callbacks = {};
}
widget.props.callbacks.load = pluginData.quxOnLoadCallback;
}
if (pluginData.quxOnChangeCallback) {
core_Logger.log(3, 'FigmaService.getPluginData() > quxOnChangeCallback: ', pluginData.quxOnChangeCallback, element.name);
if (!widget.props.callbacks) {
widget.props.callbacks = {};
}
widget.props.callbacks.change = pluginData.quxOnChangeCallback;
}
if (pluginData.quxOptions) {
core_Logger.log(3, 'FigmaService.getPluginData() > quxOptions: ', pluginData.quxOptions, element.name);
widget.props.options = pluginData.quxOptions.split(';');
}
/**
* Hover
*/
if (pluginData.quxStyleHoverBackground) {
this.addDynamicStyle(widget, 'hover', 'background', pluginData.quxStyleHoverBackground);
}
if (pluginData.quxStyleHoverBorder) {
this.addDynamicStyle(widget, 'hover', 'borderColor', pluginData.quxStyleHoverBorder);
}
if (pluginData.quxStyleHoverColor) {
this.addDynamicStyle(widget, 'hover', 'color', pluginData.quxStyleHoverColor);
}
/**
* DropDown
*/
if (pluginData.quxStyleDropDownColor) {
this.addDynamicStyle(widget, 'style', 'popupColor', pluginData.quxStyleDropDownColor);
}
if (pluginData.quxStyleDropDownBackground) {
this.addDynamicStyle(widget, 'style', 'popupBackground', pluginData.quxStyleDropDownBackground);
}
if (pluginData.quxStyleDropDownBorder) {
this.addDynamicStyle(widget, 'style', 'popupBorder', pluginData.quxStyleDropDownBorder);
}
/**
* Focus
*/
if (pluginData.quxStyleFocusBackground) {
this.addDynamicStyle(widget, 'focus', 'background', pluginData.quxStyleFocusBackground);
}
if (pluginData.quxStyleFocusBorder) {
this.addDynamicStyle(widget, 'focus', 'borderColor', pluginData.quxStyleFocusBorder);
}
if (pluginData.quxStyleFocusColor) {
this.addDynamicStyle(widget, 'focus', 'color', pluginData.quxStyleFocusColor);
}
/**
* Style stuff
*/
if (pluginData.quxFixedHorizontal === 'true') {
core_Logger.warn('FigmaService.getPluginData() > DEPRECTAED quxFixedHorizontal: ', pluginData.quxFixedHorizontal, element.name); //this.setFixedHozontal(widget, true)
}
if (pluginData.quxFixedVertical === 'true') {
core_Logger.log('FigmaService.getPluginData() > DEPRECTAED quxFixedVertical: ', pluginData.quxFixedVertical, element.name); // this.setFixedVertical(widget)
}
/**
* Screen stuff
*/
if (pluginData.quxStartScreen === 'true') {
core_Logger.log(1, 'FigmaService.getPluginData() > quxStartScreen: ', pluginData.quxStartScreen, element.name);
widget.props.start = true;
}
if (pluginData.quxOverlayScreen === 'true') {
core_Logger.log(4, 'FigmaService.getPluginData() > quxOverlayScreen: ', pluginData.quxOverlayScreen, element.name);
widget.style.overlay = true;
}
if (pluginData.quxHasOverlayBackground === 'true') {
core_Logger.log(4, 'FigmaService.getPluginData() > quxHasOverlayBackground: ', pluginData.quxHasOverlayBackground, element.name);
widget.style.hasBackground = true;
}
/**
* Breakpoints
*/
if (pluginData.quxBreakpointMobile === 'true') {
if (!widget.props.breakpoints) {
widget.props.breakpoints = {};
}
core_Logger.log(4, 'FigmaService.getPluginData() > quxBreakpointMobile: ', pluginData.quxBreakpointMobile, element.name);
widget.props.breakpoints.mobile = true;
}
if (pluginData.quxBreakpointTablet === 'true') {
if (!widget.props.breakpoints) {
widget.props.breakpoints = {};
}
core_Logger.log(4, 'FigmaService.getPluginData() > quxBreakpointTablet: ', pluginData.quxBreakpointTablet, element.name);
widget.props.breakpoints.tablet = true;
}
if (pluginData.quxBreakpointDesktop === 'true') {
if (!widget.props.breakpoints) {
widget.props.breakpoints = {};
}
core_Logger.log(4, 'FigmaService.getPluginData() > quxBreakpointDesktop: ', pluginData.quxBreakpointDesktop, element.name);
widget.props.breakpoints.desktop = true;
}
if (pluginData.quxStyleDisplay) {
core_Logger.log(4, 'FigmaService.getPluginData() > quxStyleDisplay: ', pluginData.quxStyleDisplay, element.name);
widget.style.display = pluginData.quxStyleDisplay;
}
if (pluginData.quxStyleCursor) {
core_Logger.log(4, 'FigmaService.getPluginData() > quxStyleCursor: ', pluginData.quxStyleCursor, element.name);
widget.style.cursor = pluginData.quxStyleCursor;
}
if (pluginData.quxStyleMaxWidth) {
core_Logger.log(4, 'FigmaService.getPluginData() > quxStyleMaxWidth: ', pluginData.quxStyleMaxWidth, element.name);
widget.style.maxWidth = pluginData.quxStyleMaxWidth;
}
if (pluginData.quxStyleMinWidth) {
core_Logger.log(4, 'FigmaService.getPluginData() > quxStyleMinWidth: ', pluginData.quxStyleMinWidth, element.name);
widget.style.minWidth = pluginData.quxStyleMinWidth;
}
if (pluginData.quxWrapContent) {
core_Logger.log(-1, 'FigmaService.getPluginData() > quxWrapContent: ', pluginData.quxWrapContent, element.name);
widget.style.layout = 'Wrap';
}
}
return widget;
}
}, {
key: "setFixedHozontal",
value: function setFixedHozontal(widget) {
var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
if (!widget.props.resize) {
widget.props.resize = {};
}
widget.props.resize.fixedHorizontal = value;
}
}, {
key: "setHugHozontal",
value: function setHugHozontal(widget) {
var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
if (!widget.props.resize) {
widget.props.resize = {};
}
widget.props.resize.hugHorizontal = value;
}
}, {
key: "setFixedVertical",
value: function setFixedVertical(widget) {
var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
if (!widget.props.resize) {
widget.props.resize = {};
}
widget.props.resize.fixedVertical = value;
}
}, {
key: "setHugVertical",
value: function setHugVertical(widget) {
var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
if (!widget.props.resize) {
widget.props.resize = {};
}
widget.props.resize.hugVertical = value;
}
}, {
key: "addDynamicStyle",
value: function addDynamicStyle(widget, type, key, value) {
if (!widget[type]) {
widget[type] = {};
}
widget[type][key] = value;
}
}, {
key: "getProps",
value: function getProps(element, widget) {
var props = {};
if (this.isVector(element)) {
//console.debug('FigmaService.getProps() > make vector', element)
props.paths = element.strokeGeometry;
props.relativeTransform = element.relativeTransform;
props.isVector = true;
}
if (this.isLabel(widget)) {
if (element.characters) {
props.label = element.characters;
} else {
props.label = element.name;
}
}
if (widget.type === 'RichText') {
props.richTextLabel = this.getRichText(element, props.label);
}
/**
* Add here constraints.
* Since 0.5 keep the normaal figma constraints and make elements fixed and not pinned right
*/
if (this.pinnRight) {
props.resize = {
right: true,
left: true,
up: false,
down: false,
fixedHorizontal: false,
fixedVertical: false
};
} else {
props.resize = {
right: false,
left: true,
up: false,
down: false,
fixedHorizontal: true,
fixedVertical: false
};
}
/**
* FIXME: Should come only after plugin data...
*/
this.setContraints(element, props);
return props;
}
}, {
key: "getRichText",
value: function getRichText(fElement, label) {
core_Logger.log(2, 'FigmaService.getRichText() >', fElement.name, label);
var children = [];
var characterStyleOverrides = fElement.characterStyleOverrides;
var currentChild = {};
var lastOverride = -1;
for (var i = 0; i < label.length; i++) {
// ending zeros are not added
var override = characterStyleOverrides[i] !== undefined ? characterStyleOverrides[i] : 0 + '';
if (override !== lastOverride) {
currentChild = {
label: '',
style: this.getRichTextStyle(fElement.styleOverrideTable[override])
};
children.push(currentChild);
}
currentChild.label += label[i];
lastOverride = override;
}
return children;
}
}, {
key: "getRichTextStyle",
value: function getRichTextStyle(fStyle) {
if (fStyle) {
var result = {};
if (fStyle.fills) {
if (fStyle.fills.length === 1) {
var fill = fStyle.fills[0];
if (fill.type === 'SOLID') {
result.color = this.getColor(fill.color, fill);
}
}
}
this.setTextStyle(fStyle, result);
return result;
}
return undefined;
}
}, {
key: "getLayout",
value: function getLayout(fElement, qElement) {
if (fElement.layoutMode === 'HORIZONTAL') {
qElement.layout.type = Layout.AutoHorizontal;
qElement.layout.justifyContent = this.mapAlign(fElement.primaryAxisAlignItems);
qElement.layout.alignItems = this.mapAlign(fElement.counterAxisAlignItems);
}
if (fElement.layoutMode === 'VERTICAL') {
qElement.layout.type = Layout.AutoVertical;
qElement.layout.justifyContent = this.mapAlign(fElement.primaryAxisAlignItems);
qElement.layout.alignItems = this.mapAlign(fElement.counterAxisAlignItems);
}
if (fElement.itemSpacing !== undefined) {
qElement.layout.itemSpacing = fElement.itemSpacing;
}
/**
* FXIME: This fucks up the reponsive ness
*/
if (fElement.layoutGrow === 0.0) {
this.setFixedHozontal(qElement, true);
}
if (fElement.layoutGrow === 1) {
this.setFixedHozontal(qElement, false);
}
/**
* We set also hug, as the absense of FIXED in a auto layout parent
*/
if (fElement._parent) {
if (fElement._parent.layoutMode === 'HORIZONTAL') {
if (fElement.primaryAxisSizingMode !== "FIXED" && fElement.layoutGrow === 0) {
this.setHugHozontal(qElement, true);
}
}
if (fElement._parent.layoutMode === 'VERTICAL') {
if (fElement.primaryAxisSizingMode !== "FIXED" && fElement.layoutGrow === 0) {
this.setHugVertical(qElement, true);
}
}
}
if (fElement.layoutAlign !== undefined) {
if (fElement.layoutAlign === 'STRETCH') {
// FIXME: here is some werid figma behavior fElement.layoutGrow === 0.0
this.setFixedHozontal(qElement, false);
}
qElement.layout.align = fElement.layoutAlign;
}
/**
* I am not sure what this means
if (fElement.primaryAxisSizingMode === "FIXED") {
this.setFixedHozontal(qElement, true)
}
*/
qElement.layout.grow = fElement.layoutGrow;
/**
* We have to substract borders, because of the outer border of Figma
*/
qElement.layout.paddingLeft = this.mapPadding(fElement.paddingLeft, qElement.style.borderLeftWidth);
qElement.layout.paddingRight = this.mapPadding(fElement.paddingRight, qElement.style.borderRightWidth);
qElement.layout.paddingTop = this.mapPadding(fElement.paddingTop, qElement.style.borderTopWidth);
qElement.layout.paddingBottom = this.mapPadding(fElement.paddingBottom, qElement.style.borderBottomWidth);
return qElement;
}
}, {
key: "mapPadding",
value: function mapPadding(padding, border) {
var p = padding ? padding : 0;
var b = border ? border : 0;
return p - b;
}
}, {
key: "mapAlign",
value: function mapAlign(v) {
if (this.figmaAlignMapping[v]) {
return this.figmaAlignMapping[v];
} // default is start
return 'flex-start';
}
}, {
key: "setContraints",
value: function setContraints(element, props) {
if (element.constraints) {
var horizontal = element.constraints.horizontal;
switch (horizontal) {
case 'RIGHT':
props.resize.left = false;
props.resize.right = true;
props.resize.fixedHorizontal = false;
break;
case 'LEFT_RIGHT':
core_Logger.log(2, 'FigmaService.setContraints() > LEFT_RIGHT', element.name);
props.resize.left = true;
props.resize.right = true;
props.resize.fixedHorizontal = false;
break;
default:
break;
}
var vertical = element.constraints.vertical;
switch (vertical) {
case 'TOP_BOTTOM':
core_Logger.log(2, 'FigmaService.setContraints() > TOP_BOTTOM', element.name);
props.resize.up = true;
props.resize.down = true;
props.resize.fixedVertical = false;
break;
case 'BOTTOM':
core_Logger.log(2, 'FigmaService.setContraints() > BOTTOM', element.name);
props.resize.up = false;
props.resize.down = true;
break;
default:
break;
}
}
}
}, {
key: "isIgnored",
value: function isIgnored(element) {
// FIXME: check for empty frames
return this.ignoredTypes.indexOf(element.type) >= 0;
}
}, {
key: "isInvisible",
value: function isInvisible(element) {
if (element.visible === false) {
core_Logger.log(5, 'FigmaService.isInvisible() > exit (visible): ' + element.name, element.type);
return true;
}
if (element.opacity <= 0) {
core_Logger.log(5, 'FigmaService.isInvisible() > exit (opacity): ' + element.name, element.type);
return true;
}
return false;
}
}, {
key: "isFrame",
value: function isFrame(element) {
return element.type === 'FRAME';
}
}, {
key: "isComponet",
value: function isComponet(element) {
return element.type === 'COMPONENT';
}
}, {
key: "isComponentSet",
value: function isComponentSet(element) {
return element.type === 'COMPONENT_SET';
}
}, {
key: "isVector",
value: function isVector(element) {
return this.allAsVecor || !this.isButton(element);
}
}, {
key: "isCustomVector",
value: function isCustomVector(fElement) {
if (fElement.pluginData) {
var pluginData = fElement.pluginData[this.pluginId];
if (pluginData && pluginData.quxType === 'Vector') {
return true;
}
}
return false;
}
}, {
key: "isLabel",
value: function isLabel(widget) {
return widget && (widget.type === 'Label' || widget.type === 'RichText');
}
/**
* We map to a button / box iff it is not rectangle kind of
* element (as defined in buttonTypes) and the style is not too
* complex
*/
}, {
key: "isButton",
value: function isButton(element) {
if (this.buttonTypes.indexOf(element.type) >= 0) {
return !this.isTooComplexStyle(element);
}
return false;
}
}, {
key: "isVariantContainer",
value: function isVariantContainer(fElement) {
return fElement.type === 'VARIANT_COMPONENT';
}
}, {
key: "isTooComplexStyle",
value: function isTooComplexStyle(element) {
if (element.fills && element.fills.length > 1) {
return true;
}
if (element.fills && element.fills.length === 1) {
/**
* FIXME: Some times elements have iamge fills. They should be containers,
* but for now there is a weird layout bug
*/
var fill = element.fills[0];
return fill.type !== 'SOLID' && fill.type !== 'GRADIENT_LINEAR' && fill.type !== 'GRADIENT_RADIAL'; // && fill.type !== 'IMAGE'
}
if (element.effects && element.effects.length > 1) {
return true;
}
if (element.strokes && element.strokes.length > 1) {
return true;
}
return false;
}
}, {
key: "getHas",
value: function getHas(element, widget) {
if (widget.type === 'Label') {
return {
label: true,
padding: true,
advancedText: true
};
}
if (widget.type === 'Button') {
return {
label: true,
backgroundColor: true,
border: true,
onclick: true,
padding: true
};
}
return {};
}
}, {
key: "getStyle",
value: function getStyle(element, widget) {
var _this13 = this;
var style = {
fontFamily: this.defaultFontFamily,
borderBottomWidth: 0,
borderTopWidth: 0,
borderLeftWidth: 0,
borderRightWidth: 0
};
/**
* How is this rendered. Which has priority
*/
if (element.backgroundColor) {
style.backgroundColor = this.getColor(element.backgroundColor, element);
}
if (element.isFixed) {
style.fixed = true;
this.setAllChildrenFixed(element);
}
if (element.fills) {
if (element.fills.length === 1) {
var fill = element.fills[0];
if (fill.type === 'SOLID') {
if (this.isLabel(widget)) {
style.color = this.getColor(fill.color, fill);
style.backgroundColor = 'transparent';
} else {
style.backgroundColor = this.getColor(fill.color, fill);
}
}
if (fill.type === 'GRADIENT_LINEAR') {
if (!this.isLabel(widget)) {
style.background = this.getLinearGradient(fill);
} else {
core_Logger.log(1, 'getStyle() > gradients not supported fotr labels...');
}
}
if (fill.type === 'GRADIENT_RADIAL') {
if (!this.isLabel(widget)) {
style.background = this.getRadialGradient(fill);
} else {
core_Logger.log(1, 'getStyle() > gradients not supported for labels...');
}
}
if (fill.type === 'IMAGE') {// Logger.warn('getStyle() > elements with background images cannot have children. all will be rendered as PNG')
// for now this stuff will be handled as a vector, which cannot have children.
// maybe we have to change this at some point
// widget.hasBackgroundImage = true
}
}
}
if (element.cornerRadius) {
style.borderBottomLeftRadius = element.cornerRadius;
style.borderTopLeftRadius = element.cornerRadius;
style.borderBottomRightRadius = element.cornerRadius;
style.borderTopRightRadius = element.cornerRadius;
}
if (element.rectangleCornerRadii) {
style.borderTopLeftRadius = element.rectangleCornerRadii[0];
style.borderTopRightRadius = element.rectangleCornerRadii[1];
style.borderBottomRightRadius = element.rectangleCornerRadii[2];
style.borderBottomLeftRadius = element.rectangleCornerRadii[3];
}
/**
* The border stuff we just do for rects and text
*/
if (!this.isVector(element)) {
if (element.strokes && element.strokes.length > 0) {
var stroke = element.strokes[0];
if (stroke.color) {
style.borderBottomColor = this.getColor(stroke.color, element);
style.borderTopColor = this.getColor(stroke.color, element);
style.borderLeftColor = this.getColor(stroke.color, element);
style.borderRightColor = this.getColor(stroke.color, element);
}
if (element.strokeWeight) {
style.borderBottomWidth = element.strokeWeight;
style.borderTopWidth = element.strokeWeight;
style.borderLeftWidth = element.strokeWeight;
style.borderRightWidth = element.strokeWeight;
}
if (element.strokeAlign !== 'INSIDE' && element.strokeWeight) {
widget.x -= element.strokeWeight;
widget.w += element.strokeWeight * 2;
widget.y -= element.strokeWeight;
widget.h += element.strokeWeight * 2;
}
}
if (element.effects) {
element.effects.forEach(function (effect) {
if (effect.type === 'DROP_SHADOW') {
style.boxShadow = {
v: effect.offset.y,
h: effect.offset.x,
b: effect.radius,
s: 0,
i: false,
c: _this13.getColor(effect.color, element)
};
}
if (effect.type === 'INNER_SHADOW') {
style.boxShadow = {
v: effect.offset.y,
h: effect.offset.x,
b: effect.radius,
s: 0,
i: true,
c: _this13.getColor(effect.color, element)
};
}
});
}
if (element.style) {
this.setTextStyle(element.style, style);
}
}
/**
* Labels with constraints can be vertical middle
*/
if (this.isLabel(widget) && style.verticalAlign !== 'bottom') {
if (element.constraints) {
var constraints = element.constraints;
if (constraints.vertical === 'TOP_BOTTOM') {
style.verticalAlign = 'middle';
}
}
}
return style;
}
}, {
key: "setTextStyle",
value: function setTextStyle(fStyle, style) {
style.fontFamily = fStyle.fontFamily;
style.fontSize = fStyle.fontSize;
style.fontWeight = fStyle.fontWeight;
this.setLineHeight(style, fStyle);
style.letterSpacing = fStyle.letterSpacing;
if (fStyle.textCase === 'UPPER') {
style.textTransform = 'uppercase';
}
if (fStyle.textCase === 'LOWER') {
style.textTransform = 'lowercase';
}
if (fStyle.textCase === 'TITLE') {
style.textTransform = 'capitalize';
}
if (fStyle.textAlignHorizontal) {
style.textAlign = fStyle.textAlignHorizontal.toLowerCase();
}
if (fStyle.textAlignVertical) {
var textAlignVertical = fStyle.textAlignVertical;
switch (textAlignVertical) {
case 'CENTER':
style.verticalAlign = 'middle';
break;
case 'TOP':
style.verticalAlign = 'top';
break;
case 'BOTTOM':
style.verticalAlign = 'bottom';
break;
default:
break;
}
}
}
}, {
key: "setLineHeight",
value: function setLineHeight(style, fStyle) {
/**
* If we have pixel line height, everything is easy.
*/
if (fStyle.lineHeightUnit === 'PIXELS') {
style.lineHeightPX = fStyle.lineHeightPx;
return;
}
/**
* we might have 'normal', which seems 150%. We set as pixel, because
* Figma inspect gives the same values.
*/
if (fStyle.lineHeightUnit === 'INTRINSIC_%' && fStyle.lineHeightPercent) {
if (this.autoLineHeightAsNormal) {
style.lineHeight = 'normal';
} else {
style.lineHeightPX = Math.round(style.fontSize * 1.5);
}
return;
}
/**
* For % we have to take the lineHeightPercentFontSize
*/
if (fStyle.lineHeightUnit === 'FONT_SIZE_%') {
style.lineHeight = fStyle.lineHeightPercentFontSize / 100;
return;
}
/**
* Defautl is line-heigth in percentage
*/
style.lineHeight = fStyle.lineHeightPercent / 100;
}
}, {
key: "setAllChildrenFixed",
value: function setAllChildrenFixed(element) {
var _this14 = this;
if (element.children) {
element.children.forEach(function (c) {
c.isFixed = true;
_this14.setAllChildrenFixed(c);
});
}
}
}, {
key: "getType",
value: function getType(element) {
if (this.isVector(element)) {
return 'Vector';
}
/**
* FIXME: We could have somehow super complex nested shapes that should be handled as a vector...
*/
if (element.type === 'TEXT') {
if (element.characterStyleOverrides && element.characterStyleOverrides.length > 0 && element.styleOverrideTable) {
return 'RichText';
}
return 'Label';
}
return 'Button';
}
}, {
key: "getLinearGradient",
value: function getLinearGradient(fill) {
var _this15 = this;
core_Logger.log(3, 'getLinearGradient() > enter', fill);
var start = fill.gradientHandlePositions[0];
var end = fill.gradientHandlePositions[1];
var xDiff = start.x - end.x;
var yDiff = start.y - end.y;
var dir = Math.round(Math.atan2(yDiff, xDiff) * 180 / Math.PI + 270) % 360;
var gradientStops = fill.gradientStops;
var colors = gradientStops.map(function (stop) {
return {
c: _this15.getColor(stop.color),
p: stop.position * 100
};
});
return {
direction: dir,
colors: colors
};
}
}, {
key: "getRadialGradient",
value: function getRadialGradient(fill) {
var _this16 = this;
core_Logger.log(3, 'getLinearGradient() > enter', fill);
var gradientStops = fill.gradientStops;
var colors = gradientStops.map(function (stop) {
return {
c: _this16.getColor(stop.color),
p: stop.position * 100
};
});
return {
radial: true,
colors: colors
};
}
}, {
key: "calculateAngle",
value: function calculateAngle(startHandle, endHandle) {
var radians = Math.atan(this.calculateGradient(startHandle, endHandle));
return parseInt(this.radToDeg(radians).toFixed(1));
}
}, {
key: "calculateGradient",
value: function calculateGradient(startHandle, endHandle) {
return (endHandle.y - startHandle.y) / (endHandle.x - startHandle.x) * -1;
}
}, {
key: "radToDeg",
value: function radToDeg(radian) {
return 180 * radian / Math.PI;
}
}, {
key: "getColor",
value: function getColor(c, element) {
if (element && element.visible === false) {
return '';
}
var a = c.a;
if (element && element.opacity < 1) {
a = element.opacity;
}
return "rgba(".concat(Math.round(c.r * 255), ", ").concat(Math.round(c.g * 255), ", ").concat(Math.round(c.b * 255), ", ").concat(a, ")");
}
}, {
key: "getPosition",
value: function getPosition(element) {
if (element.absoluteBoundingBox) {
var pos = {
x: Math.round(element.absoluteBoundingBox.x),
y: Math.round(element.absoluteBoundingBox.y),
w: Math.round(element.absoluteBoundingBox.width),
h: Math.round(element.absoluteBoundingBox.height)
};
/**
* We can ignore transformMatrix because absolutePositon gives the right values
*/
return pos;
}
core_Logger.warn('FigmaService.getPosition() > No abs pos', element);
return {};
}
}, {
key: "getTransformParent",
value: function getTransformParent(element) {
if (element._parent) {
if (element._parent.type === 'FRAME') {
return element._parent;
}
}
return;
}
}, {
key: "getZ",
value: function getZ(element, model) {
model.lastZ++;
return model.lastZ;
}
}, {
key: "createApp",
value: function createApp(id, data) {
return {
version: 2.1,
figmaId: id,
name: data.name,
description: '',
screenSize: {
"w": -1,
"h": -1
},
type: 'smartphone',
screens: {},
widgets: {},
lines: {},
groups: {},
lastUUID: 10000,
lastZ: 1,
lastUpdate: 0,
created: 0,
startScreen: "",
grid: {
w: 8,
h: 8,
style: "line",
color: "#cecece",
visible: false,
enabled: false
}
};
}
}, {
key: "getUUID",
value: function getUUID(model) {
var uuid = model.lastUUID++ + "";
return uuid;
}
}]);
return FigmaService;
}();
// CONCATENATED MODULE: ./src/qux/core/ExportUtil.js
function isLayoutWrap(e) {
return e.layout && e.layout.type === Layout.Wrap;
}
function isLayoutRow(e) {
return e.layout && e.layout.type === Layout.Row;
}
function isLayoutGrid(e) {
return e.layout && e.layout.type === Layout.Grid;
}
function isLayoutGrow(e) {
return e.layout && e.layout.grow > 0;
}
function isLayoutAuto(e) {
// why did check for this??? || e.layout.align !== undefined Take a look at auto fixed. This is somehow needed for the growth
return e.layout !== undefined && (e.layout.type === Layout.AutoHorizontal || e.layout.type === Layout.AutoVertical); //|| e.layout.align !== undefined
}
function isLayoutAutoHorizontal(e) {
return e.layout && e.layout.type === Layout.AutoHorizontal;
}
function isLayoutAutovertical(e) {
return e.layout && e.layout.type === Layout.AutoVertical;
}
function getFileName(name) {
return name.replace(/\s/g, '_');
}
function hasNoChildren(widget) {
return widget.children && widget.children.length === 0;
}
function hasChildren(widget) {
return widget.children && widget.children.length > 0;
}
function isScreen(e) {
return e.type === 'Screen';
}
function isLastChild(widget) {
if (widget.parent && widget.parent.children) {
var parent = widget.parent;
var last = parent.children[parent.children.length - 1];
return last.id === widget.id;
}
return false;
}
/**
* Advanced widgets cannot have children, e.g. stacked rings
*/
function canHaveChildren(element) {
if (element.props && element.props.customComponent) {
return false;
}
if (isContainerElement(element) || isInputElement(element)) {
return true;
}
return false;
}
function isInputElement(element) {
var type = element.type;
return type === 'TextBox' || type === 'TextArea' || type === 'Password' || type === 'DropDown';
}
function isContainerElement(element) {
var type = element.type;
return type === 'Box' || type === 'Button' || type === 'Image' || type === 'ChildrenToggle' || type === 'Repeater' || type === 'DynamicContainer' || type === 'ContainerDropDown';
}
/**
* Check if the child can be nested in a parent
* @param {} child The child to be nested
* @param {*} parent The parent to receiveo
*/
function canBeChild(child, parent) {
/**
* Costum widgets cannot have children
*/
if (parent.props && parent.props.customComponent) {
return false;
}
/**
* Box likes element can always have children
*/
if (isContainerElement(parent)) {
return true;
}
/**
* Input elements can have labels embedded. This is needed to attach the label later
*/
if (isInputElement(parent) && child.type === 'Label') {
return true;
}
return false;
}
/**
* Determine if the grid is collection
* of stacked rows. This is true of arwew no overlaps
*/
function hasRowLayout(widget) {
if (widget) {
var nodes = widget.children;
var length = nodes.length;
for (var i = 0; i < length; i++) {
for (var j = 0; j < length; j++) {
var a = nodes[i];
var b = nodes[j];
if (a.id !== b.id) {
if (isOverLappingY(a, b)) {
return false;
}
}
}
}
}
return true;
}
function isWrappedContainer(e) {
return e.style.wrap || e.style.layout === 'Wrap';
}
function isAutoLayoutSpaceBetween(e) {
return e.layout && e.layout.justifyContent === 'space-between';
}
function isGridContainer(e) {
return e.style.grid;
}
function isDesignSystemRoot(e) {
return e.isDesignSystemRoot;
}
function isRepeater(e) {
if (e) {
return e.type === 'Repeater';
}
return false;
}
function hasComponentScreenParent(e) {
return e.hasComponentScreenParent;
}
function isRepeaterAuto(e) {
if (e.type === 'Repeater' && e.props.layout == 'grid' && e.props.auto === true) {
return true;
}
return false;
}
function isFixedPosition(widget) {
return widget.style.fixed && widget.type !== 'Screen';
}
function isRepeaterGrid(e) {
if (e.type === 'Repeater' && e.props.layout === 'grid') {
return true;
}
return false;
}
function isBlock(e) {
return e && e.style && e.style.display === 'block';
}
function hasParentRepeaterGrid(e) {
if (e.parent) {
return isRepeaterGrid(e.parent);
}
return false;
}
/**
* Determine if the grid is collection
* of stacked rows. This is true of arwew no overlaps
*/
function isRowGrid(widget) {
//console.debug('DEPREACTED isRowGrid()')
if (widget) {
var nodes = widget.children;
var length = nodes.length;
for (var i = 0; i < length; i++) {
for (var j = 0; j < length; j++) {
var a = nodes[i];
var b = nodes[j];
if (a.id !== b.id) {
if (isOverLappingY(a, b)) {
return false;
}
}
}
}
}
return true;
}
function isOverLappingX(pos, box) {
return !isLeft(pos, box) && !isRight(pos, box);
}
function isOverLappingY(pos, box) {
return !isTop(pos, box) && !isBottom(pos, box);
}
function isTop(from, to) {
return from.y >= to.y + to.h;
}
function isStartingTop(from, to) {
return from.y >= to.y; // && (from.y + from.h) <= (to.y + to.h);
}
function isBottom(from, to) {
return from.y + from.h <= to.y;
}
function isLeft(from, to) {
return from.x > to.x + to.w;
}
function isStartingLeft(from, to) {
return from.x >= to.x;
}
function isRight(from, to) {
return from.x + from.w < to.x;
}
function ExportUtil_isFixedHorizontal(e) {
return e.props && e.props.resize && e.props.resize.fixedHorizontal;
}
function isHugHorizontal(e) {
return e.props && e.props.resize && e.props.resize.hugHorizontal === true;
}
function isHugVerticall(e) {
return e.props && e.props.resize && e.props.resize.hugVertical === true;
}
function isFixedVertical(e) {
if (e.type === 'Box' || e.type === 'Button' || e.type === 'Label' || e.type === 'Container' || e.type === 'Repeater' || e.children && e.children.length > 0) {
return e.props && e.props.resize && e.props.resize.fixedVertical;
}
return true;
}
function ExportUtil_isPinnedLeft(e) {
return e.props && e.props.resize && e.props.resize.left;
}
function ExportUtil_isPinnedRight(e) {
return e.props && e.props.resize && e.props.resize.right;
}
function isPinnedUp(e) {
return e.props && e.props.resize && e.props.resize.up;
}
function isPinnedDown(e) {
return e.props && e.props.resize && e.props.resize.down;
}
function isFullWidth(e) {
return e.props && e.props.resize && e.props.resize.fullWidth;
}
function isSingleChildInRow() {
//if (e.parent){
// let inSameRow = e.parent.children.filter(c => c.r === e.r)
// console.debug('isSIngleChild', e.name, e.parent.name, inSameRow)
// //return inSameRow.length === 1
//}
return false;
}
/*
export function isAtBottom(element, model, threshold = 10) {
if (element && model.screenSize) {
let dif = getDistanceFromScreenBottom(element, model)
return dif < threshold
}
return false
}
*/
function getDistanceFromScreenBottom(element, model, parentScreen) {
if (element && model.screenSize && parentScreen) {
var h = Math.min(parentScreen.h, model.screenSize.h);
var dif = h - (element.y + element.h);
return dif;
}
return 0;
}
function isCentered(e) {
if (e.parent) {
var dif = e.parent.w - (2 * e.x + e.w); // We have a minimum threshold of 3px
return Math.abs(dif) < Math.max(3, e.parent.w * 0.003);
}
return false;
}
function getClickLine(element) {
if (element.lines) {
return element.lines.find(function (l) {
return l.event === 'click';
});
}
return null;
}
function allChildrenAreFixedHorizontal(children) {
var fixedChildren = children.filter(function (f) {
return f.props && f.props.resize && f.props.resize.fixedHorizontal;
});
return fixedChildren.length === children.length;
}
function isOverlay(screen) {
return screen.style && screen.style.overlay;
}
function isComponentSet(e) {
return e.figmaType === 'COMPONENT_SET';
}
function isChildrenToggle(e) {
return e.type === 'ChildrenToggle' || e.smartContainerType === 'ChildrenToggle';
}
function hasOverlayBackground(screen) {
return screen.style && screen.style.hasBackground;
}
function hasMinMaxWdith(screen) {
return screen.style !== undefined && (screen.style.minWidth > 0 || screen.style.maxWidth > 0);
}
function ExportUtil_getImages(app) {
var images = [];
var urls = {};
Object.values(app.widgets).forEach(function (w) {
if (w.style && w.style.backgroundImage) {
var backgroundImage = w.style.backgroundImage;
var url = getImageLocation(w, backgroundImage.url);
if (!urls[url]) {
images.push({
name: url,
type: 'images',
id: w.id,
src: backgroundImage.url
});
urls[url] = true;
}
}
});
Object.values(app.screens).forEach(function (w) {
if (w.style && w.style.backgroundImage) {
var backgroundImage = w.style.backgroundImage;
var url = getImageLocation(w, backgroundImage.url);
if (!urls[url]) {
images.push({
name: url,
type: 'images',
id: w.id,
src: backgroundImage.url
});
urls[url] = true;
}
}
});
return images;
}
function getImageLocation(w, url) {
var parts = url.split('/');
if (parts.length === 2) {
return parts[1];
}
return url;
}
function removeCommonPath(a, b) {
var path = [];
var aParts = a.split('/');
var bParts = b.split('/');
var different = false;
aParts.forEach(function (p, i) {
if (p !== bParts[i] || different) {
path.push(p);
different = true;
}
});
return path.join('/');
}
/**
* Generates the css for a given screen. Includes the styles for the screen and all
* its children. Certain elements, like common, might be excluded.
*
* @param {*} screen The screen to genearte for
* @param {*} code The code object with the styles
* @param {*} exclude An array of types to be exluded, e.g ['template']
*/
function getScreenCSS(screen, code, exclude) {
var css = '';
var normalize = code.styles['$NORMALIZE'];
if (normalize) {
css += normalize.map(function (s) {
return s.code;
}).join('\n');
}
css += screen.styles.map(function (s) {
return s.code;
}).join('\n');
var elements = getAllChildrenForScreen(screen);
var written = [];
elements.forEach(function (element) {
var styles = code.styles[element.id];
if (exclude) {
styles = styles.filter(function (s) {
return exclude.indexOf(s.type) < 0;
});
}
styles.forEach(function (s) {
if (!written[s.css]) {
css += s.code + '\n';
written[s.css] = true;
}
}); // css += styles.map(s => s.code).join('\n')
});
return css;
}
function getAllChildrenForScreen(screen) {
var result = [];
if (screen.model.children) {
screen.model.children.forEach(function (child) {
result.push(child);
getAllChildren(child, result);
});
}
if (screen.model.fixedChildren) {
screen.model.fixedChildren.forEach(function (child) {
result.push(child);
});
}
return result;
}
function fixAutos(style, widget) {
if (style.fontSize === 'Auto') {
style.fontSize = widget.h;
}
return style;
}
/**
* FIX for old models without z-value
*/
function fixMissingZValue(box) {
if (box.z === null || box.z === undefined) {
box.z = 0;
}
}
/**
* Get children
*/
function getOrderedWidgets(widgets) {
var result = [];
for (var id in widgets) {
var widget = widgets[id];
if (widget) {
fixMissingZValue(widget);
result.push(widget);
}
}
sortWidgetList(result);
return result;
}
/**
* This method is super important for the correct rendering!
*
* We sort by:
*
* 1) style.fixed: fixed elements will be renderd last, therefore they come
* as the last elements in the list
*
* 2) inherited : inherited values come first. They shall be rendered below the
* widget of the new screen
*
* 3) z : High z values come later
*
* 4) id: if the z value is the same, sort by id, which means the order the widgets have been
* added to the screen.
*/
function sortWidgetList(result) {
/**
* Inline function to determine if a widget is fixed.
* we have to check if style exists, because the Toolbar.onToolWidgetLayer()
* call the method without styles.
*/
var isFixed = function isFixed(w) {
if (w.style && w.style.fixed) {
return true;
}
return false;
};
result.sort(function (a, b) {
var aFix = isFixed(a);
var bFix = isFixed(b);
/**
* 1) Sort by fixed. If both are fixed or not fixed,
* continue sorting by inherited.
*/
if (aFix == bFix) {
/**
* If both a inherited or not inherited,
* continue sorting by z & id
*/
if (a.inherited && b.inherited || !a.inherited && !b.inherited) {
/**
* 4) if the have the same z, sot by id
*/
if (a.z == b.z && a.id && b.id) {
return a.id.localeCompare(b.id);
}
/**
* 3) Sort by z. Attention, Chrome
* needs -1, 0, 1 or one. > does not work
*/
return a.z - b.z;
}
if (a.inherited) {
return -1;
}
return 1;
}
if (aFix) {
return 1;
}
return -1;
});
}
function getAllChildren(node, result) {
if (node.children) {
node.children.forEach(function (child) {
result.push(child);
getAllChildren(child, result);
});
}
}
function isContainedInBox(obj, parent) {
if (parent) {
if (obj.x >= parent.x && obj.x + obj.w <= parent.w + parent.x && obj.y >= parent.y && obj.y + obj.h <= parent.y + parent.h) {
return true;
}
}
return false;
}
function getBoundingBoxByIds(ids, model) {
var children = ids.map(function (id) {
if (model.widgets && model.widgets[id]) {
return model.widgets[id];
} else {
core_Logger.log(1, 'ExportUtil.getBoundingBoxByIds() > No child with id', id);
}
return null;
}).filter(function (child) {
return child !== null;
});
return getBoundingBoxByBoxes(children);
}
function getBoundingBoxByBoxes(boxes) {
var result = {
x: 100000000,
y: 100000000,
w: 0,
h: 0,
z: 100000000,
props: {
resize: {}
},
style: {}
};
for (var i = 0; i < boxes.length; i++) {
var box = boxes[i];
result.x = Math.min(result.x, box.x);
result.y = Math.min(result.y, box.y);
result.w = Math.max(result.w, box.x + box.w);
result.h = Math.max(result.h, box.y + box.h);
result.z = Math.max(result.z, box.z);
if (ExportUtil_isFixedHorizontal(box)) {
result.props.resize.fixedHorizontal = true;
}
if (isFixedVertical(box)) {
result.props.resize.fixedVertical = true;
}
}
result.h -= result.y;
result.w -= result.x;
return result;
}
function createInheritedModel(model) {
/**
* Build lookup map for overwrites
*/
var overwritenWidgets = {};
for (var screenID in model.screens) {
var screen = model.screens[screenID];
overwritenWidgets[screenID] = {};
for (var i = 0; i < screen.children.length; i++) {
var widgetID = screen.children[i];
var widget = model.widgets[widgetID];
if (widget && widget.parentWidget) {
overwritenWidgets[screenID][widget.parentWidget] = widgetID;
}
}
}
var inModel = clone(model);
inModel.inherited = true;
/**
* add container widgets
*/
createContaineredModel(inModel);
/**
* add widgets from parent (master) screens
*/
for (var _screenID in inModel.screens) {
/**
* *ATTENTION* We read from the org model, otherwise we have
* issues in the loop as we change the screen.
*/
var _screen = model.screens[_screenID];
if (_screen.parents && _screen.parents.length > 0) {
/**
* add widgets from parent screens
*/
for (var _i = 0; _i < _screen.parents.length; _i++) {
var parentID = _screen.parents[_i];
if (parentID != _screenID) {
if (model.screens[parentID]) {
/**
* *ATTENTION* We read from the org model, otherwise we have
* issues in the loop as we change the screen!
*/
var parentScreen = model.screens[parentID];
var difX = parentScreen.x - _screen.x;
var difY = parentScreen.y - _screen.y;
var parentChildren = parentScreen.children;
for (var j = 0; j < parentChildren.length; j++) {
var parentWidgetID = parentChildren[j];
/**
* *ATTENTION* We read from the org model, otherwise we have
* issues in the loop as we change the screen!
*/
var parentWidget = model.widgets[parentWidgetID];
if (parentWidget) {
var overwritenWidgetID = overwritenWidgets[_screenID][parentWidgetID];
if (!overwritenWidgetID) {
var copy = clone(parentWidget);
/**
* Super important the ID mapping!!
*/
copy.id = parentWidget.id + "@" + _screenID;
copy.inherited = parentWidget.id;
copy.inheritedScreen = _screenID;
copy.inheritedOrder = _i + 1;
/**
* Now lets also put it at the right position!
*/
copy.x -= difX;
copy.y -= difY;
/**
* We write the new widget to the inherited model!
*
*/
inModel.widgets[copy.id] = copy;
inModel.screens[_screenID].children.push(copy.id);
/**
* Also add a to the inherited copies
* so we can to live updates in canvas
*/
var parentCopy = inModel.widgets[parentWidget.id];
if (!parentCopy.copies) {
parentCopy.copies = [];
}
parentCopy.copies.push(copy.id);
} else {
var overwritenWidget = inModel.widgets[overwritenWidgetID];
if (overwritenWidget) {
overwritenWidget.props = mixin(clone(parentWidget.props), overwritenWidget.props, true);
overwritenWidget.style = mixin(clone(parentWidget.style), overwritenWidget.style, true);
if (overwritenWidget.hover) {
overwritenWidget.hover = mixin(clone(parentWidget.hover), overwritenWidget.hover, true);
}
if (overwritenWidget.error) {
overwritenWidget.error = mixin(clone(parentWidget.error), overwritenWidget.error, true);
}
/**
* Also add a reference to the *INHERITED* copies
* so we can to live updates in canvas
*/
var _parentCopy = inModel.widgets[parentWidget.id];
if (!_parentCopy.inheritedCopies) {
_parentCopy.inheritedCopies = [];
}
_parentCopy.inheritedCopies.push(overwritenWidget.id);
/**
* Also inherited positions
*/
if (overwritenWidget.parentWidgetPos) {
overwritenWidget.x = parentWidget.x - difX;
overwritenWidget.y = parentWidget.y - difY;
overwritenWidget.w = parentWidget.w;
overwritenWidget.h = parentWidget.h;
}
overwritenWidget._inheried = true;
} else {
console.error("createInheritedModel() > No overwriten widget in model");
}
}
} else {
console.warn("createInheritedModel() > no parent screen child with id > " + parentID + ">" + parentWidget);
}
}
createInheritedGroups(inModel.screens[_screenID], parentScreen, model, inModel);
} else {
console.warn("createInheritedModel() > Deteced Self inheritance...", _screen);
}
} else {
console.warn("createInheritedModel() > no parent screen with id > " + parentID);
}
}
}
}
/**
* Inline designtokens. must come last, otherwise master screen widgets are not correctly filled.
*/
inModel = inlineModelDesignTokens(inModel);
return inModel;
}
function createInheritedGroups(inScreen, parentScreen, model, inModel) {
core_Logger.log(4, 'ExportUtil.createInheritedGroups()');
var parentGroups = getAllGroupsForScreen(parentScreen, model);
var widgetParentMapping = {};
inScreen.children.forEach(function (widgetID) {
var inheritedWidget = inModel.widgets[widgetID];
if (inheritedWidget) {
widgetParentMapping[inheritedWidget.inherited] = widgetID;
} else {
console.warn('createInheritedGroups() Could not find widget', widgetID);
}
});
parentGroups.forEach(function (group) {
var newGroup = {
name: group.name + "_" + inScreen.name,
id: group.id + "@" + inScreen.id,
inherited: group.id,
inheritedScreen: parentScreen.id,
props: clone(group.props),
style: clone(group.style),
children: []
};
group.children.forEach(function (widgetID) {
var inheritedID = widgetParentMapping[widgetID];
if (inheritedID) {
newGroup.children.push(inheritedID);
} else {
console.warn('createInheritedGroups() Could not find parent widhet', widgetID);
}
});
if (inModel.groups) {
inModel.groups[newGroup.id] = newGroup;
}
});
}
function createContaineredModel(inModel) {
for (var screenID in inModel.screens) {
var screen = inModel.screens[screenID];
for (var i = 0; i < screen.children.length; i++) {
var widgetID = screen.children[i];
var widget = inModel.widgets[widgetID];
if (widget) {
if (widget.isContainer) {
var children = getContainedChildWidgets(widget, inModel);
widget.children = children.map(function (w) {
return w.id;
});
}
} else {
/**
* FIXME: This can happen for screen copies...
*/
// console.warn('Core.createContaineredModel() > cannot find widgte', widgetID)
}
}
}
}
function inlineModelDesignTokens(model) {
/**
* This is quite costly. Can we do this smarter? Maybe we could do it in the
* RenderFactory (beawre of hover etc). Then we would have to just add here
* for all the reference design token the modified?
*/
if (model.designtokens) {
for (var widgetID in model.widgets) {
var widget = model.widgets[widgetID];
inlineBoxDesignToken(widget, model);
}
for (var screenId in model.screens) {
var scrn = model.screens[screenId];
inlineBoxDesignToken(scrn, model);
}
/**
* FIXME Add tempaltes
*/
}
return model;
}
function inlineBoxDesignToken(box, model) {
/**
* If the box is templates, we copy all the designtokens from the template
*/
if (box && box.template && model.templates && model.templates[box.template]) {
var template = model.templates[box.template];
if (template.designtokens) {
/**
* We could mix this in....
*/
box.designtokens = template.designtokens;
}
}
if (box && box.designtokens) {
var designtokens = box.designtokens;
for (var state in designtokens) {
if (!box[state]) {
box[state] = {};
}
var stateTokens = designtokens[state];
for (var cssProp in stateTokens) {
var designTokenId = stateTokens[cssProp];
var designToken = model.designtokens[designTokenId];
if (designToken) {
if (designToken.isComplex) {
box[state][cssProp] = designToken.value[cssProp];
} else {
box[state][cssProp] = designToken.value;
}
} else {
console.warn('ModelUtil.inlineBoxDesignToken() > NO token with id or no value:' + designTokenId, designToken);
}
}
}
}
return box;
}
function copyTemplateStyles(model) {
if (model.templates) {
for (var widgetID in model.widgets) {
var widget = model.widgets[widgetID];
if (widget.template) {
var template = model.templates[widget.template];
widget._template = template;
}
}
}
return model;
}
function inlineTemplateStyles(model) {
for (var widgetID in model.widgets) {
var widget = model.widgets[widgetID];
if (widget.template) {
/**
* FIXME: What about style?
*/
var style = this.getTemplatedStyle(widget, model, 'style');
if (style) {
widget.style = style;
}
var hover = this.getTemplatedStyle(widget, model, 'hover');
if (hover) {
widget.hover = hover;
}
var error = this.getTemplatedStyle(widget, model, 'error');
if (error) {
widget.error = error;
}
var focus = this.getTemplatedStyle(widget, model, 'focus');
if (focus) {
widget.focus = focus;
}
var active = this.getTemplatedStyle(widget, model, 'active');
if (active) {
widget.active = active;
}
console.debug(widget);
}
}
return model;
}
function getTemplatedStyle(widget, model, prop) {
if (widget.template) {
if (model.templates) {
var t = model.templates[widget.template];
console.debug(t);
if (t && t[prop]) {
/**
* Merge in overwriten styles
*/
var merged = clone(t[prop]);
if (widget[prop]) {
var props = widget[prop];
for (var key in props) {
merged[key] = props[key];
}
}
return merged;
}
}
}
return widget[prop];
}
function getContainedChildWidgets(container, model) {
var result = [];
/*
* Loop over sorted list
*/
var sortedWidgets = getOrderedWidgets(model.widgets);
var found = false;
for (var i = 0; i < sortedWidgets.length; i++) {
var widget = sortedWidgets[i];
if (container.id != widget.id) {
if (found && isContainedInBox(widget, container)) {
widget.container = container.id;
result.push(widget);
}
} else {
found = true;
}
}
return result;
}
function addContainerChildrenToModel(model) {
/**
* Add here some function to add the virtual children, so that stuff
* works also in the analytic canvas. This would mean we would have to
* copy all the code from the Repeater to here...
*/
return model;
}
function mixin(a, b, keepTrack) {
if (a && b) {
b = clone(b);
if (keepTrack) {
b._mixed = {};
}
for (var k in a) {
if (b[k] === undefined || b[k] === null) {
b[k] = a[k];
if (keepTrack) {
b._mixed[k] = true;
}
}
}
}
return b;
}
function mixinNotOverwriten(a, b) {
if (a && b) {
var mixed = {};
if (b._mixed) {
mixed = b._mixed;
} //console.debug("mixinNotOverwriten", overwriten)
for (var k in a) {
if (b[k] === undefined || b[k] === null || mixed[k]) {
b[k] = a[k];
}
}
}
return b;
}
function clone(obj) {
if (!obj) {
return null;
}
var _s = JSON.stringify(obj);
return JSON.parse(_s);
}
function getLines(widget, model) {
var result = [];
if (widget.inherited && model.widgets[widget.inherited]) {
widget = model.widgets[widget.inherited];
}
var widgetID = widget.id;
var lines = getFromLines(widget, model);
if (lines && lines.length > 0) {
return lines;
}
var group = getParentGroup(widgetID, model);
if (group) {
var groupLine = getFromLines(group, model);
if (groupLine && groupLine.length > 0) {
return groupLine;
}
}
/**
* Since 2.1.3 we use might have sub groups.
*/
var topGroup = getTopParentGroup(widgetID, model);
if (topGroup) {
var _groupLine = getFromLines(topGroup, model);
if (_groupLine && _groupLine.length > 0) {
return _groupLine;
}
}
return result;
}
function getTopParentGroup(id, model) {
var group = getParentGroup(id, model);
if (group) {
while (group) {
var parent = getParentGroup(group.id, model);
if (parent) {
group = parent;
} else {
/**
* In contrast the the Layout copz of this, we do not add
* all children... not sure it this is needed
*/
return group;
}
}
}
return null;
}
function getParentGroup(widgetID, model) {
if (model.groups) {
for (var id in model.groups) {
var group = model.groups[id];
var i = group.children.indexOf(widgetID);
if (i > -1) {
return group;
}
/**
* Since 2.13 we have subgroups and check this too
*/
if (group.groups) {
var _i2 = group.groups.indexOf(widgetID);
if (_i2 > -1) {
return group;
}
}
}
}
return null;
}
function getGroup(widgetID, model) {
if (model.groups) {
for (var id in model.groups) {
var group = model.groups[id];
var i = group.children.indexOf(widgetID);
if (i > -1) {
return group;
}
}
}
}
function getAllGroupChildren(group, model) {
if (!group.children) {
return [];
}
var result = group.children.slice(0);
/**
* Check all sub groups
*/
if (group.groups) {
group.groups.forEach(function (subId) {
var sub = model.groups[subId];
if (sub) {
var children = getAllGroupChildren(sub, model);
result = result.concat(children);
} else {
console.warn('getAllGroupChildren() No sub group', subId);
}
});
}
return result;
}
function getAllChildrenWithPosition(group) {
var result = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
if (group.children) {
group.children.forEach(function (child) {
// groups might not have been defined with the width!
if (child.x != undefined) {
result.push(child);
}
getAllChildrenWithPosition(child, result);
});
}
return result;
}
function getAllGroupsForScreen(screen, model) {
var result = {};
screen.children.forEach(function (widgetID) {
var group = getGroup(widgetID, model);
if (group) {
result[group.id] = group;
}
});
return Object.values(result);
}
function getFromLines(box, model) {
var result = [];
for (var id in model.lines) {
var line = model.lines[id];
if (line.from == box.id) {
result.push(line);
}
}
return result;
}
function getBoxById(id, model) {
if (model.screens[id]) {
return model.screens[id];
}
if (model.widgets[id]) {
return model.widgets[id];
}
}
function print(screen) {
var grid = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var hasXY = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
var res = [];
printElement(res, screen, '', grid, hasXY);
screen.fixedChildren.forEach(function (e) {
var pos = grid ? " > col: ".concat(e.gridColumnStart, " - ").concat(e.gridColumnEnd, " > row: ").concat(e.gridRowStart, " - ").concat(e.gridRowEnd) : '';
var xw = hasXY ? "".concat(e.x, " - ").concat(e.w) : '';
var actions = ''; // e.lines ? ' -> ' + e.lines.map(l => l.event + ':' + l.screen.name) : ''
res.push(" ".concat(e.name, "* ").concat(pos, " ").concat(xw, " ").concat(actions, " "));
});
return res.join('\n');
}
function printElement(res, e) {
var space = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
var grid = arguments.length > 3 ? arguments[3] : undefined;
var hasXY = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;
var actions = ''; // e.lines ? ' -> ' + e.lines.map(l => l.event + ':' + l.screen.name) : ''
///let parent = e.parent ? e.parent.name + ' ' + e.parent.id : "null"
var pos = grid ? " > col: ".concat(e.gridColumnStart, " - ").concat(e.gridColumnEnd, " > row: ").concat(e.gridRowStart, " - ").concat(e.gridRowEnd) : '';
var xw = hasXY ? "".concat(e.x, " - ").concat(e.w) : '';
res.push("".concat(space).concat(e.name, " - (").concat(e.layout, ") ").concat(pos, " ").concat(xw, " ").concat(actions, " "));
if (e.children) {
e.children.forEach(function (c) {
printElement(res, c, space + ' ', grid);
});
}
}
function getElementsAsRows(nodes) {
var rows = [];
var row;
var lastRowId = null;
nodes.forEach(function (n) {
var rowId = n.row ? n.row : '-1';
if (rowId != lastRowId) {
row = [];
rows.push(row);
}
row.push(n);
lastRowId = rowId;
});
return rows;
}
function setCSSClassNames(parent, screenName) {
var name = parent.name;
name = name.replace(/\./g, "_");
if (name.match(/^\d/)) {
name = "q" + name;
}
parent.cssScreen = "".concat(screenName.replace(/\s+/g, "_"));
parent.cssClass = "".concat(name.replace(/\s+/g, "_"));
var cssSelector = ".".concat(name.replace(/\s+/g, "_"));
if (parent.parent) {
cssSelector = ".".concat(screenName.replace(/\s+/g, "_"), " ").concat(cssSelector);
} else {
cssSelector = ".qux-screen".concat(cssSelector);
}
parent.cssSelector = cssSelector;
if (parent && parent.children) {
parent.children.forEach(function (c) {
setCSSClassNames(c, screenName);
});
}
if (parent && parent.fixedChildren) {
parent.fixedChildren.forEach(function (c) {
setCSSClassNames(c, screenName);
});
}
}
function stringToType(value) {
if (value === 'true') {
value = true;
}
if (value === 'false') {
value = false;
}
return value;
}
// CONCATENATED MODULE: ./src/qux/transformer/GridLayouter.js
//import { Layout } from "../core/Const"
function addGridToElements(parent) {
/**
* FIXME: Just add grdid when needed?
*/
//if (parent.layout === Layout.Grid) {
var grid = computeGrid(parent);
if (grid) {
parent.grid = grid;
if (parent.children && parent.children.length > 0) {
parent.children.forEach(function (e) {
e.gridColumnStart = 0;
e.gridColumnEnd = grid.columns.length;
e.gridRowStart = 0;
e.gridRowEnd = grid.rows.length;
grid.columns.forEach(function (c, i) {
/**
* FIXME: if we want to use grdiCleanUp we
* have to use start and end
*/
if (c.v === e.x) {
e.gridColumnStart = i;
} else if (c.v === e.x + e.w) {
e.gridColumnEnd = i;
}
});
grid.rows.forEach(function (r, i) {
if (r.v === e.y) {
e.gridRowStart = i;
}
if (r.v === e.y + e.h) {
e.gridRowEnd = i;
}
});
});
}
} //}
if (parent.children && parent.children.length > 0) {
parent.children.forEach(function (c) {
addGridToElements(c);
});
}
return parent;
}
function computeGrid(parent) {
var fixSmallColumns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
if (parent.children && parent.children.length > 0) {
var rows = {};
var columns = {};
/**
* Collect all the relevant lines. First the parent
* then all the children
*/
addGridColumns(columns, 0, parent, true);
addGridColumns(columns, parent.w, parent, false);
addGridRow(rows, 0, parent, true);
addGridRow(rows, parent.h, parent, false);
parent.children.forEach(function (c) {
addGridColumns(columns, c.x, c, true);
addGridColumns(columns, c.x + c.w, c, false);
addGridRow(rows, c.y, c, true);
addGridRow(rows, c.y + c.h, c, false);
});
/**
* Set the width and convert objects to arrays
*/
columns = setGridColumnWidth(columns, parent);
rows = setGridRowHeight(rows, parent);
if (fixSmallColumns) {
/**
* To make htis work, we need to fix the addGridToElements() to not match values,
* but go over the start and end thingies.
*/
columns = computeReducedColumns(columns);
}
/**
* determine fixed columns and rows
*/
setFixedGirdRowsAndColumns(parent, columns, rows);
return {
rows: rows,
columns: columns
};
}
return null;
}
function computeReducedColumns(columns) {
var temp = [];
var last = null;
for (var c = 0; c < columns.length; c++) {
var col = columns[c];
if (last && col.v - last.v < 2) {
/**
* This does not work
*/
var start = last.start.concat(col.start);
var end = last.end.concat(col.end);
last.start = start;
last.end = end;
} else {
temp.push(col);
last = col;
}
}
return temp;
}
function setFixedGirdRowsAndColumns(parent, columns, rows) {
/**
* Set fixed. For each child check if the
* 1) We have fixed Vertical or Horizontal
* 2) If pinned. e.g. if pinned right, all
* columns < e.v must be fixed
*/
parent.children.forEach(function (e) {
if (ExportUtil_isFixedHorizontal(e)) {
columns.forEach(function (column) {
if (column.v >= e.x && column.v < e.x + e.w) {
column.fixed = true;
}
});
}
if (ExportUtil_isPinnedLeft(e)) {
// FIXME: Just fix the closest
var before = columns.filter(function (column) {
return column.v < e.x;
});
if (before.length > 0) {
before[before.length - 1].fixed = true;
} //columns.forEach(column => {
// if (column.v < e.x) {
// column.fixed = true
// }
//})
}
if (ExportUtil_isPinnedRight(e)) {
var after = columns.filter(function (column) {
return column.v >= e.x + e.w;
});
if (after.length > 0) {
after[0].fixed = true;
} //columns.forEach(column => {
// if (column.v >= e.x + e.w) {
// column.fixed = true
// }
//})
}
if (isFixedVertical(e)) {
rows.forEach(function (row) {
if (row.v >= e.y && row.v < e.y + e.h) {
row.fixed = true;
}
});
}
if (isPinnedUp(e)) {
rows.forEach(function (row) {
if (row.v < e.y) {
row.fixed = true;
}
});
}
if (isPinnedDown(e)) {
rows.forEach(function (row) {
if (row.v >= e.y + e.h) {
row.fixed = true;
}
});
}
});
}
function setGridColumnWidth(columns, parent) {
columns = Object.values(columns).sort(function (a, b) {
return a.v - b.v;
});
columns.forEach(function (column, i) {
if (columns[i + 1]) {
column.l = columns[i + 1].v - column.v;
} else {
column.l = parent.w - column.v;
}
});
return columns.filter(function (c) {
return c.l > 0;
});
}
function setGridRowHeight(rows, parent) {
rows = Object.values(rows).sort(function (a, b) {
return a.v - b.v;
});
rows.forEach(function (row, i) {
if (rows[i + 1]) {
row.l = rows[i + 1].v - row.v;
} else {
row.l = parent.h - row.v;
}
});
return rows.filter(function (r) {
return r.l > 0;
});
}
function addGridColumns(columns, x, e, start) {
if (!columns[x]) {
columns[x] = {
v: x,
start: [],
end: [],
fixed: false,
hasMinMax: false
};
}
if (start) {
columns[x].start.push(e);
} else {
columns[x].end.push(e);
}
/**
* If we have a min max, we will
* later try to use max-content. This will
* only work for the longest element.
* Check CSSPosition.getGridColumnTracks()
*/
if (hasMinMaxWdith(e)) {
columns[x].hasMinMax = true;
}
}
function addGridRow(rows, y, e, start) {
if (!rows[y]) {
rows[y] = {
v: y,
start: [],
end: [],
fixed: false
};
}
if (start) {
rows[y].start.push(e);
} else {
rows[y].end.push(e);
}
}
// CONCATENATED MODULE: ./src/qux/transformer/Flat2Tree.js
// import * as Rows from "./RowLayouter"
var cloneID = 0;
/**
* Inlines some quant-ux stuff
*/
var supportedWidgetTypes = ["Button", "Box", "Label", "Container", "Icon", "Image", "CheckBox", "RadioBox", "RadioBox2", "HotSpot", "TextBox", "Password", "TextArea", "Repeater", "RadioGroup", "CheckBoxGroup", "ToggleButton", "Switch", "DropDown", "MobileDropDown", "Stepper", "HSlider", "Date", "DateDropDown", "SegmentButton", "Rating", "IconToggle", "LabeledIconToggle", "TypeAheadTextBox", "Table", "Paging", "BarChart", "PieChart", "MultiRingChart", "RingChart", "Vector", "Timeline", "Upload", "ChildrenToggle", "Camera", "UploadPreview", "Spinner", "DynamicContainer", "RichText", "Link"];
var textProperties = ["color", "textDecoration", "textAlign", "fontFamily", "fontSize", "fontStyle", "fontWeight", "letterSpacing", "lineHeight", "lineHeightPX"];
function Flat2Tree_transform(model, config) {
core_Logger.log(1, "Falt2Tree.transform () > enter", config);
var result = {
id: model.id,
name: model.name,
templates: model.templates ? Object.values(model.templates) : [],
warnings: [],
screens: []
};
/**
* IN QUX we want to attach label nodes. In Figma this causes issues. with attachLabels we control for which elements we should use this
*/
var nodesWithLabelAttachment = config.css && config.css.attachLabels === true ? ["TextBox", "Password", "TextArea", "Box", "Button", "DropDown"] : ["TextBox", "Password", "TextArea", "DropDown"];
var hasRows = config.css && config.css.grid !== true;
var _loop = function _loop(screenID) {
var screen = model.screens[screenID];
/**
* First we build a hierachical parent child relation.
*/
screen = transformScreenToTree(screen, model);
/**
* Add rows and grid if needed
*/
screen = layoutTree(screen, hasRows);
/**
* Now we put the fixed stuff in the fixedChildren list
*/
screen = setFixedChildren(screen, model);
/**
* Now we need to layout the shit again, because we have removed the fixed elements.
* FIXME: Make the layoutTree method faster that it also works with the fixedChildren
*/
if (screen.fixedChildren && screen.fixedChildren.length > 0) {
core_Logger.log(1, "Falt2Tree.transform() > fixed elements require double layout");
screen = layoutTree(screen, model);
}
/**
* Since 0.5 we will set now the layouts.
*/
/**
* set screen pos to 0,0
*/
screen.children.forEach(function (c) {
c.parent = screen;
});
screen.x = 0;
screen.y = 0;
attachSingleLabelsInScreen(model, screen, nodesWithLabelAttachment);
setWidgetTypes(screen);
Flat2Tree_setCSSClassNames(screen, screen.name);
result.screens.push(screen);
};
for (var screenID in model.screens) {
_loop(screenID);
}
return result;
}
function layoutTree(screen) {
core_Logger.log('Flat2Tree.layoutTree() > ');
/**
* We add lines, because for wrapped groups we need the rows!
* Attention: In the UI we can not configure this anymore!
*/
// screen = Rows.addRows(screen)
/**
* First we determine the type of layout
*/
addLayoutType(screen);
/**
* Afterwards we re order the elements
*/
fixParents(screen);
screen = addGrid(screen);
return screen;
}
function addLayoutType(element) {
/**
* We set here for each element how it should be rendered, if and only if,
* the layout has not been set by hand, e.g. in Figma.
*
* If we set the layout, the options are:
* 1) Wrap -> defined in UI. Has priority
* 2) Rows -> if the X over laps
* 3) Grid -> Default
*/
var grow = 0;
if (element.layout && element.layout.grow !== undefined) {
grow = element.layout.grow;
}
if (!isLayoutAuto(element)) {
/**
* For Figma Autos, the wrap will be ignored!
*/
if (isWrappedContainer(element)) {
element.layout = {
type: Layout.Wrap,
grow: grow
};
setOrderInWrapper(element, element.children);
} else if (hasRowLayout(element)) {
element.layout = {
type: Layout.Row,
grow: grow
};
setOrderInRow(element, element.children, false);
} else {
element.layout = {
type: Layout.Grid,
grow: grow
};
}
}
if (element.children) {
element.children.forEach(function (child) {
return addLayoutType(child, element);
});
}
return element;
}
function addGrid(screen) {
addGridToElements(screen);
return screen;
}
/**
* In a column, elements are rendered top to down
*/
function setOrderInRow(parent, nodes) {
core_Logger.log(5, "Falt2Tree.setOrderInRow() > Column", parent.name);
nodes.sort(function (a, b) {
return a.y - b.y;
});
var last = 0;
nodes.forEach(function (n) {
var top = n.y - last;
last = n.y + n.h; //n.row = i
n.top = top;
});
}
/**
* Sort by bz row and column. After wards set just paddings and mardings
*/
function setOrderInWrapper(parent, nodes) {
core_Logger.log(3, "Falt2Tree.setOrderInWrapper() > Wrapper Container", parent.name);
nodes.sort(function (a, b) {
if (isOverLappingY(a, b)) {
return a.x - b.x;
}
return a.y - b.y;
});
if (parent.isGroup) {
/*
* If the parent is group, the offet will be 0! So we calculate instead
* the didtance between the first and second row and first and second column.
* This is offcourse just guess.
*/
var offsetBottom = 10;
var offSetRight = 10;
/**
* FIXME: This is broken???
*/
var rows = getElementsAsRows(nodes);
if (rows[0] && rows[0].length > 1 && rows[1]) {
var firstRowChild1 = rows[0][0];
var firstRowChild2 = rows[0][1];
var secondRowChild2 = rows[1][0];
offSetRight = firstRowChild2.x - (firstRowChild1.x + firstRowChild1.w);
offsetBottom = secondRowChild2.y - (firstRowChild1.y + firstRowChild1.h);
} else {
core_Logger.log(-1, "Falt2Tree.setOrderAndRelativePositons() > cannot guess offsets for Wrapper Container", parent.name);
}
parent.style.paddingTop = 0;
parent.style.paddingBottom = 0;
parent.style.paddingLeft = 0;
parent.style.paddingRight = 0;
nodes.forEach(function (n) {
n.wrapOffSetBottom = offsetBottom;
n.wrapOffSetRight = offSetRight;
n.wrapOffSetY = 0;
n.wrapOffSetX = 0;
});
} else {
/**
* We take as the position, the offset of the first element
* Then we add half as padding and the rest a masgin for
* the children
*/
var firstNode = nodes[0];
var offSetX = Math.round(firstNode.x / 2);
var offSetY = Math.round(firstNode.y / 2);
parent.style.paddingTop = offSetY;
parent.style.paddingBottom = offSetY;
parent.style.paddingLeft = offSetX;
parent.style.paddingRight = offSetX;
nodes.forEach(function (n) {
n.wrapOffSetY = offSetY;
n.wrapOffSetX = offSetX;
});
}
}
function setWidgetTypes(parent) {
parent.qtype = getWidgetType(parent);
if (parent.children) {
parent.children.forEach(function (c) {
setWidgetTypes(c);
});
}
if (parent.fixedChildren) {
parent.fixedChildren.forEach(function (c) {
setWidgetTypes(c);
});
}
if (parent.templates) {
parent.templates.forEach(function (c) {
setWidgetTypes(c);
});
}
}
function Flat2Tree_setCSSClassNames(parent, screenName) {
return setCSSClassNames(parent, screenName);
}
function getWidgetType(element) {
/**
* We check here different component overrides
*/
if (element.props.customComponent) {
core_Logger.log(-1, "Falt2Tree.getWidgetType() > Use customComponent", element);
return element.props.customComponent;
}
if (element.type === "ComponentSet") {
return "qComponentSet";
}
if (element.type === "DynamicContainer") {
return "qDynamicContainer";
}
if (element.children && element.children.length > 0) {
if (element.type === "Repeater") {
return "qRepeater";
}
if (element.type === "ChildrenToggle") {
return "qChildrenToggle";
}
return "qContainer";
} else {
if (supportedWidgetTypes.indexOf(element.type) >= 0) {
return "q".concat(element.type);
}
/**
* There is a raw ase were fixed children might cause an issue
*/
core_Logger.warn("Falt2Tree.getWidgetType() > Not supported widget type: " + element.type);
return "qBox";
}
}
function fixParents(parent) {
if (parent.children) {
parent.children.forEach(function (c) {
c.parent = parent;
fixParents(c);
});
}
}
function attachSingleLabelsInScreen(model, screen) {
var allowedTypes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
core_Logger.log(3, "Falt2Tree.attachSingleLabelsInScreen()", allowedTypes);
screen.children.forEach(function (child) {
attachSingleLabelsInNodes(model, child, allowedTypes);
});
return screen;
}
function attachSingleLabelsInNodes(model, node, allowedTypes) {
/**
* If we have a box that has NO label props and contains
* only one child of type label, we merge this in.
*/
var type = node.type; //Logger.log(-7, "Falt2Tree.attachSingleLabelsInNodes()", node.name , node.children.length, allowedTypes.indexOf(type) >= 0, )
if (!node.props.label && node.children.length === 1 && (allowedTypes === null || allowedTypes.indexOf(type) >= 0)) {
var child = node.children[0];
/**
* TODO: We should check here if teh re is a link. What to do with the link?
* Copy to aprent if it is different?
*/
var lines = getLines(child, model);
if (child.type === "Label" && lines.length === 0) {
core_Logger.log(7, "Falt2Tree.attachSingleLabelsInNodes()", child.name, node.name);
node.props.label = child.props.label;
node.children = [];
/**
* For none input types set to Box
*/
if (!isInputElement(node)) {
node.type = "Box";
node.qtype = "qBox";
}
textProperties.forEach(function (key) {
if (child.style[key]) {
node.style[key] = child.style[key];
}
});
node.style.paddingTop = child.y;
node.style.paddingBottom = node.h - child.h - child.y;
node.style.paddingLeft = child.x;
node.style.paddingRight = node.w - child.w - child.x;
/**
* If the parent is an auto layout, remove it.
*/
if (isLayoutAuto(node)) {
node.layout = {
type: Layout.Row
};
}
node.style = fixAutos(node.style, child);
/**
* Merge in the databinding of the child, if there is no data binding of the parent
*/
if (child.props.databinding && !node.props.databinding) {
core_Logger.log(-1, "Falt2Tree.attachSingleLabelsInNodes() copy data binding", child.name, node.name);
node.props.databinding = child.props.databinding;
} // remove grid??
} else {
/**
* TODO: We have two conditions that can fail and require us to go deeper.
* Therefore we need to call this recursive code again. We could have a better check,
* to make teh code more beautifull
*/
node.children.forEach(function (child) {
attachSingleLabelsInNodes(model, child, allowedTypes);
});
}
} else {
node.children.forEach(function (child) {
attachSingleLabelsInNodes(model, child, allowedTypes);
});
}
}
/**
* Transforms and screen into a hiearchical presentation. return the root node.
*/
function transformScreenToTree(screen, model) {
var result = Flat2Tree_clone(screen);
delete result.children;
delete result.has;
result.children = [];
result.fixedChildren = [];
/**
* Get widget in render order. This is important to derive the
* parent child relations.
*/
var widgets = getOrderedWidgets(getWidgets(screen, model));
/**
* now build child parent relations
*/
var parentWidgets = [];
var elementsById = {};
widgets.forEach(function (widget) {
// console.debug('buildTree', widget.name, ' in ', parentWidgets.map(p => p.name).join(', '))
var element = Flat2Tree_clone(widget);
element._x = widget.x;
element._y = widget.y;
element.children = [];
var group = getGroup(widget.id, model);
element.group = group;
/**
* Check if the widget has a parent (= is contained) widget.
* If so, calculate the relative position to the parent,
* otherwise but the element under the screen.
*/
var parentWidget = getParentWidget(parentWidgets, element, model);
if (parentWidget && canBeChild(element, parentWidget)) {
// was Util.canHaveChildren(parentWidget)
element.x = widget.x - parentWidget.x;
element.y = widget.y - parentWidget.y;
element.parent = parentWidget;
elementsById[parentWidget.id].children.push(element);
} else {
element.x = widget.x - screen.x;
element.y = widget.y - screen.y;
element.parent = null;
result.children.push(element);
/**
* If we have a widget directly under the screen, and we have a negative margin, crop
* This might happen with figma
*/
if (element.y < 0) {
core_Logger.log(2, "Falt2Tree.transformScreenToTree() > fix negative margin", element.name);
element.h += element.y;
element.y = 0;
}
}
/**
* Save the widget, so we can check in the next
* iteation if this is a parent or not! Only use
* widgets that can have children
*/
if (canHaveChildren(widget)) {
parentWidgets.unshift(widget);
}
elementsById[element.id] = element;
});
/**
* Padding messes with the grid :(
*/
resetPadding(result);
return result;
}
function setFixedChildren(screen, model) {
if (screen.children) {
setFixedChildrenInElement(screen, screen, model);
}
return screen;
}
function setFixedChildrenInElement(element, screen, model) {
var fixBottomNodes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
/**
* Attention. Fixed elements must be set in the model as fixed. Otherwise
* the oder in the tree method is not correct and the will be wrongly nested!
*/
if (element.children) {
var children = [];
element.children.forEach(function (child) {
if (child.style.fixed === true) {
child.x = child._x - screen.x;
child.y = child._y - screen.y; // the first call if with the element being the screen
if (element.id !== screen.id) {
element.parent = screen;
}
setAllChildrenAsNotFixed(child);
if (fixBottomNodes) {
setFixedBottom(child, model, screen);
}
screen.fixedChildren.push(child);
} else {
setFixedChildrenInElement(child, screen, model);
children.push(child);
}
});
element.children = children;
}
}
function setFixedBottom(element, model, screen) {
/**
* IF we have an pinned bottom
*/
if (isPinnedDown(element)) {
element.bottom = getDistanceFromScreenBottom(element, model, screen);
}
}
function setAllChildrenAsNotFixed(element) {
if (element.children) {
element.children.forEach(function (child) {
child.style.fixed = false;
setAllChildrenAsNotFixed(child);
});
}
}
function resetPadding(element) {
if (element.children) {
element.children.forEach(function (child) {
/**
* If we have more than one child, we have to set the padding to 0.
* Also, we have to create an label element
*/
var labelToAdd = null;
if (child.children && child.children.length > 0) {
var style = child.style;
if (child.props.label) {
var _style = child.style;
var paddingLeft = _style.paddingLeft ? _style.paddingLeft : 0;
var paddingRight = _style.paddingRight ? _style.paddingRight : 0;
var paddingBottom = _style.paddingBottom ? _style.paddingBottom : 0;
var paddingTop = _style.paddingTop ? _style.paddingTop : 0; // Logger.warn('Falt2Tree.resetPadding() > inline label!', child)
labelToAdd = {
id: child.id + "-label",
name: child.name + "-label",
type: "Label",
x: _style.paddingRight,
y: _style.paddingTop,
w: child.w - paddingLeft - paddingRight,
h: child.h - paddingBottom - paddingTop,
props: clone(child.props),
style: {
color: _style.color,
textAlign: _style.textAlign,
fontFamily: _style.fontFamily,
fontSize: _style.fontSize,
fontStyle: _style.fontStyle,
fontWeight: _style.fontWeight,
letterSpacing: _style.letterSpacing,
lineHeight: _style.lineHeight,
verticalAlign: _style.verticalAlign
},
children: []
};
}
style.paddingBottom = 0;
style.paddingLeft = 0;
style.paddingRight = 0;
style.paddingTop = 0;
resetPadding(child);
if (labelToAdd) {
/**
* Or add to fron?
*/
child.children.push(labelToAdd);
}
}
});
}
}
/**
* This method will try to find the parent widget. By default,
* the parent child relation ship is defined as the visual hierachy. This must be done, to
* get nice nested HTML also from drawing style.
*
* Figma, however, might have overflows. Thus we check, if there is no visual parent,
* also the parentID.
*/
function getParentWidget(potentialParents, element, model) {
/**
* First see if the widget is nested in a widget that was rendered before
*/
for (var p = 0; p < potentialParents.length; p++) {
var parent = potentialParents[p];
if (isContainedInBox(element, parent)) {
return parent;
}
}
/**
* If not, check of the parent was defined otherwise, e.g. figma.
*/
if (element.parentId) {
var _parent = model.widgets[element.parentId];
if (_parent) {
return _parent;
}
}
}
function getWidgets(screen, model) {
var widgets = [];
for (var i = 0; i < screen.children.length; i++) {
var id = screen.children[i];
var widget = model.widgets[id];
widgets.push(widget);
}
return widgets;
}
function Flat2Tree_clone(obj) {
var clone = JSON.parse(JSON.stringify(obj));
clone._id = cloneID++;
return clone;
}
// CONCATENATED MODULE: ./src/qux/transformer/Quant2Flat.js
function Quant2Flat_transform(app, config) {
core_Logger.log(3, "Quant2Flat.transform () > enter", config);
var model = clone(app);
var isForcePinnedLeft = config.css && config.css.pinnedLeft === true;
var isForcePinnedRight = config.css && config.css.pinnedRight === true;
var isForceFixedHorizontal = config.css && config.css.fixedHorizontal === true;
/**
* Before we start, we create an inherited model!
*/
model = createInheritedModel(model);
/**
* Copy templates as _template into widgets so we can use the information later
* in the CSSPostion.getCorrectedHeight!
*/
model = copyTemplateStyles(model);
/**
* Set forced left and right pinned
*/
model = addForcedResize(model, isForcePinnedLeft, isForcePinnedRight, isForceFixedHorizontal);
/**
* Set default data binding
*/
if (config.addDefaultDatabinding) {
model = addDefaultDataBinding(model);
}
/**
* Set certain widgets horizontal fixed
*/
model = fixHorizontal(model);
/**
* Make sure names are unique
*/
model = fixNames(model);
/**
* Add links
*/
model = addActions(model);
/**
* Make sure templates are inlined
*/
setTemplateStyles(model);
/**
* Add here virtual elements for the groups
*/
for (var screenID in model.screens) {
var screen = model.screens[screenID];
model = addGroupWrapper(screen, model);
}
return model;
}
/**
* Set tenplates in widgets
*/
function setTemplateStyles(model) {
if (model.templates) {
Object.values(model.templates).forEach(function (t) {
t.cssSelector = ".qux-template-".concat(t.name);
t.cssClass = "qux-template-".concat(t.name);
/**
* TODO: Make faster with lookup map...
*/
Object.values(model.widgets).forEach(function (widget) {
if (widget.template === t.id) {
if (!widget.sharedCssClasses) {
widget.sharedCssClasses = [];
}
widget.sharedCssClasses.push(t.cssClass);
/**
* The vertical align is copied directly... This should be some how handled
* by the css factory...
*/
if (t.style && t.style.verticalAlign && !widget.style.verticalAlign) {
widget.style.verticalAlign = t.style.verticalAlign;
}
}
});
});
}
}
function addActions(model) {
Object.values(model.widgets).forEach(function (w) {
var lines = getLines(w, model, true);
if (lines.length > 0) {
w.lines = lines;
}
});
Object.values(model.screens).forEach(function (s) {
var lines = getLines(s, model, true);
if (lines.length > 0) {
s.lines = lines;
}
});
return model;
}
function addForcedResize(model, isForcePinnedLeft, isForcePinnedRight, isForceFixedHorizontal) {
if (isForcePinnedLeft || isForcePinnedRight || isForceFixedHorizontal) {
core_Logger.log(2, "Quant2Flat.addForcedResize()", isForcePinnedLeft, isForcePinnedRight);
Object.values(model.widgets).forEach(function (w) {
if (!w.props.resize) {
w.props.resize = {
right: false,
up: false,
left: false,
down: false,
fixedHorizontal: false,
fixedVertical: false
};
}
if (isForcePinnedLeft) {
w.props.resize.left = true;
}
if (isForceFixedHorizontal && !w.props.right) {
w.props.resize.fixedHorizontal = true;
}
if (isForcePinnedRight && !w.props.fixedHorizontal) {
w.props.resize.right = true;
}
});
}
return model;
}
function addDefaultDataBinding(model) {
var _loop = function _loop(screenId) {
var screen = model.screens[screenId];
var children = screen.children;
if (children) {
children.forEach(function (widgetId) {
var widget = model.widgets[widgetId];
if (widget && widget.props) {
if (!widget.props.databinding || Object.values(widget.props.databinding) === 0) {
widget.props.databinding = {
default: getDefaultDataBinding(screen, widget)
};
core_Logger.log(2, "Quant2Flat.addDefaultDataBinding() > ", widget.props.databinding);
}
}
});
}
};
for (var screenId in model.screens) {
_loop(screenId);
}
return model;
}
function getDefaultDataBinding(screen, widget) {
/**
* RadioBoxes need some special handling. We create a binding for the group if specified
*/
if (widget.type === "RadioBox2" && widget.props && widget.props.formGroup) {
return escapeSpaces("".concat(screen.name, ".").concat(widget.props.formGroup));
}
return escapeSpaces("".concat(screen.name, ".").concat(widget.name));
}
function escapeSpaces(s) {
return s.replace(/\s+/g, "_");
}
function fixHorizontal(model) {
var fixed = ["Switch", "Stepper"];
for (var widgetId in model.widgets) {
var widget = model.widgets[widgetId];
if (fixed.indexOf(widget.type) >= 0) {
if (!widget.props.resize) {
widget.props.resize = {};
}
widget.props.resize.fixedHorizontal = true;
}
}
return model;
}
function fixNames(model) {
var screens = Object.values(model.screens);
screens.forEach(function (screen, j) {
screen.name = fixElementName(screen.name);
var otherScreensWithSameName = screens.filter(function (o) {
return o.name === screen.name;
});
if (otherScreensWithSameName.length > 1) {
core_Logger.log(3, "Quant2Flat.fixNames() > Fix double screen name:" + screen.name);
screen.name += "_" + j;
}
var children = screen.children;
if (children) {
var widgets = children.map(function (widgetId) {
return model.widgets[widgetId];
});
widgets.forEach(function (w, i) {
w.name = fixElementName(w.name);
var others = widgets.filter(function (o) {
return o.name === w.name;
});
if (others.length > 1) {
core_Logger.log(3, "Quant2Flat.fixNames() > Fix double widget name: " + w.name + " in screen " + screen.name);
w.name += "_" + i;
}
});
}
});
if (model.templates) {
Object.values(model.templates).forEach(function (t) {
t.name = fixElementName(t.name);
});
}
/**
* DEPREACTED SHOULD NEVER BE CALLED: We should fix doubles names. With mastre screens
* we could have overwites! We could rename them, but this
* would have to be consistant in all screens!
*/
var _loop2 = function _loop2(screenID) {
var screen = model.screens[screenID];
var children = screen.children;
var names = children.map(function (c) {
return model.widgets[c].name;
});
var count = {};
names.forEach(function (n) {
if (count[n]) {
core_Logger.error("Quant2Flat.fixNames() > Dubplicate name of element '".concat(n, "' in screen '").concat(screen.name, "'"));
}
count[n] = true;
});
};
for (var screenID in model.screens) {
_loop2(screenID);
}
return model;
}
function fixElementName(str) {
return str.replace(/[^0-9a-z-]/gi, '');
}
function addGroupWrapper(screen, model) {
core_Logger.log(4, "Quant2Flat.addGroupWrapper() > create ", screen.name);
var widgets = getOrderedWidgets(Quant2Flat_getWidgets(screen, model));
var createdGroups = {};
var order = [];
widgets.forEach(function (widget) {
var group = getGroup(widget.id, model);
if (group) {
createGroupCntr(group, model, createdGroups, order, screen);
}
order.push(widget);
});
/**
* Set new z to ensure that the groups are before the
*/
order.forEach(function (widget, i) {
widget.z = i;
});
return model;
}
function createGroupCntr(group, model, createdGroups, order, screen) {
/**
* Create new group container only if needed
*/
if (!createdGroups[group.id]) {
core_Logger.log(2, "Quant2Flat.createGroupCntr() > create ", group.name);
/**
* 1) check if we need to create parent group. If so we go up hierachy
*/
var parentGroup = getParentGroup(group.id, model);
if (parentGroup) {
createGroupCntr(parentGroup, model, createdGroups, order, screen);
}
/**
* 2) Now create the group cntr
*/
var allGroupChildren = getAllGroupChildren(group, model);
var boundingBox = getBoundingBoxByIds(allGroupChildren, model);
var groupCntr = {
id: "gc".concat(group.id),
name: group.name,
groupId: group.id,
isGroup: true,
type: "Box",
x: boundingBox.x,
y: boundingBox.y,
w: boundingBox.w,
h: boundingBox.h,
style: group.style ? group.style : {},
props: {
resize: group.props && group.props.resize ? group.props.resize : {
right: false,
up: false,
left: false,
down: false,
fixedHorizontal: false,
fixedVertical: false
}
}
};
/**
* For inhereted groups make sure that the inherited flag
* is set, other wise the sortWidgets methods will put
* it behind it's children and nesting does not work!
*/
if (group.inherited) {
groupCntr.inherited = group.inherited;
}
/**
* Add it to the model and link stuff properly
*/
model.widgets[groupCntr.id] = groupCntr;
screen.children.push(groupCntr.id);
createdGroups[group.id] = groupCntr;
/**
* Attention, this is imporant! We add the groupCntr here.
* After this method, the widget will be added! By doing this,
* we ensure the right order.
*/
order.push(groupCntr);
}
}
function Quant2Flat_getWidgets(screen, model) {
var widgets = [];
for (var i = 0; i < screen.children.length; i++) {
var id = screen.children[i];
var widget = model.widgets[id];
widgets.push(widget);
}
return widgets;
}
// CONCATENATED MODULE: ./src/qux/transformer/Tree2Component.js
// import * as Util from "../core/ExportUtil"
/**
* Get a sub tree. This
*/
function Tree2Component_transform(tree, selectedName, config) {
var postFix = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '-WrapperScreen';
core_Logger.log(0, "Tree2Component.transform () > enter", selectedName, postFix);
var componentTree = {
id: tree.id,
name: tree.name,
templates: tree.templates,
warnings: [],
screens: []
};
var matches = findElementsByName(tree, selectedName);
if (matches.length === 1) {
var match = matches[0];
/**
* We create here a wrapping screen
*/
var screen = {
id: match.id + postFix,
name: match.name + postFix,
x: match.x,
y: match.y,
w: match.w,
h: match.h,
qType: 'qContainer',
type: 'Screen',
cssClass: match.cssClass + postFix,
cssSelector: ".qux-screen.".concat(match.cssClass).concat(postFix),
children: [match],
fixedChildren: [],
actions: [],
props: {},
style: {},
isComponentScreen: true
};
componentTree.screens.push(screen);
componentTree.id = match.id + '-' + componentTree.id;
/**
* We make a special rendering (100% height) in the CSSFactory. This
* we force a grid, but what ever...
*/
match.hasComponentScreenParent = true;
/**
* Do not forget to update the css Selectors
*/
Flat2Tree_setCSSClassNames(match, match.name + postFix);
} else if (matches.length > 1) {
core_Logger.error('Tree2Component.transform() > ERROR: More than one component with name', selectedName);
} else {
core_Logger.error('Tree2Component.transform() > ERROR: No component with name', selectedName);
}
return componentTree;
}
function findElementsByName(tree, name) {
var result = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
if (tree.screens) {
tree.screens.forEach(function (screen) {
findElementsByNameInScreen(screen, name, result);
});
}
return result;
}
function findElementsByNameInScreen(e, name) {
var result = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
if (e.children) {
e.children.forEach(function (c) {
if (c.name === name) {
result.push(c);
}
findElementsByName(c, name, result);
});
}
return result;
}
// CONCATENATED MODULE: ./src/qux/transformer/Inline.js
function Inline_transform(treeModel, config) {
core_Logger.log(3, "Inline.transform () > enter", config);
var elements = getTreeElements(treeModel);
var _loop = function _loop(id) {
var element = elements[id];
if (element.type === 'DynamicContainer' && element.props.dynamicChildren) {
core_Logger.log(4, "Inline.transform () > inline", element.name, element.figmaComponentId);
/**
* We have to set here the component class
*/
if (element.props.dynamicParent && elements[element.props.dynamicParent]) {
var parent = elements[element.props.dynamicParent];
element.cssComponentClasses = [parent.cssScreen];
}
/**
* Attention. We set here only references. This means the
* parent and css selectors are per so not correct
*/
element.children = [];
element.props.dynamicChildren.forEach(function (childId) {
var childElement = elements[childId];
if (childElement) {
element.children.push(childElement);
}
});
}
};
for (var id in elements) {
_loop(id);
}
return treeModel;
}
function createCopy(element) {
var count = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
var result = {
id: element.id + ':' + count,
name: element.name,
style: clone(element.style),
props: clone(element.props)
};
return result;
}
function getTreeElements(treeModel) {
var result = {};
treeModel.screens.forEach(function (screen) {
getChildElements(screen, result);
});
return result;
}
function getChildElements(element, result) {
result[element.id] = element;
if (element.children) {
element.children.forEach(function (child) {
return getChildElements(child, result);
});
}
}
// CONCATENATED MODULE: ./src/qux/core/ModelTransformer.js
function ModelTransformer_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function ModelTransformer_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 ModelTransformer_createClass(Constructor, protoProps, staticProps) { if (protoProps) ModelTransformer_defineProperties(Constructor.prototype, protoProps); if (staticProps) ModelTransformer_defineProperties(Constructor, staticProps); return Constructor; }
//import * as Util from './ExportUtil'
/**
* This class transforms an absolute quant-ux model into an
* kind of HTML model, where the elements have a real parent
* child relation child
*/
var ModelTransformer_ModelTransformer = /*#__PURE__*/function () {
function ModelTransformer(app) {
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var selected = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
ModelTransformer_classCallCheck(this, ModelTransformer);
this.config = config;
this.model = app;
this.selected = selected;
}
ModelTransformer_createClass(ModelTransformer, [{
key: "transform",
value: function transform() {
core_Logger.log(0, 'ModelTransformer.transform() > selected: ', this.selected);
var model = this.model; // 1) Make a flat model, e.g. merge in master screens
var flatModel = Quant2Flat_transform(model, this.config); // 2) Build a tree and layout everything. This will also layout component sets!
var treeModel = Flat2Tree_transform(flatModel, this.config); // 3) For dynamic widgets, inline all children.
var inlineModel = Inline_transform(treeModel, this.config);
if (this.selected) {
inlineModel = Tree2Component_transform(inlineModel, this.selected, this.config);
}
return inlineModel;
}
}]);
return ModelTransformer;
}();
// CONCATENATED MODULE: ./src/qux/core/CSSOptimizer.js
function CSSOptimizer_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function CSSOptimizer_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 CSSOptimizer_createClass(Constructor, protoProps, staticProps) { if (protoProps) CSSOptimizer_defineProperties(Constructor.prototype, protoProps); if (staticProps) CSSOptimizer_defineProperties(Constructor, staticProps); return Constructor; }
var CSSOptimizer_CSSOptimizer = /*#__PURE__*/function () {
function CSSOptimizer() {
CSSOptimizer_classCallCheck(this, CSSOptimizer);
/**
* Keep the order to collapsed Order: top-left | top-right | bottom-right | bottom-left
*/
this.borderRadius = ["borderTopLeftRadius", "borderTopRightRadius", "borderBottomRightRadius", "borderBottomLeftRadius"];
/**
* Order: top, right, bottom, left
*/
this.borderWidth = ["borderTopWidth", "borderRightWidth", "borderBottomWidth", "borderLeftWidth"];
this.borderStyle = ['borderTopStyle', 'borderRightStyle', 'borderBottomStyle', 'borderLeftStyle'];
this.borderColor = ['borderTopColor', 'borderRightColor', 'borderBottomColor', 'borderLeftColor'];
this.padding = ['paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft'];
}
CSSOptimizer_createClass(CSSOptimizer, [{
key: "runFlat",
value: function runFlat(model) {
model = clone(model);
if (model.templates) {
this.compressDict(model.templates);
}
this.compressDict(model.screens);
this.compressDict(model.widgets);
return model;
}
}, {
key: "runTree",
value: function runTree(model) {
var _this = this;
var replaceVerticalWithPadding = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
/**
* Generate the template styles
*/
model.templates.forEach(function (template) {
// template groups have no style...
if (template.style) {
template.style = _this.compress(template.style, template);
}
});
/**
* Generate styles for each screen. The templates styles
* might here be reused!
*/
model.screens.forEach(function (screen) {
screen.style = _this.compress(screen.style, screen);
screen.children.forEach(function (child) {
_this.compressChildren(child, replaceVerticalWithPadding);
});
if (screen.fixedChildren) {
screen.fixedChildren.forEach(function (child) {
_this.compressChildren(child, replaceVerticalWithPadding);
});
}
});
return model;
}
}, {
key: "compressChildren",
value: function compressChildren(element, replaceVerticalWithPadding) {
var _this2 = this;
element.style = this.compress(element.style, element, replaceVerticalWithPadding);
if (element.children) {
element.children.forEach(function (child) {
_this2.compressChildren(child, replaceVerticalWithPadding);
});
}
}
}, {
key: "compressDict",
value: function compressDict(dict) {
var _this3 = this;
Object.values(dict).forEach(function (item) {
item.style = _this3.compress(item.style, item);
});
}
}, {
key: "compress",
value: function compress(style, element) {
var replaceVerticalWithPadding = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
/**
* Dynamic componets have children taht will be already compressed as part
* of the component wrapper screen. We do not want this.
*/
if (style._isCompressed) {
return style;
}
style._isCompressed = true;
if (replaceVerticalWithPadding) {
style = this.removeVAlign(style, element);
}
this.compressAttribes(style, this.padding, 'padding', 'px', 0);
/**
* Compress and collapse border
*/
this.compressAttribes(style, this.borderRadius, 'borderRadius', 'px', 0);
var borderIsEqual = this.compressAttribes(style, this.borderColor, 'borderColor', false, 'transparent');
var widthIsEqual = this.compressAttribes(style, this.borderWidth, 'borderWidth', 'px', 0);
var styleIsEqual = this.compressAttribes(style, this.borderStyle, 'borderStyle', false, 'solid');
/**
* Merge borders of possible
*/
if (borderIsEqual && widthIsEqual && styleIsEqual) {
style.border = "".concat(style.borderWidth, " ").concat(style.borderStyle, " ").concat(style.borderColor);
delete style.borderColor;
delete style.borderWidth;
delete style.borderStyle;
}
/**
* Remove defaults for the all equal case
*/
if (style.borderStyle === 'solid solid solid solid') {
delete style.borderStyle;
}
if (style.borderStyle === 'solid') {
delete style.borderStyle;
} // if (style.border && style.border.indexOf('0px') === 0) {
// delete style.border
//}
if (style.padding === '0px') {
delete style.padding;
}
if (style.borderRadius === '0px') {
delete style.borderRadius;
}
return style;
}
}, {
key: "removeVAlign",
value: function removeVAlign(style, element) {
if (style.verticalAlign === 'middle' && style.fontSize && style.fontSize !== 'auto') {
core_Logger.log(3, 'CSSOptimizer.removeVAILN() > middle', element.name);
delete style.verticalAlign;
style.paddingTop = Math.round((element.h - style.fontSize) / 2);
style.paddingBottom = element.h - style.fontSize - style.paddingTop;
}
if (style.verticalAlign === 'bottom' && style.fontSize && style.fontSize !== 'auto') {
core_Logger.log(3, 'CSSOptimizer.removeVAILN() > bottom', element.name);
delete style.verticalAlign;
style.paddingTop = Math.round(element.h - style.fontSize);
style.paddingBottom = 0;
}
return style;
}
}, {
key: "resizeToBoxModel",
value: function resizeToBoxModel(widget) {
if (widget.style) {
if (widget.style.paddingTop) {
widget.h -= widget.style.paddingTop;
}
if (widget.style.paddingBottom) {
widget.h -= widget.style.paddingBottom;
}
if (widget.style.paddingLeft) {
widget.w -= widget.style.paddingLeft;
}
if (widget.style.paddingRight) {
widget.w -= widget.style.paddingRight;
}
if (widget.style.borderTopWidth) {
widget.h -= widget.style.borderTopWidth;
}
if (widget.style.borderBottomWidth) {
widget.h -= widget.style.borderBottomWidth;
}
if (widget.style.borderLeftWidth) {
widget.w -= widget.style.borderLeftWidth;
}
if (widget.style.borderRightWidth) {
widget.w -= widget.style.borderRightWidth;
}
}
return widget;
}
}, {
key: "compressAttribes",
value: function compressAttribes(style, keys, prop, unit, defaultValue) {
/**
* Check if we have all the same
*/
var firstValue = style[keys[0]];
if (keys.every(function (key) {
return style[key] === firstValue;
})) {
if (firstValue === undefined || firstValue === null) {
firstValue = defaultValue;
}
if (unit) {
firstValue += unit;
}
keys.forEach(function (key) {
/**
* Remove but store a backup for CSSFactory to fix box height
*/
style['_' + key] = style[key];
delete style[key];
});
style[prop] = firstValue;
return true;
} else {
var values = [];
keys.forEach(function (key) {
var value = style[key];
if (value === undefined || value === null) {
value = defaultValue;
}
if (unit) {
value += unit;
}
values.push(value);
style['_' + key] = style[key];
delete style[key];
});
style[prop] = values.join(' ');
return false;
}
}
}]);
return CSSOptimizer;
}();
// CONCATENATED MODULE: ./src/qux/core/ColorUtil.js
function fromRgb(
/*String*/
color) {
var m = color.toLowerCase().match(/^rgba?\(([\s\\.,0-9]+)\)/);
return m && fromArray(m[1].split(/\s*,\s*/)); // Color
}
function fromHex(
/*String*/
color) {
var result = {};
var bits = color.length == 4 ? 4 : 8;
var mask = (1 << bits) - 1;
color = Number("0x" + color.substr(1));
if (isNaN(color)) {
return;
}
var rgb = ["b", "g", "r"];
rgb.forEach(function (x) {
var c = color & mask;
color >>= bits;
result[x] = bits == 4 ? 17 * c : c;
});
result.a = 1;
return result;
}
function fromArray(
/** array */
a) {
var result = {};
var rgb = ["b", "g", "r"];
rgb.forEach(function (x, i) {
result[x] = a[i] * 1;
});
if (isNaN(result.a)) {
result.a = 1;
}
return result;
}
function fromString(str) {
if (str === 'transparent') {
return {
r: 0,
g: 0,
b: 0,
a: 0
};
} else {
return fromRgb(str) || fromHex(str);
}
}
function ColorUtil_toString(color) {
return "rgba(".concat(color.r, ", ").concat(color.g, ", ").concat(color.b, ", ").concat(color.a, ")");
}
// CONCATENATED MODULE: ./src/qux/web/css/PagingCSS.js
function PagingCSS_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function PagingCSS_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 PagingCSS_createClass(Constructor, protoProps, staticProps) { if (protoProps) PagingCSS_defineProperties(Constructor.prototype, protoProps); if (staticProps) PagingCSS_defineProperties(Constructor, staticProps); return Constructor; }
var PagingCSS_PaginCSS = /*#__PURE__*/function () {
function PaginCSS(cssFactory) {
PagingCSS_classCallCheck(this, PaginCSS);
core_Logger.log(5, 'PaginCSS.constructor()');
this.cssFactory = cssFactory;
}
PagingCSS_createClass(PaginCSS, [{
key: "run",
value: function run(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget);
result += '}\n\n';
result += selector + ' .qux-paging-item {\n';
result += " width:".concat(style.fontSize * 2, "px;\n");
result += " background:".concat(style.background, ";\n");
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.textProperties);
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.borderProperties);
result += '}\n\n';
if (widget.hover) {
var hover = widget.hover;
result += selector + ' .qux-paging-item:hover {\n';
result += " background:".concat(hover.background, ";\n");
result += this.cssFactory.getStyleByKey(hover, widget, this.cssFactory.textProperties);
result += this.cssFactory.getStyleByKey(hover, widget, this.cssFactory.borderProperties);
result += '}\n\n';
}
if (widget.active) {
var active = widget.active;
result += selector + ' .qux-paging-item.qux-paging-item-active {\n';
result += " background:".concat(active.background, ";\n");
result += this.cssFactory.getStyleByKey(active, widget, this.cssFactory.textProperties);
result += this.cssFactory.getStyleByKey(active, widget, this.cssFactory.borderProperties);
result += '}\n\n';
}
return result;
}
}]);
return PaginCSS;
}();
// CONCATENATED MODULE: ./src/qux/web/css/TableCSS.js
function TableCSS_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function TableCSS_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 TableCSS_createClass(Constructor, protoProps, staticProps) { if (protoProps) TableCSS_defineProperties(Constructor.prototype, protoProps); if (staticProps) TableCSS_defineProperties(Constructor, staticProps); return Constructor; }
var TableCSS_TableCSS = /*#__PURE__*/function () {
function TableCSS(cssFactory) {
TableCSS_classCallCheck(this, TableCSS);
core_Logger.log(5, 'TableCSS.constructor()');
this.cssFactory = cssFactory;
}
TableCSS_createClass(TableCSS, [{
key: "run",
value: function run(selector, style, widget) {
var result = '';
var borderStyle = this.getTableBorderStyle(widget);
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget);
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.textProperties);
if (borderStyle === 'Out') {
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.borderProperties);
}
result += '}\n\n';
result += selector + ' .qux-table-action,';
result += selector + ' .qux-table-cell{\n';
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.paddingProperties);
result += '}\n\n';
if (borderStyle === 'Cell') {
result += selector + ' th,';
result += selector + ' td{\n';
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.borderProperties);
result += '}\n\n';
}
if (borderStyle === 'VLines') {
result += selector + ' th,';
result += selector + ' td{\n';
result += " border-right-color:".concat(style._borderBottomColor, ";\n");
result += " border-right-width:".concat(style._borderBottomWidth, "px;\n");
result += " border-right-style:solid;\n";
result += '}\n\n';
result += selector + ' th:last-child,';
result += selector + ' td:last-Child{\n';
result += " border:none;\n";
result += '}\n\n';
}
if (borderStyle === 'HLines') {
result += selector + ' th,';
result += selector + ' td{\n';
result += " border-bottom-color:".concat(style._borderBottomColor, ";\n");
result += " border-bottom-width:".concat(style._borderBottomWidth, "px;\n");
result += " border-bottom-style:solid;\n";
result += '}\n\n';
result += selector + ' tr:last-child th,';
result += selector + ' tr:last-Child td{\n';
result += " border:none;\n";
result += '}\n\n';
}
result += selector + ' thead tr{\n';
result += " background:".concat(style.headerBackground, ";\n");
result += " color:".concat(style.headerColor, ";\n");
if (style.headerFontStyle) {
result += " font-style:".concat(style.headerFontStyle, ";\n");
}
if (style.headerFontWeight) {
result += " font-weight:".concat(style.headerFontWeight, ";\n");
}
if (style.headerTextDecoration) {
result += " text-decoration:".concat(style.headerTextDecoration, ";\n");
}
result += '}\n\n';
result += selector + ' tbody tr:nth-child(2){\n';
result += " background:".concat(style.evenRowBackground, ";\n");
result += " color:".concat(style.evenRowColor, ";\n");
result += '}\n\n';
result += selector + ' tbody tr:hover{\n';
if (style.hoverBackground) {
result += " background:".concat(style.hoverBackground, ";\n");
}
if (style.hoverColor) {
result += " color:".concat(style.hoverColor, ";\n");
}
result += '}\n\n';
if (widget.props.tableActions) {
widget.props.tableActions.forEach(function (action, i) {
result += selector + ' .qux-table-action-cntr .qux-table-action-' + i + '{\n';
if (action.color) {
result += " color:".concat(action.color, ";\n");
}
result += '}\n\n';
});
}
if (style.checkBox) {
result += selector + ' .qux-checkbox-cntr{\n';
var s = style.checkBoxSize ? style.checkBoxSize : style.fontSize;
result += " width:".concat(s, "px;\n");
result += " height:".concat(s, "px;\n");
result += " background:".concat(style.checkBoxBackground, ";\n");
result += " border-color:".concat(style.checkBoxBorderColor, ";\n");
result += " border-radius:".concat(style.checkBoxBorderRadius, "px;\n");
result += " border-width:".concat(style.borderWidth, "px;\n");
result += '}\n\n';
result += selector + ' .qux-checkbox-hook {\n';
result += " border-color:".concat(style.checkBoxHookColor, ";\n");
result += '}\n\n';
}
var widths = this.getTableWidths(widget.props, style);
widths.forEach(function (w, i) {
result += selector + ' .qux-table-column-' + i + '{\n';
result += " width:".concat(Math.round(w * widget.w), "px;\n");
result += '}\n\n';
}); //widths.forEach((w,i) => {
// result += selector + ' td:nth-child(' + (i +1 ) + '){\n'
// result += ` width:${Math.round(w * widget.w)}px;\n`
// result += '}\n\n'
//})
return result;
}
}, {
key: "getTableWidths",
value: function getTableWidths(props, style) {
var fontFactor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.6;
var result = [];
if (props.widths) {
var widths = props.widths;
var sum = 0;
var padding = style._paddingLeft + style._paddingRight;
if (style.checkBox) {
var w = style.checkBoxSize ? style.checkBoxSize : style.fontSize;
widths = [w + padding].concat(widths);
}
if (props.tableActions && props.tableActions.length > 0) {
var text = props.tableActions.map(function (a) {
return a.label;
}).join();
var _w = text.length * style.fontSize * fontFactor + padding * props.tableActions.length;
widths = widths.concat(_w);
}
for (var i = 0; i < widths.length; i++) {
sum += widths[i];
}
for (var _i = 0; _i < widths.length; _i++) {
result[_i] = widths[_i] / sum;
}
}
return result;
}
}, {
key: "getTableBorderStyle",
value: function getTableBorderStyle(model) {
if (model.props.borderStyle) {
return model.props.borderStyle;
}
return "Cell";
}
}]);
return TableCSS;
}();
// CONCATENATED MODULE: ./src/qux/web/css/ImageCSS.js
function ImageCSS_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function ImageCSS_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 ImageCSS_createClass(Constructor, protoProps, staticProps) { if (protoProps) ImageCSS_defineProperties(Constructor.prototype, protoProps); if (staticProps) ImageCSS_defineProperties(Constructor, staticProps); return Constructor; }
var ImageCSS_ImageCSS = /*#__PURE__*/function () {
function ImageCSS(cssFactory) {
ImageCSS_classCallCheck(this, ImageCSS);
core_Logger.log(5, 'ImageCSS.constructor()');
this.cssFactory = cssFactory;
}
ImageCSS_createClass(ImageCSS, [{
key: "run",
value: function run(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget);
if (widget.style.backgroundImage) {
result += this.cssFactory.getRawStyle(widget.style, widget);
} else {
core_Logger.log(5, 'ImageCSS.run()', 'No background for image > ' + widget.name);
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.borderProperties);
result += " background-image:".concat(this.getImagePlaceHolder(widget), ";\n");
result += " background-size: 100% 100%;\n";
result += " border: 1px solid #333;\n";
}
result += '}\n\n';
return result;
}
}, {
key: "getImagePlaceHolder",
value: function getImagePlaceHolder(widget) {
try {
var w = widget.w * 2;
var h = widget.h * 2;
var c = document.createElement("canvas");
var context = c.getContext("2d");
c.width = w;
c.height = h;
h += 0.5;
w += 0.5;
var n = 0.5;
context.moveTo(n, n);
context.lineTo(w, h);
context.moveTo(w, n);
context.lineTo(n, h);
context.strokeStyle = "#333";
context.strokeWidth = 2;
context.imageSmoothingEnabled = false;
context.stroke();
var url = 'url(' + c.toDataURL("image/png") + ')';
return url;
} catch (err) {
/**
* can happen in jest
*/
core_Logger.log(5, 'ImageCSS.getImagePlaceHolder() error');
}
}
}]);
return ImageCSS;
}();
// CONCATENATED MODULE: ./src/qux/web/css/ScreenCSS.js
function ScreenCSS_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function ScreenCSS_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 ScreenCSS_createClass(Constructor, protoProps, staticProps) { if (protoProps) ScreenCSS_defineProperties(Constructor.prototype, protoProps); if (staticProps) ScreenCSS_defineProperties(Constructor, staticProps); return Constructor; }
var ScreenCSS_ScreenCSS = /*#__PURE__*/function () {
function ScreenCSS(cssFactory) {
ScreenCSS_classCallCheck(this, ScreenCSS);
core_Logger.log(5, 'ScreenCSS.constructor()');
this.cssFactory = cssFactory;
this.imagePrefix = cssFactory.imagePrefix;
}
ScreenCSS_createClass(ScreenCSS, [{
key: "run",
value: function run(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget);
if (!isOverlay(widget) || hasOverlayBackground(widget)) {
if (style.background) {
if (style.background.colors) {
var background = style.background;
var gradient = "(" + background.direction + "deg";
for (var i = 0; i < background.colors.length; i++) {
var color = background.colors[i];
gradient += "," + color.c + " " + color.p + "% ";
}
gradient += ")";
result += " background: linear-gradient".concat(gradient, ";\n");
} else {
result += " background-color: ".concat(style.background, ";\n");
}
}
if (style.backgroundColor) {
result += " background-color: ".concat(style.backgroundColor, ";\n");
}
if (style.backgroundImage && style.backgroundImage.url) {
if (style.backgroundImage.url.indexOf('http') === 0) {
result += " background-image: url(".concat(style.backgroundImage.url, ");\n");
} else {
result += " background-image: url(".concat(this.imagePrefix, "/").concat(style.backgroundImage.url, ");\n");
}
}
}
/**
* Check if we have full screen (height = 100%) or fixed size, component
*/
if (widget.isComponentScreen) {
result += " height:".concat(widget.h, "px;\n");
result += " width:".concat(widget.w, "px;\n");
result += this.cssFactory.getStyleByKey(style, widget, ['boxShadow']);
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.borderProperties);
} else {
result += ' height:100%;\n';
}
result += '}\n\n';
return result;
}
}]);
return ScreenCSS;
}();
// CONCATENATED MODULE: ./src/qux/web/css/RepeaterCSS.js
function RepeaterCSS_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function RepeaterCSS_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 RepeaterCSS_createClass(Constructor, protoProps, staticProps) { if (protoProps) RepeaterCSS_defineProperties(Constructor.prototype, protoProps); if (staticProps) RepeaterCSS_defineProperties(Constructor, staticProps); return Constructor; }
var RepeaterCSS_RepeaterCSS = /*#__PURE__*/function () {
function RepeaterCSS(cssFactory) {
RepeaterCSS_classCallCheck(this, RepeaterCSS);
core_Logger.log(5, 'RepeaterCSS.constructor()');
this.cssFactory = cssFactory;
}
RepeaterCSS_createClass(RepeaterCSS, [{
key: "run",
value: function run(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getRawStyle(style, widget);
result += this.cssFactory.getPosition(widget);
result += '}\n\n';
if (isWrappedContainer(widget)) {
core_Logger.warn('RepeaterCSS.run () > wrapped container not supported', widget);
}
/**
* If we have just one child, we just take this to male sure we use teh min and max width
*/
var boundingBox = widget.children.length === 1 ? widget.children[0] : getBoundingBoxByBoxes(widget.children);
boundingBox.parent = widget;
result += selector + ' .qux-repeater-child {\n';
if (isLayoutAuto(widget)) {
result += this.getChildrenAuto(selector, widget, boundingBox);
} else if (isRepeaterGrid(widget)) {
result += this.getChildrenGrid(selector, widget, boundingBox);
} else {
result += this.getChildrenRow(selector, widget, boundingBox);
}
result += '}\n\n';
return result;
}
}, {
key: "getChildrenAuto",
value: function getChildrenAuto(selector, widget, boundingBox) {
core_Logger.log(3, 'RepeaterCSS.getChildrenAuto () > ', widget, boundingBox);
var result = '';
var height = this.cssFactory.getFixedHeight(boundingBox);
result += " height: ".concat(height, ";\n");
result += this.cssFactory.getWrappedWidth(boundingBox);
return result;
}
}, {
key: "getChildrenRow",
value: function getChildrenRow(selector, widget, boundingBox) {
core_Logger.log(3, 'RepeaterCSS.getChildrenRow () > ', widget);
var result = '';
result += this.cssFactory.getWrappedWidth(boundingBox);
result += " margin-bottom:".concat(widget.props.distanceY, "px;\n");
if (boundingBox.x > 0) {
result += " margin-left:".concat(boundingBox.x, "px;\n");
}
if (boundingBox.y > 0) {
result += " margin-top:".concat(boundingBox.y, "px;\n");
}
return result;
}
}, {
key: "getChildrenGrid",
value: function getChildrenGrid(selector, widget, boundingBox) {
core_Logger.log(5, 'RepeaterCSS.getChildrenGrid () > grid', widget);
var result = '';
result += ' display: inline-block;\n';
result += this.cssFactory.getWrappedWidth(boundingBox);
var height = this.cssFactory.getFixedHeight(boundingBox);
result += " height: ".concat(height, ";\n");
if (!isRepeaterAuto(widget)) {
result += " margin-bottom:".concat(widget.props.distanceY, "px;\n");
result += " margin-right:".concat(widget.props.distanceX, "px;\n");
} else {
/**
* The last elements should not have a margin...
*/
var rows = Math.floor(widget.h / boundingBox.h);
var distance = (widget.h - boundingBox.h * rows) / (rows - 1);
result += " margin-bottom:".concat(distance, "px;\n");
}
if (boundingBox.x > 0) {
result += " margin-left:".concat(boundingBox.x, "px;\n");
}
if (boundingBox.y > 0) {
result += " margin-top:".concat(boundingBox.y, "px;\n");
}
return result;
}
}]);
return RepeaterCSS;
}();
// CONCATENATED MODULE: ./src/qux/web/css/ChartCSS.js
function ChartCSS_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function ChartCSS_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 ChartCSS_createClass(Constructor, protoProps, staticProps) { if (protoProps) ChartCSS_defineProperties(Constructor.prototype, protoProps); if (staticProps) ChartCSS_defineProperties(Constructor, staticProps); return Constructor; }
var ChartCSS_ChartCSS = /*#__PURE__*/function () {
function ChartCSS(cssFactory) {
ChartCSS_classCallCheck(this, ChartCSS);
core_Logger.log(5, 'ChartCSS.constructor()');
this.cssFactory = cssFactory;
}
ChartCSS_createClass(ChartCSS, [{
key: "run",
value: function run(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget);
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.borderProperties);
result += '}\n\n';
return result;
}
}]);
return ChartCSS;
}();
// CONCATENATED MODULE: ./src/qux/web/css/VectorCSS.js
function VectorCSS_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function VectorCSS_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 VectorCSS_createClass(Constructor, protoProps, staticProps) { if (protoProps) VectorCSS_defineProperties(Constructor.prototype, protoProps); if (staticProps) VectorCSS_defineProperties(Constructor, staticProps); return Constructor; }
var VectorCSS_VectorCSS = /*#__PURE__*/function () {
function VectorCSS(cssFactory) {
VectorCSS_classCallCheck(this, VectorCSS);
core_Logger.log(5, 'VectorCSS()');
this.cssFactory = cssFactory;
this.imagePrefix = cssFactory.imagePrefix;
}
VectorCSS_createClass(VectorCSS, [{
key: "run",
value: function run(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget); // FIXME: make this smarter?
result += " height:".concat(this.cssFactory.getCorrectedHeight(widget), ";\n");
result += " width:".concat(this.cssFactory.getCorrectedWidth(widget), ";\n");
if (style.backgroundImage && style.backgroundImage.url) {
if (style.backgroundImage.url.indexOf('http') === 0) {
result += " background-image: url(".concat(style.backgroundImage.url, ");\n");
} else {
result += " background-image: url(".concat(this.imagePrefix, "/").concat(style.backgroundImage.url, ");\n");
}
}
result += '}\n\n';
return result;
}
}]);
return VectorCSS;
}();
// CONCATENATED MODULE: ./src/qux/web/css/TimelineCSS.js
function TimelineCSS_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function TimelineCSS_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 TimelineCSS_createClass(Constructor, protoProps, staticProps) { if (protoProps) TimelineCSS_defineProperties(Constructor.prototype, protoProps); if (staticProps) TimelineCSS_defineProperties(Constructor, staticProps); return Constructor; }
var TimelineCSS_VectorCSS = /*#__PURE__*/function () {
function VectorCSS(cssFactory) {
TimelineCSS_classCallCheck(this, VectorCSS);
core_Logger.log(5, 'Timeline()');
this.cssFactory = cssFactory;
this.imagePrefix = cssFactory.imagePrefix;
}
TimelineCSS_createClass(VectorCSS, [{
key: "run",
value: function run(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget);
if (style.elementSpacing === -1) {
result += " display:flex;\n";
result += " flex-direction: column;\n";
result += " justify-content: space-around;\n";
}
result += '}\n\n';
var circleSize = style.circleSize - style.circleBorderWidth;
var left = (circleSize - style.lineWidth) / 2 + 1;
result += selector + ' .qux-timeline-line{\n';
result += " background:".concat(style.lineBackground, ";\n");
result += " width:".concat(style.lineWidth, "px;\n");
result += " border-radius:".concat(Math.round(style.lineWidth / 2), "px;\n");
result += " left:".concat(Math.round(left), "px;\n");
result += '}\n\n';
if (style.elementSpacing > 0) {
result += selector + ' .qux-timeline-element{\n';
result += " margin-top:".concat(style.elementSpacing, "px;\n");
result += '}\n\n';
}
result += selector + ' .qux-timeline-element-selected .qux-timeline-circle{\n';
result += " background:".concat(style.cicleActiveBackground, ";\n");
result += " border-color:".concat(style.cicleActiveBorderColor, ";\n");
result += '}\n\n';
result += selector + ' .qux-timeline-element-selected .qux-timeline-label{\n';
result += " color:".concat(style.cicleActiveTextColor, ";\n");
result += '}\n\n';
result += selector + ' .qux-timeline-label{\n';
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.textProperties);
result += '}\n\n';
result += selector + ' .qux-timeline-circle{\n';
result += " background:".concat(style.cicleBackground, ";\n");
result += " width:".concat(circleSize, "px;\n");
result += " height:".concat(circleSize, "px;\n");
result += " border-color:".concat(style.cicleBorderColor, ";\n");
result += " border-width:".concat(style.circleBorderWidth, "px;\n");
result += '}\n\n';
return result;
}
}]);
return VectorCSS;
}();
/**
* "lineWidth": 8,
"lineBackground": "#333333",
"lineBorderColor": "#ffffff",
"lineBorderWidth": 0,
"circleSize": 32,
"cicleBackground": "#ffffff",
"cicleBorderColor": "#333333",
"circleBorderWidth": 2,
"elementSpacing": -1,
"cicleActiveBackground": "#cccccc",
"cicleActiveTextColor": "#cccccc",
"cicleActiveBorderColor": "#333333"
*/
// CONCATENATED MODULE: ./src/qux/web/css/SegmentCSS.js
function SegmentCSS_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function SegmentCSS_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 SegmentCSS_createClass(Constructor, protoProps, staticProps) { if (protoProps) SegmentCSS_defineProperties(Constructor.prototype, protoProps); if (staticProps) SegmentCSS_defineProperties(Constructor, staticProps); return Constructor; }
var SegmentCSS_SegmentCSS = /*#__PURE__*/function () {
function SegmentCSS(cssFactory) {
SegmentCSS_classCallCheck(this, SegmentCSS);
core_Logger.log(5, 'SegmentCSS()');
this.cssFactory = cssFactory;
this.imagePrefix = cssFactory.imagePrefix;
}
SegmentCSS_createClass(SegmentCSS, [{
key: "run",
value: function run(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget);
result += '}\n\n';
result += selector + ' .qux-segment-item {\n';
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.textProperties);
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.borderProperties);
result += this.cssFactory.getBackGround(style, widget);
result += " border-left: none;\n";
result += " border-radius: 0px;\n";
result += '}\n\n';
result += selector + ' .qux-segment-item:first-child {\n';
result += " border-left-color: ".concat(style._borderLeftColor, ";\n");
var borderLeftStyle = style._borderLeftStyle ? style._borderLeftStyle : 'solid';
result += " border-left-style: ".concat(borderLeftStyle, ";\n");
result += " border-left-width: ".concat(style._borderLeftWidth, "px;\n");
if (style._borderTopLeftRadius) {
result += " border-top-left-radius: ".concat(style._borderTopLeftRadius, "px;\n");
}
if (style._borderBottomLeftRadius) {
result += " border-bottom-left-radius: ".concat(style._borderBottomLeftRadius, "px;\n");
}
result += '}\n\n';
result += selector + ' .qux-segment-item:last-child {\n';
if (style._borderTopRightRadius) {
result += " border-top-right-radius: ".concat(style._borderTopRightRadius, "px;\n");
}
if (style._borderBottomRightRadius) {
result += " border-bottom-right-radius: ".concat(style._borderBottomRightRadius, "px;\n");
}
result += '}\n\n';
if (widget.active) {
var active = widget.active;
result += selector + ' .qux-segment-item.qux-segment-item-selected{\n';
result += " background:".concat(active.background, ";\n");
result += " color:".concat(active.color, ";\n");
result += this.cssFactory.getStyleByKey(active, widget, this.cssFactory.borderColorProperties);
result += '}\n\n';
}
return result;
}
}]);
return SegmentCSS;
}();
// CONCATENATED MODULE: ./src/qux/web/css/UploadCSS.js
function UploadCSS_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function UploadCSS_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 UploadCSS_createClass(Constructor, protoProps, staticProps) { if (protoProps) UploadCSS_defineProperties(Constructor.prototype, protoProps); if (staticProps) UploadCSS_defineProperties(Constructor, staticProps); return Constructor; }
var UploadCSS_UploadCSS = /*#__PURE__*/function () {
function UploadCSS(cssFactory) {
UploadCSS_classCallCheck(this, UploadCSS);
core_Logger.log(5, 'UploadCSS()');
this.cssFactory = cssFactory;
this.imagePrefix = cssFactory.imagePrefix;
}
UploadCSS_createClass(UploadCSS, [{
key: "run",
value: function run(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget);
result += this.cssFactory.getRawStyle(style, widget);
result += '}\n\n';
if (widget.hover) {
var hover = widget.hover;
result += selector + ':hover {\n';
result += " background:".concat(hover.background, ";\n");
result += " color:".concat(hover.color, ";\n");
result += this.cssFactory.getStyleByKey(hover, widget, this.cssFactory.borderColorProperties);
result += '}\n\n';
}
if (widget.active) {
var active = widget.active;
result += selector + '.qux-upload-has-files {\n';
result += " background:".concat(active.background, ";\n");
result += " color:".concat(active.color, ";\n");
result += this.cssFactory.getStyleByKey(active, widget, this.cssFactory.borderColorProperties);
result += '}\n\n';
}
return result;
}
}]);
return UploadCSS;
}();
// CONCATENATED MODULE: ./src/qux/web/css/CameraCSS.js
function CameraCSS_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function CameraCSS_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 CameraCSS_createClass(Constructor, protoProps, staticProps) { if (protoProps) CameraCSS_defineProperties(Constructor.prototype, protoProps); if (staticProps) CameraCSS_defineProperties(Constructor, staticProps); return Constructor; }
var CameraCSS_CameraCSS = /*#__PURE__*/function () {
function CameraCSS(cssFactory) {
CameraCSS_classCallCheck(this, CameraCSS);
core_Logger.log(5, 'CameraCSS()');
this.cssFactory = cssFactory;
this.imagePrefix = cssFactory.imagePrefix;
}
CameraCSS_createClass(CameraCSS, [{
key: "run",
value: function run(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget);
result += this.cssFactory.getRawStyle(style, widget);
result += '}\n\n';
if (widget.hover) {
var hover = widget.hover;
result += selector + ':hover {\n';
result += " background:".concat(hover.background, ";\n");
result += " color:".concat(hover.color, ";\n");
result += this.cssFactory.getStyleByKey(hover, widget, this.cssFactory.borderColorProperties);
result += '}\n\n';
}
if (widget.active) {
var active = widget.active;
result += selector + '.qux-upload-has-files {\n';
result += " background:".concat(active.background, ";\n");
result += " color:".concat(active.color, ";\n");
result += this.cssFactory.getStyleByKey(active, widget, this.cssFactory.borderColorProperties);
result += '}\n\n';
}
result += selector + ' .qux-camera-icon {\n';
result += " font-size:".concat(Math.min(widget.w, widget.h) * 0.6, "px;\n");
result += '}\n\n';
return result;
}
}]);
return CameraCSS;
}();
// CONCATENATED MODULE: ./src/qux/web/css/UploadPreviewCSS.js
function UploadPreviewCSS_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function UploadPreviewCSS_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 UploadPreviewCSS_createClass(Constructor, protoProps, staticProps) { if (protoProps) UploadPreviewCSS_defineProperties(Constructor.prototype, protoProps); if (staticProps) UploadPreviewCSS_defineProperties(Constructor, staticProps); return Constructor; }
var UploadPreviewCSS_UploadPreviewCSS = /*#__PURE__*/function () {
function UploadPreviewCSS(cssFactory) {
UploadPreviewCSS_classCallCheck(this, UploadPreviewCSS);
core_Logger.log(5, 'UploadPreviewCSS.constructor()');
this.cssFactory = cssFactory;
}
UploadPreviewCSS_createClass(UploadPreviewCSS, [{
key: "run",
value: function run(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget);
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.borderProperties);
result += '}\n\n';
return result;
}
}]);
return UploadPreviewCSS;
}();
// CONCATENATED MODULE: ./src/qux/web/css/ComponentSetCSS.js
function ComponentSetCSS_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function ComponentSetCSS_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 ComponentSetCSS_createClass(Constructor, protoProps, staticProps) { if (protoProps) ComponentSetCSS_defineProperties(Constructor.prototype, protoProps); if (staticProps) ComponentSetCSS_defineProperties(Constructor, staticProps); return Constructor; }
var ComponentSetCSS_ComponentSetCSS = /*#__PURE__*/function () {
function ComponentSetCSS(cssFactory) {
ComponentSetCSS_classCallCheck(this, ComponentSetCSS);
core_Logger.log(5, 'ComponentSetCSS.constructor()');
this.cssFactory = cssFactory;
}
ComponentSetCSS_createClass(ComponentSetCSS, [{
key: "run",
value: function run(selector, style, widget) {
var _this = this;
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget);
result += '}\n\n';
/**
* We also layout the childrem here
*/
widget.children.forEach(function (child) {
result += child.cssSelector + ' {\n';
if (ExportUtil_isFixedHorizontal(child)) {
result += " width: ".concat(_this.cssFactory.getCorrectedWidth(child), ";\n");
} else if (hasMinMaxWdith(child)) {
result += _this.getMinMaxWidth(child, false);
} else {
result += " min-width: ".concat(_this.cssFactory.getCorrectedWidth(child), ";\n");
}
if (isFixedVertical(child)) {
result += " height: ".concat(_this.cssFactory.getCorrectedHeight(child), ";\n");
} else {
result += " min-height: ".concat(_this.cssFactory.getCorrectedHeight(child), ";\n");
}
result += '}\n\n';
});
return result;
}
}]);
return ComponentSetCSS;
}();
// CONCATENATED MODULE: ./src/qux/web/css/SpinnerCSS.js
function SpinnerCSS_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function SpinnerCSS_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 SpinnerCSS_createClass(Constructor, protoProps, staticProps) { if (protoProps) SpinnerCSS_defineProperties(Constructor.prototype, protoProps); if (staticProps) SpinnerCSS_defineProperties(Constructor, staticProps); return Constructor; }
var SpinnerCSS_SpinnerCSS = /*#__PURE__*/function () {
function SpinnerCSS(cssFactory) {
SpinnerCSS_classCallCheck(this, SpinnerCSS);
core_Logger.log(5, 'SpinnerCSS()');
this.cssFactory = cssFactory;
this.imagePrefix = cssFactory.imagePrefix;
}
SpinnerCSS_createClass(SpinnerCSS, [{
key: "run",
value: function run(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget);
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.textProperties);
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.borderProperties);
result += '}\n\n';
if (widget.hover) {
var hover = widget.hover;
result += selector + ':hover {\n';
result += " color:".concat(hover.color, ";\n");
result += '}\n\n';
}
result += selector + ' .qux-spinner-option-cntr {\n';
result += " height:".concat(Math.ceil(widget.h * 3), "px;\n");
result += '}\n\n';
result += selector + ' .qux-spinner-option {\n';
result += " height:".concat(Math.floor(widget.h / 3), "px;\n");
result += '}\n\n';
result += selector + ' .qux-spinner-border {\n';
result += " border-top-color:".concat(style.borderBoxColor, ";\n");
result += " border-bottom-color:".concat(style.borderBoxColor, ";\n");
result += '}\n\n';
return result;
}
}]);
return SpinnerCSS;
}();
// CONCATENATED MODULE: ./src/qux/web/css/DynamicContainerCSS.js
function DynamicContainerCSS_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function DynamicContainerCSS_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 DynamicContainerCSS_createClass(Constructor, protoProps, staticProps) { if (protoProps) DynamicContainerCSS_defineProperties(Constructor.prototype, protoProps); if (staticProps) DynamicContainerCSS_defineProperties(Constructor, staticProps); return Constructor; }
var DynamicContainerCSS_DynamicContainerCSS = /*#__PURE__*/function () {
function DynamicContainerCSS(cssFactory) {
DynamicContainerCSS_classCallCheck(this, DynamicContainerCSS);
core_Logger.log(5, 'DynamicContainerCSS.constructor()');
this.cssFactory = cssFactory;
}
DynamicContainerCSS_createClass(DynamicContainerCSS, [{
key: "run",
value: function run(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget);
result += '}\n\n';
return result;
}
}]);
return DynamicContainerCSS;
}();
// CONCATENATED MODULE: ./src/qux/web/css/RichTextCSS.js
function RichTextCSS_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function RichTextCSS_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 RichTextCSS_createClass(Constructor, protoProps, staticProps) { if (protoProps) RichTextCSS_defineProperties(Constructor.prototype, protoProps); if (staticProps) RichTextCSS_defineProperties(Constructor, staticProps); return Constructor; }
var RichTextCSS_RichTextCSS = /*#__PURE__*/function () {
function RichTextCSS(cssFactory) {
RichTextCSS_classCallCheck(this, RichTextCSS);
core_Logger.log(5, 'RichTextCSS()');
this.cssFactory = cssFactory;
this.imagePrefix = cssFactory.imagePrefix;
}
RichTextCSS_createClass(RichTextCSS, [{
key: "run",
value: function run(selector, style, widget) {
var _this = this;
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget);
result += this.cssFactory.getRawStyle(style, widget);
result += '}\n\n';
if (widget.props && widget.props.richTextLabel) {
var richText = widget.props.richTextLabel;
richText.forEach(function (child, i) {
if (child.style) {
result += selector + " .qux-rich-text-child-".concat(i, " {\n");
result += _this.cssFactory.getRawStyle(child.style, widget);
result += '}\n\n';
}
});
}
return result;
}
}]);
return RichTextCSS;
}();
// CONCATENATED MODULE: ./src/qux/web/css/CSSWidgetFactory.js
function CSSWidgetFactory_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function CSSWidgetFactory_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 CSSWidgetFactory_createClass(Constructor, protoProps, staticProps) { if (protoProps) CSSWidgetFactory_defineProperties(Constructor.prototype, protoProps); if (staticProps) CSSWidgetFactory_defineProperties(Constructor, staticProps); return Constructor; }
var CSSWidgetFactory_CSSWidgetFactory = /*#__PURE__*/function () {
function CSSWidgetFactory(cssFactory) {
CSSWidgetFactory_classCallCheck(this, CSSWidgetFactory);
core_Logger.log(5, 'CSSWidgetFactory.constructor()');
this.cssFactory = cssFactory;
this.factories = {
'Paging': new PagingCSS_PaginCSS(cssFactory),
'Table': new TableCSS_TableCSS(cssFactory),
'Image': new ImageCSS_ImageCSS(cssFactory),
'Screen': new ScreenCSS_ScreenCSS(cssFactory),
'Repeater': new RepeaterCSS_RepeaterCSS(cssFactory),
'BarChart': new ChartCSS_ChartCSS(cssFactory),
'Vector': new VectorCSS_VectorCSS(cssFactory),
'Timeline': new TimelineCSS_VectorCSS(cssFactory),
'Segment': new SegmentCSS_SegmentCSS(cssFactory),
'Upload': new UploadCSS_UploadCSS(cssFactory),
'Camera': new CameraCSS_CameraCSS(cssFactory),
'UploadPreview': new UploadPreviewCSS_UploadPreviewCSS(cssFactory),
'ComponentSet': new ComponentSetCSS_ComponentSetCSS(cssFactory),
'Spinner': new SpinnerCSS_SpinnerCSS(cssFactory),
'DynamicContainer': new DynamicContainerCSS_DynamicContainerCSS(cssFactory),
'RichText': new RichTextCSS_RichTextCSS(cssFactory)
};
}
CSSWidgetFactory_createClass(CSSWidgetFactory, [{
key: "getCSS_RichText",
value: function getCSS_RichText(selector, style, widget) {
core_Logger.log(5, 'getCSS_RichText', widget);
return this.factories.RichText.run(selector, style, widget);
}
}, {
key: "getCSS_DynamicContainer",
value: function getCSS_DynamicContainer(selector, style, widget) {
core_Logger.log(5, 'getDynamicContainer', widget);
return this.factories.DynamicContainer.run(selector, style, widget);
}
}, {
key: "getCSS_Spinner",
value: function getCSS_Spinner(selector, style, widget) {
core_Logger.log(5, 'getSpinner', widget);
return this.factories.Spinner.run(selector, style, widget);
}
}, {
key: "getCSS_ComponentSet",
value: function getCSS_ComponentSet(selector, style, widget) {
core_Logger.log(5, 'getComponentSet', widget);
return this.factories.ComponentSet.run(selector, style, widget);
}
}, {
key: "getCSS_UploadPreview",
value: function getCSS_UploadPreview(selector, style, widget) {
core_Logger.log(5, 'getCSS_UploadPreview', widget);
return this.factories.UploadPreview.run(selector, style, widget);
}
}, {
key: "getCSS_Camera",
value: function getCSS_Camera(selector, style, widget) {
core_Logger.log(5, 'getCSS_Camera', widget);
return this.factories.Camera.run(selector, style, widget);
}
}, {
key: "getCSS_Upload",
value: function getCSS_Upload(selector, style, widget) {
core_Logger.log(5, 'getCSS_Upload', widget);
return this.factories.Upload.run(selector, style, widget);
}
}, {
key: "getCSS_BarChart",
value: function getCSS_BarChart(selector, style, widget) {
core_Logger.log(5, 'getCSS_BarChart', widget);
return this.factories.BarChart.run(selector, style, widget);
}
}, {
key: "getCSS_RingChart",
value: function getCSS_RingChart(selector, style, widget) {
core_Logger.log(5, 'getCSS_RingChart', widget);
return this.factories.BarChart.run(selector, style, widget);
}
}, {
key: "getCSS_SegmentButton",
value: function getCSS_SegmentButton(selector, style, widget) {
core_Logger.log(5, 'getCSS_SegmentButton', widget);
return this.factories.Segment.run(selector, style, widget);
}
}, {
key: "getCSS_Timeline",
value: function getCSS_Timeline(selector, style, widget) {
core_Logger.log(5, 'getCSS_Timeline', widget);
return this.factories.Timeline.run(selector, style, widget);
}
}, {
key: "getCSS_Vector",
value: function getCSS_Vector(selector, style, widget) {
core_Logger.log(5, 'getCSS_Vector', widget);
return this.factories.Vector.run(selector, style, widget);
}
}, {
key: "getCSS_PieChart",
value: function getCSS_PieChart(selector, style, widget) {
core_Logger.log(5, 'getCSS_PieChart', widget);
return this.factories.BarChart.run(selector, style, widget);
}
}, {
key: "getCSS_MultiRingChart",
value: function getCSS_MultiRingChart(selector, style, widget) {
core_Logger.log(5, 'getCSS_MultiRingChart', widget);
return this.factories.BarChart.run(selector, style, widget);
}
}, {
key: "getCSS_Screen",
value: function getCSS_Screen(selector, style, widget) {
core_Logger.log(5, 'getCSS_Screen', widget);
return this.factories.Screen.run(selector, style, widget);
}
}, {
key: "getCSS_Repeater",
value: function getCSS_Repeater(selector, style, widget) {
core_Logger.log(5, 'getCSS_Repeater', widget);
return this.factories.Repeater.run(selector, style, widget);
}
}, {
key: "getCSS_Icon",
value: function getCSS_Icon(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getRawStyle(style, widget);
result += this.cssFactory.getPosition(widget);
result += " font-size:".concat(widget.h, "px;\n");
result += " line-height:1;\n";
result += '}\n\n';
result += selector + ' .mdi:before {\n';
result += " font-size:".concat(widget.h, "px;\n");
result += '}\n\n';
return result;
}
}, {
key: "getCSS_ChildrenToggle",
value: function getCSS_ChildrenToggle(selector, style, widget) {
/**
* For now we assume this thingy has a fixed width...
*/
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getRawStyle(style, widget);
result += this.cssFactory.getPosition(widget);
result += " width:".concat(widget.w, "px;\n");
result += '}\n\n';
if (widget.active) {
result += selector + '.qux-active {\n';
result += this.getRawStyle(widget.active, widget);
result += '}\n\n';
}
/**
* We should add here still some other stuff for children...
*/
return result;
}
}, {
key: "getCSS_RadioGroup",
value: function getCSS_RadioGroup(selector, style, widget) {
var result = '';
var correctedHeight = this.cssFactory.getCorrectedHeight(widget, false, widget.style.boxHeight);
var height = widget.style.boxHeight + 'px';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget);
result += '}\n\n';
result += selector + '.qux-radiobox {\n';
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.borderProperties);
result += this.cssFactory.getBackGround(style, widget);
result += " height:".concat(height, ";\n");
result += " width:".concat(height, ";\n");
result += '}\n\n';
result += selector + ' .qux-radiobox-cntr {\n';
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.borderProperties);
result += this.cssFactory.getBackGround(style, widget);
result += " height:".concat(correctedHeight, ";\n");
result += " width:".concat(correctedHeight, ";\n");
result += '}\n\n';
result += selector + ' .qux-radiobox-hook {\n';
result += " background: ".concat(style.colorButton, ";\n");
result += '}\n\n';
result += selector + ' .qux-radiobox-label {\n';
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.fontProperties);
result += '}\n\n';
if (widget.checked) {
result += selector + '.qux-radiobox-checked .qux-radiobox-cntr {\n';
result += this.cssFactory.getStyleByKey(widget.checked, widget, this.cssFactory.borderColorProperties);
result += '}\n\n';
}
return result;
}
}, {
key: "getCSS_CheckBoxGroup",
value: function getCSS_CheckBoxGroup(selector, style, widget) {
var result = '';
var correctedHeight = this.cssFactory.getCorrectedHeight(widget, false, widget.style.boxHeight);
var height = widget.style.boxHeight + 'px';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget);
result += '}\n\n';
result += selector + '.qux-checkbox {\n';
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.borderProperties);
result += this.cssFactory.getBackGround(style, widget);
result += " height:".concat(height, ";\n");
result += " width:".concat(height, ";\n");
result += '}\n\n';
result += selector + ' .qux-checkbox-cntr {\n';
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.borderProperties);
result += this.cssFactory.getBackGround(style, widget);
result += " height:".concat(correctedHeight, ";\n");
result += " width:".concat(correctedHeight, ";\n");
result += '}\n\n';
result += selector + ' .qux-checkbox-hook {\n';
result += " border-color: ".concat(style.colorButton, ";\n");
result += " border-bottom-width: ".concat(Math.round(height / 10), "px;\n");
result += " border-right-width: ".concat(Math.round(height / 10), "px;\n");
result += '}\n\n';
result += selector + ' .qux-checkbox-label {\n';
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.fontProperties);
result += '}\n\n';
if (widget.checked) {
result += selector + '.qux-checkbox-checked .qux-checkbox-cntr {\n';
result += this.cssFactory.getStyleByKey(widget.checked, widget, this.cssFactory.borderColorProperties);
result += '}\n\n';
}
return result;
}
}, {
key: "getCSS_RadioBox2",
value: function getCSS_RadioBox2(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget);
result += '}\n\n';
result += selector + ' .qux-radiobox-cntr {\n';
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.borderProperties);
result += this.cssFactory.getBackGround(style, widget);
result += " height:".concat(this.cssFactory.getCorrectedHeight(widget), ";\n");
result += " width:".concat(this.cssFactory.getCorrectedWidth(widget), ";\n");
result += '}\n\n';
result += selector + ' .qux-radiobox-hook {\n';
result += " background: ".concat(style.colorButton, ";\n");
result += '}\n\n';
if (widget.checked) {
result += selector + '.qux-radiobox-checked .qux-radiobox-cntr {\n';
result += this.cssFactory.getStyleByKey(widget.checked, widget, this.cssFactory.borderColorProperties);
result += '}\n\n';
}
return result;
}
}, {
key: "getCSS_CheckBox",
value: function getCSS_CheckBox(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget); // FIXME: we set width and height twice
result += " height:".concat(widget.h, "px;\n");
result += " width:".concat(widget.w, "px;\n");
result += '}\n\n';
result += selector + ' .qux-checkbox-cntr {\n';
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.borderProperties);
result += this.cssFactory.getBackGround(style, widget);
result += " height:".concat(this.cssFactory.getCorrectedHeight(widget), ";\n");
result += " width:".concat(this.cssFactory.getCorrectedWidth(widget), ";\n");
result += '}\n\n';
result += selector + ' .qux-checkbox-hook {\n';
result += " border-color: ".concat(style.colorButton, ";\n");
result += " border-bottom-width: ".concat(Math.round(widget.h / 10), "px;\n");
result += " border-right-width: ".concat(Math.round(widget.h / 10), "px;\n");
result += '}\n\n';
if (widget.checked) {
result += selector + '.qux-checkbox-checked .qux-checkbox-cntr {\n';
result += this.cssFactory.getStyleByKey(widget.checked, widget, this.cssFactory.borderColorProperties);
result += '}\n\n';
}
return result;
}
}, {
key: "getCSS_Switch",
value: function getCSS_Switch(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget);
result += '}\n\n';
var cntrHeight = this.cssFactory.getCorrectedHeight(widget, false, widget.h);
var cntrWidth = this.cssFactory.getCorrectedWidth(widget, false, widget.w);
if (style.cssClass === 'MatcWidgetTypeSwitchThin') {
cntrHeight = '50%';
}
result += selector + ' .qux-switch-cntr {\n';
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.borderProperties);
result += " height:".concat(cntrHeight, ";\n");
result += " width:".concat(cntrWidth, ";\n");
result += '}\n\n';
var borderWidthButton = style.borderWidthButton ? style.borderWidthButton : 0;
var borderColorButton = style.borderColorButton ? style.borderColorButton : 'rgba(0,0,0,0)';
result += selector + ' .qux-switch-handle {\n';
result += " background:".concat(style.colorButton, ";\n");
result += " border-radius:".concat(style.borderRadius, ";\n");
result += " border-width:".concat(borderWidthButton, "px;\n");
result += " border-color:".concat(borderColorButton, ";\n");
result += this.cssFactory.getStyleByKey(style, widget, ['boxShadow']);
result += " height: ".concat(widget.h, "px;\n");
result += " width: ".concat(widget.h, "px;\n");
result += '}\n\n';
result += selector + '.qux-active .qux-switch-handle {\n';
result += " left:calc(100% - ".concat(widget.h, "px);\n");
result += '}\n\n';
result += selector + ' .qux-switch-on {\n';
result += " background:".concat(style.background, ";\n");
result += '}\n\n';
result += selector + ' .qux-switch-off {\n';
result += " background:".concat(style.colorForeGround, ";\n");
result += '}\n\n';
return result;
}
}, {
key: "getCSS_MobileDropDown",
value: function getCSS_MobileDropDown(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getRawStyle(style, widget);
result += this.cssFactory.getPosition(widget);
result += '}\n\n'; // make sure we have always some focus
result += this.addOpenZIndex(selector);
result += this._addCaret(selector, widget, style);
result += selector + ' .qux-dropdown-popup {\n';
result += " background:".concat(style.popupBackground, ";\n");
result += " color:".concat(style.popupColor, ";\n");
result += '}\n\n';
if (widget.focus) {
result += selector + ':hover {\n';
result += this.cssFactory.getRawStyle(widget.focus, widget);
result += '}\n\n';
result += this._addCaret(selector + ':hover', widget, widget.focus);
result += selector + ':hover .qux-dropdown-popup {\n';
result += this.cssFactory.getStyleByKey(widget.focus, widget, this.cssFactory.borderProperties);
result += '}\n\n';
}
return result;
}
}, {
key: "getCSS_DropDown",
value: function getCSS_DropDown(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getRawStyle(style, widget);
result += this.cssFactory.getPosition(widget);
result += '}\n\n';
result += this._addCaret(selector, widget, style); // make sure we have always some focus
result += this.addOpenZIndex(selector);
result += selector + ':not(.qux-dropdown-mobile) .qux-dropdown-popup {\n';
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.borderProperties);
if (style.popupBorder) {
result += " border-color:".concat(style.popupBorder, ";\n");
}
result += '}\n\n';
result += selector + ':not(.qux-dropdown-mobile) .qux-dropdown-item {\n';
result += " background:".concat(style.popupBackground ? style.popupBackground : style.backgroundColor, ";\n");
result += " color:".concat(style.popupColor ? style.popupColor : style.color, ";\n");
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.paddingProperties);
result += '}\n\n';
result += selector + ':not(.qux-dropdown-mobile) .qux-dropdown-item:hover {\n';
result += " background:".concat(style.selectedOptionBackground, ";\n");
result += " color:".concat(style.selectedOptionColor, ";\n");
result += '}\n\n'; // in QUX we have focus
if (widget.focus) {
result += selector + ':hover {\n';
result += this.cssFactory.getRawStyle(widget.focus, widget);
result += '}\n\n';
result += this._addCaret(selector + ':hover', widget, widget.focus);
result += selector + ':hover .qux-dropdown-popup {\n';
result += this.cssFactory.getStyleByKey(widget.focus, widget, this.cssFactory.borderProperties);
result += '}\n\n';
} // in Figma we have hover
if (widget.hover) {
result += selector + ':hover {\n';
result += this.cssFactory.getRawStyle(widget.hover, widget);
result += '}\n\n';
result += this._addCaret(selector + ':hover', widget, widget.focus);
result += selector + ':hover .qux-dropdown-popup {\n';
result += this.cssFactory.getStyleByKey(widget.hover, widget, this.cssFactory.borderProperties);
result += '}\n\n';
}
return result;
}
}, {
key: "_addCaret",
value: function _addCaret(selector, widget, style) {
var result = '';
if (widget.props && widget.props.caretBorderColor) {
result += selector + ' .qux-dropdown-expend {\n';
result += " background:".concat(style._borderRightColor, ";\n");
result += '}\n\n';
result += selector + ' .qux-dropdown-carret {\n';
result += " color:".concat(style.background, ";\n");
result += '}\n\n';
}
return result;
}
}, {
key: "getCSS_Stepper",
value: function getCSS_Stepper(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getRawStyle(style, widget);
result += this.cssFactory.getPosition(widget);
result += '}\n\n';
if (widget.hover) {
result += selector + ' .qux-stepper-btn:hover {\n';
result += " background:".concat(widget.hover.background, ";\n");
result += " color:".concat(widget.hover.color, ";\n");
result += '}\n\n';
}
return result;
}
}, {
key: "getCSS_HSlider",
value: function getCSS_HSlider(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget);
result += '}\n\n';
result += selector + ' .qux-slider-track {\n';
result += " background:".concat(style.background, ";\n");
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.borderProperties);
result += '}\n\n';
result += selector + ' .qux-slider-progress {\n';
result += " background:".concat(style.barColor, ";\n");
result += '}\n\n';
result += selector + ' .qux-slider-handle {\n';
result += " background:".concat(style.handleColor, ";\n");
result += " border-radius:".concat(style.handleRadius, "%;\n");
result += " height:".concat(style.handleHeight * widget.h, "px;\n");
result += " width:".concat(style.handleWidth, "px;\n");
result += '}\n\n';
result += selector + ' .qux-slider-handle-cntr {\n';
result += " margin-left: ".concat(style.handleWidth / 2, "px;\n");
result += " width: calc(100% - ".concat(style.handleWidth, "px);\n");
result += '}\n\n';
return result;
}
}, {
key: "getCSS_Date",
value: function getCSS_Date(selector, style, widget) {
var isInPopup = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
var result = '';
if (!isInPopup) {
result += selector + ' {\n';
result += this.cssFactory.getRawStyle(style, widget);
result += this.cssFactory.getPosition(widget);
result += '}\n\n';
}
if (style.tableBorderWidth) {
result += selector + ' table {\n';
result += " border-spacing:".concat(style.tableBorderWidth, "px;\n");
result += " border-collapse: separate;\n";
result += '}\n\n';
}
result += selector + ' .qux-date-week-days {\n';
result += " background:".concat(style.tableHeaderBackground, ";\n");
result += " color:".concat(style.tableHeaderColor, ";\n");
result += '}\n\n';
result += selector + ' .qux-date-header {\n';
result += " background:".concat(style.headerBackground, ";\n");
result += " color:".concat(style.headerColor, ";\n");
result += '}\n\n';
if (style.weekendBackground && style.weekendColor) {
result += selector + ' .qux-date-weekend {\n';
result += " background:".concat(style.weekendBackground, ";\n");
result += " color:".concat(style.weekendColor, ";\n");
result += '}\n\n';
}
if (style.weekdayBackground && style.weekdayColor) {
result += selector + ' .qux-date-workday {\n';
result += " background:".concat(style.weekdayBackground, ";\n");
result += " color:".concat(style.weekdayColor, ";\n");
result += '}\n\n';
}
if (widget.props.range) {
result += selector + ' .qux-date-range-start {\n';
result += " background:".concat(style.selectedBackground, ";\n");
result += " color:".concat(style.selectedColor, ";\n");
if (style.itemBorderRadius) {
result += " border-radius:".concat(style.itemBorderRadius, "%;\n");
}
result += '}\n\n';
result += selector + ' .qux-date-range-end {\n';
result += " background:".concat(style.selectedBackground, ";\n");
result += " color:".concat(style.selectedColor, ";\n");
if (style.itemBorderRadius) {
result += " border-radius:".concat(style.itemBorderRadius, "%;\n");
}
result += '}\n\n';
result += selector + ' .qux-date-range-middle {\n';
result += " background:".concat(style.selectedInRangeBackground, ";\n");
result += " color:".concat(style.selectedInRangeColor, ";\n");
if (style.itemBorderRadius) {
result += " border-radius:".concat(style.itemBorderRadius, "%;\n");
}
result += '}\n\n';
} else {
result += selector + ' .qux-date-selected {\n';
result += " background:".concat(style.selectedBackground, ";\n");
result += " color:".concat(style.selectedColor, ";\n");
if (style.itemBorderRadius) {
result += " border-radius:".concat(style.itemBorderRadius, "%;\n");
}
result += '}\n\n';
}
return result;
}
}, {
key: "getCSS_DateDropDown",
value: function getCSS_DateDropDown(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getRawStyle(style, widget);
result += this.cssFactory.getPosition(widget);
result += '}\n\n'; // make sure we have always some focus
result += this.addOpenZIndex(selector);
result += this._addCaret(selector, widget, style);
result += selector + ' .qux-date-picker-popup {\n';
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.borderProperties);
result += " width:".concat(style.fontSize * 18, "px;\n");
result += " height:".concat(style.fontSize * 18, "px;\n");
result += '}\n\n';
result += this.getCSS_Date(selector + " .qux-date-picker-popup", style, widget, true);
return result;
}
}, {
key: "getCSS_Rating",
value: function getCSS_Rating(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget);
result += " color:".concat(style.color, ";\n");
result += " font-size:".concat(widget.h, "px;\n");
result += '}\n\n';
return result;
}
}, {
key: "getCSS_LabeledIconToggle",
value: function getCSS_LabeledIconToggle(selector, style, widget) {
return this.getCSS_IconToggle(selector, style, widget);
}
}, {
key: "getCSS_IconToggle",
value: function getCSS_IconToggle(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget);
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.textProperties);
result += " color:".concat(style.passiveColor, ";\n");
result += " font-size:".concat(style.fontSize, "px;\n");
result += '}\n\n';
result += selector + '.qux-icon-toggle-selected {\n';
result += " color:".concat(style.activeColor, ";\n");
result += '}\n\n';
result += selector + ' .qux-icon {\n';
result += " font-size:".concat(widget.h, "px;\n");
result += '}\n\n';
return result;
}
}, {
key: "getCSS_TypeAheadTextBox",
value: function getCSS_TypeAheadTextBox(selector, style, widget) {
var result = '';
result += selector + ' {\n';
result += this.cssFactory.getPosition(widget);
result += '}\n\n';
result += selector + ' .qux-combo-input {\n';
result += this.cssFactory.getRawStyle(style, widget);
var paddingH = style._paddingLeft + style._paddingRight;
var paddingV = style._paddingTop + style._paddingBottom;
result += " width:calc(100% - ".concat(paddingH, "px);\n");
result += " height:calc(100% - ".concat(paddingV, "px);\n");
result += '}\n\n'; // make sure we have always some focus
result += this.addOpenZIndex(selector);
result += selector + ' .qux-combo-popup {\n';
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.borderProperties);
result += '}\n\n';
result += selector + ' .qux-combo-item {\n';
result += " background:".concat(style.background, ";\n");
result += " color:".concat(style.color, ";\n");
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.paddingProperties);
result += '}\n\n';
result += selector + ' .qux-combo-item:hover,\n';
result += selector + ' .qux-combo-item-selected {\n';
result += " background:".concat(style.selectedOptionBackground, ";\n");
result += this.cssFactory.getStyleByKey(style, widget, this.cssFactory.paddingProperties);
result += " color:".concat(style.selectedOptionColor, ";\n");
result += '}\n\n'; // FIXME: make here a default style for mobile?
if (widget.focus) {
result += selector + ':hover {\n';
result += this.cssFactory.getRawStyle(widget.focus, widget);
result += '}\n\n';
result += this._addCaret(selector + ':hover', widget, widget.focus); //result += selector + ':hover .qux-combo-popup {\n'
//result += this.cssFactory.getStyleByKey(widget.focus, widget, this.cssFactory.borderProperties)
//result += '}\n\n'
}
return result;
}
}, {
key: "getCSS_Image",
value: function getCSS_Image(selector, style, widget) {
return this.factories.Image.run(selector, style, widget);
}
}, {
key: "getCSS_Paging",
value: function getCSS_Paging(selector, style, widget) {
return this.factories.Paging.run(selector, style, widget);
}
}, {
key: "getCSS_Table",
value: function getCSS_Table(selector, style, widget) {
return this.factories.Table.run(selector, style, widget);
}
}, {
key: "addOpenZIndex",
value: function addOpenZIndex(selector) {
var result = '';
result += selector + '.qux-open {\n';
result += " z-index: 1000;\n";
result += '}\n\n';
return result;
}
}]);
return CSSWidgetFactory;
}();
// CONCATENATED MODULE: ./src/qux/core/CSSPosition.js
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; }
function CSSPosition_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function CSSPosition_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 CSSPosition_createClass(Constructor, protoProps, staticProps) { if (protoProps) CSSPosition_defineProperties(Constructor.prototype, protoProps); if (staticProps) CSSPosition_defineProperties(Constructor, staticProps); return Constructor; }
var CSSPosition_CSSPosition = /*#__PURE__*/function () {
function CSSPosition(config, f) {
CSSPosition_classCallCheck(this, CSSPosition);
this.cssFacotory = f;
this.gridAutoErrorThreshold = 5;
this.huggedCanResize = false;
if (config.css) {
this.isForceGrid = config.css.grid;
this.huggedCanResize = config.css.huggedCanResize;
this.justifyContentInWrapper = config.css.justifyContentInWrapper;
this.prefix = config.css.prefix ? config.css.prefix : '';
this.gridAutoErrorThreshold = config.css.gridAutoErrorThreshold ? config.css.gridAutoErrorThreshold : 5;
}
if (config.responsive) {
this.responsive = config.responsive;
}
this.ignoreCorrectWidthAndHeigth = ['CheckBox', 'RadioBox', 'RadioBox2', 'Switch', 'Stepper', 'TypeAheadTextBox', 'Paging', 'Camera'];
this.heightProperties = ['paddingTop', '_paddingTop', 'paddingBottom', '_paddingBottom', 'borderTopWidth', '_borderTopWidth', 'borderBottomWidth', '_borderBottomWidth'];
this.widthProperties = ['paddingLeft', '_paddingLeft', 'paddingRight', '_paddingRight', 'borderLeftWidth', '_borderLeftWidth', 'borderRightWidth', '_borderRightWidth'];
}
CSSPosition_createClass(CSSPosition, [{
key: "getPostion",
value: function getPostion(widget) {
core_Logger.log(3, "CSSPostion.getPostion()" + widget.name, widget.layout);
/**
* Special handling for design systems and fixed stuff
*/
if (isDesignSystemRoot(widget)) {
return this.getDesignSystemPosition(widget);
}
if (hasComponentScreenParent(widget)) {
return this.getComponentScreenPosition(widget);
}
/**
* Normal layout:
* 1) Position in parent
* 2) Set position of childnre
*/
var result = '';
var parent = widget.parent;
result += this.getParentPosition(parent, widget);
result += this.getChildPosition(widget);
return result;
}
}, {
key: "getParentPosition",
value: function getParentPosition(parent, widget) {
if (!parent) {
return this.getParentDefault(widget);
}
if (isFixedPosition(widget)) {
return this.getParentFixed(widget);
}
if (isRepeater(parent)) {
return this.getParentRepeater(widget);
}
if (isLayoutWrap(parent)) {
return this.getParentWrap(widget);
}
if (isLayoutAutoHorizontal(parent)) {
return this.getParentAutoHorizontal(widget);
}
if (isLayoutAutovertical(parent)) {
return this.getParentAutoVertical(widget);
}
if (isLayoutRow(parent)) {
return this.getParentRow(widget);
}
if (isLayoutGrid(parent)) {
return this.getParentGrid(widget);
}
return '';
}
}, {
key: "getChildPosition",
value: function getChildPosition(widget) {
if (!hasChildren(widget)) {
return '/* no children */';
}
if (isRepeater(widget)) {
return this.setChildrenRepeater(widget);
}
if (isLayoutWrap(widget)) {
return this.getChildrenWrap(widget);
}
if (isLayoutAutoHorizontal(widget)) {
return this.getChildrenAutoHorizontal(widget);
}
if (isLayoutAutovertical(widget)) {
return this.getChildrenAutoVertical(widget);
}
if (isLayoutRow(widget)) {
return this.getChildrenRow(widget);
}
if (isLayoutGrid(widget)) {
return this.getChildrenGrid(widget);
}
return '';
}
}, {
key: "getParentDefault",
value: function getParentDefault(widget) {
core_Logger.log(5, "CSSPosition.getParentDefault() >" + widget.name);
var result = '';
if (this.isForceGrid && isScreen(widget)) {
result += " min-height: ".concat(widget.h, "px;\n");
} else {
/**
* This has caused issues with templates and fixed in combination.
* Thus we do not call getPostion for templates anymore.
*/
result += " min-height: 100%;\n";
}
return result;
}
/*********************************************************************
* Auto
*********************************************************************/
}, {
key: "getChildrenAutoHorizontal",
value: function getChildrenAutoHorizontal(widget) {
core_Logger.log(5, "CSSPosition.getChildrenAutoHorizontal() >" + widget.name);
var result = '';
var l = widget.layout;
result += " display: flex;\n";
result += " flex-direction: row;\n";
result += " align-items: ".concat(l.alignItems, ";\n");
result += " justify-content: ".concat(l.justifyContent, ";\n");
if (isWrappedContainer(widget)) {
result += " flex-wrap: wrap;\n";
}
if (!isAutoLayoutSpaceBetween(widget)) {
var gap = l.itemSpacing ? l.itemSpacing : 0;
result += " gap: ".concat(gap, "px;\n");
}
result += " padding-left: ".concat(l.paddingLeft, "px;\n");
result += " padding-right: ".concat(l.paddingRight, "px;\n");
result += " padding-top: ".concat(l.paddingTop, "px;\n");
result += " padding-bottom: ".concat(l.paddingBottom, "px;\n");
return result;
}
}, {
key: "getParentAutoHorizontal",
value: function getParentAutoHorizontal(widget) {
core_Logger.log(5, "CSSPosition.getParentAutoHorizontal() > " + widget.name);
var result = '';
if (isFixedVertical(widget)) {
result += " height: ".concat(this.getCorrectedHeight(widget, true), ";\n");
} else {
result += " min-height: ".concat(this.getCorrectedHeight(widget, true), ";\n");
}
if (hasMinMaxWdith(widget)) {
result += this.getMinMaxWidth(widget, false);
result += " flex-grow: 1;\n";
} else if (ExportUtil_isFixedHorizontal(widget)) {
if (isHugHorizontal(widget)) {//result += ` flex-basis: ${this.getFixedWidth(widget)};\n`
} else {
result += " width: ".concat(this.getFixedWidth(widget), ";\n");
}
} else {
if (isLayoutGrow(widget)) {
result += " flex-basis: ".concat(this.getFixedWidth(widget), "; \n");
result += " flex-grow: 1;\n";
} else {
result += " width: ".concat(this.getResponsiveWidth(widget), ";\n");
}
}
return result;
}
}, {
key: "getChildrenAutoVertical",
value: function getChildrenAutoVertical(widget) {
core_Logger.log(3, "CSSPosition.getChildrenAutoVertical()" + widget.name);
var result = '';
var l = widget.layout;
result += " display: flex;\n";
result += " flex-direction: column;\n";
result += " align-items: ".concat(l.alignItems, ";\n");
result += " justify-content: ".concat(l.justifyContent, ";\n");
var gap = l.itemSpacing ? l.itemSpacing : 0;
result += " gap: ".concat(gap, "px;\n");
result += " padding-left: ".concat(l.paddingLeft, "px;\n");
result += " padding-right: ".concat(l.paddingRight, "px;\n");
result += " padding-top: ".concat(l.paddingTop, "px;\n");
result += " padding-bottom: ".concat(l.paddingBottom, "px;\n");
return result;
}
}, {
key: "getParentAutoVertical",
value: function getParentAutoVertical(widget) {
core_Logger.log(3, "CSSPosition.getParentAutovertical()" + widget.name);
var result = '';
if (isLayoutGrow(widget)) {
result += " min-height: ".concat(this.getCorrectedHeight(widget, true), ";\n");
result += " flex-grow: 1;\n";
} else {
result += " height: ".concat(this.getCorrectedHeight(widget, true), ";\n");
}
/**
* In a vertical layout we might have a strech property. This translates to width 100%
*/
if (ExportUtil_isFixedHorizontal(widget)) {
result += " width: ".concat(this.getFixedWidth(widget), ";\n");
} else {
/**
* If we have an auto alout, we use calc.
*/
if (widget.layout && widget.layout.paddingLeft >= 0 && widget.layout.paddingRight >= 0) {
var l = widget.layout;
var paddingHorizontal = l.paddingLeft + l.paddingRight;
result += " width: calc(100% - ".concat(paddingHorizontal, "px);\n");
} else {
result += " width: 100%;\n"; // result += ` box-sizing: border-box;\n` // FIXME: this can also have some effect rows
}
}
return result;
}
/*********************************************************************
* Grid
*********************************************************************/
}, {
key: "getChildrenGrid",
value: function getChildrenGrid(widget) {
core_Logger.log(3, "CSSPosition.getChildrenGrid()" + widget.name);
var result = '';
result += " display: grid;\n";
result += " grid-template-columns: " + this.getGridColumnTracks(widget.w, widget.grid.columns, widget) + ";\n";
result += " grid-template-rows: " + this.getGridRowTracks(widget.h, widget.grid.rows, widget, true) + ";\n";
return result;
}
}, {
key: "getParentGrid",
value: function getParentGrid(widget) {
core_Logger.log(3, "CSSPosition.getParentGrid()" + widget.name);
var result = '';
result += " grid-column-start: ".concat(widget.gridColumnStart + 1, ";\n");
result += " grid-column-end: ".concat(widget.gridColumnEnd + 1, ";\n");
result += " grid-row-start: ".concat(widget.gridRowStart + 1, ";\n");
result += " grid-row-end: ".concat(widget.gridRowEnd + 1, ";\n");
if (widget.z) {
result += " z-index: ".concat(widget.z, ";\n");
}
return result;
}
/**
* Returns the tracks for the grid. It makes sure the biggest element
* is auto, so the grid is responsive... we could also use minmax()
*/
}, {
key: "getGridColumnTracks",
value: function getGridColumnTracks(total, list) {
var _this = this;
core_Logger.log(6, "CSSPosition.getGridColumnTracks() > ", list);
if (list) {
/**
* We get the max not fixed. Still we would
* need to make sure we get the fixed stuff
*/
var notFixed = list.filter(function (i) {
return !i.fixed;
});
if (notFixed.length === 0) {
notFixed = list;
}
var max = Math.max.apply(Math, _toConsumableArray(notFixed.map(function (i) {
return i.l;
})));
return list.map(function (i) {
/**
* Fixed has priority. For rows we have always fixed...
*/
if (i.fixed) {
return i.l + "px";
}
/**
* We might want several autos. This is very sensitive
* to small changes in the editor. Therefore we give a
* small error margin. Use minmax to prevent blowout
* https://css-tricks.com/preventing-a-grid-blowout/
*/
if (Math.abs(max - i.l) <= _this.gridAutoErrorThreshold) {
// max === i.l
/**
* FIXME: If we have a min max , we use max-content, but only of there
* is more than one column! Otherwise the resizing will not work
* correctly!
*/
// if (i.hasMinMax && list.length > 1) {
// return "minmax(0,max-content)" //'1fr'
// } else {
// return "minmax(0,1fr)" //'1fr'
// }
return "minmax(0,1fr)";
}
return Math.round(i.l * 1000 / total) / 10 + "%";
}).join(" ");
}
}
}, {
key: "getGridRowTracks",
value: function getGridRowTracks(total, rows) {
core_Logger.log(6, "CSSPosition.getGridRowTracks() > ", rows);
if (rows) {
return rows.map(function (row, index) {
/**
* The last row will be free space, if it is
* not fixed
*/
if (!row.fixed && index === rows.length - 1) {
return "1fr";
}
/**
* Fixed rows or spacer (no element starts here, or first)
* rows have a fixed size. Everything else is minmax
*/
if (row.fixed || row.start.length === 0 || index === 0) {
return Math.round(row.l) + "px";
}
return "minmax(".concat(Math.round(row.l), "px, auto)");
}).join(" ");
}
}
/*********************************************************************
* Fixed Position
*********************************************************************/
}, {
key: "getParentFixed",
value: function getParentFixed(widget) {
var result = " position: fixed;\n";
if (this.isFixedHorizontal(widget)) {
result += " width: ".concat(this.getFixedWidth(widget), ";\n");
} else {
result += " width: ".concat(this.getResponsiveWidth(widget), ";\n");
}
if (ExportUtil_isPinnedLeft(widget)) {
result += " left: ".concat(this.getPinnedLeft(widget), ";\n");
} else if (ExportUtil_isPinnedRight(widget)) {
result += " right: ".concat(this.getPinnedRight(widget), ";\n");
} else {
result += " left: ".concat(this.getResponsiveLeft(widget), ";\n");
}
if (isPinnedDown(widget) && isPinnedUp(widget)) {
result += " bottom: ".concat(widget.bottom, "px;\n");
result += " top: ".concat(widget.y, "px;\n");
} else if (isPinnedDown(widget)) {
result += " bottom: ".concat(widget.bottom, "px;\n");
result += " height: ".concat(this.getCorrectedHeight(widget), ";\n");
} else {
result += " top: ".concat(widget.y, "px;\n");
result += " height: ".concat(this.getCorrectedHeight(widget), ";\n");
}
return result;
}
/*********************************************************************
* Wrapped
*********************************************************************/
}, {
key: "getParentWrap",
value: function getParentWrap(widget) {
core_Logger.log(3, "CSSPosition.getParentWrap()" + widget.name);
var result = "";
/**
* For wrapped we just add margins
*/
result += " min-height: ".concat(this.getWrappedHeight(widget), ";\n");
result += this.getWrappedWidth(widget);
if (widget.wrapOffSetBottom && widget.wrapOffSetRight && !this.justifyContentInWrapper) {
result += " margin-bottom: ".concat(widget.wrapOffSetBottom, "px ;\n");
result += " margin-right: ".concat(widget.wrapOffSetRight, "px ;\n");
} else {
result += " margin: ".concat(widget.wrapOffSetY, "px ").concat(widget.wrapOffSetX, "px;\n");
}
return result;
}
}, {
key: "getChildrenWrap",
value: function getChildrenWrap(widget) {
core_Logger.log(4, "CSSPosition.getChildrenWrap() " + widget.name);
var result = "";
result += " display: flex;\n";
result += " flex-direction: row;\n";
result += " flex-wrap: wrap;\n";
result += " align-items: flex-start;\n";
result += " align-content: flex-start;\n";
/**
* FIXME:This hsould be configured in the UI
*/
if (this.justifyContentInWrapper) {
result += " justify-content: space-between;\n";
}
return result;
}
}, {
key: "getWrappedHeight",
value: function getWrappedHeight(widget) {
return this.getCorrectedHeight(widget);
}
}, {
key: "getWrappedWidth",
value: function getWrappedWidth(widget) {
core_Logger.log(5, "CSSPosition.getWrappedWidth() " + widget.name, hasMinMaxWdith(widget));
if (hasMinMaxWdith(widget)) {
return this.getMinMaxWidth(widget, true);
}
if (this.isFixedHorizontal(widget)) {
return " width: ".concat(this.getFixedWidth(widget), ";\n");
}
return " width: ".concat(this.getResponsiveWidth(widget), ";\n");
}
/*********************************************************************
* Repeater
*********************************************************************/
}, {
key: "getParentRepeater",
value: function getParentRepeater(widget) {
core_Logger.log(5, "CSSPosition.getParentRepeater() " + widget.name);
var result = "";
if (isFixedVertical(widget)) {
result += " height: ".concat(this.getCorrectedHeight(widget, true), ";\n");
} else {
result += " min-height: ".concat(this.getCorrectedHeight(widget, true), ";\n");
result += " height: 100%;\n";
} // Take the border of the child out!
result += " width: calc(100% - ".concat(this.getLeftRightBorder(widget), "px);\n");
return result;
}
}, {
key: "getLeftRightBorder",
value: function getLeftRightBorder(widget) {
var result = 0;
if (widget.style) {
this.widthProperties.forEach(function (key) {
if (widget.style[key]) {
result += widget.style[key];
}
});
}
return result;
}
}, {
key: "setChildrenRepeater",
value: function setChildrenRepeater(widget) {
core_Logger.log(5, "CSSPosition.setChildrenRepeater() " + widget.name);
/**
* First check of we have an auto layout
*/
if (isLayoutAutoHorizontal(widget)) {
return this.getChildrenAutoHorizontal(widget);
}
if (isLayoutAutovertical(widget)) {
return this.getChildrenAutoVertical(widget);
}
/**
* Otherwise return standard grid or row style
*/
var result = "";
if (isRepeaterGrid(widget)) {
result += " display: flex;\n";
result += " flex-direction: row;\n";
result += " flex-wrap: wrap;\n";
result += " align-items: flex-start;\n";
result += " align-content: flex-start;\n";
if (isRepeaterAuto(widget)) {
result += " justify-content: space-between;\n";
}
} else {
result += " display: flex;\n";
result += " flex-direction: column;\n";
}
return result;
}
/*********************************************************************
* Rows
*********************************************************************/
}, {
key: "getChildrenRow",
value: function getChildrenRow() {
var result = "";
result += " display: flex;\n";
result += " flex-direction: column;\n";
return result;
}
}, {
key: "getParentRow",
value: function getParentRow(widget) {
core_Logger.log(5, "CSSPosition.getParentRow() " + widget.name, widget.props);
var result = "";
result += this.getParentRowHorizontal(widget);
result += this.getParentRowVertical(widget);
return result;
}
}, {
key: "getParentRowVertical",
value: function getParentRowVertical(widget) {
var result = "";
if (isFixedVertical(widget)) {
result += " height: ".concat(this.getCorrectedHeight(widget, true), ";\n");
} else {
result += " min-height: ".concat(this.getCorrectedHeight(widget, true), ";\n");
}
result += " margin-top: ".concat(this.getPinnedTop(widget), ";\n");
return result;
}
}, {
key: "getParentRowHorizontal",
value: function getParentRowHorizontal(widget) {
/**
* Stronged constraint is left and right pinned!
*/
if (this.isPinnedLeft(widget) && this.isPinnedRight(widget)) {
return this.getParentRowPinnedBoth(widget);
}
/**
* Second constraint is centered!
*/
if (isCentered(widget)) {
return this.getParentRowCenter(widget);
}
if (this.isPinnedLeft(widget)) {
return this.getParentRowPinnedLeft(widget);
}
if (this.isPinnedRight(widget)) {
return this.getParentRowPinneRight(widget);
}
/**
* Default is more or less quant-ux standard
*/
return this.getParentRowPinnedNone(widget);
}
}, {
key: "getParentRowCenter",
value: function getParentRowCenter(widget) {
var result = '';
if (hasMinMaxWdith(widget)) {
result += this.getMinMaxWidth(widget, true);
} else if (ExportUtil_isFixedHorizontal(widget)) {
result += " width: ".concat(this.getFixedWidth(widget), ";\n");
} else {
result += " width: ".concat(this.getResponsiveWidth(widget), ";\n");
}
result += " margin-left: auto;\n";
result += " margin-right: auto;\n";
return result;
}
}, {
key: "getParentRowPinnedBoth",
value: function getParentRowPinnedBoth(widget) {
var result = "";
result += " margin-left: ".concat(this.getPinnedLeft(widget), ";\n");
result += " margin-right: ".concat(this.getPinnedRight(widget), ";\n");
return result;
}
}, {
key: "getParentRowPinnedLeft",
value: function getParentRowPinnedLeft(widget) {
var result = "";
if (this.isFixedHorizontal(widget)) {
result += " width: ".concat(this.getFixedWidth(widget), ";\n");
result += " margin-left: ".concat(this.getPinnedLeft(widget), ";\n");
} else {
result += " margin-right: ".concat(this.getResponsiveRight(widget), ";\n");
result += " margin-left: ".concat(this.getPinnedLeft(widget), ";\n");
}
return result;
}
}, {
key: "getParentRowPinneRight",
value: function getParentRowPinneRight(widget) {
var result = "";
/**
* This is a tricky one.
*/
if (this.isFixedHorizontal(widget)) {
result += " width: ".concat(this.getFixedWidth(widget), ";\n");
result += " margin-left: ".concat(this.getCalcLeft(widget), ";\n");
} else {
/**
* TODO: can we use somehow a reposnive calculated left?
*/
result += " margin-left: ".concat(this.getResponsiveLeft(widget), ";\n");
result += " margin-right: ".concat(this.getPinnedRight(widget), ";\n");
}
return result;
}
}, {
key: "getParentRowPinnedNone",
value: function getParentRowPinnedNone(widget) {
var result = "";
/**
* Nothing is pinned.
* We are in a rowGrid, this means the widget is alone. Therefore
* we can set the margin left and right and not the width.
*/
if (this.isFixedHorizontal(widget)) {
/**
* FIXME: This branch should be dead. We catch this before!
*/
if (isCentered(widget)) {
result += " width: ".concat(this.getFixedWidth(widget), ";\n");
result += " margin-left: auto;\n";
result += " margin-right: auto;\n";
} else {
result += " width: ".concat(this.getFixedWidth(widget), ";\n");
result += " margin-left: ".concat(this.getResponsiveLeft(widget), ";\n");
}
} else if (hasMinMaxWdith(widget) && isCentered(widget)) {
/**
* If we have min max and center we will use minmax with relative width
*/
result += this.getMinMaxWidth(widget, true);
result += " margin-left: auto;\n";
result += " margin-right: auto;\n";
} else {
result += " margin-right: ".concat(this.getResponsiveRight(widget), ";\n");
result += " margin-left: ".concat(this.getResponsiveLeft(widget), ";\n");
}
return result;
}
/*********************************************************************
* Design System
*********************************************************************/
}, {
key: "getDesignSystemPosition",
value: function getDesignSystemPosition(widget) {
core_Logger.log(3, "CSSPosition.getDesignSystemPosition()" + widget.name, widget);
var result = "";
/**
* ComponentSet are just placed as block or inline block. The child will
* determine the size. This will happen the ComponenSetCSS.js file
* TODO factor this out...
*/
if (isComponentSet(widget)) {
if (isBlock(widget)) {
result += " display:block;\n";
} else {
result += " display:inline-block;\n";
}
} else {
/**
* For all other components we set (inline)grid or block,
* with and height and a grid of needed-
*/
if (this.isGrid(widget)) {
if (isBlock(widget)) {
result += " display:grid;\n";
} else {
result += " display:inline-grid;\n";
}
} else if (isBlock(widget)) {
result += " display:block;\n";
} else {
result += " display:inline-block;\n";
}
/**
* For wrapped we just add margins
*/
if (ExportUtil_isFixedHorizontal(widget)) {
result += " width: ".concat(this.getCorrectedWidth(widget), ";\n");
} else if (hasMinMaxWdith(widget)) {
result += this.getMinMaxWidth(widget, false);
} else {
result += " width: auto;\n";
}
if (isFixedVertical(widget)) {
result += " height: ".concat(this.getCorrectedHeight(widget), ";\n");
} else {
result += " min-height: ".concat(this.getCorrectedHeight(widget), ";\n");
}
if (hasChildren(widget)) {
if (isLayoutGrid(widget)) {
core_Logger.log(3, "CSSPosition.getComponentScreenPosition() > add grid" + widget.name);
result += " grid-template-columns: " + this.getGridColumnTracks(widget.w, widget.grid.columns, widget) + ";\n";
result += " grid-template-rows: " + this.getGridRowTracks(widget.h, widget.grid.rows, widget) + ";\n";
} else {
result += " display: flex;\n";
result += " flex-direction: column;\n";
}
}
}
return result;
}
}, {
key: "getMinMaxWidth",
value: function getMinMaxWidth(widget) {
var isWrapped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var result = "";
if (widget.style && widget.style.minWidth) {
result += " min-width: ".concat(widget.style.minWidth, "px;\n");
}
if (widget.style && widget.style.maxWidth) {
result += " max-width: ".concat(widget.style.maxWidth, "px;\n");
}
/**
* We need to make sure that we also include the reponsive with,
* to make it 'push' outwards
*/
if (isWrapped) {
result += " width: ".concat(this.getResponsiveWidth(widget), ";\n");
}
return result;
}
}, {
key: "isInlineBlock",
value: function isInlineBlock(widget) {
return widget.qtype !== 'qContainer';
}
}, {
key: "isGrid",
value: function isGrid(widget) {
return isLayoutGrid(widget) && hasChildren(widget);
}
/*********************************************************************
* Child of component screen
*********************************************************************/
}, {
key: "getComponentScreenPosition",
value: function getComponentScreenPosition(widget) {
core_Logger.log(3, "CSSPosition.getComponentScreenPosition()" + widget.name);
var result = "";
/**
* For wrapped we just add margins
*/
result += " height:100%;\n";
result += " width: 100%;\n";
/**
* FIXME: Add here check for
*/
if (isLayoutGrid(widget)) {
core_Logger.log(-1, "CSSPosition.getComponentScreenPosition() > add grid" + widget.name);
result += " display: grid;\n";
result += " grid-template-columns: " + this.getGridColumnTracks(widget.w, widget.grid.columns, widget) + ";\n";
result += " grid-template-rows: " + this.getGridRowTracks(widget.h, widget.grid.rows, widget) + ";\n";
}
return result;
}
/*********************************************************************
* Position Helpers
*********************************************************************/
}, {
key: "isPinnedLeft",
value: function isPinnedLeft(widget) {
return ExportUtil_isPinnedLeft(widget);
}
}, {
key: "isPinnedRight",
value: function isPinnedRight(widget) {
return ExportUtil_isPinnedRight(widget);
}
}, {
key: "getPinnedBottom",
value: function getPinnedBottom(widget) {
if (widget.parent) {
var parent = widget.parent;
var innerHeight = parent.children.map(function (c) {
// grid has top
if (c.top != undefined) {
return c.h + c.top;
}
return c.h + c.y;
}).reduce(function (a, b) {
return a + b;
}, 0);
return Math.max(0, parent.h - innerHeight) + "px";
}
return "auto";
}
}, {
key: "getFixedWidth",
value: function getFixedWidth(widget) {
if (isFullWidth(widget)) {
return "100%";
}
return this.getCorrectedWidth(widget);
}
}, {
key: "getFixedTop",
value: function getFixedTop(widget) {
return widget.y + "px";
}
}, {
key: "getPinnedTop",
value: function getPinnedTop(widget) {
return widget.top + "px";
}
}, {
key: "getCalcLeft",
value: function getCalcLeft(widget) {
if (widget.parent) {
var right = widget.parent.w - (widget.x + widget.w);
return "calc(100% - ".concat(widget.w + right, "px)");
}
return "0px";
}
}, {
key: "getResponsiveLeft",
value: function getResponsiveLeft(widget) {
if (widget.parent) {
return Math.round(widget.x * 100 / widget.parent.w) + "%";
}
return widget.x + "px";
}
}, {
key: "getResponsiveRight",
value: function getResponsiveRight(widget) {
if (widget.parent) {
var right = widget.parent.w - (widget.x + widget.w);
return Math.round(right * 100 / widget.parent.w) + "%";
}
return widget.x + "px";
}
}, {
key: "getPinnedLeft",
value: function getPinnedLeft(widget) {
return widget.x + "px";
}
}, {
key: "getPinnedRight",
value: function getPinnedRight(widget) {
if (widget.parent) {
if (widget.absX) {
return widget.parent.w - (widget.absX + widget.w) + "px";
} else {
return widget.parent.w - (widget.x + widget.w) + "px";
}
}
return "0px";
}
}, {
key: "getResponsiveWidth",
value: function getResponsiveWidth(widget) {
if (widget.parent) {
/**
* What about border...
*/
return Math.round(widget.w * 100 / widget.parent.w) + "%";
}
core_Logger.warn("CSSPosition.getResponsiveWidth() > No parent! " + widget.name);
return "100%";
}
}, {
key: "getFixedHeight",
value: function getFixedHeight(widget) {
return widget.h + "px";
}
}, {
key: "getCorrectedHeight",
value: function getCorrectedHeight(widget) {
var isPosition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var h = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1;
if (h < 0) {
h = widget.h;
}
/**
* when we are positioning, we only sustract
* for certain widgets
*/
if (isPosition && this.ignoreCorrectWidthAndHeigth.indexOf(widget.type) >= 0) {
return h + "px";
}
this.heightProperties.forEach(function (key) {
if (widget.style[key]) {
h -= widget.style[key];
}
});
/**
* For auto layouts we have the padding in the layout
*/
if (isLayoutAuto(widget)) {
h -= widget.layout.paddingTop;
h -= widget.layout.paddingBottom;
}
/**
* For templated widgets, we need to also check for
* template padings. Also check for '_padding' and so...
*/
if (widget._template) {
var template = widget._template;
this.heightProperties.forEach(function (key) {
if (template.style[key] && !widget.style[key] && !widget.style['_' + key]) {
h -= template.style[key];
}
});
}
return h + "px";
}
}, {
key: "getCorrectedWidth",
value: function getCorrectedWidth(widget) {
var isPosition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var w = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1;
if (w < 0) {
w = widget.w;
}
if (isPosition && this.ignoreCorrectWidthAndHeigth.indexOf(widget.type) >= 0) {
return w + "px";
}
/**
* For auto layouts we have the padding in the layout
*/
if (isLayoutAuto(widget)) {
w -= widget.layout.paddingLeft;
w -= widget.layout.paddingRight;
}
this.widthProperties.forEach(function (key) {
if (widget.style[key]) {
w -= widget.style[key];
}
});
return w + "px";
}
}, {
key: "isFixedHorizontal",
value: function isFixedHorizontal(widget) {
return ExportUtil_isFixedHorizontal(widget);
}
}, {
key: "getSiblings",
value: function getSiblings(widget) {
if (widget.parent && widget.parent.children) {
return widget.parent && widget.parent.children;
}
return [];
}
}]);
return CSSPosition;
}();
// CONCATENATED MODULE: ./src/qux/core/CSSFactory.js
function CSSFactory_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function CSSFactory_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 CSSFactory_createClass(Constructor, protoProps, staticProps) { if (protoProps) CSSFactory_defineProperties(Constructor.prototype, protoProps); if (staticProps) CSSFactory_defineProperties(Constructor, staticProps); return Constructor; }
var CSSFactory_CSSFactory = /*#__PURE__*/function () {
function CSSFactory() {
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var imagePrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
CSSFactory_classCallCheck(this, CSSFactory);
core_Logger.log(4, 'CSSFactory.constructor() ', config);
this.marginWhiteSpaceCorrect = 0;
this.imagePrefix = imagePrefix;
this.hoverEmbeddedLabel = false;
this.responsive = {
mobile: {
min: 0,
max: 400
},
tablet: {
min: 401,
max: 1000
},
desktop: {
min: 1201,
max: 1000000
}
};
if (config.css) {
this.prefix = config.css.prefix ? config.css.prefix : '';
}
if (config.responsive) {
this.responsive = config.responsive;
}
if (config.css && config.css.hoverEmbeddedLabel) {
this.hoverEmbeddedLabel = config.css.hoverEmbeddedLabel;
}
this.mapping = {
"color": "color",
"textAlign": "text-align",
"fontFamily": "font-family",
"fontSize": "font-size",
"fontStyle": "font-style",
"fontWeight": "font-weight",
"letterSpacing": "letter-spacing",
"lineHeight": "line-height",
"lineHeightPX": "line-height",
"textTransform": "text-transform",
"border": "border",
"borderWidth": "border-width",
"borderStyle": "border-style",
"borderColor": "border-color",
"borderRadius": "border-radius",
"borderLeft": "border-left",
"borderRight": "border-right",
"borderTop": "border-top",
"borderBottom": "border-bottom",
"borderBottomColor": "border-bottom-color",
"borderTopColor": "border-top-color",
"borderLeftColor": "border-left-color",
"borderRightColor": "border-right-color",
"borderBottomLeftRadius": "border-bottom-left-radius",
"borderTopLeftRadius": "border-top-left-radius",
"borderBottomRightRadius": "border-bottom-right-radius",
"borderTopRightRadius": "border-top-right-radius",
"borderBottomWidth": "border-bottom-width",
"borderTopWidth": "border-top-width",
"borderLeftWidth": "border-left-width",
"borderRightWidth": "border-right-width",
"borderTopStyle": "border-top-style",
"borderBottomStyle": "border-bottom-style",
"borderRightStyle": "border-left-style",
"borderLeftStyle": "border-right-style",
"paddingBottom": "padding-bottom",
"paddingLeft": "padding-left",
"paddingRight": "padding-right",
"paddingTop": "padding-top",
"padding": "padding",
//"marginBottom" : "margin-bottom",
//"marginLeft" : "margin-left",
//"marginRight" : "margin-right",
//"marginTop": "margin-top",
"textDecoration": "text-decoration",
"boxShadow": "box-shadow",
"textShadow": "text-shadow",
"opacity": "opacity",
"cursor": "cursor"
};
this.paddingProperties = ["paddingBottom", "paddingLeft", "paddingRight", "paddingTop", "padding"];
this.borderProperties = ['borderWidth', 'border', 'borderRadius', 'boderColor', 'borderBottomColor', 'borderTopColor', 'borderLeftColor', 'borderRightColor', 'borderTopStyle', 'borderBottomStyle', 'borderRightStyle', 'borderLeftStyle', 'borderBottomWidth', 'borderTopWidth', 'borderLeftWidth', 'borderRightWidth', 'borderBottomLeftRadius', 'borderTopLeftRadius', 'borderBottomRightRadius', 'borderTopRightRadius'];
this.borderColorProperties = ['borderBottomColor', 'borderTopColor', 'borderLeftColor', 'borderRightColor'];
this.borderWidthProperties = ['borderBottomWidth', 'borderTopWidth', 'borderLeftWidth', 'borderRightWidth'];
this.borderStyleProperties = ['borderTopStyle', 'borderBottomStyle', 'borderRightStyle', 'borderLeftStyle'];
this.borderRadiusProperties = ['borderBottomLeftRadius', 'borderTopLeftRadius', 'borderBottomRightRadius', 'borderTopRightRadius'];
this.textProperties = ['color', 'textDecoration', 'textAlign', 'fontFamily', 'fontSize', 'fontStyle', 'fontWeight', 'letterSpacing', 'lineHeight', 'lineHeightPX'];
this.isPixel = {
"borderBottomLeftRadius": true,
"borderBottomRightRadius": true,
"borderTopRightRadius": true,
"borderTopLeftRadius": true,
"borderBottomWidth": true,
"borderLeftWidth": true,
"borderTopWidth": true,
"borderRightWidth": true,
"paddingBottom": true,
"paddingLeft": true,
"paddingRight": true,
"paddingTop": true,
"fontSize": true,
"letterSpacing": true,
"lineHeightPX": true
};
this.easingMapping = {
'easeInQuad': 'ease-in',
'easeOutQuad': 'ease-out',
'linear': 'linear',
'easeInOutQuad': 'ease-in-out',
'easeElasticIn': 'ease-in',
'easeElasticOut': 'ease-out',
'easeBounceIn': 'ease-in',
'easeBounceOut': 'ease-out'
};
this.fontProperties = ['color', 'fontSize', 'fontWeight', 'textAlign', 'fontStyle', 'letterSpacing', 'lineHeight']; //this.isAlwaysFixedHorizontal = ['Switch', 'Stepper']
this.widgetFactory = new CSSWidgetFactory_CSSWidgetFactory(this);
this.positionFactory = new CSSPosition_CSSPosition(config, this);
}
CSSFactory_createClass(CSSFactory, [{
key: "generate",
value: function generate(model) {
var _this = this;
var start = new Date().getTime();
var result = {};
/**
* Generate the template styles
*/
model.templates.forEach(function (t) {
if (t.style) {
var style = {
type: 'template',
css: t.cssSelector,
global: true,
code: _this.getTemplateCSS(t, null, false)
};
result[t.id] = [style];
}
});
/**
* Generate styles for each screen. The templates styles
* might here be reused!
*/
model.screens.forEach(function (screen) {
result[screen.id] = [];
result[screen.id].push({
type: 'screen',
css: screen.cssSelector,
global: false,
code: _this.getCSS(screen)
});
screen.children.forEach(function (child) {
_this.generateElement(child, result, screen);
});
screen.fixedChildren.forEach(function (child) {
_this.generateElement(child, result, screen);
});
});
/**
* Add some normalizer styles
*/
result['$NORMALIZE'] = [];
result['$NORMALIZE'].push({
type: 'screen',
css: '',
global: true,
code: this.getGlobalStyles()
});
var end = new Date().getTime();
core_Logger.log(1, 'CSSFactory.generate() > took ', end - start);
return result;
}
}, {
key: "getGlobalStyles",
value: function getGlobalStyles() {
var result = '';
result += "body {\n margin:0px;\n font-family:'Source Sans Pro', 'Helvetica Neue', 'Helvetica', sans-serif;\n}\n\n";
result += "div {\n margin:0px;\n}\n\n";
return result;
}
}, {
key: "generateDesignSystemRoot",
value: function generateDesignSystemRoot(node) {
var _this2 = this;
var result = {};
var style = {
type: 'template',
css: node.cssSelector,
global: true,
code: this.getCSS(node, null, false)
};
result[node.id] = [style];
if (node.children) {
node.children.forEach(function (child) {
_this2.generateElement(child, result, screen);
});
} // add something like inlibe block, and fexl with if no children
// generate rest like usual
return result;
}
}, {
key: "generateElement",
value: function generateElement(node, result, screen) {
var _this3 = this;
result[node.id] = [];
result[node.id].push({
type: 'widget',
css: node.cssSelector,
global: false,
code: this.getCSS(node, screen),
inherited: node.inherited,
inheritedScreen: node.inheritedScreen
});
if (node.children) {
node.children.forEach(function (child) {
_this3.generateElement(child, result, screen);
});
}
}
}, {
key: "getRaw",
value: function getRaw(model, selectedWidgets) {
var result = "";
for (var i = 0; i < selectedWidgets.length; i++) {
var id = selectedWidgets[i];
var widget = model.widgets[id];
if (widget) {
result += this.getCSS(widget, null, false);
} else {
this.logger.warn("getRaw", "No widget with id > " + widget);
}
}
return result;
}
}, {
key: "getSelector",
value: function getSelector(widget) {
return widget.cssSelector;
}
}, {
key: "getName",
value: function getName(box) {
var name = box.name.replace(/\s+/g, '_');
if (box.inherited) {
name += '_Master';
}
if (this.prefix) {
name = "".concat(this.prefix, "_").concat(name);
}
return name;
}
}, {
key: "getTemplateCSS",
value: function getTemplateCSS(widget, screen) {
var result = "";
var style = widget.style;
style = fixAutos(style, widget);
var selector = this.getSelector(widget, screen);
if (this.widgetFactory['getCSS_' + widget.type]) {
result += this.widgetFactory['getCSS_' + widget.type](selector, widget.style, widget);
} else {
/**
* Add normal css
*/
result += selector + ' {\n';
result += this.getRawStyle(style, widget);
result += '}\n\n';
if (widget.hover) {
result += selector + ':hover {\n';
result += ' transition: all 0.2s;\n';
result += this.getRawStyle(widget.hover, widget);
result += '}\n\n';
}
if (widget.focus) {
result += selector + ':focus {\n';
result += this.getRawStyle(widget.focus, widget);
result += '}\n\n';
}
if (widget.error) {
result += selector + ':invalid {\n';
result += this.getRawStyle(widget.error, widget);
result += '}\n\n';
}
if (widget.active) {
result += selector + '.qux-active {\n';
result += this.getRawStyle(widget.active, widget);
result += '}\n\n';
}
if (isInputElement(widget)) {
result += selector + '::placeholder {\n';
result += " color: ".concat(this.getPlaceHolderColor(style.color), ";\n");
result += '}\n\n';
}
}
return result;
}
}, {
key: "getCSS",
value: function getCSS(widget, screen) {
var result = "";
var style = widget.style;
style = fixAutos(style, widget);
var selector = this.getSelector(widget, screen);
if (this.widgetFactory['getCSS_' + widget.type]) {
result += this.widgetFactory['getCSS_' + widget.type](selector, widget.style, widget);
} else if (widget.isCustomComponent) {
/**
* For custom components we just set the position!
*/
result += selector + ' {\n';
result += this.getPosition(widget);
result += '}\n\n';
} else {
/**
* Add normal css
*/
result += selector + ' {\n';
result += this.getRawStyle(style, widget);
result += this.getPosition(widget);
result += '}\n\n';
if (widget.hover) {
result += selector + ':hover {\n';
result += ' transition: all 0.2s;\n';
result += this.getRawStyle(widget.hover, widget);
result += '}\n\n';
/**
* We want to functionality only for Figma
*/
if (this.hoverEmbeddedLabel) {
result += selector + ':hover .qux-common-label {\n';
result += this.getStyleByKey(widget.hover, widget, this.textProperties);
result += '}\n\n';
}
}
if (widget.focus) {
result += selector + ':focus {\n';
result += this.getRawStyle(widget.focus, widget);
result += '}\n\n';
}
if (widget.error) {
result += selector + ':invalid {\n';
result += this.getRawStyle(widget.error, widget);
result += '}\n\n';
}
if (widget.active) {
result += selector + '.qux-active {\n';
result += this.getRawStyle(widget.active, widget);
result += '}\n\n';
}
if (isInputElement(widget)) {
result += selector + '::placeholder {\n';
result += " color: ".concat(this.getPlaceHolderColor(style.color), ";\n");
result += '}\n\n';
}
}
/**
* Break points
*/
result += this.getBreakpoints(selector, widget);
/**
* Animation
*/
if (screen && screen.animation && screen.animation.ScreenLoaded) {
var animation = screen.animation.ScreenLoaded;
if (widget.id in animation.widgets) {
var widgetAnimation = animation.widgets[widget.id];
if (widgetAnimation) {
result += this.getAnimation(widgetAnimation, selector, widget, screen);
}
}
if (widget.isGroup && widget.groupId in animation.groups) {
var groupAnimation = animation.groups[widget.groupId];
if (groupAnimation) {
result += this.getAnimation(groupAnimation, selector, widget, screen);
}
}
}
return result;
}
}, {
key: "getBreakpoints",
value: function getBreakpoints(selector, widget) {
var result = '';
if (widget.props.breakpoints) {
core_Logger.log(-1, 'CSSFactory.getBreakpoints()', widget.name);
var breakpoints = widget.props.breakpoints;
/**
* Assume at leats one is true
*/
if (!breakpoints.mobile) {
result += "@media only screen and (min-width: ".concat(this.responsive.mobile.min, "px) and (max-width: ").concat(this.responsive.mobile.max, "px) {\n");
result += " ".concat(selector, " {\n");
result += ' display: none;\n';
result += ' }\n';
result += '}\n\n';
}
if (!breakpoints.tablet) {
result += "@media only screen and (min-width: ".concat(this.responsive.tablet.min, "px) and (max-width: ").concat(this.responsive.tablet.max, "px) {\n");
result += " ".concat(selector, " {\n");
result += ' display: none;\n';
result += ' }\n';
result += '}\n\n';
}
if (!breakpoints.desktop) {
result += "@media only screen and (min-width: ".concat(this.responsive.desktop.min, "px) and (max-width: ").concat(this.responsive.desktop.max, "px) {\n");
result += " ".concat(selector, " {\n");
result += ' display: none;\n';
result += ' }\n';
result += '}\n\n';
}
}
return result;
}
}, {
key: "getAnimation",
value: function getAnimation(animation, selector, widget) {
var result = '';
var total = animation.delay + animation.duration;
var delay = Math.round(animation.delay / total * 100);
var animId = "".concat(widget.id, "-anim-load");
var easing = animation.easing ? this.getEasing(animation.easing) : 'linear';
if (animation.type === 'fadeIn') {
result += "@keyframes ".concat(animId, "{\n");
result += ' 0% { opacity:0; }\n';
result += " ".concat(delay, "% { opacity: 0;}\n");
result += " 100% { opacity: 1;}\n";
result += '}\n\n';
}
if (animation.type === 'fadeOut') {
result += "@keyframes ".concat(animId, "{\n");
result += ' 0% { opacity:1; }\n';
result += " ".concat(delay, "% { opacity: 1;}\n");
result += " 100% { opacity: 0;}\n";
result += '}\n\n';
}
if (animation.type === 'zoomIn') {
result += "@keyframes ".concat(animId, "{\n");
result += ' 0% { transform:scale(0, 0); transform-origin: 50% 50%;}\n';
result += " ".concat(delay, "% { transform:scale(0, 0); transform-origin: 50% 50%;}\n");
result += " 100% { transform:scale(1, 1); transform-origin: 50% 50%;}\n";
result += '}\n\n';
}
if (animation.type === 'fadeOut') {
result += "@keyframes ".concat(animId, "{\n");
result += ' 0% { opacity:1; }\n';
result += " ".concat(delay, "% {opacity: 1;}\n");
result += " 100% {opacity: 0;}\n";
result += '}\n\n';
}
if (animation.type === 'growRight') {
result += "@keyframes ".concat(animId, "{\n");
result += ' 0% { transform:scale(0, 1); transform-origin: top left;}\n';
result += " ".concat(delay, "% { transform:scale(0, 1); transform-origin: top left;}\n");
result += " 100% { transform:scale(1, 1); transform-origin: top left;}\n";
result += '}\n\n';
}
if (animation.type === 'growLeft') {
result += "@keyframes ".concat(animId, "{\n");
result += ' 0% { transform:scale(0, 1); transform-origin: top right;}\n';
result += " ".concat(delay, "% {transform:scale(0, 1); transform-origin: top right;}\n");
result += " 100% { transform:scale(1, 1); transform-origin: top right;}\n";
result += '}\n\n';
}
if (animation.type === 'growUp') {
result += "@keyframes ".concat(animId, "{\n");
result += ' 0% { transform:scale(1, 0); transform-origin: bottom right;}\n';
result += " ".concat(delay, "% {transform:scale(1, 0); transform-origin: bottom right;}\n");
result += " 100% { transform:scale(1, 1); transform-origin: bottom right;}\n";
result += '}\n\n';
}
if (animation.type === 'growDown') {
result += "@keyframes ".concat(animId, "{\n");
result += ' 0% { transform:scale(1, 0); transform-origin: top right;}\n';
result += " ".concat(delay, "% {transform:scale(1, 0); transform-origin: top right;}\n");
result += " 100% { transform:scale(1, 1); transform-origin: top right;}\n";
result += '}\n\n';
}
/**
* Use calc(100vh) and so?
*/
if (animation.type === 'slideRight') {
result += "@keyframes ".concat(animId, "{\n");
result += ' 0% { transform: translateX(-1000px) }\n';
result += " ".concat(delay, "% { transform: translateX(-1000px); }\n");
result += " 100% { transform:translateX(0); }\n";
result += '}\n\n';
}
if (animation.type === 'slideLeft') {
result += "@keyframes ".concat(animId, "{\n");
result += ' 0% { transform: translateX(1000px) }\n';
result += " ".concat(delay, "% { transform: translateX(1000px); }\n");
result += " 100% {transform:translateX(0); }\n";
result += '}\n\n';
}
if (animation.type === 'slideDown') {
result += "@keyframes ".concat(animId, "{\n");
result += ' 0% { transform: translateY(-1000px) }\n';
result += " ".concat(delay, "% { transform: translateY(-1000px); }\n");
result += " 100% {transform:translateY(0); }\n";
result += '}\n\n';
}
if (animation.type === 'slideUp') {
result += "@keyframes ".concat(animId, "{\n");
result += ' 0% { transform: translateY(1000px) }\n';
result += " ".concat(delay, "% { transform: translateY(1000px); }\n");
result += " 100% {transform:translateY(0); }\n";
result += '}\n\n';
}
result += selector + ' {\n';
result += " animation-fill-mode: forwards;\n";
result += " animation-name:".concat(animId, ";\n");
result += " animation-duration:".concat(total, "ms;\n");
result += " animation-timing-function:".concat(easing, ";\n");
result += '}\n\n';
return result;
}
}, {
key: "getEasing",
value: function getEasing(easing) {
return this.easingMapping[easing];
}
/*********************************************************************
* Position
*********************************************************************/
}, {
key: "getPosition",
value: function getPosition(widget) {
/**
* Default is grid, bit it will also do the row stuff.
*/
return this.positionFactory.getPostion(widget);
}
}, {
key: "getStyleByKey",
value: function getStyleByKey(style, widget, keys) {
var _this4 = this;
var result = '';
keys.forEach(function (key) {
if (style[key] !== undefined && style[key] !== null) {
var value = style[key];
result += ' ' + _this4.getKey(key) + ': ' + _this4.getValue(key, value) + ';\n';
}
});
return result;
}
}, {
key: "getRawStyle",
value: function getRawStyle(style, widget) {
var result = this.getStyleByKey(style, widget, Object.keys(this.mapping));
result += this.getBackGround(style, widget);
return result;
}
}, {
key: "getPlaceHolderColor",
value: function getPlaceHolderColor(color) {
if (color) {
var c = fromString(color);
c.a = 0.5;
return ColorUtil_toString(c);
}
return 'rgba(0, 0, 0, 0.5)';
}
}, {
key: "getBackGround",
value: function getBackGround(style, widget) {
var result = '';
if (style.background && style.overlay !== true) {
if (style.background.colors) {
if (style.background.radial) {
var background = style.background;
var gradient = background.colors.map(function (color) {
return color.c + ' ' + color.p + '%';
}).join(', ');
result += " background: radial-gradient(circle, ".concat(gradient, ");\n");
} else {
var _background = style.background;
var _gradient = "(" + _background.direction + "deg";
for (var i = 0; i < _background.colors.length; i++) {
var color = _background.colors[i];
_gradient += "," + color.c + " " + color.p + "% ";
}
_gradient += ")";
result += " background: linear-gradient".concat(_gradient, ";\n");
}
} else {
result += " background-color: ".concat(style.background, ";\n");
}
}
if (style.backgroundColor) {
result += " background-color: ".concat(style.backgroundColor, ";\n");
}
if (style.backgroundImage && style.backgroundImage.url) {
if (style.backgroundImage.url.indexOf('http') === 0) {
result += " background-image: url(".concat(style.backgroundImage.url, ");\n");
} else {
result += " background-image: url(".concat(this.imagePrefix, "/").concat(style.backgroundImage.url, ");\n");
}
if (style.backgroundSize) {
result += " background-size: ".concat(style.backgroundSize, "%;\n");
} else {
result += " background-size: 100%;\n";
}
if (style.backgroundPosition) {
var pos = style.backgroundPosition;
var w = Math.round(pos.left * widget.w);
var h = Math.round(pos.top * widget.h);
result += " background-position: ".concat(w, "px ").concat(h, "px;\n");
} else {
result += " background-position: 0px 0px;\n";
}
result += " background-repeat: no-repeat;\n";
}
return result;
}
}, {
key: "getKey",
value: function getKey(key) {
return this.mapping[key];
}
}, {
key: "getValue",
value: function getValue(key, value) {
var result = '';
if (key === 'fontFamily') {
result += this.escapeFontFamily(value);
} else if (this.isPixel[key]) {
result += value + 'px';
} else if (key === "boxShadow") {
result = value.h + "px " + value.v + "px " + value.b + "px " + value.s + "px " + value.c;
if (value.i) {
result += 'inset';
}
} else if (key === 'textShadow') {
result = value.h + "px " + value.v + "px " + value.b + "px " + value.c;
} else {
result += value;
}
return result;
}
}, {
key: "escapeFontFamily",
value: function escapeFontFamily(value) {
return value.split(',').map(function (f) {
if (f.indexOf(' ') >= 0) {
return '"' + f + '"';
}
return f;
}).join(', ');
}
}, {
key: "clone",
value: function clone(obj) {
if (!obj) {
return null;
}
var _s = JSON.stringify(obj);
return JSON.parse(_s);
}
}, {
key: "getFixedHeight",
value: function getFixedHeight(widget) {
return this.positionFactory.getFixedHeight(widget);
}
}, {
key: "getWrappedWidth",
value: function getWrappedWidth(widget) {
return this.positionFactory.getWrappedWidth(widget);
}
}, {
key: "getCorrectedHeight",
value: function getCorrectedHeight(widget) {
var isPosition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var h = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1;
return this.positionFactory.getCorrectedHeight(widget, isPosition, h);
}
}, {
key: "getCorrectedWidth",
value: function getCorrectedWidth(widget) {
var isPosition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var w = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1;
return this.positionFactory.getCorrectedWidth(widget, isPosition, w);
}
}, {
key: "hasAllwaysFixedHeight",
value: function hasAllwaysFixedHeight(widget) {
return widget.type === 'Icon';
}
}]);
return CSSFactory;
}();
// CONCATENATED MODULE: ./src/qux/core/CSSWriter.js
function CSSWriter_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function CSSWriter_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 CSSWriter_createClass(Constructor, protoProps, staticProps) { if (protoProps) CSSWriter_defineProperties(Constructor.prototype, protoProps); if (staticProps) CSSWriter_defineProperties(Constructor, staticProps); return Constructor; }
var CSSWriter_CSSWriter = /*#__PURE__*/function () {
function CSSWriter() {
CSSWriter_classCallCheck(this, CSSWriter);
this.styleElement = {};
}
CSSWriter_createClass(CSSWriter, [{
key: "write",
value: function write(css) {
var id = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';
var head = document.head || document.getElementsByTagName('head')[0];
if (this.styleElement[id]) {
/**
* This can lead to errors when the hash is changed.
* This is edge case for development (I hope)
*/
core_Logger.log(5, 'CSSWriter.write() > Clean up old');
head.removeChild(this.styleElement[id]);
}
var style = document.createElement('style');
style.type = 'text/css';
style.qux = true;
style.setAttribute('qux', id);
style.appendChild(document.createTextNode(css));
head.appendChild(style);
this.styleElement[id] = style;
}
}]);
return CSSWriter;
}();
/* harmony default export */ var core_CSSWriter = (new CSSWriter_CSSWriter());
// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf");
var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Button.vue?vue&type=template&id=560e0170
var _hoisted_1 = {
key: 0,
class: "qux-common-label"
};
var _hoisted_2 = {
key: 1,
class: "qux-common-label"
};
var _hoisted_3 = {
key: 0,
class: "qux-common-label"
};
var _hoisted_4 = {
key: 1,
class: "qux-common-label"
};
function render(_ctx, _cache, $props, $setup, $data, $options) {
var _component_router_link = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("router-link");
return _ctx.hasLink ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_router_link, {
key: 0,
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-button', _ctx.cssClass]),
to: _ctx.link,
onClick: _ctx.onClick
}, {
default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(function () {
return [_ctx.dataBindingLabel && !_ctx.hasSlot ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_1, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.dataBindingLabel), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.hasSlot ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_2, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderSlot"])(_ctx.$slots, "default")])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)];
}),
_: 3
}, 8, ["class", "to", "onClick"])) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
key: 1,
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-button', _ctx.cssClass]),
onClick: _cache[0] || (_cache[0] = function () {
return _ctx.onClick && _ctx.onClick.apply(_ctx, arguments);
})
}, [_ctx.dataBindingLabel && !_ctx.hasSlot ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_3, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.dataBindingLabel), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.hasSlot ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_4, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderSlot"])(_ctx.$slots, "default")])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 2));
}
// CONCATENATED MODULE: ./src/qux/web/Button.vue?vue&type=template&id=560e0170
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/_Base.vue?vue&type=template&id=3ffd0e5a
var _Basevue_type_template_id_3ffd0e5a_hoisted_1 = {
class: "qux-base"
};
function _Basevue_type_template_id_3ffd0e5a_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _Basevue_type_template_id_3ffd0e5a_hoisted_1, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])($options.label), 1);
}
// CONCATENATED MODULE: ./src/qux/web/_Base.vue?vue&type=template&id=3ffd0e5a
// CONCATENATED MODULE: ./src/qux/core/JSONPath.js
function JSONPath_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function JSONPath_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 JSONPath_createClass(Constructor, protoProps, staticProps) { if (protoProps) JSONPath_defineProperties(Constructor.prototype, protoProps); if (staticProps) JSONPath_defineProperties(Constructor, staticProps); return Constructor; }
//import Vue from 'vue'
var JSONPath = /*#__PURE__*/function () {
function JSONPath() {
JSONPath_classCallCheck(this, JSONPath);
}
JSONPath_createClass(JSONPath, [{
key: "get",
value: function get(data, path) {
if (data != null && data != undefined) {
if (data[path] !== null && data[path] !== undefined) {
return data[path];
}
if (path.indexOf('.') >= 0 || path.indexOf('[') >= 0) {
var elements = this.getJsonPath(path);
var current = elements.shift();
var value = data[current];
while (current != null && current != undefined && value !== null && value != undefined && elements.length > 0) {
current = elements.shift();
value = value[current];
}
return value;
}
}
}
}, {
key: "set",
value: function set(data, path, value) {
//console.debug('JSONPath.set()', path, '>' + value + '<')
var elements = this.getJsonPath(path);
var current = elements.shift();
var node = data;
var i = 0;
while (current !== null && current !== undefined && i < 100) {
i++;
if (elements.length > 0) {
if (!node[current]) {
// FIXME: This looks like a bug! This should be always true?? But be careful because of
// the repeater...
if (elements[0].toLowerCase) {
this._set(node, current, {});
} else {
this._set(node, current, []);
}
}
node = node[current];
current = elements.shift();
} else {
this._set(node, current, value);
}
}
return data;
}
}, {
key: "_set",
value: function _set(node, key, value) {
/**
* Not sure how this works for new props. Maybe we have to use VUE here
*/
node[key] = value; //Vue.set(node, key, value)
}
}, {
key: "getJsonPath",
value: function getJsonPath(path) {
return path.split('.').flatMap(function (p) {
if (p.indexOf('[') >= 0) {
var parts = p.split('[');
if (parts.length == 2) {
var key = parts[0];
var index = parts[1].substring(0, parts[1].length - 1) * 1;
return [key, index];
}
return p.substring(1, p.length - 1) * 1;
}
return p;
});
}
}, {
key: "has",
value: function has(data, path) {
//console.debug('JSONPath.has()', path, data)
if (data != null && data != undefined) {
if (data[path] != null && data[path] != null) {
return true;
}
if (path.indexOf('.') >= 0 || path.indexOf('[') >= 0) {
var elements = this.getJsonPath(path);
var current = elements.shift();
var value = data[current];
while (current != null && current != undefined && value !== null && value != undefined && elements.length > 0) {
current = elements.shift();
value = value[current];
}
return value !== undefined && value !== null;
}
return false;
}
return false;
}
}]);
return JSONPath;
}();
/* harmony default export */ var core_JSONPath = (new JSONPath());
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/_Base.vue?vue&type=script&lang=js
/* harmony default export */ var _Basevue_type_script_lang_js = ({
name: '_Base',
emits: ['update:modelValue', 'qClick', 'click', 'qChange', 'change', 'qKeyPress', 'qFocus', 'qBlur', 'qDesignSystemCallback', 'qScrollTop'],
props: {
'model': {
type: Object
},
'element': {
type: Object
},
'config': {
type: Object
},
'value': {},
'lbl': {
type: String
},
'url': {
type: String
},
'optionList': {
type: Array
},
'isStandAlone': {
type: Boolean
}
},
inject: ['viewModel'],
data: function data() {
return {
hasLabelInOptions: true
};
},
computed: {
isDesignSystemRoot: function isDesignSystemRoot() {
return this.element && this.element.isDesignSystemRoot;
},
hasSlot: function hasSlot() {
return this.$slots.default !== undefined && this.$slots.default !== null;
},
hasLink: function hasLink() {
var _this = this;
if (this.url && this.url.length > 0) {
return true;
}
if (this.element && this.element.lines && this.element.lines) {
var line = this.element.lines.find(function (l) {
return _this.isClick(l);
});
if (line) {
var box = getBoxById(line.to, this.model);
if (box.type === 'Screen' && !box.style.overlay) {
return true;
}
}
}
return false;
},
hasHistoryRouter: function hasHistoryRouter() {
return this.config.isHistoryRouter === true;
},
link: function link() {
var _this2 = this;
if (this.url) {
return this.url;
}
if (this.element && this.element.lines && this.element.lines.length === 1) {
var line = this.element.lines.find(function (l) {
return _this2.isClick(l);
});
if (line) {
var box = getBoxById(line.to, this.model);
if (box.type === 'Screen') {
var prefix = '';
if (this.config && this.config.router && this.config.router.prefix) {
prefix = this.config.router.prefix + '/';
}
if (this.hasHistoryRouter) {//return `/${prefix}${box.name}.html`
}
return "/".concat(prefix).concat(box.name, ".html");
}
}
}
return false;
},
hasAction: function hasAction() {
return this.element && this.element.actions && Object.values(this.element.actions).length > 0 || this.element.lines && this.element.lines.length > 0 || this.element.props.callbacks && this.element.props.callbacks.click;
},
label: function label() {
if (this.lbl) {
return this.lbl;
}
if (this.dataBindingInputPath && this.dataBindingInputPath.indexOf('$') === 0) {
var dsRoot = this.getDesignSystemRoot();
var path = this.dataBindingInputPath.substring(1);
if (dsRoot) {
if (dsRoot[path]) {
return dsRoot[path];
}
}
}
if (this.element && this.element.props && this.element.props.label) {
return this.escapeLabel(this.element.props.label);
}
return '';
},
cssComponentClasses: function cssComponentClasses() {
if (this.element && this.element.cssComponentClasses) {
return this.element.cssComponentClasses.join(' ');
}
return '';
},
cssClass: function cssClass() {
var result = 'qux-element ';
if (this.element) {
/**
* FIXME: Move this to CSSFactory
*/
if (this.element.style && this.element.style.verticalAlign) {
result += "qux-valign-".concat(this.element.style.verticalAlign, " ");
}
if (this.hasAction) {
result += "qux-action ";
}
if (this.config && this.config.debug && this.config.debug.resize === true) {
if (this.element.props && this.element.props.resize) {
var resize = this.element.props.resize;
for (var direction in resize) {
if (resize[direction]) {
result += "qux-resize-".concat(direction, " ");
}
}
}
}
if (this.element.sharedCssClasses) {
result += this.element.sharedCssClasses.join(' ') + ' ';
}
result += this.element.cssClass;
}
return result;
},
dataBinding: function dataBinding() {
if (this.element && this.element.props && this.element.props.databinding) {
return this.element.props.databinding;
}
return null;
},
dataBindingInput: function dataBindingInput() {
if (this.element && this.element.props && this.element.props.databinding) {
var path = this.element.props.databinding.default;
if (path) {
var value = core_JSONPath.get(this.viewModel, path);
core_Logger.log(5, '_Base.dataBindingInput() > ' + path, "\"".concat(value, "\""));
return value;
}
}
return null;
},
dataBindingOptions: function dataBindingOptions() {
if (this.element && this.element.props && this.element.props.databinding) {
var path = this.element.props.databinding.options;
if (path) {
var value = core_JSONPath.get(this.viewModel, path);
core_Logger.log(5, '_Base.dataBindingOptions() > ' + path, "\"".concat(value, "\""));
return value;
}
}
return null;
},
dataBindingInputPath: function dataBindingInputPath() {
if (this.element && this.element.props && this.element.props.databinding) {
var path = this.element.props.databinding.default;
return path;
}
return '';
},
dataBindingOutputPath: function dataBindingOutputPath() {
if (this.element && this.element.props && this.element.props.databinding) {
var path = this.element.props.databinding.output;
return path;
}
return '';
},
dataBindingLabel: function dataBindingLabel() {
/**
* First, cgeck if we have set a lbl property
*/
if (this.lbl) {
return this.lbl;
}
/**
* Next, check data binding
*/
if (this.hasDataBinding) {
/**
* Check if we have a magic property path like $label
*/
if (this.dataBindingInputPath && this.dataBindingInputPath.indexOf('$') === 0) {
core_Logger.log(4, '_Base.dataBindingLabel() > props : ', "\"".concat(this.dataBindingInputPath, "\""));
var dsRoot = this.getDesignSystemRoot();
if (dsRoot) {
var path = this.dataBindingInputPath.substring(1);
if (dsRoot[path]) {
return dsRoot[path];
}
}
} else {
/**
* If not magic, check if there is a variable
*/
var value = this.dataBindingInput;
if (value !== undefined && value != null) {
core_Logger.log(6, '_Base.dataBindingLabel() > ', "\"".concat(value, "\""));
return value;
}
}
}
/**
* Last, check element properties
*/
if (this.element && this.element.props && this.element.props.label) {
return this.escapeLabel(this.element.props.label);
}
return '';
},
hasError: function hasError() {
return false;
},
options: function options() {
if (this.optionList) {
return this.optionList;
}
var dataBindingOptions = this.dataBindingOptions;
if (dataBindingOptions) {
return dataBindingOptions;
}
if (this.element && this.element.props && this.element.props.options) {
var options = this.element.props.options;
if (this.element.props.label && this.hasLabelInOptions) {
options.unshift(this.element.props.label);
}
return options;
}
return [];
}
},
watch: {},
methods: {
stopEvent: function stopEvent(e) {
core_Logger.warn('_Base.stopEvent()');
if (e) {
e.stopPropagation();
}
},
getDesignSystemRoot: function getDesignSystemRoot() {
var parent = this.$parent;
while (parent && parent.element && !parent.element.isDesignSystemRoot) {
parent = parent.$parent;
}
if (parent.element && parent.element.isDesignSystemRoot) {
return parent;
}
},
escapeLabel: function escapeLabel(lbl) {
lbl = lbl.replace(/ /ig, ' ');
return lbl;
},
isClick: function isClick(line) {
return line.event = 'click';
},
hasDataBinding: function hasDataBinding() {
return this.element && this.element.props && this.element.props.databinding;
},
/**
* Default event handlers which just delegate up
* the hierachy
*/
onClick: function onClick(e) {
this.$emit('qClick', this.element, e, this.getValue());
this.$emit('click', e);
this.checkDesignSystemCallback(e, 'click');
this.fireParentDomEvent('click', e);
},
fireParentDomEvent: function fireParentDomEvent(type, e) {
/**
* The wrapper stops our events, so we fire DOM event on parent
*/
if (this.element && this.element.isDesignSystemRoot) {
this.$parent.$emit(type, e);
}
},
onChange: function onChange(e) {
this.$emit('qChange', this.element, e, this.getValue());
this.checkDesignSystemCallback(e, 'change');
this.fireParentDomEvent('change', e);
},
onKeyPress: function onKeyPress(e) {
this.$emit('qKeyPress', this.element, e, this.getValue());
this.checkDesignSystemCallback(e, 'change');
this.fireParentDomEvent('keyPress', e);
},
onFocus: function onFocus(e) {
this.$emit('qFocus', this.element, e);
this.fireParentDomEvent('focus', e);
},
onBlur: function onBlur(e) {
this.$emit('qBlur', this.element, e);
this.fireParentDomEvent('blur', e);
},
onMouseOver: function onMouseOver(e) {
this.$emit('qMouseOver', this.element, e);
},
onMouseOut: function onMouseOut(e) {
this.$emit('qMouseOut', this.element, e);
},
checkDesignSystemCallback: function checkDesignSystemCallback(e, type) {
core_Logger.log(4, '_Base.checkDesignSystemCallback() > : ' + type, this.element);
if (this.element && this.element.props && this.element.props.callbacks) {
var callback = this.element.props.callbacks[type];
if (callback) {
core_Logger.log(1, '_Base.checkDesignSystemCallback() > : ' + this.element.name, type, callback);
this.$emit('qDesignSystemCallback', this.element, e, type, callback, this.getValue());
this.emitDesignSystemCallback();
}
}
},
forwardDesignSystemCallback: function forwardDesignSystemCallback(element, e, type, callback, elementValue) {
core_Logger.log(5, '_Base.forwardDesignSystemCallback() > : ' + this.element.name, element.name);
this.$emit('qDesignSystemCallback', element, e, type, callback, elementValue);
this.emitDesignSystemCallback(element, e, type, callback, elementValue);
},
emitDesignSystemCallback: function emitDesignSystemCallback(element, e, type, callback) {
if (this.element.isDesignSystemRoot && this.$parent) {
core_Logger.log(1, '_Base.emitDesignSystemCallback() > : ' + this.element.name, callback, this.viewModel);
/**
* We have to call on parent, because
* we have this virtual wrapper around.
*/
this.$parent.$emit(callback, this.viewModel, e);
}
},
/**
* Template method which can be implemnted by children to
* give the current value to the onChange
*/
getValue: function getValue() {
return this.dataBindingInput;
},
/**
* Method which sets the value accoridng to the dataBing path.
*/
onValueChange: function onValueChange(value) {
var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';
var e = arguments.length > 2 ? arguments[2] : undefined;
core_Logger.log(3, '_Base.onValueChange() > change : ' + this.element.name, value);
if (this.element && this.element.props && this.element.props.databinding) {
var path = this.element.props.databinding[key];
if (path && this.viewModel != undefined && this.viewModel !== true && this.viewModel !== false) {
try {
core_Logger.log(4, '_Base.onValueChange() > change : ' + path, value);
core_JSONPath.set(this.viewModel, path, value);
} catch (ex) {
core_Logger.error('_Base.onValueChange() > Could not set value in path' + path, this.viewModel);
} //Logger.log(-1, '_Base.onValueChange() > exit : ', JSON.stringify(this.value, null, 2))
}
}
/**
* We also trigger the change event
*/
this.$emit('qChange', this.element, e, value);
/**
* For design system roots, we also fire event
*/
if (this.element.isDesignSystemRoot && this.$parent) {
this.$parent.$emit('update:modelValue', value);
this.$parent.$emit('change', value);
}
}
}
});
// CONCATENATED MODULE: ./src/qux/web/_Base.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js
var exportHelper = __webpack_require__("d959");
var exportHelper_default = /*#__PURE__*/__webpack_require__.n(exportHelper);
// CONCATENATED MODULE: ./src/qux/web/_Base.vue
const __exports__ = /*#__PURE__*/exportHelper_default()(_Basevue_type_script_lang_js, [['render',_Basevue_type_template_id_3ffd0e5a_render]])
/* harmony default export */ var _Base = (__exports__);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Button.vue?vue&type=script&lang=js
/* harmony default export */ var Buttonvue_type_script_lang_js = ({
name: 'qButton',
mixins: [_Base],
data: function data() {
return {};
},
mounted: function mounted() {}
});
// CONCATENATED MODULE: ./src/qux/web/Button.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Button.vue?vue&type=style&index=0&id=560e0170&lang=scss
var Buttonvue_type_style_index_0_id_560e0170_lang_scss = __webpack_require__("760f");
// CONCATENATED MODULE: ./src/qux/web/Button.vue
const Button_exports_ = /*#__PURE__*/exportHelper_default()(Buttonvue_type_script_lang_js, [['render',render]])
/* harmony default export */ var Button = (Button_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Label.vue?vue&type=template&id=0d034c6a
var Labelvue_type_template_id_0d034c6a_hoisted_1 = ["innerHTML"];
var Labelvue_type_template_id_0d034c6a_hoisted_2 = {
key: 1,
class: "qux-common-label"
};
var Labelvue_type_template_id_0d034c6a_hoisted_3 = {
key: 2,
class: "qux-common-label"
};
var Labelvue_type_template_id_0d034c6a_hoisted_4 = ["innerHTML"];
var _hoisted_5 = {
key: 1,
class: "qux-common-label"
};
var _hoisted_6 = {
key: 2,
class: "qux-common-label"
};
function Labelvue_type_template_id_0d034c6a_render(_ctx, _cache, $props, $setup, $data, $options) {
var _component_router_link = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("router-link");
return _ctx.hasLink ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_router_link, {
key: 0,
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-label', _ctx.cssClass]),
onClick: _ctx.onClick,
to: _ctx.link
}, {
default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(function () {
return [_ctx.dataBindingLabel && _ctx.dataBindingLabel.type === 'richtext' ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", {
key: 0,
class: "qux-richtext",
innerHTML: _ctx.dataBindingLabel.value
}, null, 8, Labelvue_type_template_id_0d034c6a_hoisted_1)) : _ctx.dataBindingLabel && !_ctx.hasSlot ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", Labelvue_type_template_id_0d034c6a_hoisted_2, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.dataBindingLabel), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.hasSlot ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", Labelvue_type_template_id_0d034c6a_hoisted_3, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderSlot"])(_ctx.$slots, "default")])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)];
}),
_: 3
}, 8, ["class", "onClick", "to"])) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("label", {
key: 1,
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-label', _ctx.cssClass]),
onClick: _cache[0] || (_cache[0] = function () {
return _ctx.onClick && _ctx.onClick.apply(_ctx, arguments);
})
}, [$options.isRichText ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", {
key: 0,
class: "qux-richtext",
innerHTML: _ctx.dataBindingLabel.value
}, null, 8, Labelvue_type_template_id_0d034c6a_hoisted_4)) : _ctx.dataBindingLabel && !_ctx.hasSlot ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_5, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.dataBindingLabel), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.hasSlot ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_6, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderSlot"])(_ctx.$slots, "default")])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 2));
}
// CONCATENATED MODULE: ./src/qux/web/Label.vue?vue&type=template&id=0d034c6a
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Label.vue?vue&type=script&lang=js
/* harmony default export */ var Labelvue_type_script_lang_js = ({
name: 'qLabel',
mixins: [_Base],
data: function data() {
return {};
},
computed: {
isRichText: function isRichText() {
var label = this.dataBindingLabel;
if (label && label.type === 'richtext') {
return true;
}
return false;
}
},
mounted: function mounted() {}
});
// CONCATENATED MODULE: ./src/qux/web/Label.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Label.vue?vue&type=style&index=0&id=0d034c6a&lang=scss
var Labelvue_type_style_index_0_id_0d034c6a_lang_scss = __webpack_require__("39c2");
// CONCATENATED MODULE: ./src/qux/web/Label.vue
const Label_exports_ = /*#__PURE__*/exportHelper_default()(Labelvue_type_script_lang_js, [['render',Labelvue_type_template_id_0d034c6a_render]])
/* harmony default export */ var Label = (Label_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Icon.vue?vue&type=template&id=2359caee
function Iconvue_type_template_id_2359caee_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-icon', _ctx.cssClass, $options.icon]),
onClick: _cache[0] || (_cache[0] = function () {
return _ctx.onClick && _ctx.onClick.apply(_ctx, arguments);
})
}, null, 2);
}
// CONCATENATED MODULE: ./src/qux/web/Icon.vue?vue&type=template&id=2359caee
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Icon.vue?vue&type=script&lang=js
/* harmony default export */ var Iconvue_type_script_lang_js = ({
name: 'qIcon',
mixins: [_Base],
data: function data() {
return {};
},
computed: {
icon: function icon() {
return this.element.style.icon;
}
},
mounted: function mounted() {//console.debug('Label.mounted()', this.label)
}
});
// CONCATENATED MODULE: ./src/qux/web/Icon.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Icon.vue?vue&type=style&index=0&id=2359caee&lang=scss
var Iconvue_type_style_index_0_id_2359caee_lang_scss = __webpack_require__("04c7");
// CONCATENATED MODULE: ./src/qux/web/Icon.vue
const Icon_exports_ = /*#__PURE__*/exportHelper_default()(Iconvue_type_script_lang_js, [['render',Iconvue_type_template_id_2359caee_render]])
/* harmony default export */ var Icon = (Icon_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/TextBox.vue?vue&type=template&id=3c21fda5
var TextBoxvue_type_template_id_3c21fda5_hoisted_1 = ["placeholder", "type", "value"];
function TextBoxvue_type_template_id_3c21fda5_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("input", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-textbox qux-text-input', _ctx.cssClass]),
placeholder: $options.placeholder,
type: $options.type,
onFocus: _cache[0] || (_cache[0] = function () {
return _ctx.onFocus && _ctx.onFocus.apply(_ctx, arguments);
}),
onBlur: _cache[1] || (_cache[1] = function () {
return _ctx.onBlur && _ctx.onBlur.apply(_ctx, arguments);
}),
onClick: _cache[2] || (_cache[2] = function () {
return _ctx.onClick && _ctx.onClick.apply(_ctx, arguments);
}),
onChange: _cache[3] || (_cache[3] = function () {
return _ctx.onChange && _ctx.onChange.apply(_ctx, arguments);
}),
onKeyup: _cache[4] || (_cache[4] = function () {
return $options.onKeyPress && $options.onKeyPress.apply($options, arguments);
}),
value: $options.selectedValue
}, null, 42, TextBoxvue_type_template_id_3c21fda5_hoisted_1);
}
// CONCATENATED MODULE: ./src/qux/web/TextBox.vue?vue&type=template&id=3c21fda5
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/TextBox.vue?vue&type=script&lang=js
/* harmony default export */ var TextBoxvue_type_script_lang_js = ({
name: 'qTestBox',
mixins: [_Base],
data: function data() {
return {};
},
computed: {
type: function type() {
if (this.element && this.element.type === 'Password') {
return 'password';
}
return 'text';
},
placeholder: function placeholder() {
if (this.element && this.element.props && this.element.props.placeholder) {
return this.element.props.label;
}
return '';
},
selectedValue: function selectedValue() {
if (this.element && this.element.isDesignSystemRoot) {
return this.value;
}
if (this.element) {
var input = this.dataBindingInput;
if (input) {
if (!input.toLowerCase) {
if (isNaN(input)) {
try {
input = JSON.stringify(input);
} catch (e) {
core_Logger.warn('TextBox.selectedValue() > Can stringify ', input);
}
}
}
}
return input;
}
return '';
}
},
methods: {
onKeyPress: function onKeyPress(e) {
var value = e.target.value;
this.onValueChange(value, 'default');
this.$emit('qKeyPress', this.element, e, value);
core_Logger.log(6, 'qTextBox.onKeyPress() > exit', value);
},
setFocus: function setFocus() {
core_Logger.log(0, 'qTextBox.setFocus() > enter');
if (this.$el) {
this.$el.focus();
}
}
},
mounted: function mounted() {
core_Logger.log(5, 'qTextBox.mounted() enter');
if (this.element && this.element.props && this.element.props.focus) {
setTimeout(this.setFocus, 100);
}
}
});
// CONCATENATED MODULE: ./src/qux/web/TextBox.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/TextBox.vue?vue&type=style&index=0&id=3c21fda5&lang=scss
var TextBoxvue_type_style_index_0_id_3c21fda5_lang_scss = __webpack_require__("435a");
// CONCATENATED MODULE: ./src/qux/web/TextBox.vue
const TextBox_exports_ = /*#__PURE__*/exportHelper_default()(TextBoxvue_type_script_lang_js, [['render',TextBoxvue_type_template_id_3c21fda5_render]])
/* harmony default export */ var TextBox = (TextBox_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Container.vue?vue&type=template&id=1feccc0d
function Containervue_type_template_id_1feccc0d_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-container', _ctx.cssClass]),
onClick: _cache[0] || (_cache[0] = function () {
return _ctx.onClick && _ctx.onClick.apply(_ctx, arguments);
})
}, [_ctx.element ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], {
key: 0
}, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.element.children, function (child) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDynamicComponent"])(child.qtype), {
key: child.id,
element: child,
model: _ctx.model,
config: _ctx.config,
onQDesignSystemCallback: _ctx.forwardDesignSystemCallback,
onQCallback: $options.forwardCallback,
onQClick: $options.forwardClick,
onQChange: $options.forwardChange,
onQKeyPress: $options.forwardKeyPress,
onQFocus: $options.forwardFocus,
onQBlur: $options.forwardBlur,
onQMouseOver: $options.forwardMouseOver,
onQMouseOut: $options.forwardMouseOut
}, null, 8, ["element", "model", "config", "onQDesignSystemCallback", "onQCallback", "onQClick", "onQChange", "onQKeyPress", "onQFocus", "onQBlur", "onQMouseOver", "onQMouseOut"]);
}), 128)), _ctx.element.fixedChildren ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], {
key: 0
}, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.element.fixedChildren, function (child) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDynamicComponent"])(child.qtype), {
key: child.id,
element: child,
model: _ctx.model,
config: _ctx.config,
onQDesignSystemCallback: _ctx.forwardDesignSystemCallback,
onQCallback: $options.forwardCallback,
onQClick: $options.forwardClick,
onQChange: $options.forwardChange,
onQKeyPress: $options.forwardKeyPress,
onQFocus: $options.forwardFocus,
onQBlur: $options.forwardBlur,
onQMouseOver: $options.forwardMouseOver,
onQMouseOut: $options.forwardMouseOut
}, null, 8, ["element", "model", "config", "onQDesignSystemCallback", "onQCallback", "onQClick", "onQChange", "onQKeyPress", "onQFocus", "onQBlur", "onQMouseOver", "onQMouseOut"]);
}), 128)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 64)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderSlot"])(_ctx.$slots, "default", {
key: 1
})], 2);
}
// CONCATENATED MODULE: ./src/qux/web/Container.vue?vue&type=template&id=1feccc0d
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Container.vue?vue&type=script&lang=js
/* harmony default export */ var Containervue_type_script_lang_js = ({
name: 'qContainer',
mixins: [_Base],
data: function data() {
return {
debug: false
};
},
computed: {
justifyContent: function justifyContent() {
if (isWrappedContainer(this.element) && this.config.css.justifyContentInWrapper) {
return true;
}
return false;
},
wrapperPlaceHolders: function wrapperPlaceHolders() {
return [1, 2, 3, 4, 5, 6, 7, 8];
}
},
methods: {
forwardClick: function forwardClick(element, e, value) {
this.$emit('qClick', element, e, value);
},
forwardChange: function forwardChange(element, e, value) {
this.$emit('qChange', element, e, value);
},
forwardFocus: function forwardFocus(element, e, value) {
this.$emit('qFocus', element, e, value);
},
forwardBlur: function forwardBlur(element, e, value) {
this.$emit('qBlur', element, e, value);
},
forwardMouseOver: function forwardMouseOver(element, e, value) {
this.$emit('qMouseOver', element, e, value);
},
forwardMouseOut: function forwardMouseOut(element, e, value) {
this.$emit('qMouseOut', element, e, value);
},
forwardKeyPress: function forwardKeyPress(element, e, value) {
this.$emit('qKeyPress', element, e, value);
},
forwardCallback: function forwardCallback(element, e, value) {
this.$emit('qCallback', element, e, value);
}
},
mounted: function mounted() {}
});
// CONCATENATED MODULE: ./src/qux/web/Container.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Container.vue?vue&type=style&index=0&id=1feccc0d&lang=scss
var Containervue_type_style_index_0_id_1feccc0d_lang_scss = __webpack_require__("0393");
// CONCATENATED MODULE: ./src/qux/web/Container.vue
const Container_exports_ = /*#__PURE__*/exportHelper_default()(Containervue_type_script_lang_js, [['render',Containervue_type_template_id_1feccc0d_render]])
/* harmony default export */ var Container = (Container_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Repeater.vue?vue&type=template&id=4a475f68
function Repeatervue_type_template_id_4a475f68_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-repeater', _ctx.cssClass])
}, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])($options.rows, function (row, i) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
key: i,
class: "qux-repeater-child"
}, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.element.children, function (child) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDynamicComponent"])(child.qtype), {
key: child.id,
element: $options.getDeepCopy(child, row, i),
model: _ctx.model,
config: _ctx.config,
onQClick: function onQClick($event) {
return $options.forwardClick(i, $event);
},
onQChange: $options.forwardChange,
onQKeyPress: $options.forwardKeyPress,
onQFocus: $options.forwardFocus,
onQBlur: $options.forwardBlur,
onQMouseOver: $options.forwardMouseOver,
onQMouseOut: $options.forwardMouseOut
}, null, 8, ["element", "model", "config", "onQClick", "onQChange", "onQKeyPress", "onQFocus", "onQBlur", "onQMouseOver", "onQMouseOut"]);
}), 128))]);
}), 128)), (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])($options.placeholders, function (placeholder, i) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
key: 'p' + i,
class: "qux-repeater-child qux-repeater-placeholder",
style: {
"height": "0px",
"margin": "0px"
}
});
}), 128))], 2);
}
// CONCATENATED MODULE: ./src/qux/web/Repeater.vue?vue&type=template&id=4a475f68
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Repeater.vue?vue&type=script&lang=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); }
/* harmony default export */ var Repeatervue_type_script_lang_js = ({
name: 'qRepeater',
mixins: [_Base],
data: function data() {
return {
debug: false
};
},
computed: {
placeholders: function placeholders() {
/**
* Make here some better math and calculate hwo many elements i really need?
*/
if (isLayoutAuto(this.element)) {
return [];
}
return [1, 2, 3, 4, 5, 6, 7];
},
rows: function rows() {
if (this.element && this.element.props && this.element.props.databinding) {
var path = this.element.props.databinding.default;
var value = core_JSONPath.get(this.value, path);
core_Logger.log(5, 'Repeater.rows() > exit path: > ' + path, value);
if (Array.isArray(value)) {
return value;
} else {
core_Logger.warn('Repeater.rows() > Value is no array: > ' + path, this.value);
}
} else {
return this.getRowsFromTable(this.element);
}
return [];
}
},
methods: {
getDeepCopy: function getDeepCopy(element, row, i) {
core_Logger.log(4, 'Repeater.getDeepCopy() > exit : > ' + i, row);
var copy = this.clone(element);
var path = this.dataBindingInputPath;
this.updateDataBinding(copy, i, path, true);
return copy;
},
clone: function clone(obj) {
if (obj === null || _typeof(obj) !== 'object' || 'isActiveClone' in obj) return obj;
var temp = obj.constructor();
for (var key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key)) {
if (key !== 'parent') {
/**
* FIXME: Make this somehow better
*/
obj['isActiveClone'] = null;
temp[key] = this.clone(obj[key]);
delete obj['isActiveClone'];
} else {
temp[key] = obj[key];
}
}
}
return temp;
},
updateDataBinding: function updateDataBinding(copy, i, parentPath) {
var _this = this;
var isRoot = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
core_Logger.log(5, 'Repeater.updateDataBinding() > enter : > ' + i, copy.name + ' @ ' + parentPath);
if (copy.children && copy.children.length > 0) {
copy.children.forEach(function (child) {
/**
* Update the path for each child
*/
_this.updateDataBindingKeys(child, i, parentPath);
/**
* Go doen recursive
*/
_this.updateDataBinding(child, i, parentPath);
});
} else if (isRoot) {
/**
* We might have a special case, where the repeater has only one child.
*/
core_Logger.log(5, 'Repeater.updateDataBinding() > No wrapper children : > ' + i, copy.name + ' @ ' + parentPath);
this.updateDataBindingKeys(copy, i, parentPath);
}
},
updateDataBindingKeys: function updateDataBindingKeys(child, i, parentPath) {
if (child && child.props && child.props.databinding) {
var databinding = child.props.databinding;
for (var key in databinding) {
var path = databinding[key]; // if we have parent path remove
if (path.indexOf(parentPath) === 0) {
path = path.substring(parentPath.length);
} // if path starts with array we remove
if (path.indexOf('[0]') === 0) {
path = path.substring(3);
}
if (path.indexOf('.') === 0) {
path = path.substring(1);
}
databinding[key] = "".concat(parentPath, "[").concat(i, "].").concat(path);
core_Logger.log(2, 'Repeater.updateDataBindingKeys() > exit : > ' + databinding[key]);
}
}
},
forwardClick: function forwardClick(i, element, e) {
var row = this.dataBindingInputPath ? core_JSONPath.get(this.value, "".concat(this.dataBindingInputPath, "[").concat(i, "]")) : null;
if (element.lines && element.lines.length > 0) {
if (this.dataBindingOutputPath && this.dataBindingInputPath) {
if (row) {
core_Logger.log(3, 'qRepeater.forwardClick() > Update databidning' + this.dataBindingOutputPath, row);
/**
* FIXME: Should we do a copy here???
*/
core_JSONPath.set(this.value, this.dataBindingOutputPath, row);
}
}
}
/**
* We could still check if there is a click method defined on the repeater and dispatch the click on this element
* if the clicked child does not have a link or call back
*/
core_Logger.log(5, 'qRepeater.forwardClick() ', JSON.stringify(row));
this.$emit('qClick', element, e, row);
},
forwardChange: function forwardChange(element, e, value) {
this.$emit('qChange', element, e, value);
},
forwardFocus: function forwardFocus(element, e, value) {
this.$emit('qFocus', element, e, value);
},
forwardBlur: function forwardBlur(element, e, value) {
this.$emit('qBlur', element, e, value);
},
forwardMouseOver: function forwardMouseOver(element, e, value) {
this.$emit('qMouseOver', element, e, value);
},
forwardMouseOut: function forwardMouseOut(element, e, value) {
this.$emit('qMouseOut', element, e, value);
},
forwardKeyPress: function forwardKeyPress(element, e, value) {
this.$emit('qKeyPress', element, e, value);
},
forwardCallback: function forwardCallback(element, e, value) {
this.$emit('qCallback', element, e, value);
},
getRowsFromTable: function getRowsFromTable(widget) {
var result = [];
if (widget.props.data && widget.props.data.length > 1) {
var data = widget.props.data;
this.dataBindingValues = [];
var header = widget.props.data[0];
for (var r = 1; r < data.length; r++) {
var row = {};
for (var c = 0; c < header.length; c++) {
var col = header[c];
row[col] = data[r][c];
}
result.push(row);
}
}
return result;
}
},
mounted: function mounted() {
core_Logger.log(3, 'Repeater.mounted() > enter', this.element);
}
});
// CONCATENATED MODULE: ./src/qux/web/Repeater.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Repeater.vue?vue&type=style&index=0&id=4a475f68&lang=scss
var Repeatervue_type_style_index_0_id_4a475f68_lang_scss = __webpack_require__("764c");
// CONCATENATED MODULE: ./src/qux/web/Repeater.vue
const Repeater_exports_ = /*#__PURE__*/exportHelper_default()(Repeatervue_type_script_lang_js, [['render',Repeatervue_type_template_id_4a475f68_render]])
/* harmony default export */ var Repeater = (Repeater_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Image.vue?vue&type=template&id=7b37ca7e
function Imagevue_type_template_id_7b37ca7e_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-image', _ctx.cssClass]),
onClick: _cache[0] || (_cache[0] = function () {
return _ctx.onClick && _ctx.onClick.apply(_ctx, arguments);
})
}, null, 2);
}
// CONCATENATED MODULE: ./src/qux/web/Image.vue?vue&type=template&id=7b37ca7e
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Image.vue?vue&type=script&lang=js
/* harmony default export */ var Imagevue_type_script_lang_js = ({
name: 'qImage',
mixins: [_Base],
data: function data() {
return {};
},
/**
* FIXME: add here some stuff for image uploads
*/
mounted: function mounted() {
core_Logger.log(0, 'qImage.mounted()');
}
});
// CONCATENATED MODULE: ./src/qux/web/Image.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Image.vue?vue&type=style&index=0&id=7b37ca7e&lang=scss
var Imagevue_type_style_index_0_id_7b37ca7e_lang_scss = __webpack_require__("ac19");
// CONCATENATED MODULE: ./src/qux/web/Image.vue
const Image_exports_ = /*#__PURE__*/exportHelper_default()(Imagevue_type_script_lang_js, [['render',Imagevue_type_template_id_7b37ca7e_render]])
/* harmony default export */ var Image = (Image_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/CheckBox.vue?vue&type=template&id=d3268f34
var CheckBoxvue_type_template_id_d3268f34_hoisted_1 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
class: "qux-checkbox-cntr"
}, [/*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
class: "qux-checkbox-hook"
})], -1);
var CheckBoxvue_type_template_id_d3268f34_hoisted_2 = {
key: 0,
class: "qux-checkbox-label"
};
function CheckBoxvue_type_template_id_d3268f34_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-checkbox', _ctx.cssClass, {
'qux-checkbox-checked': $options.isChecked
}]),
onClick: _cache[0] || (_cache[0] = function () {
return $options.toggle && $options.toggle.apply($options, arguments);
})
}, [CheckBoxvue_type_template_id_d3268f34_hoisted_1, _ctx.label ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", CheckBoxvue_type_template_id_d3268f34_hoisted_2, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.label), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 2);
}
// CONCATENATED MODULE: ./src/qux/web/CheckBox.vue?vue&type=template&id=d3268f34
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/CheckBox.vue?vue&type=script&lang=js
/* harmony default export */ var CheckBoxvue_type_script_lang_js = ({
name: 'qCheckBox',
mixins: [_Base],
data: function data() {
return {
checked: false
};
},
computed: {
isChecked: function isChecked() {
if (this.isDesignSystemRoot) {
return this.value;
}
if (this.element) {
var input = this.dataBindingInput;
return input === true;
}
return this.checked;
}
},
methods: {
toggle: function toggle() {
if (this.element) {
var value = !this.isChecked;
this.onValueChange(value, 'default');
core_Logger.log(-1, 'qCheckBox.toggle() >' + this.dataBindingInputPath, value);
} else {
this.checked = !this.checked;
this.$emit('change', this.checked);
this.$emit('update:modelValue', this.checked);
core_Logger.log(-1, 'qCheckBox.toggle() >' + this.checked);
}
}
},
watch: {
value: function value(v) {
core_Logger.log(5, 'qCheckBox.watch(value) > enter', v);
if (v === false || v === true) {
this.checked = v;
}
}
},
mounted: function mounted() {
core_Logger.log(5, 'qCheckBox.mounted() enter');
if (this.value === true || this.value === true) {
this.checked = this.value;
}
}
});
// CONCATENATED MODULE: ./src/qux/web/CheckBox.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/CheckBox.vue?vue&type=style&index=0&id=d3268f34&lang=scss
var CheckBoxvue_type_style_index_0_id_d3268f34_lang_scss = __webpack_require__("2919");
// CONCATENATED MODULE: ./src/qux/web/CheckBox.vue
const CheckBox_exports_ = /*#__PURE__*/exportHelper_default()(CheckBoxvue_type_script_lang_js, [['render',CheckBoxvue_type_template_id_d3268f34_render]])
/* harmony default export */ var CheckBox = (CheckBox_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/CheckBoxGroup.vue?vue&type=template&id=40254c42
function CheckBoxGroupvue_type_template_id_40254c42_render(_ctx, _cache, $props, $setup, $data, $options) {
var _component_CheckBox = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("CheckBox");
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-checkgroup', _ctx.cssClass])
}, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])($options.checkBoxOptions, function (option) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_CheckBox, {
key: option.value,
lbl: option.label,
value: $options.isChecked(option.value),
onChange: function onChange($event) {
return $options.select(option.value);
}
}, null, 8, ["lbl", "value", "onChange"]);
}), 128))], 2);
}
// CONCATENATED MODULE: ./src/qux/web/CheckBoxGroup.vue?vue&type=template&id=40254c42
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/CheckBoxGroup.vue?vue&type=script&lang=js
//import Vue from 'vue'
/* harmony default export */ var CheckBoxGroupvue_type_script_lang_js = ({
name: 'qCheckBoxGroup',
mixins: [_Base],
data: function data() {
return {
selected: []
};
},
components: {
'CheckBox': CheckBox
},
computed: {
checkBoxOptions: function checkBoxOptions() {
if (this.element) {
return this.options.map(function (o) {
if (o.toLowerCase) {
return {
label: o,
value: o
};
}
return o;
});
}
return [];
}
},
methods: {
isChecked: function isChecked(option) {
core_Logger.log(5, 'qCheckBoxGroup.isChecked() >' + this.dataBindingInputPath, option);
var input = this.dataBindingInput;
if (input && Array.isArray(input)) {
return input.indexOf(option) > -1;
}
return false;
},
select: function select(option) {
var input = this.dataBindingInput;
if (input) {
if (Array.isArray(input)) {
var pos = input.indexOf(option);
if (pos < 0) {
input.push(option);
} else {
input = input.filter(function (item) {
return item !== option;
}); //Vue.delete(input, pos)
}
}
} else {
input = [option];
}
this.onValueChange(input, 'default');
core_Logger.log(5, 'qCheckBoxGroup.select() >' + this.dataBindingInputPath, input);
}
},
mounted: function mounted() {
core_Logger.log(5, 'qCheckBoxGroup.mounted() enter');
}
});
// CONCATENATED MODULE: ./src/qux/web/CheckBoxGroup.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/CheckBoxGroup.vue?vue&type=style&index=0&id=40254c42&lang=scss
var CheckBoxGroupvue_type_style_index_0_id_40254c42_lang_scss = __webpack_require__("54ca");
// CONCATENATED MODULE: ./src/qux/web/CheckBoxGroup.vue
const CheckBoxGroup_exports_ = /*#__PURE__*/exportHelper_default()(CheckBoxGroupvue_type_script_lang_js, [['render',CheckBoxGroupvue_type_template_id_40254c42_render]])
/* harmony default export */ var CheckBoxGroup = (CheckBoxGroup_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/RadioBox.vue?vue&type=template&id=c602cd60
var RadioBoxvue_type_template_id_c602cd60_hoisted_1 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
class: "qux-radiobox-cntr"
}, [/*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
class: "qux-radiobox-hook"
})], -1);
var RadioBoxvue_type_template_id_c602cd60_hoisted_2 = {
key: 0,
class: "qux-radiobox-label"
};
function RadioBoxvue_type_template_id_c602cd60_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-radiobox', _ctx.cssClass, {
'qux-radiobox-checked': $options.isChecked
}]),
onClick: _cache[0] || (_cache[0] = function () {
return $options.toggle && $options.toggle.apply($options, arguments);
})
}, [RadioBoxvue_type_template_id_c602cd60_hoisted_1, _ctx.label ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", RadioBoxvue_type_template_id_c602cd60_hoisted_2, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.label), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 2);
}
// CONCATENATED MODULE: ./src/qux/web/RadioBox.vue?vue&type=template&id=c602cd60
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/RadioBox.vue?vue&type=script&lang=js
/* harmony default export */ var RadioBoxvue_type_script_lang_js = ({
name: 'qRadio',
mixins: [_Base],
data: function data() {
return {
checked: false
};
},
computed: {
isChecked: function isChecked() {
if (this.isDesignSystemRoot) {
// FIXME: make like real checkbox
return this.value === this.element.name;
}
if (this.element) {
var input = this.dataBindingInput;
return input === this.element.name;
}
core_Logger.log(5, 'qRadioBox.isChecked() >' + this.lbl, this.checked);
return this.checked;
}
},
methods: {
toggle: function toggle() {
if (this.element) {
var value = !this.isChecked ? this.element.name : null;
this.onValueChange(value, 'default');
core_Logger.log(5, 'qRadioBox.toggle() >' + this.dataBindingInputPath, value);
} else {
this.checked = !this.checked;
this.$emit('change', this.checked);
this.$emit('update:modelValue', this.checked);
core_Logger.log(5, 'qRadioBox.toggle() >' + this.checked);
}
}
},
watch: {
value: function value(v) {
core_Logger.log(5, 'qRadioBox.watch(value) > enter ' + this.lbl, v);
if (v === false || v === true) {
this.checked = v;
}
}
},
mounted: function mounted() {
core_Logger.log(5, 'qRadioBox.mounted() enter');
if (this.value === true || this.value === true) {
this.checked = this.value;
}
}
});
// CONCATENATED MODULE: ./src/qux/web/RadioBox.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/RadioBox.vue?vue&type=style&index=0&id=c602cd60&lang=scss
var RadioBoxvue_type_style_index_0_id_c602cd60_lang_scss = __webpack_require__("fa41");
// CONCATENATED MODULE: ./src/qux/web/RadioBox.vue
const RadioBox_exports_ = /*#__PURE__*/exportHelper_default()(RadioBoxvue_type_script_lang_js, [['render',RadioBoxvue_type_template_id_c602cd60_render]])
/* harmony default export */ var RadioBox = (RadioBox_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/RadioGroup.vue?vue&type=template&id=c691a47a
function RadioGroupvue_type_template_id_c691a47a_render(_ctx, _cache, $props, $setup, $data, $options) {
var _component_RadioBox = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("RadioBox");
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-radiogroup', _ctx.cssClass])
}, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.options, function (option) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_RadioBox, {
key: option,
lbl: option,
value: $options.isChecked(option),
onChange: function onChange($event) {
return $options.select(option);
}
}, null, 8, ["lbl", "value", "onChange"]);
}), 128))], 2);
}
// CONCATENATED MODULE: ./src/qux/web/RadioGroup.vue?vue&type=template&id=c691a47a
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/RadioGroup.vue?vue&type=script&lang=js
/* harmony default export */ var RadioGroupvue_type_script_lang_js = ({
name: 'qRadioGroup',
mixins: [_Base],
data: function data() {
return {
selected: null
};
},
components: {
'RadioBox': RadioBox
},
methods: {
isChecked: function isChecked(option) {
var input = this.dataBindingInput;
core_Logger.log(5, 'qRadioGroup.isChecked() >' + option, input);
if (input) {
return input === option;
}
return false;
},
select: function select(option, e) {
this.onValueChange(option, 'default');
this.onClick(e);
core_Logger.log(5, 'qRadioGroup.select() >' + this.dataBindingInputPath, option);
}
},
mounted: function mounted() {
core_Logger.log(5, 'qRadioGroup.mounted() enter');
}
});
// CONCATENATED MODULE: ./src/qux/web/RadioGroup.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/RadioGroup.vue?vue&type=style&index=0&id=c691a47a&lang=scss
var RadioGroupvue_type_style_index_0_id_c691a47a_lang_scss = __webpack_require__("b16e");
// CONCATENATED MODULE: ./src/qux/web/RadioGroup.vue
const RadioGroup_exports_ = /*#__PURE__*/exportHelper_default()(RadioGroupvue_type_script_lang_js, [['render',RadioGroupvue_type_template_id_c691a47a_render]])
/* harmony default export */ var RadioGroup = (RadioGroup_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Toggle.vue?vue&type=template&id=133dc670
var Togglevue_type_template_id_133dc670_hoisted_1 = {
class: "qux-common-label"
};
function Togglevue_type_template_id_133dc670_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-toggle', _ctx.cssClass, {
'qux-active': $options.isActive
}]),
onClick: _cache[0] || (_cache[0] = function () {
return $options.toggle && $options.toggle.apply($options, arguments);
})
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Togglevue_type_template_id_133dc670_hoisted_1, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.label), 1)], 2);
}
// CONCATENATED MODULE: ./src/qux/web/Toggle.vue?vue&type=template&id=133dc670
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Toggle.vue?vue&type=script&lang=js
/* harmony default export */ var Togglevue_type_script_lang_js = ({
name: 'qToggle',
mixins: [_Base],
data: function data() {
return {
active: false
};
},
computed: {
isActive: function isActive() {
if (this.element) {
var input = this.dataBindingInput;
return input === true;
}
return this.active;
}
},
methods: {
toggle: function toggle() {
if (this.element) {
var value = !this.isActive;
this.onValueChange(value, 'default');
core_Logger.log(5, 'qToggle.toggle() >' + this.dataBindingInputPath, value);
} else {
this.active = !this.active;
this.$emit('change', this.active);
this.$emit('update:modelValue', this.active);
core_Logger.log(5, 'qToggle.toggle() >' + this.active);
}
}
},
watch: {
value: function value(v) {
core_Logger.log(5, 'qToggle.watch(value) > enter', v);
if (v === false || v === true) {
this.active = v;
}
this.value = v;
}
},
mounted: function mounted() {
core_Logger.log(5, 'qToggle.mounted() enter');
if (this.value === true || this.value === true) {
this.active = this.value;
}
}
});
// CONCATENATED MODULE: ./src/qux/web/Toggle.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Toggle.vue?vue&type=style&index=0&id=133dc670&lang=scss
var Togglevue_type_style_index_0_id_133dc670_lang_scss = __webpack_require__("ec79");
// CONCATENATED MODULE: ./src/qux/web/Toggle.vue
const Toggle_exports_ = /*#__PURE__*/exportHelper_default()(Togglevue_type_script_lang_js, [['render',Togglevue_type_template_id_133dc670_render]])
/* harmony default export */ var Toggle = (Toggle_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Switch.vue?vue&type=template&id=4ef03930
var Switchvue_type_template_id_4ef03930_hoisted_1 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
class: "qux-switch-on"
}, null, -1);
var Switchvue_type_template_id_4ef03930_hoisted_2 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
class: "qux-switch-off"
}, null, -1);
var Switchvue_type_template_id_4ef03930_hoisted_3 = [Switchvue_type_template_id_4ef03930_hoisted_1, Switchvue_type_template_id_4ef03930_hoisted_2];
var Switchvue_type_template_id_4ef03930_hoisted_4 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
class: "qux-switch-handle"
}, null, -1);
function Switchvue_type_template_id_4ef03930_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-switch', _ctx.cssClass, {
'qux-active': $options.isActive
}]),
onClick: _cache[0] || (_cache[0] = function () {
return $options.toggle && $options.toggle.apply($options, arguments);
})
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-switch-cntr', {
'qux-switch-cntr-thin': $options.isThin
}])
}, Switchvue_type_template_id_4ef03930_hoisted_3, 2), Switchvue_type_template_id_4ef03930_hoisted_4], 2);
}
// CONCATENATED MODULE: ./src/qux/web/Switch.vue?vue&type=template&id=4ef03930
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Switch.vue?vue&type=script&lang=js
/* harmony default export */ var Switchvue_type_script_lang_js = ({
name: 'qSwitch',
mixins: [_Base],
data: function data() {
return {
active: false
};
},
computed: {
isThin: function isThin() {
if (this.element && this.element.style.cssClass === 'MatcWidgetTypeSwitchThin') {
return true;
}
return false;
},
isActive: function isActive() {
if (this.element) {
var input = this.dataBindingInput;
core_Logger.log(1, 'qSwitch.isActive() >' + this.dataBindingInputPath, input);
return input === true;
}
return this.active;
}
},
methods: {
toggle: function toggle(e) {
if (this.element) {
var value = !this.isActive;
this.onValueChange(value, 'default');
this.onClick(e);
core_Logger.log(5, 'qSwitch.toggle() >' + this.dataBindingInputPath, value);
} else {
this.active = !this.active;
this.$emit('change', this.active);
this.$emit('update:modelValue', this.active);
core_Logger.log(5, 'qSwitch.toggle() >' + this.active);
}
}
},
watch: {
value: function value(v) {
core_Logger.log(5, 'qSwitch.watch(value) > enter', v);
if (v === false || v === true) {
this.active = v;
}
this.value = v;
}
},
mounted: function mounted() {
core_Logger.log(5, 'qSwitch.mounted() enter');
if (this.value === true || this.value === true) {
this.active = this.value;
}
}
});
// CONCATENATED MODULE: ./src/qux/web/Switch.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Switch.vue?vue&type=style&index=0&id=4ef03930&lang=scss
var Switchvue_type_style_index_0_id_4ef03930_lang_scss = __webpack_require__("04be");
// CONCATENATED MODULE: ./src/qux/web/Switch.vue
const Switch_exports_ = /*#__PURE__*/exportHelper_default()(Switchvue_type_script_lang_js, [['render',Switchvue_type_template_id_4ef03930_render]])
/* harmony default export */ var Switch = (Switch_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/DropDown.vue?vue&type=template&id=6ba79bc6
var DropDownvue_type_template_id_6ba79bc6_hoisted_1 = {
class: "qux-dropdown-label"
};
var DropDownvue_type_template_id_6ba79bc6_hoisted_2 = {
class: "qux-common-label qux-dropdown-label"
};
var DropDownvue_type_template_id_6ba79bc6_hoisted_3 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
class: "qux-dropdown-expend"
}, [/*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
class: "qux-dropdown-carret"
})], -1);
var DropDownvue_type_template_id_6ba79bc6_hoisted_4 = {
key: 0,
class: "qux-dropdown-popup"
};
var DropDownvue_type_template_id_6ba79bc6_hoisted_5 = ["onMousedown"];
function DropDownvue_type_template_id_6ba79bc6_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-dropdown', _ctx.cssClass, {
'qux-error': _ctx.hasError
}, {
'qux-open': _ctx.isOpen
}, {
'qux-dropdown-mobile': $options.isMobile
}]),
onClick: _cache[0] || (_cache[0] = function () {
return $options.open && $options.open.apply($options, arguments);
})
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", DropDownvue_type_template_id_6ba79bc6_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", DropDownvue_type_template_id_6ba79bc6_hoisted_2, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])($options.selectOption), 1), DropDownvue_type_template_id_6ba79bc6_hoisted_3]), _ctx.isOpen ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", DropDownvue_type_template_id_6ba79bc6_hoisted_4, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])($options.dropDownOption, function (o) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", {
key: o.label,
class: "qux-dropdown-item",
onMousedown: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withModifiers"])(function ($event) {
return $options.select(o);
}, ["stop"])
}, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(o.label), 41, DropDownvue_type_template_id_6ba79bc6_hoisted_5);
}), 128))])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 2);
}
// CONCATENATED MODULE: ./src/qux/web/DropDown.vue?vue&type=template&id=6ba79bc6
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/_DND.vue?vue&type=template&id=ce4a0802
var _DNDvue_type_template_id_ce4a0802_hoisted_1 = {
class: "qux-dnd"
};
function _DNDvue_type_template_id_ce4a0802_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _DNDvue_type_template_id_ce4a0802_hoisted_1);
}
// CONCATENATED MODULE: ./src/qux/web/_DND.vue?vue&type=template&id=ce4a0802
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/_DND.vue?vue&type=script&lang=js
/* harmony default export */ var _DNDvue_type_script_lang_js = ({
name: '_DND',
props: {},
computed: {},
methods: {
on: function on(node, event, callback) {
if (node && node.toLowerCase) {
node = document.getElementById(node);
}
if (node && node.addEventListener) {
node.addEventListener(event, callback);
return {
'callback': callback,
'node': node,
'event': event,
'remove': function remove() {
this.node.removeEventListener(this.event, this.callback);
}
};
} else {
core_Logger.warn('_DNDN.on() > Pass a node of valid id');
}
},
body: function body() {
return document.getElementsByTagName("BODY")[0];
},
position: function position(node) {
var ret = node.getBoundingClientRect();
ret = {
x: ret.left,
y: ret.top,
w: ret.right - ret.left,
h: ret.bottom - ret.top
};
return ret;
},
mouse: function mouse(e) {
var result = {
x: 0,
y: 0
};
if (e) {
if (e.touches && e.touches.length > 0) {
e = e.touches[0];
result.x = e.clientX;
result.y = e.clientY;
} else if (e.changedTouches && e.changedTouches.length > 0) {
e = e.changedTouches[0];
result.x = e.clientX;
result.y = e.clientY;
} else {
result.x = e.pageX;
result.y = e.pageY;
}
}
return result;
},
startDND: function startDND(e, move, up) {
var _this = this;
this._dndStartPos = this.mouse(e);
this._dndMouseUpListener = this.on(this.body(), 'mouseup', function (upEvent) {
_this.endDND(upEvent, up);
});
this._dndMouseMoveListener = this.on(this.body(), 'mousemove', function (moveEvent) {
_this.moveDND(moveEvent, move);
});
},
moveDND: function moveDND(e, move) {
if (move) {
try {
var currentPos = this.mouse(e);
var delta = this.getMouseDelta(this._dndStartPos, currentPos);
move(delta, e);
} catch (err) {
core_Logger.error('_DND.moveDND()', err);
this.cleanDND();
}
}
},
endDND: function endDND(e, up) {
if (up) {
try {
var currentPos = this.mouse(e);
var delta = this.getMouseDelta(this._dndStartPos, currentPos);
up(delta, e);
} catch (err) {
core_Logger.error('_DND.endDND()', err);
}
}
this.cleanDND();
},
getMouseDelta: function getMouseDelta(start, end) {
return {
x: end.x - start.x,
y: end.y - start.y
};
},
cleanDND: function cleanDND() {
if (this._dndMouseUpListener) {
this._dndMouseUpListener.remove();
delete this._dndMouseUpListener;
}
if (this._dndMouseMoveListener) {
this._dndMouseMoveListener.remove();
delete this._dndMouseMoveListener;
}
delete this._dndStartPos;
}
},
destroyed: function destroyed() {
this.cleanDND();
}
});
// CONCATENATED MODULE: ./src/qux/web/_DND.vue?vue&type=script&lang=js
// CONCATENATED MODULE: ./src/qux/web/_DND.vue
const _DND_exports_ = /*#__PURE__*/exportHelper_default()(_DNDvue_type_script_lang_js, [['render',_DNDvue_type_template_id_ce4a0802_render]])
/* harmony default export */ var _DND = (_DND_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/DropDown.vue?vue&type=script&lang=js
/* harmony default export */ var DropDownvue_type_script_lang_js = ({
name: 'qDropDown',
mixins: [_Base, _DND],
data: function data() {
return {
isOpen: false,
selected: null,
hasLabelInOptions: true
};
},
computed: {
isMobile: function isMobile() {
if (this.element && this.element.type === 'MobileDropDown') {
return true;
}
var userAgent = navigator.userAgent || navigator.vendor || window.opera;
return /iPad|iPhone|iPod/.test(userAgent) || /android/i.test(userAgent);
},
dropDownOption: function dropDownOption() {
if (this.element) {
return this.options.map(function (o) {
if (o.toLowerCase || typeof o === 'number') {
return {
label: o,
value: o
};
}
return o;
});
}
return [];
},
selectOption: function selectOption() {
if (this.isDesignSystemRoot) {
return this.value;
}
if (this.element) {
var input = this.dataBindingInput;
if (input) {
var found = this.options.find(function (o) {
return o.value === input;
});
if (found) {
return found.label;
}
return input;
} else {
var option = this.options[0];
if (option.label) {
return option.label;
}
return option;
}
}
return this.selected;
}
},
methods: {
open: function open() {
core_Logger.log(5, 'qDropDown.open()');
this.isOpen = !this.isOpen;
if (this.isOpen) {
this._bodyListener = this.on(this.body(), 'mousedown', this.close);
}
},
close: function close() {
core_Logger.log(5, 'qDropDown.close()');
this.isOpen = false;
if (this._bodyListener) {
this._bodyListener.remove();
}
},
select: function select(option) {
core_Logger.log(5, 'qDropDown.select()', option);
if (this.element) {
this.onValueChange(option.value, 'default');
core_Logger.log(5, 'qDropDown.toggle() >' + this.dataBindingInputPath, option.value);
} else {
this.selected = option.value;
this.$emit('change', this.selected);
this.$emit('update:modelValue', this.selected);
core_Logger.log(5, 'qSwitch.select() >' + this.selected);
}
this.close();
}
},
watch: {},
unmounted: function unmounted() {
this.close();
},
mounted: function mounted() {
core_Logger.log(5, 'qDropDown.mounted() enter');
}
});
// CONCATENATED MODULE: ./src/qux/web/DropDown.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/DropDown.vue?vue&type=style&index=0&id=6ba79bc6&lang=scss
var DropDownvue_type_style_index_0_id_6ba79bc6_lang_scss = __webpack_require__("1c90");
// CONCATENATED MODULE: ./src/qux/web/DropDown.vue
const DropDown_exports_ = /*#__PURE__*/exportHelper_default()(DropDownvue_type_script_lang_js, [['render',DropDownvue_type_template_id_6ba79bc6_render]])
/* harmony default export */ var DropDown = (DropDown_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/TextArea.vue?vue&type=template&id=54ddff53
var TextAreavue_type_template_id_54ddff53_hoisted_1 = ["placeholder", "type", "value"];
function TextAreavue_type_template_id_54ddff53_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("textarea", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-textarea qux-text-input', _ctx.cssClass]),
placeholder: $options.placeholder,
type: $options.type,
onClick: _cache[0] || (_cache[0] = function () {
return _ctx.onClick && _ctx.onClick.apply(_ctx, arguments);
}),
onChange: _cache[1] || (_cache[1] = function () {
return _ctx.onChange && _ctx.onChange.apply(_ctx, arguments);
}),
onKeyup: _cache[2] || (_cache[2] = function () {
return $options.onKeyPress && $options.onKeyPress.apply($options, arguments);
}),
value: _ctx.dataBindingInput
}, null, 42, TextAreavue_type_template_id_54ddff53_hoisted_1);
}
// CONCATENATED MODULE: ./src/qux/web/TextArea.vue?vue&type=template&id=54ddff53
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/TextArea.vue?vue&type=script&lang=js
/* harmony default export */ var TextAreavue_type_script_lang_js = ({
name: 'qTestBox',
mixins: [_Base],
data: function data() {
return {};
},
computed: {
type: function type() {
if (this.element && this.element.type === 'Password') {
return 'password';
}
return 'text';
},
placeholder: function placeholder() {
if (this.element && this.element.props && this.element.props.placeholder) {
return this.element.props.label;
}
return '';
}
},
methods: {
onKeyPress: function onKeyPress(e) {
var value = e.target.value;
this.onValueChange(value, 'default');
this.$emit('qKeyPress', this.element, e);
core_Logger.log(3, 'qTextBox.onKeyPress() > exit', value);
}
},
mounted: function mounted() {
core_Logger.log(5, 'qTextBox.mounted() enter');
}
});
// CONCATENATED MODULE: ./src/qux/web/TextArea.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/TextArea.vue?vue&type=style&index=0&id=54ddff53&lang=scss
var TextAreavue_type_style_index_0_id_54ddff53_lang_scss = __webpack_require__("3ea0");
// CONCATENATED MODULE: ./src/qux/web/TextArea.vue
const TextArea_exports_ = /*#__PURE__*/exportHelper_default()(TextAreavue_type_script_lang_js, [['render',TextAreavue_type_template_id_54ddff53_render]])
/* harmony default export */ var TextArea = (TextArea_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Stepper.vue?vue&type=template&id=5838e59b
var Steppervue_type_template_id_5838e59b_hoisted_1 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
class: "qux-stepper-label"
}, "-", -1);
var Steppervue_type_template_id_5838e59b_hoisted_2 = [Steppervue_type_template_id_5838e59b_hoisted_1];
var Steppervue_type_template_id_5838e59b_hoisted_3 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
class: "qux-stepper-label"
}, " + ", -1);
var Steppervue_type_template_id_5838e59b_hoisted_4 = [Steppervue_type_template_id_5838e59b_hoisted_3];
function Steppervue_type_template_id_5838e59b_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-stepper qux-common-no-select', _ctx.cssClass])
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
class: "qux-stepper-btn qux-stepper-minus",
onClick: _cache[0] || (_cache[0] = function () {
return $options.onMinus && $options.onMinus.apply($options, arguments);
})
}, Steppervue_type_template_id_5838e59b_hoisted_2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
class: "qux-stepper-btn qux-stepper-plus",
onClick: _cache[1] || (_cache[1] = function () {
return $options.onPlus && $options.onPlus.apply($options, arguments);
})
}, Steppervue_type_template_id_5838e59b_hoisted_4)], 2);
}
// CONCATENATED MODULE: ./src/qux/web/Stepper.vue?vue&type=template&id=5838e59b
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Stepper.vue?vue&type=script&lang=js
/* harmony default export */ var Steppervue_type_script_lang_js = ({
name: 'qStepper',
mixins: [_Base],
data: function data() {
return {
count: 0
};
},
methods: {
getCount: function getCount() {
if (this.element) {
var count = this.dataBindingInput;
if (!isNaN(count)) {
return count;
}
}
return this.count;
},
onMinus: function onMinus(e) {
var count = this.getCount();
this.count = count - 1;
this.change();
this.onClick(e);
},
onPlus: function onPlus(e) {
var count = this.getCount();
this.count = count + 1;
this.change();
this.onClick(e);
},
change: function change() {
if (this.element) {
this.onValueChange(this.count, 'default');
} else {
this.$emit('change', this.count);
this.$emit('update:modelValue', this.count);
}
}
},
mounted: function mounted() {
if (this.element && this.element.props && this.element.props.value) {
this.count = this.element.props.value;
}
}
});
// CONCATENATED MODULE: ./src/qux/web/Stepper.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Stepper.vue?vue&type=style&index=0&id=5838e59b&lang=scss
var Steppervue_type_style_index_0_id_5838e59b_lang_scss = __webpack_require__("0974");
// CONCATENATED MODULE: ./src/qux/web/Stepper.vue
const Stepper_exports_ = /*#__PURE__*/exportHelper_default()(Steppervue_type_script_lang_js, [['render',Steppervue_type_template_id_5838e59b_render]])
/* harmony default export */ var Stepper = (Stepper_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Slider.vue?vue&type=template&id=1ec537c2
var Slidervue_type_template_id_1ec537c2_hoisted_1 = {
class: "qux-slider-track"
};
var Slidervue_type_template_id_1ec537c2_hoisted_2 = {
class: "qux-slider-handle-cntr"
};
function Slidervue_type_template_id_1ec537c2_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-slider', _ctx.cssClass]),
onClick: _cache[1] || (_cache[1] = function () {
return $options.onSliderClick && $options.onSliderClick.apply($options, arguments);
})
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", Slidervue_type_template_id_1ec537c2_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
class: "qux-slider-progress",
style: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeStyle"])({
'width': $options.progress + '%'
})
}, null, 4)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", Slidervue_type_template_id_1ec537c2_hoisted_2, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
class: "qux-slider-handle",
style: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeStyle"])({
'left': $options.left
}),
onMousedown: _cache[0] || (_cache[0] = function () {
return $options.onHandleDown && $options.onHandleDown.apply($options, arguments);
})
}, null, 36)])], 2);
}
// CONCATENATED MODULE: ./src/qux/web/Slider.vue?vue&type=template&id=1ec537c2
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Slider.vue?vue&type=script&lang=js
/* harmony default export */ var Slidervue_type_script_lang_js = ({
name: 'qSlider',
mixins: [_Base, _DND],
data: function data() {
return {
count: 0
};
},
computed: {
domPos: function domPos() {
return this.position(this.$el);
},
handleWidth: function handleWidth() {
if (this.element) {
return this.element.style.handleWidth;
}
return 40;
},
minValue: function minValue() {
if (this.element && this.element.props) {
return this.element.props.min;
}
return 0;
},
maxValue: function maxValue() {
if (this.element && this.element.props) {
return this.element.props.max;
}
return 100;
},
left: function left() {
var offSet = this.handleWidth / 2;
var left = this.sliderValue / (this.maxValue - this.minValue);
left = Math.min(1, left);
left = Math.max(0, left);
return "calc(".concat(left * 100, "% - ").concat(offSet, "px)");
},
progress: function progress() {
return this.sliderValue;
},
sliderValue: function sliderValue() {
if (this.element) {
var count = this.dataBindingInput;
if (!isNaN(count)) {
return count;
}
}
return this.count;
}
},
methods: {
onSliderClick: function onSliderClick(e) {
this.setByMouse(e);
this.onClick(e);
},
onHandleDown: function onHandleDown(e) {
var _this = this;
this.startDND(e, function (move, e) {
return _this.setByMouse(e);
});
},
setByMouse: function setByMouse(e) {
var pos = this.domPos;
var mouse = this.mouse(e);
var left = (mouse.x - pos.x) / pos.w;
left = Math.min(1, left);
left = Math.max(0, left);
var value = (this.maxValue - this.minValue) * left;
this.onChange(value);
},
onChange: function onChange(value) {
this.count = Math.round(value);
if (this.element) {
this.onValueChange(this.count, 'default');
this.$emit('qChange', this.element, null, this.count);
} else {
this.$emit('change', this.count);
this.$emit('update:modelValue', this.count);
}
core_Logger.log(5, 'qSlider.onChange() exit > ', this.count);
}
},
mounted: function mounted() {
if (this.element && this.element.props && this.element.props.value) {
this.count = this.element.props.value;
}
}
});
// CONCATENATED MODULE: ./src/qux/web/Slider.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Slider.vue?vue&type=style&index=0&id=1ec537c2&lang=scss
var Slidervue_type_style_index_0_id_1ec537c2_lang_scss = __webpack_require__("8bd9");
// CONCATENATED MODULE: ./src/qux/web/Slider.vue
const Slider_exports_ = /*#__PURE__*/exportHelper_default()(Slidervue_type_script_lang_js, [['render',Slidervue_type_template_id_1ec537c2_render]])
/* harmony default export */ var Slider = (Slider_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Date.vue?vue&type=template&id=2653b0e3
var Datevue_type_template_id_2653b0e3_hoisted_1 = {
class: "qux-date-header"
};
var Datevue_type_template_id_2653b0e3_hoisted_2 = {
class: "qux-common-valign-center"
};
var Datevue_type_template_id_2653b0e3_hoisted_3 = {
class: "qux-date-header-label"
};
var Datevue_type_template_id_2653b0e3_hoisted_4 = {
class: "qux-common-valign-center"
};
var Datevue_type_template_id_2653b0e3_hoisted_5 = {
class: "qux-common-valign-center"
};
var Datevue_type_template_id_2653b0e3_hoisted_6 = {
class: "qux-date-body"
};
var _hoisted_7 = ["onClick"];
function Datevue_type_template_id_2653b0e3_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-date', _ctx.cssClass]),
onClick: _cache[2] || (_cache[2] = function () {
return _ctx.onClick && _ctx.onClick.apply(_ctx, arguments);
})
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", Datevue_type_template_id_2653b0e3_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
class: "qux-date-header-btn",
onClick: _cache[0] || (_cache[0] = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withModifiers"])(function () {
return $options.onBack && $options.onBack.apply($options, arguments);
}, ["stop"]))
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Datevue_type_template_id_2653b0e3_hoisted_2, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])($options.backLabel), 1)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", Datevue_type_template_id_2653b0e3_hoisted_3, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Datevue_type_template_id_2653b0e3_hoisted_4, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])($options.dateLabel), 1)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
class: "qux-date-header-btn",
onClick: _cache[1] || (_cache[1] = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withModifiers"])(function () {
return $options.onNext && $options.onNext.apply($options, arguments);
}, ["stop"]))
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Datevue_type_template_id_2653b0e3_hoisted_5, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])($options.nextLabel), 1)])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", Datevue_type_template_id_2653b0e3_hoisted_6, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("table", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tbody", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tr", null, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.day_names, function (d) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("th", {
key: d,
class: "qux-date-week-days"
}, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(d), 1);
}), 128))]), (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])($options.body, function (week, i) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("tr", {
key: i
}, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(week, function (d, j) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("td", {
key: j,
onClick: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withModifiers"])(function ($event) {
return $options.onSelect(d);
}, ["stop"]),
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])([d.css, {
'qux-date-weekend': d.weekend
}, {
'qux-date-workday': !d.weekend
}])
}, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(d.day), 11, _hoisted_7);
}), 128))]);
}), 128))])])])], 2);
}
// CONCATENATED MODULE: ./src/qux/web/Date.vue?vue&type=template&id=2653b0e3
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Date.vue?vue&type=script&lang=js
/* harmony default export */ var Datevue_type_script_lang_js = ({
name: 'qDate',
mixins: [_Base],
props: ['range'],
data: function data() {
return {
isRange: false,
selected: new Date(),
viewDate: new Date(),
day_names: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
month_names: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
};
},
computed: {
backLabel: function backLabel() {
if (this.element && this.element.props.lastButtonLbl) {
return '<';
}
return '-';
},
nextLabel: function nextLabel() {
if (this.element && this.element.props.nextButtonLbl) {
return '>';
}
return '+';
},
dateLabel: function dateLabel() {
return this.month_names[this.viewDate.getMonth()] + ' ' + this.viewDate.getFullYear();
},
selectedDate: function selectedDate() {
if (this.element) {
var input = this.dataBindingInput;
if (input) {
if (input.start && input.end) {
if (input.start.toLowerCase) {
input.start = Date.parse(input.start);
}
if (input.end.toLowerCase) {
input.end = Date.parse(input.end);
}
}
if (input.toLowerCase) {
input = Date.parse(input);
}
return input;
}
}
return this.selected;
},
body: function body() {
var year = this.viewDate.getFullYear();
var month = this.viewDate.getMonth();
var first = new Date(year, month, 1);
var offset = first.getDay();
var week = [];
var result = []; // male 45 and filter empty last row
for (var i = 0; i < 35; i++) {
if (i % 7 == 0) {
week = [];
result.push(week);
}
var day = {
day: '',
year: year,
month: month,
weekend: false
};
week.push(day);
/**
* Chekc if we are in current month
*/
if (i - offset >= 0) {
day.day = i - offset + 1 + '';
var d1 = new Date(year, month, day.day); // check that we are not in next months
if (d1.getMonth() != month) {
day.day = '';
}
}
if (i % 7 == 0 || i % 7 == 6) {
day.weekend = true;
}
day.css = this.getSelectedCSS(day);
}
return result;
}
},
methods: {
getSelectedCSS: function getSelectedCSS(day) {
if (this.isRange) {
/**
* Check if we have start range
*/
if (this.selected.start) {
var start = this.selected.start;
if (day.year === start.getFullYear() && day.month === start.getMonth() && day.day == start.getDate()) {
return 'qux-date-range-start';
}
}
/**
* Check if end
*/
if (this.selected.end) {
var end = this.selected.end;
if (day.year === end.getFullYear() && day.month === end.getMonth() && day.day == end.getDate()) {
return 'qux-date-range-end';
}
}
/**
* Check if between
*/
if (this.selected.start && this.selected.end) {
var dayMS = this.getMillis(day);
var startMS = this.selected.start.getTime();
var endMS = this.selected.end.getTime();
if (startMS < dayMS && dayMS < endMS) {
return 'qux-date-range-middle';
}
}
} else {
var selected = this.selected;
if (day.year === selected.getFullYear() && day.month === selected.getMonth() && day.day == selected.getDate()) {
return 'qux-date-selected';
}
}
return '';
},
getMillis: function getMillis(day) {
return new Date(day.year, day.month, day.day).getTime();
},
onBack: function onBack() {
var date = this.viewDate;
var day = date.getDay();
var month = date.getMonth();
var year = date.getFullYear();
month--;
if (month < 0) {
month = 11;
year--;
}
this.setView(year, month, day);
},
onNext: function onNext() {
var date = this.viewDate;
var day = date.getDay();
var month = date.getMonth();
var year = date.getFullYear();
month++;
if (month > 11) {
month = 0;
year++;
}
this.setView(year, month, day);
},
setView: function setView(year, month, day) {
this.viewDate = new Date(year, month, day);
},
onSelect: function onSelect(d) {
if (this.isRange) {
if (this.selected.end) {
this.selected.start = new Date(d.year, d.month, d.day), this.selected.end = null;
} else {
this.selected.end = new Date(d.year, d.month, d.day);
if (this.selected.start > this.selected.end) {
var help = this.selected.start;
this.selected.start = this.selected.end;
this.selected.end = help;
}
}
if (this.selected.end) {
core_Logger.log(5, 'qDate.select() > range : ', this.selected);
if (this.element) {
this.onValueChange({
start: this.toIsoString(this.selected.start),
end: this.toIsoString(this.selected.end)
}, 'default');
} else {
this.$emit('change', this.selected);
this.$emit('update:modelValue', this.selected);
}
}
} else {
if (d.day !== '') {
this.selected = new Date(d.year, d.month, d.day);
core_Logger.log(5, 'qDate.select() > date : ', this.selected);
if (this.element) {
/**
* Here is something wrong with UTC offsets
*/
this.onValueChange(this.toIsoString(this.selected), 'default');
} else {
this.$emit('change', this.selected);
this.$emit('update:modelValue', this.selected);
}
}
}
},
toIsoString: function toIsoString(date) {
if (date) {
var month = date.getMonth() + 1;
if (month < 10) {
month = '0' + month;
}
var day = date.getDate();
if (day < 10) {
day = '0' + day;
}
return "".concat(date.getFullYear(), "-").concat(month, "-").concat(day);
}
return null;
}
},
watch: {},
mounted: function mounted() {
if (this.element) {
this.isRange = this.element.props.range;
}
if (this.range === true) {
this.isRange = true;
}
if (this.isRange) {
this.selected = {
start: new Date(),
end: new Date(new Date().getTime() + 86400000 * 4)
};
}
if (!this.element && this.value) {
core_Logger.log(5, 'qDate.mounted() standalone');
this.selected = this.value;
if (this.value.start) {
// copy value to ensure changes are not leaked
this.selected = {
start: this.value.start,
end: this.value.end
};
this.viewDate = this.selected.start;
} else {
this.viewDate = this.value;
}
}
core_Logger.log(0, 'qDate.mounted() enter', this.element);
}
});
// CONCATENATED MODULE: ./src/qux/web/Date.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Date.vue?vue&type=style&index=0&id=2653b0e3&lang=scss
var Datevue_type_style_index_0_id_2653b0e3_lang_scss = __webpack_require__("ae03");
// CONCATENATED MODULE: ./src/qux/web/Date.vue
const Date_exports_ = /*#__PURE__*/exportHelper_default()(Datevue_type_script_lang_js, [['render',Datevue_type_template_id_2653b0e3_render]])
/* harmony default export */ var web_Date = (Date_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/DatePicker.vue?vue&type=template&id=732c8e84
var DatePickervue_type_template_id_732c8e84_hoisted_1 = {
class: "qux-date-picker-expend"
};
var DatePickervue_type_template_id_732c8e84_hoisted_2 = {
key: 1,
class: "qux-date-picker-carret"
};
function DatePickervue_type_template_id_732c8e84_render(_ctx, _cache, $props, $setup, $data, $options) {
var _component_qDate = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("qDate");
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-date-picker', _ctx.cssClass, {
'qux-error': _ctx.hasError
}, {
'qux-open': _ctx.isOpen
}]),
onClick: _cache[2] || (_cache[2] = function () {
return $options.open && $options.open.apply($options, arguments);
})
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-common-label', {
'qux-common-placeholder': !$options.hasValue
}])
}, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])($options.selectedLabel), 3), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", DatePickervue_type_template_id_732c8e84_hoisted_1, [$options.icon ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", {
key: 0,
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])($options.icon + ' qux-date-picker-icon')
}, null, 2)) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", DatePickervue_type_template_id_732c8e84_hoisted_2))]), _ctx.isOpen ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
key: 0,
class: "qux-date-picker-popup",
onClick: _cache[0] || (_cache[0] = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withModifiers"])(function () {}, ["stop"])),
onMousedown: _cache[1] || (_cache[1] = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withModifiers"])(function () {}, ["stop"]))
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_qDate, {
onChange: $options.select,
range: _ctx.isRange,
value: $options.selectedDate
}, null, 8, ["onChange", "range", "value"])], 32)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 2);
}
// CONCATENATED MODULE: ./src/qux/web/DatePicker.vue?vue&type=template&id=732c8e84
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/DatePicker.vue?vue&type=script&lang=js
/* harmony default export */ var DatePickervue_type_script_lang_js = ({
name: 'qDatePicker',
mixins: [_Base, _DND],
data: function data() {
return {
isRange: false,
isOpen: false,
selected: null
};
},
components: {
'qDate': web_Date
},
computed: {
icon: function icon() {
if (this.element) {
if (this.element.props.icon) {
return this.element.props.icon;
}
}
return false;
},
dropDownOption: function dropDownOption() {
if (this.element) {
return this.options.map(function (o) {
if (o.toLowerCase) {
return {
label: o,
value: o
};
}
return o;
});
}
return [];
},
selectedDate: function selectedDate() {
if (this.element) {
var input = this.dataBindingInput;
if (input) {
return input;
}
}
return this.selected;
},
selectedLabel: function selectedLabel() {
if (this.element) {
var input = this.dataBindingInput;
if (input) {
if (input.start && input.end) {
return this.toDateString(input.start) + ' - ' + this.toDateString(input.end);
}
if (input.toLowerCase) {
input = Date.parse(input);
}
return this.toDateString(input);
}
}
if (this.selected) {
if (this.selected.start && this.selected.end) {
return this.toDateString(this.selected.start) + ' - ' + this.toDateString(this.selected.end);
}
return this.toDateString(this.selected);
}
return this.label;
},
hasValue: function hasValue() {
if (this.element) {
var input = this.dataBindingInput;
return input !== null && input !== undefined;
}
return this.selected !== null && this.selected !== undefined;
}
},
methods: {
open: function open() {
core_Logger.log(5, 'qDatePicker.open()');
this.isOpen = !this.isOpen;
if (this.isOpen) {
this._bodyListener = this.on(this.body(), 'mousedown', this.close);
}
},
close: function close() {
core_Logger.log(5, 'qDatePicker.close()');
this.isOpen = false;
if (this._bodyListener) {
this._bodyListener.remove();
}
},
select: function select(selected) {
if (this.element) {
this.onValueChange(selected, 'default');
core_Logger.log(5, 'qDatePicker.toggle() >' + this.dataBindingInputPath, selected);
} else {
this.selected = selected;
this.$emit('change', this.selected);
this.$emit('update:modelValue', this.selected);
core_Logger.log(5, 'qDatePicker.select() >', this.selected);
}
setTimeout(this.close, 250);
},
toDateString: function toDateString(d) {
if (d && d.toLocaleDateString) {
return d.toLocaleDateString();
}
return '';
}
},
watch: {},
unmounted: function unmounted() {
this.close();
},
mounted: function mounted() {
if (this.element) {
this.isRange = this.element.props.range;
}
if (this.range === true) {
this.isRange = true;
}
core_Logger.log(5, 'qDatePicker.mounted() enter', this.element);
}
});
// CONCATENATED MODULE: ./src/qux/web/DatePicker.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/DatePicker.vue?vue&type=style&index=0&id=732c8e84&lang=scss
var DatePickervue_type_style_index_0_id_732c8e84_lang_scss = __webpack_require__("c151");
// CONCATENATED MODULE: ./src/qux/web/DatePicker.vue
const DatePicker_exports_ = /*#__PURE__*/exportHelper_default()(DatePickervue_type_script_lang_js, [['render',DatePickervue_type_template_id_732c8e84_render]])
/* harmony default export */ var DatePicker = (DatePicker_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Segment.vue?vue&type=template&id=06af407c
var Segmentvue_type_template_id_06af407c_hoisted_1 = ["onClick"];
var Segmentvue_type_template_id_06af407c_hoisted_2 = {
class: "qux-segment-item-label"
};
function Segmentvue_type_template_id_06af407c_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-segment', _ctx.cssClass])
}, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])($options.segmentOptions, function (option) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-segment-item', {
'qux-segment-item-selected': $options.isChecked(option)
}]),
key: option.value,
onClick: function onClick($event) {
return $options.select(option);
}
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Segmentvue_type_template_id_06af407c_hoisted_2, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(option.label), 1)], 10, Segmentvue_type_template_id_06af407c_hoisted_1);
}), 128))], 2);
}
// CONCATENATED MODULE: ./src/qux/web/Segment.vue?vue&type=template&id=06af407c
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Segment.vue?vue&type=script&lang=js
//import Vue from 'vue'
/* harmony default export */ var Segmentvue_type_script_lang_js = ({
name: 'qStepper',
mixins: [_Base],
data: function data() {
return {
selected: null
};
},
computed: {
segmentOptions: function segmentOptions() {
if (this.element) {
return this.options.map(function (o) {
if (o.toLowerCase) {
return {
label: o,
value: o
};
}
return o;
});
}
return [];
},
isMultiSelect: function isMultiSelect() {
if (this.element) {
return this.element.props.multi;
}
return false;
}
},
methods: {
isChecked: function isChecked(option) {
var input = this.dataBindingInput;
if (input) {
if (this.isMultiSelect) {
core_Logger.log(5, 'qSegmentButton.isChecked() > Mutli : ' + option.value, input);
return input.indexOf(option.value) >= 0;
} else {
core_Logger.log(5, 'qSegmentButton.isChecked() > Single : ' + option.value, input);
return input === option.value;
}
}
return false;
},
select: function select(option) {
var value = option.value;
if (this.isMultiSelect) {
var input = this.dataBindingInput;
if (input) {
if (!Array.isArray(input)) {
input = [input];
}
var pos = input.indexOf(value);
if (pos < 0) {
input.push(value);
} else {
input = input.filter(function (item) {
return item !== option;
}); //Vue.delete(input, pos)
}
} else {
input = [value];
}
this.onValueChange(input, 'default');
core_Logger.log(5, 'qSegmentButton.select() > Single: ' + this.dataBindingInputPath);
} else {
this.onValueChange(value, 'default');
core_Logger.log(5, 'qSegmentButton.select() > Single: ' + this.dataBindingInputPath, value);
}
}
},
mounted: function mounted() {}
});
// CONCATENATED MODULE: ./src/qux/web/Segment.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Segment.vue?vue&type=style&index=0&id=06af407c&lang=scss
var Segmentvue_type_style_index_0_id_06af407c_lang_scss = __webpack_require__("fc9f");
// CONCATENATED MODULE: ./src/qux/web/Segment.vue
const Segment_exports_ = /*#__PURE__*/exportHelper_default()(Segmentvue_type_script_lang_js, [['render',Segmentvue_type_template_id_06af407c_render]])
/* harmony default export */ var Segment = (Segment_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Rating.vue?vue&type=template&id=6338593b
var Ratingvue_type_template_id_6338593b_hoisted_1 = ["onClick"];
function Ratingvue_type_template_id_6338593b_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-rating', _ctx.cssClass])
}, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.ratingOptions, function (option) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-rating-icon']),
onClick: function onClick($event) {
return $options.select(option);
},
key: option
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])($options.getIcon(option))
}, null, 2)], 8, Ratingvue_type_template_id_6338593b_hoisted_1);
}), 128))], 2);
}
// CONCATENATED MODULE: ./src/qux/web/Rating.vue?vue&type=template&id=6338593b
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Rating.vue?vue&type=script&lang=js
/* harmony default export */ var Ratingvue_type_script_lang_js = ({
name: 'qRadioGroup',
mixins: [_Base],
data: function data() {
return {
selected: null,
ratingOptions: [1, 2, 3, 4, 5]
};
},
methods: {
getIcon: function getIcon(option) {
var input = this.dataBindingInput;
core_Logger.log(5, 'qRating.isChecked() >' + option, input);
if (input) {
if (input >= option) {
return 'mdi mdi-star';
}
}
return 'mdi mdi-star-outline';
},
select: function select(option) {
this.onValueChange(option, 'default');
core_Logger.log(5, 'qRating.select() >' + this.dataBindingInputPath, option);
}
},
mounted: function mounted() {
core_Logger.log(5, 'qRating.mounted() enter');
}
});
// CONCATENATED MODULE: ./src/qux/web/Rating.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Rating.vue?vue&type=style&index=0&id=6338593b&lang=scss
var Ratingvue_type_style_index_0_id_6338593b_lang_scss = __webpack_require__("783a");
// CONCATENATED MODULE: ./src/qux/web/Rating.vue
const Rating_exports_ = /*#__PURE__*/exportHelper_default()(Ratingvue_type_script_lang_js, [['render',Ratingvue_type_template_id_6338593b_render]])
/* harmony default export */ var Rating = (Rating_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/IconToggle.vue?vue&type=template&id=ee87e65e
var IconTogglevue_type_template_id_ee87e65e_hoisted_1 = {
key: 0,
class: "qux-icon-toggle-label"
};
function IconTogglevue_type_template_id_ee87e65e_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-icon-toggle', _ctx.cssClass, {
'qux-icon-toggle-selected': $options.isSelected
}]),
onClick: _cache[0] || (_cache[0] = function () {
return $options.toggle && $options.toggle.apply($options, arguments);
})
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-icon', $options.icon])
}, null, 2), _ctx.label ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", IconTogglevue_type_template_id_ee87e65e_hoisted_1, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.label), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 2);
}
// CONCATENATED MODULE: ./src/qux/web/IconToggle.vue?vue&type=template&id=ee87e65e
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/IconToggle.vue?vue&type=script&lang=js
/* harmony default export */ var IconTogglevue_type_script_lang_js = ({
name: 'qIconToggle',
mixins: [_Base],
data: function data() {
return {
checked: false
};
},
computed: {
isSelected: function isSelected() {
if (this.element) {
var input = this.dataBindingInput;
return input;
}
return this.checked;
},
icon: function icon() {
if (this.element) {
var input = this.dataBindingInput;
if (input) {
return this.element.props.activeIcon;
} else {
return this.element.props.passiveIcon;
}
}
return '';
}
},
methods: {
toggle: function toggle() {
if (this.element) {
var value = !this.isSelected;
this.onValueChange(value, 'default');
core_Logger.log(1, 'qIconToggle.toggle() >' + this.dataBindingInputPath, value);
} else {
this.checked = !this.checked;
this.$emit('change', this.checked);
this.$emit('update:modelValue', this.checked);
core_Logger.log(5, 'qIconToggle.toggle() >' + this.checked);
}
}
},
mounted: function mounted() {}
});
// CONCATENATED MODULE: ./src/qux/web/IconToggle.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/IconToggle.vue?vue&type=style&index=0&id=ee87e65e&lang=scss
var IconTogglevue_type_style_index_0_id_ee87e65e_lang_scss = __webpack_require__("3f27");
// CONCATENATED MODULE: ./src/qux/web/IconToggle.vue
const IconToggle_exports_ = /*#__PURE__*/exportHelper_default()(IconTogglevue_type_script_lang_js, [['render',IconTogglevue_type_template_id_ee87e65e_render]])
/* harmony default export */ var IconToggle = (IconToggle_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Combo.vue?vue&type=template&id=5ada1a2c
var Combovue_type_template_id_5ada1a2c_hoisted_1 = ["placeholder"];
var Combovue_type_template_id_5ada1a2c_hoisted_2 = {
key: 0,
class: "qux-combo-popup"
};
var Combovue_type_template_id_5ada1a2c_hoisted_3 = ["onMousedown"];
function Combovue_type_template_id_5ada1a2c_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-combo', _ctx.cssClass, {
'qux-error': _ctx.hasError
}, {
'qux-open': _ctx.isOpen
}])
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", {
class: "qux-combo-input",
onKeyup: _cache[0] || (_cache[0] = function () {
return $options.onKeyPress && $options.onKeyPress.apply($options, arguments);
}),
"onUpdate:modelValue": _cache[1] || (_cache[1] = function ($event) {
return _ctx.inputValue = $event;
}),
placeholder: $options.placeholder,
onChange: _cache[2] || (_cache[2] = function () {
return $options.onInputChange && $options.onInputChange.apply($options, arguments);
}),
onBlur: _cache[3] || (_cache[3] = function () {
return $options.onBlur && $options.onBlur.apply($options, arguments);
}),
ref: "comboInput"
}, null, 40, Combovue_type_template_id_5ada1a2c_hoisted_1), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vModelText"], _ctx.inputValue]]), _ctx.isOpen && _ctx.matches.length > 0 ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", Combovue_type_template_id_5ada1a2c_hoisted_2, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.matches, function (o, i) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", {
key: o.label,
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-combo-item', {
'qux-combo-item-selected': i === _ctx.selectedIndex
}]),
onMousedown: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withModifiers"])(function ($event) {
return $options.select(o);
}, ["stop"])
}, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(o.label), 43, Combovue_type_template_id_5ada1a2c_hoisted_3);
}), 128))])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 2);
}
// CONCATENATED MODULE: ./src/qux/web/Combo.vue?vue&type=template&id=5ada1a2c
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Combo.vue?vue&type=script&lang=js
/* harmony default export */ var Combovue_type_script_lang_js = ({
name: "qCombo",
mixins: [_Base, _DND],
data: function data() {
return {
inputValue: "",
isOpen: false,
selected: null,
matches: [],
selectedIndex: -1
};
},
computed: {
placeholder: function placeholder() {
if (this.element && this.element.props && this.element.props.placeholder) {
return this.element.props.label;
}
return '';
},
hints: function hints() {
return this.options.map(function (o) {
if (o.toLowerCase) {
return {
label: o,
value: o
};
}
return o;
});
},
selectOption: function selectOption() {
if (this.element) {
var input = this.dataBindingInput;
if (input) {
return input;
} else {
return this.options[0];
}
}
return this.selected;
}
},
methods: {
onKeyPress: function onKeyPress(e) {
if (this.inputValue.length > 2) {
var search = this.inputValue.toLowerCase();
this.matches = this.hints.filter(function (hint) {
return hint.label.toLowerCase().indexOf(search) >= 0;
});
if (this.matches.length > 0) {
this.open();
this.handleArrows(e);
}
} else {
this.close();
}
},
handleArrows: function handleArrows(e) {
var key = e.which || e.keyCode;
if (40 == key) {
this.selectedIndex = Math.min(this.matches.length, this.selectedIndex + 1);
return;
}
if (38 == key) {
this.selectedIndex = Math.max(-1, this.selectedIndex - 1);
return;
}
if (27 == key) {
this.onInputChange();
this.close();
return;
}
if (13 == key) {
core_Logger.log(-5, "qCombo.handleArrows()", this.selectedIndex, this.matches);
if (this.selectedIndex >= 0 && this.selectedIndex < this.matches.length) {
this.select(this.matches[this.selectedIndex]);
return;
}
this.onInputChange();
this.close();
return;
}
this.selectedIndex = -1;
},
blur: function blur() {
if (this.$refs.comboInput) {
this.$refs.comboInput.blur();
}
},
onBlur: function onBlur() {
this.onInputChange();
this.close();
},
open: function open() {
core_Logger.log(5, "qCombo.open()");
this.isOpen = true;
if (this.isOpen) {
this._bodyListener = this.on(this.body(), "mousedown", this.close);
}
},
close: function close() {
core_Logger.log(-5, "qCombo.close()");
this.isOpen = false;
this.selectedIndex = -1;
if (this._bodyListener) {
this._bodyListener.remove();
}
},
onInputChange: function onInputChange() {
core_Logger.log(-5, "qCombo.onInputChange()", this.inputValue);
if (this.element) {
this.onValueChange(this.inputValue, "default");
} else {
this.selected = this.inputValue;
this.$emit("change", this.selected);
this.$emit("input", this.selected);
}
},
select: function select(option) {
core_Logger.log(-5, "qCombo.select()", option.value);
if (this.element) {
this.onValueChange(option.value, "default");
core_Logger.log(5, "qCombo.toggle() >" + this.dataBindingInputPath, option.value);
} else {
this.selected = option.value;
this.$emit("change", this.selected);
this.$emit("input", this.selected);
core_Logger.log(5, "qCombo.select() >" + this.selected);
}
this.inputValue = option.label;
this.close();
}
},
watch: {},
destroyed: function destroyed() {
this.close();
},
mounted: function mounted() {
core_Logger.log(1, "qCombo.mounted() enter", this.value);
if (!this.element) {
this.inputValue = this.value;
}
}
});
// CONCATENATED MODULE: ./src/qux/web/Combo.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Combo.vue?vue&type=style&index=0&id=5ada1a2c&lang=scss
var Combovue_type_style_index_0_id_5ada1a2c_lang_scss = __webpack_require__("dbbf");
// CONCATENATED MODULE: ./src/qux/web/Combo.vue
const Combo_exports_ = /*#__PURE__*/exportHelper_default()(Combovue_type_script_lang_js, [['render',Combovue_type_template_id_5ada1a2c_render]])
/* harmony default export */ var Combo = (Combo_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Table.vue?vue&type=template&id=69078851
var Tablevue_type_template_id_69078851_hoisted_1 = ["onClick"];
var Tablevue_type_template_id_69078851_hoisted_2 = {
key: 0,
class: "mdi mdi-chevron-down"
};
var Tablevue_type_template_id_69078851_hoisted_3 = {
key: 1,
class: "mdi mdi-chevron-up"
};
var Tablevue_type_template_id_69078851_hoisted_4 = {
key: 0,
class: "qux-table-cell"
};
var Tablevue_type_template_id_69078851_hoisted_5 = {
key: 1,
class: "qux-table-action-cntr"
};
var Tablevue_type_template_id_69078851_hoisted_6 = ["onClick"];
function Tablevue_type_template_id_69078851_render(_ctx, _cache, $props, $setup, $data, $options) {
var _component_CheckBox = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("CheckBox");
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-table', _ctx.cssClass])
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("table", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("thead", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tr", null, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])($options.columns, function (col) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("th", {
key: col.id,
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])('qux-table-cell qux-table-column-' + col.id),
onClick: function onClick($event) {
return $options.sortBy(col);
}
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(col.label) + " ", 1), _ctx.sortColumn.id == col.id && _ctx.sortOrder === 'asc' ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", Tablevue_type_template_id_69078851_hoisted_2)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.sortColumn.id == col.id && _ctx.sortOrder !== 'asc' ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", Tablevue_type_template_id_69078851_hoisted_3)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 10, Tablevue_type_template_id_69078851_hoisted_1);
}), 128))])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tbody", null, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])($options.sortedRows, function (row) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("tr", {
key: row.id,
class: "qux-table-row"
}, [$options.hasCheckBox ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("td", Tablevue_type_template_id_69078851_hoisted_4, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_CheckBox, {
value: $options.isRowSelected(row),
onChange: function onChange($event) {
return $options.selectRow(row);
}
}, null, 8, ["value", "onChange"])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(row.values, function (value, i) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("td", {
key: i,
class: "qux-table-cell"
}, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(value), 1);
}), 128)), $options.hasActions ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("td", Tablevue_type_template_id_69078851_hoisted_5, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])($options.actions, function (action, i) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("a", {
onClick: function onClick($event) {
return $options.onActionClick(action, row);
},
key: action.label,
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-table-action', 'qux-table-action-' + i, {
'qux-table-action-hover': action.isHover
}])
}, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(action.label), 11, Tablevue_type_template_id_69078851_hoisted_6);
}), 128))])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)]);
}), 128))])])], 2);
}
// CONCATENATED MODULE: ./src/qux/web/Table.vue?vue&type=template&id=69078851
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Table.vue?vue&type=script&lang=js
/* harmony default export */ var Tablevue_type_script_lang_js = ({
name: 'qTable',
mixins: [_Base],
data: function data() {
return {
'selected': [],
'sortColumn': '',
'sortOrder': 'arc'
};
},
components: {
'CheckBox': CheckBox
},
computed: {
columns: function columns() {
if (this.element) {
var columns = [];
if (this.element.props.columns && this.element.props.columns.length > 0) {
columns = this.element.props.columns.map(function (col) {
return col.label;
});
} else {
var data = this.parseData(this.element.props.data);
columns = data[0];
}
var offset = 0;
if (this.hasCheckBox) {
columns.unshift('');
offset = 1;
}
if (this.hasActions) {
columns.push('');
}
return columns.map(function (col, i) {
return {
id: i,
label: col,
key: i - offset
};
});
}
return [];
},
hasCheckBox: function hasCheckBox() {
if (this.element) {
return this.element.style.checkBox === true;
}
return false;
},
hasActions: function hasActions() {
if (this.element) {
return this.element.props.tableActions && this.element.props.tableActions.length > 0;
}
return false;
},
actions: function actions() {
if (this.element) {
return this.element.props.tableActions;
}
return [];
},
sortedRows: function sortedRows() {
var _this = this;
if (this.sortColumn) {
var key = this.sortColumn.key;
var rows = this.rows;
return rows.sort(function (a, b) {
var valueA = a.values[key];
var valueB = b.values[key];
if (valueA.localeCompare && valueB.localeCompare) {
if (_this.sortOrder === 'asc') {
return valueA.localeCompare(valueB);
} else {
return valueB.localeCompare(valueA);
}
}
if (_this.sortOrder === 'asc') {
return valueA - valueB;
} else {
return valueB - valueA;
}
});
}
return this.rows;
},
rows: function rows() {
var dataBindingInput = this.dataBindingInput;
if (dataBindingInput && Array.isArray(dataBindingInput)) {
if (this.element && this.element.props && this.element.props.columns && this.element.props.columns.length > 0) {
var cols = this.element.props.columns;
return dataBindingInput.map(function (row, i) {
var values = cols.map(function (col) {
if (row[col.databinding] !== undefined) {
return row[col.databinding];
}
return '';
});
return {
id: i,
values: values,
obj: row
};
});
}
return dataBindingInput;
} else {
if (this.element) {
var data = this.parseData(this.element.props.data);
return data.filter(function (row, i) {
return i > 0;
}).map(function (row, i) {
return {
id: i,
values: row,
obj: row
};
});
}
}
return [];
}
},
methods: {
sortBy: function sortBy(col) {
core_Logger.log(0, 'qTable.sortBy() enter > ', col);
this.sortColumn = col;
if (this.sortOrder === 'asc') {
this.sortOrder = 'desc';
} else {
this.sortOrder = 'asc';
}
},
onActionClick: function onActionClick(action, row) {
core_Logger.log(5, 'qTable.onActionClick() enter > ' + action.label, row);
this.$emit('qCallback', this.element, {
callback: action.callback,
params: row.obj
});
},
selectRow: function selectRow(row) {
var _this2 = this;
var pos = this.selected.indexOf(row.id);
if (pos < 0) {
this.selected.push(row.id);
} else {
this.$delete(this.selected, pos);
}
var databinding = this.dataBinding;
if (databinding.output) {
var values = this.rows.filter(function (row) {
return _this2.selected.indexOf(row.id) >= 0;
}).map(function (row) {
return row.obj;
});
this.onValueChange(values, 'output');
}
},
isRowSelected: function isRowSelected(row) {
return this.selected.indexOf(row.id) >= 0;
},
parseData: function parseData(data) {
/**
* for now assume csv
*/
if (data.substring) {
var table = [];
var lines = data.split("\n");
for (var i = 0; i < lines.length; i++) {
var line = lines[i];
table.push(line.split(","));
}
return table;
} else {
return data;
}
}
},
mounted: function mounted() {
core_Logger.log(5, 'qTable.mounted() enter');
}
});
// CONCATENATED MODULE: ./src/qux/web/Table.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Table.vue?vue&type=style&index=0&id=69078851&lang=scss
var Tablevue_type_style_index_0_id_69078851_lang_scss = __webpack_require__("d63c");
// CONCATENATED MODULE: ./src/qux/web/Table.vue
const Table_exports_ = /*#__PURE__*/exportHelper_default()(Tablevue_type_script_lang_js, [['render',Tablevue_type_template_id_69078851_render]])
/* harmony default export */ var Table = (Table_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Paging.vue?vue&type=template&id=2fa03020
var Pagingvue_type_template_id_2fa03020_hoisted_1 = {
class: /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])('qux-common-label')
};
var Pagingvue_type_template_id_2fa03020_hoisted_2 = ["onClick"];
var Pagingvue_type_template_id_2fa03020_hoisted_3 = {
class: /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])('qux-common-label ')
};
var Pagingvue_type_template_id_2fa03020_hoisted_4 = {
class: /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])('qux-common-label ')
};
function Pagingvue_type_template_id_2fa03020_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-paging qux-common-no-select', _ctx.cssClass])
}, [$options.hasBack ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", {
key: 0,
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])('qux-paging-item ' + $options.valign),
onClick: _cache[0] || (_cache[0] = function () {
return $options.onBack && $options.onBack.apply($options, arguments);
})
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Pagingvue_type_template_id_2fa03020_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])($options.backIcon)
}, null, 2)])], 2)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])($options.pages, function (page) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-paging-item', {
'qux-paging-item-active': $options.isChecked(page)
}, $options.valign]),
key: page.value,
onClick: function onClick($event) {
return $options.onSelect(page);
}
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Pagingvue_type_template_id_2fa03020_hoisted_3, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(page.label), 1)], 10, Pagingvue_type_template_id_2fa03020_hoisted_2);
}), 128)), $options.hasNext ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", {
key: 1,
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])('qux-paging-item ' + $options.valign),
onClick: _cache[1] || (_cache[1] = function () {
return $options.onNext && $options.onNext.apply($options, arguments);
})
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Pagingvue_type_template_id_2fa03020_hoisted_4, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])($options.nextIcon)
}, null, 2)])], 2)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 2);
}
// CONCATENATED MODULE: ./src/qux/web/Paging.vue?vue&type=template&id=2fa03020
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Paging.vue?vue&type=script&lang=js
//import Vue from 'vue'
/* harmony default export */ var Pagingvue_type_script_lang_js = ({
name: 'qStepper',
mixins: [_Base],
data: function data() {
return {
selected: 0,
offset: 0
};
},
computed: {
selectedValue: function selectedValue() {
if (this.element) {
var dataBindig = this.dataBinding;
if (dataBindig && dataBindig.output) {
return core_JSONPath.get(this.value, dataBindig.output);
}
}
return this.selected;
},
maxValue: function maxValue() {
var dataBindig = this.dataBinding;
if (dataBindig && dataBindig.elements) {
return core_JSONPath.get(this.value, dataBindig.elements);
}
if (this.element) {
return this.element.props.max;
}
return 0;
},
hasBack: function hasBack() {
return this.offset > 0;
},
backIcon: function backIcon() {
if (this.element) {
return this.element.props.iconBack;
}
return '';
},
nextIcon: function nextIcon() {
if (this.element) {
return this.element.props.iconNext;
}
return '';
},
hasNext: function hasNext() {
return this.numberofVisibleElements + this.offset < this.maxValue;
},
numberofVisibleElements: function numberofVisibleElements() {
if (this.element) {
return this.getNumberOfVisibleElements(this.element, this.element.style, this.element.w);
}
return 0;
},
valign: function valign() {
if (this.element.style && this.element.style.verticalAlign) {
return "qux-valign-".concat(this.element.style.verticalAlign, " ");
}
return '';
},
pages: function pages() {
var pages = [];
for (var i = 0; i < this.numberofVisibleElements; i++) {
pages.push({
value: this.offset + i,
label: this.offset + i + 1
});
}
return pages;
}
},
methods: {
onBack: function onBack() {
core_Logger.log(0, 'QPaging', 'onBack');
this.offset -= this.numberofVisibleElements;
if (this.offset < 2) {
this.offset = 0;
}
},
onNext: function onNext() {
core_Logger.log(0, 'QPaging', 'onNext');
this.offset += this.numberofVisibleElements;
if (this.offset > this.maxValue - this.numberofVisibleElements) {
this.offset = this.maxValue - this.numberofVisibleElements;
}
},
onSelect: function onSelect(page) {
core_Logger.log(1, 'QPaging', 'onSelect', page.value);
this.onValueChange(page.value, 'output');
this.selected = page.value;
},
isChecked: function isChecked(page) {
return page.value === this.selectedValue;
},
getNumberOfVisibleElements: function getNumberOfVisibleElements(model, style, width) {
// keep in szyn
var elementWidth = style.fontSize * 2;
var numberofVisibleElements = Math.round(width * 0.9 / elementWidth) - 1;
numberofVisibleElements = Math.min(numberofVisibleElements, model.props.max);
if (model.props.maxVisisble > 1) {
numberofVisibleElements = Math.min(numberofVisibleElements, model.props.maxVisisble);
}
if (this.offset > 0) {
numberofVisibleElements--;
}
return numberofVisibleElements;
}
},
mounted: function mounted() {
core_Logger.log(3, 'QPaging', 'mounted');
}
});
// CONCATENATED MODULE: ./src/qux/web/Paging.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Paging.vue?vue&type=style&index=0&id=2fa03020&lang=scss
var Pagingvue_type_style_index_0_id_2fa03020_lang_scss = __webpack_require__("ed76");
// CONCATENATED MODULE: ./src/qux/web/Paging.vue
const Paging_exports_ = /*#__PURE__*/exportHelper_default()(Pagingvue_type_script_lang_js, [['render',Pagingvue_type_template_id_2fa03020_render]])
/* harmony default export */ var Paging = (Paging_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Chart.vue?vue&type=template&id=14b478fc
var Chartvue_type_template_id_14b478fc_hoisted_1 = ["src"];
function Chartvue_type_template_id_14b478fc_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-chart', _ctx.cssClass, 'qux-chart-' + $options.chartType])
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("img", {
src: $options.chartImage
}, null, 8, Chartvue_type_template_id_14b478fc_hoisted_1)], 2);
}
// CONCATENATED MODULE: ./src/qux/web/Chart.vue?vue&type=template&id=14b478fc
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Chart.vue?vue&type=script&lang=js
/* harmony default export */ var Chartvue_type_script_lang_js = ({
name: 'qBarCHart',
mixins: [_Base],
data: function data() {
return {
scaleFactor: 1
};
},
computed: {
chartType: function chartType() {
if (this.element) {
return this.element.type;
}
return '';
},
chartImage: function chartImage() {
if (this.element) {
var url = this.render(this.element, this.element.style, this.chartData, this.chartValue);
return url;
}
return '';
},
chartData: function chartData() {
var input = this.dataBindingInput;
if (input) {
return input;
}
if (this.element && this.element.props) {
return this.element.props.data;
}
return [];
},
chartValue: function chartValue() {
var input = this.dataBindingInput;
if (input !== null && input !== undefined) {
return input;
}
if (this.element && this.element.props) {
return this.element.props.value;
}
return 0;
}
},
methods: {
render: function render(model, style, data, value) {
if (model.type == "BarChart") {
if (model.props.isHorizontal) {
return this.renderHorizontal(model, style, data, value);
} else if (model.props.isLine) {
return this.renderLine(model, style, data, value);
} else {
return this.renderVertical(model, style, data, value);
}
} else if (model.type == "RingChart") {
return this.renderRing(model, style, data, value);
} else if (model.type == "MultiRingChart") {
var r = Math.round(Math.min(model.w, model.h) / 2);
var width = Math.min(r, style.lineWidth * this.scaleFactor);
return this.renderPie(model, style, data, width);
} else if (model.type == "PieChart") {
var _width = Math.min(model.w, model.h) / 2;
return this.renderPie(model, style, data, _width);
} else {
console.warn("render() > Not supported type : " + model.type);
}
},
renderRing: function renderRing(model, style, data, p) {
if (p > 1) {
p = p / 100;
}
var w = model.w * this.scaleFactor;
var h = model.h * this.scaleFactor;
var canvas = document.createElement("canvas");
canvas.width = w;
canvas.height = h; // let n = 0.5;
var x = Math.round(Math.min(w, h) / 2);
var width = Math.min(x, style.lineWidth * this.scaleFactor);
var ctx = canvas.getContext("2d");
ctx.beginPath();
var s = this.degreesToRadians(p * 360);
var e = this.degreesToRadians(360);
ctx.arc(x, x, x - width / 2, s, e);
ctx.strokeStyle = style.background;
ctx.lineWidth = width;
ctx.stroke();
ctx.beginPath();
s = this.degreesToRadians(0);
e = this.degreesToRadians(360 * p);
ctx.arc(x, x, x - width / 2, s, e);
ctx.strokeStyle = style.color;
ctx.lineWidth = width;
ctx.stroke();
return canvas.toDataURL("image/png");
},
renderPie: function renderPie(model, style, data, width) {
var w = model.w * this.scaleFactor;
var h = model.h * this.scaleFactor;
var canvas = document.createElement("canvas");
canvas.width = w;
canvas.height = h;
var x = Math.round(Math.min(w, h) / 2);
/**
* ToDo: Check if array of arrays or simple array
*/
var row = data[0];
var sum = 0;
for (var i = 0; i < row.length; i++) {
sum += row[i] * 1;
}
var ctx = canvas.getContext("2d");
var lastP = 0;
for (var _i = 0; _i < row.length; _i++) {
var v = row[_i];
var p = v / sum + lastP;
ctx.beginPath();
var s = this.degreesToRadians(lastP * 360);
var e = this.degreesToRadians(360 * p);
ctx.arc(x, x, x - width / 2, s, e);
if (style["background" + _i]) {
ctx.strokeStyle = style["background" + _i];
}
ctx.strokeStyle = style.color;
ctx.lineWidth = width;
ctx.stroke();
lastP += v / sum;
}
return canvas.toDataURL("image/png");
},
degreesToRadians: function degreesToRadians(degrees) {
return degrees * (Math.PI / 180) - Math.PI / 2;
},
renderLine: function renderLine(model, style, data) {
data = this.flip(data);
var w = model.w * this.scaleFactor;
var h = model.h * this.scaleFactor;
var canvas = document.createElement("canvas");
canvas.width = w;
canvas.height = h;
var n = 0.5;
var ctx = canvas.getContext("2d");
/**
* Render lines
*/
for (var r = 0; r < data.length; r++) {
var row = data[r];
var step = Math.round(w / (row.length - 1));
ctx.beginPath();
var y = 0;
for (var c = 0; c < row.length; c++) {
var v = row[c];
y = h - Math.round(v * 1 / this.max * h);
if (c == 0) {
ctx.moveTo(n, y + n);
} else {
ctx.lineTo(c * step + n, y + n);
}
}
if (model.has && model.has.fill) {
ctx.lineTo(w + n, y + n);
ctx.lineTo(w + n, h + n);
ctx.lineTo(n, h + n);
ctx.closePath();
}
if (style.lineWidth) {
ctx.lineWidth = style.lineWidth * this.scaleFactor;
}
if (style["background" + r]) {
ctx.strokeStyle = style["background" + r];
if (model.has && model.has.fill) {
ctx.fillStyle = style["background" + r];
ctx.fill();
}
}
ctx.stroke();
}
return canvas.toDataURL("image/png");
},
renderVertical: function renderVertical(model, style, data) {
var w = model.w * this.scaleFactor;
var h = model.h * this.scaleFactor;
var canvas = document.createElement("canvas");
canvas.width = w;
canvas.height = h;
var ctx = canvas.getContext("2d");
var summary = this.summary(data);
var groupWidth = w / summary.groups;
for (var r = 0; r < data.length; r++) {
var group = data[r];
var barWidth = Math.floor(groupWidth / (group.length + 1));
if (barWidth === 100) {
barWidth = 50;
}
var groupOffSet = groupWidth * r + barWidth / 2;
for (var c = 0; c < group.length; c++) {
var v = group[c];
var barHeight = Math.round(h * (v / summary.max));
var y = Math.round(groupOffSet + c * barWidth);
ctx.beginPath();
ctx.lineWidth = "4";
ctx.strokeStyle = "green";
if (style["background" + c]) {
ctx.fillStyle = style["background" + c];
}
ctx.fillRect(y, h - barHeight, barWidth, barHeight);
ctx.stroke();
}
}
return canvas.toDataURL("image/png");
},
renderHorizontal: function renderHorizontal(model, style, data) {
//
//console.debug(model, style, data)
var w = model.w * this.scaleFactor;
var h = model.h * this.scaleFactor;
var canvas = document.createElement("canvas");
canvas.width = w;
canvas.height = h;
var ctx = canvas.getContext("2d");
var summary = this.summary(data);
var groupHeight = w / summary.groups;
for (var r = 0; r < data.length; r++) {
var group = data[r];
var barHeight = Math.floor(groupHeight / (group.length + 1));
if (barHeight === 100) {
barHeight = 50;
}
var groupOffSet = groupHeight * r + barHeight / 2;
for (var c = 0; c < group.length; c++) {
var v = group[c];
var barWidth = Math.round(h * (v / summary.max));
var x = Math.round(groupOffSet + c * barHeight);
ctx.beginPath();
ctx.lineWidth = "4";
ctx.strokeStyle = "green";
if (style["background" + c]) {
ctx.fillStyle = style["background" + c];
}
ctx.fillRect(0, x, barWidth, barHeight);
ctx.stroke();
}
}
return canvas.toDataURL("image/png");
},
summary: function summary(data) {
var result = {
max: -10000000,
groups: data.length
};
for (var r = 0; r < data.length; r++) {
var row = data[r];
for (var c = 0; c < row.length; c++) {
result.max = Math.max(result.max, row[c]);
}
}
return result;
},
flip: function flip(data) {
this.max = -10000000;
this.groups = 0;
this.count = 0;
var flipped = [];
for (var r = 0; r < data.length; r++) {
var row = data[r];
for (var c = 0; c < row.length; c++) {
if (!flipped[c]) {
flipped[c] = [];
}
flipped[c][r] = row[c];
this.max = Math.max(this.max, row[c]);
this.count++;
}
}
return flipped;
},
/**
* Can be overwritten by children to have proper type conversion
*/
_setDataBindingValue: function _setDataBindingValue(v) {
var data = this.model.props.data;
var value = this.model.props.value;
if (this.type == "ring") {
var v2 = v * 1;
if (!isNaN(v2)) {
value = v2;
} else {
console.warn('Chart._setDataBindingValue() > Wrong value for ring', v);
return;
}
} else if (this.type === 'pie') {
/**
* Expects array with one element of array
*/
data = [this.objectToArray(v)];
} else {
/**
* Expect columns wise array of arrays
* [ [1,2], [11, 22]...]
*/
data = [];
var temp = this.objectToArray(v);
for (var r in temp) {
var row = this.objectToArray(temp[r]);
for (var c in row) {
if (!data[c]) {
data[c] = [];
}
data[c].push(row[c]);
}
}
}
this.renderChart(this.model, this.style, data, value);
this.setValue(v);
},
objectToArray: function objectToArray(v) {
var result = [];
for (var key in v) {
result.push(v[key]);
}
return result;
}
},
mounted: function mounted() {//console.debug('Button.mounted()')
}
});
// CONCATENATED MODULE: ./src/qux/web/Chart.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Chart.vue?vue&type=style&index=0&id=14b478fc&lang=scss
var Chartvue_type_style_index_0_id_14b478fc_lang_scss = __webpack_require__("a61b");
// CONCATENATED MODULE: ./src/qux/web/Chart.vue
const Chart_exports_ = /*#__PURE__*/exportHelper_default()(Chartvue_type_script_lang_js, [['render',Chartvue_type_template_id_14b478fc_render]])
/* harmony default export */ var Chart = (Chart_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Vector.vue?vue&type=template&id=32aacd8d
function Vectorvue_type_template_id_32aacd8d_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-vector', _ctx.cssClass]),
onClick: _cache[0] || (_cache[0] = function () {
return _ctx.onClick && _ctx.onClick.apply(_ctx, arguments);
})
}, null, 2);
}
// CONCATENATED MODULE: ./src/qux/web/Vector.vue?vue&type=template&id=32aacd8d
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Vector.vue?vue&type=script&lang=js
/* harmony default export */ var Vectorvue_type_script_lang_js = ({
name: 'qVector',
mixins: [_Base],
data: function data() {
return {};
},
/**
* FIXME: add here some stuff for image uploads
*/
mounted: function mounted() {
core_Logger.log(4, 'qVector.mounted()', this.element);
}
});
// CONCATENATED MODULE: ./src/qux/web/Vector.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Vector.vue?vue&type=style&index=0&id=32aacd8d&lang=scss
var Vectorvue_type_style_index_0_id_32aacd8d_lang_scss = __webpack_require__("6381");
// CONCATENATED MODULE: ./src/qux/web/Vector.vue
const Vector_exports_ = /*#__PURE__*/exportHelper_default()(Vectorvue_type_script_lang_js, [['render',Vectorvue_type_template_id_32aacd8d_render]])
/* harmony default export */ var Vector = (Vector_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Timeline.vue?vue&type=template&id=0a766c80
var Timelinevue_type_template_id_0a766c80_hoisted_1 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
class: "qux-timeline-line"
}, null, -1);
var Timelinevue_type_template_id_0a766c80_hoisted_2 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
class: "qux-timeline-circle"
}, null, -1);
var Timelinevue_type_template_id_0a766c80_hoisted_3 = {
class: "qux-timeline-label"
};
function Timelinevue_type_template_id_0a766c80_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-timeline', _ctx.cssClass]),
onClick: _cache[0] || (_cache[0] = function () {
return _ctx.onClick && _ctx.onClick.apply(_ctx, arguments);
})
}, [Timelinevue_type_template_id_0a766c80_hoisted_1, (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.options, function (opt) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-timeline-element', {
'qux-timeline-element-selected': $options.isChecked(opt)
}]),
key: opt
}, [Timelinevue_type_template_id_0a766c80_hoisted_2, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("label", Timelinevue_type_template_id_0a766c80_hoisted_3, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(opt), 1)], 2);
}), 128))], 2);
}
// CONCATENATED MODULE: ./src/qux/web/Timeline.vue?vue&type=template&id=0a766c80
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Timeline.vue?vue&type=script&lang=js
/* harmony default export */ var Timelinevue_type_script_lang_js = ({
name: 'qTimeline',
mixins: [_Base],
data: function data() {
return {
checked: false
};
},
computed: {},
methods: {
isChecked: function isChecked(value) {
if (this.element) {
var input = this.dataBindingInput;
if (input !== undefined && input != null) {
if (isNaN(input)) {
return input === value;
}
var option = this.options[input];
return option === value;
}
if (this.element.props) {
return this.element.props.selected === value;
}
}
return false;
}
},
watch: {
value: function value(v) {
core_Logger.log(5, 'qRadioBox.watch(value) > enter ' + this.lbl, v);
if (v === false || v === true) {
this.checked = v;
}
this.value = v;
}
},
mounted: function mounted() {
core_Logger.log(5, 'qRadioBox.mounted() enter');
if (this.value === true || this.value === true) {
this.checked = this.value;
}
}
});
// CONCATENATED MODULE: ./src/qux/web/Timeline.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Timeline.vue?vue&type=style&index=0&id=0a766c80&lang=scss
var Timelinevue_type_style_index_0_id_0a766c80_lang_scss = __webpack_require__("8efa");
// CONCATENATED MODULE: ./src/qux/web/Timeline.vue
const Timeline_exports_ = /*#__PURE__*/exportHelper_default()(Timelinevue_type_script_lang_js, [['render',Timelinevue_type_template_id_0a766c80_render]])
/* harmony default export */ var Timeline = (Timeline_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Upload.vue?vue&type=template&id=0e5fb944
var Uploadvue_type_template_id_0e5fb944_hoisted_1 = {
class: "qux-common-label"
};
function Uploadvue_type_template_id_0e5fb944_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-upload', _ctx.cssClass, {
'qux-upload-has-files': $options.hasFiles
}])
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Uploadvue_type_template_id_0e5fb944_hoisted_1, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])($options.label), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", {
type: "file",
class: "MatcWidgetTypeUploadFile",
ref: "input",
onChange: _cache[0] || (_cache[0] = function () {
return $options.onFileChange && $options.onFileChange.apply($options, arguments);
})
}, null, 544)], 2);
}
// CONCATENATED MODULE: ./src/qux/web/Upload.vue?vue&type=template&id=0e5fb944
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Upload.vue?vue&type=script&lang=js
/* harmony default export */ var Uploadvue_type_script_lang_js = ({
name: "qUpload",
mixins: [_Base],
data: function data() {
return {};
},
components: {},
computed: {
hasFiles: function hasFiles() {
if (this.element) {
var input = this.dataBindingInput;
if (input) {
return input !== undefined && input !== null;
}
}
return false;
},
label: function label() {
if (this.element) {
var input = this.dataBindingInput;
if (input) {
if (this.maxFiles > 1 && Array.isArray(input)) {
return input.map(function (f) {
return f.name;
}).join(', ');
} else {
return input.name;
}
}
}
if (this.element && this.element.props) {
return this.element.props.label;
}
return '';
},
maxFiles: function maxFiles() {
if (this.element && this.element.props && this.element.props.maxFiles !== undefined) {
return this.element.props.maxFiles;
}
return 1;
}
},
methods: {
onFileChange: function onFileChange(e) {
if (this.$refs.input) {
var files = this.$refs.input.files;
if (files.length >= this.maxFiles) {
this.setFiles(files, e);
}
}
},
setFiles: function setFiles(files, e) {
core_Logger.log(1, 'Upload.setFiles', files);
if (this.element) {
if (this.maxFiles === 1) {
var value = files[0];
this.onValueChange(value, 'default', e);
core_Logger.log(5, 'Upload.setFiles() >' + this.dataBindingInputPath, value);
} else {
var _value = Array.from(files);
this.onValueChange(_value, 'default', e);
core_Logger.log(5, 'Upload.setFiles(1) >' + this.dataBindingInputPath, _value);
}
}
}
}
});
// CONCATENATED MODULE: ./src/qux/web/Upload.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Upload.vue?vue&type=style&index=0&id=0e5fb944&lang=scss
var Uploadvue_type_style_index_0_id_0e5fb944_lang_scss = __webpack_require__("5991");
// CONCATENATED MODULE: ./src/qux/web/Upload.vue
const Upload_exports_ = /*#__PURE__*/exportHelper_default()(Uploadvue_type_script_lang_js, [['render',Uploadvue_type_template_id_0e5fb944_render]])
/* harmony default export */ var Upload = (Upload_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Camera.vue?vue&type=template&id=44f3d424
function Cameravue_type_template_id_44f3d424_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-camera', _ctx.cssClass, {
'qux-camera-has-files': $options.hasFiles
}])
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])([$options.icon, 'qux-camera-icon'])
}, null, 2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", {
type: "file",
ref: "input",
onChange: _cache[0] || (_cache[0] = function () {
return $options.onFileChange && $options.onFileChange.apply($options, arguments);
}),
accept: "image/*",
capture: "user"
}, null, 544)], 2);
}
// CONCATENATED MODULE: ./src/qux/web/Camera.vue?vue&type=template&id=44f3d424
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Camera.vue?vue&type=script&lang=js
/* harmony default export */ var Cameravue_type_script_lang_js = ({
name: "qUpload",
mixins: [_Base],
data: function data() {
return {};
},
components: {},
computed: {
icon: function icon() {
if (this.element && this.element.style && this.element.style.icon) {
return 'mdi ' + this.element.style.icon;
}
return '';
},
hasFiles: function hasFiles() {
if (this.element) {
var input = this.dataBindingInput;
if (input) {
return input !== undefined && input !== null;
}
}
return false;
},
maxFiles: function maxFiles() {
if (this.element && this.element.props && this.element.props.maxFiles !== undefined) {
return this.element.props.maxFiles;
}
return 1;
}
},
methods: {
onFileChange: function onFileChange(e) {
if (this.$refs.input) {
var files = this.$refs.input.files;
if (files.length >= this.maxFiles) {
this.setFiles(files, e);
}
}
},
setFiles: function setFiles(files, e) {
core_Logger.log(1, 'Camera.setFiles', files);
if (this.element) {
if (this.maxFiles === 1) {
var value = files[0];
this.onValueChange(value, 'default', e);
core_Logger.log(5, 'Upload.setFiles() >' + this.dataBindingInputPath, value);
} else {
var _value = Array.from(files);
this.onValueChange(_value, 'default', e);
core_Logger.log(5, 'Upload.setFiles(1) >' + this.dataBindingInputPath, _value);
}
this.onClick(e);
}
}
}
});
// CONCATENATED MODULE: ./src/qux/web/Camera.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Camera.vue?vue&type=style&index=0&id=44f3d424&lang=scss
var Cameravue_type_style_index_0_id_44f3d424_lang_scss = __webpack_require__("32b2");
// CONCATENATED MODULE: ./src/qux/web/Camera.vue
const Camera_exports_ = /*#__PURE__*/exportHelper_default()(Cameravue_type_script_lang_js, [['render',Cameravue_type_template_id_44f3d424_render]])
/* harmony default export */ var Camera = (Camera_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/UploadPreview.vue?vue&type=template&id=3d974a76
function UploadPreviewvue_type_template_id_3d974a76_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-upload-preview', _ctx.cssClass, {
'qux-upload-preview-border': $options.hasBorder
}]),
onClick: _cache[0] || (_cache[0] = function () {
return _ctx.onClick && _ctx.onClick.apply(_ctx, arguments);
}),
style: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeStyle"])({
'backgroundImage': $options.src
})
}, null, 6);
}
// CONCATENATED MODULE: ./src/qux/web/UploadPreview.vue?vue&type=template&id=3d974a76
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/UploadPreview.vue?vue&type=script&lang=js
/* harmony default export */ var UploadPreviewvue_type_script_lang_js = ({
name: 'qUploadPreview',
mixins: [_Base],
data: function data() {
return {
dataURL: '',
placeholder: ''
};
},
computed: {
hasBorder: function hasBorder() {
var file = this.dataBindingInput;
return file === null || file === undefined;
},
src: function src() {
var file = this.dataBindingInput;
if (file && file.name && file.size) {
this.setFile();
return this.dataURL;
}
if (file && file.url) {
return "url(".concat(file.url, ")");
}
if (file && file.indexOf && file.indexOf('http') === 0) {
return "url(".concat(file, ")");
}
return this.placeholder;
}
},
methods: {
getImagePlaceHolder: function getImagePlaceHolder(widget) {
var w = widget.w * 2;
var h = widget.h * 2;
var c = document.createElement("canvas");
var context = c.getContext("2d");
c.width = w;
c.height = h;
h += 0.5;
w += 0.5;
var n = 0.5;
context.moveTo(n, n);
context.lineTo(w, h);
context.moveTo(w, n);
context.lineTo(n, h);
context.strokeStyle = "#333";
context.strokeWidth = 2;
context.imageSmoothingEnabled = false;
context.stroke();
var url = 'url(' + c.toDataURL("image/png") + ')';
return url;
},
setFile: function setFile() {
var _this = this;
core_Logger.log(1, 'qUploadPreview.setFile()');
var file = this.dataBindingInput;
if (file && file.name && file.size) {
var reader = new FileReader();
if (reader.readAsDataURL) {
reader.onload = function () {
_this.dataURL = 'url(' + reader.result + ')';
};
reader.readAsDataURL(file);
}
}
}
},
watch: {
value: function value(v) {
this.setFile(v);
}
},
mounted: function mounted() {
core_Logger.log(4, 'qUploadPreview.mounted()');
if (this.element) {
this.placeholder = this.getImagePlaceHolder(this.element);
}
this.setFile();
}
});
// CONCATENATED MODULE: ./src/qux/web/UploadPreview.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/UploadPreview.vue?vue&type=style&index=0&id=3d974a76&lang=scss
var UploadPreviewvue_type_style_index_0_id_3d974a76_lang_scss = __webpack_require__("0865");
// CONCATENATED MODULE: ./src/qux/web/UploadPreview.vue
const UploadPreview_exports_ = /*#__PURE__*/exportHelper_default()(UploadPreviewvue_type_script_lang_js, [['render',UploadPreviewvue_type_template_id_3d974a76_render]])
/* harmony default export */ var UploadPreview = (UploadPreview_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/ChildrenToggle.vue?vue&type=template&id=5ea1dd04
function ChildrenTogglevue_type_template_id_5ea1dd04_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-children-toggle', _ctx.cssClass, {
'qux-active': $options.isActive
}]),
onClick: _cache[1] || (_cache[1] = function () {
return $options.toggle && $options.toggle.apply($options, arguments);
})
}, [$options.isActive ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], {
key: 0
}, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.element.children, function (child) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDynamicComponent"])(child.qtype), {
key: child.id,
element: child,
model: _ctx.model,
config: _ctx.config,
modelValue: _ctx.value,
"onUpdate:modelValue": _cache[0] || (_cache[0] = function ($event) {
return _ctx.value = $event;
}),
onQDesignSystemCallback: $options.forwardDesignSystemCallback,
onQCallback: $options.forwardCallback,
onQClick: $options.forwardClick,
onQChange: $options.forwardChange,
onQKeyPress: $options.forwardKeyPress,
onQFocus: $options.forwardFocus,
onQBlur: $options.forwardBlur,
onQMouseOver: $options.forwardMouseOver,
onQMouseOut: $options.forwardMouseOut
}, null, 8, ["element", "model", "config", "modelValue", "onQDesignSystemCallback", "onQCallback", "onQClick", "onQChange", "onQKeyPress", "onQFocus", "onQBlur", "onQMouseOver", "onQMouseOut"]);
}), 128)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 2);
}
// CONCATENATED MODULE: ./src/qux/web/ChildrenToggle.vue?vue&type=template&id=5ea1dd04
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/ChildrenToggle.vue?vue&type=script&lang=js
/* harmony default export */ var ChildrenTogglevue_type_script_lang_js = ({
name: 'qChildrenToggle',
mixins: [_Base],
data: function data() {
return {
active: true
};
},
computed: {
isActive: function isActive() {
if (this.isDesignSystemRoot) {
/**
* If no v-model is passed, we take the active
*/
if (this.value === undefined) {
return this.active;
}
return this.value;
}
if (this.element) {
var input = this.dataBindingInput;
core_Logger.log(3, 'qChildrenToggle.toggle() >' + this.dataBindingInputPath, input);
return input === true;
}
return this.active;
}
},
methods: {
toggle: function toggle(e) {
/**
* We stop this here, because of the repeater in the demo.
*/
this.stopEvent(e);
if (this.element) {
var value = !this.isActive;
this.onValueChange(value, 'default');
this.active = value;
core_Logger.log(3, 'qChildrenToggle.toggle() >' + this.dataBindingInputPath, value);
} else {
this.active = !this.active;
this.$emit('change', this.active);
this.$emit('update:modelValue', this.active);
core_Logger.log(5, 'qChildrenToggle.toggle() >' + this.active);
}
},
forwardClick: function forwardClick(element, e, value) {
this.$emit('qClick', element, e, value);
},
forwardChange: function forwardChange(element, e, value) {
this.$emit('qChange', element, e, value);
},
forwardFocus: function forwardFocus(element, e, value) {
this.$emit('qFocus', element, e, value);
},
forwardBlur: function forwardBlur(element, e, value) {
this.$emit('qBlur', element, e, value);
},
forwardMouseOver: function forwardMouseOver(element, e, value) {
this.$emit('qMouseOver', element, e, value);
},
forwardMouseOut: function forwardMouseOut(element, e, value) {
this.$emit('qMouseOut', element, e, value);
},
forwardKeyPress: function forwardKeyPress(element, e, value) {
this.$emit('qKeyPress', element, e, value);
},
forwardCallback: function forwardCallback(element, e, value) {
this.$emit('qCallback', element, e, value);
},
forwardDesignSystemCallback: function forwardDesignSystemCallback(element, e, type, callback) {
this.$emit('qDesignSystemCallback', element, e, type, callback);
}
},
watch: {
value: function value(v) {
core_Logger.log(-1, 'qChildrenToggle.watch(value) > enter', v);
if (v === false || v === true) {
this.active = v;
}
this.value = v;
}
},
mounted: function mounted() {
core_Logger.log(-1, 'qChildrenToggle.mounted() enter', this.value);
if (this.value === true || this.value === true) {
this.active = this.value;
}
}
});
// CONCATENATED MODULE: ./src/qux/web/ChildrenToggle.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/ChildrenToggle.vue?vue&type=style&index=0&id=5ea1dd04&lang=scss
var ChildrenTogglevue_type_style_index_0_id_5ea1dd04_lang_scss = __webpack_require__("9137");
// CONCATENATED MODULE: ./src/qux/web/ChildrenToggle.vue
const ChildrenToggle_exports_ = /*#__PURE__*/exportHelper_default()(ChildrenTogglevue_type_script_lang_js, [['render',ChildrenTogglevue_type_template_id_5ea1dd04_render]])
/* harmony default export */ var ChildrenToggle = (ChildrenToggle_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Spinner.vue?vue&type=template&id=6878191f
var Spinnervue_type_template_id_6878191f_hoisted_1 = {
class: "qux-common-label"
};
var Spinnervue_type_template_id_6878191f_hoisted_2 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
class: "qux-spinner-border"
}, null, -1);
function Spinnervue_type_template_id_6878191f_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-spinner qux-noselect ', _ctx.cssClass]),
onMousedown: _cache[0] || (_cache[0] = function () {
return $options.onStartDnd && $options.onStartDnd.apply($options, arguments);
})
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-spinner-option-cntr', {
'qux-spinner-option-cntr-animated': _ctx.isAnimating
}]),
style: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeStyle"])('top: ' + $options.top)
}, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])($options.visibleOption, function (option, i) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
key: i,
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-spinner-option qux-valign-middle', {
'qux-spinner-option-selected': option.value === $options.selectedValue
}])
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Spinnervue_type_template_id_6878191f_hoisted_1, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(option.label), 1)], 2);
}), 128))], 6), Spinnervue_type_template_id_6878191f_hoisted_2], 34);
}
// CONCATENATED MODULE: ./src/qux/web/Spinner.vue?vue&type=template&id=6878191f
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Spinner.vue?vue&type=script&lang=js
/* harmony default export */ var Spinnervue_type_script_lang_js = ({
name: 'qSpinner',
mixins: [_Base, _DND],
data: function data() {
return {
selected: 0,
offset: 0,
isAnimating: false
};
},
computed: {
optionsAsKeyValue: function optionsAsKeyValue() {
if (this.element) {
return this.options.map(function (o) {
if (o.toLowerCase || typeof o === 'number') {
return {
label: o,
value: o
};
}
return o;
});
}
return [];
},
selectedIndex: function selectedIndex() {
var value = this.selectedValue;
var options = this.optionsAsKeyValue;
var index = options.findIndex(function (o) {
return o.value === value;
});
return index;
},
visibleOption: function visibleOption() {
if (this.element) {
var options = this.optionsAsKeyValue;
var index = this.selectedIndex;
var result = [];
var length = this.length;
for (var i = index - length; i < index + length + 1; i++) {
var pos = (i + options.length) % options.length;
var v = options[pos];
result.push(v);
}
return result;
}
return [];
},
selectedValue: function selectedValue() {
if (this.element) {
var selected = this.dataBindingInput;
if (selected) {
return selected;
}
}
return this.selected;
},
top: function top() {
return -33 * (this.length - 1) + this.offset + '%'; //'calc(-66% + ' + this.offset + 'px)'
},
length: function length() {
return 4;
},
domPos: function domPos() {
return this.position(this.$el);
}
},
methods: {
onStartDnd: function onStartDnd(e) {
var _this = this;
var pos = this.domPos;
var mouse = this.mouse(e);
var y = mouse.y - pos.y;
var p = y / pos.h;
this._startP = p;
this.startDND(e, function (move, e) {
return _this.onMove(move, e);
}, function (up, e) {
return _this.onEnd(up, e);
});
},
onMove: function onMove(move, e) {
var pos = this.domPos;
var mouse = this.mouse(e);
if (mouse.y > pos.y && mouse.y < pos.y + pos.h) {
this.offset = move.y / pos.h * 100;
}
},
onEnd: function onEnd(up, e) {
var _this2 = this;
/**
* Get selected index from
*/
var pos = this.domPos;
var p = up.y / pos.h * 100;
var steps = Math.round(p / 33);
if (steps === 0) {
var mouse = this.mouse(e);
console.debug(mouse.y);
var _p = (mouse.y - pos.y) / pos.h;
console.debug(_p);
if (_p < 0.33) {
steps = 1;
}
if (_p > 0.66) {
steps = -1;
}
}
var newIndex = (this.selectedIndex - steps + this.options.length) % this.options.length;
var newValue = this.options[newIndex]; // animate to steps * 33.3
console.debug(steps, newValue, this.offset);
this.offset = steps * 33.3;
this.isAnimating = true;
setTimeout(function () {
_this2.isAnimating = false;
_this2.offset = 0;
_this2.onChange(newValue);
}, 330); //this.onChange(newValue)
// animate and count offset to
//this.offset = 0
},
onChange: function onChange(value) {
this.selected = value;
if (this.element) {
this.onValueChange(this.selected, 'default');
this.$emit('qChange', this.element, null, this.selected);
} else {
this.$emit('change', this.selected);
this.$emit('update:modelValue', this.selected);
}
core_Logger.log(5, 'qSpinner.onChange() exit > ', this.selected);
}
},
mounted: function mounted() {
if (this.element && this.element.props && this.element.props.value) {
this.count = this.element.props.value;
}
}
});
// CONCATENATED MODULE: ./src/qux/web/Spinner.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Spinner.vue?vue&type=style&index=0&id=6878191f&lang=scss
var Spinnervue_type_style_index_0_id_6878191f_lang_scss = __webpack_require__("4b6f");
// CONCATENATED MODULE: ./src/qux/web/Spinner.vue
const Spinner_exports_ = /*#__PURE__*/exportHelper_default()(Spinnervue_type_script_lang_js, [['render',Spinnervue_type_template_id_6878191f_render]])
/* harmony default export */ var Spinner = (Spinner_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/DynamicContainer.vue?vue&type=template&id=5db800f7
function DynamicContainervue_type_template_id_5db800f7_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-dynamic-container', _ctx.cssClass + ' ' + _ctx.cssComponentClasses]),
onMouseenter: _cache[0] || (_cache[0] = function () {
return $options.onMouseHover && $options.onMouseHover.apply($options, arguments);
}),
onMouseleave: _cache[1] || (_cache[1] = function () {
return $options.onMouseOut && $options.onMouseOut.apply($options, arguments);
})
}, [$options.selectedChild ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDynamicComponent"])($options.selectedChild.qtype), {
key: $options.selectedChild.id,
element: $options.selectedChild,
model: _ctx.model,
config: _ctx.config,
onQDesignSystemCallback: _ctx.forwardDesignSystemCallback,
onQCallback: $options.forwardCallback,
onQClick: $options.onClick,
onQChange: $options.forwardChange,
onQKeyPress: $options.forwardKeyPress,
onQFocus: $options.forwardFocus,
onQBlur: $options.forwardBlur,
onQMouseOver: _ctx.onMouseOver,
onQMouseOut: $options.forwardMouseOut
}, null, 8, ["element", "model", "config", "onQDesignSystemCallback", "onQCallback", "onQClick", "onQChange", "onQKeyPress", "onQFocus", "onQBlur", "onQMouseOver", "onQMouseOut"])) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], {
key: 1
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.qErrorMessage), 1)], 64))], 34);
}
// CONCATENATED MODULE: ./src/qux/web/DynamicContainer.vue?vue&type=template&id=5db800f7
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/DynamicContainer.vue?vue&type=script&lang=js
/* harmony default export */ var DynamicContainervue_type_script_lang_js = ({
name: 'qDynamicContainer',
mixins: [_Base],
data: function data() {
return {
selectedValue: null,
selectedChildIndex: 0,
dynamicLines: [],
dynamicChildValues: [],
qErrorMessage: 'Nothing'
};
},
computed: {
selectedChild: function selectedChild() {
if (this.element) {
var dataBindingInput = this.dataBindingInput;
if (dataBindingInput !== undefined) {
var index = this.dynamicChildValues.indexOf(dataBindingInput);
if (index >= 0 && index < this.element.children.length) {
var child = this.element.children[index];
return child;
}
}
return this.element.children[this.selectedChildIndex];
}
return null;
}
},
methods: {
onClick: function onClick(element, e, value) {
var fromLine = this.dynamicLines.find(function (line) {
return line.from === element.id && line.event === 'click';
});
core_Logger.log(1, 'DynamicContainer.onClick() > ', fromLine);
this.executeDynamicLine(fromLine);
this.$emit('qClick', element, e, value);
},
onMouseHover: function onMouseHover() {
var element = this.selectedChild;
var fromLine = this.dynamicLines.find(function (line) {
return line.from === element.id && line.event === 'hover';
});
if (!fromLine) {
fromLine = this.dynamicLines.find(function (line) {
return line.from === element.id && line.event === 'mouseenter';
});
}
core_Logger.log(1, 'DynamicContainer.onMouseOver() > ', fromLine);
this.executeDynamicLine(fromLine);
},
onMouseOut: function onMouseOut() {
var element = this.selectedChild;
var fromLine = this.dynamicLines.find(function (line) {
return line.from === element.id && line.event === 'mouseleave';
});
core_Logger.log(-1, 'DynamicContainer.onMouseOut() > ', fromLine);
this.executeDynamicLine(fromLine);
},
executeDynamicLine: function executeDynamicLine(fromLine) {
if (this.element && this.element.children && fromLine) {
var toIndex = this.element.children.findIndex(function (c) {
return c.id === fromLine.to;
});
if (toIndex >= 0) {
core_Logger.log(1, 'DynamicContainer.executeDynamicLine() > select ', fromLine.to, toIndex);
this.selectedChildIndex = toIndex;
this.emitDynamicDataBinding(toIndex);
return;
}
}
},
emitDynamicDataBinding: function emitDynamicDataBinding(index) {
var value = this.dynamicChildValues[index];
this.onValueChange(value);
core_Logger.log(1, 'DynamicContainer.emitDynamicDataBinding() > ', value);
},
forwardClick: function forwardClick(element, e, value) {
this.$emit('qClick', element, e, value);
},
forwardChange: function forwardChange(element, e, value) {
this.$emit('qChange', element, e, value);
},
forwardFocus: function forwardFocus(element, e, value) {
this.$emit('qFocus', element, e, value);
},
forwardBlur: function forwardBlur(element, e, value) {
this.$emit('qBlur', element, e, value);
},
forwardMouseOver: function forwardMouseOver(element, e, value) {
this.$emit('qMouseOver', element, e, value);
},
forwardMouseOut: function forwardMouseOut(element, e, value) {
this.$emit('qMouseOut', element, e, value);
},
forwardKeyPress: function forwardKeyPress(element, e, value) {
this.$emit('qKeyPress', element, e, value);
},
forwardCallback: function forwardCallback(element, e, value) {
this.$emit('qCallback', element, e, value);
}
},
mounted: function mounted() {
core_Logger.log(-1, 'DynamicComponent.mounted()', this.element);
if (this.element && this.element.props) {
if (this.element.props.dynamicLines) {
this.dynamicLines = this.element.props.dynamicLines;
}
}
var childDataValues = [];
if (this.element.children) {
this.element.children.forEach(function (child, index) {
if (child.props) {
var dataValue = child.props.dataValue;
if (dataValue !== undefined) {
dataValue = stringToType(dataValue);
} else {
dataValue = index;
}
childDataValues[index] = dataValue;
}
});
}
this.dynamicChildValues = childDataValues;
core_Logger.log(1, 'DynamicComponent.mounted() > dataValues', this.dynamicChildValues);
}
});
// CONCATENATED MODULE: ./src/qux/web/DynamicContainer.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/DynamicContainer.vue?vue&type=style&index=0&id=5db800f7&lang=scss
var DynamicContainervue_type_style_index_0_id_5db800f7_lang_scss = __webpack_require__("35ed");
// CONCATENATED MODULE: ./src/qux/web/DynamicContainer.vue
const DynamicContainer_exports_ = /*#__PURE__*/exportHelper_default()(DynamicContainervue_type_script_lang_js, [['render',DynamicContainervue_type_template_id_5db800f7_render]])
/* harmony default export */ var DynamicContainer = (DynamicContainer_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/RichText.vue?vue&type=template&id=033a04d5
var RichTextvue_type_template_id_033a04d5_hoisted_1 = {
class: "qux-common-label"
};
var RichTextvue_type_template_id_033a04d5_hoisted_2 = {
class: "qux-common-label"
};
function RichTextvue_type_template_id_033a04d5_render(_ctx, _cache, $props, $setup, $data, $options) {
var _component_router_link = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("router-link");
return _ctx.hasLink ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_router_link, {
key: 0,
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-rich-text', _ctx.cssClass]),
onClick: _ctx.onClick,
to: _ctx.link
}, {
default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(function () {
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", RichTextvue_type_template_id_033a04d5_hoisted_1, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])($options.children, function (child, i) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", {
key: i,
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])('qux-rich-text-child-' + i)
}, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(child), 3);
}), 128))])];
}),
_: 1
}, 8, ["class", "onClick", "to"])) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("label", {
key: 1,
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-rich-text', _ctx.cssClass]),
onClick: _cache[0] || (_cache[0] = function () {
return _ctx.onClick && _ctx.onClick.apply(_ctx, arguments);
})
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", RichTextvue_type_template_id_033a04d5_hoisted_2, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])($options.children, function (child, i) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", {
key: i,
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])('qux-rich-text-child-' + i)
}, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(child), 3);
}), 128))])], 2));
}
// CONCATENATED MODULE: ./src/qux/web/RichText.vue?vue&type=template&id=033a04d5
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/RichText.vue?vue&type=script&lang=js
/* harmony default export */ var RichTextvue_type_script_lang_js = ({
name: 'qRichText',
mixins: [_Base],
data: function data() {
return {};
},
computed: {
children: function children() {
if (this.element && this.element.props && this.element.props.richTextLabel) {
var children = this.element.props.richTextLabel.map(function (t) {
return t.label;
});
return children;
}
return [];
}
},
mounted: function mounted() {}
});
// CONCATENATED MODULE: ./src/qux/web/RichText.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/RichText.vue?vue&type=style&index=0&id=033a04d5&lang=scss
var RichTextvue_type_style_index_0_id_033a04d5_lang_scss = __webpack_require__("cc7d");
// CONCATENATED MODULE: ./src/qux/web/RichText.vue
const RichText_exports_ = /*#__PURE__*/exportHelper_default()(RichTextvue_type_script_lang_js, [['render',RichTextvue_type_template_id_033a04d5_render]])
/* harmony default export */ var RichText = (RichText_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Link.vue?vue&type=template&id=17dac503
var Linkvue_type_template_id_17dac503_hoisted_1 = ["href"];
var Linkvue_type_template_id_17dac503_hoisted_2 = ["innerHTML"];
var Linkvue_type_template_id_17dac503_hoisted_3 = {
key: 1,
class: "qux-common-label"
};
var Linkvue_type_template_id_17dac503_hoisted_4 = {
key: 2,
class: "qux-common-label"
};
function Linkvue_type_template_id_17dac503_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("a", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-label', _ctx.cssClass]),
onClick: _cache[0] || (_cache[0] = function () {
return _ctx.onClick && _ctx.onClick.apply(_ctx, arguments);
}),
href: $options.linkURL
}, [_ctx.dataBindingLabel && _ctx.dataBindingLabel.type === 'richtext' ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", {
key: 0,
class: "qux-richtext",
innerHTML: _ctx.dataBindingLabel.value
}, null, 8, Linkvue_type_template_id_17dac503_hoisted_2)) : _ctx.dataBindingLabel && !_ctx.hasSlot ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", Linkvue_type_template_id_17dac503_hoisted_3, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.dataBindingLabel), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.hasSlot ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", Linkvue_type_template_id_17dac503_hoisted_4, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderSlot"])(_ctx.$slots, "default")])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 10, Linkvue_type_template_id_17dac503_hoisted_1);
}
// CONCATENATED MODULE: ./src/qux/web/Link.vue?vue&type=template&id=17dac503
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/Link.vue?vue&type=script&lang=js
/* harmony default export */ var Linkvue_type_script_lang_js = ({
name: 'qLink',
mixins: [_Base],
data: function data() {
return {};
},
computed: {
linkURL: function linkURL() {
if (this.element && this.element.props && this.element.props.url) {
return this.element.props.url;
}
return '';
},
isRichText: function isRichText() {
var label = this.dataBindingLabel;
if (label && label.type === 'richtext') {
return true;
}
return false;
}
},
mounted: function mounted() {}
});
// CONCATENATED MODULE: ./src/qux/web/Link.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/Link.vue?vue&type=style&index=0&id=17dac503&lang=scss
var Linkvue_type_style_index_0_id_17dac503_lang_scss = __webpack_require__("ef5f");
// CONCATENATED MODULE: ./src/qux/web/Link.vue
const Link_exports_ = /*#__PURE__*/exportHelper_default()(Linkvue_type_script_lang_js, [['render',Linkvue_type_template_id_17dac503_render]])
/* harmony default export */ var Link = (Link_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/Luisa.vue?vue&type=template&id=7a806424
var Luisavue_type_template_id_7a806424_hoisted_1 = {
key: 1
};
function Luisavue_type_template_id_7a806424_render(_ctx, _cache, $props, $setup, $data, $options) {
var _component_qContainer = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("qContainer");
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux', {
'qux-component-screen': $options.isComponentScreen
}])
}, [$options.currentScreen ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_qContainer, {
key: 0,
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-screen', {
'qux-screen-blurred': $options.isBluredOverlay
}]),
element: $options.currentScreen,
model: _ctx.model,
config: _ctx.mergedConfig,
onQCallback: _ctx.onCallback,
onQClick: _ctx.onClick,
onQChange: _ctx.onChange,
onQKeyPress: _ctx.onKeyPress,
onQFocus: _ctx.onFocus,
onQBlur: _ctx.onBlur,
onQMouseOver: _ctx.onMouseOver,
onQMouseOut: _ctx.onMouseOut
}, null, 8, ["class", "element", "model", "config", "onQCallback", "onQClick", "onQChange", "onQKeyPress", "onQFocus", "onQBlur", "onQMouseOver", "onQMouseOut"])) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", Luisavue_type_template_id_7a806424_hoisted_1, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.msg), 1)), $options.hasOverlay ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
key: 2,
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-overlay-wrapper', {
'qux-overlay-wrapper-fixed': $options.isFixedOverlay
}]),
onMousedown: _cache[0] || (_cache[0] = function () {
return _ctx.popOverlay && _ctx.popOverlay.apply(_ctx, arguments);
}),
ref: "overlayWrapper"
}, [$options.currentOverlay ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_qContainer, {
key: 0,
ref: "overlayCntr",
element: $options.currentOverlay,
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])('qux-screen'),
model: _ctx.model,
config: _ctx.mergedConfig,
onQCallback: _ctx.onCallback,
onQClick: _ctx.onClick,
onQChange: _ctx.onChange,
onQKeyPress: _ctx.onKeyPress,
onQFocus: _ctx.onFocus,
onQBlur: _ctx.onBlur,
onQMouseOver: _ctx.onMouseOver,
onQMouseOut: _ctx.onMouseOut
}, null, 8, ["element", "model", "config", "onQCallback", "onQClick", "onQChange", "onQKeyPress", "onQFocus", "onQBlur", "onQMouseOver", "onQMouseOut"])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 34)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 2);
}
// CONCATENATED MODULE: ./src/qux/Luisa.vue?vue&type=template&id=7a806424
// CONCATENATED MODULE: ./src/qux/core/Config.js
function Config_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function Config_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 Config_createClass(Constructor, protoProps, staticProps) { if (protoProps) Config_defineProperties(Constructor.prototype, protoProps); if (staticProps) Config_defineProperties(Constructor, staticProps); return Constructor; }
var Config_Config = /*#__PURE__*/function () {
function Config() {
Config_classCallCheck(this, Config);
}
Config_createClass(Config, [{
key: "getFigmaCSS",
value: function getFigmaCSS() {
return {
isFigma: true,
grid: true,
justifyContentInWrapper: false,
pinnedLeft: false,
pinnedRight: false,
fixedHorizontal: false,
attachLabels: false,
huggedCanResize: true,
hoverEmbeddedLabel: true
};
}
}, {
key: "getDefault",
value: function getDefault() {
return {
debug: {
logLevel: 0
},
designletPrefix: '',
loadFonts: true,
figma: {
varientComponentHoverKey: 'Mouse=Hover',
varientComponentDefaultKey: 'Mouse=Default',
downloadVectors: true
},
css: {
grid: true,
justifyContentInWrapper: false,
attachLabels: true,
huggedCanResize: true,
hoverEmbeddedLabel: false
},
router: {
key: "screenName",
prefix: ""
},
databinding: {
default: ""
},
imageFolder: "/img",
components: {},
breakpoints: {
mobile: {
min: 0,
max: 400
},
tablet: {
min: 401,
max: 1200
},
desktop: {
min: 1201,
max: 1000000
}
},
addDefaultDatabinding: true
};
}
}, {
key: "merge",
value: function merge(config, overwrites) {
if (overwrites.addDefaultDatabinding !== undefined) {
config.addDefaultDatabinding = overwrites.addDefaultDatabinding;
}
if (overwrites.css) {
config.css = mixin(config.css, overwrites.css);
}
if (overwrites.router) {
config.router = mixin(config.router, overwrites.router);
}
if (overwrites.databinding) {
config.databinding = mixin(config.databinding, overwrites.databinding);
}
if (overwrites.components) {
config.components = overwrites.components;
}
if (overwrites.imageFolder) {
config.imageFolder = overwrites.imageFolder;
}
if (overwrites.debug) {
config.debug = mixin(config.debug, overwrites.debug);
}
if (overwrites.designletPrefix) {
config.designletPrefix = overwrites.designletPrefix;
}
if (overwrites.loadFonts !== undefined) {
config.loadFonts = overwrites.loadFonts;
}
if (overwrites.responsive) {
config.responsive = overwrites.responsive;
}
if (overwrites.figma) {
config.figma = mixin(config.figma, overwrites.figma);
}
return config;
}
}]);
return Config;
}();
/* harmony default export */ var core_Config = (new Config_Config());
// CONCATENATED MODULE: ./src/qux/actions/AbstractAction.js
function AbstractAction_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function AbstractAction_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 AbstractAction_createClass(Constructor, protoProps, staticProps) { if (protoProps) AbstractAction_defineProperties(Constructor.prototype, protoProps); if (staticProps) AbstractAction_defineProperties(Constructor, staticProps); return Constructor; }
var AbstractAction_AbstractAction = /*#__PURE__*/function () {
function AbstractAction() {
AbstractAction_classCallCheck(this, AbstractAction);
}
AbstractAction_createClass(AbstractAction, [{
key: "_get",
value: function _get(url) {
var headers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
return new Promise(function (resolve, reject) {
fetch(url, {
method: 'get',
headers: headers
}).then(function (res) {
if (res.status === 200) {
res.json().then(function (j) {
core_Logger.log(6, '_get', 'exit ');
resolve(j);
});
} else {
reject(res);
}
}).catch(function (err) {
reject(err);
});
});
}
}, {
key: "_post",
value: function _post(url, data) {
var headers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
return new Promise(function (resolve, reject) {
fetch(url, {
method: 'post',
body: JSON.stringify(data),
headers: headers
}).then(function (res) {
if (res.status === 200) {
res.json().then(function (j) {
core_Logger.log(6, 'post', 'exit ');
resolve(j);
});
} else {
reject(res);
}
}).catch(function (err) {
reject(err);
});
});
}
}]);
return AbstractAction;
}();
// CONCATENATED MODULE: ./src/qux/actions/Mail.js
function Mail_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Mail_typeof = function _typeof(obj) { return typeof obj; }; } else { Mail_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Mail_typeof(obj); }
function Mail_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function Mail_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 Mail_createClass(Constructor, protoProps, staticProps) { if (protoProps) Mail_defineProperties(Constructor.prototype, protoProps); if (staticProps) Mail_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 _createSuperInternal() { 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 && (Mail_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); }
var Mail_Mail = /*#__PURE__*/function (_AbstractAction) {
_inherits(Mail, _AbstractAction);
var _super = _createSuper(Mail);
function Mail() {
var _this;
Mail_classCallCheck(this, Mail);
_this = _super.call(this);
_this.luisaUrl = 'https://api.luisa.cloud';
return _this;
}
Mail_createClass(Mail, [{
key: "execute",
value: async function execute(step, viewModel) {
core_Logger.log(-1, 'Mail.execute() > enter ', step);
var config = step.config;
try {
var data = viewModel;
if (config.inputVariable) {
core_Logger.log(-1, 'ActionEngine.execute() > crop view model ', config.inputVariable);
data = core_JSONPath.get(viewModel, config.inputVariable);
}
var response = await this._post("".concat(this.luisaUrl, "/api/actions/").concat(config.appId, "/mail2team"), {
body: config.body,
subject: config.subject,
data: data
}, {
'Content-Type': 'application/json',
'Accept': 'application/json'
});
if (response) {
core_Logger.log(-1, 'ActionEngine.execute() > exit ', response);
}
} catch (err) {
core_Logger.warn('ActionEngine.execute() > Error ', err);
}
}
}]);
return Mail;
}(AbstractAction_AbstractAction);
// CONCATENATED MODULE: ./src/qux/actions/ContentFul.js
function ContentFul_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { ContentFul_typeof = function _typeof(obj) { return typeof obj; }; } else { ContentFul_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return ContentFul_typeof(obj); }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function ContentFul_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function ContentFul_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 ContentFul_createClass(Constructor, protoProps, staticProps) { if (protoProps) ContentFul_defineProperties(Constructor.prototype, protoProps); if (staticProps) ContentFul_defineProperties(Constructor, staticProps); return Constructor; }
function ContentFul_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) ContentFul_setPrototypeOf(subClass, superClass); }
function ContentFul_setPrototypeOf(o, p) { ContentFul_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ContentFul_setPrototypeOf(o, p); }
function ContentFul_createSuper(Derived) { var hasNativeReflectConstruct = ContentFul_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = ContentFul_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = ContentFul_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return ContentFul_possibleConstructorReturn(this, result); }; }
function ContentFul_possibleConstructorReturn(self, call) { if (call && (ContentFul_typeof(call) === "object" || typeof call === "function")) { return call; } return ContentFul_assertThisInitialized(self); }
function ContentFul_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function ContentFul_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 ContentFul_getPrototypeOf(o) { ContentFul_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ContentFul_getPrototypeOf(o); }
var defaultInline = function defaultInline(type, node) {
return "<span>type: ".concat(type, " id: ").concat(node.data.target.sys.id, "</span>");
};
var ContentFul_ContentFul = /*#__PURE__*/function (_AbstractAction) {
ContentFul_inherits(ContentFul, _AbstractAction);
var _super = ContentFul_createSuper(ContentFul);
function ContentFul() {
var _this$renderMark, _this$renderNode;
var _this;
ContentFul_classCallCheck(this, ContentFul);
_this = _super.call(this);
_this.contentfulUrl = 'https://cdn.contentful.com';
_this.renderMark = (_this$renderMark = {}, _defineProperty(_this$renderMark, 'bold', function bold(text) {
return "<b>".concat(text, "</b>");
}), _defineProperty(_this$renderMark, 'italic', function italic(text) {
return "<i>".concat(text, "</i>");
}), _defineProperty(_this$renderMark, 'underline', function underline(text) {
return "<u>".concat(text, "</u>");
}), _defineProperty(_this$renderMark, 'code', function code(text) {
return "<code>".concat(text, "</code>");
}), _this$renderMark);
_this.renderNode = (_this$renderNode = {}, _defineProperty(_this$renderNode, 'paragraph', function paragraph(node, next) {
return "<p>".concat(next(node.content), "</p>");
}), _defineProperty(_this$renderNode, 'heading-1', function heading1(node, next) {
return "<h1>".concat(next(node.content), "</h1>");
}), _defineProperty(_this$renderNode, 'heading-2', function heading2(node, next) {
return "<h2>".concat(next(node.content), "</h2>");
}), _defineProperty(_this$renderNode, 'heading-3', function heading3(node, next) {
return "<h3>".concat(next(node.content), "</h3>");
}), _defineProperty(_this$renderNode, 'heading-4', function heading4(node, next) {
return "<h4>".concat(next(node.content), "</h4>");
}), _defineProperty(_this$renderNode, 'heading-5', function heading5(node, next) {
return "<h5>".concat(next(node.content), "</h5>");
}), _defineProperty(_this$renderNode, 'heading-6', function heading6(node, next) {
return "<h6>".concat(next(node.content), "</h6>");
}), _defineProperty(_this$renderNode, 'embedded-entry-block', function embeddedEntryBlock(node, next) {
return "<div>".concat(next(node.content), "</div>");
}), _defineProperty(_this$renderNode, 'unordered-list', function unorderedList(node, next) {
return "<ul>".concat(next(node.content), "</ul>");
}), _defineProperty(_this$renderNode, 'ordered-list', function orderedList(node, next) {
return "<ol>".concat(next(node.content), "</ol>");
}), _defineProperty(_this$renderNode, 'list-item', function listItem(node, next) {
return "<li>".concat(next(node.content), "</li>");
}), _defineProperty(_this$renderNode, 'blockquote', function blockquote(node, next) {
return "<blockquote>".concat(next(node.content), "</blockquote>");
}), _defineProperty(_this$renderNode, 'hr', function hr() {
return '<hr/>';
}), _defineProperty(_this$renderNode, 'asset-hyperlink', function assetHyperlink(node) {
return defaultInline('asset-hyperlink', node);
}), _defineProperty(_this$renderNode, 'entry-hyperlink', function entryHyperlink(node) {
return defaultInline('entry-hyperlink', node);
}), _defineProperty(_this$renderNode, 'embedded-entry-inline', function embeddedEntryInline(node) {
return defaultInline('embedded-entry-inline', node);
}), _defineProperty(_this$renderNode, 'hyperlink', function hyperlink(node, next) {
return "<a href=\"".concat(node.data.uri, "\">").concat(next(node.content), "</a>");
}), _this$renderNode);
return _this;
}
ContentFul_createClass(ContentFul, [{
key: "execute",
value: async function execute(step, viewModel) {
var _this2 = this;
core_Logger.log(-1, 'ContentFul.execute() > enter ');
var config = step.config;
if (config.outputVariable) {
try {
var documents = await this._get("".concat(this.contentfulUrl, "/spaces/").concat(config.spaceId, "/environments/").concat(config.envId, "/entries?access_token=").concat(config.apiToken));
if (documents) {
var assets = await this._get("".concat(this.contentfulUrl, "/spaces/").concat(config.spaceId, "/environments/").concat(config.envId, "/assets?access_token=").concat(config.apiToken));
var items = documents.items.map(function (i) {
return _this2.mapContentFul(i, assets);
});
core_JSONPath.set(viewModel, config.outputVariable, items);
core_Logger.log(-1, 'ContentFul.execute() > exit ', items);
}
} catch (err) {
core_Logger.warn('ContentFul.execute() > Error ', err);
}
}
}
}, {
key: "mapContentFul",
value: function mapContentFul(item, assets) {
var fields = item.fields;
var result = {};
for (var key in fields) {
var value = fields[key];
if (value.nodeType === 'document') {
result[key] = {
type: 'richtext',
value: this.documentToHtmlString(value) // get rid of dependency
};
} else if (value.sys && value.sys.linkType === 'Asset') {
(function () {
var assetId = value.sys.id;
var asset = assets.items.find(function (a) {
return a.sys.id === assetId;
});
if (asset.fields.file) {
result[key] = {
url: 'https:' + asset.fields.file.url
};
}
})();
} else {
result[key] = value;
}
}
if (!result.id) {
result.id = item.sys.id;
}
return result;
}
/**
* Serialize a Contentful Rich Text `document` to an html string.
*/
}, {
key: "documentToHtmlString",
value: function documentToHtmlString(richTextDocument) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
if (!richTextDocument || !richTextDocument.content) {
return '';
}
return this.nodeListToHtmlString(richTextDocument.content, {
renderNode: Object.assign({}, this.defaultNodeRenderers, options.renderNode),
renderMark: Object.assign({}, this.defaultMarkRenderers, options.renderMark)
});
}
}, {
key: "nodeListToHtmlString",
value: function nodeListToHtmlString(nodes) {
var _this3 = this;
return nodes.map(function (node) {
return _this3.nodeToHtmlString(node);
}).join('');
}
}, {
key: "nodeToHtmlString",
value: function nodeToHtmlString(node) {
var _this4 = this;
if (this.isText(node)) {
var nodeValue = this.escape(node.value);
if (node.marks.length > 0) {
return node.marks.reduce(function (value, mark) {
if (!_this4.renderMark[mark.type]) {
return value;
}
return _this4.renderMark[mark.type](value);
}, nodeValue);
}
return nodeValue;
} else {
var nextNode = function nextNode(nodes) {
return _this4.nodeListToHtmlString(nodes);
};
if (!node.nodeType || !this.renderNode[node.nodeType]) {
return '';
}
return this.renderNode[node.nodeType](node, nextNode);
}
}
}, {
key: "isText",
value: function isText(node) {
return node.nodeType === 'text';
}
}, {
key: "escape",
value: function escape(s) {
return s;
}
}]);
return ContentFul;
}(AbstractAction_AbstractAction);
// CONCATENATED MODULE: ./src/qux/actions/ActionEngine.js
function ActionEngine_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function ActionEngine_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 ActionEngine_createClass(Constructor, protoProps, staticProps) { if (protoProps) ActionEngine_defineProperties(Constructor.prototype, protoProps); if (staticProps) ActionEngine_defineProperties(Constructor, staticProps); return Constructor; }
var ActionEngine_ActionEngine = /*#__PURE__*/function () {
function ActionEngine(actions) {
ActionEngine_classCallCheck(this, ActionEngine);
core_Logger.log(-1, 'ActionEngine()', actions);
this.actions = actions;
this.engines = {
'mail': new Mail_Mail(),
'contentful': new ContentFul_ContentFul()
};
}
ActionEngine_createClass(ActionEngine, [{
key: "hasAction",
value: function hasAction(actionName) {
var filter = this.actions.filter(function (a) {
return a.id === actionName;
});
return filter.length === 1;
}
}, {
key: "executeAction",
value: async function executeAction(app, actionName, viewModel) {
var _this = this;
core_Logger.log(-1, 'ActionEngine.executeAction()', actionName, viewModel);
try {
var action = this.actions.find(function (a) {
return a.id === actionName;
});
if (action && action.steps) {
action.steps.forEach(async function (step) {
await _this.executeStep(step, viewModel, actionName);
});
} else {
core_Logger.warn('ActionEngine.executeAction() > No action with id', actionName);
}
} catch (err) {
core_Logger.error('ActionEngine.executeAction() > Error during execution', err);
}
}
}, {
key: "executeStep",
value: async function executeStep(step, viewModel, actionName) {
if (this.engines[step.type]) {
await this.engines[step.type].execute(step, viewModel);
} else {
core_Logger.error('ActionEngine.executeStep() > No method for step', 'execute_' + step.type, actionName);
}
}
}]);
return ActionEngine;
}();
// CONCATENATED MODULE: ./src/qux/core/FontWriter.js
function FontWriter_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function FontWriter_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 FontWriter_createClass(Constructor, protoProps, staticProps) { if (protoProps) FontWriter_defineProperties(Constructor.prototype, protoProps); if (staticProps) FontWriter_defineProperties(Constructor, staticProps); return Constructor; }
var FontWriter_FontWriter = /*#__PURE__*/function () {
function FontWriter() {
FontWriter_classCallCheck(this, FontWriter);
this.fontElement = {};
this.defaultFontFamilies = {
'Helvetica Neue,Helvetica,Arial,sans-serif': true,
'Arial, sans-serif': true,
'Comic Sans MS, cursive, sans-serif': true,
'Impact, Charcoal, sans-serif': true,
'Times New Roman, Times, serif': true,
'Courier New, Courier, monospace': true,
'"Palatino Linotype", "Book Antiqua", Palatino, serif': true,
'Georgia, serif': true,
'Roboto': true
};
}
/**
* https://developers.google.com/fonts/docs/getting_started
*/
FontWriter_createClass(FontWriter, [{
key: "write",
value: function write(model, config) {
core_Logger.log(1, 'FontWriter.write() > enter');
var fonts = this.getCustomFonts(model);
if (config.loadFonts) {
this.writeImportStatements(fonts);
} else {
this.showImportWarning(fonts);
}
}
}, {
key: "showImportWarning",
value: function showImportWarning(fonts) {
if (Object.keys(fonts).length > 0) {
core_Logger.warn('Vue-Low-Code: Please add the following font imports:');
}
for (var font in fonts) {
var name = font.replace(', sans-serif', "");
name = font.replace(/\s+/g, "+");
core_Logger.warn(" <style>@import url('https://fonts.googleapis.com/css2?family=".concat(name, "&display=swap');</style>"));
}
}
}, {
key: "writeImportStatements",
value: function writeImportStatements(fonts) {
var head = document.head || document.getElementsByTagName('head')[0];
for (var font in fonts) {
/**
* We make here a request for each font, because if one font fails, it would crash
* the entire request...
*/
if (this.fontElement[font]) {
core_Logger.log(5, 'FontWriter.write() > Clean up old');
head.removeChild(this.fontElement[font]);
}
var name = font.replace(', sans-serif', "");
name = name.replace(/\s+/g, "+");
var css = "@import url('https://fonts.googleapis.com/css2?family=".concat(name, "&display=swap');");
var style = document.createElement('style');
style.type = 'text/css';
style.appendChild(document.createTextNode(css));
head.appendChild(style);
this.fontElement[font] = style;
}
}
}, {
key: "getFontImportStatement",
value: function getFontImportStatement(fonts) {
var imports = [];
for (var font in fonts) {
var name = font.replace(/\s+/g, "+"); //let weight = fonts[font].map(w => `0,${w}`).join(';')
imports.push("family=".concat(name));
}
return "@import url('https://fonts.googleapis.com/css2?".concat(imports.join('&'), "&display=swap');");
}
}, {
key: "getCustomFonts",
value: function getCustomFonts(model) {
var _this = this;
core_Logger.log(3, 'FontWriter.getCustomFonts() > enter');
var fonts = {};
Object.values(model.widgets).forEach(function (w) {
if (w.style.fontFamily) {
var family = w.style.fontFamily;
if (!_this.defaultFontFamilies[family]) {
if (!fonts[family]) {
fonts[family] = [];
}
fonts[family].push(w.style.fontWeight);
}
}
});
return fonts;
}
}]);
return FontWriter;
}();
/* harmony default export */ var core_FontWriter = (new FontWriter_FontWriter());
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/mixins/Logic.vue?vue&type=template&id=81df6c48
var Logicvue_type_template_id_81df6c48_hoisted_1 = {
class: "qux"
};
function Logicvue_type_template_id_81df6c48_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", Logicvue_type_template_id_81df6c48_hoisted_1);
}
// CONCATENATED MODULE: ./src/qux/mixins/Logic.vue?vue&type=template&id=81df6c48
// CONCATENATED MODULE: ./src/qux/core/RestEngine.js
function RestEngine_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function RestEngine_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 RestEngine_createClass(Constructor, protoProps, staticProps) { if (protoProps) RestEngine_defineProperties(Constructor.prototype, protoProps); if (staticProps) RestEngine_defineProperties(Constructor, staticProps); return Constructor; }
var RestEngine_RestEngine = /*#__PURE__*/function () {
function RestEngine() {
RestEngine_classCallCheck(this, RestEngine);
}
RestEngine_createClass(RestEngine, [{
key: "run",
value: function run(request, data) {
if (request.method === "POST" && request.input.type === 'JSON') {
return this.postOrPut(request, data);
}
if (request.method === "POST" && (request.input.type === 'IMAGE' || request.input.type === 'FILE')) {
return this.postOrPostImage(request, data);
}
if (request.method === "GET") {
return this.get(request, data);
}
if (request.method === "PUT" && request.input.type === 'JSON') {
return this.postOrPut(request, data);
}
if (request.method === "PUT" && (request.input.type === 'IMAGE' || request.input.type === 'FILE')) {
return this.postOrPostImage(request, data);
}
if (request.method === "DELETE") {
return this.delete(request, data);
}
}
}, {
key: "buildURL",
value: async function buildURL(request, values) {
var url = await this.fillString(request.url, values, false);
core_Logger.log(1, "buildURL", "exit", url);
return url;
}
}, {
key: "buildData",
value: async function buildData(request, values) {
var data = await this.fillString(request.input.template, values, true);
core_Logger.log(1, "buildData", "exit", data);
return data;
}
}, {
key: "buildToken",
value: async function buildToken(request, values) {
var data = await this.fillString(request.token, values, true);
core_Logger.log(-1, "RestEngine.buildToken", "exit", data);
return data;
}
}, {
key: "fillString",
value: async function fillString(s, values) {
var encodeFiles = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
for (var key in values) {
var value = await this.getStringFilelValue(values[key], encodeFiles);
var pattern = "${" + key + "}";
var i = 0;
while (s.indexOf(pattern) >= 0 && i < 100) {
s = s.replace(pattern, value);
i++;
}
}
if (s.indexOf('${') >= 0) {
core_Logger.error("buildURL", "exit", s);
throw new Error("buildURL() > Not all parameters replaced!" + s);
}
return s;
}
}, {
key: "getStringFilelValue",
value: function getStringFilelValue(value, encodeFiles) {
// FIXME: check if we contain ${} to avoid messz stuff
if (value && value.name && value.size && encodeFiles) {
value = this.readFileAsBase64(value);
}
return value;
}
}, {
key: "readFileAsBase64",
value: async function readFileAsBase64(file) {
var result = await this.base64(file);
return result;
}
}, {
key: "dataUrl",
value: function dataUrl(file) {
return new Promise(function (resolve, reject) {
var reader = new FileReader();
reader.onerror = function (error) {
return reject(error);
};
reader.onload = function () {
return resolve(reader.result);
};
reader.readAsDataURL(file);
});
}
}, {
key: "base64",
value: function base64(file) {
return new Promise(function (resolve, reject) {
var reader = new FileReader();
reader.onerror = function (error) {
return reject(error);
};
reader.onload = function () {
var bytes = Array.from(new Uint8Array(reader.result));
var base64StringFile = btoa(bytes.map(function (item) {
return String.fromCharCode(item);
}).join(""));
resolve(base64StringFile);
};
reader.readAsArrayBuffer(file);
});
}
}, {
key: "handleOutput",
value: function handleOutput(resolve, request, response) {
core_Logger.log(2, "handleOutput", "enter", response);
if (response.status == 200) {
if (request.output.type === "JSON") {
try {
resolve(response.json());
} catch (e) {
throw new Error("Could not ".concat(request.method, " ").concat(request.url, ": ").concat(e.message));
}
}
if (request.output.type === "TEXT") {
resolve(response.text());
}
if (request.output.type === "IMAGE") {
response.arrayBuffer().then(function (buffer) {
resolve(buffer);
});
}
return;
}
throw new Error("Could not ".concat(request.method, " ").concat(request.url, ": ").concat(response.statusText));
}
}, {
key: "get",
value: function get(request, values) {
var _this = this;
return new Promise(async function (resolve, reject) {
var url = await _this.buildURL(request, values);
var header = _this.createDefaultHeader(request);
fetch(url, {
method: "GET",
mode: 'cors',
cache: 'no-cache',
headers: header,
redirect: 'follow',
referrer: 'no-referrer'
}).then(function (response) {
_this.handleOutput(resolve, request, response);
}).catch(function (e) {
reject(e);
});
});
}
}, {
key: "postOrPostImage",
value: function postOrPostImage(request, values) {
var _this2 = this;
return new Promise(async function (resolve, reject) {
var url = await _this2.buildURL(request, values);
var header = _this2.createDefaultHeader(request);
var formData = new FormData();
for (var key in values) {
formData.append(key, values[key]);
}
fetch(url, {
method: request.method,
mode: 'cors',
cache: 'no-cache',
headers: header,
redirect: 'follow',
referrer: 'no-referrer',
body: formData
}).then(function (response) {
_this2.handleOutput(resolve, request, response);
}).catch(function (e) {
reject(e);
throw e;
});
});
}
}, {
key: "postOrPut",
value: function postOrPut(request, values) {
var _this3 = this;
return new Promise(async function (resolve, reject) {
var url = await _this3.buildURL(request, values);
var data = await _this3.buildData(request, values);
var header = _this3.createDefaultHeader(request);
fetch(url, {
method: request.method,
mode: 'cors',
cache: 'no-cache',
headers: header,
redirect: 'follow',
referrer: 'no-referrer',
body: data
}).then(function (response) {
_this3.handleOutput(resolve, request, response);
}).catch(function (e) {
reject(e);
throw e;
});
});
}
}, {
key: "delete",
value: function _delete(request, values) {
var _this4 = this;
return new Promise(async function (resolve, reject) {
var url = await _this4.buildURL(request, values);
var header = _this4.createDefaultHeader(request);
fetch(url, {
method: "DELETE",
mode: 'cors',
cache: 'no-cache',
headers: header,
redirect: 'follow',
referrer: 'no-referrer'
}).then(function (response) {
_this4.handleOutput(resolve, request, response);
}).catch(function (e) {
reject(e);
throw e;
});
});
}
}, {
key: "createDefaultHeader",
value: async function createDefaultHeader(request, values) {
var token = await this.buildToken(request, values);
var authType = request.authType ? request.authType : 'Bearer';
var headers = {};
if (request.input.type === 'JSON') {
headers['Content-Type'] = 'application/json';
headers['Accept'] = 'application/json';
}
if (request.input.type === 'FORM') {
headers['Content-Type'] = 'application/x-www-form-urlencoded';
}
if (token) {
headers['Authorization'] = "".concat(authType, " ").concat(token);
}
return headers;
}
}, {
key: "getNeededDataBings",
value: function getNeededDataBings(rest) {
var result = [];
this.parseString(rest.url, result);
this.parseString(rest.token, result);
if ((rest.method === 'POST' || rest.method === 'PUT') && rest.input.type === 'JSON') {
this.parseString(rest.input.template, result);
}
if ((rest.method === 'POST' || rest.method === 'PUT') && (rest.input.type === 'FILE' || rest.input.type === 'IMAGE')) {
if (rest.input.fileDataBinding) {
result.push(rest.input.fileDataBinding);
}
}
return result;
}
}, {
key: "parseString",
value: function parseString(s, result) {
var matches = s.match(/\$\{(.*?)\}/g);
if (matches) {
matches.forEach(function (m) {
var variable = m.substring(2, m.length - 1);
if (result.indexOf(variable) < 0) {
result.push(variable);
}
});
}
}
}]);
return RestEngine;
}();
/* harmony default export */ var core_RestEngine = (new RestEngine_RestEngine());
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/mixins/Logic.vue?vue&type=script&lang=js
/* harmony default export */ var Logicvue_type_script_lang_js = ({
name: 'Logic',
methods: {
executeLogic: function executeLogic(widget, line) {
core_Logger.log(0, 'QUX.executeLogic() > enter', widget.props, line);
var lines = getLines(widget, this.model);
var nextLine = null;
if (widget.props && widget.props.isRandom) {
var random = Math.random();
var pos = Math.floor(random * lines.length);
core_Logger.log(0, "QUX.executeLogic", "enter > do AB:" + widget.id + " >> " + random + " >> " + pos);
nextLine = lines[pos];
} else {
nextLine = this.getRuleMatchingLine(lines);
}
if (nextLine) {
this.executeLine(nextLine);
} else {
/**
* THis can happs as a modelling error!
*/
core_Logger.warn('QUX.executeLogic() > NO RULE matching', lines);
}
},
executeRest: async function executeRest(widget) {
var _this = this;
core_Logger.log(0, 'QUX.executeRest() > enter', widget.props.rest);
var rest = widget.props.rest;
/**
* get al the data we need!
*/
var requiredDataBindings = core_RestEngine.getNeededDataBings(rest);
var data = {};
requiredDataBindings.forEach(function (path) {
var value = core_JSONPath.get(_this.modelValue, path);
data[path] = value;
});
/**
* Call rest
*/
var success = await this.runRestEngine(rest, data);
/**
* Find next line to execute
*/
var lines = getLines(widget, this.model);
var nextLine = this.getRuleMatchingLine(lines, success);
if (nextLine) {
this.executeLine(nextLine);
} else {
core_Logger.warn('QUX.executeRest() > NO RULE matching', lines);
}
},
runRestEngine: async function runRestEngine(rest, data) {
try {
var result = await core_RestEngine.run(rest, data);
core_Logger.log(1, "QUX.executeRest", "set data " + rest.output.databinding, result);
if (rest.output.databinding) {
core_JSONPath.set(this.modelValue, rest.output.databinding, result);
}
return true;
} catch (e) {
core_Logger.error("QUX.executeRest", "error", e);
if (rest.output.databinding) {
core_JSONPath.set(this.modelValue, rest.output.databinding, 'Error');
}
}
return false;
},
getRuleMatchingLine: function getRuleMatchingLine(lines, restSuccess) {
var matchedLine;
for (var i = 0; i < lines.length; i++) {
var line = lines[i];
if (line.rule) {
core_Logger.log(4, 'QUX.getRuleMatchingLine() > check', i, line.rule);
if (line.rule.type === 'widget') {
core_Logger.error('QUX.getRuleMatchingLine() > widget rules not supported in low code');
}
if (line.rule.type === 'databinding') {
matchedLine = this.checkDataBindingRule(line);
}
if (line.rule.type === 'rest') {
if (line.rule.restResponseStatus === '4xx' && !restSuccess) {
matchedLine = line;
}
if (line.rule.restResponseStatus === '200' && restSuccess) {
matchedLine = line;
}
}
if (matchedLine) {
break;
}
} else {
/**
* The *FIRST* line without a condition will be
*/
if (!matchedLine) {
matchedLine = line;
}
}
}
return matchedLine;
},
checkDataBindingRule: function checkDataBindingRule(line) {
core_Logger.log(4, 'QUX.checkDataBindingRule() > enter', line.rule.databinding);
var rule = line.rule;
var value = core_JSONPath.get(this.modelValue, rule.databinding);
var result = this.isValueMatchingRule(value, true, rule);
if (result) {
core_Logger.log(-1, 'QUX.checkDataBindingRule() > match!', line);
return line;
}
},
isValueMatchingRule: function isValueMatchingRule(value, valid, rule) {
core_Logger.log(3, 'QUX.isValueMatchingRule() > enter > ' + rule.value + ' ' + rule.operator + ' >' + value + '< / ' + valid);
var operator = rule.operator;
/**
* Special handling for checkbox group.
* We should have an "in" operation
*/
if (value && Array.isArray(value) && value.length > 0) {
value = value[0];
}
var result = false;
switch (operator) {
case "contains":
if (value.toLowerCase && rule.value.toLowerCase) {
var lowerValue = value.toLowerCase();
var lowerRule = rule.value.toLowerCase();
result = lowerValue.indexOf(lowerRule) >= 0;
} else {
result = false;
}
break;
case "isValid":
result = valid;
break;
case "==":
result = value == rule.value;
break;
case "!=":
if (rule.value === null || rule.value === undefined) {
result = value !== null && value !== undefined && value !== '';
} else {
result = value != rule.value;
}
break;
case ">":
if (!value) {
value = 0;
}
result = value * 1 > rule.value * 1;
break;
case "<":
if (!value) {
value = 0;
}
result = value * 1 < rule.value * 1;
break;
case ">=":
if (!value) {
value = 0;
}
result = value * 1 >= rule.value * 1;
break;
case "<=":
if (!value) {
value = 0;
}
result = value * 1 <= rule.value * 1;
break;
default:
core_Logger.warn('QUX.isValueMatchingRule() Not supported operator');
}
return result;
}
}
});
// CONCATENATED MODULE: ./src/qux/mixins/Logic.vue?vue&type=script&lang=js
// CONCATENATED MODULE: ./src/qux/mixins/Logic.vue
const Logic_exports_ = /*#__PURE__*/exportHelper_default()(Logicvue_type_script_lang_js, [['render',Logicvue_type_template_id_81df6c48_render]])
/* harmony default export */ var Logic = (Logic_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/mixins/Event.vue?vue&type=template&id=10442c98
var Eventvue_type_template_id_10442c98_hoisted_1 = {
class: "qux"
};
function Eventvue_type_template_id_10442c98_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", Eventvue_type_template_id_10442c98_hoisted_1);
}
// CONCATENATED MODULE: ./src/qux/mixins/Event.vue?vue&type=template&id=10442c98
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/mixins/Event.vue?vue&type=script&lang=js
/* harmony default export */ var Eventvue_type_script_lang_js = ({
name: 'Event',
methods: {
onScreenLoaded: function onScreenLoaded(screen) {
core_Logger.log(3, 'QUX.onScreenLoaded() > ', screen);
this.setSystemVariable('screen', screen.name);
this.$emit('qScreenLoad', {
value: this.modelValue,
element: screen,
viewModel: this.modelValue,
qux: this
});
this.dispatchCallback(screen, null, 'load', null);
},
/**
* This event come from now from the table. The event 'e'
* contains the callback and the data of the row as 'params'.
*/
onCallback: async function onCallback(element, e) {
core_Logger.log(5, 'QUX.onCallback() > ' + element.name, e.callback);
var executor = this.getMethodExcutor();
if (executor) {
if (executor[e.callback]) {
var func = executor[e.callback];
if (func instanceof Function) {
var result = await func({
value: this.modelValue,
element: element,
viewModel: this.modelValue,
qux: this,
params: e.params,
event: e
});
/**
* Since 0.4 we check if we can dispatch the result to a screen.
*/
this.handleCallbackResult(result, e.callback);
return;
} else {
console.warn('QUX.onCallback() > Callback is not method ', e.callback);
}
} else {
console.warn('QUX.onCallback() > no method in executor with name ', e.callback);
}
}
},
onClick: function onClick(element, e, value) {
core_Logger.log(4, 'QUX.onClick() > enter', element);
if (core_Logger.logLevel > 10) {
core_Logger.log(10, 'QUX.onClick()', e.target);
}
if (element.lines) {
var line = getClickLine(element);
if (line) {
this.executeLine(line, value);
this.stopEvent(e);
}
}
if (element.action) {
if (element.action.type === 'back') {
core_Logger.log(0, 'QUX.onClick() > Go back');
this.stopEvent(e);
if (this.overlayScreenIds.length > 0) {
this.removeLastOverlay();
} else {
this.$router.go(-1);
}
return;
}
}
this.dispatchCallback(element, e, 'click', value);
},
stopEvent: function stopEvent(e) {
if (e) {
e.stopPropagation();
}
},
executeLine: function executeLine(line, value) {
core_Logger.log(-1, 'QUX.executeLine() > enter', line, value);
if (line) {
var box = getBoxById(line.to, this.model);
if (box.type === 'Screen') {
this.navigateToScreen(box, line, value);
return;
} else if (box.type === 'Rest') {
this.executeRest(box, line);
return;
} else if (box.type === 'LogicOr') {
this.executeLogic(box, line);
return;
} else {
if (!line.isComponentLine) {
core_Logger.warn('QUX.executeLine() > Not supported line target', box);
}
}
} else {
core_Logger.error('QUX.executeLine() > ERROR. Null passed', line);
}
},
dispatchCallback: async function dispatchCallback(element, e, type, value) {
core_Logger.log(4, 'QUX.dispatchCallback() > enter > ' + type, element);
if (element.props && element.props.callbacks) {
var callback = element.props.callbacks[type];
if (callback) {
core_Logger.log(2, 'QUX.dispatchCallback() > callback > ' + type, callback);
if (this.actionEngine && this.actionEngine.hasAction(callback)) {
core_Logger.log(-1, 'QUX.dispatchCallback() > action engine: ', callback);
var result = await this.actionEngine.executeAction(this.app, callback, this.modelValue);
this.handleCallbackResult(result, callback);
return;
}
var executor = this.getMethodExcutor();
if (executor) {
if (executor[callback]) {
var func = executor[callback];
if (func instanceof Function) {
this.stopEvent(e);
/**
* This is crucial. we need to keep this signature the same.
*/
var _result = await func({
value: value,
element: element,
viewModel: this.modelValue,
qux: this,
event: e
});
this.handleCallbackResult(_result, callback);
return;
} else {
console.warn('QUX.dispatchCallback() > Callback is not method ', callback);
}
} else {
console.warn('QUX.dispatchCallback() > no method in $parent with name ', callback);
}
}
}
}
},
handleCallbackResult: function handleCallbackResult(result, callback) {
/**
* Since 0.4 we check if we can dispatch the result to a screen.
*/
if (result) {
core_Logger.log(-1, 'QUX.handleCallbackResult() > callback > ' + callback, result);
var nextScreen = Object.values(this.model.screens).find(function (s) {
return s.name === result;
});
if (nextScreen) {
this.setScreen(result);
this.scrollToTop();
} else {
core_Logger.warn('QUX.handleCallbackResult() > no screen with name > ' + result);
}
}
},
navigateToScreen: function navigateToScreen(screen, line, value) {
if (screen.style && screen.style.overlay === true) {
core_Logger.log(1, 'Qux(Event).navigateToScreen() > Overlay', screen.name);
this.overlayScreenIds.push(screen.id);
} else {
core_Logger.log(1, 'Qux(Event).navigateToScreen() > Link', screen.name);
this.overlayScreenIds = [];
this.setScreen(screen.name, this.getValueQuery(value));
if (!line || line.scroll !== true) {
this.scrollToTop();
}
}
},
getValueQuery: function getValueQuery(value) {
/**
* We have here the magic *id* property that can come from a repeater!
*/
if (value && value.id) {
return "id=".concat(value.id);
}
},
scrollToTop: function scrollToTop() {
core_Logger.log(4, 'Qux(Event).scrollToTop()');
this.$emit('qScrollTop', {});
},
popOverlay: function popOverlay(e) {
/**
* Only pop of the screen background was hit.
*/
if (this.$refs.overlayCntr && e && e.target === this.$refs.overlayCntr.$el) {
core_Logger.log(4, 'Qux(Event).popOverlay()');
this.removeLastOverlay();
}
},
removeLastOverlay: function removeLastOverlay() {
core_Logger.log(4, 'Qux(Event).removeLastOverlay()');
if (this.overlayScreenIds.length > 0) {
this.overlayScreenIds.pop();
}
},
closeAllOverlays: function closeAllOverlays() {
core_Logger.log(4, 'Qux(Event).closeAllOverlays()');
this.overlayScreenIds = [];
},
onChange: function onChange(element, e, value) {
core_Logger.log(1, 'Qux(Event).onChange() > ', value);
this.$emit('qChange', element, e);
this.dispatchCallback(element, e, 'change', value);
},
onKeyPress: function onKeyPress(element, e, value) {
core_Logger.log(2, 'Qux(Event).onKeyPress() > ', value);
this.$emit('qKeyPress', element, e);
this.dispatchCallback(element, e, 'change', value);
},
onFocus: function onFocus(element, e, value) {
this.$emit('qFocus', element, e);
this.dispatchCallback(element, e, 'focus', value);
},
onBlur: function onBlur(element, e, value) {
this.$emit('qBlur', element, e);
this.dispatchCallback(element, e, 'blur', value);
},
onMouseOver: function onMouseOver(element, e) {
this.$emit('qMouseOver', element, e);
},
onMouseOut: function onMouseOut(element, e) {
this.$emit('qMouseOut', element, e);
},
setSystemVariable: function setSystemVariable(key, value) {
core_JSONPath.set(this.modelValue, '_qux.' + key, value);
}
}
});
// CONCATENATED MODULE: ./src/qux/mixins/Event.vue?vue&type=script&lang=js
// CONCATENATED MODULE: ./src/qux/mixins/Event.vue
const Event_exports_ = /*#__PURE__*/exportHelper_default()(Eventvue_type_script_lang_js, [['render',Eventvue_type_template_id_10442c98_render]])
/* harmony default export */ var Event = (Event_exports_);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/Luisa.vue?vue&type=script&lang=js
/* harmony default export */ var Luisavue_type_script_lang_js = ({
mixins: [Event, Logic],
name: 'Luisa',
emits: ['update:modelValue', 'qScreenLoad', 'qClick', 'click', 'qChange', 'change', 'qKeyPress', 'qFocus', 'qBlur', 'qDesignSystemCallback', 'qScrollTop'],
props: {
'app': {
default: false
},
'design': {},
'screen': {
type: String
},
'selected': {
type: String
},
'debug': {
type: String
},
'modelValue': {
type: Object,
default: function _default() {
return {};
}
},
'executor': {
type: Object
},
'config': {
type: Object,
default: function _default() {
return {};
}
},
'actions': {
type: Array
}
},
provide: function provide() {
return {
viewModel: this.modelValue
};
},
data: function data() {
return {
server: 'https://quant-ux.com',
model: null,
mobileModel: null,
tabletModel: null,
desktoModel: null,
selectedScreenId: null,
overlayScreenIds: [],
hash: false,
msg: 'Loading...',
mergedConfig: core_Config.getDefault(),
deviceType: ''
};
},
computed: {
treeModel: function treeModel() {
if (this.model) {
var model = this.responsiveModel;
var transformer = new ModelTransformer_ModelTransformer(model, this.mergedConfig, this.selected);
var tree = transformer.transform();
this.setGlobalCSS(tree, this.selected);
this.setGlobalFonts(model, this.mergedConfig);
return tree;
}
return {
screens: []
};
},
responsiveModel: function responsiveModel() {
var model = this.model;
if (this.mergedConfig.responsive) {
model = this.getResponsiveModel(model, this.mergedConfig.responsive);
}
return model;
},
currentScreen: function currentScreen() {
var _this = this;
if (this.selectedScreenId) {
var screen = this.treeModel.screens.filter(function (screen) {
return screen.isComponentScreen !== true;
}).find(function (screen) {
return screen.id === _this.selectedScreenId;
});
if (screen) {
return screen;
}
}
return this.getDefaultScreen();
},
isComponentScreen: function isComponentScreen() {
var s = this.currentScreen;
return s ? s.isComponentScreen : false;
},
imagePrefix: function imagePrefix() {
if (this.hash) {
return "".concat(this.server, "/rest/images/").concat(this.hash, "/");
}
return this.mergedConfig.imageFolder;
},
hasOverlay: function hasOverlay() {
return this.overlayScreenIds.length > 0;
},
currentOverlay: function currentOverlay() {
var overlayId = this.overlayScreenIds[this.overlayScreenIds.length - 1];
var overlay = this.treeModel.screens.find(function (screen) {
return screen.id === overlayId;
});
return overlay;
},
isFixedOverlay: function isFixedOverlay() {
var overlayId = this.overlayScreenIds[this.overlayScreenIds.length - 1];
var overlay = this.treeModel.screens.find(function (screen) {
return screen.id === overlayId;
});
if (overlay) {
return overlay.style.fixed;
}
return false;
},
isBluredOverlay: function isBluredOverlay() {
var overlayId = this.overlayScreenIds[this.overlayScreenIds.length - 1];
var overlay = this.treeModel.screens.find(function (screen) {
return screen.id === overlayId;
});
if (overlay) {
return overlay.style.blur;
}
return false;
}
},
methods: {
getResponsiveModel: function getResponsiveModel(model, responsive) {
var _this2 = this;
core_Logger.log(-1, 'Luisa.getResponsiveModel() > enter >', responsive);
var pagesWithTypes = responsive.filter(function (t) {
return t.types.length > 0;
});
/**
* Makre sure we have some configuration
*/
if (pagesWithTypes.length > 0) {
this.setDeviceType();
model = clone(model);
var pages = this.mergedConfig.responsive.filter(function (t) {
return t.types.indexOf(_this2.deviceType) > -1;
}).map(function (t) {
return t.page;
});
core_Logger.log(2, 'Luisa.getResponsiveModel() > Pages >' + this.deviceType, pages.join(','));
var filteredScreens = {};
Object.values(model.screens).forEach(function (s) {
if (pages.indexOf(s.pageName) > -1) {
filteredScreens[s.id] = s;
}
});
if (Object.values(filteredScreens).length > 0) {
core_Logger.log(-1, 'Luisa.getResponsiveModel() > exit :', this.deviceType);
model.screens = filteredScreens;
return model;
}
}
return model;
},
setGlobalFonts: function setGlobalFonts(model, config) {
core_FontWriter.write(model, config);
},
setGlobalCSS: function setGlobalCSS(tree) {
var compressed = new CSSOptimizer_CSSOptimizer(this.mergedConfig).runTree(tree);
var classes = new CSSFactory_CSSFactory(this.mergedConfig, this.imagePrefix).generate(compressed);
var css = [];
css = Object.values(classes).flatMap(function (element) {
return element.map(function (e) {
return e.code;
});
});
css = css.join('\n');
core_CSSWriter.write(css, tree.id);
},
setFigma: async function setFigma(figma) {
core_Logger.log(-1, 'Luisa.setFigma()', this.pages);
var figmaService = new FigmaService_FigmaService(figma.figmaAccessKey, this.mergedConfig);
var selectedPages = this.pages ? this.pages : [];
var app = await figmaService.get(figma.figmaFile, true, false, selectedPages);
app = figmaService.setBackgroundImages(app);
return app;
},
setDesign: async function setDesign(design) {
core_Logger.log(-1, 'Luisa.setApp() > setDesign', design);
if (this.config) {
this.setConfig(this.config, design);
}
if (design.figmaFile && design.figmaAccessKey) {
var app = await this.setFigma(design);
this.setQUX(app);
} else {
this.setQUX(design);
}
},
setConfig: function setConfig(c, design) {
if (design.figmaId || design.figmaFile && design.figmaAccessKey) {
core_Logger.log(1, 'Luisa.setConfig() > Set Figma');
this.mergedConfig.css = core_Config.getFigmaCSS();
}
this.mergedConfig = core_Config.merge(this.mergedConfig, c);
this.initCustomComponents(this.mergedConfig.components);
core_Logger.setLogLevel(this.mergedConfig.debug.logLevel); //Logger.log(5, 'Luisa.setConfig()', JSON.stringify(this.mergedConfig, null, 2))
},
setQUX: async function setQUX(app) {
if (app.substring) {
var model = await this.loadAppByKey(app);
this.model = model;
this.hash = app;
} else {
this.model = app;
}
this.initViewModel();
},
loadAppByKey: async function loadAppByKey(key) {
core_Logger.log(3, 'Luisa.loadAppByKey() > enter', key);
var url = "".concat(this.server, "/rest/invitation/").concat(key, "/app.json");
var start = new Date().getTime();
var response = await fetch(url);
if (response.status === 200) {
var app = await response.json();
core_Logger.log(-1, 'Luisa.loadAppByKey() > exit', new Date().getTime() - start);
return app;
} else {
this.msg = 'The debug id is wrong!';
}
},
setScreen: function setScreen(screenName, query) {
core_Logger.log(-1, 'Luisa.setScreen() > ', screenName, query); // Update url, which will trigger watcher, which will call setScreenByRouter() which will call loadScreen()
var prefix = '';
if (this.config && this.config.router && this.config.router.prefix) {
prefix = this.config.router.prefix + '/';
}
var url = "/".concat(prefix).concat(screenName, ".html");
if (query) {
url += '?' + query;
}
/**
* In history mode we have to set the entire URL
*/
this.$router.push(url);
},
loadScreen: function loadScreen(name) {
core_Logger.log(2, 'Luisa.loadScreen() >', name);
this.closeAllOverlays();
if (this.model) {
/**
* FIXME: Use here tree model
*/
var model = this.responsiveModel;
var screen = Object.values(model.screens).find(function (s) {
return s.name === name;
});
core_Logger.log(-1, 'Luisa.loadScreen() > Found ', screen);
if (screen) {
// make here somethink like: use router? and updat ethe url as well?
this.selectedScreenId = screen.id;
this.onScreenLoaded(screen);
} else {
core_Logger.warn('Luisa.loadScreen() > No screen with name', name);
var startScreen = this.getDefaultScreen();
if (startScreen) {
this.selectedScreenId = startScreen.id;
this.onScreenLoaded(startScreen);
} else {
this.msg = "404 - No Screen with name ".concat(this.msg);
}
}
} else {
core_Logger.warn('Luisa.loadScreen() > No Model');
}
},
getDefaultScreen: function getDefaultScreen() {
core_Logger.log(1, 'Luisa.getDefaultScreen() > enter');
var screen = this.treeModel.screens.filter(function (screen) {
return screen.isComponentScreen !== true;
}).find(function (screen) {
return screen.props.start === true;
});
if (!screen) {
screen = this.treeModel.screens.filter(function (screen) {
return screen.isComponentScreen !== true;
})[0];
}
return screen;
},
setStartScreen: function setStartScreen() {
core_Logger.log(5, 'Luisa.setStartScreen() > enter ');
var startScreen = this.getDefaultScreen();
if (startScreen) {
this.selectedScreenId = startScreen.id;
this.onScreenLoaded(startScreen);
} else {
this.selectedScreenId = null;
}
},
setScreenByRouter: function setScreenByRouter() {
core_Logger.log(5, 'Luisa.setScreenByRoute() > enter ', this.$route);
var key = 'screenName';
if (this.config && this.config.router && this.config.router.key) {
key = this.config.router.key;
}
var screenName = this.$route.params[key];
if (screenName) {
core_Logger.log(-1, 'Luisa.setScreenByRoute() > exit ', screenName, "(".concat(key, ")"));
this.loadScreen(screenName);
} else {
core_Logger.log(-1, 'Luisa.setScreenByRoute() > exit > set start');
this.setStartScreen();
}
},
initCustomComponents: function initCustomComponents(components) {
core_Logger.log(1, 'Luisa.initCustomComponents()', components); //for (let key in components) {
// let c = components[key]
// //Vue.component(key, c);
//}
},
initViewModel: function initViewModel() {
var _this3 = this;
core_Logger.log(3, 'Luisa.initViewModel > enter');
if (this.modelValue && this.model) {
/**
* Fix screen names
*/
Object.values(this.model.screens).forEach(function (screen) {
screen.name = getFileName(screen.name);
});
/**
* Add default databinding if needed. This might have consequences on
* reactiveness. In general it is not advided to do this.
*/
var dataBindings = Object.values(this.model.widgets).flatMap(function (widget) {
if (widget.props && widget.props.databinding) {
return Object.values(widget.props.databinding);
}
return [];
});
dataBindings.sort(function (a, b) {
return a.localeCompare(b);
});
var value = this.mergedConfig.databinding.default;
dataBindings.forEach(function (databinding) {
/**
* At some point we should have default values in the model...
*
* FIXME: This should be more intelligent and add arrays and so if needed
*/
var has = core_JSONPath.has(_this3.modelValue, databinding);
if (!has) {
core_Logger.log(-1, 'Luisa.initViewModel > Missing data in view model', databinding);
core_JSONPath.set(_this3.modelValue, databinding, value);
}
});
}
},
initReziseListener: function initReziseListener() {
window.addEventListener("resize", this.onScreenSizeChange);
},
onScreenSizeChange: function onScreenSizeChange() {
core_Logger.log(-1, 'Luisa.onScreenSizeChange > enter');
this.setDeviceType();
this.setScreenByRouter();
},
setDeviceType: function setDeviceType() {
core_Logger.log(1, 'Luisa.setDeviceType > enter');
var w = window.outerWidth;
var breakpoints = this.mergedConfig.breakpoints;
if (breakpoints) {
if (w < breakpoints.mobile.max) {
core_Logger.log(-1, 'Luisa.setDeviceType > exit mobile', w);
this.deviceType = 'mobile';
return;
}
if (w < breakpoints.tablet.max) {
core_Logger.log(-1, 'Luisa.setDeviceType > exit tablet', w);
this.deviceType = 'tablet';
return;
}
core_Logger.log(-1, 'Luisa.setDeviceType > exit desktop', w);
this.deviceType = 'desktop';
return;
}
},
getMethodExcutor: function getMethodExcutor() {
core_Logger.log(3, 'Luisa.getMethodExcutor() > ');
if (this.executor) {
return this.executor;
}
return this.$parent;
}
},
watch: {
'$route': function $route() {
core_Logger.log(3, 'Luisa.watch(router) > enter');
this.setScreenByRouter();
},
'screen': function screen(v) {
core_Logger.log(3, 'Luisa.watch(screen) > enter');
this.setScreen(v);
},
'value': function value(v) {
core_Logger.error('Luisa.watch(value) > enter', v); //this.value = v
//this.initViewModel()
},
'design': function design(v) {
core_Logger.error('Luisa.watch(design) > enter', v); //this.app = v
//this.setApp(this.app)
}
},
beforeMount: function beforeMount() {},
mounted: async function mounted() {
core_Logger.log(0, 'Luisa.mounted()', this.value);
if (this.actions && this.actions.length > 0) {
this.actionEngine = new ActionEngine_ActionEngine(this.actions);
}
if (this.design) {
await this.setDesign(this.design);
}
if (this.app) {
core_Logger.error('Luisa.mounted () > APP is depcreated');
await this.setDesign(this.app);
}
if (this.debug) {
console.warn('QUX > debug property is decrecated. Use "app" instead.');
await this.loadAppByKey(this.debug);
}
if (!this.selected) {
if (this.screen) {
this.loadScreen(this.screen);
} else {
this.setScreenByRouter();
}
} else {
core_Logger.log(-1, 'Luisa.mounted() > Selected:', this.selected, this.app);
}
if (this.$router && this.$router.mode === 'history') {
core_Logger.log(-1, 'Luisa.mounted() > Launch router with history', this.$router);
}
this.initReziseListener();
},
beforeUnmount: function beforeUnmount() {
window.removeEventListener("resize", this.onResize);
}
});
// CONCATENATED MODULE: ./src/qux/Luisa.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/Luisa.vue?vue&type=style&index=0&id=7a806424&lang=scss
var Luisavue_type_style_index_0_id_7a806424_lang_scss = __webpack_require__("4cdb");
// CONCATENATED MODULE: ./src/qux/Luisa.vue
const Luisa_exports_ = /*#__PURE__*/exportHelper_default()(Luisavue_type_script_lang_js, [['render',Luisavue_type_template_id_7a806424_render]])
/* harmony default export */ var Luisa = (Luisa_exports_);
// CONCATENATED MODULE: ./src/qux/index.js
//import Figma from './figma/Figma.vue'
/* harmony default export */ var qux = ({
install: function install(app) {
app.component('Luisa', Luisa); //app.component('Figma', Figma)
app.component('qHotSpot', Button);
app.component('qButton', Button);
app.component('qBox', Button);
app.component('qLabel', Label);
app.component('qContainer', Container);
app.component('qIcon', Icon);
app.component('qTextBox', TextBox);
app.component('qPassword', TextBox);
app.component('qTextArea', TextArea);
app.component('qRepeater', Repeater);
app.component('qImage', Image);
app.component('qCheckBox', CheckBox);
app.component('qRadioBox', RadioBox);
app.component('qRadioBox2', RadioBox);
app.component('qRadioGroup', RadioGroup);
app.component('qCheckBoxGroup', CheckBoxGroup);
app.component('qToggleButton', Toggle);
app.component('qSwitch', Switch);
app.component('qDropDown', DropDown);
app.component('qMobileDropDown', DropDown);
app.component('qStepper', Stepper);
app.component('qHSlider', Slider);
app.component('qDate', web_Date);
app.component('qDateDropDown', DatePicker);
app.component('qSegmentButton', Segment);
app.component('qRating', Rating);
app.component('qIconToggle', IconToggle);
app.component('qLabeledIconToggle', IconToggle);
app.component('qTypeAheadTextBox', Combo);
app.component('qTable', Table);
app.component('qPaging', Paging);
app.component('qBarChart', Chart);
app.component('qPieChart', Chart);
app.component('qMultiRingChart', Chart);
app.component('qRingChart', Chart);
app.component('qVector', Vector);
app.component('qTimeline', Timeline);
app.component('qUpload', Upload);
app.component('qCamera', Camera);
app.component('qChildrenToggle', ChildrenToggle);
app.component('qUploadPreview', UploadPreview);
app.component('qSpinner', Spinner);
app.component('qDynamicContainer', DynamicContainer);
app.component('qRichText', RichText);
app.component('qLink', Link);
}
});
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/ComponentSet.vue?vue&type=template&id=1ea9ebf0
function ComponentSetvue_type_template_id_1ea9ebf0_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(['qux-compoment-set', _ctx.cssClass]),
onClick: _cache[0] || (_cache[0] = function () {
return $options.toggle && $options.toggle.apply($options, arguments);
})
}, [$options.selectedChild ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDynamicComponent"])($options.selectedChild.qtype), {
key: $options.selectedChild.id,
element: $options.selectedChild,
model: _ctx.model,
config: _ctx.config,
onQDesignSystemCallback: _ctx.forwardDesignSystemCallback,
onQCallback: $options.forwardCallback,
onQClick: $options.forwardClick,
onQChange: $options.forwardChange,
onQKeyPress: $options.forwardKeyPress,
onQFocus: $options.forwardFocus,
onQBlur: $options.forwardBlur,
onQMouseOver: $options.forwardMouseOver,
onQMouseOut: $options.forwardMouseOut
}, null, 8, ["element", "model", "config", "onQDesignSystemCallback", "onQCallback", "onQClick", "onQChange", "onQKeyPress", "onQFocus", "onQBlur", "onQMouseOver", "onQMouseOut"])) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], {
key: 1
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.qErrorMessage), 1)], 64))], 2);
}
// CONCATENATED MODULE: ./src/qux/web/ComponentSet.vue?vue&type=template&id=1ea9ebf0
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/qux/web/ComponentSet.vue?vue&type=script&lang=js
/* harmony default export */ var ComponentSetvue_type_script_lang_js = ({
name: 'qComponentSet',
mixins: [_Base],
data: function data() {
return {
checked: false,
qErrorMessage: 'No varient matching!',
debug: false
};
},
computed: {
isActive: function isActive() {
if (this.isDesignSystemRoot) {
/**
* If no v-model is passed, we take the checked
*/
if (this.modelValue === undefined) {
return this.checked;
}
return this.modelValue;
}
if (this.element) {
var input = this.dataBindingInput;
return input === true;
}
return this.checked;
},
selectedChild: function selectedChild() {
if (this.element && this.$parent) {
var matches = this.getMatchesByVarient();
core_Logger.log(2, 'qComponentSet.selectedChild() ', matches);
if (isChildrenToggle(this.element) && this.element.children.length > 1) {
if (matches.length == 2) {
/**
* FIXME: Herre the order matters!
*/
if (this.isActive) {
return matches[1];
} else {
return matches[0];
}
} else {
core_Logger.error('qComponentSet.selectedChild() > More than 2 matches for toggle', matches);
}
} else {
if (matches.length === 1) {
return matches[0];
} else {
core_Logger.error('qComponentSet.selectedChild() > More than 1 macthes', matches);
}
}
}
return null;
},
justifyContent: function justifyContent() {
if (isWrappedContainer(this.element) && this.config.css.justifyContentInWrapper) {
return true;
}
return false;
},
wrapperPlaceHolders: function wrapperPlaceHolders() {
return [1, 2, 3, 4, 5, 6, 7, 8];
}
},
methods: {
toggle: function toggle(e) {
if (this.element) {
var value = !this.isActive;
this.onValueChange(value, 'default');
core_Logger.log(4, 'qComponentSet.toggle(element) > ' + this.dataBindingInputPath, value);
this.checked = value;
} else {
this.checked = !this.checked;
this.$emit('change', this.checked);
this.$emit('update:modelValue', this.checked);
core_Logger.log(5, 'qComponentSet.toggle() >' + this.checked);
}
/**
* Also fire onClick
*/
this.onClick(e);
},
getMatchesByVarient: function getMatchesByVarient() {
var _this = this;
var variantKeys = this.getPresentPropertyKeys();
core_Logger.log(4, 'qComponentSet.toggle(element) > ' + this.element.name, variantKeys);
var matches = this.element.children.filter(function (child) {
if (child.variant) {
var isMatch = true;
variantKeys.forEach(function (key) {
var value = child.variant[key];
isMatch &= value === _this.$parent.$props[key];
});
return isMatch;
}
return false;
});
return matches;
},
getPresentPropertyKeys: function getPresentPropertyKeys() {
var _this2 = this;
if (this.element && this.element.children.length > 1) {
/**
* Assume the first child has all variants
*/
var firstChild = this.element.children[0];
if (firstChild.variant) {
return Object.keys(firstChild.variant).filter(function (key) {
var value = _this2.$parent.$props[key];
return value !== undefined;
});
}
}
return [];
},
getMatchByProps: function getMatchByProps() {
var _this3 = this;
var matches = this.element.children.filter(function (child) {
if (child.variant) {
var isMatch = true;
for (var key in child.variant) {
var value = child.variant[key];
isMatch &= value === _this3.$parent.$props[key];
}
return isMatch;
}
return false;
});
return matches;
},
getValue: function getValue() {
return this.isActive;
},
forwardClick: function forwardClick(element, e, value) {
this.$emit('qClick', element, e, value);
},
forwardChange: function forwardChange(element, e, value) {
this.$emit('qChange', element, e, value);
},
forwardFocus: function forwardFocus(element, e, value) {
this.$emit('qFocus', element, e, value);
},
forwardBlur: function forwardBlur(element, e, value) {
this.$emit('qBlur', element, e, value);
},
forwardMouseOver: function forwardMouseOver(element, e, value) {
this.$emit('qMouseOver', element, e, value);
},
forwardMouseOut: function forwardMouseOut(element, e, value) {
this.$emit('qMouseOut', element, e, value);
},
forwardKeyPress: function forwardKeyPress(element, e, value) {
this.$emit('qKeyPress', element, e, value);
},
forwardCallback: function forwardCallback(element, e, value) {
this.$emit('qCallback', element, e, value);
}
},
mounted: function mounted() {// console.debug('ComponentSet.mounted()', this.element.name, this.label, this.element)
}
});
// CONCATENATED MODULE: ./src/qux/web/ComponentSet.vue?vue&type=script&lang=js
// EXTERNAL MODULE: ./src/qux/web/ComponentSet.vue?vue&type=style&index=0&id=1ea9ebf0&lang=scss
var ComponentSetvue_type_style_index_0_id_1ea9ebf0_lang_scss = __webpack_require__("109d");
// CONCATENATED MODULE: ./src/qux/web/ComponentSet.vue
const ComponentSet_exports_ = /*#__PURE__*/exportHelper_default()(ComponentSetvue_type_script_lang_js, [['render',ComponentSetvue_type_template_id_1ea9ebf0_render]])
/* harmony default export */ var ComponentSet = (ComponentSet_exports_);
// CONCATENATED MODULE: ./src/qux/ds/QUXDesignSystem.js
function QUXDesignSystem_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function QUXDesignSystem_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 QUXDesignSystem_createClass(Constructor, protoProps, staticProps) { if (protoProps) QUXDesignSystem_defineProperties(Constructor.prototype, protoProps); if (staticProps) QUXDesignSystem_defineProperties(Constructor, staticProps); return Constructor; }
// Make here a lightweight version of QUX
// makle clear distrinction between single qwidget and container... maybe in DeisgnSystem I have to decide
// make support for slots???
// map certain properties, like options etc to child
var QUXDesignSystem_QUXDesignSystem = /*#__PURE__*/function () {
function QUXDesignSystem() {
QUXDesignSystem_classCallCheck(this, QUXDesignSystem);
this.server = 'https://quant-ux.com';
this.components = {};
}
QUXDesignSystem_createClass(QUXDesignSystem, [{
key: "register",
value: async function register(app) {
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var hasComponentSet = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
core_Logger.log(2, "QUXDesignSystem.register()", app);
if (app.substring) {
config.imageFolder = "".concat(this.server, "/rest/images/").concat(app, "/");
app = await this.loadAppByKey(app);
}
config.addDefaultDatabinding = false;
this.onAppLoaded(app, core_Config.merge(core_Config.getDefault(), config), hasComponentSet);
}
}, {
key: "onAppLoaded",
value: function onAppLoaded(app, config, hasComponentSet) {
var _this = this;
core_Logger.log(3, "QUXDesignSystem.onAppLoaded() > enter", app, config);
var start = new Date().getTime();
var prefix = config.designletPrefix ? config.designletPrefix : '';
/**
* Build tree
*/
var transformer = new ModelTransformer_ModelTransformer(app, config);
var tree = transformer.transform();
/**
* Make nicer css. Also add here a parametert to convert
* vertAlign to padding
*/
tree = new CSSOptimizer_CSSOptimizer(config).runTree(tree, true);
/**
* Register all qWidget to VUE. This oculd be still smarter...
*/
this.initComponents();
var cssFactory = new CSSFactory_CSSFactory(config, config.imageFolder);
/**
* Take all first level screen children
*/
tree.screens.forEach(function (screen) {
screen.children.forEach(function (widget) {
_this.registerElement(app, widget, config, cssFactory, hasComponentSet, prefix);
});
});
/**
* ToDO: Create all templates
*/
var stop = new Date().getTime();
core_Logger.log(-1, "DesignSystem.onAppLoaded() > exit", stop - start);
}
}, {
key: "registerElement",
value: function registerElement(app, element, config, cssFactory, hasComponentSet, prefix) {
core_Logger.log(-1, "QUXDesignSystem.registerElement() > enter", "<".concat(prefix).concat(element.name, ">/"));
var props = ['label', 'value', 'options', 'href'];
if (hasComponentSet && isComponentSet(element)) {
this.fixComponentSet(element, props);
}
this.components["".concat(prefix).concat(element.name)] = {
name: "".concat(prefix).concat(element.name),
element: element
};
/**
* Set flag for special handling and reset the cssSelectors
*/
element.isDesignSystemRoot = true;
/**
* Here we create dynamicaly the qWidget that is needed! we also map our internal
* property names to nice onces, like 'lbl' => 'label'
*/
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component(prefix + element.name, {
props: props,
data: function data() {
return {
count: 0
};
},
render: function render(createElement) {
return createElement(element.qtype, {
props: {
element: element,
model: app,
lbl: this.label,
value: this.value,
url: this.href,
optionList: this.options
}
}, this.$slots.default);
}
});
this.createCSS(app, element, config, cssFactory);
}
}, {
key: "fixComponentSet",
value: function fixComponentSet(element, props) {
element.qtype = 'qComponentSet';
element.type = 'ComponentSet';
if (element.children && element.children.length > 0) {
var child = element.children[0];
if (child.variant) {
Object.keys(child.variant).forEach(function (key) {
if (props.indexOf(key) === -1) {
props.push(key);
}
});
}
core_Logger.log(3, "QUXDesignSystem.fixComponentSet() > component set", "<".concat(element.name, " >/"), props);
}
}
}, {
key: "createCSS",
value: function createCSS(app, element, config, cssFactory) {
core_Logger.log(4, "QUXDesignSystem.createCSS() > register", element.name);
/**
* Reset all css selectord
*/
setCSSClassNames(element, element.cssClass);
element.cssSelector = '.' + element.cssClass;
var classes = cssFactory.generateDesignSystemRoot(element);
var css = [];
css = Object.values(classes).flatMap(function (element) {
return element.map(function (e) {
return e.code;
});
});
css = css.join('\n');
core_CSSWriter.write(css, app.id + '-' + element.id);
}
}, {
key: "loadAppByKey",
value: async function loadAppByKey(key) {
core_Logger.log(2, "QUXDesignSystem.loadAppByKey() > enter", key);
var url = "".concat(this.server, "/rest/invitation/").concat(key, "/app.json");
var start = new Date().getTime();
var response = await fetch(url);
if (response.status === 200) {
var app = await response.json();
core_Logger.log(-1, "QUXDesignSystem.loadAppByKey() > exit", new Date().getTime() - start);
return app;
} else {
core_Logger.error("QUXDesignSystem.loadAppByKey() > Could not load");
}
}
}, {
key: "mergeConfig",
value: function mergeConfig(conf) {
if (!conf.imageFolder) {
conf.imageFolder = '/img/';
}
return conf;
}
}, {
key: "initComponents",
value: function initComponents() {
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qHotSpot', Button);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qButton', Button);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qBox', Button);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qLabel', Label);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qContainer', Container);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qIcon', Icon);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qTextBox', TextBox);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qPassword', TextBox);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qTextArea', TextArea);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qRepeater', Repeater);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qImage', Image);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qCheckBox', CheckBox);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qRadioBox', RadioBox);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qRadioBox2', RadioBox);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qRadioGroup', RadioGroup);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qCheckBoxGroup', CheckBoxGroup);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qToggleButton', Toggle);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qSwitch', Switch);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qDropDown', DropDown);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qMobileDropDown', DropDown);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qStepper', Stepper);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qHSlider', Slider);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qDate', web_Date);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qDateDropDown', DatePicker);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qSegmentButton', Segment);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qRating', Rating);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qIconToggle', IconToggle);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qLabeledIconToggle', IconToggle);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qTypeAheadTextBox', Combo);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qTable', Table);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qPaging', Paging);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qBarChart', Chart);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qPieChart', Chart);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qMultiRingChart', Chart);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qRingChart', Chart);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qVector', Vector);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qTimeline', Timeline);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qUpload', Upload);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qCamera', Camera);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qChildrenToggle', ChildrenToggle);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qUploadPreview', UploadPreview);
external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('qComponentSet', ComponentSet);
}
}]);
return QUXDesignSystem;
}();
/* harmony default export */ var ds_QUXDesignSystem = (new QUXDesignSystem_QUXDesignSystem());
// CONCATENATED MODULE: ./src/qux/ds/FigmaDesignSystem.js
function FigmaDesignSystem_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function FigmaDesignSystem_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 FigmaDesignSystem_createClass(Constructor, protoProps, staticProps) { if (protoProps) FigmaDesignSystem_defineProperties(Constructor.prototype, protoProps); if (staticProps) FigmaDesignSystem_defineProperties(Constructor, staticProps); return Constructor; }
var FigmaDesignSystem_FigmaDesignSystem = /*#__PURE__*/function () {
function FigmaDesignSystem() {
FigmaDesignSystem_classCallCheck(this, FigmaDesignSystem);
}
FigmaDesignSystem_createClass(FigmaDesignSystem, [{
key: "register",
value: async function register(figmaFile, figmaAccessKey, config) {
core_Logger.log(-1, "FigmaDesignSystem.register()", figmaFile);
var app = figmaFile;
if (figmaFile && figmaAccessKey) {
/**
* Force the design system we pinn right for now
*/
if (!config) {
config = {};
}
config.figma = {
pinnRight: false
};
var figmaService = new FigmaService_FigmaService(figmaAccessKey, config);
app = await figmaService.get(figmaFile, true);
app = figmaService.setBackgroundImages(app);
}
/**
* Pass here also the hasComponentSet = true!
*/
return ds_QUXDesignSystem.register(app, config, true);
}
}]);
return FigmaDesignSystem;
}();
/* harmony default export */ var ds_FigmaDesignSystem = (new FigmaDesignSystem_FigmaDesignSystem());
// CONCATENATED MODULE: ./src/index.js
/* harmony default export */ var src_0 = ({
install: function install(app) {
qux.install(app);
}
});
function createFigmaService(key) {
return new FigmaService_FigmaService(key);
}
function createModelTransformer(app) {
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var selected = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
return new ModelTransformer_ModelTransformer(app, config, selected);
}
function createCSSOptimizer() {
return new CSSOptimizer_CSSOptimizer();
}
function createCSSFactory() {
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var imagePrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
return new CSSFactory_CSSFactory(config, imagePrefix);
}
function createCSSWriter(css) {
var id = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';
return new core_CSSWriter(css, id);
}
function setLogLevel(level) {
core_Logger.setLogLevel(level);
}
async function createFigmaDesignlets(figmaFile, figmaAcessKey, config) {
return ds_FigmaDesignSystem.register(figmaFile, figmaAcessKey, config);
}
async function createFigmaDesignSystem(figmaFile, figmaAcessKey, config) {
return ds_FigmaDesignSystem.register(figmaFile, figmaAcessKey, config);
}
async function createQUXDesignlets(app, config) {
return ds_QUXDesignSystem.register(app, config);
}
async function createQUXDesignSystem(app, config) {
return ds_QUXDesignSystem.register(app, config);
}
function getDesignSystem() {
return ds_QUXDesignSystem;
}
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js
/* harmony default export */ var entry_lib = __webpack_exports__["default"] = (src_0);
/***/ }),
/***/ "fb8c":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-icon{display:inline-block}", ""]);
// Exports
module.exports = exports;
/***/ }),
/***/ "fc9f":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Segment_vue_vue_type_style_index_0_id_06af407c_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d0ae");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Segment_vue_vue_type_style_index_0_id_06af407c_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Segment_vue_vue_type_style_index_0_id_06af407c_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ "ffe2":
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, ".qux-upload-preview{background-size:100%;background-repeat:no-repeat}.qux-upload-preview.qux-upload-preview-border{border:0 solid #333}", ""]);
// Exports
module.exports = exports;
/***/ })
/******/ });
//# sourceMappingURL=luisa-vue3.common.js.map