UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 22.4 kB
{"version":3,"file":"color-picker2.mjs","sources":["../../../../../../packages/components/color-picker/src/color-picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popper\"\n :visible=\"showPicker\"\n :show-arrow=\"false\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :offset=\"0\"\n :gpu-acceleration=\"false\"\n :popper-class=\"[ns.be('picker', 'panel'), popperClass!]\"\n :popper-style=\"popperStyle\"\n :stop-popper-mouse-event=\"false\"\n pure\n loop\n role=\"dialog\"\n effect=\"light\"\n trigger=\"click\"\n :teleported=\"teleported\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n :persistent=\"persistent\"\n :append-to=\"appendTo\"\n @show=\"handleShowTooltip\"\n @hide=\"setShowPicker(false)\"\n >\n <template #content>\n <el-color-picker-panel\n ref=\"pickerPanelRef\"\n v-bind=\"panelProps\"\n v-click-outside:[triggerRef]=\"handleClickOutside\"\n :border=\"false\"\n :validate-event=\"false\"\n @keydown.esc=\"handleEsc\"\n >\n <template #footer>\n <div>\n <el-button\n :class=\"ns.be('footer', 'link-btn')\"\n text\n size=\"small\"\n @click=\"clear\"\n >\n {{ t('el.colorpicker.clear') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n :class=\"ns.be('footer', 'btn')\"\n @click=\"confirmValue\"\n >\n {{ t('el.colorpicker.confirm') }}\n </el-button>\n </div>\n </template>\n </el-color-picker-panel>\n </template>\n <template #default>\n <div\n :id=\"buttonId\"\n ref=\"triggerRef\"\n v-bind=\"$attrs\"\n :class=\"btnKls\"\n role=\"button\"\n :aria-label=\"buttonAriaLabel\"\n :aria-labelledby=\"buttonAriaLabelledby\"\n :aria-description=\"\n t('el.colorpicker.description', { color: modelValue || '' })\n \"\n :aria-disabled=\"colorDisabled\"\n :tabindex=\"colorDisabled ? undefined : tabindex\"\n @keydown=\"handleKeyDown\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n >\n <div :class=\"ns.be('picker', 'trigger')\" @click=\"handleTrigger\">\n <span :class=\"[ns.be('picker', 'color'), ns.is('alpha', showAlpha)]\">\n <span\n :class=\"ns.be('picker', 'color-inner')\"\n :style=\"{\n backgroundColor: displayedColor,\n }\"\n >\n <el-icon\n v-show=\"modelValue || showPanelColor\"\n :class=\"[ns.be('picker', 'icon'), ns.is('icon-arrow-down')]\"\n >\n <arrow-down />\n </el-icon>\n <el-icon\n v-show=\"!modelValue && !showPanelColor\"\n :class=\"[ns.be('picker', 'empty'), ns.is('icon-close')]\"\n >\n <close />\n </el-icon>\n </span>\n </span>\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, provide, ref, watch } from 'vue'\nimport { debounce, pick } from 'lodash-unified'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { reactiveComputed } from '@vueuse/core'\nimport { ClickOutside as vClickOutside } from '@element-plus/directives'\nimport { ElTooltip } from '@element-plus/components/tooltip'\nimport { ElButton } from '@element-plus/components/button'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport {\n useEmptyValues,\n useFocusController,\n useLocale,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { debugWarn, getEventCode } from '@element-plus/utils'\nimport { ArrowDown, Close } from '@element-plus/icons-vue'\nimport { colorPickerEmits, colorPickerProps } from './color-picker'\nimport {\n ElColorPickerPanel,\n ROOT_COMMON_COLOR_INJECTION_KEY,\n colorPickerPanelProps,\n} from '@element-plus/components/color-picker-panel'\nimport Color from '@element-plus/components/color-picker-panel/src/utils/color'\nimport { useCommonColor } from '@element-plus/components/color-picker-panel/src/composables/use-common-color'\n\nimport type { ColorPickerPanelInstance } from '@element-plus/components/color-picker-panel'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\ndefineOptions({\n name: 'ElColorPicker',\n})\nconst props = defineProps(colorPickerProps)\n\nconst emit = defineEmits(colorPickerEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('color')\nconst { formItem } = useFormItem()\nconst colorSize = useFormSize()\nconst colorDisabled = useFormDisabled()\nconst { valueOnClear, isEmptyValue } = useEmptyValues(props, null)\nconst commonColor = useCommonColor(props, emit)\nconst { inputId: buttonId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\n\nconst popper = ref<TooltipInstance>()\nconst triggerRef = ref()\nconst pickerPanelRef = ref<ColorPickerPanelInstance>()\nconst showPicker = ref(false)\nconst showPanelColor = ref(false)\n\n// active-change is used to prevent modelValue changes from triggering.\nlet shouldActiveChange = true\n\nconst { isFocused, handleFocus, handleBlur } = useFocusController(triggerRef, {\n disabled: colorDisabled,\n beforeBlur(event) {\n return popper.value?.isFocusInsideContent(event)\n },\n afterBlur() {\n setShowPicker(false)\n resetColor()\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n },\n})\n\nconst color = reactiveComputed(\n () => pickerPanelRef.value?.color ?? commonColor.color\n) as Color\n\nconst panelProps = computed(() =>\n pick(props, Object.keys(colorPickerPanelProps))\n)\n\nconst displayedColor = computed(() => {\n if (!props.modelValue && !showPanelColor.value) {\n return 'transparent'\n }\n return displayedRgb(color, props.showAlpha)\n})\n\nconst currentColor = computed(() => {\n return !props.modelValue && !showPanelColor.value ? '' : color.value\n})\n\nconst buttonAriaLabel = computed<string | undefined>(() => {\n return !isLabeledByFormItem.value\n ? props.ariaLabel || t('el.colorpicker.defaultLabel')\n : undefined\n})\n\nconst buttonAriaLabelledby = computed<string | undefined>(() => {\n return isLabeledByFormItem.value ? formItem?.labelId : undefined\n})\n\nconst btnKls = computed(() => {\n return [\n ns.b('picker'),\n ns.is('disabled', colorDisabled.value),\n ns.bm('picker', colorSize.value),\n ns.is('focused', isFocused.value),\n ]\n})\n\nfunction displayedRgb(color: Color, showAlpha: boolean) {\n const { r, g, b, a } = color.toRgb()\n return showAlpha ? `rgba(${r}, ${g}, ${b}, ${a})` : `rgb(${r}, ${g}, ${b})`\n}\n\nfunction setShowPicker(value: boolean) {\n showPicker.value = value\n}\n\nconst debounceSetShowPicker = debounce(setShowPicker, 100, { leading: true })\nfunction show() {\n if (colorDisabled.value) return\n setShowPicker(true)\n}\n\nfunction hide() {\n debounceSetShowPicker(false)\n resetColor()\n}\n\nfunction resetColor() {\n nextTick(() => {\n if (props.modelValue) {\n color.fromString(props.modelValue)\n } else {\n color.value = ''\n nextTick(() => {\n showPanelColor.value = false\n })\n }\n })\n}\n\nfunction handleTrigger() {\n if (colorDisabled.value) return\n if (showPicker.value) {\n resetColor()\n }\n debounceSetShowPicker(!showPicker.value)\n}\n\nfunction confirmValue() {\n const value = isEmptyValue(color.value) ? valueOnClear.value : color.value\n emit(UPDATE_MODEL_EVENT, value)\n emit(CHANGE_EVENT, value)\n if (props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n debounceSetShowPicker(false)\n // check if modelValue change, if not change, then reset color.\n nextTick(() => {\n const newColor = new Color({\n enableAlpha: props.showAlpha,\n format: props.colorFormat || '',\n value: props.modelValue,\n })\n if (!color.compare(newColor)) {\n resetColor()\n }\n })\n}\n\nfunction clear() {\n debounceSetShowPicker(false)\n emit(UPDATE_MODEL_EVENT, valueOnClear.value)\n emit(CHANGE_EVENT, valueOnClear.value)\n if (props.modelValue !== valueOnClear.value && props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n resetColor()\n}\n\nfunction handleShowTooltip() {\n pickerPanelRef?.value?.inputRef?.focus()\n}\n\nfunction handleClickOutside() {\n if (!showPicker.value) return\n hide()\n isFocused.value && focus()\n}\n\nfunction handleEsc(event: KeyboardEvent) {\n event.preventDefault()\n event.stopPropagation()\n setShowPicker(false)\n resetColor()\n}\n\nfunction handleKeyDown(event: KeyboardEvent) {\n const code = getEventCode(event)\n\n switch (code) {\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n case EVENT_CODE.space:\n event.preventDefault()\n event.stopPropagation()\n show()\n break\n case EVENT_CODE.esc:\n handleEsc(event)\n break\n }\n}\n\nfunction focus() {\n triggerRef.value.focus()\n}\n\nfunction blur() {\n triggerRef.value.blur()\n}\n\nwatch(\n () => currentColor.value,\n (val) => {\n shouldActiveChange && emit('activeChange', val)\n shouldActiveChange = true\n }\n)\n\nwatch(\n () => color.value,\n () => {\n if (!props.modelValue && !showPanelColor.value) {\n showPanelColor.value = true\n }\n }\n)\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n if (!newVal) {\n showPanelColor.value = false\n } else if (newVal && newVal !== color.value) {\n shouldActiveChange = false\n color.fromString(newVal)\n }\n }\n)\n\nwatch(\n () => showPicker.value,\n () => {\n pickerPanelRef.value && nextTick(pickerPanelRef.value.update)\n }\n)\n\nprovide(ROOT_COMMON_COLOR_INJECTION_KEY, commonColor)\n\ndefineExpose({\n /**\n * @description current color object\n */\n color,\n /**\n * @description manually show ColorPicker\n */\n show,\n /**\n * @description manually hide ColorPicker\n */\n hide,\n /**\n * @description focus the input element\n */\n focus,\n /**\n * @description blur the input element\n */\n blur,\n})\n</script>\n"],"names":["color","_createBlock","_unref","popperClass","popperStyle","teleported","persistent","appendTo","_withCtx","_withDirectives","_openBlock","_mergeProps","_withKeys","_createElementVNode","_createVNode","_normalizeClass","_createTextVNode","vClickOutside","$attrs","modelValue","tabindex","showAlpha","_normalizeStyle"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8IA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEP,IAAA,MAAA,EAAE,CAAE,EAAA,GAAI,SAAU,EAAA,CAAA;AAClB,IAAA,MAAA,EAAA,GAAK,aAAa,OAAO,CAAA,CAAA;AACzB,IAAA,MAAA,EAAE,QAAS,EAAA,GAAI,WAAY,EAAA,CAAA;AACjC,IAAA,MAAM,YAAY,WAAY,EAAA,CAAA;AAC9B,IAAA,MAAM,gBAAgB,eAAgB,EAAA,CAAA;AACtC,IAAA,MAAM,EAAE,YAAc,EAAA,YAAA,EAAiB,GAAA,cAAA,CAAe,OAAO,IAAI,CAAA,CAAA;AAC3D,IAAA,MAAA,WAAA,GAAc,cAAe,CAAA,KAAA,EAAO,IAAI,CAAA,CAAA;AAC9C,IAAA,MAAM,EAAE,OAAS,EAAA,QAAA,EAAU,mBAAoB,EAAA,GAAI,mBAAmB,KAAO,EAAA;AAAA,MAC3E,eAAiB,EAAA,QAAA;AAAA,KAClB,CAAA,CAAA;AAED,IAAA,MAAM,SAAS,GAAqB,EAAA,CAAA;AACpC,IAAA,MAAM,aAAa,GAAI,EAAA,CAAA;AACvB,IAAA,MAAM,iBAAiB,GAA8B,EAAA,CAAA;AAC/C,IAAA,MAAA,UAAA,GAAa,IAAI,KAAK,CAAA,CAAA;AACtB,IAAA,MAAA,cAAA,GAAiB,IAAI,KAAK,CAAA,CAAA;AAGhC,IAAA,IAAI,kBAAqB,GAAA,IAAA,CAAA;AAEzB,IAAA,MAAM,EAAE,SAAW,EAAA,WAAA,EAAa,UAAW,EAAA,GAAI,mBAAmB,UAAY,EAAA;AAAA,MAC5E,QAAU,EAAA,aAAA;AAAA,MACV,WAAW,KAAO,EAAA;;AACT,QAAA,OAAA,CAAA,EAAA,GAAA,MAAA,CAAO,KAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAc,oBAAqB,CAAA,KAAA,CAAA,CAAA;AAAA,OAC5C;AAAA,MACA,SAAY,GAAA;;AACV,QAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AACR,QAAA,UAAA,EAAA,CAAA;AACX,QAAA,IAAI,MAAM,aAAe,EAAA;AACb,UAAA,CAAA,EAAA,GAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,aAAA,IAAW,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAA,MAAA,CAAA,CAAQ,MAAM,CAAC,GAAA,KAAQ,UAAU,GAAG,CAAA,CAAA,CAAA;AAAA,SAC3D;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AAED,IAAA,MAAM,KAAQ,GAAA,gBAAA;AAAA,MACZ,MAAM;;AAAA,QAAA,OAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,cAAA,CAAe,KAAf,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAsB,KAAtB,KAAA,IAAA,GAAA,EAAA,GAA+B,WAAY,CAAA,KAAA,CAAA;AAAA,OAAA;AAAA,KACnD,CAAA;AAEA,IAAA,MAAM,UAAa,GAAA,QAAA;AAAA,MAAS,MAC1B,IAAK,CAAA,KAAA,EAAO,MAAO,CAAA,IAAA,CAAK,qBAAqB,CAAC,CAAA;AAAA,KAChD,CAAA;AAEM,IAAA,MAAA,cAAA,GAAiB,SAAS,MAAM;AACpC,MAAA,IAAI,CAAC,KAAA,CAAM,UAAc,IAAA,CAAC,eAAe,KAAO,EAAA;AACvC,QAAA,OAAA,aAAA,CAAA;AAAA,OACT;AACO,MAAA,OAAA,YAAA,CAAa,KAAO,EAAA,KAAA,CAAM,SAAS,CAAA,CAAA;AAAA,KAC3C,CAAA,CAAA;AAEK,IAAA,MAAA,YAAA,GAAe,SAAS,MAAM;AAClC,MAAA,OAAO,CAAC,KAAM,CAAA,UAAA,IAAc,CAAC,cAAe,CAAA,KAAA,GAAQ,KAAK,KAAM,CAAA,KAAA,CAAA;AAAA,KAChE,CAAA,CAAA;AAEK,IAAA,MAAA,eAAA,GAAkB,SAA6B,MAAM;AACzD,MAAA,OAAO,CAAC,mBAAoB,CAAA,KAAA,GACxB,MAAM,SAAa,IAAA,CAAA,CAAE,6BAA6B,CAClD,GAAA,KAAA,CAAA,CAAA;AAAA,KACL,CAAA,CAAA;AAEK,IAAA,MAAA,oBAAA,GAAuB,SAA6B,MAAM;AACvD,MAAA,OAAA,mBAAA,CAAoB,KAAQ,GAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAU,OAAU,GAAA,KAAA,CAAA,CAAA;AAAA,KACxD,CAAA,CAAA;AAEK,IAAA,MAAA,MAAA,GAAS,SAAS,MAAM;AACrB,MAAA,OAAA;AAAA,QACL,EAAA,CAAG,EAAE,QAAQ,CAAA;AAAA,QACb,EAAG,CAAA,EAAA,CAAG,UAAY,EAAA,aAAA,CAAc,KAAK,CAAA;AAAA,QACrC,EAAG,CAAA,EAAA,CAAG,QAAU,EAAA,SAAA,CAAU,KAAK,CAAA;AAAA,QAC/B,EAAG,CAAA,EAAA,CAAG,SAAW,EAAA,SAAA,CAAU,KAAK,CAAA;AAAA,OAClC,CAAA;AAAA,KACD,CAAA,CAAA;AAEQ,IAAA,SAAA,YAAA,CAAaA,QAAc,SAAoB,EAAA;AACtD,MAAA,MAAM,EAAE,CAAG,EAAA,CAAA,EAAG,GAAG,CAAE,EAAA,GAAIA,OAAM,KAAM,EAAA,CAAA;AACnC,MAAO,OAAA,SAAA,GAAY,QAAQ,CAAM,CAAA,EAAA,EAAA,CAAA,CAAA,EAAA,EAAM,MAAM,CAAO,CAAA,CAAA,CAAA,GAAA,CAAA,IAAA,EAAO,MAAM,CAAM,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KACzE;AAEA,IAAA,SAAS,cAAc,KAAgB,EAAA;AACrC,MAAA,UAAA,CAAW,KAAQ,GAAA,KAAA,CAAA;AAAA,KACrB;AAEA,IAAA,MAAM,wBAAwB,QAAS,CAAA,aAAA,EAAe,KAAK,EAAE,OAAA,EAAS,MAAM,CAAA,CAAA;AAC5E,IAAA,SAAS,IAAO,GAAA;AACd,MAAA,IAAI,aAAc,CAAA,KAAA;AAAO,QAAA,OAAA;AACzB,MAAA,aAAA,CAAc,IAAI,CAAA,CAAA;AAAA,KACpB;AAEA,IAAA,SAAS,IAAO,GAAA;AACd,MAAA,qBAAA,CAAsB,KAAK,CAAA,CAAA;AAChB,MAAA,UAAA,EAAA,CAAA;AAAA,KACb;AAEA,IAAA,SAAS,UAAa,GAAA;AACpB,MAAA,QAAA,CAAS,MAAM;AACb,QAAA,IAAI,MAAM,UAAY,EAAA;AACd,UAAA,KAAA,CAAA,UAAA,CAAW,MAAM,UAAU,CAAA,CAAA;AAAA,SAC5B,MAAA;AACL,UAAA,KAAA,CAAM,KAAQ,GAAA,EAAA,CAAA;AACd,UAAA,QAAA,CAAS,MAAM;AACb,YAAA,cAAA,CAAe,KAAQ,GAAA,KAAA,CAAA;AAAA,WACxB,CAAA,CAAA;AAAA,SACH;AAAA,OACD,CAAA,CAAA;AAAA,KACH;AAEA,IAAA,SAAS,aAAgB,GAAA;AACvB,MAAA,IAAI,aAAc,CAAA,KAAA;AAAO,QAAA,OAAA;AACzB,MAAA,IAAI,WAAW,KAAO,EAAA;AACT,QAAA,UAAA,EAAA,CAAA;AAAA,OACb;AACsB,MAAA,qBAAA,CAAA,CAAC,WAAW,KAAK,CAAA,CAAA;AAAA,KACzC;AAEA,IAAA,SAAS,YAAe,GAAA;AACtB,MAAA,MAAM,QAAQ,YAAa,CAAA,KAAA,CAAM,KAAK,CAAI,GAAA,YAAA,CAAa,QAAQ,KAAM,CAAA,KAAA,CAAA;AACrE,MAAA,IAAA,CAAK,oBAAoB,KAAK,CAAA,CAAA;AAC9B,MAAA,IAAA,CAAK,cAAc,KAAK,CAAA,CAAA;AACxB,MAAA,IAAI,MAAM,aAAe,EAAA;AACb,QAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,SAAS,QAAU,CAAA,CAAA,KAAA,CAAM,CAAC,GAAA,KAAQ,UAAU,GAAG,CAAA,CAAA,CAAA;AAAA,OAC3D;AACA,MAAA,qBAAA,CAAsB,KAAK,CAAA,CAAA;AAE3B,MAAA,QAAA,CAAS,MAAM;AACP,QAAA,MAAA,QAAA,GAAW,IAAI,KAAM,CAAA;AAAA,UACzB,aAAa,KAAM,CAAA,SAAA;AAAA,UACnB,MAAA,EAAQ,MAAM,WAAe,IAAA,EAAA;AAAA,UAC7B,OAAO,KAAM,CAAA,UAAA;AAAA,SACd,CAAA,CAAA;AACD,QAAA,IAAI,CAAC,KAAA,CAAM,OAAQ,CAAA,QAAQ,CAAG,EAAA;AACjB,UAAA,UAAA,EAAA,CAAA;AAAA,SACb;AAAA,OACD,CAAA,CAAA;AAAA,KACH;AAEA,IAAA,SAAS,KAAQ,GAAA;AACf,MAAA,qBAAA,CAAsB,KAAK,CAAA,CAAA;AACtB,MAAA,IAAA,CAAA,kBAAA,EAAoB,aAAa,KAAK,CAAA,CAAA;AACtC,MAAA,IAAA,CAAA,YAAA,EAAc,aAAa,KAAK,CAAA,CAAA;AACrC,MAAA,IAAI,KAAM,CAAA,UAAA,KAAe,YAAa,CAAA,KAAA,IAAS,MAAM,aAAe,EAAA;AACxD,QAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,SAAS,QAAU,CAAA,CAAA,KAAA,CAAM,CAAC,GAAA,KAAQ,UAAU,GAAG,CAAA,CAAA,CAAA;AAAA,OAC3D;AACW,MAAA,UAAA,EAAA,CAAA;AAAA,KACb;AAEA,IAAA,SAAS,iBAAoB,GAAA;;AACX,MAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,cAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,cAAA,CAAA,KAAA,KAAA,IAAO,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAA,KAAP,IAAiB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,EAAA,CAAA;AAAA,KACnC;AAEA,IAAA,SAAS,kBAAqB,GAAA;AACxB,MAAA,IAAA,CAAC,UAAW,CAAA,KAAA;AAAO,QAAA,OAAA;AAClB,MAAA,IAAA,EAAA,CAAA;AACL,MAAA,SAAA,CAAU,SAAS,KAAM,EAAA,CAAA;AAAA,KAC3B;AAEA,IAAA,SAAS,UAAU,KAAsB,EAAA;AACvC,MAAA,KAAA,CAAM,cAAe,EAAA,CAAA;AACrB,MAAA,KAAA,CAAM,eAAgB,EAAA,CAAA;AACtB,MAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AACR,MAAA,UAAA,EAAA,CAAA;AAAA,KACb;AAEA,IAAA,SAAS,cAAc,KAAsB,EAAA;AACrC,MAAA,MAAA,IAAA,GAAO,aAAa,KAAK,CAAA,CAAA;AAE/B,MAAQ,QAAA,IAAA;AAAA,QAAA,KACD,UAAW,CAAA,KAAA,CAAA;AAAA,QAAA,KACX,UAAW,CAAA,WAAA,CAAA;AAAA,QAAA,KACX,UAAW,CAAA,KAAA;AACd,UAAA,KAAA,CAAM,cAAe,EAAA,CAAA;AACrB,UAAA,KAAA,CAAM,eAAgB,EAAA,CAAA;AACjB,UAAA,IAAA,EAAA,CAAA;AACL,UAAA,MAAA;AAAA,QAAA,KACG,UAAW,CAAA,GAAA;AACd,UAAA,SAAA,CAAU,KAAK,CAAA,CAAA;AACf,UAAA,MAAA;AAAA,OAAA;AAAA,KAEN;AAEA,IAAA,SAAS,KAAQ,GAAA;AACf,MAAA,UAAA,CAAW,MAAM,KAAM,EAAA,CAAA;AAAA,KACzB;AAEA,IAAA,SAAS,IAAO,GAAA;AACd,MAAA,UAAA,CAAW,MAAM,IAAK,EAAA,CAAA;AAAA,KACxB;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,YAAa,CAAA,KAAA;AAAA,MACnB,CAAC,GAAQ,KAAA;AACe,QAAA,kBAAA,IAAA,IAAA,CAAK,gBAAgB,GAAG,CAAA,CAAA;AACzB,QAAA,kBAAA,GAAA,IAAA,CAAA;AAAA,OACvB;AAAA,KACF,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,MAAM;AACJ,QAAA,IAAI,CAAC,KAAA,CAAM,UAAc,IAAA,CAAC,eAAe,KAAO,EAAA;AAC9C,UAAA,cAAA,CAAe,KAAQ,GAAA,IAAA,CAAA;AAAA,SACzB;AAAA,OACF;AAAA,KACF,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ,CAAC,MAAW,KAAA;AACV,QAAA,IAAI,CAAC,MAAQ,EAAA;AACX,UAAA,cAAA,CAAe,KAAQ,GAAA,KAAA,CAAA;AAAA,SACd,MAAA,IAAA,MAAA,IAAU,MAAW,KAAA,KAAA,CAAM,KAAO,EAAA;AACtB,UAAA,kBAAA,GAAA,KAAA,CAAA;AACrB,UAAA,KAAA,CAAM,WAAW,MAAM,CAAA,CAAA;AAAA,SACzB;AAAA,OACF;AAAA,KACF,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,UAAW,CAAA,KAAA;AAAA,MACjB,MAAM;AACJ,QAAA,cAAA,CAAe,KAAS,IAAA,QAAA,CAAS,cAAe,CAAA,KAAA,CAAM,MAAM,CAAA,CAAA;AAAA,OAC9D;AAAA,KACF,CAAA;AAEA,IAAA,OAAA,CAAQ,iCAAiC,WAAW,CAAA,CAAA;AAEvC,IAAA,QAAA,CAAA;AAAA,MAIX,KAAA;AAAA,MAIA,IAAA;AAAA,MAIA,IAAA;AAAA,MAIA,KAAA;AAAA,MAIA,IAAA;AAAA,KACD,CAAA,CAAA;;0BAtYCC,WAgGa,CAAAC,KAAA,CAAA,SAAA,CAAA,EAAA;AAAA,QA/FP,OAAA,EAAA,QAAA;AAAA,QAAJ,GAAI,EAAA,MAAA;AAAA,QACH,SAAS,UAAA,CAAA,KAAA;AAAA,QACT,YAAY,EAAA,KAAA;AAAA,QACZ,qBAAqB,EAAA,CAAA,QAAA,EAAA,KAAA,EAAA,SAAA,MAAA,CAAA;AAAA,QACrB,MAAQ,EAAA,CAAA;AAAA,QACR,kBAAkB,EAAA,KAAA;AAAA,QAClB,cAAA,EAAY,CAAGA,KAAA,CAAG,EAAA,CAAA,CAAA,GAAE,kBAAqBC,EAAAA,IAAAA,CAAW,WAAA,CAAA;AAAA,QACpD,gBAAcC,IAAAA,CAAAA,WAAAA;AAAAA,QACd,yBAAyB,EAAA,KAAA;AAAA,QAC1B,IAAA,EAAA,EAAA;AAAA,QACA,IAAA,EAAA,EAAA;AAAA,QACA,IAAK,EAAA,QAAA;AAAA,QACL,MAAO,EAAA,OAAA;AAAA,QACP,OAAQ,EAAA,OAAA;AAAA,QACP,YAAYC,IAAAA,CAAAA,UAAAA;AAAAA,QACZ,UAAU,EAAA,CAAA,EAAKH,KAAG,CAAA,EAAA,EAAA,SAAU,CAAA,KAAA,CAAA,YAAA,CAAA;AAAA,QAC5B,YAAYI,IAAAA,CAAAA,UAAAA;AAAAA,QACZ,aAAWC,IAAAA,CAAAA,QAAAA;AAAAA,QACX,MAAM,EAAA,iBAAA;AAAA,QACN,MAAA,EAAI,sCAAE,cAAa,KAAA,CAAA,CAAA;AAAA,OAAA,EAAA;AAAA,QAET,OAAA,EAAOC,QAChB,MA4BwB;AAAA,UA5BxBC,cAAA,EAAAC,WAAA,EAAAT,WAAA;AAAA,YA4BwBC,MAAA,kBAAA,CAAA;AAAA,YA5BxBS,UA4BwB,CAAA;AAAA,cA3BlB,OAAA,EAAA,gBAAA;AAAA,cAAJ,GAAI,EAAA,cAAA;AAAA,aAAA,EACI,WAAU,KAAA,EAAA;AAAA,cAEjB,MAAQ,EAAA,KAAA;AAAA,cACR,gBAAgB,EAAA,KAAA;AAAA,cAChB,SAAO,EAAAC,QAAA,CAAM,SAAS,EAAA,CAAA,KAAA,CAAA,CAAA;AAAA,aAAA,CAAA;AAAA;cAEZ,MAAA,EAAMJ,QACf,MAiBM;AAAA,gBAjBNK,kBAAA,CAiBM,OAAA,IAAA,EAAA;AAAA,kBAhBJC,WAAA,CAOYZ,KAAA,CAAA,QAAA,CAAA,EAAA;AAAA,oBANT,KAAA,EAAKa,eAAEb,KAAA,CAAA,EAAA,EAAG,EAAE,CAAA,QAAA,EAAA,UAAA,CAAA,CAAA;AAAA,oBACb,IAAA,EAAA,EAAA;AAAA,oBACA,IAAK,EAAA,OAAA;AAAA,oBACJ,OAAO,EAAA,KAAA;AAAA,mBAAA,EAAA;AAAA,qCAER,MAA+B;AAAA,sBAAAc,eAAA;AAAA,uCAA5B,CAAAd,KAAA,CAAC,CAAA,CAAA,CAAA,sBAAA,CAAA,CAAA;AAAA,wBAAA,CAAA;AAAA,uBAAA;AAAA,qBAAA,CAAA;AAAA;;kBAENY,WAAA,CAOYZ,KAAA,CAAA,QAAA,CAAA,EAAA;AAAA,oBANV,KAAA,EAAA,EAAA;AAAA,oBACA,IAAK,EAAA,OAAA;AAAA,oBACJ,KAAA,EAAKa,eAAEb,KAAA,CAAA,EAAA,EAAG,EAAE,CAAA,QAAA,EAAA,KAAA,CAAA,CAAA;AAAA,oBACZ,OAAO,EAAA,YAAA;AAAA,mBAAA,EAAA;AAAA,qCAER,MAAiC;AAAA,sBAAAc,eAAA;AAAA,uCAA9B,CAAAd,KAAA,CAAC,CAAA,CAAA,CAAA,wBAAA,CAAA,CAAA;AAAA,wBAAA,CAAA;AAAA,uBAAA;AAAA,qBAAA,CAAA;AAAA;;;;;;;;YArBoB,CAAAA,KAAA,CAAAe,YAAA,CAAA,EAAA,kBAAA,EAAd,WAAY,KAAA,CAAA;AAAA,WAAA,CAAA;AAAA;QA2BrB,OAAA,EAAOT,QAChB,MAwCM;AAAA,UAxCNK,kBAAA,CAwCM,OAxCNF,UAwCM,CAAA;AAAA,YAvCH,EAAA,EAAIT,MAAA,QAAA,CAAA;AAAA,YACD,OAAA,EAAA,YAAA;AAAA,YAAJ,GAAI,EAAA,UAAA;AAAA,WAAA,EACIgB,KAAM,MAAA,EAAA;AAAA,YACb,OAAO,MAAA,CAAA,KAAA;AAAA,YACR,IAAK,EAAA,QAAA;AAAA,YACJ,cAAY,eAAA,CAAA,KAAA;AAAA,YACZ,mBAAiB,oBAAA,CAAA,KAAA;AAAA,YACjB,kBAAA,EAA6BhB,KAAC,CAAA,CAAA,CAAA,CAAA,4BAAA,EAAA,EAAA,KAAwCiB,EAAAA,IAAAA,CAAU,UAAA,IAAA,EAAA,EAAA,CAAA;AAAA,YAGhF,eAAA,EAAejB,MAAA,aAAA,CAAA;AAAA,YACf,QAAU,EAAAA,KAAA,kBAAgB,SAAYkB,IAAAA,CAAAA,QAAAA;AAAAA,YACtC,SAAS,EAAA,aAAA;AAAA,YACT,OAAK,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,KAAE,CAAA,GAAA,IAAA,KAAAlB,KAAA,CAAA,WAAA,CAAA,IAAAA,KAAA,CAAA,WAAA,CAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,YACP,MAAI,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,KAAE,CAAA,GAAA,IAAA,KAAAA,KAAA,CAAA,UAAA,CAAA,IAAAA,KAAA,CAAA,UAAA,CAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,WAAA,CAAA,EAAA;AAAA,YAEPW,kBAAA;AAAA,cAsBM,KAAA;AAAA,cAAA;AAAA,gBAtBA,KAAA,EAAKE,eAAEb,KAAA,CAAA,EAAA,EAAG,EAAE,CAAA,QAAA,EAAA,SAAA,CAAA,CAAA;AAAA,gBAAwB,OAAO,EAAA,aAAA;AAAA,eAAA;AAAA;gBAC/CW,kBAAA;AAAA,kBAoBO,MAAA;AAAA,kBAAA;AAAA,oBApBA,OAAKE,gBAAGb,MAAG,EAAA,CAAA,CAAA,GAAE,kBAAqB,EAAAA,KAAA,CAAG,EAAA,CAAA,CAAA,EAAA,CAAE,SAAUmB,IAAS,CAAA,SAAA,CAAA,CAAA,CAAA;AAAA,mBAAA;AAAA;oBAC/DR,kBAAA;AAAA,sBAkBO,MAAA;AAAA,sBAAA;AAAA,wBAjBJ,KAAA,EAAKE,eAAEb,KAAA,CAAA,EAAA,EAAG,EAAE,CAAA,QAAA,EAAA,aAAA,CAAA,CAAA;AAAA,wBACZ,OAAKoB,cAAA,CAAA;AAAA,0BAAqC,iBAAA,cAAA,CAAA,KAAA;AAAA,yBAAA,CAAA;AAAA;;sCAI3C,CAAAR,WAAA,CAKUZ,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,0BAHP,OAAKa,cAAG,CAAA,CAAAb,KAAA,CAAA,EAAA,EAAG,EAAE,CAAA,QAAA,EAAA,MAAA,CAAA,EAAoBA,UAAG,EAAE,CAAA,iBAAA,CAAA,CAAA,CAAA;AAAA,yBAAA,EAAA;AAAA,2CAEvC,MAAc;AAAA,4BAAdY,WAAA,CAAcZ,KAAA,CAAA,SAAA,CAAA,CAAA;AAAA,2BAAA,CAAA;AAAA;;0BAHNiB,CAAAA,KAAAA,EAAAA,IAAAA,CAAAA,UAAAA,IAAc,eAAc,KAAA,CAAA;AAAA,yBAAA,CAAA;AAAA,sCAKtC,CAAAL,WAAA,CAKUZ,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,0BAHP,OAAKa,cAAG,CAAA,CAAAb,KAAA,CAAA,EAAA,EAAG,EAAE,CAAA,QAAA,EAAA,OAAA,CAAA,EAAqBA,UAAG,EAAE,CAAA,YAAA,CAAA,CAAA,CAAA;AAAA,yBAAA,EAAA;AAAA,2CAExC,MAAS;AAAA,4BAATY,WAAA,CAASZ,KAAA,CAAA,KAAA,CAAA,CAAA;AAAA,2BAAA,CAAA;AAAA;;0BAHAiB,CAAAA,KAAAA,EAAAA,CAAAA,KAAAA,UAAU,IAAA,CAAK,eAAc,KAAA,CAAA;AAAA,yBAAA,CAAA;AAAA;;;;;;;;;;;;;;;;;;;;"}