tdesign-vue-next
Version:
TDesign Component for vue-next
1 lines • 20.6 kB
Source Map (JSON)
{"version":3,"file":"input.mjs","sources":["../../../components/input/input.tsx"],"sourcesContent":["import { defineComponent, computed } from 'vue';\nimport {\n BrowseIcon as TdBrowseIcon,\n BrowseOffIcon as TdBrowseOffIcon,\n CloseCircleFilledIcon as TdCloseCircleFilledIcon,\n} from 'tdesign-icons-vue-next';\nimport props from './props';\nimport {\n useConfig,\n useDisabled,\n useReadonly,\n useTNodeJSX,\n useGlobalIcon,\n usePrefixClass,\n useCommonClassName,\n} from '@tdesign/shared-hooks';\n\nimport { useInput, useInputEventHandler, useInputWidth } from './hooks';\nimport { getValidAttrs } from '@tdesign/common-js/utils/helper';\n\nexport default defineComponent({\n name: 'TInput',\n props: {\n ...props,\n /**\n * 非公开 API,随时可能变动,请勿使用。控制透传readonly同时是否展示input 默认保留 因为正常Input需要撑开宽度\n */\n showInput: {\n type: Boolean,\n default: true,\n },\n /**\n * 非公开 API,随时可能变动,请勿使用。控制透传autoWidth之后是否容器宽度也自适应 多选等组件需要用到自适应但也需要保留宽度\n */\n keepWrapperWidth: {\n type: Boolean,\n default: false,\n },\n },\n setup(props, { expose }) {\n const { globalConfig } = useConfig('input');\n const { BrowseIcon, BrowseOffIcon, CloseCircleFilledIcon } = useGlobalIcon({\n BrowseIcon: TdBrowseIcon,\n BrowseOffIcon: TdBrowseOffIcon,\n CloseCircleFilledIcon: TdCloseCircleFilledIcon,\n });\n const readonly = useReadonly();\n const disabled = useDisabled();\n\n const COMPONENT_NAME = usePrefixClass('input');\n const INPUT_WRAP_CLASS = usePrefixClass('input__wrap');\n const INPUT_TIPS_CLASS = usePrefixClass('input__tips');\n const { STATUS, SIZE } = useCommonClassName();\n const classPrefix = usePrefixClass();\n const renderTNodeJSX = useTNodeJSX();\n const {\n isHover,\n tStatus,\n inputRef,\n renderType,\n showClear,\n focused,\n inputValue,\n isComposition,\n compositionValue,\n innerValue,\n limitNumber,\n ...inputHandle\n } = useInput(props, expose);\n\n const { inputPreRef } = useInputWidth(props, inputRef, innerValue);\n\n const inputEventHandler = useInputEventHandler(props, isHover);\n\n const tPlaceholder = computed(() => props.placeholder ?? globalConfig.value.placeholder);\n const inputAttrs = computed(() => {\n const value = {\n autofocus: props.autofocus,\n disabled: disabled.value,\n readonly: readonly.value,\n placeholder: tPlaceholder.value,\n name: props.name || undefined,\n type: renderType.value,\n autocomplete: props.autocomplete ?? (globalConfig.value.autocomplete || undefined),\n unselectable: readonly.value ? 'on' : 'off',\n spellcheck: props.spellCheck,\n // 不要传给 input 原生元素 maxlength,浏览器默认行为会按照 unicode 进行限制,与 maxLength API 违背\n // https://github.com/Tencent/tdesign-vue-next/issues/4413\n // 参见: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/maxlength,提到了字符串长度的计算方法,就是 str.length\n } as const;\n return getValidAttrs(value);\n });\n\n const wrapClasses = computed(() => [\n INPUT_WRAP_CLASS.value,\n {\n [`${COMPONENT_NAME.value}--auto-width`]: props.autoWidth && !props.keepWrapperWidth,\n },\n ]);\n\n const inputEvents = getValidAttrs({\n onFocus: inputHandle.emitFocus,\n onBlur: inputHandle.formatAndEmitBlur,\n onKeydown: inputEventHandler.handleKeydown,\n onKeyup: inputEventHandler.handleKeyUp,\n onKeypress: inputEventHandler.handleKeypress,\n onPaste: inputEventHandler.onHandlePaste,\n onCompositionend: inputHandle.onHandleCompositionend,\n onCompositionstart: inputHandle.onHandleCompositionstart,\n });\n\n return () => {\n const prefixIcon = renderTNodeJSX('prefixIcon');\n let suffixIcon = renderTNodeJSX('suffixIcon');\n let passwordIcon = renderTNodeJSX('passwordIcon');\n const label = renderTNodeJSX('label', { silent: true });\n const suffix = renderTNodeJSX('suffix');\n const limitNode =\n limitNumber.value && props.showLimitNumber ? (\n <div\n class={[\n `${classPrefix.value}-input__limit-number`,\n {\n [`${classPrefix.value}-is-disabled`]: disabled.value,\n },\n ]}\n >\n {limitNumber.value}\n </div>\n ) : null;\n\n const labelContent = label ? <div class={`${COMPONENT_NAME.value}__prefix`}>{label}</div> : null;\n const suffixContent =\n suffix || limitNode ? (\n <div class={`${COMPONENT_NAME.value}__suffix`}>\n {suffix}\n {limitNode}\n </div>\n ) : null;\n\n if (props.type === 'password') {\n const passwordClass = [{ [`${COMPONENT_NAME.value}__suffix-clear`]: !disabled.value }];\n if (renderType.value === 'password') {\n suffixIcon = <BrowseOffIcon class={passwordClass} onClick={inputHandle.emitPassword} />;\n } else if (renderType.value === 'text') {\n suffixIcon = <BrowseIcon class={passwordClass} onClick={inputHandle.emitPassword} />;\n }\n }\n\n if (showClear.value) {\n // 如果类型为 password 则使用 passwordIcon 显示 clear\n if (props.type === 'password') {\n passwordIcon = (\n <CloseCircleFilledIcon\n ref={inputHandle.clearIconRef}\n class={`${COMPONENT_NAME.value}__suffix-clear`}\n onClick={inputHandle.emitClear}\n onMousedown={inputHandle.onClearIconMousedown}\n />\n );\n } else {\n suffixIcon = (\n <CloseCircleFilledIcon\n ref={inputHandle.clearIconRef}\n class={`${COMPONENT_NAME.value}__suffix-clear`}\n onClick={inputHandle.emitClear}\n onMousedown={inputHandle.onClearIconMousedown}\n />\n );\n }\n }\n\n const classes = [\n COMPONENT_NAME.value,\n props.inputClass,\n {\n [SIZE.value[props.size]]: props.size !== 'medium',\n [STATUS.value.disabled]: disabled.value,\n [STATUS.value.focused]: disabled.value ? false : focused.value,\n [`${classPrefix.value}-is-${tStatus.value}`]: tStatus.value && tStatus.value !== 'default',\n [`${classPrefix.value}-align-${props.align}`]: props.align !== 'left',\n [`${classPrefix.value}-is-readonly`]: readonly.value,\n [`${COMPONENT_NAME.value}--prefix`]: prefixIcon || labelContent,\n [`${COMPONENT_NAME.value}--suffix`]: suffixIcon || suffixContent,\n [`${COMPONENT_NAME.value}--borderless`]: props.borderless,\n [`${COMPONENT_NAME.value}--focused`]: focused.value,\n },\n ];\n\n const tips = renderTNodeJSX('tips');\n\n const tipsClasses = [\n INPUT_TIPS_CLASS.value,\n `${classPrefix.value}-tips`,\n `${classPrefix.value}-is-${tStatus.value || 'default'}`,\n ];\n\n return (\n <div class={wrapClasses.value} v-show={props.type !== 'hidden'}>\n <div\n class={classes}\n onClick={inputHandle.onRootClick}\n onMouseenter={inputEventHandler.onInputMouseenter}\n onMouseleave={inputEventHandler.onInputMouseleave}\n onWheel={inputEventHandler.onHandleMousewheel}\n >\n {prefixIcon ? (\n <span class={[`${COMPONENT_NAME.value}__prefix`, `${COMPONENT_NAME.value}__prefix-icon`]}>\n {prefixIcon}\n </span>\n ) : null}\n {labelContent}\n {/* input element must exist, or other select components can not focus by keyboard operation */}\n <input\n class={[`${COMPONENT_NAME.value}__inner`, { [`${COMPONENT_NAME.value}--soft-hidden`]: !props.showInput }]}\n {...inputAttrs.value}\n {...inputEvents}\n ref={inputRef}\n value={isComposition.value ? compositionValue.value ?? '' : inputValue.value ?? ''}\n onInput={(e: Event) => inputHandle.handleInput(e as InputEvent)}\n />\n {props.autoWidth && (\n <span ref={inputPreRef} class={`${classPrefix.value}-input__input-pre`}>\n {isComposition.value ? compositionValue.value ?? '' : innerValue.value || tPlaceholder.value}\n </span>\n )}\n {suffixContent}\n {passwordIcon ? (\n <span\n class={[\n `${COMPONENT_NAME.value}__suffix`,\n `${COMPONENT_NAME.value}__suffix-icon`,\n `${COMPONENT_NAME.value}__clear`,\n ]}\n >\n {passwordIcon}\n </span>\n ) : null}\n {suffixIcon ? (\n <span\n class={[\n `${COMPONENT_NAME.value}__suffix`,\n `${COMPONENT_NAME.value}__suffix-icon`,\n { [`${COMPONENT_NAME.value}__clear`]: showClear.value },\n ]}\n >\n {suffixIcon}\n </span>\n ) : null}\n </div>\n {tips && <div class={tipsClasses}>{tips}</div>}\n </div>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","_objectSpread","showInput","type","Boolean","keepWrapperWidth","setup","expose","_ref","_useConfig","useConfig","globalConfig","_useGlobalIcon","useGlobalIcon","BrowseIcon","TdBrowseIcon","BrowseOffIcon","TdBrowseOffIcon","CloseCircleFilledIcon","TdCloseCircleFilledIcon","readonly","useReadonly","disabled","useDisabled","COMPONENT_NAME","usePrefixClass","INPUT_WRAP_CLASS","INPUT_TIPS_CLASS","_useCommonClassName","useCommonClassName","STATUS","SIZE","classPrefix","renderTNodeJSX","useTNodeJSX","_useInput","useInput","isHover","tStatus","inputRef","renderType","showClear","focused","inputValue","isComposition","compositionValue","innerValue","limitNumber","inputHandle","_objectWithoutProperties","_excluded","_useInputWidth","useInputWidth","inputPreRef","inputEventHandler","useInputEventHandler","tPlaceholder","computed","_props2$placeholder","placeholder","value","inputAttrs","_props2$autocomplete","autofocus","autocomplete","unselectable","spellcheck","spellCheck","getValidAttrs","wrapClasses","_defineProperty","concat","autoWidth","inputEvents","onFocus","emitFocus","onBlur","formatAndEmitBlur","onKeydown","handleKeydown","onKeyup","handleKeyUp","onKeypress","handleKeypress","onPaste","onHandlePaste","onCompositionend","onHandleCompositionend","onCompositionstart","onHandleCompositionstart","_compositionValue$val","_inputValue$value","_compositionValue$val2","prefixIcon","suffixIcon","passwordIcon","label","silent","suffix","limitNode","showLimitNumber","_createVNode","labelContent","suffixContent","passwordClass","emitPassword","clearIconRef","emitClear","onClearIconMousedown","classes","inputClass","size","align","borderless","tips","tipsClasses","_withDirectives","onRootClick","onInputMouseenter","onInputMouseleave","onHandleMousewheel","_mergeProps","onInput","e","handleInput","_vShow"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,aAAeA,eAAgB,CAAA;AAC7BC,EAAAA,IAAM,EAAA,QAAA;AACNC,EAAAA,KAAO,EAAAC,aAAA,CAAAA,aAAA,KACFD,KAAA,CAAA,EAAA,EAAA,EAAA;AAIHE,IAAAA,SAAW,EAAA;AACTC,MAAAA,IAAM,EAAAC,OAAA;MACN,SAAS,EAAA,IAAA;KACX;AAIAC,IAAAA,gBAAkB,EAAA;AAChBF,MAAAA,IAAM,EAAAC,OAAA;MACN,SAAS,EAAA,KAAA;AACX,KAAA;GACF,CAAA;AACAE,EAAAA,KAAMN,WAANM,KAAMN,CAAAA,MAAAA,EAAAA,IAAAA,EAAmB;AAAA,IAAA,IAAVO,MAAA,GAAAC,IAAA,CAAAD,MAAA,CAAA;AACb,IAAA,IAAAE,UAAA,GAAyBC,SAAA,CAAU,OAAO,CAAA;MAAlCC,YAAA,GAAAF,UAAA,CAAAE,YAAA,CAAA;IACR,IAAAC,cAAA,GAA6DC,aAAc,CAAA;AACzEC,QAAAA,UAAY,EAAAC,UAAA;AACZC,QAAAA,aAAe,EAAAC,aAAA;AACfC,QAAAA,qBAAuB,EAAAC,qBAAAA;AACzB,OAAC,CAAA;MAJOL,YAAA,GAAAF,cAAA,CAAAE,UAAA;MAAYE,eAAe,GAAAJ,cAAA,CAAfI,aAAe;MAAAE,uBAAA,GAAAN,cAAA,CAAAM,qBAAA,CAAA;AAKnC,IAAA,IAAME,WAAWC,WAAY,EAAA,CAAA;AAC7B,IAAA,IAAMC,WAAWC,WAAY,EAAA,CAAA;AAEvB,IAAA,IAAAC,cAAA,GAAiBC,eAAe,OAAO,CAAA,CAAA;AACvC,IAAA,IAAAC,gBAAA,GAAmBD,eAAe,aAAa,CAAA,CAAA;AAC/C,IAAA,IAAAE,gBAAA,GAAmBF,eAAe,aAAa,CAAA,CAAA;AACrD,IAAA,IAAAG,mBAAA,GAAyBC,kBAAmB,EAAA;MAApCC,MAAA,GAAAF,mBAAA,CAAAE,MAAA;MAAQC,IAAK,GAAAH,mBAAA,CAALG,IAAK,CAAA;AACrB,IAAA,IAAMC,cAAcP,cAAe,EAAA,CAAA;AACnC,IAAA,IAAMQ,iBAAiBC,WAAY,EAAA,CAAA;AAC7B,IAAA,IAAAC,SAAA,GAaFC,QAASpC,CAAAA,MAAAA,EAAOO,MAAM,CAAA;MAZxB8B,OAAA,GAAAF,SAAA,CAAAE,OAAA;MACAC,OAAA,GAAAH,SAAA,CAAAG,OAAA;MACAC,QAAA,GAAAJ,SAAA,CAAAI,QAAA;MACAC,UAAA,GAAAL,SAAA,CAAAK,UAAA;MACAC,SAAA,GAAAN,SAAA,CAAAM,SAAA;MACAC,OAAA,GAAAP,SAAA,CAAAO,OAAA;MACAC,UAAA,GAAAR,SAAA,CAAAQ,UAAA;MACAC,aAAA,GAAAT,SAAA,CAAAS,aAAA;MACAC,gBAAA,GAAAV,SAAA,CAAAU,gBAAA;MACAC,UAAA,GAAAX,SAAA,CAAAW,UAAA;MACAC,WAAA,GAAAZ,SAAA,CAAAY,WAAA;AACGC,MAAAA,WAAA,GAAAC,wBAAA,CAAAd,SAAA,EAAAe,SAAA,CAAA,CAAA;IAGL,IAAAC,cAAA,GAAwBC,aAAcpD,CAAAA,MAAAA,EAAOuC,UAAUO,UAAU,CAAA;MAAzDO,WAAY,GAAAF,cAAA,CAAZE,WAAY,CAAA;AAEd,IAAA,IAAAC,iBAAA,GAAoBC,oBAAqBvD,CAAAA,MAAAA,EAAOqC,OAAO,CAAA,CAAA;IAE7D,IAAMmB,eAAeC,QAAS,CAAA,YAAA;AAAA,MAAA,IAAAC,mBAAA,CAAA;AAAA,MAAA,OAAA,CAAAA,mBAAA,GAAM1D,OAAM2D,WAAe,MAAAD,IAAAA,IAAAA,mBAAA,KAAAA,KAAAA,CAAAA,GAAAA,mBAAA,GAAA/C,YAAA,CAAaiD,MAAMD,WAAW,CAAA;KAAA,CAAA,CAAA;AACjF,IAAA,IAAAE,UAAA,GAAaJ,SAAS,YAAM;AAAA,MAAA,IAAAK,oBAAA,CAAA;AAChC,MAAA,IAAMF,KAAQ,GAAA;QACZG,WAAW/D,MAAM,CAAA+D,SAAA;QACjBzC,UAAUA,QAAS,CAAAsC,KAAA;QACnBxC,UAAUA,QAAS,CAAAwC,KAAA;QACnBD,aAAaH,YAAa,CAAAI,KAAA;AAC1B7D,QAAAA,IAAA,EAAMC,OAAMD,IAAQ,IAAA,KAAA,CAAA;QACpBI,MAAMqC,UAAW,CAAAoB,KAAA;AACjBI,QAAAA,YAAchE,GAAAA,oBAAAA,GAAAA,MAAAA,CAAMgE,YAAiB,cAAAF,oBAAA,KAAA,KAAA,CAAA,GAAAA,oBAAA,GAAAnD,YAAA,CAAaiD,MAAMI,YAAgB,IAAA,KAAA,CAAA;AACxEC,QAAAA,YAAA,EAAc7C,QAAS,CAAAwC,KAAA,GAAQ,IAAO,GAAA,KAAA;QACtCM,YAAYlE,MAAM,CAAAmE,UAAAA;OAIpB,CAAA;MACA,OAAOC,cAAcR,KAAK,CAAA,CAAA;AAC5B,KAAC,CAAA,CAAA;IAEK,IAAAS,WAAA,GAAcZ,SAAS,YAAA;MAAA,OAAM,CACjC/B,gBAAiB,CAAAkC,KAAA,EAAAU,eAAA,CAAA,EAAA,EAAA,EAAA,CAAAC,MAAA,CAEX/C,cAAA,CAAeoC,wBAAsB5D,MAAM,CAAAwE,SAAA,IAAa,CAACxE,MAAM,CAAAK,gBAAA,CAEtE,CAAA,CAAA;KAAA,CAAA,CAAA;IAED,IAAMoE,cAAcL,aAAc,CAAA;MAChCM,SAAS1B,WAAY,CAAA2B,SAAA;MACrBC,QAAQ5B,WAAY,CAAA6B,iBAAA;MACpBC,WAAWxB,iBAAkB,CAAAyB,aAAA;MAC7BC,SAAS1B,iBAAkB,CAAA2B,WAAA;MAC3BC,YAAY5B,iBAAkB,CAAA6B,cAAA;MAC9BC,SAAS9B,iBAAkB,CAAA+B,aAAA;MAC3BC,kBAAkBtC,WAAY,CAAAuC,sBAAA;MAC9BC,oBAAoBxC,WAAY,CAAAyC,wBAAAA;AAClC,KAAC,CAAA,CAAA;AAED,IAAA,OAAO,YAAM;AAAA,MAAA,IAAAC,qBAAA,EAAAC,iBAAA,EAAAC,sBAAA,CAAA;AACL,MAAA,IAAAC,UAAA,GAAa5D,eAAe,YAAY,CAAA,CAAA;AAC1C,MAAA,IAAA6D,UAAA,GAAa7D,eAAe,YAAY,CAAA,CAAA;AACxC,MAAA,IAAA8D,YAAA,GAAe9D,eAAe,cAAc,CAAA,CAAA;AAChD,MAAA,IAAM+D,QAAQ/D,cAAe,CAAA,OAAA,EAAS;AAAEgE,QAAAA,MAAA,EAAQ,IAAA;AAAK,OAAC,CAAA,CAAA;AAChD,MAAA,IAAAC,MAAA,GAASjE,eAAe,QAAQ,CAAA,CAAA;MACtC,IAAMkE,YACJpD,WAAY,CAAAa,KAAA,IAAS5D,OAAMoG,eACzB,GAAAC,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACS,IAAA9B,MAAA,CACFvC,WAAY,CAAA4B,KAAA,EAAAU,sBAAAA,CAAAA,EAAAA,eAAA,CAAAC,EAAAA,EAAAA,EAAAA,CAAAA,MAAA,CAETvC,WAAY,CAAA4B,KAAA,EAAsBtC,cAAAA,CAAAA,EAAAA,QAAS,CAAAsC,KAAA,CAAA,CAAA;AAIlD,OAAA,EAAA,CAAAb,WAAA,CAAYa,KACf,CAAA,CAAA,GACE,IAAA,CAAA;AAEA,MAAA,IAAA0C,YAAA,GAAeN,KAAQ,GAAAK,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,EAAA,CAAA9B,MAAA,CAAe/C,cAAe,CAAAoC,KAAA,EAAA,UAAA,CAAA;OAAkBoC,EAAAA,CAAAA,KAAM,KAAS,IAAA,CAAA;AAC5F,MAAA,IAAMO,gBACJL,MAAU,IAAAC,SAAA,GAAAE,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,EAAA,CAAA9B,MAAA,CACO/C,cAAe,CAAAoC,KAAA,EAAA,UAAA,CAAA;AAAA,OAAA,EAAA,CAC3BsC,MAAA,EACAC,SAAA,CAAA,CAAA,GAED,IAAA,CAAA;AAEFnG,MAAAA,IAAAA,MAAAA,CAAMG,SAAS,UAAY,EAAA;AACvB,QAAA,IAAAqG,aAAA,GAAgB,CAAAlC,eAAA,QAAAC,MAAA,CAAO/C,eAAeoC,KAAwB,EAAA,gBAAA,CAAA,EAAA,CAACtC,QAAS,CAAAsC,KAAA,CAAO,CAAA,CAAA;AACjF,QAAA,IAAApB,UAAA,CAAWoB,UAAU,UAAY,EAAA;UACnCkC,UAAA,GAAAO,WAAA,CAAArF,eAAA,EAAA;AAAA,YAAA,OAAA,EAAmCwF,aAAe;AAAA,YAAA,SAAA,EAASxD,YAAYyD,YAAAA;WAAc,EAAA,IAAA,CAAA,CAAA;AACvF,SAAA,MAAA,IAAWjE,UAAW,CAAAoB,KAAA,KAAU,MAAQ,EAAA;UACtCkC,UAAA,GAAAO,WAAA,CAAAvF,YAAA,EAAA;AAAA,YAAA,OAAA,EAAgC0F,aAAe;AAAA,YAAA,SAAA,EAASxD,YAAYyD,YAAAA;WAAc,EAAA,IAAA,CAAA,CAAA;AACpF,SAAA;AACF,OAAA;MAEA,IAAIhE,UAAUmB,KAAO,EAAA;AAEf5D,QAAAA,IAAAA,MAAAA,CAAMG,SAAS,UAAY,EAAA;UAC7B4F,YAAA,GAAAM,WAAA,CAAAnF,uBAAA,EAAA;YAAA,KAES8B,EAAAA,WAAA,CAAY0D;+BACPlF,cAAe,CAAAoC,KAAA,EAAA,gBAAA,CAAA;YAAA,SAChBZ,EAAAA,WAAA,CAAY2D,SACrB;AAAA,YAAA,aAAA,EAAa3D,YAAY4D,oBAAAA;WAC3B,EAAA,IAAA,CAAA,CAAA;AAEJ,SAAO,MAAA;UACLd,UAAA,GAAAO,WAAA,CAAAnF,uBAAA,EAAA;YAAA,KAES8B,EAAAA,WAAA,CAAY0D;+BACPlF,cAAe,CAAAoC,KAAA,EAAA,gBAAA,CAAA;YAAA,SAChBZ,EAAAA,WAAA,CAAY2D,SACrB;AAAA,YAAA,aAAA,EAAa3D,YAAY4D,oBAAAA;WAC3B,EAAA,IAAA,CAAA,CAAA;AAEJ,SAAA;AACF,OAAA;AAEA,MAAA,IAAMC,OAAU,GAAA,CACdrF,cAAe,CAAAoC,KAAA,EACf5D,MAAM,CAAA8G,UAAA,EAAAxC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,KAEHvC,IAAK,CAAA6B,KAAA,CAAM5D,MAAM,CAAA+G,IAAA,CAAA,EAAQ/G,OAAM+G,IAAS,KAAA,QAAA,CAAA,EACxCjF,MAAA,CAAO8B,KAAM,CAAAtC,QAAA,EAAWA,QAAS,CAAAsC,KAAA,CAAA,EACjC9B,MAAO,CAAA8B,KAAA,CAAMlB,SAAUpB,QAAS,CAAAsC,KAAA,GAAQ,QAAQlB,OAAQ,CAAAkB,KAAA,MAAAW,MAAA,CACrDvC,WAAY,CAAA4B,KAAA,UAAAW,MAAA,CAAYjC,QAAQsB,KAAU,CAAAtB,EAAAA,OAAA,CAAQsB,KAAS,IAAAtB,OAAA,CAAQsB,KAAU,KAAA,SAAA,CAAAW,EAAAA,EAAAA,CAAAA,MAAA,CAC7EvC,WAAA,CAAY4B,yBAAe5D,MAAM,CAAAgH,KAAA,CAAUhH,EAAAA,OAAMgH,KAAU,KAAA,MAAA,CAAA,EAAA,EAAA,CAAAzC,MAAA,CAC3DvC,WAAY,CAAA4B,KAAA,EAAA,cAAA,CAAA,EAAsBxC,QAAS,CAAAwC,KAAA,CAAAW,EAAAA,EAAAA,CAAAA,MAAA,CAC3C/C,cAAe,CAAAoC,KAAA,EAAA,UAAA,CAAA,EAAkBiC,UAAc,IAAAS,YAAA,CAAA/B,EAAAA,EAAAA,CAAAA,MAAA,CAC/C/C,cAAe,CAAAoC,KAAA,EAAkBkC,UAAAA,CAAAA,EAAAA,UAAc,IAAAS,aAAA,CAAA,EAAA,EAAA,CAAAhC,MAAA,CAC/C/C,cAAe,CAAAoC,KAAA,EAAsB5D,cAAAA,CAAAA,EAAAA,MAAM,CAAAiH,UAAA,CAAA,EAAA,EAAA,CAAA1C,MAAA,CAC3C/C,cAAe,CAAAoC,KAAA,gBAAmBlB,OAAQ,CAAAkB,KAAA,CAElD,CAAA,CAAA;AAEM,MAAA,IAAAsD,IAAA,GAAOjF,eAAe,MAAM,CAAA,CAAA;MAElC,IAAMkF,WAAc,GAAA,CAClBxF,gBAAiB,CAAAiC,KAAA,EAAA,EAAA,CAAAW,MAAA,CACdvC,WAAY,CAAA4B,KAAA,EAAA,OAAA,CAAA,EAAA,EAAA,CAAAW,MAAA,CACZvC,WAAA,CAAY4B,KAAY,EAAAW,MAAAA,CAAAA,CAAAA,MAAA,CAAAjC,OAAA,CAAQsB,KAAS,IAAA,SAAA,CAC9C,CAAA,CAAA;MAEA,OAAAwD,cAAA,CAAAf,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACchC,YAAYT,KAAAA;AAAO,OAAA,EAAA,CAAAyC,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAEpBQ,OAAA;QAAA,SACE7D,EAAAA,WAAY,CAAAqE,WAAA;QAAA,cACP/D,EAAAA,iBAAA,CAAkBgE,iBAChC;QAAA,cAAchE,EAAAA,iBAAkB,CAAAiE,iBAAA;AAAA,QAAA,SAAA,EACvBjE,iBAAkB,CAAAkE,kBAAAA;OAE1B3B,EAAAA,CAAAA,UACC,GAAAQ,WAAA,CAAA,MAAA,EAAA;QAAA,OAAa,EAAA,CAAA,EAAA,CAAA9B,MAAA,CAAI/C,cAAA,CAAeoC,KAAiB,EAAA,UAAA,CAAA,EAAA,EAAA,CAAAW,MAAA,CAAG/C,cAAe,CAAAoC,KAAA,EAAA,eAAA,CAAA,CAAA;OAChEiC,EAAAA,CAAAA,UAAA,KAED,IAAA,EACHS,YAAA,EAAAD,WAAA,UAAAoB,UAAA,CAAA;AAAA,QAAA,OAAA,EAGQ,IAAAlD,MAAA,CAAI/C,eAAeoC,KAAgB,cAAAU,eAAA,CAAA,EAAA,EAAA,EAAA,CAAAC,MAAA,CAAM/C,eAAeoC,KAAuB,oBAAA,CAAC5D,MAAM,CAAAE,SAAA,CAAA,CAAA;AACzF,OAAA,EAAA2D,UAAA,CAAWD,KACX,EAAAa,WAAA,EAAA;AAAA,QAAA,KAAA,EACClC,QACL;QAAA,OAAOK,EAAAA,aAAc,CAAAgB,KAAA,GAAA8B,CAAAA,qBAAA,GAAQ7C,iBAAiBe,KAAS,MAAA8B,IAAAA,IAAAA,qBAAA,KAAAA,KAAAA,CAAAA,GAAAA,qBAAA,GAAA,EAAA,GAAA,CAAAC,iBAAA,GAAKhD,UAAW,CAAAiB,KAAA,MAAA,IAAA,IAAA+B,iBAAA,KAAA,KAAA,CAAA,GAAAA,iBAAA,GAAS;iBACvE,EAAA,SAAA+B,QAACC;iBAAa3E,WAAY,CAAA4E,WAAA,CAAYD,CAAe,CAChE,CAAA;AAAA,SAAA;AAAA,OAAA,CAAA,EAAA,IAAA,CAAA,EACC3H,OAAMwE,SACL,IAAA6B,WAAA,CAAA,MAAA,EAAA;AAAA,QAAA,KAAA,EAAWhD,WAAA;AAAA,QAAA,OAAA,EAAA,EAAA,CAAAkB,MAAA,CAAuBvC,WAAA,CAAY4B;UAC3ChB,aAAc,CAAAgB,KAAA,GAAA,CAAAgC,sBAAA,GAAQ/C,iBAAiBe,KAAS,MAAA,IAAA,IAAAgC,sBAAA,KAAA,KAAA,CAAA,GAAAA,sBAAA,GAAA,EAAA,GAAK9C,WAAWc,KAAS,IAAAJ,YAAA,CAAaI,OADxF,EAIF2C,aAAA,EACAR,YAAA,GAAAM,WAAA,CAAA,MAAA,EAAA;AAAA,QAAA,OAAA,EAEU,IAAA9B,MAAA,CACF/C,cAAe,CAAAoC,KAAA,EAAAW,UAAAA,CAAAA,EAAAA,EAAAA,CAAAA,MAAA,CACf/C,cAAe,CAAAoC,KAAA,EAAA,eAAA,CAAA,EAAA,EAAA,CAAAW,MAAA,CACf/C,cAAe,CAAAoC,KAAA,EAAA,SAAA,CAAA,CAAA;AACpB,OAAA,EAAA,CAECmC,YACH,CACE,CAAA,GAAA,IAAA,EACHD,UAAA,GAAAO,WAAA,CAAA,MAAA,EAAA;QAAA,OAEU,EAAA,CAAA,EAAA,CAAA9B,MAAA,CACF/C,cAAe,CAAAoC,KAAA,EAAA,UAAA,CAAA,EAAA,EAAA,CAAAW,MAAA,CACf/C,cAAe,CAAAoC,KAAA,EAAAU,eAAAA,CAAAA,EAAAA,eAAA,CAAAC,EAAAA,EAAAA,EAAAA,CAAAA,MAAA,CACZ/C,cAAe,CAAAoC,KAAA,EAAA,SAAA,CAAA,EAAiBnB,UAAUmB,KAAM,CAAA,CAAA;AACxD,OAAA,EAAA,CAECkC,UACH,CACE,CAAA,GAAA,IAAA,CAELoB,CAAAA,EAAAA;eAAoBC,EAAAA,WAAAA;OAAcD,EAAAA,CAAAA,MAAzB,CAAAW,CAAAA,EAAAA,CAAAA,CAAAA,KAAA,EApD2B7H,OAAMG,IAAS,KAAA,QAAA,CAAA,CAAA,CAAA,CAAA;KAuD1D,CAAA;AACF,GAAA;AACF,CAAC,CAAA;;;;"}