1 line
22 KiB
Plaintext
1 line
22 KiB
Plaintext
{"version":3,"file":"su-popup.js","sources":["../../../../../../src/sheep/ui/su-popup/su-popup.vue","../../../../../../uniComponent:/RDovQXBwL1dvcmsvYWRkci9hY2RyLXVpL3NyYy9zaGVlcC91aS9zdS1wb3B1cC9zdS1wb3B1cC52dWU"],"sourcesContent":["<template>\r\n <view\r\n v-if=\"showPopup\"\r\n class=\"uni-popup\"\r\n :class=\"[popupstyle, isDesktop ? 'fixforpc-z-index' : '']\"\r\n :style=\"[{ zIndex: zIndex }]\"\r\n @touchmove.stop.prevent=\"clear\"\r\n >\r\n <view @touchstart=\"touchstart\">\r\n <uni-transition\r\n key=\"1\"\r\n v-if=\"maskShow\"\r\n name=\"mask\"\r\n mode-class=\"fade\"\r\n :styles=\"maskClass\"\r\n :duration=\"duration\"\r\n :show=\"showTrans\"\r\n @click=\"onTap\"\r\n />\r\n <uni-transition\r\n key=\"2\"\r\n :mode-class=\"ani\"\r\n name=\"content\"\r\n :styles=\"{ ...transClass, ...borderRadius }\"\r\n :duration=\"duration\"\r\n :show=\"showTrans\"\r\n @click=\"onTap\"\r\n >\r\n <view\r\n v-if=\"showPopup\"\r\n class=\"uni-popup__wrapper\"\r\n :style=\"[{ backgroundColor: bg }, borderRadius]\"\r\n :class=\"[popupstyle]\"\r\n @click=\"clear\"\r\n >\r\n <uni-icons\r\n v-if=\"showClose\"\r\n class=\"close-icon\"\r\n color=\"#F6F6F6\"\r\n type=\"closeempty\"\r\n size=\"32\"\r\n @click=\"close\"\r\n ></uni-icons>\r\n <slot />\r\n </view>\r\n </uni-transition>\r\n </view>\r\n <!-- #ifdef H5 -->\r\n <keypress v-if=\"maskShow\" @esc=\"onTap\" />\r\n <!-- #endif -->\r\n </view>\r\n <!-- #ifdef MP -->\r\n <view v-else style=\"display: none\">\r\n <slot></slot>\r\n </view>\r\n <!-- #endif -->\r\n</template>\r\n\r\n<script>\r\n// #ifdef H5\r\nimport keypress from './keypress.js'\r\n// #endif\r\n\r\n/**\r\n * PopUp 弹出层\r\n * @description 弹出层组件,为了解决遮罩弹层的问题\r\n * @tutorial https://ext.dcloud.net.cn/plugin?id=329\r\n * @property {String} type = [top|center|bottom|left|right|message|dialog|share] 弹出方式\r\n * \t@value top 顶部弹出\r\n * \t@value center 中间弹出\r\n * \t@value bottom 底部弹出\r\n * \t@value left\t\t左侧弹出\r\n * \t@value right 右侧弹出\r\n * \t@value message 消息提示\r\n * \t@value dialog 对话框\r\n * \t@value share 底部分享示例\r\n * @property {Boolean} animation = [true|false] 是否开启动画\r\n * @property {Boolean} maskClick = [true|false] 蒙版点击是否关闭弹窗(废弃)\r\n * @property {Boolean} isMaskClick = [true|false] 蒙版点击是否关闭弹窗\r\n * @property {String} backgroundColor 主窗口背景色\r\n * @property {String} maskBackgroundColor 蒙版颜色\r\n * @property {Boolean} safeArea\t\t 是否适配底部安全区\r\n * @event {Function} change 打开关闭弹窗触发,e={show: false}\r\n * @event {Function} maskClick 点击遮罩触发\r\n */\r\nimport sheep from '@/sheep'\r\n\r\nexport default {\r\n name: 'SuPopup',\r\n components: {\r\n // #ifdef H5\r\n keypress,\r\n // #endif\r\n },\r\n emits: ['change', 'maskClick', 'close'],\r\n props: {\r\n // 开启状态\r\n show: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n // 顶部,底部时有效\r\n space: {\r\n type: Number,\r\n default: 0,\r\n },\r\n // 默认圆角\r\n round: {\r\n type: [String, Number],\r\n default: 0,\r\n },\r\n // 是否显示关闭\r\n showClose: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n // 开启动画\r\n animation: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n // 弹出层类型,可选值,top: 顶部弹出层;bottom:底部弹出层;center:全屏弹出层\r\n // message: 消息提示 ; dialog : 对话框\r\n type: {\r\n type: String,\r\n default: 'bottom',\r\n },\r\n // maskClick\r\n isMaskClick: {\r\n type: Boolean,\r\n default: null,\r\n },\r\n // TODO 2 个版本后废弃属性 ,使用 isMaskClick\r\n maskClick: {\r\n type: Boolean,\r\n default: null,\r\n },\r\n // 可设置none\r\n backgroundColor: {\r\n type: String,\r\n default: '#ffffff',\r\n },\r\n backgroundImage: {\r\n type: String,\r\n default: '',\r\n },\r\n safeArea: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n maskBackgroundColor: {\r\n type: String,\r\n default: 'rgba(0, 0, 0, 0.4)',\r\n },\r\n zIndex: {\r\n type: [String, Number],\r\n default: 10075,\r\n },\r\n },\r\n\r\n watch: {\r\n show: {\r\n handler: function (newValue, oldValue) {\r\n if (typeof oldValue === 'undefined' && !newValue) {\r\n return\r\n }\r\n if (newValue) {\r\n this.open()\r\n } else {\r\n this.close()\r\n }\r\n },\r\n immediate: true,\r\n },\r\n /**\r\n * 监听type类型\r\n */\r\n type: {\r\n handler: function (type) {\r\n if (!this.config[type]) return\r\n this[this.config[type]](true)\r\n },\r\n immediate: true,\r\n },\r\n isDesktop: {\r\n handler: function (newVal) {\r\n if (!this.config[newVal]) return\r\n this[this.config[this.type]](true)\r\n },\r\n immediate: true,\r\n },\r\n /**\r\n * 监听遮罩是否可点击\r\n * @param {Object} val\r\n */\r\n maskClick: {\r\n handler: function (val) {\r\n this.mkclick = val\r\n },\r\n immediate: true,\r\n },\r\n isMaskClick: {\r\n handler: function (val) {\r\n this.mkclick = val\r\n },\r\n immediate: true,\r\n },\r\n // H5 下禁止底部滚动\r\n showPopup(show) {\r\n // #ifdef H5\r\n // fix by mehaotian 处理 h5 滚动穿透的问题\r\n document.getElementsByTagName('body')[0].style.overflow = show ? 'hidden' : 'visible'\r\n // #endif\r\n },\r\n },\r\n data() {\r\n return {\r\n sheep,\r\n duration: 300,\r\n ani: [],\r\n showPopup: false,\r\n showTrans: false,\r\n popupWidth: 0,\r\n popupHeight: 0,\r\n config: {\r\n top: 'top',\r\n bottom: 'bottom',\r\n center: 'center',\r\n left: 'left',\r\n right: 'right',\r\n message: 'top',\r\n dialog: 'center',\r\n share: 'bottom',\r\n },\r\n maskClass: {\r\n position: 'fixed',\r\n bottom: 0,\r\n top: 0,\r\n left: 0,\r\n right: 0,\r\n backgroundColor: 'rgba(0, 0, 0, 0.4)',\r\n },\r\n transClass: {\r\n position: 'fixed',\r\n left: 0,\r\n right: 0,\r\n },\r\n maskShow: true,\r\n mkclick: true,\r\n popupstyle: this.isDesktop ? 'fixforpc-top' : 'top',\r\n }\r\n },\r\n computed: {\r\n isDesktop() {\r\n return this.popupWidth >= 500 && this.popupHeight >= 500\r\n },\r\n bg() {\r\n if (this.backgroundColor === '' || this.backgroundColor === 'none') {\r\n return 'transparent'\r\n }\r\n return this.backgroundColor\r\n },\r\n borderRadius() {\r\n if (this.round) {\r\n if (this.type === 'bottom') {\r\n return {\r\n 'border-top-left-radius': parseFloat(this.round) + 'px',\r\n 'border-top-right-radius': parseFloat(this.round) + 'px',\r\n }\r\n }\r\n if (this.type === 'center') {\r\n return {\r\n 'border-top-left-radius': parseFloat(this.round) + 'px',\r\n 'border-top-right-radius': parseFloat(this.round) + 'px',\r\n 'border-bottom-left-radius': parseFloat(this.round) + 'px',\r\n 'border-bottom-right-radius': parseFloat(this.round) + 'px',\r\n }\r\n }\r\n if (this.type === 'top') {\r\n return {\r\n 'border-bottom-left-radius': parseFloat(this.round) + 'px',\r\n 'border-bottom-right-radius': parseFloat(this.round) + 'px',\r\n }\r\n }\r\n }\r\n },\r\n },\r\n mounted() {\r\n const fixSize = () => {\r\n const { windowWidth, windowHeight, windowTop, safeArea, screenHeight, safeAreaInsets } =\r\n sheep.$platform.device\r\n this.popupWidth = windowWidth\r\n this.popupHeight = windowHeight + (windowTop || 0)\r\n // TODO fix by mehaotian 是否适配底部安全区 ,目前微信ios 、和 app ios 计算有差异,需要框架修复\r\n if (safeArea && this.safeArea) {\r\n // #ifdef MP-WEIXIN\r\n this.safeAreaInsets = screenHeight - safeArea.bottom\r\n // #endif\r\n // #ifndef MP-WEIXIN\r\n this.safeAreaInsets = safeAreaInsets.bottom\r\n // #endif\r\n } else {\r\n this.safeAreaInsets = 0\r\n }\r\n }\r\n fixSize()\r\n // #ifdef H5\r\n // window.addEventListener('resize', fixSize)\r\n // this.$once('hook:beforeDestroy', () => {\r\n // \twindow.removeEventListener('resize', fixSize)\r\n // })\r\n // #endif\r\n },\r\n // #ifndef VUE3\r\n // TODO vue2\r\n destroyed() {\r\n this.setH5Visible()\r\n },\r\n // #endif\r\n // #ifdef VUE3\r\n // TODO vue3\r\n unmounted() {\r\n this.setH5Visible()\r\n },\r\n // #endif\r\n created() {\r\n // this.mkclick = this.isMaskClick || this.maskClick\r\n if (this.isMaskClick === null && this.maskClick === null) {\r\n this.mkclick = true\r\n } else {\r\n this.mkclick = this.isMaskClick !== null ? this.isMaskClick : this.maskClick\r\n }\r\n if (this.animation) {\r\n this.duration = 300\r\n } else {\r\n this.duration = 0\r\n }\r\n // TODO 处理 message 组件生命周期异常的问题\r\n this.messageChild = null\r\n // TODO 解决头条冒泡的问题\r\n this.clearPropagation = false\r\n this.maskClass.backgroundColor = this.maskBackgroundColor\r\n },\r\n methods: {\r\n setH5Visible() {\r\n // #ifdef H5\r\n // fix by mehaotian 处理 h5 滚动穿透的问题\r\n document.getElementsByTagName('body')[0].style.overflow = 'visible'\r\n // #endif\r\n },\r\n /**\r\n * 公用方法,不显示遮罩层\r\n */\r\n closeMask() {\r\n this.maskShow = false\r\n },\r\n /**\r\n * 公用方法,遮罩层禁止点击\r\n */\r\n disableMask() {\r\n this.mkclick = false\r\n },\r\n // TODO nvue 取消冒泡\r\n clear(e) {\r\n // #ifndef APP-NVUE\r\n e.stopPropagation()\r\n // #endif\r\n this.clearPropagation = true\r\n },\r\n\r\n open(direction) {\r\n // fix by mehaotian 处理快速打开关闭的情况\r\n if (this.showPopup) {\r\n clearTimeout(this.timer)\r\n this.showPopup = false\r\n }\r\n let innerType = ['top', 'center', 'bottom', 'left', 'right', 'message', 'dialog', 'share']\r\n if (!(direction && innerType.indexOf(direction) !== -1)) {\r\n direction = this.type\r\n }\r\n if (!this.config[direction]) {\r\n console.error('缺少类型:', direction)\r\n return\r\n }\r\n this[this.config[direction]]()\r\n this.$emit('change', {\r\n show: true,\r\n type: direction,\r\n })\r\n },\r\n close(type) {\r\n this.showTrans = false\r\n this.$emit('change', {\r\n show: false,\r\n type: this.type,\r\n })\r\n this.$emit('close')\r\n clearTimeout(this.timer)\r\n // // 自定义关闭事件\r\n // this.customOpen && this.customClose()\r\n this.timer = setTimeout(() => {\r\n this.showPopup = false\r\n }, 300)\r\n },\r\n // TODO 处理冒泡事件,头条的冒泡事件有问题 ,先这样兼容\r\n touchstart() {\r\n this.clearPropagation = false\r\n },\r\n\r\n onTap() {\r\n if (this.clearPropagation) {\r\n // fix by mehaotian 兼容 nvue\r\n this.clearPropagation = false\r\n return\r\n }\r\n this.$emit('maskClick')\r\n if (!this.mkclick) return\r\n this.close()\r\n },\r\n /**\r\n * 顶部弹出样式处理\r\n */\r\n top(type) {\r\n this.popupstyle = this.isDesktop ? 'fixforpc-top' : 'top'\r\n this.ani = ['slide-top']\r\n this.transClass = {\r\n position: 'fixed',\r\n left: 0,\r\n right: 0,\r\n top: this.space + 'px',\r\n backgroundColor: this.bg,\r\n }\r\n // TODO 兼容 type 属性 ,后续会废弃\r\n if (type) return\r\n this.showPopup = true\r\n this.showTrans = true\r\n this.$nextTick(() => {\r\n if (this.messageChild && this.type === 'message') {\r\n this.messageChild.timerClose()\r\n }\r\n })\r\n },\r\n /**\r\n * 底部弹出样式处理\r\n */\r\n bottom(type) {\r\n this.popupstyle = 'bottom'\r\n this.ani = ['slide-bottom']\r\n this.transClass = {\r\n position: 'fixed',\r\n left: 0,\r\n right: 0,\r\n bottom: 0,\r\n paddingBottom: this.safeAreaInsets + this.space + 'px',\r\n backgroundColor: this.bg,\r\n }\r\n // TODO 兼容 type 属性 ,后续会废弃\r\n if (type) return\r\n this.showPopup = true\r\n this.showTrans = true\r\n },\r\n /**\r\n * 中间弹出样式处理\r\n */\r\n center(type) {\r\n this.popupstyle = 'center'\r\n this.ani = ['zoom-out', 'fade']\r\n this.transClass = {\r\n position: 'fixed',\r\n /* #ifndef APP-NVUE */\r\n display: 'flex',\r\n flexDirection: 'column',\r\n /* #endif */\r\n bottom: 0,\r\n left: 0,\r\n right: 0,\r\n top: 0,\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n }\r\n // TODO 兼容 type 属性 ,后续会废弃\r\n if (type) return\r\n this.showPopup = true\r\n this.showTrans = true\r\n },\r\n left(type) {\r\n this.popupstyle = 'left'\r\n this.ani = ['slide-left']\r\n this.transClass = {\r\n position: 'fixed',\r\n left: 0,\r\n bottom: 0,\r\n top: 0,\r\n backgroundColor: this.bg,\r\n /* #ifndef APP-NVUE */\r\n display: 'flex',\r\n flexDirection: 'column',\r\n /* #endif */\r\n }\r\n // TODO 兼容 type 属性 ,后续会废弃\r\n if (type) return\r\n this.showPopup = true\r\n this.showTrans = true\r\n },\r\n right(type) {\r\n this.popupstyle = 'right'\r\n this.ani = ['slide-right']\r\n this.transClass = {\r\n position: 'fixed',\r\n bottom: 0,\r\n right: 0,\r\n top: 0,\r\n backgroundColor: this.bg,\r\n /* #ifndef APP-NVUE */\r\n display: 'flex',\r\n flexDirection: 'column',\r\n /* #endif */\r\n }\r\n // TODO 兼容 type 属性 ,后续会废弃\r\n if (type) return\r\n this.showPopup = true\r\n this.showTrans = true\r\n },\r\n },\r\n}\r\n</script>\r\n<style lang=\"scss\">\r\n// 关闭icon\r\n.close-icon {\r\n position: absolute;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n bottom: -80rpx;\r\n z-index: 100;\r\n}\r\n\r\n.uni-popup {\r\n position: fixed;\r\n /* #ifndef APP-NVUE */\r\n z-index: 99;\r\n\r\n /* #endif */\r\n &.top,\r\n &.left,\r\n &.right {\r\n /* #ifdef H5 */\r\n top: var(--window-top);\r\n /* #endif */\r\n /* #ifndef H5 */\r\n top: 0;\r\n /* #endif */\r\n }\r\n\r\n .uni-popup__wrapper {\r\n /* #ifndef APP-NVUE */\r\n display: block;\r\n /* #endif */\r\n position: relative;\r\n background: v-bind(backgroundImage) no-repeat;\r\n background-size: 100% 100%;\r\n\r\n /* iphonex 等安全区设置,底部安全区适配 */\r\n /* #ifndef APP-NVUE */\r\n // padding-bottom: constant(safe-area-inset-bottom);\r\n // padding-bottom: env(safe-area-inset-bottom);\r\n /* #endif */\r\n &.left,\r\n &.right {\r\n /* #ifdef H5 */\r\n padding-top: var(--window-top);\r\n /* #endif */\r\n /* #ifndef H5 */\r\n padding-top: 0;\r\n /* #endif */\r\n flex: 1;\r\n }\r\n }\r\n}\r\n\r\n.fixforpc-z-index {\r\n /* #ifndef APP-NVUE */\r\n z-index: 999;\r\n /* #endif */\r\n}\r\n\r\n.fixforpc-top {\r\n top: 0;\r\n}\r\n</style>\r\n","import Component from 'D:/App/Work/addr/acdr-ui/src/sheep/ui/su-popup/su-popup.vue'\nwx.createComponent(Component)"],"names":["sheep"],"mappings":";;;;;;;;;;;;;;;;;;;AAuFA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EACN,YAAY,CAIX;AAAA,EACD,OAAO,CAAC,UAAU,aAAa,OAAO;AAAA,EACtC,OAAO;AAAA;AAAA,IAEL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA,IAED,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA,IAED,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACV;AAAA;AAAA,IAED,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA,IAED,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA,IAGD,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA,IAED,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA,IAED,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA,IAED,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,qBAAqB;AAAA,MACnB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,QAAQ;AAAA,MACN,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,SAAS,SAAU,UAAU,UAAU;AACrC,YAAI,OAAO,aAAa,eAAe,CAAC,UAAU;AAChD;AAAA,QACF;AACA,YAAI,UAAU;AACZ,eAAK,KAAK;AAAA,eACL;AACL,eAAK,MAAM;AAAA,QACb;AAAA,MACD;AAAA,MACD,WAAW;AAAA,IACZ;AAAA;AAAA;AAAA;AAAA,IAID,MAAM;AAAA,MACJ,SAAS,SAAU,MAAM;AACvB,YAAI,CAAC,KAAK,OAAO,IAAI;AAAG;AACxB,aAAK,KAAK,OAAO,IAAI,CAAC,EAAE,IAAI;AAAA,MAC7B;AAAA,MACD,WAAW;AAAA,IACZ;AAAA,IACD,WAAW;AAAA,MACT,SAAS,SAAU,QAAQ;AACzB,YAAI,CAAC,KAAK,OAAO,MAAM;AAAG;AAC1B,aAAK,KAAK,OAAO,KAAK,IAAI,CAAC,EAAE,IAAI;AAAA,MAClC;AAAA,MACD,WAAW;AAAA,IACZ;AAAA;AAAA;AAAA;AAAA;AAAA,IAKD,WAAW;AAAA,MACT,SAAS,SAAU,KAAK;AACtB,aAAK,UAAU;AAAA,MAChB;AAAA,MACD,WAAW;AAAA,IACZ;AAAA,IACD,aAAa;AAAA,MACX,SAAS,SAAU,KAAK;AACtB,aAAK,UAAU;AAAA,MAChB;AAAA,MACD,WAAW;AAAA,IACZ;AAAA;AAAA,IAED,UAAU,MAAM;AAAA,IAKf;AAAA,EACF;AAAA,EACD,OAAO;AACL,WAAO;AAAA,aACLA,YAAK;AAAA,MACL,UAAU;AAAA,MACV,KAAK,CAAE;AAAA,MACP,WAAW;AAAA,MACX,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,QAAQ;AAAA,QACN,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,OAAO;AAAA,QACP,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,OAAO;AAAA,MACR;AAAA,MACD,WAAW;AAAA,QACT,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,KAAK;AAAA,QACL,MAAM;AAAA,QACN,OAAO;AAAA,QACP,iBAAiB;AAAA,MAClB;AAAA,MACD,YAAY;AAAA,QACV,UAAU;AAAA,QACV,MAAM;AAAA,QACN,OAAO;AAAA,MACR;AAAA,MACD,UAAU;AAAA,MACV,SAAS;AAAA,MACT,YAAY,KAAK,YAAY,iBAAiB;AAAA,IAChD;AAAA,EACD;AAAA,EACD,UAAU;AAAA,IACR,YAAY;AACV,aAAO,KAAK,cAAc,OAAO,KAAK,eAAe;AAAA,IACtD;AAAA,IACD,KAAK;AACH,UAAI,KAAK,oBAAoB,MAAM,KAAK,oBAAoB,QAAQ;AAClE,eAAO;AAAA,MACT;AACA,aAAO,KAAK;AAAA,IACb;AAAA,IACD,eAAe;AACb,UAAI,KAAK,OAAO;AACd,YAAI,KAAK,SAAS,UAAU;AAC1B,iBAAO;AAAA,YACL,0BAA0B,WAAW,KAAK,KAAK,IAAI;AAAA,YACnD,2BAA2B,WAAW,KAAK,KAAK,IAAI;AAAA,UACtD;AAAA,QACF;AACA,YAAI,KAAK,SAAS,UAAU;AAC1B,iBAAO;AAAA,YACL,0BAA0B,WAAW,KAAK,KAAK,IAAI;AAAA,YACnD,2BAA2B,WAAW,KAAK,KAAK,IAAI;AAAA,YACpD,6BAA6B,WAAW,KAAK,KAAK,IAAI;AAAA,YACtD,8BAA8B,WAAW,KAAK,KAAK,IAAI;AAAA,UACzD;AAAA,QACF;AACA,YAAI,KAAK,SAAS,OAAO;AACvB,iBAAO;AAAA,YACL,6BAA6B,WAAW,KAAK,KAAK,IAAI;AAAA,YACtD,8BAA8B,WAAW,KAAK,KAAK,IAAI;AAAA,UACzD;AAAA,QACF;AAAA,MACF;AAAA,IACD;AAAA,EACF;AAAA,EACD,UAAU;AACR,UAAM,UAAU,MAAM;AACpB,YAAM,EAAE,aAAa,cAAc,WAAW,UAAU,cAAc,eAAiB,IACrFA,YAAK,MAAC,UAAU;AAClB,WAAK,aAAa;AAClB,WAAK,cAAc,gBAAgB,aAAa;AAEhD,UAAI,YAAY,KAAK,UAAU;AAE7B,aAAK,iBAAiB,eAAe,SAAS;AAAA,aAKzC;AACL,aAAK,iBAAiB;AAAA,MACxB;AAAA,IACF;AACA,YAAQ;AAAA,EAOT;AAAA;AAAA,EASD,YAAY;AACV,SAAK,aAAa;AAAA,EACnB;AAAA,EAED,UAAU;AAER,QAAI,KAAK,gBAAgB,QAAQ,KAAK,cAAc,MAAM;AACxD,WAAK,UAAU;AAAA,WACV;AACL,WAAK,UAAU,KAAK,gBAAgB,OAAO,KAAK,cAAc,KAAK;AAAA,IACrE;AACA,QAAI,KAAK,WAAW;AAClB,WAAK,WAAW;AAAA,WACX;AACL,WAAK,WAAW;AAAA,IAClB;AAEA,SAAK,eAAe;AAEpB,SAAK,mBAAmB;AACxB,SAAK,UAAU,kBAAkB,KAAK;AAAA,EACvC;AAAA,EACD,SAAS;AAAA,IACP,eAAe;AAAA,IAKd;AAAA;AAAA;AAAA;AAAA,IAID,YAAY;AACV,WAAK,WAAW;AAAA,IACjB;AAAA;AAAA;AAAA;AAAA,IAID,cAAc;AACZ,WAAK,UAAU;AAAA,IAChB;AAAA;AAAA,IAED,MAAM,GAAG;AAEP,QAAE,gBAAgB;AAElB,WAAK,mBAAmB;AAAA,IACzB;AAAA,IAED,KAAK,WAAW;AAEd,UAAI,KAAK,WAAW;AAClB,qBAAa,KAAK,KAAK;AACvB,aAAK,YAAY;AAAA,MACnB;AACA,UAAI,YAAY,CAAC,OAAO,UAAU,UAAU,QAAQ,SAAS,WAAW,UAAU,OAAO;AACzF,UAAI,EAAE,aAAa,UAAU,QAAQ,SAAS,MAAM,KAAK;AACvD,oBAAY,KAAK;AAAA,MACnB;AACA,UAAI,CAAC,KAAK,OAAO,SAAS,GAAG;AAC3B,gBAAQ,MAAM,SAAS,SAAS;AAChC;AAAA,MACF;AACA,WAAK,KAAK,OAAO,SAAS,CAAC,EAAE;AAC7B,WAAK,MAAM,UAAU;AAAA,QACnB,MAAM;AAAA,QACN,MAAM;AAAA,OACP;AAAA,IACF;AAAA,IACD,MAAM,MAAM;AACV,WAAK,YAAY;AACjB,WAAK,MAAM,UAAU;AAAA,QACnB,MAAM;AAAA,QACN,MAAM,KAAK;AAAA,OACZ;AACD,WAAK,MAAM,OAAO;AAClB,mBAAa,KAAK,KAAK;AAGvB,WAAK,QAAQ,WAAW,MAAM;AAC5B,aAAK,YAAY;AAAA,MAClB,GAAE,GAAG;AAAA,IACP;AAAA;AAAA,IAED,aAAa;AACX,WAAK,mBAAmB;AAAA,IACzB;AAAA,IAED,QAAQ;AACN,UAAI,KAAK,kBAAkB;AAEzB,aAAK,mBAAmB;AACxB;AAAA,MACF;AACA,WAAK,MAAM,WAAW;AACtB,UAAI,CAAC,KAAK;AAAS;AACnB,WAAK,MAAM;AAAA,IACZ;AAAA;AAAA;AAAA;AAAA,IAID,IAAI,MAAM;AACR,WAAK,aAAa,KAAK,YAAY,iBAAiB;AACpD,WAAK,MAAM,CAAC,WAAW;AACvB,WAAK,aAAa;AAAA,QAChB,UAAU;AAAA,QACV,MAAM;AAAA,QACN,OAAO;AAAA,QACP,KAAK,KAAK,QAAQ;AAAA,QAClB,iBAAiB,KAAK;AAAA,MACxB;AAEA,UAAI;AAAM;AACV,WAAK,YAAY;AACjB,WAAK,YAAY;AACjB,WAAK,UAAU,MAAM;AACnB,YAAI,KAAK,gBAAgB,KAAK,SAAS,WAAW;AAChD,eAAK,aAAa,WAAW;AAAA,QAC/B;AAAA,OACD;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAID,OAAO,MAAM;AACX,WAAK,aAAa;AAClB,WAAK,MAAM,CAAC,cAAc;AAC1B,WAAK,aAAa;AAAA,QAChB,UAAU;AAAA,QACV,MAAM;AAAA,QACN,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,eAAe,KAAK,iBAAiB,KAAK,QAAQ;AAAA,QAClD,iBAAiB,KAAK;AAAA,MACxB;AAEA,UAAI;AAAM;AACV,WAAK,YAAY;AACjB,WAAK,YAAY;AAAA,IAClB;AAAA;AAAA;AAAA;AAAA,IAID,OAAO,MAAM;AACX,WAAK,aAAa;AAClB,WAAK,MAAM,CAAC,YAAY,MAAM;AAC9B,WAAK,aAAa;AAAA,QAChB,UAAU;AAAA,QAEV,SAAS;AAAA,QACT,eAAe;AAAA,QAEf,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,OAAO;AAAA,QACP,KAAK;AAAA,QACL,gBAAgB;AAAA,QAChB,YAAY;AAAA,MACd;AAEA,UAAI;AAAM;AACV,WAAK,YAAY;AACjB,WAAK,YAAY;AAAA,IAClB;AAAA,IACD,KAAK,MAAM;AACT,WAAK,aAAa;AAClB,WAAK,MAAM,CAAC,YAAY;AACxB,WAAK,aAAa;AAAA,QAChB,UAAU;AAAA,QACV,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,KAAK;AAAA,QACL,iBAAiB,KAAK;AAAA,QAEtB,SAAS;AAAA,QACT,eAAe;AAAA,MAEjB;AAEA,UAAI;AAAM;AACV,WAAK,YAAY;AACjB,WAAK,YAAY;AAAA,IAClB;AAAA,IACD,MAAM,MAAM;AACV,WAAK,aAAa;AAClB,WAAK,MAAM,CAAC,aAAa;AACzB,WAAK,aAAa;AAAA,QAChB,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,KAAK;AAAA,QACL,iBAAiB,KAAK;AAAA,QAEtB,SAAS;AAAA,QACT,eAAe;AAAA,MAEjB;AAEA,UAAI;AAAM;AACV,WAAK,YAAY;AACjB,WAAK,YAAY;AAAA,IAClB;AAAA,EACF;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3gBA,GAAG,gBAAgB,SAAS;"} |