xdesign-vue-next
Version:
XDesign Component for vue-next
1 lines • 19.2 kB
Source Map (JSON)
{"version":3,"file":"transfer-list.mjs","sources":["../../../src/transfer/components/transfer-list.tsx"],"sourcesContent":["import { defineComponent, VNode, PropType, ref, computed, watch } from 'vue';\nimport {\n EmptyType,\n SearchEvent,\n SearchOption,\n TransferValue,\n TdTransferProps,\n TransferListType,\n TransferItemOption,\n} from '../interface';\nimport { PageInfo, TdPaginationProps, Pagination } from '../../pagination';\nimport { Checkbox as TCheckbox, CheckboxGroup as TCheckboxGroup, CheckboxProps } from '../../checkbox';\nimport { getLefCount, getDataValues } from '../utils';\nimport Search from './transfer-search';\nimport { useTNodeDefault } from '../../hooks/tnode';\n\nimport { useConfig, usePrefixClass } from '../../hooks/useConfig';\nimport isString from 'lodash/isString';\n\nconst props = {\n checkboxProps: {\n type: Object as PropType<CheckboxProps>,\n default: () => ({}),\n },\n dataSource: {\n type: Array as PropType<Array<TransferItemOption>>,\n default(): Array<TransferItemOption> {\n return [];\n },\n },\n listType: {\n type: String as PropType<TransferListType>,\n default: 'target',\n },\n title: {\n type: [String, Function],\n },\n checkedValue: {\n type: Array as PropType<Array<TransferValue>>,\n default(): Array<TransferValue> {\n return [];\n },\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n search: {\n type: [Boolean, Object] as PropType<SearchOption>,\n default: false,\n },\n transferItem: Function as PropType<TdTransferProps['transferItem']>,\n empty: {\n type: [Function, String] as PropType<EmptyType>,\n },\n pagination: [Boolean, Object],\n footer: [Function, String],\n checkAll: Boolean,\n isTreeMode: {\n type: Boolean as PropType<boolean>,\n default: false,\n },\n onCheckedChange: Function as PropType<(event: Array<TransferValue>) => void>,\n onPageChange: Function,\n onScroll: Function,\n onSearch: Function,\n};\n\nexport default defineComponent({\n name: 'XTransferList',\n props: { ...props },\n setup(props) {\n const classPrefix = usePrefixClass();\n const { t, globalConfig } = useConfig('transfer');\n // 搜索框输入内容\n const filterValue = ref('');\n // 用于兼容处理 Pagination 的非受控属性(非受控属性仅有 change 事件变化,无 props 变化,因此只需监听事件)\n const defaultCurrent = ref(1);\n // 用于兼容处理 Pagination 的非受控属性\n const defaultPageSize = ref(0);\n\n const currentPage = computed(() => {\n const pagination = props.pagination as any;\n return pagination?.current || defaultCurrent.value || pagination?.defaultCurrent;\n });\n const pageSize = computed(() => {\n const pagination = props.pagination as any;\n return pagination?.pageSize || defaultPageSize.value || pagination?.defaultPageSize;\n });\n const filteredData = computed(() => {\n return props.dataSource.filter((item: TransferItemOption) => {\n const label = item && item.label.toString();\n return label.toLowerCase().indexOf(filterValue.value.toLowerCase()) > -1;\n });\n });\n\n const pageTotal = computed(() => {\n return (filteredData.value && filteredData.value.length) || 0;\n });\n\n const curPageData = computed(() => {\n let pageData = filteredData.value;\n if (!props.pagination) return pageData;\n if (pageSize.value === 0) return pageData;\n const startIndex = (currentPage.value - 1) * pageSize.value;\n const endIndex = currentPage.value * pageSize.value;\n pageData = pageData.slice(startIndex, endIndex);\n return pageData;\n });\n const paginationProps = computed(() => {\n const defaultPaginationProps: TdPaginationProps = {\n size: 'small',\n theme: 'simple',\n totalContent: false,\n pageSizeOptions: [],\n };\n return typeof props.pagination === 'object'\n ? {\n ...defaultPaginationProps,\n ...props.pagination,\n current: currentPage.value,\n total: pageTotal.value,\n pageSize: pageSize.value,\n }\n : {};\n });\n\n const isAllChecked = computed(() => {\n const allValue = getDataValues(props.dataSource, [], { isTreeMode: props.isTreeMode, include: false });\n\n return (\n props.checkedValue.length > 0 &&\n (props.isTreeMode\n ? allValue.every((item) => props.checkedValue.includes(item))\n : (props.search ? filteredData.value : props.dataSource).every(\n (item: TransferItemOption) => item.disabled || props.checkedValue.includes(item.value),\n ))\n );\n });\n const indeterminate = computed(() => {\n return !isAllChecked.value && props.checkedValue.length > 0;\n });\n\n const totalCount = computed(() => {\n return getLefCount(props.dataSource);\n });\n\n watch(totalCount, (val) => {\n if (val <= (currentPage.value - 1) * pageSize.value) {\n const lastPage = Math.ceil(val / pageSize.value);\n defaultCurrent.value = lastPage;\n }\n });\n\n const handlePaginationChange = (pageInfo: PageInfo) => {\n props.onPageChange?.(pageInfo);\n defaultCurrent.value = pageInfo.current;\n defaultPageSize.value = pageInfo.pageSize;\n };\n const handleCheckedChange = (val: Array<TransferValue>) => {\n props.onCheckedChange?.(val);\n };\n const handleCheckedAllChange = (checked: boolean) => {\n if (checked) {\n const allValue = getDataValues(props.search ? filteredData.value : props.dataSource, [], {\n isTreeMode: props.isTreeMode,\n include: false,\n });\n handleCheckedChange(allValue);\n } else {\n handleCheckedChange([]);\n }\n };\n const scroll = (e: Event) => {\n props.onScroll?.(e);\n };\n const handleSearch = (e: any) => {\n const event: SearchEvent = {\n query: e.value,\n type: props.listType as TransferListType,\n e: e.e,\n trigger: e.trigger,\n };\n filterValue.value = e.value;\n props.onSearch?.(event);\n };\n const renderTNodeJSX = useTNodeDefault();\n const renderTitle = () => {\n const defaultNode = props.title && isString(props.title) ? <template>{props.title}</template> : null;\n const titleNode = renderTNodeJSX('title', {\n defaultNode,\n params: {\n type: props.listType,\n },\n });\n return <span>{titleNode}</span>;\n };\n const renderContent = () => {\n const defaultNode = (\n <TCheckboxGroup value={props.checkedValue} onChange={handleCheckedChange}>\n {curPageData.value.map((item, index) => (\n <TCheckbox\n disabled={props.disabled || item.disabled}\n value={item.value}\n needRipple={true}\n class={[\n `${classPrefix.value}-transfer__list-item`,\n props.checkedValue.includes(item.value) ? `${classPrefix.value}-is-checked` : '',\n ]}\n key={item.key}\n {...props.checkboxProps}\n >\n {renderTNodeJSX('transferItem', {\n defaultNode: <span>{item.label}</span>,\n params: { data: item.data, index, type: props.listType },\n })}\n </TCheckbox>\n ))}\n </TCheckboxGroup>\n );\n return (\n <div class={`${classPrefix.value}-transfer__list-content narrow-scrollbar`} onScroll={scroll}>\n {renderTNodeJSX('tree', {\n defaultNode,\n params: {\n data: curPageData.value,\n value: props.checkedValue,\n onChange: handleCheckedChange,\n },\n })}\n </div>\n );\n };\n const renderEmpty = () => {\n const empty = props.empty || t(globalConfig.value.empty);\n const defaultNode: VNode = isString(empty) ? <span>{empty}</span> : null;\n return (\n <div class={`${classPrefix.value}-transfer__empty`}>\n {renderTNodeJSX('empty', {\n defaultNode,\n params: {\n type: props.listType,\n },\n })}\n </div>\n );\n };\n const renderFooter = () => {\n const defaultNode = isString(props.footer) ? (\n <div class={`${classPrefix.value}-transfer__footer`}>{props.footer}</div>\n ) : null;\n return renderTNodeJSX('footer', {\n defaultNode,\n params: {\n type: props.listType,\n },\n });\n };\n\n return () => (\n <div class={`${classPrefix.value}-transfer__list ${classPrefix.value}-transfer__list-${props.listType}`}>\n <div class={`${classPrefix.value}-transfer__list-header`}>\n <div>\n {props.checkAll && (\n <TCheckbox\n disabled={props.disabled || !props.dataSource.length}\n checked={isAllChecked.value}\n indeterminate={indeterminate.value}\n onChange={handleCheckedAllChange}\n />\n )}\n <span>\n {t(globalConfig.value.title, {\n checked: props.checkedValue.length,\n total: totalCount.value,\n })}\n </span>\n </div>\n {renderTitle()}\n </div>\n <div\n class={[\n `${classPrefix.value}-transfer__list-body`,\n props.search ? `${classPrefix.value}-transfer__list--with-search` : '',\n ]}\n >\n {props.search && (\n <Search\n searchValue={filterValue.value}\n placeholder={t(globalConfig.value.placeholder)}\n onChange={handleSearch}\n disabled={props.disabled}\n search={props.search}\n />\n )}\n {curPageData.value.length > 0 ? renderContent() : renderEmpty()}\n </div>\n {props.pagination && pageSize.value > 0 && pageTotal.value > 0 && (\n <div class={`${classPrefix.value}-transfer__list-pagination`}>\n <Pagination {...paginationProps.value} onChange={handlePaginationChange} />\n </div>\n )}\n {renderFooter()}\n </div>\n );\n },\n});\n"],"names":["_isVNode","checkboxProps","type","dataSource","listType","title","checkedValue","disabled","search","transferItem","empty","pagination","footer","checkAll","isTreeMode","onCheckedChange","onPageChange","onScroll","onSearch","name","props","size","theme","totalContent","pageSizeOptions","include","watch","defaultCurrent","defaultPageSize","filterValue","isString","_createVNode","defaultNode","params","TCheckboxGroup","index","onChange","checked"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBqB,SAAA,OAAA,CAAA,CAAA,EAAA;AAAA,EAAA,OAAA,OAAA,CAAA,KAAA,UAAA,IAAA,MAAA,CAAA,SAAA,CAAA,QAAA,CAAA,IAAA,CAAA,CAAA,CAAA,KAAA,iBAAA,IAAA,CAAAA,OAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA;AAErB,IAAA,KAAA,GAAA;AACEC,EAAAA,aAAAA,EAAAA;AACEC,IAAAA,IAAAA,EAAAA,MAAAA;AACA,IAAA,SAAA,EAAA,SAAA,QAAA,GAAA;AAAS,MAAA,OAAA,EAAA,CAAA;AAAQ,KAAA;;AAEnBC,EAAAA,UAAAA,EAAAA;AACED,IAAAA,IAAAA,EAAAA,KAAAA;AAAM,IAAA,SAAA,EAAA,SAAA,QAAA,GAAA;AAEJ,MAAA,OAAA,EAAA,CAAA;AACF,KAAA;;AAEFE,EAAAA,QAAAA,EAAAA;AACEF,IAAAA,IAAAA,EAAAA,MAAAA;;;AAGFG,EAAAA,KAAAA,EAAAA;AACEH,IAAAA,IAAAA,EAAAA,CAAAA,MAAAA,EAAAA,QAAAA,CAAAA;;AAEFI,EAAAA,YAAAA,EAAAA;AACEJ,IAAAA,IAAAA,EAAAA,KAAAA;AAAM,IAAA,SAAA,EAAA,SAAA,QAAA,GAAA;AAEJ,MAAA,OAAA,EAAA,CAAA;AACF,KAAA;;AAEFK,EAAAA,QAAAA,EAAAA;AACEL,IAAAA,IAAAA,EAAAA,OAAAA;;;AAGFM,EAAAA,MAAAA,EAAAA;AACEN,IAAAA,IAAAA,EAAAA,CAAAA,OAAAA,EAAAA,MAAAA,CAAAA;;;AAGFO,EAAAA,YAAAA,EAAAA,QAAAA;AACAC,EAAAA,KAAAA,EAAAA;AACER,IAAAA,IAAAA,EAAAA,CAAAA,QAAAA,EAAAA,MAAAA,CAAAA;;AAEFS,EAAAA,UAAAA,EAAAA,CAAAA,OAAAA,EAAAA,MAAAA,CAAAA;AACAC,EAAAA,MAAAA,EAAAA,CAAAA,QAAAA,EAAAA,MAAAA,CAAAA;AACAC,EAAAA,QAAAA,EAAAA,OAAAA;AACAC,EAAAA,UAAAA,EAAAA;AACEZ,IAAAA,IAAAA,EAAAA,OAAAA;;;AAGFa,EAAAA,eAAAA,EAAAA,QAAAA;AACAC,EAAAA,YAAAA,EAAAA,QAAAA;AACAC,EAAAA,QAAAA,EAAAA,QAAAA;AACAC,EAAAA,QAAAA,EAAAA,QAAAA;AACF,CAAA,CAAA;AAEA,mBAAA,eAAA,CAAA;AACEC,EAAAA,IAAAA,EAAAA,eAAAA;AACAC,EAAAA,KAAAA,EAAAA,aAAAA,CAAAA,EAAAA,EAAAA,KAAAA,CAAAA;;AAEE,IAAA,IAAA,WAAA,GAAA,cAAA,EAAA,CAAA;AACA,IAAA,IAAA,UAAA,GAAA,SAAA,CAAA,UAAA,CAAA;;;AAEM,IAAA,IAAA,WAAA,GAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AAEA,IAAA,IAAA,cAAA,GAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAEA,IAAA,IAAA,eAAA,GAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAEA,IAAA,IAAA,WAAA,GAAA,QAAA,CAAA,YAAA;AACJ,MAAA,IAAA,UAAA,GAAA,MAAA,CAAA,UAAA,CAAA;AACA,MAAA,OAAA,CAAA,UAAA,KAAA,IAAA,IAAA,UAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAA,OAAA,KAAA,cAAA,CAAA,KAAA,KAAA,UAAA,KAAA,IAAA,IAAA,UAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAA,cAAA,CAAA,CAAA;AACF,KAAA,CAAA,CAAA;AACM,IAAA,IAAA,QAAA,GAAA,QAAA,CAAA,YAAA;AACJ,MAAA,IAAA,UAAA,GAAA,MAAA,CAAA,UAAA,CAAA;AACA,MAAA,OAAA,CAAA,UAAA,KAAA,IAAA,IAAA,UAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAA,QAAA,KAAA,eAAA,CAAA,KAAA,KAAA,UAAA,KAAA,IAAA,IAAA,UAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAA,eAAA,CAAA,CAAA;AACF,KAAA,CAAA,CAAA;AACM,IAAA,IAAA,YAAA,GAAA,QAAA,CAAA,YAAA;;;AAGK,QAAA,OAAA,KAAA,CAAA,WAAA,EAAA,CAAA,OAAA,CAAA,WAAA,CAAA,KAAA,CAAA,WAAA,EAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AACT,OAAA,CAAA,CAAA;AACF,KAAA,CAAA,CAAA;AAEM,IAAA,IAAA,SAAA,GAAA,QAAA,CAAA,YAAA;;AAEN,KAAA,CAAA,CAAA;AAEM,IAAA,IAAA,WAAA,GAAA,QAAA,CAAA,YAAA;AACJ,MAAA,IAAA,QAAA,GAAA,YAAA,CAAA,KAAA,CAAA;AACA,MAAA,IAAA,CAAA,MAAA,CAAA,UAAA,EAAA,OAAA,QAAA,CAAA;AACA,MAAA,IAAA,QAAA,CAAA,KAAA,KAAA,CAAA,EAAA,OAAA,QAAA,CAAA;;;;AAIO,MAAA,OAAA,QAAA,CAAA;AACT,KAAA,CAAA,CAAA;AACM,IAAA,IAAA,eAAA,GAAA,QAAA,CAAA,YAAA;AACJ,MAAA,IAAA,sBAAA,GAAA;AACEC,QAAAA,IAAAA,EAAAA,OAAAA;AACAC,QAAAA,KAAAA,EAAAA,QAAAA;AACAC,QAAAA,YAAAA,EAAAA,KAAAA;AACAC,QAAAA,eAAAA,EAAAA,EAAAA;;AAEK,MAAA,OAAA,OAAA,CAAA,MAAA,CAAA,UAAA,CAAA,KAAA,QAAA,GAAA,aAAA,CAAA,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,MAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA;;;;AAMkB,OAAA,CAAA,GAAA,EAAA,CAAA;AAG3B,KAAA,CAAA,CAAA;AAEM,IAAA,IAAA,YAAA,GAAA,QAAA,CAAA,YAAA;;;AACiFC,QAAAA,OAAAA,EAAAA,KAAAA;AAAe,OAAA,CAAA,CAAA;AAGlGL,MAAAA,OAAAA,MAAAA,CAAAA,YAAAA,CAAAA,MAAAA,GAAAA,CAAAA,KAAAA,MAAAA,CAAAA,UAAAA,GAAAA,QAAAA,CAAAA,KAAAA,CAAAA,UAAAA,IAAAA,EAAAA;AAEoB,QAAA,OAAA,MAAA,CAAA,YAAA,CAAA,QAAA,CAAA,IAAA,CAAA,CAAA;AAA0C,OAAA,CAAA,GAAA,CAAA,MAAA,CAAA,MAAA,GAAA,YAAA,CAAA,KAAA,GAAA,MAAA,CAAA,UAAA,EAAA,KAAA,CAAA,UAAA,IAAA,EAAA;;AAE6B,OAAA,CAAA,CAAA,CAAA;AAG/F,KAAA,CAAA,CAAA;AACM,IAAA,IAAA,aAAA,GAAA,QAAA,CAAA,YAAA;;AAEN,KAAA,CAAA,CAAA;AAEM,IAAA,IAAA,UAAA,GAAA,QAAA,CAAA,YAAA;AACG,MAAA,OAAA,WAAA,CAAA,MAAA,CAAA,UAAA,CAAA,CAAA;AACT,KAAA,CAAA,CAAA;AAEMM,IAAAA,KAAAA,CAAAA,UAAAA,EAAAA,UAAAA,GAAAA,EAAAA;AACJ,MAAA,IAAA,GAAA,IAAA,CAAA,WAAA,CAAA,KAAA,GAAA,CAAA,IAAA,QAAA,CAAA,KAAA,EAAA;;;AAGA,OAAA;AACF,KAAA,CAAA,CAAA;AAEM,IAAA,IAAA,sBAAA,GAAA,SAAA,sBAAA,CAAA,QAAA,EAAA;AAAiD,MAAA,IAAA,oBAAA,CAAA;AACrDN,MAAAA,CAAAA,oBAAAA,GAAAA,MAAAA,CAAAA,YAAAA,MAAAA,IAAAA,IAAAA,oBAAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAAA,CAAAA,IAAAA,CAAAA,MAAAA,EAAAA,QAAAA,CAAAA,CAAAA;AACAO,MAAAA,cAAAA,CAAAA,KAAAA,GAAAA,QAAAA,CAAAA,OAAAA,CAAAA;AACAC,MAAAA,eAAAA,CAAAA,KAAAA,GAAAA,QAAAA,CAAAA,QAAAA,CAAAA;;AAEI,IAAA,IAAA,mBAAA,GAAA,SAAA,mBAAA,CAAA,GAAA,EAAA;AAAqD,MAAA,IAAA,qBAAA,CAAA;AACzDR,MAAAA,CAAAA,qBAAAA,GAAAA,MAAAA,CAAAA,eAAAA,MAAAA,IAAAA,IAAAA,qBAAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAAA,CAAAA,IAAAA,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,CAAAA;;AAEI,IAAA,IAAA,sBAAA,GAAA,SAAA,sBAAA,CAAA,OAAA,EAAA;AACJ,MAAA,IAAA,OAAA,EAAA;AACQ,QAAA,IAAA,QAAA,GAAA,aAAA,CAAA,MAAA,CAAA,MAAA,GAAA,YAAA,CAAA,KAAA,GAAA,MAAA,CAAA,UAAA,EAAA,EAAA,EAAA;;AAEJK,UAAAA,OAAAA,EAAAA,KAAAA;AACF,SAAA,CAAA,CAAA;;AAEF,OAAA,MAAA;;AAEA,OAAA;;AAEI,IAAA,IAAA,MAAA,GAAA,SAAA,MAAA,CAAA,CAAA,EAAA;AAAuB,MAAA,IAAA,gBAAA,CAAA;AAC3BL,MAAAA,CAAAA,gBAAAA,GAAAA,MAAAA,CAAAA,QAAAA,MAAAA,IAAAA,IAAAA,gBAAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAAA,CAAAA,IAAAA,CAAAA,MAAAA,EAAAA,CAAAA,CAAAA,CAAAA;;AAEI,IAAA,IAAA,YAAA,GAAA,SAAA,YAAA,CAAA,CAAA,EAAA;AAA2B,MAAA,IAAA,gBAAA,CAAA;AAC/B,MAAA,IAAA,KAAA,GAAA;;;;;;AAMAS,MAAAA,WAAAA,CAAAA,KAAAA,GAAAA,CAAAA,CAAAA,KAAAA,CAAAA;AACAT,MAAAA,CAAAA,gBAAAA,GAAAA,MAAAA,CAAAA,QAAAA,MAAAA,IAAAA,IAAAA,gBAAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAAA,CAAAA,IAAAA,CAAAA,MAAAA,EAAAA,KAAAA,CAAAA,CAAAA;;AAEF,IAAA,IAAA,cAAA,GAAA,eAAA,EAAA,CAAA;AACA,IAAA,IAAA,WAAA,GAAA,SAAA,WAAA,GAAA;AACE,MAAA,IAAA,WAAA,GAAA,MAAA,CAAA,KAAA,IAAAU,UAAA,CAAA,MAAA,CAAA,KAAA,CAAA,GAAAC,WAAA,CAAA,UAAA,EAAA,IAAA,EAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA,GAAA,IAAA,CAAA;AACM,MAAA,IAAA,SAAA,GAAA,cAAA,CAAA,OAAA,EAAA;AACJC,QAAAA,WAAAA,EAAAA,WAAAA;AACAC,QAAAA,MAAAA,EAAAA;;AAEA,SAAA;AACF,OAAA,CAAA,CAAA;;;AAGF,IAAA,IAAA,aAAA,GAAA,SAAA,aAAA,GAAA;AAA4B,MAAA,IAAA,MAAA,CAAA;AACpB,MAAA,IAAA,WAAA,GAAAF,WAAA,CAAAG,aAAA,EAAA;;;AAED,OAAA,EAAA,OAAA,CAAA,MAAA,GAAA,WAAA,CAAA,KAAA,CAAA,GAAA,CAAA,UAAA,IAAA,EAAA,KAAA,EAAA;;;;;AAGe,UAAA,YAAA,EAAA,IAAA;;;;AAUVF,UAAAA,WAAAA,EAAAA,WAAAA,CAAAA,MAAAA,EAAAA,IAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA;AACAC,UAAAA,MAAAA,EAAAA;;AAA2BE,YAAAA,KAAAA,EAAAA,KAAAA;;AAA4B,WAAA;;AACxD,UAAA,SAAA,EAAA,SAAA,QAAA,GAAA;AAAA,YAAA,OAAA,CAAA,KAAA,CAAA,CAAA;AAAA,WAAA;AAAA,SAAA,CAAA,CAAA;;;;;;AAMP,MAAA,OAAAJ,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,EAAA,CAAA,MAAA,CAAA,WAAA,CAAA,KAAA,EAAA,0CAAA,CAAA;;;AAEIC,QAAAA,WAAAA,EAAAA,WAAAA;AACAC,QAAAA,MAAAA,EAAAA;;;AAGEG,UAAAA,QAAAA,EAAAA,mBAAAA;AACF,SAAA;AACF,OAAA,CAAA,CAAA,CAAA,CAAA;;AAIN,IAAA,IAAA,WAAA,GAAA,SAAA,WAAA,GAAA;AACE,MAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,IAAA,CAAA,CAAA,YAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA;;AAEA,MAAA,OAAAL,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,EAAA,CAAA,MAAA,CAAA,WAAA,CAAA,KAAA,EAAA,kBAAA,CAAA;;AAGMC,QAAAA,WAAAA,EAAAA,WAAAA;AACAC,QAAAA,MAAAA,EAAAA;;AAEA,SAAA;AACF,OAAA,CAAA,CAAA,CAAA,CAAA;;AAIN,IAAA,IAAA,YAAA,GAAA,SAAA,YAAA,GAAA;;;AAE+B,OAAA,EAAA,CAAA,MAAA,CAAA,MAAA,CAAA,CAAA,GAAA,IAAA,CAAA;;AAG3BD,QAAAA,WAAAA,EAAAA,WAAAA;AACAC,QAAAA,MAAAA,EAAAA;;AAEA,SAAA;AACF,OAAA,CAAA,CAAA;;;AAGK,MAAA,OAAAF,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,EAAA,CAAA,MAAA,CAAA,WAAA,CAAA,KAAA,EAAA,kBAAA,CAAA,CAAA,MAAA,CAAA,WAAA,CAAA,KAAA,EAAA,kBAAA,CAAA,CAAA,MAAA,CAAA,MAAA,CAAA,QAAA,CAAA;AACwF,OAAA,EAAA,CAAAA,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,EAAA,CAAA,MAAA,CAAA,WAAA,CAAA,KAAA,EAAA,wBAAA,CAAA;;;;;;;AAanFM,QAAAA,OAAAA,EAAAA,MAAAA,CAAAA,YAAAA,CAAAA,MAAAA;;AAEF,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,WAAA,EAAA,CAAA,CAAA,EAAAN,WAAA,CAAA,KAAA,EAAA;AAGS,QAAA,OAAA,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA,WAAA,CAAA,KAAA,EAAA,sBAAA,CAAA,EAAA,MAAA,CAAA,MAAA,GAAA,EAAA,CAAA,MAAA,CAAA,WAAA,CAAA,KAAA,EAAA,8BAAA,CAAA,GAAA,EAAA,CAAA;AAMb,OAAA,EAAA,CAAA,MAAA,CAAA,MAAA,IAAAA,WAAA,CAAA,MAAA,EAAA;;AAI6B,QAAA,aAAA,EAAA,CAAA,CAAA,YAAA,CAAA,KAAA,CAAA,WAAA,CAAA;AACoB,QAAA,UAAA,EAAA,YAAA;;AAG7C,QAAA,QAAA,EAAA,MAAA,CAAA,MAAA;AACF,OAAA,EAAA,IAAA,CAAA,EAAA,WAAA,CAAA,KAAA,CAAA,MAAA,GAAA,CAAA,GAAA,aAAA,EAAA,GAAA,WAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,UAAA,IAAA,QAAA,CAAA,KAAA,GAAA,CAAA,IAAA,SAAA,CAAA,KAAA,GAAA,CAAA,IAAAA,WAAA,CAAA,KAAA,EAAA;;;;;;AAYV,GAAA;AACF,CAAA,CAAA;;;;"}