From da73db7249e8bb9658c9fc4c9772827b2b28e298 Mon Sep 17 00:00:00 2001 From: musicode Date: Sun, 10 Apr 2022 20:51:25 +0800 Subject: [PATCH] bump 1.0.0-alpha.254 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复布尔属性赋值错误 --- dist/legacy/dev/yox.esm.js | 108 ++++++++++------- dist/legacy/dev/yox.esm.js.map | 2 +- dist/legacy/dev/yox.esm.min.js | 2 +- dist/legacy/dev/yox.js | 108 ++++++++++------- dist/legacy/dev/yox.js.map | 2 +- dist/legacy/dev/yox.min.js | 2 +- dist/legacy/prod/yox.esm.js | 102 ++++++++++------ dist/legacy/prod/yox.esm.js.map | 2 +- dist/legacy/prod/yox.esm.min.js | 2 +- dist/legacy/prod/yox.js | 102 ++++++++++------ dist/legacy/prod/yox.js.map | 2 +- dist/legacy/prod/yox.min.js | 2 +- dist/legacy/pure/yox.esm.js | 100 ++++++++++------ dist/legacy/pure/yox.esm.js.map | 2 +- dist/legacy/pure/yox.esm.min.js | 2 +- dist/legacy/pure/yox.js | 100 ++++++++++------ dist/legacy/pure/yox.js.map | 2 +- dist/legacy/pure/yox.min.js | 2 +- dist/legacy/runtime/yox.esm.js | 100 ++++++++++------ dist/legacy/runtime/yox.esm.js.map | 2 +- dist/legacy/runtime/yox.esm.min.js | 2 +- dist/legacy/runtime/yox.js | 100 ++++++++++------ dist/legacy/runtime/yox.js.map | 2 +- dist/legacy/runtime/yox.min.js | 2 +- dist/standard/dev/yox.esm.js | 108 ++++++++++------- dist/standard/dev/yox.esm.js.map | 2 +- dist/standard/dev/yox.esm.min.js | 2 +- dist/standard/dev/yox.js | 108 ++++++++++------- dist/standard/dev/yox.js.map | 2 +- dist/standard/dev/yox.min.js | 2 +- dist/standard/prod/yox.esm.js | 102 ++++++++++------ dist/standard/prod/yox.esm.js.map | 2 +- dist/standard/prod/yox.esm.min.js | 2 +- dist/standard/prod/yox.js | 102 ++++++++++------ dist/standard/prod/yox.js.map | 2 +- dist/standard/prod/yox.min.js | 2 +- dist/standard/pure/yox.esm.js | 4 +- dist/standard/pure/yox.esm.min.js | 2 +- dist/standard/pure/yox.js | 4 +- dist/standard/pure/yox.min.js | 2 +- dist/standard/runtime/yox.esm.js | 19 ++- dist/standard/runtime/yox.esm.js.map | 2 +- dist/standard/runtime/yox.esm.min.js | 2 +- dist/standard/runtime/yox.js | 19 ++- dist/standard/runtime/yox.js.map | 2 +- dist/standard/runtime/yox.min.js | 2 +- example/boolean.html | 173 +++++++++++++++++++++++++++ package.json | 2 +- 48 files changed, 986 insertions(+), 535 deletions(-) create mode 100644 example/boolean.html diff --git a/dist/legacy/dev/yox.esm.js b/dist/legacy/dev/yox.esm.js index 85689aff..472f5683 100644 --- a/dist/legacy/dev/yox.esm.js +++ b/dist/legacy/dev/yox.esm.js @@ -1,5 +1,5 @@ /** - * yox.js v1.0.0-alpha.253 + * yox.js v1.0.0-alpha.254 * (c) 2017-2022 musicode * Released under the MIT License. */ @@ -2799,7 +2799,7 @@ svgTagNames = split2Map('svg,g,defs,desc,metadata,symbol,use,image,path,rect,cir // 常见的数字类型的属性(width,height,cellpadding,cellspacing 支持百分比,因此不计入数字类型) numberAttributeNames = split2Map('min,minlength,max,maxlength,step,size,rows,cols,tabindex,colspan,rowspan,frameborder') , // 常见的布尔类型的属性 -booleanAttributeNames = split2Map('disabled,checked,required,multiple,readonly,autofocus,autoplay,controls,loop,muted,novalidate,draggable,contenteditable,hidden,spellcheck') ; +booleanAttributeNames = split2Map('disabled,checked,required,multiple,readonly,autofocus,autoplay,reversed,selected,controls,default,loop,muted,novalidate,draggable,contenteditable,hidden,spellcheck,allowfullscreen') ; function isSelfClosing(tagName) { return selfClosingTagNames[tagName] !== UNDEFINED$1; } @@ -2809,11 +2809,18 @@ function createAttribute(element, name, ns) { return createAttribute$1(camelize(name), ns); } // 原生 dom 属性 - return name === 'style' - ? createStyle() - : createAttribute$1(name, ns); + if (name === 'style') { + return createStyle(); + } + const attribute = createAttribute$1(name, ns); + if (isBooleanNativeAttribute(name)) { + // 默认为 true 的布尔属性只有以下两种情况 + attribute.defaultValue = name === 'spellcheck' + || (element.tag === 'img' && name === 'draggable'); + } + return attribute; } -function getAttributeDefaultValue(element, name) { +function getAttributeDefaultValue(element, name, defaultValue) { // 比如 if (element.isComponent) { return TRUE$1; @@ -2822,19 +2829,19 @@ function getAttributeDefaultValue(element, name) { if (isNumberNativeAttribute(name)) { return UNDEFINED$1; } - // 布尔类型返回 'true' + // 布尔类型取决于 defaultValue if (isBooleanNativeAttribute(name)) { - return RAW_TRUE; + return formatBooleanNativeAttributeValue(name, TRUE$1, defaultValue); } // 字符串类型返回空字符串 return EMPTY_STRING; } -function formatNativeAttributeValue(name, value) { +function formatNativeAttributeValue(name, value, defaultValue) { if (isNumberNativeAttribute(name)) { return formatNumberNativeAttributeValue(name, value); } else if (isBooleanNativeAttribute(name)) { - return formatBooleanNativeAttributeValue(name, value); + return formatBooleanNativeAttributeValue(name, value, defaultValue); } // 字符串类型的属性,保持原样即可 return value; @@ -2854,17 +2861,12 @@ function formatNumberNativeAttributeValue(name, value) { } return toString$1(value); } -function formatBooleanNativeAttributeValue(name, value) { +function formatBooleanNativeAttributeValue(name, value, defaultValue) { // 布尔类型的属性,只有值为 true 或 属性名 才表示 true - if (value === TRUE$1 || value === RAW_TRUE || value === name) { - return RAW_TRUE; - } - // 有些元素的布尔类型属性值,默认是 true,因此如果开发者明确传了 false,还是要用 false - // 而不是用 undefined,否则会用回元素的默认值,即 true - if (value === FALSE$1 || value === RAW_FALSE) { - return RAW_FALSE; - } - return UNDEFINED$1; + const isTrue = value === TRUE$1 || value === RAW_TRUE || value === name; + return isTrue === defaultValue + ? UNDEFINED$1 + : (isTrue ? RAW_TRUE : RAW_FALSE); } function isNativeElement(node) { if (node.type !== ELEMENT) { @@ -3391,11 +3393,21 @@ class Parser { */ scanToken() { const instance = this, { code, index } = instance; - if (isIdentifierStart(code) || isSlotIdentifierStart(code)) { + let isSlotIdentifier = FALSE$1; + if (isSlotIdentifierStart(code)) { + isSlotIdentifier = TRUE$1; + instance.go(); + } + // 因为上面可能前进了一步,因此这里用 instance.code + if (isIdentifierStart(instance.code)) { return instance.scanTail(index, [ - instance.scanIdentifier(index, code) + instance.scanIdentifier(index, isSlotIdentifier) ]); } + // @后面是个标识符才行,否则回退 + else if (isSlotIdentifier) { + instance.go(-1); + } if (isDigit(code)) { return instance.scanNumber(index); } @@ -3659,21 +3671,33 @@ class Parser { if (instance.is(CODE_SLASH)) { instance.go(); const { index, code } = instance; - if (isIdentifierStart(code) || isSlotIdentifierStart(code)) { - push(nodes, instance.scanIdentifier(index, code, TRUE$1)); - return instance.scanTail(startIndex, nodes); - } - else if (instance.is(CODE_DOT)) { - // 先跳过第一个 . + let isSlotIdentifier = FALSE$1; + if (isSlotIdentifierStart(code)) { + isSlotIdentifier = TRUE$1; instance.go(); - // 继续循环 + } + // 因为上面可能前进了一步,因此这里用 instance.code + if (isIdentifierStart(instance.code)) { + push(nodes, instance.scanIdentifier(index, isSlotIdentifier, TRUE$1)); + return instance.scanTail(startIndex, nodes); } else { - // 类似 ./ 或 ../ 这样后面不跟标识符是想干嘛?报错可好? - { - instance.fatal(startIndex, `${last(nodes).raw}/ must be followed by an identifier.`); + // @后面是个标识符才行,否则回退 + if (isSlotIdentifier) { + instance.go(-1); + } + if (instance.is(CODE_DOT)) { + // 先跳过第一个 . + instance.go(); + // 继续循环 + } + else { + // 类似 ./ 或 ../ 这样后面不跟标识符是想干嘛?报错可好? + { + instance.fatal(startIndex, `${last(nodes).raw}/ must be followed by an identifier.`); + } + break; } - break; } } // 类似 . 或 ..,可能就是想读取层级对象 @@ -3712,7 +3736,7 @@ class Parser { // 接下来的字符,可能是数字,也可能是标识符,如果不是就报错 if (isIdentifierPart(instance.code)) { // 无需识别关键字 - push(nodes, instance.scanIdentifier(instance.index, instance.code, TRUE$1)); + push(nodes, instance.scanIdentifier(instance.index, FALSE$1, TRUE$1)); break; } else { @@ -3751,7 +3775,7 @@ class Parser { * @param isProp 是否是对象的属性 * @return */ - scanIdentifier(startIndex, startCode, isProp) { + scanIdentifier(startIndex, isSlotIdentifier, isProp) { const instance = this; // 标识符的第一个字符在外面已经判断过,肯定符合要求 // 因此这里先前进一步 @@ -3760,8 +3784,7 @@ class Parser { } while (isIdentifierPart(instance.code)); const raw = instance.pick(startIndex); // 插槽变量,@ 后面必须有其他字符 - if (raw.length === 1 - && isSlotIdentifierStart(startCode)) { + if (isSlotIdentifier && raw.length === 1) { instance.fatal(startIndex, 'A slot identifier must be followed by its name.'); } return !isProp && raw in keywordLiterals @@ -4282,19 +4305,19 @@ function compile(content) { } } else { - attr.value = getAttributeDefaultValue(element, attr.name); + attr.value = getAttributeDefaultValue(element, attr.name, attr.defaultValue); } }, processAttributeSingleText = function (element, attr, child) { attr.value = element.isComponent ? child.text - : formatNativeAttributeValue(attr.name, child.text); + : formatNativeAttributeValue(attr.name, child.text, attr.defaultValue); attr.children = UNDEFINED$1; }, processAttributeSingleExpression = function (element, attr, child) { const { expr } = child; if (expr.type === LITERAL) { let value = expr.value; if (!element.isComponent && attr.type === ATTRIBUTE) { - value = formatNativeAttributeValue(attr.name, value); + value = formatNativeAttributeValue(attr.name, value, attr.defaultValue); } attr.value = value; } @@ -6340,7 +6363,8 @@ function generateNativeAttributeValue(node) { else if (isBooleanNativeAttribute(name)) { value = toCall(FORMAT_NATIVE_ATTRIBUTE_BOOLEAN_VALUE, [ toPrimitive(name), - value + value, + toPrimitive(node.defaultValue) ]); } } @@ -9311,7 +9335,7 @@ class Yox { /** * core 版本 */ -Yox.version = "1.0.0-alpha.253"; +Yox.version = "1.0.0-alpha.254"; /** * 方便外部共用的通用逻辑,特别是写插件,减少重复代码 */ diff --git a/dist/legacy/dev/yox.esm.js.map b/dist/legacy/dev/yox.esm.js.map index d0d852f1..e0eb21c4 100644 --- a/dist/legacy/dev/yox.esm.js.map +++ b/dist/legacy/dev/yox.esm.js.map @@ -1 +1 @@ -{"version":3,"file":"yox.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"yox.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/dist/legacy/dev/yox.esm.min.js b/dist/legacy/dev/yox.esm.min.js index 6432a116..2f3cafbc 100644 --- a/dist/legacy/dev/yox.esm.min.js +++ b/dist/legacy/dev/yox.esm.min.js @@ -1,2 +1,2 @@ -const e=/^!(?:\s|--)/,t="undefined"!=typeof window?window:undefined,n="undefined"!=typeof document?document:undefined,i=function(){},r=Object.freeze({}),o=Object.freeze([]),s=/yox/.test(i.toString())?2:3,c={leftDelimiter:"{",rightDelimiter:"}",uglifyCompiled:false,minifyCompiled:false,logLevel:s};function a(e){return"function"==typeof e}function u(e){return Array.isArray(e)}function l(e){return null!==e&&"object"==typeof e}function f(e){return"string"==typeof e}function d(e){return"number"==typeof e&&!isNaN(e)}function p(e){return true===e||false===e}function h(e){return!isNaN(e-parseFloat(e))}var m=Object.freeze({__proto__:null,func:a,array:u,object:l,string:f,number:d,boolean:p,numeric:h});function g(e,t,n){return u(n)?e.apply(t,n):undefined!==t?e.call(t,n):undefined!==n?e(n):e()}class y{constructor(e,t){this.type=e,this.phase=y.PHASE_CURRENT,t&&(this.originalEvent=t)}static is(e){return e instanceof y}preventDefault(){const e=this;if(!e.isPrevented){const{originalEvent:t}=e;t&&t.preventDefault(),e.isPrevented=true}return e}stopPropagation(){const e=this;if(!e.isStoped){const{originalEvent:t}=e;t&&t.stopPropagation(),e.isStoped=true}return e}prevent(){return this.preventDefault()}stop(){return this.stopPropagation()}}function v(e,t,n){const{length:i}=e;if(i)if(n)for(let n=i-1;n>=0&&false!==t(e[n],n);n--);else for(let n=0;n0)return e[t-1]}function _(e){const{length:t}=e;if(t>0)return e.pop()}function E(e,t,n){let i=0;return v(e,(function(r,o){(false===n?r==t:r===t)&&(e.splice(o,1),i++)}),true),i}function C(e,t,n){return w(e,t,n)>=0}function N(e){return u(e)?e:g(o.slice,e)}function O(e,t){return e.join(t)}function A(e){return!u(e)||!e.length}y.PHASE_CURRENT=0,y.PHASE_UPWARD=1,y.PHASE_DOWNWARD=-1;var P=Object.freeze({__proto__:null,each:v,push:k,unshift:T,indexOf:w,last:S,pop:_,remove:E,has:C,toArray:N,toObject:function(e,t,n){let i={};return v(e,(function(e){i[t?e[t]:e]=n||e})),i},join:O,falsy:A});function L(e,t){return null!=e&&e.toString?e.toString():undefined!==t?t:""}function z(e){return a(e)&&L(e).indexOf("[native code]")>=0}let D=function(){const e=Object.create(null);return{get:t=>e[t],set(t,n){e[t]=n},has:t=>t in e,keys:()=>Object.keys(e)}};z(Object.create)||(D=function(){const e={};return{get:t=>e.hasOwnProperty(t)?e[t]:undefined,set(t,n){e[t]=n},has:t=>e.hasOwnProperty(t),keys:()=>Object.keys(e)}});var I=D;function j(e){const t=I();return function(n){const i=t.get(n);if(undefined!==i)return i;const r=e(n);return t.set(n,r),r}}function V(e){const t=I();return function(n,i){let r=t.get(n);if(r){const e=r.get(i);if(e)return e}else r=I(),t.set(n,r);const o=e(n,i);return r.set(i,o),o}}const F=/-([a-z])/gi,H=/\B([A-Z])/g,q=/^[a-z]/,R=j((function(e){return e.replace(F,(function(e,t){return ee(t)}))})),M=j((function(e){return e.replace(H,(function(e,t){return"-"+te(t)}))})),U=j((function(e){return e.replace(q,ee)}));function W(e,t){return O(new Array(t+1),e)}function B(e){return ie(e)?"":e.trim()}function K(e,t,n){return d(n)?t===n?"":e.slice(t,n):e.slice(t)}function Y(e,t,n){return e.indexOf(t,undefined!==n?n:0)}function G(e,t,n){return e.lastIndexOf(t,undefined!==n?n:e.length)}function Z(e,t){return 0===Y(e,t)}function J(e,t){const n=e.length-t.length;return n>=0&&G(e,t)===n}function Q(e,t){return e.charAt(t||0)}function X(e,t){return e.charCodeAt(t||0)}function ee(e){return e.toUpperCase()}function te(e){return e.toLowerCase()}function ne(e,t){return Y(e,t)>=0}function ie(e){return!f(e)||!e.length}var re=Object.freeze({__proto__:null,camelize:R,hyphenate:M,capitalize:U,repeat:W,trim:B,slice:K,indexOf:Y,lastIndexOf:G,startsWith:Z,endsWith:J,charAt:Q,codeAt:X,upper:ee,lower:te,has:ne,falsy:ie});const oe=/\./g,se=/\*/g,ce=/\*\*/g,ae=V((function(e,t){return e===t||Z(e,t+=".")?t.length:-1})),ue=j((function(e){return Y(e,".")<0?[e]:e.split(".")}));function le(e,t){const n=ue(e);for(let e=0,i=n.length-1;e<=i&&false!==t(n[e],e,i);e++);}const fe=V((function(e,t){return e&&t?e+"."+t:e||t})),de=j((function(e){return ne(e,"*")})),pe=j((function(e){return new RegExp(`^${e.replace(oe,"\\.").replace(se,"(\\w+)").replace(ce,"([.\\w]+?)")}$`)})),he=V((function(e,t){const n=e.match(pe(t));return n?n[1]:undefined})),me={value:undefined};function ge(e){return Object.keys(e)}function ye(e,t){for(let n in e)if(false===t(e[n],n))break}function ve(e,t){return ye(t,(function(t,n){e[n]=t})),e}function $e(e,t){return e&&t?ve(ve({},e),t):e||t}function be(e,t){let n=e;return u(e)?t?(n=[],v(e,(function(e,i){n[i]=be(e,t)}))):n=e.slice():l(e)&&(n={},ye(e,(function(e,i){n[i]=t?be(e,t):e}))),n}function xe(e){return a(e.get)?e.get():e}function ke(e,t,n){let i=e;return le(t,(function(e,t,r){if(null==i)return i=undefined,false;{let o=i[e],s=undefined!==o;o&&(o=(n||xe)(o)),t===r?s?(me.value=o,i=me):i=undefined:i=o}})),i}function Te(e,t){return undefined!==e[t]}var we=Object.freeze({__proto__:null,keys:ge,each:ye,extend:ve,merge:$e,copy:be,get:ke,set:function(e,t,n,i){let r=e;le(t,(function(e,t,o){if(t===o)r[e]=n;else if(r[e])r=r[e];else{if(!i)return false;r=r[e]={}}}))},has:Te,falsy:function(e){return!l(e)||u(e)||!ge(e).length}});const Se="undefined"!=typeof console?console:null,_e=t&&/edge|msie|trident/i.test(t.navigator.userAgent)?"":"%c",Ee=Se?_e?function(e,t,n){Se.log(_e+e,n,t)}:function(e,t){Se.log(e,t)}:i;function Ce(){const{logLevel:e}=c;return e>=1&&e<=5?e:s}function Ne(e){return`background-color:${e};border-radius:12px;color:#fff;font-size:10px;padding:3px 6px;`}function Oe(e,t){Ce()<=1&&Ee(t||"Yox debug",e,Ne("#999"))}function Ae(e,t){Ce()<=2&&Ee(t||"Yox info",e,Ne("#2db7f5"))}function Pe(e,t){Ce()<=3&&Ee(t||"Yox warn",e,Ne("#f90"))}function Le(e,t){Ce()<=4&&Ee(t||"Yox error",e,Ne("#ed4014"))}function ze(e,t){if(Ce()<=5)throw new Error(`[${t||"Yox fatal"}]: ${e}`)}var De=Object.freeze({__proto__:null,DEBUG:1,INFO:2,WARN:3,ERROR:4,FATAL:5,debug:Oe,info:Ae,warn:Pe,error:Le,fatal:ze});class Ie{constructor(e){this.ns=e||false,this.listeners={}}fire(e,t,n){let i=this,r=f(e)?i.toEvent(e):e,o=i.listeners[r.type],s=true;if(o){o=o.slice();const e=t&&y.is(t[0])?t[0]:undefined;for(let c=0,a=o.length;c1&&null==t&&Pe(`emitter.off(type, listener) is invoked, but "listener" is ${t}.`)}else n.listeners={},arguments.length>0&&Pe(`emitter.off(type) is invoked, but "type" is ${e}.`)}has(e,t){let n=this.listeners,i=this.toFilter(e,t),r=true,o=function(e){return v(e,(function(e){if(je(i.listener,e)&&Ve(i.ns,e))return r=false})),r};return i.type?n[i.type]&&o(n[i.type]):i.ns&&ye(n,o),!r}toEvent(e){const t={type:e,ns:""};if(this.ns){const n=Y(e,".");n>=0&&(t.type=K(e,0,n),t.ns=K(e,n+1))}return t}toFilter(e,t){let n;if(n=t?a(t)?{listener:t}:t:{},f(n.ns))n.type=e;else{const t=this.toEvent(e);n.type=t.type,n.ns=t.ns}return n}}function je(e,t){return!e||e===t.listener}function Ve(e,t){const{ns:n}=t;return!n||!e||n===e}let Fe;"function"==typeof setImmediate&&z(setImmediate)&&(Fe=setImmediate),Fe="function"==typeof MessageChannel&&z(MessageChannel)?function(e){const t=new MessageChannel;t.port1.onmessage=e,t.port2.postMessage(1)}:setTimeout;var He=Fe;let qe;class Re{constructor(e){this.tasks=[],this.hooks=e||r}static shared(){return qe||(qe=new Re)}append(e,t){const n=this,{tasks:i}=n;k(i,{fn:e,ctx:t}),1===i.length&&He((function(){n.run()}))}prepend(e,t){const n=this,{tasks:i}=n;T(i,{fn:e,ctx:t}),1===i.length&&He((function(){n.run()}))}clear(){this.tasks.length=0}run(){const e=this,{tasks:t,hooks:n}=e,{length:i}=t;if(i){e.tasks=[],n.beforeTask&&n.beforeTask();for(let e=0;e0&&(s=Ke(s,e,"click"===o||"tap"===o))}if(n){if(r.isNative){const t=n.$el;return e.on(t,o,s),function(){e.off(t,o,s)}}return n.on(o,r),function(){n.off(o,r)}}return e.on(t,o,s),function(){e.off(t,o,s)}}function Ge(e,t,n){const i=t.data,o=t.lazy,s=t.events,c=n&&n.events;if(s!==c){const n=t.node,a=t.component,u=i.$event||(i.$event={});if(s){const t=c||r;for(let i in s){const r=s[i],c=t[i];c?r.value!==c.value?(u[i](),u[i]=Ye(e,n,a,o,r)):c.runtime&&r.runtime&&(c.runtime.execute=r.runtime.execute,r.runtime=c.runtime):u[i]=Ye(e,n,a,o,r)}}if(c){const e=s||r;for(let t in c)e[t]||(u[t](),delete u[t])}}}function Ze(e,t){const n=t.data,i=t.events,r=n.$event;if(i&&r)for(let e in i)r[e](),delete r[e];n.$event=undefined}function Je(e,t){return t&&true!==t?Ke(e,t):e}const Qe={set(e,t){e.value=L(t)},sync(e,t,n){n.set(t,e.value)},name:"value"},Xe={set(e,t){e.checked=e.value===L(t)},sync(e,t,n){e.checked&&n.set(t,e.value)},name:"checked"},et={set(e,t){e.checked=u(t)?C(t,e.value,false):!!t},sync(e,t,n){const i=n.get(t);u(i)?e.checked?n.append(t,e.value):n.removeAt(t,w(i,e.value,false)):n.set(t,e.checked)},name:"checked"},tt={set(e,t){v(N(e.options),e.multiple?function(e){e.selected=C(t,e.value,false)}:function(n,i){if(n.value==t)return e.selectedIndex=i,false})},sync(e,t,n){const{options:i}=e;if(e.multiple){const e=[];v(N(i),(function(t){t.selected&&k(e,t.value)})),n.set(t,e)}else n.set(t,i[e.selectedIndex].value)},name:"value"};function nt(e,t,n,i){let r,o,{context:s,model:c,lazy:a,nativeAttrs:u}=i,{keypath:l,value:f}=c,d=a&&(a.model||a[""]);if(n){let e=n.$model,t=Je((function(e){s.set(l,e)}),d);r=function(t){r&&n.set(e,t)},o=function(){n.unwatch(e,t)},n.watch(e,t)}else{let n="select"===i.tag?tt:Qe,c="change";if(n===Qe){const e=u&&u.type;"radio"===e?n=Xe:"checkbox"===e?n=et:true!==d&&(c="model")}r=function(e){r&&n.set(t,e)};const a=Je((function(){n.sync(t,l,s)}),d);o=function(){e.off(t,c,a)},e.on(t,c,a),n.set(t,f)}return s.watch(l,r),function(){s.unwatch(l,r),r=undefined,o()}}function it(e,t,n){const i=t.data,r=t.node,o=t.component,s=t.model,c=n&&n.model;s?c?s.keypath!==c.keypath&&(i.$model(),i.$model=nt(e,r,o,t)):i.$model=nt(e,r,o,t):c&&(i.$model(),delete i.$model)}function rt(e,t){const n=t.data;n.$model&&(n.$model(),delete n.$model)}function ot(e,t,n){const{directives:i}=t,o=n&&n.directives;if(i!==o){const e=t.component||t.node;if(i){const s=o||r;for(let r in i){const o=i[r],c=s[r],{bind:a,unbind:u}=o.hooks;c?o.value!==c.value?(u&&u(e,c,n),a(e,o,t)):c.runtime&&o.runtime&&(c.runtime.execute=o.runtime.execute,o.runtime=c.runtime):a(e,o,t)}}if(o){const t=i||r;for(let i in o)if(!t[i]){const{unbind:t}=o[i].hooks;t&&t(e,o[i],n)}}}}function st(e,t){const{directives:n}=t;if(n){const e=t.component||t.node;for(let i in n){const{unbind:r}=n[i].hooks;r&&r(e,n[i],t)}}}function ct(e,t,n){const{component:i,props:r,slots:o}=t;if(i&&n){if(r)for(let e in r)i.checkProp(e,r[e]);let e=r;o&&i.renderSlots(e||(e={}),o),e&&i.forceUpdate(e)}}function at(e,t){if(t.isFragment||t.isSlot){const n=t.children[0];return n?at(e,n):e.createComment("")}return t.node}function ut(e,t,n,i){i?e.before(t,n,i):e.append(t,n)}function lt(e,t,n){const i=n.node;t.node=i,t.parentNode=n.parentNode,t.text!==n.text&&e.setText(i,t.text,t.isStyle,t.isOption)}function ft(e){e.data&&jt(e,e.node)}function dt(e,t){e.data&&Vt(e,e.node,t)||t()}function pt(e,t,n,i){i?e.before(t,n.node,i.node):e.append(t,n.node)}function ht(e,t){e.remove(t.parentNode,t.node)}function mt(e,t){t()}function gt(e,t){v(t.children,(function(t){At(e,t)}))}function yt(e,t,n,i){Ft(e,t,n.children,i.children)}function vt(e,t){v(t.children,(function(t){Dt(e,t)}))}function $t(e,t,n,i){v(n.children,(function(n){Lt(e,t,n,i)}))}function bt(e,t){v(t.children,(function(t){It(e,t)}))}const xt={create(e,t){t.node=e.createText(t.text)},update:lt,destroy:i,insert:pt,remove:ht,enter:i,leave:mt},kt={create(e,t){t.node=e.createComment(t.text)},update:lt,destroy:i,insert:pt,remove:ht,enter:i,leave:mt},Tt={create(e,t){const n=t.node=e.createElement(t.tag,t.isSvg);t.children?Pt(e,n,t.children):t.text?e.setText(n,t.text,t.isStyle,t.isOption):t.html&&e.setHtml(n,t.html,t.isStyle,t.isOption),Me(e,t),Ue(e,t),t.isPure||(t.data={},We(0,t),Ge(e,t),it(e,t),ot(0,t))},update(e,t,n){const i=n.node;t.node=i,t.parentNode=n.parentNode,t.data=n.data,Me(e,t,n),Ue(e,t,n),t.isPure||(We(0,t,n),Ge(e,t,n),it(e,t,n),ot(0,t,n));const{text:r,html:o,children:s,isStyle:c,isOption:a}=t,u=n.text,l=n.html,d=n.children;f(r)?(d&&zt(e,d),r!==u&&e.setText(i,r,c,a)):f(o)?(d&&zt(e,d),o!==l&&e.setHtml(i,o,c,a)):s?d?s!==d&&Ft(e,i,s,d):((u||l)&&e.setText(i,"",c),Pt(e,i,s)):d?zt(e,d):(u||l)&&e.setText(i,"",c)},destroy(e,t){t.isPure||(Be(0,t),Ze(0,t),rt(0,t),st(0,t),t.children&&v(t.children,(function(t){Dt(e,t)})))},insert:pt,remove:ht,enter:ft,leave:dt},wt={create(e,t){const n=t.data={};let i=undefined;t.tag&&t.context.loadComponent(t.tag,(function(r){Te(n,"$loading")?n.$loading&&(n.$vnode&&(t=n.$vnode,delete n.$vnode),Ot(e,t,r),t.operator.enter(t)):i=r})),t.node=e.createComment("component"),i?Ot(e,t,i):n.$loading=true},update(e,t,n){const i=n.data;t.data=i,t.node=n.node,t.parentNode=n.parentNode,t.component=n.component,i.$loading?i.$vnode=t:(We(0,t,n),Ge(e,t,n),it(e,t,n),ot(0,t,n),ct(0,t,n))},destroy(e,t){t.component?(Be(0,t),Ze(0,t),rt(0,t),st(0,t),function(e,t){const{component:n}=t;n&&(n.destroy(),t.shadow=n.$vnode,t.component=void 0)}(0,t)):t.data.$loading=false},insert(e,t,n,i){const{shadow:r}=n;r?(r.operator.insert(e,t,r,i),r.parentNode=t):pt(e,t,n,i)},remove(e,t){const{shadow:n}=t;n?(n.operator.remove(e,n),n.parentNode=undefined):ht(e,t)},enter(e){const{shadow:t}=e;t&&(e.transition?jt(e,t.node):t.operator.enter(t))},leave(e,t){const{shadow:n}=e;if(n){if(!e.transition)return void n.operator.leave(n,t);if(Vt(e,n.node,t))return}t()}},St={create(e,t){gt(e,t),t.node=at(e,t)},update(e,t,n){const{parentNode:i}=n;t.node=n.node,t.parentNode=i,yt(e,i,t,n)},destroy:vt,insert:$t,remove:bt,enter:i,leave:mt},_t={create(e,t){let n=undefined;t.to&&(n=e.find(t.to),n||ze(`Failed to locate portal target with selector "${t.to}".`)),n||(n=e.getBodyElement()),t.target=n,t.node=e.createComment(""),v(t.children,(function(t){At(e,t),Lt(e,n,t)}))},update(e,t,n){const{target:i}=n;t.node=n.node,t.parentNode=n.parentNode,t.target=i,yt(e,i,t,n)},destroy(e,t){v(t.children,(function(t){Dt(e,t),It(e,t)}))},insert:pt,remove:ht,enter:i,leave:mt},Et={create(e,t){gt(e,t),t.data={},t.node=at(e,t),We(0,t),Ge(e,t)},update(e,t,n){const{parentNode:i}=n;t.node=n.node,t.parentNode=i,t.data=n.data,We(0,t,n),Ge(e,t,n),yt(e,i,t,n)},destroy(e,t){Be(0,t),Ze(0,t),vt(e,t)},insert:$t,remove:bt,enter:ft,leave:dt};function Ct(e,t){return e.type===t.type&&e.tag===t.tag&&e.key===t.key}function Nt(e,t,n){let i,o,s;for(;t<=n;)o=e[t],o&&(s=o.key)&&(i||(i={}),i[s]=t),t++;return i||r}function Ot(e,t,n){const i=t.data,r=(t.parent||t.context).createComponent(n,t);return t.component=r,t.shadow=r.$vnode,i.$loading=false,We(0,t),Ge(e,t),it(e,t),ot(0,t),ct(0,t),r}function At(e,t){t.node||t.operator.create(e,t)}function Pt(e,t,n,i,r,o){let s,c=i||0,a=undefined!==r?r:n.length-1;for(;c<=a;)s=n[c],At(e,s),Lt(e,t,s,o),c++}function Lt(e,t,n,i){const{operator:r}=n;r.insert(e,t,n,i),n.parentNode=t,r.enter(n)}function zt(e,t,n,i){let r,o=n||0,s=undefined!==i?i:t.length-1;for(;o<=s;)r=t[o],r&&(Dt(e,r),It(e,r)),o++}function Dt(e,t){t.operator.destroy(e,t)}function It(e,t){const{operator:n}=t;n.leave(t,(function(){n.remove(e,t),t.parentNode=undefined}))}function jt(e,t){const{context:n,transition:i}=e,r=e.data.$leaving;if(r&&r(),i){const{enter:e}=i;e&&e.call(n,t)}}function Vt(e,t,n){const{context:i,transition:r}=e,o=e.data,s=o.$leaving;if(s&&s(),r){const{leave:e}=r;if(e)return e.call(i,t,o.$leaving=function(){o.$leaving&&(n(),o.$leaving=undefined)}),true}}function Ft(e,t,n,i){let r,o,s=0,c=n.length-1,a=n[s],u=n[c],l=0,f=i.length-1,d=i[l],p=i[f];for(;l<=f&&s<=c;)a?u?d?p?Ct(a,d)?(Ht(e,a,d),a=n[++s],d=i[++l]):Ct(u,p)?(Ht(e,u,p),u=n[--c],p=i[--f]):Ct(u,d)?(Ht(e,u,d),ut(e,t,d.node,e.next(p.node)),u=n[--c],d=i[++l]):Ct(a,p)?(Ht(e,a,p),ut(e,t,p.node,d.node),a=n[++s],p=i[--f]):(r||(r=Nt(i,l,f)),o=a.key?r[a.key]:undefined,undefined!==o?(qt(e,a,i[o]),i[o]=undefined):At(e,a),Lt(e,t,a,d),a=n[++s]):p=i[--f]:d=i[++l]:u=n[--c]:a=n[++s];l>f?Pt(e,t,n,s,c,n[c+1]):s>c&&zt(e,i,l,f)}function Ht(e,t,n){t!==n&&t.operator.update(e,t,n)}function qt(e,t,n){if(t!==n){if(!Ct(t,n)){const i=n.parentNode;return At(e,t),void(i&&(Lt(e,i,t,n),Dt(e,n),It(e,n)))}Ht(e,t,n)}}const Rt={},Mt={},Ut={},Wt={};function Bt(e,t){return Mt[t.name]||"portal"===e.tag&&"to"===t.name||"slot"===e.tag&&"name"===t.name||"vnode"===e.tag&&"value"===t.name}function Kt(e,t){const n=e.split(";");for(let e=0,i=n.length;e0){const e=B(i.substr(0,r)),n=B(i.substr(r+1));e&&n&&t(R(e),n)}}}Rt.slot=Rt.vnode=Rt.portal=Rt.fragment=Rt.template=Mt.key=Mt.ref=Mt.slot=true,Ut["if"]=6,Ut.each=9,Ut.partial=10,Wt.fragment=5,Wt.portal=6,Wt.slot=7;function Yt(e,t){return{type:2,isStatic:true,name:e,ns:t}}function Gt(e,t,n){return{type:3,ns:t,name:e,modifier:n}}function Zt(e,t,n,i){return{type:9,from:e,to:t,equal:n||undefined,index:i,isVirtual:true}}function Jt(e){return{type:5,text:e,isStatic:true,isLeaf:true}}function Qt(e){const t=Object.create(null);return v(e.split(","),(function(e){t[e]=true})),t}const Xt=/^[A-Z]|-/,en=/&[#\w\d]{2,6};/,tn=Qt("area,base,embed,track,source,param,input,col,img,br,hr"),nn=Qt("svg,g,defs,desc,metadata,symbol,use,image,path,rect,circle,line,ellipse,polyline,polygon,text,tspan,tref,textpath,marker,pattern,clippath,mask,filter,cursor,view,animate,font,font-face,glyph,missing-glyph,animateColor,animateMotion,animateTransform,textPath,foreignObject"),rn=Qt("min,minlength,max,maxlength,step,size,rows,cols,tabindex,colspan,rowspan,frameborder"),on=Qt("disabled,checked,required,multiple,readonly,autofocus,autoplay,controls,loop,muted,novalidate,draggable,contenteditable,hidden,spellcheck");function sn(e,t,n){return e.isComponent?Yt(R(t),n):"style"===t?{type:4,isStatic:!0}:Yt(t,n)}function cn(e,t){return an(e)?ln(e,t):un(e)?fn(e,t):t}function an(e){return rn[e]}function un(e){return on[e]}function ln(e,t){return h(t)||Pe(`The value of "${e}" is not a number: ${t}.`),L(t)}function fn(e,t){return true===t||"true"===t||t===e?"true":false===t||"false"===t?"false":void 0}function dn(e){if(1!==e.type)return false;const t=e;return!t.isComponent&&undefined===Rt[t.tag]}function pn(e,t){return f(t)&&en.test(t)?e.html=t:e.text=t,true}function hn(e){return undefined!==e}const mn={};function gn(e){return e>0&&e<33||160===e}function yn(e){return e>47&&e<58}function vn(e){return 64===e}function $n(e){return 36===e||95===e||e>96&&e<123||e>64&&e<91}function bn(e){return $n(e)||yn(e)}function xn(e,t,n,i){return{type:5,raw:i,left:e,operator:t,right:n}}function kn(e,t,n){let i=false,r=true,o=0;return"this"===t?(t="",r=false):".."===t?(t="",r=false,o=1):"~"===t?(t="",i=true,r=false):t=En(t),n?Tn(t,e):Sn(e,t,i,r,o)}function Tn(e,t){return{type:1,raw:t,value:e}}function wn(e,t){let n=t.shift(),i=false,r=true,o=0;if(t.length>0){let s=true,c=[],a="",u=[];if(v(t,(function(e){if(s)if(1===e.type){const t=e;if(".."===t.raw)return o+=1,void(a=a?a+"/..":"..");if("this"!==t.raw){const e=L(t.value);k(c,e),a&&(a+=J(a,"..")?"/":"."),a+=e}}else s=false;s||k(u,e)})),2===n.type){const t=n;i=t.root,r=t.lookup,o+=t.offset;let l=t.name;if(l&&(l=En(l,t),T(c,l)),l=O(c,"."),s)n=Sn(e,l,i,r,o,c);else{let s=t.raw;if(a){let e=".";"~"!==s&&".."!==s||(e="/"),s+=e+a}n=_n(e,Sn(s,l,i,r,o,c),undefined,u,i,r,o)}}else n=s?_n(e,n,O(c,"."),undefined,i,r,o):_n(e,n,undefined,u,i,r,o)}return n}function Sn(e,t,n,i,r,o){return{type:2,raw:e,name:t,root:n,lookup:i,offset:r,literals:o&&o.length>1?o:undefined}}function _n(e,t,n,i,r,o,s){return{type:3,raw:e,lead:t,keypath:n,nodes:i,root:r,lookup:o,offset:s}}function En(e,t){return vn(X(e,0))&&(e="$slot_"+K(e,1),t&&(t.name=e)),e}mn["true"]=true,mn["false"]=false,mn["null"]=null,mn[void 0]=undefined;const Cn={"+":true,"-":true,"~":true,"!":true,"!!":true},Nn={"*":15,"/":15,"%":15,"+":14,"-":14,"<<":13,">>":13,">>>":13,"<":12,"<=":12,">":12,">=":12,"==":11,"!=":11,"===":11,"!==":11,"&":10,"^":9,"|":8,"&&":7,"||":6};class On{constructor(e){const t=this;t.index=-1,t.end=e.length,t.code=0,t.content=e,t.go()}go(e){let t=this,{index:n,end:i}=t;n+=e||1,n>=0&&n0)),n.is(47);){n.go();const{index:t,code:r}=n;if($n(r)||vn(r))return k(i,n.scanIdentifier(t,r,true)),n.scanTail(e,i);if(!n.is(46)){n.fatal(e,S(i).raw+"/ must be followed by an identifier.");break}n.go()}}scanTail(e,t){let n,i=this;e:for(;;)switch(i.code){case 40:t=[(r=wn(i.pick(e),t),o=i.scanTuple(i.index,41),s=i.pick(e),{type:9,raw:s,name:r,args:o})];break;case 46:if(i.go(),bn(i.code)){k(t,i.scanIdentifier(i.index,i.code,true));break}i.fatal(e,"Identifier or number expected.");break e;case 91:if(i.go(),n=i.scanTernary(93),n){k(t,n);break}i.fatal(e,"[] is not allowed.");break e;default:break e}var r,o,s;return wn(i.pick(e),t)}scanIdentifier(e,t,n){const i=this;do{i.go()}while(bn(i.code));const r=i.pick(e);return 1===r.length&&vn(t)&&i.fatal(e,"A slot identifier must be followed by its name."),!n&&r in mn?Tn(mn[r],r):kn(r,r,n)}scanOperator(e){const t=this;switch(t.code){case 47:case 37:case 126:case 94:case 42:t.go();break;case 43:t.go(),t.is(43)&&t.fatal(e,'The operator "++" is not supported.');break;case 45:t.go(),t.is(45)&&t.fatal(e,'The operator "--" is not supported.');break;case 33:t.go(),t.is(33)?t.go():t.is(61)&&(t.go(),t.is(61)&&t.go());break;case 38:t.go(),t.is(38)&&t.go();break;case 124:t.go(),t.is(124)&&t.go();break;case 61:t.go(),t.is(61)?(t.go(),t.is(61)&&t.go()):t.fatal(e,"Assignment statements are not supported.");break;case 60:t.go(),(t.is(61)||t.is(60))&&t.go();break;case 62:t.go(),t.is(61)?t.go():t.is(62)&&(t.go(),t.is(62)&&t.go())}if(t.index>e)return t.pick(e)}scanBinary(e){let t,n,i,r,o,s,c=this,a=[];for(;;){if(c.skip(),k(a,c.index),t=c.scanToken(),t){if(k(a,t),k(a,c.index),c.skip(),i=c.scanOperator(c.index),i&&(r=Nn[i])){n=a.length-4,(o=a[n])&&(s=Nn[o])&&s>=r&&a.splice(n-2,5,xn(a[n-2],o,a[n+2],c.pick(a[n-3],a[n+3]))),k(a,i);continue}i=undefined}else i&&c.fatal(e,"Invalid syntax.");break}for(;;){if(!(a.length>=7))return a[1];n=a.length-4,a.splice(n-2,5,xn(a[n-2],a[n],a[n+2],c.pick(a[n-3],a[n+3])))}}scanTernary(e){const t=this;t.skip();let n,i,r=t.index,o=t.scanBinary(r);return t.is(63)&&(t.go(),n=t.scanTernary(),t.is(58)&&(t.go(),i=t.scanTernary()),o&&n&&i?(t.skip(-1),o=function(e,t,n,i){return{type:6,raw:i,test:e,yes:t,no:n}}(o,n,i,t.pick(r))):t.fatal(r,"Invalid ternary syntax.")),hn(e)&&(t.skip(),t.is(e)?t.go():t.fatal(r,`"${String.fromCharCode(e)}" expected, "${String.fromCharCode(t.code)}" actually.`)),o}fatal(e,t){ze(`Error compiling expression\n\n${this.content}\n\nmessage: ${t}\n`)}}const An=j((function(e){return new On(e).scanTernary(0)})),Pn={},Ln=/\s*:\s*([_$a-z]+)$/i,zn=/^[_$a-z]([\w]+)?$/i,Dn=/^[_$a-z]([\w]+)?$/i,In=/^[_$a-z]([\w]+)?\.[_$a-z]([\w]+)?$/i,jn=/^\s*[\n\r]\s*|\s*[\n\r]\s*$/g,Vn=/\s*(=>|->)\s*/,Fn=/<(\/)?([$a-z][-a-z0-9]*)/i,Hn=//g,qn=/^([\s\S]*?)([\s\S]*?)$/,Mn=/^\s*([-$.:\w]+)(?:=(['"]))?/,Un=/^[!=]*['"]/,Wn=/^\s*(\/)?>/;function Bn(e,t){return B(K(e,t.length))}function Kn(e){if(e.safe&&1===e.expr.type)return Jt(L(e.expr.value))}function Yn(e){return e&&12===e.type&&!e.safe}function Gn(e){let t=-1,n="",i=-1,r="";v(e,(function(o,s){if(5===o.type)if(i>=0){for(n=o.text;qn.test(n);)n=RegExp.$1,t=s;if(t>=0){let o=t,s=i;n&&(e[t].text=n,o++),r&&(n?e[t].text+=r:(e[i].text=r,s--)),e.splice(o,s-o+1),t=i=-1}}else for(r=o.text;Rn.test(r);)r=RegExp.$1,i=s}),true)}function Zn(t){let n,i,r,o,s=W(c.leftDelimiter,2),a=W(c.rightDelimiter,2),u=c.leftDelimiter,l=c.rightDelimiter,f=[],p=[],h=[],m=[],g=[],y=[],$=t.length,b=0,x=0,T=0,E=0,C=1,N=[],O=[],A=function(e){ze(`Error compiling template\n\n${t}\n\nmessage: ${e}`)},P=function(e){const t=S(p);if(t&&1===t.type){const i=t;i.tag!==e&&(n=i.tag,void 0!==tn[n])&&L(i.type,i.tag)}var n},L=function(e,t){const i=_(p);i&&i.type===e||A("The type of poping node is not expected.");const r=i,o=1===e,s=2===e,c=4===e,a=3===e,u=S(p);o&&t&&r.tag!==t&&A(`End tag is "${t}",but start tag is "${r.tag}".`);let{children:l}=r;if(l&&l.length>1&&(n||(Gn(l),l.length||(l=r.children=undefined))),l){const e=1===l.length&&l[0];if(e)switch(e.type){case 5:o?z(r,e):n&&(s?F(n,r,e):c?j(n,r,e):a&&M(n,r,e));break;case 12:o?D(r,e):n&&(s||c||a)&&H(n,r,e)}}else n&&(s?V(n,r):c?I(n,r):a&&q(n,r));return r.isVirtual&&!r.children&&X(r),o?G(r):n&&s&&J(n,r),u&&u.isStatic&&!r.isStatic&&(u.isStatic=false),r},z=function(e,t){dn(e)&&pn(e,t.text)&&(e.children=undefined)},D=function(e,t){dn(e)&&(t.safe&&pn(e,t.expr)||!t.safe&&function(e,t){return e.html=t,!0}(e,t.expr))&&(e.children=undefined)},I=function(e,t){X(t)},j=function(e,t,n){n.text?(t.value=n.text,t.children=undefined):X(t)},V=function(e,t){Bt(e,t)?A(`The value of "${t.name}" is empty.`):t.value=function(e,t){return!!e.isComponent||(an(t)?void 0:un(t)?"true":"")}(e,t.name)},F=function(e,t,n){t.value=e.isComponent?n.text:cn(t.name,n.text),t.children=undefined},H=function(e,t,n){const{expr:i}=n;if(1===i.type){let n=i.value;e.isComponent||2!==t.type||(n=cn(t.name,n)),t.value=n}else t.expr=i;t.children=undefined},q=function(e,t){t.value=true},M=function(e,t,i){let r,o,{ns:s}=t,{text:c}=i,a="model"===s,u="lazy"===s,l="event"===s,f="o"===s;try{r=An(c)}catch(p){o=p}if(r){{const{raw:e}=r;if(u)(1!==r.type||!d(r.value)||r.value<=0)&&A("The value of lazy must be a number greater than 0.");else if(9===r.type){const e=r.name;2!==e.type?A("Invalid method name."):zn.test(e.name)||A("Invalid method name.")}else l&&(Dn.test(e)||In.test(e)?(In.test(e)&&"native"===e.split(".")[1]&&A('The event namespace "native" is not permitted.'),n&&n.isComponent&&t.name===e&&A("The event name listened and fired can't be the same.")):A("The event name and namespace must be an identifier."));a&&2!==r.type&&A("The value of the model must be an identifier.")}t.expr=r,t.value=1===r.type?r.value:c}else{if(!f)throw o;t.value=c}t.children=undefined},U=function(e){let t=e,n=[],i=false,r=false;for(;k(n,t),t.next;)t=t.next;v(n,(function(e){e.children&&(!i&&e.next&&delete e.next,r=i=true)}),true),r||X(e)},G=function(e){const{tag:t,slot:n}=e,i="template"===t,r="fragment"===t,o="portal"===t,s="vnode"===t;i?e.key?A('The "key" attribute is not supported in