luisa-vue
Version:
Luisa - VUE Renderer for FIGMA designs. Turn your Figma or Quant-UX design into VUE, or create re-usable designlets
2 lines • 9.43 kB
JavaScript
(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t():"function"===typeof define&&define.amd?define([],t):"object"===typeof exports?exports["luisa-vue3"]=t():e["luisa-vue3"]=t()})("undefined"!==typeof self?self:this,(function(){return function(){"use strict";var e={};function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,i(r.key),r)}}function o(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function i(e){var n=u(e,"string");return"symbol"===t(n)?n:String(n)}function u(e,n){if("object"!==t(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,n||"default");if("object"!==t(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}var a=function(){function e(){n(this,e),this.logLevel=0}return o(e,[{key:"setLogLevel",value:function(e){this.logLevel=e}},{key:"warn",value:function(e,t){void 0!==t?console.warn(e,t):console.warn(e)}},{key:"error",value:function(e,t){void 0!==t?console.error(e,t):console.error(e)}},{key:"log",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";e<this.logLevel&&(void 0!==n?console.debug(t,n,r):console.debug(t))}}]),e}(),s=new a;function c(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&l(e,t)}function l(e,t){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},l(e,t)}function f(e){var t=d();return function(){var n,r=v(e);if(t){var o=v(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return p(this,n)}}function p(e,t){if(t&&("object"===h(t)||"function"===typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return y(e)}function y(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function v(e){return v=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},v(e)}function h(e){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h(e)}function b(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function g(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,w(r.key),r)}}function m(e,t,n){return t&&g(e.prototype,t),n&&g(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function w(e){var t=S(e,"string");return"symbol"===h(t)?t:String(t)}function S(e,t){if("object"!==h(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==h(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}var k=function(){function e(t,n,r){b(this,e),this.qModel=t,this.api=n,this.type=r}return m(e,[{key:"getName",value:function(){return this.qModel.name}},{key:"setStyle",value:function(e){this.api.appDeltas.push({type:this.type,key:"style",id:this.qModel.id,style:e})}},{key:"setProp",value:function(e){this.api.appDeltas.push({type:this.type,id:this.qModel.id,key:"props",props:e})}},{key:"hide",value:function(){this.setStyle({display:"none"})}},{key:"isHidden",value:function(){var e,t;return"none"===(null===this||void 0===this||null===(e=this.qModel)||void 0===e||null===(t=e.style)||void 0===t?void 0:t.display)}},{key:"show",value:function(){this.setStyle({display:"block"})}},{key:"toggle",value:function(){this.isHidden()?this.show():this.hide()}}]),e}(),j=function(e){c(n,e);var t=f(n);function n(e,r){return b(this,n),t.call(this,e,r,"Widget")}return m(n)}(k),P=function(e){c(n,e);var t=f(n);function n(e,r){return b(this,n),t.call(this,e,r,"Group")}return m(n,[{key:"forEachChild",value:function(e){this.qModel.children.forEach(e)}},{key:"setStyle",value:function(e){var t=this;this.forEachChild((function(n){t.api.appDeltas.push({type:"Widget",key:"style",id:n,style:e})}))}},{key:"setProp",value:function(e){var t=this;this.forEachChild((function(n){t.api.appDeltas.push({type:"Widget",key:"props",id:n,props:e})}))}},{key:"isHidden",value:function(){var e=this,t=this.qModel.children.filter((function(t){var n,r=e.api.app.widgets[t];return"none"===(null===r||void 0===r||null===(n=r.style)||void 0===n?void 0:n.display)}));return t.length===this.qModel.children.length}}]),n}(k),O=function(e){c(n,e);var t=f(n);function n(e,r){return b(this,n),t.call(this,e,r,"Screen")}return m(n,[{key:"getGroup",value:function(e){if(s.log(2,"QScreen.getGroup() ",e),this.api.app.groups){var t=this.api.app.groups,n=this.qModel.children,r=Object.values(t).find((function(t){if(t.name===e){var r=t.children,o=r.filter((function(e){return n.indexOf(e)>=0}));return o.length===r.length}return!1}));if(r)return new P(r,this.api)}throw new Error('Widget "'.concat(e,'" in screen "').concat(this.qModel.name,'" not found.'))}},{key:"getWidget",value:function(e){s.log(2,"QScreen.getWidget() ",e);for(var t=this.qModel.children,n=0;n<t.length;n++){var r=t[n],o=this.api.app.widgets[r];if(o&&o.name===e)return new j(o,this.api)}throw new Error('Widget "'.concat(e,'" in screen "').concat(this.qModel.name,'" not found.'))}}]),n}(k),E=function(){function e(t,n){b(this,e),s.log(2,"ScriptAPI.constructor() ",n),this.app=t,this.appDeltas=[]}return m(e,[{key:"getScreen",value:function(e){var t=Object.values(this.app.screens).filter((function(t){return t.name===e}));if(1===t.length)return new O(t[0],this);throw new Error('Screen "'.concat(e,'" not found.'))}},{key:"vibrate",value:function(e){this.vibratePattern=e}},{key:"getAppDeltas",value:function(){return this.appDeltas}}]),e}();function M(e){return M="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},M(e)}function q(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function C(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,x(r.key),r)}}function W(e,t,n){return t&&C(e.prototype,t),n&&C(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function x(e){var t=D(e,"string");return"symbol"===M(t)?t:String(t)}function D(e,t){if("object"!==M(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==M(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}var T=function(){function e(){q(this,e),this.messages=[]}return W(e,[{key:"debug",value:function(){console.debug("ScriptConsole.debug() > ",arguments[0]),this.messages.push({type:"debug",args:arguments[0]})}},{key:"log",value:function(){console.log("ScriptConsole.log() > ",arguments[0]),this.messages.push({type:"log",args:arguments[0]})}},{key:"warn",value:function(){console.warn("ScriptConsole.warn() > ",arguments[0]),this.messages.push({type:"warn",args:arguments[0]})}},{key:"error",value:function(){console.warn("ScriptConsole.error() > ",arguments[0]),this.messages.push({type:"error",args:arguments[0]})}}]),e}();async function _(e,t,n,r,o){if(e.indexOf("await ")>0){s.warn("ScriptWoker.runCode() > enter > ASYNC ",e);var i=Object.getPrototypeOf((async function(){})).constructor,u="return new Promise(async (resolve) => {\n ".concat(e,"\n resolve()\n });");r.log("ScriptWoker.runCode() > run aysnc...");var a=i("qux","data","console","event",u);return await a(t,n,r,o)}s.log(-1,"ScriptWoker.runCode() > enter sync");var c=new Function("qux","data","console","event",e);return c(t,n,r,o)}return self.addEventListener("message",(async function(e){s.log(3,"ScriptWorker.message() > enter ",e);var t=e.data.code,n=e.data.model,r=e.data.viewModel,o=e.data.sourceEvent,i=new E(n),u=new T,a=void 0;try{a=await _(t,i,r,u,o),self.postMessage({to:a,viewModel:r,appDeltas:i.getAppDeltas(),console:u.messages,vibratePattern:i.vibratePattern,status:"ok"})}catch(c){s.error(1,"ScriptWorker.message() > Error",c),u.error(c),self.postMessage({status:"error",console:u.messages,error:c.message,stack:c.stack})}s.log(1,"ScriptWoker.message() > exit ")})),e}()}));
//# sourceMappingURL=luisa-vue3.umd.min.838.js.map