UNPKG

tdesign-vue-next

Version:
1 lines 17.6 kB
{"version":3,"file":"dialog-card.mjs","sources":["../../../components/dialog/dialog-card.tsx"],"sourcesContent":["import { computed, defineComponent, ref, toRefs } from 'vue';\nimport {\n CloseIcon as TdCloseIcon,\n InfoCircleFilledIcon as TdInfoCircleFilledIcon,\n CheckCircleFilledIcon as TdCheckCircleFilledIcon,\n ErrorCircleFilledIcon as TdErrorCircleFilledIcon,\n} from 'tdesign-icons-vue-next';\nimport dialogCardProps from './dialog-card-props';\nimport { useConfig, useContent, useTNodeJSX, useGlobalIcon, usePrefixClass } from '@tdesign/shared-hooks';\n\nimport { useAction } from './hooks';\n\nimport type { TdDialogProps } from './type';\nimport dialogProps from './props';\nimport { getCSSValue, initDragEvent } from './utils';\n\nexport default defineComponent({\n name: 'TDialogCard',\n // 注册v-draggable指令,传入true时候初始化拖拽事件\n directives: {\n draggable(el, binding) {\n // el 指令绑定的元素\n if (el && binding && binding.value) {\n initDragEvent(el);\n }\n },\n },\n props: {\n ...dialogProps,\n ...dialogCardProps,\n },\n setup(props, { expose }) {\n const rootRef = ref<HTMLElement | null>(null);\n const COMPONENT_NAME = usePrefixClass('dialog');\n const classPrefix = usePrefixClass();\n const renderTNodeJSX = useTNodeJSX();\n const renderContent = useContent();\n const { globalConfig } = useConfig('dialog');\n const { CloseIcon, InfoCircleFilledIcon, CheckCircleFilledIcon, ErrorCircleFilledIcon } = useGlobalIcon({\n CloseIcon: TdCloseIcon,\n InfoCircleFilledIcon: TdInfoCircleFilledIcon,\n CheckCircleFilledIcon: TdCheckCircleFilledIcon,\n ErrorCircleFilledIcon: TdErrorCircleFilledIcon,\n });\n const { cancelBtn, confirmBtn, confirmLoading } = toRefs(props);\n const confirmBtnAction = (e: MouseEvent) => props.onConfirm?.({ e });\n const cancelBtnAction = (e: MouseEvent) => props.onCancel?.({ e });\n const { getConfirmBtn, getCancelBtn } = useAction({ confirmBtnAction, cancelBtnAction });\n // 是否非模态对话框\n const isModeLess = computed(() => props.mode === 'modeless');\n // 是否全屏对话框\n const isFullScreen = computed(() => props.mode === 'full-screen');\n const closeBtnAction = (e: MouseEvent) => props?.onCloseBtnClick?.({ e });\n const onStopDown = (e: MouseEvent) => {\n if (isModeLess.value && props?.draggable) e.stopPropagation();\n };\n\n const resetPosition = () => {\n if (!rootRef.value && isModeLess.value && props.draggable) return;\n rootRef.value.style.position = 'relative';\n rootRef.value.style.left = 'unset';\n rootRef.value.style.top = 'unset';\n };\n\n // 暴露给父组件的接口\n expose({\n $el: rootRef,\n resetPosition,\n });\n\n const dialogClass = computed(() => {\n const dialogClass = [\n `${COMPONENT_NAME.value}`,\n `${COMPONENT_NAME.value}__modal-${props.theme}`,\n isModeLess.value && props.draggable && `${COMPONENT_NAME.value}--draggable`,\n props.dialogClassName,\n ];\n\n if (isFullScreen.value) {\n dialogClass.push(`${COMPONENT_NAME.value}__fullscreen`);\n } else {\n dialogClass.push(...[`${COMPONENT_NAME.value}--default`, `${COMPONENT_NAME.value}--${props.placement}`]);\n }\n return dialogClass;\n });\n const dialogStyle = computed(() => {\n return !isFullScreen.value ? { width: getCSSValue(props.width), ...props.dialogStyle } : { ...props.dialogStyle }; // width全屏模式不生效\n });\n\n const renderCard = () => {\n const confirmBtnLoading = computed(() => {\n // @ts-ignore\n return confirmBtn.value?.loading || confirmLoading.value;\n });\n const defaultFooter = (\n <div>\n {getCancelBtn({\n cancelBtn: cancelBtn.value as TdDialogProps['cancelBtn'],\n globalCancel: globalConfig.value.cancel,\n className: `${COMPONENT_NAME.value}__cancel`,\n })}\n {getConfirmBtn({\n theme: props?.theme,\n confirmBtn: confirmBtn.value as TdDialogProps['confirmBtn'],\n globalConfirm: globalConfig.value.confirm,\n globalConfirmBtnTheme: globalConfig.value.confirmBtnTheme,\n className: `${COMPONENT_NAME.value}__confirm`,\n confirmLoading: confirmBtnLoading.value,\n })}\n </div>\n );\n\n const footerContent = renderTNodeJSX('footer', defaultFooter);\n\n const renderHeader = () => {\n // header 值为 true 显示空白头部\n const header = renderTNodeJSX('header', <h5 class=\"title\"></h5>) ?? false;\n const headerClassName = isFullScreen.value\n ? [`${COMPONENT_NAME.value}__header`, `${COMPONENT_NAME.value}__header--fullscreen`]\n : `${COMPONENT_NAME.value}__header`;\n\n const closeClassName = isFullScreen.value\n ? [`${COMPONENT_NAME.value}__close`, `${COMPONENT_NAME.value}__close--fullscreen`]\n : `${COMPONENT_NAME.value}__close`;\n const getIcon = () => {\n const icon = {\n info: <InfoCircleFilledIcon class={`${classPrefix.value}-is-info`} />,\n warning: <ErrorCircleFilledIcon class={`${classPrefix.value}-is-warning`} />,\n danger: <ErrorCircleFilledIcon class={`${classPrefix.value}-is-error`} />,\n success: <CheckCircleFilledIcon class={`${classPrefix.value}-is-success`} />,\n };\n return icon[props?.theme as keyof typeof icon];\n };\n return (\n (header || props?.closeBtn) && (\n <div class={headerClassName} onMousedown={onStopDown}>\n <div class={`${COMPONENT_NAME.value}__header-content`}>\n {getIcon()}\n {header}\n </div>\n\n {props?.closeBtn ? (\n <span class={closeClassName} onClick={closeBtnAction}>\n {renderTNodeJSX('closeBtn', <CloseIcon />)}\n </span>\n ) : null}\n </div>\n )\n );\n };\n\n const renderBody = () => {\n const body = renderContent('default', 'body');\n const bodyClassName =\n props?.theme === 'default' ? [`${COMPONENT_NAME.value}__body`] : [`${COMPONENT_NAME.value}__body__icon`];\n if (isFullScreen.value && footerContent) {\n bodyClassName.push(`${COMPONENT_NAME.value}__body--fullscreen`);\n } else if (isFullScreen.value) {\n bodyClassName.push(`${COMPONENT_NAME.value}__body--fullscreen--without-footer`);\n }\n return (\n <div class={bodyClassName} onMousedown={onStopDown}>\n {body}\n </div>\n );\n };\n\n const renderFooter = () => {\n const footerClassName = isFullScreen.value\n ? [`${COMPONENT_NAME.value}__footer`, `${COMPONENT_NAME.value}__footer--fullscreen`]\n : `${COMPONENT_NAME.value}__footer`;\n\n return (\n footerContent && (\n <div class={footerClassName} onMousedown={onStopDown}>\n {footerContent}\n </div>\n )\n );\n };\n\n return (\n <>\n {renderHeader()}\n {renderBody()}\n {!!props.footer && renderFooter()}\n </>\n );\n };\n\n return () => (\n <div\n key=\"dialog\"\n ref={rootRef}\n class={dialogClass.value}\n style={dialogStyle.value}\n v-draggable={isModeLess.value && props.draggable}\n >\n {renderCard()}\n </div>\n );\n },\n});\n"],"names":["defineComponent","name","directives","draggable","el","binding","value","initDragEvent","props","_objectSpread","dialogProps","dialogCardProps","setup","_ref","expose","rootRef","ref","COMPONENT_NAME","usePrefixClass","classPrefix","renderTNodeJSX","useTNodeJSX","renderContent","useContent","_useConfig","useConfig","globalConfig","_useGlobalIcon","useGlobalIcon","CloseIcon","TdCloseIcon","InfoCircleFilledIcon","TdInfoCircleFilledIcon","CheckCircleFilledIcon","TdCheckCircleFilledIcon","ErrorCircleFilledIcon","TdErrorCircleFilledIcon","_toRefs","toRefs","cancelBtn","confirmBtn","confirmLoading","confirmBtnAction","e","_props$onConfirm","onConfirm","call","cancelBtnAction","_props$onCancel","onCancel","_useAction","useAction","getConfirmBtn","getCancelBtn","isModeLess","computed","mode","isFullScreen","closeBtnAction","_props$onCloseBtnClic","onCloseBtnClick","onStopDown","stopPropagation","resetPosition","style","position","left","top","$el","dialogClass","concat","theme","dialogClassName","push","apply","placement","dialogStyle","width","getCSSValue","renderCard","confirmBtnLoading","_confirmBtn$value","loading","defaultFooter","globalCancel","cancel","className","globalConfirm","confirm","globalConfirmBtnTheme","confirmBtnTheme","footerContent","renderHeader","_renderTNodeJSX","header","_createVNode","headerClassName","closeClassName","getIcon","icon","info","warning","danger","success","closeBtn","renderBody","body","bodyClassName","renderFooter","footerClassName","_Fragment","footer","_withDirectives"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,kBAAeA,eAAgB,CAAA;AAC7BC,EAAAA,IAAM,EAAA,aAAA;AAENC,EAAAA,UAAY,EAAA;AACVC,IAAAA,SAAA,WAAAA,SAAAA,CAAUC,IAAIC,OAAS,EAAA;AAEjB,MAAA,IAAAD,EAAA,IAAMC,OAAW,IAAAA,OAAA,CAAQC,KAAO,EAAA;QAClCC,aAAA,CAAcH,EAAE,CAAA,CAAA;AAClB,OAAA;AACF,KAAA;GACF;EACAI,KAAO,EAAAC,aAAA,CAAAA,aAAA,KACFC,KAAA,CAAA,EACAC,eAAA,CACL;AACAC,EAAAA,KAAM,WAANA,KAAMA,CAAAJ,KAAA,EAAAK,IAAA,EAAmB;AAAA,IAAA,IAAVC,MAAA,GAAAD,IAAA,CAAAC,MAAA,CAAA;AACP,IAAA,IAAAC,OAAA,GAAUC,IAAwB,IAAI,CAAA,CAAA;AACtC,IAAA,IAAAC,cAAA,GAAiBC,eAAe,QAAQ,CAAA,CAAA;AAC9C,IAAA,IAAMC,cAAcD,cAAe,EAAA,CAAA;AACnC,IAAA,IAAME,iBAAiBC,WAAY,EAAA,CAAA;AACnC,IAAA,IAAMC,gBAAgBC,UAAW,EAAA,CAAA;AACjC,IAAA,IAAAC,UAAA,GAAyBC,SAAA,CAAU,QAAQ,CAAA;MAAnCC,YAAA,GAAAF,UAAA,CAAAE,YAAA,CAAA;IACR,IAAAC,cAAA,GAA0FC,aAAc,CAAA;AACtGC,QAAAA,SAAW,EAAAC,SAAA;AACXC,QAAAA,oBAAsB,EAAAC,oBAAA;AACtBC,QAAAA,qBAAuB,EAAAC,qBAAA;AACvBC,QAAAA,qBAAuB,EAAAC,qBAAAA;AACzB,OAAC,CAAA;MALOP,WAAW,GAAAF,cAAA,CAAXE,SAAW;MAAAE,sBAAA,GAAAJ,cAAA,CAAAI,oBAAA;MAAsBE,uBAAuB,GAAAN,cAAA,CAAvBM,qBAAuB;MAAAE,uBAAA,GAAAR,cAAA,CAAAQ,qBAAA,CAAA;AAMhE,IAAA,IAAAE,OAAA,GAAkDC,OAAO9B,KAAK,CAAA;MAAtD+B,SAAW,GAAAF,OAAA,CAAXE,SAAW;MAAAC,UAAA,GAAAH,OAAA,CAAAG,UAAA;MAAYC,cAAe,GAAAJ,OAAA,CAAfI,cAAe,CAAA;AAC9C,IAAA,IAAMC,mBAAmB,SAAnBA,iBAAoBC,CAAA,EAAA;AAAA,MAAA,IAAAC,gBAAA,CAAA;AAAA,MAAA,OAAA,CAAAA,gBAAA,GAAkBpC,MAAMqC,SAAY,MAAA,IAAA,IAAAD,gBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,gBAAA,CAAAE,IAAA,CAAAtC,OAAkB;AAAEmC,QAAAA,GAAAA,CAAAA;AAAE,OAAC,CAAA,CAAA;AAAA,KAAA,CAAA;AACnE,IAAA,IAAMI,kBAAkB,SAAlBA,gBAAmBJ,CAAA,EAAA;AAAA,MAAA,IAAAK,eAAA,CAAA;AAAA,MAAA,OAAA,CAAAA,eAAA,GAAkBxC,MAAMyC,QAAW,MAAA,IAAA,IAAAD,eAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjBA,eAAA,CAAAF,IAAA,CAAAtC,OAAiB;AAAEmC,QAAAA,GAAAA,CAAAA;AAAE,OAAC,CAAA,CAAA;AAAA,KAAA,CAAA;IAC3D,IAAAO,UAAA,GAAkCC,UAAU;AAAET,QAAAA,gBAAA,EAAAA,gBAAA;AAAkBK,QAAAA,iBAAAA,eAAAA;AAAgB,OAAC,CAAA;MAA/EK,2BAAAA;MAAeC,YAAa,GAAAH,UAAA,CAAbG,YAAa,CAAA;IAEpC,IAAMC,UAAa,GAAAC,QAAA,CAAS,YAAA;AAAA,MAAA,OAAM/C,KAAA,CAAMgD,SAAS,UAAU,CAAA;KAAA,CAAA,CAAA;IAE3D,IAAMC,YAAe,GAAAF,QAAA,CAAS,YAAA;AAAA,MAAA,OAAM/C,KAAA,CAAMgD,SAAS,aAAa,CAAA;KAAA,CAAA,CAAA;AAChE,IAAA,IAAME,iBAAiB,SAAjBA,eAAkBf,CAAA,EAAA;AAAA,MAAA,IAAAgB,qBAAA,CAAA;AAAA,MAAA,OAAkBnD,UAAAA,IAAAA,IAAAA,6CAAAA,MAAOoD,eAAkB,MAAA,IAAA,IAAAD,qBAAA,KAAzBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAAb,IAAA,CAAAtC,OAAyB;AAAEmC,QAAAA,GAAAA,CAAAA;AAAE,OAAC,CAAA,CAAA;AAAA,KAAA,CAAA;AAClE,IAAA,IAAAkB,UAAA,GAAa,SAAbA,UAAAA,CAAclB,CAAkB,EAAA;AAChC,MAAA,IAAAW,UAAA,CAAWhD,SAASE,KAAO,aAAPA,KAAO,KAAA,KAAA,CAAA,IAAPA,KAAO,CAAAL,SAAA,EAAWwC,CAAA,CAAEmB,eAAgB,EAAA,CAAA;KAC9D,CAAA;AAEA,IAAA,IAAMC,gBAAgB,SAAhBA,gBAAsB;AAC1B,MAAA,IAAI,CAAChD,OAAA,CAAQT,KAAS,IAAAgD,UAAA,CAAWhD,SAASE,KAAM,CAAAL,SAAA,EAAW,OAAA;AACnDY,MAAAA,OAAA,CAAAT,KAAA,CAAM0D,MAAMC,QAAW,GAAA,UAAA,CAAA;AACvBlD,MAAAA,OAAA,CAAAT,KAAA,CAAM0D,MAAME,IAAO,GAAA,OAAA,CAAA;AACnBnD,MAAAA,OAAA,CAAAT,KAAA,CAAM0D,MAAMG,GAAM,GAAA,OAAA,CAAA;KAC5B,CAAA;AAGOrD,IAAAA,MAAA,CAAA;AACLsD,MAAAA,GAAK,EAAArD,OAAA;AACLgD,MAAAA,aAAA,EAAAA,aAAAA;AACF,KAAC,CAAA,CAAA;AAEK,IAAA,IAAAM,WAAA,GAAcd,SAAS,YAAM;AACjC,MAAA,IAAMc,YAAc,GAAA,CAAA,EAAA,CAAAC,MAAA,CACfrD,cAAe,CAAAX,KAAA,CAAAgE,EAAAA,EAAAA,CAAAA,MAAA,CACfrD,cAAe,CAAAX,KAAA,EAAAgE,UAAAA,CAAAA,CAAAA,MAAA,CAAgB9D,KAAM,CAAA+D,KAAA,CAAA,EACxCjB,UAAW,CAAAhD,KAAA,IAASE,KAAM,CAAAL,SAAA,IAAAmE,EAAAA,CAAAA,MAAA,CAAgBrD,cAAe,CAAAX,KAAA,EAAA,aAAA,CAAA,EACzDE,KAAM,CAAAgE,eAAA,CACR,CAAA;MAEA,IAAIf,aAAanD,KAAO,EAAA;QACtB+D,YAAY,CAAAI,IAAA,CAAAH,EAAAA,CAAAA,MAAA,CAAQrD,cAAA,CAAeX,KAAmB,EAAA,cAAA,CAAA,CAAA,CAAA;AACxD,OAAO,MAAA;QACL+D,YAAY,CAAAI,IAAA,CAAAC,KAAA,CAAZL,YAAY,EAAQ,CAAAC,EAAAA,CAAAA,MAAA,CAAIrD,cAAA,CAAeX,KAAkB,mBAAAgE,MAAA,CAAGrD,cAAe,CAAAX,KAAA,EAAA,IAAA,CAAA,CAAAgE,MAAA,CAAU9D,KAAM,CAAAmE,SAAA,CAAA,CAAY,CAAA,CAAA;AACzG,OAAA;AACON,MAAAA,OAAAA,YAAAA,CAAAA;AACT,KAAC,CAAA,CAAA;AACK,IAAA,IAAAO,WAAA,GAAcrB,SAAS,YAAM;AACjC,MAAA,OAAO,CAACE,YAAa,CAAAnD,KAAA,GAAAG,aAAA,CAAA;AAAUoE,QAAAA,KAAA,EAAOC,YAAYtE,KAAM,CAAAqE,KAAK,CAAA;OAAMrE,EAAAA,MAAMoE,WAAY,CAAA,GAAAnE,aAAA,CAASD,EAAAA,EAAAA,MAAMoE,WAAY,CAAA,CAAA;AAClH,KAAC,CAAA,CAAA;AAED,IAAA,IAAMG,aAAa,SAAbA,aAAmB;AACjB,MAAA,IAAAC,iBAAA,GAAoBzB,SAAS,YAAM;AAAA,QAAA,IAAA0B,iBAAA,CAAA;AAEhC,QAAA,OAAA,CAAAA,CAAAA,iBAAA,GAAAzC,UAAA,CAAWlC,KAAO,MAAA,IAAA,IAAA2E,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,iBAAA,CAAkBC,OAAA,KAAWzC,cAAe,CAAAnC,KAAA,CAAA;AACrD,OAAC,CAAA,CAAA;AACD,MAAA,IAAM6E,0CAED9B,YAAa,CAAA;QACZd,WAAWA,SAAU,CAAAjC,KAAA;AACrB8E,QAAAA,YAAA,EAAc1D,aAAapB,KAAM,CAAA+E,MAAA;AACjCC,QAAAA,SAAA,EAAAhB,EAAAA,CAAAA,MAAA,CAAcrD,cAAe,CAAAX,KAAA,EAAA,UAAA,CAAA;OAC9B,CAAA,EACA8C,aAAc,CAAA;AACbmB,QAAAA,OAAO/D,KAAO,KAAA,IAAA,IAAPA,KAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAO,CAAA+D,KAAA;QACd/B,YAAYA,UAAW,CAAAlC,KAAA;AACvBiF,QAAAA,aAAA,EAAe7D,aAAapB,KAAM,CAAAkF,OAAA;AAClCC,QAAAA,qBAAA,EAAuB/D,aAAapB,KAAM,CAAAoF,eAAA;AAC1CJ,QAAAA,SAAA,KAAAhB,MAAA,CAAcrD,cAAe,CAAAX,KAAA,EAAA,WAAA,CAAA;QAC7BmC,gBAAgBuC,iBAAkB,CAAA1E,KAAAA;AACpC,OAAC,CAAA,CAbF,CAAA,CAAA;AAiBG,MAAA,IAAAqF,aAAA,GAAgBvE,cAAe,CAAA,QAAA,EAAU+D,aAAa,CAAA,CAAA;AAE5D,MAAA,IAAMS,eAAe,SAAfA,eAAqB;AAAA,QAAA,IAAAC,eAAA,CAAA;QAEnB,IAAAC,MAAA,IAAAD,eAAA,GAASzE,eAAe,QAAU,EAAA2E,WAAA,CAAA,IAAA,EAAA;AAAA,UAAA,OAAA,EAAA,OAAA;AAAA,SAAA,EAAA,IAAA,CAAuB,CAAK,MAAAF,IAAAA,IAAAA,eAAA,KAAAA,KAAAA,CAAAA,GAAAA,eAAA,GAAA,KAAA,CAAA;QACpE,IAAMG,eAAkB,GAAAvC,YAAA,CAAanD,KACjC,GAAA,CAAAgE,EAAAA,CAAAA,MAAA,CAAIrD,cAAA,CAAeX,KAAiB,kBAAAgE,MAAA,CAAGrD,cAAe,CAAAX,KAAA,EAAA,sBAAA,CAAA,CACtD,GAAAgE,EAAAA,CAAAA,MAAA,CAAGrD,cAAe,CAAAX,KAAA,EAAA,UAAA,CAAA,CAAA;QAEtB,IAAM2F,cAAiB,GAAAxC,YAAA,CAAanD,KAChC,GAAA,CAAAgE,EAAAA,CAAAA,MAAA,CAAIrD,cAAA,CAAeX,KAAgB,iBAAAgE,MAAA,CAAGrD,cAAe,CAAAX,KAAA,EAAA,qBAAA,CAAA,CACrD,GAAAgE,EAAAA,CAAAA,MAAA,CAAGrD,cAAe,CAAAX,KAAA,EAAA,SAAA,CAAA,CAAA;AACtB,QAAA,IAAM4F,UAAU,SAAVA,UAAgB;AACpB,UAAA,IAAMC,IAAO,GAAA;YACXC;iCAAsCjF,YAAYb,KAAiB,EAAA,UAAA,CAAA;aAAA,EAAA,IAAA,CAAA;YACnE+F;iCAA0ClF,YAAYb,KAAoB,EAAA,aAAA,CAAA;aAAA,EAAA,IAAA,CAAA;YAC1EgG;iCAAyCnF,YAAYb,KAAkB,EAAA,WAAA,CAAA;aAAA,EAAA,IAAA,CAAA;YACvEiG;iCAA0CpF,YAAYb,KAAoB,EAAA,aAAA,CAAA;AAAA,aAAA,EAAA,IAAA,CAAA;WAC5E,CAAA;UACA,OAAO6F,KAAK3F,KAAO,KAAA,IAAA,IAAPA,KAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAO,CAAA+D,KAAA,CAAA,CAAA;SACrB,CAAA;QACA,OAAA,CACGuB,WAAUtF,KAAO,KAAA,IAAA,IAAPA,KAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,KAAO,CAAAgG,QAAA,CAAA,KAAAT,WAAA,CAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EACJC;uBAA8BnC,EAAAA,UAAAA;AAAA,SAAA,EAAA,CAAAkC,WAAA,CAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EAAA,EAAA,CAAAzB,MAAA,CACzBrD,cAAe,CAAAX,KAAA,EAAA,kBAAA,CAAA;AAAA,SAAA,EAAA,CAC3B4F,OAAQ,EAAA,EACRJ,MAAA,CAGFtF,CAAAA,EAAAA,KAAO,KAAPA,IAAAA,IAAAA,KAAO,KAAPA,KAAAA,CAAAA,IAAAA,KAAO,CAAAgG,QAAA,GAAAT,WAAA,CAAA,MAAA,EAAA;AAAA,UAAA,OAAA,EACOE,cAAgB;UAAA,SAASvC,EAAAA,cAAAA;SACnCtC,EAAAA,CAAAA,cAAA,CAAe,qCAAyB,IAAA,EAAA,IAAA,CAAA,CAAA,CAEzC,CAAA,GAAA,IAAA,CAVL,CAAA,CAAA;OAcP,CAAA;AAEA,MAAA,IAAMqF,aAAa,SAAbA,aAAmB;AACjB,QAAA,IAAAC,IAAA,GAAOpF,aAAc,CAAA,SAAA,EAAW,MAAM,CAAA,CAAA;QAC5C,IAAMqF,aACJ,GAAA,CAAAnG,KAAA,KAAA,IAAA,IAAAA,KAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAA,CAAO+D,KAAU,MAAA,SAAA,GAAY,CAAAD,EAAAA,CAAAA,MAAA,CAAIrD,cAAe,CAAAX,KAAA,EAAiB,QAAA,CAAA,CAAA,GAAA,CAAAgE,EAAAA,CAAAA,MAAA,CAAIrD,cAAA,CAAeX,KAAmB,EAAA,cAAA,CAAA,CAAA,CAAA;AACrG,QAAA,IAAAmD,YAAA,CAAanD,SAASqF,aAAe,EAAA;UACzBgB,aAAA,CAAAlC,IAAA,CAAAH,EAAAA,CAAAA,MAAA,CAAQrD,cAAA,CAAeX,KAAyB,EAAA,oBAAA,CAAA,CAAA,CAAA;AAChE,SAAA,MAAA,IAAWmD,aAAanD,KAAO,EAAA;UACfqG,aAAA,CAAAlC,IAAA,CAAAH,EAAAA,CAAAA,MAAA,CAAQrD,cAAA,CAAeX,KAAyC,EAAA,oCAAA,CAAA,CAAA,CAAA;AAChF,SAAA;AACA,QAAA,OAAAyF,WAAA,CAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EACcY;uBAA4B9C,EAAAA,UAAAA;AAAA,SAAA,EAAA,CACrC6C;OAGP,CAAA;AAEA,MAAA,IAAME,eAAe,SAAfA,eAAqB;QACzB,IAAMC,eAAkB,GAAApD,YAAA,CAAanD,KACjC,GAAA,CAAAgE,EAAAA,CAAAA,MAAA,CAAIrD,cAAA,CAAeX,KAAiB,kBAAAgE,MAAA,CAAGrD,cAAe,CAAAX,KAAA,EAAA,sBAAA,CAAA,CACtD,GAAAgE,EAAAA,CAAAA,MAAA,CAAGrD,cAAe,CAAAX,KAAA,EAAA,UAAA,CAAA,CAAA;QAGpB,OAAAqF,aAAA,IAAAI,WAAA,CAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EACcc;uBAA8BhD,EAAAA,UAAAA;AAAA,SAAA,EAAA,CACvC8B,cADF,CAAA,CAAA;OAKP,CAAA;MAGE,OAAAI,WAAA,CAAAe,QAAA,EAAA,IAAA,EAAA,CACGlB,YAAa,EAAA,EACba,UAAW,EAAA,EACX,CAAC,CAACjG,KAAM,CAAAuG,MAAA,IAAUH,YAAa,EAAA,CAAA,CAAA,CAAA;KAGtC,CAAA;IAEO,OAAA,YAAA;MAAA,OAAAI,cAAA,CAAAjB,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,KAAA,EAAA,QAAA;AAAA,QAAA,KAAA,EAGEhF,OAAA;QAAA,OACEsD,EAAAA,WAAY,CAAA/D,KAAA;AAAA,QAAA,OAAA,EACZsE,WAAY,CAAAtE,KAAAA;AAAA,OAAA,EAAA,CAGlByE,UAAA,uCAFYzB,UAAW,CAAAhD,KAAA,IAASE,MAAML,SAEtC,CAAA,CAAA,CAAA,CAAA;KAPF,CAAA;AAUL,GAAA;AACF,CAAC,CAAA;;;;"}