diff --git a/.gitignore b/.gitignore index 38adffa..ad09509 100644 --- a/.gitignore +++ b/.gitignore @@ -9,7 +9,6 @@ lerna-debug.log* node_modules .DS_Store -dist dist-ssr coverage *.local diff --git a/dist/dev/mp-weixin/api/index.js b/dist/dev/mp-weixin/api/index.js new file mode 100644 index 0000000..ce8e53c --- /dev/null +++ b/dist/dev/mp-weixin/api/index.js @@ -0,0 +1,3 @@ +"use strict"; +require("./modules/AI.js"); +require("../common/vendor.js"); diff --git a/dist/dev/mp-weixin/api/modules/AI.js b/dist/dev/mp-weixin/api/modules/AI.js new file mode 100644 index 0000000..ad0bfc5 --- /dev/null +++ b/dist/dev/mp-weixin/api/modules/AI.js @@ -0,0 +1,92 @@ +"use strict"; +var common_vendor = require("../../common/vendor.js"); +var api_modules_config = require("./config.js"); +require("../../stores/index.js"); +var stores_modules_AIResponse = require("../../stores/modules/AIResponse.js"); +var stores_modules_tabIndex = require("../../stores/modules/tabIndex.js"); +const { + responseText, + showResponseText, + isLoading, + isDone +} = common_vendor.storeToRefs(stores_modules_AIResponse.useAIReponseStore()); +const { + tabIndex +} = common_vendor.storeToRefs(stores_modules_tabIndex.useTabStore()); +const API_KEY = "sk-b65f99c1b2ab416aaf340891cf4ca308"; +const AI_URL = "https://api.deepseek.com/chat/completions"; +const AI_MODEL = "deepseek-chat"; +const errMessage = { + 401: "API key \u65E0\u6548", + 403: "API key \u4F59\u989D\u4E0D\u8DB3" +}; +const AIChat = async (q, symbol_1, symbol_2, symbol_3) => { + const pageCfg = await api_modules_config.getPageConfig(); + let callWord = pageCfg.call_word; + callWord = callWord.replace("[q]", q).replace("[symbol_1]", symbol_1).replace("[symbol_2]", symbol_2).replace("[symbol_3]", symbol_3); + console.log(callWord); + return await new Promise((resolve, reject) => { + const requestTask = common_vendor.index.request({ + url: AI_URL, + method: "POST", + header: { + "content-type": "application/json", + "Authorization": `Bearer ${API_KEY}` + }, + data: { + model: AI_MODEL, + messages: [ + { role: "system", content: "You are a helpful assistant." }, + { role: "user", content: callWord } + ], + stream: true + }, + enableChunked: true, + responseType: "arraybuffer", + success: (res) => { + if (res.statusCode !== 200) { + resolve({ + code: res.statusCode, + message: errMessage[res.statusCode] + }); + } + isDone.value = true; + }, + fail: (error) => { + }, + complete: (complete) => { + } + }); + requestTask.onChunkReceived((res) => { + var _a; + const uint8Array = new Uint8Array(res.data); + const decoder = new common_vendor.textEncodingShim.exports.TextDecoder("utf-8"); + const chunk = decoder.decode(uint8Array).toString().split("data: "); + for (let i = 1; i < chunk.length; i++) { + try { + const result = JSON.parse(chunk[i]); + if (result.choices[0].delta.content) { + isLoading.value = false; + responseText.value += (_a = result.choices[0].delta) == null ? void 0 : _a.content; + } + } catch (e) { + } + } + }); + common_vendor.watch( + () => tabIndex.value, + (newVal, oldVal) => { + if (newVal !== oldVal) { + requestTask.abort(); + isLoading.value = false; + responseText.value = ""; + return; + } + }, + { + deep: true + } + ); + }); +}; +exports.AIChat = AIChat; diff --git a/dist/dev/mp-weixin/api/modules/ZhouYi.js b/dist/dev/mp-weixin/api/modules/ZhouYi.js new file mode 100644 index 0000000..2aa03e0 --- /dev/null +++ b/dist/dev/mp-weixin/api/modules/ZhouYi.js @@ -0,0 +1,36 @@ +"use strict"; +var utils_request = require("../../utils/request.js"); +const getZhouList = () => { + return utils_request.request("/api/zhou-yis?sort=index&pagination[pageSize]=64", { + method: "GET" + }); +}; +const getZhouDetail = ({ + id, + name +}) => { + if (id) { + return utils_request.request(`/api/zhou-yis/${id}`, { + method: "GET" + }); + } + if (name) { + return utils_request.request(`/api/zhou-yis?filters[name]=${name}`, { + method: "GET" + }); + } +}; +const \u83B7\u53D6\u6613\u7ECF\u723B\u8F9E = (name, \u52A8\u723B\u540D\u79F0) => { + return utils_request.request(`/api/zhou-yis?filters[name]=${name}`, { + method: "GET" + }).then( + (res) => res.data[0] + ).then((res) => { + let str = res.desc.split("\n\n"); + let index = str.findIndex((item) => item.includes(\u52A8\u723B\u540D\u79F0)); + return str[index] + "\n" + str[index + 1]; + }); +}; +exports.getZhouDetail = getZhouDetail; +exports.getZhouList = getZhouList; +exports["\u83B7\u53D6\u6613\u7ECF\u723B\u8F9E"] = \u83B7\u53D6\u6613\u7ECF\u723B\u8F9E; diff --git a/dist/dev/mp-weixin/api/modules/config.js b/dist/dev/mp-weixin/api/modules/config.js new file mode 100644 index 0000000..77a48a2 --- /dev/null +++ b/dist/dev/mp-weixin/api/modules/config.js @@ -0,0 +1,8 @@ +"use strict"; +var utils_request = require("../../utils/request.js"); +const getPageConfig = async () => { + return utils_request.request("/api/config?populate=avatar", { + method: "GET" + }).then((res) => res.data); +}; +exports.getPageConfig = getPageConfig; diff --git a/dist/dev/mp-weixin/api/modules/question.js b/dist/dev/mp-weixin/api/modules/question.js new file mode 100644 index 0000000..eb266a8 --- /dev/null +++ b/dist/dev/mp-weixin/api/modules/question.js @@ -0,0 +1,13 @@ +"use strict"; +var utils_request = require("../../utils/request.js"); +const createQ = (q) => { + return utils_request.request("/api/questions", { + method: "POST", + data: { + data: { + q + } + } + }); +}; +exports.createQ = createQ; diff --git a/dist/dev/mp-weixin/api/modules/suggestion.js b/dist/dev/mp-weixin/api/modules/suggestion.js new file mode 100644 index 0000000..f814b66 --- /dev/null +++ b/dist/dev/mp-weixin/api/modules/suggestion.js @@ -0,0 +1,13 @@ +"use strict"; +var utils_request = require("../../utils/request.js"); +const createSuggestion = (desc) => { + return utils_request.request("/api/suggestions", { + method: "POST", + data: { + data: { + desc + } + } + }); +}; +exports.createSuggestion = createSuggestion; diff --git a/dist/dev/mp-weixin/app.js b/dist/dev/mp-weixin/app.js new file mode 100644 index 0000000..b20f9eb --- /dev/null +++ b/dist/dev/mp-weixin/app.js @@ -0,0 +1,40 @@ +"use strict"; +Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); +var common_vendor = require("./common/vendor.js"); +var stores_index = require("./stores/index.js"); +require("./stores/modules/tabIndex.js"); +require("./stores/modules/user.js"); +require("./stores/modules/AIResponse.js"); +require("./stores/modules/rateLimit.js"); +if (!Math) { + "./pages/index/index.js"; + "./pages/user/history.js"; + "./pages/user/suggestion.js"; + "./pages/ZhouYi/detail.js"; +} +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + __name: "App", + setup(__props) { + common_vendor.onLaunch(() => { + console.log("App Launch"); + }); + common_vendor.onShow(() => { + console.log("App Show"); + }); + common_vendor.onHide(() => { + console.log("App Hide"); + }); + return () => { + }; + } +}); +var App = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/App.vue"]]); +function createApp() { + const app = common_vendor.createSSRApp(App); + stores_index.setupStore(app); + return { + app + }; +} +createApp().app.mount("#app"); +exports.createApp = createApp; diff --git a/dist/dev/mp-weixin/app.json b/dist/dev/mp-weixin/app.json new file mode 100644 index 0000000..7a60f83 --- /dev/null +++ b/dist/dev/mp-weixin/app.json @@ -0,0 +1,16 @@ +{ + "pages": [ + "pages/index/index", + "pages/user/history", + "pages/user/suggestion", + "pages/ZhouYi/detail" + ], + "window": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "uni-app", + "navigationBarBackgroundColor": "#F8F8F8", + "backgroundColor": "#F8F8F8" + }, + "lazyCodeLoading": "requiredComponents", + "usingComponents": {} +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/app.wxss b/dist/dev/mp-weixin/app.wxss new file mode 100644 index 0000000..6e481da --- /dev/null +++ b/dist/dev/mp-weixin/app.wxss @@ -0,0 +1,56 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +:root, +page { + --wot-color-theme: #217891 !important; +} +.wd-toast { + background-color: #fff !important; + color: #333 !important; +} +.content { + width: 100%; + min-height: 100dvh; + max-width: auto; + min-height: calc(100vh - env(safe-area-inset-bottom) - 50px); + min-height: calc(100vh - constant(safe-area-inset-bottom) - 50px); + overflow-y: hidden; + background-color: #f3f4f6; +} +.flex-row { + display: flex; + flex-flow: row nowrap; +} +.flex-col { + display: flex; + flex-flow: column nowrap; +} +.gap-2 { + gap: 16rpx; +} +.gap-4 { + gap: 32rpx; +}page{--status-bar-height:25px;--top-window-height:0px;--window-top:0px;--window-bottom:0px;--window-left:0px;--window-right:0px;--window-magin:0px}[data-c-h="true"]{display: none !important;} \ No newline at end of file diff --git a/dist/dev/mp-weixin/common/vendor.js b/dist/dev/mp-weixin/common/vendor.js new file mode 100644 index 0000000..a36c528 --- /dev/null +++ b/dist/dev/mp-weixin/common/vendor.js @@ -0,0 +1,8948 @@ +"use strict"; +var _export_sfc = (sfc, props) => { + const target = sfc.__vccOpts || sfc; + for (const [key, val] of props) { + target[key] = val; + } + return target; +}; +function makeMap(str, expectsLowerCase) { + const map = /* @__PURE__ */ Object.create(null); + const list = str.split(","); + for (let i2 = 0; i2 < list.length; i2++) { + map[list[i2]] = true; + } + return expectsLowerCase ? (val) => !!map[val.toLowerCase()] : (val) => !!map[val]; +} +function normalizeStyle(value) { + if (isArray(value)) { + const res = {}; + for (let i2 = 0; i2 < value.length; i2++) { + const item = value[i2]; + const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item); + if (normalized) { + for (const key in normalized) { + res[key] = normalized[key]; + } + } + } + return res; + } else if (isString(value)) { + return value; + } else if (isObject$1(value)) { + return value; + } +} +const listDelimiterRE = /;(?![^(]*\))/g; +const propertyDelimiterRE = /:(.+)/; +function parseStringStyle(cssText) { + const ret = {}; + cssText.split(listDelimiterRE).forEach((item) => { + if (item) { + const tmp = item.split(propertyDelimiterRE); + tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); + } + }); + return ret; +} +function normalizeClass(value) { + let res = ""; + if (isString(value)) { + res = value; + } else if (isArray(value)) { + for (let i2 = 0; i2 < value.length; i2++) { + const normalized = normalizeClass(value[i2]); + if (normalized) { + res += normalized + " "; + } + } + } else if (isObject$1(value)) { + for (const name in value) { + if (value[name]) { + res += name + " "; + } + } + } + return res.trim(); +} +const toDisplayString = (val) => { + return isString(val) ? val : val == null ? "" : isArray(val) || isObject$1(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val); +}; +const replacer = (_key, val) => { + if (val && val.__v_isRef) { + return replacer(_key, val.value); + } else if (isMap(val)) { + return { + [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2]) => { + entries[`${key} =>`] = val2; + return entries; + }, {}) + }; + } else if (isSet(val)) { + return { + [`Set(${val.size})`]: [...val.values()] + }; + } else if (isObject$1(val) && !isArray(val) && !isPlainObject$1(val)) { + return String(val); + } + return val; +}; +const EMPTY_OBJ = Object.freeze({}); +const EMPTY_ARR = Object.freeze([]); +const NOOP = () => { +}; +const NO = () => false; +const onRE = /^on[^a-z]/; +const isOn = (key) => onRE.test(key); +const isModelListener = (key) => key.startsWith("onUpdate:"); +const extend = Object.assign; +const remove = (arr, el) => { + const i2 = arr.indexOf(el); + if (i2 > -1) { + arr.splice(i2, 1); + } +}; +const hasOwnProperty = Object.prototype.hasOwnProperty; +const hasOwn = (val, key) => hasOwnProperty.call(val, key); +const isArray = Array.isArray; +const isMap = (val) => toTypeString(val) === "[object Map]"; +const isSet = (val) => toTypeString(val) === "[object Set]"; +const isFunction = (val) => typeof val === "function"; +const isString = (val) => typeof val === "string"; +const isSymbol = (val) => typeof val === "symbol"; +const isObject$1 = (val) => val !== null && typeof val === "object"; +const isPromise = (val) => { + return isObject$1(val) && isFunction(val.then) && isFunction(val.catch); +}; +const objectToString = Object.prototype.toString; +const toTypeString = (value) => objectToString.call(value); +const toRawType = (value) => { + return toTypeString(value).slice(8, -1); +}; +const isPlainObject$1 = (val) => toTypeString(val) === "[object Object]"; +const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; +const isReservedProp = /* @__PURE__ */ makeMap( + ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted" +); +const isBuiltInDirective = /* @__PURE__ */ makeMap("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"); +const cacheStringFunction = (fn) => { + const cache = /* @__PURE__ */ Object.create(null); + return (str) => { + const hit = cache[str]; + return hit || (cache[str] = fn(str)); + }; +}; +const camelizeRE = /-(\w)/g; +const camelize = cacheStringFunction((str) => { + return str.replace(camelizeRE, (_2, c2) => c2 ? c2.toUpperCase() : ""); +}); +const hyphenateRE = /\B([A-Z])/g; +const hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, "-$1").toLowerCase()); +const capitalize = cacheStringFunction((str) => str.charAt(0).toUpperCase() + str.slice(1)); +const toHandlerKey = cacheStringFunction((str) => str ? `on${capitalize(str)}` : ``); +const hasChanged = (value, oldValue) => !Object.is(value, oldValue); +const invokeArrayFns$1 = (fns, arg) => { + for (let i2 = 0; i2 < fns.length; i2++) { + fns[i2](arg); + } +}; +const def = (obj, key, value) => { + Object.defineProperty(obj, key, { + configurable: true, + enumerable: false, + value + }); +}; +const toNumber = (val) => { + const n2 = parseFloat(val); + return isNaN(n2) ? val : n2; +}; +const LINEFEED = "\n"; +const SLOT_DEFAULT_NAME = "d"; +const ON_SHOW = "onShow"; +const ON_HIDE = "onHide"; +const ON_LAUNCH = "onLaunch"; +const ON_ERROR = "onError"; +const ON_THEME_CHANGE = "onThemeChange"; +const ON_PAGE_NOT_FOUND = "onPageNotFound"; +const ON_UNHANDLE_REJECTION = "onUnhandledRejection"; +const ON_LOAD = "onLoad"; +const ON_READY = "onReady"; +const ON_UNLOAD = "onUnload"; +const ON_INIT = "onInit"; +const ON_SAVE_EXIT_STATE = "onSaveExitState"; +const ON_RESIZE = "onResize"; +const ON_BACK_PRESS = "onBackPress"; +const ON_PAGE_SCROLL = "onPageScroll"; +const ON_TAB_ITEM_TAP = "onTabItemTap"; +const ON_REACH_BOTTOM = "onReachBottom"; +const ON_PULL_DOWN_REFRESH = "onPullDownRefresh"; +const ON_SHARE_TIMELINE = "onShareTimeline"; +const ON_ADD_TO_FAVORITES = "onAddToFavorites"; +const ON_SHARE_APP_MESSAGE = "onShareAppMessage"; +const ON_NAVIGATION_BAR_BUTTON_TAP = "onNavigationBarButtonTap"; +const ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED = "onNavigationBarSearchInputClicked"; +const ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED = "onNavigationBarSearchInputChanged"; +const ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED = "onNavigationBarSearchInputConfirmed"; +const ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED = "onNavigationBarSearchInputFocusChanged"; +const customizeRE = /:/g; +function customizeEvent(str) { + return camelize(str.replace(customizeRE, "-")); +} +function hasLeadingSlash(str) { + return str.indexOf("/") === 0; +} +function addLeadingSlash(str) { + return hasLeadingSlash(str) ? str : "/" + str; +} +const invokeArrayFns = (fns, arg) => { + let ret; + for (let i2 = 0; i2 < fns.length; i2++) { + ret = fns[i2](arg); + } + return ret; +}; +function once(fn, ctx = null) { + let res; + return (...args) => { + if (fn) { + res = fn.apply(ctx, args); + fn = null; + } + return res; + }; +} +function getValueByDataPath(obj, path) { + if (!isString(path)) { + return; + } + path = path.replace(/\[(\d+)\]/g, ".$1"); + const parts = path.split("."); + let key = parts[0]; + if (!obj) { + obj = {}; + } + if (parts.length === 1) { + return obj[key]; + } + return getValueByDataPath(obj[key], parts.slice(1).join(".")); +} +function sortObject(obj) { + let sortObj = {}; + if (isPlainObject$1(obj)) { + Object.keys(obj).sort().forEach((key) => { + const _key = key; + sortObj[_key] = obj[_key]; + }); + } + return !Object.keys(sortObj) ? obj : sortObj; +} +const encode = encodeURIComponent; +function stringifyQuery(obj, encodeStr = encode) { + const res = obj ? Object.keys(obj).map((key) => { + let val = obj[key]; + if (typeof val === void 0 || val === null) { + val = ""; + } else if (isPlainObject$1(val)) { + val = JSON.stringify(val); + } + return encodeStr(key) + "=" + encodeStr(val); + }).filter((x2) => x2.length > 0).join("&") : null; + return res ? `?${res}` : ""; +} +const PAGE_HOOKS = [ + ON_INIT, + ON_LOAD, + ON_SHOW, + ON_HIDE, + ON_UNLOAD, + ON_BACK_PRESS, + ON_PAGE_SCROLL, + ON_TAB_ITEM_TAP, + ON_REACH_BOTTOM, + ON_PULL_DOWN_REFRESH, + ON_SHARE_TIMELINE, + ON_SHARE_APP_MESSAGE, + ON_ADD_TO_FAVORITES, + ON_SAVE_EXIT_STATE, + ON_NAVIGATION_BAR_BUTTON_TAP, + ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED, + ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED, + ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED, + ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED +]; +function isRootHook(name) { + return PAGE_HOOKS.indexOf(name) > -1; +} +const UniLifecycleHooks = [ + ON_SHOW, + ON_HIDE, + ON_LAUNCH, + ON_ERROR, + ON_THEME_CHANGE, + ON_PAGE_NOT_FOUND, + ON_UNHANDLE_REJECTION, + ON_INIT, + ON_LOAD, + ON_READY, + ON_UNLOAD, + ON_RESIZE, + ON_BACK_PRESS, + ON_PAGE_SCROLL, + ON_TAB_ITEM_TAP, + ON_REACH_BOTTOM, + ON_PULL_DOWN_REFRESH, + ON_SHARE_TIMELINE, + ON_ADD_TO_FAVORITES, + ON_SHARE_APP_MESSAGE, + ON_SAVE_EXIT_STATE, + ON_NAVIGATION_BAR_BUTTON_TAP, + ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED, + ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED, + ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED, + ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED +]; +const MINI_PROGRAM_PAGE_RUNTIME_HOOKS = /* @__PURE__ */ (() => { + return { + onPageScroll: 1, + onShareAppMessage: 1 << 1, + onShareTimeline: 1 << 2 + }; +})(); +let vueApp; +const createVueAppHooks = []; +function onCreateVueApp(hook) { + if (vueApp) { + return hook(vueApp); + } + createVueAppHooks.push(hook); +} +function invokeCreateVueAppHook(app) { + vueApp = app; + createVueAppHooks.forEach((hook) => hook(app)); +} +const E$1 = function() { +}; +E$1.prototype = { + on: function(name, callback, ctx) { + var e2 = this.e || (this.e = {}); + (e2[name] || (e2[name] = [])).push({ + fn: callback, + ctx + }); + return this; + }, + once: function(name, callback, ctx) { + var self2 = this; + function listener() { + self2.off(name, listener); + callback.apply(ctx, arguments); + } + listener._ = callback; + return this.on(name, listener, ctx); + }, + emit: function(name) { + var data = [].slice.call(arguments, 1); + var evtArr = ((this.e || (this.e = {}))[name] || []).slice(); + var i2 = 0; + var len = evtArr.length; + for (i2; i2 < len; i2++) { + evtArr[i2].fn.apply(evtArr[i2].ctx, data); + } + return this; + }, + off: function(name, callback) { + var e2 = this.e || (this.e = {}); + var evts = e2[name]; + var liveEvents = []; + if (evts && callback) { + for (var i2 = 0, len = evts.length; i2 < len; i2++) { + if (evts[i2].fn !== callback && evts[i2].fn._ !== callback) + liveEvents.push(evts[i2]); + } + } + liveEvents.length ? e2[name] = liveEvents : delete e2[name]; + return this; + } +}; +var E$1$1 = E$1; +const LOCALE_ZH_HANS = "zh-Hans"; +const LOCALE_ZH_HANT = "zh-Hant"; +const LOCALE_EN = "en"; +const LOCALE_FR = "fr"; +const LOCALE_ES = "es"; +function include(str, parts) { + return !!parts.find((part) => str.indexOf(part) !== -1); +} +function startsWith(str, parts) { + return parts.find((part) => str.indexOf(part) === 0); +} +function normalizeLocale(locale, messages) { + if (!locale) { + return; + } + locale = locale.trim().replace(/_/g, "-"); + if (messages && messages[locale]) { + return locale; + } + locale = locale.toLowerCase(); + if (locale === "chinese") { + return LOCALE_ZH_HANS; + } + if (locale.indexOf("zh") === 0) { + if (locale.indexOf("-hans") > -1) { + return LOCALE_ZH_HANS; + } + if (locale.indexOf("-hant") > -1) { + return LOCALE_ZH_HANT; + } + if (include(locale, ["-tw", "-hk", "-mo", "-cht"])) { + return LOCALE_ZH_HANT; + } + return LOCALE_ZH_HANS; + } + const lang = startsWith(locale, [LOCALE_EN, LOCALE_FR, LOCALE_ES]); + if (lang) { + return lang; + } +} +function getBaseSystemInfo() { + return wx.getSystemInfoSync(); +} +function validateProtocolFail(name, msg) { + console.warn(`${name}: ${msg}`); +} +function validateProtocol(name, data, protocol, onFail) { + if (!onFail) { + onFail = validateProtocolFail; + } + for (const key in protocol) { + const errMsg = validateProp$1(key, data[key], protocol[key], !hasOwn(data, key)); + if (isString(errMsg)) { + onFail(name, errMsg); + } + } +} +function validateProtocols(name, args, protocol, onFail) { + if (!protocol) { + return; + } + if (!isArray(protocol)) { + return validateProtocol(name, args[0] || /* @__PURE__ */ Object.create(null), protocol, onFail); + } + const len = protocol.length; + const argsLen = args.length; + for (let i2 = 0; i2 < len; i2++) { + const opts = protocol[i2]; + const data = /* @__PURE__ */ Object.create(null); + if (argsLen > i2) { + data[opts.name] = args[i2]; + } + validateProtocol(name, data, { [opts.name]: opts }, onFail); + } +} +function validateProp$1(name, value, prop, isAbsent) { + if (!isPlainObject$1(prop)) { + prop = { type: prop }; + } + const { type, required, validator } = prop; + if (required && isAbsent) { + return 'Missing required args: "' + name + '"'; + } + if (value == null && !required) { + return; + } + if (type != null) { + let isValid = false; + const types = isArray(type) ? type : [type]; + const expectedTypes = []; + for (let i2 = 0; i2 < types.length && !isValid; i2++) { + const { valid, expectedType } = assertType$1(value, types[i2]); + expectedTypes.push(expectedType || ""); + isValid = valid; + } + if (!isValid) { + return getInvalidTypeMessage$1(name, value, expectedTypes); + } + } + if (validator) { + return validator(value); + } +} +const isSimpleType$1 = /* @__PURE__ */ makeMap("String,Number,Boolean,Function,Symbol"); +function assertType$1(value, type) { + let valid; + const expectedType = getType$1(type); + if (isSimpleType$1(expectedType)) { + const t2 = typeof value; + valid = t2 === expectedType.toLowerCase(); + if (!valid && t2 === "object") { + valid = value instanceof type; + } + } else if (expectedType === "Object") { + valid = isObject$1(value); + } else if (expectedType === "Array") { + valid = isArray(value); + } else { + { + valid = value instanceof type; + } + } + return { + valid, + expectedType + }; +} +function getInvalidTypeMessage$1(name, value, expectedTypes) { + let message = `Invalid args: type check failed for args "${name}". Expected ${expectedTypes.map(capitalize).join(", ")}`; + const expectedType = expectedTypes[0]; + const receivedType = toRawType(value); + const expectedValue = styleValue$1(value, expectedType); + const receivedValue = styleValue$1(value, receivedType); + if (expectedTypes.length === 1 && isExplicable$1(expectedType) && !isBoolean$1(expectedType, receivedType)) { + message += ` with value ${expectedValue}`; + } + message += `, got ${receivedType} `; + if (isExplicable$1(receivedType)) { + message += `with value ${receivedValue}.`; + } + return message; +} +function getType$1(ctor) { + const match = ctor && ctor.toString().match(/^\s*function (\w+)/); + return match ? match[1] : ""; +} +function styleValue$1(value, type) { + if (type === "String") { + return `"${value}"`; + } else if (type === "Number") { + return `${Number(value)}`; + } else { + return `${value}`; + } +} +function isExplicable$1(type) { + const explicitTypes = ["string", "number", "boolean"]; + return explicitTypes.some((elem) => type.toLowerCase() === elem); +} +function isBoolean$1(...args) { + return args.some((elem) => elem.toLowerCase() === "boolean"); +} +function tryCatch(fn) { + return function() { + try { + return fn.apply(fn, arguments); + } catch (e2) { + console.error(e2); + } + }; +} +let invokeCallbackId = 1; +const invokeCallbacks = {}; +function addInvokeCallback(id, name, callback, keepAlive = false) { + invokeCallbacks[id] = { + name, + keepAlive, + callback + }; + return id; +} +function invokeCallback(id, res, extras) { + if (typeof id === "number") { + const opts = invokeCallbacks[id]; + if (opts) { + if (!opts.keepAlive) { + delete invokeCallbacks[id]; + } + return opts.callback(res, extras); + } + } + return res; +} +const API_SUCCESS = "success"; +const API_FAIL = "fail"; +const API_COMPLETE = "complete"; +function getApiCallbacks(args) { + const apiCallbacks = {}; + for (const name in args) { + const fn = args[name]; + if (isFunction(fn)) { + apiCallbacks[name] = tryCatch(fn); + delete args[name]; + } + } + return apiCallbacks; +} +function normalizeErrMsg$1(errMsg, name) { + if (!errMsg || errMsg.indexOf(":fail") === -1) { + return name + ":ok"; + } + return name + errMsg.substring(errMsg.indexOf(":fail")); +} +function createAsyncApiCallback(name, args = {}, { beforeAll, beforeSuccess } = {}) { + if (!isPlainObject$1(args)) { + args = {}; + } + const { success, fail, complete } = getApiCallbacks(args); + const hasSuccess = isFunction(success); + const hasFail = isFunction(fail); + const hasComplete = isFunction(complete); + const callbackId = invokeCallbackId++; + addInvokeCallback(callbackId, name, (res) => { + res = res || {}; + res.errMsg = normalizeErrMsg$1(res.errMsg, name); + isFunction(beforeAll) && beforeAll(res); + if (res.errMsg === name + ":ok") { + isFunction(beforeSuccess) && beforeSuccess(res, args); + hasSuccess && success(res); + } else { + hasFail && fail(res); + } + hasComplete && complete(res); + }); + return callbackId; +} +const HOOK_SUCCESS = "success"; +const HOOK_FAIL = "fail"; +const HOOK_COMPLETE = "complete"; +const globalInterceptors = {}; +const scopedInterceptors = {}; +function wrapperHook(hook) { + return function(data) { + return hook(data) || data; + }; +} +function queue$1(hooks, data) { + let promise = false; + for (let i2 = 0; i2 < hooks.length; i2++) { + const hook = hooks[i2]; + if (promise) { + promise = Promise.resolve(wrapperHook(hook)); + } else { + const res = hook(data); + if (isPromise(res)) { + promise = Promise.resolve(res); + } + if (res === false) { + return { + then() { + }, + catch() { + } + }; + } + } + } + return promise || { + then(callback) { + return callback(data); + }, + catch() { + } + }; +} +function wrapperOptions(interceptors2, options = {}) { + [HOOK_SUCCESS, HOOK_FAIL, HOOK_COMPLETE].forEach((name) => { + const hooks = interceptors2[name]; + if (!isArray(hooks)) { + return; + } + const oldCallback = options[name]; + options[name] = function callbackInterceptor(res) { + queue$1(hooks, res).then((res2) => { + return isFunction(oldCallback) && oldCallback(res2) || res2; + }); + }; + }); + return options; +} +function wrapperReturnValue(method, returnValue) { + const returnValueHooks = []; + if (isArray(globalInterceptors.returnValue)) { + returnValueHooks.push(...globalInterceptors.returnValue); + } + const interceptor = scopedInterceptors[method]; + if (interceptor && isArray(interceptor.returnValue)) { + returnValueHooks.push(...interceptor.returnValue); + } + returnValueHooks.forEach((hook) => { + returnValue = hook(returnValue) || returnValue; + }); + return returnValue; +} +function getApiInterceptorHooks(method) { + const interceptor = /* @__PURE__ */ Object.create(null); + Object.keys(globalInterceptors).forEach((hook) => { + if (hook !== "returnValue") { + interceptor[hook] = globalInterceptors[hook].slice(); + } + }); + const scopedInterceptor = scopedInterceptors[method]; + if (scopedInterceptor) { + Object.keys(scopedInterceptor).forEach((hook) => { + if (hook !== "returnValue") { + interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]); + } + }); + } + return interceptor; +} +function invokeApi(method, api, options, params) { + const interceptor = getApiInterceptorHooks(method); + if (interceptor && Object.keys(interceptor).length) { + if (isArray(interceptor.invoke)) { + const res = queue$1(interceptor.invoke, options); + return res.then((options2) => { + return api(wrapperOptions(interceptor, options2), ...params); + }); + } else { + return api(wrapperOptions(interceptor, options), ...params); + } + } + return api(options, ...params); +} +function hasCallback(args) { + if (isPlainObject$1(args) && [API_SUCCESS, API_FAIL, API_COMPLETE].find((cb) => isFunction(args[cb]))) { + return true; + } + return false; +} +function handlePromise(promise) { + return promise; +} +function promisify$1(name, fn) { + return (args = {}, ...rest) => { + if (hasCallback(args)) { + return wrapperReturnValue(name, invokeApi(name, fn, args, rest)); + } + return wrapperReturnValue(name, handlePromise(new Promise((resolve2, reject) => { + invokeApi(name, fn, extend(args, { success: resolve2, fail: reject }), rest); + }))); + }; +} +function formatApiArgs(args, options) { + const params = args[0]; + if (!options || !isPlainObject$1(options.formatArgs) && isPlainObject$1(params)) { + return; + } + const formatArgs = options.formatArgs; + const keys = Object.keys(formatArgs); + for (let i2 = 0; i2 < keys.length; i2++) { + const name = keys[i2]; + const formatterOrDefaultValue = formatArgs[name]; + if (isFunction(formatterOrDefaultValue)) { + const errMsg = formatterOrDefaultValue(args[0][name], params); + if (isString(errMsg)) { + return errMsg; + } + } else { + if (!hasOwn(params, name)) { + params[name] = formatterOrDefaultValue; + } + } + } +} +function invokeSuccess(id, name, res) { + return invokeCallback(id, extend(res || {}, { errMsg: name + ":ok" })); +} +function invokeFail(id, name, errMsg, errRes) { + return invokeCallback(id, extend({ errMsg: name + ":fail" + (errMsg ? " " + errMsg : "") }, errRes)); +} +function beforeInvokeApi(name, args, protocol, options) { + { + validateProtocols(name, args, protocol); + } + if (options && options.beforeInvoke) { + const errMsg2 = options.beforeInvoke(args); + if (isString(errMsg2)) { + return errMsg2; + } + } + const errMsg = formatApiArgs(args, options); + if (errMsg) { + return errMsg; + } +} +function normalizeErrMsg(errMsg) { + if (!errMsg || isString(errMsg)) { + return errMsg; + } + if (errMsg.stack) { + console.error(errMsg.message + LINEFEED + errMsg.stack); + return errMsg.message; + } + return errMsg; +} +function wrapperTaskApi(name, fn, protocol, options) { + return (args) => { + const id = createAsyncApiCallback(name, args, options); + const errMsg = beforeInvokeApi(name, [args], protocol, options); + if (errMsg) { + return invokeFail(id, name, errMsg); + } + return fn(args, { + resolve: (res) => invokeSuccess(id, name, res), + reject: (errMsg2, errRes) => invokeFail(id, name, normalizeErrMsg(errMsg2), errRes) + }); + }; +} +function wrapperSyncApi(name, fn, protocol, options) { + return (...args) => { + const errMsg = beforeInvokeApi(name, args, protocol, options); + if (errMsg) { + throw new Error(errMsg); + } + return fn.apply(null, args); + }; +} +function wrapperAsyncApi(name, fn, protocol, options) { + return wrapperTaskApi(name, fn, protocol, options); +} +function defineSyncApi(name, fn, protocol, options) { + return wrapperSyncApi(name, fn, protocol, options); +} +function defineAsyncApi(name, fn, protocol, options) { + return promisify$1(name, wrapperAsyncApi(name, fn, protocol, options)); +} +const API_UPX2PX = "upx2px"; +const Upx2pxProtocol = [ + { + name: "upx", + type: [Number, String], + required: true + } +]; +const EPS = 1e-4; +const BASE_DEVICE_WIDTH = 750; +let isIOS = false; +let deviceWidth = 0; +let deviceDPR = 0; +function checkDeviceWidth() { + const { platform, pixelRatio, windowWidth } = getBaseSystemInfo(); + deviceWidth = windowWidth; + deviceDPR = pixelRatio; + isIOS = platform === "ios"; +} +const upx2px = defineSyncApi(API_UPX2PX, (number, newDeviceWidth) => { + if (deviceWidth === 0) { + checkDeviceWidth(); + } + number = Number(number); + if (number === 0) { + return 0; + } + let width = newDeviceWidth || deviceWidth; + let result = number / BASE_DEVICE_WIDTH * width; + if (result < 0) { + result = -result; + } + result = Math.floor(result + EPS); + if (result === 0) { + if (deviceDPR === 1 || !isIOS) { + result = 1; + } else { + result = 0.5; + } + } + return number < 0 ? -result : result; +}, Upx2pxProtocol); +const API_ADD_INTERCEPTOR = "addInterceptor"; +const API_REMOVE_INTERCEPTOR = "removeInterceptor"; +const AddInterceptorProtocol = [ + { + name: "method", + type: [String, Object], + required: true + } +]; +const RemoveInterceptorProtocol = AddInterceptorProtocol; +function mergeInterceptorHook(interceptors2, interceptor) { + Object.keys(interceptor).forEach((hook) => { + if (isFunction(interceptor[hook])) { + interceptors2[hook] = mergeHook(interceptors2[hook], interceptor[hook]); + } + }); +} +function removeInterceptorHook(interceptors2, interceptor) { + if (!interceptors2 || !interceptor) { + return; + } + Object.keys(interceptor).forEach((name) => { + const hooks = interceptors2[name]; + const hook = interceptor[name]; + if (isArray(hooks) && isFunction(hook)) { + remove(hooks, hook); + } + }); +} +function mergeHook(parentVal, childVal) { + const res = childVal ? parentVal ? parentVal.concat(childVal) : isArray(childVal) ? childVal : [childVal] : parentVal; + return res ? dedupeHooks(res) : res; +} +function dedupeHooks(hooks) { + const res = []; + for (let i2 = 0; i2 < hooks.length; i2++) { + if (res.indexOf(hooks[i2]) === -1) { + res.push(hooks[i2]); + } + } + return res; +} +const addInterceptor = defineSyncApi(API_ADD_INTERCEPTOR, (method, interceptor) => { + if (isString(method) && isPlainObject$1(interceptor)) { + mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), interceptor); + } else if (isPlainObject$1(method)) { + mergeInterceptorHook(globalInterceptors, method); + } +}, AddInterceptorProtocol); +const removeInterceptor = defineSyncApi(API_REMOVE_INTERCEPTOR, (method, interceptor) => { + if (isString(method)) { + if (isPlainObject$1(interceptor)) { + removeInterceptorHook(scopedInterceptors[method], interceptor); + } else { + delete scopedInterceptors[method]; + } + } else if (isPlainObject$1(method)) { + removeInterceptorHook(globalInterceptors, method); + } +}, RemoveInterceptorProtocol); +const interceptors = {}; +const API_ON = "$on"; +const OnProtocol = [ + { + name: "event", + type: String, + required: true + }, + { + name: "callback", + type: Function, + required: true + } +]; +const API_ONCE = "$once"; +const OnceProtocol = OnProtocol; +const API_OFF = "$off"; +const OffProtocol = [ + { + name: "event", + type: [String, Array] + }, + { + name: "callback", + type: Function + } +]; +const API_EMIT = "$emit"; +const EmitProtocol = [ + { + name: "event", + type: String, + required: true + } +]; +const emitter = new E$1$1(); +const $on = defineSyncApi(API_ON, (name, callback) => { + emitter.on(name, callback); + return () => emitter.off(name, callback); +}, OnProtocol); +const $once = defineSyncApi(API_ONCE, (name, callback) => { + emitter.once(name, callback); + return () => emitter.off(name, callback); +}, OnceProtocol); +const $off = defineSyncApi(API_OFF, (name, callback) => { + if (!name) { + emitter.e = {}; + return; + } + if (!isArray(name)) + name = [name]; + name.forEach((n2) => emitter.off(n2, callback)); +}, OffProtocol); +const $emit = defineSyncApi(API_EMIT, (name, ...args) => { + emitter.emit(name, ...args); +}, EmitProtocol); +let cid; +let cidErrMsg; +let enabled; +function normalizePushMessage(message) { + try { + return JSON.parse(message); + } catch (e2) { + } + return message; +} +function invokePushCallback(args) { + if (args.type === "enabled") { + enabled = true; + } else if (args.type === "clientId") { + cid = args.cid; + cidErrMsg = args.errMsg; + invokeGetPushCidCallbacks(cid, args.errMsg); + } else if (args.type === "pushMsg") { + const message = { + type: "receive", + data: normalizePushMessage(args.message) + }; + for (let i2 = 0; i2 < onPushMessageCallbacks.length; i2++) { + const callback = onPushMessageCallbacks[i2]; + callback(message); + if (message.stopped) { + break; + } + } + } else if (args.type === "click") { + onPushMessageCallbacks.forEach((callback) => { + callback({ + type: "click", + data: normalizePushMessage(args.message) + }); + }); + } +} +const getPushCidCallbacks = []; +function invokeGetPushCidCallbacks(cid2, errMsg) { + getPushCidCallbacks.forEach((callback) => { + callback(cid2, errMsg); + }); + getPushCidCallbacks.length = 0; +} +const API_GET_PUSH_CLIENT_ID = "getPushClientId"; +const getPushClientId = defineAsyncApi(API_GET_PUSH_CLIENT_ID, (_2, { resolve: resolve2, reject }) => { + Promise.resolve().then(() => { + if (typeof enabled === "undefined") { + enabled = false; + cid = ""; + cidErrMsg = "unipush is not enabled"; + } + getPushCidCallbacks.push((cid2, errMsg) => { + if (cid2) { + resolve2({ cid: cid2 }); + } else { + reject(errMsg); + } + }); + if (typeof cid !== "undefined") { + invokeGetPushCidCallbacks(cid, cidErrMsg); + } + }); +}); +const onPushMessageCallbacks = []; +const onPushMessage = (fn) => { + if (onPushMessageCallbacks.indexOf(fn) === -1) { + onPushMessageCallbacks.push(fn); + } +}; +const offPushMessage = (fn) => { + if (!fn) { + onPushMessageCallbacks.length = 0; + } else { + const index2 = onPushMessageCallbacks.indexOf(fn); + if (index2 > -1) { + onPushMessageCallbacks.splice(index2, 1); + } + } +}; +const SYNC_API_RE = /^\$|getLocale|setLocale|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getDeviceInfo|getAppBaseInfo|getWindowInfo|getSystemSetting|getAppAuthorizeSetting/; +const CONTEXT_API_RE = /^create|Manager$/; +const CONTEXT_API_RE_EXC = ["createBLEConnection"]; +const ASYNC_API = ["createBLEConnection"]; +const CALLBACK_API_RE = /^on|^off/; +function isContextApi(name) { + return CONTEXT_API_RE.test(name) && CONTEXT_API_RE_EXC.indexOf(name) === -1; +} +function isSyncApi(name) { + return SYNC_API_RE.test(name) && ASYNC_API.indexOf(name) === -1; +} +function isCallbackApi(name) { + return CALLBACK_API_RE.test(name) && name !== "onPush"; +} +function shouldPromise(name) { + if (isContextApi(name) || isSyncApi(name) || isCallbackApi(name)) { + return false; + } + return true; +} +if (!Promise.prototype.finally) { + Promise.prototype.finally = function(onfinally) { + const promise = this.constructor; + return this.then((value) => promise.resolve(onfinally && onfinally()).then(() => value), (reason) => promise.resolve(onfinally && onfinally()).then(() => { + throw reason; + })); + }; +} +function promisify(name, api) { + if (!shouldPromise(name)) { + return api; + } + if (!isFunction(api)) { + return api; + } + return function promiseApi(options = {}, ...rest) { + if (isFunction(options.success) || isFunction(options.fail) || isFunction(options.complete)) { + return wrapperReturnValue(name, invokeApi(name, api, options, rest)); + } + return wrapperReturnValue(name, handlePromise(new Promise((resolve2, reject) => { + invokeApi(name, api, extend({}, options, { + success: resolve2, + fail: reject + }), rest); + }))); + }; +} +const CALLBACKS = ["success", "fail", "cancel", "complete"]; +function initWrapper(protocols2) { + function processCallback(methodName, method, returnValue) { + return function(res) { + return method(processReturnValue(methodName, res, returnValue)); + }; + } + function processArgs(methodName, fromArgs, argsOption = {}, returnValue = {}, keepFromArgs = false) { + if (isPlainObject$1(fromArgs)) { + const toArgs = keepFromArgs === true ? fromArgs : {}; + if (isFunction(argsOption)) { + argsOption = argsOption(fromArgs, toArgs) || {}; + } + for (const key in fromArgs) { + if (hasOwn(argsOption, key)) { + let keyOption = argsOption[key]; + if (isFunction(keyOption)) { + keyOption = keyOption(fromArgs[key], fromArgs, toArgs); + } + if (!keyOption) { + console.warn(`\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F ${methodName} \u6682\u4E0D\u652F\u6301 ${key}`); + } else if (isString(keyOption)) { + toArgs[keyOption] = fromArgs[key]; + } else if (isPlainObject$1(keyOption)) { + toArgs[keyOption.name ? keyOption.name : key] = keyOption.value; + } + } else if (CALLBACKS.indexOf(key) !== -1) { + const callback = fromArgs[key]; + if (isFunction(callback)) { + toArgs[key] = processCallback(methodName, callback, returnValue); + } + } else { + if (!keepFromArgs && !hasOwn(toArgs, key)) { + toArgs[key] = fromArgs[key]; + } + } + } + return toArgs; + } else if (isFunction(fromArgs)) { + fromArgs = processCallback(methodName, fromArgs, returnValue); + } + return fromArgs; + } + function processReturnValue(methodName, res, returnValue, keepReturnValue = false) { + if (isFunction(protocols2.returnValue)) { + res = protocols2.returnValue(methodName, res); + } + return processArgs(methodName, res, returnValue, {}, keepReturnValue); + } + return function wrapper3(methodName, method) { + if (!hasOwn(protocols2, methodName)) { + return method; + } + const protocol = protocols2[methodName]; + if (!protocol) { + return function() { + console.error(`\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F \u6682\u4E0D\u652F\u6301${methodName}`); + }; + } + return function(arg1, arg2) { + let options = protocol; + if (isFunction(protocol)) { + options = protocol(arg1); + } + arg1 = processArgs(methodName, arg1, options.args, options.returnValue); + const args = [arg1]; + if (typeof arg2 !== "undefined") { + args.push(arg2); + } + const returnValue = wx[options.name || methodName].apply(wx, args); + if (isSyncApi(methodName)) { + return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName)); + } + return returnValue; + }; + }; +} +const getLocale = () => { + const app = getApp({ allowDefault: true }); + if (app && app.$vm) { + return app.$vm.$locale; + } + return normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN; +}; +const setLocale = (locale) => { + const app = getApp(); + if (!app) { + return false; + } + const oldLocale = app.$vm.$locale; + if (oldLocale !== locale) { + app.$vm.$locale = locale; + onLocaleChangeCallbacks.forEach((fn) => fn({ locale })); + return true; + } + return false; +}; +const onLocaleChangeCallbacks = []; +const onLocaleChange = (fn) => { + if (onLocaleChangeCallbacks.indexOf(fn) === -1) { + onLocaleChangeCallbacks.push(fn); + } +}; +if (typeof global !== "undefined") { + global.getLocale = getLocale; +} +const baseApis = { + $on, + $off, + $once, + $emit, + upx2px, + interceptors, + addInterceptor, + removeInterceptor, + onCreateVueApp, + invokeCreateVueAppHook, + getLocale, + setLocale, + onLocaleChange, + getPushClientId, + onPushMessage, + offPushMessage, + invokePushCallback +}; +function initUni(api, protocols2) { + const wrapper3 = initWrapper(protocols2); + const UniProxyHandlers = { + get(target, key) { + if (hasOwn(target, key)) { + return target[key]; + } + if (hasOwn(api, key)) { + return promisify(key, api[key]); + } + if (hasOwn(baseApis, key)) { + return promisify(key, baseApis[key]); + } + return promisify(key, wrapper3(key, wx[key])); + } + }; + return new Proxy({}, UniProxyHandlers); +} +function initGetProvider(providers) { + return function getProvider2({ service, success, fail, complete }) { + let res; + if (providers[service]) { + res = { + errMsg: "getProvider:ok", + service, + provider: providers[service] + }; + isFunction(success) && success(res); + } else { + res = { + errMsg: "getProvider:fail:\u670D\u52A1[" + service + "]\u4E0D\u5B58\u5728" + }; + isFunction(fail) && fail(res); + } + isFunction(complete) && complete(res); + }; +} +const UUID_KEY = "__DC_STAT_UUID"; +let deviceId; +function useDeviceId(global2 = wx) { + return function addDeviceId(_2, toRes) { + deviceId = deviceId || global2.getStorageSync(UUID_KEY); + if (!deviceId) { + deviceId = Date.now() + "" + Math.floor(Math.random() * 1e7); + wx.setStorage({ + key: UUID_KEY, + data: deviceId + }); + } + toRes.deviceId = deviceId; + }; +} +function addSafeAreaInsets(fromRes, toRes) { + if (fromRes.safeArea) { + const safeArea = fromRes.safeArea; + toRes.safeAreaInsets = { + top: safeArea.top, + left: safeArea.left, + right: fromRes.windowWidth - safeArea.right, + bottom: fromRes.screenHeight - safeArea.bottom + }; + } +} +function populateParameters(fromRes, toRes) { + const { brand = "", model = "", system = "", language = "", theme, version: version2, platform, fontSizeSetting, SDKVersion, pixelRatio, deviceOrientation } = fromRes; + let osName = ""; + let osVersion = ""; + { + osName = system.split(" ")[0] || ""; + osVersion = system.split(" ")[1] || ""; + } + let hostVersion = version2; + let deviceType = getGetDeviceType(fromRes, model); + let deviceBrand = getDeviceBrand(brand); + let _hostName = getHostName(fromRes); + let _deviceOrientation = deviceOrientation; + let _devicePixelRatio = pixelRatio; + let _SDKVersion = SDKVersion; + const hostLanguage = language.replace(/_/g, "-"); + const parameters = { + appId: "", + appName: "", + appVersion: "1.0.0", + appVersionCode: "100", + appLanguage: getAppLanguage(hostLanguage), + uniCompileVersion: "3.5.3", + uniRuntimeVersion: "3.5.3", + uniPlatform: {}.UNI_SUB_PLATFORM || "mp-weixin", + deviceBrand, + deviceModel: model, + deviceType, + devicePixelRatio: _devicePixelRatio, + deviceOrientation: _deviceOrientation, + osName: osName.toLocaleLowerCase(), + osVersion, + hostTheme: theme, + hostVersion, + hostLanguage, + hostName: _hostName, + hostSDKVersion: _SDKVersion, + hostFontSizeSetting: fontSizeSetting, + windowTop: 0, + windowBottom: 0, + osLanguage: void 0, + osTheme: void 0, + ua: void 0, + hostPackageName: void 0, + browserName: void 0, + browserVersion: void 0 + }; + extend(toRes, parameters); +} +function getGetDeviceType(fromRes, model) { + let deviceType = fromRes.deviceType || "phone"; + { + const deviceTypeMaps = { + ipad: "pad", + windows: "pc", + mac: "pc" + }; + const deviceTypeMapsKeys = Object.keys(deviceTypeMaps); + const _model = model.toLocaleLowerCase(); + for (let index2 = 0; index2 < deviceTypeMapsKeys.length; index2++) { + const _m = deviceTypeMapsKeys[index2]; + if (_model.indexOf(_m) !== -1) { + deviceType = deviceTypeMaps[_m]; + break; + } + } + } + return deviceType; +} +function getDeviceBrand(brand) { + let deviceBrand = brand; + if (deviceBrand) { + deviceBrand = deviceBrand.toLocaleLowerCase(); + } + return deviceBrand; +} +function getAppLanguage(defaultLanguage) { + return getLocale ? getLocale() : defaultLanguage; +} +function getHostName(fromRes) { + const _platform = "WeChat"; + let _hostName = fromRes.hostName || _platform; + { + if (fromRes.environment) { + _hostName = fromRes.environment; + } else if (fromRes.host && fromRes.host.env) { + _hostName = fromRes.host.env; + } + } + return _hostName; +} +const getSystemInfo = { + returnValue: (fromRes, toRes) => { + addSafeAreaInsets(fromRes, toRes); + useDeviceId()(fromRes, toRes); + populateParameters(fromRes, toRes); + } +}; +const getSystemInfoSync = getSystemInfo; +const redirectTo = {}; +const previewImage = { + args(fromArgs, toArgs) { + let currentIndex = parseInt(fromArgs.current); + if (isNaN(currentIndex)) { + return; + } + const urls = fromArgs.urls; + if (!isArray(urls)) { + return; + } + const len = urls.length; + if (!len) { + return; + } + if (currentIndex < 0) { + currentIndex = 0; + } else if (currentIndex >= len) { + currentIndex = len - 1; + } + if (currentIndex > 0) { + toArgs.current = urls[currentIndex]; + toArgs.urls = urls.filter((item, index2) => index2 < currentIndex ? item !== urls[currentIndex] : true); + } else { + toArgs.current = urls[0]; + } + return { + indicator: false, + loop: false + }; + } +}; +const showActionSheet = { + args(fromArgs, toArgs) { + toArgs.alertText = fromArgs.title; + } +}; +const getDeviceInfo = { + returnValue: (fromRes, toRes) => { + const { brand, model } = fromRes; + let deviceType = getGetDeviceType(fromRes, model); + let deviceBrand = getDeviceBrand(brand); + useDeviceId()(fromRes, toRes); + toRes = sortObject(extend(toRes, { + deviceType, + deviceBrand, + deviceModel: model + })); + } +}; +const getAppBaseInfo = { + returnValue: (fromRes, toRes) => { + const { version: version2, language, SDKVersion, theme } = fromRes; + let _hostName = getHostName(fromRes); + let hostLanguage = language.replace(/_/g, "-"); + toRes = sortObject(extend(toRes, { + hostVersion: version2, + hostLanguage, + hostName: _hostName, + hostSDKVersion: SDKVersion, + hostTheme: theme, + appId: "", + appName: "", + appVersion: "1.0.0", + appVersionCode: "100", + appLanguage: getAppLanguage(hostLanguage) + })); + } +}; +const getWindowInfo = { + returnValue: (fromRes, toRes) => { + addSafeAreaInsets(fromRes, toRes); + toRes = sortObject(extend(toRes, { + windowTop: 0, + windowBottom: 0 + })); + } +}; +const getAppAuthorizeSetting = { + returnValue: function(fromRes, toRes) { + const { locationReducedAccuracy } = fromRes; + toRes.locationAccuracy = "unsupported"; + if (locationReducedAccuracy === true) { + toRes.locationAccuracy = "reduced"; + } else if (locationReducedAccuracy === false) { + toRes.locationAccuracy = "full"; + } + } +}; +const mocks$1 = ["__route__", "__wxExparserNodeId__", "__wxWebviewId__"]; +const getProvider = initGetProvider({ + oauth: ["weixin"], + share: ["weixin"], + payment: ["wxpay"], + push: ["weixin"] +}); +function initComponentMocks(component) { + const res = /* @__PURE__ */ Object.create(null); + mocks$1.forEach((name) => { + res[name] = component[name]; + }); + return res; +} +function createSelectorQuery() { + const query = wx.createSelectorQuery(); + const oldIn = query.in; + query.in = function newIn(component) { + return oldIn.call(this, initComponentMocks(component)); + }; + return query; +} +var shims = /* @__PURE__ */ Object.freeze({ + __proto__: null, + getProvider, + createSelectorQuery +}); +var protocols = /* @__PURE__ */ Object.freeze({ + __proto__: null, + redirectTo, + previewImage, + getSystemInfo, + getSystemInfoSync, + showActionSheet, + getDeviceInfo, + getAppBaseInfo, + getWindowInfo, + getAppAuthorizeSetting +}); +var index = initUni(shims, protocols); +function warn(msg, ...args) { + console.warn(`[Vue warn] ${msg}`, ...args); +} +let activeEffectScope; +class EffectScope { + constructor(detached = false) { + this.active = true; + this.effects = []; + this.cleanups = []; + if (!detached && activeEffectScope) { + this.parent = activeEffectScope; + this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1; + } + } + run(fn) { + if (this.active) { + const currentEffectScope = activeEffectScope; + try { + activeEffectScope = this; + return fn(); + } finally { + activeEffectScope = currentEffectScope; + } + } else { + warn(`cannot run an inactive effect scope.`); + } + } + on() { + activeEffectScope = this; + } + off() { + activeEffectScope = this.parent; + } + stop(fromParent) { + if (this.active) { + let i2, l2; + for (i2 = 0, l2 = this.effects.length; i2 < l2; i2++) { + this.effects[i2].stop(); + } + for (i2 = 0, l2 = this.cleanups.length; i2 < l2; i2++) { + this.cleanups[i2](); + } + if (this.scopes) { + for (i2 = 0, l2 = this.scopes.length; i2 < l2; i2++) { + this.scopes[i2].stop(true); + } + } + if (this.parent && !fromParent) { + const last = this.parent.scopes.pop(); + if (last && last !== this) { + this.parent.scopes[this.index] = last; + last.index = this.index; + } + } + this.active = false; + } + } +} +function effectScope(detached) { + return new EffectScope(detached); +} +function recordEffectScope(effect, scope = activeEffectScope) { + if (scope && scope.active) { + scope.effects.push(effect); + } +} +function getCurrentScope() { + return activeEffectScope; +} +function onScopeDispose(fn) { + if (activeEffectScope) { + activeEffectScope.cleanups.push(fn); + } else { + warn(`onScopeDispose() is called when there is no active effect scope to be associated with.`); + } +} +const createDep = (effects) => { + const dep = new Set(effects); + dep.w = 0; + dep.n = 0; + return dep; +}; +const wasTracked = (dep) => (dep.w & trackOpBit) > 0; +const newTracked = (dep) => (dep.n & trackOpBit) > 0; +const initDepMarkers = ({ deps }) => { + if (deps.length) { + for (let i2 = 0; i2 < deps.length; i2++) { + deps[i2].w |= trackOpBit; + } + } +}; +const finalizeDepMarkers = (effect) => { + const { deps } = effect; + if (deps.length) { + let ptr = 0; + for (let i2 = 0; i2 < deps.length; i2++) { + const dep = deps[i2]; + if (wasTracked(dep) && !newTracked(dep)) { + dep.delete(effect); + } else { + deps[ptr++] = dep; + } + dep.w &= ~trackOpBit; + dep.n &= ~trackOpBit; + } + deps.length = ptr; + } +}; +const targetMap = /* @__PURE__ */ new WeakMap(); +let effectTrackDepth = 0; +let trackOpBit = 1; +const maxMarkerBits = 30; +let activeEffect; +const ITERATE_KEY = Symbol("iterate"); +const MAP_KEY_ITERATE_KEY = Symbol("Map key iterate"); +class ReactiveEffect { + constructor(fn, scheduler = null, scope) { + this.fn = fn; + this.scheduler = scheduler; + this.active = true; + this.deps = []; + this.parent = void 0; + recordEffectScope(this, scope); + } + run() { + if (!this.active) { + return this.fn(); + } + let parent = activeEffect; + let lastShouldTrack = shouldTrack; + while (parent) { + if (parent === this) { + return; + } + parent = parent.parent; + } + try { + this.parent = activeEffect; + activeEffect = this; + shouldTrack = true; + trackOpBit = 1 << ++effectTrackDepth; + if (effectTrackDepth <= maxMarkerBits) { + initDepMarkers(this); + } else { + cleanupEffect(this); + } + return this.fn(); + } finally { + if (effectTrackDepth <= maxMarkerBits) { + finalizeDepMarkers(this); + } + trackOpBit = 1 << --effectTrackDepth; + activeEffect = this.parent; + shouldTrack = lastShouldTrack; + this.parent = void 0; + if (this.deferStop) { + this.stop(); + } + } + } + stop() { + if (activeEffect === this) { + this.deferStop = true; + } else if (this.active) { + cleanupEffect(this); + if (this.onStop) { + this.onStop(); + } + this.active = false; + } + } +} +function cleanupEffect(effect) { + const { deps } = effect; + if (deps.length) { + for (let i2 = 0; i2 < deps.length; i2++) { + deps[i2].delete(effect); + } + deps.length = 0; + } +} +let shouldTrack = true; +const trackStack = []; +function pauseTracking() { + trackStack.push(shouldTrack); + shouldTrack = false; +} +function resetTracking() { + const last = trackStack.pop(); + shouldTrack = last === void 0 ? true : last; +} +function track(target, type, key) { + if (shouldTrack && activeEffect) { + let depsMap = targetMap.get(target); + if (!depsMap) { + targetMap.set(target, depsMap = /* @__PURE__ */ new Map()); + } + let dep = depsMap.get(key); + if (!dep) { + depsMap.set(key, dep = createDep()); + } + const eventInfo = { effect: activeEffect, target, type, key }; + trackEffects(dep, eventInfo); + } +} +function trackEffects(dep, debuggerEventExtraInfo) { + let shouldTrack2 = false; + if (effectTrackDepth <= maxMarkerBits) { + if (!newTracked(dep)) { + dep.n |= trackOpBit; + shouldTrack2 = !wasTracked(dep); + } + } else { + shouldTrack2 = !dep.has(activeEffect); + } + if (shouldTrack2) { + dep.add(activeEffect); + activeEffect.deps.push(dep); + if (activeEffect.onTrack) { + activeEffect.onTrack(Object.assign({ effect: activeEffect }, debuggerEventExtraInfo)); + } + } +} +function trigger(target, type, key, newValue, oldValue, oldTarget) { + const depsMap = targetMap.get(target); + if (!depsMap) { + return; + } + let deps = []; + if (type === "clear") { + deps = [...depsMap.values()]; + } else if (key === "length" && isArray(target)) { + depsMap.forEach((dep, key2) => { + if (key2 === "length" || key2 >= newValue) { + deps.push(dep); + } + }); + } else { + if (key !== void 0) { + deps.push(depsMap.get(key)); + } + switch (type) { + case "add": + if (!isArray(target)) { + deps.push(depsMap.get(ITERATE_KEY)); + if (isMap(target)) { + deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } else if (isIntegerKey(key)) { + deps.push(depsMap.get("length")); + } + break; + case "delete": + if (!isArray(target)) { + deps.push(depsMap.get(ITERATE_KEY)); + if (isMap(target)) { + deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } + break; + case "set": + if (isMap(target)) { + deps.push(depsMap.get(ITERATE_KEY)); + } + break; + } + } + const eventInfo = { target, type, key, newValue, oldValue, oldTarget }; + if (deps.length === 1) { + if (deps[0]) { + { + triggerEffects(deps[0], eventInfo); + } + } + } else { + const effects = []; + for (const dep of deps) { + if (dep) { + effects.push(...dep); + } + } + { + triggerEffects(createDep(effects), eventInfo); + } + } +} +function triggerEffects(dep, debuggerEventExtraInfo) { + const effects = isArray(dep) ? dep : [...dep]; + for (const effect of effects) { + if (effect.computed) { + triggerEffect(effect, debuggerEventExtraInfo); + } + } + for (const effect of effects) { + if (!effect.computed) { + triggerEffect(effect, debuggerEventExtraInfo); + } + } +} +function triggerEffect(effect, debuggerEventExtraInfo) { + if (effect !== activeEffect || effect.allowRecurse) { + if (effect.onTrigger) { + effect.onTrigger(extend({ effect }, debuggerEventExtraInfo)); + } + if (effect.scheduler) { + effect.scheduler(); + } else { + effect.run(); + } + } +} +const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`); +const builtInSymbols = new Set( + /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol) +); +const get$1 = /* @__PURE__ */ createGetter(); +const shallowGet = /* @__PURE__ */ createGetter(false, true); +const readonlyGet = /* @__PURE__ */ createGetter(true); +const shallowReadonlyGet = /* @__PURE__ */ createGetter(true, true); +const arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations(); +function createArrayInstrumentations() { + const instrumentations = {}; + ["includes", "indexOf", "lastIndexOf"].forEach((key) => { + instrumentations[key] = function(...args) { + const arr = toRaw(this); + for (let i2 = 0, l2 = this.length; i2 < l2; i2++) { + track(arr, "get", i2 + ""); + } + const res = arr[key](...args); + if (res === -1 || res === false) { + return arr[key](...args.map(toRaw)); + } else { + return res; + } + }; + }); + ["push", "pop", "shift", "unshift", "splice"].forEach((key) => { + instrumentations[key] = function(...args) { + pauseTracking(); + const res = toRaw(this)[key].apply(this, args); + resetTracking(); + return res; + }; + }); + return instrumentations; +} +function createGetter(isReadonly2 = false, shallow = false) { + return function get2(target, key, receiver) { + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_isShallow") { + return shallow; + } else if (key === "__v_raw" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) { + return target; + } + const targetIsArray = isArray(target); + if (!isReadonly2 && targetIsArray && hasOwn(arrayInstrumentations, key)) { + return Reflect.get(arrayInstrumentations, key, receiver); + } + const res = Reflect.get(target, key, receiver); + if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { + return res; + } + if (!isReadonly2) { + track(target, "get", key); + } + if (shallow) { + return res; + } + if (isRef(res)) { + return targetIsArray && isIntegerKey(key) ? res : res.value; + } + if (isObject$1(res)) { + return isReadonly2 ? readonly(res) : reactive(res); + } + return res; + }; +} +const set$1$1 = /* @__PURE__ */ createSetter(); +const shallowSet = /* @__PURE__ */ createSetter(true); +function createSetter(shallow = false) { + return function set2(target, key, value, receiver) { + let oldValue = target[key]; + if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) { + return false; + } + if (!shallow && !isReadonly(value)) { + if (!isShallow(value)) { + value = toRaw(value); + oldValue = toRaw(oldValue); + } + if (!isArray(target) && isRef(oldValue) && !isRef(value)) { + oldValue.value = value; + return true; + } + } + const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key); + const result = Reflect.set(target, key, value, receiver); + if (target === toRaw(receiver)) { + if (!hadKey) { + trigger(target, "add", key, value); + } else if (hasChanged(value, oldValue)) { + trigger(target, "set", key, value, oldValue); + } + } + return result; + }; +} +function deleteProperty(target, key) { + const hadKey = hasOwn(target, key); + const oldValue = target[key]; + const result = Reflect.deleteProperty(target, key); + if (result && hadKey) { + trigger(target, "delete", key, void 0, oldValue); + } + return result; +} +function has(target, key) { + const result = Reflect.has(target, key); + if (!isSymbol(key) || !builtInSymbols.has(key)) { + track(target, "has", key); + } + return result; +} +function ownKeys(target) { + track(target, "iterate", isArray(target) ? "length" : ITERATE_KEY); + return Reflect.ownKeys(target); +} +const mutableHandlers = { + get: get$1, + set: set$1$1, + deleteProperty, + has, + ownKeys +}; +const readonlyHandlers = { + get: readonlyGet, + set(target, key) { + { + warn(`Set operation on key "${String(key)}" failed: target is readonly.`, target); + } + return true; + }, + deleteProperty(target, key) { + { + warn(`Delete operation on key "${String(key)}" failed: target is readonly.`, target); + } + return true; + } +}; +const shallowReactiveHandlers = /* @__PURE__ */ extend({}, mutableHandlers, { + get: shallowGet, + set: shallowSet +}); +const shallowReadonlyHandlers = /* @__PURE__ */ extend({}, readonlyHandlers, { + get: shallowReadonlyGet +}); +const toShallow = (value) => value; +const getProto = (v2) => Reflect.getPrototypeOf(v2); +function get$1$1(target, key, isReadonly2 = false, isShallow2 = false) { + target = target["__v_raw"]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!isReadonly2) { + if (key !== rawKey) { + track(rawTarget, "get", key); + } + track(rawTarget, "get", rawKey); + } + const { has: has2 } = getProto(rawTarget); + const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; + if (has2.call(rawTarget, key)) { + return wrap(target.get(key)); + } else if (has2.call(rawTarget, rawKey)) { + return wrap(target.get(rawKey)); + } else if (target !== rawTarget) { + target.get(key); + } +} +function has$1(key, isReadonly2 = false) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!isReadonly2) { + if (key !== rawKey) { + track(rawTarget, "has", key); + } + track(rawTarget, "has", rawKey); + } + return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); +} +function size(target, isReadonly2 = false) { + target = target["__v_raw"]; + !isReadonly2 && track(toRaw(target), "iterate", ITERATE_KEY); + return Reflect.get(target, "size", target); +} +function add(value) { + value = toRaw(value); + const target = toRaw(this); + const proto2 = getProto(target); + const hadKey = proto2.has.call(target, value); + if (!hadKey) { + target.add(value); + trigger(target, "add", value, value); + } + return this; +} +function set$1$1$1(key, value) { + value = toRaw(value); + const target = toRaw(this); + const { has: has2, get: get2 } = getProto(target); + let hadKey = has2.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has2.call(target, key); + } else { + checkIdentityKeys(target, has2, key); + } + const oldValue = get2.call(target, key); + target.set(key, value); + if (!hadKey) { + trigger(target, "add", key, value); + } else if (hasChanged(value, oldValue)) { + trigger(target, "set", key, value, oldValue); + } + return this; +} +function deleteEntry(key) { + const target = toRaw(this); + const { has: has2, get: get2 } = getProto(target); + let hadKey = has2.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has2.call(target, key); + } else { + checkIdentityKeys(target, has2, key); + } + const oldValue = get2 ? get2.call(target, key) : void 0; + const result = target.delete(key); + if (hadKey) { + trigger(target, "delete", key, void 0, oldValue); + } + return result; +} +function clear() { + const target = toRaw(this); + const hadItems = target.size !== 0; + const oldTarget = isMap(target) ? new Map(target) : new Set(target); + const result = target.clear(); + if (hadItems) { + trigger(target, "clear", void 0, void 0, oldTarget); + } + return result; +} +function createForEach(isReadonly2, isShallow2) { + return function forEach(callback, thisArg) { + const observed = this; + const target = observed["__v_raw"]; + const rawTarget = toRaw(target); + const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; + !isReadonly2 && track(rawTarget, "iterate", ITERATE_KEY); + return target.forEach((value, key) => { + return callback.call(thisArg, wrap(value), wrap(key), observed); + }); + }; +} +function createIterableMethod(method, isReadonly2, isShallow2) { + return function(...args) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const targetIsMap = isMap(rawTarget); + const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; + const isKeyOnly = method === "keys" && targetIsMap; + const innerIterator = target[method](...args); + const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; + !isReadonly2 && track(rawTarget, "iterate", isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY); + return { + next() { + const { value, done } = innerIterator.next(); + return done ? { value, done } : { + value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), + done + }; + }, + [Symbol.iterator]() { + return this; + } + }; + }; +} +function createReadonlyMethod(type) { + return function(...args) { + { + const key = args[0] ? `on key "${args[0]}" ` : ``; + console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this)); + } + return type === "delete" ? false : this; + }; +} +function createInstrumentations() { + const mutableInstrumentations2 = { + get(key) { + return get$1$1(this, key); + }, + get size() { + return size(this); + }, + has: has$1, + add, + set: set$1$1$1, + delete: deleteEntry, + clear, + forEach: createForEach(false, false) + }; + const shallowInstrumentations2 = { + get(key) { + return get$1$1(this, key, false, true); + }, + get size() { + return size(this); + }, + has: has$1, + add, + set: set$1$1$1, + delete: deleteEntry, + clear, + forEach: createForEach(false, true) + }; + const readonlyInstrumentations2 = { + get(key) { + return get$1$1(this, key, true); + }, + get size() { + return size(this, true); + }, + has(key) { + return has$1.call(this, key, true); + }, + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear"), + forEach: createForEach(true, false) + }; + const shallowReadonlyInstrumentations2 = { + get(key) { + return get$1$1(this, key, true, true); + }, + get size() { + return size(this, true); + }, + has(key) { + return has$1.call(this, key, true); + }, + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear"), + forEach: createForEach(true, true) + }; + const iteratorMethods = ["keys", "values", "entries", Symbol.iterator]; + iteratorMethods.forEach((method) => { + mutableInstrumentations2[method] = createIterableMethod(method, false, false); + readonlyInstrumentations2[method] = createIterableMethod(method, true, false); + shallowInstrumentations2[method] = createIterableMethod(method, false, true); + shallowReadonlyInstrumentations2[method] = createIterableMethod(method, true, true); + }); + return [ + mutableInstrumentations2, + readonlyInstrumentations2, + shallowInstrumentations2, + shallowReadonlyInstrumentations2 + ]; +} +const [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* @__PURE__ */ createInstrumentations(); +function createInstrumentationGetter(isReadonly2, shallow) { + const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations; + return (target, key, receiver) => { + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_raw") { + return target; + } + return Reflect.get(hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver); + }; +} +const mutableCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(false, false) +}; +const shallowCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(false, true) +}; +const readonlyCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(true, false) +}; +const shallowReadonlyCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(true, true) +}; +function checkIdentityKeys(target, has2, key) { + const rawKey = toRaw(key); + if (rawKey !== key && has2.call(target, rawKey)) { + const type = toRawType(target); + console.warn(`Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`); + } +} +const reactiveMap = /* @__PURE__ */ new WeakMap(); +const shallowReactiveMap = /* @__PURE__ */ new WeakMap(); +const readonlyMap = /* @__PURE__ */ new WeakMap(); +const shallowReadonlyMap = /* @__PURE__ */ new WeakMap(); +function targetTypeMap(rawType) { + switch (rawType) { + case "Object": + case "Array": + return 1; + case "Map": + case "Set": + case "WeakMap": + case "WeakSet": + return 2; + default: + return 0; + } +} +function getTargetType(value) { + return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value)); +} +function reactive(target) { + if (isReadonly(target)) { + return target; + } + return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap); +} +function shallowReactive(target) { + return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap); +} +function readonly(target) { + return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap); +} +function shallowReadonly(target) { + return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap); +} +function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { + if (!isObject$1(target)) { + { + console.warn(`value cannot be made reactive: ${String(target)}`); + } + return target; + } + if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) { + return target; + } + const existingProxy = proxyMap.get(target); + if (existingProxy) { + return existingProxy; + } + const targetType = getTargetType(target); + if (targetType === 0) { + return target; + } + const proxy = new Proxy(target, targetType === 2 ? collectionHandlers : baseHandlers); + proxyMap.set(target, proxy); + return proxy; +} +function isReactive(value) { + if (isReadonly(value)) { + return isReactive(value["__v_raw"]); + } + return !!(value && value["__v_isReactive"]); +} +function isReadonly(value) { + return !!(value && value["__v_isReadonly"]); +} +function isShallow(value) { + return !!(value && value["__v_isShallow"]); +} +function isProxy(value) { + return isReactive(value) || isReadonly(value); +} +function toRaw(observed) { + const raw = observed && observed["__v_raw"]; + return raw ? toRaw(raw) : observed; +} +function markRaw(value) { + def(value, "__v_skip", true); + return value; +} +const toReactive = (value) => isObject$1(value) ? reactive(value) : value; +const toReadonly = (value) => isObject$1(value) ? readonly(value) : value; +function trackRefValue(ref2) { + if (shouldTrack && activeEffect) { + ref2 = toRaw(ref2); + { + trackEffects(ref2.dep || (ref2.dep = createDep()), { + target: ref2, + type: "get", + key: "value" + }); + } + } +} +function triggerRefValue(ref2, newVal) { + ref2 = toRaw(ref2); + if (ref2.dep) { + { + triggerEffects(ref2.dep, { + target: ref2, + type: "set", + key: "value", + newValue: newVal + }); + } + } +} +function isRef(r2) { + return !!(r2 && r2.__v_isRef === true); +} +function ref(value) { + return createRef(value, false); +} +function createRef(rawValue, shallow) { + if (isRef(rawValue)) { + return rawValue; + } + return new RefImpl(rawValue, shallow); +} +class RefImpl { + constructor(value, __v_isShallow) { + this.__v_isShallow = __v_isShallow; + this.dep = void 0; + this.__v_isRef = true; + this._rawValue = __v_isShallow ? value : toRaw(value); + this._value = __v_isShallow ? value : toReactive(value); + } + get value() { + trackRefValue(this); + return this._value; + } + set value(newVal) { + newVal = this.__v_isShallow ? newVal : toRaw(newVal); + if (hasChanged(newVal, this._rawValue)) { + this._rawValue = newVal; + this._value = this.__v_isShallow ? newVal : toReactive(newVal); + triggerRefValue(this, newVal); + } + } +} +function unref(ref2) { + return isRef(ref2) ? ref2.value : ref2; +} +const shallowUnwrapHandlers = { + get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)), + set: (target, key, value, receiver) => { + const oldValue = target[key]; + if (isRef(oldValue) && !isRef(value)) { + oldValue.value = value; + return true; + } else { + return Reflect.set(target, key, value, receiver); + } + } +}; +function proxyRefs(objectWithRefs) { + return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); +} +function toRefs(object) { + if (!isProxy(object)) { + console.warn(`toRefs() expects a reactive object but received a plain one.`); + } + const ret = isArray(object) ? new Array(object.length) : {}; + for (const key in object) { + ret[key] = toRef(object, key); + } + return ret; +} +class ObjectRefImpl { + constructor(_object, _key, _defaultValue) { + this._object = _object; + this._key = _key; + this._defaultValue = _defaultValue; + this.__v_isRef = true; + } + get value() { + const val = this._object[this._key]; + return val === void 0 ? this._defaultValue : val; + } + set value(newVal) { + this._object[this._key] = newVal; + } +} +function toRef(object, key, defaultValue) { + const val = object[key]; + return isRef(val) ? val : new ObjectRefImpl(object, key, defaultValue); +} +class ComputedRefImpl { + constructor(getter, _setter, isReadonly2, isSSR) { + this._setter = _setter; + this.dep = void 0; + this.__v_isRef = true; + this._dirty = true; + this.effect = new ReactiveEffect(getter, () => { + if (!this._dirty) { + this._dirty = true; + triggerRefValue(this); + } + }); + this.effect.computed = this; + this.effect.active = this._cacheable = !isSSR; + this["__v_isReadonly"] = isReadonly2; + } + get value() { + const self2 = toRaw(this); + trackRefValue(self2); + if (self2._dirty || !self2._cacheable) { + self2._dirty = false; + self2._value = self2.effect.run(); + } + return self2._value; + } + set value(newValue) { + this._setter(newValue); + } +} +function computed(getterOrOptions, debugOptions, isSSR = false) { + let getter; + let setter; + const onlyGetter = isFunction(getterOrOptions); + if (onlyGetter) { + getter = getterOrOptions; + setter = () => { + console.warn("Write operation failed: computed value is readonly"); + }; + } else { + getter = getterOrOptions.get; + setter = getterOrOptions.set; + } + const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR); + if (debugOptions && !isSSR) { + cRef.effect.onTrack = debugOptions.onTrack; + cRef.effect.onTrigger = debugOptions.onTrigger; + } + return cRef; +} +const stack = []; +function pushWarningContext(vnode) { + stack.push(vnode); +} +function popWarningContext() { + stack.pop(); +} +function warn$1(msg, ...args) { + pauseTracking(); + const instance = stack.length ? stack[stack.length - 1].component : null; + const appWarnHandler = instance && instance.appContext.config.warnHandler; + const trace = getComponentTrace(); + if (appWarnHandler) { + callWithErrorHandling(appWarnHandler, instance, 11, [ + msg + args.join(""), + instance && instance.proxy, + trace.map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`).join("\n"), + trace + ]); + } else { + const warnArgs = [`[Vue warn]: ${msg}`, ...args]; + if (trace.length && true) { + warnArgs.push(` +`, ...formatTrace(trace)); + } + console.warn(...warnArgs); + } + resetTracking(); +} +function getComponentTrace() { + let currentVNode = stack[stack.length - 1]; + if (!currentVNode) { + return []; + } + const normalizedStack = []; + while (currentVNode) { + const last = normalizedStack[0]; + if (last && last.vnode === currentVNode) { + last.recurseCount++; + } else { + normalizedStack.push({ + vnode: currentVNode, + recurseCount: 0 + }); + } + const parentInstance = currentVNode.component && currentVNode.component.parent; + currentVNode = parentInstance && parentInstance.vnode; + } + return normalizedStack; +} +function formatTrace(trace) { + const logs = []; + trace.forEach((entry, i2) => { + logs.push(...i2 === 0 ? [] : [` +`], ...formatTraceEntry(entry)); + }); + return logs; +} +function formatTraceEntry({ vnode, recurseCount }) { + const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``; + const isRoot = vnode.component ? vnode.component.parent == null : false; + const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`; + const close = `>` + postfix; + return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close]; +} +function formatProps(props) { + const res = []; + const keys = Object.keys(props); + keys.slice(0, 3).forEach((key) => { + res.push(...formatProp(key, props[key])); + }); + if (keys.length > 3) { + res.push(` ...`); + } + return res; +} +function formatProp(key, value, raw) { + if (isString(value)) { + value = JSON.stringify(value); + return raw ? value : [`${key}=${value}`]; + } else if (typeof value === "number" || typeof value === "boolean" || value == null) { + return raw ? value : [`${key}=${value}`]; + } else if (isRef(value)) { + value = formatProp(key, toRaw(value.value), true); + return raw ? value : [`${key}=Ref<`, value, `>`]; + } else if (isFunction(value)) { + return [`${key}=fn${value.name ? `<${value.name}>` : ``}`]; + } else { + value = toRaw(value); + return raw ? value : [`${key}=`, value]; + } +} +const ErrorTypeStrings = { + ["sp"]: "serverPrefetch hook", + ["bc"]: "beforeCreate hook", + ["c"]: "created hook", + ["bm"]: "beforeMount hook", + ["m"]: "mounted hook", + ["bu"]: "beforeUpdate hook", + ["u"]: "updated", + ["bum"]: "beforeUnmount hook", + ["um"]: "unmounted hook", + ["a"]: "activated hook", + ["da"]: "deactivated hook", + ["ec"]: "errorCaptured hook", + ["rtc"]: "renderTracked hook", + ["rtg"]: "renderTriggered hook", + [0]: "setup function", + [1]: "render function", + [2]: "watcher getter", + [3]: "watcher callback", + [4]: "watcher cleanup function", + [5]: "native event handler", + [6]: "component event handler", + [7]: "vnode hook", + [8]: "directive hook", + [9]: "transition hook", + [10]: "app errorHandler", + [11]: "app warnHandler", + [12]: "ref function", + [13]: "async component loader", + [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core" +}; +function callWithErrorHandling(fn, instance, type, args) { + let res; + try { + res = args ? fn(...args) : fn(); + } catch (err) { + handleError(err, instance, type); + } + return res; +} +function callWithAsyncErrorHandling(fn, instance, type, args) { + if (isFunction(fn)) { + const res = callWithErrorHandling(fn, instance, type, args); + if (res && isPromise(res)) { + res.catch((err) => { + handleError(err, instance, type); + }); + } + return res; + } + const values = []; + for (let i2 = 0; i2 < fn.length; i2++) { + values.push(callWithAsyncErrorHandling(fn[i2], instance, type, args)); + } + return values; +} +function handleError(err, instance, type, throwInDev = true) { + const contextVNode = instance ? instance.vnode : null; + if (instance) { + let cur = instance.parent; + const exposedInstance = instance.proxy; + const errorInfo = ErrorTypeStrings[type] || type; + while (cur) { + const errorCapturedHooks = cur.ec; + if (errorCapturedHooks) { + for (let i2 = 0; i2 < errorCapturedHooks.length; i2++) { + if (errorCapturedHooks[i2](err, exposedInstance, errorInfo) === false) { + return; + } + } + } + cur = cur.parent; + } + const appErrorHandler = instance.appContext.config.errorHandler; + if (appErrorHandler) { + callWithErrorHandling(appErrorHandler, null, 10, [err, exposedInstance, errorInfo]); + return; + } + } + logError(err, type, contextVNode, throwInDev); +} +function logError(err, type, contextVNode, throwInDev = true) { + { + const info = ErrorTypeStrings[type] || type; + if (contextVNode) { + pushWarningContext(contextVNode); + } + warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`); + if (contextVNode) { + popWarningContext(); + } + if (throwInDev) { + console.error(err); + } else { + console.error(err); + } + } +} +let isFlushing = false; +let isFlushPending = false; +const queue = []; +let flushIndex = 0; +const pendingPreFlushCbs = []; +let activePreFlushCbs = null; +let preFlushIndex = 0; +const pendingPostFlushCbs = []; +let activePostFlushCbs = null; +let postFlushIndex = 0; +const resolvedPromise = /* @__PURE__ */ Promise.resolve(); +let currentFlushPromise = null; +let currentPreFlushParentJob = null; +const RECURSION_LIMIT = 100; +function nextTick(fn) { + const p2 = currentFlushPromise || resolvedPromise; + return fn ? p2.then(this ? fn.bind(this) : fn) : p2; +} +function findInsertionIndex(id) { + let start = flushIndex + 1; + let end = queue.length; + while (start < end) { + const middle = start + end >>> 1; + const middleJobId = getId(queue[middle]); + middleJobId < id ? start = middle + 1 : end = middle; + } + return start; +} +function queueJob(job) { + if ((!queue.length || !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) && job !== currentPreFlushParentJob) { + if (job.id == null) { + queue.push(job); + } else { + queue.splice(findInsertionIndex(job.id), 0, job); + } + queueFlush(); + } +} +function queueFlush() { + if (!isFlushing && !isFlushPending) { + isFlushPending = true; + currentFlushPromise = resolvedPromise.then(flushJobs); + } +} +function hasQueueJob(job) { + return queue.indexOf(job) > -1; +} +function invalidateJob(job) { + const i2 = queue.indexOf(job); + if (i2 > flushIndex) { + queue.splice(i2, 1); + } +} +function queueCb(cb, activeQueue, pendingQueue, index2) { + if (!isArray(cb)) { + if (!activeQueue || !activeQueue.includes(cb, cb.allowRecurse ? index2 + 1 : index2)) { + pendingQueue.push(cb); + } + } else { + pendingQueue.push(...cb); + } + queueFlush(); +} +function queuePreFlushCb(cb) { + queueCb(cb, activePreFlushCbs, pendingPreFlushCbs, preFlushIndex); +} +function queuePostFlushCb(cb) { + queueCb(cb, activePostFlushCbs, pendingPostFlushCbs, postFlushIndex); +} +function flushPreFlushCbs(seen, parentJob = null) { + if (pendingPreFlushCbs.length) { + currentPreFlushParentJob = parentJob; + activePreFlushCbs = [...new Set(pendingPreFlushCbs)]; + pendingPreFlushCbs.length = 0; + { + seen = seen || /* @__PURE__ */ new Map(); + } + for (preFlushIndex = 0; preFlushIndex < activePreFlushCbs.length; preFlushIndex++) { + if (checkRecursiveUpdates(seen, activePreFlushCbs[preFlushIndex])) { + continue; + } + activePreFlushCbs[preFlushIndex](); + } + activePreFlushCbs = null; + preFlushIndex = 0; + currentPreFlushParentJob = null; + flushPreFlushCbs(seen, parentJob); + } +} +function flushPostFlushCbs(seen) { + flushPreFlushCbs(); + if (pendingPostFlushCbs.length) { + const deduped = [...new Set(pendingPostFlushCbs)]; + pendingPostFlushCbs.length = 0; + if (activePostFlushCbs) { + activePostFlushCbs.push(...deduped); + return; + } + activePostFlushCbs = deduped; + { + seen = seen || /* @__PURE__ */ new Map(); + } + activePostFlushCbs.sort((a2, b2) => getId(a2) - getId(b2)); + for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) { + if (checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) { + continue; + } + activePostFlushCbs[postFlushIndex](); + } + activePostFlushCbs = null; + postFlushIndex = 0; + } +} +const getId = (job) => job.id == null ? Infinity : job.id; +function flushJobs(seen) { + isFlushPending = false; + isFlushing = true; + { + seen = seen || /* @__PURE__ */ new Map(); + } + flushPreFlushCbs(seen); + queue.sort((a2, b2) => getId(a2) - getId(b2)); + const check = (job) => checkRecursiveUpdates(seen, job); + try { + for (flushIndex = 0; flushIndex < queue.length; flushIndex++) { + const job = queue[flushIndex]; + if (job && job.active !== false) { + if (check(job)) { + continue; + } + callWithErrorHandling(job, null, 14); + } + } + } finally { + flushIndex = 0; + queue.length = 0; + flushPostFlushCbs(seen); + isFlushing = false; + currentFlushPromise = null; + if (queue.length || pendingPreFlushCbs.length || pendingPostFlushCbs.length) { + flushJobs(seen); + } + } +} +function checkRecursiveUpdates(seen, fn) { + if (!seen.has(fn)) { + seen.set(fn, 1); + } else { + const count = seen.get(fn); + if (count > RECURSION_LIMIT) { + const instance = fn.ownerInstance; + const componentName = instance && getComponentName(instance.type); + warn$1(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`); + return true; + } else { + seen.set(fn, count + 1); + } + } +} +function emit(event, ...args) { +} +function devtoolsComponentEmit(component, event, params) { + emit("component:emit", component.appContext.app, component, event, params); +} +function emit$1(instance, event, ...rawArgs) { + if (instance.isUnmounted) + return; + const props = instance.vnode.props || EMPTY_OBJ; + { + const { emitsOptions, propsOptions: [propsOptions] } = instance; + if (emitsOptions) { + if (!(event in emitsOptions) && true) { + if (!propsOptions || !(toHandlerKey(event) in propsOptions)) { + warn$1(`Component emitted event "${event}" but it is neither declared in the emits option nor as an "${toHandlerKey(event)}" prop.`); + } + } else { + const validator = emitsOptions[event]; + if (isFunction(validator)) { + const isValid = validator(...rawArgs); + if (!isValid) { + warn$1(`Invalid event arguments: event validation failed for event "${event}".`); + } + } + } + } + } + let args = rawArgs; + const isModelListener2 = event.startsWith("update:"); + const modelArg = isModelListener2 && event.slice(7); + if (modelArg && modelArg in props) { + const modifiersKey = `${modelArg === "modelValue" ? "model" : modelArg}Modifiers`; + const { number, trim } = props[modifiersKey] || EMPTY_OBJ; + if (trim) { + args = rawArgs.map((a2) => a2.trim()); + } + if (number) { + args = rawArgs.map(toNumber); + } + } + { + devtoolsComponentEmit(instance, event, args); + } + { + const lowerCaseEvent = event.toLowerCase(); + if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) { + warn$1(`Event "${lowerCaseEvent}" is emitted in component ${formatComponentName(instance, instance.type)} but the handler is registered for "${event}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${hyphenate(event)}" instead of "${event}".`); + } + } + let handlerName; + let handler = props[handlerName = toHandlerKey(event)] || props[handlerName = toHandlerKey(camelize(event))]; + if (!handler && isModelListener2) { + handler = props[handlerName = toHandlerKey(hyphenate(event))]; + } + if (handler) { + callWithAsyncErrorHandling(handler, instance, 6, args); + } + const onceHandler = props[handlerName + `Once`]; + if (onceHandler) { + if (!instance.emitted) { + instance.emitted = {}; + } else if (instance.emitted[handlerName]) { + return; + } + instance.emitted[handlerName] = true; + callWithAsyncErrorHandling(onceHandler, instance, 6, args); + } +} +function normalizeEmitsOptions(comp, appContext, asMixin = false) { + const cache = appContext.emitsCache; + const cached = cache.get(comp); + if (cached !== void 0) { + return cached; + } + const raw = comp.emits; + let normalized = {}; + let hasExtends = false; + if (!isFunction(comp)) { + const extendEmits = (raw2) => { + const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true); + if (normalizedFromExtend) { + hasExtends = true; + extend(normalized, normalizedFromExtend); + } + }; + if (!asMixin && appContext.mixins.length) { + appContext.mixins.forEach(extendEmits); + } + if (comp.extends) { + extendEmits(comp.extends); + } + if (comp.mixins) { + comp.mixins.forEach(extendEmits); + } + } + if (!raw && !hasExtends) { + cache.set(comp, null); + return null; + } + if (isArray(raw)) { + raw.forEach((key) => normalized[key] = null); + } else { + extend(normalized, raw); + } + cache.set(comp, normalized); + return normalized; +} +function isEmitListener(options, key) { + if (!options || !isOn(key)) { + return false; + } + key = key.slice(2).replace(/Once$/, ""); + return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key); +} +let currentRenderingInstance = null; +function setCurrentRenderingInstance(instance) { + const prev = currentRenderingInstance; + currentRenderingInstance = instance; + instance && instance.type.__scopeId || null; + return prev; +} +function provide(key, value) { + if (!currentInstance) { + { + warn$1(`provide() can only be used inside setup().`); + } + } else { + let provides = currentInstance.provides; + const parentProvides = currentInstance.parent && currentInstance.parent.provides; + if (parentProvides === provides) { + provides = currentInstance.provides = Object.create(parentProvides); + } + provides[key] = value; + if (currentInstance.type.mpType === "app") { + currentInstance.appContext.app.provide(key, value); + } + } +} +function inject(key, defaultValue, treatDefaultAsFactory = false) { + const instance = currentInstance || currentRenderingInstance; + if (instance) { + const provides = instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides; + if (provides && key in provides) { + return provides[key]; + } else if (arguments.length > 1) { + return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance.proxy) : defaultValue; + } else { + warn$1(`injection "${String(key)}" not found.`); + } + } else { + warn$1(`inject() can only be used inside setup() or functional components.`); + } +} +const INITIAL_WATCHER_VALUE = {}; +function watch(source, cb, options) { + if (!isFunction(cb)) { + warn$1(`\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.`); + } + return doWatch(source, cb, options); +} +function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) { + if (!cb) { + if (immediate !== void 0) { + warn$1(`watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`); + } + if (deep !== void 0) { + warn$1(`watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`); + } + } + const warnInvalidSource = (s2) => { + warn$1(`Invalid watch source: `, s2, `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`); + }; + const instance = currentInstance; + let getter; + let forceTrigger = false; + let isMultiSource = false; + if (isRef(source)) { + getter = () => source.value; + forceTrigger = isShallow(source); + } else if (isReactive(source)) { + getter = () => source; + deep = true; + } else if (isArray(source)) { + isMultiSource = true; + forceTrigger = source.some((s2) => isReactive(s2) || isShallow(s2)); + getter = () => source.map((s2) => { + if (isRef(s2)) { + return s2.value; + } else if (isReactive(s2)) { + return traverse(s2); + } else if (isFunction(s2)) { + return callWithErrorHandling(s2, instance, 2); + } else { + warnInvalidSource(s2); + } + }); + } else if (isFunction(source)) { + if (cb) { + getter = () => callWithErrorHandling(source, instance, 2); + } else { + getter = () => { + if (instance && instance.isUnmounted) { + return; + } + if (cleanup) { + cleanup(); + } + return callWithAsyncErrorHandling(source, instance, 3, [onCleanup]); + }; + } + } else { + getter = NOOP; + warnInvalidSource(source); + } + if (cb && deep) { + const baseGetter = getter; + getter = () => traverse(baseGetter()); + } + let cleanup; + let onCleanup = (fn) => { + cleanup = effect.onStop = () => { + callWithErrorHandling(fn, instance, 4); + }; + }; + let oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE; + const job = () => { + if (!effect.active) { + return; + } + if (cb) { + const newValue = effect.run(); + if (deep || forceTrigger || (isMultiSource ? newValue.some((v2, i2) => hasChanged(v2, oldValue[i2])) : hasChanged(newValue, oldValue)) || false) { + if (cleanup) { + cleanup(); + } + callWithAsyncErrorHandling(cb, instance, 3, [ + newValue, + oldValue === INITIAL_WATCHER_VALUE ? void 0 : oldValue, + onCleanup + ]); + oldValue = newValue; + } + } else { + effect.run(); + } + }; + job.allowRecurse = !!cb; + let scheduler; + if (flush === "sync") { + scheduler = job; + } else if (flush === "post") { + scheduler = () => queuePostRenderEffect(job, instance && instance.suspense); + } else { + scheduler = () => { + if (!instance || instance.isMounted) { + queuePreFlushCb(job); + } else { + job(); + } + }; + } + const effect = new ReactiveEffect(getter, scheduler); + { + effect.onTrack = onTrack; + effect.onTrigger = onTrigger; + } + if (cb) { + if (immediate) { + job(); + } else { + oldValue = effect.run(); + } + } else if (flush === "post") { + queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense); + } else { + effect.run(); + } + return () => { + effect.stop(); + if (instance && instance.scope) { + remove(instance.scope.effects, effect); + } + }; +} +function instanceWatch(source, value, options) { + const publicThis = this.proxy; + const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis); + let cb; + if (isFunction(value)) { + cb = value; + } else { + cb = value.handler; + options = value; + } + const cur = currentInstance; + setCurrentInstance(this); + const res = doWatch(getter, cb.bind(publicThis), options); + if (cur) { + setCurrentInstance(cur); + } else { + unsetCurrentInstance(); + } + return res; +} +function createPathGetter(ctx, path) { + const segments = path.split("."); + return () => { + let cur = ctx; + for (let i2 = 0; i2 < segments.length && cur; i2++) { + cur = cur[segments[i2]]; + } + return cur; + }; +} +function traverse(value, seen) { + if (!isObject$1(value) || value["__v_skip"]) { + return value; + } + seen = seen || /* @__PURE__ */ new Set(); + if (seen.has(value)) { + return value; + } + seen.add(value); + if (isRef(value)) { + traverse(value.value, seen); + } else if (isArray(value)) { + for (let i2 = 0; i2 < value.length; i2++) { + traverse(value[i2], seen); + } + } else if (isSet(value) || isMap(value)) { + value.forEach((v2) => { + traverse(v2, seen); + }); + } else if (isPlainObject$1(value)) { + for (const key in value) { + traverse(value[key], seen); + } + } + return value; +} +function defineComponent(options) { + return isFunction(options) ? { setup: options, name: options.name } : options; +} +const isKeepAlive = (vnode) => vnode.type.__isKeepAlive; +function onActivated(hook, target) { + registerKeepAliveHook(hook, "a", target); +} +function onDeactivated(hook, target) { + registerKeepAliveHook(hook, "da", target); +} +function registerKeepAliveHook(hook, type, target = currentInstance) { + const wrappedHook = hook.__wdc || (hook.__wdc = () => { + let current = target; + while (current) { + if (current.isDeactivated) { + return; + } + current = current.parent; + } + return hook(); + }); + injectHook(type, wrappedHook, target); + if (target) { + let current = target.parent; + while (current && current.parent) { + if (isKeepAlive(current.parent.vnode)) { + injectToKeepAliveRoot(wrappedHook, type, target, current); + } + current = current.parent; + } + } +} +function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) { + const injected = injectHook(type, hook, keepAliveRoot, true); + onUnmounted(() => { + remove(keepAliveRoot[type], injected); + }, target); +} +function injectHook(type, hook, target = currentInstance, prepend = false) { + if (target) { + if (isRootHook(type)) { + target = target.root; + } + const hooks = target[type] || (target[type] = []); + const wrappedHook = hook.__weh || (hook.__weh = (...args) => { + if (target.isUnmounted) { + return; + } + pauseTracking(); + setCurrentInstance(target); + const res = callWithAsyncErrorHandling(hook, target, type, args); + unsetCurrentInstance(); + resetTracking(); + return res; + }); + if (prepend) { + hooks.unshift(wrappedHook); + } else { + hooks.push(wrappedHook); + } + return wrappedHook; + } else { + const apiName = toHandlerKey((ErrorTypeStrings[type] || type.replace(/^on/, "")).replace(/ hook$/, "")); + warn$1(`${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().`); + } +} +const createHook$1 = (lifecycle) => (hook, target = currentInstance) => (!isInSSRComponentSetup || lifecycle === "sp") && injectHook(lifecycle, hook, target); +const onBeforeMount = createHook$1("bm"); +const onMounted = createHook$1("m"); +const onBeforeUpdate = createHook$1("bu"); +const onUpdated = createHook$1("u"); +const onBeforeUnmount = createHook$1("bum"); +const onUnmounted = createHook$1("um"); +const onServerPrefetch = createHook$1("sp"); +const onRenderTriggered = createHook$1("rtg"); +const onRenderTracked = createHook$1("rtc"); +function onErrorCaptured(hook, target = currentInstance) { + injectHook("ec", hook, target); +} +function validateDirectiveName(name) { + if (isBuiltInDirective(name)) { + warn$1("Do not use built-in directive ids as custom directive id: " + name); + } +} +const COMPONENTS = "components"; +function resolveComponent(name, maybeSelfReference) { + return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name; +} +function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) { + const instance = currentRenderingInstance || currentInstance; + if (instance) { + const Component2 = instance.type; + if (type === COMPONENTS) { + const selfName = getComponentName(Component2, false); + if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) { + return Component2; + } + } + const res = resolve(instance[type] || Component2[type], name) || resolve(instance.appContext[type], name); + if (!res && maybeSelfReference) { + return Component2; + } + if (warnMissing && !res) { + const extra = type === COMPONENTS ? ` +If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``; + warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`); + } + return res; + } else { + warn$1(`resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`); + } +} +function resolve(registry, name) { + return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]); +} +const getPublicInstance = (i2) => { + if (!i2) + return null; + if (isStatefulComponent(i2)) + return getExposeProxy(i2) || i2.proxy; + return getPublicInstance(i2.parent); +}; +const publicPropertiesMap = /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), { + $: (i2) => i2, + $el: (i2) => i2.__$el || (i2.__$el = {}), + $data: (i2) => i2.data, + $props: (i2) => shallowReadonly(i2.props), + $attrs: (i2) => shallowReadonly(i2.attrs), + $slots: (i2) => shallowReadonly(i2.slots), + $refs: (i2) => shallowReadonly(i2.refs), + $parent: (i2) => getPublicInstance(i2.parent), + $root: (i2) => getPublicInstance(i2.root), + $emit: (i2) => i2.emit, + $options: (i2) => resolveMergedOptions(i2), + $forceUpdate: (i2) => i2.f || (i2.f = () => queueJob(i2.update)), + $watch: (i2) => instanceWatch.bind(i2) +}); +const isReservedPrefix = (key) => key === "_" || key === "$"; +const PublicInstanceProxyHandlers = { + get({ _: instance }, key) { + const { ctx, setupState, data, props, accessCache, type, appContext } = instance; + if (key === "__isVue") { + return true; + } + if (setupState !== EMPTY_OBJ && setupState.__isScriptSetup && hasOwn(setupState, key)) { + return setupState[key]; + } + let normalizedProps; + if (key[0] !== "$") { + const n2 = accessCache[key]; + if (n2 !== void 0) { + switch (n2) { + case 1: + return setupState[key]; + case 2: + return data[key]; + case 4: + return ctx[key]; + case 3: + return props[key]; + } + } else if (setupState !== EMPTY_OBJ && hasOwn(setupState, key)) { + accessCache[key] = 1; + return setupState[key]; + } else if (data !== EMPTY_OBJ && hasOwn(data, key)) { + accessCache[key] = 2; + return data[key]; + } else if ((normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)) { + accessCache[key] = 3; + return props[key]; + } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { + accessCache[key] = 4; + return ctx[key]; + } else if (shouldCacheAccess) { + accessCache[key] = 0; + } + } + const publicGetter = publicPropertiesMap[key]; + let cssModule, globalProperties; + if (publicGetter) { + if (key === "$attrs") { + track(instance, "get", key); + } + return publicGetter(instance); + } else if ((cssModule = type.__cssModules) && (cssModule = cssModule[key])) { + return cssModule; + } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { + accessCache[key] = 4; + return ctx[key]; + } else if (globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)) { + { + return globalProperties[key]; + } + } else if (currentRenderingInstance && (!isString(key) || key.indexOf("__v") !== 0)) { + if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) { + warn$1(`Property ${JSON.stringify(key)} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`); + } else if (instance === currentRenderingInstance) { + warn$1(`Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`); + } + } + }, + set({ _: instance }, key, value) { + const { data, setupState, ctx } = instance; + if (setupState !== EMPTY_OBJ && hasOwn(setupState, key)) { + setupState[key] = value; + return true; + } else if (data !== EMPTY_OBJ && hasOwn(data, key)) { + data[key] = value; + return true; + } else if (hasOwn(instance.props, key)) { + warn$1(`Attempting to mutate prop "${key}". Props are readonly.`, instance); + return false; + } + if (key[0] === "$" && key.slice(1) in instance) { + warn$1(`Attempting to mutate public property "${key}". Properties starting with $ are reserved and readonly.`, instance); + return false; + } else { + if (key in instance.appContext.config.globalProperties) { + Object.defineProperty(ctx, key, { + enumerable: true, + configurable: true, + value + }); + } else { + ctx[key] = value; + } + } + return true; + }, + has({ _: { data, setupState, accessCache, ctx, appContext, propsOptions } }, key) { + let normalizedProps; + return !!accessCache[key] || data !== EMPTY_OBJ && hasOwn(data, key) || setupState !== EMPTY_OBJ && hasOwn(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key) || hasOwn(ctx, key) || hasOwn(publicPropertiesMap, key) || hasOwn(appContext.config.globalProperties, key); + }, + defineProperty(target, key, descriptor) { + if (descriptor.get != null) { + target._.accessCache[key] = 0; + } else if (hasOwn(descriptor, "value")) { + this.set(target, key, descriptor.value, null); + } + return Reflect.defineProperty(target, key, descriptor); + } +}; +{ + PublicInstanceProxyHandlers.ownKeys = (target) => { + warn$1(`Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.`); + return Reflect.ownKeys(target); + }; +} +function createDevRenderContext(instance) { + const target = {}; + Object.defineProperty(target, `_`, { + configurable: true, + enumerable: false, + get: () => instance + }); + Object.keys(publicPropertiesMap).forEach((key) => { + Object.defineProperty(target, key, { + configurable: true, + enumerable: false, + get: () => publicPropertiesMap[key](instance), + set: NOOP + }); + }); + return target; +} +function exposePropsOnRenderContext(instance) { + const { ctx, propsOptions: [propsOptions] } = instance; + if (propsOptions) { + Object.keys(propsOptions).forEach((key) => { + Object.defineProperty(ctx, key, { + enumerable: true, + configurable: true, + get: () => instance.props[key], + set: NOOP + }); + }); + } +} +function exposeSetupStateOnRenderContext(instance) { + const { ctx, setupState } = instance; + Object.keys(toRaw(setupState)).forEach((key) => { + if (!setupState.__isScriptSetup) { + if (isReservedPrefix(key[0])) { + warn$1(`setup() return property ${JSON.stringify(key)} should not start with "$" or "_" which are reserved prefixes for Vue internals.`); + return; + } + Object.defineProperty(ctx, key, { + enumerable: true, + configurable: true, + get: () => setupState[key], + set: NOOP + }); + } + }); +} +function createDuplicateChecker() { + const cache = /* @__PURE__ */ Object.create(null); + return (type, key) => { + if (cache[key]) { + warn$1(`${type} property "${key}" is already defined in ${cache[key]}.`); + } else { + cache[key] = type; + } + }; +} +let shouldCacheAccess = true; +function applyOptions$1(instance) { + const options = resolveMergedOptions(instance); + const publicThis = instance.proxy; + const ctx = instance.ctx; + shouldCacheAccess = false; + if (options.beforeCreate) { + callHook$1(options.beforeCreate, instance, "bc"); + } + const { + data: dataOptions, + computed: computedOptions, + methods, + watch: watchOptions, + provide: provideOptions, + inject: injectOptions, + created, + beforeMount, + mounted, + beforeUpdate, + updated, + activated, + deactivated, + beforeDestroy, + beforeUnmount, + destroyed, + unmounted, + render, + renderTracked, + renderTriggered, + errorCaptured, + serverPrefetch, + expose, + inheritAttrs, + components, + directives, + filters + } = options; + const checkDuplicateProperties = createDuplicateChecker(); + { + const [propsOptions] = instance.propsOptions; + if (propsOptions) { + for (const key in propsOptions) { + checkDuplicateProperties("Props", key); + } + } + } + if (injectOptions) { + resolveInjections(injectOptions, ctx, checkDuplicateProperties, instance.appContext.config.unwrapInjectedRef); + } + if (methods) { + for (const key in methods) { + const methodHandler = methods[key]; + if (isFunction(methodHandler)) { + { + Object.defineProperty(ctx, key, { + value: methodHandler.bind(publicThis), + configurable: true, + enumerable: true, + writable: true + }); + } + { + checkDuplicateProperties("Methods", key); + } + } else { + warn$1(`Method "${key}" has type "${typeof methodHandler}" in the component definition. Did you reference the function correctly?`); + } + } + } + if (dataOptions) { + if (!isFunction(dataOptions)) { + warn$1(`The data option must be a function. Plain object usage is no longer supported.`); + } + const data = dataOptions.call(publicThis, publicThis); + if (isPromise(data)) { + warn$1(`data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + .`); + } + if (!isObject$1(data)) { + warn$1(`data() should return an object.`); + } else { + instance.data = reactive(data); + { + for (const key in data) { + checkDuplicateProperties("Data", key); + if (!isReservedPrefix(key[0])) { + Object.defineProperty(ctx, key, { + configurable: true, + enumerable: true, + get: () => data[key], + set: NOOP + }); + } + } + } + } + } + shouldCacheAccess = true; + if (computedOptions) { + for (const key in computedOptions) { + const opt = computedOptions[key]; + const get2 = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP; + if (get2 === NOOP) { + warn$1(`Computed property "${key}" has no getter.`); + } + const set2 = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : () => { + warn$1(`Write operation failed: computed property "${key}" is readonly.`); + }; + const c2 = computed$1({ + get: get2, + set: set2 + }); + Object.defineProperty(ctx, key, { + enumerable: true, + configurable: true, + get: () => c2.value, + set: (v2) => c2.value = v2 + }); + { + checkDuplicateProperties("Computed", key); + } + } + } + if (watchOptions) { + for (const key in watchOptions) { + createWatcher(watchOptions[key], ctx, publicThis, key); + } + } + { + if (provideOptions) { + const provides = isFunction(provideOptions) ? provideOptions.call(publicThis) : provideOptions; + Reflect.ownKeys(provides).forEach((key) => { + provide(key, provides[key]); + }); + } + } + { + if (created) { + callHook$1(created, instance, "c"); + } + } + function registerLifecycleHook(register, hook) { + if (isArray(hook)) { + hook.forEach((_hook) => register(_hook.bind(publicThis))); + } else if (hook) { + register(hook.bind(publicThis)); + } + } + registerLifecycleHook(onBeforeMount, beforeMount); + registerLifecycleHook(onMounted, mounted); + registerLifecycleHook(onBeforeUpdate, beforeUpdate); + registerLifecycleHook(onUpdated, updated); + registerLifecycleHook(onActivated, activated); + registerLifecycleHook(onDeactivated, deactivated); + registerLifecycleHook(onErrorCaptured, errorCaptured); + registerLifecycleHook(onRenderTracked, renderTracked); + registerLifecycleHook(onRenderTriggered, renderTriggered); + registerLifecycleHook(onBeforeUnmount, beforeUnmount); + registerLifecycleHook(onUnmounted, unmounted); + registerLifecycleHook(onServerPrefetch, serverPrefetch); + if (isArray(expose)) { + if (expose.length) { + const exposed = instance.exposed || (instance.exposed = {}); + expose.forEach((key) => { + Object.defineProperty(exposed, key, { + get: () => publicThis[key], + set: (val) => publicThis[key] = val + }); + }); + } else if (!instance.exposed) { + instance.exposed = {}; + } + } + if (render && instance.render === NOOP) { + instance.render = render; + } + if (inheritAttrs != null) { + instance.inheritAttrs = inheritAttrs; + } + if (components) + instance.components = components; + if (directives) + instance.directives = directives; + if (instance.ctx.$onApplyOptions) { + instance.ctx.$onApplyOptions(options, instance, publicThis); + } +} +function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP, unwrapRef = false) { + if (isArray(injectOptions)) { + injectOptions = normalizeInject(injectOptions); + } + for (const key in injectOptions) { + const opt = injectOptions[key]; + let injected; + if (isObject$1(opt)) { + if ("default" in opt) { + injected = inject(opt.from || key, opt.default, true); + } else { + injected = inject(opt.from || key); + } + } else { + injected = inject(opt); + } + if (isRef(injected)) { + if (unwrapRef) { + Object.defineProperty(ctx, key, { + enumerable: true, + configurable: true, + get: () => injected.value, + set: (v2) => injected.value = v2 + }); + } else { + { + warn$1(`injected property "${key}" is a ref and will be auto-unwrapped and no longer needs \`.value\` in the next minor release. To opt-in to the new behavior now, set \`app.config.unwrapInjectedRef = true\` (this config is temporary and will not be needed in the future.)`); + } + ctx[key] = injected; + } + } else { + ctx[key] = injected; + } + { + checkDuplicateProperties("Inject", key); + } + } +} +function callHook$1(hook, instance, type) { + callWithAsyncErrorHandling(isArray(hook) ? hook.map((h2) => h2.bind(instance.proxy)) : hook.bind(instance.proxy), instance, type); +} +function createWatcher(raw, ctx, publicThis, key) { + const getter = key.includes(".") ? createPathGetter(publicThis, key) : () => publicThis[key]; + if (isString(raw)) { + const handler = ctx[raw]; + if (isFunction(handler)) { + watch(getter, handler); + } else { + warn$1(`Invalid watch handler specified by key "${raw}"`, handler); + } + } else if (isFunction(raw)) { + watch(getter, raw.bind(publicThis)); + } else if (isObject$1(raw)) { + if (isArray(raw)) { + raw.forEach((r2) => createWatcher(r2, ctx, publicThis, key)); + } else { + const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler]; + if (isFunction(handler)) { + watch(getter, handler, raw); + } else { + warn$1(`Invalid watch handler specified by key "${raw.handler}"`, handler); + } + } + } else { + warn$1(`Invalid watch option: "${key}"`, raw); + } +} +function resolveMergedOptions(instance) { + const base = instance.type; + const { mixins, extends: extendsOptions } = base; + const { mixins: globalMixins, optionsCache: cache, config: { optionMergeStrategies } } = instance.appContext; + const cached = cache.get(base); + let resolved; + if (cached) { + resolved = cached; + } else if (!globalMixins.length && !mixins && !extendsOptions) { + { + resolved = base; + } + } else { + resolved = {}; + if (globalMixins.length) { + globalMixins.forEach((m2) => mergeOptions(resolved, m2, optionMergeStrategies, true)); + } + mergeOptions(resolved, base, optionMergeStrategies); + } + cache.set(base, resolved); + return resolved; +} +function mergeOptions(to, from, strats, asMixin = false) { + const { mixins, extends: extendsOptions } = from; + if (extendsOptions) { + mergeOptions(to, extendsOptions, strats, true); + } + if (mixins) { + mixins.forEach((m2) => mergeOptions(to, m2, strats, true)); + } + for (const key in from) { + if (asMixin && key === "expose") { + warn$1(`"expose" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.`); + } else { + const strat = internalOptionMergeStrats[key] || strats && strats[key]; + to[key] = strat ? strat(to[key], from[key]) : from[key]; + } + } + return to; +} +const internalOptionMergeStrats = { + data: mergeDataFn, + props: mergeObjectOptions, + emits: mergeObjectOptions, + methods: mergeObjectOptions, + computed: mergeObjectOptions, + beforeCreate: mergeAsArray$1, + created: mergeAsArray$1, + beforeMount: mergeAsArray$1, + mounted: mergeAsArray$1, + beforeUpdate: mergeAsArray$1, + updated: mergeAsArray$1, + beforeDestroy: mergeAsArray$1, + beforeUnmount: mergeAsArray$1, + destroyed: mergeAsArray$1, + unmounted: mergeAsArray$1, + activated: mergeAsArray$1, + deactivated: mergeAsArray$1, + errorCaptured: mergeAsArray$1, + serverPrefetch: mergeAsArray$1, + components: mergeObjectOptions, + directives: mergeObjectOptions, + watch: mergeWatchOptions, + provide: mergeDataFn, + inject: mergeInject +}; +function mergeDataFn(to, from) { + if (!from) { + return to; + } + if (!to) { + return from; + } + return function mergedDataFn() { + return extend(isFunction(to) ? to.call(this, this) : to, isFunction(from) ? from.call(this, this) : from); + }; +} +function mergeInject(to, from) { + return mergeObjectOptions(normalizeInject(to), normalizeInject(from)); +} +function normalizeInject(raw) { + if (isArray(raw)) { + const res = {}; + for (let i2 = 0; i2 < raw.length; i2++) { + res[raw[i2]] = raw[i2]; + } + return res; + } + return raw; +} +function mergeAsArray$1(to, from) { + return to ? [...new Set([].concat(to, from))] : from; +} +function mergeObjectOptions(to, from) { + return to ? extend(extend(/* @__PURE__ */ Object.create(null), to), from) : from; +} +function mergeWatchOptions(to, from) { + if (!to) + return from; + if (!from) + return to; + const merged = extend(/* @__PURE__ */ Object.create(null), to); + for (const key in from) { + merged[key] = mergeAsArray$1(to[key], from[key]); + } + return merged; +} +function initProps$1(instance, rawProps, isStateful, isSSR = false) { + const props = {}; + const attrs = {}; + instance.propsDefaults = /* @__PURE__ */ Object.create(null); + setFullProps(instance, rawProps, props, attrs); + for (const key in instance.propsOptions[0]) { + if (!(key in props)) { + props[key] = void 0; + } + } + { + validateProps(rawProps || {}, props, instance); + } + if (isStateful) { + instance.props = isSSR ? props : shallowReactive(props); + } else { + if (!instance.type.props) { + instance.props = attrs; + } else { + instance.props = props; + } + } + instance.attrs = attrs; +} +function updateProps(instance, rawProps, rawPrevProps, optimized) { + const { props, attrs, vnode: { patchFlag } } = instance; + const rawCurrentProps = toRaw(props); + const [options] = instance.propsOptions; + let hasAttrsChanged = false; + if (!(instance.type.__hmrId || instance.parent && instance.parent.type.__hmrId) && (optimized || patchFlag > 0) && !(patchFlag & 16)) { + if (patchFlag & 8) { + const propsToUpdate = instance.vnode.dynamicProps; + for (let i2 = 0; i2 < propsToUpdate.length; i2++) { + let key = propsToUpdate[i2]; + if (isEmitListener(instance.emitsOptions, key)) { + continue; + } + const value = rawProps[key]; + if (options) { + if (hasOwn(attrs, key)) { + if (value !== attrs[key]) { + attrs[key] = value; + hasAttrsChanged = true; + } + } else { + const camelizedKey = camelize(key); + props[camelizedKey] = resolvePropValue(options, rawCurrentProps, camelizedKey, value, instance, false); + } + } else { + if (value !== attrs[key]) { + attrs[key] = value; + hasAttrsChanged = true; + } + } + } + } + } else { + if (setFullProps(instance, rawProps, props, attrs)) { + hasAttrsChanged = true; + } + let kebabKey; + for (const key in rawCurrentProps) { + if (!rawProps || !hasOwn(rawProps, key) && ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) { + if (options) { + if (rawPrevProps && (rawPrevProps[key] !== void 0 || rawPrevProps[kebabKey] !== void 0)) { + props[key] = resolvePropValue(options, rawCurrentProps, key, void 0, instance, true); + } + } else { + delete props[key]; + } + } + } + if (attrs !== rawCurrentProps) { + for (const key in attrs) { + if (!rawProps || !hasOwn(rawProps, key) && true) { + delete attrs[key]; + hasAttrsChanged = true; + } + } + } + } + if (hasAttrsChanged) { + trigger(instance, "set", "$attrs"); + } + { + validateProps(rawProps || {}, props, instance); + } +} +function setFullProps(instance, rawProps, props, attrs) { + const [options, needCastKeys] = instance.propsOptions; + let hasAttrsChanged = false; + let rawCastValues; + if (rawProps) { + for (let key in rawProps) { + if (isReservedProp(key)) { + continue; + } + const value = rawProps[key]; + let camelKey; + if (options && hasOwn(options, camelKey = camelize(key))) { + if (!needCastKeys || !needCastKeys.includes(camelKey)) { + props[camelKey] = value; + } else { + (rawCastValues || (rawCastValues = {}))[camelKey] = value; + } + } else if (!isEmitListener(instance.emitsOptions, key)) { + if (!(key in attrs) || value !== attrs[key]) { + attrs[key] = value; + hasAttrsChanged = true; + } + } + } + } + if (needCastKeys) { + const rawCurrentProps = toRaw(props); + const castValues = rawCastValues || EMPTY_OBJ; + for (let i2 = 0; i2 < needCastKeys.length; i2++) { + const key = needCastKeys[i2]; + props[key] = resolvePropValue(options, rawCurrentProps, key, castValues[key], instance, !hasOwn(castValues, key)); + } + } + return hasAttrsChanged; +} +function resolvePropValue(options, props, key, value, instance, isAbsent) { + const opt = options[key]; + if (opt != null) { + const hasDefault = hasOwn(opt, "default"); + if (hasDefault && value === void 0) { + const defaultValue = opt.default; + if (opt.type !== Function && isFunction(defaultValue)) { + const { propsDefaults } = instance; + if (key in propsDefaults) { + value = propsDefaults[key]; + } else { + setCurrentInstance(instance); + value = propsDefaults[key] = defaultValue.call(null, props); + unsetCurrentInstance(); + } + } else { + value = defaultValue; + } + } + if (opt[0]) { + if (isAbsent && !hasDefault) { + value = false; + } else if (opt[1] && (value === "" || value === hyphenate(key))) { + value = true; + } + } + } + return value; +} +function normalizePropsOptions(comp, appContext, asMixin = false) { + const cache = appContext.propsCache; + const cached = cache.get(comp); + if (cached) { + return cached; + } + const raw = comp.props; + const normalized = {}; + const needCastKeys = []; + let hasExtends = false; + if (!isFunction(comp)) { + const extendProps = (raw2) => { + hasExtends = true; + const [props, keys] = normalizePropsOptions(raw2, appContext, true); + extend(normalized, props); + if (keys) + needCastKeys.push(...keys); + }; + if (!asMixin && appContext.mixins.length) { + appContext.mixins.forEach(extendProps); + } + if (comp.extends) { + extendProps(comp.extends); + } + if (comp.mixins) { + comp.mixins.forEach(extendProps); + } + } + if (!raw && !hasExtends) { + cache.set(comp, EMPTY_ARR); + return EMPTY_ARR; + } + if (isArray(raw)) { + for (let i2 = 0; i2 < raw.length; i2++) { + if (!isString(raw[i2])) { + warn$1(`props must be strings when using array syntax.`, raw[i2]); + } + const normalizedKey = camelize(raw[i2]); + if (validatePropName(normalizedKey)) { + normalized[normalizedKey] = EMPTY_OBJ; + } + } + } else if (raw) { + if (!isObject$1(raw)) { + warn$1(`invalid props options`, raw); + } + for (const key in raw) { + const normalizedKey = camelize(key); + if (validatePropName(normalizedKey)) { + const opt = raw[key]; + const prop = normalized[normalizedKey] = isArray(opt) || isFunction(opt) ? { type: opt } : opt; + if (prop) { + const booleanIndex = getTypeIndex(Boolean, prop.type); + const stringIndex = getTypeIndex(String, prop.type); + prop[0] = booleanIndex > -1; + prop[1] = stringIndex < 0 || booleanIndex < stringIndex; + if (booleanIndex > -1 || hasOwn(prop, "default")) { + needCastKeys.push(normalizedKey); + } + } + } + } + } + const res = [normalized, needCastKeys]; + cache.set(comp, res); + return res; +} +function validatePropName(key) { + if (key[0] !== "$") { + return true; + } else { + warn$1(`Invalid prop name: "${key}" is a reserved property.`); + } + return false; +} +function getType(ctor) { + const match = ctor && ctor.toString().match(/^\s*function (\w+)/); + return match ? match[1] : ctor === null ? "null" : ""; +} +function isSameType(a2, b2) { + return getType(a2) === getType(b2); +} +function getTypeIndex(type, expectedTypes) { + if (isArray(expectedTypes)) { + return expectedTypes.findIndex((t2) => isSameType(t2, type)); + } else if (isFunction(expectedTypes)) { + return isSameType(expectedTypes, type) ? 0 : -1; + } + return -1; +} +function validateProps(rawProps, props, instance) { + const resolvedValues = toRaw(props); + const options = instance.propsOptions[0]; + for (const key in options) { + let opt = options[key]; + if (opt == null) + continue; + validateProp(key, resolvedValues[key], opt, !hasOwn(rawProps, key) && !hasOwn(rawProps, hyphenate(key))); + } +} +function validateProp(name, value, prop, isAbsent) { + const { type, required, validator } = prop; + if (required && isAbsent) { + warn$1('Missing required prop: "' + name + '"'); + return; + } + if (value == null && !prop.required) { + return; + } + if (type != null && type !== true) { + let isValid = false; + const types = isArray(type) ? type : [type]; + const expectedTypes = []; + for (let i2 = 0; i2 < types.length && !isValid; i2++) { + const { valid, expectedType } = assertType(value, types[i2]); + expectedTypes.push(expectedType || ""); + isValid = valid; + } + if (!isValid) { + warn$1(getInvalidTypeMessage(name, value, expectedTypes)); + return; + } + } + if (validator && !validator(value)) { + warn$1('Invalid prop: custom validator check failed for prop "' + name + '".'); + } +} +const isSimpleType = /* @__PURE__ */ makeMap("String,Number,Boolean,Function,Symbol,BigInt"); +function assertType(value, type) { + let valid; + const expectedType = getType(type); + if (isSimpleType(expectedType)) { + const t2 = typeof value; + valid = t2 === expectedType.toLowerCase(); + if (!valid && t2 === "object") { + valid = value instanceof type; + } + } else if (expectedType === "Object") { + valid = isObject$1(value); + } else if (expectedType === "Array") { + valid = isArray(value); + } else if (expectedType === "null") { + valid = value === null; + } else { + valid = value instanceof type; + } + return { + valid, + expectedType + }; +} +function getInvalidTypeMessage(name, value, expectedTypes) { + let message = `Invalid prop: type check failed for prop "${name}". Expected ${expectedTypes.map(capitalize).join(" | ")}`; + const expectedType = expectedTypes[0]; + const receivedType = toRawType(value); + const expectedValue = styleValue(value, expectedType); + const receivedValue = styleValue(value, receivedType); + if (expectedTypes.length === 1 && isExplicable(expectedType) && !isBoolean(expectedType, receivedType)) { + message += ` with value ${expectedValue}`; + } + message += `, got ${receivedType} `; + if (isExplicable(receivedType)) { + message += `with value ${receivedValue}.`; + } + return message; +} +function styleValue(value, type) { + if (type === "String") { + return `"${value}"`; + } else if (type === "Number") { + return `${Number(value)}`; + } else { + return `${value}`; + } +} +function isExplicable(type) { + const explicitTypes = ["string", "number", "boolean"]; + return explicitTypes.some((elem) => type.toLowerCase() === elem); +} +function isBoolean(...args) { + return args.some((elem) => elem.toLowerCase() === "boolean"); +} +function createAppContext() { + return { + app: null, + config: { + isNativeTag: NO, + performance: false, + globalProperties: {}, + optionMergeStrategies: {}, + errorHandler: void 0, + warnHandler: void 0, + compilerOptions: {} + }, + mixins: [], + components: {}, + directives: {}, + provides: /* @__PURE__ */ Object.create(null), + optionsCache: /* @__PURE__ */ new WeakMap(), + propsCache: /* @__PURE__ */ new WeakMap(), + emitsCache: /* @__PURE__ */ new WeakMap() + }; +} +let uid = 0; +function createAppAPI(render, hydrate) { + return function createApp2(rootComponent, rootProps = null) { + if (!isFunction(rootComponent)) { + rootComponent = Object.assign({}, rootComponent); + } + if (rootProps != null && !isObject$1(rootProps)) { + warn$1(`root props passed to app.mount() must be an object.`); + rootProps = null; + } + const context = createAppContext(); + const installedPlugins = /* @__PURE__ */ new Set(); + const app = context.app = { + _uid: uid++, + _component: rootComponent, + _props: rootProps, + _container: null, + _context: context, + _instance: null, + version, + get config() { + return context.config; + }, + set config(v2) { + { + warn$1(`app.config cannot be replaced. Modify individual options instead.`); + } + }, + use(plugin2, ...options) { + if (installedPlugins.has(plugin2)) { + warn$1(`Plugin has already been applied to target app.`); + } else if (plugin2 && isFunction(plugin2.install)) { + installedPlugins.add(plugin2); + plugin2.install(app, ...options); + } else if (isFunction(plugin2)) { + installedPlugins.add(plugin2); + plugin2(app, ...options); + } else { + warn$1(`A plugin must either be a function or an object with an "install" function.`); + } + return app; + }, + mixin(mixin) { + { + if (!context.mixins.includes(mixin)) { + context.mixins.push(mixin); + } else { + warn$1("Mixin has already been applied to target app" + (mixin.name ? `: ${mixin.name}` : "")); + } + } + return app; + }, + component(name, component) { + { + validateComponentName(name, context.config); + } + if (!component) { + return context.components[name]; + } + if (context.components[name]) { + warn$1(`Component "${name}" has already been registered in target app.`); + } + context.components[name] = component; + return app; + }, + directive(name, directive) { + { + validateDirectiveName(name); + } + if (!directive) { + return context.directives[name]; + } + if (context.directives[name]) { + warn$1(`Directive "${name}" has already been registered in target app.`); + } + context.directives[name] = directive; + return app; + }, + mount() { + }, + unmount() { + }, + provide(key, value) { + if (key in context.provides) { + warn$1(`App already provides property with key "${String(key)}". It will be overwritten with the new value.`); + } + context.provides[key] = value; + return app; + } + }; + return app; + }; +} +const queuePostRenderEffect = queuePostFlushCb; +function isVNode(value) { + return value ? value.__v_isVNode === true : false; +} +const InternalObjectKey = `__vInternal`; +function guardReactiveProps(props) { + if (!props) + return null; + return isProxy(props) || InternalObjectKey in props ? extend({}, props) : props; +} +const emptyAppContext = createAppContext(); +let uid$1 = 0; +function createComponentInstance(vnode, parent, suspense) { + const type = vnode.type; + const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext; + const instance = { + uid: uid$1++, + vnode, + type, + parent, + appContext, + root: null, + next: null, + subTree: null, + effect: null, + update: null, + scope: new EffectScope(true), + render: null, + proxy: null, + exposed: null, + exposeProxy: null, + withProxy: null, + provides: parent ? parent.provides : Object.create(appContext.provides), + accessCache: null, + renderCache: [], + components: null, + directives: null, + propsOptions: normalizePropsOptions(type, appContext), + emitsOptions: normalizeEmitsOptions(type, appContext), + emit: null, + emitted: null, + propsDefaults: EMPTY_OBJ, + inheritAttrs: type.inheritAttrs, + ctx: EMPTY_OBJ, + data: EMPTY_OBJ, + props: EMPTY_OBJ, + attrs: EMPTY_OBJ, + slots: EMPTY_OBJ, + refs: EMPTY_OBJ, + setupState: EMPTY_OBJ, + setupContext: null, + suspense, + suspenseId: suspense ? suspense.pendingId : 0, + asyncDep: null, + asyncResolved: false, + isMounted: false, + isUnmounted: false, + isDeactivated: false, + bc: null, + c: null, + bm: null, + m: null, + bu: null, + u: null, + um: null, + bum: null, + da: null, + a: null, + rtg: null, + rtc: null, + ec: null, + sp: null + }; + { + instance.ctx = createDevRenderContext(instance); + } + instance.root = parent ? parent.root : instance; + instance.emit = emit$1.bind(null, instance); + if (vnode.ce) { + vnode.ce(instance); + } + return instance; +} +let currentInstance = null; +const getCurrentInstance = () => currentInstance || currentRenderingInstance; +const setCurrentInstance = (instance) => { + currentInstance = instance; + instance.scope.on(); +}; +const unsetCurrentInstance = () => { + currentInstance && currentInstance.scope.off(); + currentInstance = null; +}; +const isBuiltInTag = /* @__PURE__ */ makeMap("slot,component"); +function validateComponentName(name, config) { + const appIsNativeTag = config.isNativeTag || NO; + if (isBuiltInTag(name) || appIsNativeTag(name)) { + warn$1("Do not use built-in or reserved HTML elements as component id: " + name); + } +} +function isStatefulComponent(instance) { + return instance.vnode.shapeFlag & 4; +} +let isInSSRComponentSetup = false; +function setupComponent(instance, isSSR = false) { + isInSSRComponentSetup = isSSR; + const { props } = instance.vnode; + const isStateful = isStatefulComponent(instance); + initProps$1(instance, props, isStateful, isSSR); + const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0; + isInSSRComponentSetup = false; + return setupResult; +} +function setupStatefulComponent(instance, isSSR) { + const Component2 = instance.type; + { + if (Component2.name) { + validateComponentName(Component2.name, instance.appContext.config); + } + if (Component2.components) { + const names = Object.keys(Component2.components); + for (let i2 = 0; i2 < names.length; i2++) { + validateComponentName(names[i2], instance.appContext.config); + } + } + if (Component2.directives) { + const names = Object.keys(Component2.directives); + for (let i2 = 0; i2 < names.length; i2++) { + validateDirectiveName(names[i2]); + } + } + if (Component2.compilerOptions && isRuntimeOnly()) { + warn$1(`"compilerOptions" is only supported when using a build of Vue that includes the runtime compiler. Since you are using a runtime-only build, the options should be passed via your build tool config instead.`); + } + } + instance.accessCache = /* @__PURE__ */ Object.create(null); + instance.proxy = markRaw(new Proxy(instance.ctx, PublicInstanceProxyHandlers)); + { + exposePropsOnRenderContext(instance); + } + const { setup } = Component2; + if (setup) { + const setupContext = instance.setupContext = setup.length > 1 ? createSetupContext(instance) : null; + setCurrentInstance(instance); + pauseTracking(); + const setupResult = callWithErrorHandling(setup, instance, 0, [shallowReadonly(instance.props), setupContext]); + resetTracking(); + unsetCurrentInstance(); + if (isPromise(setupResult)) { + setupResult.then(unsetCurrentInstance, unsetCurrentInstance); + { + warn$1(`setup() returned a Promise, but the version of Vue you are using does not support it yet.`); + } + } else { + handleSetupResult(instance, setupResult, isSSR); + } + } else { + finishComponentSetup(instance, isSSR); + } +} +function handleSetupResult(instance, setupResult, isSSR) { + if (isFunction(setupResult)) { + { + instance.render = setupResult; + } + } else if (isObject$1(setupResult)) { + if (isVNode(setupResult)) { + warn$1(`setup() should not return VNodes directly - return a render function instead.`); + } + { + instance.devtoolsRawSetupState = setupResult; + } + instance.setupState = proxyRefs(setupResult); + { + exposeSetupStateOnRenderContext(instance); + } + } else if (setupResult !== void 0) { + warn$1(`setup() should return an object. Received: ${setupResult === null ? "null" : typeof setupResult}`); + } + finishComponentSetup(instance, isSSR); +} +let compile; +const isRuntimeOnly = () => !compile; +function finishComponentSetup(instance, isSSR, skipOptions) { + const Component2 = instance.type; + if (!instance.render) { + instance.render = Component2.render || NOOP; + } + { + setCurrentInstance(instance); + pauseTracking(); + applyOptions$1(instance); + resetTracking(); + unsetCurrentInstance(); + } + if (!Component2.render && instance.render === NOOP && !isSSR) { + if (Component2.template) { + warn$1(`Component provided template option but runtime compilation is not supported in this build of Vue. Configure your bundler to alias "vue" to "vue/dist/vue.esm-bundler.js".`); + } else { + warn$1(`Component is missing template or render function.`); + } + } +} +function createAttrsProxy(instance) { + return new Proxy( + instance.attrs, + { + get(target, key) { + track(instance, "get", "$attrs"); + return target[key]; + }, + set() { + warn$1(`setupContext.attrs is readonly.`); + return false; + }, + deleteProperty() { + warn$1(`setupContext.attrs is readonly.`); + return false; + } + } + ); +} +function createSetupContext(instance) { + const expose = (exposed) => { + if (instance.exposed) { + warn$1(`expose() should be called only once per setup().`); + } + instance.exposed = exposed || {}; + }; + let attrs; + { + return Object.freeze({ + get attrs() { + return attrs || (attrs = createAttrsProxy(instance)); + }, + get slots() { + return shallowReadonly(instance.slots); + }, + get emit() { + return (event, ...args) => instance.emit(event, ...args); + }, + expose + }); + } +} +function getExposeProxy(instance) { + if (instance.exposed) { + return instance.exposeProxy || (instance.exposeProxy = new Proxy(proxyRefs(markRaw(instance.exposed)), { + get(target, key) { + if (key in target) { + return target[key]; + } + return instance.proxy[key]; + } + })); + } +} +const classifyRE = /(?:^|[-_])(\w)/g; +const classify = (str) => str.replace(classifyRE, (c2) => c2.toUpperCase()).replace(/[-_]/g, ""); +function getComponentName(Component2, includeInferred = true) { + return isFunction(Component2) ? Component2.displayName || Component2.name : Component2.name || includeInferred && Component2.__name; +} +function formatComponentName(instance, Component2, isRoot = false) { + let name = getComponentName(Component2); + if (!name && Component2.__file) { + const match = Component2.__file.match(/([^/\\]+)\.\w+$/); + if (match) { + name = match[1]; + } + } + if (!name && instance && instance.parent) { + const inferFromRegistry = (registry) => { + for (const key in registry) { + if (registry[key] === Component2) { + return key; + } + } + }; + name = inferFromRegistry(instance.components || instance.parent.type.components) || inferFromRegistry(instance.appContext.components); + } + return name ? classify(name) : isRoot ? `App` : `Anonymous`; +} +const computed$1 = (getterOrOptions, debugOptions) => { + return computed(getterOrOptions, debugOptions, isInSSRComponentSetup); +}; +function useSlots() { + return getContext().slots; +} +function getContext() { + const i2 = getCurrentInstance(); + if (!i2) { + warn$1(`useContext() called without active instance.`); + } + return i2.setupContext || (i2.setupContext = createSetupContext(i2)); +} +const version = "3.2.37"; +function unwrapper(target) { + return unref(target); +} +const ARRAYTYPE = "[object Array]"; +const OBJECTTYPE = "[object Object]"; +function diff(current, pre) { + const result = {}; + syncKeys(current, pre); + _diff(current, pre, "", result); + return result; +} +function syncKeys(current, pre) { + current = unwrapper(current); + if (current === pre) + return; + const rootCurrentType = toTypeString(current); + const rootPreType = toTypeString(pre); + if (rootCurrentType == OBJECTTYPE && rootPreType == OBJECTTYPE) { + for (let key in pre) { + const currentValue = current[key]; + if (currentValue === void 0) { + current[key] = null; + } else { + syncKeys(currentValue, pre[key]); + } + } + } else if (rootCurrentType == ARRAYTYPE && rootPreType == ARRAYTYPE) { + if (current.length >= pre.length) { + pre.forEach((item, index2) => { + syncKeys(current[index2], item); + }); + } + } +} +function _diff(current, pre, path, result) { + current = unwrapper(current); + if (current === pre) + return; + const rootCurrentType = toTypeString(current); + const rootPreType = toTypeString(pre); + if (rootCurrentType == OBJECTTYPE) { + if (rootPreType != OBJECTTYPE || Object.keys(current).length < Object.keys(pre).length) { + setResult(result, path, current); + } else { + for (let key in current) { + const currentValue = unwrapper(current[key]); + const preValue = pre[key]; + const currentType = toTypeString(currentValue); + const preType = toTypeString(preValue); + if (currentType != ARRAYTYPE && currentType != OBJECTTYPE) { + if (currentValue != preValue) { + setResult(result, (path == "" ? "" : path + ".") + key, currentValue); + } + } else if (currentType == ARRAYTYPE) { + if (preType != ARRAYTYPE) { + setResult(result, (path == "" ? "" : path + ".") + key, currentValue); + } else { + if (currentValue.length < preValue.length) { + setResult(result, (path == "" ? "" : path + ".") + key, currentValue); + } else { + currentValue.forEach((item, index2) => { + _diff(item, preValue[index2], (path == "" ? "" : path + ".") + key + "[" + index2 + "]", result); + }); + } + } + } else if (currentType == OBJECTTYPE) { + if (preType != OBJECTTYPE || Object.keys(currentValue).length < Object.keys(preValue).length) { + setResult(result, (path == "" ? "" : path + ".") + key, currentValue); + } else { + for (let subKey in currentValue) { + _diff(currentValue[subKey], preValue[subKey], (path == "" ? "" : path + ".") + key + "." + subKey, result); + } + } + } + } + } + } else if (rootCurrentType == ARRAYTYPE) { + if (rootPreType != ARRAYTYPE) { + setResult(result, path, current); + } else { + if (current.length < pre.length) { + setResult(result, path, current); + } else { + current.forEach((item, index2) => { + _diff(item, pre[index2], path + "[" + index2 + "]", result); + }); + } + } + } else { + setResult(result, path, current); + } +} +function setResult(result, k2, v2) { + result[k2] = v2; +} +function hasComponentEffect(instance) { + return queue.includes(instance.update); +} +function flushCallbacks(instance) { + const ctx = instance.ctx; + const callbacks = ctx.__next_tick_callbacks; + if (callbacks && callbacks.length) { + if ({}.VUE_APP_DEBUG) { + const mpInstance = ctx.$scope; + console.log("[" + +new Date() + "][" + (mpInstance.is || mpInstance.route) + "][" + instance.uid + "]:flushCallbacks[" + callbacks.length + "]"); + } + const copies = callbacks.slice(0); + callbacks.length = 0; + for (let i2 = 0; i2 < copies.length; i2++) { + copies[i2](); + } + } +} +function nextTick$1(instance, fn) { + const ctx = instance.ctx; + if (!ctx.__next_tick_pending && !hasComponentEffect(instance)) { + if ({}.VUE_APP_DEBUG) { + const mpInstance = ctx.$scope; + console.log("[" + +new Date() + "][" + (mpInstance.is || mpInstance.route) + "][" + instance.uid + "]:nextVueTick"); + } + return nextTick(fn && fn.bind(instance.proxy)); + } + if ({}.VUE_APP_DEBUG) { + const mpInstance = ctx.$scope; + console.log("[" + +new Date() + "][" + (mpInstance.is || mpInstance.route) + "][" + instance.uid + "]:nextMPTick"); + } + let _resolve; + if (!ctx.__next_tick_callbacks) { + ctx.__next_tick_callbacks = []; + } + ctx.__next_tick_callbacks.push(() => { + if (fn) { + callWithErrorHandling(fn.bind(instance.proxy), instance, 14); + } else if (_resolve) { + _resolve(instance.proxy); + } + }); + return new Promise((resolve2) => { + _resolve = resolve2; + }); +} +function clone(src, seen) { + src = unwrapper(src); + const type = typeof src; + if (type === "object" && src !== null) { + let copy = seen.get(src); + if (typeof copy !== "undefined") { + return copy; + } + if (isArray(src)) { + const len = src.length; + copy = new Array(len); + seen.set(src, copy); + for (let i2 = 0; i2 < len; i2++) { + copy[i2] = clone(src[i2], seen); + } + } else { + copy = {}; + seen.set(src, copy); + for (const name in src) { + if (hasOwn(src, name)) { + copy[name] = clone(src[name], seen); + } + } + } + return copy; + } + if (type !== "symbol") { + return src; + } +} +function deepCopy(src) { + return clone(src, typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : /* @__PURE__ */ new Map()); +} +function getMPInstanceData(instance, keys) { + const data = instance.data; + const ret = /* @__PURE__ */ Object.create(null); + keys.forEach((key) => { + ret[key] = data[key]; + }); + return ret; +} +function patch(instance, data, oldData) { + if (!data) { + return; + } + data = deepCopy(data); + const ctx = instance.ctx; + const mpType = ctx.mpType; + if (mpType === "page" || mpType === "component") { + data.r0 = 1; + const mpInstance = ctx.$scope; + const keys = Object.keys(data); + const diffData = diff(data, oldData || getMPInstanceData(mpInstance, keys)); + if (Object.keys(diffData).length) { + ctx.__next_tick_pending = true; + mpInstance.setData(diffData, () => { + ctx.__next_tick_pending = false; + flushCallbacks(instance); + }); + flushPreFlushCbs(void 0, instance.update); + } else { + flushCallbacks(instance); + } + } +} +function initAppConfig(appConfig) { + appConfig.globalProperties.$nextTick = function $nextTick(fn) { + return nextTick$1(this.$, fn); + }; +} +function onApplyOptions(options, instance, publicThis) { + instance.appContext.config.globalProperties.$applyOptions(options, instance, publicThis); + const computedOptions = options.computed; + if (computedOptions) { + const keys = Object.keys(computedOptions); + if (keys.length) { + const ctx = instance.ctx; + if (!ctx.$computedKeys) { + ctx.$computedKeys = []; + } + ctx.$computedKeys.push(...keys); + } + } + delete instance.ctx.$onApplyOptions; +} +function setRef$1(instance, isUnmount = false) { + const { setupState, $templateRefs, ctx: { $scope, $mpPlatform } } = instance; + if ($mpPlatform === "mp-alipay") { + return; + } + if (!$templateRefs || !$scope) { + return; + } + if (isUnmount) { + return $templateRefs.forEach((templateRef) => setTemplateRef(templateRef, null, setupState)); + } + const check = $mpPlatform === "mp-baidu" || $mpPlatform === "mp-toutiao"; + const doSetByRefs = (refs) => { + const mpComponents = $scope.selectAllComponents(".r").concat($scope.selectAllComponents(".r-i-f")); + return refs.filter((templateRef) => { + const refValue = findComponentPublicInstance(mpComponents, templateRef.i); + if (check && refValue === null) { + return true; + } + setTemplateRef(templateRef, refValue, setupState); + return false; + }); + }; + const doSet = () => { + const refs = doSetByRefs($templateRefs); + if (refs.length && instance.proxy && instance.proxy.$scope) { + instance.proxy.$scope.setData({ r1: 1 }, () => { + doSetByRefs(refs); + }); + } + }; + if ($scope._$setRef) { + $scope._$setRef(doSet); + } else { + nextTick$1(instance, doSet); + } +} +function findComponentPublicInstance(mpComponents, id) { + const mpInstance = mpComponents.find((com) => com && (com.properties || com.props).uI === id); + if (mpInstance) { + const vm = mpInstance.$vm; + return getExposeProxy(vm.$) || vm; + } + return null; +} +function setTemplateRef({ r: r2, f: f2 }, refValue, setupState) { + if (isFunction(r2)) { + r2(refValue, {}); + } else { + const _isString = isString(r2); + const _isRef = isRef(r2); + if (_isString || _isRef) { + if (f2) { + if (!_isRef) { + return; + } + if (!isArray(r2.value)) { + r2.value = []; + } + const existing = r2.value; + if (existing.indexOf(refValue) === -1) { + existing.push(refValue); + if (!refValue) { + return; + } + onBeforeUnmount(() => remove(existing, refValue), refValue.$); + } + } else if (_isString) { + if (hasOwn(setupState, r2)) { + setupState[r2] = refValue; + } + } else if (isRef(r2)) { + r2.value = refValue; + } else { + warnRef(r2); + } + } else { + warnRef(r2); + } + } +} +function warnRef(ref2) { + warn$1("Invalid template ref type:", ref2, `(${typeof ref2})`); +} +var MPType; +(function(MPType2) { + MPType2["APP"] = "app"; + MPType2["PAGE"] = "page"; + MPType2["COMPONENT"] = "component"; +})(MPType || (MPType = {})); +const queuePostRenderEffect$1 = queuePostFlushCb; +function mountComponent(initialVNode, options) { + const instance = initialVNode.component = createComponentInstance(initialVNode, options.parentComponent, null); + { + instance.ctx.$onApplyOptions = onApplyOptions; + instance.ctx.$children = []; + } + if (options.mpType === "app") { + instance.render = NOOP; + } + if (options.onBeforeSetup) { + options.onBeforeSetup(instance, options); + } + { + pushWarningContext(initialVNode); + } + setupComponent(instance); + { + if (options.parentComponent && instance.proxy) { + options.parentComponent.ctx.$children.push(getExposeProxy(instance) || instance.proxy); + } + } + setupRenderEffect(instance); + { + popWarningContext(); + } + return instance.proxy; +} +const getFunctionalFallthrough = (attrs) => { + let res; + for (const key in attrs) { + if (key === "class" || key === "style" || isOn(key)) { + (res || (res = {}))[key] = attrs[key]; + } + } + return res; +}; +function renderComponentRoot(instance) { + const { type: Component2, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit: emit2, render, renderCache, data, setupState, ctx, uid: uid2, appContext: { app: { config: { globalProperties: { pruneComponentPropsCache: pruneComponentPropsCache2 } } } }, inheritAttrs } = instance; + instance.$templateRefs = []; + instance.$ei = 0; + pruneComponentPropsCache2(uid2); + instance.__counter = instance.__counter === 0 ? 1 : 0; + let result; + const prev = setCurrentRenderingInstance(instance); + try { + if (vnode.shapeFlag & 4) { + fallthroughAttrs(inheritAttrs, props, propsOptions, attrs); + const proxyToUse = withProxy || proxy; + result = render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx); + } else { + fallthroughAttrs(inheritAttrs, props, propsOptions, Component2.props ? attrs : getFunctionalFallthrough(attrs)); + const render2 = Component2; + result = render2.length > 1 ? render2(props, { attrs, slots, emit: emit2 }) : render2(props, null); + } + } catch (err) { + handleError(err, instance, 1); + result = false; + } + setRef$1(instance); + setCurrentRenderingInstance(prev); + return result; +} +function fallthroughAttrs(inheritAttrs, props, propsOptions, fallthroughAttrs2) { + if (props && fallthroughAttrs2 && inheritAttrs !== false) { + const keys = Object.keys(fallthroughAttrs2).filter((key) => key !== "class" && key !== "style"); + if (!keys.length) { + return; + } + if (propsOptions && keys.some(isModelListener)) { + keys.forEach((key) => { + if (!isModelListener(key) || !(key.slice(9) in propsOptions)) { + props[key] = fallthroughAttrs2[key]; + } + }); + } else { + keys.forEach((key) => props[key] = fallthroughAttrs2[key]); + } + } +} +const updateComponentPreRender = (instance) => { + pauseTracking(); + flushPreFlushCbs(void 0, instance.update); + resetTracking(); +}; +function componentUpdateScopedSlotsFn() { + const scopedSlotsData = this.$scopedSlotsData; + if (!scopedSlotsData || scopedSlotsData.length === 0) { + return; + } + const mpInstance = this.ctx.$scope; + const oldData = mpInstance.data; + const diffData = /* @__PURE__ */ Object.create(null); + scopedSlotsData.forEach(({ path, index: index2, data }) => { + const oldScopedSlotData = getValueByDataPath(oldData, path); + const diffPath = isString(index2) ? `${path}.${index2}` : `${path}[${index2}]`; + if (typeof oldScopedSlotData === "undefined" || typeof oldScopedSlotData[index2] === "undefined") { + diffData[diffPath] = data; + } else { + const diffScopedSlotData = diff(data, oldScopedSlotData[index2]); + Object.keys(diffScopedSlotData).forEach((name) => { + diffData[diffPath + "." + name] = diffScopedSlotData[name]; + }); + } + }); + scopedSlotsData.length = 0; + if (Object.keys(diffData).length) { + mpInstance.setData(diffData); + } +} +function toggleRecurse({ effect, update }, allowed) { + effect.allowRecurse = update.allowRecurse = allowed; +} +function setupRenderEffect(instance) { + const updateScopedSlots = componentUpdateScopedSlotsFn.bind(instance); + instance.$updateScopedSlots = () => nextTick(() => queueJob(updateScopedSlots)); + const componentUpdateFn = () => { + if (!instance.isMounted) { + onBeforeUnmount(() => { + setRef$1(instance, true); + }, instance); + patch(instance, renderComponentRoot(instance)); + } else { + const { bu, u: u2 } = instance; + toggleRecurse(instance, false); + updateComponentPreRender(instance); + if (bu) { + invokeArrayFns$1(bu); + } + toggleRecurse(instance, true); + patch(instance, renderComponentRoot(instance)); + if (u2) { + queuePostRenderEffect$1(u2); + } + } + }; + const effect = instance.effect = new ReactiveEffect( + componentUpdateFn, + () => queueJob(instance.update), + instance.scope + ); + const update = instance.update = effect.run.bind(effect); + update.id = instance.uid; + toggleRecurse(instance, true); + { + effect.onTrack = instance.rtc ? (e2) => invokeArrayFns$1(instance.rtc, e2) : void 0; + effect.onTrigger = instance.rtg ? (e2) => invokeArrayFns$1(instance.rtg, e2) : void 0; + update.ownerInstance = instance; + } + update(); +} +function unmountComponent(instance) { + const { bum, scope, update, um } = instance; + if (bum) { + invokeArrayFns$1(bum); + } + scope.stop(); + if (update) { + update.active = false; + } + if (um) { + queuePostRenderEffect$1(um); + } + queuePostRenderEffect$1(() => { + instance.isUnmounted = true; + }); +} +const oldCreateApp = createAppAPI(); +function createVueApp(rootComponent, rootProps = null) { + const app = oldCreateApp(rootComponent, rootProps); + const appContext = app._context; + initAppConfig(appContext.config); + const createVNode = (initialVNode) => { + initialVNode.appContext = appContext; + initialVNode.shapeFlag = 6; + return initialVNode; + }; + const createComponent2 = function createComponent3(initialVNode, options) { + return mountComponent(createVNode(initialVNode), options); + }; + const destroyComponent = function destroyComponent2(component) { + return component && unmountComponent(component.$); + }; + app.mount = function mount() { + rootComponent.render = NOOP; + const instance = mountComponent(createVNode({ type: rootComponent }), { + mpType: MPType.APP, + mpInstance: null, + parentComponent: null, + slots: [], + props: null + }); + app._instance = instance.$; + instance.$app = app; + instance.$createComponent = createComponent2; + instance.$destroyComponent = destroyComponent; + appContext.$appInstance = instance; + return instance; + }; + app.unmount = function unmount() { + warn$1(`Cannot unmount an app.`); + }; + return app; +} +function injectLifecycleHook(name, hook, publicThis, instance) { + if (isFunction(hook)) { + injectHook(name, hook.bind(publicThis), instance); + } +} +function initHooks$1(options, instance, publicThis) { + const mpType = options.mpType || publicThis.$mpType; + if (!mpType) { + return; + } + Object.keys(options).forEach((name) => { + if (name.indexOf("on") === 0) { + const hooks = options[name]; + if (isArray(hooks)) { + hooks.forEach((hook) => injectLifecycleHook(name, hook, publicThis, instance)); + } else { + injectLifecycleHook(name, hooks, publicThis, instance); + } + } + }); +} +function applyOptions$2(options, instance, publicThis) { + initHooks$1(options, instance, publicThis); +} +function set$2(target, key, val) { + return target[key] = val; +} +function createErrorHandler(app) { + return function errorHandler(err, instance, _info) { + if (!instance) { + throw err; + } + const appInstance = app._instance; + if (!appInstance || !appInstance.proxy) { + throw err; + } + { + appInstance.proxy.$callHook(ON_ERROR, err); + } + }; +} +function mergeAsArray(to, from) { + return to ? [...new Set([].concat(to, from))] : from; +} +function initOptionMergeStrategies(optionMergeStrategies) { + UniLifecycleHooks.forEach((name) => { + optionMergeStrategies[name] = mergeAsArray; + }); +} +let realAtob; +const b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; +const b64re = /^(?:[A-Za-z\d+/]{4})*?(?:[A-Za-z\d+/]{2}(?:==)?|[A-Za-z\d+/]{3}=?)?$/; +if (typeof atob !== "function") { + realAtob = function(str) { + str = String(str).replace(/[\t\n\f\r ]+/g, ""); + if (!b64re.test(str)) { + throw new Error("Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded."); + } + str += "==".slice(2 - (str.length & 3)); + var bitmap; + var result = ""; + var r1; + var r2; + var i2 = 0; + for (; i2 < str.length; ) { + bitmap = b64.indexOf(str.charAt(i2++)) << 18 | b64.indexOf(str.charAt(i2++)) << 12 | (r1 = b64.indexOf(str.charAt(i2++))) << 6 | (r2 = b64.indexOf(str.charAt(i2++))); + result += r1 === 64 ? String.fromCharCode(bitmap >> 16 & 255) : r2 === 64 ? String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255) : String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255, bitmap & 255); + } + return result; + }; +} else { + realAtob = atob; +} +function b64DecodeUnicode(str) { + return decodeURIComponent(realAtob(str).split("").map(function(c2) { + return "%" + ("00" + c2.charCodeAt(0).toString(16)).slice(-2); + }).join("")); +} +function getCurrentUserInfo() { + const token = index.getStorageSync("uni_id_token") || ""; + const tokenArr = token.split("."); + if (!token || tokenArr.length !== 3) { + return { + uid: null, + role: [], + permission: [], + tokenExpired: 0 + }; + } + let userInfo; + try { + userInfo = JSON.parse(b64DecodeUnicode(tokenArr[1])); + } catch (error) { + throw new Error("\u83B7\u53D6\u5F53\u524D\u7528\u6237\u4FE1\u606F\u51FA\u9519\uFF0C\u8BE6\u7EC6\u9519\u8BEF\u4FE1\u606F\u4E3A\uFF1A" + error.message); + } + userInfo.tokenExpired = userInfo.exp * 1e3; + delete userInfo.exp; + delete userInfo.iat; + return userInfo; +} +function uniIdMixin(globalProperties) { + globalProperties.uniIDHasRole = function(roleId) { + const { role } = getCurrentUserInfo(); + return role.indexOf(roleId) > -1; + }; + globalProperties.uniIDHasPermission = function(permissionId) { + const { permission } = getCurrentUserInfo(); + return this.uniIDHasRole("admin") || permission.indexOf(permissionId) > -1; + }; + globalProperties.uniIDTokenValid = function() { + const { tokenExpired } = getCurrentUserInfo(); + return tokenExpired > Date.now(); + }; +} +function initApp(app) { + const appConfig = app._context.config; + if (isFunction(app._component.onError)) { + appConfig.errorHandler = createErrorHandler(app); + } + initOptionMergeStrategies(appConfig.optionMergeStrategies); + const globalProperties = appConfig.globalProperties; + { + uniIdMixin(globalProperties); + } + { + globalProperties.$set = set$2; + globalProperties.$applyOptions = applyOptions$2; + } + { + index.invokeCreateVueAppHook(app); + } +} +const propsCaches = /* @__PURE__ */ Object.create(null); +function renderProps(props) { + const { uid: uid2, __counter } = getCurrentInstance(); + const propsId = (propsCaches[uid2] || (propsCaches[uid2] = [])).push(guardReactiveProps(props)) - 1; + return uid2 + "," + propsId + "," + __counter; +} +function pruneComponentPropsCache(uid2) { + delete propsCaches[uid2]; +} +function findComponentPropsData(up) { + if (!up) { + return; + } + const [uid2, propsId] = up.split(","); + if (!propsCaches[uid2]) { + return; + } + return propsCaches[uid2][parseInt(propsId)]; +} +var plugin = { + install(app) { + initApp(app); + app.config.globalProperties.pruneComponentPropsCache = pruneComponentPropsCache; + const oldMount = app.mount; + app.mount = function mount(rootContainer) { + const instance = oldMount.call(app, rootContainer); + const createApp2 = getCreateApp(); + if (createApp2) { + createApp2(instance); + } else { + if (typeof createMiniProgramApp !== "undefined") { + createMiniProgramApp(instance); + } + } + return instance; + }; + } +}; +function getCreateApp() { + const method = {}.UNI_MP_PLUGIN ? "createPluginApp" : {}.UNI_SUBPACKAGE ? "createSubpackageApp" : "createApp"; + if (typeof global !== "undefined") { + return global[method]; + } else if (typeof my !== "undefined") { + return my[method]; + } +} +function vOn(value, key) { + const instance = getCurrentInstance(); + const ctx = instance.ctx; + const extraKey = typeof key !== "undefined" && (ctx.$mpPlatform === "mp-weixin" || ctx.$mpPlatform === "mp-qq") && (isString(key) || typeof key === "number") ? "_" + key : ""; + const name = "e" + instance.$ei++ + extraKey; + const mpInstance = ctx.$scope; + if (!value) { + delete mpInstance[name]; + return name; + } + const existingInvoker = mpInstance[name]; + if (existingInvoker) { + existingInvoker.value = value; + } else { + mpInstance[name] = createInvoker(value, instance); + } + return name; +} +function createInvoker(initialValue, instance) { + const invoker = (e2) => { + patchMPEvent(e2); + let args = [e2]; + if (e2.detail && e2.detail.__args__) { + args = e2.detail.__args__; + } + const eventValue = invoker.value; + const invoke = () => callWithAsyncErrorHandling(patchStopImmediatePropagation(e2, eventValue), instance, 5, args); + const eventTarget = e2.target; + const eventSync = eventTarget ? eventTarget.dataset ? eventTarget.dataset.eventsync === "true" : false : false; + if (bubbles.includes(e2.type) && !eventSync) { + setTimeout(invoke); + } else { + const res = invoke(); + if (e2.type === "input" && (isArray(res) || isPromise(res))) { + return; + } + return res; + } + }; + invoker.value = initialValue; + return invoker; +} +const bubbles = [ + "tap", + "longpress", + "longtap", + "transitionend", + "animationstart", + "animationiteration", + "animationend", + "touchforcechange" +]; +function patchMPEvent(event) { + if (event.type && event.target) { + event.preventDefault = NOOP; + event.stopPropagation = NOOP; + event.stopImmediatePropagation = NOOP; + if (!hasOwn(event, "detail")) { + event.detail = {}; + } + if (hasOwn(event, "markerId")) { + event.detail = typeof event.detail === "object" ? event.detail : {}; + event.detail.markerId = event.markerId; + } + if (isPlainObject$1(event.detail) && hasOwn(event.detail, "checked") && !hasOwn(event.detail, "value")) { + event.detail.value = event.detail.checked; + } + if (isPlainObject$1(event.detail)) { + event.target = extend({}, event.target, event.detail); + } + } +} +function patchStopImmediatePropagation(e2, value) { + if (isArray(value)) { + const originalStop = e2.stopImmediatePropagation; + e2.stopImmediatePropagation = () => { + originalStop && originalStop.call(e2); + e2._stopped = true; + }; + return value.map((fn) => (e3) => !e3._stopped && fn(e3)); + } else { + return value; + } +} +function vFor(source, renderItem) { + let ret; + if (isArray(source) || isString(source)) { + ret = new Array(source.length); + for (let i2 = 0, l2 = source.length; i2 < l2; i2++) { + ret[i2] = renderItem(source[i2], i2, i2); + } + } else if (typeof source === "number") { + if (!Number.isInteger(source)) { + warn$1(`The v-for range expect an integer value but got ${source}.`); + return []; + } + ret = new Array(source); + for (let i2 = 0; i2 < source; i2++) { + ret[i2] = renderItem(i2 + 1, i2, i2); + } + } else if (isObject$1(source)) { + if (source[Symbol.iterator]) { + ret = Array.from(source, (item, i2) => renderItem(item, i2, i2)); + } else { + const keys = Object.keys(source); + ret = new Array(keys.length); + for (let i2 = 0, l2 = keys.length; i2 < l2; i2++) { + const key = keys[i2]; + ret[i2] = renderItem(source[key], key, i2); + } + } + } else { + ret = []; + } + return ret; +} +function renderSlot(name, props = {}, key) { + const instance = getCurrentInstance(); + const { parent, isMounted, ctx: { $scope } } = instance; + const vueIds = ($scope.properties || $scope.props).uI; + if (!vueIds) { + return; + } + if (!parent && !isMounted) { + onMounted(() => { + renderSlot(name, props, key); + }, instance); + return; + } + const invoker = findScopedSlotInvoker(vueIds, instance); + if (invoker) { + invoker(name, props, key); + } +} +function findScopedSlotInvoker(vueId, instance) { + let parent = instance.parent; + while (parent) { + const invokers = parent.$ssi; + if (invokers && invokers[vueId]) { + return invokers[vueId]; + } + parent = parent.parent; + } +} +function stringifyStyle(value) { + if (isString(value)) { + return value; + } + return stringify(normalizeStyle(value)); +} +function stringify(styles) { + let ret = ""; + if (!styles || isString(styles)) { + return ret; + } + for (const key in styles) { + ret += `${key.startsWith(`--`) ? key : hyphenate(key)}:${styles[key]};`; + } + return ret; +} +const o$1 = (value, key) => vOn(value, key); +const f$1 = (source, renderItem) => vFor(source, renderItem); +const r$1 = (name, props, key) => renderSlot(name, props, key); +const s$1 = (value) => stringifyStyle(value); +const e$1 = (target, ...sources) => extend(target, ...sources); +const n$1 = (value) => normalizeClass(value); +const t$1 = (val) => toDisplayString(val); +const p$1 = (props) => renderProps(props); +function createApp$1(rootComponent, rootProps = null) { + rootComponent && (rootComponent.mpType = "app"); + return createVueApp(rootComponent, rootProps).use(plugin); +} +const createSSRApp = createApp$1; +const eventChannels = {}; +const eventChannelStack = []; +function getEventChannel(id) { + if (id) { + const eventChannel = eventChannels[id]; + delete eventChannels[id]; + return eventChannel; + } + return eventChannelStack.shift(); +} +const MP_METHODS = [ + "createSelectorQuery", + "createIntersectionObserver", + "selectAllComponents", + "selectComponent" +]; +function createEmitFn(oldEmit, ctx) { + return function emit2(event, ...args) { + const scope = ctx.$scope; + if (scope && event) { + const detail = { __args__: args }; + { + scope.triggerEvent(event, detail); + } + } + return oldEmit.apply(this, [event, ...args]); + }; +} +function initBaseInstance(instance, options) { + const ctx = instance.ctx; + ctx.mpType = options.mpType; + ctx.$mpType = options.mpType; + ctx.$mpPlatform = "mp-weixin"; + ctx.$scope = options.mpInstance; + ctx.$mp = {}; + { + ctx._self = {}; + } + instance.slots = {}; + if (isArray(options.slots) && options.slots.length) { + options.slots.forEach((name) => { + instance.slots[name] = true; + }); + if (instance.slots[SLOT_DEFAULT_NAME]) { + instance.slots.default = true; + } + } + ctx.getOpenerEventChannel = function() { + { + return options.mpInstance.getOpenerEventChannel(); + } + }; + ctx.$hasHook = hasHook; + ctx.$callHook = callHook; + instance.emit = createEmitFn(instance.emit, ctx); +} +function initComponentInstance(instance, options) { + initBaseInstance(instance, options); + const ctx = instance.ctx; + MP_METHODS.forEach((method) => { + ctx[method] = function(...args) { + const mpInstance = ctx.$scope; + if (mpInstance && mpInstance[method]) { + return mpInstance[method].apply(mpInstance, args); + } + }; + }); +} +function initMocks(instance, mpInstance, mocks2) { + const ctx = instance.ctx; + mocks2.forEach((mock) => { + if (hasOwn(mpInstance, mock)) { + instance[mock] = ctx[mock] = mpInstance[mock]; + } + }); +} +function hasHook(name) { + const hooks = this.$[name]; + if (hooks && hooks.length) { + return true; + } + return false; +} +function callHook(name, args) { + if (name === "mounted") { + callHook.call(this, "bm"); + this.$.isMounted = true; + name = "m"; + } else if (name === "onLoad" && args && args.__id__) { + this.__eventChannel__ = getEventChannel(args.__id__); + delete args.__id__; + } + const hooks = this.$[name]; + return hooks && invokeArrayFns(hooks, args); +} +const PAGE_INIT_HOOKS = [ + ON_LOAD, + ON_SHOW, + ON_HIDE, + ON_UNLOAD, + ON_RESIZE, + ON_TAB_ITEM_TAP, + ON_REACH_BOTTOM, + ON_PULL_DOWN_REFRESH, + ON_ADD_TO_FAVORITES +]; +function findHooks(vueOptions, hooks = /* @__PURE__ */ new Set()) { + if (vueOptions) { + Object.keys(vueOptions).forEach((name) => { + if (name.indexOf("on") === 0 && isFunction(vueOptions[name])) { + hooks.add(name); + } + }); + { + const { extends: extendsOptions, mixins } = vueOptions; + if (mixins) { + mixins.forEach((mixin) => findHooks(mixin, hooks)); + } + if (extendsOptions) { + findHooks(extendsOptions, hooks); + } + } + } + return hooks; +} +function initHook(mpOptions, hook, excludes) { + if (excludes.indexOf(hook) === -1 && !hasOwn(mpOptions, hook)) { + mpOptions[hook] = function(args) { + return this.$vm && this.$vm.$callHook(hook, args); + }; + } +} +const EXCLUDE_HOOKS = [ON_READY]; +function initHooks(mpOptions, hooks, excludes = EXCLUDE_HOOKS) { + hooks.forEach((hook) => initHook(mpOptions, hook, excludes)); +} +function initUnknownHooks(mpOptions, vueOptions, excludes = EXCLUDE_HOOKS) { + findHooks(vueOptions).forEach((hook) => initHook(mpOptions, hook, excludes)); +} +function initRuntimeHooks(mpOptions, runtimeHooks) { + if (!runtimeHooks) { + return; + } + const hooks = Object.keys(MINI_PROGRAM_PAGE_RUNTIME_HOOKS); + hooks.forEach((hook) => { + if (runtimeHooks & MINI_PROGRAM_PAGE_RUNTIME_HOOKS[hook]) { + initHook(mpOptions, hook, []); + } + }); +} +const findMixinRuntimeHooks = /* @__PURE__ */ once(() => { + const runtimeHooks = []; + const app = getApp({ allowDefault: true }); + if (app && app.$vm && app.$vm.$) { + const mixins = app.$vm.$.appContext.mixins; + if (isArray(mixins)) { + const hooks = Object.keys(MINI_PROGRAM_PAGE_RUNTIME_HOOKS); + mixins.forEach((mixin) => { + hooks.forEach((hook) => { + if (hasOwn(mixin, hook) && !runtimeHooks.includes(hook)) { + runtimeHooks.push(hook); + } + }); + }); + } + } + return runtimeHooks; +}); +function initMixinRuntimeHooks(mpOptions) { + initHooks(mpOptions, findMixinRuntimeHooks()); +} +const HOOKS = [ + ON_SHOW, + ON_HIDE, + ON_ERROR, + ON_THEME_CHANGE, + ON_PAGE_NOT_FOUND, + ON_UNHANDLE_REJECTION +]; +function parseApp(instance, parseAppOptions) { + const internalInstance = instance.$; + const appOptions = { + globalData: instance.$options && instance.$options.globalData || {}, + $vm: instance, + onLaunch(options) { + this.$vm = instance; + const ctx = internalInstance.ctx; + if (this.$vm && ctx.$scope) { + return; + } + initBaseInstance(internalInstance, { + mpType: "app", + mpInstance: this, + slots: [] + }); + ctx.globalData = this.globalData; + instance.$callHook(ON_LAUNCH, options); + } + }; + initLocale(instance); + const vueOptions = instance.$.type; + initHooks(appOptions, HOOKS); + initUnknownHooks(appOptions, vueOptions); + { + const methods = vueOptions.methods; + methods && extend(appOptions, methods); + } + if (parseAppOptions) { + parseAppOptions.parse(appOptions); + } + return appOptions; +} +function initCreateApp(parseAppOptions) { + return function createApp2(vm) { + return App(parseApp(vm, parseAppOptions)); + }; +} +function initCreateSubpackageApp(parseAppOptions) { + return function createApp2(vm) { + const appOptions = parseApp(vm, parseAppOptions); + const app = getApp({ + allowDefault: true + }); + vm.$.ctx.$scope = app; + const globalData = app.globalData; + if (globalData) { + Object.keys(appOptions.globalData).forEach((name) => { + if (!hasOwn(globalData, name)) { + globalData[name] = appOptions.globalData[name]; + } + }); + } + Object.keys(appOptions).forEach((name) => { + if (!hasOwn(app, name)) { + app[name] = appOptions[name]; + } + }); + initAppLifecycle(appOptions, vm); + if ({}.UNI_SUBPACKAGE) { + (wx.$subpackages || (wx.$subpackages = {}))[{}.UNI_SUBPACKAGE] = { + $vm: vm + }; + } + }; +} +function initAppLifecycle(appOptions, vm) { + if (isFunction(appOptions.onLaunch)) { + const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync(); + appOptions.onLaunch(args); + } + if (isFunction(appOptions.onShow) && wx.onAppShow) { + wx.onAppShow((args) => { + vm.$callHook("onShow", args); + }); + } + if (isFunction(appOptions.onHide) && wx.onAppHide) { + wx.onAppHide((args) => { + vm.$callHook("onHide", args); + }); + } +} +function initLocale(appVm) { + const locale = ref(normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN); + Object.defineProperty(appVm, "$locale", { + get() { + return locale.value; + }, + set(v2) { + locale.value = v2; + } + }); +} +function initVueIds(vueIds, mpInstance) { + if (!vueIds) { + return; + } + const ids = vueIds.split(","); + const len = ids.length; + if (len === 1) { + mpInstance._$vueId = ids[0]; + } else if (len === 2) { + mpInstance._$vueId = ids[0]; + mpInstance._$vuePid = ids[1]; + } +} +const EXTRAS = ["externalClasses"]; +function initExtraOptions(miniProgramComponentOptions, vueOptions) { + EXTRAS.forEach((name) => { + if (hasOwn(vueOptions, name)) { + miniProgramComponentOptions[name] = vueOptions[name]; + } + }); +} +function initWxsCallMethods(methods, wxsCallMethods) { + if (!isArray(wxsCallMethods)) { + return; + } + wxsCallMethods.forEach((callMethod) => { + methods[callMethod] = function(args) { + return this.$vm[callMethod](args); + }; + }); +} +function selectAllComponents(mpInstance, selector, $refs) { + const components = mpInstance.selectAllComponents(selector); + components.forEach((component) => { + const ref2 = component.properties.uR; + $refs[ref2] = component.$vm || component; + }); +} +function initRefs(instance, mpInstance) { + Object.defineProperty(instance, "refs", { + get() { + const $refs = {}; + selectAllComponents(mpInstance, ".r", $refs); + const forComponents = mpInstance.selectAllComponents(".r-i-f"); + forComponents.forEach((component) => { + const ref2 = component.properties.uR; + if (!ref2) { + return; + } + if (!$refs[ref2]) { + $refs[ref2] = []; + } + $refs[ref2].push(component.$vm || component); + }); + return $refs; + } + }); +} +function findVmByVueId(instance, vuePid) { + const $children = instance.$children; + for (let i2 = $children.length - 1; i2 >= 0; i2--) { + const childVm = $children[i2]; + if (childVm.$scope._$vueId === vuePid) { + return childVm; + } + } + let parentVm; + for (let i2 = $children.length - 1; i2 >= 0; i2--) { + parentVm = findVmByVueId($children[i2], vuePid); + if (parentVm) { + return parentVm; + } + } +} +const builtInProps = [ + "eO", + "uR", + "uRIF", + "uI", + "uT", + "uP", + "uS" +]; +function initDefaultProps(isBehavior = false) { + const properties = {}; + if (!isBehavior) { + builtInProps.forEach((name) => { + properties[name] = { + type: null, + value: "" + }; + }); + properties.uS = { + type: null, + value: [], + observer: function(newVal) { + const $slots = /* @__PURE__ */ Object.create(null); + newVal && newVal.forEach((slotName) => { + $slots[slotName] = true; + }); + this.setData({ + $slots + }); + } + }; + } + return properties; +} +function initVirtualHostProps(options) { + const properties = {}; + { + if (options && options.virtualHost) { + properties.virtualHostStyle = { + type: null, + value: "" + }; + properties.virtualHostClass = { + type: null, + value: "" + }; + } + } + return properties; +} +function initProps(mpComponentOptions) { + if (!mpComponentOptions.properties) { + mpComponentOptions.properties = {}; + } + extend(mpComponentOptions.properties, initDefaultProps(), initVirtualHostProps(mpComponentOptions.options)); +} +const PROP_TYPES = [String, Number, Boolean, Object, Array, null]; +function parsePropType(type, defaultValue) { + if (isArray(type) && type.length === 1) { + return type[0]; + } + return type; +} +function normalizePropType(type, defaultValue) { + const res = parsePropType(type); + return PROP_TYPES.indexOf(res) !== -1 ? res : null; +} +function initPageProps({ properties }, rawProps) { + if (isArray(rawProps)) { + rawProps.forEach((key) => { + properties[key] = { + type: String, + value: "" + }; + }); + } else if (isPlainObject$1(rawProps)) { + Object.keys(rawProps).forEach((key) => { + const opts = rawProps[key]; + if (isPlainObject$1(opts)) { + let value = opts.default; + if (isFunction(value)) { + value = value(); + } + const type = opts.type; + opts.type = normalizePropType(type); + properties[key] = { + type: opts.type, + value + }; + } else { + properties[key] = { + type: normalizePropType(opts) + }; + } + }); + } +} +function findPropsData(properties, isPage2) { + return (isPage2 ? findPagePropsData(properties) : findComponentPropsData(properties.uP)) || {}; +} +function findPagePropsData(properties) { + const propsData = {}; + if (isPlainObject$1(properties)) { + Object.keys(properties).forEach((name) => { + if (builtInProps.indexOf(name) === -1) { + propsData[name] = properties[name]; + } + }); + } + return propsData; +} +function initData(_2) { + return {}; +} +function initPropsObserver(componentOptions) { + const observe = function observe2() { + const up = this.properties.uP; + if (!up) { + return; + } + if (this.$vm) { + updateComponentProps(up, this.$vm.$); + } else if (this.properties.uT === "m") { + updateMiniProgramComponentProperties(up, this); + } + }; + { + if (!componentOptions.observers) { + componentOptions.observers = {}; + } + componentOptions.observers.uP = observe; + } +} +function updateMiniProgramComponentProperties(up, mpInstance) { + const prevProps = mpInstance.properties; + const nextProps = findComponentPropsData(up) || {}; + if (hasPropsChanged(prevProps, nextProps, false)) { + mpInstance.setData(nextProps); + } +} +function updateComponentProps(up, instance) { + const prevProps = toRaw(instance.props); + const nextProps = findComponentPropsData(up) || {}; + if (hasPropsChanged(prevProps, nextProps)) { + updateProps(instance, nextProps, prevProps, false); + if (hasQueueJob(instance.update)) { + invalidateJob(instance.update); + } + { + instance.update(); + } + } +} +function hasPropsChanged(prevProps, nextProps, checkLen = true) { + const nextKeys = Object.keys(nextProps); + if (checkLen && nextKeys.length !== Object.keys(prevProps).length) { + return true; + } + for (let i2 = 0; i2 < nextKeys.length; i2++) { + const key = nextKeys[i2]; + if (nextProps[key] !== prevProps[key]) { + return true; + } + } + return false; +} +function initBehaviors(vueOptions) { + const vueBehaviors = vueOptions.behaviors; + let vueProps = vueOptions.props; + if (!vueProps) { + vueOptions.props = vueProps = []; + } + const behaviors = []; + if (isArray(vueBehaviors)) { + vueBehaviors.forEach((behavior) => { + behaviors.push(behavior.replace("uni://", "wx://")); + if (behavior === "uni://form-field") { + if (isArray(vueProps)) { + vueProps.push("name"); + vueProps.push("value"); + } else { + vueProps.name = { + type: String, + default: "" + }; + vueProps.value = { + type: [String, Number, Boolean, Array, Object, Date], + default: "" + }; + } + } + }); + } + return behaviors; +} +function applyOptions(componentOptions, vueOptions) { + componentOptions.data = initData(); + componentOptions.behaviors = initBehaviors(vueOptions); +} +function parseComponent(vueOptions, { parse, mocks: mocks2, isPage: isPage2, initRelation: initRelation2, handleLink: handleLink2, initLifetimes: initLifetimes2 }) { + vueOptions = vueOptions.default || vueOptions; + const options = { + multipleSlots: true, + addGlobalClass: true, + pureDataPattern: /^uP$/ + }; + if (vueOptions.options) { + extend(options, vueOptions.options); + } + const mpComponentOptions = { + options, + lifetimes: initLifetimes2({ mocks: mocks2, isPage: isPage2, initRelation: initRelation2, vueOptions }), + pageLifetimes: { + show() { + this.$vm && this.$vm.$callHook("onPageShow"); + }, + hide() { + this.$vm && this.$vm.$callHook("onPageHide"); + }, + resize(size2) { + this.$vm && this.$vm.$callHook("onPageResize", size2); + } + }, + methods: { + __l: handleLink2 + } + }; + { + applyOptions(mpComponentOptions, vueOptions); + } + initProps(mpComponentOptions); + initPropsObserver(mpComponentOptions); + initExtraOptions(mpComponentOptions, vueOptions); + initWxsCallMethods(mpComponentOptions.methods, vueOptions.wxsCallMethods); + if (parse) { + parse(mpComponentOptions, { handleLink: handleLink2 }); + } + return mpComponentOptions; +} +function initCreateComponent(parseOptions2) { + return function createComponent2(vueComponentOptions) { + return Component(parseComponent(vueComponentOptions, parseOptions2)); + }; +} +let $createComponentFn; +let $destroyComponentFn; +function getAppVm() { + if ({}.UNI_MP_PLUGIN) { + return wx.$vm; + } + if ({}.UNI_SUBPACKAGE) { + return wx.$subpackages[{}.UNI_SUBPACKAGE].$vm; + } + return getApp().$vm; +} +function $createComponent(initialVNode, options) { + if (!$createComponentFn) { + $createComponentFn = getAppVm().$createComponent; + } + const proxy = $createComponentFn(initialVNode, options); + return getExposeProxy(proxy.$) || proxy; +} +function $destroyComponent(instance) { + if (!$destroyComponentFn) { + $destroyComponentFn = getApp().$vm.$destroyComponent; + } + return $destroyComponentFn(instance); +} +function parsePage(vueOptions, parseOptions2) { + const { parse, mocks: mocks2, isPage: isPage2, initRelation: initRelation2, handleLink: handleLink2, initLifetimes: initLifetimes2 } = parseOptions2; + const miniProgramPageOptions = parseComponent(vueOptions, { + mocks: mocks2, + isPage: isPage2, + initRelation: initRelation2, + handleLink: handleLink2, + initLifetimes: initLifetimes2 + }); + initPageProps(miniProgramPageOptions, (vueOptions.default || vueOptions).props); + const methods = miniProgramPageOptions.methods; + methods.onLoad = function(query) { + this.options = query; + this.$page = { + fullPath: addLeadingSlash(this.route + stringifyQuery(query)) + }; + return this.$vm && this.$vm.$callHook(ON_LOAD, query); + }; + initHooks(methods, PAGE_INIT_HOOKS); + { + initUnknownHooks(methods, vueOptions); + } + initRuntimeHooks(methods, vueOptions.__runtimeHooks); + initMixinRuntimeHooks(methods); + parse && parse(miniProgramPageOptions, { handleLink: handleLink2 }); + return miniProgramPageOptions; +} +function initCreatePage(parseOptions2) { + return function createPage2(vuePageOptions) { + return Component(parsePage(vuePageOptions, parseOptions2)); + }; +} +function initCreatePluginApp(parseAppOptions) { + return function createApp2(vm) { + initAppLifecycle(parseApp(vm, parseAppOptions), vm); + if ({}.UNI_MP_PLUGIN) { + wx.$vm = vm; + } + }; +} +const MPPage = Page; +const MPComponent = Component; +function initTriggerEvent(mpInstance) { + const oldTriggerEvent = mpInstance.triggerEvent; + mpInstance.triggerEvent = function(event, ...args) { + return oldTriggerEvent.apply(mpInstance, [customizeEvent(event), ...args]); + }; +} +function initMiniProgramHook(name, options, isComponent) { + const oldHook = options[name]; + if (!oldHook) { + options[name] = function() { + initTriggerEvent(this); + }; + } else { + options[name] = function(...args) { + initTriggerEvent(this); + return oldHook.apply(this, args); + }; + } +} +Page = function(options) { + initMiniProgramHook(ON_LOAD, options); + return MPPage(options); +}; +Component = function(options) { + initMiniProgramHook("created", options); + const isVueComponent = options.properties && options.properties.uP; + if (!isVueComponent) { + initProps(options); + initPropsObserver(options); + } + return MPComponent(options); +}; +function initLifetimes({ mocks: mocks2, isPage: isPage2, initRelation: initRelation2, vueOptions }) { + return { + attached() { + let properties = this.properties; + initVueIds(properties.uI, this); + const relationOptions = { + vuePid: this._$vuePid + }; + initRelation2(this, relationOptions); + const mpInstance = this; + const isMiniProgramPage = isPage2(mpInstance); + let propsData = properties; + this.$vm = $createComponent({ + type: vueOptions, + props: findPropsData(propsData, isMiniProgramPage) + }, { + mpType: isMiniProgramPage ? "page" : "component", + mpInstance, + slots: properties.uS || {}, + parentComponent: relationOptions.parent && relationOptions.parent.$, + onBeforeSetup(instance, options) { + initRefs(instance, mpInstance); + initMocks(instance, mpInstance, mocks2); + initComponentInstance(instance, options); + } + }); + }, + ready() { + if (this.$vm) { + { + this.$vm.$callHook("mounted"); + this.$vm.$callHook(ON_READY); + } + } + }, + detached() { + if (this.$vm) { + pruneComponentPropsCache(this.$vm.$.uid); + $destroyComponent(this.$vm); + } + } + }; +} +const mocks = ["__route__", "__wxExparserNodeId__", "__wxWebviewId__"]; +function isPage(mpInstance) { + return !!mpInstance.route; +} +function initRelation(mpInstance, detail) { + mpInstance.triggerEvent("__l", detail); +} +function handleLink(event) { + const detail = event.detail || event.value; + const vuePid = detail.vuePid; + let parentVm; + if (vuePid) { + parentVm = findVmByVueId(this.$vm, vuePid); + } + if (!parentVm) { + parentVm = this.$vm; + } + detail.parent = parentVm; +} +var parseOptions = /* @__PURE__ */ Object.freeze({ + __proto__: null, + mocks, + isPage, + initRelation, + handleLink, + initLifetimes +}); +const createApp = initCreateApp(); +const createPage = initCreatePage(parseOptions); +const createComponent = initCreateComponent(parseOptions); +const createPluginApp = initCreatePluginApp(); +const createSubpackageApp = initCreateSubpackageApp(); +{ + wx.createApp = global.createApp = createApp; + wx.createPage = createPage; + wx.createComponent = createComponent; + wx.createPluginApp = global.createPluginApp = createPluginApp; + wx.createSubpackageApp = global.createSubpackageApp = createSubpackageApp; +} +var isVue2 = false; +function set$1(target, key, val) { + if (Array.isArray(target)) { + target.length = Math.max(target.length, key); + target.splice(key, 1, val); + return val; + } + target[key] = val; + return val; +} +function del(target, key) { + if (Array.isArray(target)) { + target.splice(key, 1); + return; + } + delete target[key]; +} +/*! + * pinia v2.0.36 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */ +let activePinia; +const setActivePinia = (pinia) => activePinia = pinia; +const piniaSymbol = Symbol("pinia"); +function isPlainObject(o2) { + return o2 && typeof o2 === "object" && Object.prototype.toString.call(o2) === "[object Object]" && typeof o2.toJSON !== "function"; +} +var MutationType; +(function(MutationType2) { + MutationType2["direct"] = "direct"; + MutationType2["patchObject"] = "patch object"; + MutationType2["patchFunction"] = "patch function"; +})(MutationType || (MutationType = {})); +const IS_CLIENT = typeof window !== "undefined"; +const USE_DEVTOOLS = IS_CLIENT; +const componentStateTypes = []; +const getStoreType = (id) => "\u{1F34D} " + id; +function addStoreToDevtools(app, store) { + if (!componentStateTypes.includes(getStoreType(store.$id))) { + componentStateTypes.push(getStoreType(store.$id)); + } +} +function patchActionForGrouping(store, actionNames) { + const actions = actionNames.reduce((storeActions, actionName) => { + storeActions[actionName] = toRaw(store)[actionName]; + return storeActions; + }, {}); + for (const actionName in actions) { + store[actionName] = function() { + const trackedStore = new Proxy(store, { + get(...args) { + return Reflect.get(...args); + }, + set(...args) { + return Reflect.set(...args); + } + }); + return actions[actionName].apply(trackedStore, arguments); + }; + } +} +function devtoolsPlugin({ app, store, options }) { + if (store.$id.startsWith("__hot:")) { + return; + } + if (options.state) { + store._isOptionsAPI = true; + } + if (typeof options.state === "function") { + patchActionForGrouping( + store, + Object.keys(options.actions) + ); + const originalHotUpdate = store._hotUpdate; + toRaw(store)._hotUpdate = function(newStore) { + originalHotUpdate.apply(this, arguments); + patchActionForGrouping(store, Object.keys(newStore._hmrPayload.actions)); + }; + } + addStoreToDevtools( + app, + store + ); +} +function createPinia() { + const scope = effectScope(true); + const state = scope.run(() => ref({})); + let _p = []; + let toBeInstalled = []; + const pinia = markRaw({ + install(app) { + setActivePinia(pinia); + { + pinia._a = app; + app.provide(piniaSymbol, pinia); + app.config.globalProperties.$pinia = pinia; + toBeInstalled.forEach((plugin2) => _p.push(plugin2)); + toBeInstalled = []; + } + }, + use(plugin2) { + if (!this._a && !isVue2) { + toBeInstalled.push(plugin2); + } else { + _p.push(plugin2); + } + return this; + }, + _p, + _a: null, + _e: scope, + _s: /* @__PURE__ */ new Map(), + state + }); + if (USE_DEVTOOLS && typeof Proxy !== "undefined") { + pinia.use(devtoolsPlugin); + } + return pinia; +} +function patchObject(newState, oldState) { + for (const key in oldState) { + const subPatch = oldState[key]; + if (!(key in newState)) { + continue; + } + const targetValue = newState[key]; + if (isPlainObject(targetValue) && isPlainObject(subPatch) && !isRef(subPatch) && !isReactive(subPatch)) { + newState[key] = patchObject(targetValue, subPatch); + } else { + { + newState[key] = subPatch; + } + } + } + return newState; +} +const noop = () => { +}; +function addSubscription(subscriptions, callback, detached, onCleanup = noop) { + subscriptions.push(callback); + const removeSubscription = () => { + const idx = subscriptions.indexOf(callback); + if (idx > -1) { + subscriptions.splice(idx, 1); + onCleanup(); + } + }; + if (!detached && getCurrentScope()) { + onScopeDispose(removeSubscription); + } + return removeSubscription; +} +function triggerSubscriptions(subscriptions, ...args) { + subscriptions.slice().forEach((callback) => { + callback(...args); + }); +} +function mergeReactiveObjects(target, patchToApply) { + if (target instanceof Map && patchToApply instanceof Map) { + patchToApply.forEach((value, key) => target.set(key, value)); + } + if (target instanceof Set && patchToApply instanceof Set) { + patchToApply.forEach(target.add, target); + } + for (const key in patchToApply) { + if (!patchToApply.hasOwnProperty(key)) + continue; + const subPatch = patchToApply[key]; + const targetValue = target[key]; + if (isPlainObject(targetValue) && isPlainObject(subPatch) && target.hasOwnProperty(key) && !isRef(subPatch) && !isReactive(subPatch)) { + target[key] = mergeReactiveObjects(targetValue, subPatch); + } else { + target[key] = subPatch; + } + } + return target; +} +const skipHydrateSymbol = Symbol("pinia:skipHydration"); +function shouldHydrate(obj) { + return !isPlainObject(obj) || !obj.hasOwnProperty(skipHydrateSymbol); +} +const { assign } = Object; +function isComputed(o2) { + return !!(isRef(o2) && o2.effect); +} +function createOptionsStore(id, options, pinia, hot) { + const { state, actions, getters } = options; + const initialState = pinia.state.value[id]; + let store; + function setup() { + if (!initialState && !hot) { + { + pinia.state.value[id] = state ? state() : {}; + } + } + const localState = hot ? toRefs(ref(state ? state() : {}).value) : toRefs(pinia.state.value[id]); + return assign(localState, actions, Object.keys(getters || {}).reduce((computedGetters, name) => { + if (name in localState) { + console.warn(`[\u{1F34D}]: A getter cannot have the same name as another state property. Rename one of them. Found with "${name}" in store "${id}".`); + } + computedGetters[name] = markRaw(computed$1(() => { + setActivePinia(pinia); + const store2 = pinia._s.get(id); + return getters[name].call(store2, store2); + })); + return computedGetters; + }, {})); + } + store = createSetupStore(id, setup, options, pinia, hot, true); + return store; +} +function createSetupStore($id, setup, options = {}, pinia, hot, isOptionsStore) { + let scope; + const optionsForPlugin = assign({ actions: {} }, options); + if (!pinia._e.active) { + throw new Error("Pinia destroyed"); + } + const $subscribeOptions = { + deep: true + }; + { + $subscribeOptions.onTrigger = (event) => { + if (isListening) { + debuggerEvents = event; + } else if (isListening == false && !store._hotUpdating) { + if (Array.isArray(debuggerEvents)) { + debuggerEvents.push(event); + } else { + console.error("\u{1F34D} debuggerEvents should be an array. This is most likely an internal Pinia bug."); + } + } + }; + } + let isListening; + let isSyncListening; + let subscriptions = markRaw([]); + let actionSubscriptions = markRaw([]); + let debuggerEvents; + const initialState = pinia.state.value[$id]; + if (!isOptionsStore && !initialState && !hot) { + { + pinia.state.value[$id] = {}; + } + } + const hotState = ref({}); + let activeListener; + function $patch(partialStateOrMutator) { + let subscriptionMutation; + isListening = isSyncListening = false; + { + debuggerEvents = []; + } + if (typeof partialStateOrMutator === "function") { + partialStateOrMutator(pinia.state.value[$id]); + subscriptionMutation = { + type: MutationType.patchFunction, + storeId: $id, + events: debuggerEvents + }; + } else { + mergeReactiveObjects(pinia.state.value[$id], partialStateOrMutator); + subscriptionMutation = { + type: MutationType.patchObject, + payload: partialStateOrMutator, + storeId: $id, + events: debuggerEvents + }; + } + const myListenerId = activeListener = Symbol(); + nextTick().then(() => { + if (activeListener === myListenerId) { + isListening = true; + } + }); + isSyncListening = true; + triggerSubscriptions(subscriptions, subscriptionMutation, pinia.state.value[$id]); + } + const $reset = isOptionsStore ? function $reset2() { + const { state } = options; + const newState = state ? state() : {}; + this.$patch(($state) => { + assign($state, newState); + }); + } : () => { + throw new Error(`\u{1F34D}: Store "${$id}" is built using the setup syntax and does not implement $reset().`); + }; + function $dispose() { + scope.stop(); + subscriptions = []; + actionSubscriptions = []; + pinia._s.delete($id); + } + function wrapAction(name, action) { + return function() { + setActivePinia(pinia); + const args = Array.from(arguments); + const afterCallbackList = []; + const onErrorCallbackList = []; + function after(callback) { + afterCallbackList.push(callback); + } + function onError(callback) { + onErrorCallbackList.push(callback); + } + triggerSubscriptions(actionSubscriptions, { + args, + name, + store, + after, + onError + }); + let ret; + try { + ret = action.apply(this && this.$id === $id ? this : store, args); + } catch (error) { + triggerSubscriptions(onErrorCallbackList, error); + throw error; + } + if (ret instanceof Promise) { + return ret.then((value) => { + triggerSubscriptions(afterCallbackList, value); + return value; + }).catch((error) => { + triggerSubscriptions(onErrorCallbackList, error); + return Promise.reject(error); + }); + } + triggerSubscriptions(afterCallbackList, ret); + return ret; + }; + } + const _hmrPayload = /* @__PURE__ */ markRaw({ + actions: {}, + getters: {}, + state: [], + hotState + }); + const partialStore = { + _p: pinia, + $id, + $onAction: addSubscription.bind(null, actionSubscriptions), + $patch, + $reset, + $subscribe(callback, options2 = {}) { + const removeSubscription = addSubscription(subscriptions, callback, options2.detached, () => stopWatcher()); + const stopWatcher = scope.run(() => watch(() => pinia.state.value[$id], (state) => { + if (options2.flush === "sync" ? isSyncListening : isListening) { + callback({ + storeId: $id, + type: MutationType.direct, + events: debuggerEvents + }, state); + } + }, assign({}, $subscribeOptions, options2))); + return removeSubscription; + }, + $dispose + }; + const store = reactive( + assign( + { + _hmrPayload, + _customProperties: markRaw(/* @__PURE__ */ new Set()) + }, + partialStore + ) + ); + pinia._s.set($id, store); + const setupStore = pinia._e.run(() => { + scope = effectScope(); + return scope.run(() => setup()); + }); + for (const key in setupStore) { + const prop = setupStore[key]; + if (isRef(prop) && !isComputed(prop) || isReactive(prop)) { + if (hot) { + set$1(hotState.value, key, toRef(setupStore, key)); + } else if (!isOptionsStore) { + if (initialState && shouldHydrate(prop)) { + if (isRef(prop)) { + prop.value = initialState[key]; + } else { + mergeReactiveObjects(prop, initialState[key]); + } + } + { + pinia.state.value[$id][key] = prop; + } + } + { + _hmrPayload.state.push(key); + } + } else if (typeof prop === "function") { + const actionValue = hot ? prop : wrapAction(key, prop); + { + setupStore[key] = actionValue; + } + { + _hmrPayload.actions[key] = prop; + } + optionsForPlugin.actions[key] = prop; + } else { + if (isComputed(prop)) { + _hmrPayload.getters[key] = isOptionsStore ? options.getters[key] : prop; + if (IS_CLIENT) { + const getters = setupStore._getters || (setupStore._getters = markRaw([])); + getters.push(key); + } + } + } + } + { + assign(store, setupStore); + assign(toRaw(store), setupStore); + } + Object.defineProperty(store, "$state", { + get: () => hot ? hotState.value : pinia.state.value[$id], + set: (state) => { + if (hot) { + throw new Error("cannot set hotState"); + } + $patch(($state) => { + assign($state, state); + }); + } + }); + { + store._hotUpdate = markRaw((newStore) => { + store._hotUpdating = true; + newStore._hmrPayload.state.forEach((stateKey) => { + if (stateKey in store.$state) { + const newStateTarget = newStore.$state[stateKey]; + const oldStateSource = store.$state[stateKey]; + if (typeof newStateTarget === "object" && isPlainObject(newStateTarget) && isPlainObject(oldStateSource)) { + patchObject(newStateTarget, oldStateSource); + } else { + newStore.$state[stateKey] = oldStateSource; + } + } + set$1(store, stateKey, toRef(newStore.$state, stateKey)); + }); + Object.keys(store.$state).forEach((stateKey) => { + if (!(stateKey in newStore.$state)) { + del(store, stateKey); + } + }); + isListening = false; + isSyncListening = false; + pinia.state.value[$id] = toRef(newStore._hmrPayload, "hotState"); + isSyncListening = true; + nextTick().then(() => { + isListening = true; + }); + for (const actionName in newStore._hmrPayload.actions) { + const action = newStore[actionName]; + set$1(store, actionName, wrapAction(actionName, action)); + } + for (const getterName in newStore._hmrPayload.getters) { + const getter = newStore._hmrPayload.getters[getterName]; + const getterValue = isOptionsStore ? computed$1(() => { + setActivePinia(pinia); + return getter.call(store, store); + }) : getter; + set$1(store, getterName, getterValue); + } + Object.keys(store._hmrPayload.getters).forEach((key) => { + if (!(key in newStore._hmrPayload.getters)) { + del(store, key); + } + }); + Object.keys(store._hmrPayload.actions).forEach((key) => { + if (!(key in newStore._hmrPayload.actions)) { + del(store, key); + } + }); + store._hmrPayload = newStore._hmrPayload; + store._getters = newStore._getters; + store._hotUpdating = false; + }); + } + if (USE_DEVTOOLS) { + const nonEnumerable = { + writable: true, + configurable: true, + enumerable: false + }; + ["_p", "_hmrPayload", "_getters", "_customProperties"].forEach((p2) => { + Object.defineProperty(store, p2, assign({ value: store[p2] }, nonEnumerable)); + }); + } + pinia._p.forEach((extender) => { + if (USE_DEVTOOLS) { + const extensions = scope.run(() => extender({ + store, + app: pinia._a, + pinia, + options: optionsForPlugin + })); + Object.keys(extensions || {}).forEach((key) => store._customProperties.add(key)); + assign(store, extensions); + } else { + assign(store, scope.run(() => extender({ + store, + app: pinia._a, + pinia, + options: optionsForPlugin + }))); + } + }); + if (store.$state && typeof store.$state === "object" && typeof store.$state.constructor === "function" && !store.$state.constructor.toString().includes("[native code]")) { + console.warn(`[\u{1F34D}]: The "state" must be a plain object. It cannot be + state: () => new MyClass() +Found in store "${store.$id}".`); + } + if (initialState && isOptionsStore && options.hydrate) { + options.hydrate(store.$state, initialState); + } + isListening = true; + isSyncListening = true; + return store; +} +function defineStore(idOrOptions, setup, setupOptions) { + let id; + let options; + const isSetupStore = typeof setup === "function"; + if (typeof idOrOptions === "string") { + id = idOrOptions; + options = isSetupStore ? setupOptions : setup; + } else { + options = idOrOptions; + id = idOrOptions.id; + if (typeof id !== "string") { + throw new Error(`[\u{1F34D}]: "defineStore()" must be passed a store id as its first argument.`); + } + } + function useStore(pinia, hot) { + const currentInstance2 = getCurrentInstance(); + pinia = pinia || currentInstance2 && inject(piniaSymbol, null); + if (pinia) + setActivePinia(pinia); + if (!activePinia) { + throw new Error(`[\u{1F34D}]: "getActivePinia()" was called but there was no active Pinia. Did you forget to install pinia? + const pinia = createPinia() + app.use(pinia) +This will fail in production.`); + } + pinia = activePinia; + if (!pinia._s.has(id)) { + if (isSetupStore) { + createSetupStore(id, setup, options, pinia); + } else { + createOptionsStore(id, options, pinia); + } + { + useStore._pinia = pinia; + } + } + const store = pinia._s.get(id); + if (hot) { + const hotId = "__hot:" + id; + const newStore = isSetupStore ? createSetupStore(hotId, setup, options, pinia, true) : createOptionsStore(hotId, assign({}, options), pinia, true); + hot._hotUpdate(newStore); + delete pinia.state.value[hotId]; + pinia._s.delete(hotId); + } + if (IS_CLIENT && currentInstance2 && currentInstance2.proxy && !hot) { + const vm = currentInstance2.proxy; + const cache = "_pStores" in vm ? vm._pStores : vm._pStores = {}; + cache[id] = store; + } + return store; + } + useStore.$id = id; + return useStore; +} +function storeToRefs(store) { + { + store = toRaw(store); + const refs = {}; + for (const key in store) { + const value = store[key]; + if (isRef(value) || isReactive(value)) { + refs[key] = toRef(store, key); + } + } + return refs; + } +} +function isObject(v2) { + return typeof v2 === "object" && v2 !== null; +} +function normalizeOptions(options, factoryOptions) { + options = isObject(options) ? options : /* @__PURE__ */ Object.create(null); + return new Proxy(options, { + get(target, key, receiver) { + return Reflect.get(target, key, receiver) || Reflect.get(factoryOptions, key, receiver); + } + }); +} +function isObject2(value) { + return value !== null && typeof value === "object"; +} +function merge(destination, source) { + const mergingArrays = Array.isArray(destination) && Array.isArray(source); + const mergingObjects = isObject2(destination) && isObject2(source); + if (!mergingArrays && !mergingObjects) { + throw new Error("Can only merge object with object or array with array"); + } + const result = mergingArrays ? [] : {}; + const keys = [...Object.keys(destination), ...Object.keys(source)]; + keys.forEach((key) => { + if (Array.isArray(destination[key]) && Array.isArray(source[key])) { + result[key] = [ + ...Object.values( + merge(destination[key], source[key]) + ) + ]; + } else if (source[key] !== null && typeof source[key] === "object" && typeof destination[key] === "object") { + result[key] = merge( + destination[key], + source[key] + ); + } else if (destination[key] !== void 0 && source[key] === void 0) { + result[key] = destination[key]; + } else if (destination[key] === void 0 && source[key] !== void 0) { + result[key] = source[key]; + } + }); + return result; +} +function get(state, path) { + return path.reduce((obj, p2) => { + if (p2 === "[]" && Array.isArray(obj)) + return obj; + return obj == null ? void 0 : obj[p2]; + }, state); +} +function set(state, path, val) { + const modifiedState = path.slice(0, -1).reduce((obj, p2) => { + if (!/^(__proto__)$/.test(p2)) + return obj[p2] = obj[p2] || {}; + else + return {}; + }, state); + if (Array.isArray(modifiedState[path[path.length - 1]]) && Array.isArray(val)) { + const merged = modifiedState[path[path.length - 1]].map( + (item, index2) => { + if (Array.isArray(item) && typeof item !== "object") { + return [...item, ...val[index2]]; + } + if (typeof item === "object" && item !== null && Object.keys(item).some((key) => Array.isArray(item[key]))) { + return merge(item, val[index2]); + } + return { + ...item, + ...val[index2] + }; + } + ); + modifiedState[path[path.length - 1]] = merged; + } else if (path[path.length - 1] === void 0 && Array.isArray(modifiedState) && Array.isArray(val)) { + modifiedState.push(...val); + } else { + modifiedState[path[path.length - 1]] = val; + } + return state; +} +function pick(baseState, paths) { + return paths.reduce( + (substate, path) => { + const pathArray = path.split("."); + if (!pathArray.includes("[]")) { + return set(substate, pathArray, get(baseState, pathArray)); + } + const arrayIndex = pathArray.indexOf("[]"); + const pathArrayBeforeArray = pathArray.slice(0, arrayIndex); + const pathArrayUntilArray = pathArray.slice(0, arrayIndex + 1); + const pathArrayAfterArray = pathArray.slice(arrayIndex + 1); + const referencedArray = get( + baseState, + pathArrayUntilArray + ); + const referencedArraySubstate = []; + for (const item of referencedArray) { + if (pathArrayAfterArray.length !== 0 && (Array.isArray(item) || typeof item === "object")) { + referencedArraySubstate.push( + pick(item, [pathArrayAfterArray.join(".")]) + ); + } else { + referencedArraySubstate.push(item); + } + } + return set(substate, pathArrayBeforeArray, referencedArraySubstate); + }, + Array.isArray(baseState) ? [] : {} + ); +} +function hydrateStore(store, storage, serializer, key, debug) { + try { + const fromStorage = storage == null ? void 0 : storage.getItem(key); + if (fromStorage) + store.$patch(serializer == null ? void 0 : serializer.deserialize(fromStorage)); + } catch (error) { + if (debug) + console.error(error); + } +} +function createPersistedState(factoryOptions = {}) { + return (context) => { + const { + options: { persist }, + store + } = context; + if (!persist) + return; + const persistences = (Array.isArray(persist) ? persist.map((p2) => normalizeOptions(p2, factoryOptions)) : [normalizeOptions(persist, factoryOptions)]).map( + ({ + storage = localStorage, + beforeRestore = null, + afterRestore = null, + serializer = { + serialize: JSON.stringify, + deserialize: JSON.parse + }, + key = store.$id, + paths = null, + debug = false + }) => ({ + storage, + beforeRestore, + afterRestore, + serializer, + key, + paths, + debug + }) + ); + persistences.forEach((persistence) => { + const { + storage, + serializer, + key, + paths, + beforeRestore, + afterRestore, + debug + } = persistence; + beforeRestore == null ? void 0 : beforeRestore(context); + hydrateStore(store, storage, serializer, key, debug); + afterRestore == null ? void 0 : afterRestore(context); + store.$subscribe( + (_mutation, state) => { + try { + const toStore = Array.isArray(paths) ? pick(state, paths) : state; + storage.setItem(key, serializer.serialize(toStore)); + } catch (error) { + if (debug) + console.error(error); + } + }, + { + detached: true + } + ); + }); + store.$hydrate = ({ runHooks = true } = {}) => { + persistences.forEach((persistence) => { + const { beforeRestore, afterRestore, storage, serializer, key, debug } = persistence; + if (runHooks) + beforeRestore == null ? void 0 : beforeRestore(context); + hydrateStore(store, storage, serializer, key, debug); + if (runHooks) + afterRestore == null ? void 0 : afterRestore(context); + }); + }; + }; +} +const createHook = (lifecycle) => (hook, target = getCurrentInstance()) => { + !isInSSRComponentSetup && injectHook(lifecycle, hook, target); +}; +const onShow = /* @__PURE__ */ createHook(ON_SHOW); +const onHide = /* @__PURE__ */ createHook(ON_HIDE); +const onLaunch = /* @__PURE__ */ createHook(ON_LAUNCH); +const onLoad = /* @__PURE__ */ createHook(ON_LOAD); +function deepClone(obj, cache = /* @__PURE__ */ new Map()) { + if (obj === null || typeof obj !== "object") { + return obj; + } + if (isDate(obj)) { + return new Date(obj.getTime()); + } + if (obj instanceof RegExp) { + return new RegExp(obj.source, obj.flags); + } + if (obj instanceof Error) { + const errorCopy = new Error(obj.message); + errorCopy.stack = obj.stack; + return errorCopy; + } + if (cache.has(obj)) { + return cache.get(obj); + } + const copy = Array.isArray(obj) ? [] : {}; + cache.set(obj, copy); + for (const key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + copy[key] = deepClone(obj[key], cache); + } + } + return copy; +} +function deepMerge(target, source) { + target = deepClone(target); + if (typeof target !== "object" || typeof source !== "object") { + throw new Error("Both target and source must be objects."); + } + for (const prop in source) { + if (!source.hasOwnProperty(prop)) + continue; + target[prop] = source[prop]; + } + return target; +} +const isDate = (val) => Object.prototype.toString.call(val) === "[object Date]" && !Number.isNaN(val.getTime()); +const toastDefaultOptionKey = "__TOAST_OPTION__"; +const defaultOptions$1 = { + duration: 2e3, + show: false +}; +const None$1 = Symbol("None"); +function useToast(selector = "") { + const toastOptionKey = getToastOptionKey(selector); + const toastOption = inject(toastOptionKey, ref(None$1)); + if (toastOption.value === None$1) { + toastOption.value = defaultOptions$1; + provide(toastOptionKey, toastOption); + } + let timer = null; + const createMethod = (toastOptions) => { + return (options) => { + return show(deepMerge(toastOptions, typeof options === "string" ? { msg: options } : options)); + }; + }; + const show = (option) => { + const options = deepMerge(defaultOptions$1, typeof option === "string" ? { msg: option } : option); + toastOption.value = deepMerge(options, { + show: true + }); + timer && clearTimeout(timer); + if (toastOption.value.duration && toastOption.value.duration > 0) { + timer = setTimeout(() => { + timer && clearTimeout(timer); + close(); + }, options.duration); + } + }; + const loading = createMethod({ + iconName: "loading", + duration: 0, + cover: true + }); + const success = createMethod({ + iconName: "success", + duration: 1500 + }); + const error = createMethod({ iconName: "error" }); + const warning = createMethod({ iconName: "warning" }); + const info = createMethod({ iconName: "info" }); + const close = () => { + toastOption.value = { show: false }; + }; + return { + show, + loading, + success, + error, + warning, + info, + close + }; +} +const getToastOptionKey = (selector) => { + return selector ? `${toastDefaultOptionKey}${selector}` : toastDefaultOptionKey; +}; +const messageDefaultOptionKey = "__MESSAGE_OPTION__"; +const None = Symbol("None"); +const defaultOptions = { + title: "", + showCancelButton: false, + show: false, + closeOnClickModal: true, + msg: "", + type: "alert", + inputType: "text", + inputValue: "", + showErr: false, + zIndex: 99, + lazyRender: true, + inputError: "" +}; +function useMessage(selector = "") { + const messageOptionKey = selector ? messageDefaultOptionKey + selector : messageDefaultOptionKey; + const messageOption = inject(messageOptionKey, ref(None)); + if (messageOption.value === None) { + messageOption.value = defaultOptions; + provide(messageOptionKey, messageOption); + } + const createMethod = (type) => { + return (options) => { + const messageOptions = deepMerge({ type }, typeof options === "string" ? { title: options } : options); + if (messageOptions.type === "confirm" || messageOptions.type === "prompt") { + messageOptions.showCancelButton = true; + } else { + messageOptions.showCancelButton = false; + } + return show(messageOptions); + }; + }; + const show = (option) => { + return new Promise((resolve2, reject) => { + const options = deepMerge(defaultOptions, typeof option === "string" ? { title: option } : option); + messageOption.value = deepMerge(options, { + show: true, + success: (res) => { + close(); + resolve2(res); + }, + fail: (res) => { + close(); + reject(res); + } + }); + }); + }; + const alert = createMethod("alert"); + const confirm = createMethod("confirm"); + const prompt = createMethod("prompt"); + const close = () => { + if (messageOption.value !== None) { + messageOption.value.show = false; + } + }; + return { + show, + alert, + confirm, + prompt, + close + }; +} +var zhCN = { + calendar: { + placeholder: "\u8BF7\u9009\u62E9", + title: "\u9009\u62E9\u65E5\u671F", + day: "\u65E5", + week: "\u5468", + month: "\u6708", + confirm: "\u786E\u5B9A", + startTime: "\u5F00\u59CB\u65F6\u95F4", + endTime: "\u7ED3\u675F\u65F6\u95F4", + to: "\u81F3", + timeFormat: "YY\u5E74MM\u6708DD\u65E5 HH:mm:ss", + dateFormat: "YYYY\u5E74MM\u6708DD\u65E5", + weekFormat: (year, week) => `${year} \u7B2C ${week} \u5468`, + startWeek: "\u5F00\u59CB\u5468", + endWeek: "\u7ED3\u675F\u5468", + startMonth: "\u5F00\u59CB\u6708", + endMonth: "\u7ED3\u675F\u6708", + monthFormat: "YYYY\u5E74MM\u6708" + }, + calendarView: { + startTime: "\u5F00\u59CB", + endTime: "\u7ED3\u675F", + weeks: { + sun: "\u65E5", + mon: "\u4E00", + tue: "\u4E8C", + wed: "\u4E09", + thu: "\u56DB", + fri: "\u4E94", + sat: "\u516D" + }, + rangePrompt: (maxRange) => `\u9009\u62E9\u5929\u6570\u4E0D\u80FD\u8D85\u8FC7${maxRange}\u5929`, + rangePromptWeek: (maxRange) => `\u9009\u62E9\u5468\u6570\u4E0D\u80FD\u8D85\u8FC7${maxRange}\u5468`, + rangePromptMonth: (maxRange) => `\u9009\u62E9\u6708\u4EFD\u4E0D\u80FD\u8D85\u8FC7${maxRange}\u4E2A\u6708`, + monthTitle: "YYYY\u5E74M\u6708", + yearTitle: "YYYY\u5E74", + month: "M\u6708", + hour: (value) => `${value}\u65F6`, + minute: (value) => `${value}\u5206`, + second: (value) => `${value}\u79D2` + }, + collapse: { + expand: "\u5C55\u5F00", + retract: "\u6536\u8D77" + }, + colPicker: { + title: "\u8BF7\u9009\u62E9", + placeholder: "\u8BF7\u9009\u62E9", + select: "\u8BF7\u9009\u62E9" + }, + datetimePicker: { + start: "\u5F00\u59CB\u65F6\u95F4", + end: "\u7ED3\u675F\u65F6\u95F4", + to: "\u81F3", + placeholder: "\u8BF7\u9009\u62E9", + confirm: "\u5B8C\u6210", + cancel: "\u53D6\u6D88" + }, + loadmore: { + loading: "\u6B63\u5728\u52AA\u529B\u52A0\u8F7D\u4E2D...", + finished: "\u5DF2\u52A0\u8F7D\u5B8C\u6BD5", + error: "\u52A0\u8F7D\u5931\u8D25", + retry: "\u70B9\u51FB\u91CD\u8BD5" + }, + messageBox: { + inputPlaceholder: "\u8BF7\u8F93\u5165", + confirm: "\u786E\u5B9A", + cancel: "\u53D6\u6D88", + inputNoValidate: "\u8F93\u5165\u7684\u6570\u636E\u4E0D\u5408\u6CD5" + }, + numberKeyboard: { + confirm: "\u5B8C\u6210" + }, + pagination: { + prev: "\u4E0A\u4E00\u9875", + next: "\u4E0B\u4E00\u9875", + page: (value) => `\u5F53\u524D\u9875\uFF1A${value}`, + total: (total) => `\u5F53\u524D\u6570\u636E\uFF1A${total}\u6761`, + size: (size2) => `\u5206\u9875\u5927\u5C0F\uFF1A${size2}` + }, + picker: { + cancel: "\u53D6\u6D88", + done: "\u5B8C\u6210", + placeholder: "\u8BF7\u9009\u62E9" + }, + imgCropper: { + confirm: "\u5B8C\u6210", + cancel: "\u53D6\u6D88" + }, + search: { + search: "\u641C\u7D22", + cancel: "\u53D6\u6D88" + }, + steps: { + wait: "\u672A\u5F00\u59CB", + finished: "\u5DF2\u5B8C\u6210", + process: "\u8FDB\u884C\u4E2D", + failed: "\u5931\u8D25" + }, + tabs: { + all: "\u5168\u90E8" + }, + upload: { + error: "\u4E0A\u4F20\u5931\u8D25" + }, + input: { + placeholder: "\u8BF7\u8F93\u5165..." + }, + selectPicker: { + title: "\u8BF7\u9009\u62E9", + placeholder: "\u8BF7\u9009\u62E9", + select: "\u8BF7\u9009\u62E9", + confirm: "\u786E\u8BA4", + filterPlaceholder: "\u641C\u7D22" + }, + tag: { + placeholder: "\u8BF7\u8F93\u5165", + add: "\u65B0\u589E\u6807\u7B7E" + }, + textarea: { + placeholder: "\u8BF7\u8F93\u5165..." + }, + tableCol: { + indexLabel: "\u5E8F\u53F7" + }, + signature: { + confirmText: "\u786E\u8BA4", + clearText: "\u6E05\u7A7A", + revokeText: "\u64A4\u9500", + restoreText: "\u6062\u590D" + } +}; +ref("zh-CN"); +reactive({ + "zh-CN": zhCN +}); +var SECONDS_A_MINUTE = 60; +var SECONDS_A_HOUR = SECONDS_A_MINUTE * 60; +var SECONDS_A_DAY = SECONDS_A_HOUR * 24; +var SECONDS_A_WEEK = SECONDS_A_DAY * 7; +var MILLISECONDS_A_SECOND = 1e3; +var MILLISECONDS_A_MINUTE = SECONDS_A_MINUTE * MILLISECONDS_A_SECOND; +var MILLISECONDS_A_HOUR = SECONDS_A_HOUR * MILLISECONDS_A_SECOND; +var MILLISECONDS_A_DAY = SECONDS_A_DAY * MILLISECONDS_A_SECOND; +var MILLISECONDS_A_WEEK = SECONDS_A_WEEK * MILLISECONDS_A_SECOND; +var MS = "millisecond"; +var S$1 = "second"; +var MIN = "minute"; +var H$1 = "hour"; +var D$1 = "day"; +var W$1 = "week"; +var M$1 = "month"; +var Q$1 = "quarter"; +var Y$1 = "year"; +var DATE = "date"; +var FORMAT_DEFAULT = "YYYY-MM-DDTHH:mm:ssZ"; +var INVALID_DATE_STRING = "Invalid Date"; +var REGEX_PARSE = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/; +var REGEX_FORMAT = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g; +var en = { + name: "en", + weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), + months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), + ordinal: function ordinal(n2) { + var s2 = ["th", "st", "nd", "rd"]; + var v2 = n2 % 100; + return "[" + n2 + (s2[(v2 - 20) % 10] || s2[v2] || s2[0]) + "]"; + } +}; +var padStart = function padStart2(string, length, pad) { + var s2 = String(string); + if (!s2 || s2.length >= length) + return string; + return "" + Array(length + 1 - s2.length).join(pad) + string; +}; +var padZoneStr = function padZoneStr2(instance) { + var negMinutes = -instance.utcOffset(); + var minutes = Math.abs(negMinutes); + var hourOffset = Math.floor(minutes / 60); + var minuteOffset = minutes % 60; + return (negMinutes <= 0 ? "+" : "-") + padStart(hourOffset, 2, "0") + ":" + padStart(minuteOffset, 2, "0"); +}; +var monthDiff = function monthDiff2(a2, b2) { + if (a2.date() < b2.date()) + return -monthDiff2(b2, a2); + var wholeMonthDiff = (b2.year() - a2.year()) * 12 + (b2.month() - a2.month()); + var anchor = a2.clone().add(wholeMonthDiff, M$1); + var c2 = b2 - anchor < 0; + var anchor2 = a2.clone().add(wholeMonthDiff + (c2 ? -1 : 1), M$1); + return +(-(wholeMonthDiff + (b2 - anchor) / (c2 ? anchor - anchor2 : anchor2 - anchor)) || 0); +}; +var absFloor = function absFloor2(n2) { + return n2 < 0 ? Math.ceil(n2) || 0 : Math.floor(n2); +}; +var prettyUnit = function prettyUnit2(u2) { + var special = { + M: M$1, + y: Y$1, + w: W$1, + d: D$1, + D: DATE, + h: H$1, + m: MIN, + s: S$1, + ms: MS, + Q: Q$1 + }; + return special[u2] || String(u2 || "").toLowerCase().replace(/s$/, ""); +}; +var isUndefined = function isUndefined2(s2) { + return s2 === void 0; +}; +var U$1 = { + s: padStart, + z: padZoneStr, + m: monthDiff, + a: absFloor, + p: prettyUnit, + u: isUndefined +}; +var L$1 = "en"; +var Ls = {}; +Ls[L$1] = en; +var IS_DAYJS = "$isDayjsObject"; +var isDayjs = function isDayjs2(d2) { + return d2 instanceof Dayjs || !!(d2 && d2[IS_DAYJS]); +}; +var parseLocale = function parseLocale2(preset, object, isLocal) { + var l2; + if (!preset) + return L$1; + if (typeof preset === "string") { + var presetLower = preset.toLowerCase(); + if (Ls[presetLower]) { + l2 = presetLower; + } + if (object) { + Ls[presetLower] = object; + l2 = presetLower; + } + var presetSplit = preset.split("-"); + if (!l2 && presetSplit.length > 1) { + return parseLocale2(presetSplit[0]); + } + } else { + var name = preset.name; + Ls[name] = preset; + l2 = name; + } + if (!isLocal && l2) + L$1 = l2; + return l2 || !isLocal && L$1; +}; +var dayjs = function dayjs2(date, c2) { + if (isDayjs(date)) { + return date.clone(); + } + var cfg = typeof c2 === "object" ? c2 : {}; + cfg.date = date; + cfg.args = arguments; + return new Dayjs(cfg); +}; +var wrapper = function wrapper2(date, instance) { + return dayjs(date, { + locale: instance.$L, + utc: instance.$u, + x: instance.$x, + $offset: instance.$offset + }); +}; +var Utils = U$1; +Utils.l = parseLocale; +Utils.i = isDayjs; +Utils.w = wrapper; +var parseDate = function parseDate2(cfg) { + var date = cfg.date, utc = cfg.utc; + if (date === null) + return new Date(NaN); + if (Utils.u(date)) + return new Date(); + if (date instanceof Date) + return new Date(date); + if (typeof date === "string" && !/Z$/i.test(date)) { + var d2 = date.match(REGEX_PARSE); + if (d2) { + var m2 = d2[2] - 1 || 0; + var ms = (d2[7] || "0").substring(0, 3); + if (utc) { + return new Date(Date.UTC(d2[1], m2, d2[3] || 1, d2[4] || 0, d2[5] || 0, d2[6] || 0, ms)); + } + return new Date(d2[1], m2, d2[3] || 1, d2[4] || 0, d2[5] || 0, d2[6] || 0, ms); + } + } + return new Date(date); +}; +var Dayjs = /* @__PURE__ */ function() { + function Dayjs2(cfg) { + this.$L = parseLocale(cfg.locale, null, true); + this.parse(cfg); + this.$x = this.$x || cfg.x || {}; + this[IS_DAYJS] = true; + } + var _proto = Dayjs2.prototype; + _proto.parse = function parse(cfg) { + this.$d = parseDate(cfg); + this.init(); + }; + _proto.init = function init() { + var $d = this.$d; + this.$y = $d.getFullYear(); + this.$M = $d.getMonth(); + this.$D = $d.getDate(); + this.$W = $d.getDay(); + this.$H = $d.getHours(); + this.$m = $d.getMinutes(); + this.$s = $d.getSeconds(); + this.$ms = $d.getMilliseconds(); + }; + _proto.$utils = function $utils() { + return Utils; + }; + _proto.isValid = function isValid() { + return !(this.$d.toString() === INVALID_DATE_STRING); + }; + _proto.isSame = function isSame(that, units) { + var other = dayjs(that); + return this.startOf(units) <= other && other <= this.endOf(units); + }; + _proto.isAfter = function isAfter(that, units) { + return dayjs(that) < this.startOf(units); + }; + _proto.isBefore = function isBefore(that, units) { + return this.endOf(units) < dayjs(that); + }; + _proto.$g = function $g(input, get2, set2) { + if (Utils.u(input)) + return this[get2]; + return this.set(set2, input); + }; + _proto.unix = function unix() { + return Math.floor(this.valueOf() / 1e3); + }; + _proto.valueOf = function valueOf() { + return this.$d.getTime(); + }; + _proto.startOf = function startOf(units, _startOf) { + var _this = this; + var isStartOf = !Utils.u(_startOf) ? _startOf : true; + var unit = Utils.p(units); + var instanceFactory = function instanceFactory2(d2, m2) { + var ins = Utils.w(_this.$u ? Date.UTC(_this.$y, m2, d2) : new Date(_this.$y, m2, d2), _this); + return isStartOf ? ins : ins.endOf(D$1); + }; + var instanceFactorySet = function instanceFactorySet2(method, slice) { + var argumentStart = [0, 0, 0, 0]; + var argumentEnd = [23, 59, 59, 999]; + return Utils.w(_this.toDate()[method].apply( + _this.toDate("s"), + (isStartOf ? argumentStart : argumentEnd).slice(slice) + ), _this); + }; + var $W = this.$W, $M = this.$M, $D = this.$D; + var utcPad = "set" + (this.$u ? "UTC" : ""); + switch (unit) { + case Y$1: + return isStartOf ? instanceFactory(1, 0) : instanceFactory(31, 11); + case M$1: + return isStartOf ? instanceFactory(1, $M) : instanceFactory(0, $M + 1); + case W$1: { + var weekStart = this.$locale().weekStart || 0; + var gap = ($W < weekStart ? $W + 7 : $W) - weekStart; + return instanceFactory(isStartOf ? $D - gap : $D + (6 - gap), $M); + } + case D$1: + case DATE: + return instanceFactorySet(utcPad + "Hours", 0); + case H$1: + return instanceFactorySet(utcPad + "Minutes", 1); + case MIN: + return instanceFactorySet(utcPad + "Seconds", 2); + case S$1: + return instanceFactorySet(utcPad + "Milliseconds", 3); + default: + return this.clone(); + } + }; + _proto.endOf = function endOf(arg) { + return this.startOf(arg, false); + }; + _proto.$set = function $set(units, _int) { + var _C$D$C$DATE$C$M$C$Y$C; + var unit = Utils.p(units); + var utcPad = "set" + (this.$u ? "UTC" : ""); + var name = (_C$D$C$DATE$C$M$C$Y$C = {}, _C$D$C$DATE$C$M$C$Y$C[D$1] = utcPad + "Date", _C$D$C$DATE$C$M$C$Y$C[DATE] = utcPad + "Date", _C$D$C$DATE$C$M$C$Y$C[M$1] = utcPad + "Month", _C$D$C$DATE$C$M$C$Y$C[Y$1] = utcPad + "FullYear", _C$D$C$DATE$C$M$C$Y$C[H$1] = utcPad + "Hours", _C$D$C$DATE$C$M$C$Y$C[MIN] = utcPad + "Minutes", _C$D$C$DATE$C$M$C$Y$C[S$1] = utcPad + "Seconds", _C$D$C$DATE$C$M$C$Y$C[MS] = utcPad + "Milliseconds", _C$D$C$DATE$C$M$C$Y$C)[unit]; + var arg = unit === D$1 ? this.$D + (_int - this.$W) : _int; + if (unit === M$1 || unit === Y$1) { + var date = this.clone().set(DATE, 1); + date.$d[name](arg); + date.init(); + this.$d = date.set(DATE, Math.min(this.$D, date.daysInMonth())).$d; + } else if (name) + this.$d[name](arg); + this.init(); + return this; + }; + _proto.set = function set2(string, _int2) { + return this.clone().$set(string, _int2); + }; + _proto.get = function get2(unit) { + return this[Utils.p(unit)](); + }; + _proto.add = function add2(number, units) { + var _this2 = this, _C$MIN$C$H$C$S$unit; + number = Number(number); + var unit = Utils.p(units); + var instanceFactorySet = function instanceFactorySet2(n2) { + var d2 = dayjs(_this2); + return Utils.w(d2.date(d2.date() + Math.round(n2 * number)), _this2); + }; + if (unit === M$1) { + return this.set(M$1, this.$M + number); + } + if (unit === Y$1) { + return this.set(Y$1, this.$y + number); + } + if (unit === D$1) { + return instanceFactorySet(1); + } + if (unit === W$1) { + return instanceFactorySet(7); + } + var step = (_C$MIN$C$H$C$S$unit = {}, _C$MIN$C$H$C$S$unit[MIN] = MILLISECONDS_A_MINUTE, _C$MIN$C$H$C$S$unit[H$1] = MILLISECONDS_A_HOUR, _C$MIN$C$H$C$S$unit[S$1] = MILLISECONDS_A_SECOND, _C$MIN$C$H$C$S$unit)[unit] || 1; + var nextTimeStamp = this.$d.getTime() + number * step; + return Utils.w(nextTimeStamp, this); + }; + _proto.subtract = function subtract(number, string) { + return this.add(number * -1, string); + }; + _proto.format = function format(formatStr) { + var _this3 = this; + var locale = this.$locale(); + if (!this.isValid()) + return locale.invalidDate || INVALID_DATE_STRING; + var str = formatStr || FORMAT_DEFAULT; + var zoneStr = Utils.z(this); + var $H = this.$H, $m = this.$m, $M = this.$M; + var weekdays = locale.weekdays, months = locale.months, meridiem = locale.meridiem; + var getShort = function getShort2(arr, index2, full, length) { + return arr && (arr[index2] || arr(_this3, str)) || full[index2].slice(0, length); + }; + var get$H = function get$H2(num) { + return Utils.s($H % 12 || 12, num, "0"); + }; + var meridiemFunc = meridiem || function(hour, minute, isLowercase) { + var m2 = hour < 12 ? "AM" : "PM"; + return isLowercase ? m2.toLowerCase() : m2; + }; + var matches = function matches2(match) { + switch (match) { + case "YY": + return String(_this3.$y).slice(-2); + case "YYYY": + return Utils.s(_this3.$y, 4, "0"); + case "M": + return $M + 1; + case "MM": + return Utils.s($M + 1, 2, "0"); + case "MMM": + return getShort(locale.monthsShort, $M, months, 3); + case "MMMM": + return getShort(months, $M); + case "D": + return _this3.$D; + case "DD": + return Utils.s(_this3.$D, 2, "0"); + case "d": + return String(_this3.$W); + case "dd": + return getShort(locale.weekdaysMin, _this3.$W, weekdays, 2); + case "ddd": + return getShort(locale.weekdaysShort, _this3.$W, weekdays, 3); + case "dddd": + return weekdays[_this3.$W]; + case "H": + return String($H); + case "HH": + return Utils.s($H, 2, "0"); + case "h": + return get$H(1); + case "hh": + return get$H(2); + case "a": + return meridiemFunc($H, $m, true); + case "A": + return meridiemFunc($H, $m, false); + case "m": + return String($m); + case "mm": + return Utils.s($m, 2, "0"); + case "s": + return String(_this3.$s); + case "ss": + return Utils.s(_this3.$s, 2, "0"); + case "SSS": + return Utils.s(_this3.$ms, 3, "0"); + case "Z": + return zoneStr; + } + return null; + }; + return str.replace(REGEX_FORMAT, function(match, $1) { + return $1 || matches(match) || zoneStr.replace(":", ""); + }); + }; + _proto.utcOffset = function utcOffset() { + return -Math.round(this.$d.getTimezoneOffset() / 15) * 15; + }; + _proto.diff = function diff2(input, units, _float) { + var _this4 = this; + var unit = Utils.p(units); + var that = dayjs(input); + var zoneDelta = (that.utcOffset() - this.utcOffset()) * MILLISECONDS_A_MINUTE; + var diff3 = this - that; + var getMonth = function getMonth2() { + return Utils.m(_this4, that); + }; + var result; + switch (unit) { + case Y$1: + result = getMonth() / 12; + break; + case M$1: + result = getMonth(); + break; + case Q$1: + result = getMonth() / 3; + break; + case W$1: + result = (diff3 - zoneDelta) / MILLISECONDS_A_WEEK; + break; + case D$1: + result = (diff3 - zoneDelta) / MILLISECONDS_A_DAY; + break; + case H$1: + result = diff3 / MILLISECONDS_A_HOUR; + break; + case MIN: + result = diff3 / MILLISECONDS_A_MINUTE; + break; + case S$1: + result = diff3 / MILLISECONDS_A_SECOND; + break; + default: + result = diff3; + break; + } + return _float ? result : Utils.a(result); + }; + _proto.daysInMonth = function daysInMonth() { + return this.endOf(M$1).$D; + }; + _proto.$locale = function $locale() { + return Ls[this.$L]; + }; + _proto.locale = function locale(preset, object) { + if (!preset) + return this.$L; + var that = this.clone(); + var nextLocaleName = parseLocale(preset, object, true); + if (nextLocaleName) + that.$L = nextLocaleName; + return that; + }; + _proto.clone = function clone2() { + return Utils.w(this.$d, this); + }; + _proto.toDate = function toDate() { + return new Date(this.valueOf()); + }; + _proto.toJSON = function toJSON() { + return this.isValid() ? this.toISOString() : null; + }; + _proto.toISOString = function toISOString() { + return this.$d.toISOString(); + }; + _proto.toString = function toString() { + return this.$d.toUTCString(); + }; + return Dayjs2; +}(); +var proto = Dayjs.prototype; +dayjs.prototype = proto; +[["$ms", MS], ["$s", S$1], ["$m", MIN], ["$H", H$1], ["$W", D$1], ["$M", M$1], ["$y", Y$1], ["$D", DATE]].forEach(function(g2) { + proto[g2[1]] = function(input) { + return this.$g(input, g2[0], g2[1]); + }; +}); +dayjs.extend = function(plugin2, option) { + if (!plugin2.$i) { + plugin2(option, Dayjs, dayjs); + plugin2.$i = true; + } + return dayjs; +}; +dayjs.locale = parseLocale; +dayjs.isDayjs = isDayjs; +dayjs.unix = function(timestamp) { + return dayjs(timestamp * 1e3); +}; +dayjs.en = Ls[L$1]; +dayjs.Ls = Ls; +dayjs.p = {}; +var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {}; +var textEncodingShim = { exports: {} }; +(function(module, exports2) { + (function(root, factory) { + { + module.exports = factory(); + } + })(commonjsGlobal, function() { + var g2 = typeof commonjsGlobal !== "undefined" ? commonjsGlobal : self; + if (typeof g2.TextEncoder !== "undefined" && typeof g2.TextDecoder !== "undefined") { + return { "TextEncoder": g2.TextEncoder, "TextDecoder": g2.TextDecoder }; + } + var utf8Encodings = [ + "utf8", + "utf-8", + "unicode-1-1-utf-8" + ]; + var TextEncoder = function(encoding) { + if (utf8Encodings.indexOf(encoding) < 0 && typeof encoding !== "undefined" && encoding !== null) { + throw new RangeError("Invalid encoding type. Only utf-8 is supported"); + } else { + this.encoding = "utf-8"; + this.encode = function(str) { + if (typeof str !== "string") { + throw new TypeError("passed argument must be of type string"); + } + var binstr = unescape(encodeURIComponent(str)), arr = new Uint8Array(binstr.length); + binstr.split("").forEach(function(char, i2) { + arr[i2] = char.charCodeAt(0); + }); + return arr; + }; + } + }; + var TextDecoder = function(encoding, options) { + if (utf8Encodings.indexOf(encoding) < 0 && typeof encoding !== "undefined" && encoding !== null) { + throw new RangeError("Invalid encoding type. Only utf-8 is supported"); + } + this.encoding = "utf-8"; + this.ignoreBOM = false; + this.fatal = typeof options !== "undefined" && "fatal" in options ? options.fatal : false; + if (typeof this.fatal !== "boolean") { + throw new TypeError("fatal flag must be boolean"); + } + this.decode = function(view, options2) { + if (typeof view === "undefined") { + return ""; + } + var stream = typeof options2 !== "undefined" && "stream" in options2 ? options2.stream : false; + if (typeof stream !== "boolean") { + throw new TypeError("stream option must be boolean"); + } + if (!ArrayBuffer.isView(view)) { + throw new TypeError("passed argument must be an array buffer view"); + } else { + var arr = new Uint8Array(view.buffer, view.byteOffset, view.byteLength), charArr = new Array(arr.length); + arr.forEach(function(charcode, i2) { + charArr[i2] = String.fromCharCode(charcode); + }); + return decodeURIComponent(escape(charArr.join(""))); + } + }; + }; + return { "TextEncoder": TextEncoder, "TextDecoder": TextDecoder }; + }); +})(textEncodingShim); +var t = function(e2, n2) { + return t = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(t2, e3) { + t2.__proto__ = e3; + } || function(t2, e3) { + for (var n3 in e3) + Object.prototype.hasOwnProperty.call(e3, n3) && (t2[n3] = e3[n3]); + }, t(e2, n2); +}; +function e(e2, n2) { + if ("function" != typeof n2 && null !== n2) + throw new TypeError("Class extends value " + String(n2) + " is not a constructor or null"); + function r2() { + this.constructor = e2; + } + t(e2, n2), e2.prototype = null === n2 ? Object.create(n2) : (r2.prototype = n2.prototype, new r2()); +} +function n(t2, e2, n2, r2) { + var a2, o2 = arguments.length, i2 = o2 < 3 ? e2 : null === r2 ? r2 = Object.getOwnPropertyDescriptor(e2, n2) : r2; + if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) + i2 = Reflect.decorate(t2, e2, n2, r2); + else + for (var u2 = t2.length - 1; u2 >= 0; u2--) + (a2 = t2[u2]) && (i2 = (o2 < 3 ? a2(i2) : o2 > 3 ? a2(e2, n2, i2) : a2(e2, n2)) || i2); + return o2 > 3 && i2 && Object.defineProperty(e2, n2, i2), i2; +} +function r(t2, e2, n2) { + if (n2 || 2 === arguments.length) + for (var r2, a2 = 0, o2 = e2.length; a2 < o2; a2++) + !r2 && a2 in e2 || (r2 || (r2 = Array.prototype.slice.call(e2, 0, a2)), r2[a2] = e2[a2]); + return t2.concat(r2 || Array.prototype.slice.call(e2)); +} +"function" == typeof SuppressedError && SuppressedError; +var a = { ms: "millisecond", s: "second", m: "minute", h: "hour", d: "day", w: "week", M: "month", q: "quarter", y: "year", lh: "lunarhour", ld: "lunarday", lM: "lunarmonth", ly: "lunaryear", ch: "char8hour", cd: "char8day", cM: "char8month", cy: "char8year" }, o = /* @__PURE__ */ new Set(["lunarhour", "lunarday", "lunarmonth", "lunaryear"]), i = "Invalid Date", u = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, c = /\[([^\]]+)]|cZ|t|T|lYn|lMn|lDn|lHn|lY|lM|lL|lD|lH|cYsn|cYs|cYbn|cYb|cYn|cY|cMsn|cMs|cMbn|cMb|cMn|cM|cDsn|cDs|cDbn|cDb|cDn|cD|cHsn|cHs|cHbn|cHb|cHn|cH|dRr|dR|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, s = [[9], [5, 9, 7], [0, 2, 4], [1], [4, 1, 9], [2, 6, 4], [3, 5], [5, 3, 1], [6, 8, 4], [7], [4, 7, 3], [8, 0]], l = [2018, 12, 7], f = [2022, 3, 12], h = { name: "zh", leap: "\u958F", lunarYearUnit: "\u5E74", lunarHourUnit: "\u6642", bigMonth: "\u5927", smallMonth: "\u5C0F", weekdays: ["\u661F\u671F\u65E5", "\u661F\u671F\u4E00", "\u661F\u671F\u4E8C", "\u661F\u671F\u4E09", "\u661F\u671F\u56DB", "\u661F\u671F\u4E94", "\u661F\u671F\u516D"], weekdaysShort: ["\u9031\u65E5", "\u9031\u4E00", "\u9031\u4E8C", "\u9031\u4E09", "\u9031\u56DB", "\u9031\u4E94", "\u9031\u516D"], weekdaysMin: ["\u65E5", "\u4E00", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D"], months: "\u4E00\u6708_\u4E8C\u6708_\u4E09\u6708_\u56DB\u6708_\u4E94\u6708_\u516D\u6708_\u4E03\u6708_\u516B\u6708_\u4E5D\u6708_\u5341\u6708_\u5341\u4E00\u6708_\u5341\u4E8C\u6708".split("_"), monthsShort: "1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"), lunarMonths: "\u6B63\u6708_\u4E8C\u6708_\u4E09\u6708_\u56DB\u6708_\u4E94\u6708_\u516D\u6708_\u4E03\u6708_\u516B\u6708_\u4E5D\u6708_\u5341\u6708_\u5341\u4E00\u6708_\u5341\u4E8C\u6708".split("_"), lunarMonthsAlias: "\u6B63\u6708_\u4E8C\u6708_\u4E09\u6708_\u56DB\u6708_\u4E94\u6708_\u516D\u6708_\u4E03\u6708_\u516B\u6708_\u4E5D\u6708_\u5341\u6708_\u51AC\u6708_\u814A\u6708".split("_"), lunarDays: "\u521D\u4E00_\u521D\u4E8C_\u521D\u4E09_\u521D\u56DB_\u521D\u4E94_\u521D\u516D_\u521D\u4E03_\u521D\u516B_\u521D\u4E5D_\u521D\u5341_\u5341\u4E00_\u5341\u4E8C_\u5341\u4E09_\u5341\u56DB_\u5341\u4E94_\u5341\u516D_\u5341\u4E03_\u5341\u516B_\u5341\u4E5D_\u4E8C\u5341_\u5EFF\u4E00_\u5EFF\u4E8C_\u5EFF\u4E09_\u5EFF\u56DB_\u5EFF\u4E94_\u5EFF\u516D_\u5EFF\u4E03_\u5EFF\u516B_\u5EFF\u4E5D_\u4E09\u5341".split("_"), numerals: "\u3007\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D\u5341".split(""), constellationName: "\u767D\u7F8A\u5EA7_\u91D1\u725B\u5EA7_\u96D9\u5B50\u5EA7_\u5DE8\u87F9\u5EA7_\u72EE\u5B50\u5EA7_\u8655\u5973\u5EA7_\u5929\u79E4\u5EA7_\u5929\u874E\u5EA7_\u5C04\u624B\u5EA7_\u6469\u7FAF\u5EA7_\u6C34\u74F6\u5EA7_\u96D9\u9B5A\u5EA7".split("_"), solarTerm: "\u5C0F\u5BD2_\u5927\u5BD2_\u7ACB\u6625_\u96E8\u6C34_\u9A5A\u87C4_\u6625\u5206_\u6E05\u660E_\u7A40\u96E8_\u7ACB\u590F_\u5C0F\u6EFF_\u8292\u7A2E_\u590F\u81F3_\u5C0F\u6691_\u5927\u6691_\u7ACB\u79CB_\u8655\u6691_\u767D\u9732_\u79CB\u5206_\u5BD2\u9732_\u971C\u964D_\u7ACB\u51AC_\u5C0F\u96EA_\u5927\u96EA_\u51AC\u81F3".split("_"), seasonName: "\u6625\u590F\u79CB\u51AC".split(""), stems: ["\u7532", "\u4E59", "\u4E19", "\u4E01", "\u620A", "\u5DF1", "\u5E9A", "\u8F9B", "\u58EC", "\u7678"], branchs: ["\u5B50", "\u4E11", "\u5BC5", "\u536F", "\u8FB0", "\u5DF3", "\u5348", "\u672A", "\u7533", "\u9149", "\u620C", "\u4EA5"], stemBranchSeparator: "", chineseZodiac: ["\u9F20", "\u725B", "\u864E", "\u5154", "\u9F8D", "\u86C7", "\u99AC", "\u7F8A", "\u7334", "\u96DE", "\u72D7", "\u8C6C"], fiveElements: ["\u6728", "\u706B", "\u571F", "\u91D1", "\u6C34"], eightTrigram: "\u5764\u9707\u574E\u514C\u826E\u96E2\u5DFD\u4E7E".split(""), moonPhase: { "\u6714": "\u6714", "\u671B": "\u671B", "\u5F26": "\u5F26", "\u6666": "\u6666" }, directions: ["", "\u5317", "\u897F\u5357", "\u6771", "\u6771\u5357", "\u4E2D", "\u897F\u5317", "\u897F", "\u6771\u5317", "\u5357"], formats: { LT: "HH:mm", LTS: "HH:mm:ss", L: "YYYY/MM/DD", LL: "YYYY\u5E74M\u6708D\u65E5", LLL: "YYYY\u5E74M\u6708D\u65E5Ah\u9EDEmm\u5206", LLLL: "YYYY\u5E74M\u6708D\u65E5ddddAh\u9EDEmm\u5206", l: "YYYY/M/D", ll: "YYYY\u5E74M\u6708D\u65E5", lll: "YYYY\u5E74M\u6708D\u65E5 HH:mm", llll: "YYYY\u5E74M\u6708D\u65E5dddd HH:mm" }, meridiem: function(t2, e2) { + var n2 = 100 * t2 + e2; + return n2 < 600 ? "\u51CC\u6668" : n2 < 900 ? "\u65E9\u4E0A" : n2 < 1100 ? "\u4E0A\u5348" : n2 < 1300 ? "\u4E2D\u5348" : n2 < 1800 ? "\u4E0B\u5348" : "\u665A\u4E0A"; +} }, g = { isUTC: false, offset: 0, changeAgeTerm: 2, locales: { zh: h }, lang: "zh" }, p = 1901, v = 2100, y = [1874, 3749, 43818, 1611, 2715, 39590, 1386, 2905, 19370, 1874, 52645, 2853, 2635, 47691, 685, 1387, 17845, 3497, 65170, 3730, 3365, 44333, 2646, 694, 39637, 1748, 3753, 20298, 3730, 50854, 1323, 2647, 47446, 2906, 1748, 30561, 1865, 64275, 2707, 1323, 54555, 2733, 1386, 40357, 2980, 2889, 19787, 2709, 60077, 1334, 2733, 47818, 1458, 3493, 32418, 3402, 66965, 2711, 1366, 50549, 2773, 1746, 34645, 3749, 1610, 26191, 2715, 60122, 1386, 2921, 43954, 2898, 2853, 35627, 2635, 68267, 685, 1389, 54697, 3497, 3474, 36501, 3365, 85581, 2646, 694, 49909, 1749, 3753, 44882, 3730, 3366, 25902, 2647, 68310, 858, 1749, 43881, 1865, 1683, 35483, 1323, 2651, 19118, 1386, 60885, 2980, 2889, 44371, 2709, 1325, 34141, 2741, 76714, 1490, 3493, 56970, 3402, 3221, 35486, 1366, 2741, 19162, 1746, 51045, 1829, 1611, 42583, 3243, 1370, 25966, 2921, 94034, 2898, 2853, 56587, 2635, 1195, 41659, 1453, 2922, 19882, 3474, 61093, 3365, 2645, 47693, 1206, 1461, 30418, 3785, 69522, 3730, 3366, 54550, 2647, 1366, 37733, 1877, 1865, 26443, 1683, 60075, 1323, 2651, 43706, 1386, 2917, 35754, 2890, 69013, 2709, 1325, 50541, 2741, 1450, 34261, 3493, 3402, 28237, 3222, 60622, 1366, 2741, 47826, 1746, 3749, 34602, 1675, 67223, 1195, 1371, 54614, 2922, 1874, 35733, 2885, 2699, 19023, 1195], m = [219, 208, 129, 216, 204, 125, 213, 202, 122, 210, 130, 218, 206, 126, 214, 203, 123, 211, 201, 220, 208, 128, 216, 205, 124, 213, 202, 123, 210, 130, 217, 206, 126, 214, 204, 124, 211, 131, 219, 208, 127, 215, 205, 125, 213, 202, 122, 210, 129, 217, 206, 127, 214, 203, 124, 212, 131, 218, 208, 128, 215, 205, 125, 213, 202, 121, 209, 130, 217, 206, 127, 215, 203, 123, 211, 131, 218, 207, 128, 216, 205, 125, 213, 202, 220, 209, 129, 217, 206, 127, 215, 204, 123, 210, 131, 219, 207, 128, 216, 205, 124, 212, 201, 122, 209, 129, 218, 207, 126, 214, 203, 123, 210, 131, 219, 208, 128, 216, 205, 125, 212, 201, 122, 210, 129, 217, 206, 126, 213, 203, 123, 211, 131, 219, 208, 128, 215, 204, 124, 212, 201, 122, 210, 130, 217, 206, 126, 214, 202, 123, 211, 201, 219, 208, 128, 215, 204, 124, 212, 202, 121, 209, 129, 217, 205, 126, 214, 203, 123, 211, 131, 219, 207, 127, 215, 205, 124, 212, 202, 122, 209, 129, 217, 206, 126, 214, 203, 124, 210, 130, 218, 207, 127, 215, 205, 125, 212, 201, 121, 209], d = [4, 19, 3, 18, 4, 19, 4, 19, 4, 20, 4, 20, 6, 22, 6, 22, 6, 22, 7, 22, 6, 21, 6, 21], b = [117281173183066, 187649985522282, 187654548991914, 99670716471979, 187649984473706, 117281173183062, 187649984469594, 187654280490666, 95203950484138, 99671807007318, 117281240291930, 99671806990934, 187654280489578, 93829556755114, 99670716471894, 93829556689578, 95203950484054, 117263993313878, 93829288253866, 95203950484053, 117263993035350, 93829288252842, 93824993285482, 93829556755029, 93824992236906, 93829556689493, 117263993313882, 93824992232810, 93829288254037, 99601996995158, 117263993051738, 93824925123930, 93829288253781, 99671790213718, 23456180946266, 93824993285461, 95203946289749, 93824993285397, 93824992236821, 23439001077082, 93824992232725, 23439000814938, 93824925123861, 23439000798550, 93824925123845, 23437910279510, 23456180946181, 5845724235094, 23439000814853, 5777004758358, 23439000798469, 1378954052950, 23437910279425, 1378954052949, 93824992236885, 5845724235009, 4564518229, 4296017237, 5777004758273, 23438984021253, 1378954052865, 23437910279429, 1048661, 1378954052864, 85, 4564518144, 21, 4296082688], _ = [0, 1, 2, 3, 0, 4, 2, 3, 0, 4, 2, 3, 5, 6, 7, 8, 9, 10, 7, 8, 11, 10, 12, 8, 11, 0, 1, 13, 14, 0, 1, 13, 14, 0, 4, 13, 14, 0, 4, 13, 14, 0, 4, 15, 16, 17, 6, 18, 19, 20, 6, 18, 19, 11, 0, 21, 19, 14, 0, 22, 23, 14, 0, 22, 23, 14, 0, 24, 23, 14, 0, 24, 25, 14, 26, 27, 28, 29, 30, 27, 28, 16, 20, 31, 32, 19, 33, 34, 35, 36, 14, 34, 37, 23, 14, 34, 38, 23, 14, 34, 38, 23, 14, 34, 38, 28, 14, 39, 40, 28, 29, 41, 42, 28, 16, 43, 44, 32, 36, 45, 46, 35, 36, 47, 46, 38, 23, 47, 46, 38, 23, 47, 46, 38, 28, 47, 46, 38, 28, 47, 48, 40, 28, 49, 50, 42, 28, 51, 52, 44, 35, 53, 52, 44, 54, 53, 55, 46, 54, 56, 55, 46, 38, 56, 55, 46, 38, 57, 55, 48, 38, 57, 58, 48, 42, 57, 58, 59, 42, 57, 60, 61, 44, 62, 63, 52, 44, 64, 63, 55, 46, 64, 65, 55, 46, 66, 67, 55, 46, 38], M = function(t2) { + return t2 ? (t2 = t2.trim(), a[t2] || (t2 || "").toLowerCase().replace(/s$/, "")) : ""; +}, O = function(t2, e2) { + if (void 0 === e2 && (e2 = false), void 0 === t2) + return new Date(); + if (null === t2) + return new Date(NaN); + if ("object" == typeof t2 && !(t2 instanceof Date) && void 0 !== t2.toDate) { + var n2 = t2.toDate(); + if (n2 instanceof Date) + return n2; + } + if (t2 instanceof Date) + return new Date(t2.valueOf()); + if ("string" == typeof t2 && !/Z$/i.test(t2)) { + var r2 = t2.match(u); + if (r2) { + var a2 = r2[2] - 1 || 0, o2 = (r2[7] || "0").substring(0, 3); + return e2 ? new Date(Date.UTC(r2[1], a2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, o2)) : new Date(r2[1], a2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, o2); + } + } + return new Date(t2); +}, S = function(t2, e2, n2) { + void 0 === e2 && (e2 = false), void 0 === n2 && (n2 = false); + var r2 = L(t2, "FullYear", e2), a2 = L(t2, "Month", e2), o2 = L(t2, "Hours", e2), i2 = L(t2, "Date", e2), u2 = n2 ? 23 === o2 ? " 00:00" : " ".concat(String(o2).padStart(2, "0"), ":00") : ""; + return O("".concat(r2, "/").concat(a2 + 1, "/").concat(i2 + (23 === o2 ? 1 : 0)).concat(u2), e2); +}, w = function(t2) { + var e2 = m[t2 - p]; + return O("".concat(t2, "/").concat(Math.floor(e2 / 100), "/").concat(e2 % 100)); +}, T = function(t2) { + var e2 = y[t2 - p]; + return [e2 >> 13, 1 === (e2 >> 12 & 1)]; +}, D = function(t2, e2) { + var n2; + !function(t3, e3) { + var n3 = g.locales[null != e3 ? e3 : g.lang]; + if ("string" == typeof t3.year) { + for (var r3 = "", a3 = 0; a3 < t3.year.length; a3++) { + var o3 = -1; + r3 += (o3 = "\u96F6" === t3.year[a3] || "\u3007" === t3.year[a3] ? 0 : n3.numerals.indexOf(t3.year[a3])) >= 0 ? o3 : ""; + } + t3.year = Number(r3); + } + if ("string" == typeof t3.month) { + var i3 = t3.month; + i3[0] === n3.leap && (t3.isLeapMonth = true, i3 = t3.month.slice(1)); + var u3 = n3.lunarMonths.indexOf(i3); + -1 === u3 && (u3 = n3.lunarMonthsAlias.indexOf(i3)), t3.month = t3.isLeapMonth ? u3 + 100 + 1 : u3 + 1; + } + "string" == typeof t3.day && (t3.day = n3.lunarDays.indexOf(t3.day) + 1), "string" == typeof t3.hour && (t3.hour = n3.branchs.indexOf(t3.hour)); + }(t2, e2); + var r2 = new Date(), a2 = t2.year ? Number(t2.year) : r2.getFullYear(), o2 = Number(t2.month), i2 = Number(t2.day), u2 = t2.hour ? Number(t2.hour) : 0, c2 = null !== (n2 = t2.isLeapMonth) && void 0 !== n2 && n2; + if (o2 > 100 && (o2 -= 100, c2 = true), a2 < p || a2 > v) + throw new Error("Invalid lunar year: out of range"); + if (o2 < 1) + throw new Error("Invalid lunar month"); + var s2 = w(a2), l2 = T(a2), f2 = l2[0], h2 = l2[1]; + if (c2 && f2 !== o2) + throw new Error("Invalid lunar leap month: no this leap month"); + for (var m2 = y[a2 - p], d2 = c2 ? h2 : m2 >> o2 - 1 & 1, b2 = 0, _2 = 0; _2 < o2; _2++) { + if (b2 += m2 >> _2 & 1 ? 30 : 29, _2 === o2 - 1 && !c2) + break; + _2 === f2 - 1 && (b2 += h2 ? 30 : 29); + } + b2 -= (d2 ? 30 : 29) - i2 + 1; + var M2 = new Date(s2.valueOf() + 24 * b2 * 60 * 60 * 1e3), S2 = M2.getFullYear(), D2 = M2.getMonth() + 1, j2 = M2.getDate(); + return O("".concat(S2, "/").concat(D2, "/").concat(j2, " ").concat(2 * u2, ":00")); +}, j = function(t2, e2, n2, r2) { + void 0 === r2 && (r2 = false); + var a2 = n2.getDate(), o2 = L(t2, "Month", r2), i2 = e2 / 2 >> 0, u2 = i2 < o2 || 0 === o2 && 11 === i2 || a2 > L(t2, "Date", r2) && !(a2 - 1 === L(t2, "Date", r2) && L(t2, "Hours", r2) >= 23) ? -1 : 0; + return ((12 * (L(t2, "FullYear", r2) - l[0]) + L(t2, "Month", r2) - l[1] + 1) % 60 + u2 + 60) % 60; +}; +var Y = { stem: [10, "stems"], branch: [12, "branchs"], trigram8: [8, "eightTrigram"], element5: [5, "fiveElements"] }, P = function(t2, e2, n2, r2) { + if ("number" == typeof t2) + t2 %= Y[e2][0]; + else if ("string" == typeof t2) { + var a2 = r2.locales[n2][Y[e2][1]].indexOf(t2); + if (-1 === a2) + throw new Error("Invalid ".concat(e2, " value")); + t2 = a2; + } + return t2; +}, L = function(t2, e2, n2) { + void 0 === n2 && (n2 = false); + var r2 = e2.slice(0, 1).toUpperCase() + e2.slice(1); + return n2 ? t2["getUTC".concat(r2)]() : t2["get".concat(r2)](); +}; +var C = function(t2, e2) { + var n2; + t2 = (n2 = [O(t2), O(e2)])[0]; + var r2 = 12 * ((e2 = n2[1]).getFullYear() - t2.getFullYear()) + (e2.getMonth() - t2.getMonth()), a2 = new Date(t2).setMonth(t2.getMonth() + r2), o2 = a2.valueOf() > e2.valueOf(), i2 = new Date(t2).setMonth(t2.getMonth() + r2 + (o2 ? -1 : 1)); + return r2 + (e2.valueOf() - a2.valueOf()) / (o2 ? a2 - i2 : i2 - a2) || 0; +}, A = function(t2, e2, n2) { + if (t2 > e2) + return -A(e2, t2); + for (var r2 = [t2.lunar, e2.lunar], a2 = r2[0], o2 = r2[1], i2 = [a2.year, o2.year], u2 = i2[0], c2 = i2[1], s2 = [a2.month, o2.month], l2 = s2[0], f2 = s2[1], h2 = u2, g2 = 0; h2 <= c2; ) { + var p2 = [1, 12], v2 = p2[0], y2 = p2[1]; + h2 === u2 && (v2 = l2), h2 === c2 && (y2 = f2), g2 += U(h2, v2, y2), h2++; + } + if (!n2) + return g2 - 1; + if (g2 > 0) + g2 += N(t2, true) + N(e2, false) - 2; + else { + var m2 = a2.isBigMonth ? 30 : 29; + g2 = (e2.valueOf() - t2.valueOf()) / (864e5 * m2); + } + return g2; +}, U = function(t2, e2, n2) { + var r2 = false; + (e2 = e2 || 1) > 100 && (e2 -= 100, r2 = true), (n2 = n2 || 12) > 100 && (n2 -= 100, r2 = true); + var a2 = y[t2 - p] >> 13; + return e2 <= a2 && a2 <= n2 && (r2 = true), n2 - e2 + 1 + (r2 ? 1 : 0); +}, N = function(t2, e2) { + void 0 === e2 && (e2 = false); + var n2 = t2.lunar.isBigMonth ? 30 : 29, r2 = t2.lunar.day; + return e2 ? 1 - r2 / n2 : r2 / n2; +}, H = function(t2, e2) { + void 0 === e2 && (e2 = false); + var n2 = t2.lunar.leapMonth, r2 = n2 > 0 ? 13 : 12, a2 = false, o2 = t2.lunar.month; + o2 > 100 && (o2 -= 100, a2 = true), n2 > 0 && (o2 > n2 || o2 === n2 && a2) && o2++; + var i2 = N(t2, e2); + return e2 ? 1 - (o2 - i2) / r2 : (o2 + i2 - 1) / r2; +}; +var k = function(t2, e2) { + if (e2.toUTCString() === i) + return i; + var n2, r2, a2, o2, u2 = t2 || "YYYY-MM-DDTHH:mm:ssZ", s2 = e2.year, l2 = e2.month, f2 = e2.day, h2 = e2.dayOfWeek, p2 = e2.hour, v2 = e2.minute, y2 = e2.second, m2 = (n2 = -e2.utcOffset(), r2 = Math.abs(n2), a2 = Math.floor(r2 / 60), o2 = r2 % 60, "".concat(n2 <= 0 ? "+" : "-").concat(String(a2).padStart(2, "0"), ":").concat(String(o2).padStart(2, "0"))), d2 = function() { + return e2.lunar; + }, b2 = function() { + return e2.char8; + }, _2 = g.locales[e2._config.lang], M2 = _2.weekdays, O2 = _2.months, S2 = _2.meridiem, w2 = function(t3, e3, n3, r3) { + return t3 && t3[e3] || (n3 ? n3[e3].slice(0, r3) : ""); + }, T2 = p2 % 12 || 12, D2 = S2 || function(t3, e3, n3) { + var r3 = t3 < 12 ? "AM" : "PM"; + return n3 ? r3.toLowerCase() : r3; + }, j2 = { YY: String(s2).slice(-2), YYYY: String(s2), M: String(l2), MM: String(l2).padStart(2, "0"), MMM: w2(_2.monthsShort, l2 - 1, O2, 3), MMMM: w2(O2, l2 - 1), D: String(f2), DD: String(f2).padStart(2, "0"), d: String(h2), dd: w2(_2.weekdaysMin, h2, M2, 2), ddd: w2(_2.weekdaysShort, h2, M2, 3), dddd: M2[h2], H: String(p2), HH: String(p2).padStart(2, "0"), h: String(T2), hh: String(T2).padStart(2, "0"), a: D2(p2, v2, true), A: D2(p2, v2, false), m: String(v2), mm: String(v2).padStart(2, "0"), s: String(y2), ss: String(y2).padStart(2, "0"), SSS: String(e2.millis).padStart(3, "0"), Z: m2, cZ: function() { + return _2.chineseZodiac[b2().year.branch.value]; + }, t: e2.solarTerm ? String(e2.solarTerm.value + 1) : "", T: e2.solarTerm ? e2.solarTerm.toString() : "", lY: function() { + return d2().getYearName(); + }, lM: function() { + return d2().getMonthName(); + }, lD: function() { + return d2().getDayName(); + }, lH: function() { + return d2().getHourName(); + }, lL: function() { + return d2().isBigMonth ? _2.bigMonth : _2.smallMonth; + }, lYn: function() { + return String(d2().year); + }, lMn: function() { + return String(d2().month); + }, lDn: function() { + return String(d2().day); + }, lHn: function() { + return String(d2().hour + 1); + }, cY: function() { + return b2().year.toString(); + }, cYs: function() { + return b2().year.stem.toString(); + }, cYb: function() { + return b2().year.branch.toString(); + }, cM: function() { + return b2().month.toString(); + }, cMs: function() { + return b2().month.stem.toString(); + }, cMb: function() { + return b2().month.branch.toString(); + }, cD: function() { + return b2().day.toString(); + }, cDs: function() { + return b2().day.stem.toString(); + }, cDb: function() { + return b2().day.branch.toString(); + }, cH: function() { + return b2().hour.toString(); + }, cHs: function() { + return b2().hour.stem.toString(); + }, cHb: function() { + return b2().hour.branch.toString(); + }, cYn: function() { + return b2().year.value; + }, cYsn: function() { + return b2().year.stem.value; + }, cYbn: function() { + return b2().year.branch.value; + }, cMn: function() { + return b2().month.value; + }, cMsn: function() { + return b2().month.stem.value; + }, cMbn: function() { + return b2().month.branch.value; + }, cDn: function() { + return b2().day.value; + }, cDsn: function() { + return b2().day.stem.value; + }, cDbn: function() { + return b2().day.branch.value; + }, cHn: function() { + return b2().hour.value; + }, cHsn: function() { + return b2().hour.stem.value; + }, cHbn: function() { + return b2().hour.branch.value; + }, dR: function() { + return String(Math.ceil(f2 / 7)); + }, dRr: function() { + var t3 = e2.lunisolar("".concat(s2, "-").concat(l2 + 1, "-1 ").concat(p2, ":").concat(v2, ":").concat(y2), e2._config), n3 = Math.abs(t3.diff(e2, "day")); + return String(Math.ceil(n3 / 7)); + } }; + return u2 = u2.replace(c, function(t3, e3) { + var n3 = j2[t3]; + return e3 || ("function" == typeof n3 ? n3() : void 0 !== n3 ? n3 : m2.replace(":", "")); + }); +}; +function x(t2, e2) { + return Math.round((e2.valueOf() - t2.valueOf()) / 864e5); +} +var B = function() { + function t2(t3, e2) { + var n2; + this._config = { lang: g.lang, isUTC: false }, e2 && (this._config = Object.assign({}, this._config, e2)); + var r2 = O(t3); + this._date = r2; + var a2 = this._config.isUTC, o2 = L(r2, "FullYear", a2), i2 = L(r2, "Month", a2), u2 = L(r2, "Hours", a2), c2 = S(r2, a2), s2 = c2.getDate(); + if (o2 < p || o2 > v) + throw new Error("Invalid lunar year: out of range"); + if (o2 === p && i2 < 1 || o2 === p && 1 === i2 && s2 < 19) + this.year = o2 - 1, 1 === i2 || i2 < 1 && s2 >= 20 ? (this.month = 12, this.day = 1 === i2 ? 13 + s2 - 1 : s2 - 20 + 1) : (this.month = 11, this.day = 11 + s2 - 1), this.leapMonth = 8, this.leapMonthIsBig = false; + else { + var l2 = x(w(o2), c2); + l2 < 0 && (l2 = x(w(o2 -= 1), c2)), this.year = o2; + var f2 = T(o2), h2 = f2[0], m2 = f2[1]; + this.leapMonth = h2, this.leapMonthIsBig = m2, n2 = function(t4, e3, n3) { + var r3 = y[t4 - p], a3 = n3 || T(t4), o3 = a3[0], i3 = a3[1], u3 = 1; + e3 += 1; + for (var c3 = false; e3 > 29; ) { + if (e3 -= r3 >> u3 - 1 & 1 ? 30 : 29, u3 === o3 && e3 > 0) { + var s3 = i3 ? 30 : 29; + if (!(e3 > s3)) { + c3 = true; + break; + } + e3 -= s3; + } + u3++; + } + return c3 && (u3 += 100), 0 === e3 && (e3 = 30, u3--), [u3, e3]; + }(o2, l2, [h2, m2]), this.month = n2[0], this.day = n2[1]; + } + this.hour = (u2 + 1) % 24 >> 1; + } + return t2.fromLunar = function(e2, n2) { + return new t2(D(e2, null == n2 ? void 0 : n2.lang), n2); + }, Object.defineProperty(t2.prototype, "isLeapMonth", { get: function() { + return this.month > 100; + }, enumerable: false, configurable: true }), Object.defineProperty(t2.prototype, "isBigMonth", { get: function() { + if (1900 === this.year && 11 == this.month) + return false; + if (1900 === this.year && 12 == this.month) + return true; + var t3 = y[this.year - p]; + return this.isLeapMonth ? 1 == (t3 >> 12 & 1) : 1 == (t3 >> this.month - 1 & 1); + }, enumerable: false, configurable: true }), Object.defineProperty(t2.prototype, "isLastDayOfMonth", { get: function() { + return !(!this.isBigMonth || 30 !== this.day) || !this.isBigMonth && 29 === this.day; + }, enumerable: false, configurable: true }), Object.defineProperty(t2.prototype, "lunarNewYearDay", { get: function() { + return w(this.year); + }, enumerable: false, configurable: true }), Object.defineProperty(t2.prototype, "lastDayOfYear", { get: function() { + var t3 = w(this.year + 1); + return new Date(t3.valueOf() - 864e5); + }, enumerable: false, configurable: true }), Object.defineProperty(t2.prototype, "phaseOfTheMoon", { get: function() { + return function(t3, e2) { + var n2 = t3.day; + return 1 === n2 ? e2.moonPhase.\u6714 : [7, 8, 22, 23].includes(n2) ? e2.moonPhase.\u5F26 : 15 === n2 ? e2.moonPhase.\u671B : t3.isLastDayOfMonth ? e2.moonPhase.\u6666 : ""; + }(this, g.locales[this._config.lang]); + }, enumerable: false, configurable: true }), t2.prototype.toDate = function() { + return new Date(this._date.valueOf()); + }, t2.prototype.getYearName = function() { + for (var t3 = "", e2 = this.year, n2 = g.locales[this._config.lang].numerals; e2; ) { + t3 = n2[e2 % 10] + t3, e2 = Math.floor(e2 / 10); + } + return t3; + }, t2.prototype.getMonthName = function() { + var t3 = g.locales[this._config.lang].lunarMonths, e2 = g.locales[this._config.lang].leap; + return (this.isLeapMonth ? e2 : "") + t3[this.month % 100 - 1]; + }, t2.prototype.getDayName = function() { + return g.locales[this._config.lang].lunarDays[this.day - 1]; + }, t2.prototype.getHourName = function() { + return g.locales[this._config.lang].branchs[this.hour]; + }, t2.prototype.toString = function() { + var t3 = g.locales[this._config.lang]; + return "".concat(this.getYearName()).concat(t3.lunarYearUnit).concat(this.getMonthName()).concat(this.getDayName()).concat(this.getHourName()).concat(t3.lunarHourUnit); + }, t2.prototype.valueOf = function() { + return this._date.valueOf(); + }, t2.getLunarNewYearDay = function(t3) { + return w(t3); + }, t2; +}(), F = function() { + function t2(e2, n2) { + if (this.value = -1, this._config = { lang: g.lang, isUTC: false }, n2 && (this._config = Object.assign({}, this._config, n2)), e2 instanceof t2) + return e2; + if ("number" == typeof e2) + this.value = e2 % 24; + else if ("string" == typeof e2) { + var r2 = g.locales[this._config.lang].solarTerm.indexOf(e2); + if (-1 === r2) + throw new Error("Invalid term value"); + this.value = r2; + } + } + return Object.defineProperty(t2.prototype, "name", { get: function() { + return String(g.locales[this._config.lang].solarTerm[this.value]); + }, enumerable: false, configurable: true }), t2.getNames = function(t3) { + return t3 = t3 || g.lang, r([], g.locales[t3].solarTerm, true); + }, t2.getYearTermDayList = function(t3) { + for (var e2 = [], n2 = b[_[t3 - p]].toString(2).padStart(48, "0"); e2.length < 24; ) { + var r2 = parseInt(n2.slice(n2.length - 2), 2), a2 = d[e2.length]; + e2.push(r2 + a2), n2 = n2.slice(0, n2.length - 2); + } + return e2; + }, t2.getMonthTerms = function(t3, e2) { + var n2 = b[_[t3 - p]].toString(2).padStart(48, "0"), r2 = 4 * (e2 - 1), a2 = parseInt(n2.slice(n2.length - r2 - 4, n2.length - r2), 2); + return [(3 & a2) + d[2 * (e2 - 1)], (a2 >> 2 & 3) + d[2 * (e2 - 1) + 1]]; + }, t2.findDate = function(e2, n2, r2) { + var a2 = r2 && r2.lang ? r2.lang : g.lang; + return n2 instanceof t2 && (n2 = n2.value), [e2, ((n2 = "string" == typeof n2 ? g.locales[a2].solarTerm.indexOf(n2) : n2 % 24) >> 1) + 1, t2.getYearTermDayList(e2)[n2]]; + }, t2.findNode = function(e2, n2) { + var r2, a2 = { lang: g.lang, returnValue: false, nodeFlag: 0, isUTC: false }, o2 = n2 ? Object.assign({}, a2, n2) : a2, i2 = o2.returnValue, u2 = o2.nodeFlag; + if (u2 > 2) + throw new Error("Invalid nodeFlag"); + var c2, s2 = { lang: o2.lang || g.lang }, l2 = L(e2, "FullYear", o2.isUTC), f2 = L(e2, "Month", o2.isUTC), h2 = L(e2, "Date", o2.isUTC), p2 = L(e2, "Hours", o2.isUTC), v2 = (2 * f2 + 24) % 24, y2 = t2.getMonthTerms(l2, f2 + 1), m2 = y2[0], d2 = y2[1], b2 = false, _2 = false; + h2 < m2 && !(h2 === m2 - 1 && p2 >= 23) ? b2 = true : h2 < d2 && !(h2 === d2 - 1 && p2 >= 23) && (_2 = true, 1 === u2 && (b2 = true)); + var M2 = false; + b2 ? (f2 - 1 < 0 ? (l2--, f2 = 11) : f2--, v2 = (2 * f2 + 24) % 24, m2 = (r2 = t2.getMonthTerms(l2, f2 + 1))[0], d2 = r2[1], u2 > 0 && (M2 = true)) : (1 === u2 || 2 === u2 && !_2) && (M2 = true), c2 = M2 ? d2 : m2, v2 = M2 ? (v2 + 1) % 24 : v2; + var S2 = O("".concat(l2, "-").concat(f2 + 1, "-").concat(c2)); + return i2 ? [v2, S2] : [new t2(v2, s2), S2]; + }, t2.prototype.valueOf = function() { + return this.value; + }, t2.prototype.toString = function() { + return this.name; + }, t2; +}(), I = function() { + function t2(e2, n2) { + if (this.value = -1, this._config = { lang: g.lang }, e2 instanceof t2) + return e2; + n2 && (this._config = Object.assign({}, this._config, n2)), this.value = P(e2, "element5", this._config.lang, g); + } + return t2.getNames = function(t3) { + return t3 = t3 || g.lang, r([], g.locales[t3].fiveElements, true); + }, t2.create = function(e2, n2) { + if (e2 instanceof t2) + return e2; + var r2 = (null == n2 ? void 0 : n2.lang) || g.lang; + e2 = P(e2, "element5", r2, g); + var a2 = "".concat(e2, ":").concat(r2); + if (t2.instances.has(a2)) + return t2.instances.get(a2); + var o2 = new t2(e2, n2); + return t2.instances.set(a2, o2), o2; + }, Object.defineProperty(t2.prototype, "name", { get: function() { + return -1 === this.value ? "" : g.locales[this._config.lang].fiveElements[this.value]; + }, enumerable: false, configurable: true }), t2.prototype.generating = function() { + var e2 = (this.value + 1) % 5; + return t2.create(e2, this._config); + }, t2.prototype.overcoming = function() { + var e2 = (this.value + 2) % 5; + return t2.create(e2, this._config); + }, t2.prototype.weakening = function() { + var e2 = (this.value + 4) % 5; + return t2.create(e2, this._config); + }, t2.prototype.counteracting = function() { + var e2 = (this.value + 3) % 5; + return t2.create(e2, this._config); + }, t2.prototype.toString = function() { + return -1 === this.value ? "Invalid five-element value" : this.name; + }, t2.prototype.valueOf = function() { + return this.value; + }, t2.instances = /* @__PURE__ */ new Map(), t2; +}(), E = function() { + function t2(t3, e2) { + this.value = -1, this._config = { lang: g.lang }, e2 && (this._config = Object.assign({}, this._config, e2)), this.value = t3 % 8; + } + return t2.getNames = function(t3) { + return t3 = t3 || g.lang, r([], g.locales[t3].eightTrigram, true); + }, t2.create = function(e2, n2) { + var r2 = (null == n2 ? void 0 : n2.lang) || g.lang; + e2 = P(e2, "trigram8", r2, g); + var a2 = "".concat(e2, ":").concat(r2); + if (t2.instances.has(a2)) + return t2.instances.get(a2); + var o2 = new t2(e2, n2); + return t2.instances.set(a2, o2), o2; + }, Object.defineProperty(t2.prototype, "name", { get: function() { + return g.locales[this._config.lang].eightTrigram[this.value]; + }, enumerable: false, configurable: true }), t2.prototype.toString = function() { + return this.name; + }, t2.prototype.valueOf = function() { + return this.value; + }, t2.instances = /* @__PURE__ */ new Map(), t2; +}(); +function z(t2, e2) { + return void 0 === e2 && (e2 = false), function(n2, a2, o2) { + var i2 = void 0 === o2.value ? o2.get : o2.value; + o2[void 0 === o2.value ? "get" : "value"] = function() { + for (var n3 = [], a3 = 0; a3 < arguments.length; a3++) + n3[a3] = arguments[a3]; + if (n3.length > 0 && e2) { + var o3 = JSON.stringify(n3); + t2 += o3; + } + if (this.cache.has(t2)) + return this.cache.get(t2); + var u2 = i2.call.apply(i2, r([this], n3, false)); + return this.cache.set(t2, u2), u2; + }; + }; +} +var Z = function() { + this.cache = /* @__PURE__ */ new Map(); +}, G = function(t2) { + function a2(e2, n2) { + var r2 = t2.call(this) || this; + return r2.value = -1, r2._config = { lang: g.lang }, e2 instanceof a2 ? e2 : (n2 && (r2._config = Object.assign({}, r2._config, n2)), r2.value = P(e2, "branch", r2._config.lang, g), r2); + } + return e(a2, t2), a2.getNames = function(t3) { + return t3 = t3 || g.lang, r([], g.locales[t3].branchs, true); + }, a2.create = function(t3, e2) { + if (t3 instanceof a2) + return t3; + var n2 = (null == e2 ? void 0 : e2.lang) || g.lang; + t3 = P(t3, "branch", n2, g); + var r2 = "".concat(t3, ":").concat(n2); + if (a2.instances.has(r2)) + return a2.instances.get(r2); + var o2 = new a2(t3, e2); + return a2.instances.set(r2, o2), o2; + }, Object.defineProperty(a2.prototype, "name", { get: function() { + return g.locales[this._config.lang].branchs[this.value]; + }, enumerable: false, configurable: true }), Object.defineProperty(a2.prototype, "hiddenStems", { get: function() { + return s[this.value].map(function(t3) { + return new R(t3); + }); + }, enumerable: false, configurable: true }), Object.defineProperty(a2.prototype, "e5", { get: function() { + var t3 = Math.floor((this.value + 10) / 3) % 4; + return (this.value + 10) % 3 == 2 ? I.create(2, this._config) : I.create(t3 < 2 ? t3 : t3 + 1, this._config); + }, enumerable: false, configurable: true }), Object.defineProperty(a2.prototype, "meeting", { get: function() { + var t3 = this, e2 = [[2, 3, 4], [5, 6, 7], [8, 9, 10], [11, 0, 1]].find(function(e3) { + return e3.includes(t3.value); + }), n2 = null == e2 ? void 0 : e2.filter(function(e3) { + return e3 !== t3.value; + }); + return [a2.create(n2[0], this._config), a2.create(n2[1], this._config)]; + }, enumerable: false, configurable: true }), Object.defineProperty(a2.prototype, "meetingE5", { get: function() { + return I.create((t3 = this.value, [0, 1, 3, 4][Math.floor((t3 - 2 + 12) % 12 / 3)]), this._config); + var t3; + }, enumerable: false, configurable: true }), Object.defineProperty(a2.prototype, "triad", { get: function() { + return [a2.create((this.value + 4) % 12, this._config), a2.create((this.value + 8) % 12, this._config)]; + }, enumerable: false, configurable: true }), Object.defineProperty(a2.prototype, "triadE5", { get: function() { + return I.create([4, 0, 1, 3][this.value % 4], this._config); + }, enumerable: false, configurable: true }), Object.defineProperty(a2.prototype, "group6", { get: function() { + return a2.create((13 - this.value) % 12, this._config); + }, enumerable: false, configurable: true }), Object.defineProperty(a2.prototype, "group6E5", { get: function() { + return I.create((t3 = this.value, e2 = [2, 0, 1, 3, 4, 2], (t3 = 0 === t3 ? 12 : t3) < 7 ? e2[t3 - 1] : e2[12 - t3]), this._config); + var t3, e2; + }, enumerable: false, configurable: true }), Object.defineProperty(a2.prototype, "punishing", { get: function() { + return a2.create([3, 10, 5, 0, 4, 8, 6, 1, 2, 9, 7, 11][this.value], this._config); + }, enumerable: false, configurable: true }), Object.defineProperty(a2.prototype, "punishBy", { get: function() { + return a2.create([3, 7, 8, 0, 4, 2, 6, 10, 5, 9, 1, 11][this.value], this._config); + }, enumerable: false, configurable: true }), Object.defineProperty(a2.prototype, "conflict", { get: function() { + return a2.create((this.value + 6) % 12, this._config); + }, enumerable: false, configurable: true }), Object.defineProperty(a2.prototype, "destroying", { get: function() { + return a2.create([9, 4, 11, 6, 1, 8, 3, 10, 5, 0, 7, 2][this.value], this._config); + }, enumerable: false, configurable: true }), Object.defineProperty(a2.prototype, "harming", { get: function() { + var t3 = this.value > 7 ? 19 - this.value : 7 - this.value; + return a2.create(t3, this._config); + }, enumerable: false, configurable: true }), a2.prototype.toString = function() { + return this.name; + }, a2.prototype.valueOf = function() { + return this.value; + }, a2.instances = /* @__PURE__ */ new Map(), n([z("branch:hiddenStems")], a2.prototype, "hiddenStems", null), n([z("branch:e5")], a2.prototype, "e5", null), n([z("branch:meeting")], a2.prototype, "meeting", null), n([z("branch:punishing")], a2.prototype, "punishing", null), n([z("branch:punishBy")], a2.prototype, "punishBy", null), n([z("branch:conflict")], a2.prototype, "conflict", null), n([z("branch:destroying")], a2.prototype, "destroying", null), n([z("branch:harming")], a2.prototype, "harming", null), a2; +}(Z), R = function(t2) { + function a2(e2, n2) { + var r2 = t2.call(this) || this; + return r2.value = -1, r2._config = { lang: g.lang }, e2 instanceof a2 ? e2 : (n2 && (r2._config = Object.assign({}, r2._config, n2)), r2.value = P(e2, "stem", r2._config.lang, g), r2); + } + return e(a2, t2), a2.getNames = function(t3) { + return t3 = t3 || g.lang, r([], g.locales[t3].stems, true); + }, a2.create = function(t3, e2) { + if (t3 instanceof a2) + return t3; + var n2 = (null == e2 ? void 0 : e2.lang) || g.lang; + t3 = P(t3, "stem", n2, g); + var r2 = "".concat(t3, ":").concat(n2); + if (a2.instances.has(r2)) + return a2.instances.get(r2); + var o2 = new a2(t3, e2); + return a2.instances.set(r2, o2), o2; + }, Object.defineProperty(a2.prototype, "name", { get: function() { + return g.locales[this._config.lang].stems[this.value]; + }, enumerable: false, configurable: true }), Object.defineProperty(a2.prototype, "branchs", { get: function() { + var t3 = this; + return g.locales[this._config.lang].branchs.filter(function(e2, n2) { + return n2 % 2 == t3.value % 2; + }).map(function(e2) { + return G.create(e2, t3._config); + }); + }, enumerable: false, configurable: true }), Object.defineProperty(a2.prototype, "e5", { get: function() { + return I.create(Math.floor(this.value / 2), this._config); + }, enumerable: false, configurable: true }), Object.defineProperty(a2.prototype, "trigram8", { get: function() { + return E.create([7, 0, 4, 3, 2, 5, 1, 5, 7, 0][this.value], this._config); + }, enumerable: false, configurable: true }), a2.prototype.toString = function() { + return this.name; + }, a2.prototype.valueOf = function() { + return this.value; + }, a2.instances = /* @__PURE__ */ new Map(), n([z("stem:branchs")], a2.prototype, "branchs", null), n([z("stem:e5")], a2.prototype, "e5", null), a2; +}(Z), V = function() { + function t2(t3, e2, n2) { + if (this.value = -1, this._config = { lang: g.lang }, n2 && (this._config = Object.assign({}, this._config, n2)), "number" == typeof e2 || "string" == typeof e2 || e2 instanceof G) { + this.stem = R.create(t3, this._config), this.branch = G.create(e2, this._config); + var r2 = this.stem.valueOf(), a2 = this.branch.valueOf(); + this.value = function(t4, e3) { + if ((t4 + e3) % 2 != 0) + throw new Error("Invalid SB value"); + return t4 % 10 + (6 - (e3 >> 1) + (t4 >> 1)) % 6 * 10; + }(r2, a2); + } else { + if ("number" != typeof t3) + throw new Error("Invalid SB value"); + this.value = t3 % 60; + r2 = this.value % 10, a2 = this.value % 12; + this.stem = R.create(r2, this._config), this.branch = G.create(a2, this._config); + } + } + return t2.getNames = function(t3) { + t3 = t3 || g.lang; + var e2 = g.locales[t3]; + return new Array(60).fill("").map(function(t4, n2) { + var r2, a2 = n2 % 10, o2 = n2 % 12; + return e2.stems[a2] + (null !== (r2 = null == e2 ? void 0 : e2.stemBranchSeparator) && void 0 !== r2 ? r2 : "") + e2.branchs[o2]; + }); + }, t2.create = function(e2, n2) { + if (e2 instanceof t2) + return e2; + var r2 = (null == n2 ? void 0 : n2.lang) || g.lang, a2 = "".concat(e2, ":").concat(r2); + if (t2.instances.has(a2)) + return t2.instances.get(a2); + var o2 = new t2(e2, void 0, n2); + return t2.instances.set(a2, o2), o2; + }, Object.defineProperty(t2.prototype, "missing", { get: function() { + var t3 = 2 * (5 - Math.floor(this.value / 10)); + return [G.create(t3, this._config), G.create(t3 + 1, this._config)]; + }, enumerable: false, configurable: true }), Object.defineProperty(t2.prototype, "name", { get: function() { + var t3, e2 = g.locales[this._config.lang]; + return "".concat(this.stem).concat(null !== (t3 = null == e2 ? void 0 : e2.stemBranchSeparator) && void 0 !== t3 ? t3 : "").concat(this.branch); + }, enumerable: false, configurable: true }), t2.prototype.toString = function() { + return this.name; + }, t2.prototype.valueOf = function() { + return this.value; + }, t2.instances = /* @__PURE__ */ new Map(), t2; +}(), $ = function() { + function t2(e2, n2) { + if (this.value = -1, this._config = { changeAgeTerm: g.changeAgeTerm, isUTC: false, lang: g.lang, offset: 0 }, n2 && (this._config = Object.assign({}, this._config, n2)), e2 instanceof Date) { + var r2 = this._config.isUTC, a2 = S(e2, r2, true), o2 = t2.computeSBYear(a2, this._config), i2 = t2.computeSBMonth(a2, this._config), u2 = t2.computeSBDay(a2, this._config); + e2 = [o2, i2, u2, t2.computeSBHour(a2, u2, this._config)]; + } + if (!Array.isArray(e2)) + throw new Error("Invalid Char8"); + this._list = e2, this.value = t2.computeValue(e2); + } + return t2.prototype.getConfig = function() { + return Object.assign({}, this._config); + }, Object.defineProperty(t2.prototype, "list", { get: function() { + return this._list; + }, enumerable: false, configurable: true }), Object.defineProperty(t2.prototype, "year", { get: function() { + return this._list[0]; + }, enumerable: false, configurable: true }), Object.defineProperty(t2.prototype, "month", { get: function() { + return this._list[1]; + }, enumerable: false, configurable: true }), Object.defineProperty(t2.prototype, "day", { get: function() { + return this._list[2]; + }, enumerable: false, configurable: true }), Object.defineProperty(t2.prototype, "hour", { get: function() { + return this._list[3]; + }, enumerable: false, configurable: true }), Object.defineProperty(t2.prototype, "me", { get: function() { + return this._list[2].stem; + }, enumerable: false, configurable: true }), t2.computeValue = function(t3) { + for (var e2 = 0, n2 = 0; n2 < 4; n2++) + e2 += t3[n2].valueOf() * Math.pow(10, 2 * (3 - n2)); + return e2; + }, t2.computeSBYear = function(t3, e2) { + var n2 = e2 && void 0 !== e2.changeAgeTerm ? e2.changeAgeTerm : g.changeAgeTerm, r2 = e2 && e2.isUTC, a2 = "number" != typeof t3 ? L(t3, "FullYear", r2) : t3; + if (null != n2 && "number" != typeof t3) { + var o2 = (n2 %= 24) < 0; + n2 = n2 >= 0 ? n2 : 24 + n2; + var i2 = L(t3, "FullYear", r2); + o2 && i2--; + var u2 = i2 + 1, c2 = F.findDate(i2, n2), s2 = F.findDate(u2, n2), l2 = O("".concat(c2[0], "-").concat(c2[1], "-").concat(c2[2] - 1, " 23:00:00")), f2 = O("".concat(s2[0], "-").concat(s2[1], "-").concat(s2[2] - 1, " 23:00:00")); + t3.valueOf() < l2.valueOf() ? a2-- : t3.valueOf() >= f2.valueOf() && a2++; + } else if (null === n2 && "number" != typeof t3) { + var h2 = B.getLunarNewYearDay(a2); + t3.valueOf() < h2.valueOf() - 36e5 && a2--; + } + return new V((a2 - 4) % 10, (a2 - 4) % 12, e2); + }, t2.computeSBMonth = function(t3, e2) { + var n2, r2 = e2 && void 0 !== e2.lang ? e2.lang : g.lang, a2 = e2 && void 0 !== e2.changeAgeTerm ? e2.changeAgeTerm : g.changeAgeTerm; + a2 = a2 || 0; + var o2 = null !== (n2 = null == e2 ? void 0 : e2.isUTC) && void 0 !== n2 && n2, i2 = { isUTC: o2, lang: r2, returnValue: true, nodeFlag: (a2 + 24) % 2 }, u2 = F.findNode(t3, i2), c2 = u2[0], s2 = u2[1], l2 = j(t3, c2, s2, o2); + return new V(l2, void 0, { lang: r2 }); + }, t2.computeSBDay = function(t3, e2) { + var n2 = (null == e2 ? void 0 : e2.isUTC) || false, r2 = (null == e2 ? void 0 : e2.offset) || 0, a2 = n2 ? t3.valueOf() - 60 * r2 * 1e3 : t3.valueOf(), o2 = O("".concat(f[0], "-").concat(f[1], "-").concat(f[2] - 1, " 23:00:00")), i2 = Math.floor((a2 - o2.valueOf()) / 864e5) % 60; + return i2 < 0 && (i2 += 60), new V(i2, void 0, e2); + }, t2.computeSBHour = function(e2, n2, r2) { + var a2 = (null == r2 ? void 0 : r2.isUTC) || false; + n2 || (n2 = t2.computeSBDay(e2, r2)); + var o2, i2, u2 = L(e2, "Hours", a2), c2 = n2.stem, s2 = (u2 + 1 >> 1) % 12, l2 = (o2 = c2.value, void 0 === (i2 = s2) && (i2 = 0), (o2 % 5 * 2 + i2) % 10); + return new V(l2, s2, r2); + }, t2.prototype.toString = function() { + return "".concat(this.year, " ").concat(this.month, " ").concat(this.day, " ").concat(this.hour); + }, t2.prototype.valueOf = function() { + return this.value; + }, t2; +}(); +function q(t2, e2, n2) { + for (var r2 in t2) { + var a2 = t2[r2], o2 = []; + if (Array.isArray(a2)) + for (var i2 = 0, u2 = a2; i2 < u2.length; i2++) { + var c2 = u2[i2]; + o2.push(W(c2, n2)); + } + else + o2.push(W(a2, n2)); + e2.has(r2) ? e2.set(r2, (e2.get(r2) || []).concat(o2)) : e2.set(r2, o2); + } + return e2; +} +function W(t2, e2) { + var n2 = t2.tag, r2 = { tag: [], name: t2.name }; + return Array.isArray(n2) ? r2.tag = n2.slice() : "string" == typeof n2 && r2.tag.push(n2), Array.isArray(e2) ? r2.tag = r2.tag.concat(e2) : "string" == typeof e2 && r2.tag.push(e2), void 0 !== t2.data && (r2.data = Object.assign({}, t2.data)), r2; +} +function J(t2, e2, n2) { + return void 0 === n2 && (n2 = false), t2.filter(function(t3) { + if (n2) { + var r2 = Array.isArray(e2) ? e2 : [e2]; + return !nt(t3.tag, r2); + } + return Array.isArray(e2) ? !e2.includes(t3.name) : e2 !== t3.name; + }); +} +function K(t2, e2, n2, r2) { + void 0 === n2 && (n2 = true); + var a2 = function(e3, r3) { + if (!t2.has(e3)) + return false; + var a3 = t2.get(e3); + if (void 0 === a3) + return false; + if (void 0 === r3) + return t2.delete(e3), false; + var o3 = J(a3, r3, n2); + return 0 === o3.length ? t2.delete(e3) : o3.length < a3.length && t2.set(e3, o3), true; + }; + if (void 0 === r2) + for (var o2 = 0, i2 = Array.from(t2.keys()); o2 < i2.length; o2++) { + a2(i2[o2], e2); + } + else if (Array.isArray(r2)) + for (var u2 = 0, c2 = r2; u2 < c2.length; u2++) { + a2(c2[u2], e2); + } + else + a2(r2, e2); +} +function Q(t2, e2, n2) { + void 0 === n2 && (n2 = true), function(t3, e3, n3) { + void 0 === n3 && (n3 = true); + for (var r2 = t3.formatList, a2 = t3.formatMap, o2 = [], i2 = 0, u2 = r2; i2 < u2.length; i2++) { + var c2 = u2[i2]; + X(a2, c2, e3, n3) && o2.push(c2); + } + o2.length !== r2.length && (t3.formatList = o2); + }(t2, e2, n2), tt(t2, e2, n2); +} +function X(t2, e2, n2, r2, a2) { + if (void 0 === r2 && (r2 = true), t2.has(e2)) { + var o2 = t2.get(e2); + if (void 0 === o2) + return false; + if (K(o2, n2, r2, a2), 0 !== o2.size) + return true; + t2.delete(e2); + } + return false; +} +function tt(t2, e2, n2, r2) { + void 0 === n2 && (n2 = true); + for (var a2 = t2.fnList, o2 = [], i2 = 0, u2 = a2; i2 < u2.length; i2++) { + var c2 = u2[i2], s2 = c2.fn, l2 = c2.markers; + K(l2, e2, n2, r2), l2.size > 0 && o2.push({ fn: s2, markers: l2 }); + } + o2.length !== a2.length && (t2.fnList = o2); +} +function et(t2, e2, n2) { + var r2 = t2.formatMap; + if (!r2.has(e2)) + return null; + var a2 = r2.get(e2); + if (void 0 === a2) + return null; + if (!a2.has(n2)) + return null; + var o2 = a2.get(n2); + return void 0 === o2 ? null : o2; +} +function nt(t2, e2) { + for (var n2 = 0; n2 < e2.length; n2++) + if (t2.includes(e2[n2])) + return true; + return false; +} +function rt(t2, e2) { + for (var n2 in t2) { + var r2 = t2[n2], a2 = e2[n2]; + if ("tag" === n2) { + if (Array.isArray(r2)) { + if (!Array.isArray(a2)) + return false; + if (!nt(r2, a2)) + return false; + } else if (Array.isArray(a2) && !a2.includes(r2)) + return false; + } else if ("object" == typeof r2 && "object" == typeof a2) { + if (!rt(r2, a2)) + return false; + } else if (r2 !== a2) + return false; + } + return true; +} +var at = function() { + function t2(t3) { + this._list = null, this.storeMarkers = [], this.storeMarkersFromGlobal = [], this.lsr = t3, this.init(); + } + return t2.add = function(e2, n2) { + return function(t3, e3, n3) { + for (var r2 = 0, a2 = e3; r2 < a2.length; r2++) { + var o2 = a2[r2], i2 = o2.format, u2 = o2.markers; + if ("string" == typeof i2) { + var c2 = void 0; + t3.formatMap.has(i2) ? c2 = t3.formatMap.get(i2) : t3.formatList.push(i2), void 0 === c2 && (c2 = /* @__PURE__ */ new Map()), q(u2, c2, n3), t3.formatMap.set(i2, c2); + } else if ("function" == typeof i2) { + var s2 = /* @__PURE__ */ new Map(); + q(u2, s2, n3), t3.fnList.push({ fn: i2, markers: s2 }); + } + } + }(t2.store, e2, n2), t2; + }, t2.clean = function() { + return t2.store.formatList = [], t2.store.formatMap = /* @__PURE__ */ new Map(), t2.store.fnList = [], t2; + }, t2.cleanFnList = function() { + return t2.store.fnList = [], t2; + }, t2.remove = function(e2, n2, r2) { + return function(t3, e3, n3, r3) { + if (true === e3) + tt(t3, r3, false, n3); + else { + var a2 = t3.formatList, o2 = t3.formatMap; + X(o2, e3, r3, false, n3), o2.has(e3) || (t3.formatList = a2.filter(function(t4, n4) { + return t4 !== e3; + })); + } + }(t2.store, e2, n2, r2), t2; + }, t2.removeByTag = function(e2) { + return Q(t2.store, e2, true), t2; + }, t2.removeByName = function(e2) { + return Q(t2.store, e2, false), t2; + }, t2.prototype.init = function() { + for (var e2, n2 = [], a2 = t2.store, o2 = 0, i2 = a2.formatList; o2 < i2.length; o2++) { + var u2 = i2[o2], c2 = et(a2, u2, this.lsr.format(u2)); + c2 && n2.push(c2); + } + (e2 = this.storeMarkersFromGlobal).splice.apply(e2, r([0, this.storeMarkersFromGlobal.length], n2.flat(), false)); + }, t2.prototype.add = function(t3, e2) { + if (this._list = null, Array.isArray(t3)) + for (var n2 = 0, r2 = t3; n2 < r2.length; n2++) { + var a2 = r2[n2]; + this.add(a2, e2); + } + else { + var o2 = W(t3, e2); + this.storeMarkers.push(o2); + } + return this; + }, t2.prototype.remove = function(t3, e2, n2) { + return void 0 === e2 && (e2 = false), void 0 === n2 && (n2 = 0), this._list = null, 0 !== n2 && 1 !== n2 || (this.storeMarkersFromGlobal = J(this.storeMarkersFromGlobal, t3, e2)), 0 !== n2 && 2 !== n2 || (this.storeMarkers = J(this.storeMarkers, t3, e2)), this; + }, t2.prototype.clean = function(t3) { + return void 0 === t3 && (t3 = 0), this._list = null, 0 !== t3 && 1 !== t3 || (this.storeMarkersFromGlobal = []), 0 !== t3 && 2 !== t3 || (this.storeMarkers = []), this; + }, t2.prototype.reset = function() { + return this._list = null, this.clean(0), this.init(), this; + }, t2.prototype[Symbol.iterator] = function() { + var t3 = 0, e2 = this.list; + return { next: function() { + return t3 < e2.length ? { value: e2[t3++], done: false } : { value: void 0, done: true }; + } }; + }, Object.defineProperty(t2.prototype, "list", { get: function() { + return null == this._list && (this._list = r(r([], this.storeMarkersFromGlobal, true), this.storeMarkers, true)), this._list; + }, enumerable: false, configurable: true }), t2.prototype.filter = function(t3) { + return "function" == typeof t3 ? this.list.filter(t3) : "object" == typeof t3 ? this.list.filter(function(e2) { + return rt(t3, e2); + }) : []; + }, t2.prototype.find = function(t3) { + return "function" == typeof t3 ? this.list.find(t3) : "object" == typeof t3 ? this.list.find(function(e2) { + return rt(t3, e2); + }) : void 0; + }, t2.prototype.toString = function() { + return this.list.map(function(t3) { + return t3.name; + }).join(","); + }, t2.store = { formatList: [], formatMap: /* @__PURE__ */ new Map(), fnList: [] }, t2; +}(), ot = function(t2) { + function r2(e2, n2) { + var r3 = t2.call(this) || this; + r3._config = Object.assign({ extra: {} }, g, n2); + var a2 = r3._config, o2 = a2.isUTC, i2 = a2.offset, u2 = O(e2, o2); + 0 !== i2 && u2.setMinutes(u2.getMinutes() + i2); + var c2 = -1 * O(e2).getTimezoneOffset(); + return r3._config.extra.localTimezoneOffset = c2, r3._date = u2, r3._offset = i2, r3; + } + return e(r2, t2), Object.defineProperty(r2.prototype, "lunisolar", { get: function() { + return gt; + }, enumerable: false, configurable: true }), Object.defineProperty(r2.prototype, "year", { get: function() { + return L(this._date, "FullYear", this.isUTC()); + }, enumerable: false, configurable: true }), Object.defineProperty(r2.prototype, "month", { get: function() { + return L(this._date, "Month", this.isUTC()) + 1; + }, enumerable: false, configurable: true }), Object.defineProperty(r2.prototype, "day", { get: function() { + return L(this._date, "Date", this.isUTC()); + }, enumerable: false, configurable: true }), Object.defineProperty(r2.prototype, "dayOfWeek", { get: function() { + return L(this._date, "Day", this.isUTC()); + }, enumerable: false, configurable: true }), Object.defineProperty(r2.prototype, "hour", { get: function() { + return L(this._date, "Hours", this.isUTC()); + }, enumerable: false, configurable: true }), Object.defineProperty(r2.prototype, "minute", { get: function() { + return L(this._date, "Minutes", this.isUTC()); + }, enumerable: false, configurable: true }), Object.defineProperty(r2.prototype, "second", { get: function() { + return L(this._date, "Seconds", this.isUTC()); + }, enumerable: false, configurable: true }), Object.defineProperty(r2.prototype, "millis", { get: function() { + return L(this._date, "Milliseconds", this.isUTC()); + }, enumerable: false, configurable: true }), Object.defineProperty(r2.prototype, "lunar", { get: function() { + return new B(this._date, { lang: this._config.lang, isUTC: this.isUTC() }); + }, enumerable: false, configurable: true }), Object.defineProperty(r2.prototype, "char8", { get: function() { + var t3 = { lang: this._config.lang, changeAgeTerm: this._config.changeAgeTerm, isUTC: this.isUTC(), offset: this._offset }; + return new $(this._date, t3); + }, enumerable: false, configurable: true }), Object.defineProperty(r2.prototype, "markers", { get: function() { + return new at(this); + }, enumerable: false, configurable: true }), Object.defineProperty(r2.prototype, "solarTerm", { get: function() { + var t3 = this.year; + if (t3 < p || t3 > v) + throw new Error("".concat(t3, " is not in the allowed time range.")); + var e2 = this.month, n2 = this.day, r3 = F.getMonthTerms(t3, e2), a2 = r3[0], o2 = r3[1], i2 = { lang: this._config.lang }; + return n2 === a2 ? new F(2 * (e2 - 1), i2) : n2 === o2 ? new F(2 * (e2 - 1) + 1, i2) : null; + }, enumerable: false, configurable: true }), r2.prototype.recentSolarTerm = function(t3) { + return F.findNode(this._date, { lang: this._config.lang, nodeFlag: t3, returnValue: false }); + }, r2.prototype.getMonthBuilder = function(t3) { + void 0 === t3 && (t3 = 0); + var e2 = { lang: this.getConfig("lang") }, n2 = this.recentSolarTerm(t3), r3 = n2[0], a2 = n2[1], o2 = j(this.toDate(), r3.value, a2); + return [new V(o2, void 0, e2), r3, a2]; + }, r2.prototype.getSeasonIndex = function() { + var t3 = this.recentSolarTerm(0)[0].value; + return 2 <= t3 && t3 < 8 ? 0 : 8 <= t3 && t3 < 14 ? 1 : 14 <= t3 && t3 < 20 ? 2 : 3; + }, r2.prototype.getSeason = function(t3) { + void 0 === t3 && (t3 = false); + var e2 = this.getSeasonIndex(), n2 = this.getLocale(); + return t3 && n2.seasonShortName ? n2.seasonShortName[e2] : n2.seasonName[e2]; + }, r2.prototype.getLocale = function(t3) { + return g.locales[null != t3 ? t3 : this._config.lang]; + }, r2.prototype.L = function(t3) { + return function(t4, e2) { + for (var n2 = e2.split("."), r3 = t4, a2 = e2, o2 = function(t5) { + return ("string" == typeof t5 || "number" == typeof t5 || "function" == typeof t5) && (a2 = t5, true); + }; n2.length >= 0 && !o2(r3) && 0 !== n2.length; ) { + var i2 = n2.shift(); + if (void 0 === i2) + return ""; + if (Array.isArray(r3)) { + var u2 = Number(i2); + if (isNaN(u2) || u2 >= r3.length) + return ""; + r3 = r3[u2], a2 = r3; + } else { + if (!r3.hasOwnProperty(i2)) + return n2[n2.length - 1] || i2; + r3 = r3[i2]; + } + } + return a2; + }(this.getLocale(), t3); + }, r2.prototype.getConfig = function(t3) { + return void 0 === t3 ? this._config : (this._config[t3], this._config[t3]); + }, r2.prototype.toDate = function() { + return new Date(this.valueOf()); + }, r2.prototype.clone = function() { + return new r2(this.valueOf(), this._config); + }, r2.prototype.unix = function() { + return Math.floor(this.valueOf() / 1e3); + }, r2.prototype.valueOf = function() { + return this._date.valueOf() - 60 * this._offset * 1e3; + }, r2.prototype.local = function() { + var t3 = Object.assign({}, this._config, { isUTC: false, offset: 0 }); + return new r2(this.toDate(), t3); + }, r2.prototype.utc = function() { + return this.utcOffset(-this._offset); + }, r2.prototype.isUTC = function() { + return this._config.isUTC; + }, r2.prototype.utcOffset = function(t3) { + if (void 0 === t3) + return this.isUTC() ? this._offset : (e2 = this._date, 15 * -Math.round(e2.getTimezoneOffset() / 15)); + var e2, n2 = Object.assign({}, this._config, { isUTC: true, offset: Math.abs(t3) <= 16 ? 60 * t3 : t3 }); + return new r2(this._date, n2); + }, r2.prototype.toISOString = function() { + return this._date.toISOString(); + }, r2.prototype.toUTCString = function() { + return this._date.toUTCString(); + }, r2.prototype.toString = function() { + return this._date.toUTCString() + " (".concat(this.lunar, ")") + " utcOffset: ".concat(this.utcOffset()); + }, r2.prototype.format = function(t3) { + return k(t3, this); + }, r2.prototype.diff = function(t3, e2, n2) { + return void 0 === n2 && (n2 = false), e2 = e2 ? M(e2) : "millisecond", o.has(e2) ? function(t4, e3, n3, r3) { + var o2 = [t4.lunar, e3.lunar], i2 = o2[1], u2 = [o2[0].year, i2.year], c2 = u2[0], s2 = u2[1], l2 = e3.valueOf() - t4.valueOf(); + if ((n3 = M(n3)) === a.ly) { + var f2 = s2 - c2; + return r3 ? f2 - 1 + H(t4, true) + H(e3, false) : f2; + } + return n3 === a.lM ? A(t4, e3, r3) : (n3 === a.ld ? l2 /= 864e5 : n3 === a.lh && (l2 /= 72e5), r3 ? l2 : Math.ceil(l2)); + }(this, t3 instanceof r2 ? t3 : new r2(t3, this._config), e2, n2) : function(t4, e3, n3, r3) { + var o2; + t4 = (o2 = [O(t4), O(e3)])[0]; + var i2 = (e3 = o2[1]).valueOf() - t4.valueOf(); + n3 = n3 ? M(n3) : "millisecond"; + var u2 = i2; + return a.s === n3 ? u2 = i2 / 1e3 : a.m === n3 ? u2 = i2 / 6e4 : a.h === n3 ? u2 = i2 / 36e5 : a.d === n3 ? u2 = i2 / 864e5 : a.w === n3 ? u2 = i2 / 6048e5 : a.M === n3 ? u2 = C(t4, e3) : a.y === n3 ? u2 = C(t4, e3) / 12 : a.q === n3 && (u2 = C(t4, e3) / 3), r3 ? u2 : parseInt(String(u2)); + }(this._date, t3, e2, n2); + }, r2.prototype.add = function(t3, e2) { + var n2 = function(t4, e3, n3) { + var r3 = (t4 = O(t4)).getFullYear(), o2 = t4.getMonth() + 1, i2 = e3; + if ((n3 = n3 ? M(n3) : "millisecond") === a.d || n3 === a.ld) + i2 = 24 * e3 * 60 * 60 * 1e3; + else if (n3 === a.h) + i2 = 60 * e3 * 60 * 1e3; + else if (n3 === a.m) + i2 = 60 * e3 * 1e3; + else if (n3 === a.s) + i2 = 1e3 * e3; + else { + if (n3 === a.M) + return new Date(t4.setMonth(o2 - 1 + e3)); + if (n3 === a.y) + return new Date(t4.setFullYear(r3 + e3)); + } + return new Date(t4.valueOf() + i2); + }(this.toDate(), t3, e2); + return new r2(n2, this.getConfig()); + }, n([z("lunisolar:lunar")], r2.prototype, "lunar", null), n([z("lunisolar:char8")], r2.prototype, "char8", null), n([z("lunisolar:markers")], r2.prototype, "markers", null), n([z("lunisolar:solarTerm")], r2.prototype, "solarTerm", null), n([z("lunisolar:recentSolarTerm", true)], r2.prototype, "recentSolarTerm", null), n([z("lunisolar:getMonthBuilder", true)], r2.prototype, "getMonthBuilder", null), r2; +}(Z), it = [5, 7, 11, 13, -1, -2, 17, 19, 23, 1], ut = [4, 6, 0, 7], ct = [1, 1, 8, 8, 8, 3, 3, 3, 4, 4, 4, 9, 9, 9, 2, 2, 2, 7, 7, 7, 6, 6, 6, 1], st = /* @__PURE__ */ new Map(), lt = function(t2) { + void 0 === t2 && (t2 = "zh"); + var e2 = "direction24List:".concat(t2); + if (st.has(e2)) + return st.get(e2); + var n2 = { lang: t2 }, r2 = [G.create(0, n2), R.create(9, n2), G.create(1, n2), E.create(4, n2), G.create(2, n2), R.create(0, n2), G.create(3, n2), R.create(1, n2), G.create(4, n2), E.create(6, n2), G.create(5, n2), R.create(2, n2), G.create(6, n2), R.create(3, n2), G.create(7, n2), E.create(0, n2), G.create(8, n2), R.create(6, n2), G.create(9, n2), R.create(7, n2), G.create(10, n2), E.create(7, n2), G.create(11, n2), R.create(8, n2)]; + return st.set(e2, r2), r2; +}; +function ft(t2) { + if ("number" == typeof t2) + return t2; + var e2 = t2.constructor.name, n2 = t2.value; + if ("Stem" === e2) + t2 = it[n2]; + else if ("Branch" === e2) + t2 = 2 * n2; + else { + if ("Trigram8" !== e2) + throw new Error("Invalid direction24 value"); + var r2 = ut.indexOf(n2); + if (-1 === r2) + throw new Error("Invalid direction24 value"); + t2 = 3 * (2 * r2 + 1); + } + return t2; +} +var ht = function() { + function t2(t3, e2) { + this._config = { lang: g.lang }; + var n2 = ft(t3); + this.value = n2; + var r2 = (null == e2 ? void 0 : e2.lang) || g.lang, a2 = lt(r2); + this._sign = -1 === n2 ? R.create(4, e2) : -1 === n2 ? R.create(5, e2) : a2[n2 % 24]; + } + return t2.create = function(e2, n2) { + var r2 = ft(e2), a2 = (null == n2 ? void 0 : n2.lang) || "zh", o2 = "".concat(r2, ":").concat(a2); + if (t2.instances.has(o2)) + return t2.instances.get(o2); + var i2 = new t2(r2, n2); + return t2.instances.set(o2, i2), i2; + }, t2.createFromAngle = function(e2, n2) { + var r2 = Math.round(e2 % 360 / 15); + return t2.create(r2, n2); + }, t2.getNames = function(t3) { + return t3 = t3 || g.lang, lt(t3).map(function(t4) { + return t4.name; + }); + }, Object.defineProperty(t2.prototype, "sign", { get: function() { + return this._sign; + }, enumerable: false, configurable: true }), Object.defineProperty(t2.prototype, "name", { get: function() { + return this._sign.toString(); + }, enumerable: false, configurable: true }), Object.defineProperty(t2.prototype, "type", { get: function() { + return this._sign.constructor.name; + }, enumerable: false, configurable: true }), Object.defineProperty(t2.prototype, "angle", { get: function() { + return this.value > 0 ? 15 * this.value : NaN; + }, enumerable: false, configurable: true }), Object.defineProperty(t2.prototype, "direction", { get: function() { + return g.locales[this._config.lang].directions[this.directionIndex]; + }, enumerable: false, configurable: true }), Object.defineProperty(t2.prototype, "directionIndex", { get: function() { + return this.value < 0 ? 5 : ct[this.value]; + }, enumerable: false, configurable: true }), t2.prototype.toString = function() { + return this._sign.toString(); + }, t2.prototype.valueOf = function() { + return this.value; + }, t2.instances = /* @__PURE__ */ new Map(), t2; +}(); +function gt(t2, e2) { + return new ot(t2, e2); +} +gt.utc = function(t2, e2) { + return new ot(t2, Object.assign({}, e2, { isUTC: true })); +}, gt.Lunar = B, gt.SolarTerm = F, gt.Char8 = $, gt.SB = V, gt.Stem = R, gt.Branch = G, gt.Element5 = I, gt.Lunisolar = ot, gt.Trigram8 = E, gt.Direction24 = ht, gt.fromLunar = function(t2, e2) { + var n2 = D(t2, null == e2 ? void 0 : e2.lang); + return new ot(n2, e2); +}, gt.config = function(t2) { + return t2 ? (Object.assign(g, t2), gt) : gt; +}, gt.extend = function(t2, e2) { + return t2.$once || (t2(e2, ot, gt), t2.$once = true), gt; +}, gt.locale = function(t2, e2) { + if (void 0 === e2 && (e2 = false), Array.isArray(t2)) { + for (var n2 = 0, r2 = t2; n2 < r2.length; n2++) { + var a2 = r2[n2]; + gt.locale(a2, e2); + } + return gt; + } + return t2 && t2.name ? (g.locales[t2.name] = Object.assign({}, g.locales[t2.name], h, t2), e2 || (g.lang = t2.name), e2 && "zh" !== g.lang && (g.locales[g.lang] = Object.assign({}, g.locales.zh, g.locales[g.lang])), gt) : gt; +}, gt.getLocale = function(t2) { + return g.locales[t2]; +}, gt.defineLocale = function(t2) { + return t2; +}, gt.Markers = at, gt._globalConfig = g, Object.defineProperty(gt, "_globalConfig", { writable: false }); +exports._export_sfc = _export_sfc; +exports.computed$1 = computed$1; +exports.createPersistedState = createPersistedState; +exports.createPinia = createPinia; +exports.createSSRApp = createSSRApp; +exports.defineComponent = defineComponent; +exports.defineStore = defineStore; +exports.e = e$1; +exports.f = f$1; +exports.getCurrentInstance = getCurrentInstance; +exports.gt = gt; +exports.index = index; +exports.inject = inject; +exports.isRef = isRef; +exports.n = n$1; +exports.nextTick = nextTick; +exports.o = o$1; +exports.onBeforeMount = onBeforeMount; +exports.onHide = onHide; +exports.onLaunch = onLaunch; +exports.onLoad = onLoad; +exports.onMounted = onMounted; +exports.onShow = onShow; +exports.onUnmounted = onUnmounted; +exports.p = p$1; +exports.provide = provide; +exports.r = r$1; +exports.reactive = reactive; +exports.ref = ref; +exports.resolveComponent = resolveComponent; +exports.s = s$1; +exports.storeToRefs = storeToRefs; +exports.t = t$1; +exports.textEncodingShim = textEncodingShim; +exports.unref = unref; +exports.useMessage = useMessage; +exports.useSlots = useSlots; +exports.useToast = useToast; +exports.watch = watch; diff --git a/dist/dev/mp-weixin/components/NavBar.js b/dist/dev/mp-weixin/components/NavBar.js new file mode 100644 index 0000000..0a359c8 --- /dev/null +++ b/dist/dev/mp-weixin/components/NavBar.js @@ -0,0 +1,47 @@ +"use strict"; +var common_vendor = require("../common/vendor.js"); +if (!Array) { + const _easycom_wd_navbar_capsule2 = common_vendor.resolveComponent("wd-navbar-capsule"); + const _easycom_wd_navbar2 = common_vendor.resolveComponent("wd-navbar"); + (_easycom_wd_navbar_capsule2 + _easycom_wd_navbar2)(); +} +const _easycom_wd_navbar_capsule = () => "../uni_modules/wot-design-uni/components/wd-navbar-capsule/wd-navbar-capsule.js"; +const _easycom_wd_navbar = () => "../uni_modules/wot-design-uni/components/wd-navbar/wd-navbar.js"; +if (!Math) { + (_easycom_wd_navbar_capsule + _easycom_wd_navbar)(); +} +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + __name: "NavBar", + props: { + title: { + type: String, + default: "" + } + }, + setup(__props) { + const handleBack = () => { + common_vendor.index.navigateBack({}); + }; + const handleBackHome = () => { + common_vendor.index.reLaunch({ + url: "/pages/index/index" + }); + }; + return (_ctx, _cache) => { + return { + a: common_vendor.o(handleBack), + b: common_vendor.o(handleBackHome), + c: common_vendor.p({ + title: __props.title, + ["left-text"]: "\u8FD4\u56DE", + ["left-arrow"]: true, + fixed: true, + placeholder: true, + safeAreaInsetTop: true + }) + }; + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/components/NavBar.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/components/NavBar.json b/dist/dev/mp-weixin/components/NavBar.json new file mode 100644 index 0000000..aeea00e --- /dev/null +++ b/dist/dev/mp-weixin/components/NavBar.json @@ -0,0 +1,7 @@ +{ + "component": true, + "usingComponents": { + "wd-navbar-capsule": "../uni_modules/wot-design-uni/components/wd-navbar-capsule/wd-navbar-capsule", + "wd-navbar": "../uni_modules/wot-design-uni/components/wd-navbar/wd-navbar" + } +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/components/NavBar.wxml b/dist/dev/mp-weixin/components/NavBar.wxml new file mode 100644 index 0000000..e614994 --- /dev/null +++ b/dist/dev/mp-weixin/components/NavBar.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/dev/mp-weixin/components/NavBar.wxss b/dist/dev/mp-weixin/components/NavBar.wxss new file mode 100644 index 0000000..e69de29 diff --git a/dist/dev/mp-weixin/components/TabBar.js b/dist/dev/mp-weixin/components/TabBar.js new file mode 100644 index 0000000..0088331 --- /dev/null +++ b/dist/dev/mp-weixin/components/TabBar.js @@ -0,0 +1,68 @@ +"use strict"; +var common_vendor = require("../common/vendor.js"); +require("../stores/index.js"); +var stores_modules_tabIndex = require("../stores/modules/tabIndex.js"); +require("../stores/modules/user.js"); +require("../stores/modules/AIResponse.js"); +require("../stores/modules/rateLimit.js"); +if (!Array) { + const _easycom_wd_tabbar_item2 = common_vendor.resolveComponent("wd-tabbar-item"); + const _easycom_wd_tabbar2 = common_vendor.resolveComponent("wd-tabbar"); + (_easycom_wd_tabbar_item2 + _easycom_wd_tabbar2)(); +} +const _easycom_wd_tabbar_item = () => "../uni_modules/wot-design-uni/components/wd-tabbar-item/wd-tabbar-item.js"; +const _easycom_wd_tabbar = () => "../uni_modules/wot-design-uni/components/wd-tabbar/wd-tabbar.js"; +if (!Math) { + (_easycom_wd_tabbar_item + _easycom_wd_tabbar)(); +} +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + __name: "TabBar", + setup(__props) { + const { + tabIndex + } = common_vendor.storeToRefs(stores_modules_tabIndex.useTabStore()); + const tabBarList = [ + { + icon: "home", + title: "\u5B66\u6613" + }, + { + icon: "spool", + title: "\u95EE\u6613" + }, + { + icon: "user", + title: "\u5F52\u5904" + } + ]; + const onChange = ({ value }) => { + tabIndex.value = parseInt(value); + console.log(tabIndex.value); + }; + return (_ctx, _cache) => { + return { + a: common_vendor.f(tabBarList, (item, index, i0) => { + return { + a: index, + b: "42921124-1-" + i0 + ",42921124-0", + c: common_vendor.p({ + title: item.title, + icon: item.icon + }) + }; + }), + b: common_vendor.o(onChange), + c: common_vendor.o(($event) => common_vendor.isRef(tabIndex) ? tabIndex.value = $event : null), + d: common_vendor.p({ + fixed: true, + zIndex: 9, + safeAreaInsetBottom: true, + placeholder: true, + modelValue: common_vendor.unref(tabIndex) + }) + }; + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-42921124"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/components/TabBar.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/components/TabBar.json b/dist/dev/mp-weixin/components/TabBar.json new file mode 100644 index 0000000..6d955cb --- /dev/null +++ b/dist/dev/mp-weixin/components/TabBar.json @@ -0,0 +1,7 @@ +{ + "component": true, + "usingComponents": { + "wd-tabbar-item": "../uni_modules/wot-design-uni/components/wd-tabbar-item/wd-tabbar-item", + "wd-tabbar": "../uni_modules/wot-design-uni/components/wd-tabbar/wd-tabbar" + } +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/components/TabBar.wxml b/dist/dev/mp-weixin/components/TabBar.wxml new file mode 100644 index 0000000..6cc13cf --- /dev/null +++ b/dist/dev/mp-weixin/components/TabBar.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/dev/mp-weixin/components/TabBar.wxss b/dist/dev/mp-weixin/components/TabBar.wxss new file mode 100644 index 0000000..56284f3 --- /dev/null +++ b/dist/dev/mp-weixin/components/TabBar.wxss @@ -0,0 +1,4 @@ + +.tab-bar.data-v-42921124 { + z-index: 9; +} diff --git a/dist/dev/mp-weixin/components/ua-markdown/lib/highlight/uni-highlight.min.js b/dist/dev/mp-weixin/components/ua-markdown/lib/highlight/uni-highlight.min.js new file mode 100644 index 0000000..f2ee48b --- /dev/null +++ b/dist/dev/mp-weixin/components/ua-markdown/lib/highlight/uni-highlight.min.js @@ -0,0 +1,7408 @@ +"use strict"; +var e = { + exports: {} +}; +function n(e2) { + return e2 instanceof Map ? e2.clear = e2.delete = e2.set = () => { + throw Error("map is read-only"); + } : e2 instanceof Set && (e2.add = e2.clear = e2.delete = () => { + throw Error("set is read-only"); + }), Object.freeze(e2), Object.getOwnPropertyNames(e2).forEach((t2) => { + var a2 = e2[t2]; + "object" != typeof a2 || Object.isFrozen(a2) || n(a2); + }), e2; +} +e.exports = n, e.exports.default = n; +class t { + constructor(e2) { + void 0 === e2.data && (e2.data = {}), this.data = e2.data, this.isMatchIgnored = false; + } + ignoreMatch() { + this.isMatchIgnored = true; + } +} +function a(e2) { + return e2.replace(/&/g, "&").replace(//g, ">").replace(/"/g, """).replace( + /'/g, + "'" + ); +} +function i(e2, ...n2) { + const t2 = /* @__PURE__ */ Object.create(null); + for (const n3 in e2) + t2[n3] = e2[n3]; + return n2.forEach((e3) => { + for (const n3 in e3) + t2[n3] = e3[n3]; + }), t2; +} +const r = (e2) => !!e2.scope || e2.sublanguage && e2.language; +class s { + constructor(e2, n2) { + this.buffer = "", this.classPrefix = n2.classPrefix, e2.walk(this); + } + addText(e2) { + this.buffer += a(e2); + } + openNode(e2) { + if (!r(e2)) + return; + let n2 = ""; + n2 = e2.sublanguage ? "language-" + e2.language : ((e3, { + prefix: n3 + }) => { + if (e3.includes(".")) { + const t2 = e3.split("."); + return [`${n3}${t2.shift()}`, ...t2.map((e4, n4) => `${e4}${"_".repeat(n4 + 1)}`)].join(" "); + } + return `${n3}${e3}`; + })(e2.scope, { + prefix: this.classPrefix + }), this.span(n2); + } + closeNode(e2) { + r(e2) && (this.buffer += ""); + } + value() { + return this.buffer; + } + span(e2) { + this.buffer += ``; + } +} +const o = (e2 = {}) => { + const n2 = { + children: [] + }; + return Object.assign(n2, e2), n2; +}; +class l { + constructor() { + this.rootNode = o(), this.stack = [this.rootNode]; + } + get top() { + return this.stack[this.stack.length - 1]; + } + get root() { + return this.rootNode; + } + add(e2) { + this.top.children.push(e2); + } + openNode(e2) { + const n2 = o({ + scope: e2 + }); + this.add(n2), this.stack.push(n2); + } + closeNode() { + if (this.stack.length > 1) + return this.stack.pop(); + } + closeAllNodes() { + for (; this.closeNode(); ) + ; + } + toJSON() { + return JSON.stringify(this.rootNode, null, 4); + } + walk(e2) { + return this.constructor._walk(e2, this.rootNode); + } + static _walk(e2, n2) { + return "string" == typeof n2 ? e2.addText(n2) : n2.children && (e2.openNode(n2), n2.children.forEach((n3) => this._walk(e2, n3)), e2.closeNode(n2)), e2; + } + static _collapse(e2) { + "string" != typeof e2 && e2.children && (e2.children.every((e3) => "string" == typeof e3) ? e2.children = [ + e2.children.join("") + ] : e2.children.forEach((e3) => { + l._collapse(e3); + })); + } +} +class c extends l { + constructor(e2) { + super(), this.options = e2; + } + addKeyword(e2, n2) { + "" !== e2 && (this.openNode(n2), this.addText(e2), this.closeNode()); + } + addText(e2) { + "" !== e2 && this.add(e2); + } + addSublanguage(e2, n2) { + const t2 = e2.root; + t2.sublanguage = true, t2.language = n2, this.add(t2); + } + toHTML() { + return new s(this, this.options).value(); + } + finalize() { + return true; + } +} +function d(e2) { + return e2 ? "string" == typeof e2 ? e2 : e2.source : null; +} +function g(e2) { + return m("(?=", e2, ")"); +} +function u(e2) { + return m("(?:", e2, ")*"); +} +function b(e2) { + return m("(?:", e2, ")?"); +} +function m(...e2) { + return e2.map((e3) => d(e3)).join(""); +} +function p(...e2) { + const n2 = ((e3) => { + const n3 = e3[e3.length - 1]; + return "object" == typeof n3 && n3.constructor === Object ? (e3.splice(e3.length - 1, 1), n3) : {}; + })(e2); + return "(" + (n2.capture ? "" : "?:") + e2.map((e3) => d(e3)).join("|") + ")"; +} +function _(e2) { + return RegExp(e2.toString() + "|").exec("").length - 1; +} +const h = /\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./; +function f(e2, { + joinWith: n2 +}) { + let t2 = 0; + return e2.map((e3) => { + t2 += 1; + const n3 = t2; + let a2 = d(e3), i2 = ""; + for (; a2.length > 0; ) { + const e4 = h.exec(a2); + if (!e4) { + i2 += a2; + break; + } + i2 += a2.substring(0, e4.index), a2 = a2.substring(e4.index + e4[0].length), "\\" === e4[0][0] && e4[1] ? i2 += "\\" + (Number(e4[1]) + n3) : (i2 += e4[0], "(" === e4[0] && t2++); + } + return i2; + }).map((e3) => `(${e3})`).join(n2); +} +const E = "(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)", y = { + begin: "\\\\[\\s\\S]", + relevance: 0 +}, w = { + scope: "string", + begin: "'", + end: "'", + illegal: "\\n", + contains: [y] +}, N = { + scope: "string", + begin: '"', + end: '"', + illegal: "\\n", + contains: [y] +}, v = (e2, n2, t2 = {}) => { + const a2 = i({ + scope: "comment", + begin: e2, + end: n2, + contains: [] + }, t2); + a2.contains.push({ + scope: "doctag", + begin: "[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)", + end: /(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/, + excludeBegin: true, + relevance: 0 + }); + const r2 = p( + "I", + "a", + "is", + "so", + "us", + "to", + "at", + "if", + "in", + "it", + "on", + /[A-Za-z]+['](d|ve|re|ll|t|s|n)/, + /[A-Za-z]+[-][a-z]+/, + /[A-Za-z][a-z]{2,}/ + ); + return a2.contains.push({ + begin: m(/[ ]+/, "(", r2, /[.]?[:]?([.][ ]|[ ])/, "){3}") + }), a2; +}, O = v("//", "$"), k = v("/\\*", "\\*/"), x = v("#", "$"); +var M = Object.freeze({ + __proto__: null, + MATCH_NOTHING_RE: /\b\B/, + IDENT_RE: "[a-zA-Z]\\w*", + UNDERSCORE_IDENT_RE: "[a-zA-Z_]\\w*", + NUMBER_RE: "\\b\\d+(\\.\\d+)?", + C_NUMBER_RE: E, + BINARY_NUMBER_RE: "\\b(0b[01]+)", + RE_STARTERS_RE: "!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", + SHEBANG: (e2 = {}) => { + const n2 = /^#![ ]*\//; + return e2.binary && (e2.begin = m(n2, /.*\b/, e2.binary, /\b.*/)), i({ + scope: "meta", + begin: n2, + end: /$/, + relevance: 0, + "on:begin": (e3, n3) => { + 0 !== e3.index && n3.ignoreMatch(); + } + }, e2); + }, + BACKSLASH_ESCAPE: y, + APOS_STRING_MODE: w, + QUOTE_STRING_MODE: N, + PHRASAL_WORDS_MODE: { + begin: /\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ + }, + COMMENT: v, + C_LINE_COMMENT_MODE: O, + C_BLOCK_COMMENT_MODE: k, + HASH_COMMENT_MODE: x, + NUMBER_MODE: { + scope: "number", + begin: "\\b\\d+(\\.\\d+)?", + relevance: 0 + }, + C_NUMBER_MODE: { + scope: "number", + begin: E, + relevance: 0 + }, + BINARY_NUMBER_MODE: { + scope: "number", + begin: "\\b(0b[01]+)", + relevance: 0 + }, + REGEXP_MODE: { + begin: /(?=\/[^/\n]*\/)/, + contains: [{ + scope: "regexp", + begin: /\//, + end: /\/[gimuy]*/, + illegal: /\n/, + contains: [y, { + begin: /\[/, + end: /\]/, + relevance: 0, + contains: [y] + }] + }] + }, + TITLE_MODE: { + scope: "title", + begin: "[a-zA-Z]\\w*", + relevance: 0 + }, + UNDERSCORE_TITLE_MODE: { + scope: "title", + begin: "[a-zA-Z_]\\w*", + relevance: 0 + }, + METHOD_GUARD: { + begin: "\\.\\s*[a-zA-Z_]\\w*", + relevance: 0 + }, + END_SAME_AS_BEGIN: (e2) => Object.assign(e2, { + "on:begin": (e3, n2) => { + n2.data._beginMatch = e3[1]; + }, + "on:end": (e3, n2) => { + n2.data._beginMatch !== e3[1] && n2.ignoreMatch(); + } + }) +}); +function S(e2, n2) { + "." === e2.input[e2.index - 1] && n2.ignoreMatch(); +} +function A(e2, n2) { + void 0 !== e2.className && (e2.scope = e2.className, delete e2.className); +} +function C(e2, n2) { + n2 && e2.beginKeywords && (e2.begin = "\\b(" + e2.beginKeywords.split(" ").join("|") + ")(?!\\.)(?=\\b|\\s)", e2.__beforeBegin = S, e2.keywords = e2.keywords || e2.beginKeywords, delete e2.beginKeywords, void 0 === e2.relevance && (e2.relevance = 0)); +} +function T(e2, n2) { + Array.isArray(e2.illegal) && (e2.illegal = p(...e2.illegal)); +} +function R(e2, n2) { + if (e2.match) { + if (e2.begin || e2.end) + throw Error("begin & end are not supported with match"); + e2.begin = e2.match, delete e2.match; + } +} +function D(e2, n2) { + void 0 === e2.relevance && (e2.relevance = 1); +} +const I = (e2, n2) => { + if (!e2.beforeMatch) + return; + if (e2.starts) + throw Error("beforeMatch cannot be used with starts"); + const t2 = Object.assign({}, e2); + Object.keys(e2).forEach((n3) => { + delete e2[n3]; + }), e2.keywords = t2.keywords, e2.begin = m(t2.beforeMatch, g(t2.begin)), e2.starts = { + relevance: 0, + contains: [Object.assign(t2, { + endsParent: true + })] + }, e2.relevance = 0, delete t2.beforeMatch; +}, L = ["of", "and", "for", "in", "not", "or", "if", "then", "parent", "list", "value"]; +function B(e2, n2, t2 = "keyword") { + const a2 = /* @__PURE__ */ Object.create(null); + return "string" == typeof e2 ? i2(t2, e2.split(" ")) : Array.isArray(e2) ? i2(t2, e2) : Object.keys(e2).forEach((t3) => { + Object.assign(a2, B(e2[t3], n2, t3)); + }), a2; + function i2(e3, t3) { + n2 && (t3 = t3.map((e4) => e4.toLowerCase())), t3.forEach((n3) => { + const t4 = n3.split("|"); + a2[t4[0]] = [e3, $(t4[0], t4[1])]; + }); + } +} +function $(e2, n2) { + return n2 ? Number(n2) : ((e3) => L.includes(e3.toLowerCase()))(e2) ? 0 : 1; +} +const z = {}, F = (e2) => { + console.error(e2); +}, U = (e2, ...n2) => { + console.log("WARN: " + e2, ...n2); +}, j = (e2, n2) => { + z[`${e2}/${n2}`] || (console.log(`Deprecated as of ${e2}. ${n2}`), z[`${e2}/${n2}`] = true); +}, P = Error(); +function K(e2, n2, { + key: t2 +}) { + let a2 = 0; + const i2 = e2[t2], r2 = {}, s2 = {}; + for (let e3 = 1; e3 <= n2.length; e3++) + s2[e3 + a2] = i2[e3], r2[e3 + a2] = true, a2 += _(n2[e3 - 1]); + e2[t2] = s2, e2[t2]._emit = r2, e2[t2]._multi = true; +} +function H(e2) { + ((e3) => { + e3.scope && "object" == typeof e3.scope && null !== e3.scope && (e3.beginScope = e3.scope, delete e3.scope); + })(e2), "string" == typeof e2.beginScope && (e2.beginScope = { + _wrap: e2.beginScope + }), "string" == typeof e2.endScope && (e2.endScope = { + _wrap: e2.endScope + }), ((e3) => { + if (Array.isArray(e3.begin)) { + if (e3.skip || e3.excludeBegin || e3.returnBegin) + throw F( + "skip, excludeBegin, returnBegin not compatible with beginScope: {}" + ), P; + if ("object" != typeof e3.beginScope || null === e3.beginScope) + throw F("beginScope must be object"), P; + K(e3, e3.begin, { + key: "beginScope" + }), e3.begin = f(e3.begin, { + joinWith: "" + }); + } + })(e2), ((e3) => { + if (Array.isArray(e3.end)) { + if (e3.skip || e3.excludeEnd || e3.returnEnd) + throw F( + "skip, excludeEnd, returnEnd not compatible with endScope: {}" + ), P; + if ("object" != typeof e3.endScope || null === e3.endScope) + throw F("endScope must be object"), P; + K(e3, e3.end, { + key: "endScope" + }), e3.end = f(e3.end, { + joinWith: "" + }); + } + })(e2); +} +function q(e2) { + function n2(n3, t3) { + return RegExp(d(n3), "m" + (e2.case_insensitive ? "i" : "") + (e2.unicodeRegex ? "u" : "") + (t3 ? "g" : "")); + } + class t2 { + constructor() { + this.matchIndexes = {}, this.regexes = [], this.matchAt = 1, this.position = 0; + } + addRule(e3, n3) { + n3.position = this.position++, this.matchIndexes[this.matchAt] = n3, this.regexes.push([n3, e3]), this.matchAt += _(e3) + 1; + } + compile() { + 0 === this.regexes.length && (this.exec = () => null); + const e3 = this.regexes.map((e4) => e4[1]); + this.matcherRe = n2(f(e3, { + joinWith: "|" + }), true), this.lastIndex = 0; + } + exec(e3) { + this.matcherRe.lastIndex = this.lastIndex; + const n3 = this.matcherRe.exec(e3); + if (!n3) + return null; + const t3 = n3.findIndex((e4, n4) => n4 > 0 && void 0 !== e4), a3 = this.matchIndexes[t3]; + return n3.splice(0, t3), Object.assign(n3, a3); + } + } + class a2 { + constructor() { + this.rules = [], this.multiRegexes = [], this.count = 0, this.lastIndex = 0, this.regexIndex = 0; + } + getMatcher(e3) { + if (this.multiRegexes[e3]) + return this.multiRegexes[e3]; + const n3 = new t2(); + return this.rules.slice(e3).forEach(([e4, t3]) => n3.addRule(e4, t3)), n3.compile(), this.multiRegexes[e3] = n3, n3; + } + resumingScanAtSamePosition() { + return 0 !== this.regexIndex; + } + considerAll() { + this.regexIndex = 0; + } + addRule(e3, n3) { + this.rules.push([e3, n3]), "begin" === n3.type && this.count++; + } + exec(e3) { + const n3 = this.getMatcher(this.regexIndex); + n3.lastIndex = this.lastIndex; + let t3 = n3.exec(e3); + if (this.resumingScanAtSamePosition()) + if (t3 && t3.index === this.lastIndex) + ; + else { + const n4 = this.getMatcher(0); + n4.lastIndex = this.lastIndex + 1, t3 = n4.exec(e3); + } + return t3 && (this.regexIndex += t3.position + 1, this.regexIndex === this.count && this.considerAll()), t3; + } + } + if (e2.compilerExtensions || (e2.compilerExtensions = []), e2.contains && e2.contains.includes("self")) + throw Error( + "ERR: contains `self` is not supported at the top-level of a language. See documentation." + ); + return e2.classNameAliases = i(e2.classNameAliases || {}), function t3(r2, s2) { + const o2 = r2; + if (r2.isCompiled) + return o2; + [A, R, H, I].forEach((e3) => e3(r2, s2)), e2.compilerExtensions.forEach((e3) => e3(r2, s2)), r2.__beforeBegin = null, [C, T, D].forEach((e3) => e3(r2, s2)), r2.isCompiled = true; + let l2 = null; + return "object" == typeof r2.keywords && r2.keywords.$pattern && (r2.keywords = Object.assign({}, r2.keywords), l2 = r2.keywords.$pattern, delete r2.keywords.$pattern), l2 = l2 || /\w+/, r2.keywords && (r2.keywords = B(r2.keywords, e2.case_insensitive)), o2.keywordPatternRe = n2(l2, true), s2 && (r2.begin || (r2.begin = /\B|\b/), o2.beginRe = n2(o2.begin), r2.end || r2.endsWithParent || (r2.end = /\B|\b/), r2.end && (o2.endRe = n2(o2.end)), o2.terminatorEnd = d(o2.end) || "", r2.endsWithParent && s2.terminatorEnd && (o2.terminatorEnd += (r2.end ? "|" : "") + s2.terminatorEnd)), r2.illegal && (o2.illegalRe = n2(r2.illegal)), r2.contains || (r2.contains = []), r2.contains = [].concat(...r2.contains.map((e3) => ((e4) => (e4.variants && !e4.cachedVariants && (e4.cachedVariants = e4.variants.map((n3) => i(e4, { + variants: null + }, n3))), e4.cachedVariants ? e4.cachedVariants : Z(e4) ? i(e4, { + starts: e4.starts ? i(e4.starts) : null + }) : Object.isFrozen(e4) ? i(e4) : e4))("self" === e3 ? r2 : e3))), r2.contains.forEach((e3) => { + t3(e3, o2); + }), r2.starts && t3(r2.starts, s2), o2.matcher = ((e3) => { + const n3 = new a2(); + return e3.contains.forEach((e4) => n3.addRule(e4.begin, { + rule: e4, + type: "begin" + })), e3.terminatorEnd && n3.addRule(e3.terminatorEnd, { + type: "end" + }), e3.illegal && n3.addRule(e3.illegal, { + type: "illegal" + }), n3; + })(o2), o2; + }(e2); +} +function Z(e2) { + return !!e2 && (e2.endsWithParent || Z(e2.starts)); +} +class G extends Error { + constructor(e2, n2) { + super(e2), this.name = "HTMLInjectionError", this.html = n2; + } +} +const W = a, Q = i, X = Symbol("nomatch"); +var V = ((n2) => { + const a2 = /* @__PURE__ */ Object.create(null), i2 = /* @__PURE__ */ Object.create(null), r2 = []; + let s2 = true; + const o2 = "Could not find the language '{}', did you forget to load/include a language module?", l2 = { + disableAutodetect: true, + name: "Plain text", + contains: [] + }; + let d2 = { + ignoreUnescapedHTML: false, + throwUnescapedHTML: false, + noHighlightRe: /^(no-?highlight)$/i, + languageDetectRe: /\blang(?:uage)?-([\w-]+)\b/i, + classPrefix: "hljs-", + cssSelector: "pre code", + languages: null, + __emitter: c + }; + function _2(e2) { + return d2.noHighlightRe.test(e2); + } + function h2(e2, n3, t2) { + let a3 = "", i3 = ""; + "object" == typeof n3 ? (a3 = e2, t2 = n3.ignoreIllegals, i3 = n3.language) : (j("10.7.0", "highlight(lang, code, ...args) has been deprecated."), j( + "10.7.0", + "Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277" + ), i3 = e2, a3 = n3), void 0 === t2 && (t2 = true); + const r3 = { + code: a3, + language: i3 + }; + x2("before:highlight", r3); + const s3 = r3.result ? r3.result : f2(r3.language, r3.code, t2); + return s3.code = r3.code, x2("after:highlight", s3), s3; + } + function f2(e2, n3, i3, r3) { + const l3 = /* @__PURE__ */ Object.create(null); + function c2() { + if (!k3.keywords) + return void M2.addText(S2); + let e3 = 0; + k3.keywordPatternRe.lastIndex = 0; + let n4 = k3.keywordPatternRe.exec(S2), t2 = ""; + for (; n4; ) { + t2 += S2.substring(e3, n4.index); + const i4 = w3.case_insensitive ? n4[0].toLowerCase() : n4[0], r4 = (a3 = i4, k3.keywords[a3]); + if (r4) { + const [e4, a4] = r4; + if (M2.addText(t2), t2 = "", l3[i4] = (l3[i4] || 0) + 1, l3[i4] <= 7 && (A2 += a4), e4.startsWith("_")) + t2 += n4[0]; + else { + const t3 = w3.classNameAliases[e4] || e4; + M2.addKeyword(n4[0], t3); + } + } else + t2 += n4[0]; + e3 = k3.keywordPatternRe.lastIndex, n4 = k3.keywordPatternRe.exec(S2); + } + var a3; + t2 += S2.substring(e3), M2.addText(t2); + } + function g2() { + null != k3.subLanguage ? (() => { + if ("" === S2) + return; + let e3 = null; + if ("string" == typeof k3.subLanguage) { + if (!a2[k3.subLanguage]) + return void M2.addText(S2); + e3 = f2(k3.subLanguage, S2, true, x3[k3.subLanguage]), x3[k3.subLanguage] = e3._top; + } else + e3 = E2(S2, k3.subLanguage.length ? k3.subLanguage : null); + k3.relevance > 0 && (A2 += e3.relevance), M2.addSublanguage(e3._emitter, e3.language); + })() : c2(), S2 = ""; + } + function u2(e3, n4) { + let t2 = 1; + const a3 = n4.length - 1; + for (; t2 <= a3; ) { + if (!e3._emit[t2]) { + t2++; + continue; + } + const a4 = w3.classNameAliases[e3[t2]] || e3[t2], i4 = n4[t2]; + a4 ? M2.addKeyword(i4, a4) : (S2 = i4, c2(), S2 = ""), t2++; + } + } + function b2(e3, n4) { + return e3.scope && "string" == typeof e3.scope && M2.openNode(w3.classNameAliases[e3.scope] || e3.scope), e3.beginScope && (e3.beginScope._wrap ? (M2.addKeyword(S2, w3.classNameAliases[e3.beginScope._wrap] || e3.beginScope._wrap), S2 = "") : e3.beginScope._multi && (u2(e3.beginScope, n4), S2 = "")), k3 = Object.create(e3, { + parent: { + value: k3 + } + }), k3; + } + function m2(e3, n4, a3) { + let i4 = ((e4, n5) => { + const t2 = e4 && e4.exec(n5); + return t2 && 0 === t2.index; + })(e3.endRe, a3); + if (i4) { + if (e3["on:end"]) { + const a4 = new t(e3); + e3["on:end"](n4, a4), a4.isMatchIgnored && (i4 = false); + } + if (i4) { + for (; e3.endsParent && e3.parent; ) + e3 = e3.parent; + return e3; + } + } + if (e3.endsWithParent) + return m2(e3.parent, n4, a3); + } + function p2(e3) { + return 0 === k3.matcher.regexIndex ? (S2 += e3[0], 1) : (R2 = true, 0); + } + function _3(e3) { + const t2 = e3[0], a3 = n3.substring(e3.index), i4 = m2(k3, e3, a3); + if (!i4) + return X; + const r4 = k3; + k3.endScope && k3.endScope._wrap ? (g2(), M2.addKeyword(t2, k3.endScope._wrap)) : k3.endScope && k3.endScope._multi ? (g2(), u2(k3.endScope, e3)) : r4.skip ? S2 += t2 : (r4.returnEnd || r4.excludeEnd || (S2 += t2), g2(), r4.excludeEnd && (S2 = t2)); + do { + k3.scope && M2.closeNode(), k3.skip || k3.subLanguage || (A2 += k3.relevance), k3 = k3.parent; + } while (k3 !== i4.parent); + return i4.starts && b2(i4.starts, e3), r4.returnEnd ? 0 : t2.length; + } + let h3 = {}; + function y3(a3, r4) { + const o3 = r4 && r4[0]; + if (S2 += a3, null == o3) + return g2(), 0; + if ("begin" === h3.type && "end" === r4.type && h3.index === r4.index && "" === o3) { + if (S2 += n3.slice(r4.index, r4.index + 1), !s2) { + const n4 = Error(`0 width match regex (${e2})`); + throw n4.languageName = e2, n4.badRule = h3.rule, n4; + } + return 1; + } + if (h3 = r4, "begin" === r4.type) + return ((e3) => { + const n4 = e3[0], a4 = e3.rule, i4 = new t(a4), r5 = [a4.__beforeBegin, a4["on:begin"]]; + for (const t2 of r5) + if (t2 && (t2(e3, i4), i4.isMatchIgnored)) + return p2(n4); + return a4.skip ? S2 += n4 : (a4.excludeBegin && (S2 += n4), g2(), a4.returnBegin || a4.excludeBegin || (S2 = n4)), b2(a4, e3), a4.returnBegin ? 0 : n4.length; + })(r4); + if ("illegal" === r4.type && !i3) { + const e3 = Error('Illegal lexeme "' + o3 + '" for mode "' + (k3.scope || "") + '"'); + throw e3.mode = k3, e3; + } + if ("end" === r4.type) { + const e3 = _3(r4); + if (e3 !== X) + return e3; + } + if ("illegal" === r4.type && "" === o3) + return 1; + if (T2 > 1e5 && T2 > 3 * r4.index) + throw Error("potential infinite loop, way more iterations than matches"); + return S2 += o3, o3.length; + } + const w3 = v2(e2); + if (!w3) + throw F(o2.replace("{}", e2)), Error('Unknown language: "' + e2 + '"'); + const N3 = q(w3); + let O3 = "", k3 = r3 || N3; + const x3 = {}, M2 = new d2.__emitter(d2); + (() => { + const e3 = []; + for (let n4 = k3; n4 !== w3; n4 = n4.parent) + n4.scope && e3.unshift(n4.scope); + e3.forEach((e4) => M2.openNode(e4)); + })(); + let S2 = "", A2 = 0, C2 = 0, T2 = 0, R2 = false; + try { + for (k3.matcher.considerAll(); ; ) { + T2++, R2 ? R2 = false : k3.matcher.considerAll(), k3.matcher.lastIndex = C2; + const e3 = k3.matcher.exec(n3); + if (!e3) + break; + const t2 = y3(n3.substring(C2, e3.index), e3); + C2 = e3.index + t2; + } + return y3(n3.substring(C2)), M2.closeAllNodes(), M2.finalize(), O3 = M2.toHTML(), { + language: e2, + value: O3, + relevance: A2, + illegal: false, + _emitter: M2, + _top: k3 + }; + } catch (t2) { + if (t2.message && t2.message.includes("Illegal")) + return { + language: e2, + value: W(n3), + illegal: true, + relevance: 0, + _illegalBy: { + message: t2.message, + index: C2, + context: n3.slice(C2 - 100, C2 + 100), + mode: t2.mode, + resultSoFar: O3 + }, + _emitter: M2 + }; + if (s2) + return { + language: e2, + value: W(n3), + illegal: false, + relevance: 0, + errorRaised: t2, + _emitter: M2, + _top: k3 + }; + throw t2; + } + } + function E2(e2, n3) { + n3 = n3 || d2.languages || Object.keys(a2); + const t2 = ((e3) => { + const n4 = { + value: W(e3), + illegal: false, + relevance: 0, + _top: l2, + _emitter: new d2.__emitter(d2) + }; + return n4._emitter.addText(e3), n4; + })(e2), i3 = n3.filter(v2).filter(k2).map((n4) => f2(n4, e2, false)); + i3.unshift(t2); + const r3 = i3.sort((e3, n4) => { + if (e3.relevance !== n4.relevance) + return n4.relevance - e3.relevance; + if (e3.language && n4.language) { + if (v2(e3.language).supersetOf === n4.language) + return 1; + if (v2(n4.language).supersetOf === e3.language) + return -1; + } + return 0; + }), [s3, o3] = r3, c2 = s3; + return c2.secondBest = o3, c2; + } + function y2(e2) { + let n3 = null; + const t2 = ((e3) => { + let n4 = e3.className + " "; + n4 += e3.parentNode ? e3.parentNode.className : ""; + const t3 = d2.languageDetectRe.exec(n4); + if (t3) { + const n5 = v2(t3[1]); + return n5 || (U(o2.replace("{}", t3[1])), U("Falling back to no-highlight mode for this block.", e3)), n5 ? t3[1] : "no-highlight"; + } + return n4.split(/\s+/).find((e4) => _2(e4) || v2(e4)); + })(e2); + if (_2(t2)) + return; + if (x2("before:highlightElement", { + el: e2, + language: t2 + }), e2.children.length > 0 && (d2.ignoreUnescapedHTML || (console.warn( + "One of your code blocks includes unescaped HTML. This is a potentially serious security risk." + ), console.warn("https://github.com/highlightjs/highlight.js/wiki/security"), console.warn("The element with unescaped HTML:"), console.warn(e2)), d2.throwUnescapedHTML)) + throw new G("One of your code blocks includes unescaped HTML.", e2.innerHTML); + n3 = e2; + const a3 = n3.textContent, r3 = t2 ? h2(a3, { + language: t2, + ignoreIllegals: true + }) : E2(a3); + e2.innerHTML = r3.value, ((e3, n4, t3) => { + const a4 = n4 && i2[n4] || t3; + e3.classList.add("hljs"), e3.classList.add("language-" + a4); + })(e2, t2, r3.language), e2.result = { + language: r3.language, + re: r3.relevance, + relevance: r3.relevance + }, r3.secondBest && (e2.secondBest = { + language: r3.secondBest.language, + relevance: r3.secondBest.relevance + }), x2("after:highlightElement", { + el: e2, + result: r3, + text: a3 + }); + } + let w2 = false; + function N2() { + "loading" !== document.readyState ? document.querySelectorAll(d2.cssSelector).forEach(y2) : w2 = true; + } + function v2(e2) { + return e2 = (e2 || "").toLowerCase(), a2[e2] || a2[i2[e2]]; + } + function O2(e2, { + languageName: n3 + }) { + "string" == typeof e2 && (e2 = [e2]), e2.forEach((e3) => { + i2[e3.toLowerCase()] = n3; + }); + } + function k2(e2) { + const n3 = v2(e2); + return n3 && !n3.disableAutodetect; + } + function x2(e2, n3) { + const t2 = e2; + r2.forEach((e3) => { + e3[t2] && e3[t2](n3); + }); + } + "undefined" != typeof window && window.addEventListener && window.addEventListener("DOMContentLoaded", () => { + w2 && N2(); + }, false), Object.assign(n2, { + highlight: h2, + highlightAuto: E2, + highlightAll: N2, + highlightElement: y2, + highlightBlock: (e2) => (j("10.7.0", "highlightBlock will be removed entirely in v12.0"), j("10.7.0", "Please use highlightElement now."), y2(e2)), + configure: (e2) => { + d2 = Q(d2, e2); + }, + initHighlighting: () => { + N2(), j("10.6.0", "initHighlighting() deprecated. Use highlightAll() now."); + }, + initHighlightingOnLoad: () => { + N2(), j("10.6.0", "initHighlightingOnLoad() deprecated. Use highlightAll() now."); + }, + registerLanguage: (e2, t2) => { + let i3 = null; + try { + i3 = t2(n2); + } catch (n3) { + if (F("Language definition for '{}' could not be registered.".replace("{}", e2)), !s2) + throw n3; + F(n3), i3 = l2; + } + i3.name || (i3.name = e2), a2[e2] = i3, i3.rawDefinition = t2.bind(null, n2), i3.aliases && O2(i3.aliases, { + languageName: e2 + }); + }, + unregisterLanguage: (e2) => { + delete a2[e2]; + for (const n3 of Object.keys(i2)) + i2[n3] === e2 && delete i2[n3]; + }, + listLanguages: () => Object.keys(a2), + getLanguage: v2, + registerAliases: O2, + autoDetection: k2, + inherit: Q, + addPlugin: (e2) => { + ((e3) => { + e3["before:highlightBlock"] && !e3["before:highlightElement"] && (e3["before:highlightElement"] = (n3) => { + e3["before:highlightBlock"](Object.assign({ + block: n3.el + }, n3)); + }), e3["after:highlightBlock"] && !e3["after:highlightElement"] && (e3["after:highlightElement"] = (n3) => { + e3["after:highlightBlock"](Object.assign({ + block: n3.el + }, n3)); + }); + })(e2), r2.push(e2); + } + }), n2.debugMode = () => { + s2 = false; + }, n2.safeMode = () => { + s2 = true; + }, n2.versionString = "11.7.0", n2.regex = { + concat: m, + lookahead: g, + either: p, + optional: b, + anyNumberOfTimes: u + }; + for (const n3 in M) + "object" == typeof M[n3] && e.exports(M[n3]); + return Object.assign(n2, M), n2; +})({}); +const J = (e2) => ({ + IMPORTANT: { + scope: "meta", + begin: "!important" + }, + BLOCK_COMMENT: e2.C_BLOCK_COMMENT_MODE, + HEXCOLOR: { + scope: "number", + begin: /#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/ + }, + FUNCTION_DISPATCH: { + className: "built_in", + begin: /[\w-]+(?=\()/ + }, + ATTRIBUTE_SELECTOR_MODE: { + scope: "selector-attr", + begin: /\[/, + end: /\]/, + illegal: "$", + contains: [e2.APOS_STRING_MODE, e2.QUOTE_STRING_MODE] + }, + CSS_NUMBER_MODE: { + scope: "number", + begin: e2.NUMBER_RE + "(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", + relevance: 0 + }, + CSS_VARIABLE: { + className: "attr", + begin: /--[A-Za-z][A-Za-z0-9_-]*/ + } +}), Y = [ + "a", + "abbr", + "address", + "article", + "aside", + "audio", + "b", + "blockquote", + "body", + "button", + "canvas", + "caption", + "cite", + "code", + "dd", + "del", + "details", + "dfn", + "div", + "dl", + "dt", + "em", + "fieldset", + "figcaption", + "figure", + "footer", + "form", + "h1", + "h2", + "h3", + "h4", + "h5", + "h6", + "header", + "hgroup", + "html", + "i", + "iframe", + "img", + "input", + "ins", + "kbd", + "label", + "legend", + "li", + "main", + "mark", + "menu", + "nav", + "object", + "ol", + "p", + "q", + "quote", + "samp", + "section", + "span", + "strong", + "summary", + "sup", + "table", + "tbody", + "td", + "textarea", + "tfoot", + "th", + "thead", + "time", + "tr", + "ul", + "var", + "video" +], ee = [ + "any-hover", + "any-pointer", + "aspect-ratio", + "color", + "color-gamut", + "color-index", + "device-aspect-ratio", + "device-height", + "device-width", + "display-mode", + "forced-colors", + "grid", + "height", + "hover", + "inverted-colors", + "monochrome", + "orientation", + "overflow-block", + "overflow-inline", + "pointer", + "prefers-color-scheme", + "prefers-contrast", + "prefers-reduced-motion", + "prefers-reduced-transparency", + "resolution", + "scan", + "scripting", + "update", + "width", + "min-width", + "max-width", + "min-height", + "max-height" +], ne = [ + "active", + "any-link", + "blank", + "checked", + "current", + "default", + "defined", + "dir", + "disabled", + "drop", + "empty", + "enabled", + "first", + "first-child", + "first-of-type", + "fullscreen", + "future", + "focus", + "focus-visible", + "focus-within", + "has", + "host", + "host-context", + "hover", + "indeterminate", + "in-range", + "invalid", + "is", + "lang", + "last-child", + "last-of-type", + "left", + "link", + "local-link", + "not", + "nth-child", + "nth-col", + "nth-last-child", + "nth-last-col", + "nth-last-of-type", + "nth-of-type", + "only-child", + "only-of-type", + "optional", + "out-of-range", + "past", + "placeholder-shown", + "read-only", + "read-write", + "required", + "right", + "root", + "scope", + "target", + "target-within", + "user-invalid", + "valid", + "visited", + "where" +], te = [ + "after", + "backdrop", + "before", + "cue", + "cue-region", + "first-letter", + "first-line", + "grammar-error", + "marker", + "part", + "placeholder", + "selection", + "slotted", + "spelling-error" +], ae = [ + "align-content", + "align-items", + "align-self", + "all", + "animation", + "animation-delay", + "animation-direction", + "animation-duration", + "animation-fill-mode", + "animation-iteration-count", + "animation-name", + "animation-play-state", + "animation-timing-function", + "backface-visibility", + "background", + "background-attachment", + "background-blend-mode", + "background-clip", + "background-color", + "background-image", + "background-origin", + "background-position", + "background-repeat", + "background-size", + "block-size", + "border", + "border-block", + "border-block-color", + "border-block-end", + "border-block-end-color", + "border-block-end-style", + "border-block-end-width", + "border-block-start", + "border-block-start-color", + "border-block-start-style", + "border-block-start-width", + "border-block-style", + "border-block-width", + "border-bottom", + "border-bottom-color", + "border-bottom-left-radius", + "border-bottom-right-radius", + "border-bottom-style", + "border-bottom-width", + "border-collapse", + "border-color", + "border-image", + "border-image-outset", + "border-image-repeat", + "border-image-slice", + "border-image-source", + "border-image-width", + "border-inline", + "border-inline-color", + "border-inline-end", + "border-inline-end-color", + "border-inline-end-style", + "border-inline-end-width", + "border-inline-start", + "border-inline-start-color", + "border-inline-start-style", + "border-inline-start-width", + "border-inline-style", + "border-inline-width", + "border-left", + "border-left-color", + "border-left-style", + "border-left-width", + "border-radius", + "border-right", + "border-right-color", + "border-right-style", + "border-right-width", + "border-spacing", + "border-style", + "border-top", + "border-top-color", + "border-top-left-radius", + "border-top-right-radius", + "border-top-style", + "border-top-width", + "border-width", + "bottom", + "box-decoration-break", + "box-shadow", + "box-sizing", + "break-after", + "break-before", + "break-inside", + "caption-side", + "caret-color", + "clear", + "clip", + "clip-path", + "clip-rule", + "color", + "column-count", + "column-fill", + "column-gap", + "column-rule", + "column-rule-color", + "column-rule-style", + "column-rule-width", + "column-span", + "column-width", + "columns", + "contain", + "content", + "content-visibility", + "counter-increment", + "counter-reset", + "cue", + "cue-after", + "cue-before", + "cursor", + "direction", + "display", + "empty-cells", + "filter", + "flex", + "flex-basis", + "flex-direction", + "flex-flow", + "flex-grow", + "flex-shrink", + "flex-wrap", + "float", + "flow", + "font", + "font-display", + "font-family", + "font-feature-settings", + "font-kerning", + "font-language-override", + "font-size", + "font-size-adjust", + "font-smoothing", + "font-stretch", + "font-style", + "font-synthesis", + "font-variant", + "font-variant-caps", + "font-variant-east-asian", + "font-variant-ligatures", + "font-variant-numeric", + "font-variant-position", + "font-variation-settings", + "font-weight", + "gap", + "glyph-orientation-vertical", + "grid", + "grid-area", + "grid-auto-columns", + "grid-auto-flow", + "grid-auto-rows", + "grid-column", + "grid-column-end", + "grid-column-start", + "grid-gap", + "grid-row", + "grid-row-end", + "grid-row-start", + "grid-template", + "grid-template-areas", + "grid-template-columns", + "grid-template-rows", + "hanging-punctuation", + "height", + "hyphens", + "icon", + "image-orientation", + "image-rendering", + "image-resolution", + "ime-mode", + "inline-size", + "isolation", + "justify-content", + "left", + "letter-spacing", + "line-break", + "line-height", + "list-style", + "list-style-image", + "list-style-position", + "list-style-type", + "margin", + "margin-block", + "margin-block-end", + "margin-block-start", + "margin-bottom", + "margin-inline", + "margin-inline-end", + "margin-inline-start", + "margin-left", + "margin-right", + "margin-top", + "marks", + "mask", + "mask-border", + "mask-border-mode", + "mask-border-outset", + "mask-border-repeat", + "mask-border-slice", + "mask-border-source", + "mask-border-width", + "mask-clip", + "mask-composite", + "mask-image", + "mask-mode", + "mask-origin", + "mask-position", + "mask-repeat", + "mask-size", + "mask-type", + "max-block-size", + "max-height", + "max-inline-size", + "max-width", + "min-block-size", + "min-height", + "min-inline-size", + "min-width", + "mix-blend-mode", + "nav-down", + "nav-index", + "nav-left", + "nav-right", + "nav-up", + "none", + "normal", + "object-fit", + "object-position", + "opacity", + "order", + "orphans", + "outline", + "outline-color", + "outline-offset", + "outline-style", + "outline-width", + "overflow", + "overflow-wrap", + "overflow-x", + "overflow-y", + "padding", + "padding-block", + "padding-block-end", + "padding-block-start", + "padding-bottom", + "padding-inline", + "padding-inline-end", + "padding-inline-start", + "padding-left", + "padding-right", + "padding-top", + "page-break-after", + "page-break-before", + "page-break-inside", + "pause", + "pause-after", + "pause-before", + "perspective", + "perspective-origin", + "pointer-events", + "position", + "quotes", + "resize", + "rest", + "rest-after", + "rest-before", + "right", + "row-gap", + "scroll-margin", + "scroll-margin-block", + "scroll-margin-block-end", + "scroll-margin-block-start", + "scroll-margin-bottom", + "scroll-margin-inline", + "scroll-margin-inline-end", + "scroll-margin-inline-start", + "scroll-margin-left", + "scroll-margin-right", + "scroll-margin-top", + "scroll-padding", + "scroll-padding-block", + "scroll-padding-block-end", + "scroll-padding-block-start", + "scroll-padding-bottom", + "scroll-padding-inline", + "scroll-padding-inline-end", + "scroll-padding-inline-start", + "scroll-padding-left", + "scroll-padding-right", + "scroll-padding-top", + "scroll-snap-align", + "scroll-snap-stop", + "scroll-snap-type", + "scrollbar-color", + "scrollbar-gutter", + "scrollbar-width", + "shape-image-threshold", + "shape-margin", + "shape-outside", + "speak", + "speak-as", + "src", + "tab-size", + "table-layout", + "text-align", + "text-align-all", + "text-align-last", + "text-combine-upright", + "text-decoration", + "text-decoration-color", + "text-decoration-line", + "text-decoration-style", + "text-emphasis", + "text-emphasis-color", + "text-emphasis-position", + "text-emphasis-style", + "text-indent", + "text-justify", + "text-orientation", + "text-overflow", + "text-rendering", + "text-shadow", + "text-transform", + "text-underline-position", + "top", + "transform", + "transform-box", + "transform-origin", + "transform-style", + "transition", + "transition-delay", + "transition-duration", + "transition-property", + "transition-timing-function", + "unicode-bidi", + "vertical-align", + "visibility", + "voice-balance", + "voice-duration", + "voice-family", + "voice-pitch", + "voice-range", + "voice-rate", + "voice-stress", + "voice-volume", + "white-space", + "widows", + "width", + "will-change", + "word-break", + "word-spacing", + "word-wrap", + "writing-mode", + "z-index" +].reverse(), ie = ne.concat(te); +var re = "\\.([0-9](_*[0-9])*)", se = "[0-9a-fA-F](_*[0-9a-fA-F])*", oe = { + className: "number", + variants: [{ + begin: `(\\b([0-9](_*[0-9])*)((${re})|\\.)?|(${re}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` + }, { + begin: `\\b([0-9](_*[0-9])*)((${re})[fFdD]?\\b|\\.([fFdD]\\b)?)` + }, { + begin: `(${re})[fFdD]?\\b` + }, { + begin: "\\b([0-9](_*[0-9])*)[fFdD]\\b" + }, { + begin: `\\b0[xX]((${se})\\.?|(${se})?\\.(${se}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` + }, { + begin: "\\b(0|[1-9](_*[0-9])*)[lL]?\\b" + }, { + begin: `\\b0[xX](${se})[lL]?\\b` + }, { + begin: "\\b0(_*[0-7])*[lL]?\\b" + }, { + begin: "\\b0[bB][01](_*[01])*[lL]?\\b" + }], + relevance: 0 +}; +function le(e2, n2, t2) { + return -1 === t2 ? "" : e2.replace(n2, (a2) => le(e2, n2, t2 - 1)); +} +const ce = "[A-Za-z$_][0-9A-Za-z$_]*", de = [ + "as", + "in", + "of", + "if", + "for", + "while", + "finally", + "var", + "new", + "function", + "do", + "return", + "void", + "else", + "break", + "catch", + "instanceof", + "with", + "throw", + "case", + "default", + "try", + "switch", + "continue", + "typeof", + "delete", + "let", + "yield", + "const", + "class", + "debugger", + "async", + "await", + "static", + "import", + "from", + "export", + "extends" +], ge = ["true", "false", "null", "undefined", "NaN", "Infinity"], ue = [ + "Object", + "Function", + "Boolean", + "Symbol", + "Math", + "Date", + "Number", + "BigInt", + "String", + "RegExp", + "Array", + "Float32Array", + "Float64Array", + "Int8Array", + "Uint8Array", + "Uint8ClampedArray", + "Int16Array", + "Int32Array", + "Uint16Array", + "Uint32Array", + "BigInt64Array", + "BigUint64Array", + "Set", + "Map", + "WeakSet", + "WeakMap", + "ArrayBuffer", + "SharedArrayBuffer", + "Atomics", + "DataView", + "JSON", + "Promise", + "Generator", + "GeneratorFunction", + "AsyncFunction", + "Reflect", + "Proxy", + "Intl", + "WebAssembly" +], be = ["Error", "EvalError", "InternalError", "RangeError", "ReferenceError", "SyntaxError", "TypeError", "URIError"], me = [ + "setInterval", + "setTimeout", + "clearInterval", + "clearTimeout", + "require", + "exports", + "eval", + "isFinite", + "isNaN", + "parseFloat", + "parseInt", + "decodeURI", + "decodeURIComponent", + "encodeURI", + "encodeURIComponent", + "escape", + "unescape" +], pe = ["arguments", "this", "super", "console", "window", "document", "localStorage", "module", "global"], _e = [].concat(me, ue, be); +function he(e2) { + const n2 = e2.regex, t2 = ce, a2 = { + begin: /<[A-Za-z0-9\\._:-]+/, + end: /\/[A-Za-z0-9\\._:-]+>|\/>/, + isTrulyOpeningTag: (e3, n3) => { + const t3 = e3[0].length + e3.index, a3 = e3.input[t3]; + if ("<" === a3 || "," === a3) + return void n3.ignoreMatch(); + let i3; + ">" === a3 && (((e4, { + after: n4 + }) => { + const t4 = "", k2 = { + match: [/const|var|let/, /\s+/, t2, /\s*/, /=\s*/, /(async\s*)?/, n2.lookahead(O2)], + keywords: "async", + className: { + 1: "keyword", + 3: "title.function" + }, + contains: [_2] + }; + return { + name: "Javascript", + aliases: ["js", "jsx", "mjs", "cjs"], + keywords: i2, + exports: { + PARAMS_CONTAINS: p2, + CLASS_REFERENCE: f2 + }, + illegal: /#(?![$_A-z])/, + contains: [e2.SHEBANG({ + label: "shebang", + binary: "node", + relevance: 5 + }), { + label: "use_strict", + className: "meta", + relevance: 10, + begin: /^\s*['"]use (strict|asm)['"]/ + }, e2.APOS_STRING_MODE, e2.QUOTE_STRING_MODE, c2, d2, g2, u2, { + match: /\$\d+/ + }, o2, f2, { + className: "attr", + begin: t2 + n2.lookahead(":"), + relevance: 0 + }, k2, { + begin: "(" + e2.RE_STARTERS_RE + "|\\b(case|return|throw)\\b)\\s*", + keywords: "return throw case", + relevance: 0, + contains: [u2, e2.REGEXP_MODE, { + className: "function", + begin: O2, + returnBegin: true, + end: "\\s*=>", + contains: [{ + className: "params", + variants: [{ + begin: e2.UNDERSCORE_IDENT_RE, + relevance: 0 + }, { + className: null, + begin: /\(\s*\)/, + skip: true + }, { + begin: /\(/, + end: /\)/, + excludeBegin: true, + excludeEnd: true, + keywords: i2, + contains: p2 + }] + }] + }, { + begin: /,/, + relevance: 0 + }, { + match: /\s+/, + relevance: 0 + }, { + variants: [{ + begin: "<>", + end: "" + }, { + match: /<[A-Za-z0-9\\._:-]+\s*\/>/ + }, { + begin: a2.begin, + "on:begin": a2.isTrulyOpeningTag, + end: a2.end + }], + subLanguage: "xml", + contains: [{ + begin: a2.begin, + end: a2.end, + skip: true, + contains: ["self"] + }] + }] + }, E2, { + beginKeywords: "while if switch catch for" + }, { + begin: "\\b(?!function)" + e2.UNDERSCORE_IDENT_RE + "\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", + returnBegin: true, + label: "func.def", + contains: [_2, e2.inherit(e2.TITLE_MODE, { + begin: t2, + className: "title.function" + })] + }, { + match: /\.\.\./, + relevance: 0 + }, N2, { + match: "\\$" + t2, + relevance: 0 + }, { + match: [/\bconstructor(?=\s*\()/], + className: { + 1: "title.function" + }, + contains: [_2] + }, y2, { + relevance: 0, + match: /\b[A-Z][A-Z_0-9]+\b/, + className: "variable.constant" + }, h2, v2, { + match: /\$[(.]/ + }] + }; +} +const fe = (e2) => m(/\b/, e2, /\w$/.test(e2) ? /\b/ : /\B/), Ee = ["Protocol", "Type"].map(fe), ye = ["init", "self"].map(fe), we = ["Any", "Self"], Ne = [ + "actor", + "any", + "associatedtype", + "async", + "await", + /as\?/, + /as!/, + "as", + "break", + "case", + "catch", + "class", + "continue", + "convenience", + "default", + "defer", + "deinit", + "didSet", + "distributed", + "do", + "dynamic", + "else", + "enum", + "extension", + "fallthrough", + /fileprivate\(set\)/, + "fileprivate", + "final", + "for", + "func", + "get", + "guard", + "if", + "import", + "indirect", + "infix", + /init\?/, + /init!/, + "inout", + /internal\(set\)/, + "internal", + "in", + "is", + "isolated", + "nonisolated", + "lazy", + "let", + "mutating", + "nonmutating", + /open\(set\)/, + "open", + "operator", + "optional", + "override", + "postfix", + "precedencegroup", + "prefix", + /private\(set\)/, + "private", + "protocol", + /public\(set\)/, + "public", + "repeat", + "required", + "rethrows", + "return", + "set", + "some", + "static", + "struct", + "subscript", + "super", + "switch", + "throws", + "throw", + /try\?/, + /try!/, + "try", + "typealias", + /unowned\(safe\)/, + /unowned\(unsafe\)/, + "unowned", + "var", + "weak", + "where", + "while", + "willSet" +], ve = ["false", "nil", "true"], Oe = ["assignment", "associativity", "higherThan", "left", "lowerThan", "none", "right"], ke = [ + "#colorLiteral", + "#column", + "#dsohandle", + "#else", + "#elseif", + "#endif", + "#error", + "#file", + "#fileID", + "#fileLiteral", + "#filePath", + "#function", + "#if", + "#imageLiteral", + "#keyPath", + "#line", + "#selector", + "#sourceLocation", + "#warn_unqualified_access", + "#warning" +], xe = [ + "abs", + "all", + "any", + "assert", + "assertionFailure", + "debugPrint", + "dump", + "fatalError", + "getVaList", + "isKnownUniquelyReferenced", + "max", + "min", + "numericCast", + "pointwiseMax", + "pointwiseMin", + "precondition", + "preconditionFailure", + "print", + "readLine", + "repeatElement", + "sequence", + "stride", + "swap", + "swift_unboxFromSwiftValueWithType", + "transcode", + "type", + "unsafeBitCast", + "unsafeDowncast", + "withExtendedLifetime", + "withUnsafeMutablePointer", + "withUnsafePointer", + "withVaList", + "withoutActuallyEscaping", + "zip" +], Me = p( + /[/=\-+!*%<>&|^~?]/, + /[\u00A1-\u00A7]/, + /[\u00A9\u00AB]/, + /[\u00AC\u00AE]/, + /[\u00B0\u00B1]/, + /[\u00B6\u00BB\u00BF\u00D7\u00F7]/, + /[\u2016-\u2017]/, + /[\u2020-\u2027]/, + /[\u2030-\u203E]/, + /[\u2041-\u2053]/, + /[\u2055-\u205E]/, + /[\u2190-\u23FF]/, + /[\u2500-\u2775]/, + /[\u2794-\u2BFF]/, + /[\u2E00-\u2E7F]/, + /[\u3001-\u3003]/, + /[\u3008-\u3020]/, + /[\u3030]/ +), Se = p(Me, /[\u0300-\u036F]/, /[\u1DC0-\u1DFF]/, /[\u20D0-\u20FF]/, /[\uFE00-\uFE0F]/, /[\uFE20-\uFE2F]/), Ae = m(Me, Se, "*"), Ce = p( + /[a-zA-Z_]/, + /[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/, + /[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/, + /[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/, + /[\u1E00-\u1FFF]/, + /[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/, + /[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/, + /[\u2C00-\u2DFF\u2E80-\u2FFF]/, + /[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/, + /[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/, + /[\uFE47-\uFEFE\uFF00-\uFFFD]/ +), Te = p(Ce, /\d/, /[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/), Re = m(Ce, Te, "*"), De = m(/[A-Z]/, Te, "*"), Ie = [ + "autoclosure", + m(/convention\(/, p("swift", "block", "c"), /\)/), + "discardableResult", + "dynamicCallable", + "dynamicMemberLookup", + "escaping", + "frozen", + "GKInspectable", + "IBAction", + "IBDesignable", + "IBInspectable", + "IBOutlet", + "IBSegueAction", + "inlinable", + "main", + "nonobjc", + "NSApplicationMain", + "NSCopying", + "NSManaged", + m( + /objc\(/, + Re, + /\)/ + ), + "objc", + "objcMembers", + "propertyWrapper", + "requires_stored_property_inits", + "resultBuilder", + "testable", + "UIApplicationMain", + "unknown", + "usableFromInline" +], Le = [ + "iOS", + "iOSApplicationExtension", + "macOS", + "macOSApplicationExtension", + "macCatalyst", + "macCatalystApplicationExtension", + "watchOS", + "watchOSApplicationExtension", + "tvOS", + "tvOSApplicationExtension", + "swift" +]; +var Be = Object.freeze({ + __proto__: null, + grmr_bash: (e2) => { + const n2 = e2.regex, t2 = {}, a2 = { + begin: /\$\{/, + end: /\}/, + contains: ["self", { + begin: /:-/, + contains: [t2] + }] + }; + Object.assign(t2, { + className: "variable", + variants: [{ + begin: n2.concat(/\$[\w\d#@][\w\d_]*/, "(?![\\w\\d])(?![$])") + }, a2] + }); + const i2 = { + className: "subst", + begin: /\$\(/, + end: /\)/, + contains: [e2.BACKSLASH_ESCAPE] + }, r2 = { + begin: /<<-?\s*(?=\w+)/, + starts: { + contains: [e2.END_SAME_AS_BEGIN({ + begin: /(\w+)/, + end: /(\w+)/, + className: "string" + })] + } + }, s2 = { + className: "string", + begin: /"/, + end: /"/, + contains: [e2.BACKSLASH_ESCAPE, t2, i2] + }; + i2.contains.push(s2); + const o2 = { + begin: /\$?\(\(/, + end: /\)\)/, + contains: [{ + begin: /\d+#[0-9a-f]+/, + className: "number" + }, e2.NUMBER_MODE, t2] + }, l2 = e2.SHEBANG({ + binary: "(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)", + relevance: 10 + }), c2 = { + className: "function", + begin: /\w[\w\d_]*\s*\(\s*\)\s*\{/, + returnBegin: true, + contains: [e2.inherit(e2.TITLE_MODE, { + begin: /\w[\w\d_]*/ + })], + relevance: 0 + }; + return { + name: "Bash", + aliases: ["sh"], + keywords: { + $pattern: /\b[a-z][a-z0-9._-]+\b/, + keyword: [ + "if", + "then", + "else", + "elif", + "fi", + "for", + "while", + "in", + "do", + "done", + "case", + "esac", + "function" + ], + literal: ["true", "false"], + built_in: [ + "break", + "cd", + "continue", + "eval", + "exec", + "exit", + "export", + "getopts", + "hash", + "pwd", + "readonly", + "return", + "shift", + "test", + "times", + "trap", + "umask", + "unset", + "alias", + "bind", + "builtin", + "caller", + "command", + "declare", + "echo", + "enable", + "help", + "let", + "local", + "logout", + "mapfile", + "printf", + "read", + "readarray", + "source", + "type", + "typeset", + "ulimit", + "unalias", + "set", + "shopt", + "autoload", + "bg", + "bindkey", + "bye", + "cap", + "chdir", + "clone", + "comparguments", + "compcall", + "compctl", + "compdescribe", + "compfiles", + "compgroups", + "compquote", + "comptags", + "comptry", + "compvalues", + "dirs", + "disable", + "disown", + "echotc", + "echoti", + "emulate", + "fc", + "fg", + "float", + "functions", + "getcap", + "getln", + "history", + "integer", + "jobs", + "kill", + "limit", + "log", + "noglob", + "popd", + "print", + "pushd", + "pushln", + "rehash", + "sched", + "setcap", + "setopt", + "stat", + "suspend", + "ttyctl", + "unfunction", + "unhash", + "unlimit", + "unsetopt", + "vared", + "wait", + "whence", + "where", + "which", + "zcompile", + "zformat", + "zftp", + "zle", + "zmodload", + "zparseopts", + "zprof", + "zpty", + "zregexparse", + "zsocket", + "zstyle", + "ztcp", + "chcon", + "chgrp", + "chown", + "chmod", + "cp", + "dd", + "df", + "dir", + "dircolors", + "ln", + "ls", + "mkdir", + "mkfifo", + "mknod", + "mktemp", + "mv", + "realpath", + "rm", + "rmdir", + "shred", + "sync", + "touch", + "truncate", + "vdir", + "b2sum", + "base32", + "base64", + "cat", + "cksum", + "comm", + "csplit", + "cut", + "expand", + "fmt", + "fold", + "head", + "join", + "md5sum", + "nl", + "numfmt", + "od", + "paste", + "ptx", + "pr", + "sha1sum", + "sha224sum", + "sha256sum", + "sha384sum", + "sha512sum", + "shuf", + "sort", + "split", + "sum", + "tac", + "tail", + "tr", + "tsort", + "unexpand", + "uniq", + "wc", + "arch", + "basename", + "chroot", + "date", + "dirname", + "du", + "echo", + "env", + "expr", + "factor", + "groups", + "hostid", + "id", + "link", + "logname", + "nice", + "nohup", + "nproc", + "pathchk", + "pinky", + "printenv", + "printf", + "pwd", + "readlink", + "runcon", + "seq", + "sleep", + "stat", + "stdbuf", + "stty", + "tee", + "test", + "timeout", + "tty", + "uname", + "unlink", + "uptime", + "users", + "who", + "whoami", + "yes" + ] + }, + contains: [l2, e2.SHEBANG(), c2, o2, e2.HASH_COMMENT_MODE, r2, { + match: /(\/[a-z._-]+)+/ + }, s2, { + className: "", + begin: /\\"/ + }, { + className: "string", + begin: /'/, + end: /'/ + }, t2] + }; + }, + grmr_c: (e2) => { + const n2 = e2.regex, t2 = e2.COMMENT("//", "$", { + contains: [{ + begin: /\\\n/ + }] + }), a2 = "[a-zA-Z_]\\w*::", i2 = "(decltype\\(auto\\)|" + n2.optional(a2) + "[a-zA-Z_]\\w*" + n2.optional("<[^<>]+>") + ")", r2 = { + className: "type", + variants: [{ + begin: "\\b[a-z\\d_]*_t\\b" + }, { + match: /\batomic_[a-z]{3,6}\b/ + }] + }, s2 = { + className: "string", + variants: [{ + begin: '(u8?|U|L)?"', + end: '"', + illegal: "\\n", + contains: [e2.BACKSLASH_ESCAPE] + }, { + begin: "(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", + end: "'", + illegal: "." + }, e2.END_SAME_AS_BEGIN({ + begin: /(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/, + end: /\)([^()\\ ]{0,16})"/ + })] + }, o2 = { + className: "number", + variants: [{ + begin: "\\b(0b[01']+)" + }, { + begin: "(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" + }, { + begin: "(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" + }], + relevance: 0 + }, l2 = { + className: "meta", + begin: /#\s*[a-z]+\b/, + end: /$/, + keywords: { + keyword: "if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" + }, + contains: [{ + begin: /\\\n/, + relevance: 0 + }, e2.inherit(s2, { + className: "string" + }), { + className: "string", + begin: /<.*?>/ + }, t2, e2.C_BLOCK_COMMENT_MODE] + }, c2 = { + className: "title", + begin: n2.optional(a2) + e2.IDENT_RE, + relevance: 0 + }, d2 = n2.optional(a2) + e2.IDENT_RE + "\\s*\\(", g2 = { + keyword: [ + "asm", + "auto", + "break", + "case", + "continue", + "default", + "do", + "else", + "enum", + "extern", + "for", + "fortran", + "goto", + "if", + "inline", + "register", + "restrict", + "return", + "sizeof", + "struct", + "switch", + "typedef", + "union", + "volatile", + "while", + "_Alignas", + "_Alignof", + "_Atomic", + "_Generic", + "_Noreturn", + "_Static_assert", + "_Thread_local", + "alignas", + "alignof", + "noreturn", + "static_assert", + "thread_local", + "_Pragma" + ], + type: [ + "float", + "double", + "signed", + "unsigned", + "int", + "short", + "long", + "char", + "void", + "_Bool", + "_Complex", + "_Imaginary", + "_Decimal32", + "_Decimal64", + "_Decimal128", + "const", + "static", + "complex", + "bool", + "imaginary" + ], + literal: "true false NULL", + built_in: "std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr" + }, u2 = [l2, r2, t2, e2.C_BLOCK_COMMENT_MODE, o2, s2], b2 = { + variants: [{ + begin: /=/, + end: /;/ + }, { + begin: /\(/, + end: /\)/ + }, { + beginKeywords: "new throw return else", + end: /;/ + }], + keywords: g2, + contains: u2.concat([{ + begin: /\(/, + end: /\)/, + keywords: g2, + contains: u2.concat(["self"]), + relevance: 0 + }]), + relevance: 0 + }, m2 = { + begin: "(" + i2 + "[\\*&\\s]+)+" + d2, + returnBegin: true, + end: /[{;=]/, + excludeEnd: true, + keywords: g2, + illegal: /[^\w\s\*&:<>.]/, + contains: [{ + begin: "decltype\\(auto\\)", + keywords: g2, + relevance: 0 + }, { + begin: d2, + returnBegin: true, + contains: [e2.inherit(c2, { + className: "title.function" + })], + relevance: 0 + }, { + relevance: 0, + match: /,/ + }, { + className: "params", + begin: /\(/, + end: /\)/, + keywords: g2, + relevance: 0, + contains: [t2, e2.C_BLOCK_COMMENT_MODE, s2, o2, r2, { + begin: /\(/, + end: /\)/, + keywords: g2, + relevance: 0, + contains: ["self", t2, e2.C_BLOCK_COMMENT_MODE, s2, o2, r2] + }] + }, r2, t2, e2.C_BLOCK_COMMENT_MODE, l2] + }; + return { + name: "C", + aliases: ["h"], + keywords: g2, + disableAutodetect: true, + illegal: "=]/, + contains: [{ + beginKeywords: "final class struct" + }, e2.TITLE_MODE] + }]), + exports: { + preprocessor: l2, + strings: s2, + keywords: g2 + } + }; + }, + grmr_cpp: (e2) => { + const n2 = e2.regex, t2 = e2.COMMENT("//", "$", { + contains: [{ + begin: /\\\n/ + }] + }), a2 = "[a-zA-Z_]\\w*::", i2 = "(?!struct)(decltype\\(auto\\)|" + n2.optional(a2) + "[a-zA-Z_]\\w*" + n2.optional("<[^<>]+>") + ")", r2 = { + className: "type", + begin: "\\b[a-z\\d_]*_t\\b" + }, s2 = { + className: "string", + variants: [{ + begin: '(u8?|U|L)?"', + end: '"', + illegal: "\\n", + contains: [e2.BACKSLASH_ESCAPE] + }, { + begin: "(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", + end: "'", + illegal: "." + }, e2.END_SAME_AS_BEGIN({ + begin: /(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/, + end: /\)([^()\\ ]{0,16})"/ + })] + }, o2 = { + className: "number", + variants: [{ + begin: "\\b(0b[01']+)" + }, { + begin: "(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" + }, { + begin: "(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" + }], + relevance: 0 + }, l2 = { + className: "meta", + begin: /#\s*[a-z]+\b/, + end: /$/, + keywords: { + keyword: "if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" + }, + contains: [{ + begin: /\\\n/, + relevance: 0 + }, e2.inherit(s2, { + className: "string" + }), { + className: "string", + begin: /<.*?>/ + }, t2, e2.C_BLOCK_COMMENT_MODE] + }, c2 = { + className: "title", + begin: n2.optional(a2) + e2.IDENT_RE, + relevance: 0 + }, d2 = n2.optional(a2) + e2.IDENT_RE + "\\s*\\(", g2 = { + type: [ + "bool", + "char", + "char16_t", + "char32_t", + "char8_t", + "double", + "float", + "int", + "long", + "short", + "void", + "wchar_t", + "unsigned", + "signed", + "const", + "static" + ], + keyword: [ + "alignas", + "alignof", + "and", + "and_eq", + "asm", + "atomic_cancel", + "atomic_commit", + "atomic_noexcept", + "auto", + "bitand", + "bitor", + "break", + "case", + "catch", + "class", + "co_await", + "co_return", + "co_yield", + "compl", + "concept", + "const_cast|10", + "consteval", + "constexpr", + "constinit", + "continue", + "decltype", + "default", + "delete", + "do", + "dynamic_cast|10", + "else", + "enum", + "explicit", + "export", + "extern", + "false", + "final", + "for", + "friend", + "goto", + "if", + "import", + "inline", + "module", + "mutable", + "namespace", + "new", + "noexcept", + "not", + "not_eq", + "nullptr", + "operator", + "or", + "or_eq", + "override", + "private", + "protected", + "public", + "reflexpr", + "register", + "reinterpret_cast|10", + "requires", + "return", + "sizeof", + "static_assert", + "static_cast|10", + "struct", + "switch", + "synchronized", + "template", + "this", + "thread_local", + "throw", + "transaction_safe", + "transaction_safe_dynamic", + "true", + "try", + "typedef", + "typeid", + "typename", + "union", + "using", + "virtual", + "volatile", + "while", + "xor", + "xor_eq" + ], + literal: ["NULL", "false", "nullopt", "nullptr", "true"], + built_in: ["_Pragma"], + _type_hints: [ + "any", + "auto_ptr", + "barrier", + "binary_semaphore", + "bitset", + "complex", + "condition_variable", + "condition_variable_any", + "counting_semaphore", + "deque", + "false_type", + "future", + "imaginary", + "initializer_list", + "istringstream", + "jthread", + "latch", + "lock_guard", + "multimap", + "multiset", + "mutex", + "optional", + "ostringstream", + "packaged_task", + "pair", + "promise", + "priority_queue", + "queue", + "recursive_mutex", + "recursive_timed_mutex", + "scoped_lock", + "set", + "shared_future", + "shared_lock", + "shared_mutex", + "shared_timed_mutex", + "shared_ptr", + "stack", + "string_view", + "stringstream", + "timed_mutex", + "thread", + "true_type", + "tuple", + "unique_lock", + "unique_ptr", + "unordered_map", + "unordered_multimap", + "unordered_multiset", + "unordered_set", + "variant", + "vector", + "weak_ptr", + "wstring", + "wstring_view" + ] + }, u2 = { + className: "function.dispatch", + relevance: 0, + keywords: { + _hint: [ + "abort", + "abs", + "acos", + "apply", + "as_const", + "asin", + "atan", + "atan2", + "calloc", + "ceil", + "cerr", + "cin", + "clog", + "cos", + "cosh", + "cout", + "declval", + "endl", + "exchange", + "exit", + "exp", + "fabs", + "floor", + "fmod", + "forward", + "fprintf", + "fputs", + "free", + "frexp", + "fscanf", + "future", + "invoke", + "isalnum", + "isalpha", + "iscntrl", + "isdigit", + "isgraph", + "islower", + "isprint", + "ispunct", + "isspace", + "isupper", + "isxdigit", + "labs", + "launder", + "ldexp", + "log", + "log10", + "make_pair", + "make_shared", + "make_shared_for_overwrite", + "make_tuple", + "make_unique", + "malloc", + "memchr", + "memcmp", + "memcpy", + "memset", + "modf", + "move", + "pow", + "printf", + "putchar", + "puts", + "realloc", + "scanf", + "sin", + "sinh", + "snprintf", + "sprintf", + "sqrt", + "sscanf", + "std", + "stderr", + "stdin", + "stdout", + "strcat", + "strchr", + "strcmp", + "strcpy", + "strcspn", + "strlen", + "strncat", + "strncmp", + "strncpy", + "strpbrk", + "strrchr", + "strspn", + "strstr", + "swap", + "tan", + "tanh", + "terminate", + "to_underlying", + "tolower", + "toupper", + "vfprintf", + "visit", + "vprintf", + "vsprintf" + ] + }, + begin: n2.concat(/\b/, /(?!decltype)/, /(?!if)/, /(?!for)/, /(?!switch)/, /(?!while)/, e2.IDENT_RE, n2.lookahead(/(<[^<>]+>|)\s*\(/)) + }, b2 = [u2, l2, r2, t2, e2.C_BLOCK_COMMENT_MODE, o2, s2], m2 = { + variants: [{ + begin: /=/, + end: /;/ + }, { + begin: /\(/, + end: /\)/ + }, { + beginKeywords: "new throw return else", + end: /;/ + }], + keywords: g2, + contains: b2.concat([{ + begin: /\(/, + end: /\)/, + keywords: g2, + contains: b2.concat(["self"]), + relevance: 0 + }]), + relevance: 0 + }, p2 = { + className: "function", + begin: "(" + i2 + "[\\*&\\s]+)+" + d2, + returnBegin: true, + end: /[{;=]/, + excludeEnd: true, + keywords: g2, + illegal: /[^\w\s\*&:<>.]/, + contains: [{ + begin: "decltype\\(auto\\)", + keywords: g2, + relevance: 0 + }, { + begin: d2, + returnBegin: true, + contains: [c2], + relevance: 0 + }, { + begin: /::/, + relevance: 0 + }, { + begin: /:/, + endsWithParent: true, + contains: [s2, o2] + }, { + relevance: 0, + match: /,/ + }, { + className: "params", + begin: /\(/, + end: /\)/, + keywords: g2, + relevance: 0, + contains: [t2, e2.C_BLOCK_COMMENT_MODE, s2, o2, r2, { + begin: /\(/, + end: /\)/, + keywords: g2, + relevance: 0, + contains: ["self", t2, e2.C_BLOCK_COMMENT_MODE, s2, o2, r2] + }] + }, r2, t2, e2.C_BLOCK_COMMENT_MODE, l2] + }; + return { + name: "C++", + aliases: ["cc", "c++", "h++", "hpp", "hh", "hxx", "cxx"], + keywords: g2, + illegal: "", + keywords: g2, + contains: ["self", r2] + }, { + begin: e2.IDENT_RE + "::", + keywords: g2 + }, { + match: [/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/, /\s+/, /\w+/], + className: { + 1: "keyword", + 3: "title.class" + } + }]) + }; + }, + grmr_csharp: (e2) => { + const n2 = { + keyword: [ + "abstract", + "as", + "base", + "break", + "case", + "catch", + "class", + "const", + "continue", + "do", + "else", + "event", + "explicit", + "extern", + "finally", + "fixed", + "for", + "foreach", + "goto", + "if", + "implicit", + "in", + "interface", + "internal", + "is", + "lock", + "namespace", + "new", + "operator", + "out", + "override", + "params", + "private", + "protected", + "public", + "readonly", + "record", + "ref", + "return", + "scoped", + "sealed", + "sizeof", + "stackalloc", + "static", + "struct", + "switch", + "this", + "throw", + "try", + "typeof", + "unchecked", + "unsafe", + "using", + "virtual", + "void", + "volatile", + "while" + ].concat([ + "add", + "alias", + "and", + "ascending", + "async", + "await", + "by", + "descending", + "equals", + "from", + "get", + "global", + "group", + "init", + "into", + "join", + "let", + "nameof", + "not", + "notnull", + "on", + "or", + "orderby", + "partial", + "remove", + "select", + "set", + "unmanaged", + "value|0", + "var", + "when", + "where", + "with", + "yield" + ]), + built_in: [ + "bool", + "byte", + "char", + "decimal", + "delegate", + "double", + "dynamic", + "enum", + "float", + "int", + "long", + "nint", + "nuint", + "object", + "sbyte", + "short", + "string", + "ulong", + "uint", + "ushort" + ], + literal: ["default", "false", "null", "true"] + }, t2 = e2.inherit(e2.TITLE_MODE, { + begin: "[a-zA-Z](\\.?\\w)*" + }), a2 = { + className: "number", + variants: [{ + begin: "\\b(0b[01']+)" + }, { + begin: "(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)" + }, { + begin: "(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" + }], + relevance: 0 + }, i2 = { + className: "string", + begin: '@"', + end: '"', + contains: [{ + begin: '""' + }] + }, r2 = e2.inherit(i2, { + illegal: /\n/ + }), s2 = { + className: "subst", + begin: /\{/, + end: /\}/, + keywords: n2 + }, o2 = e2.inherit(s2, { + illegal: /\n/ + }), l2 = { + className: "string", + begin: /\$"/, + end: '"', + illegal: /\n/, + contains: [{ + begin: /\{\{/ + }, { + begin: /\}\}/ + }, e2.BACKSLASH_ESCAPE, o2] + }, c2 = { + className: "string", + begin: /\$@"/, + end: '"', + contains: [{ + begin: /\{\{/ + }, { + begin: /\}\}/ + }, { + begin: '""' + }, s2] + }, d2 = e2.inherit(c2, { + illegal: /\n/, + contains: [{ + begin: /\{\{/ + }, { + begin: /\}\}/ + }, { + begin: '""' + }, o2] + }); + s2.contains = [c2, l2, i2, e2.APOS_STRING_MODE, e2.QUOTE_STRING_MODE, a2, e2.C_BLOCK_COMMENT_MODE], o2.contains = [d2, l2, r2, e2.APOS_STRING_MODE, e2.QUOTE_STRING_MODE, a2, e2.inherit(e2.C_BLOCK_COMMENT_MODE, { + illegal: /\n/ + })]; + const g2 = { + variants: [c2, l2, i2, e2.APOS_STRING_MODE, e2.QUOTE_STRING_MODE] + }, u2 = { + begin: "<", + end: ">", + contains: [{ + beginKeywords: "in out" + }, t2] + }, b2 = e2.IDENT_RE + "(<" + e2.IDENT_RE + "(\\s*,\\s*" + e2.IDENT_RE + ")*>)?(\\[\\])?", m2 = { + begin: "@" + e2.IDENT_RE, + relevance: 0 + }; + return { + name: "C#", + aliases: ["cs", "c#"], + keywords: n2, + illegal: /::/, + contains: [e2.COMMENT("///", "$", { + returnBegin: true, + contains: [{ + className: "doctag", + variants: [{ + begin: "///", + relevance: 0 + }, { + begin: "" + }, { + begin: "" + }] + }] + }), e2.C_LINE_COMMENT_MODE, e2.C_BLOCK_COMMENT_MODE, { + className: "meta", + begin: "#", + end: "$", + keywords: { + keyword: "if else elif endif define undef warning error line region endregion pragma checksum" + } + }, g2, a2, { + beginKeywords: "class interface", + relevance: 0, + end: /[{;=]/, + illegal: /[^\s:,]/, + contains: [{ + beginKeywords: "where class" + }, t2, u2, e2.C_LINE_COMMENT_MODE, e2.C_BLOCK_COMMENT_MODE] + }, { + beginKeywords: "namespace", + relevance: 0, + end: /[{;=]/, + illegal: /[^\s:]/, + contains: [t2, e2.C_LINE_COMMENT_MODE, e2.C_BLOCK_COMMENT_MODE] + }, { + beginKeywords: "record", + relevance: 0, + end: /[{;=]/, + illegal: /[^\s:]/, + contains: [t2, u2, e2.C_LINE_COMMENT_MODE, e2.C_BLOCK_COMMENT_MODE] + }, { + className: "meta", + begin: "^\\s*\\[(?=[\\w])", + excludeBegin: true, + end: "\\]", + excludeEnd: true, + contains: [{ + className: "string", + begin: /"/, + end: /"/ + }] + }, { + beginKeywords: "new return throw await else", + relevance: 0 + }, { + className: "function", + begin: "(" + b2 + "\\s+)+" + e2.IDENT_RE + "\\s*(<[^=]+>\\s*)?\\(", + returnBegin: true, + end: /\s*[{;=]/, + excludeEnd: true, + keywords: n2, + contains: [{ + beginKeywords: "public private protected static internal protected abstract async extern override unsafe virtual new sealed partial", + relevance: 0 + }, { + begin: e2.IDENT_RE + "\\s*(<[^=]+>\\s*)?\\(", + returnBegin: true, + contains: [e2.TITLE_MODE, u2], + relevance: 0 + }, { + match: /\(\)/ + }, { + className: "params", + begin: /\(/, + end: /\)/, + excludeBegin: true, + excludeEnd: true, + keywords: n2, + relevance: 0, + contains: [g2, a2, e2.C_BLOCK_COMMENT_MODE] + }, e2.C_LINE_COMMENT_MODE, e2.C_BLOCK_COMMENT_MODE] + }, m2] + }; + }, + grmr_css: (e2) => { + const n2 = e2.regex, t2 = J(e2), a2 = [e2.APOS_STRING_MODE, e2.QUOTE_STRING_MODE]; + return { + name: "CSS", + case_insensitive: true, + illegal: /[=|'\$]/, + keywords: { + keyframePosition: "from to" + }, + classNameAliases: { + keyframePosition: "selector-tag" + }, + contains: [t2.BLOCK_COMMENT, { + begin: /-(webkit|moz|ms|o)-(?=[a-z])/ + }, t2.CSS_NUMBER_MODE, { + className: "selector-id", + begin: /#[A-Za-z0-9_-]+/, + relevance: 0 + }, { + className: "selector-class", + begin: "\\.[a-zA-Z-][a-zA-Z0-9_-]*", + relevance: 0 + }, t2.ATTRIBUTE_SELECTOR_MODE, { + className: "selector-pseudo", + variants: [{ + begin: ":(" + ne.join("|") + ")" + }, { + begin: ":(:)?(" + te.join("|") + ")" + }] + }, t2.CSS_VARIABLE, { + className: "attribute", + begin: "\\b(" + ae.join("|") + ")\\b" + }, { + begin: /:/, + end: /[;}{]/, + contains: [t2.BLOCK_COMMENT, t2.HEXCOLOR, t2.IMPORTANT, t2.CSS_NUMBER_MODE, ...a2, { + begin: /(url|data-uri)\(/, + end: /\)/, + relevance: 0, + keywords: { + built_in: "url data-uri" + }, + contains: [...a2, { + className: "string", + begin: /[^)]/, + endsWithParent: true, + excludeEnd: true + }] + }, t2.FUNCTION_DISPATCH] + }, { + begin: n2.lookahead(/@/), + end: "[{;]", + relevance: 0, + illegal: /:/, + contains: [{ + className: "keyword", + begin: /@-?\w[\w]*(-\w+)*/ + }, { + begin: /\s/, + endsWithParent: true, + excludeEnd: true, + relevance: 0, + keywords: { + $pattern: /[a-z-]+/, + keyword: "and or not only", + attribute: ee.join(" ") + }, + contains: [{ + begin: /[a-z-]+(?=:)/, + className: "attribute" + }, ...a2, t2.CSS_NUMBER_MODE] + }] + }, { + className: "selector-tag", + begin: "\\b(" + Y.join("|") + ")\\b" + }] + }; + }, + grmr_diff: (e2) => { + const n2 = e2.regex; + return { + name: "Diff", + aliases: ["patch"], + contains: [{ + className: "meta", + relevance: 10, + match: n2.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/, /^\*\*\* +\d+,\d+ +\*\*\*\*$/, /^--- +\d+,\d+ +----$/) + }, { + className: "comment", + variants: [{ + begin: n2.either(/Index: /, /^index/, /={3,}/, /^-{3}/, /^\*{3} /, /^\+{3}/, /^diff --git/), + end: /$/ + }, { + match: /^\*{15}$/ + }] + }, { + className: "addition", + begin: /^\+/, + end: /$/ + }, { + className: "deletion", + begin: /^-/, + end: /$/ + }, { + className: "addition", + begin: /^!/, + end: /$/ + }] + }; + }, + grmr_go: (e2) => { + const n2 = { + keyword: [ + "break", + "case", + "chan", + "const", + "continue", + "default", + "defer", + "else", + "fallthrough", + "for", + "func", + "go", + "goto", + "if", + "import", + "interface", + "map", + "package", + "range", + "return", + "select", + "struct", + "switch", + "type", + "var" + ], + type: [ + "bool", + "byte", + "complex64", + "complex128", + "error", + "float32", + "float64", + "int8", + "int16", + "int32", + "int64", + "string", + "uint8", + "uint16", + "uint32", + "uint64", + "int", + "uint", + "uintptr", + "rune" + ], + literal: ["true", "false", "iota", "nil"], + built_in: [ + "append", + "cap", + "close", + "complex", + "copy", + "imag", + "len", + "make", + "new", + "panic", + "print", + "println", + "real", + "recover", + "delete" + ] + }; + return { + name: "Go", + aliases: ["golang"], + keywords: n2, + illegal: " { + const n2 = e2.regex; + return { + name: "GraphQL", + aliases: ["gql"], + case_insensitive: true, + disableAutodetect: false, + keywords: { + keyword: [ + "query", + "mutation", + "subscription", + "type", + "input", + "schema", + "directive", + "interface", + "union", + "scalar", + "fragment", + "enum", + "on" + ], + literal: ["true", "false", "null"] + }, + contains: [e2.HASH_COMMENT_MODE, e2.QUOTE_STRING_MODE, e2.NUMBER_MODE, { + scope: "punctuation", + match: /[.]{3}/, + relevance: 0 + }, { + scope: "punctuation", + begin: /[\!\(\)\:\=\[\]\{\|\}]{1}/, + relevance: 0 + }, { + scope: "variable", + begin: /\$/, + end: /\W/, + excludeEnd: true, + relevance: 0 + }, { + scope: "meta", + match: /@\w+/, + excludeEnd: true + }, { + scope: "symbol", + begin: n2.concat(/[_A-Za-z][_0-9A-Za-z]*/, n2.lookahead(/\s*:/)), + relevance: 0 + }], + illegal: [/[;<']/, /BEGIN/] + }; + }, + grmr_ini: (e2) => { + const n2 = e2.regex, t2 = { + className: "number", + relevance: 0, + variants: [{ + begin: /([+-]+)?[\d]+_[\d_]+/ + }, { + begin: e2.NUMBER_RE + }] + }, a2 = e2.COMMENT(); + a2.variants = [{ + begin: /;/, + end: /$/ + }, { + begin: /#/, + end: /$/ + }]; + const i2 = { + className: "variable", + variants: [{ + begin: /\$[\w\d"][\w\d_]*/ + }, { + begin: /\$\{(.*?)\}/ + }] + }, r2 = { + className: "literal", + begin: /\bon|off|true|false|yes|no\b/ + }, s2 = { + className: "string", + contains: [e2.BACKSLASH_ESCAPE], + variants: [{ + begin: "'''", + end: "'''", + relevance: 10 + }, { + begin: '"""', + end: '"""', + relevance: 10 + }, { + begin: '"', + end: '"' + }, { + begin: "'", + end: "'" + }] + }, o2 = { + begin: /\[/, + end: /\]/, + contains: [a2, r2, i2, s2, t2, "self"], + relevance: 0 + }, l2 = n2.either(/[A-Za-z0-9_-]+/, /"(\\"|[^"])*"/, /'[^']*'/); + return { + name: "TOML, also INI", + aliases: ["toml"], + case_insensitive: true, + illegal: /\S/, + contains: [a2, { + className: "section", + begin: /\[+/, + end: /\]+/ + }, { + begin: n2.concat(l2, "(\\s*\\.\\s*", l2, ")*", n2.lookahead(/\s*=\s*[^#\s]/)), + className: "attr", + starts: { + end: /$/, + contains: [a2, o2, r2, i2, s2, t2] + } + }] + }; + }, + grmr_java: (e2) => { + const n2 = e2.regex, t2 = "[\xC0-\u02B8a-zA-Z_$][\xC0-\u02B8a-zA-Z_$0-9]*", a2 = t2 + le("(?:<" + t2 + "~~~(?:\\s*,\\s*" + t2 + "~~~)*>)?", /~~~/g, 2), i2 = { + keyword: [ + "synchronized", + "abstract", + "private", + "var", + "static", + "if", + "const ", + "for", + "while", + "strictfp", + "finally", + "protected", + "import", + "native", + "final", + "void", + "enum", + "else", + "break", + "transient", + "catch", + "instanceof", + "volatile", + "case", + "assert", + "package", + "default", + "public", + "try", + "switch", + "continue", + "throws", + "protected", + "public", + "private", + "module", + "requires", + "exports", + "do", + "sealed", + "yield", + "permits" + ], + literal: ["false", "true", "null"], + type: ["char", "boolean", "long", "float", "int", "byte", "short", "double"], + built_in: ["super", "this"] + }, r2 = { + className: "meta", + begin: "@" + t2, + contains: [{ + begin: /\(/, + end: /\)/, + contains: ["self"] + }] + }, s2 = { + className: "params", + begin: /\(/, + end: /\)/, + keywords: i2, + relevance: 0, + contains: [e2.C_BLOCK_COMMENT_MODE], + endsParent: true + }; + return { + name: "Java", + aliases: ["jsp"], + keywords: i2, + illegal: /<\/|#/, + contains: [e2.COMMENT("/\\*\\*", "\\*/", { + relevance: 0, + contains: [{ + begin: /\w+@/, + relevance: 0 + }, { + className: "doctag", + begin: "@[A-Za-z]+" + }] + }), { + begin: /import java\.[a-z]+\./, + keywords: "import", + relevance: 2 + }, e2.C_LINE_COMMENT_MODE, e2.C_BLOCK_COMMENT_MODE, { + begin: /"""/, + end: /"""/, + className: "string", + contains: [e2.BACKSLASH_ESCAPE] + }, e2.APOS_STRING_MODE, e2.QUOTE_STRING_MODE, { + match: [/\b(?:class|interface|enum|extends|implements|new)/, /\s+/, t2], + className: { + 1: "keyword", + 3: "title.class" + } + }, { + match: /non-sealed/, + scope: "keyword" + }, { + begin: [n2.concat(/(?!else)/, t2), /\s+/, t2, /\s+/, /=(?!=)/], + className: { + 1: "type", + 3: "variable", + 5: "operator" + } + }, { + begin: [/record/, /\s+/, t2], + className: { + 1: "keyword", + 3: "title.class" + }, + contains: [s2, e2.C_LINE_COMMENT_MODE, e2.C_BLOCK_COMMENT_MODE] + }, { + beginKeywords: "new throw return else", + relevance: 0 + }, { + begin: ["(?:" + a2 + "\\s+)", e2.UNDERSCORE_IDENT_RE, /\s*(?=\()/], + className: { + 2: "title.function" + }, + keywords: i2, + contains: [{ + className: "params", + begin: /\(/, + end: /\)/, + keywords: i2, + relevance: 0, + contains: [r2, e2.APOS_STRING_MODE, e2.QUOTE_STRING_MODE, oe, e2.C_BLOCK_COMMENT_MODE] + }, e2.C_LINE_COMMENT_MODE, e2.C_BLOCK_COMMENT_MODE] + }, oe, r2] + }; + }, + grmr_javascript: he, + grmr_json: (e2) => { + const n2 = ["true", "false", "null"], t2 = { + scope: "literal", + beginKeywords: n2.join(" ") + }; + return { + name: "JSON", + keywords: { + literal: n2 + }, + contains: [{ + className: "attr", + begin: /"(\\.|[^\\"\r\n])*"(?=\s*:)/, + relevance: 1.01 + }, { + match: /[{}[\],:]/, + className: "punctuation", + relevance: 0 + }, e2.QUOTE_STRING_MODE, t2, e2.C_NUMBER_MODE, e2.C_LINE_COMMENT_MODE, e2.C_BLOCK_COMMENT_MODE], + illegal: "\\S" + }; + }, + grmr_kotlin: (e2) => { + const n2 = { + keyword: "abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual", + built_in: "Byte Short Char Int Long Boolean Float Double Void Unit Nothing", + literal: "true false null" + }, t2 = { + className: "symbol", + begin: e2.UNDERSCORE_IDENT_RE + "@" + }, a2 = { + className: "subst", + begin: /\$\{/, + end: /\}/, + contains: [e2.C_NUMBER_MODE] + }, i2 = { + className: "variable", + begin: "\\$" + e2.UNDERSCORE_IDENT_RE + }, r2 = { + className: "string", + variants: [{ + begin: '"""', + end: '"""(?=[^"])', + contains: [i2, a2] + }, { + begin: "'", + end: "'", + illegal: /\n/, + contains: [e2.BACKSLASH_ESCAPE] + }, { + begin: '"', + end: '"', + illegal: /\n/, + contains: [e2.BACKSLASH_ESCAPE, i2, a2] + }] + }; + a2.contains.push(r2); + const s2 = { + className: "meta", + begin: "@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*" + e2.UNDERSCORE_IDENT_RE + ")?" + }, o2 = { + className: "meta", + begin: "@" + e2.UNDERSCORE_IDENT_RE, + contains: [{ + begin: /\(/, + end: /\)/, + contains: [e2.inherit(r2, { + className: "string" + }), "self"] + }] + }, l2 = oe, c2 = e2.COMMENT("/\\*", "\\*/", { + contains: [e2.C_BLOCK_COMMENT_MODE] + }), d2 = { + variants: [{ + className: "type", + begin: e2.UNDERSCORE_IDENT_RE + }, { + begin: /\(/, + end: /\)/, + contains: [] + }] + }, g2 = d2; + return g2.variants[1].contains = [d2], d2.variants[1].contains = [g2], { + name: "Kotlin", + aliases: ["kt", "kts"], + keywords: n2, + contains: [e2.COMMENT("/\\*\\*", "\\*/", { + relevance: 0, + contains: [{ + className: "doctag", + begin: "@[A-Za-z]+" + }] + }), e2.C_LINE_COMMENT_MODE, c2, { + className: "keyword", + begin: /\b(break|continue|return|this)\b/, + starts: { + contains: [{ + className: "symbol", + begin: /@\w+/ + }] + } + }, t2, s2, o2, { + className: "function", + beginKeywords: "fun", + end: "[(]|$", + returnBegin: true, + excludeEnd: true, + keywords: n2, + relevance: 5, + contains: [{ + begin: e2.UNDERSCORE_IDENT_RE + "\\s*\\(", + returnBegin: true, + relevance: 0, + contains: [e2.UNDERSCORE_TITLE_MODE] + }, { + className: "type", + begin: //, + keywords: "reified", + relevance: 0 + }, { + className: "params", + begin: /\(/, + end: /\)/, + endsParent: true, + keywords: n2, + relevance: 0, + contains: [{ + begin: /:/, + end: /[=,\/]/, + endsWithParent: true, + contains: [d2, e2.C_LINE_COMMENT_MODE, c2], + relevance: 0 + }, e2.C_LINE_COMMENT_MODE, c2, s2, o2, r2, e2.C_NUMBER_MODE] + }, c2] + }, { + begin: [/class|interface|trait/, /\s+/, e2.UNDERSCORE_IDENT_RE], + beginScope: { + 3: "title.class" + }, + keywords: "class interface trait", + end: /[:\{(]|$/, + excludeEnd: true, + illegal: "extends implements", + contains: [{ + beginKeywords: "public protected internal private constructor" + }, e2.UNDERSCORE_TITLE_MODE, { + className: "type", + begin: //, + excludeBegin: true, + excludeEnd: true, + relevance: 0 + }, { + className: "type", + begin: /[,:]\s*/, + end: /[<\(,){\s]|$/, + excludeBegin: true, + returnEnd: true + }, s2, o2] + }, r2, { + className: "meta", + begin: "^#!/usr/bin/env", + end: "$", + illegal: "\n" + }, l2] + }; + }, + grmr_less: (e2) => { + const n2 = J(e2), t2 = ie, a2 = "([\\w-]+|@\\{[\\w-]+\\})", i2 = [], r2 = [], s2 = (e3) => ({ + className: "string", + begin: "~?" + e3 + ".*?" + e3 + }), o2 = (e3, n3, t3) => ({ + className: e3, + begin: n3, + relevance: t3 + }), l2 = { + $pattern: /[a-z-]+/, + keyword: "and or not only", + attribute: ee.join(" ") + }, c2 = { + begin: "\\(", + end: "\\)", + contains: r2, + keywords: l2, + relevance: 0 + }; + r2.push(e2.C_LINE_COMMENT_MODE, e2.C_BLOCK_COMMENT_MODE, s2("'"), s2('"'), n2.CSS_NUMBER_MODE, { + begin: "(url|data-uri)\\(", + starts: { + className: "string", + end: "[\\)\\n]", + excludeEnd: true + } + }, n2.HEXCOLOR, c2, o2("variable", "@@?[\\w-]+", 10), o2("variable", "@\\{[\\w-]+\\}"), o2( + "built_in", + "~?`[^`]*?`" + ), { + className: "attribute", + begin: "[\\w-]+\\s*:", + end: ":", + returnBegin: true, + excludeEnd: true + }, n2.IMPORTANT, { + beginKeywords: "and not" + }, n2.FUNCTION_DISPATCH); + const d2 = r2.concat({ + begin: /\{/, + end: /\}/, + contains: i2 + }), g2 = { + beginKeywords: "when", + endsWithParent: true, + contains: [{ + beginKeywords: "and not" + }].concat(r2) + }, u2 = { + begin: a2 + "\\s*:", + returnBegin: true, + end: /[;}]/, + relevance: 0, + contains: [{ + begin: /-(webkit|moz|ms|o)-/ + }, n2.CSS_VARIABLE, { + className: "attribute", + begin: "\\b(" + ae.join("|") + ")\\b", + end: /(?=:)/, + starts: { + endsWithParent: true, + illegal: "[<=$]", + relevance: 0, + contains: r2 + } + }] + }, b2 = { + className: "keyword", + begin: "@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b", + starts: { + end: "[;{}]", + keywords: l2, + returnEnd: true, + contains: r2, + relevance: 0 + } + }, m2 = { + className: "variable", + variants: [{ + begin: "@[\\w-]+\\s*:", + relevance: 15 + }, { + begin: "@[\\w-]+" + }], + starts: { + end: "[;}]", + returnEnd: true, + contains: d2 + } + }, p2 = { + variants: [{ + begin: "[\\.#:&\\[>]", + end: "[;{}]" + }, { + begin: a2, + end: /\{/ + }], + returnBegin: true, + returnEnd: true, + illegal: `[<='$"]`, + relevance: 0, + contains: [e2.C_LINE_COMMENT_MODE, e2.C_BLOCK_COMMENT_MODE, g2, o2("keyword", "all\\b"), o2( + "variable", + "@\\{[\\w-]+\\}" + ), { + begin: "\\b(" + Y.join("|") + ")\\b", + className: "selector-tag" + }, n2.CSS_NUMBER_MODE, o2("selector-tag", a2, 0), o2("selector-id", "#" + a2), o2("selector-class", "\\." + a2, 0), o2("selector-tag", "&", 0), n2.ATTRIBUTE_SELECTOR_MODE, { + className: "selector-pseudo", + begin: ":(" + ne.join("|") + ")" + }, { + className: "selector-pseudo", + begin: ":(:)?(" + te.join("|") + ")" + }, { + begin: /\(/, + end: /\)/, + relevance: 0, + contains: d2 + }, { + begin: "!important" + }, n2.FUNCTION_DISPATCH] + }, _2 = { + begin: `[\\w-]+:(:)?(${t2.join("|")})`, + returnBegin: true, + contains: [p2] + }; + return i2.push(e2.C_LINE_COMMENT_MODE, e2.C_BLOCK_COMMENT_MODE, b2, m2, _2, u2, p2, g2, n2.FUNCTION_DISPATCH), { + name: "Less", + case_insensitive: true, + illegal: `[=>'/<($"]`, + contains: i2 + }; + }, + grmr_lua: (e2) => { + const n2 = "\\[=*\\[", t2 = "\\]=*\\]", a2 = { + begin: n2, + end: t2, + contains: ["self"] + }, i2 = [e2.COMMENT("--(?!\\[=*\\[)", "$"), e2.COMMENT("--\\[=*\\[", t2, { + contains: [a2], + relevance: 10 + })]; + return { + name: "Lua", + keywords: { + $pattern: e2.UNDERSCORE_IDENT_RE, + literal: "true false nil", + keyword: "and break do else elseif end for goto if in local not or repeat return then until while", + built_in: "_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove" + }, + contains: i2.concat([{ + className: "function", + beginKeywords: "function", + end: "\\)", + contains: [e2.inherit(e2.TITLE_MODE, { + begin: "([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*" + }), { + className: "params", + begin: "\\(", + endsWithParent: true, + contains: i2 + }].concat(i2) + }, e2.C_NUMBER_MODE, e2.APOS_STRING_MODE, e2.QUOTE_STRING_MODE, { + className: "string", + begin: n2, + end: t2, + contains: [a2], + relevance: 5 + }]) + }; + }, + grmr_makefile: (e2) => { + const n2 = { + className: "variable", + variants: [{ + begin: "\\$\\(" + e2.UNDERSCORE_IDENT_RE + "\\)", + contains: [e2.BACKSLASH_ESCAPE] + }, { + begin: /\$[@% { + const n2 = e2.regex, t2 = n2.concat( + /(?:[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])/, + n2.optional( + /(?:[\x2D\.0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])*:/ + ), + /(?:[\x2D\.0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])*/ + ), a2 = { + className: "symbol", + begin: /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/ + }, i2 = { + begin: /\s/, + contains: [{ + className: "keyword", + begin: /#?[a-z_][a-z1-9_-]+/, + illegal: /\n/ + }] + }, r2 = e2.inherit(i2, { + begin: /\(/, + end: /\)/ + }), s2 = e2.inherit(e2.APOS_STRING_MODE, { + className: "string" + }), o2 = e2.inherit(e2.QUOTE_STRING_MODE, { + className: "string" + }), l2 = { + endsWithParent: true, + illegal: /`]+/ + }] + }] + }] + }; + return { + name: "HTML, XML", + aliases: ["html", "xhtml", "rss", "atom", "xjb", "xsd", "xsl", "plist", "wsf", "svg"], + case_insensitive: true, + unicodeRegex: true, + contains: [{ + className: "meta", + begin: //, + relevance: 10, + contains: [i2, o2, s2, r2, { + begin: /\[/, + end: /\]/, + contains: [{ + className: "meta", + begin: //, + contains: [i2, r2, o2, s2] + }] + }] + }, e2.COMMENT(//, { + relevance: 10 + }), { + begin: //, + relevance: 10 + }, a2, { + className: "meta", + end: /\?>/, + variants: [{ + begin: /<\?xml/, + relevance: 10, + contains: [o2] + }, { + begin: /<\?[a-z][a-z0-9]+/ + }] + }, { + className: "tag", + begin: /)/, + end: />/, + keywords: { + name: "style" + }, + contains: [l2], + starts: { + end: /<\/style>/, + returnEnd: true, + subLanguage: ["css", "xml"] + } + }, { + className: "tag", + begin: /)/, + end: />/, + keywords: { + name: "script" + }, + contains: [l2], + starts: { + end: /<\/script>/, + returnEnd: true, + subLanguage: ["javascript", "handlebars", "xml"] + } + }, { + className: "tag", + begin: /<>|<\/>/ + }, { + className: "tag", + begin: n2.concat(//, />/, /\s/)))), + end: /\/?>/, + contains: [{ + className: "name", + begin: t2, + relevance: 0, + starts: l2 + }] + }, { + className: "tag", + begin: n2.concat(/<\//, n2.lookahead(n2.concat(t2, />/))), + contains: [{ + className: "name", + begin: t2, + relevance: 0 + }, { + begin: />/, + relevance: 0, + endsParent: true + }] + }] + }; + }, + grmr_markdown: (e2) => { + const n2 = { + begin: /<\/?[A-Za-z_]/, + end: ">", + subLanguage: "xml", + relevance: 0 + }, t2 = { + variants: [{ + begin: /\[.+?\]\[.*?\]/, + relevance: 0 + }, { + begin: /\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/, + relevance: 2 + }, { + begin: e2.regex.concat(/\[.+?\]\(/, /[A-Za-z][A-Za-z0-9+.-]*/, /:\/\/.*?\)/), + relevance: 2 + }, { + begin: /\[.+?\]\([./?&#].*?\)/, + relevance: 1 + }, { + begin: /\[.*?\]\(.*?\)/, + relevance: 0 + }], + returnBegin: true, + contains: [{ + match: /\[(?=\])/ + }, { + className: "string", + relevance: 0, + begin: "\\[", + end: "\\]", + excludeBegin: true, + returnEnd: true + }, { + className: "link", + relevance: 0, + begin: "\\]\\(", + end: "\\)", + excludeBegin: true, + excludeEnd: true + }, { + className: "symbol", + relevance: 0, + begin: "\\]\\[", + end: "\\]", + excludeBegin: true, + excludeEnd: true + }] + }, a2 = { + className: "strong", + contains: [], + variants: [{ + begin: /_{2}(?!\s)/, + end: /_{2}/ + }, { + begin: /\*{2}(?!\s)/, + end: /\*{2}/ + }] + }, i2 = { + className: "emphasis", + contains: [], + variants: [{ + begin: /\*(?![*\s])/, + end: /\*/ + }, { + begin: /_(?![_\s])/, + end: /_/, + relevance: 0 + }] + }, r2 = e2.inherit(a2, { + contains: [] + }), s2 = e2.inherit(i2, { + contains: [] + }); + a2.contains.push(s2), i2.contains.push(r2); + let o2 = [n2, t2]; + return [a2, i2, r2, s2].forEach((e3) => { + e3.contains = e3.contains.concat(o2); + }), o2 = o2.concat(a2, i2), { + name: "Markdown", + aliases: ["md", "mkdown", "mkd"], + contains: [{ + className: "section", + variants: [{ + begin: "^#{1,6}", + end: "$", + contains: o2 + }, { + begin: "(?=^.+?\\n[=-]{2,}$)", + contains: [{ + begin: "^[=-]*$" + }, { + begin: "^", + end: "\\n", + contains: o2 + }] + }] + }, n2, { + className: "bullet", + begin: "^[ ]*([*+-]|(\\d+\\.))(?=\\s+)", + end: "\\s+", + excludeEnd: true + }, a2, i2, { + className: "quote", + begin: "^>\\s+", + contains: o2, + end: "$" + }, { + className: "code", + variants: [{ + begin: "(`{3,})[^`](.|\\n)*?\\1`*[ ]*" + }, { + begin: "(~{3,})[^~](.|\\n)*?\\1~*[ ]*" + }, { + begin: "```", + end: "```+[ ]*$" + }, { + begin: "~~~", + end: "~~~+[ ]*$" + }, { + begin: "`.+?`" + }, { + begin: "(?=^( {4}|\\t))", + contains: [{ + begin: "^( {4}|\\t)", + end: "(\\n)$" + }], + relevance: 0 + }] + }, { + begin: "^[-\\*]{3,}", + end: "$" + }, t2, { + begin: /^\[[^\n]+\]:/, + returnBegin: true, + contains: [{ + className: "symbol", + begin: /\[/, + end: /\]/, + excludeBegin: true, + excludeEnd: true + }, { + className: "link", + begin: /:\s*/, + end: /$/, + excludeBegin: true + }] + }] + }; + }, + grmr_objectivec: (e2) => { + const n2 = /[a-zA-Z@][a-zA-Z0-9_]*/, t2 = { + $pattern: n2, + keyword: ["@interface", "@class", "@protocol", "@implementation"] + }; + return { + name: "Objective-C", + aliases: ["mm", "objc", "obj-c", "obj-c++", "objective-c++"], + keywords: { + "variable.language": ["this", "super"], + $pattern: n2, + keyword: [ + "while", + "export", + "sizeof", + "typedef", + "const", + "struct", + "for", + "union", + "volatile", + "static", + "mutable", + "if", + "do", + "return", + "goto", + "enum", + "else", + "break", + "extern", + "asm", + "case", + "default", + "register", + "explicit", + "typename", + "switch", + "continue", + "inline", + "readonly", + "assign", + "readwrite", + "self", + "@synchronized", + "id", + "typeof", + "nonatomic", + "IBOutlet", + "IBAction", + "strong", + "weak", + "copy", + "in", + "out", + "inout", + "bycopy", + "byref", + "oneway", + "__strong", + "__weak", + "__block", + "__autoreleasing", + "@private", + "@protected", + "@public", + "@try", + "@property", + "@end", + "@throw", + "@catch", + "@finally", + "@autoreleasepool", + "@synthesize", + "@dynamic", + "@selector", + "@optional", + "@required", + "@encode", + "@package", + "@import", + "@defs", + "@compatibility_alias", + "__bridge", + "__bridge_transfer", + "__bridge_retained", + "__bridge_retain", + "__covariant", + "__contravariant", + "__kindof", + "_Nonnull", + "_Nullable", + "_Null_unspecified", + "__FUNCTION__", + "__PRETTY_FUNCTION__", + "__attribute__", + "getter", + "setter", + "retain", + "unsafe_unretained", + "nonnull", + "nullable", + "null_unspecified", + "null_resettable", + "class", + "instancetype", + "NS_DESIGNATED_INITIALIZER", + "NS_UNAVAILABLE", + "NS_REQUIRES_SUPER", + "NS_RETURNS_INNER_POINTER", + "NS_INLINE", + "NS_AVAILABLE", + "NS_DEPRECATED", + "NS_ENUM", + "NS_OPTIONS", + "NS_SWIFT_UNAVAILABLE", + "NS_ASSUME_NONNULL_BEGIN", + "NS_ASSUME_NONNULL_END", + "NS_REFINED_FOR_SWIFT", + "NS_SWIFT_NAME", + "NS_SWIFT_NOTHROW", + "NS_DURING", + "NS_HANDLER", + "NS_ENDHANDLER", + "NS_VALUERETURN", + "NS_VOIDRETURN" + ], + literal: ["false", "true", "FALSE", "TRUE", "nil", "YES", "NO", "NULL"], + built_in: ["dispatch_once_t", "dispatch_queue_t", "dispatch_sync", "dispatch_async", "dispatch_once"], + type: [ + "int", + "float", + "char", + "unsigned", + "signed", + "short", + "long", + "double", + "wchar_t", + "unichar", + "void", + "bool", + "BOOL", + "id|0", + "_Bool" + ] + }, + illegal: "/, + end: /$/, + illegal: "\\n" + }, e2.C_LINE_COMMENT_MODE, e2.C_BLOCK_COMMENT_MODE] + }, + { + className: "class", + begin: "(" + t2.keyword.join("|") + ")\\b", + end: /(\{|$)/, + excludeEnd: true, + keywords: t2, + contains: [e2.UNDERSCORE_TITLE_MODE] + }, + { + begin: "\\." + e2.UNDERSCORE_IDENT_RE, + relevance: 0 + } + ] + }; + }, + grmr_perl: (e2) => { + const n2 = e2.regex, t2 = /[dualxmsipngr]{0,12}/, a2 = { + $pattern: /[\w.]+/, + keyword: "abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0" + }, i2 = { + className: "subst", + begin: "[$@]\\{", + end: "\\}", + keywords: a2 + }, r2 = { + begin: /->\{/, + end: /\}/ + }, s2 = { + variants: [{ + begin: /\$\d/ + }, { + begin: n2.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/, "(?![A-Za-z])(?![@$%])") + }, { + begin: /[$%@][^\s\w{]/, + relevance: 0 + }] + }, o2 = [e2.BACKSLASH_ESCAPE, i2, s2], l2 = [/!/, /\//, /\|/, /\?/, /'/, /"/, /#/], c2 = (e3, a3, i3 = "\\1") => { + const r3 = "\\1" === i3 ? i3 : n2.concat(i3, a3); + return n2.concat(n2.concat("(?:", e3, ")"), a3, /(?:\\.|[^\\\/])*?/, r3, /(?:\\.|[^\\\/])*?/, i3, t2); + }, d2 = (e3, a3, i3) => n2.concat(n2.concat("(?:", e3, ")"), a3, /(?:\\.|[^\\\/])*?/, i3, t2), g2 = [s2, e2.HASH_COMMENT_MODE, e2.COMMENT(/^=\w/, /=cut/, { + endsWithParent: true + }), r2, { + className: "string", + contains: o2, + variants: [{ + begin: "q[qwxr]?\\s*\\(", + end: "\\)", + relevance: 5 + }, { + begin: "q[qwxr]?\\s*\\[", + end: "\\]", + relevance: 5 + }, { + begin: "q[qwxr]?\\s*\\{", + end: "\\}", + relevance: 5 + }, { + begin: "q[qwxr]?\\s*\\|", + end: "\\|", + relevance: 5 + }, { + begin: "q[qwxr]?\\s*<", + end: ">", + relevance: 5 + }, { + begin: "qw\\s+q", + end: "q", + relevance: 5 + }, { + begin: "'", + end: "'", + contains: [e2.BACKSLASH_ESCAPE] + }, { + begin: '"', + end: '"' + }, { + begin: "`", + end: "`", + contains: [e2.BACKSLASH_ESCAPE] + }, { + begin: /\{\w+\}/, + relevance: 0 + }, { + begin: "-?\\w+\\s*=>", + relevance: 0 + }] + }, { + className: "number", + begin: "(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b", + relevance: 0 + }, { + begin: "(\\/\\/|" + e2.RE_STARTERS_RE + "|\\b(split|return|print|reverse|grep)\\b)\\s*", + keywords: "split return print reverse grep", + relevance: 0, + contains: [e2.HASH_COMMENT_MODE, { + className: "regexp", + variants: [{ + begin: c2("s|tr|y", n2.either(...l2, { + capture: true + })) + }, { + begin: c2("s|tr|y", "\\(", "\\)") + }, { + begin: c2("s|tr|y", "\\[", "\\]") + }, { + begin: c2("s|tr|y", "\\{", "\\}") + }], + relevance: 2 + }, { + className: "regexp", + variants: [{ + begin: /(m|qr)\/\//, + relevance: 0 + }, { + begin: d2("(?:m|qr)?", /\//, /\//) + }, { + begin: d2("m|qr", n2.either(...l2, { + capture: true + }), /\1/) + }, { + begin: d2("m|qr", /\(/, /\)/) + }, { + begin: d2("m|qr", /\[/, /\]/) + }, { + begin: d2("m|qr", /\{/, /\}/) + }] + }] + }, { + className: "function", + beginKeywords: "sub", + end: "(\\s*\\(.*?\\))?[;{]", + excludeEnd: true, + relevance: 5, + contains: [e2.TITLE_MODE] + }, { + begin: "-\\w\\b", + relevance: 0 + }, { + begin: "^__DATA__$", + end: "^__END__$", + subLanguage: "mojolicious", + contains: [{ + begin: "^@@.*", + end: "$", + className: "comment" + }] + }]; + return i2.contains = g2, r2.contains = g2, { + name: "Perl", + aliases: ["pl", "pm"], + keywords: a2, + contains: g2 + }; + }, + grmr_php: (e2) => { + const n2 = e2.regex, t2 = /(?![A-Za-z0-9])(?![$])/, a2 = n2.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/, t2), i2 = n2.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/, t2), r2 = { + scope: "variable", + match: "\\$+" + a2 + }, s2 = { + scope: "subst", + variants: [{ + begin: /\$\w+/ + }, { + begin: /\{\$/, + end: /\}/ + }] + }, o2 = e2.inherit(e2.APOS_STRING_MODE, { + illegal: null + }), l2 = "[ \n]", c2 = { + scope: "string", + variants: [e2.inherit(e2.QUOTE_STRING_MODE, { + illegal: null, + contains: e2.QUOTE_STRING_MODE.contains.concat(s2) + }), o2, e2.END_SAME_AS_BEGIN({ + begin: /<<<[ \t]*(\w+)\n/, + end: /[ \t]*(\w+)\b/, + contains: e2.QUOTE_STRING_MODE.contains.concat(s2) + })] + }, d2 = { + scope: "number", + variants: [{ + begin: "\\b0[bB][01]+(?:_[01]+)*\\b" + }, { + begin: "\\b0[oO][0-7]+(?:_[0-7]+)*\\b" + }, { + begin: "\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b" + }, { + begin: "(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?" + }], + relevance: 0 + }, g2 = ["false", "null", "true"], u2 = [ + "__CLASS__", + "__DIR__", + "__FILE__", + "__FUNCTION__", + "__COMPILER_HALT_OFFSET__", + "__LINE__", + "__METHOD__", + "__NAMESPACE__", + "__TRAIT__", + "die", + "echo", + "exit", + "include", + "include_once", + "print", + "require", + "require_once", + "array", + "abstract", + "and", + "as", + "binary", + "bool", + "boolean", + "break", + "callable", + "case", + "catch", + "class", + "clone", + "const", + "continue", + "declare", + "default", + "do", + "double", + "else", + "elseif", + "empty", + "enddeclare", + "endfor", + "endforeach", + "endif", + "endswitch", + "endwhile", + "enum", + "eval", + "extends", + "final", + "finally", + "float", + "for", + "foreach", + "from", + "global", + "goto", + "if", + "implements", + "instanceof", + "insteadof", + "int", + "integer", + "interface", + "isset", + "iterable", + "list", + "match|0", + "mixed", + "new", + "never", + "object", + "or", + "private", + "protected", + "public", + "readonly", + "real", + "return", + "string", + "switch", + "throw", + "trait", + "try", + "unset", + "use", + "var", + "void", + "while", + "xor", + "yield" + ], b2 = [ + "Error|0", + "AppendIterator", + "ArgumentCountError", + "ArithmeticError", + "ArrayIterator", + "ArrayObject", + "AssertionError", + "BadFunctionCallException", + "BadMethodCallException", + "CachingIterator", + "CallbackFilterIterator", + "CompileError", + "Countable", + "DirectoryIterator", + "DivisionByZeroError", + "DomainException", + "EmptyIterator", + "ErrorException", + "Exception", + "FilesystemIterator", + "FilterIterator", + "GlobIterator", + "InfiniteIterator", + "InvalidArgumentException", + "IteratorIterator", + "LengthException", + "LimitIterator", + "LogicException", + "MultipleIterator", + "NoRewindIterator", + "OutOfBoundsException", + "OutOfRangeException", + "OuterIterator", + "OverflowException", + "ParentIterator", + "ParseError", + "RangeException", + "RecursiveArrayIterator", + "RecursiveCachingIterator", + "RecursiveCallbackFilterIterator", + "RecursiveDirectoryIterator", + "RecursiveFilterIterator", + "RecursiveIterator", + "RecursiveIteratorIterator", + "RecursiveRegexIterator", + "RecursiveTreeIterator", + "RegexIterator", + "RuntimeException", + "SeekableIterator", + "SplDoublyLinkedList", + "SplFileInfo", + "SplFileObject", + "SplFixedArray", + "SplHeap", + "SplMaxHeap", + "SplMinHeap", + "SplObjectStorage", + "SplObserver", + "SplPriorityQueue", + "SplQueue", + "SplStack", + "SplSubject", + "SplTempFileObject", + "TypeError", + "UnderflowException", + "UnexpectedValueException", + "UnhandledMatchError", + "ArrayAccess", + "BackedEnum", + "Closure", + "Fiber", + "Generator", + "Iterator", + "IteratorAggregate", + "Serializable", + "Stringable", + "Throwable", + "Traversable", + "UnitEnum", + "WeakReference", + "WeakMap", + "Directory", + "__PHP_Incomplete_Class", + "parent", + "php_user_filter", + "self", + "static", + "stdClass" + ], m2 = { + keyword: u2, + literal: ((e3) => { + const n3 = []; + return e3.forEach((e4) => { + n3.push(e4), e4.toLowerCase() === e4 ? n3.push(e4.toUpperCase()) : n3.push(e4.toLowerCase()); + }), n3; + })(g2), + built_in: b2 + }, p2 = (e3) => e3.map((e4) => e4.replace(/\|\d+$/, "")), _2 = { + variants: [{ + match: [/new/, n2.concat(l2, "+"), n2.concat("(?!", p2(b2).join("\\b|"), "\\b)"), i2], + scope: { + 1: "keyword", + 4: "title.class" + } + }] + }, h2 = n2.concat(a2, "\\b(?!\\()"), f2 = { + variants: [{ + match: [n2.concat(/::/, n2.lookahead(/(?!class\b)/)), h2], + scope: { + 2: "variable.constant" + } + }, { + match: [/::/, /class/], + scope: { + 2: "variable.language" + } + }, { + match: [i2, n2.concat(/::/, n2.lookahead(/(?!class\b)/)), h2], + scope: { + 1: "title.class", + 3: "variable.constant" + } + }, { + match: [i2, n2.concat("::", n2.lookahead(/(?!class\b)/))], + scope: { + 1: "title.class" + } + }, { + match: [i2, /::/, /class/], + scope: { + 1: "title.class", + 3: "variable.language" + } + }] + }, E2 = { + scope: "attr", + match: n2.concat(a2, n2.lookahead(":"), n2.lookahead(/(?!::)/)) + }, y2 = { + relevance: 0, + begin: /\(/, + end: /\)/, + keywords: m2, + contains: [E2, r2, f2, e2.C_BLOCK_COMMENT_MODE, c2, d2, _2] + }, w2 = { + relevance: 0, + match: [ + /\b/, + n2.concat("(?!fn\\b|function\\b|", p2(u2).join("\\b|"), "|", p2(b2).join("\\b|"), "\\b)"), + a2, + n2.concat(l2, "*"), + n2.lookahead(/(?=\()/) + ], + scope: { + 3: "title.function.invoke" + }, + contains: [y2] + }; + y2.contains.push(w2); + const N2 = [E2, f2, e2.C_BLOCK_COMMENT_MODE, c2, d2, _2]; + return { + case_insensitive: false, + keywords: m2, + contains: [{ + begin: n2.concat(/#\[\s*/, i2), + beginScope: "meta", + end: /]/, + endScope: "meta", + keywords: { + literal: g2, + keyword: ["new", "array"] + }, + contains: [{ + begin: /\[/, + end: /]/, + keywords: { + literal: g2, + keyword: ["new", "array"] + }, + contains: ["self", ...N2] + }, ...N2, { + scope: "meta", + match: i2 + }] + }, e2.HASH_COMMENT_MODE, e2.COMMENT("//", "$"), e2.COMMENT("/\\*", "\\*/", { + contains: [{ + scope: "doctag", + match: "@[A-Za-z]+" + }] + }), { + match: /__halt_compiler\(\);/, + keywords: "__halt_compiler", + starts: { + scope: "comment", + end: e2.MATCH_NOTHING_RE, + contains: [{ + match: /\?>/, + scope: "meta", + endsParent: true + }] + } + }, { + scope: "meta", + variants: [{ + begin: /<\?php/, + relevance: 10 + }, { + begin: /<\?=/ + }, { + begin: /<\?/, + relevance: 0.1 + }, { + begin: /\?>/ + }] + }, { + scope: "variable.language", + match: /\$this\b/ + }, r2, w2, f2, { + match: [/const/, /\s/, a2], + scope: { + 1: "keyword", + 3: "variable.constant" + } + }, _2, { + scope: "function", + relevance: 0, + beginKeywords: "fn function", + end: /[;{]/, + excludeEnd: true, + illegal: "[$%\\[]", + contains: [{ + beginKeywords: "use" + }, e2.UNDERSCORE_TITLE_MODE, { + begin: "=>", + endsParent: true + }, { + scope: "params", + begin: "\\(", + end: "\\)", + excludeBegin: true, + excludeEnd: true, + keywords: m2, + contains: ["self", r2, f2, e2.C_BLOCK_COMMENT_MODE, c2, d2] + }] + }, { + scope: "class", + variants: [{ + beginKeywords: "enum", + illegal: /[($"]/ + }, { + beginKeywords: "class interface trait", + illegal: /[:($"]/ + }], + relevance: 0, + end: /\{/, + excludeEnd: true, + contains: [{ + beginKeywords: "extends implements" + }, e2.UNDERSCORE_TITLE_MODE] + }, { + beginKeywords: "namespace", + relevance: 0, + end: ";", + illegal: /[.']/, + contains: [e2.inherit(e2.UNDERSCORE_TITLE_MODE, { + scope: "title.class" + })] + }, { + beginKeywords: "use", + relevance: 0, + end: ";", + contains: [{ + match: /\b(as|const|function)\b/, + scope: "keyword" + }, e2.UNDERSCORE_TITLE_MODE] + }, c2, d2] + }; + }, + grmr_php_template: (e2) => ({ + name: "PHP template", + subLanguage: "xml", + contains: [{ + begin: /<\?(php|=)?/, + end: /\?>/, + subLanguage: "php", + contains: [{ + begin: "/\\*", + end: "\\*/", + skip: true + }, { + begin: 'b"', + end: '"', + skip: true + }, { + begin: "b'", + end: "'", + skip: true + }, e2.inherit(e2.APOS_STRING_MODE, { + illegal: null, + className: null, + contains: null, + skip: true + }), e2.inherit(e2.QUOTE_STRING_MODE, { + illegal: null, + className: null, + contains: null, + skip: true + })] + }] + }), + grmr_plaintext: (e2) => ({ + name: "Plain text", + aliases: ["text", "txt"], + disableAutodetect: true + }), + grmr_python: (e2) => { + const n2 = e2.regex, t2 = /(?:[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037B-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFC5D\uFC64-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDF9\uFE71\uFE73\uFE77\uFE79\uFE7B\uFE7D\uFE7F-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])(?:[0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037B-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u0870-\u0887\u0889-\u088E\u0898-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3C-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C5D\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1-\u0CF3\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECE\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1715\u171F-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B4C\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA827\uA82C\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFC5D\uFC64-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDF9\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE71\uFE73\uFE77\uFE79\uFE7B\uFE7D\uFE7F-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDD30-\uDD39\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDEFD-\uDF1C\uDF27\uDF30-\uDF50\uDF70-\uDF85\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC75\uDC7F-\uDCBA\uDCC2\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD47\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDCE-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E-\uDE41\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3B-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC5E-\uDC61\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF39\uDF40-\uDF46]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF6\uDF00-\uDF10\uDF12-\uDF3A\uDF3E-\uDF42\uDF50-\uDF59\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC40-\uDC55]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFE4\uDFF0\uDFF1]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC30-\uDC6D\uDC8F\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAE\uDEC0-\uDEF9]|\uD839[\uDCD0-\uDCF9\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF]|\uDB40[\uDD00-\uDDEF])*/, a2 = [ + "and", + "as", + "assert", + "async", + "await", + "break", + "case", + "class", + "continue", + "def", + "del", + "elif", + "else", + "except", + "finally", + "for", + "from", + "global", + "if", + "import", + "in", + "is", + "lambda", + "match", + "nonlocal|10", + "not", + "or", + "pass", + "raise", + "return", + "try", + "while", + "with", + "yield" + ], i2 = { + $pattern: /[A-Za-z]\w+|__\w+__/, + keyword: a2, + built_in: [ + "__import__", + "abs", + "all", + "any", + "ascii", + "bin", + "bool", + "breakpoint", + "bytearray", + "bytes", + "callable", + "chr", + "classmethod", + "compile", + "complex", + "delattr", + "dict", + "dir", + "divmod", + "enumerate", + "eval", + "exec", + "filter", + "float", + "format", + "frozenset", + "getattr", + "globals", + "hasattr", + "hash", + "help", + "hex", + "id", + "input", + "int", + "isinstance", + "issubclass", + "iter", + "len", + "list", + "locals", + "map", + "max", + "memoryview", + "min", + "next", + "object", + "oct", + "open", + "ord", + "pow", + "print", + "property", + "range", + "repr", + "reversed", + "round", + "set", + "setattr", + "slice", + "sorted", + "staticmethod", + "str", + "sum", + "super", + "tuple", + "type", + "vars", + "zip" + ], + literal: ["__debug__", "Ellipsis", "False", "None", "NotImplemented", "True"], + type: [ + "Any", + "Callable", + "Coroutine", + "Dict", + "List", + "Literal", + "Generic", + "Optional", + "Sequence", + "Set", + "Tuple", + "Type", + "Union" + ] + }, r2 = { + className: "meta", + begin: /^(>>>|\.\.\.) / + }, s2 = { + className: "subst", + begin: /\{/, + end: /\}/, + keywords: i2, + illegal: /#/ + }, o2 = { + begin: /\{\{/, + relevance: 0 + }, l2 = { + className: "string", + contains: [e2.BACKSLASH_ESCAPE], + variants: [{ + begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/, + end: /'''/, + contains: [e2.BACKSLASH_ESCAPE, r2], + relevance: 10 + }, { + begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/, + end: /"""/, + contains: [e2.BACKSLASH_ESCAPE, r2], + relevance: 10 + }, { + begin: /([fF][rR]|[rR][fF]|[fF])'''/, + end: /'''/, + contains: [e2.BACKSLASH_ESCAPE, r2, o2, s2] + }, { + begin: /([fF][rR]|[rR][fF]|[fF])"""/, + end: /"""/, + contains: [e2.BACKSLASH_ESCAPE, r2, o2, s2] + }, { + begin: /([uU]|[rR])'/, + end: /'/, + relevance: 10 + }, { + begin: /([uU]|[rR])"/, + end: /"/, + relevance: 10 + }, { + begin: /([bB]|[bB][rR]|[rR][bB])'/, + end: /'/ + }, { + begin: /([bB]|[bB][rR]|[rR][bB])"/, + end: /"/ + }, { + begin: /([fF][rR]|[rR][fF]|[fF])'/, + end: /'/, + contains: [e2.BACKSLASH_ESCAPE, o2, s2] + }, { + begin: /([fF][rR]|[rR][fF]|[fF])"/, + end: /"/, + contains: [e2.BACKSLASH_ESCAPE, o2, s2] + }, e2.APOS_STRING_MODE, e2.QUOTE_STRING_MODE] + }, c2 = "[0-9](_?[0-9])*", d2 = `(\\b(${c2}))?\\.(${c2})|\\b(${c2})\\.`, g2 = "\\b|" + a2.join("|"), u2 = { + className: "number", + relevance: 0, + variants: [{ + begin: `(\\b(${c2})|(${d2}))[eE][+-]?(${c2})[jJ]?(?=${g2})` + }, { + begin: `(${d2})[jJ]?` + }, { + begin: `\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${g2})` + }, { + begin: `\\b0[bB](_?[01])+[lL]?(?=${g2})` + }, { + begin: `\\b0[oO](_?[0-7])+[lL]?(?=${g2})` + }, { + begin: `\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${g2})` + }, { + begin: `\\b(${c2})[jJ](?=${g2})` + }] + }, b2 = { + className: "comment", + begin: n2.lookahead(/# type:/), + end: /$/, + keywords: i2, + contains: [{ + begin: /# type:/ + }, { + begin: /#/, + end: /\b\B/, + endsWithParent: true + }] + }, m2 = { + className: "params", + variants: [{ + className: "", + begin: /\(\s*\)/, + skip: true + }, { + begin: /\(/, + end: /\)/, + excludeBegin: true, + excludeEnd: true, + keywords: i2, + contains: ["self", r2, u2, l2, e2.HASH_COMMENT_MODE] + }] + }; + return s2.contains = [l2, u2, r2], { + name: "Python", + aliases: ["py", "gyp", "ipython"], + unicodeRegex: true, + keywords: i2, + illegal: /(<\/|->|\?)|=>/, + contains: [r2, u2, { + begin: /\bself\b/ + }, { + beginKeywords: "if", + relevance: 0 + }, l2, b2, e2.HASH_COMMENT_MODE, { + match: [/\bdef/, /\s+/, t2], + scope: { + 1: "keyword", + 3: "title.function" + }, + contains: [m2] + }, { + variants: [{ + match: [/\bclass/, /\s+/, t2, /\s*/, /\(\s*/, t2, /\s*\)/] + }, { + match: [/\bclass/, /\s+/, t2] + }], + scope: { + 1: "keyword", + 3: "title.class", + 6: "title.class.inherited" + } + }, { + className: "meta", + begin: /^[\t ]*@/, + end: /(?=#)|$/, + contains: [u2, m2, l2] + }] + }; + }, + grmr_python_repl: (e2) => ({ + aliases: ["pycon"], + contains: [{ + className: "meta.prompt", + starts: { + end: / |$/, + starts: { + end: "$", + subLanguage: "python" + } + }, + variants: [{ + begin: /^>>>(?=[ ]|$)/ + }, { + begin: /^\.\.\.(?=[ ]|$)/ + }] + }] + }), + grmr_r: (e2) => { + const n2 = e2.regex, t2 = /(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/, a2 = n2.either( + /0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/, + /0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/, + /(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/ + ), i2 = /[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/, r2 = n2.either(/[()]/, /[{}]/, /\[\[/, /[[\]]/, /\\/, /,/); + return { + name: "R", + keywords: { + $pattern: t2, + keyword: "function if in break next repeat else for while", + literal: "NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10", + built_in: "LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm" + }, + contains: [e2.COMMENT(/#'/, /$/, { + contains: [{ + scope: "doctag", + match: /@examples/, + starts: { + end: n2.lookahead(n2.either(/\n^#'\s*(?=@[a-zA-Z]+)/, /\n^(?!#')/)), + endsParent: true + } + }, { + scope: "doctag", + begin: "@param", + end: /$/, + contains: [{ + scope: "variable", + variants: [{ + match: t2 + }, { + match: /`(?:\\.|[^`\\])+`/ + }], + endsParent: true + }] + }, { + scope: "doctag", + match: /@[a-zA-Z]+/ + }, { + scope: "keyword", + match: /\\[a-zA-Z]+/ + }] + }), e2.HASH_COMMENT_MODE, { + scope: "string", + contains: [e2.BACKSLASH_ESCAPE], + variants: [e2.END_SAME_AS_BEGIN({ + begin: /[rR]"(-*)\(/, + end: /\)(-*)"/ + }), e2.END_SAME_AS_BEGIN({ + begin: /[rR]"(-*)\{/, + end: /\}(-*)"/ + }), e2.END_SAME_AS_BEGIN({ + begin: /[rR]"(-*)\[/, + end: /\](-*)"/ + }), e2.END_SAME_AS_BEGIN({ + begin: /[rR]'(-*)\(/, + end: /\)(-*)'/ + }), e2.END_SAME_AS_BEGIN({ + begin: /[rR]'(-*)\{/, + end: /\}(-*)'/ + }), e2.END_SAME_AS_BEGIN({ + begin: /[rR]'(-*)\[/, + end: /\](-*)'/ + }), { + begin: '"', + end: '"', + relevance: 0 + }, { + begin: "'", + end: "'", + relevance: 0 + }] + }, { + relevance: 0, + variants: [{ + scope: { + 1: "operator", + 2: "number" + }, + match: [i2, a2] + }, { + scope: { + 1: "operator", + 2: "number" + }, + match: [/%[^%]*%/, a2] + }, { + scope: { + 1: "punctuation", + 2: "number" + }, + match: [r2, a2] + }, { + scope: { + 2: "number" + }, + match: [/[^a-zA-Z0-9._]|^/, a2] + }] + }, { + scope: { + 3: "operator" + }, + match: [t2, /\s+/, /<-/, /\s+/] + }, { + scope: "operator", + relevance: 0, + variants: [{ + match: i2 + }, { + match: /%[^%]*%/ + }] + }, { + scope: "punctuation", + relevance: 0, + match: r2 + }, { + begin: "`", + end: "`", + contains: [{ + begin: /\\./ + }] + }] + }; + }, + grmr_ruby: (e2) => { + const n2 = e2.regex, t2 = "([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)", a2 = n2.either(/\b([A-Z]+[a-z0-9]+)+/, /\b([A-Z]+[a-z0-9]+)+[A-Z]+/), i2 = n2.concat(a2, /(::\w+)*/), r2 = { + "variable.constant": ["__FILE__", "__LINE__", "__ENCODING__"], + "variable.language": ["self", "super"], + keyword: [ + "alias", + "and", + "begin", + "BEGIN", + "break", + "case", + "class", + "defined", + "do", + "else", + "elsif", + "end", + "END", + "ensure", + "for", + "if", + "in", + "module", + "next", + "not", + "or", + "redo", + "require", + "rescue", + "retry", + "return", + "then", + "undef", + "unless", + "until", + "when", + "while", + "yield", + "include", + "extend", + "prepend", + "public", + "private", + "protected", + "raise", + "throw" + ], + built_in: [ + "proc", + "lambda", + "attr_accessor", + "attr_reader", + "attr_writer", + "define_method", + "private_constant", + "module_function" + ], + literal: ["true", "false", "nil"] + }, s2 = { + className: "doctag", + begin: "@[A-Za-z]+" + }, o2 = { + begin: "#<", + end: ">" + }, l2 = [e2.COMMENT("#", "$", { + contains: [s2] + }), e2.COMMENT("^=begin", "^=end", { + contains: [s2], + relevance: 10 + }), e2.COMMENT("^__END__", e2.MATCH_NOTHING_RE)], c2 = { + className: "subst", + begin: /#\{/, + end: /\}/, + keywords: r2 + }, d2 = { + className: "string", + contains: [e2.BACKSLASH_ESCAPE, c2], + variants: [{ + begin: /'/, + end: /'/ + }, { + begin: /"/, + end: /"/ + }, { + begin: /`/, + end: /`/ + }, { + begin: /%[qQwWx]?\(/, + end: /\)/ + }, { + begin: /%[qQwWx]?\[/, + end: /\]/ + }, { + begin: /%[qQwWx]?\{/, + end: /\}/ + }, { + begin: /%[qQwWx]?/ + }, { + begin: /%[qQwWx]?\//, + end: /\// + }, { + begin: /%[qQwWx]?%/, + end: /%/ + }, { + begin: /%[qQwWx]?-/, + end: /-/ + }, { + begin: /%[qQwWx]?\|/, + end: /\|/ + }, { + begin: /\B\?(\\\d{1,3})/ + }, { + begin: /\B\?(\\x[A-Fa-f0-9]{1,2})/ + }, { + begin: /\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/ + }, { + begin: /\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/ + }, { + begin: /\B\?\\(c|C-)[\x20-\x7e]/ + }, { + begin: /\B\?\\?\S/ + }, { + begin: n2.concat(/<<[-~]?'?/, n2.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)), + contains: [e2.END_SAME_AS_BEGIN({ + begin: /(\w+)/, + end: /(\w+)/, + contains: [e2.BACKSLASH_ESCAPE, c2] + })] + }] + }, g2 = "[0-9](_?[0-9])*", u2 = { + className: "number", + relevance: 0, + variants: [{ + begin: `\\b([1-9](_?[0-9])*|0)(\\.(${g2}))?([eE][+-]?(${g2})|r)?i?\\b` + }, { + begin: "\\b0[dD][0-9](_?[0-9])*r?i?\\b" + }, { + begin: "\\b0[bB][0-1](_?[0-1])*r?i?\\b" + }, { + begin: "\\b0[oO][0-7](_?[0-7])*r?i?\\b" + }, { + begin: "\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b" + }, { + begin: "\\b0(_?[0-7])+r?i?\\b" + }] + }, b2 = { + variants: [{ + match: /\(\)/ + }, { + className: "params", + begin: /\(/, + end: /(?=\))/, + excludeBegin: true, + endsParent: true, + keywords: r2 + }] + }, m2 = [d2, { + variants: [{ + match: [/class\s+/, i2, /\s+<\s+/, i2] + }, { + match: [/\b(class|module)\s+/, i2] + }], + scope: { + 2: "title.class", + 4: "title.class.inherited" + }, + keywords: r2 + }, { + match: [/(include|extend)\s+/, i2], + scope: { + 2: "title.class" + }, + keywords: r2 + }, { + relevance: 0, + match: [i2, /\.new[. (]/], + scope: { + 1: "title.class" + } + }, { + relevance: 0, + match: /\b[A-Z][A-Z_0-9]+\b/, + className: "variable.constant" + }, { + relevance: 0, + match: a2, + scope: "title.class" + }, { + match: [/def/, /\s+/, t2], + scope: { + 1: "keyword", + 3: "title.function" + }, + contains: [b2] + }, { + begin: e2.IDENT_RE + "::" + }, { + className: "symbol", + begin: e2.UNDERSCORE_IDENT_RE + "(!|\\?)?:", + relevance: 0 + }, { + className: "symbol", + begin: ":(?!\\s)", + contains: [d2, { + begin: t2 + }], + relevance: 0 + }, u2, { + className: "variable", + begin: "(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])" + }, { + className: "params", + begin: /\|/, + end: /\|/, + excludeBegin: true, + excludeEnd: true, + relevance: 0, + keywords: r2 + }, { + begin: "(" + e2.RE_STARTERS_RE + "|unless)\\s*", + keywords: "unless", + contains: [{ + className: "regexp", + contains: [e2.BACKSLASH_ESCAPE, c2], + illegal: /\n/, + variants: [{ + begin: "/", + end: "/[a-z]*" + }, { + begin: /%r\{/, + end: /\}[a-z]*/ + }, { + begin: "%r\\(", + end: "\\)[a-z]*" + }, { + begin: "%r!", + end: "![a-z]*" + }, { + begin: "%r\\[", + end: "\\][a-z]*" + }] + }].concat(o2, l2), + relevance: 0 + }].concat(o2, l2); + c2.contains = m2, b2.contains = m2; + const p2 = [{ + begin: /^\s*=>/, + starts: { + end: "$", + contains: m2 + } + }, { + className: "meta.prompt", + begin: "^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])", + starts: { + end: "$", + keywords: r2, + contains: m2 + } + }]; + return l2.unshift(o2), { + name: "Ruby", + aliases: ["rb", "gemspec", "podspec", "thor", "irb"], + keywords: r2, + illegal: /\/\*/, + contains: [e2.SHEBANG({ + binary: "ruby" + })].concat(p2).concat(l2).concat(m2) + }; + }, + grmr_rust: (e2) => { + const n2 = e2.regex, t2 = { + className: "title.function.invoke", + relevance: 0, + begin: n2.concat(/\b/, /(?!let\b)/, e2.IDENT_RE, n2.lookahead(/\s*\(/)) + }, a2 = "([ui](8|16|32|64|128|size)|f(32|64))?", i2 = [ + "drop ", + "Copy", + "Send", + "Sized", + "Sync", + "Drop", + "Fn", + "FnMut", + "FnOnce", + "ToOwned", + "Clone", + "Debug", + "PartialEq", + "PartialOrd", + "Eq", + "Ord", + "AsRef", + "AsMut", + "Into", + "From", + "Default", + "Iterator", + "Extend", + "IntoIterator", + "DoubleEndedIterator", + "ExactSizeIterator", + "SliceConcatExt", + "ToString", + "assert!", + "assert_eq!", + "bitflags!", + "bytes!", + "cfg!", + "col!", + "concat!", + "concat_idents!", + "debug_assert!", + "debug_assert_eq!", + "env!", + "panic!", + "file!", + "format!", + "format_args!", + "include_bytes!", + "include_str!", + "line!", + "local_data_key!", + "module_path!", + "option_env!", + "print!", + "println!", + "select!", + "stringify!", + "try!", + "unimplemented!", + "unreachable!", + "vec!", + "write!", + "writeln!", + "macro_rules!", + "assert_ne!", + "debug_assert_ne!" + ], r2 = [ + "i8", + "i16", + "i32", + "i64", + "i128", + "isize", + "u8", + "u16", + "u32", + "u64", + "u128", + "usize", + "f32", + "f64", + "str", + "char", + "bool", + "Box", + "Option", + "Result", + "String", + "Vec" + ]; + return { + name: "Rust", + aliases: ["rs"], + keywords: { + $pattern: e2.IDENT_RE + "!?", + type: r2, + keyword: [ + "abstract", + "as", + "async", + "await", + "become", + "box", + "break", + "const", + "continue", + "crate", + "do", + "dyn", + "else", + "enum", + "extern", + "false", + "final", + "fn", + "for", + "if", + "impl", + "in", + "let", + "loop", + "macro", + "match", + "mod", + "move", + "mut", + "override", + "priv", + "pub", + "ref", + "return", + "self", + "Self", + "static", + "struct", + "super", + "trait", + "true", + "try", + "type", + "typeof", + "unsafe", + "unsized", + "use", + "virtual", + "where", + "while", + "yield" + ], + literal: ["true", "false", "Some", "None", "Ok", "Err"], + built_in: i2 + }, + illegal: "" + }, t2] + }; + }, + grmr_scss: (e2) => { + const n2 = J(e2), t2 = te, a2 = ne, i2 = "@[a-z-]+", r2 = { + className: "variable", + begin: "(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b", + relevance: 0 + }; + return { + name: "SCSS", + case_insensitive: true, + illegal: "[=/|']", + contains: [e2.C_LINE_COMMENT_MODE, e2.C_BLOCK_COMMENT_MODE, n2.CSS_NUMBER_MODE, { + className: "selector-id", + begin: "#[A-Za-z0-9_-]+", + relevance: 0 + }, { + className: "selector-class", + begin: "\\.[A-Za-z0-9_-]+", + relevance: 0 + }, n2.ATTRIBUTE_SELECTOR_MODE, { + className: "selector-tag", + begin: "\\b(" + Y.join("|") + ")\\b", + relevance: 0 + }, { + className: "selector-pseudo", + begin: ":(" + a2.join("|") + ")" + }, { + className: "selector-pseudo", + begin: ":(:)?(" + t2.join("|") + ")" + }, r2, { + begin: /\(/, + end: /\)/, + contains: [n2.CSS_NUMBER_MODE] + }, n2.CSS_VARIABLE, { + className: "attribute", + begin: "\\b(" + ae.join("|") + ")\\b" + }, { + begin: "\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b" + }, { + begin: /:/, + end: /[;}{]/, + relevance: 0, + contains: [ + n2.BLOCK_COMMENT, + r2, + n2.HEXCOLOR, + n2.CSS_NUMBER_MODE, + e2.QUOTE_STRING_MODE, + e2.APOS_STRING_MODE, + n2.IMPORTANT, + n2.FUNCTION_DISPATCH + ] + }, { + begin: "@(page|font-face)", + keywords: { + $pattern: i2, + keyword: "@page @font-face" + } + }, { + begin: "@", + end: "[{;]", + returnBegin: true, + keywords: { + $pattern: /[a-z-]+/, + keyword: "and or not only", + attribute: ee.join(" ") + }, + contains: [{ + begin: i2, + className: "keyword" + }, { + begin: /[a-z-]+(?=:)/, + className: "attribute" + }, r2, e2.QUOTE_STRING_MODE, e2.APOS_STRING_MODE, n2.HEXCOLOR, n2.CSS_NUMBER_MODE] + }, n2.FUNCTION_DISPATCH] + }; + }, + grmr_shell: (e2) => ({ + name: "Shell Session", + aliases: ["console", "shellsession"], + contains: [{ + className: "meta.prompt", + begin: /^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/, + starts: { + end: /[^\\](?=\s*$)/, + subLanguage: "bash" + } + }] + }), + grmr_sql: (e2) => { + const n2 = e2.regex, t2 = e2.COMMENT("--", "$"), a2 = ["true", "false", "unknown"], i2 = [ + "bigint", + "binary", + "blob", + "boolean", + "char", + "character", + "clob", + "date", + "dec", + "decfloat", + "decimal", + "float", + "int", + "integer", + "interval", + "nchar", + "nclob", + "national", + "numeric", + "real", + "row", + "smallint", + "time", + "timestamp", + "varchar", + "varying", + "varbinary" + ], r2 = [ + "abs", + "acos", + "array_agg", + "asin", + "atan", + "avg", + "cast", + "ceil", + "ceiling", + "coalesce", + "corr", + "cos", + "cosh", + "count", + "covar_pop", + "covar_samp", + "cume_dist", + "dense_rank", + "deref", + "element", + "exp", + "extract", + "first_value", + "floor", + "json_array", + "json_arrayagg", + "json_exists", + "json_object", + "json_objectagg", + "json_query", + "json_table", + "json_table_primitive", + "json_value", + "lag", + "last_value", + "lead", + "listagg", + "ln", + "log", + "log10", + "lower", + "max", + "min", + "mod", + "nth_value", + "ntile", + "nullif", + "percent_rank", + "percentile_cont", + "percentile_disc", + "position", + "position_regex", + "power", + "rank", + "regr_avgx", + "regr_avgy", + "regr_count", + "regr_intercept", + "regr_r2", + "regr_slope", + "regr_sxx", + "regr_sxy", + "regr_syy", + "row_number", + "sin", + "sinh", + "sqrt", + "stddev_pop", + "stddev_samp", + "substring", + "substring_regex", + "sum", + "tan", + "tanh", + "translate", + "translate_regex", + "treat", + "trim", + "trim_array", + "unnest", + "upper", + "value_of", + "var_pop", + "var_samp", + "width_bucket" + ], s2 = [ + "create table", + "insert into", + "primary key", + "foreign key", + "not null", + "alter table", + "add constraint", + "grouping sets", + "on overflow", + "character set", + "respect nulls", + "ignore nulls", + "nulls first", + "nulls last", + "depth first", + "breadth first" + ], o2 = r2, l2 = [ + "abs", + "acos", + "all", + "allocate", + "alter", + "and", + "any", + "are", + "array", + "array_agg", + "array_max_cardinality", + "as", + "asensitive", + "asin", + "asymmetric", + "at", + "atan", + "atomic", + "authorization", + "avg", + "begin", + "begin_frame", + "begin_partition", + "between", + "bigint", + "binary", + "blob", + "boolean", + "both", + "by", + "call", + "called", + "cardinality", + "cascaded", + "case", + "cast", + "ceil", + "ceiling", + "char", + "char_length", + "character", + "character_length", + "check", + "classifier", + "clob", + "close", + "coalesce", + "collate", + "collect", + "column", + "commit", + "condition", + "connect", + "constraint", + "contains", + "convert", + "copy", + "corr", + "corresponding", + "cos", + "cosh", + "count", + "covar_pop", + "covar_samp", + "create", + "cross", + "cube", + "cume_dist", + "current", + "current_catalog", + "current_date", + "current_default_transform_group", + "current_path", + "current_role", + "current_row", + "current_schema", + "current_time", + "current_timestamp", + "current_path", + "current_role", + "current_transform_group_for_type", + "current_user", + "cursor", + "cycle", + "date", + "day", + "deallocate", + "dec", + "decimal", + "decfloat", + "declare", + "default", + "define", + "delete", + "dense_rank", + "deref", + "describe", + "deterministic", + "disconnect", + "distinct", + "double", + "drop", + "dynamic", + "each", + "element", + "else", + "empty", + "end", + "end_frame", + "end_partition", + "end-exec", + "equals", + "escape", + "every", + "except", + "exec", + "execute", + "exists", + "exp", + "external", + "extract", + "false", + "fetch", + "filter", + "first_value", + "float", + "floor", + "for", + "foreign", + "frame_row", + "free", + "from", + "full", + "function", + "fusion", + "get", + "global", + "grant", + "group", + "grouping", + "groups", + "having", + "hold", + "hour", + "identity", + "in", + "indicator", + "initial", + "inner", + "inout", + "insensitive", + "insert", + "int", + "integer", + "intersect", + "intersection", + "interval", + "into", + "is", + "join", + "json_array", + "json_arrayagg", + "json_exists", + "json_object", + "json_objectagg", + "json_query", + "json_table", + "json_table_primitive", + "json_value", + "lag", + "language", + "large", + "last_value", + "lateral", + "lead", + "leading", + "left", + "like", + "like_regex", + "listagg", + "ln", + "local", + "localtime", + "localtimestamp", + "log", + "log10", + "lower", + "match", + "match_number", + "match_recognize", + "matches", + "max", + "member", + "merge", + "method", + "min", + "minute", + "mod", + "modifies", + "module", + "month", + "multiset", + "national", + "natural", + "nchar", + "nclob", + "new", + "no", + "none", + "normalize", + "not", + "nth_value", + "ntile", + "null", + "nullif", + "numeric", + "octet_length", + "occurrences_regex", + "of", + "offset", + "old", + "omit", + "on", + "one", + "only", + "open", + "or", + "order", + "out", + "outer", + "over", + "overlaps", + "overlay", + "parameter", + "partition", + "pattern", + "per", + "percent", + "percent_rank", + "percentile_cont", + "percentile_disc", + "period", + "portion", + "position", + "position_regex", + "power", + "precedes", + "precision", + "prepare", + "primary", + "procedure", + "ptf", + "range", + "rank", + "reads", + "real", + "recursive", + "ref", + "references", + "referencing", + "regr_avgx", + "regr_avgy", + "regr_count", + "regr_intercept", + "regr_r2", + "regr_slope", + "regr_sxx", + "regr_sxy", + "regr_syy", + "release", + "result", + "return", + "returns", + "revoke", + "right", + "rollback", + "rollup", + "row", + "row_number", + "rows", + "running", + "savepoint", + "scope", + "scroll", + "search", + "second", + "seek", + "select", + "sensitive", + "session_user", + "set", + "show", + "similar", + "sin", + "sinh", + "skip", + "smallint", + "some", + "specific", + "specifictype", + "sql", + "sqlexception", + "sqlstate", + "sqlwarning", + "sqrt", + "start", + "static", + "stddev_pop", + "stddev_samp", + "submultiset", + "subset", + "substring", + "substring_regex", + "succeeds", + "sum", + "symmetric", + "system", + "system_time", + "system_user", + "table", + "tablesample", + "tan", + "tanh", + "then", + "time", + "timestamp", + "timezone_hour", + "timezone_minute", + "to", + "trailing", + "translate", + "translate_regex", + "translation", + "treat", + "trigger", + "trim", + "trim_array", + "true", + "truncate", + "uescape", + "union", + "unique", + "unknown", + "unnest", + "update", + "upper", + "user", + "using", + "value", + "values", + "value_of", + "var_pop", + "var_samp", + "varbinary", + "varchar", + "varying", + "versioning", + "when", + "whenever", + "where", + "width_bucket", + "window", + "with", + "within", + "without", + "year", + "add", + "asc", + "collation", + "desc", + "final", + "first", + "last", + "view" + ].filter((e3) => !r2.includes(e3)), c2 = { + begin: n2.concat(/\b/, n2.either(...o2), /\s*\(/), + relevance: 0, + keywords: { + built_in: o2 + } + }; + return { + name: "SQL", + case_insensitive: true, + illegal: /[{}]|<\//, + keywords: { + $pattern: /\b[\w\.]+/, + keyword: ((e3, { + exceptions: n3, + when: t3 + } = {}) => { + const a3 = t3; + return n3 = n3 || [], e3.map((e4) => e4.match(/\|\d+$/) || n3.includes(e4) ? e4 : a3(e4) ? e4 + "|0" : e4); + })(l2, { + when: (e3) => e3.length < 3 + }), + literal: a2, + type: i2, + built_in: [ + "current_catalog", + "current_date", + "current_default_transform_group", + "current_path", + "current_role", + "current_schema", + "current_transform_group_for_type", + "current_user", + "session_user", + "system_time", + "system_user", + "current_time", + "localtime", + "current_timestamp", + "localtimestamp" + ] + }, + contains: [{ + begin: n2.either(...s2), + relevance: 0, + keywords: { + $pattern: /[\w\.]+/, + keyword: l2.concat(s2), + literal: a2, + type: i2 + } + }, { + className: "type", + begin: n2.either("double precision", "large object", "with timezone", "without timezone") + }, c2, { + className: "variable", + begin: /@[a-z0-9]+/ + }, { + className: "string", + variants: [{ + begin: /'/, + end: /'/, + contains: [{ + begin: /''/ + }] + }] + }, { + begin: /"/, + end: /"/, + contains: [{ + begin: /""/ + }] + }, e2.C_NUMBER_MODE, e2.C_BLOCK_COMMENT_MODE, t2, { + className: "operator", + begin: /[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/, + relevance: 0 + }] + }; + }, + grmr_swift: (e2) => { + const n2 = { + match: /\s+/, + relevance: 0 + }, t2 = e2.COMMENT("/\\*", "\\*/", { + contains: ["self"] + }), a2 = [e2.C_LINE_COMMENT_MODE, t2], i2 = { + match: [/\./, p(...Ee, ...ye)], + className: { + 2: "keyword" + } + }, r2 = { + match: m(/\./, p(...Ne)), + relevance: 0 + }, s2 = Ne.filter((e3) => "string" == typeof e3).concat(["_|0"]), o2 = { + variants: [{ + className: "keyword", + match: p(...Ne.filter((e3) => "string" != typeof e3).concat(we).map(fe), ...ye) + }] + }, l2 = { + $pattern: p(/\b\w+/, /#\w+/), + keyword: s2.concat(ke), + literal: ve + }, c2 = [i2, r2, o2], d2 = [{ + match: m(/\./, p(...xe)), + relevance: 0 + }, { + className: "built_in", + match: m(/\b/, p(...xe), /(?=\()/) + }], u2 = { + match: /->/, + relevance: 0 + }, b2 = [u2, { + className: "operator", + relevance: 0, + variants: [{ + match: Ae + }, { + match: `\\.(\\.|${Se})+` + }] + }], _2 = "([0-9a-fA-F]_*)+", h2 = { + className: "number", + relevance: 0, + variants: [{ + match: "\\b(([0-9]_*)+)(\\.(([0-9]_*)+))?([eE][+-]?(([0-9]_*)+))?\\b" + }, { + match: `\\b0x(${_2})(\\.(${_2}))?([pP][+-]?(([0-9]_*)+))?\\b` + }, { + match: /\b0o([0-7]_*)+\b/ + }, { + match: /\b0b([01]_*)+\b/ + }] + }, f2 = (e3 = "") => ({ + className: "subst", + variants: [{ + match: m(/\\/, e3, /[0\\tnr"']/) + }, { + match: m(/\\/, e3, /u\{[0-9a-fA-F]{1,8}\}/) + }] + }), E2 = (e3 = "") => ({ + className: "subst", + match: m(/\\/, e3, /[\t ]*(?:[\r\n]|\r\n)/) + }), y2 = (e3 = "") => ({ + className: "subst", + label: "interpol", + begin: m(/\\/, e3, /\(/), + end: /\)/ + }), w2 = (e3 = "") => ({ + begin: m(e3, /"""/), + end: m(/"""/, e3), + contains: [f2(e3), E2(e3), y2(e3)] + }), N2 = (e3 = "") => ({ + begin: m(e3, /"/), + end: m(/"/, e3), + contains: [f2(e3), y2(e3)] + }), v2 = { + className: "string", + variants: [w2(), w2("#"), w2("##"), w2("###"), N2(), N2("#"), N2("##"), N2("###")] + }, O2 = { + match: m(/`/, Re, /`/) + }, k2 = [O2, { + className: "variable", + match: /\$\d+/ + }, { + className: "variable", + match: `\\$${Te}+` + }], x2 = [{ + match: /(@|#(un)?)available/, + className: "keyword", + starts: { + contains: [{ + begin: /\(/, + end: /\)/, + keywords: Le, + contains: [...b2, h2, v2] + }] + } + }, { + className: "keyword", + match: m(/@/, p(...Ie)) + }, { + className: "meta", + match: m(/@/, Re) + }], M2 = { + match: g(/\b[A-Z]/), + relevance: 0, + contains: [{ + className: "type", + match: m(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/, Te, "+") + }, { + className: "type", + match: De, + relevance: 0 + }, { + match: /[?!]+/, + relevance: 0 + }, { + match: /\.\.\./, + relevance: 0 + }, { + match: m(/\s+&\s+/, g(De)), + relevance: 0 + }] + }, S2 = { + begin: //, + keywords: l2, + contains: [...a2, ...c2, ...x2, u2, M2] + }; + M2.contains.push(S2); + const A2 = { + begin: /\(/, + end: /\)/, + relevance: 0, + keywords: l2, + contains: ["self", { + match: m(Re, /\s*:/), + keywords: "_|0", + relevance: 0 + }, ...a2, ...c2, ...d2, ...b2, h2, v2, ...k2, ...x2, M2] + }, C2 = { + begin: //, + contains: [...a2, M2] + }, T2 = { + begin: /\(/, + end: /\)/, + keywords: l2, + contains: [{ + begin: p(g(m(Re, /\s*:/)), g(m(Re, /\s+/, Re, /\s*:/))), + end: /:/, + relevance: 0, + contains: [{ + className: "keyword", + match: /\b_\b/ + }, { + className: "params", + match: Re + }] + }, ...a2, ...c2, ...b2, h2, v2, ...x2, M2, A2], + endsParent: true, + illegal: /["']/ + }, R2 = { + match: [/func/, /\s+/, p(O2.match, Re, Ae)], + className: { + 1: "keyword", + 3: "title.function" + }, + contains: [C2, T2, n2], + illegal: [/\[/, /%/] + }, D2 = { + match: [/\b(?:subscript|init[?!]?)/, /\s*(?=[<(])/], + className: { + 1: "keyword" + }, + contains: [C2, T2, n2], + illegal: /\[|%/ + }, I2 = { + match: [/operator/, /\s+/, Ae], + className: { + 1: "keyword", + 3: "title" + } + }, L2 = { + begin: [/precedencegroup/, /\s+/, De], + className: { + 1: "keyword", + 3: "title" + }, + contains: [M2], + keywords: [...Oe, ...ve], + end: /}/ + }; + for (const e3 of v2.variants) { + const n3 = e3.contains.find((e4) => "interpol" === e4.label); + n3.keywords = l2; + const t3 = [...c2, ...d2, ...b2, h2, v2, ...k2]; + n3.contains = [...t3, { + begin: /\(/, + end: /\)/, + contains: ["self", ...t3] + }]; + } + return { + name: "Swift", + keywords: l2, + contains: [...a2, R2, D2, { + beginKeywords: "struct protocol class extension enum actor", + end: "\\{", + excludeEnd: true, + keywords: l2, + contains: [e2.inherit(e2.TITLE_MODE, { + className: "title.class", + begin: /[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/ + }), ...c2] + }, I2, L2, { + beginKeywords: "import", + end: /$/, + contains: [...a2], + relevance: 0 + }, ...c2, ...d2, ...b2, h2, v2, ...k2, ...x2, M2, A2] + }; + }, + grmr_typescript: (e2) => { + const n2 = he(e2), t2 = ["any", "void", "number", "boolean", "string", "object", "never", "symbol", "bigint", "unknown"], a2 = { + beginKeywords: "namespace", + end: /\{/, + excludeEnd: true, + contains: [n2.exports.CLASS_REFERENCE] + }, i2 = { + beginKeywords: "interface", + end: /\{/, + excludeEnd: true, + keywords: { + keyword: "interface extends", + built_in: t2 + }, + contains: [n2.exports.CLASS_REFERENCE] + }, r2 = { + $pattern: ce, + keyword: de.concat([ + "type", + "namespace", + "interface", + "public", + "private", + "protected", + "implements", + "declare", + "abstract", + "readonly", + "enum", + "override" + ]), + literal: ge, + built_in: _e.concat(t2), + "variable.language": pe + }, s2 = { + className: "meta", + begin: "@[A-Za-z$_][0-9A-Za-z$_]*" + }, o2 = (e3, n3, t3) => { + const a3 = e3.contains.findIndex((e4) => e4.label === n3); + if (-1 === a3) + throw Error("can not find mode to replace"); + e3.contains.splice(a3, 1, t3); + }; + return Object.assign(n2.keywords, r2), n2.exports.PARAMS_CONTAINS.push(s2), n2.contains = n2.contains.concat([s2, a2, i2]), o2(n2, "shebang", e2.SHEBANG()), o2(n2, "use_strict", { + className: "meta", + relevance: 10, + begin: /^\s*['"]use strict['"]/ + }), n2.contains.find((e3) => "func.def" === e3.label).relevance = 0, Object.assign(n2, { + name: "TypeScript", + aliases: ["ts", "tsx"] + }), n2; + }, + grmr_vbnet: (e2) => { + const n2 = e2.regex, t2 = /\d{1,2}\/\d{1,2}\/\d{4}/, a2 = /\d{4}-\d{1,2}-\d{1,2}/, i2 = /(\d|1[012])(:\d+){0,2} *(AM|PM)/, r2 = /\d{1,2}(:\d{1,2}){1,2}/, s2 = { + className: "literal", + variants: [{ + begin: n2.concat(/# */, n2.either(a2, t2), / *#/) + }, { + begin: n2.concat(/# */, r2, / *#/) + }, { + begin: n2.concat(/# */, i2, / *#/) + }, { + begin: n2.concat(/# */, n2.either(a2, t2), / +/, n2.either(i2, r2), / *#/) + }] + }, o2 = e2.COMMENT(/'''/, /$/, { + contains: [{ + className: "doctag", + begin: /<\/?/, + end: />/ + }] + }), l2 = e2.COMMENT(null, /$/, { + variants: [{ + begin: /'/ + }, { + begin: /([\t ]|^)REM(?=\s)/ + }] + }); + return { + name: "Visual Basic .NET", + aliases: ["vb"], + case_insensitive: true, + classNameAliases: { + label: "symbol" + }, + keywords: { + keyword: "addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield", + built_in: "addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort", + type: "boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort", + literal: "true false nothing" + }, + illegal: "//|\\{|\\}|endif|gosub|variant|wend|^\\$ ", + contains: [{ + className: "string", + begin: /"(""|[^/n])"C\b/ + }, { + className: "string", + begin: /"/, + end: /"/, + illegal: /\n/, + contains: [{ + begin: /""/ + }] + }, s2, { + className: "number", + relevance: 0, + variants: [{ + begin: /\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/ + }, { + begin: /\b\d[\d_]*((U?[SIL])|[%&])?/ + }, { + begin: /&H[\dA-F_]+((U?[SIL])|[%&])?/ + }, { + begin: /&O[0-7_]+((U?[SIL])|[%&])?/ + }, { + begin: /&B[01_]+((U?[SIL])|[%&])?/ + }] + }, { + className: "label", + begin: /^\w+:/ + }, o2, l2, { + className: "meta", + begin: /[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/, + end: /$/, + keywords: { + keyword: "const disable else elseif enable end externalsource if region then" + }, + contains: [l2] + }] + }; + }, + grmr_wasm: (e2) => { + e2.regex; + const n2 = e2.COMMENT(/\(;/, /;\)/); + return n2.contains.push("self"), { + name: "WebAssembly", + keywords: { + $pattern: /[\w.]+/, + keyword: [ + "anyfunc", + "block", + "br", + "br_if", + "br_table", + "call", + "call_indirect", + "data", + "drop", + "elem", + "else", + "end", + "export", + "func", + "global.get", + "global.set", + "local.get", + "local.set", + "local.tee", + "get_global", + "get_local", + "global", + "if", + "import", + "local", + "loop", + "memory", + "memory.grow", + "memory.size", + "module", + "mut", + "nop", + "offset", + "param", + "result", + "return", + "select", + "set_global", + "set_local", + "start", + "table", + "tee_local", + "then", + "type", + "unreachable" + ] + }, + contains: [e2.COMMENT(/;;/, /$/), n2, { + match: [/(?:offset|align)/, /\s*/, /=/], + className: { + 1: "keyword", + 3: "operator" + } + }, { + className: "variable", + begin: /\$[\w_]+/ + }, { + match: /(\((?!;)|\))+/, + className: "punctuation", + relevance: 0 + }, { + begin: [/(?:func|call|call_indirect)/, /\s+/, /\$[^\s)]+/], + className: { + 1: "keyword", + 3: "title.function" + } + }, e2.QUOTE_STRING_MODE, { + match: /(i32|i64|f32|f64)(?!\.)/, + className: "type" + }, { + className: "keyword", + match: /\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/ + }, { + className: "number", + relevance: 0, + match: /[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/ + }] + }; + }, + grmr_yaml: (e2) => { + const n2 = "true false yes no null", t2 = "[\\w#;/?:@&=+$,.~*'()[\\]]+", a2 = { + className: "string", + relevance: 0, + variants: [{ + begin: /'/, + end: /'/ + }, { + begin: /"/, + end: /"/ + }, { + begin: /\S+/ + }], + contains: [e2.BACKSLASH_ESCAPE, { + className: "template-variable", + variants: [{ + begin: /\{\{/, + end: /\}\}/ + }, { + begin: /%\{/, + end: /\}/ + }] + }] + }, i2 = e2.inherit(a2, { + variants: [{ + begin: /'/, + end: /'/ + }, { + begin: /"/, + end: /"/ + }, { + begin: /[^\s,{}[\]]+/ + }] + }), r2 = { + end: ",", + endsWithParent: true, + excludeEnd: true, + keywords: n2, + relevance: 0 + }, s2 = { + begin: /\{/, + end: /\}/, + contains: [r2], + illegal: "\\n", + relevance: 0 + }, o2 = { + begin: "\\[", + end: "\\]", + contains: [r2], + illegal: "\\n", + relevance: 0 + }, l2 = [{ + className: "attr", + variants: [{ + begin: "\\w[\\w :\\/.-]*:(?=[ ]|$)" + }, { + begin: '"\\w[\\w :\\/.-]*":(?=[ ]|$)' + }, { + begin: "'\\w[\\w :\\/.-]*':(?=[ ]|$)" + }] + }, { + className: "meta", + begin: "^---\\s*$", + relevance: 10 + }, { + className: "string", + begin: "[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*" + }, { + begin: "<%[%=-]?", + end: "[%-]?%>", + subLanguage: "ruby", + excludeBegin: true, + excludeEnd: true, + relevance: 0 + }, { + className: "type", + begin: "!\\w+!" + t2 + }, { + className: "type", + begin: "!<" + t2 + ">" + }, { + className: "type", + begin: "!" + t2 + }, { + className: "type", + begin: "!!" + t2 + }, { + className: "meta", + begin: "&" + e2.UNDERSCORE_IDENT_RE + "$" + }, { + className: "meta", + begin: "\\*" + e2.UNDERSCORE_IDENT_RE + "$" + }, { + className: "bullet", + begin: "-(?=[ ]|$)", + relevance: 0 + }, e2.HASH_COMMENT_MODE, { + beginKeywords: n2, + keywords: { + literal: n2 + } + }, { + className: "number", + begin: "\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b" + }, { + className: "number", + begin: e2.C_NUMBER_RE + "\\b", + relevance: 0 + }, s2, o2, a2], c2 = [...l2]; + return c2.pop(), c2.push(i2), r2.contains = c2, { + name: "YAML", + case_insensitive: true, + aliases: ["yml"], + contains: l2 + }; + } +}); +const $e = V; +for (const e2 of Object.keys(Be)) { + const n2 = e2.replace("grmr_", "").replace("_", "-"); + $e.registerLanguage(n2, Be[e2]); +} +exports.$e = $e; diff --git a/dist/dev/mp-weixin/components/ua-markdown/lib/html-parser.js b/dist/dev/mp-weixin/components/ua-markdown/lib/html-parser.js new file mode 100644 index 0000000..f8ecae0 --- /dev/null +++ b/dist/dev/mp-weixin/components/ua-markdown/lib/html-parser.js @@ -0,0 +1,15 @@ +"use strict"; +makeMap("area,base,basefont,br,col,frame,hr,img,input,link,meta,param,embed,command,keygen,source,track,wbr"); +makeMap("a,address,article,applet,aside,audio,blockquote,button,canvas,center,dd,del,dir,div,dl,dt,fieldset,figcaption,figure,footer,form,frameset,h1,h2,h3,h4,h5,h6,header,hgroup,hr,iframe,isindex,li,map,menu,noframes,noscript,object,ol,output,p,pre,section,script,table,tbody,td,tfoot,th,thead,tr,ul,video"); +makeMap("abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var"); +makeMap("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr"); +makeMap("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected"); +makeMap("script,style"); +function makeMap(str) { + var obj = {}; + var items = str.split(","); + for (var i = 0; i < items.length; i++) { + obj[items[i]] = true; + } + return obj; +} diff --git a/dist/dev/mp-weixin/components/ua-markdown/lib/markdown-it.min.js b/dist/dev/mp-weixin/components/ua-markdown/lib/markdown-it.min.js new file mode 100644 index 0000000..5cfdcc3 --- /dev/null +++ b/dist/dev/mp-weixin/components/ua-markdown/lib/markdown-it.min.js @@ -0,0 +1,1591 @@ +"use strict"; +function e(e2) { + if (e2.__esModule) + return e2; + var r2 = Object.defineProperty({}, "__esModule", { value: true }); + return Object.keys(e2).forEach(function(t2) { + var n2 = Object.getOwnPropertyDescriptor(e2, t2); + Object.defineProperty(r2, t2, n2.get ? n2 : { enumerable: true, get: function() { + return e2[t2]; + } }); + }), r2; +} +var r = {}, t = { Aacute: "\xC1", aacute: "\xE1", Abreve: "\u0102", abreve: "\u0103", ac: "\u223E", acd: "\u223F", acE: "\u223E\u0333", Acirc: "\xC2", acirc: "\xE2", acute: "\xB4", Acy: "\u0410", acy: "\u0430", AElig: "\xC6", aelig: "\xE6", af: "\u2061", Afr: "\u{1D504}", afr: "\u{1D51E}", Agrave: "\xC0", agrave: "\xE0", alefsym: "\u2135", aleph: "\u2135", Alpha: "\u0391", alpha: "\u03B1", Amacr: "\u0100", amacr: "\u0101", amalg: "\u2A3F", amp: "&", AMP: "&", andand: "\u2A55", And: "\u2A53", and: "\u2227", andd: "\u2A5C", andslope: "\u2A58", andv: "\u2A5A", ang: "\u2220", ange: "\u29A4", angle: "\u2220", angmsdaa: "\u29A8", angmsdab: "\u29A9", angmsdac: "\u29AA", angmsdad: "\u29AB", angmsdae: "\u29AC", angmsdaf: "\u29AD", angmsdag: "\u29AE", angmsdah: "\u29AF", angmsd: "\u2221", angrt: "\u221F", angrtvb: "\u22BE", angrtvbd: "\u299D", angsph: "\u2222", angst: "\xC5", angzarr: "\u237C", Aogon: "\u0104", aogon: "\u0105", Aopf: "\u{1D538}", aopf: "\u{1D552}", apacir: "\u2A6F", ap: "\u2248", apE: "\u2A70", ape: "\u224A", apid: "\u224B", apos: "'", ApplyFunction: "\u2061", approx: "\u2248", approxeq: "\u224A", Aring: "\xC5", aring: "\xE5", Ascr: "\u{1D49C}", ascr: "\u{1D4B6}", Assign: "\u2254", ast: "*", asymp: "\u2248", asympeq: "\u224D", Atilde: "\xC3", atilde: "\xE3", Auml: "\xC4", auml: "\xE4", awconint: "\u2233", awint: "\u2A11", backcong: "\u224C", backepsilon: "\u03F6", backprime: "\u2035", backsim: "\u223D", backsimeq: "\u22CD", Backslash: "\u2216", Barv: "\u2AE7", barvee: "\u22BD", barwed: "\u2305", Barwed: "\u2306", barwedge: "\u2305", bbrk: "\u23B5", bbrktbrk: "\u23B6", bcong: "\u224C", Bcy: "\u0411", bcy: "\u0431", bdquo: "\u201E", becaus: "\u2235", because: "\u2235", Because: "\u2235", bemptyv: "\u29B0", bepsi: "\u03F6", bernou: "\u212C", Bernoullis: "\u212C", Beta: "\u0392", beta: "\u03B2", beth: "\u2136", between: "\u226C", Bfr: "\u{1D505}", bfr: "\u{1D51F}", bigcap: "\u22C2", bigcirc: "\u25EF", bigcup: "\u22C3", bigodot: "\u2A00", bigoplus: "\u2A01", bigotimes: "\u2A02", bigsqcup: "\u2A06", bigstar: "\u2605", bigtriangledown: "\u25BD", bigtriangleup: "\u25B3", biguplus: "\u2A04", bigvee: "\u22C1", bigwedge: "\u22C0", bkarow: "\u290D", blacklozenge: "\u29EB", blacksquare: "\u25AA", blacktriangle: "\u25B4", blacktriangledown: "\u25BE", blacktriangleleft: "\u25C2", blacktriangleright: "\u25B8", blank: "\u2423", blk12: "\u2592", blk14: "\u2591", blk34: "\u2593", block: "\u2588", bne: "=\u20E5", bnequiv: "\u2261\u20E5", bNot: "\u2AED", bnot: "\u2310", Bopf: "\u{1D539}", bopf: "\u{1D553}", bot: "\u22A5", bottom: "\u22A5", bowtie: "\u22C8", boxbox: "\u29C9", boxdl: "\u2510", boxdL: "\u2555", boxDl: "\u2556", boxDL: "\u2557", boxdr: "\u250C", boxdR: "\u2552", boxDr: "\u2553", boxDR: "\u2554", boxh: "\u2500", boxH: "\u2550", boxhd: "\u252C", boxHd: "\u2564", boxhD: "\u2565", boxHD: "\u2566", boxhu: "\u2534", boxHu: "\u2567", boxhU: "\u2568", boxHU: "\u2569", boxminus: "\u229F", boxplus: "\u229E", boxtimes: "\u22A0", boxul: "\u2518", boxuL: "\u255B", boxUl: "\u255C", boxUL: "\u255D", boxur: "\u2514", boxuR: "\u2558", boxUr: "\u2559", boxUR: "\u255A", boxv: "\u2502", boxV: "\u2551", boxvh: "\u253C", boxvH: "\u256A", boxVh: "\u256B", boxVH: "\u256C", boxvl: "\u2524", boxvL: "\u2561", boxVl: "\u2562", boxVL: "\u2563", boxvr: "\u251C", boxvR: "\u255E", boxVr: "\u255F", boxVR: "\u2560", bprime: "\u2035", breve: "\u02D8", Breve: "\u02D8", brvbar: "\xA6", bscr: "\u{1D4B7}", Bscr: "\u212C", bsemi: "\u204F", bsim: "\u223D", bsime: "\u22CD", bsolb: "\u29C5", bsol: "\\", bsolhsub: "\u27C8", bull: "\u2022", bullet: "\u2022", bump: "\u224E", bumpE: "\u2AAE", bumpe: "\u224F", Bumpeq: "\u224E", bumpeq: "\u224F", Cacute: "\u0106", cacute: "\u0107", capand: "\u2A44", capbrcup: "\u2A49", capcap: "\u2A4B", cap: "\u2229", Cap: "\u22D2", capcup: "\u2A47", capdot: "\u2A40", CapitalDifferentialD: "\u2145", caps: "\u2229\uFE00", caret: "\u2041", caron: "\u02C7", Cayleys: "\u212D", ccaps: "\u2A4D", Ccaron: "\u010C", ccaron: "\u010D", Ccedil: "\xC7", ccedil: "\xE7", Ccirc: "\u0108", ccirc: "\u0109", Cconint: "\u2230", ccups: "\u2A4C", ccupssm: "\u2A50", Cdot: "\u010A", cdot: "\u010B", cedil: "\xB8", Cedilla: "\xB8", cemptyv: "\u29B2", cent: "\xA2", centerdot: "\xB7", CenterDot: "\xB7", cfr: "\u{1D520}", Cfr: "\u212D", CHcy: "\u0427", chcy: "\u0447", check: "\u2713", checkmark: "\u2713", Chi: "\u03A7", chi: "\u03C7", circ: "\u02C6", circeq: "\u2257", circlearrowleft: "\u21BA", circlearrowright: "\u21BB", circledast: "\u229B", circledcirc: "\u229A", circleddash: "\u229D", CircleDot: "\u2299", circledR: "\xAE", circledS: "\u24C8", CircleMinus: "\u2296", CirclePlus: "\u2295", CircleTimes: "\u2297", cir: "\u25CB", cirE: "\u29C3", cire: "\u2257", cirfnint: "\u2A10", cirmid: "\u2AEF", cirscir: "\u29C2", ClockwiseContourIntegral: "\u2232", CloseCurlyDoubleQuote: "\u201D", CloseCurlyQuote: "\u2019", clubs: "\u2663", clubsuit: "\u2663", colon: ":", Colon: "\u2237", Colone: "\u2A74", colone: "\u2254", coloneq: "\u2254", comma: ",", commat: "@", comp: "\u2201", compfn: "\u2218", complement: "\u2201", complexes: "\u2102", cong: "\u2245", congdot: "\u2A6D", Congruent: "\u2261", conint: "\u222E", Conint: "\u222F", ContourIntegral: "\u222E", copf: "\u{1D554}", Copf: "\u2102", coprod: "\u2210", Coproduct: "\u2210", copy: "\xA9", COPY: "\xA9", copysr: "\u2117", CounterClockwiseContourIntegral: "\u2233", crarr: "\u21B5", cross: "\u2717", Cross: "\u2A2F", Cscr: "\u{1D49E}", cscr: "\u{1D4B8}", csub: "\u2ACF", csube: "\u2AD1", csup: "\u2AD0", csupe: "\u2AD2", ctdot: "\u22EF", cudarrl: "\u2938", cudarrr: "\u2935", cuepr: "\u22DE", cuesc: "\u22DF", cularr: "\u21B6", cularrp: "\u293D", cupbrcap: "\u2A48", cupcap: "\u2A46", CupCap: "\u224D", cup: "\u222A", Cup: "\u22D3", cupcup: "\u2A4A", cupdot: "\u228D", cupor: "\u2A45", cups: "\u222A\uFE00", curarr: "\u21B7", curarrm: "\u293C", curlyeqprec: "\u22DE", curlyeqsucc: "\u22DF", curlyvee: "\u22CE", curlywedge: "\u22CF", curren: "\xA4", curvearrowleft: "\u21B6", curvearrowright: "\u21B7", cuvee: "\u22CE", cuwed: "\u22CF", cwconint: "\u2232", cwint: "\u2231", cylcty: "\u232D", dagger: "\u2020", Dagger: "\u2021", daleth: "\u2138", darr: "\u2193", Darr: "\u21A1", dArr: "\u21D3", dash: "\u2010", Dashv: "\u2AE4", dashv: "\u22A3", dbkarow: "\u290F", dblac: "\u02DD", Dcaron: "\u010E", dcaron: "\u010F", Dcy: "\u0414", dcy: "\u0434", ddagger: "\u2021", ddarr: "\u21CA", DD: "\u2145", dd: "\u2146", DDotrahd: "\u2911", ddotseq: "\u2A77", deg: "\xB0", Del: "\u2207", Delta: "\u0394", delta: "\u03B4", demptyv: "\u29B1", dfisht: "\u297F", Dfr: "\u{1D507}", dfr: "\u{1D521}", dHar: "\u2965", dharl: "\u21C3", dharr: "\u21C2", DiacriticalAcute: "\xB4", DiacriticalDot: "\u02D9", DiacriticalDoubleAcute: "\u02DD", DiacriticalGrave: "`", DiacriticalTilde: "\u02DC", diam: "\u22C4", diamond: "\u22C4", Diamond: "\u22C4", diamondsuit: "\u2666", diams: "\u2666", die: "\xA8", DifferentialD: "\u2146", digamma: "\u03DD", disin: "\u22F2", div: "\xF7", divide: "\xF7", divideontimes: "\u22C7", divonx: "\u22C7", DJcy: "\u0402", djcy: "\u0452", dlcorn: "\u231E", dlcrop: "\u230D", dollar: "$", Dopf: "\u{1D53B}", dopf: "\u{1D555}", Dot: "\xA8", dot: "\u02D9", DotDot: "\u20DC", doteq: "\u2250", doteqdot: "\u2251", DotEqual: "\u2250", dotminus: "\u2238", dotplus: "\u2214", dotsquare: "\u22A1", doublebarwedge: "\u2306", DoubleContourIntegral: "\u222F", DoubleDot: "\xA8", DoubleDownArrow: "\u21D3", DoubleLeftArrow: "\u21D0", DoubleLeftRightArrow: "\u21D4", DoubleLeftTee: "\u2AE4", DoubleLongLeftArrow: "\u27F8", DoubleLongLeftRightArrow: "\u27FA", DoubleLongRightArrow: "\u27F9", DoubleRightArrow: "\u21D2", DoubleRightTee: "\u22A8", DoubleUpArrow: "\u21D1", DoubleUpDownArrow: "\u21D5", DoubleVerticalBar: "\u2225", DownArrowBar: "\u2913", downarrow: "\u2193", DownArrow: "\u2193", Downarrow: "\u21D3", DownArrowUpArrow: "\u21F5", DownBreve: "\u0311", downdownarrows: "\u21CA", downharpoonleft: "\u21C3", downharpoonright: "\u21C2", DownLeftRightVector: "\u2950", DownLeftTeeVector: "\u295E", DownLeftVectorBar: "\u2956", DownLeftVector: "\u21BD", DownRightTeeVector: "\u295F", DownRightVectorBar: "\u2957", DownRightVector: "\u21C1", DownTeeArrow: "\u21A7", DownTee: "\u22A4", drbkarow: "\u2910", drcorn: "\u231F", drcrop: "\u230C", Dscr: "\u{1D49F}", dscr: "\u{1D4B9}", DScy: "\u0405", dscy: "\u0455", dsol: "\u29F6", Dstrok: "\u0110", dstrok: "\u0111", dtdot: "\u22F1", dtri: "\u25BF", dtrif: "\u25BE", duarr: "\u21F5", duhar: "\u296F", dwangle: "\u29A6", DZcy: "\u040F", dzcy: "\u045F", dzigrarr: "\u27FF", Eacute: "\xC9", eacute: "\xE9", easter: "\u2A6E", Ecaron: "\u011A", ecaron: "\u011B", Ecirc: "\xCA", ecirc: "\xEA", ecir: "\u2256", ecolon: "\u2255", Ecy: "\u042D", ecy: "\u044D", eDDot: "\u2A77", Edot: "\u0116", edot: "\u0117", eDot: "\u2251", ee: "\u2147", efDot: "\u2252", Efr: "\u{1D508}", efr: "\u{1D522}", eg: "\u2A9A", Egrave: "\xC8", egrave: "\xE8", egs: "\u2A96", egsdot: "\u2A98", el: "\u2A99", Element: "\u2208", elinters: "\u23E7", ell: "\u2113", els: "\u2A95", elsdot: "\u2A97", Emacr: "\u0112", emacr: "\u0113", empty: "\u2205", emptyset: "\u2205", EmptySmallSquare: "\u25FB", emptyv: "\u2205", EmptyVerySmallSquare: "\u25AB", emsp13: "\u2004", emsp14: "\u2005", emsp: "\u2003", ENG: "\u014A", eng: "\u014B", ensp: "\u2002", Eogon: "\u0118", eogon: "\u0119", Eopf: "\u{1D53C}", eopf: "\u{1D556}", epar: "\u22D5", eparsl: "\u29E3", eplus: "\u2A71", epsi: "\u03B5", Epsilon: "\u0395", epsilon: "\u03B5", epsiv: "\u03F5", eqcirc: "\u2256", eqcolon: "\u2255", eqsim: "\u2242", eqslantgtr: "\u2A96", eqslantless: "\u2A95", Equal: "\u2A75", equals: "=", EqualTilde: "\u2242", equest: "\u225F", Equilibrium: "\u21CC", equiv: "\u2261", equivDD: "\u2A78", eqvparsl: "\u29E5", erarr: "\u2971", erDot: "\u2253", escr: "\u212F", Escr: "\u2130", esdot: "\u2250", Esim: "\u2A73", esim: "\u2242", Eta: "\u0397", eta: "\u03B7", ETH: "\xD0", eth: "\xF0", Euml: "\xCB", euml: "\xEB", euro: "\u20AC", excl: "!", exist: "\u2203", Exists: "\u2203", expectation: "\u2130", exponentiale: "\u2147", ExponentialE: "\u2147", fallingdotseq: "\u2252", Fcy: "\u0424", fcy: "\u0444", female: "\u2640", ffilig: "\uFB03", fflig: "\uFB00", ffllig: "\uFB04", Ffr: "\u{1D509}", ffr: "\u{1D523}", filig: "\uFB01", FilledSmallSquare: "\u25FC", FilledVerySmallSquare: "\u25AA", fjlig: "fj", flat: "\u266D", fllig: "\uFB02", fltns: "\u25B1", fnof: "\u0192", Fopf: "\u{1D53D}", fopf: "\u{1D557}", forall: "\u2200", ForAll: "\u2200", fork: "\u22D4", forkv: "\u2AD9", Fouriertrf: "\u2131", fpartint: "\u2A0D", frac12: "\xBD", frac13: "\u2153", frac14: "\xBC", frac15: "\u2155", frac16: "\u2159", frac18: "\u215B", frac23: "\u2154", frac25: "\u2156", frac34: "\xBE", frac35: "\u2157", frac38: "\u215C", frac45: "\u2158", frac56: "\u215A", frac58: "\u215D", frac78: "\u215E", frasl: "\u2044", frown: "\u2322", fscr: "\u{1D4BB}", Fscr: "\u2131", gacute: "\u01F5", Gamma: "\u0393", gamma: "\u03B3", Gammad: "\u03DC", gammad: "\u03DD", gap: "\u2A86", Gbreve: "\u011E", gbreve: "\u011F", Gcedil: "\u0122", Gcirc: "\u011C", gcirc: "\u011D", Gcy: "\u0413", gcy: "\u0433", Gdot: "\u0120", gdot: "\u0121", ge: "\u2265", gE: "\u2267", gEl: "\u2A8C", gel: "\u22DB", geq: "\u2265", geqq: "\u2267", geqslant: "\u2A7E", gescc: "\u2AA9", ges: "\u2A7E", gesdot: "\u2A80", gesdoto: "\u2A82", gesdotol: "\u2A84", gesl: "\u22DB\uFE00", gesles: "\u2A94", Gfr: "\u{1D50A}", gfr: "\u{1D524}", gg: "\u226B", Gg: "\u22D9", ggg: "\u22D9", gimel: "\u2137", GJcy: "\u0403", gjcy: "\u0453", gla: "\u2AA5", gl: "\u2277", glE: "\u2A92", glj: "\u2AA4", gnap: "\u2A8A", gnapprox: "\u2A8A", gne: "\u2A88", gnE: "\u2269", gneq: "\u2A88", gneqq: "\u2269", gnsim: "\u22E7", Gopf: "\u{1D53E}", gopf: "\u{1D558}", grave: "`", GreaterEqual: "\u2265", GreaterEqualLess: "\u22DB", GreaterFullEqual: "\u2267", GreaterGreater: "\u2AA2", GreaterLess: "\u2277", GreaterSlantEqual: "\u2A7E", GreaterTilde: "\u2273", Gscr: "\u{1D4A2}", gscr: "\u210A", gsim: "\u2273", gsime: "\u2A8E", gsiml: "\u2A90", gtcc: "\u2AA7", gtcir: "\u2A7A", gt: ">", GT: ">", Gt: "\u226B", gtdot: "\u22D7", gtlPar: "\u2995", gtquest: "\u2A7C", gtrapprox: "\u2A86", gtrarr: "\u2978", gtrdot: "\u22D7", gtreqless: "\u22DB", gtreqqless: "\u2A8C", gtrless: "\u2277", gtrsim: "\u2273", gvertneqq: "\u2269\uFE00", gvnE: "\u2269\uFE00", Hacek: "\u02C7", hairsp: "\u200A", half: "\xBD", hamilt: "\u210B", HARDcy: "\u042A", hardcy: "\u044A", harrcir: "\u2948", harr: "\u2194", hArr: "\u21D4", harrw: "\u21AD", Hat: "^", hbar: "\u210F", Hcirc: "\u0124", hcirc: "\u0125", hearts: "\u2665", heartsuit: "\u2665", hellip: "\u2026", hercon: "\u22B9", hfr: "\u{1D525}", Hfr: "\u210C", HilbertSpace: "\u210B", hksearow: "\u2925", hkswarow: "\u2926", hoarr: "\u21FF", homtht: "\u223B", hookleftarrow: "\u21A9", hookrightarrow: "\u21AA", hopf: "\u{1D559}", Hopf: "\u210D", horbar: "\u2015", HorizontalLine: "\u2500", hscr: "\u{1D4BD}", Hscr: "\u210B", hslash: "\u210F", Hstrok: "\u0126", hstrok: "\u0127", HumpDownHump: "\u224E", HumpEqual: "\u224F", hybull: "\u2043", hyphen: "\u2010", Iacute: "\xCD", iacute: "\xED", ic: "\u2063", Icirc: "\xCE", icirc: "\xEE", Icy: "\u0418", icy: "\u0438", Idot: "\u0130", IEcy: "\u0415", iecy: "\u0435", iexcl: "\xA1", iff: "\u21D4", ifr: "\u{1D526}", Ifr: "\u2111", Igrave: "\xCC", igrave: "\xEC", ii: "\u2148", iiiint: "\u2A0C", iiint: "\u222D", iinfin: "\u29DC", iiota: "\u2129", IJlig: "\u0132", ijlig: "\u0133", Imacr: "\u012A", imacr: "\u012B", image: "\u2111", ImaginaryI: "\u2148", imagline: "\u2110", imagpart: "\u2111", imath: "\u0131", Im: "\u2111", imof: "\u22B7", imped: "\u01B5", Implies: "\u21D2", incare: "\u2105", in: "\u2208", infin: "\u221E", infintie: "\u29DD", inodot: "\u0131", intcal: "\u22BA", int: "\u222B", Int: "\u222C", integers: "\u2124", Integral: "\u222B", intercal: "\u22BA", Intersection: "\u22C2", intlarhk: "\u2A17", intprod: "\u2A3C", InvisibleComma: "\u2063", InvisibleTimes: "\u2062", IOcy: "\u0401", iocy: "\u0451", Iogon: "\u012E", iogon: "\u012F", Iopf: "\u{1D540}", iopf: "\u{1D55A}", Iota: "\u0399", iota: "\u03B9", iprod: "\u2A3C", iquest: "\xBF", iscr: "\u{1D4BE}", Iscr: "\u2110", isin: "\u2208", isindot: "\u22F5", isinE: "\u22F9", isins: "\u22F4", isinsv: "\u22F3", isinv: "\u2208", it: "\u2062", Itilde: "\u0128", itilde: "\u0129", Iukcy: "\u0406", iukcy: "\u0456", Iuml: "\xCF", iuml: "\xEF", Jcirc: "\u0134", jcirc: "\u0135", Jcy: "\u0419", jcy: "\u0439", Jfr: "\u{1D50D}", jfr: "\u{1D527}", jmath: "\u0237", Jopf: "\u{1D541}", jopf: "\u{1D55B}", Jscr: "\u{1D4A5}", jscr: "\u{1D4BF}", Jsercy: "\u0408", jsercy: "\u0458", Jukcy: "\u0404", jukcy: "\u0454", Kappa: "\u039A", kappa: "\u03BA", kappav: "\u03F0", Kcedil: "\u0136", kcedil: "\u0137", Kcy: "\u041A", kcy: "\u043A", Kfr: "\u{1D50E}", kfr: "\u{1D528}", kgreen: "\u0138", KHcy: "\u0425", khcy: "\u0445", KJcy: "\u040C", kjcy: "\u045C", Kopf: "\u{1D542}", kopf: "\u{1D55C}", Kscr: "\u{1D4A6}", kscr: "\u{1D4C0}", lAarr: "\u21DA", Lacute: "\u0139", lacute: "\u013A", laemptyv: "\u29B4", lagran: "\u2112", Lambda: "\u039B", lambda: "\u03BB", lang: "\u27E8", Lang: "\u27EA", langd: "\u2991", langle: "\u27E8", lap: "\u2A85", Laplacetrf: "\u2112", laquo: "\xAB", larrb: "\u21E4", larrbfs: "\u291F", larr: "\u2190", Larr: "\u219E", lArr: "\u21D0", larrfs: "\u291D", larrhk: "\u21A9", larrlp: "\u21AB", larrpl: "\u2939", larrsim: "\u2973", larrtl: "\u21A2", latail: "\u2919", lAtail: "\u291B", lat: "\u2AAB", late: "\u2AAD", lates: "\u2AAD\uFE00", lbarr: "\u290C", lBarr: "\u290E", lbbrk: "\u2772", lbrace: "{", lbrack: "[", lbrke: "\u298B", lbrksld: "\u298F", lbrkslu: "\u298D", Lcaron: "\u013D", lcaron: "\u013E", Lcedil: "\u013B", lcedil: "\u013C", lceil: "\u2308", lcub: "{", Lcy: "\u041B", lcy: "\u043B", ldca: "\u2936", ldquo: "\u201C", ldquor: "\u201E", ldrdhar: "\u2967", ldrushar: "\u294B", ldsh: "\u21B2", le: "\u2264", lE: "\u2266", LeftAngleBracket: "\u27E8", LeftArrowBar: "\u21E4", leftarrow: "\u2190", LeftArrow: "\u2190", Leftarrow: "\u21D0", LeftArrowRightArrow: "\u21C6", leftarrowtail: "\u21A2", LeftCeiling: "\u2308", LeftDoubleBracket: "\u27E6", LeftDownTeeVector: "\u2961", LeftDownVectorBar: "\u2959", LeftDownVector: "\u21C3", LeftFloor: "\u230A", leftharpoondown: "\u21BD", leftharpoonup: "\u21BC", leftleftarrows: "\u21C7", leftrightarrow: "\u2194", LeftRightArrow: "\u2194", Leftrightarrow: "\u21D4", leftrightarrows: "\u21C6", leftrightharpoons: "\u21CB", leftrightsquigarrow: "\u21AD", LeftRightVector: "\u294E", LeftTeeArrow: "\u21A4", LeftTee: "\u22A3", LeftTeeVector: "\u295A", leftthreetimes: "\u22CB", LeftTriangleBar: "\u29CF", LeftTriangle: "\u22B2", LeftTriangleEqual: "\u22B4", LeftUpDownVector: "\u2951", LeftUpTeeVector: "\u2960", LeftUpVectorBar: "\u2958", LeftUpVector: "\u21BF", LeftVectorBar: "\u2952", LeftVector: "\u21BC", lEg: "\u2A8B", leg: "\u22DA", leq: "\u2264", leqq: "\u2266", leqslant: "\u2A7D", lescc: "\u2AA8", les: "\u2A7D", lesdot: "\u2A7F", lesdoto: "\u2A81", lesdotor: "\u2A83", lesg: "\u22DA\uFE00", lesges: "\u2A93", lessapprox: "\u2A85", lessdot: "\u22D6", lesseqgtr: "\u22DA", lesseqqgtr: "\u2A8B", LessEqualGreater: "\u22DA", LessFullEqual: "\u2266", LessGreater: "\u2276", lessgtr: "\u2276", LessLess: "\u2AA1", lesssim: "\u2272", LessSlantEqual: "\u2A7D", LessTilde: "\u2272", lfisht: "\u297C", lfloor: "\u230A", Lfr: "\u{1D50F}", lfr: "\u{1D529}", lg: "\u2276", lgE: "\u2A91", lHar: "\u2962", lhard: "\u21BD", lharu: "\u21BC", lharul: "\u296A", lhblk: "\u2584", LJcy: "\u0409", ljcy: "\u0459", llarr: "\u21C7", ll: "\u226A", Ll: "\u22D8", llcorner: "\u231E", Lleftarrow: "\u21DA", llhard: "\u296B", lltri: "\u25FA", Lmidot: "\u013F", lmidot: "\u0140", lmoustache: "\u23B0", lmoust: "\u23B0", lnap: "\u2A89", lnapprox: "\u2A89", lne: "\u2A87", lnE: "\u2268", lneq: "\u2A87", lneqq: "\u2268", lnsim: "\u22E6", loang: "\u27EC", loarr: "\u21FD", lobrk: "\u27E6", longleftarrow: "\u27F5", LongLeftArrow: "\u27F5", Longleftarrow: "\u27F8", longleftrightarrow: "\u27F7", LongLeftRightArrow: "\u27F7", Longleftrightarrow: "\u27FA", longmapsto: "\u27FC", longrightarrow: "\u27F6", LongRightArrow: "\u27F6", Longrightarrow: "\u27F9", looparrowleft: "\u21AB", looparrowright: "\u21AC", lopar: "\u2985", Lopf: "\u{1D543}", lopf: "\u{1D55D}", loplus: "\u2A2D", lotimes: "\u2A34", lowast: "\u2217", lowbar: "_", LowerLeftArrow: "\u2199", LowerRightArrow: "\u2198", loz: "\u25CA", lozenge: "\u25CA", lozf: "\u29EB", lpar: "(", lparlt: "\u2993", lrarr: "\u21C6", lrcorner: "\u231F", lrhar: "\u21CB", lrhard: "\u296D", lrm: "\u200E", lrtri: "\u22BF", lsaquo: "\u2039", lscr: "\u{1D4C1}", Lscr: "\u2112", lsh: "\u21B0", Lsh: "\u21B0", lsim: "\u2272", lsime: "\u2A8D", lsimg: "\u2A8F", lsqb: "[", lsquo: "\u2018", lsquor: "\u201A", Lstrok: "\u0141", lstrok: "\u0142", ltcc: "\u2AA6", ltcir: "\u2A79", lt: "<", LT: "<", Lt: "\u226A", ltdot: "\u22D6", lthree: "\u22CB", ltimes: "\u22C9", ltlarr: "\u2976", ltquest: "\u2A7B", ltri: "\u25C3", ltrie: "\u22B4", ltrif: "\u25C2", ltrPar: "\u2996", lurdshar: "\u294A", luruhar: "\u2966", lvertneqq: "\u2268\uFE00", lvnE: "\u2268\uFE00", macr: "\xAF", male: "\u2642", malt: "\u2720", maltese: "\u2720", Map: "\u2905", map: "\u21A6", mapsto: "\u21A6", mapstodown: "\u21A7", mapstoleft: "\u21A4", mapstoup: "\u21A5", marker: "\u25AE", mcomma: "\u2A29", Mcy: "\u041C", mcy: "\u043C", mdash: "\u2014", mDDot: "\u223A", measuredangle: "\u2221", MediumSpace: "\u205F", Mellintrf: "\u2133", Mfr: "\u{1D510}", mfr: "\u{1D52A}", mho: "\u2127", micro: "\xB5", midast: "*", midcir: "\u2AF0", mid: "\u2223", middot: "\xB7", minusb: "\u229F", minus: "\u2212", minusd: "\u2238", minusdu: "\u2A2A", MinusPlus: "\u2213", mlcp: "\u2ADB", mldr: "\u2026", mnplus: "\u2213", models: "\u22A7", Mopf: "\u{1D544}", mopf: "\u{1D55E}", mp: "\u2213", mscr: "\u{1D4C2}", Mscr: "\u2133", mstpos: "\u223E", Mu: "\u039C", mu: "\u03BC", multimap: "\u22B8", mumap: "\u22B8", nabla: "\u2207", Nacute: "\u0143", nacute: "\u0144", nang: "\u2220\u20D2", nap: "\u2249", napE: "\u2A70\u0338", napid: "\u224B\u0338", napos: "\u0149", napprox: "\u2249", natural: "\u266E", naturals: "\u2115", natur: "\u266E", nbsp: "\xA0", nbump: "\u224E\u0338", nbumpe: "\u224F\u0338", ncap: "\u2A43", Ncaron: "\u0147", ncaron: "\u0148", Ncedil: "\u0145", ncedil: "\u0146", ncong: "\u2247", ncongdot: "\u2A6D\u0338", ncup: "\u2A42", Ncy: "\u041D", ncy: "\u043D", ndash: "\u2013", nearhk: "\u2924", nearr: "\u2197", neArr: "\u21D7", nearrow: "\u2197", ne: "\u2260", nedot: "\u2250\u0338", NegativeMediumSpace: "\u200B", NegativeThickSpace: "\u200B", NegativeThinSpace: "\u200B", NegativeVeryThinSpace: "\u200B", nequiv: "\u2262", nesear: "\u2928", nesim: "\u2242\u0338", NestedGreaterGreater: "\u226B", NestedLessLess: "\u226A", NewLine: "\n", nexist: "\u2204", nexists: "\u2204", Nfr: "\u{1D511}", nfr: "\u{1D52B}", ngE: "\u2267\u0338", nge: "\u2271", ngeq: "\u2271", ngeqq: "\u2267\u0338", ngeqslant: "\u2A7E\u0338", nges: "\u2A7E\u0338", nGg: "\u22D9\u0338", ngsim: "\u2275", nGt: "\u226B\u20D2", ngt: "\u226F", ngtr: "\u226F", nGtv: "\u226B\u0338", nharr: "\u21AE", nhArr: "\u21CE", nhpar: "\u2AF2", ni: "\u220B", nis: "\u22FC", nisd: "\u22FA", niv: "\u220B", NJcy: "\u040A", njcy: "\u045A", nlarr: "\u219A", nlArr: "\u21CD", nldr: "\u2025", nlE: "\u2266\u0338", nle: "\u2270", nleftarrow: "\u219A", nLeftarrow: "\u21CD", nleftrightarrow: "\u21AE", nLeftrightarrow: "\u21CE", nleq: "\u2270", nleqq: "\u2266\u0338", nleqslant: "\u2A7D\u0338", nles: "\u2A7D\u0338", nless: "\u226E", nLl: "\u22D8\u0338", nlsim: "\u2274", nLt: "\u226A\u20D2", nlt: "\u226E", nltri: "\u22EA", nltrie: "\u22EC", nLtv: "\u226A\u0338", nmid: "\u2224", NoBreak: "\u2060", NonBreakingSpace: "\xA0", nopf: "\u{1D55F}", Nopf: "\u2115", Not: "\u2AEC", not: "\xAC", NotCongruent: "\u2262", NotCupCap: "\u226D", NotDoubleVerticalBar: "\u2226", NotElement: "\u2209", NotEqual: "\u2260", NotEqualTilde: "\u2242\u0338", NotExists: "\u2204", NotGreater: "\u226F", NotGreaterEqual: "\u2271", NotGreaterFullEqual: "\u2267\u0338", NotGreaterGreater: "\u226B\u0338", NotGreaterLess: "\u2279", NotGreaterSlantEqual: "\u2A7E\u0338", NotGreaterTilde: "\u2275", NotHumpDownHump: "\u224E\u0338", NotHumpEqual: "\u224F\u0338", notin: "\u2209", notindot: "\u22F5\u0338", notinE: "\u22F9\u0338", notinva: "\u2209", notinvb: "\u22F7", notinvc: "\u22F6", NotLeftTriangleBar: "\u29CF\u0338", NotLeftTriangle: "\u22EA", NotLeftTriangleEqual: "\u22EC", NotLess: "\u226E", NotLessEqual: "\u2270", NotLessGreater: "\u2278", NotLessLess: "\u226A\u0338", NotLessSlantEqual: "\u2A7D\u0338", NotLessTilde: "\u2274", NotNestedGreaterGreater: "\u2AA2\u0338", NotNestedLessLess: "\u2AA1\u0338", notni: "\u220C", notniva: "\u220C", notnivb: "\u22FE", notnivc: "\u22FD", NotPrecedes: "\u2280", NotPrecedesEqual: "\u2AAF\u0338", NotPrecedesSlantEqual: "\u22E0", NotReverseElement: "\u220C", NotRightTriangleBar: "\u29D0\u0338", NotRightTriangle: "\u22EB", NotRightTriangleEqual: "\u22ED", NotSquareSubset: "\u228F\u0338", NotSquareSubsetEqual: "\u22E2", NotSquareSuperset: "\u2290\u0338", NotSquareSupersetEqual: "\u22E3", NotSubset: "\u2282\u20D2", NotSubsetEqual: "\u2288", NotSucceeds: "\u2281", NotSucceedsEqual: "\u2AB0\u0338", NotSucceedsSlantEqual: "\u22E1", NotSucceedsTilde: "\u227F\u0338", NotSuperset: "\u2283\u20D2", NotSupersetEqual: "\u2289", NotTilde: "\u2241", NotTildeEqual: "\u2244", NotTildeFullEqual: "\u2247", NotTildeTilde: "\u2249", NotVerticalBar: "\u2224", nparallel: "\u2226", npar: "\u2226", nparsl: "\u2AFD\u20E5", npart: "\u2202\u0338", npolint: "\u2A14", npr: "\u2280", nprcue: "\u22E0", nprec: "\u2280", npreceq: "\u2AAF\u0338", npre: "\u2AAF\u0338", nrarrc: "\u2933\u0338", nrarr: "\u219B", nrArr: "\u21CF", nrarrw: "\u219D\u0338", nrightarrow: "\u219B", nRightarrow: "\u21CF", nrtri: "\u22EB", nrtrie: "\u22ED", nsc: "\u2281", nsccue: "\u22E1", nsce: "\u2AB0\u0338", Nscr: "\u{1D4A9}", nscr: "\u{1D4C3}", nshortmid: "\u2224", nshortparallel: "\u2226", nsim: "\u2241", nsime: "\u2244", nsimeq: "\u2244", nsmid: "\u2224", nspar: "\u2226", nsqsube: "\u22E2", nsqsupe: "\u22E3", nsub: "\u2284", nsubE: "\u2AC5\u0338", nsube: "\u2288", nsubset: "\u2282\u20D2", nsubseteq: "\u2288", nsubseteqq: "\u2AC5\u0338", nsucc: "\u2281", nsucceq: "\u2AB0\u0338", nsup: "\u2285", nsupE: "\u2AC6\u0338", nsupe: "\u2289", nsupset: "\u2283\u20D2", nsupseteq: "\u2289", nsupseteqq: "\u2AC6\u0338", ntgl: "\u2279", Ntilde: "\xD1", ntilde: "\xF1", ntlg: "\u2278", ntriangleleft: "\u22EA", ntrianglelefteq: "\u22EC", ntriangleright: "\u22EB", ntrianglerighteq: "\u22ED", Nu: "\u039D", nu: "\u03BD", num: "#", numero: "\u2116", numsp: "\u2007", nvap: "\u224D\u20D2", nvdash: "\u22AC", nvDash: "\u22AD", nVdash: "\u22AE", nVDash: "\u22AF", nvge: "\u2265\u20D2", nvgt: ">\u20D2", nvHarr: "\u2904", nvinfin: "\u29DE", nvlArr: "\u2902", nvle: "\u2264\u20D2", nvlt: "<\u20D2", nvltrie: "\u22B4\u20D2", nvrArr: "\u2903", nvrtrie: "\u22B5\u20D2", nvsim: "\u223C\u20D2", nwarhk: "\u2923", nwarr: "\u2196", nwArr: "\u21D6", nwarrow: "\u2196", nwnear: "\u2927", Oacute: "\xD3", oacute: "\xF3", oast: "\u229B", Ocirc: "\xD4", ocirc: "\xF4", ocir: "\u229A", Ocy: "\u041E", ocy: "\u043E", odash: "\u229D", Odblac: "\u0150", odblac: "\u0151", odiv: "\u2A38", odot: "\u2299", odsold: "\u29BC", OElig: "\u0152", oelig: "\u0153", ofcir: "\u29BF", Ofr: "\u{1D512}", ofr: "\u{1D52C}", ogon: "\u02DB", Ograve: "\xD2", ograve: "\xF2", ogt: "\u29C1", ohbar: "\u29B5", ohm: "\u03A9", oint: "\u222E", olarr: "\u21BA", olcir: "\u29BE", olcross: "\u29BB", oline: "\u203E", olt: "\u29C0", Omacr: "\u014C", omacr: "\u014D", Omega: "\u03A9", omega: "\u03C9", Omicron: "\u039F", omicron: "\u03BF", omid: "\u29B6", ominus: "\u2296", Oopf: "\u{1D546}", oopf: "\u{1D560}", opar: "\u29B7", OpenCurlyDoubleQuote: "\u201C", OpenCurlyQuote: "\u2018", operp: "\u29B9", oplus: "\u2295", orarr: "\u21BB", Or: "\u2A54", or: "\u2228", ord: "\u2A5D", order: "\u2134", orderof: "\u2134", ordf: "\xAA", ordm: "\xBA", origof: "\u22B6", oror: "\u2A56", orslope: "\u2A57", orv: "\u2A5B", oS: "\u24C8", Oscr: "\u{1D4AA}", oscr: "\u2134", Oslash: "\xD8", oslash: "\xF8", osol: "\u2298", Otilde: "\xD5", otilde: "\xF5", otimesas: "\u2A36", Otimes: "\u2A37", otimes: "\u2297", Ouml: "\xD6", ouml: "\xF6", ovbar: "\u233D", OverBar: "\u203E", OverBrace: "\u23DE", OverBracket: "\u23B4", OverParenthesis: "\u23DC", para: "\xB6", parallel: "\u2225", par: "\u2225", parsim: "\u2AF3", parsl: "\u2AFD", part: "\u2202", PartialD: "\u2202", Pcy: "\u041F", pcy: "\u043F", percnt: "%", period: ".", permil: "\u2030", perp: "\u22A5", pertenk: "\u2031", Pfr: "\u{1D513}", pfr: "\u{1D52D}", Phi: "\u03A6", phi: "\u03C6", phiv: "\u03D5", phmmat: "\u2133", phone: "\u260E", Pi: "\u03A0", pi: "\u03C0", pitchfork: "\u22D4", piv: "\u03D6", planck: "\u210F", planckh: "\u210E", plankv: "\u210F", plusacir: "\u2A23", plusb: "\u229E", pluscir: "\u2A22", plus: "+", plusdo: "\u2214", plusdu: "\u2A25", pluse: "\u2A72", PlusMinus: "\xB1", plusmn: "\xB1", plussim: "\u2A26", plustwo: "\u2A27", pm: "\xB1", Poincareplane: "\u210C", pointint: "\u2A15", popf: "\u{1D561}", Popf: "\u2119", pound: "\xA3", prap: "\u2AB7", Pr: "\u2ABB", pr: "\u227A", prcue: "\u227C", precapprox: "\u2AB7", prec: "\u227A", preccurlyeq: "\u227C", Precedes: "\u227A", PrecedesEqual: "\u2AAF", PrecedesSlantEqual: "\u227C", PrecedesTilde: "\u227E", preceq: "\u2AAF", precnapprox: "\u2AB9", precneqq: "\u2AB5", precnsim: "\u22E8", pre: "\u2AAF", prE: "\u2AB3", precsim: "\u227E", prime: "\u2032", Prime: "\u2033", primes: "\u2119", prnap: "\u2AB9", prnE: "\u2AB5", prnsim: "\u22E8", prod: "\u220F", Product: "\u220F", profalar: "\u232E", profline: "\u2312", profsurf: "\u2313", prop: "\u221D", Proportional: "\u221D", Proportion: "\u2237", propto: "\u221D", prsim: "\u227E", prurel: "\u22B0", Pscr: "\u{1D4AB}", pscr: "\u{1D4C5}", Psi: "\u03A8", psi: "\u03C8", puncsp: "\u2008", Qfr: "\u{1D514}", qfr: "\u{1D52E}", qint: "\u2A0C", qopf: "\u{1D562}", Qopf: "\u211A", qprime: "\u2057", Qscr: "\u{1D4AC}", qscr: "\u{1D4C6}", quaternions: "\u210D", quatint: "\u2A16", quest: "?", questeq: "\u225F", quot: '"', QUOT: '"', rAarr: "\u21DB", race: "\u223D\u0331", Racute: "\u0154", racute: "\u0155", radic: "\u221A", raemptyv: "\u29B3", rang: "\u27E9", Rang: "\u27EB", rangd: "\u2992", range: "\u29A5", rangle: "\u27E9", raquo: "\xBB", rarrap: "\u2975", rarrb: "\u21E5", rarrbfs: "\u2920", rarrc: "\u2933", rarr: "\u2192", Rarr: "\u21A0", rArr: "\u21D2", rarrfs: "\u291E", rarrhk: "\u21AA", rarrlp: "\u21AC", rarrpl: "\u2945", rarrsim: "\u2974", Rarrtl: "\u2916", rarrtl: "\u21A3", rarrw: "\u219D", ratail: "\u291A", rAtail: "\u291C", ratio: "\u2236", rationals: "\u211A", rbarr: "\u290D", rBarr: "\u290F", RBarr: "\u2910", rbbrk: "\u2773", rbrace: "}", rbrack: "]", rbrke: "\u298C", rbrksld: "\u298E", rbrkslu: "\u2990", Rcaron: "\u0158", rcaron: "\u0159", Rcedil: "\u0156", rcedil: "\u0157", rceil: "\u2309", rcub: "}", Rcy: "\u0420", rcy: "\u0440", rdca: "\u2937", rdldhar: "\u2969", rdquo: "\u201D", rdquor: "\u201D", rdsh: "\u21B3", real: "\u211C", realine: "\u211B", realpart: "\u211C", reals: "\u211D", Re: "\u211C", rect: "\u25AD", reg: "\xAE", REG: "\xAE", ReverseElement: "\u220B", ReverseEquilibrium: "\u21CB", ReverseUpEquilibrium: "\u296F", rfisht: "\u297D", rfloor: "\u230B", rfr: "\u{1D52F}", Rfr: "\u211C", rHar: "\u2964", rhard: "\u21C1", rharu: "\u21C0", rharul: "\u296C", Rho: "\u03A1", rho: "\u03C1", rhov: "\u03F1", RightAngleBracket: "\u27E9", RightArrowBar: "\u21E5", rightarrow: "\u2192", RightArrow: "\u2192", Rightarrow: "\u21D2", RightArrowLeftArrow: "\u21C4", rightarrowtail: "\u21A3", RightCeiling: "\u2309", RightDoubleBracket: "\u27E7", RightDownTeeVector: "\u295D", RightDownVectorBar: "\u2955", RightDownVector: "\u21C2", RightFloor: "\u230B", rightharpoondown: "\u21C1", rightharpoonup: "\u21C0", rightleftarrows: "\u21C4", rightleftharpoons: "\u21CC", rightrightarrows: "\u21C9", rightsquigarrow: "\u219D", RightTeeArrow: "\u21A6", RightTee: "\u22A2", RightTeeVector: "\u295B", rightthreetimes: "\u22CC", RightTriangleBar: "\u29D0", RightTriangle: "\u22B3", RightTriangleEqual: "\u22B5", RightUpDownVector: "\u294F", RightUpTeeVector: "\u295C", RightUpVectorBar: "\u2954", RightUpVector: "\u21BE", RightVectorBar: "\u2953", RightVector: "\u21C0", ring: "\u02DA", risingdotseq: "\u2253", rlarr: "\u21C4", rlhar: "\u21CC", rlm: "\u200F", rmoustache: "\u23B1", rmoust: "\u23B1", rnmid: "\u2AEE", roang: "\u27ED", roarr: "\u21FE", robrk: "\u27E7", ropar: "\u2986", ropf: "\u{1D563}", Ropf: "\u211D", roplus: "\u2A2E", rotimes: "\u2A35", RoundImplies: "\u2970", rpar: ")", rpargt: "\u2994", rppolint: "\u2A12", rrarr: "\u21C9", Rrightarrow: "\u21DB", rsaquo: "\u203A", rscr: "\u{1D4C7}", Rscr: "\u211B", rsh: "\u21B1", Rsh: "\u21B1", rsqb: "]", rsquo: "\u2019", rsquor: "\u2019", rthree: "\u22CC", rtimes: "\u22CA", rtri: "\u25B9", rtrie: "\u22B5", rtrif: "\u25B8", rtriltri: "\u29CE", RuleDelayed: "\u29F4", ruluhar: "\u2968", rx: "\u211E", Sacute: "\u015A", sacute: "\u015B", sbquo: "\u201A", scap: "\u2AB8", Scaron: "\u0160", scaron: "\u0161", Sc: "\u2ABC", sc: "\u227B", sccue: "\u227D", sce: "\u2AB0", scE: "\u2AB4", Scedil: "\u015E", scedil: "\u015F", Scirc: "\u015C", scirc: "\u015D", scnap: "\u2ABA", scnE: "\u2AB6", scnsim: "\u22E9", scpolint: "\u2A13", scsim: "\u227F", Scy: "\u0421", scy: "\u0441", sdotb: "\u22A1", sdot: "\u22C5", sdote: "\u2A66", searhk: "\u2925", searr: "\u2198", seArr: "\u21D8", searrow: "\u2198", sect: "\xA7", semi: ";", seswar: "\u2929", setminus: "\u2216", setmn: "\u2216", sext: "\u2736", Sfr: "\u{1D516}", sfr: "\u{1D530}", sfrown: "\u2322", sharp: "\u266F", SHCHcy: "\u0429", shchcy: "\u0449", SHcy: "\u0428", shcy: "\u0448", ShortDownArrow: "\u2193", ShortLeftArrow: "\u2190", shortmid: "\u2223", shortparallel: "\u2225", ShortRightArrow: "\u2192", ShortUpArrow: "\u2191", shy: "\xAD", Sigma: "\u03A3", sigma: "\u03C3", sigmaf: "\u03C2", sigmav: "\u03C2", sim: "\u223C", simdot: "\u2A6A", sime: "\u2243", simeq: "\u2243", simg: "\u2A9E", simgE: "\u2AA0", siml: "\u2A9D", simlE: "\u2A9F", simne: "\u2246", simplus: "\u2A24", simrarr: "\u2972", slarr: "\u2190", SmallCircle: "\u2218", smallsetminus: "\u2216", smashp: "\u2A33", smeparsl: "\u29E4", smid: "\u2223", smile: "\u2323", smt: "\u2AAA", smte: "\u2AAC", smtes: "\u2AAC\uFE00", SOFTcy: "\u042C", softcy: "\u044C", solbar: "\u233F", solb: "\u29C4", sol: "/", Sopf: "\u{1D54A}", sopf: "\u{1D564}", spades: "\u2660", spadesuit: "\u2660", spar: "\u2225", sqcap: "\u2293", sqcaps: "\u2293\uFE00", sqcup: "\u2294", sqcups: "\u2294\uFE00", Sqrt: "\u221A", sqsub: "\u228F", sqsube: "\u2291", sqsubset: "\u228F", sqsubseteq: "\u2291", sqsup: "\u2290", sqsupe: "\u2292", sqsupset: "\u2290", sqsupseteq: "\u2292", square: "\u25A1", Square: "\u25A1", SquareIntersection: "\u2293", SquareSubset: "\u228F", SquareSubsetEqual: "\u2291", SquareSuperset: "\u2290", SquareSupersetEqual: "\u2292", SquareUnion: "\u2294", squarf: "\u25AA", squ: "\u25A1", squf: "\u25AA", srarr: "\u2192", Sscr: "\u{1D4AE}", sscr: "\u{1D4C8}", ssetmn: "\u2216", ssmile: "\u2323", sstarf: "\u22C6", Star: "\u22C6", star: "\u2606", starf: "\u2605", straightepsilon: "\u03F5", straightphi: "\u03D5", strns: "\xAF", sub: "\u2282", Sub: "\u22D0", subdot: "\u2ABD", subE: "\u2AC5", sube: "\u2286", subedot: "\u2AC3", submult: "\u2AC1", subnE: "\u2ACB", subne: "\u228A", subplus: "\u2ABF", subrarr: "\u2979", subset: "\u2282", Subset: "\u22D0", subseteq: "\u2286", subseteqq: "\u2AC5", SubsetEqual: "\u2286", subsetneq: "\u228A", subsetneqq: "\u2ACB", subsim: "\u2AC7", subsub: "\u2AD5", subsup: "\u2AD3", succapprox: "\u2AB8", succ: "\u227B", succcurlyeq: "\u227D", Succeeds: "\u227B", SucceedsEqual: "\u2AB0", SucceedsSlantEqual: "\u227D", SucceedsTilde: "\u227F", succeq: "\u2AB0", succnapprox: "\u2ABA", succneqq: "\u2AB6", succnsim: "\u22E9", succsim: "\u227F", SuchThat: "\u220B", sum: "\u2211", Sum: "\u2211", sung: "\u266A", sup1: "\xB9", sup2: "\xB2", sup3: "\xB3", sup: "\u2283", Sup: "\u22D1", supdot: "\u2ABE", supdsub: "\u2AD8", supE: "\u2AC6", supe: "\u2287", supedot: "\u2AC4", Superset: "\u2283", SupersetEqual: "\u2287", suphsol: "\u27C9", suphsub: "\u2AD7", suplarr: "\u297B", supmult: "\u2AC2", supnE: "\u2ACC", supne: "\u228B", supplus: "\u2AC0", supset: "\u2283", Supset: "\u22D1", supseteq: "\u2287", supseteqq: "\u2AC6", supsetneq: "\u228B", supsetneqq: "\u2ACC", supsim: "\u2AC8", supsub: "\u2AD4", supsup: "\u2AD6", swarhk: "\u2926", swarr: "\u2199", swArr: "\u21D9", swarrow: "\u2199", swnwar: "\u292A", szlig: "\xDF", Tab: " ", target: "\u2316", Tau: "\u03A4", tau: "\u03C4", tbrk: "\u23B4", Tcaron: "\u0164", tcaron: "\u0165", Tcedil: "\u0162", tcedil: "\u0163", Tcy: "\u0422", tcy: "\u0442", tdot: "\u20DB", telrec: "\u2315", Tfr: "\u{1D517}", tfr: "\u{1D531}", there4: "\u2234", therefore: "\u2234", Therefore: "\u2234", Theta: "\u0398", theta: "\u03B8", thetasym: "\u03D1", thetav: "\u03D1", thickapprox: "\u2248", thicksim: "\u223C", ThickSpace: "\u205F\u200A", ThinSpace: "\u2009", thinsp: "\u2009", thkap: "\u2248", thksim: "\u223C", THORN: "\xDE", thorn: "\xFE", tilde: "\u02DC", Tilde: "\u223C", TildeEqual: "\u2243", TildeFullEqual: "\u2245", TildeTilde: "\u2248", timesbar: "\u2A31", timesb: "\u22A0", times: "\xD7", timesd: "\u2A30", tint: "\u222D", toea: "\u2928", topbot: "\u2336", topcir: "\u2AF1", top: "\u22A4", Topf: "\u{1D54B}", topf: "\u{1D565}", topfork: "\u2ADA", tosa: "\u2929", tprime: "\u2034", trade: "\u2122", TRADE: "\u2122", triangle: "\u25B5", triangledown: "\u25BF", triangleleft: "\u25C3", trianglelefteq: "\u22B4", triangleq: "\u225C", triangleright: "\u25B9", trianglerighteq: "\u22B5", tridot: "\u25EC", trie: "\u225C", triminus: "\u2A3A", TripleDot: "\u20DB", triplus: "\u2A39", trisb: "\u29CD", tritime: "\u2A3B", trpezium: "\u23E2", Tscr: "\u{1D4AF}", tscr: "\u{1D4C9}", TScy: "\u0426", tscy: "\u0446", TSHcy: "\u040B", tshcy: "\u045B", Tstrok: "\u0166", tstrok: "\u0167", twixt: "\u226C", twoheadleftarrow: "\u219E", twoheadrightarrow: "\u21A0", Uacute: "\xDA", uacute: "\xFA", uarr: "\u2191", Uarr: "\u219F", uArr: "\u21D1", Uarrocir: "\u2949", Ubrcy: "\u040E", ubrcy: "\u045E", Ubreve: "\u016C", ubreve: "\u016D", Ucirc: "\xDB", ucirc: "\xFB", Ucy: "\u0423", ucy: "\u0443", udarr: "\u21C5", Udblac: "\u0170", udblac: "\u0171", udhar: "\u296E", ufisht: "\u297E", Ufr: "\u{1D518}", ufr: "\u{1D532}", Ugrave: "\xD9", ugrave: "\xF9", uHar: "\u2963", uharl: "\u21BF", uharr: "\u21BE", uhblk: "\u2580", ulcorn: "\u231C", ulcorner: "\u231C", ulcrop: "\u230F", ultri: "\u25F8", Umacr: "\u016A", umacr: "\u016B", uml: "\xA8", UnderBar: "_", UnderBrace: "\u23DF", UnderBracket: "\u23B5", UnderParenthesis: "\u23DD", Union: "\u22C3", UnionPlus: "\u228E", Uogon: "\u0172", uogon: "\u0173", Uopf: "\u{1D54C}", uopf: "\u{1D566}", UpArrowBar: "\u2912", uparrow: "\u2191", UpArrow: "\u2191", Uparrow: "\u21D1", UpArrowDownArrow: "\u21C5", updownarrow: "\u2195", UpDownArrow: "\u2195", Updownarrow: "\u21D5", UpEquilibrium: "\u296E", upharpoonleft: "\u21BF", upharpoonright: "\u21BE", uplus: "\u228E", UpperLeftArrow: "\u2196", UpperRightArrow: "\u2197", upsi: "\u03C5", Upsi: "\u03D2", upsih: "\u03D2", Upsilon: "\u03A5", upsilon: "\u03C5", UpTeeArrow: "\u21A5", UpTee: "\u22A5", upuparrows: "\u21C8", urcorn: "\u231D", urcorner: "\u231D", urcrop: "\u230E", Uring: "\u016E", uring: "\u016F", urtri: "\u25F9", Uscr: "\u{1D4B0}", uscr: "\u{1D4CA}", utdot: "\u22F0", Utilde: "\u0168", utilde: "\u0169", utri: "\u25B5", utrif: "\u25B4", uuarr: "\u21C8", Uuml: "\xDC", uuml: "\xFC", uwangle: "\u29A7", vangrt: "\u299C", varepsilon: "\u03F5", varkappa: "\u03F0", varnothing: "\u2205", varphi: "\u03D5", varpi: "\u03D6", varpropto: "\u221D", varr: "\u2195", vArr: "\u21D5", varrho: "\u03F1", varsigma: "\u03C2", varsubsetneq: "\u228A\uFE00", varsubsetneqq: "\u2ACB\uFE00", varsupsetneq: "\u228B\uFE00", varsupsetneqq: "\u2ACC\uFE00", vartheta: "\u03D1", vartriangleleft: "\u22B2", vartriangleright: "\u22B3", vBar: "\u2AE8", Vbar: "\u2AEB", vBarv: "\u2AE9", Vcy: "\u0412", vcy: "\u0432", vdash: "\u22A2", vDash: "\u22A8", Vdash: "\u22A9", VDash: "\u22AB", Vdashl: "\u2AE6", veebar: "\u22BB", vee: "\u2228", Vee: "\u22C1", veeeq: "\u225A", vellip: "\u22EE", verbar: "|", Verbar: "\u2016", vert: "|", Vert: "\u2016", VerticalBar: "\u2223", VerticalLine: "|", VerticalSeparator: "\u2758", VerticalTilde: "\u2240", VeryThinSpace: "\u200A", Vfr: "\u{1D519}", vfr: "\u{1D533}", vltri: "\u22B2", vnsub: "\u2282\u20D2", vnsup: "\u2283\u20D2", Vopf: "\u{1D54D}", vopf: "\u{1D567}", vprop: "\u221D", vrtri: "\u22B3", Vscr: "\u{1D4B1}", vscr: "\u{1D4CB}", vsubnE: "\u2ACB\uFE00", vsubne: "\u228A\uFE00", vsupnE: "\u2ACC\uFE00", vsupne: "\u228B\uFE00", Vvdash: "\u22AA", vzigzag: "\u299A", Wcirc: "\u0174", wcirc: "\u0175", wedbar: "\u2A5F", wedge: "\u2227", Wedge: "\u22C0", wedgeq: "\u2259", weierp: "\u2118", Wfr: "\u{1D51A}", wfr: "\u{1D534}", Wopf: "\u{1D54E}", wopf: "\u{1D568}", wp: "\u2118", wr: "\u2240", wreath: "\u2240", Wscr: "\u{1D4B2}", wscr: "\u{1D4CC}", xcap: "\u22C2", xcirc: "\u25EF", xcup: "\u22C3", xdtri: "\u25BD", Xfr: "\u{1D51B}", xfr: "\u{1D535}", xharr: "\u27F7", xhArr: "\u27FA", Xi: "\u039E", xi: "\u03BE", xlarr: "\u27F5", xlArr: "\u27F8", xmap: "\u27FC", xnis: "\u22FB", xodot: "\u2A00", Xopf: "\u{1D54F}", xopf: "\u{1D569}", xoplus: "\u2A01", xotime: "\u2A02", xrarr: "\u27F6", xrArr: "\u27F9", Xscr: "\u{1D4B3}", xscr: "\u{1D4CD}", xsqcup: "\u2A06", xuplus: "\u2A04", xutri: "\u25B3", xvee: "\u22C1", xwedge: "\u22C0", Yacute: "\xDD", yacute: "\xFD", YAcy: "\u042F", yacy: "\u044F", Ycirc: "\u0176", ycirc: "\u0177", Ycy: "\u042B", ycy: "\u044B", yen: "\xA5", Yfr: "\u{1D51C}", yfr: "\u{1D536}", YIcy: "\u0407", yicy: "\u0457", Yopf: "\u{1D550}", yopf: "\u{1D56A}", Yscr: "\u{1D4B4}", yscr: "\u{1D4CE}", YUcy: "\u042E", yucy: "\u044E", yuml: "\xFF", Yuml: "\u0178", Zacute: "\u0179", zacute: "\u017A", Zcaron: "\u017D", zcaron: "\u017E", Zcy: "\u0417", zcy: "\u0437", Zdot: "\u017B", zdot: "\u017C", zeetrf: "\u2128", ZeroWidthSpace: "\u200B", Zeta: "\u0396", zeta: "\u03B6", zfr: "\u{1D537}", Zfr: "\u2128", ZHcy: "\u0416", zhcy: "\u0436", zigrarr: "\u21DD", zopf: "\u{1D56B}", Zopf: "\u2124", Zscr: "\u{1D4B5}", zscr: "\u{1D4CF}", zwj: "\u200D", zwnj: "\u200C" }, n = /[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4E\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/, s = {}, o = {}; +function i(e2, r2, t2) { + var n2, s2, a2, c2, l2, u2 = ""; + for ("string" != typeof r2 && (t2 = r2, r2 = i.defaultChars), void 0 === t2 && (t2 = true), l2 = function(e3) { + var r3, t3, n3 = o[e3]; + if (n3) + return n3; + for (n3 = o[e3] = [], r3 = 0; r3 < 128; r3++) + t3 = String.fromCharCode(r3), /^[0-9a-z]$/i.test(t3) ? n3.push(t3) : n3.push("%" + ("0" + r3.toString(16).toUpperCase()).slice(-2)); + for (r3 = 0; r3 < e3.length; r3++) + n3[e3.charCodeAt(r3)] = e3[r3]; + return n3; + }(r2), n2 = 0, s2 = e2.length; n2 < s2; n2++) + if (a2 = e2.charCodeAt(n2), t2 && 37 === a2 && n2 + 2 < s2 && /^[0-9a-f]{2}$/i.test(e2.slice(n2 + 1, n2 + 3))) + u2 += e2.slice(n2, n2 + 3), n2 += 2; + else if (a2 < 128) + u2 += l2[a2]; + else if (a2 >= 55296 && a2 <= 57343) { + if (a2 >= 55296 && a2 <= 56319 && n2 + 1 < s2 && (c2 = e2.charCodeAt(n2 + 1)) >= 56320 && c2 <= 57343) { + u2 += encodeURIComponent(e2[n2] + e2[n2 + 1]), n2++; + continue; + } + u2 += "%EF%BF%BD"; + } else + u2 += encodeURIComponent(e2[n2]); + return u2; +} +i.defaultChars = ";/?:@&=+$,-_.!~*'()#", i.componentChars = "-_.!~*'()"; +var a = i, c = {}; +function l(e2, r2) { + var t2; + return "string" != typeof r2 && (r2 = l.defaultChars), t2 = function(e3) { + var r3, t3, n2 = c[e3]; + if (n2) + return n2; + for (n2 = c[e3] = [], r3 = 0; r3 < 128; r3++) + t3 = String.fromCharCode(r3), n2.push(t3); + for (r3 = 0; r3 < e3.length; r3++) + n2[t3 = e3.charCodeAt(r3)] = "%" + ("0" + t3.toString(16).toUpperCase()).slice(-2); + return n2; + }(r2), e2.replace(/(%[a-f0-9]{2})+/gi, function(e3) { + var r3, n2, s2, o2, i2, a2, c2, l2 = ""; + for (r3 = 0, n2 = e3.length; r3 < n2; r3 += 3) + (s2 = parseInt(e3.slice(r3 + 1, r3 + 3), 16)) < 128 ? l2 += t2[s2] : 192 == (224 & s2) && r3 + 3 < n2 && 128 == (192 & (o2 = parseInt(e3.slice(r3 + 4, r3 + 6), 16))) ? (l2 += (c2 = s2 << 6 & 1984 | 63 & o2) < 128 ? "\uFFFD\uFFFD" : String.fromCharCode(c2), r3 += 3) : 224 == (240 & s2) && r3 + 6 < n2 && (o2 = parseInt(e3.slice(r3 + 4, r3 + 6), 16), i2 = parseInt(e3.slice(r3 + 7, r3 + 9), 16), 128 == (192 & o2) && 128 == (192 & i2)) ? (l2 += (c2 = s2 << 12 & 61440 | o2 << 6 & 4032 | 63 & i2) < 2048 || c2 >= 55296 && c2 <= 57343 ? "\uFFFD\uFFFD\uFFFD" : String.fromCharCode(c2), r3 += 6) : 240 == (248 & s2) && r3 + 9 < n2 && (o2 = parseInt(e3.slice(r3 + 4, r3 + 6), 16), i2 = parseInt(e3.slice(r3 + 7, r3 + 9), 16), a2 = parseInt(e3.slice(r3 + 10, r3 + 12), 16), 128 == (192 & o2) && 128 == (192 & i2) && 128 == (192 & a2)) ? ((c2 = s2 << 18 & 1835008 | o2 << 12 & 258048 | i2 << 6 & 4032 | 63 & a2) < 65536 || c2 > 1114111 ? l2 += "\uFFFD\uFFFD\uFFFD\uFFFD" : (c2 -= 65536, l2 += String.fromCharCode(55296 + (c2 >> 10), 56320 + (1023 & c2))), r3 += 9) : l2 += "\uFFFD"; + return l2; + }); +} +l.defaultChars = ";/?:@&=+$,#", l.componentChars = ""; +var u = l; +function p() { + this.protocol = null, this.slashes = null, this.auth = null, this.port = null, this.hostname = null, this.hash = null, this.search = null, this.pathname = null; +} +var h = /^([a-z0-9.+-]+:)/i, f = /:[0-9]*$/, d = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/, m = ["{", "}", "|", "\\", "^", "`"].concat(["<", ">", '"', "`", " ", "\r", "\n", " "]), g = ["'"].concat(m), _ = ["%", "/", "?", ";", "#"].concat(g), k = ["/", "?", "#"], b = /^[+a-z0-9A-Z_-]{0,63}$/, v = /^([+a-z0-9A-Z_-]{0,63})(.*)$/, C = { javascript: true, "javascript:": true }, y = { http: true, https: true, ftp: true, gopher: true, file: true, "http:": true, "https:": true, "ftp:": true, "gopher:": true, "file:": true }; +p.prototype.parse = function(e2, r2) { + var t2, n2, s2, o2, i2, a2 = e2; + if (a2 = a2.trim(), !r2 && 1 === e2.split("#").length) { + var c2 = d.exec(a2); + if (c2) + return this.pathname = c2[1], c2[2] && (this.search = c2[2]), this; + } + var l2 = h.exec(a2); + if (l2 && (s2 = (l2 = l2[0]).toLowerCase(), this.protocol = l2, a2 = a2.substr(l2.length)), (r2 || l2 || a2.match(/^\/\/[^@\/]+@[^@\/]+/)) && (!(i2 = "//" === a2.substr(0, 2)) || l2 && C[l2] || (a2 = a2.substr(2), this.slashes = true)), !C[l2] && (i2 || l2 && !y[l2])) { + var u2, p2, f2 = -1; + for (t2 = 0; t2 < k.length; t2++) + -1 !== (o2 = a2.indexOf(k[t2])) && (-1 === f2 || o2 < f2) && (f2 = o2); + for (-1 !== (p2 = -1 === f2 ? a2.lastIndexOf("@") : a2.lastIndexOf("@", f2)) && (u2 = a2.slice(0, p2), a2 = a2.slice(p2 + 1), this.auth = u2), f2 = -1, t2 = 0; t2 < _.length; t2++) + -1 !== (o2 = a2.indexOf(_[t2])) && (-1 === f2 || o2 < f2) && (f2 = o2); + -1 === f2 && (f2 = a2.length), ":" === a2[f2 - 1] && f2--; + var m2 = a2.slice(0, f2); + a2 = a2.slice(f2), this.parseHost(m2), this.hostname = this.hostname || ""; + var g2 = "[" === this.hostname[0] && "]" === this.hostname[this.hostname.length - 1]; + if (!g2) { + var A2 = this.hostname.split(/\./); + for (t2 = 0, n2 = A2.length; t2 < n2; t2++) { + var x2 = A2[t2]; + if (x2 && !x2.match(b)) { + for (var D2 = "", w2 = 0, E2 = x2.length; w2 < E2; w2++) + x2.charCodeAt(w2) > 127 ? D2 += "x" : D2 += x2[w2]; + if (!D2.match(b)) { + var q2 = A2.slice(0, t2), S2 = A2.slice(t2 + 1), F2 = x2.match(v); + F2 && (q2.push(F2[1]), S2.unshift(F2[2])), S2.length && (a2 = S2.join(".") + a2), this.hostname = q2.join("."); + break; + } + } + } + } + this.hostname.length > 255 && (this.hostname = ""), g2 && (this.hostname = this.hostname.substr(1, this.hostname.length - 2)); + } + var L2 = a2.indexOf("#"); + -1 !== L2 && (this.hash = a2.substr(L2), a2 = a2.slice(0, L2)); + var z2 = a2.indexOf("?"); + return -1 !== z2 && (this.search = a2.substr(z2), a2 = a2.slice(0, z2)), a2 && (this.pathname = a2), y[s2] && this.hostname && !this.pathname && (this.pathname = ""), this; +}, p.prototype.parseHost = function(e2) { + var r2 = f.exec(e2); + r2 && (":" !== (r2 = r2[0]) && (this.port = r2.substr(1)), e2 = e2.substr(0, e2.length - r2.length)), e2 && (this.hostname = e2); +}; +var A = function(e2, r2) { + if (e2 && e2 instanceof p) + return e2; + var t2 = new p(); + return t2.parse(e2, r2), t2; +}; +s.encode = a, s.decode = u, s.format = function(e2) { + var r2 = ""; + return r2 += e2.protocol || "", r2 += e2.slashes ? "//" : "", r2 += e2.auth ? e2.auth + "@" : "", e2.hostname && -1 !== e2.hostname.indexOf(":") ? r2 += "[" + e2.hostname + "]" : r2 += e2.hostname || "", r2 += e2.port ? ":" + e2.port : "", r2 += e2.pathname || "", r2 += e2.search || "", r2 += e2.hash || ""; +}, s.parse = A; +var x = {}, D = /[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/, w = /[\0-\x1F\x7F-\x9F]/, E = /[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/; +x.Any = D, x.Cc = w, x.Cf = /[\xAD\u0600-\u0605\u061C\u06DD\u070F\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/, x.P = n, x.Z = E, function(e2) { + var r2 = Object.prototype.hasOwnProperty; + function o2(e3, t2) { + return r2.call(e3, t2); + } + function i2(e3) { + return !(e3 >= 55296 && e3 <= 57343) && (!(e3 >= 64976 && e3 <= 65007) && (65535 != (65535 & e3) && 65534 != (65535 & e3) && (!(e3 >= 0 && e3 <= 8) && (11 !== e3 && (!(e3 >= 14 && e3 <= 31) && (!(e3 >= 127 && e3 <= 159) && !(e3 > 1114111))))))); + } + function a2(e3) { + if (e3 > 65535) { + var r3 = 55296 + ((e3 -= 65536) >> 10), t2 = 56320 + (1023 & e3); + return String.fromCharCode(r3, t2); + } + return String.fromCharCode(e3); + } + var c2 = /\\([!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~])/g, l2 = new RegExp(c2.source + "|" + /&([a-z#][a-z0-9]{1,31});/gi.source, "gi"), u2 = /^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i, p2 = t; + var h2 = /[&<>"]/, f2 = /[&<>"]/g, d2 = { "&": "&", "<": "<", ">": ">", '"': """ }; + function m2(e3) { + return d2[e3]; + } + var g2 = /[.?*+^$[\]\\(){}|-]/g; + var _2 = n; + e2.lib = {}, e2.lib.mdurl = s, e2.lib.ucmicro = x, e2.assign = function(e3) { + var r3 = Array.prototype.slice.call(arguments, 1); + return r3.forEach(function(r4) { + if (r4) { + if ("object" != typeof r4) + throw new TypeError(r4 + "must be object"); + Object.keys(r4).forEach(function(t2) { + e3[t2] = r4[t2]; + }); + } + }), e3; + }, e2.isString = function(e3) { + return "[object String]" === function(e4) { + return Object.prototype.toString.call(e4); + }(e3); + }, e2.has = o2, e2.unescapeMd = function(e3) { + return e3.indexOf("\\") < 0 ? e3 : e3.replace(c2, "$1"); + }, e2.unescapeAll = function(e3) { + return e3.indexOf("\\") < 0 && e3.indexOf("&") < 0 ? e3 : e3.replace(l2, function(e4, r3, t2) { + return r3 || function(e5, r4) { + var t3 = 0; + return o2(p2, r4) ? p2[r4] : 35 === r4.charCodeAt(0) && u2.test(r4) && i2(t3 = "x" === r4[1].toLowerCase() ? parseInt(r4.slice(2), 16) : parseInt(r4.slice(1), 10)) ? a2(t3) : e5; + }(e4, t2); + }); + }, e2.isValidEntityCode = i2, e2.fromCodePoint = a2, e2.escapeHtml = function(e3) { + return h2.test(e3) ? e3.replace(f2, m2) : e3; + }, e2.arrayReplaceAt = function(e3, r3, t2) { + return [].concat(e3.slice(0, r3), t2, e3.slice(r3 + 1)); + }, e2.isSpace = function(e3) { + switch (e3) { + case 9: + case 32: + return true; + } + return false; + }, e2.isWhiteSpace = function(e3) { + if (e3 >= 8192 && e3 <= 8202) + return true; + switch (e3) { + case 9: + case 10: + case 11: + case 12: + case 13: + case 32: + case 160: + case 5760: + case 8239: + case 8287: + case 12288: + return true; + } + return false; + }, e2.isMdAsciiPunct = function(e3) { + switch (e3) { + case 33: + case 34: + case 35: + case 36: + case 37: + case 38: + case 39: + case 40: + case 41: + case 42: + case 43: + case 44: + case 45: + case 46: + case 47: + case 58: + case 59: + case 60: + case 61: + case 62: + case 63: + case 64: + case 91: + case 92: + case 93: + case 94: + case 95: + case 96: + case 123: + case 124: + case 125: + case 126: + return true; + default: + return false; + } + }, e2.isPunctChar = function(e3) { + return _2.test(e3); + }, e2.escapeRE = function(e3) { + return e3.replace(g2, "\\$&"); + }, e2.normalizeReference = function(e3) { + return e3 = e3.trim().replace(/\s+/g, " "), "\u1E7E" === "\u1E9E".toLowerCase() && (e3 = e3.replace(/ẞ/g, "\xDF")), e3.toLowerCase().toUpperCase(); + }; +}(r); +var q = {}, S = r.unescapeAll, F = r.unescapeAll; +q.parseLinkLabel = function(e2, r2, t2) { + var n2, s2, o2, i2, a2 = -1, c2 = e2.posMax, l2 = e2.pos; + for (e2.pos = r2 + 1, n2 = 1; e2.pos < c2; ) { + if (93 === (o2 = e2.src.charCodeAt(e2.pos)) && 0 === --n2) { + s2 = true; + break; + } + if (i2 = e2.pos, e2.md.inline.skipToken(e2), 91 === o2) { + if (i2 === e2.pos - 1) + n2++; + else if (t2) + return e2.pos = l2, -1; + } + } + return s2 && (a2 = e2.pos), e2.pos = l2, a2; +}, q.parseLinkDestination = function(e2, r2, t2) { + var n2, s2, o2 = r2, i2 = { ok: false, pos: 0, lines: 0, str: "" }; + if (60 === e2.charCodeAt(r2)) { + for (r2++; r2 < t2; ) { + if (10 === (n2 = e2.charCodeAt(r2))) + return i2; + if (60 === n2) + return i2; + if (62 === n2) + return i2.pos = r2 + 1, i2.str = S(e2.slice(o2 + 1, r2)), i2.ok = true, i2; + 92 === n2 && r2 + 1 < t2 ? r2 += 2 : r2++; + } + return i2; + } + for (s2 = 0; r2 < t2 && 32 !== (n2 = e2.charCodeAt(r2)) && !(n2 < 32 || 127 === n2); ) + if (92 === n2 && r2 + 1 < t2) { + if (32 === e2.charCodeAt(r2 + 1)) + break; + r2 += 2; + } else { + if (40 === n2 && ++s2 > 32) + return i2; + if (41 === n2) { + if (0 === s2) + break; + s2--; + } + r2++; + } + return o2 === r2 || 0 !== s2 || (i2.str = S(e2.slice(o2, r2)), i2.lines = 0, i2.pos = r2, i2.ok = true), i2; +}, q.parseLinkTitle = function(e2, r2, t2) { + var n2, s2, o2 = 0, i2 = r2, a2 = { ok: false, pos: 0, lines: 0, str: "" }; + if (r2 >= t2) + return a2; + if (34 !== (s2 = e2.charCodeAt(r2)) && 39 !== s2 && 40 !== s2) + return a2; + for (r2++, 40 === s2 && (s2 = 41); r2 < t2; ) { + if ((n2 = e2.charCodeAt(r2)) === s2) + return a2.pos = r2 + 1, a2.lines = o2, a2.str = F(e2.slice(i2 + 1, r2)), a2.ok = true, a2; + if (40 === n2 && 41 === s2) + return a2; + 10 === n2 ? o2++ : 92 === n2 && r2 + 1 < t2 && (r2++, 10 === e2.charCodeAt(r2) && o2++), r2++; + } + return a2; +}; +var L = r.assign, z = r.unescapeAll, T = r.escapeHtml, I = {}; +function M() { + this.rules = L({}, I); +} +I.code_inline = function(e2, r2, t2, n2, s2) { + var o2 = e2[r2]; + return "" + T(e2[r2].content) + ""; +}, I.code_block = function(e2, r2, t2, n2, s2) { + var o2 = e2[r2]; + return "" + T(e2[r2].content) + "\n"; +}, I.fence = function(e2, r2, t2, n2, s2) { + var o2, i2, a2, c2, l2, u2 = e2[r2], p2 = u2.info ? z(u2.info).trim() : "", h2 = "", f2 = ""; + return p2 && (h2 = (a2 = p2.split(/(\s+)/g))[0], f2 = a2.slice(2).join("")), 0 === (o2 = t2.highlight && t2.highlight(u2.content, h2, f2) || T(u2.content)).indexOf("" + o2 + "\n") : "
" + o2 + "
\n"; +}, I.image = function(e2, r2, t2, n2, s2) { + var o2 = e2[r2]; + return o2.attrs[o2.attrIndex("alt")][1] = s2.renderInlineAsText(o2.children, t2, n2), s2.renderToken(e2, r2, t2); +}, I.hardbreak = function(e2, r2, t2) { + return t2.xhtmlOut ? "
\n" : "
\n"; +}, I.softbreak = function(e2, r2, t2) { + return t2.breaks ? t2.xhtmlOut ? "
\n" : "
\n" : "\n"; +}, I.text = function(e2, r2) { + return T(e2[r2].content); +}, I.html_block = function(e2, r2) { + return e2[r2].content; +}, I.html_inline = function(e2, r2) { + return e2[r2].content; +}, M.prototype.renderAttrs = function(e2) { + var r2, t2, n2; + if (!e2.attrs) + return ""; + for (n2 = "", r2 = 0, t2 = e2.attrs.length; r2 < t2; r2++) + n2 += " " + T(e2.attrs[r2][0]) + '="' + T(e2.attrs[r2][1]) + '"'; + return n2; +}, M.prototype.renderToken = function(e2, r2, t2) { + var n2, s2 = "", o2 = false, i2 = e2[r2]; + return i2.hidden ? "" : (i2.block && -1 !== i2.nesting && r2 && e2[r2 - 1].hidden && (s2 += "\n"), s2 += (-1 === i2.nesting ? "\n" : ">"); +}, M.prototype.renderInline = function(e2, r2, t2) { + for (var n2, s2 = "", o2 = this.rules, i2 = 0, a2 = e2.length; i2 < a2; i2++) + void 0 !== o2[n2 = e2[i2].type] ? s2 += o2[n2](e2, i2, r2, t2, this) : s2 += this.renderToken(e2, i2, r2); + return s2; +}, M.prototype.renderInlineAsText = function(e2, r2, t2) { + for (var n2 = "", s2 = 0, o2 = e2.length; s2 < o2; s2++) + "text" === e2[s2].type ? n2 += e2[s2].content : "image" === e2[s2].type ? n2 += this.renderInlineAsText(e2[s2].children, r2, t2) : "softbreak" === e2[s2].type && (n2 += "\n"); + return n2; +}, M.prototype.render = function(e2, r2, t2) { + var n2, s2, o2, i2 = "", a2 = this.rules; + for (n2 = 0, s2 = e2.length; n2 < s2; n2++) + "inline" === (o2 = e2[n2].type) ? i2 += this.renderInline(e2[n2].children, r2, t2) : void 0 !== a2[o2] ? i2 += a2[e2[n2].type](e2, n2, r2, t2, this) : i2 += this.renderToken(e2, n2, r2, t2); + return i2; +}; +var R = M; +function B() { + this.__rules__ = [], this.__cache__ = null; +} +B.prototype.__find__ = function(e2) { + for (var r2 = 0; r2 < this.__rules__.length; r2++) + if (this.__rules__[r2].name === e2) + return r2; + return -1; +}, B.prototype.__compile__ = function() { + var e2 = this, r2 = [""]; + e2.__rules__.forEach(function(e3) { + e3.enabled && e3.alt.forEach(function(e4) { + r2.indexOf(e4) < 0 && r2.push(e4); + }); + }), e2.__cache__ = {}, r2.forEach(function(r3) { + e2.__cache__[r3] = [], e2.__rules__.forEach(function(t2) { + t2.enabled && (r3 && t2.alt.indexOf(r3) < 0 || e2.__cache__[r3].push(t2.fn)); + }); + }); +}, B.prototype.at = function(e2, r2, t2) { + var n2 = this.__find__(e2), s2 = t2 || {}; + if (-1 === n2) + throw new Error("Parser rule not found: " + e2); + this.__rules__[n2].fn = r2, this.__rules__[n2].alt = s2.alt || [], this.__cache__ = null; +}, B.prototype.before = function(e2, r2, t2, n2) { + var s2 = this.__find__(e2), o2 = n2 || {}; + if (-1 === s2) + throw new Error("Parser rule not found: " + e2); + this.__rules__.splice(s2, 0, { name: r2, enabled: true, fn: t2, alt: o2.alt || [] }), this.__cache__ = null; +}, B.prototype.after = function(e2, r2, t2, n2) { + var s2 = this.__find__(e2), o2 = n2 || {}; + if (-1 === s2) + throw new Error("Parser rule not found: " + e2); + this.__rules__.splice(s2 + 1, 0, { name: r2, enabled: true, fn: t2, alt: o2.alt || [] }), this.__cache__ = null; +}, B.prototype.push = function(e2, r2, t2) { + var n2 = t2 || {}; + this.__rules__.push({ name: e2, enabled: true, fn: r2, alt: n2.alt || [] }), this.__cache__ = null; +}, B.prototype.enable = function(e2, r2) { + Array.isArray(e2) || (e2 = [e2]); + var t2 = []; + return e2.forEach(function(e3) { + var n2 = this.__find__(e3); + if (n2 < 0) { + if (r2) + return; + throw new Error("Rules manager: invalid rule name " + e3); + } + this.__rules__[n2].enabled = true, t2.push(e3); + }, this), this.__cache__ = null, t2; +}, B.prototype.enableOnly = function(e2, r2) { + Array.isArray(e2) || (e2 = [e2]), this.__rules__.forEach(function(e3) { + e3.enabled = false; + }), this.enable(e2, r2); +}, B.prototype.disable = function(e2, r2) { + Array.isArray(e2) || (e2 = [e2]); + var t2 = []; + return e2.forEach(function(e3) { + var n2 = this.__find__(e3); + if (n2 < 0) { + if (r2) + return; + throw new Error("Rules manager: invalid rule name " + e3); + } + this.__rules__[n2].enabled = false, t2.push(e3); + }, this), this.__cache__ = null, t2; +}, B.prototype.getRules = function(e2) { + return null === this.__cache__ && this.__compile__(), this.__cache__[e2] || []; +}; +var N = B, O = /\r\n?|\n/g, P = /\0/g, j = r.arrayReplaceAt; +function U(e2) { + return /^<\/a\s*>/i.test(e2); +} +var V = /\+-|\.\.|\?\?\?\?|!!!!|,,|--/, Z = /\((c|tm|r)\)/i, $ = /\((c|tm|r)\)/gi, G = { c: "\xA9", r: "\xAE", tm: "\u2122" }; +function H(e2, r2) { + return G[r2.toLowerCase()]; +} +function J(e2) { + var r2, t2, n2 = 0; + for (r2 = e2.length - 1; r2 >= 0; r2--) + "text" !== (t2 = e2[r2]).type || n2 || (t2.content = t2.content.replace($, H)), "link_open" === t2.type && "auto" === t2.info && n2--, "link_close" === t2.type && "auto" === t2.info && n2++; +} +function W(e2) { + var r2, t2, n2 = 0; + for (r2 = e2.length - 1; r2 >= 0; r2--) + "text" !== (t2 = e2[r2]).type || n2 || V.test(t2.content) && (t2.content = t2.content.replace(/\+-/g, "\xB1").replace(/\.{2,}/g, "\u2026").replace(/([?!])…/g, "$1..").replace(/([?!]){4,}/g, "$1$1$1").replace(/,{2,}/g, ",").replace(/(^|[^-])---(?=[^-]|$)/gm, "$1\u2014").replace(/(^|\s)--(?=\s|$)/gm, "$1\u2013").replace(/(^|[^-\s])--(?=[^-\s]|$)/gm, "$1\u2013")), "link_open" === t2.type && "auto" === t2.info && n2--, "link_close" === t2.type && "auto" === t2.info && n2++; +} +var Y = r.isWhiteSpace, K = r.isPunctChar, Q = r.isMdAsciiPunct, X = /['"]/, ee = /['"]/g; +function re(e2, r2, t2) { + return e2.slice(0, r2) + t2 + e2.slice(r2 + 1); +} +function te(e2, r2) { + var t2, n2, s2, o2, i2, a2, c2, l2, u2, p2, h2, f2, d2, m2, g2, _2, k2, b2, v2, C2, y2; + for (v2 = [], t2 = 0; t2 < e2.length; t2++) { + for (n2 = e2[t2], c2 = e2[t2].level, k2 = v2.length - 1; k2 >= 0 && !(v2[k2].level <= c2); k2--) + ; + if (v2.length = k2 + 1, "text" === n2.type) { + i2 = 0, a2 = (s2 = n2.content).length; + e: + for (; i2 < a2 && (ee.lastIndex = i2, o2 = ee.exec(s2)); ) { + if (g2 = _2 = true, i2 = o2.index + 1, b2 = "'" === o2[0], u2 = 32, o2.index - 1 >= 0) + u2 = s2.charCodeAt(o2.index - 1); + else + for (k2 = t2 - 1; k2 >= 0 && ("softbreak" !== e2[k2].type && "hardbreak" !== e2[k2].type); k2--) + if (e2[k2].content) { + u2 = e2[k2].content.charCodeAt(e2[k2].content.length - 1); + break; + } + if (p2 = 32, i2 < a2) + p2 = s2.charCodeAt(i2); + else + for (k2 = t2 + 1; k2 < e2.length && ("softbreak" !== e2[k2].type && "hardbreak" !== e2[k2].type); k2++) + if (e2[k2].content) { + p2 = e2[k2].content.charCodeAt(0); + break; + } + if (h2 = Q(u2) || K(String.fromCharCode(u2)), f2 = Q(p2) || K(String.fromCharCode(p2)), d2 = Y(u2), (m2 = Y(p2)) ? g2 = false : f2 && (d2 || h2 || (g2 = false)), d2 ? _2 = false : h2 && (m2 || f2 || (_2 = false)), 34 === p2 && '"' === o2[0] && u2 >= 48 && u2 <= 57 && (_2 = g2 = false), g2 && _2 && (g2 = h2, _2 = f2), g2 || _2) { + if (_2) { + for (k2 = v2.length - 1; k2 >= 0 && (l2 = v2[k2], !(v2[k2].level < c2)); k2--) + if (l2.single === b2 && v2[k2].level === c2) { + l2 = v2[k2], b2 ? (C2 = r2.md.options.quotes[2], y2 = r2.md.options.quotes[3]) : (C2 = r2.md.options.quotes[0], y2 = r2.md.options.quotes[1]), n2.content = re(n2.content, o2.index, y2), e2[l2.token].content = re(e2[l2.token].content, l2.pos, C2), i2 += y2.length - 1, l2.token === t2 && (i2 += C2.length - 1), a2 = (s2 = n2.content).length, v2.length = k2; + continue e; + } + } + g2 ? v2.push({ token: t2, pos: o2.index, single: b2, level: c2 }) : _2 && b2 && (n2.content = re(n2.content, o2.index, "\u2019")); + } else + b2 && (n2.content = re(n2.content, o2.index, "\u2019")); + } + } + } +} +function ne(e2, r2, t2) { + this.type = e2, this.tag = r2, this.attrs = null, this.map = null, this.nesting = t2, this.level = 0, this.children = null, this.content = "", this.markup = "", this.info = "", this.meta = null, this.block = false, this.hidden = false; +} +ne.prototype.attrIndex = function(e2) { + var r2, t2, n2; + if (!this.attrs) + return -1; + for (t2 = 0, n2 = (r2 = this.attrs).length; t2 < n2; t2++) + if (r2[t2][0] === e2) + return t2; + return -1; +}, ne.prototype.attrPush = function(e2) { + this.attrs ? this.attrs.push(e2) : this.attrs = [e2]; +}, ne.prototype.attrSet = function(e2, r2) { + var t2 = this.attrIndex(e2), n2 = [e2, r2]; + t2 < 0 ? this.attrPush(n2) : this.attrs[t2] = n2; +}, ne.prototype.attrGet = function(e2) { + var r2 = this.attrIndex(e2), t2 = null; + return r2 >= 0 && (t2 = this.attrs[r2][1]), t2; +}, ne.prototype.attrJoin = function(e2, r2) { + var t2 = this.attrIndex(e2); + t2 < 0 ? this.attrPush([e2, r2]) : this.attrs[t2][1] = this.attrs[t2][1] + " " + r2; +}; +var se = ne, oe = se; +function ie(e2, r2, t2) { + this.src = e2, this.env = t2, this.tokens = [], this.inlineMode = false, this.md = r2; +} +ie.prototype.Token = oe; +var ae = ie, ce = N, le = [["normalize", function(e2) { + var r2; + r2 = (r2 = e2.src.replace(O, "\n")).replace(P, "\uFFFD"), e2.src = r2; +}], ["block", function(e2) { + var r2; + e2.inlineMode ? ((r2 = new e2.Token("inline", "", 0)).content = e2.src, r2.map = [0, 1], r2.children = [], e2.tokens.push(r2)) : e2.md.block.parse(e2.src, e2.md, e2.env, e2.tokens); +}], ["inline", function(e2) { + var r2, t2, n2, s2 = e2.tokens; + for (t2 = 0, n2 = s2.length; t2 < n2; t2++) + "inline" === (r2 = s2[t2]).type && e2.md.inline.parse(r2.content, e2.md, e2.env, r2.children); +}], ["linkify", function(e2) { + var r2, t2, n2, s2, o2, i2, a2, c2, l2, u2, p2, h2, f2, d2, m2, g2, _2, k2, b2 = e2.tokens; + if (e2.md.options.linkify) { + for (t2 = 0, n2 = b2.length; t2 < n2; t2++) + if ("inline" === b2[t2].type && e2.md.linkify.pretest(b2[t2].content)) + for (f2 = 0, r2 = (s2 = b2[t2].children).length - 1; r2 >= 0; r2--) + if ("link_close" !== (i2 = s2[r2]).type) { + if ("html_inline" === i2.type && (k2 = i2.content, /^\s]/i.test(k2) && f2 > 0 && f2--, U(i2.content) && f2++), !(f2 > 0) && "text" === i2.type && e2.md.linkify.test(i2.content)) { + for (l2 = i2.content, _2 = e2.md.linkify.match(l2), a2 = [], h2 = i2.level, p2 = 0, _2.length > 0 && 0 === _2[0].index && r2 > 0 && "text_special" === s2[r2 - 1].type && (_2 = _2.slice(1)), c2 = 0; c2 < _2.length; c2++) + d2 = _2[c2].url, m2 = e2.md.normalizeLink(d2), e2.md.validateLink(m2) && (g2 = _2[c2].text, g2 = _2[c2].schema ? "mailto:" !== _2[c2].schema || /^mailto:/i.test(g2) ? e2.md.normalizeLinkText(g2) : e2.md.normalizeLinkText("mailto:" + g2).replace(/^mailto:/, "") : e2.md.normalizeLinkText("http://" + g2).replace(/^http:\/\//, ""), (u2 = _2[c2].index) > p2 && ((o2 = new e2.Token("text", "", 0)).content = l2.slice(p2, u2), o2.level = h2, a2.push(o2)), (o2 = new e2.Token("link_open", "a", 1)).attrs = [["href", m2]], o2.level = h2++, o2.markup = "linkify", o2.info = "auto", a2.push(o2), (o2 = new e2.Token("text", "", 0)).content = g2, o2.level = h2, a2.push(o2), (o2 = new e2.Token("link_close", "a", -1)).level = --h2, o2.markup = "linkify", o2.info = "auto", a2.push(o2), p2 = _2[c2].lastIndex); + p2 < l2.length && ((o2 = new e2.Token("text", "", 0)).content = l2.slice(p2), o2.level = h2, a2.push(o2)), b2[t2].children = s2 = j(s2, r2, a2); + } + } else + for (r2--; s2[r2].level !== i2.level && "link_open" !== s2[r2].type; ) + r2--; + } +}], ["replacements", function(e2) { + var r2; + if (e2.md.options.typographer) + for (r2 = e2.tokens.length - 1; r2 >= 0; r2--) + "inline" === e2.tokens[r2].type && (Z.test(e2.tokens[r2].content) && J(e2.tokens[r2].children), V.test(e2.tokens[r2].content) && W(e2.tokens[r2].children)); +}], ["smartquotes", function(e2) { + var r2; + if (e2.md.options.typographer) + for (r2 = e2.tokens.length - 1; r2 >= 0; r2--) + "inline" === e2.tokens[r2].type && X.test(e2.tokens[r2].content) && te(e2.tokens[r2].children, e2); +}], ["text_join", function(e2) { + var r2, t2, n2, s2, o2, i2, a2 = e2.tokens; + for (r2 = 0, t2 = a2.length; r2 < t2; r2++) + if ("inline" === a2[r2].type) { + for (o2 = (n2 = a2[r2].children).length, s2 = 0; s2 < o2; s2++) + "text_special" === n2[s2].type && (n2[s2].type = "text"); + for (s2 = i2 = 0; s2 < o2; s2++) + "text" === n2[s2].type && s2 + 1 < o2 && "text" === n2[s2 + 1].type ? n2[s2 + 1].content = n2[s2].content + n2[s2 + 1].content : (s2 !== i2 && (n2[i2] = n2[s2]), i2++); + s2 !== i2 && (n2.length = i2); + } +}]]; +function ue() { + this.ruler = new ce(); + for (var e2 = 0; e2 < le.length; e2++) + this.ruler.push(le[e2][0], le[e2][1]); +} +ue.prototype.process = function(e2) { + var r2, t2, n2; + for (r2 = 0, t2 = (n2 = this.ruler.getRules("")).length; r2 < t2; r2++) + n2[r2](e2); +}, ue.prototype.State = ae; +var pe = ue, he = r.isSpace; +function fe(e2, r2) { + var t2 = e2.bMarks[r2] + e2.tShift[r2], n2 = e2.eMarks[r2]; + return e2.src.slice(t2, n2); +} +function de(e2) { + var r2, t2 = [], n2 = 0, s2 = e2.length, o2 = false, i2 = 0, a2 = ""; + for (r2 = e2.charCodeAt(n2); n2 < s2; ) + 124 === r2 && (o2 ? (a2 += e2.substring(i2, n2 - 1), i2 = n2) : (t2.push(a2 + e2.substring(i2, n2)), a2 = "", i2 = n2 + 1)), o2 = 92 === r2, n2++, r2 = e2.charCodeAt(n2); + return t2.push(a2 + e2.substring(i2)), t2; +} +var me = r.isSpace, ge = r.isSpace, _e = r.isSpace; +function ke(e2, r2) { + var t2, n2, s2, o2; + return n2 = e2.bMarks[r2] + e2.tShift[r2], s2 = e2.eMarks[r2], 42 !== (t2 = e2.src.charCodeAt(n2++)) && 45 !== t2 && 43 !== t2 || n2 < s2 && (o2 = e2.src.charCodeAt(n2), !_e(o2)) ? -1 : n2; +} +function be(e2, r2) { + var t2, n2 = e2.bMarks[r2] + e2.tShift[r2], s2 = n2, o2 = e2.eMarks[r2]; + if (s2 + 1 >= o2) + return -1; + if ((t2 = e2.src.charCodeAt(s2++)) < 48 || t2 > 57) + return -1; + for (; ; ) { + if (s2 >= o2) + return -1; + if (!((t2 = e2.src.charCodeAt(s2++)) >= 48 && t2 <= 57)) { + if (41 === t2 || 46 === t2) + break; + return -1; + } + if (s2 - n2 >= 10) + return -1; + } + return s2 < o2 && (t2 = e2.src.charCodeAt(s2), !_e(t2)) ? -1 : s2; +} +var ve = r.normalizeReference, Ce = r.isSpace, ye = {}, Ae = `<[A-Za-z][A-Za-z0-9\\-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^"'=<>\`\\x00-\\x20]+|'[^']*'|"[^"]*"))?)*\\s*\\/?>`, xe = "<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>", De = new RegExp("^(?:" + Ae + "|" + xe + "|||<[?][\\s\\S]*?[?]>|]*>|)"), we = new RegExp("^(?:" + Ae + "|" + xe + ")"); +ye.HTML_TAG_RE = De, ye.HTML_OPEN_CLOSE_TAG_RE = we; +var Ee = ["address", "article", "aside", "base", "basefont", "blockquote", "body", "caption", "center", "col", "colgroup", "dd", "details", "dialog", "dir", "div", "dl", "dt", "fieldset", "figcaption", "figure", "footer", "form", "frame", "frameset", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hr", "html", "iframe", "legend", "li", "link", "main", "menu", "menuitem", "nav", "noframes", "ol", "optgroup", "option", "p", "param", "section", "source", "summary", "table", "tbody", "td", "tfoot", "th", "thead", "title", "tr", "track", "ul"], qe = ye.HTML_OPEN_CLOSE_TAG_RE, Se = [[/^<(script|pre|style|textarea)(?=(\s|>|$))/i, /<\/(script|pre|style|textarea)>/i, true], [/^/, true], [/^<\?/, /\?>/, true], [/^/, true], [/^/, true], [new RegExp("^|$))", "i"), /^$/, true], [new RegExp(qe.source + "\\s*$"), /^$/, false]], Fe = r.isSpace, Le = se, ze = r.isSpace; +function Te(e2, r2, t2, n2) { + var s2, o2, i2, a2, c2, l2, u2, p2; + for (this.src = e2, this.md = r2, this.env = t2, this.tokens = n2, this.bMarks = [], this.eMarks = [], this.tShift = [], this.sCount = [], this.bsCount = [], this.blkIndent = 0, this.line = 0, this.lineMax = 0, this.tight = false, this.ddIndent = -1, this.listIndent = -1, this.parentType = "root", this.level = 0, this.result = "", p2 = false, i2 = a2 = l2 = u2 = 0, c2 = (o2 = this.src).length; a2 < c2; a2++) { + if (s2 = o2.charCodeAt(a2), !p2) { + if (ze(s2)) { + l2++, 9 === s2 ? u2 += 4 - u2 % 4 : u2++; + continue; + } + p2 = true; + } + 10 !== s2 && a2 !== c2 - 1 || (10 !== s2 && a2++, this.bMarks.push(i2), this.eMarks.push(a2), this.tShift.push(l2), this.sCount.push(u2), this.bsCount.push(0), p2 = false, l2 = 0, u2 = 0, i2 = a2 + 1); + } + this.bMarks.push(o2.length), this.eMarks.push(o2.length), this.tShift.push(0), this.sCount.push(0), this.bsCount.push(0), this.lineMax = this.bMarks.length - 1; +} +Te.prototype.push = function(e2, r2, t2) { + var n2 = new Le(e2, r2, t2); + return n2.block = true, t2 < 0 && this.level--, n2.level = this.level, t2 > 0 && this.level++, this.tokens.push(n2), n2; +}, Te.prototype.isEmpty = function(e2) { + return this.bMarks[e2] + this.tShift[e2] >= this.eMarks[e2]; +}, Te.prototype.skipEmptyLines = function(e2) { + for (var r2 = this.lineMax; e2 < r2 && !(this.bMarks[e2] + this.tShift[e2] < this.eMarks[e2]); e2++) + ; + return e2; +}, Te.prototype.skipSpaces = function(e2) { + for (var r2, t2 = this.src.length; e2 < t2 && (r2 = this.src.charCodeAt(e2), ze(r2)); e2++) + ; + return e2; +}, Te.prototype.skipSpacesBack = function(e2, r2) { + if (e2 <= r2) + return e2; + for (; e2 > r2; ) + if (!ze(this.src.charCodeAt(--e2))) + return e2 + 1; + return e2; +}, Te.prototype.skipChars = function(e2, r2) { + for (var t2 = this.src.length; e2 < t2 && this.src.charCodeAt(e2) === r2; e2++) + ; + return e2; +}, Te.prototype.skipCharsBack = function(e2, r2, t2) { + if (e2 <= t2) + return e2; + for (; e2 > t2; ) + if (r2 !== this.src.charCodeAt(--e2)) + return e2 + 1; + return e2; +}, Te.prototype.getLines = function(e2, r2, t2, n2) { + var s2, o2, i2, a2, c2, l2, u2, p2 = e2; + if (e2 >= r2) + return ""; + for (l2 = new Array(r2 - e2), s2 = 0; p2 < r2; p2++, s2++) { + for (o2 = 0, u2 = a2 = this.bMarks[p2], c2 = p2 + 1 < r2 || n2 ? this.eMarks[p2] + 1 : this.eMarks[p2]; a2 < c2 && o2 < t2; ) { + if (i2 = this.src.charCodeAt(a2), ze(i2)) + 9 === i2 ? o2 += 4 - (o2 + this.bsCount[p2]) % 4 : o2++; + else { + if (!(a2 - u2 < this.tShift[p2])) + break; + o2++; + } + a2++; + } + l2[s2] = o2 > t2 ? new Array(o2 - t2 + 1).join(" ") + this.src.slice(a2, c2) : this.src.slice(a2, c2); + } + return l2.join(""); +}, Te.prototype.Token = Le; +var Ie = Te, Me = N, Re = [["table", function(e2, r2, t2, n2) { + var s2, o2, i2, a2, c2, l2, u2, p2, h2, f2, d2, m2, g2, _2, k2, b2, v2, C2; + if (r2 + 2 > t2) + return false; + if (l2 = r2 + 1, e2.sCount[l2] < e2.blkIndent) + return false; + if (e2.sCount[l2] - e2.blkIndent >= 4) + return false; + if ((i2 = e2.bMarks[l2] + e2.tShift[l2]) >= e2.eMarks[l2]) + return false; + if (124 !== (v2 = e2.src.charCodeAt(i2++)) && 45 !== v2 && 58 !== v2) + return false; + if (i2 >= e2.eMarks[l2]) + return false; + if (124 !== (C2 = e2.src.charCodeAt(i2++)) && 45 !== C2 && 58 !== C2 && !he(C2)) + return false; + if (45 === v2 && he(C2)) + return false; + for (; i2 < e2.eMarks[l2]; ) { + if (124 !== (s2 = e2.src.charCodeAt(i2)) && 45 !== s2 && 58 !== s2 && !he(s2)) + return false; + i2++; + } + for (u2 = (o2 = fe(e2, r2 + 1)).split("|"), f2 = [], a2 = 0; a2 < u2.length; a2++) { + if (!(d2 = u2[a2].trim())) { + if (0 === a2 || a2 === u2.length - 1) + continue; + return false; + } + if (!/^:?-+:?$/.test(d2)) + return false; + 58 === d2.charCodeAt(d2.length - 1) ? f2.push(58 === d2.charCodeAt(0) ? "center" : "right") : 58 === d2.charCodeAt(0) ? f2.push("left") : f2.push(""); + } + if (-1 === (o2 = fe(e2, r2).trim()).indexOf("|")) + return false; + if (e2.sCount[r2] - e2.blkIndent >= 4) + return false; + if ((u2 = de(o2)).length && "" === u2[0] && u2.shift(), u2.length && "" === u2[u2.length - 1] && u2.pop(), 0 === (p2 = u2.length) || p2 !== f2.length) + return false; + if (n2) + return true; + for (_2 = e2.parentType, e2.parentType = "table", b2 = e2.md.block.ruler.getRules("blockquote"), (h2 = e2.push("table_open", "table", 1)).map = m2 = [r2, 0], (h2 = e2.push("thead_open", "thead", 1)).map = [r2, r2 + 1], (h2 = e2.push("tr_open", "tr", 1)).map = [r2, r2 + 1], a2 = 0; a2 < u2.length; a2++) + h2 = e2.push("th_open", "th", 1), f2[a2] && (h2.attrs = [["style", "text-align:" + f2[a2]]]), (h2 = e2.push("inline", "", 0)).content = u2[a2].trim(), h2.children = [], h2 = e2.push("th_close", "th", -1); + for (h2 = e2.push("tr_close", "tr", -1), h2 = e2.push("thead_close", "thead", -1), l2 = r2 + 2; l2 < t2 && !(e2.sCount[l2] < e2.blkIndent); l2++) { + for (k2 = false, a2 = 0, c2 = b2.length; a2 < c2; a2++) + if (b2[a2](e2, l2, t2, true)) { + k2 = true; + break; + } + if (k2) + break; + if (!(o2 = fe(e2, l2).trim())) + break; + if (e2.sCount[l2] - e2.blkIndent >= 4) + break; + for ((u2 = de(o2)).length && "" === u2[0] && u2.shift(), u2.length && "" === u2[u2.length - 1] && u2.pop(), l2 === r2 + 2 && ((h2 = e2.push("tbody_open", "tbody", 1)).map = g2 = [r2 + 2, 0]), (h2 = e2.push("tr_open", "tr", 1)).map = [l2, l2 + 1], a2 = 0; a2 < p2; a2++) + h2 = e2.push("td_open", "td", 1), f2[a2] && (h2.attrs = [["style", "text-align:" + f2[a2]]]), (h2 = e2.push("inline", "", 0)).content = u2[a2] ? u2[a2].trim() : "", h2.children = [], h2 = e2.push("td_close", "td", -1); + h2 = e2.push("tr_close", "tr", -1); + } + return g2 && (h2 = e2.push("tbody_close", "tbody", -1), g2[1] = l2), h2 = e2.push("table_close", "table", -1), m2[1] = l2, e2.parentType = _2, e2.line = l2, true; +}, ["paragraph", "reference"]], ["code", function(e2, r2, t2) { + var n2, s2, o2; + if (e2.sCount[r2] - e2.blkIndent < 4) + return false; + for (s2 = n2 = r2 + 1; n2 < t2; ) + if (e2.isEmpty(n2)) + n2++; + else { + if (!(e2.sCount[n2] - e2.blkIndent >= 4)) + break; + s2 = ++n2; + } + return e2.line = s2, (o2 = e2.push("code_block", "code", 0)).content = e2.getLines(r2, s2, 4 + e2.blkIndent, false) + "\n", o2.map = [r2, e2.line], true; +}], ["fence", function(e2, r2, t2, n2) { + var s2, o2, i2, a2, c2, l2, u2, p2 = false, h2 = e2.bMarks[r2] + e2.tShift[r2], f2 = e2.eMarks[r2]; + if (e2.sCount[r2] - e2.blkIndent >= 4) + return false; + if (h2 + 3 > f2) + return false; + if (126 !== (s2 = e2.src.charCodeAt(h2)) && 96 !== s2) + return false; + if (c2 = h2, (o2 = (h2 = e2.skipChars(h2, s2)) - c2) < 3) + return false; + if (u2 = e2.src.slice(c2, h2), i2 = e2.src.slice(h2, f2), 96 === s2 && i2.indexOf(String.fromCharCode(s2)) >= 0) + return false; + if (n2) + return true; + for (a2 = r2; !(++a2 >= t2) && !((h2 = c2 = e2.bMarks[a2] + e2.tShift[a2]) < (f2 = e2.eMarks[a2]) && e2.sCount[a2] < e2.blkIndent); ) + if (e2.src.charCodeAt(h2) === s2 && !(e2.sCount[a2] - e2.blkIndent >= 4 || (h2 = e2.skipChars(h2, s2)) - c2 < o2 || (h2 = e2.skipSpaces(h2)) < f2)) { + p2 = true; + break; + } + return o2 = e2.sCount[r2], e2.line = a2 + (p2 ? 1 : 0), (l2 = e2.push("fence", "code", 0)).info = i2, l2.content = e2.getLines(r2 + 1, a2, o2, true), l2.markup = u2, l2.map = [r2, e2.line], true; +}, ["paragraph", "reference", "blockquote", "list"]], ["blockquote", function(e2, r2, t2, n2) { + var s2, o2, i2, a2, c2, l2, u2, p2, h2, f2, d2, m2, g2, _2, k2, b2, v2, C2, y2, A2, x2 = e2.lineMax, D2 = e2.bMarks[r2] + e2.tShift[r2], w2 = e2.eMarks[r2]; + if (e2.sCount[r2] - e2.blkIndent >= 4) + return false; + if (62 !== e2.src.charCodeAt(D2++)) + return false; + if (n2) + return true; + for (a2 = h2 = e2.sCount[r2] + 1, 32 === e2.src.charCodeAt(D2) ? (D2++, a2++, h2++, s2 = false, b2 = true) : 9 === e2.src.charCodeAt(D2) ? (b2 = true, (e2.bsCount[r2] + h2) % 4 == 3 ? (D2++, a2++, h2++, s2 = false) : s2 = true) : b2 = false, f2 = [e2.bMarks[r2]], e2.bMarks[r2] = D2; D2 < w2 && (o2 = e2.src.charCodeAt(D2), me(o2)); ) + 9 === o2 ? h2 += 4 - (h2 + e2.bsCount[r2] + (s2 ? 1 : 0)) % 4 : h2++, D2++; + for (d2 = [e2.bsCount[r2]], e2.bsCount[r2] = e2.sCount[r2] + 1 + (b2 ? 1 : 0), l2 = D2 >= w2, _2 = [e2.sCount[r2]], e2.sCount[r2] = h2 - a2, k2 = [e2.tShift[r2]], e2.tShift[r2] = D2 - e2.bMarks[r2], C2 = e2.md.block.ruler.getRules("blockquote"), g2 = e2.parentType, e2.parentType = "blockquote", p2 = r2 + 1; p2 < t2 && (A2 = e2.sCount[p2] < e2.blkIndent, !((D2 = e2.bMarks[p2] + e2.tShift[p2]) >= (w2 = e2.eMarks[p2]))); p2++) + if (62 !== e2.src.charCodeAt(D2++) || A2) { + if (l2) + break; + for (v2 = false, i2 = 0, c2 = C2.length; i2 < c2; i2++) + if (C2[i2](e2, p2, t2, true)) { + v2 = true; + break; + } + if (v2) { + e2.lineMax = p2, 0 !== e2.blkIndent && (f2.push(e2.bMarks[p2]), d2.push(e2.bsCount[p2]), k2.push(e2.tShift[p2]), _2.push(e2.sCount[p2]), e2.sCount[p2] -= e2.blkIndent); + break; + } + f2.push(e2.bMarks[p2]), d2.push(e2.bsCount[p2]), k2.push(e2.tShift[p2]), _2.push(e2.sCount[p2]), e2.sCount[p2] = -1; + } else { + for (a2 = h2 = e2.sCount[p2] + 1, 32 === e2.src.charCodeAt(D2) ? (D2++, a2++, h2++, s2 = false, b2 = true) : 9 === e2.src.charCodeAt(D2) ? (b2 = true, (e2.bsCount[p2] + h2) % 4 == 3 ? (D2++, a2++, h2++, s2 = false) : s2 = true) : b2 = false, f2.push(e2.bMarks[p2]), e2.bMarks[p2] = D2; D2 < w2 && (o2 = e2.src.charCodeAt(D2), me(o2)); ) + 9 === o2 ? h2 += 4 - (h2 + e2.bsCount[p2] + (s2 ? 1 : 0)) % 4 : h2++, D2++; + l2 = D2 >= w2, d2.push(e2.bsCount[p2]), e2.bsCount[p2] = e2.sCount[p2] + 1 + (b2 ? 1 : 0), _2.push(e2.sCount[p2]), e2.sCount[p2] = h2 - a2, k2.push(e2.tShift[p2]), e2.tShift[p2] = D2 - e2.bMarks[p2]; + } + for (m2 = e2.blkIndent, e2.blkIndent = 0, (y2 = e2.push("blockquote_open", "blockquote", 1)).markup = ">", y2.map = u2 = [r2, 0], e2.md.block.tokenize(e2, r2, p2), (y2 = e2.push("blockquote_close", "blockquote", -1)).markup = ">", e2.lineMax = x2, e2.parentType = g2, u2[1] = e2.line, i2 = 0; i2 < k2.length; i2++) + e2.bMarks[i2 + r2] = f2[i2], e2.tShift[i2 + r2] = k2[i2], e2.sCount[i2 + r2] = _2[i2], e2.bsCount[i2 + r2] = d2[i2]; + return e2.blkIndent = m2, true; +}, ["paragraph", "reference", "blockquote", "list"]], ["hr", function(e2, r2, t2, n2) { + var s2, o2, i2, a2, c2 = e2.bMarks[r2] + e2.tShift[r2], l2 = e2.eMarks[r2]; + if (e2.sCount[r2] - e2.blkIndent >= 4) + return false; + if (42 !== (s2 = e2.src.charCodeAt(c2++)) && 45 !== s2 && 95 !== s2) + return false; + for (o2 = 1; c2 < l2; ) { + if ((i2 = e2.src.charCodeAt(c2++)) !== s2 && !ge(i2)) + return false; + i2 === s2 && o2++; + } + return !(o2 < 3) && (n2 || (e2.line = r2 + 1, (a2 = e2.push("hr", "hr", 0)).map = [r2, e2.line], a2.markup = Array(o2 + 1).join(String.fromCharCode(s2))), true); +}, ["paragraph", "reference", "blockquote", "list"]], ["list", function(e2, r2, t2, n2) { + var s2, o2, i2, a2, c2, l2, u2, p2, h2, f2, d2, m2, g2, _2, k2, b2, v2, C2, y2, A2, x2, D2, w2, E2, q2, S2, F2, L2, z2 = false, T2 = true; + if (e2.sCount[r2] - e2.blkIndent >= 4) + return false; + if (e2.listIndent >= 0 && e2.sCount[r2] - e2.listIndent >= 4 && e2.sCount[r2] < e2.blkIndent) + return false; + if (n2 && "paragraph" === e2.parentType && e2.sCount[r2] >= e2.blkIndent && (z2 = true), (w2 = be(e2, r2)) >= 0) { + if (u2 = true, q2 = e2.bMarks[r2] + e2.tShift[r2], g2 = Number(e2.src.slice(q2, w2 - 1)), z2 && 1 !== g2) + return false; + } else { + if (!((w2 = ke(e2, r2)) >= 0)) + return false; + u2 = false; + } + if (z2 && e2.skipSpaces(w2) >= e2.eMarks[r2]) + return false; + if (m2 = e2.src.charCodeAt(w2 - 1), n2) + return true; + for (d2 = e2.tokens.length, u2 ? (L2 = e2.push("ordered_list_open", "ol", 1), 1 !== g2 && (L2.attrs = [["start", g2]])) : L2 = e2.push("bullet_list_open", "ul", 1), L2.map = f2 = [r2, 0], L2.markup = String.fromCharCode(m2), k2 = r2, E2 = false, F2 = e2.md.block.ruler.getRules("list"), C2 = e2.parentType, e2.parentType = "list"; k2 < t2; ) { + for (D2 = w2, _2 = e2.eMarks[k2], l2 = b2 = e2.sCount[k2] + w2 - (e2.bMarks[r2] + e2.tShift[r2]); D2 < _2; ) { + if (9 === (s2 = e2.src.charCodeAt(D2))) + b2 += 4 - (b2 + e2.bsCount[k2]) % 4; + else { + if (32 !== s2) + break; + b2++; + } + D2++; + } + if ((c2 = (o2 = D2) >= _2 ? 1 : b2 - l2) > 4 && (c2 = 1), a2 = l2 + c2, (L2 = e2.push("list_item_open", "li", 1)).markup = String.fromCharCode(m2), L2.map = p2 = [r2, 0], u2 && (L2.info = e2.src.slice(q2, w2 - 1)), x2 = e2.tight, A2 = e2.tShift[r2], y2 = e2.sCount[r2], v2 = e2.listIndent, e2.listIndent = e2.blkIndent, e2.blkIndent = a2, e2.tight = true, e2.tShift[r2] = o2 - e2.bMarks[r2], e2.sCount[r2] = b2, o2 >= _2 && e2.isEmpty(r2 + 1) ? e2.line = Math.min(e2.line + 2, t2) : e2.md.block.tokenize(e2, r2, t2, true), e2.tight && !E2 || (T2 = false), E2 = e2.line - r2 > 1 && e2.isEmpty(e2.line - 1), e2.blkIndent = e2.listIndent, e2.listIndent = v2, e2.tShift[r2] = A2, e2.sCount[r2] = y2, e2.tight = x2, (L2 = e2.push("list_item_close", "li", -1)).markup = String.fromCharCode(m2), k2 = r2 = e2.line, p2[1] = k2, o2 = e2.bMarks[r2], k2 >= t2) + break; + if (e2.sCount[k2] < e2.blkIndent) + break; + if (e2.sCount[r2] - e2.blkIndent >= 4) + break; + for (S2 = false, i2 = 0, h2 = F2.length; i2 < h2; i2++) + if (F2[i2](e2, k2, t2, true)) { + S2 = true; + break; + } + if (S2) + break; + if (u2) { + if ((w2 = be(e2, k2)) < 0) + break; + q2 = e2.bMarks[k2] + e2.tShift[k2]; + } else if ((w2 = ke(e2, k2)) < 0) + break; + if (m2 !== e2.src.charCodeAt(w2 - 1)) + break; + } + return (L2 = u2 ? e2.push("ordered_list_close", "ol", -1) : e2.push("bullet_list_close", "ul", -1)).markup = String.fromCharCode(m2), f2[1] = k2, e2.line = k2, e2.parentType = C2, T2 && function(e3, r3) { + var t3, n3, s3 = e3.level + 2; + for (t3 = r3 + 2, n3 = e3.tokens.length - 2; t3 < n3; t3++) + e3.tokens[t3].level === s3 && "paragraph_open" === e3.tokens[t3].type && (e3.tokens[t3 + 2].hidden = true, e3.tokens[t3].hidden = true, t3 += 2); + }(e2, d2), true; +}, ["paragraph", "reference", "blockquote"]], ["reference", function(e2, r2, t2, n2) { + var s2, o2, i2, a2, c2, l2, u2, p2, h2, f2, d2, m2, g2, _2, k2, b2, v2 = 0, C2 = e2.bMarks[r2] + e2.tShift[r2], y2 = e2.eMarks[r2], A2 = r2 + 1; + if (e2.sCount[r2] - e2.blkIndent >= 4) + return false; + if (91 !== e2.src.charCodeAt(C2)) + return false; + for (; ++C2 < y2; ) + if (93 === e2.src.charCodeAt(C2) && 92 !== e2.src.charCodeAt(C2 - 1)) { + if (C2 + 1 === y2) + return false; + if (58 !== e2.src.charCodeAt(C2 + 1)) + return false; + break; + } + for (a2 = e2.lineMax, k2 = e2.md.block.ruler.getRules("reference"), f2 = e2.parentType, e2.parentType = "reference"; A2 < a2 && !e2.isEmpty(A2); A2++) + if (!(e2.sCount[A2] - e2.blkIndent > 3 || e2.sCount[A2] < 0)) { + for (_2 = false, l2 = 0, u2 = k2.length; l2 < u2; l2++) + if (k2[l2](e2, A2, a2, true)) { + _2 = true; + break; + } + if (_2) + break; + } + for (y2 = (g2 = e2.getLines(r2, A2, e2.blkIndent, false).trim()).length, C2 = 1; C2 < y2; C2++) { + if (91 === (s2 = g2.charCodeAt(C2))) + return false; + if (93 === s2) { + h2 = C2; + break; + } + (10 === s2 || 92 === s2 && ++C2 < y2 && 10 === g2.charCodeAt(C2)) && v2++; + } + if (h2 < 0 || 58 !== g2.charCodeAt(h2 + 1)) + return false; + for (C2 = h2 + 2; C2 < y2; C2++) + if (10 === (s2 = g2.charCodeAt(C2))) + v2++; + else if (!Ce(s2)) + break; + if (!(d2 = e2.md.helpers.parseLinkDestination(g2, C2, y2)).ok) + return false; + if (c2 = e2.md.normalizeLink(d2.str), !e2.md.validateLink(c2)) + return false; + for (o2 = C2 = d2.pos, i2 = v2 += d2.lines, m2 = C2; C2 < y2; C2++) + if (10 === (s2 = g2.charCodeAt(C2))) + v2++; + else if (!Ce(s2)) + break; + for (d2 = e2.md.helpers.parseLinkTitle(g2, C2, y2), C2 < y2 && m2 !== C2 && d2.ok ? (b2 = d2.str, C2 = d2.pos, v2 += d2.lines) : (b2 = "", C2 = o2, v2 = i2); C2 < y2 && (s2 = g2.charCodeAt(C2), Ce(s2)); ) + C2++; + if (C2 < y2 && 10 !== g2.charCodeAt(C2) && b2) + for (b2 = "", C2 = o2, v2 = i2; C2 < y2 && (s2 = g2.charCodeAt(C2), Ce(s2)); ) + C2++; + return !(C2 < y2 && 10 !== g2.charCodeAt(C2)) && (!!(p2 = ve(g2.slice(1, h2))) && (n2 || (void 0 === e2.env.references && (e2.env.references = {}), void 0 === e2.env.references[p2] && (e2.env.references[p2] = { title: b2, href: c2 }), e2.parentType = f2, e2.line = r2 + v2 + 1), true)); +}], ["html_block", function(e2, r2, t2, n2) { + var s2, o2, i2, a2, c2 = e2.bMarks[r2] + e2.tShift[r2], l2 = e2.eMarks[r2]; + if (e2.sCount[r2] - e2.blkIndent >= 4) + return false; + if (!e2.md.options.html) + return false; + if (60 !== e2.src.charCodeAt(c2)) + return false; + for (a2 = e2.src.slice(c2, l2), s2 = 0; s2 < Se.length && !Se[s2][0].test(a2); s2++) + ; + if (s2 === Se.length) + return false; + if (n2) + return Se[s2][2]; + if (o2 = r2 + 1, !Se[s2][1].test(a2)) { + for (; o2 < t2 && !(e2.sCount[o2] < e2.blkIndent); o2++) + if (c2 = e2.bMarks[o2] + e2.tShift[o2], l2 = e2.eMarks[o2], a2 = e2.src.slice(c2, l2), Se[s2][1].test(a2)) { + 0 !== a2.length && o2++; + break; + } + } + return e2.line = o2, (i2 = e2.push("html_block", "", 0)).map = [r2, o2], i2.content = e2.getLines(r2, o2, e2.blkIndent, true), true; +}, ["paragraph", "reference", "blockquote"]], ["heading", function(e2, r2, t2, n2) { + var s2, o2, i2, a2, c2 = e2.bMarks[r2] + e2.tShift[r2], l2 = e2.eMarks[r2]; + if (e2.sCount[r2] - e2.blkIndent >= 4) + return false; + if (35 !== (s2 = e2.src.charCodeAt(c2)) || c2 >= l2) + return false; + for (o2 = 1, s2 = e2.src.charCodeAt(++c2); 35 === s2 && c2 < l2 && o2 <= 6; ) + o2++, s2 = e2.src.charCodeAt(++c2); + return !(o2 > 6 || c2 < l2 && !Fe(s2)) && (n2 || (l2 = e2.skipSpacesBack(l2, c2), (i2 = e2.skipCharsBack(l2, 35, c2)) > c2 && Fe(e2.src.charCodeAt(i2 - 1)) && (l2 = i2), e2.line = r2 + 1, (a2 = e2.push("heading_open", "h" + String(o2), 1)).markup = "########".slice(0, o2), a2.map = [r2, e2.line], (a2 = e2.push("inline", "", 0)).content = e2.src.slice(c2, l2).trim(), a2.map = [r2, e2.line], a2.children = [], (a2 = e2.push("heading_close", "h" + String(o2), -1)).markup = "########".slice(0, o2)), true); +}, ["paragraph", "reference", "blockquote"]], ["lheading", function(e2, r2, t2) { + var n2, s2, o2, i2, a2, c2, l2, u2, p2, h2, f2 = r2 + 1, d2 = e2.md.block.ruler.getRules("paragraph"); + if (e2.sCount[r2] - e2.blkIndent >= 4) + return false; + for (h2 = e2.parentType, e2.parentType = "paragraph"; f2 < t2 && !e2.isEmpty(f2); f2++) + if (!(e2.sCount[f2] - e2.blkIndent > 3)) { + if (e2.sCount[f2] >= e2.blkIndent && (c2 = e2.bMarks[f2] + e2.tShift[f2]) < (l2 = e2.eMarks[f2]) && (45 === (p2 = e2.src.charCodeAt(c2)) || 61 === p2) && (c2 = e2.skipChars(c2, p2), (c2 = e2.skipSpaces(c2)) >= l2)) { + u2 = 61 === p2 ? 1 : 2; + break; + } + if (!(e2.sCount[f2] < 0)) { + for (s2 = false, o2 = 0, i2 = d2.length; o2 < i2; o2++) + if (d2[o2](e2, f2, t2, true)) { + s2 = true; + break; + } + if (s2) + break; + } + } + return !!u2 && (n2 = e2.getLines(r2, f2, e2.blkIndent, false).trim(), e2.line = f2 + 1, (a2 = e2.push("heading_open", "h" + String(u2), 1)).markup = String.fromCharCode(p2), a2.map = [r2, e2.line], (a2 = e2.push("inline", "", 0)).content = n2, a2.map = [r2, e2.line - 1], a2.children = [], (a2 = e2.push("heading_close", "h" + String(u2), -1)).markup = String.fromCharCode(p2), e2.parentType = h2, true); +}], ["paragraph", function(e2, r2) { + var t2, n2, s2, o2, i2, a2, c2 = r2 + 1, l2 = e2.md.block.ruler.getRules("paragraph"), u2 = e2.lineMax; + for (a2 = e2.parentType, e2.parentType = "paragraph"; c2 < u2 && !e2.isEmpty(c2); c2++) + if (!(e2.sCount[c2] - e2.blkIndent > 3 || e2.sCount[c2] < 0)) { + for (n2 = false, s2 = 0, o2 = l2.length; s2 < o2; s2++) + if (l2[s2](e2, c2, u2, true)) { + n2 = true; + break; + } + if (n2) + break; + } + return t2 = e2.getLines(r2, c2, e2.blkIndent, false).trim(), e2.line = c2, (i2 = e2.push("paragraph_open", "p", 1)).map = [r2, e2.line], (i2 = e2.push("inline", "", 0)).content = t2, i2.map = [r2, e2.line], i2.children = [], i2 = e2.push("paragraph_close", "p", -1), e2.parentType = a2, true; +}]]; +function Be() { + this.ruler = new Me(); + for (var e2 = 0; e2 < Re.length; e2++) + this.ruler.push(Re[e2][0], Re[e2][1], { alt: (Re[e2][2] || []).slice() }); +} +Be.prototype.tokenize = function(e2, r2, t2) { + for (var n2, s2 = this.ruler.getRules(""), o2 = s2.length, i2 = r2, a2 = false, c2 = e2.md.options.maxNesting; i2 < t2 && (e2.line = i2 = e2.skipEmptyLines(i2), !(i2 >= t2)) && !(e2.sCount[i2] < e2.blkIndent); ) { + if (e2.level >= c2) { + e2.line = t2; + break; + } + for (n2 = 0; n2 < o2 && !s2[n2](e2, i2, t2, false); n2++) + ; + e2.tight = !a2, e2.isEmpty(e2.line - 1) && (a2 = true), (i2 = e2.line) < t2 && e2.isEmpty(i2) && (a2 = true, i2++, e2.line = i2); + } +}, Be.prototype.parse = function(e2, r2, t2, n2) { + var s2; + e2 && (s2 = new this.State(e2, r2, t2, n2), this.tokenize(s2, s2.line, s2.lineMax)); +}, Be.prototype.State = Ie; +var Ne = Be; +function Oe(e2) { + switch (e2) { + case 10: + case 33: + case 35: + case 36: + case 37: + case 38: + case 42: + case 43: + case 45: + case 58: + case 60: + case 61: + case 62: + case 64: + case 91: + case 92: + case 93: + case 94: + case 95: + case 96: + case 123: + case 125: + case 126: + return true; + default: + return false; + } +} +for (var Pe = /(?:^|[^a-z0-9.+-])([a-z][a-z0-9.+-]*)$/i, je = r.isSpace, Ue = r.isSpace, Ve = [], Ze = 0; Ze < 256; Ze++) + Ve.push(0); +"\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach(function(e2) { + Ve[e2.charCodeAt(0)] = 1; +}); +var $e = {}; +function Ge(e2, r2) { + var t2, n2, s2, o2, i2, a2 = [], c2 = r2.length; + for (t2 = 0; t2 < c2; t2++) + 126 === (s2 = r2[t2]).marker && -1 !== s2.end && (o2 = r2[s2.end], (i2 = e2.tokens[s2.token]).type = "s_open", i2.tag = "s", i2.nesting = 1, i2.markup = "~~", i2.content = "", (i2 = e2.tokens[o2.token]).type = "s_close", i2.tag = "s", i2.nesting = -1, i2.markup = "~~", i2.content = "", "text" === e2.tokens[o2.token - 1].type && "~" === e2.tokens[o2.token - 1].content && a2.push(o2.token - 1)); + for (; a2.length; ) { + for (n2 = (t2 = a2.pop()) + 1; n2 < e2.tokens.length && "s_close" === e2.tokens[n2].type; ) + n2++; + t2 !== --n2 && (i2 = e2.tokens[n2], e2.tokens[n2] = e2.tokens[t2], e2.tokens[t2] = i2); + } +} +$e.tokenize = function(e2, r2) { + var t2, n2, s2, o2, i2 = e2.pos, a2 = e2.src.charCodeAt(i2); + if (r2) + return false; + if (126 !== a2) + return false; + if (s2 = (n2 = e2.scanDelims(e2.pos, true)).length, o2 = String.fromCharCode(a2), s2 < 2) + return false; + for (s2 % 2 && (e2.push("text", "", 0).content = o2, s2--), t2 = 0; t2 < s2; t2 += 2) + e2.push("text", "", 0).content = o2 + o2, e2.delimiters.push({ marker: a2, length: 0, token: e2.tokens.length - 1, end: -1, open: n2.can_open, close: n2.can_close }); + return e2.pos += n2.length, true; +}, $e.postProcess = function(e2) { + var r2, t2 = e2.tokens_meta, n2 = e2.tokens_meta.length; + for (Ge(e2, e2.delimiters), r2 = 0; r2 < n2; r2++) + t2[r2] && t2[r2].delimiters && Ge(e2, t2[r2].delimiters); +}; +var He = {}; +function Je(e2, r2) { + var t2, n2, s2, o2, i2, a2; + for (t2 = r2.length - 1; t2 >= 0; t2--) + 95 !== (n2 = r2[t2]).marker && 42 !== n2.marker || -1 !== n2.end && (s2 = r2[n2.end], a2 = t2 > 0 && r2[t2 - 1].end === n2.end + 1 && r2[t2 - 1].marker === n2.marker && r2[t2 - 1].token === n2.token - 1 && r2[n2.end + 1].token === s2.token + 1, i2 = String.fromCharCode(n2.marker), (o2 = e2.tokens[n2.token]).type = a2 ? "strong_open" : "em_open", o2.tag = a2 ? "strong" : "em", o2.nesting = 1, o2.markup = a2 ? i2 + i2 : i2, o2.content = "", (o2 = e2.tokens[s2.token]).type = a2 ? "strong_close" : "em_close", o2.tag = a2 ? "strong" : "em", o2.nesting = -1, o2.markup = a2 ? i2 + i2 : i2, o2.content = "", a2 && (e2.tokens[r2[t2 - 1].token].content = "", e2.tokens[r2[n2.end + 1].token].content = "", t2--)); +} +He.tokenize = function(e2, r2) { + var t2, n2, s2 = e2.pos, o2 = e2.src.charCodeAt(s2); + if (r2) + return false; + if (95 !== o2 && 42 !== o2) + return false; + for (n2 = e2.scanDelims(e2.pos, 42 === o2), t2 = 0; t2 < n2.length; t2++) + e2.push("text", "", 0).content = String.fromCharCode(o2), e2.delimiters.push({ marker: o2, length: n2.length, token: e2.tokens.length - 1, end: -1, open: n2.can_open, close: n2.can_close }); + return e2.pos += n2.length, true; +}, He.postProcess = function(e2) { + var r2, t2 = e2.tokens_meta, n2 = e2.tokens_meta.length; + for (Je(e2, e2.delimiters), r2 = 0; r2 < n2; r2++) + t2[r2] && t2[r2].delimiters && Je(e2, t2[r2].delimiters); +}; +var We = r.normalizeReference, Ye = r.isSpace, Ke = r.normalizeReference, Qe = r.isSpace, Xe = /^([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/, er = /^([a-zA-Z][a-zA-Z0-9+.\-]{1,31}):([^<>\x00-\x20]*)$/, rr = ye.HTML_TAG_RE; +var tr = t, nr = r.has, sr = r.isValidEntityCode, or = r.fromCodePoint, ir = /^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i, ar = /^&([a-z][a-z0-9]{1,31});/i; +function cr(e2, r2) { + var t2, n2, s2, o2, i2, a2, c2, l2, u2 = {}, p2 = r2.length; + if (p2) { + var h2 = 0, f2 = -2, d2 = []; + for (t2 = 0; t2 < p2; t2++) + if (s2 = r2[t2], d2.push(0), r2[h2].marker === s2.marker && f2 === s2.token - 1 || (h2 = t2), f2 = s2.token, s2.length = s2.length || 0, s2.close) { + for (u2.hasOwnProperty(s2.marker) || (u2[s2.marker] = [-1, -1, -1, -1, -1, -1]), i2 = u2[s2.marker][(s2.open ? 3 : 0) + s2.length % 3], a2 = n2 = h2 - d2[h2] - 1; n2 > i2; n2 -= d2[n2] + 1) + if ((o2 = r2[n2]).marker === s2.marker && o2.open && o2.end < 0 && (c2 = false, (o2.close || s2.open) && (o2.length + s2.length) % 3 == 0 && (o2.length % 3 == 0 && s2.length % 3 == 0 || (c2 = true)), !c2)) { + l2 = n2 > 0 && !r2[n2 - 1].open ? d2[n2 - 1] + 1 : 0, d2[t2] = t2 - n2 + l2, d2[n2] = l2, s2.open = false, o2.end = t2, o2.close = false, a2 = -1, f2 = -2; + break; + } + -1 !== a2 && (u2[s2.marker][(s2.open ? 3 : 0) + (s2.length || 0) % 3] = a2); + } + } +} +var lr = se, ur = r.isWhiteSpace, pr = r.isPunctChar, hr = r.isMdAsciiPunct; +function fr(e2, r2, t2, n2) { + this.src = e2, this.env = t2, this.md = r2, this.tokens = n2, this.tokens_meta = Array(n2.length), this.pos = 0, this.posMax = this.src.length, this.level = 0, this.pending = "", this.pendingLevel = 0, this.cache = {}, this.delimiters = [], this._prev_delimiters = [], this.backticks = {}, this.backticksScanned = false, this.linkLevel = 0; +} +fr.prototype.pushPending = function() { + var e2 = new lr("text", "", 0); + return e2.content = this.pending, e2.level = this.pendingLevel, this.tokens.push(e2), this.pending = "", e2; +}, fr.prototype.push = function(e2, r2, t2) { + this.pending && this.pushPending(); + var n2 = new lr(e2, r2, t2), s2 = null; + return t2 < 0 && (this.level--, this.delimiters = this._prev_delimiters.pop()), n2.level = this.level, t2 > 0 && (this.level++, this._prev_delimiters.push(this.delimiters), this.delimiters = [], s2 = { delimiters: this.delimiters }), this.pendingLevel = this.level, this.tokens.push(n2), this.tokens_meta.push(s2), n2; +}, fr.prototype.scanDelims = function(e2, r2) { + var t2, n2, s2, o2, i2, a2, c2, l2, u2, p2 = e2, h2 = true, f2 = true, d2 = this.posMax, m2 = this.src.charCodeAt(e2); + for (t2 = e2 > 0 ? this.src.charCodeAt(e2 - 1) : 32; p2 < d2 && this.src.charCodeAt(p2) === m2; ) + p2++; + return s2 = p2 - e2, n2 = p2 < d2 ? this.src.charCodeAt(p2) : 32, c2 = hr(t2) || pr(String.fromCharCode(t2)), u2 = hr(n2) || pr(String.fromCharCode(n2)), a2 = ur(t2), (l2 = ur(n2)) ? h2 = false : u2 && (a2 || c2 || (h2 = false)), a2 ? f2 = false : c2 && (l2 || u2 || (f2 = false)), r2 ? (o2 = h2, i2 = f2) : (o2 = h2 && (!f2 || c2), i2 = f2 && (!h2 || u2)), { can_open: o2, can_close: i2, length: s2 }; +}, fr.prototype.Token = lr; +var dr = fr, mr = N, gr = [["text", function(e2, r2) { + for (var t2 = e2.pos; t2 < e2.posMax && !Oe(e2.src.charCodeAt(t2)); ) + t2++; + return t2 !== e2.pos && (r2 || (e2.pending += e2.src.slice(e2.pos, t2)), e2.pos = t2, true); +}], ["linkify", function(e2, r2) { + var t2, n2, s2, o2, i2, a2, c2; + return !!e2.md.options.linkify && (!(e2.linkLevel > 0) && (!((t2 = e2.pos) + 3 > e2.posMax) && (58 === e2.src.charCodeAt(t2) && (47 === e2.src.charCodeAt(t2 + 1) && (47 === e2.src.charCodeAt(t2 + 2) && (!!(n2 = e2.pending.match(Pe)) && (s2 = n2[1], !!(o2 = e2.md.linkify.matchAtStart(e2.src.slice(t2 - s2.length))) && (i2 = (i2 = o2.url).replace(/\*+$/, ""), a2 = e2.md.normalizeLink(i2), !!e2.md.validateLink(a2) && (r2 || (e2.pending = e2.pending.slice(0, -s2.length), (c2 = e2.push("link_open", "a", 1)).attrs = [["href", a2]], c2.markup = "linkify", c2.info = "auto", (c2 = e2.push("text", "", 0)).content = e2.md.normalizeLinkText(i2), (c2 = e2.push("link_close", "a", -1)).markup = "linkify", c2.info = "auto"), e2.pos += i2.length - s2.length, true))))))))); +}], ["newline", function(e2, r2) { + var t2, n2, s2, o2 = e2.pos; + if (10 !== e2.src.charCodeAt(o2)) + return false; + if (t2 = e2.pending.length - 1, n2 = e2.posMax, !r2) + if (t2 >= 0 && 32 === e2.pending.charCodeAt(t2)) + if (t2 >= 1 && 32 === e2.pending.charCodeAt(t2 - 1)) { + for (s2 = t2 - 1; s2 >= 1 && 32 === e2.pending.charCodeAt(s2 - 1); ) + s2--; + e2.pending = e2.pending.slice(0, s2), e2.push("hardbreak", "br", 0); + } else + e2.pending = e2.pending.slice(0, -1), e2.push("softbreak", "br", 0); + else + e2.push("softbreak", "br", 0); + for (o2++; o2 < n2 && je(e2.src.charCodeAt(o2)); ) + o2++; + return e2.pos = o2, true; +}], ["escape", function(e2, r2) { + var t2, n2, s2, o2, i2, a2 = e2.pos, c2 = e2.posMax; + if (92 !== e2.src.charCodeAt(a2)) + return false; + if (++a2 >= c2) + return false; + if (10 === (t2 = e2.src.charCodeAt(a2))) { + for (r2 || e2.push("hardbreak", "br", 0), a2++; a2 < c2 && (t2 = e2.src.charCodeAt(a2), Ue(t2)); ) + a2++; + return e2.pos = a2, true; + } + return o2 = e2.src[a2], t2 >= 55296 && t2 <= 56319 && a2 + 1 < c2 && (n2 = e2.src.charCodeAt(a2 + 1)) >= 56320 && n2 <= 57343 && (o2 += e2.src[a2 + 1], a2++), s2 = "\\" + o2, r2 || (i2 = e2.push("text_special", "", 0), t2 < 256 && 0 !== Ve[t2] ? i2.content = o2 : i2.content = s2, i2.markup = s2, i2.info = "escape"), e2.pos = a2 + 1, true; +}], ["backticks", function(e2, r2) { + var t2, n2, s2, o2, i2, a2, c2, l2, u2 = e2.pos; + if (96 !== e2.src.charCodeAt(u2)) + return false; + for (t2 = u2, u2++, n2 = e2.posMax; u2 < n2 && 96 === e2.src.charCodeAt(u2); ) + u2++; + if (c2 = (s2 = e2.src.slice(t2, u2)).length, e2.backticksScanned && (e2.backticks[c2] || 0) <= t2) + return r2 || (e2.pending += s2), e2.pos += c2, true; + for (i2 = a2 = u2; -1 !== (i2 = e2.src.indexOf("`", a2)); ) { + for (a2 = i2 + 1; a2 < n2 && 96 === e2.src.charCodeAt(a2); ) + a2++; + if ((l2 = a2 - i2) === c2) + return r2 || ((o2 = e2.push("code_inline", "code", 0)).markup = s2, o2.content = e2.src.slice(u2, i2).replace(/\n/g, " ").replace(/^ (.+) $/, "$1")), e2.pos = a2, true; + e2.backticks[l2] = i2; + } + return e2.backticksScanned = true, r2 || (e2.pending += s2), e2.pos += c2, true; +}], ["strikethrough", $e.tokenize], ["emphasis", He.tokenize], ["link", function(e2, r2) { + var t2, n2, s2, o2, i2, a2, c2, l2, u2 = "", p2 = "", h2 = e2.pos, f2 = e2.posMax, d2 = e2.pos, m2 = true; + if (91 !== e2.src.charCodeAt(e2.pos)) + return false; + if (i2 = e2.pos + 1, (o2 = e2.md.helpers.parseLinkLabel(e2, e2.pos, true)) < 0) + return false; + if ((a2 = o2 + 1) < f2 && 40 === e2.src.charCodeAt(a2)) { + for (m2 = false, a2++; a2 < f2 && (n2 = e2.src.charCodeAt(a2), Ye(n2) || 10 === n2); a2++) + ; + if (a2 >= f2) + return false; + if (d2 = a2, (c2 = e2.md.helpers.parseLinkDestination(e2.src, a2, e2.posMax)).ok) { + for (u2 = e2.md.normalizeLink(c2.str), e2.md.validateLink(u2) ? a2 = c2.pos : u2 = "", d2 = a2; a2 < f2 && (n2 = e2.src.charCodeAt(a2), Ye(n2) || 10 === n2); a2++) + ; + if (c2 = e2.md.helpers.parseLinkTitle(e2.src, a2, e2.posMax), a2 < f2 && d2 !== a2 && c2.ok) + for (p2 = c2.str, a2 = c2.pos; a2 < f2 && (n2 = e2.src.charCodeAt(a2), Ye(n2) || 10 === n2); a2++) + ; + } + (a2 >= f2 || 41 !== e2.src.charCodeAt(a2)) && (m2 = true), a2++; + } + if (m2) { + if (void 0 === e2.env.references) + return false; + if (a2 < f2 && 91 === e2.src.charCodeAt(a2) ? (d2 = a2 + 1, (a2 = e2.md.helpers.parseLinkLabel(e2, a2)) >= 0 ? s2 = e2.src.slice(d2, a2++) : a2 = o2 + 1) : a2 = o2 + 1, s2 || (s2 = e2.src.slice(i2, o2)), !(l2 = e2.env.references[We(s2)])) + return e2.pos = h2, false; + u2 = l2.href, p2 = l2.title; + } + return r2 || (e2.pos = i2, e2.posMax = o2, e2.push("link_open", "a", 1).attrs = t2 = [["href", u2]], p2 && t2.push(["title", p2]), e2.linkLevel++, e2.md.inline.tokenize(e2), e2.linkLevel--, e2.push("link_close", "a", -1)), e2.pos = a2, e2.posMax = f2, true; +}], ["image", function(e2, r2) { + var t2, n2, s2, o2, i2, a2, c2, l2, u2, p2, h2, f2, d2, m2 = "", g2 = e2.pos, _2 = e2.posMax; + if (33 !== e2.src.charCodeAt(e2.pos)) + return false; + if (91 !== e2.src.charCodeAt(e2.pos + 1)) + return false; + if (a2 = e2.pos + 2, (i2 = e2.md.helpers.parseLinkLabel(e2, e2.pos + 1, false)) < 0) + return false; + if ((c2 = i2 + 1) < _2 && 40 === e2.src.charCodeAt(c2)) { + for (c2++; c2 < _2 && (n2 = e2.src.charCodeAt(c2), Qe(n2) || 10 === n2); c2++) + ; + if (c2 >= _2) + return false; + for (d2 = c2, (u2 = e2.md.helpers.parseLinkDestination(e2.src, c2, e2.posMax)).ok && (m2 = e2.md.normalizeLink(u2.str), e2.md.validateLink(m2) ? c2 = u2.pos : m2 = ""), d2 = c2; c2 < _2 && (n2 = e2.src.charCodeAt(c2), Qe(n2) || 10 === n2); c2++) + ; + if (u2 = e2.md.helpers.parseLinkTitle(e2.src, c2, e2.posMax), c2 < _2 && d2 !== c2 && u2.ok) + for (p2 = u2.str, c2 = u2.pos; c2 < _2 && (n2 = e2.src.charCodeAt(c2), Qe(n2) || 10 === n2); c2++) + ; + else + p2 = ""; + if (c2 >= _2 || 41 !== e2.src.charCodeAt(c2)) + return e2.pos = g2, false; + c2++; + } else { + if (void 0 === e2.env.references) + return false; + if (c2 < _2 && 91 === e2.src.charCodeAt(c2) ? (d2 = c2 + 1, (c2 = e2.md.helpers.parseLinkLabel(e2, c2)) >= 0 ? o2 = e2.src.slice(d2, c2++) : c2 = i2 + 1) : c2 = i2 + 1, o2 || (o2 = e2.src.slice(a2, i2)), !(l2 = e2.env.references[Ke(o2)])) + return e2.pos = g2, false; + m2 = l2.href, p2 = l2.title; + } + return r2 || (s2 = e2.src.slice(a2, i2), e2.md.inline.parse(s2, e2.md, e2.env, f2 = []), (h2 = e2.push("image", "img", 0)).attrs = t2 = [["src", m2], ["alt", ""]], h2.children = f2, h2.content = s2, p2 && t2.push(["title", p2])), e2.pos = c2, e2.posMax = _2, true; +}], ["autolink", function(e2, r2) { + var t2, n2, s2, o2, i2, a2, c2 = e2.pos; + if (60 !== e2.src.charCodeAt(c2)) + return false; + for (i2 = e2.pos, a2 = e2.posMax; ; ) { + if (++c2 >= a2) + return false; + if (60 === (o2 = e2.src.charCodeAt(c2))) + return false; + if (62 === o2) + break; + } + return t2 = e2.src.slice(i2 + 1, c2), er.test(t2) ? (n2 = e2.md.normalizeLink(t2), !!e2.md.validateLink(n2) && (r2 || ((s2 = e2.push("link_open", "a", 1)).attrs = [["href", n2]], s2.markup = "autolink", s2.info = "auto", (s2 = e2.push("text", "", 0)).content = e2.md.normalizeLinkText(t2), (s2 = e2.push("link_close", "a", -1)).markup = "autolink", s2.info = "auto"), e2.pos += t2.length + 2, true)) : !!Xe.test(t2) && (n2 = e2.md.normalizeLink("mailto:" + t2), !!e2.md.validateLink(n2) && (r2 || ((s2 = e2.push("link_open", "a", 1)).attrs = [["href", n2]], s2.markup = "autolink", s2.info = "auto", (s2 = e2.push("text", "", 0)).content = e2.md.normalizeLinkText(t2), (s2 = e2.push("link_close", "a", -1)).markup = "autolink", s2.info = "auto"), e2.pos += t2.length + 2, true)); +}], ["html_inline", function(e2, r2) { + var t2, n2, s2, o2, i2, a2 = e2.pos; + return !!e2.md.options.html && (s2 = e2.posMax, !(60 !== e2.src.charCodeAt(a2) || a2 + 2 >= s2) && (!(33 !== (t2 = e2.src.charCodeAt(a2 + 1)) && 63 !== t2 && 47 !== t2 && !function(e3) { + var r3 = 32 | e3; + return r3 >= 97 && r3 <= 122; + }(t2)) && (!!(n2 = e2.src.slice(a2).match(rr)) && (r2 || ((o2 = e2.push("html_inline", "", 0)).content = e2.src.slice(a2, a2 + n2[0].length), i2 = o2.content, /^\s]/i.test(i2) && e2.linkLevel++, function(e3) { + return /^<\/a\s*>/i.test(e3); + }(o2.content) && e2.linkLevel--), e2.pos += n2[0].length, true)))); +}], ["entity", function(e2, r2) { + var t2, n2, s2, o2 = e2.pos, i2 = e2.posMax; + if (38 !== e2.src.charCodeAt(o2)) + return false; + if (o2 + 1 >= i2) + return false; + if (35 === e2.src.charCodeAt(o2 + 1)) { + if (n2 = e2.src.slice(o2).match(ir)) + return r2 || (t2 = "x" === n2[1][0].toLowerCase() ? parseInt(n2[1].slice(1), 16) : parseInt(n2[1], 10), (s2 = e2.push("text_special", "", 0)).content = sr(t2) ? or(t2) : or(65533), s2.markup = n2[0], s2.info = "entity"), e2.pos += n2[0].length, true; + } else if ((n2 = e2.src.slice(o2).match(ar)) && nr(tr, n2[1])) + return r2 || ((s2 = e2.push("text_special", "", 0)).content = tr[n2[1]], s2.markup = n2[0], s2.info = "entity"), e2.pos += n2[0].length, true; + return false; +}]], _r = [["balance_pairs", function(e2) { + var r2, t2 = e2.tokens_meta, n2 = e2.tokens_meta.length; + for (cr(0, e2.delimiters), r2 = 0; r2 < n2; r2++) + t2[r2] && t2[r2].delimiters && cr(0, t2[r2].delimiters); +}], ["strikethrough", $e.postProcess], ["emphasis", He.postProcess], ["fragments_join", function(e2) { + var r2, t2, n2 = 0, s2 = e2.tokens, o2 = e2.tokens.length; + for (r2 = t2 = 0; r2 < o2; r2++) + s2[r2].nesting < 0 && n2--, s2[r2].level = n2, s2[r2].nesting > 0 && n2++, "text" === s2[r2].type && r2 + 1 < o2 && "text" === s2[r2 + 1].type ? s2[r2 + 1].content = s2[r2].content + s2[r2 + 1].content : (r2 !== t2 && (s2[t2] = s2[r2]), t2++); + r2 !== t2 && (s2.length = t2); +}]]; +function kr() { + var e2; + for (this.ruler = new mr(), e2 = 0; e2 < gr.length; e2++) + this.ruler.push(gr[e2][0], gr[e2][1]); + for (this.ruler2 = new mr(), e2 = 0; e2 < _r.length; e2++) + this.ruler2.push(_r[e2][0], _r[e2][1]); +} +kr.prototype.skipToken = function(e2) { + var r2, t2, n2 = e2.pos, s2 = this.ruler.getRules(""), o2 = s2.length, i2 = e2.md.options.maxNesting, a2 = e2.cache; + if (void 0 === a2[n2]) { + if (e2.level < i2) + for (t2 = 0; t2 < o2 && (e2.level++, r2 = s2[t2](e2, true), e2.level--, !r2); t2++) + ; + else + e2.pos = e2.posMax; + r2 || e2.pos++, a2[n2] = e2.pos; + } else + e2.pos = a2[n2]; +}, kr.prototype.tokenize = function(e2) { + for (var r2, t2, n2 = this.ruler.getRules(""), s2 = n2.length, o2 = e2.posMax, i2 = e2.md.options.maxNesting; e2.pos < o2; ) { + if (e2.level < i2) + for (t2 = 0; t2 < s2 && !(r2 = n2[t2](e2, false)); t2++) + ; + if (r2) { + if (e2.pos >= o2) + break; + } else + e2.pending += e2.src[e2.pos++]; + } + e2.pending && e2.pushPending(); +}, kr.prototype.parse = function(e2, r2, t2, n2) { + var s2, o2, i2, a2 = new this.State(e2, r2, t2, n2); + for (this.tokenize(a2), i2 = (o2 = this.ruler2.getRules("")).length, s2 = 0; s2 < i2; s2++) + o2[s2](a2); +}, kr.prototype.State = dr; +var br = kr; +function vr(e2) { + var r2 = Array.prototype.slice.call(arguments, 1); + return r2.forEach(function(r3) { + r3 && Object.keys(r3).forEach(function(t2) { + e2[t2] = r3[t2]; + }); + }), e2; +} +function Cr(e2) { + return Object.prototype.toString.call(e2); +} +function yr(e2) { + return "[object Function]" === Cr(e2); +} +function Ar(e2) { + return e2.replace(/[.?*+^$[\]\\(){}|-]/g, "\\$&"); +} +var xr = { fuzzyLink: true, fuzzyEmail: true, fuzzyIP: false }; +var Dr = { "http:": { validate: function(e2, r2, t2) { + var n2 = e2.slice(r2); + return t2.re.http || (t2.re.http = new RegExp("^\\/\\/" + t2.re.src_auth + t2.re.src_host_port_strict + t2.re.src_path, "i")), t2.re.http.test(n2) ? n2.match(t2.re.http)[0].length : 0; +} }, "https:": "http:", "ftp:": "http:", "//": { validate: function(e2, r2, t2) { + var n2 = e2.slice(r2); + return t2.re.no_http || (t2.re.no_http = new RegExp("^" + t2.re.src_auth + "(?:localhost|(?:(?:" + t2.re.src_domain + ")\\.)+" + t2.re.src_domain_root + ")" + t2.re.src_port + t2.re.src_host_terminator + t2.re.src_path, "i")), t2.re.no_http.test(n2) ? r2 >= 3 && ":" === e2[r2 - 3] || r2 >= 3 && "/" === e2[r2 - 3] ? 0 : n2.match(t2.re.no_http)[0].length : 0; +} }, "mailto:": { validate: function(e2, r2, t2) { + var n2 = e2.slice(r2); + return t2.re.mailto || (t2.re.mailto = new RegExp("^" + t2.re.src_email_name + "@" + t2.re.src_host_strict, "i")), t2.re.mailto.test(n2) ? n2.match(t2.re.mailto)[0].length : 0; +} } }, wr = "biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|\u0440\u0444".split("|"); +function Er(e2) { + var r2 = e2.re = function(e3) { + var r3 = {}; + return e3 = e3 || {}, r3.src_Any = D.source, r3.src_Cc = w.source, r3.src_Z = E.source, r3.src_P = n.source, r3.src_ZPCc = [r3.src_Z, r3.src_P, r3.src_Cc].join("|"), r3.src_ZCc = [r3.src_Z, r3.src_Cc].join("|"), r3.src_pseudo_letter = "(?:(?![><\uFF5C]|" + r3.src_ZPCc + ")" + r3.src_Any + ")", r3.src_ip4 = "(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)", r3.src_auth = "(?:(?:(?!" + r3.src_ZCc + "|[@/\\[\\]()]).)+@)?", r3.src_port = "(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?", r3.src_host_terminator = "(?=$|[><\uFF5C]|" + r3.src_ZPCc + ")(?!" + (e3["---"] ? "-(?!--)|" : "-|") + "_|:\\d|\\.-|\\.(?!$|" + r3.src_ZPCc + "))", r3.src_path = "(?:[/?#](?:(?!" + r3.src_ZCc + `|[><\uFF5C]|[()[\\]{}.,"'?!\\-;]).|\\[(?:(?!` + r3.src_ZCc + "|\\]).)*\\]|\\((?:(?!" + r3.src_ZCc + "|[)]).)*\\)|\\{(?:(?!" + r3.src_ZCc + '|[}]).)*\\}|\\"(?:(?!' + r3.src_ZCc + `|["]).)+\\"|\\'(?:(?!` + r3.src_ZCc + "|[']).)+\\'|\\'(?=" + r3.src_pseudo_letter + "|[-])|\\.{2,}[a-zA-Z0-9%/&]|\\.(?!" + r3.src_ZCc + "|[.]|$)|" + (e3["---"] ? "\\-(?!--(?:[^-]|$))(?:-*)|" : "\\-+|") + ",(?!" + r3.src_ZCc + "|$)|;(?!" + r3.src_ZCc + "|$)|\\!+(?!" + r3.src_ZCc + "|[!]|$)|\\?(?!" + r3.src_ZCc + "|[?]|$))+|\\/)?", r3.src_email_name = '[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*', r3.src_xn = "xn--[a-z0-9\\-]{1,59}", r3.src_domain_root = "(?:" + r3.src_xn + "|" + r3.src_pseudo_letter + "{1,63})", r3.src_domain = "(?:" + r3.src_xn + "|(?:" + r3.src_pseudo_letter + ")|(?:" + r3.src_pseudo_letter + "(?:-|" + r3.src_pseudo_letter + "){0,61}" + r3.src_pseudo_letter + "))", r3.src_host = "(?:(?:(?:(?:" + r3.src_domain + ")\\.)*" + r3.src_domain + "))", r3.tpl_host_fuzzy = "(?:" + r3.src_ip4 + "|(?:(?:(?:" + r3.src_domain + ")\\.)+(?:%TLDS%)))", r3.tpl_host_no_ip_fuzzy = "(?:(?:(?:" + r3.src_domain + ")\\.)+(?:%TLDS%))", r3.src_host_strict = r3.src_host + r3.src_host_terminator, r3.tpl_host_fuzzy_strict = r3.tpl_host_fuzzy + r3.src_host_terminator, r3.src_host_port_strict = r3.src_host + r3.src_port + r3.src_host_terminator, r3.tpl_host_port_fuzzy_strict = r3.tpl_host_fuzzy + r3.src_port + r3.src_host_terminator, r3.tpl_host_port_no_ip_fuzzy_strict = r3.tpl_host_no_ip_fuzzy + r3.src_port + r3.src_host_terminator, r3.tpl_host_fuzzy_test = "localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:" + r3.src_ZPCc + "|>|$))", r3.tpl_email_fuzzy = '(^|[><\uFF5C]|"|\\(|' + r3.src_ZCc + ")(" + r3.src_email_name + "@" + r3.tpl_host_fuzzy_strict + ")", r3.tpl_link_fuzzy = "(^|(?![.:/\\-_@])(?:[$+<=>^`|\uFF5C]|" + r3.src_ZPCc + "))((?![$+<=>^`|\uFF5C])" + r3.tpl_host_port_fuzzy_strict + r3.src_path + ")", r3.tpl_link_no_ip_fuzzy = "(^|(?![.:/\\-_@])(?:[$+<=>^`|\uFF5C]|" + r3.src_ZPCc + "))((?![$+<=>^`|\uFF5C])" + r3.tpl_host_port_no_ip_fuzzy_strict + r3.src_path + ")", r3; + }(e2.__opts__), t2 = e2.__tlds__.slice(); + function s2(e3) { + return e3.replace("%TLDS%", r2.src_tlds); + } + e2.onCompile(), e2.__tlds_replaced__ || t2.push("a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]"), t2.push(r2.src_xn), r2.src_tlds = t2.join("|"), r2.email_fuzzy = RegExp(s2(r2.tpl_email_fuzzy), "i"), r2.link_fuzzy = RegExp(s2(r2.tpl_link_fuzzy), "i"), r2.link_no_ip_fuzzy = RegExp(s2(r2.tpl_link_no_ip_fuzzy), "i"), r2.host_fuzzy_test = RegExp(s2(r2.tpl_host_fuzzy_test), "i"); + var o2 = []; + function i2(e3, r3) { + throw new Error('(LinkifyIt) Invalid schema "' + e3 + '": ' + r3); + } + e2.__compiled__ = {}, Object.keys(e2.__schemas__).forEach(function(r3) { + var t3 = e2.__schemas__[r3]; + if (null !== t3) { + var n2 = { validate: null, link: null }; + if (e2.__compiled__[r3] = n2, "[object Object]" === Cr(t3)) + return !function(e3) { + return "[object RegExp]" === Cr(e3); + }(t3.validate) ? yr(t3.validate) ? n2.validate = t3.validate : i2(r3, t3) : n2.validate = function(e3) { + return function(r4, t4) { + var n3 = r4.slice(t4); + return e3.test(n3) ? n3.match(e3)[0].length : 0; + }; + }(t3.validate), void (yr(t3.normalize) ? n2.normalize = t3.normalize : t3.normalize ? i2(r3, t3) : n2.normalize = function(e3, r4) { + r4.normalize(e3); + }); + !function(e3) { + return "[object String]" === Cr(e3); + }(t3) ? i2(r3, t3) : o2.push(r3); + } + }), o2.forEach(function(r3) { + e2.__compiled__[e2.__schemas__[r3]] && (e2.__compiled__[r3].validate = e2.__compiled__[e2.__schemas__[r3]].validate, e2.__compiled__[r3].normalize = e2.__compiled__[e2.__schemas__[r3]].normalize); + }), e2.__compiled__[""] = { validate: null, normalize: function(e3, r3) { + r3.normalize(e3); + } }; + var a2 = Object.keys(e2.__compiled__).filter(function(r3) { + return r3.length > 0 && e2.__compiled__[r3]; + }).map(Ar).join("|"); + e2.re.schema_test = RegExp("(^|(?!_)(?:[><\uFF5C]|" + r2.src_ZPCc + "))(" + a2 + ")", "i"), e2.re.schema_search = RegExp("(^|(?!_)(?:[><\uFF5C]|" + r2.src_ZPCc + "))(" + a2 + ")", "ig"), e2.re.schema_at_start = RegExp("^" + e2.re.schema_search.source, "i"), e2.re.pretest = RegExp("(" + e2.re.schema_test.source + ")|(" + e2.re.host_fuzzy_test.source + ")|@", "i"), function(e3) { + e3.__index__ = -1, e3.__text_cache__ = ""; + }(e2); +} +function qr(e2, r2) { + var t2 = e2.__index__, n2 = e2.__last_index__, s2 = e2.__text_cache__.slice(t2, n2); + this.schema = e2.__schema__.toLowerCase(), this.index = t2 + r2, this.lastIndex = n2 + r2, this.raw = s2, this.text = s2, this.url = s2; +} +function Sr(e2, r2) { + var t2 = new qr(e2, r2); + return e2.__compiled__[t2.schema].normalize(t2, e2), t2; +} +function Fr(e2, r2) { + if (!(this instanceof Fr)) + return new Fr(e2, r2); + var t2; + r2 || (t2 = e2, Object.keys(t2 || {}).reduce(function(e3, r3) { + return e3 || xr.hasOwnProperty(r3); + }, false) && (r2 = e2, e2 = {})), this.__opts__ = vr({}, xr, r2), this.__index__ = -1, this.__last_index__ = -1, this.__schema__ = "", this.__text_cache__ = "", this.__schemas__ = vr({}, Dr, e2), this.__compiled__ = {}, this.__tlds__ = wr, this.__tlds_replaced__ = false, this.re = {}, Er(this); +} +Fr.prototype.add = function(e2, r2) { + return this.__schemas__[e2] = r2, Er(this), this; +}, Fr.prototype.set = function(e2) { + return this.__opts__ = vr(this.__opts__, e2), this; +}, Fr.prototype.test = function(e2) { + if (this.__text_cache__ = e2, this.__index__ = -1, !e2.length) + return false; + var r2, t2, n2, s2, o2, i2, a2, c2; + if (this.re.schema_test.test(e2)) { + for ((a2 = this.re.schema_search).lastIndex = 0; null !== (r2 = a2.exec(e2)); ) + if (s2 = this.testSchemaAt(e2, r2[2], a2.lastIndex)) { + this.__schema__ = r2[2], this.__index__ = r2.index + r2[1].length, this.__last_index__ = r2.index + r2[0].length + s2; + break; + } + } + return this.__opts__.fuzzyLink && this.__compiled__["http:"] && (c2 = e2.search(this.re.host_fuzzy_test)) >= 0 && (this.__index__ < 0 || c2 < this.__index__) && null !== (t2 = e2.match(this.__opts__.fuzzyIP ? this.re.link_fuzzy : this.re.link_no_ip_fuzzy)) && (o2 = t2.index + t2[1].length, (this.__index__ < 0 || o2 < this.__index__) && (this.__schema__ = "", this.__index__ = o2, this.__last_index__ = t2.index + t2[0].length)), this.__opts__.fuzzyEmail && this.__compiled__["mailto:"] && e2.indexOf("@") >= 0 && null !== (n2 = e2.match(this.re.email_fuzzy)) && (o2 = n2.index + n2[1].length, i2 = n2.index + n2[0].length, (this.__index__ < 0 || o2 < this.__index__ || o2 === this.__index__ && i2 > this.__last_index__) && (this.__schema__ = "mailto:", this.__index__ = o2, this.__last_index__ = i2)), this.__index__ >= 0; +}, Fr.prototype.pretest = function(e2) { + return this.re.pretest.test(e2); +}, Fr.prototype.testSchemaAt = function(e2, r2, t2) { + return this.__compiled__[r2.toLowerCase()] ? this.__compiled__[r2.toLowerCase()].validate(e2, t2, this) : 0; +}, Fr.prototype.match = function(e2) { + var r2 = 0, t2 = []; + this.__index__ >= 0 && this.__text_cache__ === e2 && (t2.push(Sr(this, r2)), r2 = this.__last_index__); + for (var n2 = r2 ? e2.slice(r2) : e2; this.test(n2); ) + t2.push(Sr(this, r2)), n2 = n2.slice(this.__last_index__), r2 += this.__last_index__; + return t2.length ? t2 : null; +}, Fr.prototype.matchAtStart = function(e2) { + if (this.__text_cache__ = e2, this.__index__ = -1, !e2.length) + return null; + var r2 = this.re.schema_at_start.exec(e2); + if (!r2) + return null; + var t2 = this.testSchemaAt(e2, r2[2], r2[0].length); + return t2 ? (this.__schema__ = r2[2], this.__index__ = r2.index + r2[1].length, this.__last_index__ = r2.index + r2[0].length + t2, Sr(this, 0)) : null; +}, Fr.prototype.tlds = function(e2, r2) { + return e2 = Array.isArray(e2) ? e2 : [e2], r2 ? (this.__tlds__ = this.__tlds__.concat(e2).sort().filter(function(e3, r3, t2) { + return e3 !== t2[r3 - 1]; + }).reverse(), Er(this), this) : (this.__tlds__ = e2.slice(), this.__tlds_replaced__ = true, Er(this), this); +}, Fr.prototype.normalize = function(e2) { + e2.schema || (e2.url = "http://" + e2.url), "mailto:" !== e2.schema || /^mailto:/i.test(e2.url) || (e2.url = "mailto:" + e2.url); +}, Fr.prototype.onCompile = function() { +}; +var Lr = Fr, zr = 2147483647, Tr = /^xn--/, Ir = /[^\x20-\x7E]/, Mr = /[\x2E\u3002\uFF0E\uFF61]/g, Rr = { overflow: "Overflow: input needs wider integers to process", "not-basic": "Illegal input >= 0x80 (not a basic code point)", "invalid-input": "Invalid input" }, Br = Math.floor, Nr = String.fromCharCode; +/*! https://mths.be/punycode v1.4.1 by @mathias */ +function Or(e2) { + throw new RangeError(Rr[e2]); +} +function Pr(e2, r2) { + for (var t2 = e2.length, n2 = []; t2--; ) + n2[t2] = r2(e2[t2]); + return n2; +} +function jr(e2, r2) { + var t2 = e2.split("@"), n2 = ""; + return t2.length > 1 && (n2 = t2[0] + "@", e2 = t2[1]), n2 + Pr((e2 = e2.replace(Mr, ".")).split("."), r2).join("."); +} +function Ur(e2) { + for (var r2, t2, n2 = [], s2 = 0, o2 = e2.length; s2 < o2; ) + (r2 = e2.charCodeAt(s2++)) >= 55296 && r2 <= 56319 && s2 < o2 ? 56320 == (64512 & (t2 = e2.charCodeAt(s2++))) ? n2.push(((1023 & r2) << 10) + (1023 & t2) + 65536) : (n2.push(r2), s2--) : n2.push(r2); + return n2; +} +function Vr(e2) { + return Pr(e2, function(e3) { + var r2 = ""; + return e3 > 65535 && (r2 += Nr((e3 -= 65536) >>> 10 & 1023 | 55296), e3 = 56320 | 1023 & e3), r2 += Nr(e3); + }).join(""); +} +function Zr(e2, r2) { + return e2 + 22 + 75 * (e2 < 26) - ((0 != r2) << 5); +} +function $r(e2, r2, t2) { + var n2 = 0; + for (e2 = t2 ? Br(e2 / 700) : e2 >> 1, e2 += Br(e2 / r2); e2 > 455; n2 += 36) + e2 = Br(e2 / 35); + return Br(n2 + 36 * e2 / (e2 + 38)); +} +function Gr(e2) { + var r2, t2, n2, s2, o2, i2, a2, c2, l2, u2, p2, h2 = [], f2 = e2.length, d2 = 0, m2 = 128, g2 = 72; + for ((t2 = e2.lastIndexOf("-")) < 0 && (t2 = 0), n2 = 0; n2 < t2; ++n2) + e2.charCodeAt(n2) >= 128 && Or("not-basic"), h2.push(e2.charCodeAt(n2)); + for (s2 = t2 > 0 ? t2 + 1 : 0; s2 < f2; ) { + for (o2 = d2, i2 = 1, a2 = 36; s2 >= f2 && Or("invalid-input"), ((c2 = (p2 = e2.charCodeAt(s2++)) - 48 < 10 ? p2 - 22 : p2 - 65 < 26 ? p2 - 65 : p2 - 97 < 26 ? p2 - 97 : 36) >= 36 || c2 > Br((zr - d2) / i2)) && Or("overflow"), d2 += c2 * i2, !(c2 < (l2 = a2 <= g2 ? 1 : a2 >= g2 + 26 ? 26 : a2 - g2)); a2 += 36) + i2 > Br(zr / (u2 = 36 - l2)) && Or("overflow"), i2 *= u2; + g2 = $r(d2 - o2, r2 = h2.length + 1, 0 == o2), Br(d2 / r2) > zr - m2 && Or("overflow"), m2 += Br(d2 / r2), d2 %= r2, h2.splice(d2++, 0, m2); + } + return Vr(h2); +} +function Hr(e2) { + var r2, t2, n2, s2, o2, i2, a2, c2, l2, u2, p2, h2, f2, d2, m2, g2 = []; + for (h2 = (e2 = Ur(e2)).length, r2 = 128, t2 = 0, o2 = 72, i2 = 0; i2 < h2; ++i2) + (p2 = e2[i2]) < 128 && g2.push(Nr(p2)); + for (n2 = s2 = g2.length, s2 && g2.push("-"); n2 < h2; ) { + for (a2 = zr, i2 = 0; i2 < h2; ++i2) + (p2 = e2[i2]) >= r2 && p2 < a2 && (a2 = p2); + for (a2 - r2 > Br((zr - t2) / (f2 = n2 + 1)) && Or("overflow"), t2 += (a2 - r2) * f2, r2 = a2, i2 = 0; i2 < h2; ++i2) + if ((p2 = e2[i2]) < r2 && ++t2 > zr && Or("overflow"), p2 == r2) { + for (c2 = t2, l2 = 36; !(c2 < (u2 = l2 <= o2 ? 1 : l2 >= o2 + 26 ? 26 : l2 - o2)); l2 += 36) + m2 = c2 - u2, d2 = 36 - u2, g2.push(Nr(Zr(u2 + m2 % d2, 0))), c2 = Br(m2 / d2); + g2.push(Nr(Zr(c2, 0))), o2 = $r(t2, f2, n2 == s2), t2 = 0, ++n2; + } + ++t2, ++r2; + } + return g2.join(""); +} +function Jr(e2) { + return jr(e2, function(e3) { + return Tr.test(e3) ? Gr(e3.slice(4).toLowerCase()) : e3; + }); +} +function Wr(e2) { + return jr(e2, function(e3) { + return Ir.test(e3) ? "xn--" + Hr(e3) : e3; + }); +} +var Yr = { decode: Ur, encode: Vr }, Kr = { version: "1.4.1", ucs2: Yr, toASCII: Wr, toUnicode: Jr, encode: Hr, decode: Gr }, Qr = r, Xr = q, et = R, rt = pe, tt = Ne, nt = br, st = Lr, ot = s, it = e(Object.freeze({ __proto__: null, decode: Gr, encode: Hr, toUnicode: Jr, toASCII: Wr, version: "1.4.1", ucs2: Yr, default: Kr })), at = { default: { options: { html: false, xhtmlOut: false, breaks: false, langPrefix: "language-", linkify: false, typographer: false, quotes: "\u201C\u201D\u2018\u2019", highlight: null, maxNesting: 100 }, components: { core: {}, block: {}, inline: {} } }, zero: { options: { html: false, xhtmlOut: false, breaks: false, langPrefix: "language-", linkify: false, typographer: false, quotes: "\u201C\u201D\u2018\u2019", highlight: null, maxNesting: 20 }, components: { core: { rules: ["normalize", "block", "inline", "text_join"] }, block: { rules: ["paragraph"] }, inline: { rules: ["text"], rules2: ["balance_pairs", "fragments_join"] } } }, commonmark: { options: { html: true, xhtmlOut: true, breaks: false, langPrefix: "language-", linkify: false, typographer: false, quotes: "\u201C\u201D\u2018\u2019", highlight: null, maxNesting: 20 }, components: { core: { rules: ["normalize", "block", "inline", "text_join"] }, block: { rules: ["blockquote", "code", "fence", "heading", "hr", "html_block", "lheading", "list", "reference", "paragraph"] }, inline: { rules: ["autolink", "backticks", "emphasis", "entity", "escape", "html_inline", "image", "link", "newline", "text"], rules2: ["balance_pairs", "emphasis", "fragments_join"] } } } }, ct = /^(vbscript|javascript|file|data):/, lt = /^data:image\/(gif|png|jpeg|webp);/; +function ut(e2) { + var r2 = e2.trim().toLowerCase(); + return !ct.test(r2) || !!lt.test(r2); +} +var pt = ["http:", "https:", "mailto:"]; +function ht(e2) { + var r2 = ot.parse(e2, true); + if (r2.hostname && (!r2.protocol || pt.indexOf(r2.protocol) >= 0)) + try { + r2.hostname = it.toASCII(r2.hostname); + } catch (e3) { + } + return ot.encode(ot.format(r2)); +} +function ft(e2) { + var r2 = ot.parse(e2, true); + if (r2.hostname && (!r2.protocol || pt.indexOf(r2.protocol) >= 0)) + try { + r2.hostname = it.toUnicode(r2.hostname); + } catch (e3) { + } + return ot.decode(ot.format(r2), ot.decode.defaultChars + "%"); +} +function dt(e2, r2) { + if (!(this instanceof dt)) + return new dt(e2, r2); + r2 || Qr.isString(e2) || (r2 = e2 || {}, e2 = "default"), this.inline = new nt(), this.block = new tt(), this.core = new rt(), this.renderer = new et(), this.linkify = new st(), this.validateLink = ut, this.normalizeLink = ht, this.normalizeLinkText = ft, this.utils = Qr, this.helpers = Qr.assign({}, Xr), this.options = {}, this.configure(e2), r2 && this.set(r2); +} +dt.prototype.set = function(e2) { + return Qr.assign(this.options, e2), this; +}, dt.prototype.configure = function(e2) { + var r2, t2 = this; + if (Qr.isString(e2) && !(e2 = at[r2 = e2])) + throw new Error('Wrong `markdown-it` preset "' + r2 + '", check name'); + if (!e2) + throw new Error("Wrong `markdown-it` preset, can't be empty"); + return e2.options && t2.set(e2.options), e2.components && Object.keys(e2.components).forEach(function(r3) { + e2.components[r3].rules && t2[r3].ruler.enableOnly(e2.components[r3].rules), e2.components[r3].rules2 && t2[r3].ruler2.enableOnly(e2.components[r3].rules2); + }), this; +}, dt.prototype.enable = function(e2, r2) { + var t2 = []; + Array.isArray(e2) || (e2 = [e2]), ["core", "block", "inline"].forEach(function(r3) { + t2 = t2.concat(this[r3].ruler.enable(e2, true)); + }, this), t2 = t2.concat(this.inline.ruler2.enable(e2, true)); + var n2 = e2.filter(function(e3) { + return t2.indexOf(e3) < 0; + }); + if (n2.length && !r2) + throw new Error("MarkdownIt. Failed to enable unknown rule(s): " + n2); + return this; +}, dt.prototype.disable = function(e2, r2) { + var t2 = []; + Array.isArray(e2) || (e2 = [e2]), ["core", "block", "inline"].forEach(function(r3) { + t2 = t2.concat(this[r3].ruler.disable(e2, true)); + }, this), t2 = t2.concat(this.inline.ruler2.disable(e2, true)); + var n2 = e2.filter(function(e3) { + return t2.indexOf(e3) < 0; + }); + if (n2.length && !r2) + throw new Error("MarkdownIt. Failed to disable unknown rule(s): " + n2); + return this; +}, dt.prototype.use = function(e2) { + var r2 = [this].concat(Array.prototype.slice.call(arguments, 1)); + return e2.apply(e2, r2), this; +}, dt.prototype.parse = function(e2, r2) { + if ("string" != typeof e2) + throw new Error("Input data should be a String"); + var t2 = new this.core.State(e2, this, r2); + return this.core.process(t2), t2.tokens; +}, dt.prototype.render = function(e2, r2) { + return r2 = r2 || {}, this.renderer.render(this.parse(e2, r2), this.options, r2); +}, dt.prototype.parseInline = function(e2, r2) { + var t2 = new this.core.State(e2, this, r2); + return t2.inlineMode = true, this.core.process(t2), t2.tokens; +}, dt.prototype.renderInline = function(e2, r2) { + return r2 = r2 || {}, this.renderer.render(this.parseInline(e2, r2), this.options, r2); +}; +var mt = dt; +exports.mt = mt; diff --git a/dist/dev/mp-weixin/components/ua-markdown/ua-markdown.js b/dist/dev/mp-weixin/components/ua-markdown/ua-markdown.js new file mode 100644 index 0000000..9e59307 --- /dev/null +++ b/dist/dev/mp-weixin/components/ua-markdown/ua-markdown.js @@ -0,0 +1,90 @@ +"use strict"; +var common_vendor = require("../../common/vendor.js"); +var components_uaMarkdown_lib_markdownIt_min = require("./lib/markdown-it.min.js"); +var components_uaMarkdown_lib_highlight_uniHighlight_min = require("./lib/highlight/uni-highlight.min.js"); +require("./lib/html-parser.js"); +const _sfc_main = { + __name: "ua-markdown", + props: { + source: String, + showLine: { type: [Boolean, String], default: true } + }, + setup(__props) { + const props = __props; + let copyCodeData = []; + const markdown = components_uaMarkdown_lib_markdownIt_min.mt({ + html: true, + highlight: function(str, lang) { + let preCode = ""; + try { + preCode = components_uaMarkdown_lib_highlight_uniHighlight_min.$e.highlightAuto(str).value; + } catch (err) { + preCode = markdown.utils.escapeHtml(str); + } + const lines = preCode.split(/\n/).slice(0, -1); + let html = lines.map((item, index) => { + if (item == "") { + return ""; + } + return '
  • ' + item + "
  • "; + }).join(""); + if (props.showLine) { + html = '
      ' + html + "
    "; + } else { + html = '
      ' + html + "
    "; + } + copyCodeData.push(str); + let htmlCode = `
    `; + htmlCode += `
    ${html}
    `; + htmlCode += "
    "; + return htmlCode; + } + }); + const parseNodes = (value) => { + if (!value) + return; + value = value.replace(/
    ||
    /g, "\n"); + value = value.replace(/ /g, " "); + let htmlString = ""; + if (value.split("```").length % 2) { + let mdtext = value; + if (mdtext[mdtext.length - 1] != "\n") { + mdtext += "\n"; + } + htmlString = markdown.render(mdtext); + } else { + htmlString = markdown.render(value); + } + htmlString = htmlString.replace(//g, `
    `); + htmlString = htmlString.replace(/||
    /g, `
    `); + return htmlString; + }; + const handleItemClick = (e) => { + let { attrs } = e.detail.node; + let { "code-data-index": codeDataIndex, "class": className } = attrs; + if (className == "copy-btn") { + common_vendor.index.setClipboardData({ + data: copyCodeData[codeDataIndex], + showToast: false, + success() { + common_vendor.index.showToast({ + title: "\u590D\u5236\u6210\u529F", + icon: "none" + }); + } + }); + } + }; + return (_ctx, _cache) => { + return { + a: parseNodes(__props.source), + b: common_vendor.o(handleItemClick) + }; + }; + } +}; +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-5aa72c31"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/components/ua-markdown/ua-markdown.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/components/ua-markdown/ua-markdown.json b/dist/dev/mp-weixin/components/ua-markdown/ua-markdown.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/dist/dev/mp-weixin/components/ua-markdown/ua-markdown.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/components/ua-markdown/ua-markdown.wxml b/dist/dev/mp-weixin/components/ua-markdown/ua-markdown.wxml new file mode 100644 index 0000000..a321b2d --- /dev/null +++ b/dist/dev/mp-weixin/components/ua-markdown/ua-markdown.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/dev/mp-weixin/components/ua-markdown/ua-markdown.wxss b/dist/dev/mp-weixin/components/ua-markdown/ua-markdown.wxss new file mode 100644 index 0000000..2e1d284 --- /dev/null +++ b/dist/dev/mp-weixin/components/ua-markdown/ua-markdown.wxss @@ -0,0 +1,315 @@ +pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#c678dd}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#98c379}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline} +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +.ua__markdown.data-v-5aa72c31 { + font-size: 14px; + line-height: 1.5; + word-break: break-all; +} +.ua__markdown h1.data-v-5aa72c31, .ua__markdown h2.data-v-5aa72c31, .ua__markdown h3.data-v-5aa72c31, .ua__markdown h4.data-v-5aa72c31, .ua__markdown h5.data-v-5aa72c31, .ua__markdown h6.data-v-5aa72c31 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +.ua__markdown h1.data-v-5aa72c31, .ua__markdown h2.data-v-5aa72c31, .ua__markdown h3.data-v-5aa72c31 { + margin-top: 20px; + margin-bottom: 10px; +} +.ua__markdown h4.data-v-5aa72c31, .ua__markdown h5.data-v-5aa72c31, .ua__markdown h6.data-v-5aa72c31 { + margin-top: 10px; + margin-bottom: 10px; +} +.ua__markdown .h1.data-v-5aa72c31, .ua__markdown h1.data-v-5aa72c31 { + font-size: 36px; +} +.ua__markdown .h2.data-v-5aa72c31, .ua__markdown h2.data-v-5aa72c31 { + font-size: 30px; +} +.ua__markdown .h3.data-v-5aa72c31, .ua__markdown h3.data-v-5aa72c31 { + font-size: 24px; +} +.ua__markdown .h4.data-v-5aa72c31, .ua__markdown h4.data-v-5aa72c31 { + font-size: 18px; +} +.ua__markdown .h5.data-v-5aa72c31, .ua__markdown h5.data-v-5aa72c31 { + font-size: 14px; +} +.ua__markdown .h6.data-v-5aa72c31, .ua__markdown h6.data-v-5aa72c31 { + font-size: 12px; +} +.ua__markdown a.data-v-5aa72c31 { + background-color: transparent; + color: #2196f3; + text-decoration: none; +} +.ua__markdown hr.data-v-5aa72c31, .ua__markdown.data-v-5aa72c31 .hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #e5e5e5; +} +.ua__markdown img.data-v-5aa72c31 { + max-width: 35%; +} +.ua__markdown p.data-v-5aa72c31 { + margin: 0 0 10px; +} +.ua__markdown em.data-v-5aa72c31 { + font-style: italic; + font-weight: inherit; +} +.ua__markdown ol.data-v-5aa72c31, .ua__markdown ul.data-v-5aa72c31 { + margin-top: 0; + margin-bottom: 10px; + padding-left: 40px; +} +.ua__markdown ol ol.data-v-5aa72c31, .ua__markdown ol ul.data-v-5aa72c31, .ua__markdown ul ol.data-v-5aa72c31, .ua__markdown ul ul.data-v-5aa72c31 { + margin-bottom: 0; +} +.ua__markdown ol ol.data-v-5aa72c31, .ua__markdown ul ol.data-v-5aa72c31 { + list-style-type: lower-roman; +} +.ua__markdown ol ol ol.data-v-5aa72c31, .ua__markdown ul ul ol.data-v-5aa72c31 { + list-style-type: lower-alpha; +} +.ua__markdown dl.data-v-5aa72c31 { + margin-top: 0; + margin-bottom: 20px; +} +.ua__markdown dt.data-v-5aa72c31 { + font-weight: 600; +} +.ua__markdown dt.data-v-5aa72c31, .ua__markdown dd.data-v-5aa72c31 { + line-height: 1.4; +} +.ua__markdown .task-list-item.data-v-5aa72c31 { + list-style-type: none; +} +.ua__markdown .task-list-item input.data-v-5aa72c31 { + margin: 0 0.2em 0.25em -1.6em; + vertical-align: middle; +} +.ua__markdown pre.data-v-5aa72c31 { + position: relative; + z-index: 11; +} +.ua__markdown code.data-v-5aa72c31, .ua__markdown kbd.data-v-5aa72c31, .ua__markdown pre.data-v-5aa72c31, .ua__markdown samp.data-v-5aa72c31 { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; +} +.ua__markdown code.data-v-5aa72c31:not(.hljs) { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #ffe7ee; + border-radius: 4px; +} +.ua__markdown code.data-v-5aa72c31:empty { + display: none; +} +.ua__markdown pre code.hljs.data-v-5aa72c31 { + color: var(--vg__text-1); + border-radius: 16px; + background: var(--vg__bg-1); + font-size: 12px; +} +.ua__markdown .markdown-wrap.data-v-5aa72c31 { + font-size: 12px; + margin-bottom: 10px; +} +.ua__markdown pre.code-block-wrapper.data-v-5aa72c31 { + background: #2b2b2b; + color: #f8f8f2; + border-radius: 4px; + overflow-x: auto; + padding: 1em; + position: relative; +} +.ua__markdown pre.code-block-wrapper code.data-v-5aa72c31 { + padding: auto; + font-size: inherit; + color: inherit; + background-color: inherit; + border-radius: 0; +} +.ua__markdown .code-block-header__copy.data-v-5aa72c31 { + font-size: 16px; + margin-left: 5px; +} +.ua__markdown abbr[data-original-title].data-v-5aa72c31, .ua__markdown abbr[title].data-v-5aa72c31 { + cursor: help; + border-bottom: 1px dotted #777; +} +.ua__markdown blockquote.data-v-5aa72c31 { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 17.5px; + border-left: 5px solid #e5e5e5; +} +.ua__markdown blockquote ol.data-v-5aa72c31:last-child, .ua__markdown blockquote p.data-v-5aa72c31:last-child, .ua__markdown blockquote ul.data-v-5aa72c31:last-child { + margin-bottom: 0; +} +.ua__markdown blockquote .small.data-v-5aa72c31, .ua__markdown blockquote footer.data-v-5aa72c31, .ua__markdown blockquote small.data-v-5aa72c31 { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777; +} +.ua__markdown blockquote .small.data-v-5aa72c31:before, .ua__markdown blockquote footer.data-v-5aa72c31:before, .ua__markdown blockquote small.data-v-5aa72c31:before { + content: "— "; +} +.ua__markdown .blockquote-reverse.data-v-5aa72c31, .ua__markdown blockquote.pull-right.data-v-5aa72c31 { + padding-right: 15px; + padding-left: 0; + text-align: right; + border-right: 5px solid #eee; + border-left: 0; +} +.ua__markdown .blockquote-reverse .small.data-v-5aa72c31:before, .ua__markdown .blockquote-reverse footer.data-v-5aa72c31:before, .ua__markdown .blockquote-reverse small.data-v-5aa72c31:before, .ua__markdown blockquote.pull-right .small.data-v-5aa72c31:before, .ua__markdown blockquote.pull-right footer.data-v-5aa72c31:before, .ua__markdown blockquote.pull-right small.data-v-5aa72c31:before { + content: ""; +} +.ua__markdown .blockquote-reverse .small.data-v-5aa72c31:after, .ua__markdown .blockquote-reverse footer.data-v-5aa72c31:after, .ua__markdown .blockquote-reverse small.data-v-5aa72c31:after, .ua__markdown blockquote.pull-right .small.data-v-5aa72c31:after, .ua__markdown blockquote.pull-right footer.data-v-5aa72c31:after, .ua__markdown blockquote.pull-right small.data-v-5aa72c31:after { + content: " —"; +} +.ua__markdown .footnotes.data-v-5aa72c31 { + -moz-column-count: 2; + column-count: 2; +} +.ua__markdown .footnotes-list.data-v-5aa72c31 { + padding-left: 2em; +} +.ua__markdown table.data-v-5aa72c31, .ua__markdown.data-v-5aa72c31 .table { + border-spacing: 0; + border-collapse: collapse; + width: 100%; + max-width: 65em; + overflow: auto; + margin-top: 0; + margin-bottom: 16px; +} +.ua__markdown table tr.data-v-5aa72c31, .ua__markdown.data-v-5aa72c31 .table .tr { + border-top: 1px solid #e5e5e5; +} +.ua__markdown table th.data-v-5aa72c31, .ua__markdown table td.data-v-5aa72c31, .ua__markdown.data-v-5aa72c31 .table .th, .ua__markdown.data-v-5aa72c31 .table .td { + padding: 6px 13px; + border: 1px solid #e5e5e5; +} +.ua__markdown table th.data-v-5aa72c31, .ua__markdown.data-v-5aa72c31 .table .th { + font-weight: 600; + background-color: #eee; +} +.ua__markdown .hljs[class*=language-].data-v-5aa72c31:before { + position: absolute; + z-index: 3; + top: 0.8em; + right: 1em; + font-size: 0.8em; + color: #999; +} +.ua__markdown .hljs[class~=language-js].data-v-5aa72c31:before { + content: "js"; +} +.ua__markdown .hljs[class~=language-ts].data-v-5aa72c31:before { + content: "ts"; +} +.ua__markdown .hljs[class~=language-html].data-v-5aa72c31:before { + content: "html"; +} +.ua__markdown .hljs[class~=language-md].data-v-5aa72c31:before { + content: "md"; +} +.ua__markdown .hljs[class~=language-vue].data-v-5aa72c31:before { + content: "vue"; +} +.ua__markdown .hljs[class~=language-css].data-v-5aa72c31:before { + content: "css"; +} +.ua__markdown .hljs[class~=language-sass].data-v-5aa72c31:before { + content: "sass"; +} +.ua__markdown .hljs[class~=language-scss].data-v-5aa72c31:before { + content: "scss"; +} +.ua__markdown .hljs[class~=language-less].data-v-5aa72c31:before { + content: "less"; +} +.ua__markdown .hljs[class~=language-stylus].data-v-5aa72c31:before { + content: "stylus"; +} +.ua__markdown .hljs[class~=language-go].data-v-5aa72c31:before { + content: "go"; +} +.ua__markdown .hljs[class~=language-java].data-v-5aa72c31:before { + content: "java"; +} +.ua__markdown .hljs[class~=language-c].data-v-5aa72c31:before { + content: "c"; +} +.ua__markdown .hljs[class~=language-sh].data-v-5aa72c31:before { + content: "sh"; +} +.ua__markdown .hljs[class~=language-yaml].data-v-5aa72c31:before { + content: "yaml"; +} +.ua__markdown .hljs[class~=language-py].data-v-5aa72c31:before { + content: "py"; +} +.ua__markdown .hljs[class~=language-docker].data-v-5aa72c31:before { + content: "docker"; +} +.ua__markdown .hljs[class~=language-dockerfile].data-v-5aa72c31:before { + content: "dockerfile"; +} +.ua__markdown .hljs[class~=language-makefile].data-v-5aa72c31:before { + content: "makefile"; +} +.ua__markdown .hljs[class~=language-javascript].data-v-5aa72c31:before { + content: "js"; +} +.ua__markdown .hljs[class~=language-typescript].data-v-5aa72c31:before { + content: "ts"; +} +.ua__markdown .hljs[class~=language-markup].data-v-5aa72c31:before { + content: "html"; +} +.ua__markdown .hljs[class~=language-markdown].data-v-5aa72c31:before { + content: "md"; +} +.ua__markdown .hljs[class~=language-json].data-v-5aa72c31:before { + content: "json"; +} +.ua__markdown .hljs[class~=language-ruby].data-v-5aa72c31:before { + content: "rb"; +} +.ua__markdown .hljs[class~=language-python].data-v-5aa72c31:before { + content: "py"; +} +.ua__markdown .hljs[class~=language-bash].data-v-5aa72c31:before { + content: "sh"; +} +.ua__markdown .hljs[class~=language-php].data-v-5aa72c31:before { + content: "php"; +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/config/api.config.js b/dist/dev/mp-weixin/config/api.config.js new file mode 100644 index 0000000..b7d99a9 --- /dev/null +++ b/dist/dev/mp-weixin/config/api.config.js @@ -0,0 +1,3 @@ +"use strict"; +const BASE_URL = "https://ching.snhaenigseal.cn"; +exports.BASE_URL = BASE_URL; diff --git a/dist/dev/mp-weixin/pages/ZhouYi/detail.js b/dist/dev/mp-weixin/pages/ZhouYi/detail.js new file mode 100644 index 0000000..5285139 --- /dev/null +++ b/dist/dev/mp-weixin/pages/ZhouYi/detail.js @@ -0,0 +1,78 @@ +"use strict"; +var common_vendor = require("../../common/vendor.js"); +require("../../api/modules/AI.js"); +var api_modules_ZhouYi = require("../../api/modules/ZhouYi.js"); +require("../../api/modules/config.js"); +require("../../utils/request.js"); +require("../../config/api.config.js"); +require("../../stores/index.js"); +require("../../stores/modules/tabIndex.js"); +require("../../stores/modules/user.js"); +require("../../stores/modules/AIResponse.js"); +require("../../stores/modules/rateLimit.js"); +if (!Array) { + const _easycom_wd_text2 = common_vendor.resolveComponent("wd-text"); + const _easycom_ua_markdown2 = common_vendor.resolveComponent("ua-markdown"); + const _easycom_wd_status_tip2 = common_vendor.resolveComponent("wd-status-tip"); + (_easycom_wd_text2 + _easycom_ua_markdown2 + _easycom_wd_status_tip2)(); +} +const _easycom_wd_text = () => "../../uni_modules/wot-design-uni/components/wd-text/wd-text.js"; +const _easycom_ua_markdown = () => "../../components/ua-markdown/ua-markdown.js"; +const _easycom_wd_status_tip = () => "../../uni_modules/wot-design-uni/components/wd-status-tip/wd-status-tip.js"; +if (!Math) { + (NavBar + _easycom_wd_text + _easycom_ua_markdown + _easycom_wd_status_tip)(); +} +const NavBar = () => "../../components/NavBar.js"; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + __name: "detail", + setup(__props) { + const info = common_vendor.ref(null); + common_vendor.onLoad((e) => { + if (e.id) { + api_modules_ZhouYi.getZhouDetail({ + id: e.id + }).then((res) => { + info.value = res.data; + }); + } + if (e.name) { + api_modules_ZhouYi.getZhouDetail({ + name: e.name + }).then((res) => { + info.value = res.data[0]; + }); + } + }); + return (_ctx, _cache) => { + return common_vendor.e({ + a: common_vendor.p({ + title: "\u5B66\u4E60\u5366\u8F9E" + }), + b: info.value + }, info.value ? { + c: common_vendor.p({ + text: info.value.symbol, + size: "96rpx", + bold: true, + color: "#333" + }), + d: common_vendor.p({ + text: info.value.name, + size: "48rpx", + bold: true, + color: "#333" + }), + e: common_vendor.p({ + source: info.value.desc + }) + } : { + f: common_vendor.p({ + image: "https://asstes.snhaenigseal.cn/images/wot/content.png", + tip: "\u6682\u65E0\u5185\u5BB9" + }) + }); + }; + } +}); +var MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-7c7d69f0"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/pages/ZhouYi/detail.vue"]]); +wx.createPage(MiniProgramPage); diff --git a/dist/dev/mp-weixin/pages/ZhouYi/detail.json b/dist/dev/mp-weixin/pages/ZhouYi/detail.json new file mode 100644 index 0000000..f5bee8a --- /dev/null +++ b/dist/dev/mp-weixin/pages/ZhouYi/detail.json @@ -0,0 +1,9 @@ +{ + "navigationStyle": "custom", + "usingComponents": { + "wd-text": "../../uni_modules/wot-design-uni/components/wd-text/wd-text", + "ua-markdown": "../../components/ua-markdown/ua-markdown", + "wd-status-tip": "../../uni_modules/wot-design-uni/components/wd-status-tip/wd-status-tip", + "nav-bar": "../../components/NavBar" + } +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/pages/ZhouYi/detail.wxml b/dist/dev/mp-weixin/pages/ZhouYi/detail.wxml new file mode 100644 index 0000000..3abdcd6 --- /dev/null +++ b/dist/dev/mp-weixin/pages/ZhouYi/detail.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/dev/mp-weixin/pages/ZhouYi/detail.wxss b/dist/dev/mp-weixin/pages/ZhouYi/detail.wxss new file mode 100644 index 0000000..ce8548b --- /dev/null +++ b/dist/dev/mp-weixin/pages/ZhouYi/detail.wxss @@ -0,0 +1,41 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +.content.data-v-7c7d69f0 { + height: auto; +} +.symbol.data-v-7c7d69f0 { + display: flex; + flex-flow: column nowrap; + gap: 16rpx; + align-items: center; + margin: 16rpx 0; +} +.desc.data-v-7c7d69f0 { + border-radius: 16rpx; + margin: 32rpx; + padding: 32rpx; + background-color: #fff; +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/pages/home/home.js b/dist/dev/mp-weixin/pages/home/home.js new file mode 100644 index 0000000..291ece0 --- /dev/null +++ b/dist/dev/mp-weixin/pages/home/home.js @@ -0,0 +1,105 @@ +"use strict"; +var common_vendor = require("../../common/vendor.js"); +var api_modules_ZhouYi = require("../../api/modules/ZhouYi.js"); +var utils_common = require("../../utils/common.js"); +require("../../utils/request.js"); +require("../../config/api.config.js"); +require("../../stores/modules/rateLimit.js"); +if (!Array) { + const _easycom_wd_text2 = common_vendor.resolveComponent("wd-text"); + const _easycom_wd_col2 = common_vendor.resolveComponent("wd-col"); + const _easycom_wd_row2 = common_vendor.resolveComponent("wd-row"); + (_easycom_wd_text2 + _easycom_wd_col2 + _easycom_wd_row2)(); +} +const _easycom_wd_text = () => "../../uni_modules/wot-design-uni/components/wd-text/wd-text.js"; +const _easycom_wd_col = () => "../../uni_modules/wot-design-uni/components/wd-col/wd-col.js"; +const _easycom_wd_row = () => "../../uni_modules/wot-design-uni/components/wd-row/wd-row.js"; +if (!Math) { + (NavBar + _easycom_wd_text + _easycom_wd_col + _easycom_wd_row)(); +} +const NavBar = () => "../../components/NavBar.js"; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + __name: "home", + setup(__props) { + const list = common_vendor.ref([]); + const \u4E0A\u7ECF = common_vendor.ref([]); + const \u4E0B\u7ECF = common_vendor.ref([]); + api_modules_ZhouYi.getZhouList().then((res) => { + list.value = res.data; + \u4E0A\u7ECF.value = list.value.filter((item) => item.index >= 1 && item.index <= 30); + \u4E0B\u7ECF.value = list.value.filter((item) => item.index >= 31 && item.index <= 64); + }); + return (_ctx, _cache) => { + return common_vendor.e({ + a: common_vendor.p({ + title: "\u5B66\u6613" + }), + b: common_vendor.p({ + text: "\u4E0A\u7ECF", + size: "36rpx", + bold: true, + color: "#333" + }), + c: list.value.length + }, list.value.length ? { + d: common_vendor.f(\u4E0A\u7ECF.value, (item, index, i0) => { + return { + a: "087d42bb-4-" + i0 + "," + ("087d42bb-3-" + i0), + b: common_vendor.p({ + text: item.symbol, + size: "90rpx", + color: "#333" + }), + c: "087d42bb-5-" + i0 + "," + ("087d42bb-3-" + i0), + d: common_vendor.p({ + text: item.name, + bold: true, + size: "28rpx", + color: "#333" + }), + e: common_vendor.o(($event) => common_vendor.unref(utils_common.goTo)("/pages/ZhouYi/detail?id=" + item.documentId)), + f: index, + g: "087d42bb-3-" + i0 + ",087d42bb-2" + }; + }), + e: common_vendor.p({ + span: 6 + }) + } : {}, { + f: common_vendor.p({ + text: "\u4E0B\u7ECF", + size: "36rpx", + bold: true, + color: "#333" + }), + g: list.value.length + }, list.value.length ? { + h: common_vendor.f(\u4E0B\u7ECF.value, (item, index, i0) => { + return { + a: "087d42bb-9-" + i0 + "," + ("087d42bb-8-" + i0), + b: common_vendor.p({ + text: item.symbol, + size: "90rpx", + color: "#333" + }), + c: "087d42bb-10-" + i0 + "," + ("087d42bb-8-" + i0), + d: common_vendor.p({ + text: item.name, + bold: true, + size: "28rpx", + color: "#333" + }), + e: common_vendor.o(($event) => common_vendor.unref(utils_common.goTo)("/pages/ZhouYi/detail?id=" + item.documentId)), + f: index, + g: "087d42bb-8-" + i0 + ",087d42bb-7" + }; + }), + i: common_vendor.p({ + span: 6 + }) + } : {}); + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-087d42bb"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/pages/home/home.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/pages/home/home.json b/dist/dev/mp-weixin/pages/home/home.json new file mode 100644 index 0000000..04906e7 --- /dev/null +++ b/dist/dev/mp-weixin/pages/home/home.json @@ -0,0 +1,9 @@ +{ + "component": true, + "usingComponents": { + "wd-text": "../../uni_modules/wot-design-uni/components/wd-text/wd-text", + "wd-col": "../../uni_modules/wot-design-uni/components/wd-col/wd-col", + "wd-row": "../../uni_modules/wot-design-uni/components/wd-row/wd-row", + "nav-bar": "../../components/NavBar" + } +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/pages/home/home.wxml b/dist/dev/mp-weixin/pages/home/home.wxml new file mode 100644 index 0000000..25f19bc --- /dev/null +++ b/dist/dev/mp-weixin/pages/home/home.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/dev/mp-weixin/pages/home/home.wxss b/dist/dev/mp-weixin/pages/home/home.wxss new file mode 100644 index 0000000..738f8c7 --- /dev/null +++ b/dist/dev/mp-weixin/pages/home/home.wxss @@ -0,0 +1,39 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +.title.data-v-087d42bb { + margin: 36rpx 16rpx; +} +.item.data-v-087d42bb { + display: flex; + flex-flow: column nowrap; + align-items: center; + gap: 16rpx; + margin: 16rpx; + padding: 32rpx 16rpx; + border-radius: 16rpx; + background-color: #fff; + box-sizing: border-box; +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/pages/index/index.js b/dist/dev/mp-weixin/pages/index/index.js new file mode 100644 index 0000000..d822753 --- /dev/null +++ b/dist/dev/mp-weixin/pages/index/index.js @@ -0,0 +1,34 @@ +"use strict"; +var common_vendor = require("../../common/vendor.js"); +require("../../stores/index.js"); +var stores_modules_tabIndex = require("../../stores/modules/tabIndex.js"); +require("../../stores/modules/user.js"); +require("../../stores/modules/AIResponse.js"); +require("../../stores/modules/rateLimit.js"); +if (!Math) { + (Home + SuanGua + User + TabBar)(); +} +const SuanGua = () => "../suan-gua/suan-gua.js"; +const Home = () => "../home/home.js"; +const User = () => "../user/user.js"; +const TabBar = () => "../../components/TabBar.js"; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + __name: "index", + setup(__props) { + const { + tabIndex + } = common_vendor.storeToRefs(stores_modules_tabIndex.useTabStore()); + console.log(tabIndex.value); + return (_ctx, _cache) => { + return common_vendor.e({ + a: common_vendor.unref(tabIndex) === 0 + }, common_vendor.unref(tabIndex) === 0 ? {} : {}, { + b: common_vendor.unref(tabIndex) === 1 + }, common_vendor.unref(tabIndex) === 1 ? {} : {}, { + c: common_vendor.unref(tabIndex) === 2 + }, common_vendor.unref(tabIndex) === 2 ? {} : {}); + }; + } +}); +var MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-1badc801"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/pages/index/index.vue"]]); +wx.createPage(MiniProgramPage); diff --git a/dist/dev/mp-weixin/pages/index/index.json b/dist/dev/mp-weixin/pages/index/index.json new file mode 100644 index 0000000..867548c --- /dev/null +++ b/dist/dev/mp-weixin/pages/index/index.json @@ -0,0 +1,9 @@ +{ + "navigationStyle": "custom", + "usingComponents": { + "suan-gua": "../suan-gua/suan-gua", + "home": "../home/home", + "user": "../user/user", + "tab-bar": "../../components/TabBar" + } +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/pages/index/index.wxml b/dist/dev/mp-weixin/pages/index/index.wxml new file mode 100644 index 0000000..b0aaaa9 --- /dev/null +++ b/dist/dev/mp-weixin/pages/index/index.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/dev/mp-weixin/pages/index/index.wxss b/dist/dev/mp-weixin/pages/index/index.wxss new file mode 100644 index 0000000..a0f102c --- /dev/null +++ b/dist/dev/mp-weixin/pages/index/index.wxss @@ -0,0 +1,28 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +.content.data-v-1badc801 { + height: auto; +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/pages/suan-gua/suan-gua.js b/dist/dev/mp-weixin/pages/suan-gua/suan-gua.js new file mode 100644 index 0000000..c3fe935 --- /dev/null +++ b/dist/dev/mp-weixin/pages/suan-gua/suan-gua.js @@ -0,0 +1,568 @@ +"use strict"; +var common_vendor = require("../../common/vendor.js"); +var uni_modules_wotDesignUni_components_wdToast_index = require("../../uni_modules/wot-design-uni/components/wd-toast/index.js"); +var uni_modules_wotDesignUni_components_wdMessageBox_index = require("../../uni_modules/wot-design-uni/components/wd-message-box/index.js"); +require("../../uni_modules/wot-design-uni/locale/index.js"); +require("../../uni_modules/wot-design-uni/dayjs/index.js"); +var api_modules_AI = require("../../api/modules/AI.js"); +var api_modules_ZhouYi = require("../../api/modules/ZhouYi.js"); +var api_modules_question = require("../../api/modules/question.js"); +var config_api_config = require("../../config/api.config.js"); +require("../../stores/index.js"); +var utils_common = require("../../utils/common.js"); +var utils_gua_64 = require("../../utils/gua_64.js"); +var stores_modules_AIResponse = require("../../stores/modules/AIResponse.js"); +var stores_modules_user = require("../../stores/modules/user.js"); +require("../../uni_modules/wot-design-uni/components/common/util.js"); +require("../../uni_modules/wot-design-uni/components/common/AbortablePromise.js"); +require("../../uni_modules/wot-design-uni/locale/lang/zh-CN.js"); +require("../../uni_modules/wot-design-uni/dayjs/constant.js"); +require("../../uni_modules/wot-design-uni/dayjs/locale/en.js"); +require("../../uni_modules/wot-design-uni/dayjs/utils.js"); +require("../../api/modules/config.js"); +require("../../utils/request.js"); +require("../../stores/modules/tabIndex.js"); +require("../../stores/modules/rateLimit.js"); +if (!Array) { + const _easycom_wd_button2 = common_vendor.resolveComponent("wd-button"); + const _easycom_wd_text2 = common_vendor.resolveComponent("wd-text"); + const _easycom_wd_input2 = common_vendor.resolveComponent("wd-input"); + const _easycom_wd_img2 = common_vendor.resolveComponent("wd-img"); + const _easycom_wd_message_box2 = common_vendor.resolveComponent("wd-message-box"); + const _easycom_wd_overlay2 = common_vendor.resolveComponent("wd-overlay"); + const _easycom_wd_toast2 = common_vendor.resolveComponent("wd-toast"); + (_easycom_wd_button2 + _easycom_wd_text2 + _easycom_wd_input2 + _easycom_wd_img2 + _easycom_wd_message_box2 + _easycom_wd_overlay2 + _easycom_wd_toast2)(); +} +const _easycom_wd_button = () => "../../uni_modules/wot-design-uni/components/wd-button/wd-button.js"; +const _easycom_wd_text = () => "../../uni_modules/wot-design-uni/components/wd-text/wd-text.js"; +const _easycom_wd_input = () => "../../uni_modules/wot-design-uni/components/wd-input/wd-input.js"; +const _easycom_wd_img = () => "../../uni_modules/wot-design-uni/components/wd-img/wd-img.js"; +const _easycom_wd_message_box = () => "../../uni_modules/wot-design-uni/components/wd-message-box/wd-message-box.js"; +const _easycom_wd_overlay = () => "../../uni_modules/wot-design-uni/components/wd-overlay/wd-overlay.js"; +const _easycom_wd_toast = () => "../../uni_modules/wot-design-uni/components/wd-toast/wd-toast.js"; +if (!Math) { + (NavBar + _easycom_wd_button + _easycom_wd_text + _easycom_wd_input + _easycom_wd_img + _easycom_wd_message_box + _easycom_wd_overlay + _easycom_wd_toast)(); +} +const NavBar = () => "../../components/NavBar.js"; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + __name: "suan-gua", + setup(__props) { + const { + responseText, + showResponseText, + isLoading, + isDone + } = common_vendor.storeToRefs(stores_modules_AIResponse.useAIReponseStore()); + const { + yaoList + } = common_vendor.storeToRefs(stores_modules_user.useUserStore()); + const message = uni_modules_wotDesignUni_components_wdMessageBox_index.useMessage(); + const currentTime = common_vendor.ref(utils_common.formatDate(new Date())); + const lunarTime = common_vendor.computed$1(() => { + const d = common_vendor.gt(currentTime.value.substring(0, 16)); + return d.lunar.toString(); + }); + const refreshTime = () => { + currentTime.value = utils_common.formatDate(new Date()); + }; + const YangImg = config_api_config.BASE_URL + "/uploads/mov_yang_d41e51fd83.png"; + const YinImg = config_api_config.BASE_URL + "/uploads/yin_e32817a811.png"; + const audio = common_vendor.index.createInnerAudioContext(); + audio.autoplay = false; + audio.src = config_api_config.BASE_URL + "/uploads/01_b7107f6b3b.mp3"; + const ding = common_vendor.index.createInnerAudioContext(); + ding.autoplay = false; + ding.src = config_api_config.BASE_URL + "/uploads/ding_ae6e65af25.mp3"; + const coinPositiveImg = config_api_config.BASE_URL + "/uploads/_52f5bd86b5.png"; + const coinNegativeImg = config_api_config.BASE_URL + "/uploads/_5f46b99d48.png"; + const toast = uni_modules_wotDesignUni_components_wdToast_index.useToast(); + const coins = common_vendor.ref(["\u6B63\u9762", "\u6B63\u9762", "\u6B63\u9762"]); + const \u672C\u5366 = common_vendor.ref(""); + const \u53D8\u5366 = common_vendor.ref(""); + const lines = common_vendor.ref([]); + const randomSide = () => { + return Math.random() < 0.5 ? "\u6B63\u9762" : "\u53CD\u9762"; + }; + const analyzeYao = (coinResults) => { + console.log(coinResults); + const positiveCount = coinResults.filter((v) => v === "\u6B63\u9762").length; + if (positiveCount === 3) { + return { type: "\u8001\u9633", isMoving: true, symbol: "\u9633", img: YangImg, number: "9" }; + } else if (positiveCount === 0) { + return { type: "\u8001\u9634", isMoving: true, symbol: "\u9634", img: YinImg, number: "6" }; + } else if (positiveCount === 2) { + return { type: "\u5C11\u9634", isMoving: false, symbol: "\u9634", img: YinImg, number: "8" }; + } else { + return { type: "\u5C11\u9633", isMoving: false, symbol: "\u9633", img: YangImg, number: "7" }; + } + }; + const resetState = () => { + lines.value = []; + coins.value = ["\u6B63\u9762", "\u6B63\u9762", "\u6B63\u9762"]; + \u672C\u5366.value = ""; + \u53D8\u5366.value = ""; + \u4F53\u5366.value = ""; + \u7528\u5366.value = ""; + \u723B\u8F9E.value = ""; + \u52A8\u723B\u5217\u8868.value = []; + \u9759\u723B\u5217\u8868.value = []; + inputTxt.value = ""; + showUserAgreeButton.value = true; + showResponse.value = false; + audio.pause(); + stores_modules_AIResponse.useAIReponseStore().reset(); + }; + const performCast = () => { + const newCoins = [randomSide(), randomSide(), randomSide()]; + coins.value = [...newCoins]; + const yao = analyzeYao(newCoins); + lines.value.unshift(yao); + }; + common_vendor.ref(false); + const inputTxt = common_vendor.ref(""); + common_vendor.ref("\u5366\u8C61\u7ED3\u679C\u751F\u6210\u4E2D"); + const \u672C\u5366\u6570\u5B57 = common_vendor.ref(""); + const \u4F53\u5366 = common_vendor.ref(""); + const \u7528\u5366 = common_vendor.ref(""); + const \u52A8\u723B\u5217\u8868 = common_vendor.ref([]); + common_vendor.ref(0); + const \u723B\u8F9E = common_vendor.ref(""); + const \u52A8\u723B\u540D\u79F0 = ["\u521D\u4E5D", "\u4E5D\u4E8C", "\u4E5D\u4E09", "\u4E5D\u56DB", "\u4E5D\u4E94", "\u4E0A\u4E5D", "\u521D\u516D", "\u516D\u4E8C", "\u516D\u4E09", "\u516D\u56DB", "\u516D\u4E94", "\u4E0A\u516D"]; + const \u9759\u723B\u5217\u8868 = common_vendor.ref([]); + const \u83B7\u53D6\u52A8\u723B\u540D\u79F0 = async () => { + const len = \u52A8\u723B\u5217\u8868.value.length; + if (len === 0) { + return "\u65E0"; + } + if (len === 1) { + return \u52A8\u723B\u5217\u8868.value[0]; + } + if (len === 2) { + return \u52A8\u723B\u5217\u8868.value[1]; + } + if (len === 3) { + return \u52A8\u723B\u5217\u8868.value[1]; + } + if (len === 4) { + return \u9759\u723B\u5217\u8868.value[0]; + } + if (len === 5) { + return \u9759\u723B\u5217\u8868.value[0]; + } + if (len === 6) { + if (\u672C\u5366.value === "\u4E7E\u4E3A\u5929") { + return "\u7528\u4E5D"; + } else if (\u672C\u5366.value === "\u5764\u4E3A\u5730") { + return "\u7528\u516D"; + } else { + return "\u65E0"; + } + } + return "\u65E0"; + }; + const showCompleteLoading = common_vendor.ref(false); + common_vendor.ref(false); + common_vendor.watch( + () => lines.value, + async (newVal) => { + if (newVal.length === 6) { + showCompleteLoading.value = true; + await utils_common.sleep(3e3); + showCompleteLoading.value = false; + setTimeout(() => { + common_vendor.index.pageScrollTo({ + scrollTop: 999999 + }); + }); + let result1 = ""; + let arr1 = JSON.parse(JSON.stringify(lines.value)); + arr1.reverse().map((line) => { + result1 += line.symbol; + \u672C\u5366\u6570\u5B57.value += line.number; + }); + let result2 = ""; + let arr2 = JSON.parse(JSON.stringify(movingInfo.value)); + arr2.reverse().map((line) => { + result2 += line.symbol; + }); + let arr3 = JSON.parse(JSON.stringify(movingInfo.value)); + arr3.reverse().map((line, i) => { + if (line.isMoving) { + if (line.number === "6") { + \u52A8\u723B\u5217\u8868.value.push(\u52A8\u723B\u540D\u79F0[6 + i]); + } + if (line.number === "9") { + \u52A8\u723B\u5217\u8868.value.push(\u52A8\u723B\u540D\u79F0[i]); + } + } else { + if (line.number === "8") { + \u9759\u723B\u5217\u8868.value.push(\u52A8\u723B\u540D\u79F0[6 + i]); + } + if (line.number === "7") { + \u9759\u723B\u5217\u8868.value.push(\u52A8\u723B\u540D\u79F0[i]); + } + } + }); + for (let i = 0; i < 64; i++) { + if (utils_gua_64["\u516D\u5341\u56DB\u5366"][i].symbol === result1) { + \u672C\u5366.value = utils_gua_64["\u516D\u5341\u56DB\u5366"][i].name; + \u4F53\u5366.value = utils_gua_64["\u516D\u5341\u56DB\u5366"][i].bottom; + \u7528\u5366.value = utils_gua_64["\u516D\u5341\u56DB\u5366"][i].top; + } + if (utils_gua_64["\u516D\u5341\u56DB\u5366"][i].symbol === result2) { + \u53D8\u5366.value = utils_gua_64["\u516D\u5341\u56DB\u5366"][i].name; + } + } + let _\u52A8\u723B\u540D\u79F0 = await \u83B7\u53D6\u52A8\u723B\u540D\u79F0(); + if (_\u52A8\u723B\u540D\u79F0 === "\u65E0") { + \u723B\u8F9E.value = "\u65E0\u52A8\u723B"; + } else { + \u723B\u8F9E.value = await api_modules_ZhouYi["\u83B7\u53D6\u6613\u7ECF\u723B\u8F9E"](\u672C\u5366.value, _\u52A8\u723B\u540D\u79F0); + } + await api_modules_AI.AIChat( + inputTxt.value, + \u672C\u5366.value, + \u53D8\u5366.value, + \u723B\u8F9E.value + ).then((res) => { + if (res.code) { + toast.error(res.message); + } + }); + } + }, + { + deep: true + } + ); + const showUserAgreeButton = common_vendor.ref(true); + const agreeMsg = "\u53E4\u4EBA\u4E91\uFF0C\u201C\u5584\u4E3A\u6613\u8005\u4E0D\u5360\u201D\u3002\u524D\u8DEF\u5409\u51F6\uFF0C\u672C\u662F\u4EBA\u5FC3\u4E4B\u5012\u5F71\uFF1B\u5360\u65AD\u5FAE\u8A00\uFF0C\u4E0D\u8FC7\u5366\u8C61\u4E4B\u8FF7\u6D25\u3002\u516D\u723B\u6240\u793A\uFF0C\u5E76\u975E\u4E0D\u53EF\u9006\u8F6C\u7684\u5BBF\u547D\uFF0C\u5176\u6240\u793A\u8005\uFF0C\u65E0\u975E\u6613\u7406\u63A8\u6F14\uFF0C\u672A\u5FC5\u5C3D\u7136\u65E0\u8BEF\u3002\u65E0\u8BBA\u5F97\u9047\u4F55\u5366\uFF0C\u8BF7\u4EE5\u5E73\u548C\u4E4B\u5FC3\u67E5\u770B\u3002\u4E07\u4E8B\u7EC8\u7A76\u4EBA\u4E3A\uFF0C\u662F\u5426\u67E5\u770B\u5360\u65AD\u7ED3\u679C\uFF1F"; + const showResponse = common_vendor.ref(false); + const userAgree = () => { + message.confirm({ + title: "\u63D0\u793A", + msg: agreeMsg + }).then(async () => { + audio.seek(0); + audio.play(); + showResponse.value = true; + showResponseText.value = true; + isLoading.value = true; + showUserAgreeButton.value = false; + }); + }; + const save = () => { + yaoList.value.unshift({ + time: new Date().getTime(), + q: inputTxt.value, + symbol1: \u672C\u5366.value, + symbol2: \u53D8\u5366.value, + symbolNum: \u672C\u5366\u6570\u5B57.value, + result: responseText.value + }); + responseText.value = ""; + isDone.value = false; + toast.success("\u4FDD\u5B58\u6210\u529F"); + resetState(); + }; + const coinLoading = common_vendor.ref(false); + const handleCast = async () => { + ding.play(); + if (lines.value.length === 6) { + resetState(); + } else if (lines.value.length === 0) { + if (inputTxt.value === "") { + toast.error("\u8BF7\u8F93\u5165\u6240\u95EE\u4E4B\u4E8B"); + return; + } + await api_modules_question.createQ(inputTxt.value); + const func = await utils_common.rateLimit( + 30 * 60 * 1e3, + 3 + ); + if (!func()) { + toast.error("\u60A8\u77ED\u65F6\u95F4\u5185\u5360\u535C\u6B21\u6570\u8FC7\u591A\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5"); + return; + } + coinLoading.value = true; + toast.info({ + msg: "\u8BF7\u9759\u5FC3\u7247\u523B\uFF0C\u9ED8\u5FF5\u6240\u95EE\u4E4B\u4E8B", + closed: () => { + performCast(); + coinLoading.value = false; + } + }); + } else { + coinLoading.value = true; + performCast(); + setTimeout(() => { + coinLoading.value = false; + }, 1e3); + } + }; + const currentStep = common_vendor.computed$1(() => lines.value.length); + const isComplete = common_vendor.computed$1(() => lines.value.length === 6); + const buttonText = common_vendor.computed$1(() => { + if (currentStep.value === 0) { + return "\u5F00\u59CB\u8BF7\u723B"; + } else if (currentStep.value === 6) { + return "\u91CD\u65B0\u8BF7\u723B"; + } else { + return `\u7EE7\u7EED\u8BF7\u723B`; + } + }); + const displayLines = common_vendor.computed$1(() => { + const positionNames = ["\u521D\u723B", "\u4E8C\u723B", "\u4E09\u723B", "\u56DB\u723B", "\u4E94\u723B", "\u4E0A\u723B"]; + return lines.value.map((line, index) => ({ + position: positionNames[index], + symbol: line.symbol, + img: line.img, + number: line.number + })); + }); + const movingInfo = common_vendor.computed$1(() => { + const movingIndices = []; + lines.value.forEach((line, idx) => { + let item = { + ...line, + img: line.img + }; + if (line.isMoving) { + item.position = `\u7B2C${6 - idx}\u723B\u52A8`; + item.symbol = line.symbol === "\u9634" ? "\u9633" : "\u9634"; + if (line.type === "\u8001\u9634") + item.img = YangImg; + if (line.type === "\u8001\u9633") + item.img = YinImg; + } + movingIndices.push(item); + }); + return movingIndices; + }); + return (_ctx, _cache) => { + return common_vendor.e({ + a: common_vendor.p({ + title: "\u95EE\u6613" + }), + b: common_vendor.o(refreshTime), + c: common_vendor.p({ + size: "small", + type: "icon", + icon: "refresh" + }), + d: common_vendor.p({ + text: "\u5F53\u524D\u65F6\u95F4", + bold: true, + color: "#333" + }), + e: common_vendor.p({ + text: "\u516C\u5386", + color: "#999" + }), + f: common_vendor.p({ + text: currentTime.value, + bold: true, + color: "#333" + }), + g: common_vendor.p({ + text: "\u519C\u5386", + color: "#999" + }), + h: common_vendor.p({ + text: common_vendor.unref(lunarTime), + bold: true, + color: "#333" + }), + i: common_vendor.p({ + text: "\u6240\u95EE\u4E4B\u4E8B", + bold: true, + color: "#333" + }), + j: common_vendor.o(($event) => inputTxt.value = $event), + k: common_vendor.p({ + placeholder: "\u8BF7\u8F93\u5165", + disabled: lines.value.length !== 0, + modelValue: inputTxt.value + }), + l: common_vendor.t(common_vendor.unref(buttonText)), + m: common_vendor.o(handleCast), + n: common_vendor.p({ + type: "warning", + size: "large", + ["custom-style"]: { + backgroundColor: "#145060", + fontSize: "32rpx" + }, + loading: coinLoading.value, + block: true, + disabled: common_vendor.unref(showResponseText) && !common_vendor.unref(isDone) + }), + o: common_vendor.f(coins.value, (coin, index, i0) => { + return { + a: "14c39f7b-10-" + i0, + b: common_vendor.p({ + src: coin === "\u6B63\u9762" ? coinPositiveImg : coinNegativeImg, + width: "100%", + height: "100%", + mode: "aspectFill" + }), + c: index + }; + }), + p: common_vendor.p({ + text: "\u672C\u5366", + size: "28rpx", + bold: true, + color: "#333" + }), + q: \u672C\u5366.value + }, \u672C\u5366.value ? { + r: common_vendor.t(\u672C\u5366.value), + s: common_vendor.o(($event) => common_vendor.unref(utils_common.goTo)(`/pages/ZhouYi/detail?name=${\u672C\u5366.value}`)), + t: common_vendor.p({ + size: "small", + plain: true, + ["custom-style"]: { + border: "#4b3a2b 2px solid", + color: "#4b3a2b", + fontSize: "24rpx" + } + }) + } : {}, { + v: lines.value.length === 0 + }, lines.value.length === 0 ? {} : { + w: common_vendor.f(common_vendor.unref(displayLines), (line, idx, i0) => { + return { + a: idx, + b: `url(${line.img})` + }; + }) + }, { + x: common_vendor.p({ + text: "\u53D8\u5366", + size: "28rpx", + bold: true, + color: "#333" + }), + y: \u53D8\u5366.value + }, \u53D8\u5366.value ? { + z: common_vendor.t(\u53D8\u5366.value), + A: common_vendor.o(($event) => common_vendor.unref(utils_common.goTo)(`/pages/ZhouYi/detail?name=${\u53D8\u5366.value}`)), + B: common_vendor.p({ + size: "small", + plain: true, + ["custom-style"]: { + border: "#4b3a2b 2px solid", + color: "#4b3a2b", + fontSize: "24rpx" + } + }) + } : {}, { + C: common_vendor.unref(movingInfo).length === 0 + }, common_vendor.unref(movingInfo).length === 0 ? { + D: common_vendor.t(lines.value.length === 0 ? "\u6682\u65E0" : "\u65E0\u52A8\u723B") + } : { + E: common_vendor.f(common_vendor.unref(movingInfo), (info, idx, i0) => { + return { + a: idx, + b: `url(${info.img})` + }; + }) + }, { + F: common_vendor.p({ + text: "\u5360\u65AD\u7ED3\u679C", + bold: true, + color: "#333" + }), + G: !common_vendor.unref(isComplete) + }, !common_vendor.unref(isComplete) ? { + H: common_vendor.p({ + text: "\u5C1A\u672A\u6210\u8C61", + color: "#333" + }) + } : {}, { + I: common_vendor.unref(isComplete) && showUserAgreeButton.value && !showCompleteLoading.value + }, common_vendor.unref(isComplete) && showUserAgreeButton.value && !showCompleteLoading.value ? { + J: common_vendor.o(userAgree), + K: common_vendor.p({ + block: true, + size: "large", + ["custom-style"]: { + backgroundColor: "#145060", + fontSize: "32rpx" + } + }) + } : {}, { + L: showResponse.value + }, showResponse.value ? common_vendor.e({ + M: common_vendor.p({ + text: "\u52A8\u723B\u723B\u8F9E", + bold: true, + color: "#333" + }), + N: \u723B\u8F9E.value + }, \u723B\u8F9E.value ? { + O: common_vendor.p({ + text: \u723B\u8F9E.value, + color: "#666" + }) + } : { + P: common_vendor.p({ + text: "\u5C1A\u672A\u6210\u8C61", + color: "#666" + }) + }, { + Q: common_vendor.p({ + text: "\u5366\u8C61\u8BF4\u660E", + bold: true, + color: "#333" + }), + R: !common_vendor.unref(isComplete) + }, !common_vendor.unref(isComplete) ? { + S: common_vendor.p({ + text: "\u5C1A\u672A\u6210\u8C61", + color: "#666" + }) + } : {}, { + T: common_vendor.unref(showResponseText) && common_vendor.unref(responseText) + }, common_vendor.unref(showResponseText) && common_vendor.unref(responseText) ? { + U: common_vendor.p({ + text: common_vendor.unref(responseText), + color: "#666" + }) + } : {}, { + V: common_vendor.unref(isDone) && common_vendor.unref(showResponseText) + }, common_vendor.unref(isDone) && common_vendor.unref(showResponseText) ? { + W: common_vendor.o(save), + X: common_vendor.p({ + block: true, + size: "large", + ["custom-style"]: { + backgroundColor: "#145060", + fontSize: "32rpx" + } + }) + } : {}) : {}, { + Y: common_vendor.p({ + text: "\u63D0\u793A", + size: "32rpx", + color: "#333" + }), + Z: common_vendor.p({ + text: "\u91D1\u94B1\u843D\u5B9A\uFF0C\u516D\u723B\u5DF2\u6210\uFF0C\u6B63\u5728\u4E3A\u60A8\u63A8\u6F14\u5366\u8C61\u2026\u2026 ", + size: "28rpx", + color: "#333" + }), + aa: common_vendor.p({ + show: showCompleteLoading.value, + ["lock-scroll"]: true + }), + ab: common_vendor.p({ + position: "middle" + }) + }); + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-14c39f7b"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/pages/suan-gua/suan-gua.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/pages/suan-gua/suan-gua.json b/dist/dev/mp-weixin/pages/suan-gua/suan-gua.json new file mode 100644 index 0000000..1cfb493 --- /dev/null +++ b/dist/dev/mp-weixin/pages/suan-gua/suan-gua.json @@ -0,0 +1,13 @@ +{ + "component": true, + "usingComponents": { + "wd-button": "../../uni_modules/wot-design-uni/components/wd-button/wd-button", + "wd-text": "../../uni_modules/wot-design-uni/components/wd-text/wd-text", + "wd-input": "../../uni_modules/wot-design-uni/components/wd-input/wd-input", + "wd-img": "../../uni_modules/wot-design-uni/components/wd-img/wd-img", + "wd-message-box": "../../uni_modules/wot-design-uni/components/wd-message-box/wd-message-box", + "wd-overlay": "../../uni_modules/wot-design-uni/components/wd-overlay/wd-overlay", + "wd-toast": "../../uni_modules/wot-design-uni/components/wd-toast/wd-toast", + "nav-bar": "../../components/NavBar" + } +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/pages/suan-gua/suan-gua.wxml b/dist/dev/mp-weixin/pages/suan-gua/suan-gua.wxml new file mode 100644 index 0000000..002f729 --- /dev/null +++ b/dist/dev/mp-weixin/pages/suan-gua/suan-gua.wxml @@ -0,0 +1 @@ +{{l}}{{r}}尚未起卦{{z}}{{D}} 查看 保存此次结果 \ No newline at end of file diff --git a/dist/dev/mp-weixin/pages/suan-gua/suan-gua.wxss b/dist/dev/mp-weixin/pages/suan-gua/suan-gua.wxss new file mode 100644 index 0000000..a09ea38 --- /dev/null +++ b/dist/dev/mp-weixin/pages/suan-gua/suan-gua.wxss @@ -0,0 +1,245 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +.container.data-v-14c39f7b { + display: flex; + flex-direction: column; + align-items: center; + padding: 32rpx; + box-sizing: border-box; + height: auto; + width: 100%; +} + +/* 头部 */ +.header.data-v-14c39f7b { + background-color: #fff; + width: 100%; + height: auto; + padding: 32rpx; + box-sizing: border-box; + border-radius: 32rpx; + box-shadow: 0 8rpx 20rpx rgba(0, 0, 0, 0.08); +} +.header .title.data-v-14c39f7b { + font-size: 32rpx; + font-weight: bold; + color: #3a2c1f; + letter-spacing: 4rpx; + display: block; + text-shadow: 2rpx 2rpx 0 rgba(0, 0, 0, 0.05); +} +.header .header-time.data-v-14c39f7b { + margin-top: 32rpx; + gap: 32rpx; + font-size: 28rpx; +} +.header .subtitle.data-v-14c39f7b { + font-size: 26rpx; + color: #7f6b4f; + margin-top: 12rpx; + display: block; +} + +/* 三枚铜钱区域 */ +.coins-area.data-v-14c39f7b { + display: flex; + justify-content: space-between; + gap: 32rpx; + margin: 16rpx 0; + flex-wrap: wrap; +} +.coins-area .coin.data-v-14c39f7b { + width: 160rpx; + height: 160rpx; + filter: drop-shadow(0 8rpx 10rpx rgba(0, 0, 0, 0.25)); +} +.data-v-14c39f7b .cast-btn { + width: 400rpx; + background: #4b3a2b; + color: #fef1df; + border-radius: 100rpx; + font-size: 36rpx; + font-weight: bold; + padding: 24rpx 0; + box-shadow: 0 6rpx 0 #2b2118; + transition: all 0.1s linear; + margin-bottom: 20rpx; + border: none; +} + +/* 按钮区域 */ +.action-area.data-v-14c39f7b { + display: flex; + flex-direction: column; + align-items: center; + margin: 30rpx 0 40rpx; + width: 100%; +} +.action-area .progress-text.data-v-14c39f7b { + font-size: 28rpx; + color: #5c4a34; + background: rgba(255, 245, 225, 0.8); + padding: 8rpx 24rpx; + border-radius: 60rpx; +} +.action-area .complete-text.data-v-14c39f7b { + color: #9b6e3e; + font-weight: 500; +} + +/* 底部结果区域 (主爻 | 动爻) */ +.result-area.data-v-14c39f7b { + display: flex; + width: 100%; + gap: 32rpx; + min-height: 348rpx; +} +.result-area .main-lines.data-v-14c39f7b, +.result-area .moving-lines.data-v-14c39f7b { + flex: 1; + background: #f3f4f6; + -webkit-backdrop-filter: blur(4px); + backdrop-filter: blur(4px); + border-radius: 16rpx; + padding: 24rpx; + box-shadow: 0 8rpx 20rpx rgba(0, 0, 0, 0.08); + position: relative; +} +.result-area .section-title.data-v-14c39f7b { + display: flex; + justify-content: space-between; + align-items: center; + font-size: 32rpx; + font-weight: bold; + color: #333; + margin-bottom: 24rpx; +} +.result-area .empty-tip.data-v-14c39f7b { + text-align: center; + color: #4b3a2b; + font-size: 28rpx; + padding: 40rpx 0; +} +.result-area .lines-list.data-v-14c39f7b { + display: flex; + flex-direction: column; + position: absolute; + width: calc(100% - 48rpx); + bottom: 24rpx; +} +.result-area .line-item.data-v-14c39f7b { + margin: 8rpx 0; + padding: 12rpx 20rpx; + border-radius: 40rpx; + font-size: 28rpx; + font-weight: bold; + text-align: center; + align-items: baseline; + background-size: contain; + background-repeat: no-repeat; + background-position: center; +} +.result-area .line-item .line-position.data-v-14c39f7b { + width: 80rpx; + font-size: 28rpx; + font-weight: 600; + color: #b87c3a; +} +.result-area .line-item .line-symbol.data-v-14c39f7b { + font-size: 32rpx; + letter-spacing: 6rpx; + font-weight: 500; + color: #333; +} +.result-area .moving-list.data-v-14c39f7b { + display: flex; + flex-direction: column; + position: absolute; + width: calc(100% - 48rpx); + bottom: 24rpx; +} +.result-area .moving-list .moving-item.data-v-14c39f7b { + margin: 8rpx 0; + padding: 12rpx 20rpx; + border-radius: 40rpx; + font-size: 28rpx; + font-weight: bold; + text-align: center; + background-size: contain; + background-repeat: no-repeat; + background-position: center; +} +.result-area .moving-list .moving-symbol.data-v-14c39f7b { + color: #ff0000; +} +.result-area .guaxiang.data-v-14c39f7b { + position: absolute; + width: calc(100% - 64rpx); + bottom: 32rpx; + color: #4b3a2b; + text-align: center; +} +.result-content.data-v-14c39f7b { + width: 100%; + margin-top: 32rpx; + padding: 32rpx; + gap: 32rpx; + height: auto; + background-color: #fff; + box-shadow: 0 8rpx 20rpx rgba(0, 0, 0, 0.08); + border-radius: 32rpx; + box-sizing: border-box; +} +/* 图例说明 */ +.overlay-content.data-v-14c39f7b { + display: flex; + align-items: center; + justify-content: center; + height: 100%; +} +.overlay-content .tips.data-v-14c39f7b { + display: flex; + flex-flow: column nowrap; + align-items: center; + gap: 32rpx; + width: 300px; + padding: 48rpx; + border-radius: 32rpx; + background-color: #fff; + box-sizing: border-box; +} +.overlay-content .user-agree-tips.data-v-14c39f7b { + display: flex; + flex-flow: column nowrap; + align-items: center; + justify-content: center; + gap: 64rpx; + width: 100%; + height: 100%; + background-color: #B8AD70; + box-sizing: border-box; + padding: 120rpx; +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/pages/user/history.js b/dist/dev/mp-weixin/pages/user/history.js new file mode 100644 index 0000000..b8cc0a3 --- /dev/null +++ b/dist/dev/mp-weixin/pages/user/history.js @@ -0,0 +1,103 @@ +"use strict"; +var common_vendor = require("../../common/vendor.js"); +require("../../stores/index.js"); +var utils_common = require("../../utils/common.js"); +var stores_modules_user = require("../../stores/modules/user.js"); +require("../../stores/modules/tabIndex.js"); +require("../../stores/modules/AIResponse.js"); +require("../../stores/modules/rateLimit.js"); +if (!Array) { + const _easycom_wd_text2 = common_vendor.resolveComponent("wd-text"); + const _easycom_wd_button2 = common_vendor.resolveComponent("wd-button"); + const _easycom_wd_card2 = common_vendor.resolveComponent("wd-card"); + const _easycom_wd_status_tip2 = common_vendor.resolveComponent("wd-status-tip"); + const _easycom_wd_message_box2 = common_vendor.resolveComponent("wd-message-box"); + const _easycom_wd_toast2 = common_vendor.resolveComponent("wd-toast"); + (_easycom_wd_text2 + _easycom_wd_button2 + _easycom_wd_card2 + _easycom_wd_status_tip2 + _easycom_wd_message_box2 + _easycom_wd_toast2)(); +} +const _easycom_wd_text = () => "../../uni_modules/wot-design-uni/components/wd-text/wd-text.js"; +const _easycom_wd_button = () => "../../uni_modules/wot-design-uni/components/wd-button/wd-button.js"; +const _easycom_wd_card = () => "../../uni_modules/wot-design-uni/components/wd-card/wd-card.js"; +const _easycom_wd_status_tip = () => "../../uni_modules/wot-design-uni/components/wd-status-tip/wd-status-tip.js"; +const _easycom_wd_message_box = () => "../../uni_modules/wot-design-uni/components/wd-message-box/wd-message-box.js"; +const _easycom_wd_toast = () => "../../uni_modules/wot-design-uni/components/wd-toast/wd-toast.js"; +if (!Math) { + (NavBar + _easycom_wd_text + _easycom_wd_button + _easycom_wd_card + _easycom_wd_status_tip + _easycom_wd_message_box + _easycom_wd_toast)(); +} +const NavBar = () => "../../components/NavBar.js"; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + __name: "history", + setup(__props) { + const { + yaoList + } = common_vendor.storeToRefs(stores_modules_user.useUserStore()); + const message = common_vendor.useMessage(); + const toast = common_vendor.useToast(); + const delHistory = (index) => { + message.confirm({ + title: "\u63D0\u793A", + msg: "\u786E\u5B9A\u8981\u5220\u9664\u6B64\u6761\u8BB0\u5F55\u5417" + }).then(() => { + yaoList.value.splice(index, 1); + toast.success("\u5220\u9664\u6210\u529F"); + }); + }; + return (_ctx, _cache) => { + return common_vendor.e({ + a: common_vendor.p({ + title: "\u5386\u53F2\u8BB0\u5F55" + }), + b: common_vendor.unref(yaoList).length + }, common_vendor.unref(yaoList).length ? { + c: common_vendor.f(common_vendor.unref(yaoList), (item, index, i0) => { + return common_vendor.e({ + a: "101dd8d4-2-" + i0 + "," + ("101dd8d4-1-" + i0), + b: common_vendor.p({ + text: `${item.symbol1}\u53D8${item.symbol2}`, + color: "#333", + size: "32rpx", + bold: true + }), + c: item.q + }, item.q ? { + d: "101dd8d4-3-" + i0 + "," + ("101dd8d4-1-" + i0), + e: common_vendor.p({ + text: `\u5360${item.q}\u8BE6\u89E3`, + color: "#333", + size: "32rpx", + bold: true + }) + } : {}, { + f: "101dd8d4-4-" + i0 + "," + ("101dd8d4-1-" + i0), + g: common_vendor.p({ + text: item.result + }), + h: "101dd8d4-5-" + i0 + "," + ("101dd8d4-1-" + i0), + i: common_vendor.p({ + text: common_vendor.unref(utils_common.formatDate)(new Date(item.time)) + }), + j: common_vendor.o(($event) => delHistory(index)), + k: "101dd8d4-6-" + i0 + "," + ("101dd8d4-1-" + i0), + l: index, + m: "101dd8d4-1-" + i0 + }); + }), + d: common_vendor.p({ + size: "small", + type: "error", + plain: true + }), + e: common_vendor.p({ + type: "rectangle" + }) + } : { + f: common_vendor.p({ + image: "https://asstes.snhaenigseal.cn/images/wot/content.png", + tip: "\u6682\u65E0\u5185\u5BB9" + }) + }); + }; + } +}); +var MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-101dd8d4"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/pages/user/history.vue"]]); +wx.createPage(MiniProgramPage); diff --git a/dist/dev/mp-weixin/pages/user/history.json b/dist/dev/mp-weixin/pages/user/history.json new file mode 100644 index 0000000..3d92b02 --- /dev/null +++ b/dist/dev/mp-weixin/pages/user/history.json @@ -0,0 +1,12 @@ +{ + "navigationStyle": "custom", + "usingComponents": { + "wd-text": "../../uni_modules/wot-design-uni/components/wd-text/wd-text", + "wd-button": "../../uni_modules/wot-design-uni/components/wd-button/wd-button", + "wd-card": "../../uni_modules/wot-design-uni/components/wd-card/wd-card", + "wd-status-tip": "../../uni_modules/wot-design-uni/components/wd-status-tip/wd-status-tip", + "wd-message-box": "../../uni_modules/wot-design-uni/components/wd-message-box/wd-message-box", + "wd-toast": "../../uni_modules/wot-design-uni/components/wd-toast/wd-toast", + "nav-bar": "../../components/NavBar" + } +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/pages/user/history.wxml b/dist/dev/mp-weixin/pages/user/history.wxml new file mode 100644 index 0000000..ae29bdb --- /dev/null +++ b/dist/dev/mp-weixin/pages/user/history.wxml @@ -0,0 +1 @@ +删除 \ No newline at end of file diff --git a/dist/dev/mp-weixin/pages/user/history.wxss b/dist/dev/mp-weixin/pages/user/history.wxss new file mode 100644 index 0000000..7088ff8 --- /dev/null +++ b/dist/dev/mp-weixin/pages/user/history.wxss @@ -0,0 +1,42 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +.content.data-v-101dd8d4 { + height: auto; +} +.page.data-v-101dd8d4 { + display: flex; + justify-content: center; + align-items: center; + width: 100%; + height: 720rpx; + background-color: #fff; +} +.footer.data-v-101dd8d4 { + display: flex; + gap: 32rpx; + justify-content: space-between; + align-items: center; +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/pages/user/suggestion.js b/dist/dev/mp-weixin/pages/user/suggestion.js new file mode 100644 index 0000000..13b3515 --- /dev/null +++ b/dist/dev/mp-weixin/pages/user/suggestion.js @@ -0,0 +1,68 @@ +"use strict"; +var common_vendor = require("../../common/vendor.js"); +var api_modules_suggestion = require("../../api/modules/suggestion.js"); +var uni_modules_wotDesignUni_components_wdToast_index = require("../../uni_modules/wot-design-uni/components/wd-toast/index.js"); +require("../../uni_modules/wot-design-uni/locale/index.js"); +require("../../uni_modules/wot-design-uni/dayjs/index.js"); +require("../../utils/request.js"); +require("../../config/api.config.js"); +require("../../uni_modules/wot-design-uni/components/common/util.js"); +require("../../uni_modules/wot-design-uni/components/common/AbortablePromise.js"); +require("../../uni_modules/wot-design-uni/locale/lang/zh-CN.js"); +require("../../uni_modules/wot-design-uni/dayjs/constant.js"); +require("../../uni_modules/wot-design-uni/dayjs/locale/en.js"); +require("../../uni_modules/wot-design-uni/dayjs/utils.js"); +if (!Array) { + const _easycom_wd_textarea2 = common_vendor.resolveComponent("wd-textarea"); + const _easycom_wd_button2 = common_vendor.resolveComponent("wd-button"); + const _easycom_wd_toast2 = common_vendor.resolveComponent("wd-toast"); + (_easycom_wd_textarea2 + _easycom_wd_button2 + _easycom_wd_toast2)(); +} +const _easycom_wd_textarea = () => "../../uni_modules/wot-design-uni/components/wd-textarea/wd-textarea.js"; +const _easycom_wd_button = () => "../../uni_modules/wot-design-uni/components/wd-button/wd-button.js"; +const _easycom_wd_toast = () => "../../uni_modules/wot-design-uni/components/wd-toast/wd-toast.js"; +if (!Math) { + (NavBar + _easycom_wd_textarea + _easycom_wd_button + _easycom_wd_toast)(); +} +const NavBar = () => "../../components/NavBar.js"; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + __name: "suggestion", + setup(__props) { + const desc = common_vendor.ref(""); + const toast = uni_modules_wotDesignUni_components_wdToast_index.useToast(); + const submit = async () => { + if (!desc.value) { + toast.error("\u8BF7\u586B\u5199\u5EFA\u8BAE\u53CD\u9988"); + return; + } + await api_modules_suggestion.createSuggestion( + desc.value + ).then((res) => { + if (res.data) { + toast.success("\u63D0\u4EA4\u6210\u529F"); + desc.value = ""; + } else { + toast.error("\u63D0\u4EA4\u5931\u8D25"); + } + }); + }; + return (_ctx, _cache) => { + return { + a: common_vendor.p({ + title: "\u5EFA\u8BAE\u53CD\u9988" + }), + b: common_vendor.o(($event) => desc.value = $event), + c: common_vendor.p({ + placeholder: "\u8BF7\u586B\u5199\u5EFA\u8BAE\u53CD\u9988", + modelValue: desc.value + }), + d: common_vendor.o(submit), + e: common_vendor.p({ + block: true + }) + }; + }; + } +}); +var MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-c29aa418"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/pages/user/suggestion.vue"]]); +wx.createPage(MiniProgramPage); diff --git a/dist/dev/mp-weixin/pages/user/suggestion.json b/dist/dev/mp-weixin/pages/user/suggestion.json new file mode 100644 index 0000000..8b55205 --- /dev/null +++ b/dist/dev/mp-weixin/pages/user/suggestion.json @@ -0,0 +1,9 @@ +{ + "navigationStyle": "custom", + "usingComponents": { + "wd-textarea": "../../uni_modules/wot-design-uni/components/wd-textarea/wd-textarea", + "wd-button": "../../uni_modules/wot-design-uni/components/wd-button/wd-button", + "wd-toast": "../../uni_modules/wot-design-uni/components/wd-toast/wd-toast", + "nav-bar": "../../components/NavBar" + } +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/pages/user/suggestion.wxml b/dist/dev/mp-weixin/pages/user/suggestion.wxml new file mode 100644 index 0000000..e0fad41 --- /dev/null +++ b/dist/dev/mp-weixin/pages/user/suggestion.wxml @@ -0,0 +1 @@ +提交 \ No newline at end of file diff --git a/dist/dev/mp-weixin/pages/user/suggestion.wxss b/dist/dev/mp-weixin/pages/user/suggestion.wxss new file mode 100644 index 0000000..8dce0b9 --- /dev/null +++ b/dist/dev/mp-weixin/pages/user/suggestion.wxss @@ -0,0 +1,29 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +.content.data-v-c29aa418 { + width: calc(100% - 64rpx); + padding: 32rpx; +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/pages/user/user.js b/dist/dev/mp-weixin/pages/user/user.js new file mode 100644 index 0000000..0ea41b1 --- /dev/null +++ b/dist/dev/mp-weixin/pages/user/user.js @@ -0,0 +1,108 @@ +"use strict"; +var common_vendor = require("../../common/vendor.js"); +require("../../stores/index.js"); +var uni_modules_wotDesignUni_components_wdToast_index = require("../../uni_modules/wot-design-uni/components/wd-toast/index.js"); +var uni_modules_wotDesignUni_components_wdMessageBox_index = require("../../uni_modules/wot-design-uni/components/wd-message-box/index.js"); +require("../../uni_modules/wot-design-uni/locale/index.js"); +require("../../uni_modules/wot-design-uni/dayjs/index.js"); +var api_modules_config = require("../../api/modules/config.js"); +var config_api_config = require("../../config/api.config.js"); +var stores_modules_user = require("../../stores/modules/user.js"); +require("../../stores/modules/tabIndex.js"); +require("../../stores/modules/AIResponse.js"); +require("../../stores/modules/rateLimit.js"); +require("../../uni_modules/wot-design-uni/components/common/util.js"); +require("../../uni_modules/wot-design-uni/components/common/AbortablePromise.js"); +require("../../uni_modules/wot-design-uni/locale/lang/zh-CN.js"); +require("../../uni_modules/wot-design-uni/dayjs/constant.js"); +require("../../uni_modules/wot-design-uni/dayjs/locale/en.js"); +require("../../uni_modules/wot-design-uni/dayjs/utils.js"); +require("../../utils/request.js"); +if (!Array) { + const _easycom_wd_img2 = common_vendor.resolveComponent("wd-img"); + const _easycom_wd_cell2 = common_vendor.resolveComponent("wd-cell"); + const _easycom_wd_cell_group2 = common_vendor.resolveComponent("wd-cell-group"); + const _easycom_wd_message_box2 = common_vendor.resolveComponent("wd-message-box"); + const _easycom_wd_toast2 = common_vendor.resolveComponent("wd-toast"); + (_easycom_wd_img2 + _easycom_wd_cell2 + _easycom_wd_cell_group2 + _easycom_wd_message_box2 + _easycom_wd_toast2)(); +} +const _easycom_wd_img = () => "../../uni_modules/wot-design-uni/components/wd-img/wd-img.js"; +const _easycom_wd_cell = () => "../../uni_modules/wot-design-uni/components/wd-cell/wd-cell.js"; +const _easycom_wd_cell_group = () => "../../uni_modules/wot-design-uni/components/wd-cell-group/wd-cell-group.js"; +const _easycom_wd_message_box = () => "../../uni_modules/wot-design-uni/components/wd-message-box/wd-message-box.js"; +const _easycom_wd_toast = () => "../../uni_modules/wot-design-uni/components/wd-toast/wd-toast.js"; +if (!Math) { + (NavBar + _easycom_wd_img + _easycom_wd_cell + _easycom_wd_cell_group + _easycom_wd_message_box + _easycom_wd_toast)(); +} +const NavBar = () => "../../components/NavBar.js"; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + __name: "user", + setup(__props) { + const message = uni_modules_wotDesignUni_components_wdMessageBox_index.useMessage(); + const toast = uni_modules_wotDesignUni_components_wdToast_index.useToast(); + const { + yaoList + } = common_vendor.storeToRefs(stores_modules_user.useUserStore()); + const avatar = common_vendor.ref(""); + api_modules_config.getPageConfig().then((res) => { + avatar.value = res.avatar.formats.medium.url; + }); + const list = [ + { + title: "\u5386\u53F2\u8BB0\u5F55", + isLink: true, + url: "/pages/user/history" + }, + { + title: "\u6E05\u7A7A\u7F13\u5B58", + isLink: true, + onClick: () => { + message.confirm({ + title: "\u63D0\u793A", + msg: "\u6B64\u64CD\u4F5C\u5C06\u5220\u9664\u6240\u6709\u5386\u53F2\u6570\u636E\uFF0C\u662F\u5426\u786E\u5B9A\uFF1F" + }).then(() => { + yaoList.value = []; + toast.success("\u6E05\u9664\u7F13\u5B58\u6210\u529F"); + }); + } + }, + { + title: "\u5EFA\u8BAE\u53CD\u9988", + isLink: true, + url: "/pages/user/suggestion" + } + ]; + return (_ctx, _cache) => { + return common_vendor.e({ + a: common_vendor.p({ + title: "\u4E2A\u4EBA\u4E2D\u5FC3" + }), + b: avatar.value + }, avatar.value ? { + c: common_vendor.p({ + src: common_vendor.unref(config_api_config.BASE_URL) + avatar.value, + width: "160rpx", + height: "160rpx", + round: true + }) + } : {}, { + d: common_vendor.f(list, (item, index, i0) => { + return { + a: common_vendor.o(item.onClick), + b: "1198f63b-3-" + i0 + ",1198f63b-2", + c: common_vendor.p({ + title: item.title, + ["is-link"]: item.isLink, + to: item.url + }) + }; + }), + e: common_vendor.p({ + border: true + }) + }); + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-1198f63b"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/pages/user/user.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/pages/user/user.json b/dist/dev/mp-weixin/pages/user/user.json new file mode 100644 index 0000000..a1d192f --- /dev/null +++ b/dist/dev/mp-weixin/pages/user/user.json @@ -0,0 +1,11 @@ +{ + "component": true, + "usingComponents": { + "wd-img": "../../uni_modules/wot-design-uni/components/wd-img/wd-img", + "wd-cell": "../../uni_modules/wot-design-uni/components/wd-cell/wd-cell", + "wd-cell-group": "../../uni_modules/wot-design-uni/components/wd-cell-group/wd-cell-group", + "wd-message-box": "../../uni_modules/wot-design-uni/components/wd-message-box/wd-message-box", + "wd-toast": "../../uni_modules/wot-design-uni/components/wd-toast/wd-toast", + "nav-bar": "../../components/NavBar" + } +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/pages/user/user.wxml b/dist/dev/mp-weixin/pages/user/user.wxml new file mode 100644 index 0000000..a60c655 --- /dev/null +++ b/dist/dev/mp-weixin/pages/user/user.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/dev/mp-weixin/pages/user/user.wxss b/dist/dev/mp-weixin/pages/user/user.wxss new file mode 100644 index 0000000..5f17ffd --- /dev/null +++ b/dist/dev/mp-weixin/pages/user/user.wxss @@ -0,0 +1,31 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +.avatar.data-v-1198f63b { + display: flex; + justify-content: center; + align-items: center; + margin: 48rpx auto; +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/project.config.json b/dist/dev/mp-weixin/project.config.json new file mode 100644 index 0000000..e518476 --- /dev/null +++ b/dist/dev/mp-weixin/project.config.json @@ -0,0 +1,24 @@ +{ + "description": "项目配置文件。", + "packOptions": { + "ignore": [], + "include": [] + }, + "setting": { + "urlCheck": false, + "babelSetting": { + "ignore": [], + "disablePlugins": [], + "outputPath": "" + } + }, + "compileType": "miniprogram", + "libVersion": "3.13.2", + "appid": "wxed54ab6227ca85b6", + "projectname": "", + "condition": {}, + "editorSetting": { + "tabIndent": "insertSpaces", + "tabSize": 2 + } +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/static/avatar.png b/dist/dev/mp-weixin/static/avatar.png new file mode 100644 index 0000000..e449eed Binary files /dev/null and b/dist/dev/mp-weixin/static/avatar.png differ diff --git a/dist/dev/mp-weixin/static/logo.png b/dist/dev/mp-weixin/static/logo.png new file mode 100644 index 0000000..b5771e2 Binary files /dev/null and b/dist/dev/mp-weixin/static/logo.png differ diff --git a/dist/dev/mp-weixin/static/mov_yang.png b/dist/dev/mp-weixin/static/mov_yang.png new file mode 100644 index 0000000..8e7b760 Binary files /dev/null and b/dist/dev/mp-weixin/static/mov_yang.png differ diff --git a/dist/dev/mp-weixin/static/mov_yin.png b/dist/dev/mp-weixin/static/mov_yin.png new file mode 100644 index 0000000..8d8afca Binary files /dev/null and b/dist/dev/mp-weixin/static/mov_yin.png differ diff --git a/dist/dev/mp-weixin/static/yang.png b/dist/dev/mp-weixin/static/yang.png new file mode 100644 index 0000000..78e5213 Binary files /dev/null and b/dist/dev/mp-weixin/static/yang.png differ diff --git a/dist/dev/mp-weixin/static/yin.png b/dist/dev/mp-weixin/static/yin.png new file mode 100644 index 0000000..4aa7893 Binary files /dev/null and b/dist/dev/mp-weixin/static/yin.png differ diff --git a/dist/dev/mp-weixin/stores/index.js b/dist/dev/mp-weixin/stores/index.js new file mode 100644 index 0000000..2336e47 --- /dev/null +++ b/dist/dev/mp-weixin/stores/index.js @@ -0,0 +1,20 @@ +"use strict"; +var common_vendor = require("../common/vendor.js"); +require("./modules/tabIndex.js"); +require("./modules/user.js"); +require("./modules/AIResponse.js"); +require("./modules/rateLimit.js"); +const createPersistUni = () => { + return common_vendor.createPersistedState({ + storage: { + getItem: common_vendor.index.getStorageSync, + setItem: common_vendor.index.setStorageSync + } + }); +}; +const store = common_vendor.createPinia(); +store.use(createPersistUni()); +function setupStore(app) { + app.use(store); +} +exports.setupStore = setupStore; diff --git a/dist/dev/mp-weixin/stores/modules/AIResponse.js b/dist/dev/mp-weixin/stores/modules/AIResponse.js new file mode 100644 index 0000000..78b72af --- /dev/null +++ b/dist/dev/mp-weixin/stores/modules/AIResponse.js @@ -0,0 +1,21 @@ +"use strict"; +var common_vendor = require("../../common/vendor.js"); +const useAIReponseStore = common_vendor.defineStore("AIResponse", () => { + const responseText = common_vendor.ref(""); + const showResponseText = common_vendor.ref(false); + const isLoading = common_vendor.ref(false); + const isDone = common_vendor.ref(false); + const reset = () => { + responseText.value = ""; + showResponseText.value = false; + isDone.value = false; + }; + return { + responseText, + showResponseText, + isLoading, + isDone, + reset + }; +}); +exports.useAIReponseStore = useAIReponseStore; diff --git a/dist/dev/mp-weixin/stores/modules/rateLimit.js b/dist/dev/mp-weixin/stores/modules/rateLimit.js new file mode 100644 index 0000000..6c64979 --- /dev/null +++ b/dist/dev/mp-weixin/stores/modules/rateLimit.js @@ -0,0 +1,11 @@ +"use strict"; +var common_vendor = require("../../common/vendor.js"); +const useRateLimitStore = common_vendor.defineStore("rateLimit", () => { + const timestamps = common_vendor.ref([]); + return { + timestamps + }; +}, { + persist: true +}); +exports.useRateLimitStore = useRateLimitStore; diff --git a/dist/dev/mp-weixin/stores/modules/tabIndex.js b/dist/dev/mp-weixin/stores/modules/tabIndex.js new file mode 100644 index 0000000..e9e9620 --- /dev/null +++ b/dist/dev/mp-weixin/stores/modules/tabIndex.js @@ -0,0 +1,11 @@ +"use strict"; +var common_vendor = require("../../common/vendor.js"); +const useTabStore = common_vendor.defineStore("tab", () => { + const tabIndex = common_vendor.ref(1); + return { + tabIndex + }; +}, { + persist: true +}); +exports.useTabStore = useTabStore; diff --git a/dist/dev/mp-weixin/stores/modules/user.js b/dist/dev/mp-weixin/stores/modules/user.js new file mode 100644 index 0000000..b13ddf5 --- /dev/null +++ b/dist/dev/mp-weixin/stores/modules/user.js @@ -0,0 +1,11 @@ +"use strict"; +var common_vendor = require("../../common/vendor.js"); +const useUserStore = common_vendor.defineStore("user", () => { + const yaoList = common_vendor.ref([]); + return { + yaoList + }; +}, { + persist: true +}); +exports.useUserStore = useUserStore; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/common/AbortablePromise.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/common/AbortablePromise.js new file mode 100644 index 0000000..83ac6d4 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/common/AbortablePromise.js @@ -0,0 +1,29 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => { + __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +class AbortablePromise { + constructor(executor) { + __publicField(this, "promise"); + __publicField(this, "_reject", null); + this.promise = new Promise((resolve, reject) => { + executor(resolve, reject); + this._reject = reject; + }); + } + abort(error) { + if (this._reject) { + this._reject(error); + } + } + then(onfulfilled, onrejected) { + return this.promise.then(onfulfilled, onrejected); + } + catch(onrejected) { + return this.promise.catch(onrejected); + } +} +exports.AbortablePromise = AbortablePromise; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/common/base64.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/common/base64.js new file mode 100644 index 0000000..43ddf6c --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/common/base64.js @@ -0,0 +1,27 @@ +"use strict"; +const _b64chars = [..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"]; +const _mkUriSafe = (src) => src.replace(/[+/]/g, (m0) => m0 === "+" ? "-" : "_").replace(/=+\$/m, ""); +const fromUint8Array = (src, rfc4648 = false) => { + let b64 = ""; + for (let i = 0, l = src.length; i < l; i += 3) { + const [a0, a1, a2] = [src[i], src[i + 1], src[i + 2]]; + const ord = a0 << 16 | a1 << 8 | a2; + b64 += _b64chars[ord >>> 18]; + b64 += _b64chars[ord >>> 12 & 63]; + b64 += typeof a1 !== "undefined" ? _b64chars[ord >>> 6 & 63] : "="; + b64 += typeof a2 !== "undefined" ? _b64chars[ord & 63] : "="; + } + return rfc4648 ? _mkUriSafe(b64) : b64; +}; +const _btoa = typeof btoa === "function" ? (s) => btoa(s) : (s) => { + if (s.charCodeAt(0) > 255) { + throw new RangeError("The string contains invalid characters."); + } + return fromUint8Array(Uint8Array.from(s, (c) => c.charCodeAt(0))); +}; +const utob = (src) => unescape(encodeURIComponent(src)); +function encode(src, rfc4648 = false) { + const b64 = _btoa(utob(src)); + return rfc4648 ? _mkUriSafe(b64) : b64; +} +exports.encode = encode; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/common/clickoutside.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/common/clickoutside.js new file mode 100644 index 0000000..3918c74 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/common/clickoutside.js @@ -0,0 +1 @@ +"use strict"; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/common/props.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/common/props.js new file mode 100644 index 0000000..e674364 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/common/props.js @@ -0,0 +1,38 @@ +"use strict"; +const numericProp = [Number, String]; +const makeRequiredProp = (type) => ({ + type, + required: true +}); +const makeArrayProp = () => ({ + type: Array, + default: () => [] +}); +const makeBooleanProp = (defaultVal) => ({ + type: Boolean, + default: defaultVal +}); +const makeNumberProp = (defaultVal) => ({ + type: Number, + default: defaultVal +}); +const makeNumericProp = (defaultVal) => ({ + type: numericProp, + default: defaultVal +}); +const makeStringProp = (defaultVal) => ({ + type: String, + default: defaultVal +}); +const baseProps = { + customStyle: makeStringProp(""), + customClass: makeStringProp("") +}; +exports.baseProps = baseProps; +exports.makeArrayProp = makeArrayProp; +exports.makeBooleanProp = makeBooleanProp; +exports.makeNumberProp = makeNumberProp; +exports.makeNumericProp = makeNumericProp; +exports.makeRequiredProp = makeRequiredProp; +exports.makeStringProp = makeStringProp; +exports.numericProp = numericProp; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/common/util.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/common/util.js new file mode 100644 index 0000000..feabb62 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/common/util.js @@ -0,0 +1,233 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_common_AbortablePromise = require("./AbortablePromise.js"); +function addUnit(num) { + return Number.isNaN(Number(num)) ? `${num}` : `${num}px`; +} +function isObj(value) { + return Object.prototype.toString.call(value) === "[object Object]" || typeof value === "object"; +} +function getType(target) { + const typeStr = Object.prototype.toString.call(target); + const match = typeStr.match(/\[object (\w+)\]/); + const type = match && match.length ? match[1].toLowerCase() : ""; + return type; +} +const isDef = (value) => value !== void 0 && value !== null; +function rgbToHex(r, g, b) { + const hex = (r << 16 | g << 8 | b).toString(16); + const paddedHex = "#" + "0".repeat(Math.max(0, 6 - hex.length)) + hex; + return paddedHex; +} +function hexToRgb(hex) { + const rgb = []; + for (let i = 1; i < 7; i += 2) { + rgb.push(parseInt("0x" + hex.slice(i, i + 2), 16)); + } + return rgb; +} +const gradient = (startColor, endColor, step = 2) => { + const sColor = hexToRgb(startColor); + const eColor = hexToRgb(endColor); + const rStep = (eColor[0] - sColor[0]) / step; + const gStep = (eColor[1] - sColor[1]) / step; + const bStep = (eColor[2] - sColor[2]) / step; + const gradientColorArr = []; + for (let i = 0; i < step; i++) { + gradientColorArr.push( + rgbToHex(parseInt(String(rStep * i + sColor[0])), parseInt(String(gStep * i + sColor[1])), parseInt(String(bStep * i + sColor[2]))) + ); + } + return gradientColorArr; +}; +const isEqual = (value1, value2) => { + if (value1 === value2) { + return true; + } + if (!Array.isArray(value1) || !Array.isArray(value2)) { + return false; + } + if (value1.length !== value2.length) { + return false; + } + for (let i = 0; i < value1.length; ++i) { + if (value1[i] !== value2[i]) { + return false; + } + } + return true; +}; +const context = { + id: 1e3 +}; +function getRect(selector, all, scope, useFields) { + return new Promise((resolve, reject) => { + let query = null; + if (scope) { + query = common_vendor.index.createSelectorQuery().in(scope); + } else { + query = common_vendor.index.createSelectorQuery(); + } + const method = all ? "selectAll" : "select"; + const callback = (rect) => { + if (all && isArray(rect) && rect.length > 0) { + resolve(rect); + } else if (!all && rect) { + resolve(rect); + } else { + reject(new Error("No nodes found")); + } + }; + if (useFields) { + query[method](selector).fields({ size: true, node: true }, callback).exec(); + } else { + query[method](selector).boundingClientRect(callback).exec(); + } + }); +} +function kebabCase(word) { + const newWord = word.replace(/[A-Z]/g, function(match) { + return "-" + match; + }).toLowerCase(); + return newWord; +} +function camelCase(word) { + return word.replace(/-(\w)/g, (_, c) => c.toUpperCase()); +} +function isArray(value) { + if (typeof Array.isArray === "function") { + return Array.isArray(value); + } + return Object.prototype.toString.call(value) === "[object Array]"; +} +function isFunction(value) { + return getType(value) === "function" || getType(value) === "asyncfunction"; +} +function isString(value) { + return getType(value) === "string"; +} +function isNumber(value) { + return getType(value) === "number"; +} +function isPromise(value) { + if (isObj(value) && isDef(value)) { + return isFunction(value.then) && isFunction(value.catch); + } + return false; +} +function isUndefined(value) { + return typeof value === "undefined"; +} +function objToStyle(styles) { + if (isArray(styles)) { + const result = styles.filter(function(item) { + return item != null && item !== ""; + }).map(function(item) { + return objToStyle(item); + }).join(";"); + return result ? result.endsWith(";") ? result : result + ";" : ""; + } + if (isString(styles)) { + return styles ? styles.endsWith(";") ? styles : styles + ";" : ""; + } + if (isObj(styles)) { + const result = Object.keys(styles).filter(function(key) { + return styles[key] != null && styles[key] !== ""; + }).map(function(key) { + return [kebabCase(key), styles[key]].join(":"); + }).join(";"); + return result ? result.endsWith(";") ? result : result + ";" : ""; + } + return ""; +} +const pause = (ms = 1e3 / 30) => { + return new uni_modules_wotDesignUni_components_common_AbortablePromise.AbortablePromise((resolve) => { + const timer = setTimeout(() => { + clearTimeout(timer); + resolve(true); + }, ms); + }); +}; +function deepClone(obj, cache = /* @__PURE__ */ new Map()) { + if (obj === null || typeof obj !== "object") { + return obj; + } + if (isDate(obj)) { + return new Date(obj.getTime()); + } + if (obj instanceof RegExp) { + return new RegExp(obj.source, obj.flags); + } + if (obj instanceof Error) { + const errorCopy = new Error(obj.message); + errorCopy.stack = obj.stack; + return errorCopy; + } + if (cache.has(obj)) { + return cache.get(obj); + } + const copy = Array.isArray(obj) ? [] : {}; + cache.set(obj, copy); + for (const key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + copy[key] = deepClone(obj[key], cache); + } + } + return copy; +} +function deepMerge(target, source) { + target = deepClone(target); + if (typeof target !== "object" || typeof source !== "object") { + throw new Error("Both target and source must be objects."); + } + for (const prop in source) { + if (!source.hasOwnProperty(prop)) + continue; + target[prop] = source[prop]; + } + return target; +} +function deepAssign(target, source) { + Object.keys(source).forEach((key) => { + const targetValue = target[key]; + const newObjValue = source[key]; + if (isObj(targetValue) && isObj(newObjValue)) { + deepAssign(targetValue, newObjValue); + } else { + target[key] = newObjValue; + } + }); + return target; +} +const getPropByPath = (obj, path) => { + const keys = path.split("."); + try { + return keys.reduce((acc, key) => acc !== void 0 && acc !== null ? acc[key] : void 0, obj); + } catch (error) { + return void 0; + } +}; +const isDate = (val) => Object.prototype.toString.call(val) === "[object Date]" && !Number.isNaN(val.getTime()); +function omitBy(obj, predicate) { + const newObj = deepClone(obj); + Object.keys(newObj).forEach((key) => predicate(newObj[key], key) && delete newObj[key]); + return newObj; +} +exports.addUnit = addUnit; +exports.camelCase = camelCase; +exports.context = context; +exports.deepAssign = deepAssign; +exports.deepMerge = deepMerge; +exports.getPropByPath = getPropByPath; +exports.getRect = getRect; +exports.gradient = gradient; +exports.isDef = isDef; +exports.isEqual = isEqual; +exports.isFunction = isFunction; +exports.isNumber = isNumber; +exports.isObj = isObj; +exports.isPromise = isPromise; +exports.isUndefined = isUndefined; +exports.objToStyle = objToStyle; +exports.omitBy = omitBy; +exports.pause = pause; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/index.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/index.js new file mode 100644 index 0000000..1877f53 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/index.js @@ -0,0 +1,3 @@ +"use strict"; +require("../../../../common/vendor.js"); +require("../../locale/index.js"); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useCell.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useCell.js new file mode 100644 index 0000000..a656e83 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useCell.js @@ -0,0 +1,12 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_composables_useParent = require("./useParent.js"); +var uni_modules_wotDesignUni_components_wdCellGroup_types = require("../wd-cell-group/types.js"); +function useCell() { + const { parent: cellGroup, index } = uni_modules_wotDesignUni_components_composables_useParent.useParent(uni_modules_wotDesignUni_components_wdCellGroup_types.CELL_GROUP_KEY); + const border = common_vendor.computed$1(() => { + return cellGroup && cellGroup.props.border && index.value; + }); + return { border }; +} +exports.useCell = useCell; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useChildren.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useChildren.js new file mode 100644 index 0000000..b5d8d32 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useChildren.js @@ -0,0 +1,80 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +function isVNode(value) { + return value ? value.__v_isVNode === true : false; +} +function flattenVNodes(children) { + const result = []; + const traverse = (children2) => { + if (Array.isArray(children2)) { + children2.forEach((child) => { + var _a; + if (isVNode(child)) { + result.push(child); + if ((_a = child.component) == null ? void 0 : _a.subTree) { + result.push(child.component.subTree); + traverse(child.component.subTree.children); + } + if (child.children) { + traverse(child.children); + } + } + }); + } + }; + traverse(children); + return result; +} +const findVNodeIndex = (vnodes, vnode) => { + const index = vnodes.indexOf(vnode); + if (index === -1) { + return vnodes.findIndex((item) => vnode.key !== void 0 && vnode.key !== null && item.type === vnode.type && item.key === vnode.key); + } + return index; +}; +function sortChildren(parent, publicChildren, internalChildren) { + const vnodes = parent && parent.subTree && parent.subTree.children ? flattenVNodes(parent.subTree.children) : []; + internalChildren.sort((a, b) => findVNodeIndex(vnodes, a.vnode) - findVNodeIndex(vnodes, b.vnode)); + const orderedPublicChildren = internalChildren.map((item) => item.proxy); + publicChildren.sort((a, b) => { + const indexA = orderedPublicChildren.indexOf(a); + const indexB = orderedPublicChildren.indexOf(b); + return indexA - indexB; + }); +} +function useChildren(key) { + const publicChildren = common_vendor.reactive([]); + const internalChildren = common_vendor.reactive([]); + const parent = common_vendor.getCurrentInstance(); + const linkChildren = (value) => { + const link = (child) => { + if (child.proxy) { + internalChildren.push(child); + publicChildren.push(child.proxy); + sortChildren(parent, publicChildren, internalChildren); + } + }; + const unlink = (child) => { + const index = internalChildren.indexOf(child); + publicChildren.splice(index, 1); + internalChildren.splice(index, 1); + }; + common_vendor.provide( + key, + Object.assign( + { + link, + unlink, + children: publicChildren, + internalChildren + }, + value + ) + ); + }; + return { + children: publicChildren, + linkChildren + }; +} +exports.useChildren = useChildren; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useCountDown.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useCountDown.js new file mode 100644 index 0000000..c8c2e03 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useCountDown.js @@ -0,0 +1,2 @@ +"use strict"; +require("../../../../common/vendor.js"); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useLockScroll.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useLockScroll.js new file mode 100644 index 0000000..c8c2e03 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useLockScroll.js @@ -0,0 +1,2 @@ +"use strict"; +require("../../../../common/vendor.js"); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useParent.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useParent.js new file mode 100644 index 0000000..fe7d957 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useParent.js @@ -0,0 +1,21 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +function useParent(key) { + const parent = common_vendor.inject(key, null); + if (parent) { + const instance = common_vendor.getCurrentInstance(); + const { link, unlink, internalChildren } = parent; + link(instance); + common_vendor.onUnmounted(() => unlink(instance)); + const index = common_vendor.computed$1(() => internalChildren.indexOf(instance)); + return { + parent, + index + }; + } + return { + parent: null, + index: common_vendor.ref(-1) + }; +} +exports.useParent = useParent; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/usePopover.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/usePopover.js new file mode 100644 index 0000000..c8c2e03 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/usePopover.js @@ -0,0 +1,2 @@ +"use strict"; +require("../../../../common/vendor.js"); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useQueue.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useQueue.js new file mode 100644 index 0000000..c8c2e03 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useQueue.js @@ -0,0 +1,2 @@ +"use strict"; +require("../../../../common/vendor.js"); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useRaf.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useRaf.js new file mode 100644 index 0000000..c8c2e03 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useRaf.js @@ -0,0 +1,2 @@ +"use strict"; +require("../../../../common/vendor.js"); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useTouch.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useTouch.js new file mode 100644 index 0000000..c8c2e03 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useTouch.js @@ -0,0 +1,2 @@ +"use strict"; +require("../../../../common/vendor.js"); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useTranslate.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useTranslate.js new file mode 100644 index 0000000..d27fb0f --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useTranslate.js @@ -0,0 +1,13 @@ +"use strict"; +var uni_modules_wotDesignUni_components_common_util = require("../common/util.js"); +var uni_modules_wotDesignUni_locale_index = require("../../locale/index.js"); +const useTranslate = (name) => { + const prefix = name ? uni_modules_wotDesignUni_components_common_util.camelCase(name) + "." : ""; + const translate = (key, ...args) => { + const currentMessages = uni_modules_wotDesignUni_locale_index.Locale.messages(); + const message = uni_modules_wotDesignUni_components_common_util.getPropByPath(currentMessages, prefix + key); + return uni_modules_wotDesignUni_components_common_util.isFunction(message) ? message(...args) : uni_modules_wotDesignUni_components_common_util.isDef(message) ? message : `${prefix}${key}`; + }; + return { translate }; +}; +exports.useTranslate = useTranslate; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useUpload.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useUpload.js new file mode 100644 index 0000000..c8c2e03 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/composables/useUpload.js @@ -0,0 +1,2 @@ +"use strict"; +require("../../../../common/vendor.js"); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-badge/types.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-badge/types.js new file mode 100644 index 0000000..4dc758d --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-badge/types.js @@ -0,0 +1,15 @@ +"use strict"; +var uni_modules_wotDesignUni_components_common_props = require("../common/props.js"); +const badgeProps = { + ...uni_modules_wotDesignUni_components_common_props.baseProps, + modelValue: uni_modules_wotDesignUni_components_common_props.numericProp, + showZero: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + bgColor: String, + max: Number, + isDot: Boolean, + hidden: Boolean, + type: uni_modules_wotDesignUni_components_common_props.makeStringProp(void 0), + top: uni_modules_wotDesignUni_components_common_props.numericProp, + right: uni_modules_wotDesignUni_components_common_props.numericProp +}; +exports.badgeProps = badgeProps; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-badge/wd-badge.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-badge/wd-badge.js new file mode 100644 index 0000000..db873e9 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-badge/wd-badge.js @@ -0,0 +1,60 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_wdBadge_types = require("./types.js"); +var uni_modules_wotDesignUni_components_common_util = require("../common/util.js"); +require("../common/props.js"); +require("../common/AbortablePromise.js"); +const __default__ = { + name: "wd-badge", + options: { + addGlobalClass: true, + virtualHost: true, + styleIsolation: "shared" + } +}; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + ...__default__, + props: uni_modules_wotDesignUni_components_wdBadge_types.badgeProps, + setup(__props) { + const props = __props; + const content = common_vendor.computed$1(() => { + const { modelValue, max, isDot } = props; + if (isDot) + return ""; + let value = modelValue; + if (value && max && uni_modules_wotDesignUni_components_common_util.isNumber(value) && !Number.isNaN(value) && !Number.isNaN(max)) { + value = max < value ? `${max}+` : value; + } + return value; + }); + const contentStyle = common_vendor.computed$1(() => { + const style = {}; + if (uni_modules_wotDesignUni_components_common_util.isDef(props.bgColor)) { + style.backgroundColor = props.bgColor; + } + if (uni_modules_wotDesignUni_components_common_util.isDef(props.top)) { + style.top = uni_modules_wotDesignUni_components_common_util.addUnit(props.top); + } + if (uni_modules_wotDesignUni_components_common_util.isDef(props.right)) { + style.right = uni_modules_wotDesignUni_components_common_util.addUnit(props.right); + } + return uni_modules_wotDesignUni_components_common_util.objToStyle(style); + }); + const shouldShowBadge = common_vendor.computed$1(() => !props.hidden && (content.value || content.value === 0 && props.showZero || props.isDot)); + return (_ctx, _cache) => { + return common_vendor.e({ + a: common_vendor.unref(shouldShowBadge) + }, common_vendor.unref(shouldShowBadge) ? { + b: common_vendor.t(common_vendor.unref(content)), + c: common_vendor.n(_ctx.type ? "wd-badge__content--" + _ctx.type : ""), + d: common_vendor.n(_ctx.isDot ? "is-dot" : ""), + e: common_vendor.s(common_vendor.unref(contentStyle)) + } : {}, { + f: common_vendor.n(_ctx.customClass), + g: common_vendor.s(_ctx.customStyle) + }); + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-63f38c73"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-badge/wd-badge.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-badge/wd-badge.json b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-badge/wd-badge.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-badge/wd-badge.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-badge/wd-badge.wxml b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-badge/wd-badge.wxml new file mode 100644 index 0000000..be39486 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-badge/wd-badge.wxml @@ -0,0 +1 @@ +{{b}} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-badge/wd-badge.wxss b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-badge/wd-badge.wxss new file mode 100644 index 0000000..0dce0d5 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-badge/wd-badge.wxss @@ -0,0 +1,239 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +/** + * 混合宏 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * BEM,定义块(b) + */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 此方法用于生成穿透样式 */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 定义状态(m) */ +/* 定义状态(m) */ +/* 对于需要需要嵌套在 m 底下的 e,调用这个混合宏,一般在切换整个组件的状态,如切换颜色的时候 */ +/* 状态,生成 is-$state 类名 */ +/** + * 常用混合宏 + */ +/* 单行超出隐藏 */ +/* 多行超出隐藏 */ +/* 清除浮动 */ +/* 0.5px 边框 指定方向*/ +/* 0.5px 边框 环绕 */ +/** + * 三角形实现尖角样式,适用于背景透明情况 + * @param $size 三角形高,底边为 $size * 2 + * @param $bg 三角形背景颜色 + */ +/** + * 正方形实现尖角样式,适用于背景不透明情况 + * @param $size 正方形边长 + * @param $bg 正方形背景颜色 + * @param $z-index z-index属性值,不得大于外部包裹器 + * @param $box-shadow 阴影 +*/ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * UI规范基础变量 + */ +/*----------------------------------------- Theme color. start ----------------------------------------*/ +/* 主题颜色 */ +/* 辅助色 */ +/* 文字颜色(默认浅色背景下 */ +/* 暗黑模式 */ +/* 图形颜色 */ +/*----------------------------------------- Theme color. end -------------------------------------------*/ +/*-------------------------------- Theme color application size. start --------------------------------*/ +/* 文字字号 */ +/* 文字字重 */ +/* 尺寸 */ +/*-------------------------------- Theme color application size. end --------------------------------*/ +/* component var */ +/* action-sheet */ +/* badge */ +/* button */ +/* cell */ +/* calendar */ +/* checkbox */ +/* collapse */ +/* divider */ +/* drop-menu */ +/* input-number */ +/* input */ +/* textarea */ +/* loadmore */ +/* message-box */ +/* notice-bar */ +/* pagination */ +/* picker */ +/* col-picker */ +/* overlay */ +/* popup */ +/* progress */ +/* radio */ +/* search */ +/* slider */ +/* sort-button */ +/* steps */ +/* switch */ +/* tabs */ +/* tag */ +/* toast */ +/* loading */ +/* tooltip */ +/* popover */ +/* grid-item */ +/* statustip */ +/* card */ +/* upload */ +/* curtain */ +/* notify */ +/* skeleton */ +/* circle */ +/* swiper */ +/* swiper-nav */ +/* segmented */ +/* tabbar */ +/* tabbar-item */ +/* navbar */ +/* navbar-capsule */ +/* table */ +/* sidebar */ +/* sidebar-item */ +/* fab */ +/* count-down */ +/* keyboard */ +/* number-keyboard */ +/* passwod-input */ +/* form-item */ +/* backtop */ +/* index-bar */ +/* text */ +/* video-preview */ +/* img-cropper */ +/* floating-panel */ +/* signature */ +.wot-theme-dark .wd-badge__content.data-v-63f38c73 { + border-color: var(--wot-dark-background2, #1b1b1b); +} +.wd-badge.data-v-63f38c73 { + position: relative; + vertical-align: middle; + display: inline-block; +} +.wd-badge__content.data-v-63f38c73 { + display: inline-block; + box-sizing: content-box; + height: var(--wot-badge-height, 16px); + line-height: var(--wot-badge-height, 16px); + padding: var(--wot-badge-padding, 0 5px); + background-color: var(--wot-badge-bg, var(--wot-color-danger, #fa4350)); + border-radius: calc(var(--wot-badge-height, 16px) / 2 + 2px); + color: var(--wot-badge-color, #fff); + font-size: var(--wot-badge-fs, 12px); + text-align: center; + white-space: nowrap; + border: var(--wot-badge-border, 2px solid var(--wot-badge-color, #fff)); + font-weight: 500; +} +.wd-badge__content.is-fixed.data-v-63f38c73 { + position: absolute; + top: 0px; + right: 0px; + transform: translateY(-50%) translateX(50%); +} +.wd-badge__content.is-dot.data-v-63f38c73 { + height: var(--wot-badge-dot-size, 6px); + width: var(--wot-badge-dot-size, 6px); + padding: 0; + border-radius: 50%; +} +.wd-badge__content--primary.data-v-63f38c73 { + background-color: var(--wot-badge-primary, var(--wot-color-theme, #4d80f0)); +} +.wd-badge__content--success.data-v-63f38c73 { + background-color: var(--wot-badge-success, var(--wot-color-success, #34d19d)); +} +.wd-badge__content--warning.data-v-63f38c73 { + background-color: var(--wot-badge-warning, var(--wot-color-warning, #f0883a)); +} +.wd-badge__content--info.data-v-63f38c73 { + background-color: var(--wot-badge-info, var(--wot-color-info, #909399)); +} +.wd-badge__content--danger.data-v-63f38c73 { + background-color: var(--wot-badge-danger, var(--wot-color-danger, #fa4350)); +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-button/types.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-button/types.js new file mode 100644 index 0000000..d3760fb --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-button/types.js @@ -0,0 +1,28 @@ +"use strict"; +var uni_modules_wotDesignUni_components_common_props = require("../common/props.js"); +const buttonProps = { + ...uni_modules_wotDesignUni_components_common_props.baseProps, + plain: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + round: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(true), + disabled: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + hairline: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + block: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + type: uni_modules_wotDesignUni_components_common_props.makeStringProp("primary"), + size: uni_modules_wotDesignUni_components_common_props.makeStringProp("medium"), + icon: String, + classPrefix: uni_modules_wotDesignUni_components_common_props.makeStringProp("wd-icon"), + loading: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + loadingColor: String, + openType: String, + hoverStopPropagation: Boolean, + lang: String, + sessionFrom: String, + sendMessageTitle: String, + sendMessagePath: String, + sendMessageImg: String, + appParameter: String, + showMessageCard: Boolean, + buttonId: String, + scope: String +}; +exports.buttonProps = buttonProps; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-button/wd-button.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-button/wd-button.js new file mode 100644 index 0000000..2b93b62 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-button/wd-button.js @@ -0,0 +1,171 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_common_base64 = require("../common/base64.js"); +var uni_modules_wotDesignUni_components_wdButton_types = require("./types.js"); +require("../common/props.js"); +if (!Math) { + wdIcon(); +} +const wdIcon = () => "../wd-icon/wd-icon.js"; +const __default__ = { + name: "wd-button", + options: { + addGlobalClass: true, + virtualHost: true, + styleIsolation: "shared" + } +}; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + ...__default__, + props: uni_modules_wotDesignUni_components_wdButton_types.buttonProps, + emits: [ + "click", + "getuserinfo", + "contact", + "getphonenumber", + "getrealtimephonenumber", + "error", + "launchapp", + "opensetting", + "chooseavatar", + "agreeprivacyauthorization" + ], + setup(__props, { emit }) { + const props = __props; + const loadingIcon = (color = "#4D80F0", reverse = true) => { + return ``; + }; + const hoverStartTime = common_vendor.ref(20); + const hoverStayTime = common_vendor.ref(70); + const loadingIconSvg = common_vendor.ref(""); + const loadingStyle = common_vendor.computed$1(() => { + return `background-image: url(${loadingIconSvg.value});`; + }); + common_vendor.watch( + () => props.loading, + () => { + buildLoadingSvg(); + }, + { deep: true, immediate: true } + ); + function handleClick(event) { + if (!props.disabled && !props.loading) { + emit("click", event); + } + } + function handleGetAuthorize(event) { + if (props.scope === "phoneNumber") { + handleGetphonenumber(event); + } else if (props.scope === "userInfo") { + handleGetuserinfo(event); + } + } + function handleGetuserinfo(event) { + emit("getuserinfo", event.detail); + } + function handleConcat(event) { + emit("contact", event.detail); + } + function handleGetphonenumber(event) { + emit("getphonenumber", event.detail); + } + function handleGetrealtimephonenumber(event) { + emit("getrealtimephonenumber", event.detail); + } + function handleError(event) { + emit("error", event.detail); + } + function handleLaunchapp(event) { + emit("launchapp", event.detail); + } + function handleOpensetting(event) { + emit("opensetting", event.detail); + } + function handleChooseavatar(event) { + emit("chooseavatar", event.detail); + } + function handleAgreePrivacyAuthorization(event) { + emit("agreeprivacyauthorization", event.detail); + } + function buildLoadingSvg() { + const { loadingColor, type, plain } = props; + let color = loadingColor; + if (!color) { + switch (type) { + case "primary": + color = "#4D80F0"; + break; + case "success": + color = "#34d19d"; + break; + case "info": + color = "#333"; + break; + case "warning": + color = "#f0883a"; + break; + case "error": + color = "#fa4350"; + break; + case "default": + color = "#333"; + break; + } + } + const svg = loadingIcon(color, !plain); + loadingIconSvg.value = `"data:image/svg+xml;base64,${uni_modules_wotDesignUni_components_common_base64.encode(svg)}"`; + } + return (_ctx, _cache) => { + return common_vendor.e({ + a: _ctx.loading + }, _ctx.loading ? { + b: common_vendor.s(common_vendor.unref(loadingStyle)) + } : _ctx.icon ? { + d: common_vendor.p({ + ["custom-class"]: "wd-button__icon", + name: _ctx.icon, + classPrefix: _ctx.classPrefix + }) + } : {}, { + c: _ctx.icon, + e: _ctx.buttonId, + f: `${_ctx.disabled || _ctx.loading ? "" : "wd-button--active"}`, + g: common_vendor.s(_ctx.customStyle), + h: common_vendor.n("is-" + _ctx.type), + i: common_vendor.n("is-" + _ctx.size), + j: common_vendor.n(_ctx.round ? "is-round" : ""), + k: common_vendor.n(_ctx.hairline ? "is-hairline" : ""), + l: common_vendor.n(_ctx.plain ? "is-plain" : ""), + m: common_vendor.n(_ctx.disabled ? "is-disabled" : ""), + n: common_vendor.n(_ctx.block ? "is-block" : ""), + o: common_vendor.n(_ctx.loading ? "is-loading" : ""), + p: common_vendor.n(_ctx.customClass), + q: hoverStartTime.value, + r: hoverStayTime.value, + s: _ctx.disabled || _ctx.loading ? void 0 : _ctx.openType, + t: _ctx.sendMessageTitle, + v: _ctx.sendMessagePath, + w: _ctx.sendMessageImg, + x: _ctx.appParameter, + y: _ctx.showMessageCard, + z: _ctx.sessionFrom, + A: _ctx.lang, + B: _ctx.hoverStopPropagation, + C: _ctx.scope, + D: common_vendor.o(handleClick), + E: common_vendor.o(handleGetAuthorize), + F: common_vendor.o(handleGetuserinfo), + G: common_vendor.o(handleConcat), + H: common_vendor.o(handleGetphonenumber), + I: common_vendor.o(handleGetrealtimephonenumber), + J: common_vendor.o(handleError), + K: common_vendor.o(handleLaunchapp), + L: common_vendor.o(handleOpensetting), + M: common_vendor.o(handleChooseavatar), + N: common_vendor.o(handleAgreePrivacyAuthorization) + }); + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-31484079"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-button/wd-button.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-button/wd-button.json b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-button/wd-button.json new file mode 100644 index 0000000..b3f45a7 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-button/wd-button.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "wd-icon": "../wd-icon/wd-icon" + } +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-button/wd-button.wxml b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-button/wd-button.wxml new file mode 100644 index 0000000..d76cb7f --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-button/wd-button.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-button/wd-button.wxss b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-button/wd-button.wxss new file mode 100644 index 0000000..d8ad327 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-button/wd-button.wxss @@ -0,0 +1,465 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +/** + * 混合宏 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * BEM,定义块(b) + */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 此方法用于生成穿透样式 */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 定义状态(m) */ +/* 定义状态(m) */ +/* 对于需要需要嵌套在 m 底下的 e,调用这个混合宏,一般在切换整个组件的状态,如切换颜色的时候 */ +/* 状态,生成 is-$state 类名 */ +/** + * 常用混合宏 + */ +/* 单行超出隐藏 */ +/* 多行超出隐藏 */ +/* 清除浮动 */ +/* 0.5px 边框 指定方向*/ +/* 0.5px 边框 环绕 */ +/** + * 三角形实现尖角样式,适用于背景透明情况 + * @param $size 三角形高,底边为 $size * 2 + * @param $bg 三角形背景颜色 + */ +/** + * 正方形实现尖角样式,适用于背景不透明情况 + * @param $size 正方形边长 + * @param $bg 正方形背景颜色 + * @param $z-index z-index属性值,不得大于外部包裹器 + * @param $box-shadow 阴影 +*/ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * UI规范基础变量 + */ +/*----------------------------------------- Theme color. start ----------------------------------------*/ +/* 主题颜色 */ +/* 辅助色 */ +/* 文字颜色(默认浅色背景下 */ +/* 暗黑模式 */ +/* 图形颜色 */ +/*----------------------------------------- Theme color. end -------------------------------------------*/ +/*-------------------------------- Theme color application size. start --------------------------------*/ +/* 文字字号 */ +/* 文字字重 */ +/* 尺寸 */ +/*-------------------------------- Theme color application size. end --------------------------------*/ +/* component var */ +/* action-sheet */ +/* badge */ +/* button */ +/* cell */ +/* calendar */ +/* checkbox */ +/* collapse */ +/* divider */ +/* drop-menu */ +/* input-number */ +/* input */ +/* textarea */ +/* loadmore */ +/* message-box */ +/* notice-bar */ +/* pagination */ +/* picker */ +/* col-picker */ +/* overlay */ +/* popup */ +/* progress */ +/* radio */ +/* search */ +/* slider */ +/* sort-button */ +/* steps */ +/* switch */ +/* tabs */ +/* tag */ +/* toast */ +/* loading */ +/* tooltip */ +/* popover */ +/* grid-item */ +/* statustip */ +/* card */ +/* upload */ +/* curtain */ +/* notify */ +/* skeleton */ +/* circle */ +/* swiper */ +/* swiper-nav */ +/* segmented */ +/* tabbar */ +/* tabbar-item */ +/* navbar */ +/* navbar-capsule */ +/* table */ +/* sidebar */ +/* sidebar-item */ +/* fab */ +/* count-down */ +/* keyboard */ +/* number-keyboard */ +/* passwod-input */ +/* form-item */ +/* backtop */ +/* index-bar */ +/* text */ +/* video-preview */ +/* img-cropper */ +/* floating-panel */ +/* signature */ +.wot-theme-dark .wd-button.is-info.data-v-31484079 { + background: var(--wot-dark-background4, #323233); + color: var(--wot-dark-color3, rgba(232, 230, 227, 0.8)); +} +.wot-theme-dark .wd-button.is-plain.data-v-31484079 { + background: transparent; +} +.wot-theme-dark .wd-button.is-plain.is-info.data-v-31484079 { + color: var(--wot-dark-color, var(--wot-color-white, rgb(255, 255, 255))); +} +.wot-theme-dark .wd-button.is-plain.is-info.data-v-31484079::after { + border-color: var(--wot-dark-background5, #646566); +} +.wot-theme-dark .wd-button.is-text.is-disabled.data-v-31484079 { + color: var(--wot-dark-color-gray, var(--wot-color-secondary, #595959)); + background: transparent; +} +.wot-theme-dark .wd-button.is-icon.data-v-31484079 { + color: var(--wot-dark-color, var(--wot-color-white, rgb(255, 255, 255))); +} +.wot-theme-dark .wd-button.is-icon.is-disabled.data-v-31484079 { + color: var(--wot-dark-color-gray, var(--wot-color-secondary, #595959)); + background: transparent; +} +.wd-button.data-v-31484079 { + margin-left: initial; + margin-right: initial; + position: relative; + display: inline-block; + outline: none; + -webkit-appearance: none; + outline: none; + background: transparent; + box-sizing: border-box; + border: none; + border-radius: 0; + color: var(--wot-button-normal-color, var(--wot-color-title, var(--wot-color-black, rgb(0, 0, 0)))); + transition: opacity 0.2s; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + font-weight: normal; +} +.wd-button.data-v-31484079::before { + position: absolute; + top: 50%; + left: 50%; + width: 100%; + height: 100%; + background: var(--wot-color-black, rgb(0, 0, 0)); + border: inherit; + border-color: var(--wot-color-black, rgb(0, 0, 0)); + border-radius: inherit; + transform: translate(-50%, -50%); + opacity: 0; + content: " "; +} +.wd-button.data-v-31484079::after { + border: none; + border-radius: 0; +} +.wd-button__content.data-v-31484079 { + display: flex; + justify-content: center; + align-items: center; + height: 100%; +} +.wd-button--active.data-v-31484079:active::before { + opacity: 0.15; +} +.wd-button.is-disabled.data-v-31484079 { + opacity: var(--wot-button-disabled-opacity, 0.6); +} +.wd-button__loading.data-v-31484079 { + margin-right: 5px; + -webkit-animation: wd-rotate-31484079 0.8s linear infinite; + animation: wd-rotate-31484079 0.8s linear infinite; + -webkit-animation-duration: 2s; + animation-duration: 2s; +} +.wd-button__loading-svg.data-v-31484079 { + width: 100%; + height: 100%; + background-size: cover; + background-repeat: no-repeat; +} +.wd-button.is-primary.data-v-31484079 { + background: var(--wot-button-primary-bg-color, var(--wot-color-theme, #4d80f0)); + color: var(--wot-button-primary-color, var(--wot-color-white, rgb(255, 255, 255))); +} +.wd-button.is-success.data-v-31484079 { + background: var(--wot-button-success-bg-color, var(--wot-color-success, #34d19d)); + color: var(--wot-button-success-color, var(--wot-color-white, rgb(255, 255, 255))); +} +.wd-button.is-info.data-v-31484079 { + background: var(--wot-button-info-bg-color, #f0f0f0); + color: var(--wot-button-info-color, var(--wot-color-title, var(--wot-color-black, rgb(0, 0, 0)))); +} +.wd-button.is-warning.data-v-31484079 { + background: var(--wot-button-warning-bg-color, var(--wot-color-warning, #f0883a)); + color: var(--wot-button-warning-color, var(--wot-color-white, rgb(255, 255, 255))); +} +.wd-button.is-error.data-v-31484079 { + background: var(--wot-button-error-bg-color, var(--wot-color-danger, #fa4350)); + color: var(--wot-button-error-color, var(--wot-color-white, rgb(255, 255, 255))); +} +.wd-button.is-small.data-v-31484079 { + height: var(--wot-button-small-height, 28px); + padding: var(--wot-button-small-padding, 0 12px); + border-radius: var(--wot-button-small-radius, 2px); + font-size: var(--wot-button-small-fs, var(--wot-fs-secondary, 12px)); + font-weight: normal; +} +.wd-button.is-small .wd-button__loading.data-v-31484079 { + width: var(--wot-button-small-loading, 14px); + height: var(--wot-button-small-loading, 14px); +} +.wd-button.is-medium.data-v-31484079 { + height: var(--wot-button-medium-height, 36px); + padding: var(--wot-button-medium-padding, 0 16px); + border-radius: var(--wot-button-medium-radius, 4px); + font-size: var(--wot-button-medium-fs, var(--wot-fs-content, 14px)); + min-width: 120px; +} +.wd-button.is-medium.is-round.is-icon.data-v-31484079 { + min-width: 0; + border-radius: 50%; +} +.wd-button.is-medium.is-round.is-text.data-v-31484079 { + border-radius: 0; + min-width: 0; +} +.wd-button.is-medium .wd-button__loading.data-v-31484079 { + width: var(--wot-button-medium-loading, 18px); + height: var(--wot-button-medium-loading, 18px); +} +.wd-button.is-large.data-v-31484079 { + height: var(--wot-button-large-height, 44px); + padding: var(--wot-button-large-padding, 0 36px); + border-radius: var(--wot-button-large-radius, 8px); + font-size: var(--wot-button-large-fs, var(--wot-fs-title, 16px)); +} +.wd-button.is-large.data-v-31484079::after { + border-radius: var(--wot-button-large-radius, 8px); +} +.wd-button.is-large .wd-button__loading.data-v-31484079 { + width: var(--wot-button-large-loading, 24px); + height: var(--wot-button-large-loading, 24px); +} +.wd-button.is-round.data-v-31484079 { + border-radius: 999px; +} +.wd-button.is-text.data-v-31484079 { + color: var(--wot-button-primary-bg-color, var(--wot-color-theme, #4d80f0)); + min-width: 0; + padding: 4px 0; +} +.wd-button.is-text.data-v-31484079::after { + display: none; +} +.wd-button.is-text.wd-button--active.data-v-31484079 { + opacity: var(--wot-button-text-hover-opacity, 0.7); +} +.wd-button.is-text.wd-button--active.data-v-31484079:active::before { + display: none; +} +.wd-button.is-text.is-disabled.data-v-31484079 { + color: var(--wot-button-normal-disabled-color, rgba(0, 0, 0, 0.25)); + background: transparent; +} +.wd-button.is-plain.data-v-31484079 { + background: var(--wot-button-plain-bg-color, var(--wot-color-white, rgb(255, 255, 255))); + border: 1px solid currentColor; +} +.wd-button.is-plain.is-primary.data-v-31484079 { + color: var(--wot-button-primary-bg-color, var(--wot-color-theme, #4d80f0)); +} +.wd-button.is-plain.is-success.data-v-31484079 { + color: var(--wot-button-success-bg-color, var(--wot-color-success, #34d19d)); +} +.wd-button.is-plain.is-info.data-v-31484079 { + color: var(--wot-button-info-plain-normal-color, rgba(0, 0, 0, 0.85)); + border-color: var(--wot-button-info-plain-border-color, rgba(0, 0, 0, 0.45)); +} +.wd-button.is-plain.is-warning.data-v-31484079 { + color: var(--wot-button-warning-bg-color, var(--wot-color-warning, #f0883a)); +} +.wd-button.is-plain.is-error.data-v-31484079 { + color: var(--wot-button-error-bg-color, var(--wot-color-danger, #fa4350)); +} +.wd-button.is-hairline.data-v-31484079 { + border-width: 0; +} +.wd-button.is-hairline.is-plain.data-v-31484079 { + position: relative; +} +.wd-button.is-hairline.is-plain.data-v-31484079::after { + position: absolute; + display: block; + content: " "; + pointer-events: none; + width: 200%; + height: 200%; + left: 0; + top: 0; + border: 1px solid var(--wot-color-border-light, #e8e8e8); + transform: scale(0.5); + box-sizing: border-box; + transform-origin: left top; +} +.wd-button.is-hairline.is-plain.data-v-31484079::before { + border-radius: inherit; +} +.wd-button.is-hairline.is-plain.data-v-31484079::after { + border-color: inherit; +} +.wd-button.is-hairline.is-plain.is-round.data-v-31484079::after { + border-radius: inherit !important; +} +.wd-button.is-hairline.is-plain.is-large.data-v-31484079::after { + border-radius: calc(2 * var(--wot-button-large-radius, 8px)); +} +.wd-button.is-hairline.is-plain.is-medium.data-v-31484079::after { + border-radius: calc(2 * var(--wot-button-medium-radius, 4px)); +} +.wd-button.is-hairline.is-plain.is-small.data-v-31484079::after { + border-radius: calc(2 * var(--wot-button-small-radius, 2px)); +} +.wd-button.is-block.data-v-31484079 { + display: block; +} +.wd-button.is-icon.data-v-31484079 { + width: var(--wot-button-icon-size, 40px); + height: var(--wot-button-icon-size, 40px); + padding: 0; + border-radius: 50%; + color: var(--wot-button-icon-color, rgba(0, 0, 0, 0.65)); +} +.wd-button.is-icon.data-v-31484079::after { + display: none; +} +.wd-button.is-icon.data-v-31484079 .wd-button__icon { + margin-right: 0; +} +.wd-button.is-icon.is-disabled.data-v-31484079 { + color: var(--wot-button-icon-disabled-color, var(--wot-color-icon-disabled, #a7a7a7)); + background: transparent; +} +.data-v-31484079 .wd-button__icon { + display: block; + margin-right: 6px; + font-size: var(--wot-button-icon-fs, 18px); + vertical-align: middle; +} +.wd-button__text.data-v-31484079 { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + white-space: nowrap; +} +@-webkit-keyframes wd-rotate-31484079 { +from { + transform: rotate(0deg); +} +to { + transform: rotate(360deg); +} +} +@keyframes wd-rotate-31484079 { +from { + transform: rotate(0deg); +} +to { + transform: rotate(360deg); +} +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-card/types.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-card/types.js new file mode 100644 index 0000000..1f6ab4d --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-card/types.js @@ -0,0 +1,11 @@ +"use strict"; +var uni_modules_wotDesignUni_components_common_props = require("../common/props.js"); +const cardProps = { + ...uni_modules_wotDesignUni_components_common_props.baseProps, + type: String, + title: String, + customTitleClass: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + customContentClass: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + customFooterClass: uni_modules_wotDesignUni_components_common_props.makeStringProp("") +}; +exports.cardProps = cardProps; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-card/wd-card.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-card/wd-card.js new file mode 100644 index 0000000..31c4486 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-card/wd-card.js @@ -0,0 +1,40 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_wdCard_types = require("./types.js"); +require("../common/props.js"); +const __default__ = { + name: "wd-card", + options: { + addGlobalClass: true, + virtualHost: true, + styleIsolation: "shared" + } +}; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + ...__default__, + props: uni_modules_wotDesignUni_components_wdCard_types.cardProps, + setup(__props) { + return (_ctx, _cache) => { + return common_vendor.e({ + a: _ctx.title || _ctx.$slots.title + }, _ctx.title || _ctx.$slots.title ? common_vendor.e({ + b: _ctx.title + }, _ctx.title ? { + c: common_vendor.t(_ctx.title) + } : {}, { + d: common_vendor.n(_ctx.customTitleClass) + }) : {}, { + e: common_vendor.n(`wd-card__content ${_ctx.customContentClass}`), + f: _ctx.$slots.footer + }, _ctx.$slots.footer ? { + g: common_vendor.n(`wd-card__footer ${_ctx.customFooterClass}`) + } : {}, { + h: common_vendor.n(_ctx.type == "rectangle" ? "is-rectangle" : ""), + i: common_vendor.n(_ctx.customClass), + j: common_vendor.s(_ctx.customStyle) + }); + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-f064e216"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-card/wd-card.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-card/wd-card.json b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-card/wd-card.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-card/wd-card.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-card/wd-card.wxml b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-card/wd-card.wxml new file mode 100644 index 0000000..5266476 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-card/wd-card.wxml @@ -0,0 +1 @@ +{{c}} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-card/wd-card.wxss b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-card/wd-card.wxss new file mode 100644 index 0000000..0555471 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-card/wd-card.wxss @@ -0,0 +1,290 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * UI规范基础变量 + */ +/*----------------------------------------- Theme color. start ----------------------------------------*/ +/* 主题颜色 */ +/* 辅助色 */ +/* 文字颜色(默认浅色背景下 */ +/* 暗黑模式 */ +/* 图形颜色 */ +/*----------------------------------------- Theme color. end -------------------------------------------*/ +/*-------------------------------- Theme color application size. start --------------------------------*/ +/* 文字字号 */ +/* 文字字重 */ +/* 尺寸 */ +/*-------------------------------- Theme color application size. end --------------------------------*/ +/* component var */ +/* action-sheet */ +/* badge */ +/* button */ +/* cell */ +/* calendar */ +/* checkbox */ +/* collapse */ +/* divider */ +/* drop-menu */ +/* input-number */ +/* input */ +/* textarea */ +/* loadmore */ +/* message-box */ +/* notice-bar */ +/* pagination */ +/* picker */ +/* col-picker */ +/* overlay */ +/* popup */ +/* progress */ +/* radio */ +/* search */ +/* slider */ +/* sort-button */ +/* steps */ +/* switch */ +/* tabs */ +/* tag */ +/* toast */ +/* loading */ +/* tooltip */ +/* popover */ +/* grid-item */ +/* statustip */ +/* card */ +/* upload */ +/* curtain */ +/* notify */ +/* skeleton */ +/* circle */ +/* swiper */ +/* swiper-nav */ +/* segmented */ +/* tabbar */ +/* tabbar-item */ +/* navbar */ +/* navbar-capsule */ +/* table */ +/* sidebar */ +/* sidebar-item */ +/* fab */ +/* count-down */ +/* keyboard */ +/* number-keyboard */ +/* passwod-input */ +/* form-item */ +/* backtop */ +/* index-bar */ +/* text */ +/* video-preview */ +/* img-cropper */ +/* floating-panel */ +/* signature */ +/** + * 混合宏 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * BEM,定义块(b) + */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 此方法用于生成穿透样式 */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 定义状态(m) */ +/* 定义状态(m) */ +/* 对于需要需要嵌套在 m 底下的 e,调用这个混合宏,一般在切换整个组件的状态,如切换颜色的时候 */ +/* 状态,生成 is-$state 类名 */ +/** + * 常用混合宏 + */ +/* 单行超出隐藏 */ +/* 多行超出隐藏 */ +/* 清除浮动 */ +/* 0.5px 边框 指定方向*/ +/* 0.5px 边框 环绕 */ +/** + * 三角形实现尖角样式,适用于背景透明情况 + * @param $size 三角形高,底边为 $size * 2 + * @param $bg 三角形背景颜色 + */ +/** + * 正方形实现尖角样式,适用于背景不透明情况 + * @param $size 正方形边长 + * @param $bg 正方形背景颜色 + * @param $z-index z-index属性值,不得大于外部包裹器 + * @param $box-shadow 阴影 +*/ +.wot-theme-dark .wd-card.data-v-f064e216 { + background-color: var(--wot-dark-background2, #1b1b1b); +} +.wot-theme-dark .wd-card.is-rectangle .wd-card__content.data-v-f064e216 { + position: relative; +} +.wot-theme-dark .wd-card.is-rectangle .wd-card__content.data-v-f064e216::after { + position: absolute; + display: block; + content: ""; + width: 100%; + height: 1px; + left: 0; + top: 0; + transform: scaleY(0.5); + background: var(--wot-dark-border-color, #3a3a3c); +} +.wot-theme-dark .wd-card.is-rectangle .wd-card__footer.data-v-f064e216 { + position: relative; +} +.wot-theme-dark .wd-card.is-rectangle .wd-card__footer.data-v-f064e216::after { + position: absolute; + display: block; + content: ""; + width: 100%; + height: 1px; + left: 0; + top: 0; + transform: scaleY(0.5); + background: var(--wot-dark-border-color, #3a3a3c); +} +.wot-theme-dark .wd-card__title-content.data-v-f064e216 { + color: var(--wot-dark-color, var(--wot-color-white, rgb(255, 255, 255))); +} +.wot-theme-dark .wd-card__content.data-v-f064e216 { + color: var(--wot-dark-color3, rgba(232, 230, 227, 0.8)); +} +.wd-card.data-v-f064e216 { + padding: var(--wot-card-padding, 0 var(--wot-size-side-padding, 15px)); + background-color: var(--wot-card-bg, var(--wot-color-white, rgb(255, 255, 255))); + line-height: var(--wot-card-line-height, 1.1); + margin: var(--wot-card-margin, 0 var(--wot-size-side-padding, 15px)); + border-radius: var(--wot-card-radius, 8px); + box-shadow: var(--wot-card-shadow-color, 0px 4px 8px 0px rgba(0, 0, 0, 0.02)); + font-size: var(--wot-card-fs, var(--wot-fs-content, 14px)); + margin-bottom: 12px; +} +.wd-card.is-rectangle.data-v-f064e216 { + margin-left: 0; + margin-right: 0; + border-radius: 0; + box-shadow: none; +} +.wd-card.is-rectangle .wd-card__title-content.data-v-f064e216 { + font-size: var(--wot-card-fs, var(--wot-fs-content, 14px)); +} +.wd-card.is-rectangle .wd-card__content.data-v-f064e216 { + position: relative; + padding: var(--wot-card-rectangle-content-padding, 16px 0); + position: relative; +} +.wd-card.is-rectangle .wd-card__content.data-v-f064e216::after { + position: absolute; + display: block; + content: ""; + width: 100%; + height: 1px; + left: 0; + top: 0; + transform: scaleY(0.5); + background: var(--wot-card-content-border-color, rgba(0, 0, 0, 0.09)); +} +.wd-card.is-rectangle .wd-card__footer.data-v-f064e216 { + position: relative; + padding: var(--wot-card-rectangle-footer-padding, 12px 0); + position: relative; +} +.wd-card.is-rectangle .wd-card__footer.data-v-f064e216::after { + position: absolute; + display: block; + content: ""; + width: 100%; + height: 1px; + left: 0; + top: 0; + transform: scaleY(0.5); + background: var(--wot-card-content-border-color, rgba(0, 0, 0, 0.09)); +} +.wd-card__title-content.data-v-f064e216 { + padding: 16px 0; + color: var(--wot-card-title-color, rgba(0, 0, 0, 0.85)); + font-size: var(--wot-card-title-fs, var(--wot-fs-title, 16px)); +} +.wd-card__content.data-v-f064e216 { + color: var(--wot-card-content-color, rgba(0, 0, 0, 0.45)); + line-height: var(--wot-card-content-line-height, 1.428); +} +.wd-card__footer.data-v-f064e216 { + padding: var(--wot-card-footer-padding, 12px 0 16px); + text-align: right; +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell-group/types.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell-group/types.js new file mode 100644 index 0000000..54562b2 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell-group/types.js @@ -0,0 +1,12 @@ +"use strict"; +var uni_modules_wotDesignUni_components_common_props = require("../common/props.js"); +const CELL_GROUP_KEY = Symbol("wd-cell-group"); +const cellGroupProps = { + ...uni_modules_wotDesignUni_components_common_props.baseProps, + title: String, + value: String, + useSlot: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + border: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false) +}; +exports.CELL_GROUP_KEY = CELL_GROUP_KEY; +exports.cellGroupProps = cellGroupProps; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell-group/wd-cell-group.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell-group/wd-cell-group.js new file mode 100644 index 0000000..92a148b --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell-group/wd-cell-group.js @@ -0,0 +1,41 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_composables_useChildren = require("../composables/useChildren.js"); +var uni_modules_wotDesignUni_components_wdCellGroup_types = require("./types.js"); +require("../common/props.js"); +const __default__ = { + name: "wd-cell-group", + options: { + addGlobalClass: true, + virtualHost: true, + styleIsolation: "shared" + } +}; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + ...__default__, + props: uni_modules_wotDesignUni_components_wdCellGroup_types.cellGroupProps, + setup(__props) { + const props = __props; + const { linkChildren } = uni_modules_wotDesignUni_components_composables_useChildren.useChildren(uni_modules_wotDesignUni_components_wdCellGroup_types.CELL_GROUP_KEY); + linkChildren({ props }); + return (_ctx, _cache) => { + return common_vendor.e({ + a: _ctx.title || _ctx.value || _ctx.useSlot + }, _ctx.title || _ctx.value || _ctx.useSlot ? common_vendor.e({ + b: !_ctx.$slots.title + }, !_ctx.$slots.title ? { + c: common_vendor.t(_ctx.title) + } : {}, { + d: !_ctx.$slots.value + }, !_ctx.$slots.value ? { + e: common_vendor.t(_ctx.value) + } : {}) : {}, { + f: common_vendor.n(_ctx.border ? "is-border" : ""), + g: common_vendor.n(_ctx.customClass), + h: common_vendor.s(_ctx.customStyle) + }); + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-7635c886"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-cell-group/wd-cell-group.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell-group/wd-cell-group.json b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell-group/wd-cell-group.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell-group/wd-cell-group.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell-group/wd-cell-group.wxml b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell-group/wd-cell-group.wxml new file mode 100644 index 0000000..282ab5d --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell-group/wd-cell-group.wxml @@ -0,0 +1 @@ +{{c}}{{e}} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell-group/wd-cell-group.wxss b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell-group/wd-cell-group.wxss new file mode 100644 index 0000000..7ba536f --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell-group/wd-cell-group.wxss @@ -0,0 +1,251 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * UI规范基础变量 + */ +/*----------------------------------------- Theme color. start ----------------------------------------*/ +/* 主题颜色 */ +/* 辅助色 */ +/* 文字颜色(默认浅色背景下 */ +/* 暗黑模式 */ +/* 图形颜色 */ +/*----------------------------------------- Theme color. end -------------------------------------------*/ +/*-------------------------------- Theme color application size. start --------------------------------*/ +/* 文字字号 */ +/* 文字字重 */ +/* 尺寸 */ +/*-------------------------------- Theme color application size. end --------------------------------*/ +/* component var */ +/* action-sheet */ +/* badge */ +/* button */ +/* cell */ +/* calendar */ +/* checkbox */ +/* collapse */ +/* divider */ +/* drop-menu */ +/* input-number */ +/* input */ +/* textarea */ +/* loadmore */ +/* message-box */ +/* notice-bar */ +/* pagination */ +/* picker */ +/* col-picker */ +/* overlay */ +/* popup */ +/* progress */ +/* radio */ +/* search */ +/* slider */ +/* sort-button */ +/* steps */ +/* switch */ +/* tabs */ +/* tag */ +/* toast */ +/* loading */ +/* tooltip */ +/* popover */ +/* grid-item */ +/* statustip */ +/* card */ +/* upload */ +/* curtain */ +/* notify */ +/* skeleton */ +/* circle */ +/* swiper */ +/* swiper-nav */ +/* segmented */ +/* tabbar */ +/* tabbar-item */ +/* navbar */ +/* navbar-capsule */ +/* table */ +/* sidebar */ +/* sidebar-item */ +/* fab */ +/* count-down */ +/* keyboard */ +/* number-keyboard */ +/* passwod-input */ +/* form-item */ +/* backtop */ +/* index-bar */ +/* text */ +/* video-preview */ +/* img-cropper */ +/* floating-panel */ +/* signature */ +/** + * 混合宏 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * BEM,定义块(b) + */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 此方法用于生成穿透样式 */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 定义状态(m) */ +/* 定义状态(m) */ +/* 对于需要需要嵌套在 m 底下的 e,调用这个混合宏,一般在切换整个组件的状态,如切换颜色的时候 */ +/* 状态,生成 is-$state 类名 */ +/** + * 常用混合宏 + */ +/* 单行超出隐藏 */ +/* 多行超出隐藏 */ +/* 清除浮动 */ +/* 0.5px 边框 指定方向*/ +/* 0.5px 边框 环绕 */ +/** + * 三角形实现尖角样式,适用于背景透明情况 + * @param $size 三角形高,底边为 $size * 2 + * @param $bg 三角形背景颜色 + */ +/** + * 正方形实现尖角样式,适用于背景不透明情况 + * @param $size 正方形边长 + * @param $bg 正方形背景颜色 + * @param $z-index z-index属性值,不得大于外部包裹器 + * @param $box-shadow 阴影 +*/ +.wot-theme-dark .wd-cell-group.data-v-7635c886 { + background-color: var(--wot-dark-background2, #1b1b1b); +} +.wot-theme-dark .wd-cell-group.is-border .wd-cell-group__title.data-v-7635c886 { + position: relative; +} +.wot-theme-dark .wd-cell-group.is-border .wd-cell-group__title.data-v-7635c886::after { + position: absolute; + display: block; + content: ""; + width: 100%; + height: 1px; + left: 0; + bottom: 0; + transform: scaleY(0.5); + background: var(--wot-dark-border-color, #3a3a3c); +} +.wot-theme-dark .wd-cell-group__title.data-v-7635c886 { + background: var(--wot-dark-background2, #1b1b1b); + color: var(--wot-dark-color, var(--wot-color-white, rgb(255, 255, 255))); +} +.wot-theme-dark .wd-cell-group__right.data-v-7635c886 { + color: var(--wot-dark-color3, rgba(232, 230, 227, 0.8)); +} +.wot-theme-dark .wd-cell-group__body.data-v-7635c886 { + background: var(--wot-dark-background2, #1b1b1b); +} +.wd-cell-group.data-v-7635c886 { + background-color: var(--wot-color-white, rgb(255, 255, 255)); +} +.wd-cell-group.is-border .wd-cell-group__title.data-v-7635c886 { + position: relative; +} +.wd-cell-group.is-border .wd-cell-group__title.data-v-7635c886::after { + position: absolute; + display: block; + content: ""; + width: 100%; + height: 1px; + left: 0; + bottom: 0; + transform: scaleY(0.5); + background: var(--wot-color-border-light, #e8e8e8); +} +.wd-cell-group__title.data-v-7635c886 { + position: relative; + display: flex; + justify-content: space-between; + padding: var(--wot-cell-group-padding, 13px var(--wot-cell-padding, var(--wot-size-side-padding, 15px))); + background: var(--wot-color-white, rgb(255, 255, 255)); + font-size: var(--wot-cell-group-title-fs, var(--wot-fs-title, 16px)); + color: var(--wot-cell-group-title-color, rgba(0, 0, 0, 0.85)); + font-weight: var(--wot-fw-medium, 500); + line-height: 1.43; +} +.wd-cell-group__right.data-v-7635c886 { + color: var(--wot-cell-group-value-color, var(--wot-color-content, #262626)); + font-size: var(--wot-cell-group-value-fs, var(--wot-fs-content, 14px)); +} +.wd-cell-group__body.data-v-7635c886 { + background: var(--wot-color-white, rgb(255, 255, 255)); +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell/types.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell/types.js new file mode 100644 index 0000000..655ad9f --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell/types.js @@ -0,0 +1,31 @@ +"use strict"; +var uni_modules_wotDesignUni_components_common_props = require("../common/props.js"); +const cellProps = { + ...uni_modules_wotDesignUni_components_common_props.baseProps, + title: String, + value: uni_modules_wotDesignUni_components_common_props.makeNumericProp(""), + icon: String, + iconSize: uni_modules_wotDesignUni_components_common_props.numericProp, + label: String, + isLink: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + to: String, + replace: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + clickable: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + size: String, + border: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(void 0), + titleWidth: String, + center: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + required: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + vertical: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + prop: String, + rules: uni_modules_wotDesignUni_components_common_props.makeArrayProp(), + customIconClass: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + customLabelClass: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + customValueClass: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + customTitleClass: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + valueAlign: uni_modules_wotDesignUni_components_common_props.makeStringProp("right"), + ellipsis: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + useTitleSlot: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(true), + markerSide: uni_modules_wotDesignUni_components_common_props.makeStringProp("before") +}; +exports.cellProps = cellProps; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell/wd-cell.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell/wd-cell.js new file mode 100644 index 0000000..9babc46 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell/wd-cell.js @@ -0,0 +1,128 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_composables_useCell = require("../composables/useCell.js"); +var uni_modules_wotDesignUni_components_composables_useParent = require("../composables/useParent.js"); +var uni_modules_wotDesignUni_components_wdForm_types = require("../wd-form/types.js"); +var uni_modules_wotDesignUni_components_wdCell_types = require("./types.js"); +var uni_modules_wotDesignUni_components_common_util = require("../common/util.js"); +require("../wd-cell-group/types.js"); +require("../common/props.js"); +require("../common/AbortablePromise.js"); +if (!Math) { + wdIcon(); +} +const wdIcon = () => "../wd-icon/wd-icon.js"; +const __default__ = { + name: "wd-cell", + options: { + addGlobalClass: true, + virtualHost: true, + styleIsolation: "shared" + } +}; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + ...__default__, + props: uni_modules_wotDesignUni_components_wdCell_types.cellProps, + emits: ["click"], + setup(__props, { emit }) { + const props = __props; + const slots = common_vendor.useSlots(); + const cell = uni_modules_wotDesignUni_components_composables_useCell.useCell(); + const isBorder = common_vendor.computed$1(() => { + return Boolean(uni_modules_wotDesignUni_components_common_util.isDef(props.border) ? props.border : cell.border.value); + }); + const { parent: form } = uni_modules_wotDesignUni_components_composables_useParent.useParent(uni_modules_wotDesignUni_components_wdForm_types.FORM_KEY); + const errorMessage = common_vendor.computed$1(() => { + if (form && props.prop && form.errorMessages && form.errorMessages[props.prop]) { + return form.errorMessages[props.prop]; + } else { + return ""; + } + }); + const isRequired = common_vendor.computed$1(() => { + let formRequired = false; + if (form && form.props.rules) { + const rules = form.props.rules; + for (const key in rules) { + if (Object.prototype.hasOwnProperty.call(rules, key) && key === props.prop && Array.isArray(rules[key])) { + formRequired = rules[key].some((rule) => rule.required); + } + } + } + return props.required || props.rules.some((rule) => rule.required) || formRequired; + }); + const showLeft = common_vendor.computed$1(() => { + const hasIcon = slots.icon || props.icon; + const hasTitle = slots.title && props.useTitleSlot || props.title; + const hasLabel = slots.label || props.label; + return hasIcon || hasTitle || hasLabel; + }); + function onClick() { + const url = props.to; + if (props.clickable || props.isLink) { + emit("click"); + } + if (url && props.isLink) { + if (props.replace) { + common_vendor.index.redirectTo({ url }); + } else { + common_vendor.index.navigateTo({ url }); + } + } + } + return (_ctx, _cache) => { + return common_vendor.e({ + a: common_vendor.unref(showLeft) + }, common_vendor.unref(showLeft) ? common_vendor.e({ + b: common_vendor.unref(isRequired) && _ctx.markerSide === "before" + }, common_vendor.unref(isRequired) && _ctx.markerSide === "before" ? {} : {}, { + c: _ctx.icon + }, _ctx.icon ? { + d: common_vendor.p({ + name: _ctx.icon, + size: _ctx.iconSize, + ["custom-class"]: `wd-cell__icon ${_ctx.customIconClass}` + }) + } : {}, { + e: _ctx.useTitleSlot && _ctx.$slots.title + }, _ctx.useTitleSlot && _ctx.$slots.title ? {} : _ctx.title ? { + g: common_vendor.t(_ctx.title), + h: common_vendor.n(_ctx.customTitleClass) + } : {}, { + f: _ctx.title, + i: _ctx.label + }, _ctx.label ? { + j: common_vendor.t(_ctx.label), + k: common_vendor.n(`wd-cell__label ${_ctx.customLabelClass}`) + } : {}, { + l: common_vendor.unref(isRequired) && _ctx.markerSide === "after" + }, common_vendor.unref(isRequired) && _ctx.markerSide === "after" ? {} : {}, { + m: common_vendor.s(_ctx.titleWidth ? "min-width:" + _ctx.titleWidth + ";max-width:" + _ctx.titleWidth + ";" : "") + }) : {}, { + n: common_vendor.t(_ctx.value), + o: common_vendor.n(`wd-cell__value ${_ctx.customValueClass} wd-cell__value--${_ctx.valueAlign} ${_ctx.ellipsis ? "wd-cell__value--ellipsis" : ""}`), + p: _ctx.isLink + }, _ctx.isLink ? { + q: common_vendor.p({ + ["custom-class"]: "wd-cell__arrow-right", + name: "arrow-right" + }) + } : {}, { + r: common_vendor.unref(errorMessage) + }, common_vendor.unref(errorMessage) ? { + s: common_vendor.t(common_vendor.unref(errorMessage)) + } : {}, { + t: common_vendor.n(_ctx.vertical ? "is-vertical" : ""), + v: common_vendor.n(common_vendor.unref(isBorder) ? "is-border" : ""), + w: common_vendor.n(_ctx.size ? "is-" + _ctx.size : ""), + x: common_vendor.n(_ctx.center ? "is-center" : ""), + y: common_vendor.n(_ctx.customClass), + z: common_vendor.s(_ctx.customStyle), + A: _ctx.isLink || _ctx.clickable ? "is-hover" : "none", + B: common_vendor.o(onClick) + }); + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-3c2570ce"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-cell/wd-cell.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell/wd-cell.json b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell/wd-cell.json new file mode 100644 index 0000000..b3f45a7 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell/wd-cell.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "wd-icon": "../wd-icon/wd-icon" + } +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell/wd-cell.wxml b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell/wd-cell.wxml new file mode 100644 index 0000000..76739b7 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell/wd-cell.wxml @@ -0,0 +1 @@ +*{{g}}{{j}}*{{n}}{{s}} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell/wd-cell.wxss b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell/wd-cell.wxss new file mode 100644 index 0000000..8e093da --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-cell/wd-cell.wxss @@ -0,0 +1,371 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * UI规范基础变量 + */ +/*----------------------------------------- Theme color. start ----------------------------------------*/ +/* 主题颜色 */ +/* 辅助色 */ +/* 文字颜色(默认浅色背景下 */ +/* 暗黑模式 */ +/* 图形颜色 */ +/*----------------------------------------- Theme color. end -------------------------------------------*/ +/*-------------------------------- Theme color application size. start --------------------------------*/ +/* 文字字号 */ +/* 文字字重 */ +/* 尺寸 */ +/*-------------------------------- Theme color application size. end --------------------------------*/ +/* component var */ +/* action-sheet */ +/* badge */ +/* button */ +/* cell */ +/* calendar */ +/* checkbox */ +/* collapse */ +/* divider */ +/* drop-menu */ +/* input-number */ +/* input */ +/* textarea */ +/* loadmore */ +/* message-box */ +/* notice-bar */ +/* pagination */ +/* picker */ +/* col-picker */ +/* overlay */ +/* popup */ +/* progress */ +/* radio */ +/* search */ +/* slider */ +/* sort-button */ +/* steps */ +/* switch */ +/* tabs */ +/* tag */ +/* toast */ +/* loading */ +/* tooltip */ +/* popover */ +/* grid-item */ +/* statustip */ +/* card */ +/* upload */ +/* curtain */ +/* notify */ +/* skeleton */ +/* circle */ +/* swiper */ +/* swiper-nav */ +/* segmented */ +/* tabbar */ +/* tabbar-item */ +/* navbar */ +/* navbar-capsule */ +/* table */ +/* sidebar */ +/* sidebar-item */ +/* fab */ +/* count-down */ +/* keyboard */ +/* number-keyboard */ +/* passwod-input */ +/* form-item */ +/* backtop */ +/* index-bar */ +/* text */ +/* video-preview */ +/* img-cropper */ +/* floating-panel */ +/* signature */ +/** + * 混合宏 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * BEM,定义块(b) + */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 此方法用于生成穿透样式 */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 定义状态(m) */ +/* 定义状态(m) */ +/* 对于需要需要嵌套在 m 底下的 e,调用这个混合宏,一般在切换整个组件的状态,如切换颜色的时候 */ +/* 状态,生成 is-$state 类名 */ +/** + * 常用混合宏 + */ +/* 单行超出隐藏 */ +/* 多行超出隐藏 */ +/* 清除浮动 */ +/* 0.5px 边框 指定方向*/ +/* 0.5px 边框 环绕 */ +/** + * 三角形实现尖角样式,适用于背景透明情况 + * @param $size 三角形高,底边为 $size * 2 + * @param $bg 三角形背景颜色 + */ +/** + * 正方形实现尖角样式,适用于背景不透明情况 + * @param $size 正方形边长 + * @param $bg 正方形背景颜色 + * @param $z-index z-index属性值,不得大于外部包裹器 + * @param $box-shadow 阴影 +*/ +.wot-theme-dark .wd-cell.data-v-3c2570ce { + background-color: var(--wot-dark-background2, #1b1b1b); + color: var(--wot-dark-color, var(--wot-color-white, rgb(255, 255, 255))); +} +.wot-theme-dark .wd-cell__value.data-v-3c2570ce { + color: var(--wot-dark-color, var(--wot-color-white, rgb(255, 255, 255))); +} +.wot-theme-dark .wd-cell__label.data-v-3c2570ce { + color: var(--wot-dark-color3, rgba(232, 230, 227, 0.8)); +} +.wot-theme-dark .wd-cell.is-hover.data-v-3c2570ce { + background-color: var(--wot-dark-background4, #323233); +} +.wot-theme-dark .wd-cell.is-border .wd-cell__wrapper.data-v-3c2570ce { + position: relative; +} +.wot-theme-dark .wd-cell.is-border .wd-cell__wrapper.data-v-3c2570ce::after { + position: absolute; + display: block; + content: ""; + width: 100%; + height: 1px; + left: 0; + top: 0; + transform: scaleY(0.5); + background: var(--wot-dark-border-color, #3a3a3c); +} +.wot-theme-dark .wd-cell.data-v-3c2570ce .wd-cell__arrow-right { + color: var(--wot-dark-color, var(--wot-color-white, rgb(255, 255, 255))); +} +.wd-cell.data-v-3c2570ce { + position: relative; + padding-left: var(--wot-cell-padding, var(--wot-size-side-padding, 15px)); + background-color: var(--wot-color-white, rgb(255, 255, 255)); + text-decoration: none; + color: var(--wot-cell-title-color, rgba(0, 0, 0, 0.85)); + line-height: var(--wot-cell-line-height, 24px); + -webkit-tap-highlight-color: transparent; + box-sizing: border-box; + width: 100%; + overflow: hidden; +} +.wd-cell.is-border .wd-cell__wrapper.data-v-3c2570ce { + position: relative; +} +.wd-cell.is-border .wd-cell__wrapper.data-v-3c2570ce::after { + position: absolute; + display: block; + content: ""; + width: 100%; + height: 1px; + left: 0; + top: 0; + transform: scaleY(0.5); + background: var(--wot-color-border-light, #e8e8e8); +} +.wd-cell__wrapper.data-v-3c2570ce { + position: relative; + display: flex; + padding: var(--wot-cell-wrapper-padding, 10px) var(--wot-cell-padding, var(--wot-size-side-padding, 15px)) var(--wot-cell-wrapper-padding, 10px) 0; + justify-content: space-between; + align-items: flex-start; + overflow: hidden; +} +.wd-cell__wrapper.is-vertical.data-v-3c2570ce { + display: block; +} +.wd-cell__wrapper.is-vertical .wd-cell__right.data-v-3c2570ce { + margin-top: var(--wot-cell-vertical-top, 16px); +} +.wd-cell__wrapper.is-vertical .wd-cell__value.data-v-3c2570ce { + text-align: left; +} +.wd-cell__wrapper.is-vertical .wd-cell__left.data-v-3c2570ce { + margin-right: 0; +} +.wd-cell__wrapper.is-label.data-v-3c2570ce { + padding: var(--wot-cell-wrapper-padding-with-label, 16px) var(--wot-cell-padding, var(--wot-size-side-padding, 15px)) var(--wot-cell-wrapper-padding-with-label, 16px) 0; +} +.wd-cell__left.data-v-3c2570ce { + position: relative; + flex: 1; + display: flex; + text-align: left; + font-size: var(--wot-cell-title-fs, 14px); + box-sizing: border-box; + margin-right: var(--wot-cell-padding, var(--wot-size-side-padding, 15px)); +} +.wd-cell__right.data-v-3c2570ce { + position: relative; + flex: 1; + min-width: 0; +} +.wd-cell__title.data-v-3c2570ce { + font-size: var(--wot-cell-title-fs, 14px); +} +.wd-cell__required.data-v-3c2570ce { + font-size: var(--wot-cell-required-size, 18px); + color: var(--wot-cell-required-color, var(--wot-color-danger, #fa4350)); + margin-left: var(--wot-cell-required-margin, 4px); +} +.wd-cell__required--left.data-v-3c2570ce { + margin-left: 0; + margin-right: var(--wot-cell-required-margin, 4px); +} +.wd-cell__label.data-v-3c2570ce { + margin-top: 2px; + font-size: var(--wot-cell-label-fs, 12px); + color: var(--wot-cell-label-color, rgba(0, 0, 0, 0.45)); +} +.data-v-3c2570ce .wd-cell__icon { + display: block; + position: relative; + margin-right: var(--wot-cell-icon-right, 4px); + font-size: var(--wot-cell-icon-size, 16px); + height: var(--wot-cell-line-height, 24px); + line-height: var(--wot-cell-line-height, 24px); +} +.wd-cell__body.data-v-3c2570ce { + display: flex; + min-width: 0; +} +.wd-cell__value.data-v-3c2570ce { + position: relative; + flex: 1; + font-size: var(--wot-cell-value-fs, 14px); + color: var(--wot-cell-value-color, rgba(0, 0, 0, 0.85)); + vertical-align: middle; +} +.wd-cell__value--left.data-v-3c2570ce { + text-align: left; +} +.wd-cell__value--right.data-v-3c2570ce { + text-align: right; +} +.wd-cell__value--ellipsis.data-v-3c2570ce { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + min-width: 0; +} +.data-v-3c2570ce .wd-cell__arrow-right { + display: block; + margin-left: 8px; + width: var(--wot-cell-arrow-size, 18px); + font-size: var(--wot-cell-arrow-size, 18px); + color: var(--wot-cell-arrow-color, rgba(0, 0, 0, 0.25)); + height: var(--wot-cell-line-height, 24px); + line-height: var(--wot-cell-line-height, 24px); +} +.wd-cell__error-message.data-v-3c2570ce { + color: var(--wot-form-item-error-message-color, var(--wot-color-danger, #fa4350)); + font-size: var(--wot-form-item-error-message-font-size, var(--wot-fs-secondary, 12px)); + line-height: var(--wot-form-item-error-message-line-height, 24px); + text-align: left; + vertical-align: middle; +} +.wd-cell.is-link.data-v-3c2570ce { + -webkit-tap-highlight-color: var(--wot-cell-tap-bg, rgba(0, 0, 0, 0.06)); +} +.wd-cell.is-hover.data-v-3c2570ce { + background-color: var(--wot-cell-tap-bg, rgba(0, 0, 0, 0.06)); +} +.wd-cell.is-large .wd-cell__title.data-v-3c2570ce { + font-size: var(--wot-cell-title-fs-large, 16px); +} +.wd-cell.is-large .wd-cell__wrapper.data-v-3c2570ce { + padding-top: var(--wot-cell-wrapper-padding-large, 12px); + padding-bottom: var(--wot-cell-wrapper-padding-large, 12px); +} +.wd-cell.is-large .wd-cell__label.data-v-3c2570ce { + font-size: var(--wot-cell-label-fs-large, 14px); +} +.wd-cell.is-large .wd-cell__value.data-v-3c2570ce { + font-size: var(--wot-cell-value-fs-large, 16px); +} +.wd-cell.is-large.data-v-3c2570ce .wd-cell__icon { + font-size: var(--wot-cell-icon-size-large, 18px); +} +.wd-cell.is-center .wd-cell__wrapper.data-v-3c2570ce { + align-items: center; +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-col/types.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-col/types.js new file mode 100644 index 0000000..e254792 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-col/types.js @@ -0,0 +1,8 @@ +"use strict"; +var uni_modules_wotDesignUni_components_common_props = require("../common/props.js"); +const colProps = { + ...uni_modules_wotDesignUni_components_common_props.baseProps, + span: uni_modules_wotDesignUni_components_common_props.makeNumberProp(24), + offset: uni_modules_wotDesignUni_components_common_props.makeNumberProp(0) +}; +exports.colProps = colProps; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-col/wd-col.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-col/wd-col.js new file mode 100644 index 0000000..f3a9790 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-col/wd-col.js @@ -0,0 +1,49 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_composables_useParent = require("../composables/useParent.js"); +var uni_modules_wotDesignUni_components_wdRow_types = require("../wd-row/types.js"); +var uni_modules_wotDesignUni_components_wdCol_types = require("./types.js"); +var uni_modules_wotDesignUni_components_common_util = require("../common/util.js"); +require("../common/props.js"); +require("../common/AbortablePromise.js"); +const __default__ = { + name: "wd-col", + options: { + addGlobalClass: true, + virtualHost: true, + styleIsolation: "shared" + } +}; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + ...__default__, + props: uni_modules_wotDesignUni_components_wdCol_types.colProps, + setup(__props) { + const props = __props; + const { parent: row } = uni_modules_wotDesignUni_components_composables_useParent.useParent(uni_modules_wotDesignUni_components_wdRow_types.ROW_KEY); + const rootStyle = common_vendor.computed$1(() => { + const gutter = uni_modules_wotDesignUni_components_common_util.isDef(row) ? row.props.gutter || 0 : 0; + const padding = `${gutter / 2}px`; + const style = gutter > 0 ? `padding-left: ${padding}; padding-right: ${padding};background-clip: content-box;` : ""; + return `${style}${props.customStyle}`; + }); + common_vendor.watch([() => props.span, () => props.offset], () => { + check(); + }); + function check() { + const { span, offset } = props; + if (span < 0 || offset < 0) { + console.error("[wot-design] warning(wd-col): attribute span/offset must be greater than or equal to 0"); + } + } + return (_ctx, _cache) => { + return { + a: common_vendor.n(_ctx.span && "wd-col__" + _ctx.span), + b: common_vendor.n(_ctx.offset && "wd-col__offset-" + _ctx.offset), + c: common_vendor.n(_ctx.customClass), + d: common_vendor.s(common_vendor.unref(rootStyle)) + }; + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-62edcad3"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-col/wd-col.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-col/wd-col.json b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-col/wd-col.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-col/wd-col.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-col/wd-col.wxml b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-col/wd-col.wxml new file mode 100644 index 0000000..402c50d --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-col/wd-col.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-col/wd-col.wxss b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-col/wd-col.wxss new file mode 100644 index 0000000..7d4d99a --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-col/wd-col.wxss @@ -0,0 +1,337 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * UI规范基础变量 + */ +/*----------------------------------------- Theme color. start ----------------------------------------*/ +/* 主题颜色 */ +/* 辅助色 */ +/* 文字颜色(默认浅色背景下 */ +/* 暗黑模式 */ +/* 图形颜色 */ +/*----------------------------------------- Theme color. end -------------------------------------------*/ +/*-------------------------------- Theme color application size. start --------------------------------*/ +/* 文字字号 */ +/* 文字字重 */ +/* 尺寸 */ +/*-------------------------------- Theme color application size. end --------------------------------*/ +/* component var */ +/* action-sheet */ +/* badge */ +/* button */ +/* cell */ +/* calendar */ +/* checkbox */ +/* collapse */ +/* divider */ +/* drop-menu */ +/* input-number */ +/* input */ +/* textarea */ +/* loadmore */ +/* message-box */ +/* notice-bar */ +/* pagination */ +/* picker */ +/* col-picker */ +/* overlay */ +/* popup */ +/* progress */ +/* radio */ +/* search */ +/* slider */ +/* sort-button */ +/* steps */ +/* switch */ +/* tabs */ +/* tag */ +/* toast */ +/* loading */ +/* tooltip */ +/* popover */ +/* grid-item */ +/* statustip */ +/* card */ +/* upload */ +/* curtain */ +/* notify */ +/* skeleton */ +/* circle */ +/* swiper */ +/* swiper-nav */ +/* segmented */ +/* tabbar */ +/* tabbar-item */ +/* navbar */ +/* navbar-capsule */ +/* table */ +/* sidebar */ +/* sidebar-item */ +/* fab */ +/* count-down */ +/* keyboard */ +/* number-keyboard */ +/* passwod-input */ +/* form-item */ +/* backtop */ +/* index-bar */ +/* text */ +/* video-preview */ +/* img-cropper */ +/* floating-panel */ +/* signature */ +/** + * 混合宏 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * BEM,定义块(b) + */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 此方法用于生成穿透样式 */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 定义状态(m) */ +/* 定义状态(m) */ +/* 对于需要需要嵌套在 m 底下的 e,调用这个混合宏,一般在切换整个组件的状态,如切换颜色的时候 */ +/* 状态,生成 is-$state 类名 */ +/** + * 常用混合宏 + */ +/* 单行超出隐藏 */ +/* 多行超出隐藏 */ +/* 清除浮动 */ +/* 0.5px 边框 指定方向*/ +/* 0.5px 边框 环绕 */ +/** + * 三角形实现尖角样式,适用于背景透明情况 + * @param $size 三角形高,底边为 $size * 2 + * @param $bg 三角形背景颜色 + */ +/** + * 正方形实现尖角样式,适用于背景不透明情况 + * @param $size 正方形边长 + * @param $bg 正方形背景颜色 + * @param $z-index z-index属性值,不得大于外部包裹器 + * @param $box-shadow 阴影 +*/ +.wd-col.data-v-62edcad3 { + float: left; + box-sizing: border-box; +} +.wd-col__1.data-v-62edcad3 { + width: 4.1666666667%; +} +.wd-col__offset-1.data-v-62edcad3 { + margin-left: 4.1666666667%; +} +.wd-col__2.data-v-62edcad3 { + width: 8.3333333333%; +} +.wd-col__offset-2.data-v-62edcad3 { + margin-left: 8.3333333333%; +} +.wd-col__3.data-v-62edcad3 { + width: 12.5%; +} +.wd-col__offset-3.data-v-62edcad3 { + margin-left: 12.5%; +} +.wd-col__4.data-v-62edcad3 { + width: 16.6666666667%; +} +.wd-col__offset-4.data-v-62edcad3 { + margin-left: 16.6666666667%; +} +.wd-col__5.data-v-62edcad3 { + width: 20.8333333333%; +} +.wd-col__offset-5.data-v-62edcad3 { + margin-left: 20.8333333333%; +} +.wd-col__6.data-v-62edcad3 { + width: 25%; +} +.wd-col__offset-6.data-v-62edcad3 { + margin-left: 25%; +} +.wd-col__7.data-v-62edcad3 { + width: 29.1666666667%; +} +.wd-col__offset-7.data-v-62edcad3 { + margin-left: 29.1666666667%; +} +.wd-col__8.data-v-62edcad3 { + width: 33.3333333333%; +} +.wd-col__offset-8.data-v-62edcad3 { + margin-left: 33.3333333333%; +} +.wd-col__9.data-v-62edcad3 { + width: 37.5%; +} +.wd-col__offset-9.data-v-62edcad3 { + margin-left: 37.5%; +} +.wd-col__10.data-v-62edcad3 { + width: 41.6666666667%; +} +.wd-col__offset-10.data-v-62edcad3 { + margin-left: 41.6666666667%; +} +.wd-col__11.data-v-62edcad3 { + width: 45.8333333333%; +} +.wd-col__offset-11.data-v-62edcad3 { + margin-left: 45.8333333333%; +} +.wd-col__12.data-v-62edcad3 { + width: 50%; +} +.wd-col__offset-12.data-v-62edcad3 { + margin-left: 50%; +} +.wd-col__13.data-v-62edcad3 { + width: 54.1666666667%; +} +.wd-col__offset-13.data-v-62edcad3 { + margin-left: 54.1666666667%; +} +.wd-col__14.data-v-62edcad3 { + width: 58.3333333333%; +} +.wd-col__offset-14.data-v-62edcad3 { + margin-left: 58.3333333333%; +} +.wd-col__15.data-v-62edcad3 { + width: 62.5%; +} +.wd-col__offset-15.data-v-62edcad3 { + margin-left: 62.5%; +} +.wd-col__16.data-v-62edcad3 { + width: 66.6666666667%; +} +.wd-col__offset-16.data-v-62edcad3 { + margin-left: 66.6666666667%; +} +.wd-col__17.data-v-62edcad3 { + width: 70.8333333333%; +} +.wd-col__offset-17.data-v-62edcad3 { + margin-left: 70.8333333333%; +} +.wd-col__18.data-v-62edcad3 { + width: 75%; +} +.wd-col__offset-18.data-v-62edcad3 { + margin-left: 75%; +} +.wd-col__19.data-v-62edcad3 { + width: 79.1666666667%; +} +.wd-col__offset-19.data-v-62edcad3 { + margin-left: 79.1666666667%; +} +.wd-col__20.data-v-62edcad3 { + width: 83.3333333333%; +} +.wd-col__offset-20.data-v-62edcad3 { + margin-left: 83.3333333333%; +} +.wd-col__21.data-v-62edcad3 { + width: 87.5%; +} +.wd-col__offset-21.data-v-62edcad3 { + margin-left: 87.5%; +} +.wd-col__22.data-v-62edcad3 { + width: 91.6666666667%; +} +.wd-col__offset-22.data-v-62edcad3 { + margin-left: 91.6666666667%; +} +.wd-col__23.data-v-62edcad3 { + width: 95.8333333333%; +} +.wd-col__offset-23.data-v-62edcad3 { + margin-left: 95.8333333333%; +} +.wd-col__24.data-v-62edcad3 { + width: 100%; +} +.wd-col__offset-24.data-v-62edcad3 { + margin-left: 100%; +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-form/types.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-form/types.js new file mode 100644 index 0000000..edde523 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-form/types.js @@ -0,0 +1,3 @@ +"use strict"; +const FORM_KEY = Symbol("wd-form"); +exports.FORM_KEY = FORM_KEY; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-icon/types.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-icon/types.js new file mode 100644 index 0000000..c08f813 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-icon/types.js @@ -0,0 +1,10 @@ +"use strict"; +var uni_modules_wotDesignUni_components_common_props = require("../common/props.js"); +const iconProps = { + ...uni_modules_wotDesignUni_components_common_props.baseProps, + name: uni_modules_wotDesignUni_components_common_props.makeRequiredProp(String), + color: String, + size: uni_modules_wotDesignUni_components_common_props.numericProp, + classPrefix: uni_modules_wotDesignUni_components_common_props.makeStringProp("wd-icon") +}; +exports.iconProps = iconProps; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-icon/wd-icon.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-icon/wd-icon.js new file mode 100644 index 0000000..f05fa9e --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-icon/wd-icon.js @@ -0,0 +1,55 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_common_util = require("../common/util.js"); +var uni_modules_wotDesignUni_components_wdIcon_types = require("./types.js"); +require("../common/AbortablePromise.js"); +require("../common/props.js"); +const __default__ = { + name: "wd-icon", + options: { + virtualHost: true, + addGlobalClass: true, + styleIsolation: "shared" + } +}; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + ...__default__, + props: uni_modules_wotDesignUni_components_wdIcon_types.iconProps, + emits: ["click", "touch"], + setup(__props, { emit }) { + const props = __props; + const isImage = common_vendor.computed$1(() => { + return uni_modules_wotDesignUni_components_common_util.isDef(props.name) && props.name.includes("/"); + }); + const rootClass = common_vendor.computed$1(() => { + const prefix = props.classPrefix; + return `${prefix} ${props.customClass} ${isImage.value ? "wd-icon--image" : prefix + "-" + props.name}`; + }); + const rootStyle = common_vendor.computed$1(() => { + const style = {}; + if (props.color) { + style["color"] = props.color; + } + if (props.size) { + style["font-size"] = uni_modules_wotDesignUni_components_common_util.addUnit(props.size); + } + return `${uni_modules_wotDesignUni_components_common_util.objToStyle(style)} ${props.customStyle}`; + }); + function handleClick(event) { + emit("click", event); + } + return (_ctx, _cache) => { + return common_vendor.e({ + a: common_vendor.unref(isImage) + }, common_vendor.unref(isImage) ? { + b: _ctx.name + } : {}, { + c: common_vendor.o(handleClick), + d: common_vendor.n(common_vendor.unref(rootClass)), + e: common_vendor.s(common_vendor.unref(rootStyle)) + }); + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-04f65fc7"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-icon/wd-icon.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-icon/wd-icon.json b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-icon/wd-icon.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-icon/wd-icon.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-icon/wd-icon.wxml b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-icon/wd-icon.wxml new file mode 100644 index 0000000..03129e7 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-icon/wd-icon.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-icon/wd-icon.wxss b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-icon/wd-icon.wxss new file mode 100644 index 0000000..0d4bd1f --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-icon/wd-icon.wxss @@ -0,0 +1,1102 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * UI规范基础变量 + */ +/*----------------------------------------- Theme color. start ----------------------------------------*/ +/* 主题颜色 */ +/* 辅助色 */ +/* 文字颜色(默认浅色背景下 */ +/* 暗黑模式 */ +/* 图形颜色 */ +/*----------------------------------------- Theme color. end -------------------------------------------*/ +/*-------------------------------- Theme color application size. start --------------------------------*/ +/* 文字字号 */ +/* 文字字重 */ +/* 尺寸 */ +/*-------------------------------- Theme color application size. end --------------------------------*/ +/* component var */ +/* action-sheet */ +/* badge */ +/* button */ +/* cell */ +/* calendar */ +/* checkbox */ +/* collapse */ +/* divider */ +/* drop-menu */ +/* input-number */ +/* input */ +/* textarea */ +/* loadmore */ +/* message-box */ +/* notice-bar */ +/* pagination */ +/* picker */ +/* col-picker */ +/* overlay */ +/* popup */ +/* progress */ +/* radio */ +/* search */ +/* slider */ +/* sort-button */ +/* steps */ +/* switch */ +/* tabs */ +/* tag */ +/* toast */ +/* loading */ +/* tooltip */ +/* popover */ +/* grid-item */ +/* statustip */ +/* card */ +/* upload */ +/* curtain */ +/* notify */ +/* skeleton */ +/* circle */ +/* swiper */ +/* swiper-nav */ +/* segmented */ +/* tabbar */ +/* tabbar-item */ +/* navbar */ +/* navbar-capsule */ +/* table */ +/* sidebar */ +/* sidebar-item */ +/* fab */ +/* count-down */ +/* keyboard */ +/* number-keyboard */ +/* passwod-input */ +/* form-item */ +/* backtop */ +/* index-bar */ +/* text */ +/* video-preview */ +/* img-cropper */ +/* floating-panel */ +/* signature */ +/** + * 混合宏 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * BEM,定义块(b) + */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 此方法用于生成穿透样式 */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 定义状态(m) */ +/* 定义状态(m) */ +/* 对于需要需要嵌套在 m 底下的 e,调用这个混合宏,一般在切换整个组件的状态,如切换颜色的时候 */ +/* 状态,生成 is-$state 类名 */ +/** + * 常用混合宏 + */ +/* 单行超出隐藏 */ +/* 多行超出隐藏 */ +/* 清除浮动 */ +/* 0.5px 边框 指定方向*/ +/* 0.5px 边框 环绕 */ +/** + * 三角形实现尖角样式,适用于背景透明情况 + * @param $size 三角形高,底边为 $size * 2 + * @param $bg 三角形背景颜色 + */ +/** + * 正方形实现尖角样式,适用于背景不透明情况 + * @param $size 正方形边长 + * @param $bg 正方形背景颜色 + * @param $z-index z-index属性值,不得大于外部包裹器 + * @param $box-shadow 阴影 +*/ +@font-face { + font-family: "wd-icons"; + src: url("https://at.alicdn.com/t/c/font_4245058_s5cpwl25n7o.woff2?t=1696817709651") format("woff2"), url("https://at.alicdn.com/t/c/font_4245058_s5cpwl25n7o.woff?t=1696817709651") format("woff"), url("https://at.alicdn.com/t/c/font_4245058_s5cpwl25n7o.ttf?t=1696817709651") format("truetype"); + font-weight: normal; + font-style: normal; +} +.wd-icon.data-v-04f65fc7 { + display: inline-block; + font-family: "wd-icons" !important; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.wd-icon.data-v-04f65fc7::before { + display: inline-block; +} +.wd-icon--image.data-v-04f65fc7 { + width: 1em; + height: 1em; +} +.wd-icon__image.data-v-04f65fc7 { + width: 100%; + height: 100%; +} +.wd-icon-usergroup-clear.data-v-04f65fc7:before { + content: "\e739"; +} +.wd-icon-user-circle.data-v-04f65fc7:before { + content: "\e73a"; +} +.wd-icon-user-talk.data-v-04f65fc7:before { + content: "\e73b"; +} +.wd-icon-user-clear.data-v-04f65fc7:before { + content: "\e73c"; +} +.wd-icon-user.data-v-04f65fc7:before { + content: "\e73d"; +} +.wd-icon-usergroup-add.data-v-04f65fc7:before { + content: "\e73e"; +} +.wd-icon-usergroup.data-v-04f65fc7:before { + content: "\e73f"; +} +.wd-icon-user-add.data-v-04f65fc7:before { + content: "\e740"; +} +.wd-icon-user-avatar.data-v-04f65fc7:before { + content: "\e741"; +} +.wd-icon-pointing-hand.data-v-04f65fc7:before { + content: "\e742"; +} +.wd-icon-cursor.data-v-04f65fc7:before { + content: "\e743"; +} +.wd-icon-fullsreen.data-v-04f65fc7:before { + content: "\e72c"; +} +.wd-icon-cloud-download.data-v-04f65fc7:before { + content: "\e72d"; +} +.wd-icon-chevron-down-rectangle.data-v-04f65fc7:before { + content: "\e72e"; +} +.wd-icon-edit.data-v-04f65fc7:before { + content: "\e72f"; +} +.wd-icon-fullscreen-exit.data-v-04f65fc7:before { + content: "\e730"; +} +.wd-icon-circle1.data-v-04f65fc7:before { + content: "\e731"; +} +.wd-icon-close-normal.data-v-04f65fc7:before { + content: "\e732"; +} +.wd-icon-browse.data-v-04f65fc7:before { + content: "\e733"; +} +.wd-icon-browse-off.data-v-04f65fc7:before { + content: "\e734"; +} +.wd-icon-chevron-up-rectangle.data-v-04f65fc7:before { + content: "\e735"; +} +.wd-icon-add-rectangle.data-v-04f65fc7:before { + content: "\e736"; +} +.wd-icon-add1.data-v-04f65fc7:before { + content: "\e737"; +} +.wd-icon-add-circle1.data-v-04f65fc7:before { + content: "\e738"; +} +.wd-icon-download1.data-v-04f65fc7:before { + content: "\e71c"; +} +.wd-icon-link.data-v-04f65fc7:before { + content: "\e71d"; +} +.wd-icon-edit-1.data-v-04f65fc7:before { + content: "\e71e"; +} +.wd-icon-jump.data-v-04f65fc7:before { + content: "\e71f"; +} +.wd-icon-chevron-down-circle.data-v-04f65fc7:before { + content: "\e720"; +} +.wd-icon-delete1.data-v-04f65fc7:before { + content: "\e721"; +} +.wd-icon-filter-clear.data-v-04f65fc7:before { + content: "\e722"; +} +.wd-icon-check-rectangle-filled.data-v-04f65fc7:before { + content: "\e723"; +} +.wd-icon-minus-circle-filled.data-v-04f65fc7:before { + content: "\e724"; +} +.wd-icon-play.data-v-04f65fc7:before { + content: "\e725"; +} +.wd-icon-pause-circle-filled.data-v-04f65fc7:before { + content: "\e726"; +} +.wd-icon-filter1.data-v-04f65fc7:before { + content: "\e727"; +} +.wd-icon-move.data-v-04f65fc7:before { + content: "\e728"; +} +.wd-icon-login.data-v-04f65fc7:before { + content: "\e729"; +} +.wd-icon-minus-circle.data-v-04f65fc7:before { + content: "\e72a"; +} +.wd-icon-close-circle.data-v-04f65fc7:before { + content: "\e72b"; +} +.wd-icon-logout.data-v-04f65fc7:before { + content: "\e70b"; +} +.wd-icon-search1.data-v-04f65fc7:before { + content: "\e70c"; +} +.wd-icon-pause-circle.data-v-04f65fc7:before { + content: "\e70d"; +} +.wd-icon-play-circle.data-v-04f65fc7:before { + content: "\e70e"; +} +.wd-icon-more1.data-v-04f65fc7:before { + content: "\e70f"; +} +.wd-icon-minus-rectangle.data-v-04f65fc7:before { + content: "\e710"; +} +.wd-icon-stop.data-v-04f65fc7:before { + content: "\e711"; +} +.wd-icon-scan1.data-v-04f65fc7:before { + content: "\e712"; +} +.wd-icon-close-rectangle.data-v-04f65fc7:before { + content: "\e713"; +} +.wd-icon-rollback.data-v-04f65fc7:before { + content: "\e714"; +} +.wd-icon-a-order-adjustmentcolumn.data-v-04f65fc7:before { + content: "\e715"; +} +.wd-icon-pause.data-v-04f65fc7:before { + content: "\e716"; +} +.wd-icon-ellipsis.data-v-04f65fc7:before { + content: "\e717"; +} +.wd-icon-cloud-upload.data-v-04f65fc7:before { + content: "\e718"; +} +.wd-icon-stop-circle-filled.data-v-04f65fc7:before { + content: "\e719"; +} +.wd-icon-clear.data-v-04f65fc7:before { + content: "\e71a"; +} +.wd-icon-remove.data-v-04f65fc7:before { + content: "\e71b"; +} +.wd-icon-zoom-out.data-v-04f65fc7:before { + content: "\e6fb"; +} +.wd-icon-thumb-down.data-v-04f65fc7:before { + content: "\e6fc"; +} +.wd-icon-setting1.data-v-04f65fc7:before { + content: "\e6fd"; +} +.wd-icon-save.data-v-04f65fc7:before { + content: "\e6fe"; +} +.wd-icon-unfold-more.data-v-04f65fc7:before { + content: "\e6ff"; +} +.wd-icon-zoom-in.data-v-04f65fc7:before { + content: "\e700"; +} +.wd-icon-thumb-up.data-v-04f65fc7:before { + content: "\e701"; +} +.wd-icon-unfold-less.data-v-04f65fc7:before { + content: "\e702"; +} +.wd-icon-play-circle-filled.data-v-04f65fc7:before { + content: "\e703"; +} +.wd-icon-poweroff.data-v-04f65fc7:before { + content: "\e704"; +} +.wd-icon-share.data-v-04f65fc7:before { + content: "\e705"; +} +.wd-icon-refresh1.data-v-04f65fc7:before { + content: "\e706"; +} +.wd-icon-link-unlink.data-v-04f65fc7:before { + content: "\e707"; +} +.wd-icon-upload.data-v-04f65fc7:before { + content: "\e708"; +} +.wd-icon-rectangle.data-v-04f65fc7:before { + content: "\e709"; +} +.wd-icon-stop-circle.data-v-04f65fc7:before { + content: "\e70a"; +} +.wd-icon-backtop-rectangle.data-v-04f65fc7:before { + content: "\e6ea"; +} +.wd-icon-caret-down.data-v-04f65fc7:before { + content: "\e6eb"; +} +.wd-icon-arrow-left1.data-v-04f65fc7:before { + content: "\e6ec"; +} +.wd-icon-help-circle.data-v-04f65fc7:before { + content: "\e6ed"; +} +.wd-icon-help-circle-filled.data-v-04f65fc7:before { + content: "\e6ee"; +} +.wd-icon-time-filled.data-v-04f65fc7:before { + content: "\e6ef"; +} +.wd-icon-close-circle-filled.data-v-04f65fc7:before { + content: "\e6f0"; +} +.wd-icon-info-circle.data-v-04f65fc7:before { + content: "\e6f1"; +} +.wd-icon-info-circle-filled.data-v-04f65fc7:before { + content: "\e6f2"; +} +.wd-icon-check1.data-v-04f65fc7:before { + content: "\e6f3"; +} +.wd-icon-help.data-v-04f65fc7:before { + content: "\e6f4"; +} +.wd-icon-error.data-v-04f65fc7:before { + content: "\e6f5"; +} +.wd-icon-check-circle.data-v-04f65fc7:before { + content: "\e6f6"; +} +.wd-icon-error-circle-filled.data-v-04f65fc7:before { + content: "\e6f7"; +} +.wd-icon-error-circle.data-v-04f65fc7:before { + content: "\e6f8"; +} +.wd-icon-check-rectangle.data-v-04f65fc7:before { + content: "\e6f9"; +} +.wd-icon-check-circle-filled.data-v-04f65fc7:before { + content: "\e6fa"; +} +.wd-icon-chevron-up.data-v-04f65fc7:before { + content: "\e6da"; +} +.wd-icon-chevron-up-circle.data-v-04f65fc7:before { + content: "\e6db"; +} +.wd-icon-chevron-right.data-v-04f65fc7:before { + content: "\e6dc"; +} +.wd-icon-arrow-down-rectangle.data-v-04f65fc7:before { + content: "\e6dd"; +} +.wd-icon-caret-up-small.data-v-04f65fc7:before { + content: "\e6de"; +} +.wd-icon-chevron-right-rectangle.data-v-04f65fc7:before { + content: "\e6df"; +} +.wd-icon-caret-right-small.data-v-04f65fc7:before { + content: "\e6e0"; +} +.wd-icon-arrow-right1.data-v-04f65fc7:before { + content: "\e6e1"; +} +.wd-icon-backtop.data-v-04f65fc7:before { + content: "\e6e2"; +} +.wd-icon-arrow-up1.data-v-04f65fc7:before { + content: "\e6e3"; +} +.wd-icon-caret-up.data-v-04f65fc7:before { + content: "\e6e4"; +} +.wd-icon-backward.data-v-04f65fc7:before { + content: "\e6e5"; +} +.wd-icon-arrow-down1.data-v-04f65fc7:before { + content: "\e6e6"; +} +.wd-icon-chevron-left.data-v-04f65fc7:before { + content: "\e6e7"; +} +.wd-icon-caret-right.data-v-04f65fc7:before { + content: "\e6e8"; +} +.wd-icon-caret-left.data-v-04f65fc7:before { + content: "\e6e9"; +} +.wd-icon-page-last.data-v-04f65fc7:before { + content: "\e6c9"; +} +.wd-icon-next.data-v-04f65fc7:before { + content: "\e6ca"; +} +.wd-icon-swap.data-v-04f65fc7:before { + content: "\e6cb"; +} +.wd-icon-round.data-v-04f65fc7:before { + content: "\e6cc"; +} +.wd-icon-previous.data-v-04f65fc7:before { + content: "\e6cd"; +} +.wd-icon-enter.data-v-04f65fc7:before { + content: "\e6ce"; +} +.wd-icon-chevron-down.data-v-04f65fc7:before { + content: "\e6cf"; +} +.wd-icon-caret-down-small.data-v-04f65fc7:before { + content: "\e6d0"; +} +.wd-icon-swap-right.data-v-04f65fc7:before { + content: "\e6d1"; +} +.wd-icon-chevron-left-circle.data-v-04f65fc7:before { + content: "\e6d2"; +} +.wd-icon-caret-left-small.data-v-04f65fc7:before { + content: "\e6d3"; +} +.wd-icon-chevron-right-circle.data-v-04f65fc7:before { + content: "\e6d4"; +} +.wd-icon-a-chevron-leftdouble.data-v-04f65fc7:before { + content: "\e6d5"; +} +.wd-icon-chevron-left-rectangle.data-v-04f65fc7:before { + content: "\e6d6"; +} +.wd-icon-a-chevron-rightdouble.data-v-04f65fc7:before { + content: "\e6d7"; +} +.wd-icon-page-first.data-v-04f65fc7:before { + content: "\e6d8"; +} +.wd-icon-forward.data-v-04f65fc7:before { + content: "\e6d9"; +} +.wd-icon-view-column.data-v-04f65fc7:before { + content: "\e6b9"; +} +.wd-icon-view-module.data-v-04f65fc7:before { + content: "\e6ba"; +} +.wd-icon-format-vertical-align-right.data-v-04f65fc7:before { + content: "\e6bb"; +} +.wd-icon-view-list.data-v-04f65fc7:before { + content: "\e6bc"; +} +.wd-icon-order-descending.data-v-04f65fc7:before { + content: "\e6bd"; +} +.wd-icon-format-horizontal-align-bottom.data-v-04f65fc7:before { + content: "\e6be"; +} +.wd-icon-queue.data-v-04f65fc7:before { + content: "\e6bf"; +} +.wd-icon-menu-fold.data-v-04f65fc7:before { + content: "\e6c0"; +} +.wd-icon-menu-unfold.data-v-04f65fc7:before { + content: "\e6c1"; +} +.wd-icon-format-horizontal-align-top.data-v-04f65fc7:before { + content: "\e6c2"; +} +.wd-icon-a-rootlist.data-v-04f65fc7:before { + content: "\e6c3"; +} +.wd-icon-order-ascending.data-v-04f65fc7:before { + content: "\e6c4"; +} +.wd-icon-format-vertical-align-left.data-v-04f65fc7:before { + content: "\e6c5"; +} +.wd-icon-format-horizontal-align-center.data-v-04f65fc7:before { + content: "\e6c6"; +} +.wd-icon-format-vertical-align-center.data-v-04f65fc7:before { + content: "\e6c7"; +} +.wd-icon-swap-left.data-v-04f65fc7:before { + content: "\e6c8"; +} +.wd-icon-flag.data-v-04f65fc7:before { + content: "\e6aa"; +} +.wd-icon-code.data-v-04f65fc7:before { + content: "\e6ab"; +} +.wd-icon-cart.data-v-04f65fc7:before { + content: "\e6ac"; +} +.wd-icon-attach.data-v-04f65fc7:before { + content: "\e6ad"; +} +.wd-icon-chart.data-v-04f65fc7:before { + content: "\e6ae"; +} +.wd-icon-creditcard.data-v-04f65fc7:before { + content: "\e6af"; +} +.wd-icon-calendar.data-v-04f65fc7:before { + content: "\e6b0"; +} +.wd-icon-app.data-v-04f65fc7:before { + content: "\e6b1"; +} +.wd-icon-books.data-v-04f65fc7:before { + content: "\e6b2"; +} +.wd-icon-barcode.data-v-04f65fc7:before { + content: "\e6b3"; +} +.wd-icon-chart-pie.data-v-04f65fc7:before { + content: "\e6b4"; +} +.wd-icon-chart-bar.data-v-04f65fc7:before { + content: "\e6b5"; +} +.wd-icon-chart-bubble.data-v-04f65fc7:before { + content: "\e6b6"; +} +.wd-icon-bulletpoint.data-v-04f65fc7:before { + content: "\e6b7"; +} +.wd-icon-bianjiliebiao.data-v-04f65fc7:before { + content: "\e6b8"; +} +.wd-icon-image.data-v-04f65fc7:before { + content: "\e69a"; +} +.wd-icon-laptop.data-v-04f65fc7:before { + content: "\e69b"; +} +.wd-icon-hourglass.data-v-04f65fc7:before { + content: "\e69c"; +} +.wd-icon-call.data-v-04f65fc7:before { + content: "\e69d"; +} +.wd-icon-mobile-vibrate.data-v-04f65fc7:before { + content: "\e69e"; +} +.wd-icon-mail.data-v-04f65fc7:before { + content: "\e69f"; +} +.wd-icon-notification-filled.data-v-04f65fc7:before { + content: "\e6a0"; +} +.wd-icon-desktop.data-v-04f65fc7:before { + content: "\e6a1"; +} +.wd-icon-history.data-v-04f65fc7:before { + content: "\e6a2"; +} +.wd-icon-discount-filled.data-v-04f65fc7:before { + content: "\e6a3"; +} +.wd-icon-dashboard.data-v-04f65fc7:before { + content: "\e6a4"; +} +.wd-icon-discount.data-v-04f65fc7:before { + content: "\e6a5"; +} +.wd-icon-heart-filled.data-v-04f65fc7:before { + content: "\e6a6"; +} +.wd-icon-chat1.data-v-04f65fc7:before { + content: "\e6a7"; +} +.wd-icon-a-controlplatform.data-v-04f65fc7:before { + content: "\e6a8"; +} +.wd-icon-gift.data-v-04f65fc7:before { + content: "\e6a9"; +} +.wd-icon-photo.data-v-04f65fc7:before { + content: "\e692"; +} +.wd-icon-play-circle-stroke.data-v-04f65fc7:before { + content: "\e693"; +} +.wd-icon-notification.data-v-04f65fc7:before { + content: "\e694"; +} +.wd-icon-cloud.data-v-04f65fc7:before { + content: "\e695"; +} +.wd-icon-gender-female.data-v-04f65fc7:before { + content: "\e696"; +} +.wd-icon-fork.data-v-04f65fc7:before { + content: "\e697"; +} +.wd-icon-layers.data-v-04f65fc7:before { + content: "\e698"; +} +.wd-icon-lock-off.data-v-04f65fc7:before { + content: "\e699"; +} +.wd-icon-location.data-v-04f65fc7:before { + content: "\e68a"; +} +.wd-icon-mobile.data-v-04f65fc7:before { + content: "\e68b"; +} +.wd-icon-qrcode.data-v-04f65fc7:before { + content: "\e68c"; +} +.wd-icon-home1.data-v-04f65fc7:before { + content: "\e68d"; +} +.wd-icon-time.data-v-04f65fc7:before { + content: "\e68e"; +} +.wd-icon-heart.data-v-04f65fc7:before { + content: "\e68f"; +} +.wd-icon-lock-on.data-v-04f65fc7:before { + content: "\e690"; +} +.wd-icon-print.data-v-04f65fc7:before { + content: "\e691"; +} +.wd-icon-slash.data-v-04f65fc7:before { + content: "\e67a"; +} +.wd-icon-usb.data-v-04f65fc7:before { + content: "\e67b"; +} +.wd-icon-tools.data-v-04f65fc7:before { + content: "\e67c"; +} +.wd-icon-wifi.data-v-04f65fc7:before { + content: "\e67d"; +} +.wd-icon-star-filled.data-v-04f65fc7:before { + content: "\e67e"; +} +.wd-icon-server.data-v-04f65fc7:before { + content: "\e67f"; +} +.wd-icon-sound.data-v-04f65fc7:before { + content: "\e680"; +} +.wd-icon-a-precisemonitor.data-v-04f65fc7:before { + content: "\e681"; +} +.wd-icon-service.data-v-04f65fc7:before { + content: "\e682"; +} +.wd-icon-tips.data-v-04f65fc7:before { + content: "\e683"; +} +.wd-icon-pin.data-v-04f65fc7:before { + content: "\e684"; +} +.wd-icon-secured.data-v-04f65fc7:before { + content: "\e685"; +} +.wd-icon-star.data-v-04f65fc7:before { + content: "\e686"; +} +.wd-icon-gender-male.data-v-04f65fc7:before { + content: "\e687"; +} +.wd-icon-shop.data-v-04f65fc7:before { + content: "\e688"; +} +.wd-icon-money-circle.data-v-04f65fc7:before { + content: "\e689"; +} +.wd-icon-file-word.data-v-04f65fc7:before { + content: "\e66a"; +} +.wd-icon-file-unknown.data-v-04f65fc7:before { + content: "\e66b"; +} +.wd-icon-folder-open.data-v-04f65fc7:before { + content: "\e66c"; +} +.wd-icon-file-pdf.data-v-04f65fc7:before { + content: "\e66d"; +} +.wd-icon-folder.data-v-04f65fc7:before { + content: "\e66e"; +} +.wd-icon-folder-add.data-v-04f65fc7:before { + content: "\e66f"; +} +.wd-icon-file.data-v-04f65fc7:before { + content: "\e670"; +} +.wd-icon-file-image.data-v-04f65fc7:before { + content: "\e671"; +} +.wd-icon-file-powerpoint.data-v-04f65fc7:before { + content: "\e672"; +} +.wd-icon-file-add.data-v-04f65fc7:before { + content: "\e673"; +} +.wd-icon-file-icon.data-v-04f65fc7:before { + content: "\e674"; +} +.wd-icon-file-paste.data-v-04f65fc7:before { + content: "\e675"; +} +.wd-icon-file-excel.data-v-04f65fc7:before { + content: "\e676"; +} +.wd-icon-file-copy.data-v-04f65fc7:before { + content: "\e677"; +} +.wd-icon-video1.data-v-04f65fc7:before { + content: "\e678"; +} +.wd-icon-wallet.data-v-04f65fc7:before { + content: "\e679"; +} +.wd-icon-ie.data-v-04f65fc7:before { + content: "\e65d"; +} +.wd-icon-logo-codepen.data-v-04f65fc7:before { + content: "\e65e"; +} +.wd-icon-github-filled.data-v-04f65fc7:before { + content: "\e65f"; +} +.wd-icon-ie-filled.data-v-04f65fc7:before { + content: "\e660"; +} +.wd-icon-apple.data-v-04f65fc7:before { + content: "\e661"; +} +.wd-icon-windows-filled.data-v-04f65fc7:before { + content: "\e662"; +} +.wd-icon-internet.data-v-04f65fc7:before { + content: "\e663"; +} +.wd-icon-github.data-v-04f65fc7:before { + content: "\e664"; +} +.wd-icon-windows.data-v-04f65fc7:before { + content: "\e665"; +} +.wd-icon-apple-filled.data-v-04f65fc7:before { + content: "\e666"; +} +.wd-icon-chrome-filled.data-v-04f65fc7:before { + content: "\e667"; +} +.wd-icon-chrome.data-v-04f65fc7:before { + content: "\e668"; +} +.wd-icon-android.data-v-04f65fc7:before { + content: "\e669"; +} +.wd-icon-edit-outline.data-v-04f65fc7:before { + content: "\e64a"; +} +.wd-icon-detection.data-v-04f65fc7:before { + content: "\e64b"; +} +.wd-icon-check-outline.data-v-04f65fc7:before { + content: "\e64c"; +} +.wd-icon-close.data-v-04f65fc7:before { + content: "\e64d"; +} +.wd-icon-check.data-v-04f65fc7:before { + content: "\e64e"; +} +.wd-icon-arrow-left.data-v-04f65fc7:before { + content: "\e64f"; +} +.wd-icon-computer.data-v-04f65fc7:before { + content: "\e650"; +} +.wd-icon-clock.data-v-04f65fc7:before { + content: "\e651"; +} +.wd-icon-check-bold.data-v-04f65fc7:before { + content: "\e652"; +} +.wd-icon-bags.data-v-04f65fc7:before { + content: "\e653"; +} +.wd-icon-arrow-down.data-v-04f65fc7:before { + content: "\e654"; +} +.wd-icon-arrow-right.data-v-04f65fc7:before { + content: "\e655"; +} +.wd-icon-circle.data-v-04f65fc7:before { + content: "\e656"; +} +.wd-icon-arrow-thin-down.data-v-04f65fc7:before { + content: "\e657"; +} +.wd-icon-camera.data-v-04f65fc7:before { + content: "\e658"; +} +.wd-icon-close-bold.data-v-04f65fc7:before { + content: "\e659"; +} +.wd-icon-add-circle.data-v-04f65fc7:before { + content: "\e65a"; +} +.wd-icon-arrow-thin-up.data-v-04f65fc7:before { + content: "\e65b"; +} +.wd-icon-add.data-v-04f65fc7:before { + content: "\e65c"; +} +.wd-icon-keyboard-delete.data-v-04f65fc7:before { + content: "\e634"; +} +.wd-icon-transfer.data-v-04f65fc7:before { + content: "\e635"; +} +.wd-icon-eye-close.data-v-04f65fc7:before { + content: "\e61f"; +} +.wd-icon-delete.data-v-04f65fc7:before { + content: "\e61e"; +} +.wd-icon-download.data-v-04f65fc7:before { + content: "\e636"; +} +.wd-icon-picture.data-v-04f65fc7:before { + content: "\e637"; +} +.wd-icon-refresh.data-v-04f65fc7:before { + content: "\e638"; +} +.wd-icon-read.data-v-04f65fc7:before { + content: "\e639"; +} +.wd-icon-note.data-v-04f65fc7:before { + content: "\e63a"; +} +.wd-icon-phone.data-v-04f65fc7:before { + content: "\e63b"; +} +.wd-icon-lenovo.data-v-04f65fc7:before { + content: "\e63c"; +} +.wd-icon-home.data-v-04f65fc7:before { + content: "\e63d"; +} +.wd-icon-search.data-v-04f65fc7:before { + content: "\e63e"; +} +.wd-icon-fill-camera.data-v-04f65fc7:before { + content: "\e63f"; +} +.wd-icon-fill-arrow-down.data-v-04f65fc7:before { + content: "\e640"; +} +.wd-icon-arrow-up.data-v-04f65fc7:before { + content: "\e61d"; +} +.wd-icon-delete-thin.data-v-04f65fc7:before { + content: "\e641"; +} +.wd-icon-filter.data-v-04f65fc7:before { + content: "\e642"; +} +.wd-icon-evaluation.data-v-04f65fc7:before { + content: "\e643"; +} +.wd-icon-close-outline.data-v-04f65fc7:before { + content: "\e644"; +} +.wd-icon-dong.data-v-04f65fc7:before { + content: "\e645"; +} +.wd-icon-error-fill.data-v-04f65fc7:before { + content: "\e646"; +} +.wd-icon-chat.data-v-04f65fc7:before { + content: "\e647"; +} +.wd-icon-decrease.data-v-04f65fc7:before { + content: "\e648"; +} +.wd-icon-copy.data-v-04f65fc7:before { + content: "\e649"; +} +.wd-icon-setting.data-v-04f65fc7:before { + content: "\e621"; +} +.wd-icon-subscribe.data-v-04f65fc7:before { + content: "\e622"; +} +.wd-icon-jdm.data-v-04f65fc7:before { + content: "\e620"; +} +.wd-icon-spool.data-v-04f65fc7:before { + content: "\e623"; +} +.wd-icon-warning.data-v-04f65fc7:before { + content: "\e624"; +} +.wd-icon-wifi-error.data-v-04f65fc7:before { + content: "\e625"; +} +.wd-icon-star-on.data-v-04f65fc7:before { + content: "\e626"; +} +.wd-icon-rotate.data-v-04f65fc7:before { + content: "\e627"; +} +.wd-icon-translate-bold.data-v-04f65fc7:before { + content: "\e628"; +} +.wd-icon-keyboard-collapse.data-v-04f65fc7:before { + content: "\e629"; +} +.wd-icon-keywords.data-v-04f65fc7:before { + content: "\e62a"; +} +.wd-icon-scan.data-v-04f65fc7:before { + content: "\e62b"; +} +.wd-icon-view.data-v-04f65fc7:before { + content: "\e62c"; +} +.wd-icon-phone-compute.data-v-04f65fc7:before { + content: "\e62d"; +} +.wd-icon-video.data-v-04f65fc7:before { + content: "\e62e"; +} +.wd-icon-thin-arrow-left.data-v-04f65fc7:before { + content: "\e62f"; +} +.wd-icon-goods.data-v-04f65fc7:before { + content: "\e630"; +} +.wd-icon-list.data-v-04f65fc7:before { + content: "\e631"; +} +.wd-icon-warn-bold.data-v-04f65fc7:before { + content: "\e632"; +} +.wd-icon-more.data-v-04f65fc7:before { + content: "\e633"; +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-icon/wd-icons.ttf b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-icon/wd-icons.ttf new file mode 100644 index 0000000..7abffe1 Binary files /dev/null and b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-icon/wd-icons.ttf differ diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-img/types.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-img/types.js new file mode 100644 index 0000000..39e073b --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-img/types.js @@ -0,0 +1,17 @@ +"use strict"; +var uni_modules_wotDesignUni_components_common_props = require("../common/props.js"); +const imgProps = { + ...uni_modules_wotDesignUni_components_common_props.baseProps, + customImage: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + src: String, + previewSrc: String, + round: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + mode: uni_modules_wotDesignUni_components_common_props.makeStringProp("scaleToFill"), + lazyLoad: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + width: uni_modules_wotDesignUni_components_common_props.numericProp, + height: uni_modules_wotDesignUni_components_common_props.numericProp, + radius: uni_modules_wotDesignUni_components_common_props.numericProp, + enablePreview: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + showMenuByLongpress: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false) +}; +exports.imgProps = imgProps; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-img/wd-img.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-img/wd-img.js new file mode 100644 index 0000000..7736028 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-img/wd-img.js @@ -0,0 +1,77 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_common_util = require("../common/util.js"); +var uni_modules_wotDesignUni_components_wdImg_types = require("./types.js"); +require("../common/AbortablePromise.js"); +require("../common/props.js"); +const __default__ = { + name: "wd-img", + options: { + virtualHost: true, + addGlobalClass: true, + styleIsolation: "shared" + } +}; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + ...__default__, + props: uni_modules_wotDesignUni_components_wdImg_types.imgProps, + emits: ["error", "click", "load"], + setup(__props, { emit }) { + const props = __props; + const rootStyle = common_vendor.computed$1(() => { + const style = {}; + if (uni_modules_wotDesignUni_components_common_util.isDef(props.height)) { + style["height"] = uni_modules_wotDesignUni_components_common_util.addUnit(props.height); + } + if (uni_modules_wotDesignUni_components_common_util.isDef(props.width)) { + style["width"] = uni_modules_wotDesignUni_components_common_util.addUnit(props.width); + } + if (uni_modules_wotDesignUni_components_common_util.isDef(props.radius)) { + style["border-radius"] = uni_modules_wotDesignUni_components_common_util.addUnit(props.radius); + style["overflow"] = "hidden"; + } + return `${uni_modules_wotDesignUni_components_common_util.objToStyle(style)}${props.customStyle}`; + }); + const rootClass = common_vendor.computed$1(() => { + return `wd-img ${props.round ? "is-round" : ""} ${props.customClass}`; + }); + const status = common_vendor.ref("loading"); + function handleError(event) { + status.value = "error"; + emit("error", event); + } + function handleClick(event) { + if (props.enablePreview && props.src && status.value == "success") { + common_vendor.index.previewImage({ + urls: [props.previewSrc || props.src] + }); + } + emit("click", event); + } + function handleLoad(event) { + status.value = "success"; + emit("load", event); + } + return (_ctx, _cache) => { + return common_vendor.e({ + a: common_vendor.n(`wd-img__image ${_ctx.customImage}`), + b: common_vendor.s(status.value !== "success" ? "width: 0;height: 0;" : ""), + c: _ctx.src, + d: _ctx.mode, + e: _ctx.showMenuByLongpress, + f: _ctx.lazyLoad, + g: common_vendor.o(handleLoad), + h: common_vendor.o(handleError), + i: status.value === "loading" + }, status.value === "loading" ? {} : {}, { + j: status.value === "error" + }, status.value === "error" ? {} : {}, { + k: common_vendor.n(common_vendor.unref(rootClass)), + l: common_vendor.o(handleClick), + m: common_vendor.s(common_vendor.unref(rootStyle)) + }); + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-37510d1a"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-img/wd-img.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-img/wd-img.json b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-img/wd-img.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-img/wd-img.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-img/wd-img.wxml b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-img/wd-img.wxml new file mode 100644 index 0000000..939d32c --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-img/wd-img.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-img/wd-img.wxss b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-img/wd-img.wxss new file mode 100644 index 0000000..a7ed722 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-img/wd-img.wxss @@ -0,0 +1,203 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +/** + * 混合宏 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * BEM,定义块(b) + */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 此方法用于生成穿透样式 */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 定义状态(m) */ +/* 定义状态(m) */ +/* 对于需要需要嵌套在 m 底下的 e,调用这个混合宏,一般在切换整个组件的状态,如切换颜色的时候 */ +/* 状态,生成 is-$state 类名 */ +/** + * 常用混合宏 + */ +/* 单行超出隐藏 */ +/* 多行超出隐藏 */ +/* 清除浮动 */ +/* 0.5px 边框 指定方向*/ +/* 0.5px 边框 环绕 */ +/** + * 三角形实现尖角样式,适用于背景透明情况 + * @param $size 三角形高,底边为 $size * 2 + * @param $bg 三角形背景颜色 + */ +/** + * 正方形实现尖角样式,适用于背景不透明情况 + * @param $size 正方形边长 + * @param $bg 正方形背景颜色 + * @param $z-index z-index属性值,不得大于外部包裹器 + * @param $box-shadow 阴影 +*/ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * UI规范基础变量 + */ +/*----------------------------------------- Theme color. start ----------------------------------------*/ +/* 主题颜色 */ +/* 辅助色 */ +/* 文字颜色(默认浅色背景下 */ +/* 暗黑模式 */ +/* 图形颜色 */ +/*----------------------------------------- Theme color. end -------------------------------------------*/ +/*-------------------------------- Theme color application size. start --------------------------------*/ +/* 文字字号 */ +/* 文字字重 */ +/* 尺寸 */ +/*-------------------------------- Theme color application size. end --------------------------------*/ +/* component var */ +/* action-sheet */ +/* badge */ +/* button */ +/* cell */ +/* calendar */ +/* checkbox */ +/* collapse */ +/* divider */ +/* drop-menu */ +/* input-number */ +/* input */ +/* textarea */ +/* loadmore */ +/* message-box */ +/* notice-bar */ +/* pagination */ +/* picker */ +/* col-picker */ +/* overlay */ +/* popup */ +/* progress */ +/* radio */ +/* search */ +/* slider */ +/* sort-button */ +/* steps */ +/* switch */ +/* tabs */ +/* tag */ +/* toast */ +/* loading */ +/* tooltip */ +/* popover */ +/* grid-item */ +/* statustip */ +/* card */ +/* upload */ +/* curtain */ +/* notify */ +/* skeleton */ +/* circle */ +/* swiper */ +/* swiper-nav */ +/* segmented */ +/* tabbar */ +/* tabbar-item */ +/* navbar */ +/* navbar-capsule */ +/* table */ +/* sidebar */ +/* sidebar-item */ +/* fab */ +/* count-down */ +/* keyboard */ +/* number-keyboard */ +/* passwod-input */ +/* form-item */ +/* backtop */ +/* index-bar */ +/* text */ +/* video-preview */ +/* img-cropper */ +/* floating-panel */ +/* signature */ +.wd-img.data-v-37510d1a { + position: relative; + display: inline-block; +} +.wd-img__image.data-v-37510d1a { + display: block; + width: 100%; + height: 100%; + box-sizing: border-box; +} +.wd-img.is-round.data-v-37510d1a { + overflow: hidden; + border-radius: 50%; +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-input/types.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-input/types.js new file mode 100644 index 0000000..4a578b0 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-input/types.js @@ -0,0 +1,49 @@ +"use strict"; +var uni_modules_wotDesignUni_components_common_props = require("../common/props.js"); +const inputProps = { + ...uni_modules_wotDesignUni_components_common_props.baseProps, + customInputClass: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + customLabelClass: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + placeholder: String, + placeholderStyle: String, + placeholderClass: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + cursorSpacing: uni_modules_wotDesignUni_components_common_props.makeNumberProp(0), + cursor: uni_modules_wotDesignUni_components_common_props.makeNumberProp(-1), + selectionStart: uni_modules_wotDesignUni_components_common_props.makeNumberProp(-1), + selectionEnd: uni_modules_wotDesignUni_components_common_props.makeNumberProp(-1), + adjustPosition: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(true), + holdKeyboard: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + confirmType: uni_modules_wotDesignUni_components_common_props.makeStringProp("done"), + confirmHold: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + focus: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + type: uni_modules_wotDesignUni_components_common_props.makeStringProp("text"), + maxlength: { + type: Number, + default: -1 + }, + disabled: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + alwaysEmbed: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + alignRight: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + modelValue: uni_modules_wotDesignUni_components_common_props.makeNumericProp(""), + showPassword: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + clearable: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + readonly: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + prefixIcon: String, + suffixIcon: String, + showWordLimit: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + label: String, + labelWidth: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + size: String, + error: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + center: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + noBorder: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + required: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + prop: String, + rules: uni_modules_wotDesignUni_components_common_props.makeArrayProp(), + clearTrigger: uni_modules_wotDesignUni_components_common_props.makeStringProp("always"), + focusWhenClear: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(true), + ignoreCompositionEvent: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(true), + inputmode: uni_modules_wotDesignUni_components_common_props.makeStringProp("text"), + markerSide: uni_modules_wotDesignUni_components_common_props.makeStringProp("before") +}; +exports.inputProps = inputProps; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-input/wd-input.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-input/wd-input.js new file mode 100644 index 0000000..85f8a6a --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-input/wd-input.js @@ -0,0 +1,295 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_common_util = require("../common/util.js"); +var uni_modules_wotDesignUni_components_composables_useCell = require("../composables/useCell.js"); +var uni_modules_wotDesignUni_components_wdForm_types = require("../wd-form/types.js"); +var uni_modules_wotDesignUni_components_composables_useParent = require("../composables/useParent.js"); +var uni_modules_wotDesignUni_components_composables_useTranslate = require("../composables/useTranslate.js"); +var uni_modules_wotDesignUni_components_wdInput_types = require("./types.js"); +require("../common/AbortablePromise.js"); +require("../wd-cell-group/types.js"); +require("../common/props.js"); +require("../../locale/index.js"); +require("../../locale/lang/zh-CN.js"); +if (!Math) { + wdIcon(); +} +const wdIcon = () => "../wd-icon/wd-icon.js"; +const __default__ = { + name: "wd-input", + options: { + virtualHost: true, + addGlobalClass: true, + styleIsolation: "shared" + } +}; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + ...__default__, + props: uni_modules_wotDesignUni_components_wdInput_types.inputProps, + emits: [ + "update:modelValue", + "clear", + "blur", + "focus", + "input", + "keyboardheightchange", + "confirm", + "clicksuffixicon", + "clickprefixicon", + "click" + ], + setup(__props, { emit }) { + const props = __props; + const slots = common_vendor.useSlots(); + const { translate } = uni_modules_wotDesignUni_components_composables_useTranslate.useTranslate("input"); + const isPwdVisible = common_vendor.ref(false); + const clearing = common_vendor.ref(false); + const focused = common_vendor.ref(false); + const focusing = common_vendor.ref(false); + const inputValue = common_vendor.ref(getInitValue()); + const cell = uni_modules_wotDesignUni_components_composables_useCell.useCell(); + common_vendor.watch( + () => props.focus, + (newValue) => { + focused.value = newValue; + }, + { immediate: true, deep: true } + ); + common_vendor.watch( + () => props.modelValue, + (newValue) => { + inputValue.value = uni_modules_wotDesignUni_components_common_util.isDef(newValue) ? String(newValue) : ""; + } + ); + const { parent: form } = uni_modules_wotDesignUni_components_composables_useParent.useParent(uni_modules_wotDesignUni_components_wdForm_types.FORM_KEY); + const placeholderValue = common_vendor.computed$1(() => { + return uni_modules_wotDesignUni_components_common_util.isDef(props.placeholder) ? props.placeholder : translate("placeholder"); + }); + const showClear = common_vendor.computed$1(() => { + const { disabled, readonly, clearable, clearTrigger } = props; + if (clearable && !readonly && !disabled && inputValue.value && (clearTrigger === "always" || props.clearTrigger === "focus" && focusing.value)) { + return true; + } else { + return false; + } + }); + const showWordCount = common_vendor.computed$1(() => { + const { disabled, readonly, maxlength, showWordLimit } = props; + return Boolean(!disabled && !readonly && uni_modules_wotDesignUni_components_common_util.isDef(maxlength) && maxlength > -1 && showWordLimit); + }); + const errorMessage = common_vendor.computed$1(() => { + if (form && props.prop && form.errorMessages && form.errorMessages[props.prop]) { + return form.errorMessages[props.prop]; + } else { + return ""; + } + }); + const isRequired = common_vendor.computed$1(() => { + let formRequired = false; + if (form && form.props.rules) { + const rules = form.props.rules; + for (const key in rules) { + if (Object.prototype.hasOwnProperty.call(rules, key) && key === props.prop && Array.isArray(rules[key])) { + formRequired = rules[key].some((rule) => rule.required); + } + } + } + return props.required || props.rules.some((rule) => rule.required) || formRequired; + }); + const rootClass = common_vendor.computed$1(() => { + return `wd-input ${props.label || slots.label ? "is-cell" : ""} ${props.center ? "is-center" : ""} ${cell.border.value ? "is-border" : ""} ${props.size ? "is-" + props.size : ""} ${props.error ? "is-error" : ""} ${props.disabled ? "is-disabled" : ""} ${inputValue.value && String(inputValue.value).length > 0 ? "is-not-empty" : ""} ${props.noBorder ? "is-no-border" : ""} ${props.customClass}`; + }); + const labelClass = common_vendor.computed$1(() => { + return `wd-input__label ${props.customLabelClass}`; + }); + const inputPlaceholderClass = common_vendor.computed$1(() => { + return `wd-input__placeholder ${props.placeholderClass}`; + }); + const labelStyle = common_vendor.computed$1(() => { + return props.labelWidth ? uni_modules_wotDesignUni_components_common_util.objToStyle({ + "min-width": props.labelWidth, + "max-width": props.labelWidth + }) : ""; + }); + function getInitValue() { + const formatted = formatValue(props.modelValue); + if (!isValueEqual(formatted, props.modelValue)) { + emit("update:modelValue", formatted); + } + return formatted; + } + function formatValue(value) { + const { maxlength } = props; + if (uni_modules_wotDesignUni_components_common_util.isDef(maxlength) && maxlength !== -1 && String(value).length > maxlength) { + return value.toString().slice(0, maxlength); + } + return value; + } + function togglePwdVisible() { + isPwdVisible.value = !isPwdVisible.value; + } + async function handleClear() { + focusing.value = false; + inputValue.value = ""; + if (props.focusWhenClear) { + clearing.value = true; + focused.value = false; + } + await uni_modules_wotDesignUni_components_common_util.pause(); + if (props.focusWhenClear) { + focused.value = true; + focusing.value = true; + } + emit("update:modelValue", inputValue.value); + emit("clear"); + } + async function handleBlur() { + await uni_modules_wotDesignUni_components_common_util.pause(150); + if (clearing.value) { + clearing.value = false; + return; + } + focusing.value = false; + emit("blur", { + value: inputValue.value + }); + } + function handleFocus({ detail }) { + focusing.value = true; + emit("focus", detail); + } + function handleInput({ detail }) { + emit("update:modelValue", inputValue.value); + emit("input", detail); + } + function handleKeyboardheightchange({ detail }) { + emit("keyboardheightchange", detail); + } + function handleConfirm({ detail }) { + emit("confirm", detail); + } + function onClickSuffixIcon() { + emit("clicksuffixicon"); + } + function onClickPrefixIcon() { + emit("clickprefixicon"); + } + function handleClick(event) { + emit("click", event); + } + function isValueEqual(value1, value2) { + return uni_modules_wotDesignUni_components_common_util.isEqual(String(value1), String(value2)); + } + return (_ctx, _cache) => { + return common_vendor.e({ + a: _ctx.label || _ctx.$slots.label + }, _ctx.label || _ctx.$slots.label ? common_vendor.e({ + b: common_vendor.unref(isRequired) && _ctx.markerSide === "before" + }, common_vendor.unref(isRequired) && _ctx.markerSide === "before" ? {} : {}, { + c: _ctx.prefixIcon || _ctx.$slots.prefix + }, _ctx.prefixIcon || _ctx.$slots.prefix ? common_vendor.e({ + d: _ctx.prefixIcon && !_ctx.$slots.prefix + }, _ctx.prefixIcon && !_ctx.$slots.prefix ? { + e: common_vendor.o(onClickPrefixIcon), + f: common_vendor.p({ + ["custom-class"]: "wd-input__icon", + name: _ctx.prefixIcon + }) + } : {}) : {}, { + g: _ctx.label && !_ctx.$slots.label + }, _ctx.label && !_ctx.$slots.label ? { + h: common_vendor.t(_ctx.label) + } : _ctx.$slots.label ? {} : {}, { + i: _ctx.$slots.label, + j: common_vendor.unref(isRequired) && _ctx.markerSide === "after" + }, common_vendor.unref(isRequired) && _ctx.markerSide === "after" ? {} : {}, { + k: common_vendor.n(common_vendor.unref(labelClass)), + l: common_vendor.s(common_vendor.unref(labelStyle)) + }) : {}, { + m: (_ctx.prefixIcon || _ctx.$slots.prefix) && !_ctx.label + }, (_ctx.prefixIcon || _ctx.$slots.prefix) && !_ctx.label ? common_vendor.e({ + n: _ctx.prefixIcon && !_ctx.$slots.prefix + }, _ctx.prefixIcon && !_ctx.$slots.prefix ? { + o: common_vendor.o(onClickPrefixIcon), + p: common_vendor.p({ + ["custom-class"]: "wd-input__icon", + name: _ctx.prefixIcon + }) + } : {}) : {}, { + q: common_vendor.n(_ctx.prefixIcon ? "wd-input__inner--prefix" : ""), + r: common_vendor.n(common_vendor.unref(showWordCount) ? "wd-input__inner--count" : ""), + s: common_vendor.n(_ctx.alignRight ? "is-align-right" : ""), + t: common_vendor.n(_ctx.customInputClass), + v: _ctx.type, + w: _ctx.showPassword && !isPwdVisible.value, + x: common_vendor.unref(placeholderValue), + y: _ctx.disabled || _ctx.readonly, + z: _ctx.maxlength, + A: focused.value, + B: _ctx.confirmType, + C: _ctx.confirmHold, + D: _ctx.cursor, + E: _ctx.cursorSpacing, + F: _ctx.placeholderStyle, + G: _ctx.selectionStart, + H: _ctx.selectionEnd, + I: _ctx.adjustPosition, + J: _ctx.holdKeyboard, + K: _ctx.alwaysEmbed, + L: common_vendor.unref(inputPlaceholderClass), + M: _ctx.ignoreCompositionEvent, + N: _ctx.inputmode, + O: common_vendor.o([($event) => inputValue.value = $event.detail.value, handleInput]), + P: common_vendor.o(handleFocus), + Q: common_vendor.o(handleBlur), + R: common_vendor.o(handleConfirm), + S: common_vendor.o(handleKeyboardheightchange), + T: inputValue.value, + U: props.readonly + }, props.readonly ? {} : {}, { + V: common_vendor.unref(showClear) || _ctx.showPassword || _ctx.suffixIcon || common_vendor.unref(showWordCount) || _ctx.$slots.suffix + }, common_vendor.unref(showClear) || _ctx.showPassword || _ctx.suffixIcon || common_vendor.unref(showWordCount) || _ctx.$slots.suffix ? common_vendor.e({ + W: common_vendor.unref(showClear) + }, common_vendor.unref(showClear) ? { + X: common_vendor.o(handleClear), + Y: common_vendor.p({ + ["custom-class"]: "wd-input__clear", + name: "error-fill" + }) + } : {}, { + Z: _ctx.showPassword + }, _ctx.showPassword ? { + aa: common_vendor.o(togglePwdVisible), + ab: common_vendor.p({ + ["custom-class"]: "wd-input__icon", + name: isPwdVisible.value ? "view" : "eye-close" + }) + } : {}, { + ac: common_vendor.unref(showWordCount) + }, common_vendor.unref(showWordCount) ? { + ad: common_vendor.t(String(inputValue.value).length), + ae: common_vendor.n(inputValue.value && String(inputValue.value).length > 0 ? "wd-input__count-current" : ""), + af: common_vendor.n(String(inputValue.value).length > _ctx.maxlength ? "is-error" : ""), + ag: common_vendor.t(_ctx.maxlength) + } : {}, { + ah: _ctx.suffixIcon && !_ctx.$slots.suffix + }, _ctx.suffixIcon && !_ctx.$slots.suffix ? { + ai: common_vendor.o(onClickSuffixIcon), + aj: common_vendor.p({ + ["custom-class"]: "wd-input__icon", + name: _ctx.suffixIcon + }) + } : {}) : {}, { + ak: common_vendor.unref(errorMessage) + }, common_vendor.unref(errorMessage) ? { + al: common_vendor.t(common_vendor.unref(errorMessage)) + } : {}, { + am: common_vendor.n(common_vendor.unref(rootClass)), + an: common_vendor.s(_ctx.customStyle), + ao: common_vendor.o(handleClick) + }); + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-7d365853"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-input/wd-input.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-input/wd-input.json b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-input/wd-input.json new file mode 100644 index 0000000..b3f45a7 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-input/wd-input.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "wd-icon": "../wd-icon/wd-icon" + } +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-input/wd-input.wxml b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-input/wd-input.wxml new file mode 100644 index 0000000..996868c --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-input/wd-input.wxml @@ -0,0 +1 @@ +*{{h}}*{{ad}} /{{ag}}{{al}} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-input/wd-input.wxss b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-input/wd-input.wxss new file mode 100644 index 0000000..d980e51 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-input/wd-input.wxss @@ -0,0 +1,646 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * UI规范基础变量 + */ +/*----------------------------------------- Theme color. start ----------------------------------------*/ +/* 主题颜色 */ +/* 辅助色 */ +/* 文字颜色(默认浅色背景下 */ +/* 暗黑模式 */ +/* 图形颜色 */ +/*----------------------------------------- Theme color. end -------------------------------------------*/ +/*-------------------------------- Theme color application size. start --------------------------------*/ +/* 文字字号 */ +/* 文字字重 */ +/* 尺寸 */ +/*-------------------------------- Theme color application size. end --------------------------------*/ +/* component var */ +/* action-sheet */ +/* badge */ +/* button */ +/* cell */ +/* calendar */ +/* checkbox */ +/* collapse */ +/* divider */ +/* drop-menu */ +/* input-number */ +/* input */ +/* textarea */ +/* loadmore */ +/* message-box */ +/* notice-bar */ +/* pagination */ +/* picker */ +/* col-picker */ +/* overlay */ +/* popup */ +/* progress */ +/* radio */ +/* search */ +/* slider */ +/* sort-button */ +/* steps */ +/* switch */ +/* tabs */ +/* tag */ +/* toast */ +/* loading */ +/* tooltip */ +/* popover */ +/* grid-item */ +/* statustip */ +/* card */ +/* upload */ +/* curtain */ +/* notify */ +/* skeleton */ +/* circle */ +/* swiper */ +/* swiper-nav */ +/* segmented */ +/* tabbar */ +/* tabbar-item */ +/* navbar */ +/* navbar-capsule */ +/* table */ +/* sidebar */ +/* sidebar-item */ +/* fab */ +/* count-down */ +/* keyboard */ +/* number-keyboard */ +/* passwod-input */ +/* form-item */ +/* backtop */ +/* index-bar */ +/* text */ +/* video-preview */ +/* img-cropper */ +/* floating-panel */ +/* signature */ +/** + * 混合宏 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * BEM,定义块(b) + */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 此方法用于生成穿透样式 */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 定义状态(m) */ +/* 定义状态(m) */ +/* 对于需要需要嵌套在 m 底下的 e,调用这个混合宏,一般在切换整个组件的状态,如切换颜色的时候 */ +/* 状态,生成 is-$state 类名 */ +/** + * 常用混合宏 + */ +/* 单行超出隐藏 */ +/* 多行超出隐藏 */ +/* 清除浮动 */ +/* 0.5px 边框 指定方向*/ +/* 0.5px 边框 环绕 */ +/** + * 三角形实现尖角样式,适用于背景透明情况 + * @param $size 三角形高,底边为 $size * 2 + * @param $bg 三角形背景颜色 + */ +/** + * 正方形实现尖角样式,适用于背景不透明情况 + * @param $size 正方形边长 + * @param $bg 正方形背景颜色 + * @param $z-index z-index属性值,不得大于外部包裹器 + * @param $box-shadow 阴影 +*/ +.wot-theme-dark .wd-input.data-v-7d365853 { + background: var(--wot-dark-background2, #1b1b1b); +} +.wot-theme-dark .wd-input.data-v-7d365853::after { + background: var(--wot-dark-color-gray, var(--wot-color-secondary, #595959)); +} +.wot-theme-dark .wd-input.is-not-empty.data-v-7d365853:not(.is-disabled)::after { + background-color: var(--wot-dark-color, var(--wot-color-white, rgb(255, 255, 255))); +} +.wot-theme-dark .wd-input__inner.data-v-7d365853 { + color: var(--wot-dark-color, var(--wot-color-white, rgb(255, 255, 255))); +} +.wot-theme-dark .wd-input__inner.data-v-7d365853::-webkit-input-placeholder { + color: var(--wot-dark-color3, rgba(232, 230, 227, 0.8)); +} +.wot-theme-dark .wd-input__count.data-v-7d365853 { + color: var(--wot-dark-color3, rgba(232, 230, 227, 0.8)); + background: transparent; +} +.wot-theme-dark .wd-input__count-current.data-v-7d365853 { + color: var(--wot-dark-color, var(--wot-color-white, rgb(255, 255, 255))); +} +.wot-theme-dark .wd-input.data-v-7d365853 .wd-input__icon, +.wot-theme-dark .wd-input.data-v-7d365853 .wd-input__clear { + color: var(--wot-dark-color, var(--wot-color-white, rgb(255, 255, 255))); + background: transparent; +} +.wot-theme-dark .wd-input.is-cell.data-v-7d365853 { + background-color: var(--wot-dark-background2, #1b1b1b); + line-height: var(--wot-cell-line-height, 24px); +} +.wot-theme-dark .wd-input.is-cell.is-border.data-v-7d365853 { + position: relative; +} +.wot-theme-dark .wd-input.is-cell.is-border.data-v-7d365853::after { + position: absolute; + display: block; + content: ""; + width: calc(100% - var(--wot-input-cell-padding, 10px)); + height: 1px; + left: var(--wot-input-cell-padding, 10px); + top: 0; + transform: scaleY(0.5); + background: var(--wot-dark-border-color, #3a3a3c); +} +.wot-theme-dark .wd-input.is-disabled .wd-input__inner.data-v-7d365853 { + color: var(--wot-dark-color-gray, var(--wot-color-secondary, #595959)); + background: transparent; +} +.wot-theme-dark .wd-input__label.data-v-7d365853 { + color: var(--wot-dark-color, var(--wot-color-white, rgb(255, 255, 255))); +} +.wd-input.data-v-7d365853 { + position: relative; + -webkit-tap-highlight-color: transparent; + text-align: left; + background: var(--wot-input-bg, var(--wot-color-white, rgb(255, 255, 255))); +} +.wd-input.data-v-7d365853::after { + position: absolute; + content: ""; + bottom: 0; + left: 0; + right: 0; + height: 1px; + background: var(--wot-input-border-color, #dadada); + transform: scaleY(0.5); + transition: background-color 0.2s ease-in-out; +} +.wd-input.is-not-empty.data-v-7d365853:not(.is-disabled)::after { + background-color: var(--wot-input-not-empty-border-color, #262626); +} +.wd-input__label.data-v-7d365853 { + position: relative; + display: flex; + width: var(--wot-input-cell-label-width, 33%); + color: var(--wot-cell-title-color, rgba(0, 0, 0, 0.85)); + margin-right: var(--wot-cell-padding, var(--wot-size-side-padding, 15px)); + box-sizing: border-box; + font-size: var(--wot-input-fs, var(--wot-cell-title-fs, 14px)); + flex-shrink: 0; +} +.wd-input__label-inner.data-v-7d365853 { + display: inline-block; + font-size: var(--wot-input-fs, var(--wot-cell-title-fs, 14px)); + line-height: var(--wot-cell-line-height, 24px); +} +.wd-input__required.data-v-7d365853 { + font-size: var(--wot-cell-required-size, 18px); + color: var(--wot-cell-required-color, var(--wot-color-danger, #fa4350)); + margin-left: var(--wot-cell-required-margin, 4px); +} +.wd-input__required--left.data-v-7d365853 { + margin-left: 0; + margin-right: var(--wot-cell-required-margin, 4px); +} +.wd-input__body.data-v-7d365853 { + flex: 1; +} +.wd-input__value.data-v-7d365853 { + position: relative; + display: flex; + flex-direction: row; + align-items: center; +} +.wd-input__prefix.data-v-7d365853 { + margin-right: var(--wot-input-icon-margin, 8px); + font-size: var(--wot-input-fs, var(--wot-cell-title-fs, 14px)); + line-height: initial; +} +.wd-input__prefix.data-v-7d365853 .wd-input__icon, +.wd-input__prefix.data-v-7d365853 .wd-input__clear { + margin-left: 0; +} +.wd-input__suffix.data-v-7d365853 { + flex-shrink: 0; + line-height: initial; +} +.wd-input__error-message.data-v-7d365853 { + color: var(--wot-form-item-error-message-color, var(--wot-color-danger, #fa4350)); + font-size: var(--wot-form-item-error-message-font-size, var(--wot-fs-secondary, 12px)); + line-height: var(--wot-form-item-error-message-line-height, 24px); + text-align: left; + vertical-align: middle; +} +.wd-input.is-disabled .wd-input__inner.data-v-7d365853 { + color: var(--wot-input-disabled-color, #d9d9d9); + background: transparent; +} +.wd-input.is-error .wd-input__inner.data-v-7d365853 { + color: var(--wot-input-error-color, var(--wot-color-danger, #fa4350)); + background: transparent; +} +.wd-input.is-no-border.data-v-7d365853::after { + display: none; +} +.wd-input.is-no-border .wd-input__inner.data-v-7d365853 { + height: var(--wot-input-inner-height-no-border, 24px); + padding-top: 0; + padding-bottom: 0; +} +.wd-input.is-cell.data-v-7d365853 { + display: flex; + align-items: flex-start; + padding: var(--wot-input-cell-padding, 10px) var(--wot-input-padding, var(--wot-size-side-padding, 15px)); + background-color: var(--wot-input-cell-bg, var(--wot-color-white, rgb(255, 255, 255))); +} +.wd-input.is-cell.is-error.data-v-7d365853::after { + background: var(--wot-input-cell-border-color, var(--wot-color-border-light, #e8e8e8)); +} +.wd-input.is-cell.data-v-7d365853 .wd-input__icon, +.wd-input.is-cell.data-v-7d365853 .wd-input__clear { + display: inline-flex; + align-items: center; + height: var(--wot-input-cell-height, 24px); + line-height: var(--wot-input-cell-height, 24px); +} +.wd-input.is-cell .wd-input__prefix.data-v-7d365853 { + display: inline-block; + margin-right: var(--wot-cell-icon-right, 4px); +} +.wd-input.is-cell .wd-input__inner.data-v-7d365853 { + height: var(--wot-input-cell-height, 24px); +} +.wd-input.is-cell.wd-input.data-v-7d365853::after { + display: none; +} +.wd-input.is-cell.is-center.data-v-7d365853 { + align-items: center; +} +.wd-input.is-cell.is-border.data-v-7d365853 { + position: relative; +} +.wd-input.is-cell.is-border.data-v-7d365853::after { + position: absolute; + display: block; + content: ""; + width: calc(100% - var(--wot-input-cell-padding, 10px)); + height: 1px; + left: var(--wot-input-cell-padding, 10px); + top: 0; + transform: scaleY(0.5); + background: var(--wot-color-border-light, #e8e8e8); +} +.wd-input.is-large.data-v-7d365853 { + padding: var(--wot-input-cell-padding-large, 12px); +} +.wd-input.is-large .wd-input__prefix.data-v-7d365853 { + font-size: var(--wot-input-fs-large, var(--wot-cell-title-fs-large, 16px)); +} +.wd-input.is-large .wd-input__label-inner.data-v-7d365853 { + font-size: var(--wot-input-fs-large, var(--wot-cell-title-fs-large, 16px)); +} +.wd-input.is-large .wd-input__inner.data-v-7d365853 { + font-size: var(--wot-input-fs-large, var(--wot-cell-title-fs-large, 16px)); +} +.wd-input.is-large .wd-input__count.data-v-7d365853 { + font-size: var(--wot-input-count-fs-large, 14px); +} +.wd-input.is-large.data-v-7d365853 .wd-input__icon, +.wd-input.is-large.data-v-7d365853 .wd-input__clear { + font-size: var(--wot-input-icon-size-large, 18px); +} +.wd-input__inner.data-v-7d365853 { + flex: 1; + height: var(--wot-input-inner-height, 34px); + font-size: var(--wot-input-fs, var(--wot-cell-title-fs, 14px)); + color: var(--wot-input-color, #262626); + outline: none; + border: none; + background: none; + padding: 0; + box-sizing: border-box; +} +.wd-input__inner.data-v-7d365853::-webkit-input-placeholder { + color: var(--wot-input-placeholder-color, #bfbfbf); +} +.wd-input__inner.is-align-right.data-v-7d365853 { + text-align: right; +} +.wd-input__readonly-mask.data-v-7d365853 { + position: absolute; + top: 0; + left: 0; + z-index: 2; + width: 100%; + height: 100%; +} +.data-v-7d365853 .wd-input__icon { + margin-left: var(--wot-input-icon-margin, 8px); + font-size: var(--wot-input-icon-size, 16px); + color: var(--wot-input-icon-color, #bfbfbf); + vertical-align: middle; + background: var(--wot-input-bg, var(--wot-color-white, rgb(255, 255, 255))); +} +.data-v-7d365853 .wd-input__clear { + margin-left: var(--wot-input-icon-margin, 8px); + font-size: var(--wot-input-icon-size, 16px); + color: var(--wot-input-clear-color, #585858); + vertical-align: middle; + background: var(--wot-input-bg, var(--wot-color-white, rgb(255, 255, 255))); +} +.wd-input__count.data-v-7d365853 { + margin-left: 15px; + font-size: var(--wot-input-count-fs, 14px); + color: var(--wot-input-count-color, #bfbfbf); + vertical-align: middle; + background: var(--wot-input-bg, var(--wot-color-white, rgb(255, 255, 255))); +} +.wd-input__count-current.data-v-7d365853 { + color: var(--wot-input-count-current-color, #262626); +} +.wd-input__count-current.is-error.data-v-7d365853 { + color: var(--wot-input-error-color, var(--wot-color-danger, #fa4350)); +} +.wd-input .wd-input__count.data-v-7d365853, +.wd-input .wd-input__count-current.data-v-7d365853 { + display: inline-flex; +} +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * UI规范基础变量 + */ +/*----------------------------------------- Theme color. start ----------------------------------------*/ +/* 主题颜色 */ +/* 辅助色 */ +/* 文字颜色(默认浅色背景下 */ +/* 暗黑模式 */ +/* 图形颜色 */ +/*----------------------------------------- Theme color. end -------------------------------------------*/ +/*-------------------------------- Theme color application size. start --------------------------------*/ +/* 文字字号 */ +/* 文字字重 */ +/* 尺寸 */ +/*-------------------------------- Theme color application size. end --------------------------------*/ +/* component var */ +/* action-sheet */ +/* badge */ +/* button */ +/* cell */ +/* calendar */ +/* checkbox */ +/* collapse */ +/* divider */ +/* drop-menu */ +/* input-number */ +/* input */ +/* textarea */ +/* loadmore */ +/* message-box */ +/* notice-bar */ +/* pagination */ +/* picker */ +/* col-picker */ +/* overlay */ +/* popup */ +/* progress */ +/* radio */ +/* search */ +/* slider */ +/* sort-button */ +/* steps */ +/* switch */ +/* tabs */ +/* tag */ +/* toast */ +/* loading */ +/* tooltip */ +/* popover */ +/* grid-item */ +/* statustip */ +/* card */ +/* upload */ +/* curtain */ +/* notify */ +/* skeleton */ +/* circle */ +/* swiper */ +/* swiper-nav */ +/* segmented */ +/* tabbar */ +/* tabbar-item */ +/* navbar */ +/* navbar-capsule */ +/* table */ +/* sidebar */ +/* sidebar-item */ +/* fab */ +/* count-down */ +/* keyboard */ +/* number-keyboard */ +/* passwod-input */ +/* form-item */ +/* backtop */ +/* index-bar */ +/* text */ +/* video-preview */ +/* img-cropper */ +/* floating-panel */ +/* signature */ +/** + * 混合宏 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * BEM,定义块(b) + */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 此方法用于生成穿透样式 */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 定义状态(m) */ +/* 定义状态(m) */ +/* 对于需要需要嵌套在 m 底下的 e,调用这个混合宏,一般在切换整个组件的状态,如切换颜色的时候 */ +/* 状态,生成 is-$state 类名 */ +/** + * 常用混合宏 + */ +/* 单行超出隐藏 */ +/* 多行超出隐藏 */ +/* 清除浮动 */ +/* 0.5px 边框 指定方向*/ +/* 0.5px 边框 环绕 */ +/** + * 三角形实现尖角样式,适用于背景透明情况 + * @param $size 三角形高,底边为 $size * 2 + * @param $bg 三角形背景颜色 + */ +/** + * 正方形实现尖角样式,适用于背景不透明情况 + * @param $size 正方形边长 + * @param $bg 正方形背景颜色 + * @param $z-index z-index属性值,不得大于外部包裹器 + * @param $box-shadow 阴影 +*/ +.wot-theme-dark .wd-input__placeholder { + color: var(--wot-dark-color3, rgba(232, 230, 227, 0.8)); +} +.wd-input__placeholder { + color: var(--wot-input-placeholder-color, #bfbfbf); +} +.wd-input__placeholder.is-error { + color: var(--wot-input-error-color, var(--wot-color-danger, #fa4350)); +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-loading/types.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-loading/types.js new file mode 100644 index 0000000..2142733 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-loading/types.js @@ -0,0 +1,9 @@ +"use strict"; +var uni_modules_wotDesignUni_components_common_props = require("../common/props.js"); +const loadingProps = { + ...uni_modules_wotDesignUni_components_common_props.baseProps, + type: uni_modules_wotDesignUni_components_common_props.makeStringProp("ring"), + color: uni_modules_wotDesignUni_components_common_props.makeStringProp("#4D80F0"), + size: uni_modules_wotDesignUni_components_common_props.makeNumericProp("") +}; +exports.loadingProps = loadingProps; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-loading/wd-loading.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-loading/wd-loading.js new file mode 100644 index 0000000..78710f0 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-loading/wd-loading.js @@ -0,0 +1,83 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_common_base64 = require("../common/base64.js"); +var uni_modules_wotDesignUni_components_common_util = require("../common/util.js"); +var uni_modules_wotDesignUni_components_wdLoading_types = require("./types.js"); +require("../common/AbortablePromise.js"); +require("../common/props.js"); +const __default__ = { + name: "wd-loading", + options: { + virtualHost: true, + addGlobalClass: true, + styleIsolation: "shared" + } +}; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + ...__default__, + props: uni_modules_wotDesignUni_components_wdLoading_types.loadingProps, + setup(__props) { + const props = __props; + const svgDefineId = uni_modules_wotDesignUni_components_common_util.context.id++; + const svgDefineId1 = uni_modules_wotDesignUni_components_common_util.context.id++; + const svgDefineId2 = uni_modules_wotDesignUni_components_common_util.context.id++; + const icon = { + outline(color = "#4D80F0") { + return ``; + }, + ring(color = "#4D80F0", intermediateColor2 = "#a6bff7") { + return ` `; + } + }; + const svg = common_vendor.ref(""); + const intermediateColor = common_vendor.ref(""); + const iconSize = common_vendor.ref(null); + common_vendor.watch( + () => props.size, + (newVal) => { + iconSize.value = uni_modules_wotDesignUni_components_common_util.addUnit(newVal); + }, + { + deep: true, + immediate: true + } + ); + common_vendor.watch( + () => props.type, + () => { + buildSvg(); + }, + { + deep: true, + immediate: true + } + ); + const rootStyle = common_vendor.computed$1(() => { + const style = {}; + if (uni_modules_wotDesignUni_components_common_util.isDef(iconSize.value)) { + style.height = uni_modules_wotDesignUni_components_common_util.addUnit(iconSize.value); + style.width = uni_modules_wotDesignUni_components_common_util.addUnit(iconSize.value); + } + return `${uni_modules_wotDesignUni_components_common_util.objToStyle(style)} ${props.customStyle}`; + }); + common_vendor.onBeforeMount(() => { + intermediateColor.value = uni_modules_wotDesignUni_components_common_util.gradient(props.color, "#ffffff", 2)[1]; + buildSvg(); + }); + function buildSvg() { + const { type, color } = props; + let ringType = uni_modules_wotDesignUni_components_common_util.isDef(type) ? type : "ring"; + const svgStr = `"data:image/svg+xml;base64,${uni_modules_wotDesignUni_components_common_base64.encode(ringType === "ring" ? icon[ringType](color, intermediateColor.value) : icon[ringType](color))}"`; + svg.value = svgStr; + } + return (_ctx, _cache) => { + return { + a: common_vendor.s(`background-image: url(${svg.value});`), + b: common_vendor.n(`wd-loading ${props.customClass}`), + c: common_vendor.s(common_vendor.unref(rootStyle)) + }; + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-954bfc5a"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-loading/wd-loading.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-loading/wd-loading.json b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-loading/wd-loading.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-loading/wd-loading.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-loading/wd-loading.wxml b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-loading/wd-loading.wxml new file mode 100644 index 0000000..cbc070c --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-loading/wd-loading.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-loading/wd-loading.wxss b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-loading/wd-loading.wxss new file mode 100644 index 0000000..1973411 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-loading/wd-loading.wxss @@ -0,0 +1,227 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +/** + * 混合宏 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * BEM,定义块(b) + */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 此方法用于生成穿透样式 */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 定义状态(m) */ +/* 定义状态(m) */ +/* 对于需要需要嵌套在 m 底下的 e,调用这个混合宏,一般在切换整个组件的状态,如切换颜色的时候 */ +/* 状态,生成 is-$state 类名 */ +/** + * 常用混合宏 + */ +/* 单行超出隐藏 */ +/* 多行超出隐藏 */ +/* 清除浮动 */ +/* 0.5px 边框 指定方向*/ +/* 0.5px 边框 环绕 */ +/** + * 三角形实现尖角样式,适用于背景透明情况 + * @param $size 三角形高,底边为 $size * 2 + * @param $bg 三角形背景颜色 + */ +/** + * 正方形实现尖角样式,适用于背景不透明情况 + * @param $size 正方形边长 + * @param $bg 正方形背景颜色 + * @param $z-index z-index属性值,不得大于外部包裹器 + * @param $box-shadow 阴影 +*/ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * UI规范基础变量 + */ +/*----------------------------------------- Theme color. start ----------------------------------------*/ +/* 主题颜色 */ +/* 辅助色 */ +/* 文字颜色(默认浅色背景下 */ +/* 暗黑模式 */ +/* 图形颜色 */ +/*----------------------------------------- Theme color. end -------------------------------------------*/ +/*-------------------------------- Theme color application size. start --------------------------------*/ +/* 文字字号 */ +/* 文字字重 */ +/* 尺寸 */ +/*-------------------------------- Theme color application size. end --------------------------------*/ +/* component var */ +/* action-sheet */ +/* badge */ +/* button */ +/* cell */ +/* calendar */ +/* checkbox */ +/* collapse */ +/* divider */ +/* drop-menu */ +/* input-number */ +/* input */ +/* textarea */ +/* loadmore */ +/* message-box */ +/* notice-bar */ +/* pagination */ +/* picker */ +/* col-picker */ +/* overlay */ +/* popup */ +/* progress */ +/* radio */ +/* search */ +/* slider */ +/* sort-button */ +/* steps */ +/* switch */ +/* tabs */ +/* tag */ +/* toast */ +/* loading */ +/* tooltip */ +/* popover */ +/* grid-item */ +/* statustip */ +/* card */ +/* upload */ +/* curtain */ +/* notify */ +/* skeleton */ +/* circle */ +/* swiper */ +/* swiper-nav */ +/* segmented */ +/* tabbar */ +/* tabbar-item */ +/* navbar */ +/* navbar-capsule */ +/* table */ +/* sidebar */ +/* sidebar-item */ +/* fab */ +/* count-down */ +/* keyboard */ +/* number-keyboard */ +/* passwod-input */ +/* form-item */ +/* backtop */ +/* index-bar */ +/* text */ +/* video-preview */ +/* img-cropper */ +/* floating-panel */ +/* signature */ +.wd-loading.data-v-954bfc5a { + font-size: 0; + line-height: 0; + vertical-align: middle; + display: inline-block; + width: var(--wot-loading-size, 32px); + height: var(--wot-loading-size, 32px); +} +.wd-loading__body.data-v-954bfc5a { + width: 100%; + height: 100%; + -webkit-animation: wd-rotate-954bfc5a 0.8s linear infinite; + animation: wd-rotate-954bfc5a 0.8s linear infinite; + -webkit-animation-duration: 2s; + animation-duration: 2s; +} +.wd-loading__svg.data-v-954bfc5a { + width: 100%; + height: 100%; + background-size: cover; + background-repeat: no-repeat; +} +@-webkit-keyframes wd-rotate-954bfc5a { +from { + transform: rotate(0deg); +} +to { + transform: rotate(360deg); +} +} +@keyframes wd-rotate-954bfc5a { +from { + transform: rotate(0deg); +} +to { + transform: rotate(360deg); +} +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-message-box/index.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-message-box/index.js new file mode 100644 index 0000000..ffe6543 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-message-box/index.js @@ -0,0 +1,75 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_common_util = require("../common/util.js"); +const messageDefaultOptionKey = "__MESSAGE_OPTION__"; +const None = Symbol("None"); +const defaultOptions = { + title: "", + showCancelButton: false, + show: false, + closeOnClickModal: true, + msg: "", + type: "alert", + inputType: "text", + inputValue: "", + showErr: false, + zIndex: 99, + lazyRender: true, + inputError: "" +}; +function useMessage(selector = "") { + const messageOptionKey = selector ? messageDefaultOptionKey + selector : messageDefaultOptionKey; + const messageOption = common_vendor.inject(messageOptionKey, common_vendor.ref(None)); + if (messageOption.value === None) { + messageOption.value = defaultOptions; + common_vendor.provide(messageOptionKey, messageOption); + } + const createMethod = (type) => { + return (options) => { + const messageOptions = uni_modules_wotDesignUni_components_common_util.deepMerge({ type }, typeof options === "string" ? { title: options } : options); + if (messageOptions.type === "confirm" || messageOptions.type === "prompt") { + messageOptions.showCancelButton = true; + } else { + messageOptions.showCancelButton = false; + } + return show(messageOptions); + }; + }; + const show = (option) => { + return new Promise((resolve, reject) => { + const options = uni_modules_wotDesignUni_components_common_util.deepMerge(defaultOptions, typeof option === "string" ? { title: option } : option); + messageOption.value = uni_modules_wotDesignUni_components_common_util.deepMerge(options, { + show: true, + success: (res) => { + close(); + resolve(res); + }, + fail: (res) => { + close(); + reject(res); + } + }); + }); + }; + const alert = createMethod("alert"); + const confirm = createMethod("confirm"); + const prompt = createMethod("prompt"); + const close = () => { + if (messageOption.value !== None) { + messageOption.value.show = false; + } + }; + return { + show, + alert, + confirm, + prompt, + close + }; +} +const getMessageDefaultOptionKey = (selector) => { + return selector ? `${messageDefaultOptionKey}${selector}` : messageDefaultOptionKey; +}; +exports.defaultOptions = defaultOptions; +exports.getMessageDefaultOptionKey = getMessageDefaultOptionKey; +exports.useMessage = useMessage; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-message-box/types.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-message-box/types.js new file mode 100644 index 0000000..c7e3df0 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-message-box/types.js @@ -0,0 +1,8 @@ +"use strict"; +var uni_modules_wotDesignUni_components_common_props = require("../common/props.js"); +const messageBoxProps = { + ...uni_modules_wotDesignUni_components_common_props.baseProps, + selector: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + rootPortal: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false) +}; +exports.messageBoxProps = messageBoxProps; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-message-box/wd-message-box.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-message-box/wd-message-box.js new file mode 100644 index 0000000..b3c41c6 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-message-box/wd-message-box.js @@ -0,0 +1,256 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_wdMessageBox_types = require("./types.js"); +var uni_modules_wotDesignUni_components_wdMessageBox_index = require("./index.js"); +var uni_modules_wotDesignUni_components_common_util = require("../common/util.js"); +var uni_modules_wotDesignUni_components_composables_useTranslate = require("../composables/useTranslate.js"); +require("../common/props.js"); +require("../common/AbortablePromise.js"); +require("../../locale/index.js"); +require("../../locale/lang/zh-CN.js"); +if (!Math) { + (wdInput + wdButton + wdPopup)(); +} +const wdPopup = () => "../wd-popup/wd-popup.js"; +const wdButton = () => "../wd-button/wd-button.js"; +const wdInput = () => "../wd-input/wd-input.js"; +const __default__ = { + name: "wd-message-box", + options: { + virtualHost: true, + addGlobalClass: true, + styleIsolation: "shared" + } +}; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + ...__default__, + props: uni_modules_wotDesignUni_components_wdMessageBox_types.messageBoxProps, + setup(__props) { + const props = __props; + const { translate } = uni_modules_wotDesignUni_components_composables_useTranslate.useTranslate("message-box"); + const rootClass = common_vendor.computed$1(() => { + return `wd-message-box__container ${props.customClass}`; + }); + const bodyClass = common_vendor.computed$1(() => { + return `wd-message-box__body ${!messageState.title ? "is-no-title" : ""} ${messageState.type === "prompt" ? "is-prompt" : ""}`; + }); + const messageOptionKey = uni_modules_wotDesignUni_components_wdMessageBox_index.getMessageDefaultOptionKey(props.selector); + const messageOption = common_vendor.inject(messageOptionKey, common_vendor.ref(uni_modules_wotDesignUni_components_wdMessageBox_index.defaultOptions)); + const messageState = common_vendor.reactive({ + msg: "", + show: false, + title: "", + showCancelButton: false, + closeOnClickModal: true, + confirmButtonText: "", + cancelButtonText: "", + type: "alert", + inputType: "text", + inputValue: "", + inputPlaceholder: "", + inputError: "", + showErr: false, + zIndex: 99, + lazyRender: true + }); + const customConfirmProps = common_vendor.computed$1(() => { + const buttonProps = uni_modules_wotDesignUni_components_common_util.deepAssign( + { + block: true + }, + uni_modules_wotDesignUni_components_common_util.isDef(messageState.confirmButtonProps) ? uni_modules_wotDesignUni_components_common_util.omitBy(messageState.confirmButtonProps, uni_modules_wotDesignUni_components_common_util.isUndefined) : {} + ); + buttonProps.customClass = `${buttonProps.customClass || ""} wd-message-box__actions-btn`; + return buttonProps; + }); + const customCancelProps = common_vendor.computed$1(() => { + const buttonProps = uni_modules_wotDesignUni_components_common_util.deepAssign( + { + block: true, + type: "info" + }, + uni_modules_wotDesignUni_components_common_util.isDef(messageState.cancelButtonProps) ? uni_modules_wotDesignUni_components_common_util.omitBy(messageState.cancelButtonProps, uni_modules_wotDesignUni_components_common_util.isUndefined) : {} + ); + buttonProps.customClass = `${buttonProps.customClass || ""} wd-message-box__actions-btn`; + return buttonProps; + }); + common_vendor.watch( + () => messageOption.value, + (newVal) => { + reset(newVal); + }, + { + deep: true, + immediate: true + } + ); + common_vendor.watch( + () => messageState.show, + (newValue) => { + resetErr(!!newValue); + }, + { + deep: true, + immediate: true + } + ); + function toggleModal(action) { + if (action === "modal" && !messageState.closeOnClickModal) { + return; + } + if (messageState.type === "prompt" && action === "confirm" && !validate()) { + return; + } + switch (action) { + case "confirm": + if (messageState.beforeConfirm) { + messageState.beforeConfirm({ + resolve: (isPass) => { + if (isPass) { + handleConfirm({ + action, + value: messageState.inputValue + }); + } + } + }); + } else { + handleConfirm({ + action, + value: messageState.inputValue + }); + } + break; + case "cancel": + handleCancel({ + action + }); + break; + default: + handleCancel({ + action: "modal" + }); + break; + } + } + function handleConfirm(result) { + messageState.show = false; + if (uni_modules_wotDesignUni_components_common_util.isFunction(messageState.success)) { + messageState.success(result); + } + } + function handleCancel(result) { + messageState.show = false; + if (uni_modules_wotDesignUni_components_common_util.isFunction(messageState.fail)) { + messageState.fail(result); + } + } + function validate() { + if (messageState.inputPattern && !messageState.inputPattern.test(String(messageState.inputValue))) { + messageState.showErr = true; + return false; + } + if (typeof messageState.inputValidate === "function") { + const validateResult = messageState.inputValidate(messageState.inputValue); + if (!validateResult) { + messageState.showErr = true; + return false; + } + } + messageState.showErr = false; + return true; + } + function resetErr(val) { + if (val === false) { + messageState.showErr = false; + } + } + function inputValChange({ value }) { + if (value === "") { + messageState.showErr = false; + return; + } + messageState.inputValue = value; + } + function reset(option) { + if (option) { + messageState.title = uni_modules_wotDesignUni_components_common_util.isDef(option.title) ? option.title : ""; + messageState.showCancelButton = uni_modules_wotDesignUni_components_common_util.isDef(option.showCancelButton) ? option.showCancelButton : false; + messageState.show = option.show; + messageState.closeOnClickModal = option.closeOnClickModal; + messageState.confirmButtonText = option.confirmButtonText; + messageState.cancelButtonText = option.cancelButtonText; + messageState.msg = option.msg; + messageState.type = option.type; + messageState.inputType = option.inputType; + messageState.inputSize = option.inputSize; + messageState.inputValue = option.inputValue; + messageState.inputPlaceholder = option.inputPlaceholder; + messageState.inputPattern = option.inputPattern; + messageState.inputValidate = option.inputValidate; + messageState.success = option.success; + messageState.fail = option.fail; + messageState.beforeConfirm = option.beforeConfirm; + messageState.inputError = option.inputError; + messageState.showErr = option.showErr; + messageState.zIndex = option.zIndex; + messageState.lazyRender = option.lazyRender; + messageState.confirmButtonProps = option.confirmButtonProps; + messageState.cancelButtonProps = option.cancelButtonProps; + } + } + return (_ctx, _cache) => { + return common_vendor.e({ + a: messageState.title + }, messageState.title ? { + b: common_vendor.t(messageState.title) + } : {}, { + c: messageState.type === "prompt" + }, messageState.type === "prompt" ? common_vendor.e({ + d: common_vendor.o(inputValChange), + e: common_vendor.o(($event) => messageState.inputValue = $event), + f: common_vendor.p({ + type: messageState.inputType, + size: messageState.inputSize, + placeholder: messageState.inputPlaceholder, + modelValue: messageState.inputValue + }), + g: messageState.showErr + }, messageState.showErr ? { + h: common_vendor.t(messageState.inputError || common_vendor.unref(translate)("inputNoValidate")) + } : {}) : {}, { + i: common_vendor.t(messageState.msg), + j: common_vendor.n(common_vendor.unref(bodyClass)), + k: messageState.showCancelButton + }, messageState.showCancelButton ? { + l: common_vendor.t(messageState.cancelButtonText || common_vendor.unref(translate)("cancel")), + m: common_vendor.o(($event) => toggleModal("cancel")), + n: common_vendor.p({ + ...common_vendor.unref(customCancelProps) + }) + } : {}, { + o: common_vendor.t(messageState.confirmButtonText || common_vendor.unref(translate)("confirm")), + p: common_vendor.o(($event) => toggleModal("confirm")), + q: common_vendor.p({ + ...common_vendor.unref(customConfirmProps) + }), + r: common_vendor.n(`wd-message-box__actions ${messageState.showCancelButton ? "wd-message-box__flex" : "wd-message-box__block"}`), + s: common_vendor.n(common_vendor.unref(rootClass)), + t: common_vendor.o(($event) => toggleModal("modal")), + v: common_vendor.o(($event) => messageState.show = $event), + w: common_vendor.p({ + transition: "zoom-in", + ["close-on-click-modal"]: messageState.closeOnClickModal, + ["lazy-render"]: messageState.lazyRender, + ["custom-class"]: "wd-message-box", + ["z-index"]: messageState.zIndex, + duration: 200, + ["root-portal"]: _ctx.rootPortal, + modelValue: messageState.show + }) + }); + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-12024933"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-message-box/wd-message-box.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-message-box/wd-message-box.json b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-message-box/wd-message-box.json new file mode 100644 index 0000000..8799619 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-message-box/wd-message-box.json @@ -0,0 +1,8 @@ +{ + "component": true, + "usingComponents": { + "wd-popup": "../wd-popup/wd-popup", + "wd-button": "../wd-button/wd-button", + "wd-input": "../wd-input/wd-input" + } +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-message-box/wd-message-box.wxml b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-message-box/wd-message-box.wxml new file mode 100644 index 0000000..e22be43 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-message-box/wd-message-box.wxml @@ -0,0 +1 @@ +{{b}}{{h}}{{i}}{{l}}{{o}} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-message-box/wd-message-box.wxss b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-message-box/wd-message-box.wxss new file mode 100644 index 0000000..35b498f --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-message-box/wd-message-box.wxss @@ -0,0 +1,269 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * UI规范基础变量 + */ +/*----------------------------------------- Theme color. start ----------------------------------------*/ +/* 主题颜色 */ +/* 辅助色 */ +/* 文字颜色(默认浅色背景下 */ +/* 暗黑模式 */ +/* 图形颜色 */ +/*----------------------------------------- Theme color. end -------------------------------------------*/ +/*-------------------------------- Theme color application size. start --------------------------------*/ +/* 文字字号 */ +/* 文字字重 */ +/* 尺寸 */ +/*-------------------------------- Theme color application size. end --------------------------------*/ +/* component var */ +/* action-sheet */ +/* badge */ +/* button */ +/* cell */ +/* calendar */ +/* checkbox */ +/* collapse */ +/* divider */ +/* drop-menu */ +/* input-number */ +/* input */ +/* textarea */ +/* loadmore */ +/* message-box */ +/* notice-bar */ +/* pagination */ +/* picker */ +/* col-picker */ +/* overlay */ +/* popup */ +/* progress */ +/* radio */ +/* search */ +/* slider */ +/* sort-button */ +/* steps */ +/* switch */ +/* tabs */ +/* tag */ +/* toast */ +/* loading */ +/* tooltip */ +/* popover */ +/* grid-item */ +/* statustip */ +/* card */ +/* upload */ +/* curtain */ +/* notify */ +/* skeleton */ +/* circle */ +/* swiper */ +/* swiper-nav */ +/* segmented */ +/* tabbar */ +/* tabbar-item */ +/* navbar */ +/* navbar-capsule */ +/* table */ +/* sidebar */ +/* sidebar-item */ +/* fab */ +/* count-down */ +/* keyboard */ +/* number-keyboard */ +/* passwod-input */ +/* form-item */ +/* backtop */ +/* index-bar */ +/* text */ +/* video-preview */ +/* img-cropper */ +/* floating-panel */ +/* signature */ +/** + * 混合宏 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * BEM,定义块(b) + */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 此方法用于生成穿透样式 */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 定义状态(m) */ +/* 定义状态(m) */ +/* 对于需要需要嵌套在 m 底下的 e,调用这个混合宏,一般在切换整个组件的状态,如切换颜色的时候 */ +/* 状态,生成 is-$state 类名 */ +/** + * 常用混合宏 + */ +/* 单行超出隐藏 */ +/* 多行超出隐藏 */ +/* 清除浮动 */ +/* 0.5px 边框 指定方向*/ +/* 0.5px 边框 环绕 */ +/** + * 三角形实现尖角样式,适用于背景透明情况 + * @param $size 三角形高,底边为 $size * 2 + * @param $bg 三角形背景颜色 + */ +/** + * 正方形实现尖角样式,适用于背景不透明情况 + * @param $size 正方形边长 + * @param $bg 正方形背景颜色 + * @param $z-index z-index属性值,不得大于外部包裹器 + * @param $box-shadow 阴影 +*/ +.wot-theme-dark .wd-message-box__body.data-v-12024933 { + background-color: var(--wot-dark-background2, #1b1b1b); +} +.wot-theme-dark .wd-message-box__title.data-v-12024933 { + color: var(--wot-dark-color, var(--wot-color-white, rgb(255, 255, 255))); +} +.wot-theme-dark .wd-message-box__content.data-v-12024933 { + color: var(--wot-dark-color3, rgba(232, 230, 227, 0.8)); +} +.wot-theme-dark .wd-message-box__content.data-v-12024933::-webkit-scrollbar-thumb { + background: var(--wot-dark-border-color, #3a3a3c); +} +.data-v-12024933 .wd-message-box { + border-radius: var(--wot-message-box-radius, 16px); + overflow: hidden; +} +.wd-message-box.data-v-12024933 { + border-radius: var(--wot-message-box-radius, 16px); + overflow: hidden; +} +.wd-message-box__container.data-v-12024933 { + width: var(--wot-message-box-width, 300px); + box-sizing: border-box; +} +.wd-message-box__body.data-v-12024933 { + background-color: var(--wot-message-box-bg, var(--wot-color-white, rgb(255, 255, 255))); + padding: var(--wot-message-box-padding, 25px 24px 0); +} +.wd-message-box__body.is-no-title.data-v-12024933 { + padding: 25px 24px 0px; +} +.wd-message-box__title.data-v-12024933 { + text-align: center; + font-size: var(--wot-message-box-title-fs, 16px); + color: var(--wot-message-box-title-color, rgba(0, 0, 0, 0.85)); + line-height: 20px; + font-weight: 500; + padding-top: 5px; + padding-bottom: 10px; +} +.wd-message-box__content.data-v-12024933 { + max-height: var(--wot-message-box-content-max-height, 264px); + color: var(--wot-message-box-content-color, #666666); + font-size: var(--wot-message-box-content-fs, 14px); + text-align: center; + overflow: auto; + line-height: 20px; +} +.wd-message-box__content.data-v-12024933::-webkit-scrollbar { + width: var(--wot-message-box-content-scrollbar-width, 4px); +} +.wd-message-box__content.data-v-12024933::-webkit-scrollbar-thumb { + width: var(--wot-message-box-content-scrollbar-width, 4px); + background: var(--wot-message-box-content-scrollbar-color, rgba(0, 0, 0, 0.1)); + border-radius: calc(var(--wot-message-box-content-scrollbar-width, 4px) / 2); +} +.wd-message-box__input-error.data-v-12024933 { + min-height: 18px; + margin-top: 2px; + color: var(--wot-message-box-input-error-color, var(--wot-input-error-color, var(--wot-color-danger, #fa4350))); + text-align: left; +} +.wd-message-box__input-error.is-hidden.data-v-12024933 { + visibility: hidden; +} +.wd-message-box__actions.data-v-12024933 { + padding: 24px; +} +.data-v-12024933 .wd-message-box__actions-btn:not(:last-child) { + margin-right: 16px; +} +.wd-message-box__flex.data-v-12024933 { + display: flex; +} +.wd-message-box__block.data-v-12024933 { + display: block; +} +.wd-message-box__cancel.data-v-12024933 { + margin-right: 16px; +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar-capsule/types.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar-capsule/types.js new file mode 100644 index 0000000..ac6d8c8 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar-capsule/types.js @@ -0,0 +1,6 @@ +"use strict"; +var uni_modules_wotDesignUni_components_common_props = require("../common/props.js"); +const navbarCapsuleProps = { + ...uni_modules_wotDesignUni_components_common_props.baseProps +}; +exports.navbarCapsuleProps = navbarCapsuleProps; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar-capsule/wd-navbar-capsule.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar-capsule/wd-navbar-capsule.js new file mode 100644 index 0000000..e2eba17 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar-capsule/wd-navbar-capsule.js @@ -0,0 +1,47 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_wdNavbarCapsule_types = require("./types.js"); +require("../common/props.js"); +if (!Math) { + wdIcon(); +} +const wdIcon = () => "../wd-icon/wd-icon.js"; +const __default__ = { + name: "wd-navbar-capsule", + options: { + virtualHost: true, + addGlobalClass: true, + styleIsolation: "shared" + } +}; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + ...__default__, + props: uni_modules_wotDesignUni_components_wdNavbarCapsule_types.navbarCapsuleProps, + emits: ["back", "back-home"], + setup(__props, { emit }) { + function handleBack() { + emit("back"); + } + function handleBackHome() { + emit("back-home"); + } + return (_ctx, _cache) => { + return { + a: common_vendor.o(handleBack), + b: common_vendor.p({ + name: "chevron-left", + ["custom-class"]: "wd-navbar-capsule__icon" + }), + c: common_vendor.o(handleBackHome), + d: common_vendor.p({ + name: "home", + ["custom-class"]: "wd-navbar-capsule__icon" + }), + e: common_vendor.n(`wd-navbar-capsule ${_ctx.customClass}`), + f: common_vendor.s(_ctx.customStyle) + }; + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-navbar-capsule/wd-navbar-capsule.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar-capsule/wd-navbar-capsule.json b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar-capsule/wd-navbar-capsule.json new file mode 100644 index 0000000..b3f45a7 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar-capsule/wd-navbar-capsule.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "wd-icon": "../wd-icon/wd-icon" + } +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar-capsule/wd-navbar-capsule.wxml b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar-capsule/wd-navbar-capsule.wxml new file mode 100644 index 0000000..3c605ea --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar-capsule/wd-navbar-capsule.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar-capsule/wd-navbar-capsule.wxss b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar-capsule/wd-navbar-capsule.wxss new file mode 100644 index 0000000..4e2a401 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar-capsule/wd-navbar-capsule.wxss @@ -0,0 +1,240 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +/** + * 混合宏 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * BEM,定义块(b) + */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 此方法用于生成穿透样式 */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 定义状态(m) */ +/* 定义状态(m) */ +/* 对于需要需要嵌套在 m 底下的 e,调用这个混合宏,一般在切换整个组件的状态,如切换颜色的时候 */ +/* 状态,生成 is-$state 类名 */ +/** + * 常用混合宏 + */ +/* 单行超出隐藏 */ +/* 多行超出隐藏 */ +/* 清除浮动 */ +/* 0.5px 边框 指定方向*/ +/* 0.5px 边框 环绕 */ +/** + * 三角形实现尖角样式,适用于背景透明情况 + * @param $size 三角形高,底边为 $size * 2 + * @param $bg 三角形背景颜色 + */ +/** + * 正方形实现尖角样式,适用于背景不透明情况 + * @param $size 正方形边长 + * @param $bg 正方形背景颜色 + * @param $z-index z-index属性值,不得大于外部包裹器 + * @param $box-shadow 阴影 +*/ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * UI规范基础变量 + */ +/*----------------------------------------- Theme color. start ----------------------------------------*/ +/* 主题颜色 */ +/* 辅助色 */ +/* 文字颜色(默认浅色背景下 */ +/* 暗黑模式 */ +/* 图形颜色 */ +/*----------------------------------------- Theme color. end -------------------------------------------*/ +/*-------------------------------- Theme color application size. start --------------------------------*/ +/* 文字字号 */ +/* 文字字重 */ +/* 尺寸 */ +/*-------------------------------- Theme color application size. end --------------------------------*/ +/* component var */ +/* action-sheet */ +/* badge */ +/* button */ +/* cell */ +/* calendar */ +/* checkbox */ +/* collapse */ +/* divider */ +/* drop-menu */ +/* input-number */ +/* input */ +/* textarea */ +/* loadmore */ +/* message-box */ +/* notice-bar */ +/* pagination */ +/* picker */ +/* col-picker */ +/* overlay */ +/* popup */ +/* progress */ +/* radio */ +/* search */ +/* slider */ +/* sort-button */ +/* steps */ +/* switch */ +/* tabs */ +/* tag */ +/* toast */ +/* loading */ +/* tooltip */ +/* popover */ +/* grid-item */ +/* statustip */ +/* card */ +/* upload */ +/* curtain */ +/* notify */ +/* skeleton */ +/* circle */ +/* swiper */ +/* swiper-nav */ +/* segmented */ +/* tabbar */ +/* tabbar-item */ +/* navbar */ +/* navbar-capsule */ +/* table */ +/* sidebar */ +/* sidebar-item */ +/* fab */ +/* count-down */ +/* keyboard */ +/* number-keyboard */ +/* passwod-input */ +/* form-item */ +/* backtop */ +/* index-bar */ +/* text */ +/* video-preview */ +/* img-cropper */ +/* floating-panel */ +/* signature */ +.wot-theme-dark .wd-navbar-capsule::before { + border: 2rpx solid var(--wot-dark-border-color, #3a3a3c); +} +.wot-theme-dark .wd-navbar-capsule::after { + background: var(--wot-dark-border-color, #3a3a3c); +} +.wot-theme-dark .wd-navbar-capsule .wd-navbar-capsule__icon { + color: var(--wot-dark-color, var(--wot-color-white, rgb(255, 255, 255))); +} +.wd-navbar-capsule { + position: relative; + box-sizing: border-box; + width: var(--wot-navbar-capsule-width, 88px); + height: var(--wot-navbar-capsule-height, 32px); + display: flex; + align-items: center; + justify-content: center; +} +.wd-navbar-capsule::before { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 200%; + height: 200%; + transform: scale(0.5); + transform-origin: 0 0; + box-sizing: border-box; + border-radius: calc(var(--wot-navbar-capsule-border-radius, 16px) * 2); + border: 2rpx solid var(--wot-navbar-capsule-border-color, #e7e7e7); +} +.wd-navbar-capsule::after { + content: ""; + display: block; + position: absolute; + left: 50%; + top: 50%; + transform: translateY(-50%); + width: 1px; + height: 36rpx; + background: var(--wot-navbar-capsule-border-color, #e7e7e7); +} +.wd-navbar-capsule:empty { + display: none; +} + .wd-navbar-capsule__icon { + flex: 1; + position: relative; + color: var(--wot-navbar-desc-font-color, var(--wot-font-gray-1, rgba(0, 0, 0, 0.9))); + font-size: var(--wot-navbar-capsule-icon-size, 20px); +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar/types.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar/types.js new file mode 100644 index 0000000..52a24cf --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar/types.js @@ -0,0 +1,17 @@ +"use strict"; +var uni_modules_wotDesignUni_components_common_props = require("../common/props.js"); +const navbarProps = { + ...uni_modules_wotDesignUni_components_common_props.baseProps, + title: String, + leftText: String, + rightText: String, + leftArrow: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + bordered: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(true), + fixed: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + placeholder: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + zIndex: uni_modules_wotDesignUni_components_common_props.makeNumberProp(500), + safeAreaInsetTop: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + leftDisabled: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + rightDisabled: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false) +}; +exports.navbarProps = navbarProps; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar/wd-navbar.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar/wd-navbar.js new file mode 100644 index 0000000..6cc8b2b --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar/wd-navbar.js @@ -0,0 +1,113 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_common_util = require("../common/util.js"); +var uni_modules_wotDesignUni_components_wdNavbar_types = require("./types.js"); +require("../common/AbortablePromise.js"); +require("../common/props.js"); +if (!Math) { + wdIcon(); +} +const wdIcon = () => "../wd-icon/wd-icon.js"; +const __default__ = { + name: "wd-navbar", + options: { + virtualHost: true, + addGlobalClass: true, + styleIsolation: "shared" + } +}; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + ...__default__, + props: uni_modules_wotDesignUni_components_wdNavbar_types.navbarProps, + emits: ["click-left", "click-right"], + setup(__props, { emit }) { + const props = __props; + const height = common_vendor.ref(""); + const { statusBarHeight } = common_vendor.index.getSystemInfoSync(); + common_vendor.watch( + [() => props.fixed, () => props.placeholder], + () => { + setPlaceholderHeight(); + }, + { deep: true, immediate: false } + ); + const rootStyle = common_vendor.computed$1(() => { + const style = {}; + if (props.fixed && uni_modules_wotDesignUni_components_common_util.isDef(props.zIndex)) { + style["z-index"] = props.zIndex; + } + if (props.safeAreaInsetTop) { + style["padding-top"] = uni_modules_wotDesignUni_components_common_util.addUnit(statusBarHeight || 0); + } + return `${uni_modules_wotDesignUni_components_common_util.objToStyle(style)}${props.customStyle}`; + }); + common_vendor.onMounted(() => { + if (props.fixed && props.placeholder) { + common_vendor.nextTick(() => { + setPlaceholderHeight(); + }); + } + }); + function handleClickLeft() { + if (!props.leftDisabled) { + emit("click-left"); + } + } + function handleClickRight() { + if (!props.rightDisabled) { + emit("click-right"); + } + } + const { proxy } = common_vendor.getCurrentInstance(); + function setPlaceholderHeight() { + if (!props.fixed || !props.placeholder) { + return; + } + uni_modules_wotDesignUni_components_common_util.getRect(".wd-navbar", false, proxy).then((res) => { + height.value = res.height; + }); + } + return (_ctx, _cache) => { + return common_vendor.e({ + a: _ctx.$slots.capsule + }, _ctx.$slots.capsule ? {} : !_ctx.$slots.left ? common_vendor.e({ + c: _ctx.leftArrow + }, _ctx.leftArrow ? { + d: common_vendor.p({ + name: "arrow-left", + ["custom-class"]: "wd-navbar__arrow" + }) + } : {}, { + e: _ctx.leftText + }, _ctx.leftText ? { + f: common_vendor.t(_ctx.leftText) + } : {}, { + g: common_vendor.n(`wd-navbar__left ${_ctx.leftDisabled ? "is-disabled" : ""}`), + h: common_vendor.o(handleClickLeft) + }) : { + i: common_vendor.n(`wd-navbar__left ${_ctx.leftDisabled ? "is-disabled" : ""}`), + j: common_vendor.o(handleClickLeft) + }, { + b: !_ctx.$slots.left, + k: !_ctx.$slots.title && _ctx.title + }, !_ctx.$slots.title && _ctx.title ? { + l: common_vendor.t(_ctx.title) + } : {}, { + m: _ctx.$slots.right || _ctx.rightText + }, _ctx.$slots.right || _ctx.rightText ? common_vendor.e({ + n: !_ctx.$slots.right && _ctx.rightText + }, !_ctx.$slots.right && _ctx.rightText ? { + o: common_vendor.t(_ctx.rightText) + } : {}, { + p: common_vendor.n(`wd-navbar__right ${_ctx.rightDisabled ? "is-disabled" : ""}`), + q: common_vendor.o(handleClickRight) + }) : {}, { + r: common_vendor.n(`wd-navbar ${_ctx.customClass} ${_ctx.fixed ? "is-fixed" : ""} ${_ctx.bordered ? "is-border" : ""}`), + s: common_vendor.s(common_vendor.unref(rootStyle)), + t: common_vendor.unref(uni_modules_wotDesignUni_components_common_util.addUnit)(height.value) + }); + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-navbar/wd-navbar.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar/wd-navbar.json b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar/wd-navbar.json new file mode 100644 index 0000000..b3f45a7 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar/wd-navbar.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "wd-icon": "../wd-icon/wd-icon" + } +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar/wd-navbar.wxml b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar/wd-navbar.wxml new file mode 100644 index 0000000..5ff1f35 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar/wd-navbar.wxml @@ -0,0 +1 @@ +{{f}}{{l}}{{o}} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar/wd-navbar.wxss b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar/wd-navbar.wxss new file mode 100644 index 0000000..09485f9 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-navbar/wd-navbar.wxss @@ -0,0 +1,276 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +/** + * 混合宏 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * BEM,定义块(b) + */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 此方法用于生成穿透样式 */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 定义状态(m) */ +/* 定义状态(m) */ +/* 对于需要需要嵌套在 m 底下的 e,调用这个混合宏,一般在切换整个组件的状态,如切换颜色的时候 */ +/* 状态,生成 is-$state 类名 */ +/** + * 常用混合宏 + */ +/* 单行超出隐藏 */ +/* 多行超出隐藏 */ +/* 清除浮动 */ +/* 0.5px 边框 指定方向*/ +/* 0.5px 边框 环绕 */ +/** + * 三角形实现尖角样式,适用于背景透明情况 + * @param $size 三角形高,底边为 $size * 2 + * @param $bg 三角形背景颜色 + */ +/** + * 正方形实现尖角样式,适用于背景不透明情况 + * @param $size 正方形边长 + * @param $bg 正方形背景颜色 + * @param $z-index z-index属性值,不得大于外部包裹器 + * @param $box-shadow 阴影 +*/ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * UI规范基础变量 + */ +/*----------------------------------------- Theme color. start ----------------------------------------*/ +/* 主题颜色 */ +/* 辅助色 */ +/* 文字颜色(默认浅色背景下 */ +/* 暗黑模式 */ +/* 图形颜色 */ +/*----------------------------------------- Theme color. end -------------------------------------------*/ +/*-------------------------------- Theme color application size. start --------------------------------*/ +/* 文字字号 */ +/* 文字字重 */ +/* 尺寸 */ +/*-------------------------------- Theme color application size. end --------------------------------*/ +/* component var */ +/* action-sheet */ +/* badge */ +/* button */ +/* cell */ +/* calendar */ +/* checkbox */ +/* collapse */ +/* divider */ +/* drop-menu */ +/* input-number */ +/* input */ +/* textarea */ +/* loadmore */ +/* message-box */ +/* notice-bar */ +/* pagination */ +/* picker */ +/* col-picker */ +/* overlay */ +/* popup */ +/* progress */ +/* radio */ +/* search */ +/* slider */ +/* sort-button */ +/* steps */ +/* switch */ +/* tabs */ +/* tag */ +/* toast */ +/* loading */ +/* tooltip */ +/* popover */ +/* grid-item */ +/* statustip */ +/* card */ +/* upload */ +/* curtain */ +/* notify */ +/* skeleton */ +/* circle */ +/* swiper */ +/* swiper-nav */ +/* segmented */ +/* tabbar */ +/* tabbar-item */ +/* navbar */ +/* navbar-capsule */ +/* table */ +/* sidebar */ +/* sidebar-item */ +/* fab */ +/* count-down */ +/* keyboard */ +/* number-keyboard */ +/* passwod-input */ +/* form-item */ +/* backtop */ +/* index-bar */ +/* text */ +/* video-preview */ +/* img-cropper */ +/* floating-panel */ +/* signature */ +.wot-theme-dark .wd-navbar { + background-color: var(--wot-dark-background, #131313); +} +.wot-theme-dark .wd-navbar__title { + color: var(--wot-dark-color, var(--wot-color-white, rgb(255, 255, 255))); +} +.wot-theme-dark .wd-navbar__text { + color: var(--wot-dark-color, var(--wot-color-white, rgb(255, 255, 255))); +} +.wot-theme-dark .wd-navbar .wd-navbar__arrow { + color: var(--wot-dark-color, var(--wot-color-white, rgb(255, 255, 255))); +} +.wd-navbar { + position: relative; + text-align: center; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + height: var(--wot-navbar-height, 44px); + line-height: var(--wot-navbar-height, 44px); + background-color: var(--wot-navbar-background, var(--wot-color-white, rgb(255, 255, 255))); + box-sizing: content-box; +} +.wd-navbar__content { + position: relative; + height: 100%; + width: 100%; +} +.wd-navbar__title { + max-width: 60%; + height: 100%; + margin: 0 auto; + color: var(--wot-navbar-color, var(--wot-font-gray-1, rgba(0, 0, 0, 0.9))); + font-weight: var(--wot-navbar-title-font-weight, 600); + font-size: var(--wot-navbar-title-font-size, 18px); + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.wd-navbar__text { + display: inline-block; + vertical-align: middle; + color: var(--wot-navbar-desc-font-color, var(--wot-font-gray-1, rgba(0, 0, 0, 0.9))); +} +.wd-navbar__left, .wd-navbar__right, .wd-navbar__capsule { + position: absolute; + top: 0; + bottom: 0; + font-size: var(--wot-navbar-desc-font-size, 16px); + display: flex; + align-items: center; + padding: 0 12px; +} +.wd-navbar__left.is-disabled, .wd-navbar__right.is-disabled, .wd-navbar__capsule.is-disabled { + opacity: var(--wot-navbar-disabled-opacity, 0.6); +} +.wd-navbar__left, .wd-navbar__capsule { + left: 0; +} +.wd-navbar__right { + right: 0; +} + .wd-navbar__arrow { + font-size: var(--wot-navbar-arrow-size, 24px); + color: var(--wot-navbar-color, var(--wot-font-gray-1, rgba(0, 0, 0, 0.9))); +} +.wd-navbar.is-border { + position: relative; +} +.wd-navbar.is-border::after { + position: absolute; + display: block; + content: ""; + width: 100%; + height: 1px; + left: 0; + bottom: 0; + transform: scaleY(0.5); + background: var(--wot-color-border-light, #e8e8e8); +} +.wd-navbar.is-fixed { + position: fixed; + top: 0; + left: 0; + width: 100%; + z-index: 500; +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-notify/index.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-notify/index.js new file mode 100644 index 0000000..c8c2e03 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-notify/index.js @@ -0,0 +1,2 @@ +"use strict"; +require("../../../../common/vendor.js"); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-overlay/types.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-overlay/types.js new file mode 100644 index 0000000..7f3c4f0 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-overlay/types.js @@ -0,0 +1,13 @@ +"use strict"; +var uni_modules_wotDesignUni_components_common_props = require("../common/props.js"); +const overlayProps = { + ...uni_modules_wotDesignUni_components_common_props.baseProps, + show: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + duration: { + type: [Object, Number, Boolean], + default: 300 + }, + lockScroll: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(true), + zIndex: uni_modules_wotDesignUni_components_common_props.makeNumberProp(10) +}; +exports.overlayProps = overlayProps; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-overlay/wd-overlay.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-overlay/wd-overlay.js new file mode 100644 index 0000000..1d2eaf0 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-overlay/wd-overlay.js @@ -0,0 +1,41 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_wdOverlay_types = require("./types.js"); +require("../common/props.js"); +if (!Math) { + wdTransition(); +} +const wdTransition = () => "../wd-transition/wd-transition.js"; +const __default__ = { + name: "wd-overlay", + options: { + virtualHost: true, + addGlobalClass: true, + styleIsolation: "shared" + } +}; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + ...__default__, + props: uni_modules_wotDesignUni_components_wdOverlay_types.overlayProps, + emits: ["click"], + setup(__props, { emit }) { + function handleClick() { + emit("click"); + } + return (_ctx, _cache) => { + return { + a: common_vendor.o(handleClick), + b: common_vendor.p({ + show: _ctx.show, + name: "fade", + ["custom-class"]: "wd-overlay", + duration: _ctx.duration, + ["custom-style"]: `z-index: ${_ctx.zIndex}; ${_ctx.customStyle}`, + ["disable-touch-move"]: _ctx.lockScroll + }) + }; + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-overlay/wd-overlay.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-overlay/wd-overlay.json b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-overlay/wd-overlay.json new file mode 100644 index 0000000..6146a95 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-overlay/wd-overlay.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "wd-transition": "../wd-transition/wd-transition" + } +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-overlay/wd-overlay.wxml b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-overlay/wd-overlay.wxml new file mode 100644 index 0000000..50a0eee --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-overlay/wd-overlay.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-overlay/wd-overlay.wxss b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-overlay/wd-overlay.wxss new file mode 100644 index 0000000..ba39aae --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-overlay/wd-overlay.wxss @@ -0,0 +1,200 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +/** + * 混合宏 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * BEM,定义块(b) + */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 此方法用于生成穿透样式 */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 定义状态(m) */ +/* 定义状态(m) */ +/* 对于需要需要嵌套在 m 底下的 e,调用这个混合宏,一般在切换整个组件的状态,如切换颜色的时候 */ +/* 状态,生成 is-$state 类名 */ +/** + * 常用混合宏 + */ +/* 单行超出隐藏 */ +/* 多行超出隐藏 */ +/* 清除浮动 */ +/* 0.5px 边框 指定方向*/ +/* 0.5px 边框 环绕 */ +/** + * 三角形实现尖角样式,适用于背景透明情况 + * @param $size 三角形高,底边为 $size * 2 + * @param $bg 三角形背景颜色 + */ +/** + * 正方形实现尖角样式,适用于背景不透明情况 + * @param $size 正方形边长 + * @param $bg 正方形背景颜色 + * @param $z-index z-index属性值,不得大于外部包裹器 + * @param $box-shadow 阴影 +*/ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * UI规范基础变量 + */ +/*----------------------------------------- Theme color. start ----------------------------------------*/ +/* 主题颜色 */ +/* 辅助色 */ +/* 文字颜色(默认浅色背景下 */ +/* 暗黑模式 */ +/* 图形颜色 */ +/*----------------------------------------- Theme color. end -------------------------------------------*/ +/*-------------------------------- Theme color application size. start --------------------------------*/ +/* 文字字号 */ +/* 文字字重 */ +/* 尺寸 */ +/*-------------------------------- Theme color application size. end --------------------------------*/ +/* component var */ +/* action-sheet */ +/* badge */ +/* button */ +/* cell */ +/* calendar */ +/* checkbox */ +/* collapse */ +/* divider */ +/* drop-menu */ +/* input-number */ +/* input */ +/* textarea */ +/* loadmore */ +/* message-box */ +/* notice-bar */ +/* pagination */ +/* picker */ +/* col-picker */ +/* overlay */ +/* popup */ +/* progress */ +/* radio */ +/* search */ +/* slider */ +/* sort-button */ +/* steps */ +/* switch */ +/* tabs */ +/* tag */ +/* toast */ +/* loading */ +/* tooltip */ +/* popover */ +/* grid-item */ +/* statustip */ +/* card */ +/* upload */ +/* curtain */ +/* notify */ +/* skeleton */ +/* circle */ +/* swiper */ +/* swiper-nav */ +/* segmented */ +/* tabbar */ +/* tabbar-item */ +/* navbar */ +/* navbar-capsule */ +/* table */ +/* sidebar */ +/* sidebar-item */ +/* fab */ +/* count-down */ +/* keyboard */ +/* number-keyboard */ +/* passwod-input */ +/* form-item */ +/* backtop */ +/* index-bar */ +/* text */ +/* video-preview */ +/* img-cropper */ +/* floating-panel */ +/* signature */ +.wot-theme-dark .wd-overlay { + background: var(--wot-overlay-bg-dark, rgba(0, 0, 0, 0.75)); +} +.wd-overlay { + position: fixed; + left: 0; + top: 0; + right: 0; + bottom: 0; + background: var(--wot-overlay-bg, rgba(0, 0, 0, 0.65)); +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-popup/types.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-popup/types.js new file mode 100644 index 0000000..78428c3 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-popup/types.js @@ -0,0 +1,23 @@ +"use strict"; +var uni_modules_wotDesignUni_components_common_props = require("../common/props.js"); +const popupProps = { + ...uni_modules_wotDesignUni_components_common_props.baseProps, + transition: String, + closable: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + position: uni_modules_wotDesignUni_components_common_props.makeStringProp("center"), + closeOnClickModal: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(true), + duration: { + type: [Number, Boolean], + default: 300 + }, + modal: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(true), + zIndex: uni_modules_wotDesignUni_components_common_props.makeNumberProp(10), + hideWhenClose: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(true), + modalStyle: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + safeAreaInsetBottom: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + modelValue: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + lazyRender: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(true), + lockScroll: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(true), + rootPortal: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false) +}; +exports.popupProps = popupProps; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-popup/wd-popup.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-popup/wd-popup.js new file mode 100644 index 0000000..c9e2120 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-popup/wd-popup.js @@ -0,0 +1,166 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_wdPopup_types = require("./types.js"); +require("../common/props.js"); +if (!Math) { + (wdOverlay + wdIcon + wdTransition + wdRootPortal)(); +} +const wdIcon = () => "../wd-icon/wd-icon.js"; +const wdOverlay = () => "../wd-overlay/wd-overlay.js"; +const wdTransition = () => "../wd-transition/wd-transition.js"; +const wdRootPortal = () => "../wd-root-portal/wd-root-portal.js"; +const __default__ = { + name: "wd-popup", + options: { + virtualHost: true, + addGlobalClass: true, + styleIsolation: "shared" + } +}; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + ...__default__, + props: uni_modules_wotDesignUni_components_wdPopup_types.popupProps, + emits: [ + "update:modelValue", + "before-enter", + "enter", + "before-leave", + "leave", + "after-leave", + "after-enter", + "click-modal", + "close" + ], + setup(__props, { emit }) { + const props = __props; + const transitionName = common_vendor.computed$1(() => { + if (props.transition) { + return props.transition; + } + if (props.position === "center") { + return ["zoom-in", "fade"]; + } + if (props.position === "left") { + return "slide-left"; + } + if (props.position === "right") { + return "slide-right"; + } + if (props.position === "bottom") { + return "slide-up"; + } + if (props.position === "top") { + return "slide-down"; + } + return "slide-up"; + }); + const safeBottom = common_vendor.ref(0); + const style = common_vendor.computed$1(() => { + return `z-index:${props.zIndex}; padding-bottom: ${safeBottom.value}px;${props.customStyle}`; + }); + const rootClass = common_vendor.computed$1(() => { + return `wd-popup wd-popup--${props.position} ${!props.transition && props.position === "center" ? "is-deep" : ""} ${props.customClass || ""}`; + }); + common_vendor.onBeforeMount(() => { + if (props.safeAreaInsetBottom) { + const { safeArea, screenHeight, safeAreaInsets } = common_vendor.index.getSystemInfoSync(); + if (safeArea) { + safeBottom.value = screenHeight - (safeArea.bottom || 0); + } else { + safeBottom.value = 0; + } + } + }); + function handleClickModal() { + emit("click-modal"); + if (props.closeOnClickModal) { + close(); + } + } + function close() { + emit("close"); + emit("update:modelValue", false); + } + function noop() { + } + return (_ctx, _cache) => { + return common_vendor.e({ + a: _ctx.rootPortal + }, _ctx.rootPortal ? common_vendor.e({ + b: _ctx.modal + }, _ctx.modal ? { + c: common_vendor.o(handleClickModal), + d: common_vendor.o(noop), + e: common_vendor.p({ + show: _ctx.modelValue, + ["z-index"]: _ctx.zIndex, + ["lock-scroll"]: _ctx.lockScroll, + duration: _ctx.duration, + ["custom-style"]: _ctx.modalStyle + }) + } : {}, { + f: _ctx.closable + }, _ctx.closable ? { + g: common_vendor.o(close), + h: common_vendor.p({ + ["custom-class"]: "wd-popup__close", + name: "add" + }) + } : {}, { + i: common_vendor.o(($event) => emit("before-enter")), + j: common_vendor.o(($event) => emit("enter")), + k: common_vendor.o(($event) => emit("after-enter")), + l: common_vendor.o(($event) => emit("before-leave")), + m: common_vendor.o(($event) => emit("leave")), + n: common_vendor.o(($event) => emit("after-leave")), + o: common_vendor.p({ + ["lazy-render"]: _ctx.lazyRender, + ["custom-class"]: common_vendor.unref(rootClass), + ["custom-style"]: common_vendor.unref(style), + duration: _ctx.duration, + show: _ctx.modelValue, + name: common_vendor.unref(transitionName), + destroy: _ctx.hideWhenClose + }) + }) : common_vendor.e({ + p: _ctx.modal + }, _ctx.modal ? { + q: common_vendor.o(handleClickModal), + r: common_vendor.o(noop), + s: common_vendor.p({ + show: _ctx.modelValue, + ["z-index"]: _ctx.zIndex, + ["lock-scroll"]: _ctx.lockScroll, + duration: _ctx.duration, + ["custom-style"]: _ctx.modalStyle + }) + } : {}, { + t: _ctx.closable + }, _ctx.closable ? { + v: common_vendor.o(close), + w: common_vendor.p({ + ["custom-class"]: "wd-popup__close", + name: "add" + }) + } : {}, { + x: common_vendor.o(($event) => emit("before-enter")), + y: common_vendor.o(($event) => emit("enter")), + z: common_vendor.o(($event) => emit("after-enter")), + A: common_vendor.o(($event) => emit("before-leave")), + B: common_vendor.o(($event) => emit("leave")), + C: common_vendor.o(($event) => emit("after-leave")), + D: common_vendor.p({ + ["lazy-render"]: _ctx.lazyRender, + ["custom-class"]: common_vendor.unref(rootClass), + ["custom-style"]: common_vendor.unref(style), + duration: _ctx.duration, + show: _ctx.modelValue, + name: common_vendor.unref(transitionName), + destroy: _ctx.hideWhenClose + }) + })); + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-1bee1693"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-popup/wd-popup.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-popup/wd-popup.json b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-popup/wd-popup.json new file mode 100644 index 0000000..a069c2d --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-popup/wd-popup.json @@ -0,0 +1,9 @@ +{ + "component": true, + "usingComponents": { + "wd-icon": "../wd-icon/wd-icon", + "wd-overlay": "../wd-overlay/wd-overlay", + "wd-transition": "../wd-transition/wd-transition", + "wd-root-portal": "../wd-root-portal/wd-root-portal" + } +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-popup/wd-popup.wxml b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-popup/wd-popup.wxml new file mode 100644 index 0000000..0bd2782 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-popup/wd-popup.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-popup/wd-popup.wxss b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-popup/wd-popup.wxss new file mode 100644 index 0000000..0df6828 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-popup/wd-popup.wxss @@ -0,0 +1,241 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +/** + * 混合宏 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * BEM,定义块(b) + */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 此方法用于生成穿透样式 */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 定义状态(m) */ +/* 定义状态(m) */ +/* 对于需要需要嵌套在 m 底下的 e,调用这个混合宏,一般在切换整个组件的状态,如切换颜色的时候 */ +/* 状态,生成 is-$state 类名 */ +/** + * 常用混合宏 + */ +/* 单行超出隐藏 */ +/* 多行超出隐藏 */ +/* 清除浮动 */ +/* 0.5px 边框 指定方向*/ +/* 0.5px 边框 环绕 */ +/** + * 三角形实现尖角样式,适用于背景透明情况 + * @param $size 三角形高,底边为 $size * 2 + * @param $bg 三角形背景颜色 + */ +/** + * 正方形实现尖角样式,适用于背景不透明情况 + * @param $size 正方形边长 + * @param $bg 正方形背景颜色 + * @param $z-index z-index属性值,不得大于外部包裹器 + * @param $box-shadow 阴影 +*/ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * UI规范基础变量 + */ +/*----------------------------------------- Theme color. start ----------------------------------------*/ +/* 主题颜色 */ +/* 辅助色 */ +/* 文字颜色(默认浅色背景下 */ +/* 暗黑模式 */ +/* 图形颜色 */ +/*----------------------------------------- Theme color. end -------------------------------------------*/ +/*-------------------------------- Theme color application size. start --------------------------------*/ +/* 文字字号 */ +/* 文字字重 */ +/* 尺寸 */ +/*-------------------------------- Theme color application size. end --------------------------------*/ +/* component var */ +/* action-sheet */ +/* badge */ +/* button */ +/* cell */ +/* calendar */ +/* checkbox */ +/* collapse */ +/* divider */ +/* drop-menu */ +/* input-number */ +/* input */ +/* textarea */ +/* loadmore */ +/* message-box */ +/* notice-bar */ +/* pagination */ +/* picker */ +/* col-picker */ +/* overlay */ +/* popup */ +/* progress */ +/* radio */ +/* search */ +/* slider */ +/* sort-button */ +/* steps */ +/* switch */ +/* tabs */ +/* tag */ +/* toast */ +/* loading */ +/* tooltip */ +/* popover */ +/* grid-item */ +/* statustip */ +/* card */ +/* upload */ +/* curtain */ +/* notify */ +/* skeleton */ +/* circle */ +/* swiper */ +/* swiper-nav */ +/* segmented */ +/* tabbar */ +/* tabbar-item */ +/* navbar */ +/* navbar-capsule */ +/* table */ +/* sidebar */ +/* sidebar-item */ +/* fab */ +/* count-down */ +/* keyboard */ +/* number-keyboard */ +/* passwod-input */ +/* form-item */ +/* backtop */ +/* index-bar */ +/* text */ +/* video-preview */ +/* img-cropper */ +/* floating-panel */ +/* signature */ +.wot-theme-dark .wd-popup-wrapper.data-v-1bee1693 .wd-popup { + background: var(--wot-dark-background2, #1b1b1b); +} +.wot-theme-dark .wd-popup-wrapper.data-v-1bee1693 .wd-popup__close { + color: var(--wot-dark-color, var(--wot-color-white, rgb(255, 255, 255))); +} +.wd-popup-wrapper.data-v-1bee1693 .wd-popup { + position: fixed; + max-height: 100%; + overflow-y: auto; + background: #fff; +} +.data-v-1bee1693 .wd-popup__close { + position: absolute; + top: 10px; + right: 10px; + color: var(--wot-popup-close-color, #666); + font-size: var(--wot-popup-close-size, 24px); + transform: rotate(-45deg); +} +.data-v-1bee1693 .wd-popup--center { + left: 50%; + top: 50%; + transform: translate3d(-50%, -50%, 0); + transform-origin: 0% 0%; +} +.data-v-1bee1693 .wd-popup--center.wd-zoom-in-enter,.data-v-1bee1693 .wd-popup--center.wd-zoom-in-leave-to { + transform: scale(0.8) translate3d(-50%, -50%, 0) !important; +} +.data-v-1bee1693 .wd-popup--center.is-deep.wd-zoom-in-enter,.data-v-1bee1693 .wd-popup--center.is-deep.wd-zoom-in-leave-to { + transform: scale(0.1) translate3d(-50%, -50%, 0) !important; +} +.data-v-1bee1693 .wd-popup--left { + top: 0; + bottom: 0; + left: 0; +} +.data-v-1bee1693 .wd-popup--right { + top: 0; + right: 0; + bottom: 0; +} +.data-v-1bee1693 .wd-popup--top { + top: 0; + left: 0; + right: 0; +} +.data-v-1bee1693 .wd-popup--bottom { + right: 0; + bottom: 0; + left: 0; +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-root-portal/wd-root-portal.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-root-portal/wd-root-portal.js new file mode 100644 index 0000000..5b21089 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-root-portal/wd-root-portal.js @@ -0,0 +1,19 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +const _sfc_main = { + name: "wd-root-portal", + options: { + virtualHost: true, + addGlobalClass: true, + styleIsolation: "shared" + } +}; +if (!Array) { + const _component_root_portal = common_vendor.resolveComponent("root-portal"); + _component_root_portal(); +} +function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { + return {}; +} +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-root-portal/wd-root-portal.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-root-portal/wd-root-portal.json b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-root-portal/wd-root-portal.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-root-portal/wd-root-portal.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-root-portal/wd-root-portal.wxml b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-root-portal/wd-root-portal.wxml new file mode 100644 index 0000000..c9f8b55 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-root-portal/wd-root-portal.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-root-portal/wd-root-portal.wxss b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-root-portal/wd-root-portal.wxss new file mode 100644 index 0000000..e69de29 diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-row/types.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-row/types.js new file mode 100644 index 0000000..a4dc219 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-row/types.js @@ -0,0 +1,9 @@ +"use strict"; +var uni_modules_wotDesignUni_components_common_props = require("../common/props.js"); +const ROW_KEY = Symbol("wd-row"); +const rowProps = { + ...uni_modules_wotDesignUni_components_common_props.baseProps, + gutter: uni_modules_wotDesignUni_components_common_props.makeNumberProp(0) +}; +exports.ROW_KEY = ROW_KEY; +exports.rowProps = rowProps; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-row/wd-row.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-row/wd-row.js new file mode 100644 index 0000000..bf2ed1e --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-row/wd-row.js @@ -0,0 +1,43 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_composables_useChildren = require("../composables/useChildren.js"); +var uni_modules_wotDesignUni_components_wdRow_types = require("./types.js"); +var uni_modules_wotDesignUni_components_common_util = require("../common/util.js"); +require("../common/props.js"); +require("../common/AbortablePromise.js"); +const __default__ = { + name: "wd-row", + options: { + virtualHost: true, + addGlobalClass: true, + styleIsolation: "shared" + } +}; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + ...__default__, + props: uni_modules_wotDesignUni_components_wdRow_types.rowProps, + setup(__props) { + const props = __props; + const { linkChildren } = uni_modules_wotDesignUni_components_composables_useChildren.useChildren(uni_modules_wotDesignUni_components_wdRow_types.ROW_KEY); + linkChildren({ props }); + const rowStyle = common_vendor.computed$1(() => { + const style = {}; + const { gutter } = props; + if (gutter < 0) { + console.error("[wot ui] warning(wd-row): attribute gutter must be greater than or equal to 0"); + } else if (gutter) { + style.marginLeft = uni_modules_wotDesignUni_components_common_util.addUnit(gutter / 2); + style.marginRight = uni_modules_wotDesignUni_components_common_util.addUnit(gutter / 2); + } + return `${uni_modules_wotDesignUni_components_common_util.objToStyle(style)}${props.customStyle}`; + }); + return (_ctx, _cache) => { + return { + a: common_vendor.n(`wd-row ${_ctx.customClass}`), + b: common_vendor.s(common_vendor.unref(rowStyle)) + }; + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-0da73193"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-row/wd-row.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-row/wd-row.json b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-row/wd-row.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-row/wd-row.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-row/wd-row.wxml b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-row/wd-row.wxml new file mode 100644 index 0000000..736c524 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-row/wd-row.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-row/wd-row.wxss b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-row/wd-row.wxss new file mode 100644 index 0000000..7b0dac4 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-row/wd-row.wxss @@ -0,0 +1,194 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * UI规范基础变量 + */ +/*----------------------------------------- Theme color. start ----------------------------------------*/ +/* 主题颜色 */ +/* 辅助色 */ +/* 文字颜色(默认浅色背景下 */ +/* 暗黑模式 */ +/* 图形颜色 */ +/*----------------------------------------- Theme color. end -------------------------------------------*/ +/*-------------------------------- Theme color application size. start --------------------------------*/ +/* 文字字号 */ +/* 文字字重 */ +/* 尺寸 */ +/*-------------------------------- Theme color application size. end --------------------------------*/ +/* component var */ +/* action-sheet */ +/* badge */ +/* button */ +/* cell */ +/* calendar */ +/* checkbox */ +/* collapse */ +/* divider */ +/* drop-menu */ +/* input-number */ +/* input */ +/* textarea */ +/* loadmore */ +/* message-box */ +/* notice-bar */ +/* pagination */ +/* picker */ +/* col-picker */ +/* overlay */ +/* popup */ +/* progress */ +/* radio */ +/* search */ +/* slider */ +/* sort-button */ +/* steps */ +/* switch */ +/* tabs */ +/* tag */ +/* toast */ +/* loading */ +/* tooltip */ +/* popover */ +/* grid-item */ +/* statustip */ +/* card */ +/* upload */ +/* curtain */ +/* notify */ +/* skeleton */ +/* circle */ +/* swiper */ +/* swiper-nav */ +/* segmented */ +/* tabbar */ +/* tabbar-item */ +/* navbar */ +/* navbar-capsule */ +/* table */ +/* sidebar */ +/* sidebar-item */ +/* fab */ +/* count-down */ +/* keyboard */ +/* number-keyboard */ +/* passwod-input */ +/* form-item */ +/* backtop */ +/* index-bar */ +/* text */ +/* video-preview */ +/* img-cropper */ +/* floating-panel */ +/* signature */ +/** + * 混合宏 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * BEM,定义块(b) + */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 此方法用于生成穿透样式 */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 定义状态(m) */ +/* 定义状态(m) */ +/* 对于需要需要嵌套在 m 底下的 e,调用这个混合宏,一般在切换整个组件的状态,如切换颜色的时候 */ +/* 状态,生成 is-$state 类名 */ +/** + * 常用混合宏 + */ +/* 单行超出隐藏 */ +/* 多行超出隐藏 */ +/* 清除浮动 */ +/* 0.5px 边框 指定方向*/ +/* 0.5px 边框 环绕 */ +/** + * 三角形实现尖角样式,适用于背景透明情况 + * @param $size 三角形高,底边为 $size * 2 + * @param $bg 三角形背景颜色 + */ +/** + * 正方形实现尖角样式,适用于背景不透明情况 + * @param $size 正方形边长 + * @param $bg 正方形背景颜色 + * @param $z-index z-index属性值,不得大于外部包裹器 + * @param $box-shadow 阴影 +*/ +.wd-row.data-v-0da73193::after { + display: table; + clear: both; + content: ""; +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-status-tip/types.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-status-tip/types.js new file mode 100644 index 0000000..b871e2c --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-status-tip/types.js @@ -0,0 +1,14 @@ +"use strict"; +var uni_modules_wotDesignUni_components_common_props = require("../common/props.js"); +const statusTipProps = { + ...uni_modules_wotDesignUni_components_common_props.baseProps, + image: uni_modules_wotDesignUni_components_common_props.makeStringProp("network"), + imageSize: { + type: [String, Number, Object], + default: "" + }, + tip: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + imageMode: uni_modules_wotDesignUni_components_common_props.makeStringProp("aspectFill"), + urlPrefix: uni_modules_wotDesignUni_components_common_props.makeStringProp("https://registry.npmmirror.com/wot-design-uni-assets/*/files/") +}; +exports.statusTipProps = statusTipProps; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-status-tip/wd-status-tip.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-status-tip/wd-status-tip.js new file mode 100644 index 0000000..fa1037f --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-status-tip/wd-status-tip.js @@ -0,0 +1,71 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_common_util = require("../common/util.js"); +var uni_modules_wotDesignUni_components_wdStatusTip_types = require("./types.js"); +require("../common/AbortablePromise.js"); +require("../common/props.js"); +if (!Math) { + wdImg(); +} +const wdImg = () => "../wd-img/wd-img.js"; +const __default__ = { + name: "wd-status-tip", + options: { + addGlobalClass: true, + virtualHost: true, + styleIsolation: "shared" + } +}; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + ...__default__, + props: uni_modules_wotDesignUni_components_wdStatusTip_types.statusTipProps, + setup(__props) { + const props = __props; + const imgUrl = common_vendor.computed$1(() => { + let img = ""; + if (["search", "network", "content", "collect", "comment", "halo", "message"].includes(props.image)) { + img = `${props.urlPrefix}${props.image}.png`; + } else { + img = props.image; + } + return img; + }); + const imgStyle = common_vendor.computed$1(() => { + let style = {}; + if (props.imageSize) { + if (uni_modules_wotDesignUni_components_common_util.isObj(props.imageSize)) { + uni_modules_wotDesignUni_components_common_util.isDef(props.imageSize.height) && (style.height = uni_modules_wotDesignUni_components_common_util.addUnit(props.imageSize.height)); + uni_modules_wotDesignUni_components_common_util.isDef(props.imageSize.width) && (style.width = uni_modules_wotDesignUni_components_common_util.addUnit(props.imageSize.width)); + } else { + style = { + height: uni_modules_wotDesignUni_components_common_util.addUnit(props.imageSize), + width: uni_modules_wotDesignUni_components_common_util.addUnit(props.imageSize) + }; + } + } + return `${uni_modules_wotDesignUni_components_common_util.objToStyle(style)}`; + }); + return (_ctx, _cache) => { + return common_vendor.e({ + a: _ctx.$slots.image + }, _ctx.$slots.image ? {} : common_vendor.unref(imgUrl) ? { + c: common_vendor.p({ + mode: _ctx.imageMode, + src: common_vendor.unref(imgUrl), + ["custom-class"]: "wd-status-tip__image", + ["custom-style"]: common_vendor.unref(imgStyle) + }) + } : {}, { + b: common_vendor.unref(imgUrl), + d: _ctx.tip + }, _ctx.tip ? { + e: common_vendor.t(_ctx.tip) + } : {}, { + f: common_vendor.n(`wd-status-tip ${_ctx.customClass}`), + g: common_vendor.s(_ctx.customStyle) + }); + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-8582d2d6"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-status-tip/wd-status-tip.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-status-tip/wd-status-tip.json b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-status-tip/wd-status-tip.json new file mode 100644 index 0000000..eac1aef --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-status-tip/wd-status-tip.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "wd-img": "../wd-img/wd-img" + } +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-status-tip/wd-status-tip.wxml b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-status-tip/wd-status-tip.wxml new file mode 100644 index 0000000..30ae23a --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-status-tip/wd-status-tip.wxml @@ -0,0 +1 @@ +{{e}} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-status-tip/wd-status-tip.wxss b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-status-tip/wd-status-tip.wxss new file mode 100644 index 0000000..e48d28f --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-status-tip/wd-status-tip.wxss @@ -0,0 +1,219 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * UI规范基础变量 + */ +/*----------------------------------------- Theme color. start ----------------------------------------*/ +/* 主题颜色 */ +/* 辅助色 */ +/* 文字颜色(默认浅色背景下 */ +/* 暗黑模式 */ +/* 图形颜色 */ +/*----------------------------------------- Theme color. end -------------------------------------------*/ +/*-------------------------------- Theme color application size. start --------------------------------*/ +/* 文字字号 */ +/* 文字字重 */ +/* 尺寸 */ +/*-------------------------------- Theme color application size. end --------------------------------*/ +/* component var */ +/* action-sheet */ +/* badge */ +/* button */ +/* cell */ +/* calendar */ +/* checkbox */ +/* collapse */ +/* divider */ +/* drop-menu */ +/* input-number */ +/* input */ +/* textarea */ +/* loadmore */ +/* message-box */ +/* notice-bar */ +/* pagination */ +/* picker */ +/* col-picker */ +/* overlay */ +/* popup */ +/* progress */ +/* radio */ +/* search */ +/* slider */ +/* sort-button */ +/* steps */ +/* switch */ +/* tabs */ +/* tag */ +/* toast */ +/* loading */ +/* tooltip */ +/* popover */ +/* grid-item */ +/* statustip */ +/* card */ +/* upload */ +/* curtain */ +/* notify */ +/* skeleton */ +/* circle */ +/* swiper */ +/* swiper-nav */ +/* segmented */ +/* tabbar */ +/* tabbar-item */ +/* navbar */ +/* navbar-capsule */ +/* table */ +/* sidebar */ +/* sidebar-item */ +/* fab */ +/* count-down */ +/* keyboard */ +/* number-keyboard */ +/* passwod-input */ +/* form-item */ +/* backtop */ +/* index-bar */ +/* text */ +/* video-preview */ +/* img-cropper */ +/* floating-panel */ +/* signature */ +/** + * 混合宏 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * BEM,定义块(b) + */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 此方法用于生成穿透样式 */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 定义状态(m) */ +/* 定义状态(m) */ +/* 对于需要需要嵌套在 m 底下的 e,调用这个混合宏,一般在切换整个组件的状态,如切换颜色的时候 */ +/* 状态,生成 is-$state 类名 */ +/** + * 常用混合宏 + */ +/* 单行超出隐藏 */ +/* 多行超出隐藏 */ +/* 清除浮动 */ +/* 0.5px 边框 指定方向*/ +/* 0.5px 边框 环绕 */ +/** + * 三角形实现尖角样式,适用于背景透明情况 + * @param $size 三角形高,底边为 $size * 2 + * @param $bg 三角形背景颜色 + */ +/** + * 正方形实现尖角样式,适用于背景不透明情况 + * @param $size 正方形边长 + * @param $bg 正方形背景颜色 + * @param $z-index z-index属性值,不得大于外部包裹器 + * @param $box-shadow 阴影 +*/ +.wot-theme-dark.data-v-8582d2d6 { + background-color: var(--wot-dark-background2, #1b1b1b); +} +.wot-theme-dark .wd-status-tip__text.data-v-8582d2d6 { + color: var(--wot-dark-color3, rgba(232, 230, 227, 0.8)); +} +.wd-status-tip.data-v-8582d2d6 { + padding: var(--wot-statustip-padding, 5px 10px); + width: 100%; + margin: 0 auto; + color: var(--wot-statustip-color, rgba(0, 0, 0, 0.45)); + font-size: var(--wot-statustip-fs, var(--wot-fs-content, 14px)); + box-sizing: border-box; + display: flex; + flex-direction: column; + align-items: center; +} +.data-v-8582d2d6 .wd-status-tip__image { + margin: 0 auto; + width: 160px; + height: 160px; +} +.wd-status-tip__text.data-v-8582d2d6 { + margin: 20px auto 0; + font-size: var(--wot-statustip-fs, var(--wot-fs-content, 14px)); + line-height: var(--wot-statustip-line-height, 16px); + color: var(--wot-statustip-color, rgba(0, 0, 0, 0.45)); + text-align: center; + overflow-wrap: break-word; +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar-item/types.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar-item/types.js new file mode 100644 index 0000000..da88154 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar-item/types.js @@ -0,0 +1,19 @@ +"use strict"; +var uni_modules_wotDesignUni_components_common_props = require("../common/props.js"); +const tabbarItemProps = { + ...uni_modules_wotDesignUni_components_common_props.baseProps, + title: String, + name: uni_modules_wotDesignUni_components_common_props.numericProp, + icon: String, + value: { + type: [Number, String, null], + default: null + }, + isDot: { + type: Boolean, + default: void 0 + }, + max: Number, + badgeProps: Object +}; +exports.tabbarItemProps = tabbarItemProps; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar-item/wd-tabbar-item.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar-item/wd-tabbar-item.js new file mode 100644 index 0000000..2f113a0 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar-item/wd-tabbar-item.js @@ -0,0 +1,103 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_common_util = require("../common/util.js"); +var uni_modules_wotDesignUni_components_composables_useParent = require("../composables/useParent.js"); +var uni_modules_wotDesignUni_components_wdTabbar_types = require("../wd-tabbar/types.js"); +var uni_modules_wotDesignUni_components_wdTabbarItem_types = require("./types.js"); +require("../common/AbortablePromise.js"); +require("../common/props.js"); +if (!Math) { + (wdIcon + wdBadge)(); +} +const wdBadge = () => "../wd-badge/wd-badge.js"; +const wdIcon = () => "../wd-icon/wd-icon.js"; +const __default__ = { + name: "wd-tabbar-item", + options: { + addGlobalClass: true, + virtualHost: true, + styleIsolation: "shared" + } +}; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + ...__default__, + props: uni_modules_wotDesignUni_components_wdTabbarItem_types.tabbarItemProps, + setup(__props) { + const props = __props; + const { parent: tabbar, index } = uni_modules_wotDesignUni_components_composables_useParent.useParent(uni_modules_wotDesignUni_components_wdTabbar_types.TABBAR_KEY); + const customBadgeProps = common_vendor.computed$1(() => { + const badgeProps = uni_modules_wotDesignUni_components_common_util.deepAssign( + uni_modules_wotDesignUni_components_common_util.isDef(props.badgeProps) ? uni_modules_wotDesignUni_components_common_util.omitBy(props.badgeProps, uni_modules_wotDesignUni_components_common_util.isUndefined) : {}, + uni_modules_wotDesignUni_components_common_util.omitBy( + { + max: props.max, + isDot: props.isDot, + modelValue: props.value + }, + uni_modules_wotDesignUni_components_common_util.isUndefined + ) + ); + if (!uni_modules_wotDesignUni_components_common_util.isDef(badgeProps.max)) { + badgeProps.max = 99; + } + return badgeProps; + }); + const textStyle = common_vendor.computed$1(() => { + const style = {}; + if (tabbar) { + if (active.value && tabbar.props.activeColor) { + style["color"] = tabbar.props.activeColor; + } + if (!active.value && tabbar.props.inactiveColor) { + style["color"] = tabbar.props.inactiveColor; + } + } + return `${uni_modules_wotDesignUni_components_common_util.objToStyle(style)}`; + }); + const active = common_vendor.computed$1(() => { + const name = uni_modules_wotDesignUni_components_common_util.isDef(props.name) ? props.name : index.value; + if (tabbar) { + if (tabbar.props.modelValue === name) { + return true; + } else { + return false; + } + } else { + return false; + } + }); + function handleClick() { + const name = uni_modules_wotDesignUni_components_common_util.isDef(props.name) ? props.name : index.value; + tabbar && tabbar.setChange({ name }); + } + return (_ctx, _cache) => { + return common_vendor.e({ + a: common_vendor.r("icon", { + active: common_vendor.unref(active) + }), + b: !_ctx.$slots.icon && _ctx.icon + }, !_ctx.$slots.icon && _ctx.icon ? { + c: common_vendor.p({ + name: _ctx.icon, + ["custom-style"]: common_vendor.unref(textStyle), + ["custom-class"]: `wd-tabbar-item__body-icon ${common_vendor.unref(active) ? "is-active" : "is-inactive"}` + }) + } : {}, { + d: _ctx.title + }, _ctx.title ? { + e: common_vendor.t(_ctx.title), + f: common_vendor.s(common_vendor.unref(textStyle)), + g: common_vendor.n(`wd-tabbar-item__body-title ${common_vendor.unref(active) ? "is-active" : "is-inactive"}`) + } : {}, { + h: common_vendor.p({ + ...common_vendor.unref(customBadgeProps) + }), + i: common_vendor.n(`wd-tabbar-item ${_ctx.customClass}`), + j: common_vendor.s(_ctx.customStyle), + k: common_vendor.o(handleClick) + }); + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-3d913b93"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-tabbar-item/wd-tabbar-item.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar-item/wd-tabbar-item.json b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar-item/wd-tabbar-item.json new file mode 100644 index 0000000..2ba30c0 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar-item/wd-tabbar-item.json @@ -0,0 +1,7 @@ +{ + "component": true, + "usingComponents": { + "wd-badge": "../wd-badge/wd-badge", + "wd-icon": "../wd-icon/wd-icon" + } +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar-item/wd-tabbar-item.wxml b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar-item/wd-tabbar-item.wxml new file mode 100644 index 0000000..9bda8c3 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar-item/wd-tabbar-item.wxml @@ -0,0 +1 @@ +{{e}} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar-item/wd-tabbar-item.wxss b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar-item/wd-tabbar-item.wxss new file mode 100644 index 0000000..80b7b03 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar-item/wd-tabbar-item.wxss @@ -0,0 +1,222 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * UI规范基础变量 + */ +/*----------------------------------------- Theme color. start ----------------------------------------*/ +/* 主题颜色 */ +/* 辅助色 */ +/* 文字颜色(默认浅色背景下 */ +/* 暗黑模式 */ +/* 图形颜色 */ +/*----------------------------------------- Theme color. end -------------------------------------------*/ +/*-------------------------------- Theme color application size. start --------------------------------*/ +/* 文字字号 */ +/* 文字字重 */ +/* 尺寸 */ +/*-------------------------------- Theme color application size. end --------------------------------*/ +/* component var */ +/* action-sheet */ +/* badge */ +/* button */ +/* cell */ +/* calendar */ +/* checkbox */ +/* collapse */ +/* divider */ +/* drop-menu */ +/* input-number */ +/* input */ +/* textarea */ +/* loadmore */ +/* message-box */ +/* notice-bar */ +/* pagination */ +/* picker */ +/* col-picker */ +/* overlay */ +/* popup */ +/* progress */ +/* radio */ +/* search */ +/* slider */ +/* sort-button */ +/* steps */ +/* switch */ +/* tabs */ +/* tag */ +/* toast */ +/* loading */ +/* tooltip */ +/* popover */ +/* grid-item */ +/* statustip */ +/* card */ +/* upload */ +/* curtain */ +/* notify */ +/* skeleton */ +/* circle */ +/* swiper */ +/* swiper-nav */ +/* segmented */ +/* tabbar */ +/* tabbar-item */ +/* navbar */ +/* navbar-capsule */ +/* table */ +/* sidebar */ +/* sidebar-item */ +/* fab */ +/* count-down */ +/* keyboard */ +/* number-keyboard */ +/* passwod-input */ +/* form-item */ +/* backtop */ +/* index-bar */ +/* text */ +/* video-preview */ +/* img-cropper */ +/* floating-panel */ +/* signature */ +/** + * 混合宏 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * BEM,定义块(b) + */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 此方法用于生成穿透样式 */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 定义状态(m) */ +/* 定义状态(m) */ +/* 对于需要需要嵌套在 m 底下的 e,调用这个混合宏,一般在切换整个组件的状态,如切换颜色的时候 */ +/* 状态,生成 is-$state 类名 */ +/** + * 常用混合宏 + */ +/* 单行超出隐藏 */ +/* 多行超出隐藏 */ +/* 清除浮动 */ +/* 0.5px 边框 指定方向*/ +/* 0.5px 边框 环绕 */ +/** + * 三角形实现尖角样式,适用于背景透明情况 + * @param $size 三角形高,底边为 $size * 2 + * @param $bg 三角形背景颜色 + */ +/** + * 正方形实现尖角样式,适用于背景不透明情况 + * @param $size 正方形边长 + * @param $bg 正方形背景颜色 + * @param $z-index z-index属性值,不得大于外部包裹器 + * @param $box-shadow 阴影 +*/ +.wot-theme-dark .wd-tabbar-item__body.data-v-3d913b93 .is-inactive { + color: var(--wot-dark-color-gray, var(--wot-color-secondary, #595959)); +} +.wd-tabbar-item.data-v-3d913b93 { + flex: 1; + text-align: center; + text-decoration: none; + height: 100%; + display: flex; + justify-content: center; + align-items: center; +} +.wd-tabbar-item__body.data-v-3d913b93 { + display: flex; + align-items: center; + flex-direction: column; + line-height: 1; + padding: 0; + position: relative; +} +.wd-tabbar-item__body.data-v-3d913b93 .is-active { + color: var(--wot-tabbar-active-color, var(--wot-color-theme, #4d80f0)); +} +.wd-tabbar-item__body.data-v-3d913b93 .is-inactive { + color: var(--wot-tabbar-inactive-color, var(--wot-color-title, var(--wot-color-black, rgb(0, 0, 0)))); +} +.wd-tabbar-item__body-title.data-v-3d913b93 { + font-size: var(--wot-tabbar-item-title-font-size, 10px); + line-height: var(--wot-tabbar-item-title-line-height, initial); +} +.data-v-3d913b93 .wd-tabbar-item__body-icon { + font-size: var(--wot-tabbar-item-icon-size, 20px); +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar/types.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar/types.js new file mode 100644 index 0000000..d7ec266 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar/types.js @@ -0,0 +1,17 @@ +"use strict"; +var uni_modules_wotDesignUni_components_common_props = require("../common/props.js"); +const TABBAR_KEY = Symbol("wd-tabbar"); +const tabbarProps = { + ...uni_modules_wotDesignUni_components_common_props.baseProps, + modelValue: uni_modules_wotDesignUni_components_common_props.makeNumericProp(0), + fixed: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + bordered: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(true), + safeAreaInsetBottom: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + shape: uni_modules_wotDesignUni_components_common_props.makeStringProp("default"), + activeColor: String, + inactiveColor: String, + placeholder: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + zIndex: uni_modules_wotDesignUni_components_common_props.makeNumberProp(99) +}; +exports.TABBAR_KEY = TABBAR_KEY; +exports.tabbarProps = tabbarProps; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar/wd-tabbar.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar/wd-tabbar.js new file mode 100644 index 0000000..ebf6498 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar/wd-tabbar.js @@ -0,0 +1,76 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_common_util = require("../common/util.js"); +var uni_modules_wotDesignUni_components_composables_useChildren = require("../composables/useChildren.js"); +var uni_modules_wotDesignUni_components_wdTabbar_types = require("./types.js"); +require("../common/AbortablePromise.js"); +require("../common/props.js"); +const __default__ = { + name: "wd-tabbar", + options: { + addGlobalClass: true, + virtualHost: true, + styleIsolation: "shared" + } +}; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + ...__default__, + props: uni_modules_wotDesignUni_components_wdTabbar_types.tabbarProps, + emits: ["change", "update:modelValue"], + setup(__props, { emit }) { + const props = __props; + const height = common_vendor.ref(""); + const { proxy } = common_vendor.getCurrentInstance(); + const { linkChildren } = uni_modules_wotDesignUni_components_composables_useChildren.useChildren(uni_modules_wotDesignUni_components_wdTabbar_types.TABBAR_KEY); + linkChildren({ + props, + setChange + }); + const rootStyle = common_vendor.computed$1(() => { + const style = {}; + if (uni_modules_wotDesignUni_components_common_util.isDef(props.zIndex)) { + style["z-index"] = props.zIndex; + } + return `${uni_modules_wotDesignUni_components_common_util.objToStyle(style)}${props.customStyle}`; + }); + common_vendor.watch( + [() => props.fixed, () => props.placeholder], + () => { + setPlaceholderHeight(); + }, + { deep: true, immediate: false } + ); + common_vendor.onMounted(() => { + if (props.fixed && props.placeholder) { + common_vendor.nextTick(() => { + setPlaceholderHeight(); + }); + } + }); + function setChange(child) { + let active = child.name; + emit("update:modelValue", active); + emit("change", { + value: active + }); + } + function setPlaceholderHeight() { + if (!props.fixed || !props.placeholder) { + return; + } + uni_modules_wotDesignUni_components_common_util.getRect(".wd-tabbar", false, proxy).then((res) => { + height.value = Number(res.height); + }); + } + return (_ctx, _cache) => { + return { + a: common_vendor.n(`wd-tabbar wd-tabbar--${_ctx.shape} ${_ctx.customClass} ${_ctx.fixed ? "is-fixed" : ""} ${_ctx.safeAreaInsetBottom ? "is-safe" : ""} ${_ctx.bordered ? "is-border" : ""}`), + b: common_vendor.s(common_vendor.unref(rootStyle)), + c: _ctx.fixed && _ctx.placeholder && _ctx.safeAreaInsetBottom && _ctx.shape === "round" ? 1 : "", + d: common_vendor.unref(uni_modules_wotDesignUni_components_common_util.addUnit)(height.value) + }; + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-76ba2fd1"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-tabbar/wd-tabbar.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar/wd-tabbar.json b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar/wd-tabbar.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar/wd-tabbar.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar/wd-tabbar.wxml b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar/wd-tabbar.wxml new file mode 100644 index 0000000..5955b52 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar/wd-tabbar.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar/wd-tabbar.wxss b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar/wd-tabbar.wxss new file mode 100644 index 0000000..2a77762 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-tabbar/wd-tabbar.wxss @@ -0,0 +1,241 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * UI规范基础变量 + */ +/*----------------------------------------- Theme color. start ----------------------------------------*/ +/* 主题颜色 */ +/* 辅助色 */ +/* 文字颜色(默认浅色背景下 */ +/* 暗黑模式 */ +/* 图形颜色 */ +/*----------------------------------------- Theme color. end -------------------------------------------*/ +/*-------------------------------- Theme color application size. start --------------------------------*/ +/* 文字字号 */ +/* 文字字重 */ +/* 尺寸 */ +/*-------------------------------- Theme color application size. end --------------------------------*/ +/* component var */ +/* action-sheet */ +/* badge */ +/* button */ +/* cell */ +/* calendar */ +/* checkbox */ +/* collapse */ +/* divider */ +/* drop-menu */ +/* input-number */ +/* input */ +/* textarea */ +/* loadmore */ +/* message-box */ +/* notice-bar */ +/* pagination */ +/* picker */ +/* col-picker */ +/* overlay */ +/* popup */ +/* progress */ +/* radio */ +/* search */ +/* slider */ +/* sort-button */ +/* steps */ +/* switch */ +/* tabs */ +/* tag */ +/* toast */ +/* loading */ +/* tooltip */ +/* popover */ +/* grid-item */ +/* statustip */ +/* card */ +/* upload */ +/* curtain */ +/* notify */ +/* skeleton */ +/* circle */ +/* swiper */ +/* swiper-nav */ +/* segmented */ +/* tabbar */ +/* tabbar-item */ +/* navbar */ +/* navbar-capsule */ +/* table */ +/* sidebar */ +/* sidebar-item */ +/* fab */ +/* count-down */ +/* keyboard */ +/* number-keyboard */ +/* passwod-input */ +/* form-item */ +/* backtop */ +/* index-bar */ +/* text */ +/* video-preview */ +/* img-cropper */ +/* floating-panel */ +/* signature */ +/** + * 混合宏 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * BEM,定义块(b) + */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 此方法用于生成穿透样式 */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 定义状态(m) */ +/* 定义状态(m) */ +/* 对于需要需要嵌套在 m 底下的 e,调用这个混合宏,一般在切换整个组件的状态,如切换颜色的时候 */ +/* 状态,生成 is-$state 类名 */ +/** + * 常用混合宏 + */ +/* 单行超出隐藏 */ +/* 多行超出隐藏 */ +/* 清除浮动 */ +/* 0.5px 边框 指定方向*/ +/* 0.5px 边框 环绕 */ +/** + * 三角形实现尖角样式,适用于背景透明情况 + * @param $size 三角形高,底边为 $size * 2 + * @param $bg 三角形背景颜色 + */ +/** + * 正方形实现尖角样式,适用于背景不透明情况 + * @param $size 正方形边长 + * @param $bg 正方形背景颜色 + * @param $z-index z-index属性值,不得大于外部包裹器 + * @param $box-shadow 阴影 +*/ +.wot-theme-dark .wd-tabbar.data-v-76ba2fd1 { + background: var(--wot-dark-background, #131313); +} +.wd-tabbar.data-v-76ba2fd1 { + display: flex; + align-items: center; + flex-wrap: nowrap; + position: relative; + background: var(--wot-color-white, rgb(255, 255, 255)); + height: var(--wot-tabbar-height, 50px); +} +.wd-tabbar__placeholder.data-v-76ba2fd1 { + box-sizing: content-box; + padding-bottom: constant(safe-area-inset-bottom); + padding-bottom: env(safe-area-inset-bottom); +} +.wd-tabbar--round.data-v-76ba2fd1 { + margin-left: 32rpx; + margin-right: 32rpx; + border-radius: 999px; + box-shadow: var(--wot-tabbar-box-shadow, 0 6px 30px 5px rgba(0, 0, 0, 0.05), 0 16px 24px 2px rgba(0, 0, 0, 0.04), 0 8px 10px -5px rgba(0, 0, 0, 0.08)); +} +.wd-tabbar--round.is-fixed.is-safe.data-v-76ba2fd1 { + bottom: constant(safe-area-inset-bottom); + bottom: env(safe-area-inset-bottom); +} +.wd-tabbar--default.is-fixed.is-safe.data-v-76ba2fd1 { + box-sizing: content-box; + padding-bottom: constant(safe-area-inset-bottom); + padding-bottom: env(safe-area-inset-bottom); +} +.wd-tabbar--default.is-border.data-v-76ba2fd1 { + position: relative; +} +.wd-tabbar--default.is-border.data-v-76ba2fd1::after { + position: absolute; + display: block; + content: ""; + width: 100%; + height: 1px; + left: 0; + top: 0; + transform: scaleY(0.5); + background: var(--wot-color-border-light, #e8e8e8); +} +.wd-tabbar.is-fixed.data-v-76ba2fd1 { + position: fixed; + left: 0; + bottom: 0; + right: 0; + z-index: 500; +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-text/types.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-text/types.js new file mode 100644 index 0000000..ce33e1b --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-text/types.js @@ -0,0 +1,21 @@ +"use strict"; +var uni_modules_wotDesignUni_components_common_props = require("../common/props.js"); +const textProps = { + ...uni_modules_wotDesignUni_components_common_props.baseProps, + type: uni_modules_wotDesignUni_components_common_props.makeStringProp("default"), + text: uni_modules_wotDesignUni_components_common_props.makeNumericProp(""), + size: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + mode: uni_modules_wotDesignUni_components_common_props.makeStringProp("text"), + decoration: uni_modules_wotDesignUni_components_common_props.makeStringProp("none"), + call: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + bold: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + format: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + color: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + prefix: String, + suffix: String, + lines: Number, + lineHeight: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + customStyle: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + customClass: uni_modules_wotDesignUni_components_common_props.makeStringProp("") +}; +exports.textProps = textProps; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-text/wd-text.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-text/wd-text.js new file mode 100644 index 0000000..208feb4 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-text/wd-text.js @@ -0,0 +1,131 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_common_util = require("../common/util.js"); +var uni_modules_wotDesignUni_components_wdText_types = require("./types.js"); +var uni_modules_wotDesignUni_dayjs_index = require("../../dayjs/index.js"); +require("../common/AbortablePromise.js"); +require("../common/props.js"); +require("../../dayjs/constant.js"); +require("../../dayjs/locale/en.js"); +require("../../dayjs/utils.js"); +const __default__ = { + name: "wd-text", + options: { + virtualHost: true, + addGlobalClass: true, + styleIsolation: "shared" + } +}; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + ...__default__, + props: uni_modules_wotDesignUni_components_wdText_types.textProps, + emits: ["click"], + setup(__props, { emit }) { + const props = __props; + const textClass = common_vendor.ref(""); + common_vendor.watch( + () => ({ + type: props.type, + text: props.text, + mode: props.mode, + color: props.color, + bold: props.bold, + lines: props.lines, + format: props.format + }), + ({ type }) => { + const types = ["primary", "error", "warning", "success", "default"]; + if (type && !types.includes(type)) { + console.error(`type must be one of ${types.toString()}`); + } + computeTextClass(); + }, + { deep: true, immediate: true } + ); + const rootClass = common_vendor.computed$1(() => { + return `wd-text ${props.customClass} ${textClass.value}`; + }); + const rootStyle = common_vendor.computed$1(() => { + const rootStyle2 = {}; + if (props.color) { + rootStyle2["color"] = props.color; + } + if (props.size) { + rootStyle2["font-size"] = `${props.size}`; + } + if (props.lineHeight) { + rootStyle2["line-height"] = `${props.lineHeight}`; + } + if (props.decoration) { + rootStyle2["text-decoration"] = `${props.decoration}`; + } + return `${uni_modules_wotDesignUni_components_common_util.objToStyle(rootStyle2)}${props.customStyle}`; + }); + function computeTextClass() { + const { type, color, bold, lines } = props; + const textClassList = []; + if (!color) { + textClassList.push(`is-${type}`); + } + if (uni_modules_wotDesignUni_components_common_util.isDef(lines)) { + textClassList.push(`is-lines-${lines}`); + } + bold && textClassList.push("is-bold"); + textClass.value = textClassList.join(" "); + } + function formatText(text, format, mode) { + if (format) { + if (mode === "phone") { + return text.replace(/^(\d{3})\d{4}(\d{4})$/, "$1****$2"); + } else if (mode === "name") { + return text.replace(/^(.).*(.)$/, "$1**$2"); + } else { + throw new Error("mode must be one of phone or name for encryption"); + } + } + return text; + } + function formatNumber(num) { + num = Number(num).toFixed(2); + const x = num.split("."); + let x1 = x[0]; + const x2 = x.length > 1 ? "." + x[1] : ""; + const rgx = /(\d+)(\d{3})/; + while (rgx.test(x1)) { + x1 = x1.replace(rgx, "$1,$2"); + } + return x1 + x2; + } + const formattedText = common_vendor.computed$1(() => { + const { text, mode, format } = props; + if (mode === "date") { + return uni_modules_wotDesignUni_dayjs_index.dayjs(Number(text)).format("YYYY-MM-DD"); + } + if (mode === "price") { + return formatNumber(text); + } + return formatText(`${text}`, format, mode); + }); + function handleClick(event) { + emit("click", event); + } + return (_ctx, _cache) => { + return common_vendor.e({ + a: _ctx.$slots.prefix || _ctx.prefix + }, _ctx.$slots.prefix || _ctx.prefix ? { + b: common_vendor.t(_ctx.prefix) + } : {}, { + c: common_vendor.t(common_vendor.unref(formattedText)), + d: _ctx.$slots.suffix || _ctx.suffix + }, _ctx.$slots.suffix || _ctx.suffix ? { + e: common_vendor.t(_ctx.suffix) + } : {}, { + f: common_vendor.o(handleClick), + g: common_vendor.n(common_vendor.unref(rootClass)), + h: common_vendor.s(common_vendor.unref(rootStyle)) + }); + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-3c0ceda2"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-text/wd-text.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-text/wd-text.json b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-text/wd-text.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-text/wd-text.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-text/wd-text.wxml b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-text/wd-text.wxml new file mode 100644 index 0000000..c39d73d --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-text/wd-text.wxml @@ -0,0 +1 @@ +{{b}}{{c}}{{e}} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-text/wd-text.wxss b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-text/wd-text.wxss new file mode 100644 index 0000000..ec2db2a --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-text/wd-text.wxss @@ -0,0 +1,237 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * UI规范基础变量 + */ +/*----------------------------------------- Theme color. start ----------------------------------------*/ +/* 主题颜色 */ +/* 辅助色 */ +/* 文字颜色(默认浅色背景下 */ +/* 暗黑模式 */ +/* 图形颜色 */ +/*----------------------------------------- Theme color. end -------------------------------------------*/ +/*-------------------------------- Theme color application size. start --------------------------------*/ +/* 文字字号 */ +/* 文字字重 */ +/* 尺寸 */ +/*-------------------------------- Theme color application size. end --------------------------------*/ +/* component var */ +/* action-sheet */ +/* badge */ +/* button */ +/* cell */ +/* calendar */ +/* checkbox */ +/* collapse */ +/* divider */ +/* drop-menu */ +/* input-number */ +/* input */ +/* textarea */ +/* loadmore */ +/* message-box */ +/* notice-bar */ +/* pagination */ +/* picker */ +/* col-picker */ +/* overlay */ +/* popup */ +/* progress */ +/* radio */ +/* search */ +/* slider */ +/* sort-button */ +/* steps */ +/* switch */ +/* tabs */ +/* tag */ +/* toast */ +/* loading */ +/* tooltip */ +/* popover */ +/* grid-item */ +/* statustip */ +/* card */ +/* upload */ +/* curtain */ +/* notify */ +/* skeleton */ +/* circle */ +/* swiper */ +/* swiper-nav */ +/* segmented */ +/* tabbar */ +/* tabbar-item */ +/* navbar */ +/* navbar-capsule */ +/* table */ +/* sidebar */ +/* sidebar-item */ +/* fab */ +/* count-down */ +/* keyboard */ +/* number-keyboard */ +/* passwod-input */ +/* form-item */ +/* backtop */ +/* index-bar */ +/* text */ +/* video-preview */ +/* img-cropper */ +/* floating-panel */ +/* signature */ +/** + * 混合宏 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/** + * 辅助函数 + */ +/** + * SCSS 配置项:命名空间以及BEM + */ +/* 转换成字符串 */ +/* 判断是否存在 Modifier */ +/* 判断是否存在伪类 */ +/** + * 主题色切换 + * @params $theme-color 主题色 + * @params $type 变暗’dark‘ 变亮 'light' + * @params $mix-color 自己设置的混色 + */ +/** + * 颜色结果切换, 如果开启线性渐变色 使用渐变色,如果没有开启,那么使用主题色 + * @params $open-linear 是否开启线性渐变色 + * @params $deg 渐变色角度 + * @params $theme-color 当前配色 + * @params [Array] $set 主题色明暗设置,与 $color-list 数量对应 + * @params [Array] $color-list 渐变色顺序, $color-list 和 $per-list 数量相同 + * @params [Array] $per-list 渐变色比例 + */ +/** + * BEM,定义块(b) + */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 此方法用于生成穿透样式 */ +/* 定义元素(e),对于伪类,会自动将 e 嵌套在 伪类 底下 */ +/* 定义状态(m) */ +/* 定义状态(m) */ +/* 对于需要需要嵌套在 m 底下的 e,调用这个混合宏,一般在切换整个组件的状态,如切换颜色的时候 */ +/* 状态,生成 is-$state 类名 */ +/** + * 常用混合宏 + */ +/* 单行超出隐藏 */ +/* 多行超出隐藏 */ +/* 清除浮动 */ +/* 0.5px 边框 指定方向*/ +/* 0.5px 边框 环绕 */ +/** + * 三角形实现尖角样式,适用于背景透明情况 + * @param $size 三角形高,底边为 $size * 2 + * @param $bg 三角形背景颜色 + */ +/** + * 正方形实现尖角样式,适用于背景不透明情况 + * @param $size 正方形边长 + * @param $bg 正方形背景颜色 + * @param $z-index z-index属性值,不得大于外部包裹器 + * @param $box-shadow 阴影 +*/ +.wd-text.is-bold.data-v-3c0ceda2 { + font-weight: bold; +} +.wd-text.is-lines-1.data-v-3c0ceda2 { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 1; + overflow: hidden; +} +.wd-text.is-lines-2.data-v-3c0ceda2 { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + overflow: hidden; +} +.wd-text.is-lines-3.data-v-3c0ceda2 { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 3; + overflow: hidden; +} +.wd-text.is-lines-4.data-v-3c0ceda2 { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 4; + overflow: hidden; +} +.wd-text.is-lines-5.data-v-3c0ceda2 { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 5; + overflow: hidden; +} +.wd-text.is-default.data-v-3c0ceda2 { + color: var(--wot-text-info-color, var(--wot-color-info, #909399)); +} +.wd-text.is-primary.data-v-3c0ceda2 { + color: var(--wot-text-primary-color, var(--wot-color-theme, #4d80f0)); +} +.wd-text.is-error.data-v-3c0ceda2 { + color: var(--wot-text-error-color, var(--wot-color-danger, #fa4350)); +} +.wd-text.is-warning.data-v-3c0ceda2 { + color: var(--wot-text-warning-color, var(--wot-color-warning, #f0883a)); +} +.wd-text.is-success.data-v-3c0ceda2 { + color: var(--wot-text-success-color, var(--wot-color-success, #34d19d)); +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-textarea/types.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-textarea/types.js new file mode 100644 index 0000000..9e9f898 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-textarea/types.js @@ -0,0 +1,48 @@ +"use strict"; +var uni_modules_wotDesignUni_components_common_props = require("../common/props.js"); +const textareaProps = { + ...uni_modules_wotDesignUni_components_common_props.baseProps, + customTextareaContainerClass: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + customTextareaClass: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + customLabelClass: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + modelValue: uni_modules_wotDesignUni_components_common_props.makeNumericProp(""), + placeholder: String, + placeholderStyle: String, + placeholderClass: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + disabled: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + maxlength: uni_modules_wotDesignUni_components_common_props.makeNumberProp(-1), + autoFocus: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + focus: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + autoHeight: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + fixed: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + cursorSpacing: uni_modules_wotDesignUni_components_common_props.makeNumberProp(0), + cursor: uni_modules_wotDesignUni_components_common_props.makeNumberProp(-1), + confirmType: String, + confirmHold: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + showConfirmBar: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(true), + selectionStart: uni_modules_wotDesignUni_components_common_props.makeNumberProp(-1), + selectionEnd: uni_modules_wotDesignUni_components_common_props.makeNumberProp(-1), + adjustPosition: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(true), + disableDefaultPadding: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + holdKeyboard: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + showPassword: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + clearable: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + readonly: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + prefixIcon: String, + showWordLimit: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + label: String, + labelWidth: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + size: String, + error: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + center: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + noBorder: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + required: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(false), + prop: uni_modules_wotDesignUni_components_common_props.makeStringProp(""), + rules: uni_modules_wotDesignUni_components_common_props.makeArrayProp(), + clearTrigger: uni_modules_wotDesignUni_components_common_props.makeStringProp("always"), + focusWhenClear: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(true), + ignoreCompositionEvent: uni_modules_wotDesignUni_components_common_props.makeBooleanProp(true), + inputmode: uni_modules_wotDesignUni_components_common_props.makeStringProp("text"), + markerSide: uni_modules_wotDesignUni_components_common_props.makeStringProp("before") +}; +exports.textareaProps = textareaProps; diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-textarea/wd-textarea.js b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-textarea/wd-textarea.js new file mode 100644 index 0000000..e75c29b --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-textarea/wd-textarea.js @@ -0,0 +1,266 @@ +"use strict"; +var common_vendor = require("../../../../common/vendor.js"); +var uni_modules_wotDesignUni_components_common_util = require("../common/util.js"); +var uni_modules_wotDesignUni_components_composables_useCell = require("../composables/useCell.js"); +var uni_modules_wotDesignUni_components_wdForm_types = require("../wd-form/types.js"); +var uni_modules_wotDesignUni_components_composables_useParent = require("../composables/useParent.js"); +var uni_modules_wotDesignUni_components_composables_useTranslate = require("../composables/useTranslate.js"); +var uni_modules_wotDesignUni_components_wdTextarea_types = require("./types.js"); +require("../common/AbortablePromise.js"); +require("../wd-cell-group/types.js"); +require("../common/props.js"); +require("../../locale/index.js"); +require("../../locale/lang/zh-CN.js"); +if (!Math) { + wdIcon(); +} +const wdIcon = () => "../wd-icon/wd-icon.js"; +const __default__ = { + name: "wd-textarea", + options: { + virtualHost: true, + addGlobalClass: true, + styleIsolation: "shared" + } +}; +const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ + ...__default__, + props: uni_modules_wotDesignUni_components_wdTextarea_types.textareaProps, + emits: [ + "update:modelValue", + "clear", + "blur", + "focus", + "input", + "keyboardheightchange", + "confirm", + "linechange", + "clickprefixicon", + "click" + ], + setup(__props, { emit }) { + const props = __props; + const { translate } = uni_modules_wotDesignUni_components_composables_useTranslate.useTranslate("textarea"); + const slots = common_vendor.useSlots(); + const placeholderValue = common_vendor.computed$1(() => { + return uni_modules_wotDesignUni_components_common_util.isDef(props.placeholder) ? props.placeholder : translate("placeholder"); + }); + const clearing = common_vendor.ref(false); + const focused = common_vendor.ref(false); + const focusing = common_vendor.ref(false); + const inputValue = common_vendor.ref(""); + const cell = uni_modules_wotDesignUni_components_composables_useCell.useCell(); + common_vendor.watch( + () => props.focus, + (newValue) => { + focused.value = newValue; + }, + { immediate: true, deep: true } + ); + common_vendor.watch( + () => props.modelValue, + (newValue) => { + inputValue.value = uni_modules_wotDesignUni_components_common_util.isDef(newValue) ? String(newValue) : ""; + }, + { immediate: true, deep: true } + ); + const { parent: form } = uni_modules_wotDesignUni_components_composables_useParent.useParent(uni_modules_wotDesignUni_components_wdForm_types.FORM_KEY); + const showClear = common_vendor.computed$1(() => { + const { disabled, readonly, clearable, clearTrigger } = props; + if (clearable && !readonly && !disabled && inputValue.value && (clearTrigger === "always" || props.clearTrigger === "focus" && focusing.value)) { + return true; + } else { + return false; + } + }); + const showWordCount = common_vendor.computed$1(() => { + const { disabled, readonly, maxlength, showWordLimit } = props; + return Boolean(!disabled && !readonly && uni_modules_wotDesignUni_components_common_util.isDef(maxlength) && maxlength > -1 && showWordLimit); + }); + const errorMessage = common_vendor.computed$1(() => { + if (form && props.prop && form.errorMessages && form.errorMessages[props.prop]) { + return form.errorMessages[props.prop]; + } else { + return ""; + } + }); + const isRequired = common_vendor.computed$1(() => { + let formRequired = false; + if (form && form.props.rules) { + const rules = form.props.rules; + for (const key in rules) { + if (Object.prototype.hasOwnProperty.call(rules, key) && key === props.prop && Array.isArray(rules[key])) { + formRequired = rules[key].some((rule) => rule.required); + } + } + } + return props.required || props.rules.some((rule) => rule.required) || formRequired; + }); + const currentLength = common_vendor.computed$1(() => { + return Array.from(String(formatValue(props.modelValue))).length; + }); + const rootClass = common_vendor.computed$1(() => { + return `wd-textarea ${props.label || slots.label ? "is-cell" : ""} ${props.center ? "is-center" : ""} ${cell.border.value ? "is-border" : ""} ${props.size ? "is-" + props.size : ""} ${props.error ? "is-error" : ""} ${props.disabled ? "is-disabled" : ""} ${props.autoHeight ? "is-auto-height" : ""} ${currentLength.value > 0 ? "is-not-empty" : ""} ${props.noBorder ? "is-no-border" : ""} ${props.customClass}`; + }); + common_vendor.computed$1(() => { + return `wd-textarea__label ${props.customLabelClass}`; + }); + const inputPlaceholderClass = common_vendor.computed$1(() => { + return `wd-textarea__placeholder ${props.placeholderClass}`; + }); + const countClass = common_vendor.computed$1(() => { + return `${currentLength.value > 0 ? "wd-textarea__count-current" : ""} ${currentLength.value > props.maxlength ? "is-error" : ""}`; + }); + const labelStyle = common_vendor.computed$1(() => { + return props.labelWidth ? uni_modules_wotDesignUni_components_common_util.objToStyle({ + "min-width": props.labelWidth, + "max-width": props.labelWidth + }) : ""; + }); + common_vendor.onBeforeMount(() => { + initState(); + }); + function initState() { + inputValue.value = formatValue(inputValue.value); + emit("update:modelValue", inputValue.value); + } + function formatValue(value) { + if (value === null || value === void 0) + return ""; + const { maxlength, showWordLimit } = props; + if (showWordLimit && maxlength !== -1 && String(value).length > maxlength) { + return value.toString().substring(0, maxlength); + } + return `${value}`; + } + async function handleClear() { + focusing.value = false; + inputValue.value = ""; + if (props.focusWhenClear) { + clearing.value = true; + focused.value = false; + } + await uni_modules_wotDesignUni_components_common_util.pause(); + if (props.focusWhenClear) { + focused.value = true; + focusing.value = true; + } + emit("update:modelValue", inputValue.value); + emit("clear"); + } + async function handleBlur({ detail }) { + await uni_modules_wotDesignUni_components_common_util.pause(150); + if (clearing.value) { + clearing.value = false; + return; + } + focusing.value = false; + emit("blur", { + value: inputValue.value, + cursor: detail.cursor ? detail.cursor : null + }); + } + function handleFocus({ detail }) { + focusing.value = true; + emit("focus", detail); + } + function handleInput({ detail }) { + inputValue.value = formatValue(inputValue.value); + emit("update:modelValue", inputValue.value); + emit("input", detail); + } + function handleKeyboardheightchange({ detail }) { + emit("keyboardheightchange", detail); + } + function handleConfirm({ detail }) { + emit("confirm", detail); + } + function handleLineChange({ detail }) { + emit("linechange", detail); + } + function onClickPrefixIcon() { + emit("clickprefixicon"); + } + return (_ctx, _cache) => { + return common_vendor.e({ + a: _ctx.label || _ctx.$slots.label + }, _ctx.label || _ctx.$slots.label ? common_vendor.e({ + b: common_vendor.unref(isRequired) && _ctx.markerSide === "before" + }, common_vendor.unref(isRequired) && _ctx.markerSide === "before" ? {} : {}, { + c: _ctx.prefixIcon || _ctx.$slots.prefix + }, _ctx.prefixIcon || _ctx.$slots.prefix ? common_vendor.e({ + d: _ctx.prefixIcon && !_ctx.$slots.prefix + }, _ctx.prefixIcon && !_ctx.$slots.prefix ? { + e: common_vendor.o(onClickPrefixIcon), + f: common_vendor.p({ + ["custom-class"]: "wd-textarea__icon", + name: _ctx.prefixIcon + }) + } : {}) : {}, { + g: _ctx.label && !_ctx.$slots.label + }, _ctx.label && !_ctx.$slots.label ? { + h: common_vendor.t(_ctx.label) + } : _ctx.$slots.label ? {} : {}, { + i: _ctx.$slots.label, + j: common_vendor.unref(isRequired) && _ctx.markerSide === "after" + }, common_vendor.unref(isRequired) && _ctx.markerSide === "after" ? {} : {}, { + k: common_vendor.s(common_vendor.unref(labelStyle)) + }) : {}, { + l: common_vendor.n(`wd-textarea__inner ${_ctx.customTextareaClass}`), + m: common_vendor.unref(placeholderValue), + n: _ctx.disabled || _ctx.readonly, + o: _ctx.maxlength, + p: focused.value, + q: _ctx.autoFocus, + r: _ctx.placeholderStyle, + s: common_vendor.unref(inputPlaceholderClass), + t: _ctx.autoHeight, + v: _ctx.cursorSpacing, + w: _ctx.fixed, + x: _ctx.cursor, + y: _ctx.showConfirmBar, + z: _ctx.selectionStart, + A: _ctx.selectionEnd, + B: _ctx.adjustPosition, + C: _ctx.holdKeyboard, + D: _ctx.confirmType, + E: _ctx.confirmHold, + F: _ctx.disableDefaultPadding, + G: _ctx.ignoreCompositionEvent, + H: _ctx.inputmode, + I: common_vendor.o([($event) => inputValue.value = $event.detail.value, handleInput]), + J: common_vendor.o(handleFocus), + K: common_vendor.o(handleBlur), + L: common_vendor.o(handleConfirm), + M: common_vendor.o(handleLineChange), + N: common_vendor.o(handleKeyboardheightchange), + O: inputValue.value, + P: common_vendor.unref(errorMessage) + }, common_vendor.unref(errorMessage) ? { + Q: common_vendor.t(common_vendor.unref(errorMessage)) + } : {}, { + R: props.readonly + }, props.readonly ? {} : {}, { + S: common_vendor.unref(showClear) + }, common_vendor.unref(showClear) ? { + T: common_vendor.o(handleClear), + U: common_vendor.p({ + ["custom-class"]: "wd-textarea__clear", + name: "error-fill" + }) + } : {}, { + V: common_vendor.unref(showWordCount) + }, common_vendor.unref(showWordCount) ? { + W: common_vendor.t(common_vendor.unref(currentLength)), + X: common_vendor.n(common_vendor.unref(countClass)), + Y: common_vendor.t(_ctx.maxlength) + } : {}, { + Z: common_vendor.n(`wd-textarea__value ${common_vendor.unref(showClear) ? "is-suffix" : ""} ${_ctx.customTextareaContainerClass} ${common_vendor.unref(showWordCount) ? "is-show-limit" : ""}`), + aa: common_vendor.n(common_vendor.unref(rootClass)), + ab: common_vendor.s(_ctx.customStyle) + }); + }; + } +}); +var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-2b9f99c9"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-textarea/wd-textarea.vue"]]); +wx.createComponent(Component); diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-textarea/wd-textarea.json b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-textarea/wd-textarea.json new file mode 100644 index 0000000..b3f45a7 --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-textarea/wd-textarea.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "wd-icon": "../wd-icon/wd-icon" + } +} \ No newline at end of file diff --git a/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-textarea/wd-textarea.wxml b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-textarea/wd-textarea.wxml new file mode 100644 index 0000000..afff91e --- /dev/null +++ b/dist/dev/mp-weixin/uni_modules/wot-design-uni/components/wd-textarea/wd-textarea.wxml @@ -0,0 +1 @@ +*{{h}}*