@hkyhy/marsun-components-core 0.1.15 → 0.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Filter/CommonFilter/index.js +34 -30
- package/dist/components/Filter/CommonFilter/index.js.map +1 -1
- package/dist/components/Filter/CommonFilter/style.module.scss.js +17 -16
- package/dist/components/Filter/CommonFilter/style.module.scss.js.map +1 -1
- package/dist/components/Filter/FilterSelect/index.d.ts +2 -0
- package/dist/components/Filter/FilterSelect/index.js +140 -118
- package/dist/components/Filter/FilterSelect/index.js.map +1 -1
- package/dist/components/Filter/FilterSelect/style.module.scss.js +12 -10
- package/dist/components/Filter/FilterSelect/style.module.scss.js.map +1 -1
- package/dist/components/Filter/types.d.ts +2 -0
- package/dist/components/Filter/types.js.map +1 -1
- package/dist/components/Filter/useFilterState.d.ts +2 -0
- package/dist/components/Filter/useFilterState.js +27 -26
- package/dist/components/Filter/useFilterState.js.map +1 -1
- package/dist/marsun-components-core.css +1 -1
- package/dist/styles/global.css +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/Filter/FilterSelect/index.tsx"],"sourcesContent":["import { Check, X } from '@/components/Icons';\nimport { Checkbox, Input, Space } from 'antd';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport PersonOptionRow from '../../Form/PersonOptionRow';\nimport FilterPopover from '../FilterPopover';\nimport type { BaseFilterProps, FilterOption, PersonOption } from '../types';\nimport { resolveFilterVisible } from '../types';\nimport { useFilterRegister } from '../useFilterState';\nimport styles from './style.module.scss';\nimport classNames from 'classnames';\n\nconst { Search } = Input;\n\nfunction formatPersonValueLabel(opt: PersonOption): string {\n const parts = [opt.label];\n if (opt.departmentName) parts.push(opt.departmentName);\n return parts.join(' · ');\n}\n\nfunction matchPersonOptionSearch(opt: PersonOption, keyword: string): boolean {\n const lower = keyword.toLowerCase();\n return [opt.label, opt.departmentName, opt.email, opt.phone, opt.employeeId]\n .filter(Boolean)\n .some((s) => String(s).toLowerCase().includes(lower));\n}\n\ntype FilterSelectValue = string | number | (string | number)[] | undefined;\n\nexport type { FilterSelectValue };\n\nfunction arraysEqual(\n a?: (string | number)[],\n b?: (string | number)[],\n): boolean {\n if (!a?.length && !b?.length) return true;\n if (!a || !b || a.length !== b.length) return false;\n const sortedA = [...a].map(String).sort();\n const sortedB = [...b].map(String).sort();\n return sortedA.every((v, i) => v === sortedB[i]);\n}\n\ninterface FilterSelectProps extends BaseFilterProps {\n options: FilterOption[];\n value?: FilterSelectValue;\n onChange?: (value: FilterSelectValue) => void;\n /** 默认值:与默认值相同时视为未筛选(不展示已选标签与选中态) */\n defaultValue?: string | number;\n /** 多选默认值:与默认集合相同时视为未筛选 */\n defaultValues?: (string | number)[];\n placeholder?: string;\n searchable?: boolean;\n /** 是否多选 */\n multiple?: boolean;\n /** 人员选项:展示部门与联系方式 */\n variant?: 'default' | 'person';\n}\n\nfunction toDisplayValue(\n value: FilterSelectValue,\n defaultValue: string | number | undefined,\n defaultValues: (string | number)[] | undefined,\n multiple: boolean,\n): string | number | (string | number)[] | undefined {\n if (multiple) {\n const arr = Array.isArray(value) ? value : value != null && value !== '' ? [value] : [];\n if (defaultValues?.length && arraysEqual(arr, defaultValues)) {\n return [];\n }\n return arr;\n }\n if (defaultValue !== undefined && value === defaultValue) return undefined;\n return value;\n}\n\nfunction formatValueLabel(\n displayVal: string | number | (string | number)[] | undefined,\n options: FilterOption[],\n multiple: boolean,\n isPersonVariant: boolean,\n): string {\n if (multiple) {\n const arr = (displayVal as (string | number)[]) || [];\n return arr.length > 0\n ? arr.map((v) => options.find((o) => o.value === v)?.label ?? String(v)).join('、')\n : '';\n }\n if (displayVal == null) return '';\n const opt = options.find((o) => o.value === displayVal);\n if (!opt) return String(displayVal);\n return isPersonVariant ? formatPersonValueLabel(opt as PersonOption) : opt.label;\n}\n\nconst FilterSelect: React.FC<FilterSelectProps> = ({\n filterKey,\n label,\n options = [],\n value,\n onChange,\n defaultValue,\n defaultValues,\n searchable = false,\n multiple = false,\n variant = 'default',\n active,\n hidden,\n display,\n}) => {\n const isPersonVariant = variant === 'person';\n const [open, setOpen] = useState(false);\n const [searchText, setSearchText] = useState('');\n const displayValue = toDisplayValue(value, defaultValue, defaultValues, multiple);\n const [localValue, setLocalValue] = useState<string | number | (string | number)[] | undefined>(\n displayValue ?? (multiple ? [] : undefined),\n );\n\n // ── 自动注册到 CommonFilter ──\n const registerFn = useFilterRegister();\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n const handleRemove = useMemo(\n () => () => {\n onChangeRef.current?.(undefined);\n },\n [],\n );\n\n const revertToCommitted = () => {\n const next = displayValue ?? (multiple ? [] : undefined);\n setLocalValue(next);\n setSearchText('');\n };\n\n // 同步外部 value 到内部 localValue\n useEffect(() => {\n const nextDisplayValue = toDisplayValue(value, defaultValue, defaultValues, multiple);\n setLocalValue(nextDisplayValue ?? (multiple ? [] : undefined));\n if (\n nextDisplayValue === undefined ||\n nextDisplayValue === null ||\n (Array.isArray(nextDisplayValue) && nextDisplayValue.length === 0)\n ) {\n setSearchText('');\n }\n }, [value, defaultValue, defaultValues, multiple]);\n\n const committedValueLabel = useMemo(\n () => formatValueLabel(displayValue, options, multiple, isPersonVariant),\n [options, displayValue, multiple, isPersonVariant],\n );\n\n useEffect(() => {\n if (!registerFn) return;\n const ctx = { filterKey, label, value };\n if (!resolveFilterVisible({ display, hidden }, ctx)) {\n registerFn.unregister(filterKey);\n return;\n }\n if (committedValueLabel) {\n registerFn.register(filterKey, {\n label,\n valueLabel: committedValueLabel,\n onRemove: handleRemove,\n });\n } else {\n registerFn.unregister(filterKey);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [committedValueLabel, filterKey, label, hidden, display, handleRemove]);\n\n const visibilityCtx = { filterKey, label, value };\n if (!resolveFilterVisible({ display, hidden }, visibilityCtx)) return null;\n\n const filteredOptions = searchText\n ? options.filter((opt) =>\n isPersonVariant\n ? matchPersonOptionSearch(opt as PersonOption, searchText)\n : opt.label.toLowerCase().includes(searchText.toLowerCase()),\n )\n : options;\n\n const handleConfirm = () => {\n onChange?.(localValue as FilterSelectValue);\n setOpen(false);\n };\n\n const handleDiscardDraft = () => {\n revertToCommitted();\n setOpen(false);\n };\n\n const handleOpenChange = (nextOpen: boolean) => {\n if (!nextOpen && multiple) {\n revertToCommitted();\n }\n setOpen(nextOpen);\n };\n\n const handleClickOption = (optVal: string | number) => {\n if (!multiple) {\n const isDefaultOption = defaultValue !== undefined && optVal === defaultValue;\n let next: string | number | undefined;\n if (localValue === optVal || isDefaultOption) {\n next = undefined;\n } else {\n next = optVal;\n }\n setLocalValue(next);\n onChange?.(next);\n setOpen(false);\n }\n };\n\n const handleToggleMulti = (optVal: string | number) => {\n const arr = (localValue as (string | number)[]) || [];\n const next = arr.includes(optVal) ? arr.filter((v) => v !== optVal) : [...arr, optVal];\n setLocalValue(next);\n };\n\n const isActive = multiple\n ? Array.isArray(displayValue) && displayValue.length > 0\n : displayValue != null && displayValue !== '';\n\n return (\n <FilterPopover\n label={label}\n active={active || isActive}\n open={open}\n onOpenChange={handleOpenChange}\n onConfirm={multiple ? handleConfirm : undefined}\n onReset={multiple ? handleDiscardDraft : undefined}\n >\n {searchable && (\n <Search\n placeholder={`搜索${label}`}\n allowClear\n size=\"middle\"\n className={classNames('filter-select-search', styles['filter-select-search'])}\n value={searchText}\n onChange={(e) => setSearchText(e.target.value)}\n />\n )}\n\n <div className={classNames('filter-select-options', styles['filter-select-options'])}>\n {filteredOptions.map((opt) => (\n <div\n key={String(opt.value)}\n className={classNames('filter-select-option', styles['filter-select-option'],\n !multiple &&\n localValue === opt.value &&\n classNames('filter-select-option-selected', styles['filter-select-option-selected']),\n )}\n onClick={() =>\n multiple ? handleToggleMulti(opt.value) : handleClickOption(opt.value)\n }\n >\n {multiple && (\n <Checkbox\n checked={(localValue as (string | number)[])?.includes(opt.value)}\n onChange={() => handleToggleMulti(opt.value)}\n onClick={(e) => e.stopPropagation()}\n />\n )}\n {isPersonVariant ? (\n <PersonOptionRow option={opt as PersonOption} />\n ) : (\n <span>{opt.label}</span>\n )}\n {!multiple && !isPersonVariant && localValue === opt.value && (\n <Check className={classNames('filter-select-option-check', styles['filter-select-option-check'])} />\n )}\n </div>\n ))}\n {filteredOptions.length === 0 && (\n <div className={classNames('filter-select-empty', styles['filter-select-empty'])}>暂无数据</div>\n )}\n </div>\n\n {multiple && (localValue as (string | number)[])?.length > 0 && (\n <div className={classNames('filter-select-selected-bar', styles['filter-select-selected-bar'])}>\n <div className={classNames('filter-select-selected-label', styles['filter-select-selected-label'])}>已选:</div>\n <Space size={[4, 4]} wrap>\n {(localValue as (string | number)[]).map((v) => {\n const opt = options.find((o) => o.value === v);\n return (\n <span\n key={String(v)}\n className={classNames('filter-select-selected-tag', styles['filter-select-selected-tag'])}\n onClick={() => handleToggleMulti(v)}\n >\n {opt?.label ?? String(v)}\n <X className={classNames('filter-select-selected-remove', styles['filter-select-selected-remove'])} />\n </span>\n );\n })}\n </Space>\n </div>\n )}\n </FilterPopover>\n );\n};\n\nexport default FilterSelect;\nexport type { FilterSelectProps };\n"],"names":["Search","Input","formatPersonValueLabel","opt","parts","matchPersonOptionSearch","keyword","lower","s","arraysEqual","a","b","sortedA","sortedB","v","i","toDisplayValue","value","defaultValue","defaultValues","multiple","arr","formatValueLabel","displayVal","options","isPersonVariant","_a","o","FilterSelect","filterKey","label","onChange","searchable","variant","active","hidden","display","open","setOpen","useState","searchText","setSearchText","displayValue","localValue","setLocalValue","registerFn","useFilterRegister","onChangeRef","useRef","handleRemove","useMemo","revertToCommitted","useEffect","nextDisplayValue","committedValueLabel","resolveFilterVisible","filteredOptions","handleConfirm","handleDiscardDraft","handleOpenChange","nextOpen","handleClickOption","optVal","isDefaultOption","next","handleToggleMulti","isActive","jsxs","FilterPopover","jsx","classNames","styles","Checkbox","e","PersonOptionRow","Check","Space","X"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/Filter/FilterSelect/index.tsx"],"sourcesContent":["import { Check, X } from '@/components/Icons';\nimport { Checkbox, Input, Space } from 'antd';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport PersonOptionRow from '../../Form/PersonOptionRow';\nimport FilterPopover from '../FilterPopover';\nimport type { BaseFilterProps, FilterOption, PersonOption } from '../types';\nimport { resolveFilterVisible } from '../types';\nimport { useFilterRegister } from '../useFilterState';\nimport styles from './style.module.scss';\nimport classNames from 'classnames';\n\nconst { Search } = Input;\n\nfunction formatPersonValueLabel(opt: PersonOption): string {\n const parts = [opt.label];\n if (opt.departmentName) parts.push(opt.departmentName);\n return parts.join(' · ');\n}\n\nfunction matchPersonOptionSearch(opt: PersonOption, keyword: string): boolean {\n const lower = keyword.toLowerCase();\n return [opt.label, opt.departmentName, opt.email, opt.phone, opt.employeeId]\n .filter(Boolean)\n .some((s) => String(s).toLowerCase().includes(lower));\n}\n\ntype FilterSelectValue = string | number | (string | number)[] | undefined;\n\nexport type { FilterSelectValue };\n\nfunction arraysEqual(\n a?: (string | number)[],\n b?: (string | number)[],\n): boolean {\n if (!a?.length && !b?.length) return true;\n if (!a || !b || a.length !== b.length) return false;\n const sortedA = [...a].map(String).sort();\n const sortedB = [...b].map(String).sort();\n return sortedA.every((v, i) => v === sortedB[i]);\n}\n\ninterface FilterSelectProps extends BaseFilterProps {\n options: FilterOption[];\n value?: FilterSelectValue;\n onChange?: (value: FilterSelectValue) => void;\n /** 默认值:与默认值相同时视为未筛选(不展示已选标签与选中态) */\n defaultValue?: string | number;\n /** 多选默认值:与默认集合相同时视为未筛选 */\n defaultValues?: (string | number)[];\n placeholder?: string;\n searchable?: boolean;\n /** 是否多选 */\n multiple?: boolean;\n /** 多选至少保留项数;达到下限时不允许移除已选标签 */\n minSelection?: number;\n /** 人员选项:展示部门与联系方式 */\n variant?: 'default' | 'person';\n}\n\nfunction toDisplayValue(\n value: FilterSelectValue,\n defaultValue: string | number | undefined,\n defaultValues: (string | number)[] | undefined,\n multiple: boolean,\n): string | number | (string | number)[] | undefined {\n if (multiple) {\n const arr = Array.isArray(value) ? value : value != null && value !== '' ? [value] : [];\n if (defaultValues?.length && arraysEqual(arr, defaultValues)) {\n return [];\n }\n return arr;\n }\n if (defaultValue !== undefined && value === defaultValue) return undefined;\n return value;\n}\n\nfunction formatValueLabel(\n displayVal: string | number | (string | number)[] | undefined,\n options: FilterOption[],\n multiple: boolean,\n isPersonVariant: boolean,\n): string {\n if (multiple) {\n const arr = (displayVal as (string | number)[]) || [];\n return arr.length > 0\n ? arr.map((v) => options.find((o) => String(o.value) === String(v))?.label ?? String(v)).join('、')\n : '';\n }\n if (displayVal == null) return '';\n const opt = options.find((o) => String(o.value) === String(displayVal));\n if (!opt) return String(displayVal);\n return isPersonVariant ? formatPersonValueLabel(opt as PersonOption) : opt.label;\n}\n\nconst FilterSelect: React.FC<FilterSelectProps> = ({\n filterKey,\n label,\n options = [],\n value,\n onChange,\n defaultValue,\n defaultValues,\n searchable = false,\n multiple = false,\n minSelection,\n variant = 'default',\n active,\n hidden,\n display,\n}) => {\n const isPersonVariant = variant === 'person';\n const [open, setOpen] = useState(false);\n const [searchText, setSearchText] = useState('');\n const displayValue = toDisplayValue(value, defaultValue, defaultValues, multiple);\n const [localValue, setLocalValue] = useState<string | number | (string | number)[] | undefined>(\n displayValue ?? (multiple ? [] : undefined),\n );\n\n // ── 自动注册到 CommonFilter ──\n const registerFn = useFilterRegister();\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n const handleRemove = useMemo(() => {\n const selectedArr = Array.isArray(displayValue)\n ? displayValue\n : displayValue != null && displayValue !== ''\n ? [displayValue]\n : [];\n const canRemove =\n !multiple ||\n minSelection == null ||\n selectedArr.length > minSelection;\n return () => {\n if (!canRemove) return;\n onChangeRef.current?.(undefined);\n };\n }, [displayValue, minSelection, multiple]);\n\n const revertToCommitted = () => {\n const next = displayValue ?? (multiple ? [] : undefined);\n setLocalValue(next);\n setSearchText('');\n };\n\n // 同步外部 value 到内部 localValue\n useEffect(() => {\n const nextDisplayValue = toDisplayValue(value, defaultValue, defaultValues, multiple);\n setLocalValue(nextDisplayValue ?? (multiple ? [] : undefined));\n if (\n nextDisplayValue === undefined ||\n nextDisplayValue === null ||\n (Array.isArray(nextDisplayValue) && nextDisplayValue.length === 0)\n ) {\n setSearchText('');\n }\n }, [value, defaultValue, defaultValues, multiple]);\n\n const committedValueLabel = useMemo(\n () => formatValueLabel(displayValue, options, multiple, isPersonVariant),\n [options, displayValue, multiple, isPersonVariant],\n );\n\n useEffect(() => {\n if (!registerFn) return;\n const ctx = { filterKey, label, value };\n if (!resolveFilterVisible({ display, hidden }, ctx)) {\n registerFn.unregister(filterKey);\n return;\n }\n if (committedValueLabel) {\n const selectedArr = Array.isArray(displayValue)\n ? displayValue\n : displayValue != null && displayValue !== ''\n ? [displayValue]\n : [];\n const removable =\n !multiple || minSelection == null || selectedArr.length > minSelection;\n registerFn.register(filterKey, {\n label,\n valueLabel: committedValueLabel,\n onRemove: handleRemove,\n removable,\n });\n } else {\n registerFn.unregister(filterKey);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [committedValueLabel, filterKey, label, hidden, display, handleRemove]);\n\n const visibilityCtx = { filterKey, label, value };\n if (!resolveFilterVisible({ display, hidden }, visibilityCtx)) return null;\n\n const filteredOptions = searchText\n ? options.filter((opt) =>\n isPersonVariant\n ? matchPersonOptionSearch(opt as PersonOption, searchText)\n : opt.label.toLowerCase().includes(searchText.toLowerCase()),\n )\n : options;\n\n const handleConfirm = () => {\n onChange?.(localValue as FilterSelectValue);\n setOpen(false);\n };\n\n const handleDiscardDraft = () => {\n revertToCommitted();\n setOpen(false);\n };\n\n const handleOpenChange = (nextOpen: boolean) => {\n if (!nextOpen && multiple) {\n revertToCommitted();\n }\n setOpen(nextOpen);\n };\n\n const handleClickOption = (optVal: string | number) => {\n if (!multiple) {\n const isDefaultOption = defaultValue !== undefined && optVal === defaultValue;\n let next: string | number | undefined;\n if (localValue === optVal || isDefaultOption) {\n next = undefined;\n } else {\n next = optVal;\n }\n setLocalValue(next);\n onChange?.(next);\n setOpen(false);\n }\n };\n\n const handleToggleMulti = (optVal: string | number) => {\n const arr = (localValue as (string | number)[]) || [];\n if (arr.includes(optVal) && minSelection != null && arr.length <= minSelection) {\n return;\n }\n const next = arr.includes(optVal) ? arr.filter((v) => v !== optVal) : [...arr, optVal];\n setLocalValue(next);\n };\n\n const isActive = multiple\n ? Array.isArray(displayValue) && displayValue.length > 0\n : displayValue != null && displayValue !== '';\n\n return (\n <FilterPopover\n label={label}\n active={active || isActive}\n open={open}\n onOpenChange={handleOpenChange}\n onConfirm={multiple ? handleConfirm : undefined}\n onReset={multiple ? handleDiscardDraft : undefined}\n >\n {searchable && (\n <Search\n placeholder={`搜索${label}`}\n allowClear\n size=\"middle\"\n className={classNames('filter-select-search', styles['filter-select-search'])}\n value={searchText}\n onChange={(e) => setSearchText(e.target.value)}\n />\n )}\n\n <div className={classNames('filter-select-options', styles['filter-select-options'])}>\n {filteredOptions.map((opt) => (\n <div\n key={String(opt.value)}\n className={classNames('filter-select-option', styles['filter-select-option'],\n !multiple &&\n localValue === opt.value &&\n classNames('filter-select-option-selected', styles['filter-select-option-selected']),\n )}\n onClick={() =>\n multiple ? handleToggleMulti(opt.value) : handleClickOption(opt.value)\n }\n >\n {multiple && (\n <Checkbox\n checked={(localValue as (string | number)[])?.includes(opt.value)}\n onChange={() => handleToggleMulti(opt.value)}\n onClick={(e) => e.stopPropagation()}\n />\n )}\n {isPersonVariant ? (\n <PersonOptionRow option={opt as PersonOption} />\n ) : (\n <span>{opt.label}</span>\n )}\n {!multiple && !isPersonVariant && localValue === opt.value && (\n <Check className={classNames('filter-select-option-check', styles['filter-select-option-check'])} />\n )}\n </div>\n ))}\n {filteredOptions.length === 0 && (\n <div className={classNames('filter-select-empty', styles['filter-select-empty'])}>暂无数据</div>\n )}\n </div>\n\n {multiple && (localValue as (string | number)[])?.length > 0 && (\n <div className={classNames('filter-select-selected-bar', styles['filter-select-selected-bar'])}>\n <div className={classNames('filter-select-selected-label', styles['filter-select-selected-label'])}>已选:</div>\n <Space size={[4, 4]} wrap>\n {(localValue as (string | number)[]).map((v) => {\n const opt = options.find((o) => String(o.value) === String(v));\n const arr = (localValue as (string | number)[]) || [];\n const tagRemovable = minSelection == null || arr.length > minSelection;\n return (\n <span\n key={String(v)}\n className={classNames(\n 'filter-select-selected-tag',\n styles['filter-select-selected-tag'],\n !tagRemovable && styles['filter-select-selected-tag-disabled'],\n )}\n onClick={() => tagRemovable && handleToggleMulti(v)}\n >\n {opt?.label ?? String(v)}\n <X\n className={classNames(\n 'filter-select-selected-remove',\n styles['filter-select-selected-remove'],\n !tagRemovable && styles['filter-select-selected-remove-disabled'],\n )}\n />\n </span>\n );\n })}\n </Space>\n </div>\n )}\n </FilterPopover>\n );\n};\n\nexport default FilterSelect;\nexport type { FilterSelectProps };\n"],"names":["Search","Input","formatPersonValueLabel","opt","parts","matchPersonOptionSearch","keyword","lower","s","arraysEqual","a","b","sortedA","sortedB","v","i","toDisplayValue","value","defaultValue","defaultValues","multiple","arr","formatValueLabel","displayVal","options","isPersonVariant","_a","o","FilterSelect","filterKey","label","onChange","searchable","minSelection","variant","active","hidden","display","open","setOpen","useState","searchText","setSearchText","displayValue","localValue","setLocalValue","registerFn","useFilterRegister","onChangeRef","useRef","handleRemove","useMemo","selectedArr","canRemove","revertToCommitted","useEffect","nextDisplayValue","committedValueLabel","resolveFilterVisible","removable","filteredOptions","handleConfirm","handleDiscardDraft","handleOpenChange","nextOpen","handleClickOption","optVal","isDefaultOption","next","handleToggleMulti","isActive","jsxs","FilterPopover","jsx","classNames","styles","Checkbox","e","PersonOptionRow","Check","Space","tagRemovable","X"],"mappings":";;;;;;;;;;AAWA,MAAM,EAAE,QAAAA,OAAWC;AAEnB,SAASC,GAAuBC,GAA2B;AACzD,QAAMC,IAAQ,CAACD,EAAI,KAAK;AACxB,SAAIA,EAAI,kBAAgBC,EAAM,KAAKD,EAAI,cAAc,GAC9CC,EAAM,KAAK,KAAK;AACzB;AAEA,SAASC,GAAwBF,GAAmBG,GAA0B;AAC5E,QAAMC,IAAQD,EAAQ,YAAA;AACtB,SAAO,CAACH,EAAI,OAAOA,EAAI,gBAAgBA,EAAI,OAAOA,EAAI,OAAOA,EAAI,UAAU,EACxE,OAAO,OAAO,EACd,KAAK,CAACK,MAAM,OAAOA,CAAC,EAAE,YAAA,EAAc,SAASD,CAAK,CAAC;AACxD;AAMA,SAASE,GACPC,GACAC,GACS;AACT,MAAI,EAACD,KAAA,QAAAA,EAAG,WAAU,EAACC,KAAA,QAAAA,EAAG,QAAQ,QAAO;AACrC,MAAI,CAACD,KAAK,CAACC,KAAKD,EAAE,WAAWC,EAAE,OAAQ,QAAO;AAC9C,QAAMC,IAAU,CAAC,GAAGF,CAAC,EAAE,IAAI,MAAM,EAAE,KAAA,GAC7BG,IAAU,CAAC,GAAGF,CAAC,EAAE,IAAI,MAAM,EAAE,KAAA;AACnC,SAAOC,EAAQ,MAAM,CAACE,GAAGC,MAAMD,MAAMD,EAAQE,CAAC,CAAC;AACjD;AAoBA,SAASC,EACPC,GACAC,GACAC,GACAC,GACmD;AACnD,MAAIA,GAAU;AACZ,UAAMC,IAAM,MAAM,QAAQJ,CAAK,IAAIA,IAAQA,KAAS,QAAQA,MAAU,KAAK,CAACA,CAAK,IAAI,CAAA;AACrF,WAAIE,KAAA,QAAAA,EAAe,UAAUV,GAAYY,GAAKF,CAAa,IAClD,CAAA,IAEFE;AAAA,EACT;AACA,MAAI,EAAAH,MAAiB,UAAaD,MAAUC;AAC5C,WAAOD;AACT;AAEA,SAASK,GACPC,GACAC,GACAJ,GACAK,GACQ;AACR,MAAIL,GAAU;AACZ,UAAMC,IAAOE,KAAsC,CAAA;AACnD,WAAOF,EAAI,SAAS,IAChBA,EAAI,IAAI,CAACP;;AAAM,eAAAY,IAAAF,EAAQ,KAAK,CAACG,MAAM,OAAOA,EAAE,KAAK,MAAM,OAAOb,CAAC,CAAC,MAAjD,gBAAAY,EAAoD,UAAS,OAAOZ,CAAC;AAAA,KAAC,EAAE,KAAK,GAAG,IAC/F;AAAA,EACN;AACA,MAAIS,KAAc,KAAM,QAAO;AAC/B,QAAMpB,IAAMqB,EAAQ,KAAK,CAACG,MAAM,OAAOA,EAAE,KAAK,MAAM,OAAOJ,CAAU,CAAC;AACtE,SAAKpB,IACEsB,IAAkBvB,GAAuBC,CAAmB,IAAIA,EAAI,QAD1D,OAAOoB,CAAU;AAEpC;AAEA,MAAMK,KAA4C,CAAC;AAAA,EACjD,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,SAAAN,IAAU,CAAA;AAAA,EACV,OAAAP;AAAA,EACA,UAAAc;AAAA,EACA,cAAAb;AAAA,EACA,eAAAC;AAAA,EACA,YAAAa,IAAa;AAAA,EACb,UAAAZ,IAAW;AAAA,EACX,cAAAa;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,QAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AACF,MAAM;AACJ,QAAMZ,IAAkBS,MAAY,UAC9B,CAACI,GAAMC,CAAO,IAAIC,EAAS,EAAK,GAChC,CAACC,GAAYC,CAAa,IAAIF,EAAS,EAAE,GACzCG,IAAe3B,EAAeC,GAAOC,GAAcC,GAAeC,CAAQ,GAC1E,CAACwB,GAAYC,CAAa,IAAIL;AAAA,IAClCG,MAAiBvB,IAAW,CAAA,IAAK;AAAA,EAAA,GAI7B0B,IAAaC,GAAA,GACbC,IAAcC,EAAOlB,CAAQ;AACnC,EAAAiB,EAAY,UAAUjB;AAEtB,QAAMmB,IAAeC,EAAQ,MAAM;AACjC,UAAMC,IAAc,MAAM,QAAQT,CAAY,IAC1CA,IACAA,KAAgB,QAAQA,MAAiB,KACvC,CAACA,CAAY,IACb,CAAA,GACAU,IACJ,CAACjC,KACDa,KAAgB,QAChBmB,EAAY,SAASnB;AACvB,WAAO,MAAM;;AACX,MAAKoB,OACL3B,IAAAsB,EAAY,YAAZ,QAAAtB,EAAA,KAAAsB,GAAsB;AAAA,IACxB;AAAA,EACF,GAAG,CAACL,GAAcV,GAAcb,CAAQ,CAAC,GAEnCkC,IAAoB,MAAM;AAE9B,IAAAT,EADaF,MAAiBvB,IAAW,CAAA,IAAK,OAC5B,GAClBsB,EAAc,EAAE;AAAA,EAClB;AAGA,EAAAa,EAAU,MAAM;AACd,UAAMC,IAAmBxC,EAAeC,GAAOC,GAAcC,GAAeC,CAAQ;AACpF,IAAAyB,EAAcW,MAAqBpC,IAAW,CAAA,IAAK,OAAU,IAG3DoC,KAAqB,QACpB,MAAM,QAAQA,CAAgB,KAAKA,EAAiB,WAAW,MAEhEd,EAAc,EAAE;AAAA,EAEpB,GAAG,CAACzB,GAAOC,GAAcC,GAAeC,CAAQ,CAAC;AAEjD,QAAMqC,IAAsBN;AAAA,IAC1B,MAAM7B,GAAiBqB,GAAcnB,GAASJ,GAAUK,CAAe;AAAA,IACvE,CAACD,GAASmB,GAAcvB,GAAUK,CAAe;AAAA,EAAA;AA+BnD,MA5BA8B,EAAU,MAAM;AACd,QAAI,CAACT,EAAY;AAEjB,QAAI,CAACY,EAAqB,EAAE,SAAArB,GAAS,QAAAD,EAAA,GADzB,EAAE,WAAAP,GAAW,OAAAC,GAAO,OAAAb,EAAA,CACkB,GAAG;AACnD,MAAA6B,EAAW,WAAWjB,CAAS;AAC/B;AAAA,IACF;AACA,QAAI4B,GAAqB;AACvB,YAAML,IAAc,MAAM,QAAQT,CAAY,IAC1CA,IACAA,KAAgB,QAAQA,MAAiB,KACvC,CAACA,CAAY,IACb,CAAA,GACAgB,IACJ,CAACvC,KAAYa,KAAgB,QAAQmB,EAAY,SAASnB;AAC5D,MAAAa,EAAW,SAASjB,GAAW;AAAA,QAC7B,OAAAC;AAAA,QACA,YAAY2B;AAAA,QACZ,UAAUP;AAAA,QACV,WAAAS;AAAA,MAAA,CACD;AAAA,IACH;AACE,MAAAb,EAAW,WAAWjB,CAAS;AAAA,EAGnC,GAAG,CAAC4B,GAAqB5B,GAAWC,GAAOM,GAAQC,GAASa,CAAY,CAAC,GAGrE,CAACQ,EAAqB,EAAE,SAAArB,GAAS,QAAAD,KADf,EAAE,WAAAP,GAAW,OAAAC,GAAO,OAAAb,EAAA,CACkB,EAAG,QAAO;AAEtE,QAAM2C,IAAkBnB,IACpBjB,EAAQ;AAAA,IAAO,CAACrB,MACdsB,IACIpB,GAAwBF,GAAqBsC,CAAU,IACvDtC,EAAI,MAAM,YAAA,EAAc,SAASsC,EAAW,aAAa;AAAA,EAAA,IAE/DjB,GAEEqC,IAAgB,MAAM;AAC1B,IAAA9B,KAAA,QAAAA,EAAWa,IACXL,EAAQ,EAAK;AAAA,EACf,GAEMuB,IAAqB,MAAM;AAC/B,IAAAR,EAAA,GACAf,EAAQ,EAAK;AAAA,EACf,GAEMwB,IAAmB,CAACC,MAAsB;AAC9C,IAAI,CAACA,KAAY5C,KACfkC,EAAA,GAEFf,EAAQyB,CAAQ;AAAA,EAClB,GAEMC,IAAoB,CAACC,MAA4B;AACrD,QAAI,CAAC9C,GAAU;AACb,YAAM+C,IAAkBjD,MAAiB,UAAagD,MAAWhD;AACjE,UAAIkD;AACJ,MAAIxB,MAAesB,KAAUC,IAC3BC,IAAO,SAEPA,IAAOF,GAETrB,EAAcuB,CAAI,GAClBrC,KAAA,QAAAA,EAAWqC,IACX7B,EAAQ,EAAK;AAAA,IACf;AAAA,EACF,GAEM8B,IAAoB,CAACH,MAA4B;AACrD,UAAM7C,IAAOuB,KAAsC,CAAA;AACnD,QAAIvB,EAAI,SAAS6C,CAAM,KAAKjC,KAAgB,QAAQZ,EAAI,UAAUY;AAChE;AAEF,UAAMmC,IAAO/C,EAAI,SAAS6C,CAAM,IAAI7C,EAAI,OAAO,CAACP,MAAMA,MAAMoD,CAAM,IAAI,CAAC,GAAG7C,GAAK6C,CAAM;AACrF,IAAArB,EAAcuB,CAAI;AAAA,EACpB,GAEME,IAAWlD,IACb,MAAM,QAAQuB,CAAY,KAAKA,EAAa,SAAS,IACrDA,KAAgB,QAAQA,MAAiB;AAE7C,SACE,gBAAA4B;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAA1C;AAAA,MACA,QAAQK,KAAUmC;AAAA,MAClB,MAAAhC;AAAA,MACA,cAAcyB;AAAA,MACd,WAAW3C,IAAWyC,IAAgB;AAAA,MACtC,SAASzC,IAAW0C,IAAqB;AAAA,MAExC,UAAA;AAAA,QAAA9B,KACC,gBAAAyC;AAAA,UAACzE;AAAA,UAAA;AAAA,YACC,aAAa,KAAK8B,CAAK;AAAA,YACvB,YAAU;AAAA,YACV,MAAK;AAAA,YACL,WAAW4C,EAAW,wBAAwBC,EAAO,sBAAsB,CAAC;AAAA,YAC5E,OAAOlC;AAAA,YACP,UAAU,CAAC,MAAMC,EAAc,EAAE,OAAO,KAAK;AAAA,UAAA;AAAA,QAAA;AAAA,QAIjD,gBAAA6B,EAAC,SAAI,WAAWG,EAAW,yBAAyBC,EAAO,uBAAuB,CAAC,GAChF,UAAA;AAAA,UAAAf,EAAgB,IAAI,CAACzD,MACpB,gBAAAoE;AAAA,YAAC;AAAA,YAAA;AAAA,cAEC,WAAWG;AAAA,gBAAW;AAAA,gBAAwBC,EAAO,sBAAsB;AAAA,gBACzE,CAACvD,KACCwB,MAAezC,EAAI,SACnBuE,EAAW,iCAAiCC,EAAO,+BAA+B,CAAC;AAAA,cAAA;AAAA,cAEvF,SAAS,MACPvD,IAAWiD,EAAkBlE,EAAI,KAAK,IAAI8D,EAAkB9D,EAAI,KAAK;AAAA,cAGtE,UAAA;AAAA,gBAAAiB,KACC,gBAAAqD;AAAA,kBAACG;AAAA,kBAAA;AAAA,oBACC,SAAUhC,KAAA,gBAAAA,EAAoC,SAASzC,EAAI;AAAA,oBAC3D,UAAU,MAAMkE,EAAkBlE,EAAI,KAAK;AAAA,oBAC3C,SAAS,CAAC0E,MAAMA,EAAE,gBAAA;AAAA,kBAAgB;AAAA,gBAAA;AAAA,gBAGrCpD,sBACEqD,IAAA,EAAgB,QAAQ3E,GAAqB,IAE9C,gBAAAsE,EAAC,QAAA,EAAM,UAAAtE,EAAI,MAAA,CAAM;AAAA,gBAElB,CAACiB,KAAY,CAACK,KAAmBmB,MAAezC,EAAI,SACnD,gBAAAsE,EAACM,GAAA,EAAM,WAAWL,EAAW,8BAA8BC,EAAO,4BAA4B,CAAC,EAAA,CAAG;AAAA,cAAA;AAAA,YAAA;AAAA,YAvB/F,OAAOxE,EAAI,KAAK;AAAA,UAAA,CA0BxB;AAAA,UACAyD,EAAgB,WAAW,KAC1B,gBAAAa,EAAC,OAAA,EAAI,WAAWC,EAAW,uBAAuBC,EAAO,qBAAqB,CAAC,GAAG,UAAA,OAAA,CAAI;AAAA,QAAA,GAE1F;AAAA,QAECvD,MAAawB,KAAA,gBAAAA,EAAoC,UAAS,KACzD,gBAAA2B,EAAC,OAAA,EAAI,WAAWG,EAAW,8BAA8BC,EAAO,4BAA4B,CAAC,GAC3F,UAAA;AAAA,UAAA,gBAAAF,EAAC,OAAA,EAAI,WAAWC,EAAW,gCAAgCC,EAAO,8BAA8B,CAAC,GAAG,UAAA,MAAA,CAAG;AAAA,UACvG,gBAAAF,EAACO,GAAA,EAAM,MAAM,CAAC,GAAG,CAAC,GAAG,MAAI,IACrB,UAAApC,EAAmC,IAAI,CAAC9B,MAAM;AAC9C,kBAAMX,IAAMqB,EAAQ,KAAK,CAACG,MAAM,OAAOA,EAAE,KAAK,MAAM,OAAOb,CAAC,CAAC,GACvDO,IAAOuB,KAAsC,CAAA,GAC7CqC,IAAehD,KAAgB,QAAQZ,EAAI,SAASY;AAC1D,mBACE,gBAAAsC;AAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,WAAWG;AAAA,kBACT;AAAA,kBACAC,EAAO,4BAA4B;AAAA,kBACnC,CAACM,KAAgBN,EAAO,qCAAqC;AAAA,gBAAA;AAAA,gBAE/D,SAAS,MAAMM,KAAgBZ,EAAkBvD,CAAC;AAAA,gBAEjD,UAAA;AAAA,mBAAAX,KAAA,gBAAAA,EAAK,UAAS,OAAOW,CAAC;AAAA,kBACvB,gBAAA2D;AAAA,oBAACS;AAAA,oBAAA;AAAA,sBACC,WAAWR;AAAA,wBACT;AAAA,wBACAC,EAAO,+BAA+B;AAAA,wBACtC,CAACM,KAAgBN,EAAO,wCAAwC;AAAA,sBAAA;AAAA,oBAClE;AAAA,kBAAA;AAAA,gBACF;AAAA,cAAA;AAAA,cAfK,OAAO7D,CAAC;AAAA,YAAA;AAAA,UAkBnB,CAAC,EAAA,CACH;AAAA,QAAA,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
const e = {
|
|
2
|
-
"filter-select-search": "_filter-select-
|
|
3
|
-
"filter-select-options": "_filter-select-
|
|
4
|
-
"filter-select-option": "_filter-select-
|
|
5
|
-
"filter-select-option-selected": "_filter-select-option-
|
|
6
|
-
"filter-select-option-check": "_filter-select-option-
|
|
7
|
-
"filter-select-empty": "_filter-select-
|
|
8
|
-
"filter-select-selected-bar": "_filter-select-selected-
|
|
9
|
-
"filter-select-selected-label": "_filter-select-selected-
|
|
10
|
-
"filter-select-selected-tag": "_filter-select-selected-
|
|
11
|
-
"filter-select-selected-
|
|
2
|
+
"filter-select-search": "_filter-select-search_11rsz_1",
|
|
3
|
+
"filter-select-options": "_filter-select-options_11rsz_5",
|
|
4
|
+
"filter-select-option": "_filter-select-option_11rsz_5",
|
|
5
|
+
"filter-select-option-selected": "_filter-select-option-selected_11rsz_23",
|
|
6
|
+
"filter-select-option-check": "_filter-select-option-check_11rsz_28",
|
|
7
|
+
"filter-select-empty": "_filter-select-empty_11rsz_34",
|
|
8
|
+
"filter-select-selected-bar": "_filter-select-selected-bar_11rsz_42",
|
|
9
|
+
"filter-select-selected-label": "_filter-select-selected-label_11rsz_49",
|
|
10
|
+
"filter-select-selected-tag": "_filter-select-selected-tag_11rsz_55",
|
|
11
|
+
"filter-select-selected-tag-disabled": "_filter-select-selected-tag-disabled_11rsz_68",
|
|
12
|
+
"filter-select-selected-remove": "_filter-select-selected-remove_11rsz_73",
|
|
13
|
+
"filter-select-selected-remove-disabled": "_filter-select-selected-remove-disabled_11rsz_77"
|
|
12
14
|
};
|
|
13
15
|
export {
|
|
14
16
|
e as default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"style.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../../src/components/Filter/types.ts"],"sourcesContent":["import type { MaybeFn, Visibility } from '@/utils/resolveMaybeFn';\nimport { resolveMaybeFn } from '@/utils/resolveMaybeFn';\n\n/** 筛选选项基础类型 */\nexport interface FilterOption {\n label: string;\n value: string | number;\n}\n\n/** 人员展示选项(仅 UI 字段,数据由消费方提供) */\nexport interface PersonOption extends FilterOption {\n departmentName?: string;\n email?: string;\n phone?: string;\n employeeId?: string;\n}\n\n/** 已选项 */\nexport interface SelectedItem {\n key: string;\n label: string;\n valueLabel: string;\n onRemove: () => void;\n}\n\n/** 所有筛选组件共用的 Props */\nexport interface BaseFilterProps {\n filterKey: string;\n label: string;\n active?: boolean;\n /** 隐藏;支持 boolean 或 (ctx) => boolean */\n hidden?: Visibility;\n /** 展示;与 hidden 二选一,display 优先 */\n display?: Visibility;\n}\n\nexport type FilterVisibilityContext = Record<string, unknown>;\n\n/** 解析 hidden(兼容旧 API,支持 MaybeFn) */\nexport function resolveHidden(\n hidden: MaybeFn<boolean, FilterVisibilityContext> | undefined,\n ctx: FilterVisibilityContext = {},\n): boolean {\n if (hidden === undefined) return false;\n return resolveMaybeFn(hidden, ctx, false);\n}\n\n/** 根据 display / hidden 计算筛选项是否可见 */\nexport function resolveFilterVisible(\n props: Pick<BaseFilterProps, 'display' | 'hidden'>,\n ctx: FilterVisibilityContext = {},\n): boolean {\n if (props.display !== undefined) {\n return resolveMaybeFn(props.display, ctx, true);\n }\n return !resolveHidden(props.hidden, ctx);\n}\n"],"names":["resolveHidden","hidden","ctx","resolveMaybeFn","resolveFilterVisible","props"],"mappings":";
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../src/components/Filter/types.ts"],"sourcesContent":["import type { MaybeFn, Visibility } from '@/utils/resolveMaybeFn';\nimport { resolveMaybeFn } from '@/utils/resolveMaybeFn';\n\n/** 筛选选项基础类型 */\nexport interface FilterOption {\n label: string;\n value: string | number;\n}\n\n/** 人员展示选项(仅 UI 字段,数据由消费方提供) */\nexport interface PersonOption extends FilterOption {\n departmentName?: string;\n email?: string;\n phone?: string;\n employeeId?: string;\n}\n\n/** 已选项 */\nexport interface SelectedItem {\n key: string;\n label: string;\n valueLabel: string;\n onRemove: () => void;\n /** 为 false 时不允许移除(如多选至少保留一项) */\n removable?: boolean;\n}\n\n/** 所有筛选组件共用的 Props */\nexport interface BaseFilterProps {\n filterKey: string;\n label: string;\n active?: boolean;\n /** 隐藏;支持 boolean 或 (ctx) => boolean */\n hidden?: Visibility;\n /** 展示;与 hidden 二选一,display 优先 */\n display?: Visibility;\n}\n\nexport type FilterVisibilityContext = Record<string, unknown>;\n\n/** 解析 hidden(兼容旧 API,支持 MaybeFn) */\nexport function resolveHidden(\n hidden: MaybeFn<boolean, FilterVisibilityContext> | undefined,\n ctx: FilterVisibilityContext = {},\n): boolean {\n if (hidden === undefined) return false;\n return resolveMaybeFn(hidden, ctx, false);\n}\n\n/** 根据 display / hidden 计算筛选项是否可见 */\nexport function resolveFilterVisible(\n props: Pick<BaseFilterProps, 'display' | 'hidden'>,\n ctx: FilterVisibilityContext = {},\n): boolean {\n if (props.display !== undefined) {\n return resolveMaybeFn(props.display, ctx, true);\n }\n return !resolveHidden(props.hidden, ctx);\n}\n"],"names":["resolveHidden","hidden","ctx","resolveMaybeFn","resolveFilterVisible","props"],"mappings":";AAyCO,SAASA,EACdC,GACAC,IAA+B,IACtB;AACT,SAAID,MAAW,SAAkB,KAC1BE,EAAeF,GAAQC,GAAK,EAAK;AAC1C;AAGO,SAASE,EACdC,GACAH,IAA+B,IACtB;AACT,SAAIG,EAAM,YAAY,SACbF,EAAeE,EAAM,SAASH,GAAK,EAAI,IAEzC,CAACF,EAAcK,EAAM,QAAQH,CAAG;AACzC;"}
|
|
@@ -1,35 +1,36 @@
|
|
|
1
1
|
import { jsx as m } from "react/jsx-runtime";
|
|
2
|
-
import { useContext as
|
|
2
|
+
import { useContext as v, useState as f, useCallback as a, useMemo as x, createContext as R } from "react";
|
|
3
3
|
const s = R(null);
|
|
4
|
-
function
|
|
5
|
-
return
|
|
4
|
+
function C() {
|
|
5
|
+
return v(s);
|
|
6
6
|
}
|
|
7
|
-
function
|
|
8
|
-
const [
|
|
9
|
-
n((
|
|
10
|
-
const
|
|
11
|
-
return
|
|
7
|
+
function F() {
|
|
8
|
+
const [o, n] = f({}), u = a((t, e) => {
|
|
9
|
+
n((l) => {
|
|
10
|
+
const r = l[t];
|
|
11
|
+
return r && r.label === e.label && r.valueLabel === e.valueLabel && (r.removable ?? !0) === (e.removable ?? !0) && r.onRemove === e.onRemove ? l : { ...l, [t]: e };
|
|
12
12
|
});
|
|
13
|
-
}, []),
|
|
14
|
-
n((
|
|
15
|
-
if (!(
|
|
16
|
-
const
|
|
17
|
-
return delete
|
|
13
|
+
}, []), i = a((t) => {
|
|
14
|
+
n((e) => {
|
|
15
|
+
if (!(t in e)) return e;
|
|
16
|
+
const l = { ...e };
|
|
17
|
+
return delete l[t], l;
|
|
18
18
|
});
|
|
19
|
-
}, []),
|
|
20
|
-
Object.values(
|
|
21
|
-
}, [
|
|
22
|
-
key:
|
|
23
|
-
label:
|
|
24
|
-
valueLabel:
|
|
25
|
-
onRemove:
|
|
26
|
-
|
|
27
|
-
|
|
19
|
+
}, []), c = a(() => {
|
|
20
|
+
Object.values(o).forEach((t) => t.onRemove()), n({});
|
|
21
|
+
}, [o]), b = x(() => Object.entries(o).filter(([, t]) => !!t.valueLabel).map(([t, e]) => ({
|
|
22
|
+
key: t,
|
|
23
|
+
label: e.label,
|
|
24
|
+
valueLabel: e.valueLabel,
|
|
25
|
+
onRemove: e.onRemove,
|
|
26
|
+
removable: e.removable ?? !0
|
|
27
|
+
})), [o]);
|
|
28
|
+
return { registrations: o, selectedItems: b, register: u, unregister: i, clearAll: c };
|
|
28
29
|
}
|
|
29
|
-
const
|
|
30
|
+
const j = ({ children: o, ctx: n }) => /* @__PURE__ */ m(s.Provider, { value: n, children: o });
|
|
30
31
|
export {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
j as FilterProvider,
|
|
33
|
+
C as useFilterRegister,
|
|
34
|
+
F as useFilterState
|
|
34
35
|
};
|
|
35
36
|
//# sourceMappingURL=useFilterState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFilterState.js","sources":["../../../src/components/Filter/useFilterState.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useMemo, useState } from 'react';\nimport type { SelectedItem } from './types';\n\n/**\n * 筛选项注册信息\n */\ninterface FilterRegistration {\n /** 筛选项标签 */\n label: string;\n /** 当前值的展示文案(如 \"技术中心\" / \"审核员\"),为空则不显示该条目 */\n valueLabel: string;\n /** 移除回调 */\n onRemove: () => void;\n}\n\n/** Context 类型 */\ninterface FilterContextValue {\n /** 注册筛选条件(有值时调用) */\n register: (key: string, reg: FilterRegistration) => void;\n /** 注销筛选条件(组件卸载或值清空时调用) */\n unregister: (key: string) => void;\n}\n\nconst FilterContext = createContext<FilterContextValue | null>(null);\n\n/** 供子组件使用 —— 在 CommonFilter 内部注册自身状态(不在 CommonFilter 内时安全返回 null) */\nexport function useFilterRegister(): FilterContextValue | null {\n return useContext(FilterContext);\n}\n\n// ──────────────────── Hook ────────────────────\n\ninterface UseFilterStateReturn {\n /** 所有已注册的筛选项 */\n registrations: Record<string, FilterRegistration>;\n /** 已选条目数组(过滤掉无 valueLabel 的项) */\n selectedItems: SelectedItem[];\n /** 注册方法 */\n register: (key: string, reg: FilterRegistration) => void;\n /** 注销方法 */\n unregister: (key: string) => void;\n /** 清空全部 */\n clearAll: () => void;\n}\n\n/**\n * 筛选状态管理 Hook\n *\n * 各 Filter 子组件通过 `register(key, { label, valueLabel, onRemove })` 注册,\n * CommonFilter 自动聚合成 `selectedItems` 展示。\n */\nexport function useFilterState(): UseFilterStateReturn {\n const [registrations, setRegistrations] = useState<Record<string, FilterRegistration>>({});\n\n const register = useCallback((key: string, reg: FilterRegistration) => {\n setRegistrations((prev) => {\n const existing = prev[key];\n if (existing
|
|
1
|
+
{"version":3,"file":"useFilterState.js","sources":["../../../src/components/Filter/useFilterState.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useMemo, useState } from 'react';\nimport type { SelectedItem } from './types';\n\n/**\n * 筛选项注册信息\n */\ninterface FilterRegistration {\n /** 筛选项标签 */\n label: string;\n /** 当前值的展示文案(如 \"技术中心\" / \"审核员\"),为空则不显示该条目 */\n valueLabel: string;\n /** 移除回调 */\n onRemove: () => void;\n /** 是否允许移除标签,默认 true */\n removable?: boolean;\n}\n\n/** Context 类型 */\ninterface FilterContextValue {\n /** 注册筛选条件(有值时调用) */\n register: (key: string, reg: FilterRegistration) => void;\n /** 注销筛选条件(组件卸载或值清空时调用) */\n unregister: (key: string) => void;\n}\n\nconst FilterContext = createContext<FilterContextValue | null>(null);\n\n/** 供子组件使用 —— 在 CommonFilter 内部注册自身状态(不在 CommonFilter 内时安全返回 null) */\nexport function useFilterRegister(): FilterContextValue | null {\n return useContext(FilterContext);\n}\n\n// ──────────────────── Hook ────────────────────\n\ninterface UseFilterStateReturn {\n /** 所有已注册的筛选项 */\n registrations: Record<string, FilterRegistration>;\n /** 已选条目数组(过滤掉无 valueLabel 的项) */\n selectedItems: SelectedItem[];\n /** 注册方法 */\n register: (key: string, reg: FilterRegistration) => void;\n /** 注销方法 */\n unregister: (key: string) => void;\n /** 清空全部 */\n clearAll: () => void;\n}\n\n/**\n * 筛选状态管理 Hook\n *\n * 各 Filter 子组件通过 `register(key, { label, valueLabel, onRemove })` 注册,\n * CommonFilter 自动聚合成 `selectedItems` 展示。\n */\nexport function useFilterState(): UseFilterStateReturn {\n const [registrations, setRegistrations] = useState<Record<string, FilterRegistration>>({});\n\n const register = useCallback((key: string, reg: FilterRegistration) => {\n setRegistrations((prev) => {\n const existing = prev[key];\n if (\n existing &&\n existing.label === reg.label &&\n existing.valueLabel === reg.valueLabel &&\n (existing.removable ?? true) === (reg.removable ?? true) &&\n existing.onRemove === reg.onRemove\n ) {\n return prev;\n }\n return { ...prev, [key]: reg };\n });\n }, []);\n\n const unregister = useCallback((key: string) => {\n setRegistrations((prev) => {\n if (!(key in prev)) return prev;\n const next = { ...prev };\n delete next[key];\n return next;\n });\n }, []);\n\n const clearAll = useCallback(() => {\n // 依次调用每项的 onRemove\n Object.values(registrations).forEach((r) => r.onRemove());\n setRegistrations({});\n }, [registrations]);\n\n const selectedItems = useMemo<SelectedItem[]>(() => {\n return Object.entries(registrations)\n .filter(([, r]) => !!r.valueLabel)\n .map(([key, r]) => ({\n key,\n label: r.label,\n valueLabel: r.valueLabel,\n onRemove: r.onRemove,\n removable: r.removable ?? true,\n }));\n }, [registrations]);\n\n return { registrations, selectedItems, register, unregister, clearAll };\n}\n\n// ──────────────────── Provider ────────────────────\n\ninterface FilterProviderProps {\n children: React.ReactNode;\n /** register / unregister 方法 */\n ctx: Pick<UseFilterStateReturn, 'register' | 'unregister'>;\n}\n\n/** 内部 Provider,将 register/unregister 注入给子组件 */\nexport const FilterProvider: React.FC<FilterProviderProps> = ({ children, ctx }) => (\n <FilterContext.Provider value={ctx}>{children}</FilterContext.Provider>\n);\n\nexport default useFilterState;\n"],"names":["FilterContext","createContext","useFilterRegister","useContext","useFilterState","registrations","setRegistrations","useState","register","useCallback","key","reg","prev","existing","unregister","next","clearAll","r","selectedItems","useMemo","FilterProvider","children","ctx","jsx"],"mappings":";;AAyBA,MAAMA,IAAgBC,EAAyC,IAAI;AAG5D,SAASC,IAA+C;AAC7D,SAAOC,EAAWH,CAAa;AACjC;AAuBO,SAASI,IAAuC;AACrD,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAA6C,CAAA,CAAE,GAEnFC,IAAWC,EAAY,CAACC,GAAaC,MAA4B;AACrE,IAAAL,EAAiB,CAACM,MAAS;AACzB,YAAMC,IAAWD,EAAKF,CAAG;AACzB,aACEG,KACAA,EAAS,UAAUF,EAAI,SACvBE,EAAS,eAAeF,EAAI,eAC3BE,EAAS,aAAa,SAAWF,EAAI,aAAa,OACnDE,EAAS,aAAaF,EAAI,WAEnBC,IAEF,EAAE,GAAGA,GAAM,CAACF,CAAG,GAAGC,EAAA;AAAA,IAC3B,CAAC;AAAA,EACH,GAAG,CAAA,CAAE,GAECG,IAAaL,EAAY,CAACC,MAAgB;AAC9C,IAAAJ,EAAiB,CAACM,MAAS;AACzB,UAAI,EAAEF,KAAOE,GAAO,QAAOA;AAC3B,YAAMG,IAAO,EAAE,GAAGH,EAAA;AAClB,oBAAOG,EAAKL,CAAG,GACRK;AAAA,IACT,CAAC;AAAA,EACH,GAAG,CAAA,CAAE,GAECC,IAAWP,EAAY,MAAM;AAEjC,WAAO,OAAOJ,CAAa,EAAE,QAAQ,CAACY,MAAMA,EAAE,UAAU,GACxDX,EAAiB,CAAA,CAAE;AAAA,EACrB,GAAG,CAACD,CAAa,CAAC,GAEZa,IAAgBC,EAAwB,MACrC,OAAO,QAAQd,CAAa,EAChC,OAAO,CAAC,CAAA,EAAGY,CAAC,MAAM,CAAC,CAACA,EAAE,UAAU,EAChC,IAAI,CAAC,CAACP,GAAKO,CAAC,OAAO;AAAA,IAClB,KAAAP;AAAA,IACA,OAAOO,EAAE;AAAA,IACT,YAAYA,EAAE;AAAA,IACd,UAAUA,EAAE;AAAA,IACZ,WAAWA,EAAE,aAAa;AAAA,EAAA,EAC1B,GACH,CAACZ,CAAa,CAAC;AAElB,SAAO,EAAE,eAAAA,GAAe,eAAAa,GAAe,UAAAV,GAAU,YAAAM,GAAY,UAAAE,EAAA;AAC/D;AAWO,MAAMI,IAAgD,CAAC,EAAE,UAAAC,GAAU,KAAAC,QACxE,gBAAAC,EAACvB,EAAc,UAAd,EAAuB,OAAOsB,GAAM,UAAAD,EAAA,CAAS;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ant-btn-icon .marsun-icon{color:inherit}._upload-root_xoraq_1{max-width:xl}._upload-container_xoraq_5{font-size:12px;color:var(--font-color-grey)}._upload-wrapper_xoraq_10{color:var(--primary-color);cursor:pointer}._upload-wrapper_xoraq_10:hover{text-decoration:underline}._upload-inner_xoraq_18{display:block}._upload-header_xoraq_22{font-size:var(--font-size-small);color:var(--font-color-grey)}._upload-body_xoraq_27{border-radius:8px;border-width:1px;border-style:solid;padding:16px}._upload-footer_xoraq_34{font-size:var(--font-size-small);font-weight:500;color:var(--font-color-grey)}._upload-row_xoraq_40{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:var(--font-size-small)}._upload-col_xoraq_47{display:flex;align-items:center;gap:8px;font-size:var(--font-size-small)}._upload-wrap_xoraq_10{display:block}._upload-panel_xoraq_58{font-size:12px}._upload-card_xoraq_62{padding:12px;font-size:var(--font-size-small)}._upload-item_xoraq_67{font-size:var(--font-size-small);margin-top:8px;display:block}._upload-link_xoraq_73{margin-top:12px}._upload-label_xoraq_77{display:flex;align-items:center;gap:8px;min-width:0}._upload-value_xoraq_84{color:var(--font-color-grey-1);flex-shrink:0}._upload-meta_xoraq_89{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._upload-icon_xoraq_95{margin:0!important;flex-shrink:0}._upload-title_xoraq_100{font-size:12px;margin-left:0!important;flex-shrink:0}._upload-desc_xoraq_106{flex-shrink:0}._upload-actions_xoraq_110{font-size:30px;margin-bottom:8px}._upload-toolbar_xoraq_115{color:var(--font-color-grey)}._upload-toolbar_xoraq_115:hover{border-color:var(--primary-color)}._upload-toolbar_xoraq_115:hover{color:var(--primary-color)}._upload-list_xoraq_125{margin-top:8px}._upload-file-row_xoraq_129{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px;border-radius:4px;background-color:var(--bg-color-grey);border:1px solid var(--font-color-grey-4)}._upload-file-row-error_xoraq_140{border-color:#f53f3f59;color:var(--error-color)}._upload-drag-icon_xoraq_145{font-size:30px;margin-bottom:8px;color:var(--primary-color)}._app-tour-root_ybirw_1{font-size:12px;color:var(--font-color-grey-1)}._chat-card-chat-card_feoop_1{background-color:var(--bg-color-white);border-radius:12px;border:1px solid var(--font-color-grey-4);transition:all .2s ease;display:flex;flex-direction:column;overflow:hidden;cursor:pointer}._chat-card-chat-card_feoop_1:hover{border-color:var(--primary-color-border);box-shadow:0 10px 15px -3px #0000001a}._chat-card-header_feoop_16{background-color:var(--primary-color-bg);padding:16px 16px 12px;display:flex;align-items:center;gap:12px}._chat-card-avatar_feoop_24{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px 2px #0000000d;background-color:var(--primary-color)}._chat-card-avatar-icon_feoop_36{color:#fff;font-size:var(--font-size-large)}._chat-card-title-wrap_feoop_41{flex:1;min-width:0}._chat-card-title_feoop_41{font-size:var(--font-size-small);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._chat-card-status-row_feoop_54{display:flex;align-items:center;gap:4px;margin-top:2px}._chat-card-status-dot_feoop_61{width:6px;height:6px;border-radius:9999px;flex-shrink:0}._chat-card-status-dot-active_feoop_68{background-color:var(--success-color)}._chat-card-status-dot-inactive_feoop_72{background-color:var(--font-color-grey-2)}._chat-card-status-text-active_feoop_76{font-size:12px;color:var(--success-color)}._chat-card-status-text-inactive_feoop_81{font-size:12px;color:var(--font-color-grey-1)}._chat-card-body_feoop_86{padding:16px;flex:1;display:flex;flex-direction:column}._chat-card-desc_feoop_93{font-size:var(--font-size-small);margin-bottom:12px!important}._chat-card-tags_feoop_98{margin-top:auto}._chat-card-tag-list_feoop_102{display:flex;flex-wrap:wrap;gap:4px}._chat-card-tag_feoop_98,._chat-card-empty-kb_feoop_112{font-size:12px}._chat-card-footer_feoop_116{padding:8px 16px;border-top:1px solid var(--bg-color-grey-1);display:flex;align-items:center}._common-filter-root_kdoz3_1{background-color:var(--bg-color-white);margin-bottom:16px}._common-filter-container_kdoz3_6{display:flex;align-items:center;gap:12px}._common-filter-label_kdoz3_12{flex-shrink:0;font-size:var(--font-size-default);font-weight:500;color:#374151}._common-filter-content_kdoz3_19{display:flex;flex:1;align-items:flex-start;justify-content:space-between}._common-filter-items_kdoz3_26{display:flex;flex-wrap:wrap;align-items:center;column-gap:6px;row-gap:8px}._common-filter-extra_kdoz3_34{flex-shrink:0;margin-left:16px}._common-filter-selected_kdoz3_39{display:flex;align-items:center;justify-content:space-between;padding-top:12px}._common-filter-selected-main_kdoz3_46{display:flex;align-items:baseline;gap:8px}._common-filter-selected-title_kdoz3_52{font-size:12px;font-weight:500;color:var(--font-color-grey)}._common-filter-selected-tags_kdoz3_58{flex:1}._common-filter-tag_kdoz3_62{display:flex;align-items:center;gap:4px}._common-filter-tag-label_kdoz3_68{font-size:12px}._common-filter-tag-close_kdoz3_72{font-size:12px;cursor:pointer;margin-left:2px;opacity:.6}._common-filter-tag-close_kdoz3_72:hover{opacity:1}._common-filter-clear-btn_kdoz3_82{padding:0!important;height:auto!important;font-size:12px}._filter-panel-body_tjvgz_1{margin-bottom:12px}._filter-panel-actions_tjvgz_5{display:flex;justify-content:flex-end;gap:8px}._filter-trigger-root_nbyh1_1{display:inline-flex;align-items:center;gap:4px;cursor:pointer;border-radius:4px;padding:2px 6px;font-size:12px;transition:color .2s ease,background-color .2s ease}._filter-trigger-active_nbyh1_12{color:var(--primary-color);background-color:var(--primary-color-bg);font-weight:500}._filter-trigger-inactive_nbyh1_18{color:#374151}._filter-trigger-inactive_nbyh1_18:hover{color:var(--primary-color);background-color:var(--primary-color-bg)}._filter-trigger-chevron_nbyh1_26{font-size:10px}._chat-input-root_1iegn_1{border-top-width:1px;border-top-style:solid;border-color:var(--font-color-grey-4);background-color:var(--bg-color-white);padding:12px 16px 16px}._chat-input-container_1iegn_12{display:flex;align-items:flex-end;gap:8px;border-radius:12px;border-width:1px;border-style:solid;border-color:var(--font-color-grey-3);background-color:var(--bg-color-grey);padding:8px 12px;transition:color .2s ease,background-color .2s ease}._chat-input-wrapper_1iegn_28{flex:1;padding-left:0!important;padding-right:0!important}._chat-input-inner_1iegn_34{flex-shrink:0;height:32px;width:32px;padding:0!important;display:flex;align-items:center;justify-content:center;border-radius:8px}._chat-input-inner_1iegn_34 .ant-btn-icon{font-size:16px;line-height:0;color:inherit}._chat-input-header_1iegn_50{display:flex;align-items:center;justify-content:space-between;margin-top:6px;padding-left:4px;padding-right:4px}._chat-input-body_1iegn_59{font-size:12px}._chat-input-wrap_1iegn_28{position:absolute;left:0;width:2px}._chat-input-panel_1iegn_69{display:flex;gap:12px}._chat-input-card_1iegn_74{flex:1;min-width:0}._chat-input-item_1iegn_79{color:13px;font-weight:500;color:var(--font-color);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._chat-input-link_1iegn_89{color:11px;color:var(--font-color-grey-1);margin-top:4px;margin-bottom:0;line-height:1}._chat-input-label_1iegn_97{margin:10px 0 0;border-color:var(--font-color-grey-3);padding-left:10px}._chat-input-value_1iegn_104{display:flex;flex-direction:column;height:100%;overflow:hidden;background-color:var(--bg-color-white)}._chat-input-meta_1iegn_112{display:flex;align-items:center;justify-content:space-between;height:44px;padding-left:16px;padding-right:16px;border-bottom-width:1px;border-bottom-style:solid;border-color:var(--font-color-grey-4);flex-shrink:0}._chat-input-icon_1iegn_125{font-size:var(--font-size-small);font-weight:600;color:var(--font-color);margin:0}._chat-input-title_1iegn_132{display:flex;align-items:center;gap:4px}._chat-input-desc_1iegn_138{font-size:12px;color:var(--font-color-grey-1);padding-left:6px;padding-right:6px}._chat-input-actions_1iegn_145{font-size:12px}._chat-input-toolbar_1iegn_149{color:var(--font-color-grey-1)!important}._chat-input-toolbar_1iegn_149:hover{color:var(--font-color-grey)!important}._chat-input-list_1iegn_156{flex:1;display:flex;align-items:center;justify-content:center;padding-left:24px;padding-right:24px}._chat-input-loading_1iegn_165{margin-left:16px;margin-right:16px;background-color:var(--bg-color-grey-1)}._chat-input-aside_1iegn_171{display:inline-flex}._chat-input-cell_1iegn_175{position:relative;padding:8px 12px;font-size:var(--font-size-small);line-height:var(--line-height-default);box-shadow:0 1px 2px #0000000d;color:#fff}._chat-input-overlay_1iegn_187{white-space:pre-wrap}._chat-input-badge_1iegn_191{display:flex;align-items:center;gap:4px;padding-top:2px;padding-bottom:2px}._chat-input-tag_1iegn_199{width:8px;height:8px;border-radius:9999px}._chat-input-hint_1iegn_205{display:inline-block;width:2px;height:1em;margin-left:2px}._chat-input-sider_1iegn_212{margin-top:6px;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9999px;background-color:var(--primary-color-bg);border-width:1px;border-style:solid;border-color:var(--primary-color-border);transition:color .2s ease,background-color .2s ease;cursor:pointer}._chat-input-sider_1iegn_212:hover{background-color:var(--primary-color-bg-hover)}._chat-input-sider_1iegn_212:active{background-color:var(--primary-color-bg-active)}._chat-input-nav_1iegn_236{margin-bottom:8px}._chat-input-menu_1iegn_240{display:inline-flex;max-width:100%;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;padding-top:2px;padding-bottom:2px;color:var(--font-color-grey-1);transition:color .2s ease,background-color .2s ease}._chat-input-menu_1iegn_240:hover{color:var(--font-color-grey)}._chat-input-user-menu_1iegn_256{position:relative;display:flex;height:14px;width:14px;flex-shrink:0;align-items:center;justify-content:center}._chat-input-avatar_1iegn_266{position:absolute;height:10px;width:10px;border-radius:9999px}._chat-input-upload_1iegn_273{position:relative;height:6px;width:6px;border-radius:9999px}._chat-input-filter_1iegn_280{height:6px;width:6px;border-radius:9999px;transition:color .2s ease,background-color .2s ease}._chat-input-table_1iegn_287{overflow:hidden}._chat-input-form_1iegn_291{position:relative;margin-top:6px;max-height:144px;overflow-y:auto}._chat-input-modal_1iegn_298{border-color:var(--font-color-grey-3);padding-left:10px;margin-left:4px;color:12px;color:var(--font-color-grey-1)}._chat-input-preview_1iegn_306{display:inline-block;height:1em;margin-left:2px}._chat-input-scroll_1iegn_312{margin-top:6px;margin-left:4px;border-color:var(--font-color-grey-3);padding-left:10px;padding-top:2px;padding-bottom:2px}._chat-input-viewport_1iegn_321{display:inline-block;height:14px}._chat-input-thumb_1iegn_326{background-color:var(--bg-color-white);border-radius:12px;border-width:1px;border-style:solid;border-color:var(--font-color-grey-4);transition:all .2s ease;display:flex;flex-direction:column;overflow:hidden;cursor:pointer}._chat-input-thumb_1iegn_326:hover{border-color:var(--primary-color-border)}._chat-input-thumb_1iegn_326:hover{box-shadow:0 10px 15px -3px #0000001a}._chat-input-track_1iegn_345{background-color:var(--primary-color-bg);padding:16px 16px 12px;display:flex;align-items:center;gap:12px}._chat-input-banner_1iegn_356{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px 2px #0000000d}._chat-input-stats_1iegn_367{color:#fff;font-size:var(--font-size-large)}._chat-input-chart_1iegn_372{font-size:var(--font-size-small);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._chat-input-grid_1iegn_380{display:flex;align-items:center;gap:4px;margin-top:2px}._chat-input-block_1iegn_387{padding:16px;flex:1;display:flex;flex-direction:column}._chat-input-box_1iegn_394{font-size:var(--font-size-small);margin-bottom:12px!important}._chat-input-field_1iegn_399{margin-top:auto}._chat-input-input_1iegn_403{display:flex;flex-wrap:wrap;gap:4px}._chat-input-output_1iegn_409{padding:8px 16px;border-top-width:1px;border-top-style:solid;display:flex;align-items:center}._chat-input-block26_1iegn_420{background-color:var(--primary-color-bg)}._chat-input-block27_1iegn_424{position:relative;padding:14px 16px;transition:color .2s ease,background-color .2s ease}._chat-input-block28_1iegn_433{color:#fff}._chat-input-block29_1iegn_437{color:var(--font-color-grey-1);border-width:1px;border-style:solid;border-color:var(--font-color-grey-3);background-color:var(--bg-color-white)}._chat-input-block30_1iegn_445{flex-shrink:0;margin-top:2px;width:20px;height:20px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:10px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}._chat-input-block31_1iegn_460{cursor:pointer}._chat-input-block32_1iegn_464{display:flex;align-items:flex-start;gap:8px;outline:none;border-radius:6px;margin-right:-4px;padding-right:4px}._chat-input-block33_1iegn_474{transform:rotate(180deg)}._chat-input-block34_1iegn_478{flex-shrink:0;color:10px;margin-top:4px;transition:transform .2s ease}._chat-input-block35_1iegn_485{opacity:1}._chat-input-block36_1iegn_489{opacity:0}._chat-input-block37_1iegn_493{justify-content:flex-end}._chat-input-block38_1iegn_497{justify-content:flex-start}._chat-input-block39_1iegn_501{margin-top:4px;display:flex;align-items:center;gap:2px;transition:opacity .2s ease}._chat-input-block40_1iegn_509{color:var(--primary-color)!important}._chat-input-block41_1iegn_513{color:var(--font-color-grey-1)!important}._chat-input-block41_1iegn_513:hover{color:var(--primary-color)!important}._chat-input-block42_1iegn_520{height:28px!important;width:28px!important;padding:0!important}._chat-input-block43_1iegn_526{flex-direction:row}._chat-input-block44_1iegn_530{display:flex;gap:12px;margin-bottom:20px}._chat-input-block45_1iegn_536{flex-shrink:0}._chat-input-block46_1iegn_540{align-items:flex-end}._chat-input-block47_1iegn_544{align-items:flex-start}._chat-input-block48_1iegn_548{max-width:72%;min-width:0;display:flex;flex-direction:column}._chat-input-block49_1iegn_555{padding:8px 12px;font-size:var(--font-size-small);line-height:var(--line-height-default);box-shadow:0 1px 2px #0000000d;background-color:var(--bg-color-white);border-width:1px;border-style:solid;border-color:var(--font-color-grey-4);white-space:pre-wrap;min-width:0;max-width:100%;overflow:hidden}._chat-input-block50_1iegn_573{position:relative}._chat-input-block51_1iegn_577{margin-top:4px}._chat-input-block52_1iegn_581{max-width:none;min-width:0;white-space:pre-wrap;overflow-x:auto}._chat-input-block53_1iegn_588{flex-shrink:0;transition:transform .2s ease}._chat-input-block54_1iegn_593{color:var(--font-color-grey)}._chat-input-block55_1iegn_597{color:13px}._chat-input-block56_1iegn_601{display:grid}._chat-input-block57_1iegn_605{background-color:var(--success-color)}._chat-input-block58_1iegn_609{background-color:var(--font-color-grey-2)}._chat-input-block59_1iegn_613{width:6px;height:6px;border-radius:9999px;flex-shrink:0}._chat-input-block60_1iegn_620{color:var(--success-color)}._chat-input-block61_1iegn_624{color:var(--font-color-grey-1)}._chat-input-block62_1iegn_628{font-size:12px}._chat-suggestion-row_1l9qy_1{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px;flex-shrink:0}._chat-suggestion-chip_1l9qy_9{font-size:11px;padding:4px 10px;border-radius:999px;background:#2563eb14;color:var(--primary-color, #2563eb);border:1px solid rgba(37,99,235,.15);cursor:pointer}._chat-suggestion-chip_1l9qy_9:hover{background:#2563eb24}._citation-inline-badge-row_1g1kb_1{display:inline-flex;align-items:center;justify-content:center;min-width:1.125rem;height:1.125rem;padding-left:4px;padding-right:4px;margin-left:2px;margin-right:2px;font-size:10px;font-weight:600;line-height:1;color:var(--primary-color);vertical-align:middle;transform:translateY(-1px);border-radius:4px;background-color:var(--primary-color-bg);border:1px solid var(--primary-color-border);cursor:pointer;transition:color .2s ease,background-color .2s ease}._citation-inline-badge-row_1g1kb_1:hover{background-color:var(--primary-color-bg-hover)}._citation-inline-badge-row_1g1kb_1:active{background-color:var(--primary-color-bg-active)}._citation-markdown-content-col_1157p_1{font-size:12px;color:var(--font-color-grey-1);padding-top:8px;padding-bottom:8px}._message-actions-message-actions_2eqe2_1{margin-top:4px;display:flex;align-items:center;gap:2px;transition:opacity .2s ease;opacity:0}.group:hover ._message-actions-message-actions_2eqe2_1,._message-actions-visible_2eqe2_13{opacity:1}._message-actions-left_2eqe2_17{justify-content:flex-start}._message-actions-right_2eqe2_21{justify-content:flex-end}._message-actions-message-action-btn_2eqe2_25{height:28px!important;width:28px!important;padding:0!important}._message-actions-message-action-btn-default_2eqe2_31{color:var(--font-color-grey-1)!important}._message-actions-message-action-btn-default_2eqe2_31:hover,._message-actions-message-action-btn-active_2eqe2_38{color:var(--primary-color)!important}._message-actions-message-action-btn-wrap_2eqe2_42{display:inline-flex}._message-edit-popover-main_1ba21_1{width:320px}._message-edit-popover-section_1ba21_5{font-size:var(--font-size-small)!important}._message-edit-popover-group_1ba21_9{margin-top:12px;display:flex;justify-content:flex-end;gap:8px}._thinking-section-thinking-section_1qx67_1{margin-bottom:8px}._thinking-section-thinking-toggle_1qx67_5{display:inline-flex;max-width:100%;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:2px 0;color:var(--font-color-grey-1);transition:color .2s ease}._thinking-section-thinking-toggle_1qx67_5:hover{color:var(--font-color-grey)}._thinking-section-thinking-toggle-icon-wrap_1qx67_20{position:relative;display:flex;height:14px;width:14px;flex-shrink:0;align-items:center;justify-content:center}._thinking-section-thinking-ping-ring_1qx67_30{position:absolute;height:10px;width:10px;border-radius:9999px;background-color:var(--primary-color-fill);animation:_thinkingPing_1qx67_1 1s cubic-bezier(0,0,.2,1) infinite}._thinking-section-thinking-dot-active_1qx67_39{position:relative;height:6px;width:6px;border-radius:9999px;background-color:var(--primary-color)}._thinking-section-thinking-dot-idle_1qx67_47{height:6px;width:6px;border-radius:9999px;background-color:var(--font-color-grey-2);transition:background-color .2s ease}.group:hover ._thinking-section-thinking-dot-idle_1qx67_47{background-color:var(--font-color-grey-1)}._thinking-section-thinking-status-label_1qx67_58{font-size:13px;letter-spacing:-.01em}._thinking-section-thinking-status-label-active_1qx67_63{color:var(--font-color-grey)}._thinking-section-thinking-chevron_1qx67_67{flex-shrink:0;color:var(--font-color-grey-2);transition:transform .2s ease}._thinking-section-thinking-chevron-expanded_1qx67_73{transform:rotate(180deg)}._thinking-section-thinking-expand-grid_1qx67_77{display:grid;transition:grid-template-rows .2s ease-out}._thinking-section-thinking-expand-grid-open_1qx67_82{grid-template-rows:1fr}._thinking-section-thinking-expand-grid-closed_1qx67_86{grid-template-rows:0fr}._thinking-section-thinking-expand-inner_1qx67_90{overflow:hidden}._thinking-section-thinking-scroll-area_1qx67_94{position:relative;margin-top:6px;max-height:144px;overflow-y:auto}._thinking-section-thinking-content_1qx67_101{border-left:1px solid var(--font-color-grey-3);padding-left:10px;margin-left:4px;font-size:12px;line-height:1.7;color:var(--font-color-grey-1);word-break:break-word}._thinking-section-thinking-content_1qx67_101 p{margin-top:2px;margin-bottom:2px}._thinking-section-thinking-content_1qx67_101 p:last-child{margin-bottom:0}._thinking-section-thinking-content_1qx67_101 ul,._thinking-section-thinking-content_1qx67_101 ol{margin-top:2px;margin-bottom:2px}._thinking-section-thinking-content_1qx67_101 li{margin-top:0;margin-bottom:0}._thinking-section-thinking-cursor_1qx67_127{display:inline-block;width:1px;height:1em;margin-left:2px;vertical-align:middle;background-color:#999c;animation:_typingPulse_1qx67_1 1s cubic-bezier(.4,0,.6,1) infinite}._thinking-section-thinking-empty-cursor-wrap_1qx67_137{margin-top:6px;margin-left:4px;border-left:1px solid var(--font-color-grey-3);padding-left:10px;padding-top:2px;padding-bottom:2px}._thinking-section-thinking-empty-cursor_1qx67_137{display:inline-block;width:1px;height:14px;vertical-align:middle;background-color:#999c;animation:_typingPulse_1qx67_1 1s cubic-bezier(.4,0,.6,1) infinite}._message-item-message-row_bwatj_1{display:flex;gap:12px;margin-bottom:20px}._message-item-message-row-reverse_bwatj_7{flex-direction:row-reverse}._message-item-message-avatar_bwatj_11{flex-shrink:0}._message-item-message-avatar-assistant_bwatj_15{background-color:var(--primary-color-bg)}._message-item-message-content_bwatj_19{max-width:72%;min-width:0;display:flex;flex-direction:column}._message-item-message-content-user_bwatj_26{align-items:flex-end}._message-item-message-content-assistant_bwatj_30{align-items:flex-start}._message-item-message-user-bubble_bwatj_34{position:relative;border-radius:16px 0 16px 16px;padding:8px 12px;font-size:var(--font-size-small);line-height:var(--line-height-default);box-shadow:0 1px 2px #0000000d;color:#fff;background-color:var(--primary-color)}._message-item-message-user-bubble-text_bwatj_46{white-space:pre-wrap}._message-item-message-assistant-bubble_bwatj_50{position:relative;border-radius:0 16px 16px;padding:8px 12px;font-size:var(--font-size-small);line-height:var(--line-height-default);box-shadow:0 1px 2px #0000000d;background-color:var(--bg-color-white);border:1px solid var(--font-color-grey-4);color:var(--font-color);white-space:pre-wrap;word-break:break-word;min-width:0;max-width:100%;overflow:hidden}._message-item-message-loading-dots_bwatj_68{display:flex;align-items:center;gap:4px;padding:2px 0}._message-item-message-loading-dot_bwatj_68{width:8px;height:8px;border-radius:9999px;background-color:var(--font-color-grey-2)}._message-item-message-loading-dot_bwatj_68:nth-child(1){animation:_messageDotBounce_bwatj_1 1.2s infinite}._message-item-message-loading-dot_bwatj_68:nth-child(2){animation:_messageDotBounce_bwatj_1 1.2s infinite .2s}._message-item-message-loading-dot_bwatj_68:nth-child(3){animation:_messageDotBounce_bwatj_1 1.2s infinite .4s}._message-item-message-answer-markdown_bwatj_91{max-width:none;min-width:0;word-break:break-word;white-space:pre-wrap;overflow-x:auto}._message-item-message-answer-markdown_bwatj_91 p{margin-top:4px;margin-bottom:4px}._message-item-message-answer-markdown_bwatj_91 p:last-child{margin-bottom:0}._message-item-message-answer-markdown_bwatj_91 ul,._message-item-message-answer-markdown_bwatj_91 ol{margin-top:4px;margin-bottom:4px}._message-item-message-answer-markdown_bwatj_91 ul:last-child,._message-item-message-answer-markdown_bwatj_91 ol:last-child{margin-bottom:0}._message-item-message-answer-markdown_bwatj_91 li{margin-top:0;margin-bottom:0}._message-item-message-answer-markdown_bwatj_91 *:last-child{margin-bottom:0}._message-item-message-answer-markdown_bwatj_91 pre{max-width:100%;overflow-x:auto;white-space:pre-wrap}._message-item-message-answer-markdown_bwatj_91 code{word-break:break-word}._message-item-message-answer-markdown-spaced_bwatj_130{margin-top:4px}._message-item-message-typing-cursor_bwatj_134{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:middle;background-color:var(--primary-color);animation:_typingPulse_bwatj_1 1s cubic-bezier(.4,0,.6,1) infinite}._message-item-citation-summary-button_bwatj_144{margin-top:6px;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9999px;background-color:var(--primary-color-bg);border:1px solid var(--primary-color-border);transition:background-color .2s ease;cursor:pointer}._message-item-citation-summary-button_bwatj_144:hover{background-color:var(--primary-color-bg-hover)}._message-item-citation-summary-button_bwatj_144:active{background-color:var(--primary-color-bg-active)}._message-item-citation-summary-icon_bwatj_163,._message-item-citation-summary-text_bwatj_168{font-size:12px;color:var(--primary-color)}._chat-panel_j7eqa_1{display:flex;flex-direction:column;min-height:0;height:100%;background:var(--bg-color-white)}._chat-panel-head_j7eqa_9{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:14px 16px 10px;border-bottom:1px solid var(--font-color-grey-4);flex-shrink:0;background:var(--bg-color-white)}._chat-panel-title_j7eqa_20{display:block;font-size:16px;font-weight:700;line-height:1.3;color:var(--font-color)}._chat-panel-subtitle_j7eqa_28{display:block;margin-top:4px;font-size:11px;color:var(--font-color-grey-1)}._chat-panel-messages-wrapper_j7eqa_35{flex:1;min-height:120px;background:var(--bg-color-grey)}._chat-panel-messages_j7eqa_35{padding:8px 12px}._chat-panel-empty_j7eqa_45{margin:0;padding:12px 4px;font-size:13px;color:var(--font-color-grey-1)}._chat-panel-input_j7eqa_52{flex-shrink:0;padding:8px 12px 12px;background:var(--bg-color-white);border-top:1px solid var(--font-color-grey-4)}._virtual-scrollbar-root_hy6p8_1{position:relative;display:flex;flex-direction:column;overflow:hidden;min-height:0;min-width:0}._virtual-scrollbar-viewport_hy6p8_14{flex:1 1 auto;width:100%;height:100%;min-height:0;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}._virtual-scrollbar-viewport_hy6p8_14::-webkit-scrollbar{display:none}._virtual-scrollbar-track_hy6p8_27{opacity:1;pointer-events:auto}._virtual-scrollbar-track-vertical_hy6p8_32{position:absolute;z-index:2;opacity:0;pointer-events:none;transition:opacity .2s ease;top:2px;right:2px;bottom:2px;width:6px}._virtual-scrollbar-track-horizontal_hy6p8_44{opacity:1;pointer-events:auto}._virtual-scrollbar-thumb_hy6p8_49{top:0;bottom:0;min-width:24px}._citation-content-footer_olxly_1{max-width:none;color:12px;color:var(--font-color-grey)}._citation-content-citation-rich-content_olxly_7{font-size:12px;color:var(--font-color-grey);line-height:1.7;word-break:break-word}._citation-content-citation-rich-content_olxly_7 table{width:100%;margin-top:8px;margin-bottom:8px;font-size:11px;border-collapse:collapse}._citation-content-citation-rich-content_olxly_7 th{border:1px solid var(--font-color-grey-3);background-color:var(--bg-color-grey);padding:4px 8px;text-align:left;font-weight:500}._citation-content-citation-rich-content_olxly_7 td{border:1px solid var(--font-color-grey-3);padding:4px 8px;vertical-align:top}._citation-content-citation-rich-content_olxly_7 p,._citation-content-citation-rich-content_olxly_7 ul,._citation-content-citation-rich-content_olxly_7 ol{margin-top:4px;margin-bottom:4px}._citation-content-citation-rich-content_olxly_7 ul,._citation-content-citation-rich-content_olxly_7 ol{padding-left:16px}._citation-content-citation-rich-content_olxly_7 h1{font-size:var(--font-size-small);font-weight:600;margin-top:4px;margin-bottom:4px}._citation-content-citation-rich-content_olxly_7 h2{font-size:12px;font-weight:600;margin-top:4px;margin-bottom:4px}._citation-panel-empty_13e4b_1{flex:1;display:flex;align-items:center;justify-content:center}._citation-panel-citation-summary-icon_13e4b_8{font-size:12px}._citation-panel-citation-panel_13e4b_12{display:flex;flex-direction:column;height:100%;overflow:hidden;background-color:var(--bg-color-white)}._citation-panel-header_13e4b_20{display:flex;align-items:center;justify-content:space-between;height:44px;padding-left:16px;padding-right:16px;border-bottom:1px solid var(--font-color-grey-4);flex-shrink:0}._citation-panel-title_13e4b_31{font-size:var(--font-size-small);font-weight:600;color:var(--font-color);margin:0;letter-spacing:-.01em}._citation-panel-header-actions_13e4b_39{display:flex;align-items:center;gap:4px}._citation-panel-count_13e4b_45{font-size:12px;color:var(--font-color-grey-1);font-variant-numeric:tabular-nums;padding-left:6px;padding-right:6px}._citation-panel-close-btn_13e4b_53{color:var(--font-color-grey-1)!important;box-shadow:none!important}._citation-panel-close-btn_13e4b_53:hover{color:var(--font-color-grey)!important}._citation-panel-divider_13e4b_61{margin-left:16px;margin-right:16px;height:1px;background-color:var(--font-color-grey-4)}._citation-panel-citation-item_13e4b_68{position:relative;padding:14px 16px;transition:background-color .2s ease}._citation-panel-citation-item-highlighted_13e4b_74{background-color:var(--primary-color-bg)}._citation-panel-citation-item-marker_13e4b_78{position:absolute;left:0;top:12px;bottom:12px;width:2px;border-radius:0 9999px 9999px 0;background-color:var(--primary-color)}._citation-panel-citation-item-body_13e4b_88{display:flex;gap:12px;align-items:center}._citation-panel-citation-item-index_13e4b_94{flex-shrink:0;margin-top:2px;width:20px;height:20px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}._citation-panel-citation-item-index-highlighted_13e4b_109{color:#fff}._citation-panel-citation-item-index-default_13e4b_113{color:var(--font-color-grey-1);border:1px solid var(--font-color-grey-3);background-color:var(--bg-color-white)}._citation-panel-citation-item-content_13e4b_119{flex:1;min-width:0}._citation-panel-citation-item-header_13e4b_124{display:flex;align-items:flex-start;gap:8px;outline:none;border-radius:6px;margin-right:-4px;padding-right:4px}._citation-panel-citation-item-header-main_13e4b_134{flex:1;min-width:0}._citation-panel-citation-item-header-interactive_13e4b_139{cursor:pointer}._citation-panel-citation-item-header-interactive_13e4b_139:focus-visible{outline:2px solid var(--primary-color-border);outline-offset:1px}._citation-panel-citation-item-title_13e4b_147{flex:1;min-width:0;font-size:13px;font-weight:500;color:var(--font-color);line-height:1.375;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._citation-panel-citation-item-meta_13e4b_160{font-size:11px;color:var(--font-color-grey-1);margin-top:4px;margin-bottom:0;line-height:1}._citation-panel-citation-item-chevron_13e4b_168{flex-shrink:0;font-size:10px;color:var(--font-color-grey-2);margin-top:4px;transition:transform .2s ease}._citation-panel-citation-item-chevron-expanded_13e4b_176{transform:rotate(180deg)}._citation-panel-citation-item-quote_13e4b_180{margin:10px 0 0;border-left:2px solid var(--font-color-grey-3);padding-left:10px}._parse-status-tag-container_40gl6_1{margin-right:4px}._document-table-root_6pilq_1{font-weight:500}._file-link-inner_uetzp_1{flex-shrink:0}._file-link-row_uetzp_5{flex-shrink:0;font-size:12px;color:var(--font-color-grey-1)}._file-link-actions_uetzp_11{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-small);transition:color .2s ease,background-color .2s ease}._file-link-actions_uetzp_11:hover{color:var(--primary-color)}._file-link-toolbar_uetzp_22{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._file-preview-list_m0qyk_1{position:relative}._file-preview-empty_m0qyk_5{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;background-color:var(--bg-color-white)}._file-preview-loading_m0qyk_15{width:100%;padding-top:80px;padding-bottom:80px}._file-preview-content_m0qyk_21{padding:16px;font-size:var(--font-size-small);white-space:pre-wrap;overflow:auto;max-height:70vh;background-color:var(--bg-color-grey)}._file-preview-aside_m0qyk_30{padding:24px;overflow:auto;max-height:70vh;background-color:var(--bg-color-white)}._file-preview-main_m0qyk_37{display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto;max-height:70vh}._file-preview-section_m0qyk_46{max-width:100%;max-height:65vh;object-fit:contain}._file-preview-group_m0qyk_52{width:100%}._file-preview-cell_m0qyk_56{overflow:auto;max-height:70vh;background-color:var(--bg-color-white)}._file-preview-overlay_m0qyk_62{position:relative;display:flex;align-items:center;justify-content:center}._file-preview-badge_m0qyk_69{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:48px;padding-bottom:48px;gap:16px}._file-preview-tag_m0qyk_79{position:relative;display:flex;align-items:center;justify-content:center;padding:16px}._file-preview-hint_m0qyk_87{max-width:100%;max-height:65vh}._file-preview-sider_m0qyk_92{font-size:48px}._file-preview-nav_m0qyk_96{text-align:center}._file-preview-menu_m0qyk_100{color:var(--font-color-grey);margin-bottom:4px}._file-preview-user-menu_m0qyk_105{font-size:12px;color:var(--font-color-grey-1)}._file-preview-avatar_m0qyk_110{display:flex;align-items:center;justify-content:center;padding:32px}._file-preview-upload_m0qyk_117{width:100%;max-width:1024px}._file-preview-filter_m0qyk_122{display:flex;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px;border-bottom-width:1px;border-bottom-style:solid;border-color:var(--font-color-grey-4)}._file-preview_m0qyk_1{display:flex;flex-direction:column;width:100%}._file-preview-header_m0qyk_139{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;width:100%}._file-preview-info_m0qyk_148{display:flex;align-items:center;gap:8px;min-width:0;flex:1}._file-preview-icon_m0qyk_156{display:inline-flex;flex-shrink:0}._file-preview-name_m0qyk_161{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}._file-preview-size_m0qyk_168{flex-shrink:0;font-size:12px;color:var(--font-color-grey-1)}._file-preview-body_m0qyk_174{width:100%}._file-preview-iframe_m0qyk_178{display:block;width:100%;height:70vh;border:none;background:var(--bg-color-grey)}._file-preview-media-wrap_m0qyk_186{display:flex;justify-content:center;width:100%}._file-preview-image_m0qyk_192{width:100%;max-height:70vh;object-fit:contain}._file-preview-video_m0qyk_198{width:100%;max-height:70vh;background:#000}._file-preview-audio-wrap_m0qyk_204{display:flex;align-items:center;justify-content:center;width:100%;padding:48px 16px}._file-preview-audio_m0qyk_204{width:100%}._file-preview-office-wrap_m0qyk_216{width:100%;height:70vh;min-height:480px}._file-preview-office-spin_m0qyk_222,._file-preview-office-spin_m0qyk_222 .ant-spin-container{width:100%;height:100%;min-height:inherit}._file-preview-office-inner_m0qyk_233{width:100%;height:100%;min-height:480px;overflow:auto}._file-preview-text_m0qyk_240{margin:0;padding:16px;width:100%;max-height:70vh;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:var(--font-size-small);background:var(--bg-color-grey);box-sizing:border-box}._file-preview-table_m0qyk_253{font-weight:500}._file-preview-link_1q16r_1{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-small);transition:color .2s ease}._file-preview-link_1q16r_1:hover{color:var(--primary-color)}._file-preview-link-wrap_1q16r_12{align-items:flex-start;max-width:100%}._file-preview-link-disabled_1q16r_17{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-small);color:var(--font-color-grey-1);cursor:not-allowed}._file-preview-link-inner_1q16r_26{flex-shrink:0}._file-preview-link-name_1q16r_30{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._file-preview-link-name-wrap_1q16r_36{overflow:visible;text-overflow:unset;white-space:normal;word-break:break-all;line-height:1.5}._file-preview-link-type_1q16r_44{flex-shrink:0;font-size:12px;color:var(--font-color-grey-1)}._tags-tag-list_d5l57_1{display:flex;align-items:center;gap:4px;flex-wrap:wrap}._tags-tag-list-nowrap_d5l57_8{flex-wrap:nowrap}._tags-tag-list-tooltip_d5l57_12{max-width:320px}._filter-date-range-quick-options_ctl7u_1{margin-bottom:12px;display:flex;flex-wrap:wrap;gap:8px}._filter-date-range-quick-option_ctl7u_1{cursor:pointer;border-radius:4px;padding:4px 8px;font-size:var(--font-size-small)}._filter-date-range-quick-option_ctl7u_1:hover{background-color:var(--primary-color-bg)}._filter-date-range-quick-option-active_ctl7u_18{background-color:var(--primary-color);color:var(--bg-color-white);font-weight:500}._filter-date-range-picker_ctl7u_24{width:100%}._filter-number-range-inputs_y3pfu_1{display:flex;align-items:center;gap:8px}._filter-number-range-separator_y3pfu_7{color:var(--font-color-grey-1)}._filter-number-range-unit_y3pfu_11{font-size:var(--font-size-small);color:var(--font-color-grey)}._person-option-row-root_lf6i9_1{font-size:var(--font-size-small)}._person-option-row-container_lf6i9_5{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._person-option-row-wrapper_lf6i9_11{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--font-color-grey-1);font-size:12px}._person-option-row-inner_lf6i9_19{margin-left:auto;flex-shrink:0;color:var(--font-color-grey-1)}._person-option-row-inner_lf6i9_19:hover{color:var(--primary-color)}._person-option-row-person-row_lf6i9_28{display:flex;align-items:center;gap:8px;min-width:0;flex:1}._filter-select-search_1esgk_1{margin-bottom:12px}._filter-select-options_1esgk_5{max-height:300px;overflow:auto}._filter-select-option_1esgk_5{display:flex;align-items:center;gap:8px;cursor:pointer;border-radius:4px;padding:6px 8px;font-size:var(--font-size-small)}._filter-select-option_1esgk_5:hover{background-color:var(--bg-color-grey)}._filter-select-option-selected_1esgk_23{color:var(--primary-color);font-weight:500}._filter-select-option-check_1esgk_28{margin-left:auto;font-size:12px;color:var(--primary-color)}._filter-select-empty_1esgk_34{padding-top:16px;padding-bottom:16px;text-align:center;font-size:var(--font-size-small);color:var(--font-color-grey-1)}._filter-select-selected-bar_1esgk_42{margin-top:8px;border-top-width:1px;border-top-style:solid;padding-top:8px}._filter-select-selected-label_1esgk_49{margin-bottom:4px;font-size:12px;color:var(--font-color-grey-1)}._filter-select-selected-tag_1esgk_55{display:inline-flex;cursor:pointer;align-items:center;gap:4px;background-color:var(--bg-color-grey-1);padding:2px 6px;font-size:12px}._filter-select-selected-remove_1esgk_68{font-size:10px}._filter-tree-select-search_he1ck_1{margin-bottom:12px}._filter-tree-select-options_he1ck_5{max-height:300px;overflow:auto}._filter-tree-select-option_he1ck_5{display:flex;align-items:center;gap:8px;cursor:pointer;border-radius:4px;padding:6px 8px;font-size:var(--font-size-small)}._filter-tree-select-option_he1ck_5:hover{background-color:var(--bg-color-grey)}._filter-tree-select-option-selected_he1ck_23{color:var(--primary-color);font-weight:500}._filter-tree-select-option-check_he1ck_28{margin-left:auto;font-size:12px;color:var(--primary-color)}._filter-tree-select-expand-icon_he1ck_34{display:inline-flex;width:16px;flex-shrink:0;cursor:pointer;align-items:center;justify-content:center;color:var(--font-color-grey-1)}._filter-tree-select-expand-placeholder_he1ck_44{display:inline-flex;width:16px;flex-shrink:0}._filter-tree-select-node-label_he1ck_50{flex:1}._filter-tree-select-empty_he1ck_54{padding-top:16px;padding-bottom:16px;text-align:center;font-size:var(--font-size-small);color:var(--font-color-grey-1)}._filter-tree-select-selected-bar_he1ck_62{margin-top:8px;border-top-width:1px;border-top-style:solid;padding-top:8px}._filter-tree-select-selected-label_he1ck_69{margin-bottom:4px;font-size:12px;color:var(--font-color-grey-1)}._filter-tree-select-selected-tag_he1ck_75{display:inline-flex;cursor:pointer;align-items:center;gap:4px;background-color:var(--bg-color-grey-1);padding:2px 6px;font-size:12px}._filter-tree-select-selected-remove_he1ck_88{font-size:10px}._knowledge-card-wrapper_a20ij_1{background-color:var(--bg-color-white);border-radius:12px;border-width:1px;border-style:solid;border-color:var(--font-color-grey-4);transition:all .2s ease;display:flex;flex-direction:column;overflow:hidden;cursor:pointer}._knowledge-card-wrapper_a20ij_1:hover{border-color:var(--primary-color-border)}._knowledge-card-wrapper_a20ij_1:hover{box-shadow:0 10px 15px -3px #0000001a}._knowledge-card-inner_a20ij_20{height:4px;background-color:var(--primary-color)}._knowledge-card-header_a20ij_25{padding:16px;flex:1;display:flex;flex-direction:column}._knowledge-card-body_a20ij_32{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}._knowledge-card-footer_a20ij_39{width:40px;height:40px;border-radius:12px;background-color:var(--primary-color-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}._knowledge-card-row_a20ij_50{font-size:var(--font-size-large);color:var(--primary-color)}._knowledge-card-col_a20ij_55{flex:1;min-width:0}._knowledge-card-wrap_a20ij_1{font-size:var(--font-size-small);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._knowledge-card-panel_a20ij_68{font-size:12px;margin-top:4px}._knowledge-card-card_a20ij_73{font-size:12px;margin-bottom:12px!important}._knowledge-card-item_a20ij_78{display:flex;align-items:center;gap:8px;margin-top:auto}._knowledge-card-link_a20ij_85{flex:1;display:flex;flex-direction:column;align-items:center;background-color:var(--bg-color-grey);border-radius:8px;padding-top:8px;padding-bottom:8px}._knowledge-card-label_a20ij_96{font-size:var(--font-size-small)}._knowledge-card-value_a20ij_100{font-size:12px;margin-top:2px}._knowledge-card-meta_a20ij_105{margin-top:12px}._knowledge-card-icon_a20ij_109{display:flex;justify-content:space-between;font-size:12px;color:var(--font-color-grey-1);margin-bottom:4px}._knowledge-card-title_a20ij_117{padding:8px 16px;border-top-width:1px;border-top-style:solid;display:flex;align-items:center}._llm-formatted-text_1mo0r_1{font-size:13px;line-height:1.6;color:var(--color-text, #0f172a)}._is-loading_1mo0r_7{display:flex;align-items:center;gap:8px;color:var(--color-text-muted, #94a3b8)}._ft-spinner_1mo0r_14{width:14px;height:14px;border:2px solid #cbd5e1;border-top-color:var(--primary-color, #1677ff);border-radius:50%;animation:_llm-ft-spin_1mo0r_1 .8s linear infinite}@keyframes _llm-ft-spin_1mo0r_1{to{transform:rotate(360deg)}}._ft-summary_1mo0r_28{margin:0 0 8px;font-weight:500}._ft-section_1mo0r_33{margin-top:10px}._ft-section-title_1mo0r_37{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:13px;font-weight:600}._ft-section-icon_1mo0r_46{color:var(--primary-color, #1677ff)}._ft-list_1mo0r_50{margin:0;padding-left:0;list-style:none}._ft-list_1mo0r_50 li{display:flex;gap:8px;margin-bottom:4px}._ft-num_1mo0r_62{flex-shrink:0;width:18px;color:var(--color-text-muted, #94a3b8);font-size:12px}._ft-paragraph_1mo0r_69{margin:0}._mermaid-block-col_u7wop_1{font-size:12px;color:var(--font-color-grey-1);padding-top:8px;padding-bottom:8px}._mermaid-block-content_u7wop_8{font-size:12px;margin-top:4px}._page-header-layout-root_13o9c_1{display:flex;align-items:center;justify-content:space-between}._page-header-layout-container_13o9c_7{display:flex;align-items:center}._page-header-layout-wrapper_13o9c_12{font-size:var(--font-size-18);font-weight:600}._page-header-layout-inner_13o9c_17{margin-bottom:16px;padding:8px 12px;background-color:var(--primary-color-bg);border:1px solid var(--primary-color-border);border-radius:4px;font-size:var(--font-size-small);color:var(--primary-color)}._session-sidebar-status_f2lgq_1{display:flex;height:100%;min-height:0;width:256px;flex-shrink:0;flex-direction:column;overflow:hidden;border-color:var(--font-color-grey-4);background-color:var(--bg-color-white)}._session-sidebar-info_f2lgq_13{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:8px;border-bottom-width:1px;border-bottom-style:solid;border-color:var(--font-color-grey-4);padding:12px 16px}._session-sidebar-detail_f2lgq_28{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-small)}._session-sidebar-summary_f2lgq_37{flex-shrink:0;height:28px!important;width:28px!important;padding:0!important;display:flex;align-items:center;justify-content:center;color:var(--font-color-grey)}._session-sidebar-summary_f2lgq_37:hover{color:var(--primary-color)}._session-sidebar-media_f2lgq_51{min-height:0;flex:1}._session-sidebar-figure_f2lgq_56{padding-top:8px;padding-bottom:8px}._session-sidebar-caption_f2lgq_61{display:flex;justify-content:center;padding:40px 16px}._session-sidebar-divider_f2lgq_70{padding-left:16px;padding-right:16px}._session-sidebar-block1_f2lgq_75{padding-top:32px;padding-bottom:32px}._session-sidebar-block2_f2lgq_80{display:flex;flex-direction:column;gap:2px;padding-left:8px;padding-right:8px}._session-sidebar-block3_f2lgq_88{pointer-events:none;flex-shrink:0;white-space:nowrap;font-size:12px;color:var(--font-color-grey-1)}._session-sidebar-block4_f2lgq_96{display:none;flex-shrink:0}._session-sidebar-block5_f2lgq_101{font-size:var(--font-size-small)}._session-sidebar-session-item_f2lgq_105{display:flex;min-width:0;align-items:center;gap:8px;border-radius:6px;padding:8px 12px;transition:color .2s ease,background-color .2s ease;color:var(--font-color-grey);cursor:pointer}._session-sidebar-session-item_f2lgq_105:hover:not(._session-sidebar-session-item-disabled_f2lgq_116){background-color:var(--primary-color-bg);color:var(--font-color)}._session-sidebar-session-item_f2lgq_105:hover:not(._session-sidebar-session-item-disabled_f2lgq_116) ._session-sidebar-block3_f2lgq_88{display:none}._session-sidebar-session-item_f2lgq_105:hover:not(._session-sidebar-session-item-disabled_f2lgq_116) ._session-sidebar-block4_f2lgq_96{display:flex}._session-sidebar-session-item-active_f2lgq_127{background-color:var(--primary-color-bg);color:var(--primary-color)}._session-sidebar-session-item-active_f2lgq_127:hover{background-color:var(--primary-color-bg-hover)}._session-sidebar-session-item-disabled_f2lgq_116{cursor:not-allowed;opacity:.5}._session-sidebar-session-button_f2lgq_140{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;text-align:left;font-size:var(--font-size-small);outline:none;cursor:pointer;font-weight:400;color:inherit}._session-sidebar-session-button-active_f2lgq_158{font-weight:500;color:var(--primary-color)}._session-sidebar-session-button-disabled_f2lgq_163{cursor:not-allowed}._session-sidebar-session-action-btn_f2lgq_167{display:flex;height:24px;width:24px;flex-shrink:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;align-items:center;justify-content:center;border:0;border-radius:4px;background:transparent;outline:none;transition:color .2s ease,background-color .2s ease;cursor:pointer;color:var(--font-color-grey-1)}._session-sidebar-session-action-btn_f2lgq_167:hover{background-color:var(--bg-color-grey-1);color:var(--error-color)}._session-sidebar-session-action-btn-active_f2lgq_188{color:var(--primary-color)}._session-sidebar-session-action-btn-active_f2lgq_188:hover{background-color:var(--primary-color-bg-active);color:var(--primary-color);opacity:.8}._session-sidebar-session-action-btn-disabled_f2lgq_197{cursor:not-allowed}._sparkline_1cqvt_1{display:block}._stat-card-clickable_xovsh_1{cursor:pointer}._stat-card-clickable_xovsh_1 .ant-statistic-content,._stat-card-clickable_xovsh_1 .ant-statistic-content .ant-statistic-content-prefix{display:flex!important;align-items:center}._stat-pending-breakdown-root_85di3_1{font-size:12px;color:var(--font-color-grey-1);margin-bottom:8px}._stat-pending-breakdown-container_85di3_7{font-size:12px;font-weight:400;color:var(--font-color-grey-1);margin-top:4px;line-height:var(--line-height-default)}._stat-pending-breakdown-detail-divider_85di3_15{margin-top:12px;padding-top:12px;border-top:1px solid var(--font-color-grey-4)}._step-modal-root_1ccyj_1{display:flex;align-items:center;gap:8px}._step-modal-container_1ccyj_7{flex:1}._step-modal-wrapper_1ccyj_11{margin-bottom:24px}._file-item-root_lmij6_1{transition:color .2s ease,background-color .2s ease}._file-item-root_lmij6_1:hover{background-color:var(--bg-color-grey)}._file-item-container_lmij6_8{display:flex;align-items:center;justify-content:space-between;padding:6px 8px}._file-item-wrapper_lmij6_18{display:flex;gap:8px;min-width:0;flex:1}._file-item-inner_lmij6_25{flex-shrink:0}._file-item-header_lmij6_29{min-width:0;flex:1}._file-item-body_lmij6_34{display:flex;align-items:center;gap:8px}._file-item-footer_lmij6_40{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-small)}._file-item-row_lmij6_47{flex-shrink:0;font-size:12px;color:var(--font-color-grey-1)}._file-item-col_lmij6_53{margin-top:2px;gap:2px}._file-item-wrap_lmij6_18{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:8px}._file-item-panel_lmij6_66{display:flex;align-items:center}._file-item-action-group_lmij6_71{display:flex;align-items:center;gap:4px}._file-item-action-group-disabled_lmij6_77{opacity:.45;pointer-events:none}.x-spreadsheet{font-size:13px;line-height:normal;-webkit-user-select:none;user-select:none;-moz-user-select:none;font-family:Lato,Source Sans Pro,Roboto,Helvetica,Arial,sans-serif;box-sizing:content-box;background:#fff;-webkit-font-smoothing:antialiased}.x-spreadsheet textarea{font:400 13px Arial,Lato,Source Sans Pro,Roboto,Helvetica,sans-serif}.x-spreadsheet-sheet{position:relative;overflow:hidden}.x-spreadsheet-table{vertical-align:bottom}.x-spreadsheet-tooltip{font-family:inherit;position:absolute;padding:5px 10px;color:#fff;border-radius:1px;background:#000;font-size:12px;z-index:201}.x-spreadsheet-tooltip:before{pointer-events:none;position:absolute;left:calc(50% - 4px);top:-4px;content:"";width:8px;height:8px;background:inherit;-webkit-transform:rotate(45deg);transform:rotate(45deg);z-index:1;box-shadow:1px 1px 3px -1px #0000004d}.x-spreadsheet-color-palette{padding:5px}.x-spreadsheet-color-palette table{margin:0;padding:0;border-collapse:separate;border-spacing:2;background:#fff}.x-spreadsheet-color-palette table td{margin:0;cursor:pointer;border:1px solid transparent}.x-spreadsheet-color-palette table td:hover{border-color:#ddd}.x-spreadsheet-color-palette table td .x-spreadsheet-color-palette-cell{width:16px;height:16px}.x-spreadsheet-border-palette{padding:6px}.x-spreadsheet-border-palette table{margin:0;padding:0;border-collapse:separate;border-spacing:0;background:#fff;table-layout:fixed}.x-spreadsheet-border-palette table td{margin:0}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left{border-right:1px solid #eee;padding-right:6px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell{width:30px;height:30px;cursor:pointer;text-align:center}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell:hover{background-color:#eee}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right{padding-left:6px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right .x-spreadsheet-line-type{position:relative;left:0;top:-3px}.x-spreadsheet-dropdown{position:relative}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-content{position:absolute;z-index:200;background:#fff;box-shadow:1px 2px 5px 2px #33333326}.x-spreadsheet-dropdown.bottom-left .x-spreadsheet-dropdown-content{top:calc(100% + 5px);left:0}.x-spreadsheet-dropdown.bottom-right .x-spreadsheet-dropdown-content{top:calc(100% + 5px);right:0}.x-spreadsheet-dropdown.top-left .x-spreadsheet-dropdown-content{bottom:calc(100% + 5px);left:0}.x-spreadsheet-dropdown.top-right .x-spreadsheet-dropdown-content{bottom:calc(100% + 5px);right:0}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-title{padding:0 5px;display:inline-block}.x-spreadsheet-resizer{position:absolute;z-index:11}.x-spreadsheet-resizer .x-spreadsheet-resizer-hover{background-color:#4b89ff40}.x-spreadsheet-resizer .x-spreadsheet-resizer-line{position:absolute}.x-spreadsheet-resizer.horizontal{cursor:row-resize}.x-spreadsheet-resizer.horizontal .x-spreadsheet-resizer-line{border-bottom:2px dashed #4b89ff;left:0;bottom:0}.x-spreadsheet-resizer.vertical{cursor:col-resize}.x-spreadsheet-resizer.vertical .x-spreadsheet-resizer-line{border-right:2px dashed #4b89ff;top:0;right:0}.x-spreadsheet-scrollbar{position:absolute;bottom:0;right:0;background-color:#f4f5f8;opacity:.9;z-index:12}.x-spreadsheet-scrollbar.horizontal{right:15px;overflow-x:scroll;overflow-y:hidden}.x-spreadsheet-scrollbar.horizontal>div{height:1px;background:#ddd}.x-spreadsheet-scrollbar.vertical{bottom:15px;overflow-x:hidden;overflow-y:scroll}.x-spreadsheet-scrollbar.vertical>div{width:1px;background:#ddd}.x-spreadsheet-overlayer{position:absolute;left:0;top:0;z-index:10}.x-spreadsheet-overlayer .x-spreadsheet-overlayer-content{position:absolute;overflow:hidden;pointer-events:none;width:100%;height:100%}.x-spreadsheet-editor,.x-spreadsheet-selector{box-sizing:content-box;position:absolute;overflow:hidden;pointer-events:none;top:0;left:0;width:100%;height:100%}.x-spreadsheet-selector .hide-input{position:absolute;z-index:0}.x-spreadsheet-selector .hide-input input{padding:0;width:0;border:none!important}.x-spreadsheet-selector .x-spreadsheet-selector-area{position:absolute;border:2px solid #4b89ff;background:#4b89ff1a;z-index:5}.x-spreadsheet-selector .x-spreadsheet-selector-clipboard,.x-spreadsheet-selector .x-spreadsheet-selector-autofill{position:absolute;background:transparent;z-index:100}.x-spreadsheet-selector .x-spreadsheet-selector-clipboard{border:2px dashed #4b89ff}.x-spreadsheet-selector .x-spreadsheet-selector-autofill{border:1px dashed rgba(0,0,0,.45)}.x-spreadsheet-selector .x-spreadsheet-selector-corner{pointer-events:auto;position:absolute;cursor:crosshair;font-size:0;height:5px;width:5px;right:-5px;bottom:-5px;border:2px solid #ffffff;background:#4b89ff}.x-spreadsheet-editor{z-index:20}.x-spreadsheet-editor .x-spreadsheet-editor-area{position:absolute;text-align:left;border:2px solid #4b89ff;line-height:0;z-index:100;pointer-events:auto}.x-spreadsheet-editor .x-spreadsheet-editor-area textarea{box-sizing:content-box;border:none;padding:0 3px;outline:none;resize:none;text-align:start;overflow-y:hidden;font:400 13px Arial,Lato,Source Sans Pro,Roboto,Helvetica,sans-serif;color:inherit;white-space:normal;word-wrap:break-word;line-height:22px;margin:0}.x-spreadsheet-editor .x-spreadsheet-editor-area .textline{overflow:hidden;visibility:hidden;position:fixed;top:0;left:0}.x-spreadsheet-item{-webkit-user-select:none;user-select:none;background:0;border:1px solid transparent;outline:none;height:26px;color:#000000e6;line-height:26px;list-style:none;padding:2px 10px;cursor:default;text-align:left;overflow:hidden}.x-spreadsheet-item.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-item:hover,.x-spreadsheet-item.active{background:#0000000d}.x-spreadsheet-item.divider{height:0;padding:0;margin:5px 0;border:none;border-bottom:1px solid rgba(0,0,0,.1)}.x-spreadsheet-item .label{float:right;opacity:.65;font-size:1em}.x-spreadsheet-item.state,.x-spreadsheet-header.state{padding-left:35px!important;position:relative}.x-spreadsheet-item.state:before,.x-spreadsheet-header.state:before{content:"";position:absolute;width:10px;height:10px;left:12px;top:calc(50% - 5px);background:#00000014;border-radius:2px}.x-spreadsheet-item.state.checked:before,.x-spreadsheet-header.state.checked:before{background:#4b89ff}.x-spreadsheet-checkbox{position:relative;display:inline-block;backface-visibility:hidden;outline:0;vertical-align:baseline;font-style:normal;font-size:1rem;line-height:1em}.x-spreadsheet-checkbox>input{position:absolute;top:0;left:0;opacity:0!important;outline:0;z-index:-1}.x-spreadsheet-suggest,.x-spreadsheet-contextmenu,.x-spreadsheet-sort-filter{position:absolute;box-shadow:1px 2px 5px 2px #33333326;background:#fff;z-index:100;width:260px;pointer-events:auto;overflow:auto}.x-spreadsheet-suggest{width:200px}.x-spreadsheet-filter{border:1px solid #e9e9e9;font-size:12px;margin:10px}.x-spreadsheet-filter .x-spreadsheet-header{padding:.5em .75em;background:#f8f8f9;border-bottom:1px solid #e9e9e9;border-left:1px solid transparent}.x-spreadsheet-filter .x-spreadsheet-body{height:200px;overflow-y:auto}.x-spreadsheet-filter .x-spreadsheet-body .x-spreadsheet-item{height:20px;line-height:20px}.x-spreadsheet-sort-filter .x-spreadsheet-buttons{margin:10px}.x-spreadsheet-bottombar{height:40px;padding:0 30px;text-align:left;background:#f5f6f7;display:flex}.x-spreadsheet-bottombar{position:relative;border-top:1px solid #e0e2e4}.x-spreadsheet-bottombar .x-spreadsheet-menu>li{line-height:40px;height:40px;padding-top:0;padding-bottom:0;vertical-align:middle;border-right:1px solid #e8eaed}.x-spreadsheet-menu{list-style:none;margin:0;padding:0;-webkit-user-select:none;user-select:none}.x-spreadsheet-menu>li{float:left;line-height:1.25em;padding:.785em 1em;margin:0;vertical-align:middle;text-align:left;font-weight:400;color:#80868b;white-space:nowrap;cursor:pointer;transition:all .3s;font-weight:700}.x-spreadsheet-menu>li.active{background-color:#fff;color:#000000a6}.x-spreadsheet-menu>li .x-spreadsheet-dropdown{display:inline-block}.x-spreadsheet-print{position:absolute;left:0;top:0;z-index:100;width:100%;height:100%;display:flex;flex-direction:column}.x-spreadsheet-print-bar{background:#424242;height:60px;line-height:60px;padding:0 30px}.x-spreadsheet-print-bar .-title{color:#fff;font-weight:700;font-size:1.2em;float:left}.x-spreadsheet-print-bar .-right{float:right;margin-top:12px}.x-spreadsheet-print-content{display:flex;flex:auto;flex-direction:row;background:#d0d0d0;height:calc(100% - 60px)}.x-spreadsheet-print-content .-sider{flex:0 0 300px;width:300px;border-left:2px solid #ccc;background:#fff}.x-spreadsheet-print-content .-content{flex:auto;overflow-x:auto;overflow-y:scroll;height:100%}.x-spreadsheet-canvas-card-wraper{margin:40px 20px}.x-spreadsheet-canvas-card{background:#fff;margin:auto;page-break-before:auto;page-break-after:always;box-shadow:0 8px 10px 1px #00000024,0 3px 14px 3px #0000001f,0 4px 5px #0003}.x-spreadsheet-calendar{color:#000000a6;background:#fff;-webkit-user-select:none;user-select:none}.x-spreadsheet-calendar .calendar-header{font-weight:700;line-height:30px;text-align:center;width:100%;float:left;background:#f9fafb}.x-spreadsheet-calendar .calendar-header .calendar-header-left{padding-left:5px;float:left}.x-spreadsheet-calendar .calendar-header .calendar-header-right{float:right}.x-spreadsheet-calendar .calendar-header .calendar-header-right a{padding:3px 0;margin-right:2px;border-radius:2px}.x-spreadsheet-calendar .calendar-header .calendar-header-right a:hover{background:#00000014}.x-spreadsheet-calendar .calendar-body{border-collapse:collapse;border-spacing:0}.x-spreadsheet-calendar .calendar-body th,.x-spreadsheet-calendar .calendar-body td{width:14.28571429%;min-width:32px;text-align:center;font-weight:700;line-height:30px;padding:0}.x-spreadsheet-calendar .calendar-body td>.cell:hover{background:#ecf6fd}.x-spreadsheet-calendar .calendar-body td>.cell.active,.x-spreadsheet-calendar .calendar-body td>.cell.active:hover{background:#ecf6fd;color:#2185d0}.x-spreadsheet-calendar .calendar-body td>.cell.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-datepicker{box-shadow:2px 2px 5px #0003;position:absolute;left:0;top:calc(100% + 5px);z-index:10;width:auto}.x-spreadsheet-buttons{display:flex;justify-content:flex-end}.x-spreadsheet-buttons .x-spreadsheet-button{margin-left:8px}.x-spreadsheet-button{display:inline-block;border-radius:3px;line-height:1em;min-height:1em;white-space:nowrap;text-align:center;cursor:pointer;font-size:1em;font-weight:700;padding:.75em 1em;color:#0009;background:#e0e1e2;text-decoration:none;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;outline:none;vertical-align:baseline;zoom:1;-webkit-user-select:none;user-select:none;transition:all .1s linear}.x-spreadsheet-button.active,.x-spreadsheet-button:hover{background-color:#c0c1c2;color:#000c}.x-spreadsheet-button.primary{color:#fff;background-color:#2185d0}.x-spreadsheet-button.primary:hover,.x-spreadsheet-button.primary.active{color:#fff;background-color:#1678c2}.x-spreadsheet-form-input{font-size:1em;position:relative;font-weight:400;display:inline-flex;color:#000000de}.x-spreadsheet-form-input input{z-index:1;margin:0;max-width:100%;flex:1 0 auto;outline:0;-webkit-tap-highlight-color:rgba(255,255,255,0);text-align:left;line-height:30px;height:30px;padding:0 8px;background:#fff;border:1px solid #e9e9e9;border-radius:3px;transition:box-shadow .1s ease,border-color .1s ease;box-shadow:inset 0 1px 2px #0a0a0a0f}.x-spreadsheet-form-input input:focus{border-color:#4b89ff;box-shadow:inset 0 1px 2px #4b89ff33}.x-spreadsheet-form-select{position:relative;display:inline-block;background:#fff;border:1px solid #e9e9e9;border-radius:2px;cursor:pointer;color:#000000de;-webkit-user-select:none;user-select:none;box-shadow:inset 0 1px 2px #0a0a0a0f}.x-spreadsheet-form-select .input-text{text-overflow:ellipsis;white-space:nowrap;min-width:60px;width:auto;height:30px;line-height:30px;padding:0 8px}.x-spreadsheet-form-fields{display:flex;flex-direction:row;flex-wrap:wrap}.x-spreadsheet-form-fields .x-spreadsheet-form-field{flex:0 1 auto}.x-spreadsheet-form-fields .x-spreadsheet-form-field .label{display:inline-block;margin:0 10px 0 0}.x-spreadsheet-form-field{display:block;vertical-align:middle;margin-left:10px;margin-bottom:10px}.x-spreadsheet-form-field:first-child{margin-left:0}.x-spreadsheet-form-field.error .x-spreadsheet-form-select,.x-spreadsheet-form-field.error input{border-color:#f04134}.x-spreadsheet-form-field .tip{color:#f04134;font-size:.9em}.x-spreadsheet-dimmer{display:none;position:absolute;top:0!important;left:0!important;width:100%;height:100%;text-align:center;vertical-align:middle;background-color:#0009;opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;animation-duration:.5s;transition:background-color .5s linear;-webkit-user-select:none;user-select:none;z-index:1000}.x-spreadsheet-dimmer.active{display:block;opacity:1}form fieldset{border:none}form fieldset label{display:block;margin-bottom:.5em;font-size:1em;color:#666}form fieldset select{font-size:1.1em;width:100%;background-color:#fff;border:none;border-bottom:2px solid #ddd;padding:.5em .85em;border-radius:2px}.x-spreadsheet-modal,.x-spreadsheet-toast{font-size:13px;position:fixed;z-index:1001;text-align:left;line-height:1.25em;min-width:360px;color:#000000de;font-family:Lato,Source Sans Pro,Roboto,Helvetica,Arial,sans-serif;border-radius:4px;border:1px solid rgba(0,0,0,.1);background-color:#fff;background-clip:padding-box;box-shadow:#0003 0 2px 8px}.x-spreadsheet-toast{background-color:#ffffffd9}.x-spreadsheet-modal-header,.x-spreadsheet-toast-header{font-weight:600;background-clip:padding-box;background-color:#ffffffd9;border-bottom:1px solid rgba(0,0,0,.05);border-radius:4px 4px 0 0}.x-spreadsheet-toast-header{color:#f2711c}.x-spreadsheet-modal-header{border-bottom:1px solid #e0e2e4;background:#00000014;font-size:1.0785em}.x-spreadsheet-modal-header,.x-spreadsheet-modal-content,.x-spreadsheet-toast-header,.x-spreadsheet-toast-content{padding:.75em 1em}.x-spreadsheet-menu li:first-child{display:none}.vue-office-excel{height:100%}
|
|
1
|
+
.ant-btn-icon .marsun-icon{color:inherit}._upload-root_xoraq_1{max-width:xl}._upload-container_xoraq_5{font-size:12px;color:var(--font-color-grey)}._upload-wrapper_xoraq_10{color:var(--primary-color);cursor:pointer}._upload-wrapper_xoraq_10:hover{text-decoration:underline}._upload-inner_xoraq_18{display:block}._upload-header_xoraq_22{font-size:var(--font-size-small);color:var(--font-color-grey)}._upload-body_xoraq_27{border-radius:8px;border-width:1px;border-style:solid;padding:16px}._upload-footer_xoraq_34{font-size:var(--font-size-small);font-weight:500;color:var(--font-color-grey)}._upload-row_xoraq_40{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:var(--font-size-small)}._upload-col_xoraq_47{display:flex;align-items:center;gap:8px;font-size:var(--font-size-small)}._upload-wrap_xoraq_10{display:block}._upload-panel_xoraq_58{font-size:12px}._upload-card_xoraq_62{padding:12px;font-size:var(--font-size-small)}._upload-item_xoraq_67{font-size:var(--font-size-small);margin-top:8px;display:block}._upload-link_xoraq_73{margin-top:12px}._upload-label_xoraq_77{display:flex;align-items:center;gap:8px;min-width:0}._upload-value_xoraq_84{color:var(--font-color-grey-1);flex-shrink:0}._upload-meta_xoraq_89{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._upload-icon_xoraq_95{margin:0!important;flex-shrink:0}._upload-title_xoraq_100{font-size:12px;margin-left:0!important;flex-shrink:0}._upload-desc_xoraq_106{flex-shrink:0}._upload-actions_xoraq_110{font-size:30px;margin-bottom:8px}._upload-toolbar_xoraq_115{color:var(--font-color-grey)}._upload-toolbar_xoraq_115:hover{border-color:var(--primary-color)}._upload-toolbar_xoraq_115:hover{color:var(--primary-color)}._upload-list_xoraq_125{margin-top:8px}._upload-file-row_xoraq_129{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px;border-radius:4px;background-color:var(--bg-color-grey);border:1px solid var(--font-color-grey-4)}._upload-file-row-error_xoraq_140{border-color:#f53f3f59;color:var(--error-color)}._upload-drag-icon_xoraq_145{font-size:30px;margin-bottom:8px;color:var(--primary-color)}._app-tour-root_ybirw_1{font-size:12px;color:var(--font-color-grey-1)}._chat-card-chat-card_feoop_1{background-color:var(--bg-color-white);border-radius:12px;border:1px solid var(--font-color-grey-4);transition:all .2s ease;display:flex;flex-direction:column;overflow:hidden;cursor:pointer}._chat-card-chat-card_feoop_1:hover{border-color:var(--primary-color-border);box-shadow:0 10px 15px -3px #0000001a}._chat-card-header_feoop_16{background-color:var(--primary-color-bg);padding:16px 16px 12px;display:flex;align-items:center;gap:12px}._chat-card-avatar_feoop_24{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px 2px #0000000d;background-color:var(--primary-color)}._chat-card-avatar-icon_feoop_36{color:#fff;font-size:var(--font-size-large)}._chat-card-title-wrap_feoop_41{flex:1;min-width:0}._chat-card-title_feoop_41{font-size:var(--font-size-small);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._chat-card-status-row_feoop_54{display:flex;align-items:center;gap:4px;margin-top:2px}._chat-card-status-dot_feoop_61{width:6px;height:6px;border-radius:9999px;flex-shrink:0}._chat-card-status-dot-active_feoop_68{background-color:var(--success-color)}._chat-card-status-dot-inactive_feoop_72{background-color:var(--font-color-grey-2)}._chat-card-status-text-active_feoop_76{font-size:12px;color:var(--success-color)}._chat-card-status-text-inactive_feoop_81{font-size:12px;color:var(--font-color-grey-1)}._chat-card-body_feoop_86{padding:16px;flex:1;display:flex;flex-direction:column}._chat-card-desc_feoop_93{font-size:var(--font-size-small);margin-bottom:12px!important}._chat-card-tags_feoop_98{margin-top:auto}._chat-card-tag-list_feoop_102{display:flex;flex-wrap:wrap;gap:4px}._chat-card-tag_feoop_98,._chat-card-empty-kb_feoop_112{font-size:12px}._chat-card-footer_feoop_116{padding:8px 16px;border-top:1px solid var(--bg-color-grey-1);display:flex;align-items:center}._common-filter-root_16e7m_1{background-color:var(--bg-color-white);margin-bottom:16px}._common-filter-container_16e7m_6{display:flex;align-items:center;gap:12px}._common-filter-label_16e7m_12{flex-shrink:0;font-size:var(--font-size-default);font-weight:500;color:#374151}._common-filter-content_16e7m_19{display:flex;flex:1;align-items:flex-start;justify-content:space-between}._common-filter-items_16e7m_26{display:flex;flex-wrap:wrap;align-items:center;column-gap:6px;row-gap:8px}._common-filter-extra_16e7m_34{flex-shrink:0;margin-left:16px}._common-filter-selected_16e7m_39{display:flex;align-items:center;justify-content:space-between;padding-top:12px}._common-filter-selected-main_16e7m_46{display:flex;align-items:baseline;gap:8px}._common-filter-selected-title_16e7m_52{font-size:12px;font-weight:500;color:var(--font-color-grey)}._common-filter-selected-tags_16e7m_58{flex:1}._common-filter-tag_16e7m_62{display:flex;align-items:center;gap:4px}._common-filter-tag-label_16e7m_68{font-size:12px}._common-filter-tag-close_16e7m_72{font-size:12px;cursor:pointer;margin-left:2px;opacity:.6}._common-filter-tag-close_16e7m_72:hover{opacity:1}._common-filter-tag-close-disabled_16e7m_82{cursor:not-allowed;opacity:.35;pointer-events:none}._common-filter-clear-btn_16e7m_88{padding:0!important;height:auto!important;font-size:12px}._filter-panel-body_tjvgz_1{margin-bottom:12px}._filter-panel-actions_tjvgz_5{display:flex;justify-content:flex-end;gap:8px}._filter-trigger-root_nbyh1_1{display:inline-flex;align-items:center;gap:4px;cursor:pointer;border-radius:4px;padding:2px 6px;font-size:12px;transition:color .2s ease,background-color .2s ease}._filter-trigger-active_nbyh1_12{color:var(--primary-color);background-color:var(--primary-color-bg);font-weight:500}._filter-trigger-inactive_nbyh1_18{color:#374151}._filter-trigger-inactive_nbyh1_18:hover{color:var(--primary-color);background-color:var(--primary-color-bg)}._filter-trigger-chevron_nbyh1_26{font-size:10px}._chat-input-root_1iegn_1{border-top-width:1px;border-top-style:solid;border-color:var(--font-color-grey-4);background-color:var(--bg-color-white);padding:12px 16px 16px}._chat-input-container_1iegn_12{display:flex;align-items:flex-end;gap:8px;border-radius:12px;border-width:1px;border-style:solid;border-color:var(--font-color-grey-3);background-color:var(--bg-color-grey);padding:8px 12px;transition:color .2s ease,background-color .2s ease}._chat-input-wrapper_1iegn_28{flex:1;padding-left:0!important;padding-right:0!important}._chat-input-inner_1iegn_34{flex-shrink:0;height:32px;width:32px;padding:0!important;display:flex;align-items:center;justify-content:center;border-radius:8px}._chat-input-inner_1iegn_34 .ant-btn-icon{font-size:16px;line-height:0;color:inherit}._chat-input-header_1iegn_50{display:flex;align-items:center;justify-content:space-between;margin-top:6px;padding-left:4px;padding-right:4px}._chat-input-body_1iegn_59{font-size:12px}._chat-input-wrap_1iegn_28{position:absolute;left:0;width:2px}._chat-input-panel_1iegn_69{display:flex;gap:12px}._chat-input-card_1iegn_74{flex:1;min-width:0}._chat-input-item_1iegn_79{color:13px;font-weight:500;color:var(--font-color);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._chat-input-link_1iegn_89{color:11px;color:var(--font-color-grey-1);margin-top:4px;margin-bottom:0;line-height:1}._chat-input-label_1iegn_97{margin:10px 0 0;border-color:var(--font-color-grey-3);padding-left:10px}._chat-input-value_1iegn_104{display:flex;flex-direction:column;height:100%;overflow:hidden;background-color:var(--bg-color-white)}._chat-input-meta_1iegn_112{display:flex;align-items:center;justify-content:space-between;height:44px;padding-left:16px;padding-right:16px;border-bottom-width:1px;border-bottom-style:solid;border-color:var(--font-color-grey-4);flex-shrink:0}._chat-input-icon_1iegn_125{font-size:var(--font-size-small);font-weight:600;color:var(--font-color);margin:0}._chat-input-title_1iegn_132{display:flex;align-items:center;gap:4px}._chat-input-desc_1iegn_138{font-size:12px;color:var(--font-color-grey-1);padding-left:6px;padding-right:6px}._chat-input-actions_1iegn_145{font-size:12px}._chat-input-toolbar_1iegn_149{color:var(--font-color-grey-1)!important}._chat-input-toolbar_1iegn_149:hover{color:var(--font-color-grey)!important}._chat-input-list_1iegn_156{flex:1;display:flex;align-items:center;justify-content:center;padding-left:24px;padding-right:24px}._chat-input-loading_1iegn_165{margin-left:16px;margin-right:16px;background-color:var(--bg-color-grey-1)}._chat-input-aside_1iegn_171{display:inline-flex}._chat-input-cell_1iegn_175{position:relative;padding:8px 12px;font-size:var(--font-size-small);line-height:var(--line-height-default);box-shadow:0 1px 2px #0000000d;color:#fff}._chat-input-overlay_1iegn_187{white-space:pre-wrap}._chat-input-badge_1iegn_191{display:flex;align-items:center;gap:4px;padding-top:2px;padding-bottom:2px}._chat-input-tag_1iegn_199{width:8px;height:8px;border-radius:9999px}._chat-input-hint_1iegn_205{display:inline-block;width:2px;height:1em;margin-left:2px}._chat-input-sider_1iegn_212{margin-top:6px;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9999px;background-color:var(--primary-color-bg);border-width:1px;border-style:solid;border-color:var(--primary-color-border);transition:color .2s ease,background-color .2s ease;cursor:pointer}._chat-input-sider_1iegn_212:hover{background-color:var(--primary-color-bg-hover)}._chat-input-sider_1iegn_212:active{background-color:var(--primary-color-bg-active)}._chat-input-nav_1iegn_236{margin-bottom:8px}._chat-input-menu_1iegn_240{display:inline-flex;max-width:100%;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;padding-top:2px;padding-bottom:2px;color:var(--font-color-grey-1);transition:color .2s ease,background-color .2s ease}._chat-input-menu_1iegn_240:hover{color:var(--font-color-grey)}._chat-input-user-menu_1iegn_256{position:relative;display:flex;height:14px;width:14px;flex-shrink:0;align-items:center;justify-content:center}._chat-input-avatar_1iegn_266{position:absolute;height:10px;width:10px;border-radius:9999px}._chat-input-upload_1iegn_273{position:relative;height:6px;width:6px;border-radius:9999px}._chat-input-filter_1iegn_280{height:6px;width:6px;border-radius:9999px;transition:color .2s ease,background-color .2s ease}._chat-input-table_1iegn_287{overflow:hidden}._chat-input-form_1iegn_291{position:relative;margin-top:6px;max-height:144px;overflow-y:auto}._chat-input-modal_1iegn_298{border-color:var(--font-color-grey-3);padding-left:10px;margin-left:4px;color:12px;color:var(--font-color-grey-1)}._chat-input-preview_1iegn_306{display:inline-block;height:1em;margin-left:2px}._chat-input-scroll_1iegn_312{margin-top:6px;margin-left:4px;border-color:var(--font-color-grey-3);padding-left:10px;padding-top:2px;padding-bottom:2px}._chat-input-viewport_1iegn_321{display:inline-block;height:14px}._chat-input-thumb_1iegn_326{background-color:var(--bg-color-white);border-radius:12px;border-width:1px;border-style:solid;border-color:var(--font-color-grey-4);transition:all .2s ease;display:flex;flex-direction:column;overflow:hidden;cursor:pointer}._chat-input-thumb_1iegn_326:hover{border-color:var(--primary-color-border)}._chat-input-thumb_1iegn_326:hover{box-shadow:0 10px 15px -3px #0000001a}._chat-input-track_1iegn_345{background-color:var(--primary-color-bg);padding:16px 16px 12px;display:flex;align-items:center;gap:12px}._chat-input-banner_1iegn_356{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px 2px #0000000d}._chat-input-stats_1iegn_367{color:#fff;font-size:var(--font-size-large)}._chat-input-chart_1iegn_372{font-size:var(--font-size-small);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._chat-input-grid_1iegn_380{display:flex;align-items:center;gap:4px;margin-top:2px}._chat-input-block_1iegn_387{padding:16px;flex:1;display:flex;flex-direction:column}._chat-input-box_1iegn_394{font-size:var(--font-size-small);margin-bottom:12px!important}._chat-input-field_1iegn_399{margin-top:auto}._chat-input-input_1iegn_403{display:flex;flex-wrap:wrap;gap:4px}._chat-input-output_1iegn_409{padding:8px 16px;border-top-width:1px;border-top-style:solid;display:flex;align-items:center}._chat-input-block26_1iegn_420{background-color:var(--primary-color-bg)}._chat-input-block27_1iegn_424{position:relative;padding:14px 16px;transition:color .2s ease,background-color .2s ease}._chat-input-block28_1iegn_433{color:#fff}._chat-input-block29_1iegn_437{color:var(--font-color-grey-1);border-width:1px;border-style:solid;border-color:var(--font-color-grey-3);background-color:var(--bg-color-white)}._chat-input-block30_1iegn_445{flex-shrink:0;margin-top:2px;width:20px;height:20px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:10px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}._chat-input-block31_1iegn_460{cursor:pointer}._chat-input-block32_1iegn_464{display:flex;align-items:flex-start;gap:8px;outline:none;border-radius:6px;margin-right:-4px;padding-right:4px}._chat-input-block33_1iegn_474{transform:rotate(180deg)}._chat-input-block34_1iegn_478{flex-shrink:0;color:10px;margin-top:4px;transition:transform .2s ease}._chat-input-block35_1iegn_485{opacity:1}._chat-input-block36_1iegn_489{opacity:0}._chat-input-block37_1iegn_493{justify-content:flex-end}._chat-input-block38_1iegn_497{justify-content:flex-start}._chat-input-block39_1iegn_501{margin-top:4px;display:flex;align-items:center;gap:2px;transition:opacity .2s ease}._chat-input-block40_1iegn_509{color:var(--primary-color)!important}._chat-input-block41_1iegn_513{color:var(--font-color-grey-1)!important}._chat-input-block41_1iegn_513:hover{color:var(--primary-color)!important}._chat-input-block42_1iegn_520{height:28px!important;width:28px!important;padding:0!important}._chat-input-block43_1iegn_526{flex-direction:row}._chat-input-block44_1iegn_530{display:flex;gap:12px;margin-bottom:20px}._chat-input-block45_1iegn_536{flex-shrink:0}._chat-input-block46_1iegn_540{align-items:flex-end}._chat-input-block47_1iegn_544{align-items:flex-start}._chat-input-block48_1iegn_548{max-width:72%;min-width:0;display:flex;flex-direction:column}._chat-input-block49_1iegn_555{padding:8px 12px;font-size:var(--font-size-small);line-height:var(--line-height-default);box-shadow:0 1px 2px #0000000d;background-color:var(--bg-color-white);border-width:1px;border-style:solid;border-color:var(--font-color-grey-4);white-space:pre-wrap;min-width:0;max-width:100%;overflow:hidden}._chat-input-block50_1iegn_573{position:relative}._chat-input-block51_1iegn_577{margin-top:4px}._chat-input-block52_1iegn_581{max-width:none;min-width:0;white-space:pre-wrap;overflow-x:auto}._chat-input-block53_1iegn_588{flex-shrink:0;transition:transform .2s ease}._chat-input-block54_1iegn_593{color:var(--font-color-grey)}._chat-input-block55_1iegn_597{color:13px}._chat-input-block56_1iegn_601{display:grid}._chat-input-block57_1iegn_605{background-color:var(--success-color)}._chat-input-block58_1iegn_609{background-color:var(--font-color-grey-2)}._chat-input-block59_1iegn_613{width:6px;height:6px;border-radius:9999px;flex-shrink:0}._chat-input-block60_1iegn_620{color:var(--success-color)}._chat-input-block61_1iegn_624{color:var(--font-color-grey-1)}._chat-input-block62_1iegn_628{font-size:12px}._chat-suggestion-row_1l9qy_1{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px;flex-shrink:0}._chat-suggestion-chip_1l9qy_9{font-size:11px;padding:4px 10px;border-radius:999px;background:#2563eb14;color:var(--primary-color, #2563eb);border:1px solid rgba(37,99,235,.15);cursor:pointer}._chat-suggestion-chip_1l9qy_9:hover{background:#2563eb24}._citation-inline-badge-row_1g1kb_1{display:inline-flex;align-items:center;justify-content:center;min-width:1.125rem;height:1.125rem;padding-left:4px;padding-right:4px;margin-left:2px;margin-right:2px;font-size:10px;font-weight:600;line-height:1;color:var(--primary-color);vertical-align:middle;transform:translateY(-1px);border-radius:4px;background-color:var(--primary-color-bg);border:1px solid var(--primary-color-border);cursor:pointer;transition:color .2s ease,background-color .2s ease}._citation-inline-badge-row_1g1kb_1:hover{background-color:var(--primary-color-bg-hover)}._citation-inline-badge-row_1g1kb_1:active{background-color:var(--primary-color-bg-active)}._citation-markdown-content-col_1157p_1{font-size:12px;color:var(--font-color-grey-1);padding-top:8px;padding-bottom:8px}._message-actions-message-actions_2eqe2_1{margin-top:4px;display:flex;align-items:center;gap:2px;transition:opacity .2s ease;opacity:0}.group:hover ._message-actions-message-actions_2eqe2_1,._message-actions-visible_2eqe2_13{opacity:1}._message-actions-left_2eqe2_17{justify-content:flex-start}._message-actions-right_2eqe2_21{justify-content:flex-end}._message-actions-message-action-btn_2eqe2_25{height:28px!important;width:28px!important;padding:0!important}._message-actions-message-action-btn-default_2eqe2_31{color:var(--font-color-grey-1)!important}._message-actions-message-action-btn-default_2eqe2_31:hover,._message-actions-message-action-btn-active_2eqe2_38{color:var(--primary-color)!important}._message-actions-message-action-btn-wrap_2eqe2_42{display:inline-flex}._message-edit-popover-main_1ba21_1{width:320px}._message-edit-popover-section_1ba21_5{font-size:var(--font-size-small)!important}._message-edit-popover-group_1ba21_9{margin-top:12px;display:flex;justify-content:flex-end;gap:8px}._thinking-section-thinking-section_1qx67_1{margin-bottom:8px}._thinking-section-thinking-toggle_1qx67_5{display:inline-flex;max-width:100%;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:2px 0;color:var(--font-color-grey-1);transition:color .2s ease}._thinking-section-thinking-toggle_1qx67_5:hover{color:var(--font-color-grey)}._thinking-section-thinking-toggle-icon-wrap_1qx67_20{position:relative;display:flex;height:14px;width:14px;flex-shrink:0;align-items:center;justify-content:center}._thinking-section-thinking-ping-ring_1qx67_30{position:absolute;height:10px;width:10px;border-radius:9999px;background-color:var(--primary-color-fill);animation:_thinkingPing_1qx67_1 1s cubic-bezier(0,0,.2,1) infinite}._thinking-section-thinking-dot-active_1qx67_39{position:relative;height:6px;width:6px;border-radius:9999px;background-color:var(--primary-color)}._thinking-section-thinking-dot-idle_1qx67_47{height:6px;width:6px;border-radius:9999px;background-color:var(--font-color-grey-2);transition:background-color .2s ease}.group:hover ._thinking-section-thinking-dot-idle_1qx67_47{background-color:var(--font-color-grey-1)}._thinking-section-thinking-status-label_1qx67_58{font-size:13px;letter-spacing:-.01em}._thinking-section-thinking-status-label-active_1qx67_63{color:var(--font-color-grey)}._thinking-section-thinking-chevron_1qx67_67{flex-shrink:0;color:var(--font-color-grey-2);transition:transform .2s ease}._thinking-section-thinking-chevron-expanded_1qx67_73{transform:rotate(180deg)}._thinking-section-thinking-expand-grid_1qx67_77{display:grid;transition:grid-template-rows .2s ease-out}._thinking-section-thinking-expand-grid-open_1qx67_82{grid-template-rows:1fr}._thinking-section-thinking-expand-grid-closed_1qx67_86{grid-template-rows:0fr}._thinking-section-thinking-expand-inner_1qx67_90{overflow:hidden}._thinking-section-thinking-scroll-area_1qx67_94{position:relative;margin-top:6px;max-height:144px;overflow-y:auto}._thinking-section-thinking-content_1qx67_101{border-left:1px solid var(--font-color-grey-3);padding-left:10px;margin-left:4px;font-size:12px;line-height:1.7;color:var(--font-color-grey-1);word-break:break-word}._thinking-section-thinking-content_1qx67_101 p{margin-top:2px;margin-bottom:2px}._thinking-section-thinking-content_1qx67_101 p:last-child{margin-bottom:0}._thinking-section-thinking-content_1qx67_101 ul,._thinking-section-thinking-content_1qx67_101 ol{margin-top:2px;margin-bottom:2px}._thinking-section-thinking-content_1qx67_101 li{margin-top:0;margin-bottom:0}._thinking-section-thinking-cursor_1qx67_127{display:inline-block;width:1px;height:1em;margin-left:2px;vertical-align:middle;background-color:#999c;animation:_typingPulse_1qx67_1 1s cubic-bezier(.4,0,.6,1) infinite}._thinking-section-thinking-empty-cursor-wrap_1qx67_137{margin-top:6px;margin-left:4px;border-left:1px solid var(--font-color-grey-3);padding-left:10px;padding-top:2px;padding-bottom:2px}._thinking-section-thinking-empty-cursor_1qx67_137{display:inline-block;width:1px;height:14px;vertical-align:middle;background-color:#999c;animation:_typingPulse_1qx67_1 1s cubic-bezier(.4,0,.6,1) infinite}._message-item-message-row_bwatj_1{display:flex;gap:12px;margin-bottom:20px}._message-item-message-row-reverse_bwatj_7{flex-direction:row-reverse}._message-item-message-avatar_bwatj_11{flex-shrink:0}._message-item-message-avatar-assistant_bwatj_15{background-color:var(--primary-color-bg)}._message-item-message-content_bwatj_19{max-width:72%;min-width:0;display:flex;flex-direction:column}._message-item-message-content-user_bwatj_26{align-items:flex-end}._message-item-message-content-assistant_bwatj_30{align-items:flex-start}._message-item-message-user-bubble_bwatj_34{position:relative;border-radius:16px 0 16px 16px;padding:8px 12px;font-size:var(--font-size-small);line-height:var(--line-height-default);box-shadow:0 1px 2px #0000000d;color:#fff;background-color:var(--primary-color)}._message-item-message-user-bubble-text_bwatj_46{white-space:pre-wrap}._message-item-message-assistant-bubble_bwatj_50{position:relative;border-radius:0 16px 16px;padding:8px 12px;font-size:var(--font-size-small);line-height:var(--line-height-default);box-shadow:0 1px 2px #0000000d;background-color:var(--bg-color-white);border:1px solid var(--font-color-grey-4);color:var(--font-color);white-space:pre-wrap;word-break:break-word;min-width:0;max-width:100%;overflow:hidden}._message-item-message-loading-dots_bwatj_68{display:flex;align-items:center;gap:4px;padding:2px 0}._message-item-message-loading-dot_bwatj_68{width:8px;height:8px;border-radius:9999px;background-color:var(--font-color-grey-2)}._message-item-message-loading-dot_bwatj_68:nth-child(1){animation:_messageDotBounce_bwatj_1 1.2s infinite}._message-item-message-loading-dot_bwatj_68:nth-child(2){animation:_messageDotBounce_bwatj_1 1.2s infinite .2s}._message-item-message-loading-dot_bwatj_68:nth-child(3){animation:_messageDotBounce_bwatj_1 1.2s infinite .4s}._message-item-message-answer-markdown_bwatj_91{max-width:none;min-width:0;word-break:break-word;white-space:pre-wrap;overflow-x:auto}._message-item-message-answer-markdown_bwatj_91 p{margin-top:4px;margin-bottom:4px}._message-item-message-answer-markdown_bwatj_91 p:last-child{margin-bottom:0}._message-item-message-answer-markdown_bwatj_91 ul,._message-item-message-answer-markdown_bwatj_91 ol{margin-top:4px;margin-bottom:4px}._message-item-message-answer-markdown_bwatj_91 ul:last-child,._message-item-message-answer-markdown_bwatj_91 ol:last-child{margin-bottom:0}._message-item-message-answer-markdown_bwatj_91 li{margin-top:0;margin-bottom:0}._message-item-message-answer-markdown_bwatj_91 *:last-child{margin-bottom:0}._message-item-message-answer-markdown_bwatj_91 pre{max-width:100%;overflow-x:auto;white-space:pre-wrap}._message-item-message-answer-markdown_bwatj_91 code{word-break:break-word}._message-item-message-answer-markdown-spaced_bwatj_130{margin-top:4px}._message-item-message-typing-cursor_bwatj_134{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:middle;background-color:var(--primary-color);animation:_typingPulse_bwatj_1 1s cubic-bezier(.4,0,.6,1) infinite}._message-item-citation-summary-button_bwatj_144{margin-top:6px;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9999px;background-color:var(--primary-color-bg);border:1px solid var(--primary-color-border);transition:background-color .2s ease;cursor:pointer}._message-item-citation-summary-button_bwatj_144:hover{background-color:var(--primary-color-bg-hover)}._message-item-citation-summary-button_bwatj_144:active{background-color:var(--primary-color-bg-active)}._message-item-citation-summary-icon_bwatj_163,._message-item-citation-summary-text_bwatj_168{font-size:12px;color:var(--primary-color)}._chat-panel_j7eqa_1{display:flex;flex-direction:column;min-height:0;height:100%;background:var(--bg-color-white)}._chat-panel-head_j7eqa_9{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:14px 16px 10px;border-bottom:1px solid var(--font-color-grey-4);flex-shrink:0;background:var(--bg-color-white)}._chat-panel-title_j7eqa_20{display:block;font-size:16px;font-weight:700;line-height:1.3;color:var(--font-color)}._chat-panel-subtitle_j7eqa_28{display:block;margin-top:4px;font-size:11px;color:var(--font-color-grey-1)}._chat-panel-messages-wrapper_j7eqa_35{flex:1;min-height:120px;background:var(--bg-color-grey)}._chat-panel-messages_j7eqa_35{padding:8px 12px}._chat-panel-empty_j7eqa_45{margin:0;padding:12px 4px;font-size:13px;color:var(--font-color-grey-1)}._chat-panel-input_j7eqa_52{flex-shrink:0;padding:8px 12px 12px;background:var(--bg-color-white);border-top:1px solid var(--font-color-grey-4)}._virtual-scrollbar-root_hy6p8_1{position:relative;display:flex;flex-direction:column;overflow:hidden;min-height:0;min-width:0}._virtual-scrollbar-viewport_hy6p8_14{flex:1 1 auto;width:100%;height:100%;min-height:0;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}._virtual-scrollbar-viewport_hy6p8_14::-webkit-scrollbar{display:none}._virtual-scrollbar-track_hy6p8_27{opacity:1;pointer-events:auto}._virtual-scrollbar-track-vertical_hy6p8_32{position:absolute;z-index:2;opacity:0;pointer-events:none;transition:opacity .2s ease;top:2px;right:2px;bottom:2px;width:6px}._virtual-scrollbar-track-horizontal_hy6p8_44{opacity:1;pointer-events:auto}._virtual-scrollbar-thumb_hy6p8_49{top:0;bottom:0;min-width:24px}._citation-content-footer_olxly_1{max-width:none;color:12px;color:var(--font-color-grey)}._citation-content-citation-rich-content_olxly_7{font-size:12px;color:var(--font-color-grey);line-height:1.7;word-break:break-word}._citation-content-citation-rich-content_olxly_7 table{width:100%;margin-top:8px;margin-bottom:8px;font-size:11px;border-collapse:collapse}._citation-content-citation-rich-content_olxly_7 th{border:1px solid var(--font-color-grey-3);background-color:var(--bg-color-grey);padding:4px 8px;text-align:left;font-weight:500}._citation-content-citation-rich-content_olxly_7 td{border:1px solid var(--font-color-grey-3);padding:4px 8px;vertical-align:top}._citation-content-citation-rich-content_olxly_7 p,._citation-content-citation-rich-content_olxly_7 ul,._citation-content-citation-rich-content_olxly_7 ol{margin-top:4px;margin-bottom:4px}._citation-content-citation-rich-content_olxly_7 ul,._citation-content-citation-rich-content_olxly_7 ol{padding-left:16px}._citation-content-citation-rich-content_olxly_7 h1{font-size:var(--font-size-small);font-weight:600;margin-top:4px;margin-bottom:4px}._citation-content-citation-rich-content_olxly_7 h2{font-size:12px;font-weight:600;margin-top:4px;margin-bottom:4px}._citation-panel-empty_13e4b_1{flex:1;display:flex;align-items:center;justify-content:center}._citation-panel-citation-summary-icon_13e4b_8{font-size:12px}._citation-panel-citation-panel_13e4b_12{display:flex;flex-direction:column;height:100%;overflow:hidden;background-color:var(--bg-color-white)}._citation-panel-header_13e4b_20{display:flex;align-items:center;justify-content:space-between;height:44px;padding-left:16px;padding-right:16px;border-bottom:1px solid var(--font-color-grey-4);flex-shrink:0}._citation-panel-title_13e4b_31{font-size:var(--font-size-small);font-weight:600;color:var(--font-color);margin:0;letter-spacing:-.01em}._citation-panel-header-actions_13e4b_39{display:flex;align-items:center;gap:4px}._citation-panel-count_13e4b_45{font-size:12px;color:var(--font-color-grey-1);font-variant-numeric:tabular-nums;padding-left:6px;padding-right:6px}._citation-panel-close-btn_13e4b_53{color:var(--font-color-grey-1)!important;box-shadow:none!important}._citation-panel-close-btn_13e4b_53:hover{color:var(--font-color-grey)!important}._citation-panel-divider_13e4b_61{margin-left:16px;margin-right:16px;height:1px;background-color:var(--font-color-grey-4)}._citation-panel-citation-item_13e4b_68{position:relative;padding:14px 16px;transition:background-color .2s ease}._citation-panel-citation-item-highlighted_13e4b_74{background-color:var(--primary-color-bg)}._citation-panel-citation-item-marker_13e4b_78{position:absolute;left:0;top:12px;bottom:12px;width:2px;border-radius:0 9999px 9999px 0;background-color:var(--primary-color)}._citation-panel-citation-item-body_13e4b_88{display:flex;gap:12px;align-items:center}._citation-panel-citation-item-index_13e4b_94{flex-shrink:0;margin-top:2px;width:20px;height:20px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}._citation-panel-citation-item-index-highlighted_13e4b_109{color:#fff}._citation-panel-citation-item-index-default_13e4b_113{color:var(--font-color-grey-1);border:1px solid var(--font-color-grey-3);background-color:var(--bg-color-white)}._citation-panel-citation-item-content_13e4b_119{flex:1;min-width:0}._citation-panel-citation-item-header_13e4b_124{display:flex;align-items:flex-start;gap:8px;outline:none;border-radius:6px;margin-right:-4px;padding-right:4px}._citation-panel-citation-item-header-main_13e4b_134{flex:1;min-width:0}._citation-panel-citation-item-header-interactive_13e4b_139{cursor:pointer}._citation-panel-citation-item-header-interactive_13e4b_139:focus-visible{outline:2px solid var(--primary-color-border);outline-offset:1px}._citation-panel-citation-item-title_13e4b_147{flex:1;min-width:0;font-size:13px;font-weight:500;color:var(--font-color);line-height:1.375;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._citation-panel-citation-item-meta_13e4b_160{font-size:11px;color:var(--font-color-grey-1);margin-top:4px;margin-bottom:0;line-height:1}._citation-panel-citation-item-chevron_13e4b_168{flex-shrink:0;font-size:10px;color:var(--font-color-grey-2);margin-top:4px;transition:transform .2s ease}._citation-panel-citation-item-chevron-expanded_13e4b_176{transform:rotate(180deg)}._citation-panel-citation-item-quote_13e4b_180{margin:10px 0 0;border-left:2px solid var(--font-color-grey-3);padding-left:10px}._parse-status-tag-container_40gl6_1{margin-right:4px}._document-table-root_6pilq_1{font-weight:500}._file-link-inner_uetzp_1{flex-shrink:0}._file-link-row_uetzp_5{flex-shrink:0;font-size:12px;color:var(--font-color-grey-1)}._file-link-actions_uetzp_11{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-small);transition:color .2s ease,background-color .2s ease}._file-link-actions_uetzp_11:hover{color:var(--primary-color)}._file-link-toolbar_uetzp_22{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._file-preview-list_m0qyk_1{position:relative}._file-preview-empty_m0qyk_5{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;background-color:var(--bg-color-white)}._file-preview-loading_m0qyk_15{width:100%;padding-top:80px;padding-bottom:80px}._file-preview-content_m0qyk_21{padding:16px;font-size:var(--font-size-small);white-space:pre-wrap;overflow:auto;max-height:70vh;background-color:var(--bg-color-grey)}._file-preview-aside_m0qyk_30{padding:24px;overflow:auto;max-height:70vh;background-color:var(--bg-color-white)}._file-preview-main_m0qyk_37{display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto;max-height:70vh}._file-preview-section_m0qyk_46{max-width:100%;max-height:65vh;object-fit:contain}._file-preview-group_m0qyk_52{width:100%}._file-preview-cell_m0qyk_56{overflow:auto;max-height:70vh;background-color:var(--bg-color-white)}._file-preview-overlay_m0qyk_62{position:relative;display:flex;align-items:center;justify-content:center}._file-preview-badge_m0qyk_69{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:48px;padding-bottom:48px;gap:16px}._file-preview-tag_m0qyk_79{position:relative;display:flex;align-items:center;justify-content:center;padding:16px}._file-preview-hint_m0qyk_87{max-width:100%;max-height:65vh}._file-preview-sider_m0qyk_92{font-size:48px}._file-preview-nav_m0qyk_96{text-align:center}._file-preview-menu_m0qyk_100{color:var(--font-color-grey);margin-bottom:4px}._file-preview-user-menu_m0qyk_105{font-size:12px;color:var(--font-color-grey-1)}._file-preview-avatar_m0qyk_110{display:flex;align-items:center;justify-content:center;padding:32px}._file-preview-upload_m0qyk_117{width:100%;max-width:1024px}._file-preview-filter_m0qyk_122{display:flex;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px;border-bottom-width:1px;border-bottom-style:solid;border-color:var(--font-color-grey-4)}._file-preview_m0qyk_1{display:flex;flex-direction:column;width:100%}._file-preview-header_m0qyk_139{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;width:100%}._file-preview-info_m0qyk_148{display:flex;align-items:center;gap:8px;min-width:0;flex:1}._file-preview-icon_m0qyk_156{display:inline-flex;flex-shrink:0}._file-preview-name_m0qyk_161{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}._file-preview-size_m0qyk_168{flex-shrink:0;font-size:12px;color:var(--font-color-grey-1)}._file-preview-body_m0qyk_174{width:100%}._file-preview-iframe_m0qyk_178{display:block;width:100%;height:70vh;border:none;background:var(--bg-color-grey)}._file-preview-media-wrap_m0qyk_186{display:flex;justify-content:center;width:100%}._file-preview-image_m0qyk_192{width:100%;max-height:70vh;object-fit:contain}._file-preview-video_m0qyk_198{width:100%;max-height:70vh;background:#000}._file-preview-audio-wrap_m0qyk_204{display:flex;align-items:center;justify-content:center;width:100%;padding:48px 16px}._file-preview-audio_m0qyk_204{width:100%}._file-preview-office-wrap_m0qyk_216{width:100%;height:70vh;min-height:480px}._file-preview-office-spin_m0qyk_222,._file-preview-office-spin_m0qyk_222 .ant-spin-container{width:100%;height:100%;min-height:inherit}._file-preview-office-inner_m0qyk_233{width:100%;height:100%;min-height:480px;overflow:auto}._file-preview-text_m0qyk_240{margin:0;padding:16px;width:100%;max-height:70vh;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:var(--font-size-small);background:var(--bg-color-grey);box-sizing:border-box}._file-preview-table_m0qyk_253{font-weight:500}._file-preview-link_1q16r_1{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-small);transition:color .2s ease}._file-preview-link_1q16r_1:hover{color:var(--primary-color)}._file-preview-link-wrap_1q16r_12{align-items:flex-start;max-width:100%}._file-preview-link-disabled_1q16r_17{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-small);color:var(--font-color-grey-1);cursor:not-allowed}._file-preview-link-inner_1q16r_26{flex-shrink:0}._file-preview-link-name_1q16r_30{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._file-preview-link-name-wrap_1q16r_36{overflow:visible;text-overflow:unset;white-space:normal;word-break:break-all;line-height:1.5}._file-preview-link-type_1q16r_44{flex-shrink:0;font-size:12px;color:var(--font-color-grey-1)}._tags-tag-list_d5l57_1{display:flex;align-items:center;gap:4px;flex-wrap:wrap}._tags-tag-list-nowrap_d5l57_8{flex-wrap:nowrap}._tags-tag-list-tooltip_d5l57_12{max-width:320px}._filter-date-range-quick-options_ctl7u_1{margin-bottom:12px;display:flex;flex-wrap:wrap;gap:8px}._filter-date-range-quick-option_ctl7u_1{cursor:pointer;border-radius:4px;padding:4px 8px;font-size:var(--font-size-small)}._filter-date-range-quick-option_ctl7u_1:hover{background-color:var(--primary-color-bg)}._filter-date-range-quick-option-active_ctl7u_18{background-color:var(--primary-color);color:var(--bg-color-white);font-weight:500}._filter-date-range-picker_ctl7u_24{width:100%}._filter-number-range-inputs_y3pfu_1{display:flex;align-items:center;gap:8px}._filter-number-range-separator_y3pfu_7{color:var(--font-color-grey-1)}._filter-number-range-unit_y3pfu_11{font-size:var(--font-size-small);color:var(--font-color-grey)}._person-option-row-root_lf6i9_1{font-size:var(--font-size-small)}._person-option-row-container_lf6i9_5{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._person-option-row-wrapper_lf6i9_11{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--font-color-grey-1);font-size:12px}._person-option-row-inner_lf6i9_19{margin-left:auto;flex-shrink:0;color:var(--font-color-grey-1)}._person-option-row-inner_lf6i9_19:hover{color:var(--primary-color)}._person-option-row-person-row_lf6i9_28{display:flex;align-items:center;gap:8px;min-width:0;flex:1}._filter-select-search_11rsz_1{margin-bottom:12px}._filter-select-options_11rsz_5{max-height:300px;overflow:auto}._filter-select-option_11rsz_5{display:flex;align-items:center;gap:8px;cursor:pointer;border-radius:4px;padding:6px 8px;font-size:var(--font-size-small)}._filter-select-option_11rsz_5:hover{background-color:var(--bg-color-grey)}._filter-select-option-selected_11rsz_23{color:var(--primary-color);font-weight:500}._filter-select-option-check_11rsz_28{margin-left:auto;font-size:12px;color:var(--primary-color)}._filter-select-empty_11rsz_34{padding-top:16px;padding-bottom:16px;text-align:center;font-size:var(--font-size-small);color:var(--font-color-grey-1)}._filter-select-selected-bar_11rsz_42{margin-top:8px;border-top-width:1px;border-top-style:solid;padding-top:8px}._filter-select-selected-label_11rsz_49{margin-bottom:4px;font-size:12px;color:var(--font-color-grey-1)}._filter-select-selected-tag_11rsz_55{display:inline-flex;cursor:pointer;align-items:center;gap:4px;background-color:var(--bg-color-grey-1);padding:2px 6px;font-size:12px}._filter-select-selected-tag-disabled_11rsz_68{cursor:not-allowed;opacity:.55}._filter-select-selected-remove_11rsz_73{font-size:10px}._filter-select-selected-remove-disabled_11rsz_77{opacity:.45}._filter-tree-select-search_he1ck_1{margin-bottom:12px}._filter-tree-select-options_he1ck_5{max-height:300px;overflow:auto}._filter-tree-select-option_he1ck_5{display:flex;align-items:center;gap:8px;cursor:pointer;border-radius:4px;padding:6px 8px;font-size:var(--font-size-small)}._filter-tree-select-option_he1ck_5:hover{background-color:var(--bg-color-grey)}._filter-tree-select-option-selected_he1ck_23{color:var(--primary-color);font-weight:500}._filter-tree-select-option-check_he1ck_28{margin-left:auto;font-size:12px;color:var(--primary-color)}._filter-tree-select-expand-icon_he1ck_34{display:inline-flex;width:16px;flex-shrink:0;cursor:pointer;align-items:center;justify-content:center;color:var(--font-color-grey-1)}._filter-tree-select-expand-placeholder_he1ck_44{display:inline-flex;width:16px;flex-shrink:0}._filter-tree-select-node-label_he1ck_50{flex:1}._filter-tree-select-empty_he1ck_54{padding-top:16px;padding-bottom:16px;text-align:center;font-size:var(--font-size-small);color:var(--font-color-grey-1)}._filter-tree-select-selected-bar_he1ck_62{margin-top:8px;border-top-width:1px;border-top-style:solid;padding-top:8px}._filter-tree-select-selected-label_he1ck_69{margin-bottom:4px;font-size:12px;color:var(--font-color-grey-1)}._filter-tree-select-selected-tag_he1ck_75{display:inline-flex;cursor:pointer;align-items:center;gap:4px;background-color:var(--bg-color-grey-1);padding:2px 6px;font-size:12px}._filter-tree-select-selected-remove_he1ck_88{font-size:10px}._knowledge-card-wrapper_a20ij_1{background-color:var(--bg-color-white);border-radius:12px;border-width:1px;border-style:solid;border-color:var(--font-color-grey-4);transition:all .2s ease;display:flex;flex-direction:column;overflow:hidden;cursor:pointer}._knowledge-card-wrapper_a20ij_1:hover{border-color:var(--primary-color-border)}._knowledge-card-wrapper_a20ij_1:hover{box-shadow:0 10px 15px -3px #0000001a}._knowledge-card-inner_a20ij_20{height:4px;background-color:var(--primary-color)}._knowledge-card-header_a20ij_25{padding:16px;flex:1;display:flex;flex-direction:column}._knowledge-card-body_a20ij_32{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}._knowledge-card-footer_a20ij_39{width:40px;height:40px;border-radius:12px;background-color:var(--primary-color-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}._knowledge-card-row_a20ij_50{font-size:var(--font-size-large);color:var(--primary-color)}._knowledge-card-col_a20ij_55{flex:1;min-width:0}._knowledge-card-wrap_a20ij_1{font-size:var(--font-size-small);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._knowledge-card-panel_a20ij_68{font-size:12px;margin-top:4px}._knowledge-card-card_a20ij_73{font-size:12px;margin-bottom:12px!important}._knowledge-card-item_a20ij_78{display:flex;align-items:center;gap:8px;margin-top:auto}._knowledge-card-link_a20ij_85{flex:1;display:flex;flex-direction:column;align-items:center;background-color:var(--bg-color-grey);border-radius:8px;padding-top:8px;padding-bottom:8px}._knowledge-card-label_a20ij_96{font-size:var(--font-size-small)}._knowledge-card-value_a20ij_100{font-size:12px;margin-top:2px}._knowledge-card-meta_a20ij_105{margin-top:12px}._knowledge-card-icon_a20ij_109{display:flex;justify-content:space-between;font-size:12px;color:var(--font-color-grey-1);margin-bottom:4px}._knowledge-card-title_a20ij_117{padding:8px 16px;border-top-width:1px;border-top-style:solid;display:flex;align-items:center}._llm-formatted-text_1mo0r_1{font-size:13px;line-height:1.6;color:var(--color-text, #0f172a)}._is-loading_1mo0r_7{display:flex;align-items:center;gap:8px;color:var(--color-text-muted, #94a3b8)}._ft-spinner_1mo0r_14{width:14px;height:14px;border:2px solid #cbd5e1;border-top-color:var(--primary-color, #1677ff);border-radius:50%;animation:_llm-ft-spin_1mo0r_1 .8s linear infinite}@keyframes _llm-ft-spin_1mo0r_1{to{transform:rotate(360deg)}}._ft-summary_1mo0r_28{margin:0 0 8px;font-weight:500}._ft-section_1mo0r_33{margin-top:10px}._ft-section-title_1mo0r_37{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:13px;font-weight:600}._ft-section-icon_1mo0r_46{color:var(--primary-color, #1677ff)}._ft-list_1mo0r_50{margin:0;padding-left:0;list-style:none}._ft-list_1mo0r_50 li{display:flex;gap:8px;margin-bottom:4px}._ft-num_1mo0r_62{flex-shrink:0;width:18px;color:var(--color-text-muted, #94a3b8);font-size:12px}._ft-paragraph_1mo0r_69{margin:0}._mermaid-block-col_u7wop_1{font-size:12px;color:var(--font-color-grey-1);padding-top:8px;padding-bottom:8px}._mermaid-block-content_u7wop_8{font-size:12px;margin-top:4px}._page-header-layout-root_13o9c_1{display:flex;align-items:center;justify-content:space-between}._page-header-layout-container_13o9c_7{display:flex;align-items:center}._page-header-layout-wrapper_13o9c_12{font-size:var(--font-size-18);font-weight:600}._page-header-layout-inner_13o9c_17{margin-bottom:16px;padding:8px 12px;background-color:var(--primary-color-bg);border:1px solid var(--primary-color-border);border-radius:4px;font-size:var(--font-size-small);color:var(--primary-color)}._session-sidebar-status_f2lgq_1{display:flex;height:100%;min-height:0;width:256px;flex-shrink:0;flex-direction:column;overflow:hidden;border-color:var(--font-color-grey-4);background-color:var(--bg-color-white)}._session-sidebar-info_f2lgq_13{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:8px;border-bottom-width:1px;border-bottom-style:solid;border-color:var(--font-color-grey-4);padding:12px 16px}._session-sidebar-detail_f2lgq_28{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-small)}._session-sidebar-summary_f2lgq_37{flex-shrink:0;height:28px!important;width:28px!important;padding:0!important;display:flex;align-items:center;justify-content:center;color:var(--font-color-grey)}._session-sidebar-summary_f2lgq_37:hover{color:var(--primary-color)}._session-sidebar-media_f2lgq_51{min-height:0;flex:1}._session-sidebar-figure_f2lgq_56{padding-top:8px;padding-bottom:8px}._session-sidebar-caption_f2lgq_61{display:flex;justify-content:center;padding:40px 16px}._session-sidebar-divider_f2lgq_70{padding-left:16px;padding-right:16px}._session-sidebar-block1_f2lgq_75{padding-top:32px;padding-bottom:32px}._session-sidebar-block2_f2lgq_80{display:flex;flex-direction:column;gap:2px;padding-left:8px;padding-right:8px}._session-sidebar-block3_f2lgq_88{pointer-events:none;flex-shrink:0;white-space:nowrap;font-size:12px;color:var(--font-color-grey-1)}._session-sidebar-block4_f2lgq_96{display:none;flex-shrink:0}._session-sidebar-block5_f2lgq_101{font-size:var(--font-size-small)}._session-sidebar-session-item_f2lgq_105{display:flex;min-width:0;align-items:center;gap:8px;border-radius:6px;padding:8px 12px;transition:color .2s ease,background-color .2s ease;color:var(--font-color-grey);cursor:pointer}._session-sidebar-session-item_f2lgq_105:hover:not(._session-sidebar-session-item-disabled_f2lgq_116){background-color:var(--primary-color-bg);color:var(--font-color)}._session-sidebar-session-item_f2lgq_105:hover:not(._session-sidebar-session-item-disabled_f2lgq_116) ._session-sidebar-block3_f2lgq_88{display:none}._session-sidebar-session-item_f2lgq_105:hover:not(._session-sidebar-session-item-disabled_f2lgq_116) ._session-sidebar-block4_f2lgq_96{display:flex}._session-sidebar-session-item-active_f2lgq_127{background-color:var(--primary-color-bg);color:var(--primary-color)}._session-sidebar-session-item-active_f2lgq_127:hover{background-color:var(--primary-color-bg-hover)}._session-sidebar-session-item-disabled_f2lgq_116{cursor:not-allowed;opacity:.5}._session-sidebar-session-button_f2lgq_140{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;text-align:left;font-size:var(--font-size-small);outline:none;cursor:pointer;font-weight:400;color:inherit}._session-sidebar-session-button-active_f2lgq_158{font-weight:500;color:var(--primary-color)}._session-sidebar-session-button-disabled_f2lgq_163{cursor:not-allowed}._session-sidebar-session-action-btn_f2lgq_167{display:flex;height:24px;width:24px;flex-shrink:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;align-items:center;justify-content:center;border:0;border-radius:4px;background:transparent;outline:none;transition:color .2s ease,background-color .2s ease;cursor:pointer;color:var(--font-color-grey-1)}._session-sidebar-session-action-btn_f2lgq_167:hover{background-color:var(--bg-color-grey-1);color:var(--error-color)}._session-sidebar-session-action-btn-active_f2lgq_188{color:var(--primary-color)}._session-sidebar-session-action-btn-active_f2lgq_188:hover{background-color:var(--primary-color-bg-active);color:var(--primary-color);opacity:.8}._session-sidebar-session-action-btn-disabled_f2lgq_197{cursor:not-allowed}._sparkline_1cqvt_1{display:block}._stat-card-clickable_xovsh_1{cursor:pointer}._stat-card-clickable_xovsh_1 .ant-statistic-content,._stat-card-clickable_xovsh_1 .ant-statistic-content .ant-statistic-content-prefix{display:flex!important;align-items:center}._stat-pending-breakdown-root_85di3_1{font-size:12px;color:var(--font-color-grey-1);margin-bottom:8px}._stat-pending-breakdown-container_85di3_7{font-size:12px;font-weight:400;color:var(--font-color-grey-1);margin-top:4px;line-height:var(--line-height-default)}._stat-pending-breakdown-detail-divider_85di3_15{margin-top:12px;padding-top:12px;border-top:1px solid var(--font-color-grey-4)}._step-modal-root_1ccyj_1{display:flex;align-items:center;gap:8px}._step-modal-container_1ccyj_7{flex:1}._step-modal-wrapper_1ccyj_11{margin-bottom:24px}._file-item-root_lmij6_1{transition:color .2s ease,background-color .2s ease}._file-item-root_lmij6_1:hover{background-color:var(--bg-color-grey)}._file-item-container_lmij6_8{display:flex;align-items:center;justify-content:space-between;padding:6px 8px}._file-item-wrapper_lmij6_18{display:flex;gap:8px;min-width:0;flex:1}._file-item-inner_lmij6_25{flex-shrink:0}._file-item-header_lmij6_29{min-width:0;flex:1}._file-item-body_lmij6_34{display:flex;align-items:center;gap:8px}._file-item-footer_lmij6_40{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-small)}._file-item-row_lmij6_47{flex-shrink:0;font-size:12px;color:var(--font-color-grey-1)}._file-item-col_lmij6_53{margin-top:2px;gap:2px}._file-item-wrap_lmij6_18{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:8px}._file-item-panel_lmij6_66{display:flex;align-items:center}._file-item-action-group_lmij6_71{display:flex;align-items:center;gap:4px}._file-item-action-group-disabled_lmij6_77{opacity:.45;pointer-events:none}.x-spreadsheet{font-size:13px;line-height:normal;-webkit-user-select:none;user-select:none;-moz-user-select:none;font-family:Lato,Source Sans Pro,Roboto,Helvetica,Arial,sans-serif;box-sizing:content-box;background:#fff;-webkit-font-smoothing:antialiased}.x-spreadsheet textarea{font:400 13px Arial,Lato,Source Sans Pro,Roboto,Helvetica,sans-serif}.x-spreadsheet-sheet{position:relative;overflow:hidden}.x-spreadsheet-table{vertical-align:bottom}.x-spreadsheet-tooltip{font-family:inherit;position:absolute;padding:5px 10px;color:#fff;border-radius:1px;background:#000;font-size:12px;z-index:201}.x-spreadsheet-tooltip:before{pointer-events:none;position:absolute;left:calc(50% - 4px);top:-4px;content:"";width:8px;height:8px;background:inherit;-webkit-transform:rotate(45deg);transform:rotate(45deg);z-index:1;box-shadow:1px 1px 3px -1px #0000004d}.x-spreadsheet-color-palette{padding:5px}.x-spreadsheet-color-palette table{margin:0;padding:0;border-collapse:separate;border-spacing:2;background:#fff}.x-spreadsheet-color-palette table td{margin:0;cursor:pointer;border:1px solid transparent}.x-spreadsheet-color-palette table td:hover{border-color:#ddd}.x-spreadsheet-color-palette table td .x-spreadsheet-color-palette-cell{width:16px;height:16px}.x-spreadsheet-border-palette{padding:6px}.x-spreadsheet-border-palette table{margin:0;padding:0;border-collapse:separate;border-spacing:0;background:#fff;table-layout:fixed}.x-spreadsheet-border-palette table td{margin:0}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left{border-right:1px solid #eee;padding-right:6px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell{width:30px;height:30px;cursor:pointer;text-align:center}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell:hover{background-color:#eee}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right{padding-left:6px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right .x-spreadsheet-line-type{position:relative;left:0;top:-3px}.x-spreadsheet-dropdown{position:relative}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-content{position:absolute;z-index:200;background:#fff;box-shadow:1px 2px 5px 2px #33333326}.x-spreadsheet-dropdown.bottom-left .x-spreadsheet-dropdown-content{top:calc(100% + 5px);left:0}.x-spreadsheet-dropdown.bottom-right .x-spreadsheet-dropdown-content{top:calc(100% + 5px);right:0}.x-spreadsheet-dropdown.top-left .x-spreadsheet-dropdown-content{bottom:calc(100% + 5px);left:0}.x-spreadsheet-dropdown.top-right .x-spreadsheet-dropdown-content{bottom:calc(100% + 5px);right:0}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-title{padding:0 5px;display:inline-block}.x-spreadsheet-resizer{position:absolute;z-index:11}.x-spreadsheet-resizer .x-spreadsheet-resizer-hover{background-color:#4b89ff40}.x-spreadsheet-resizer .x-spreadsheet-resizer-line{position:absolute}.x-spreadsheet-resizer.horizontal{cursor:row-resize}.x-spreadsheet-resizer.horizontal .x-spreadsheet-resizer-line{border-bottom:2px dashed #4b89ff;left:0;bottom:0}.x-spreadsheet-resizer.vertical{cursor:col-resize}.x-spreadsheet-resizer.vertical .x-spreadsheet-resizer-line{border-right:2px dashed #4b89ff;top:0;right:0}.x-spreadsheet-scrollbar{position:absolute;bottom:0;right:0;background-color:#f4f5f8;opacity:.9;z-index:12}.x-spreadsheet-scrollbar.horizontal{right:15px;overflow-x:scroll;overflow-y:hidden}.x-spreadsheet-scrollbar.horizontal>div{height:1px;background:#ddd}.x-spreadsheet-scrollbar.vertical{bottom:15px;overflow-x:hidden;overflow-y:scroll}.x-spreadsheet-scrollbar.vertical>div{width:1px;background:#ddd}.x-spreadsheet-overlayer{position:absolute;left:0;top:0;z-index:10}.x-spreadsheet-overlayer .x-spreadsheet-overlayer-content{position:absolute;overflow:hidden;pointer-events:none;width:100%;height:100%}.x-spreadsheet-editor,.x-spreadsheet-selector{box-sizing:content-box;position:absolute;overflow:hidden;pointer-events:none;top:0;left:0;width:100%;height:100%}.x-spreadsheet-selector .hide-input{position:absolute;z-index:0}.x-spreadsheet-selector .hide-input input{padding:0;width:0;border:none!important}.x-spreadsheet-selector .x-spreadsheet-selector-area{position:absolute;border:2px solid #4b89ff;background:#4b89ff1a;z-index:5}.x-spreadsheet-selector .x-spreadsheet-selector-clipboard,.x-spreadsheet-selector .x-spreadsheet-selector-autofill{position:absolute;background:transparent;z-index:100}.x-spreadsheet-selector .x-spreadsheet-selector-clipboard{border:2px dashed #4b89ff}.x-spreadsheet-selector .x-spreadsheet-selector-autofill{border:1px dashed rgba(0,0,0,.45)}.x-spreadsheet-selector .x-spreadsheet-selector-corner{pointer-events:auto;position:absolute;cursor:crosshair;font-size:0;height:5px;width:5px;right:-5px;bottom:-5px;border:2px solid #ffffff;background:#4b89ff}.x-spreadsheet-editor{z-index:20}.x-spreadsheet-editor .x-spreadsheet-editor-area{position:absolute;text-align:left;border:2px solid #4b89ff;line-height:0;z-index:100;pointer-events:auto}.x-spreadsheet-editor .x-spreadsheet-editor-area textarea{box-sizing:content-box;border:none;padding:0 3px;outline:none;resize:none;text-align:start;overflow-y:hidden;font:400 13px Arial,Lato,Source Sans Pro,Roboto,Helvetica,sans-serif;color:inherit;white-space:normal;word-wrap:break-word;line-height:22px;margin:0}.x-spreadsheet-editor .x-spreadsheet-editor-area .textline{overflow:hidden;visibility:hidden;position:fixed;top:0;left:0}.x-spreadsheet-item{-webkit-user-select:none;user-select:none;background:0;border:1px solid transparent;outline:none;height:26px;color:#000000e6;line-height:26px;list-style:none;padding:2px 10px;cursor:default;text-align:left;overflow:hidden}.x-spreadsheet-item.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-item:hover,.x-spreadsheet-item.active{background:#0000000d}.x-spreadsheet-item.divider{height:0;padding:0;margin:5px 0;border:none;border-bottom:1px solid rgba(0,0,0,.1)}.x-spreadsheet-item .label{float:right;opacity:.65;font-size:1em}.x-spreadsheet-item.state,.x-spreadsheet-header.state{padding-left:35px!important;position:relative}.x-spreadsheet-item.state:before,.x-spreadsheet-header.state:before{content:"";position:absolute;width:10px;height:10px;left:12px;top:calc(50% - 5px);background:#00000014;border-radius:2px}.x-spreadsheet-item.state.checked:before,.x-spreadsheet-header.state.checked:before{background:#4b89ff}.x-spreadsheet-checkbox{position:relative;display:inline-block;backface-visibility:hidden;outline:0;vertical-align:baseline;font-style:normal;font-size:1rem;line-height:1em}.x-spreadsheet-checkbox>input{position:absolute;top:0;left:0;opacity:0!important;outline:0;z-index:-1}.x-spreadsheet-suggest,.x-spreadsheet-contextmenu,.x-spreadsheet-sort-filter{position:absolute;box-shadow:1px 2px 5px 2px #33333326;background:#fff;z-index:100;width:260px;pointer-events:auto;overflow:auto}.x-spreadsheet-suggest{width:200px}.x-spreadsheet-filter{border:1px solid #e9e9e9;font-size:12px;margin:10px}.x-spreadsheet-filter .x-spreadsheet-header{padding:.5em .75em;background:#f8f8f9;border-bottom:1px solid #e9e9e9;border-left:1px solid transparent}.x-spreadsheet-filter .x-spreadsheet-body{height:200px;overflow-y:auto}.x-spreadsheet-filter .x-spreadsheet-body .x-spreadsheet-item{height:20px;line-height:20px}.x-spreadsheet-sort-filter .x-spreadsheet-buttons{margin:10px}.x-spreadsheet-bottombar{height:40px;padding:0 30px;text-align:left;background:#f5f6f7;display:flex}.x-spreadsheet-bottombar{position:relative;border-top:1px solid #e0e2e4}.x-spreadsheet-bottombar .x-spreadsheet-menu>li{line-height:40px;height:40px;padding-top:0;padding-bottom:0;vertical-align:middle;border-right:1px solid #e8eaed}.x-spreadsheet-menu{list-style:none;margin:0;padding:0;-webkit-user-select:none;user-select:none}.x-spreadsheet-menu>li{float:left;line-height:1.25em;padding:.785em 1em;margin:0;vertical-align:middle;text-align:left;font-weight:400;color:#80868b;white-space:nowrap;cursor:pointer;transition:all .3s;font-weight:700}.x-spreadsheet-menu>li.active{background-color:#fff;color:#000000a6}.x-spreadsheet-menu>li .x-spreadsheet-dropdown{display:inline-block}.x-spreadsheet-print{position:absolute;left:0;top:0;z-index:100;width:100%;height:100%;display:flex;flex-direction:column}.x-spreadsheet-print-bar{background:#424242;height:60px;line-height:60px;padding:0 30px}.x-spreadsheet-print-bar .-title{color:#fff;font-weight:700;font-size:1.2em;float:left}.x-spreadsheet-print-bar .-right{float:right;margin-top:12px}.x-spreadsheet-print-content{display:flex;flex:auto;flex-direction:row;background:#d0d0d0;height:calc(100% - 60px)}.x-spreadsheet-print-content .-sider{flex:0 0 300px;width:300px;border-left:2px solid #ccc;background:#fff}.x-spreadsheet-print-content .-content{flex:auto;overflow-x:auto;overflow-y:scroll;height:100%}.x-spreadsheet-canvas-card-wraper{margin:40px 20px}.x-spreadsheet-canvas-card{background:#fff;margin:auto;page-break-before:auto;page-break-after:always;box-shadow:0 8px 10px 1px #00000024,0 3px 14px 3px #0000001f,0 4px 5px #0003}.x-spreadsheet-calendar{color:#000000a6;background:#fff;-webkit-user-select:none;user-select:none}.x-spreadsheet-calendar .calendar-header{font-weight:700;line-height:30px;text-align:center;width:100%;float:left;background:#f9fafb}.x-spreadsheet-calendar .calendar-header .calendar-header-left{padding-left:5px;float:left}.x-spreadsheet-calendar .calendar-header .calendar-header-right{float:right}.x-spreadsheet-calendar .calendar-header .calendar-header-right a{padding:3px 0;margin-right:2px;border-radius:2px}.x-spreadsheet-calendar .calendar-header .calendar-header-right a:hover{background:#00000014}.x-spreadsheet-calendar .calendar-body{border-collapse:collapse;border-spacing:0}.x-spreadsheet-calendar .calendar-body th,.x-spreadsheet-calendar .calendar-body td{width:14.28571429%;min-width:32px;text-align:center;font-weight:700;line-height:30px;padding:0}.x-spreadsheet-calendar .calendar-body td>.cell:hover{background:#ecf6fd}.x-spreadsheet-calendar .calendar-body td>.cell.active,.x-spreadsheet-calendar .calendar-body td>.cell.active:hover{background:#ecf6fd;color:#2185d0}.x-spreadsheet-calendar .calendar-body td>.cell.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-datepicker{box-shadow:2px 2px 5px #0003;position:absolute;left:0;top:calc(100% + 5px);z-index:10;width:auto}.x-spreadsheet-buttons{display:flex;justify-content:flex-end}.x-spreadsheet-buttons .x-spreadsheet-button{margin-left:8px}.x-spreadsheet-button{display:inline-block;border-radius:3px;line-height:1em;min-height:1em;white-space:nowrap;text-align:center;cursor:pointer;font-size:1em;font-weight:700;padding:.75em 1em;color:#0009;background:#e0e1e2;text-decoration:none;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;outline:none;vertical-align:baseline;zoom:1;-webkit-user-select:none;user-select:none;transition:all .1s linear}.x-spreadsheet-button.active,.x-spreadsheet-button:hover{background-color:#c0c1c2;color:#000c}.x-spreadsheet-button.primary{color:#fff;background-color:#2185d0}.x-spreadsheet-button.primary:hover,.x-spreadsheet-button.primary.active{color:#fff;background-color:#1678c2}.x-spreadsheet-form-input{font-size:1em;position:relative;font-weight:400;display:inline-flex;color:#000000de}.x-spreadsheet-form-input input{z-index:1;margin:0;max-width:100%;flex:1 0 auto;outline:0;-webkit-tap-highlight-color:rgba(255,255,255,0);text-align:left;line-height:30px;height:30px;padding:0 8px;background:#fff;border:1px solid #e9e9e9;border-radius:3px;transition:box-shadow .1s ease,border-color .1s ease;box-shadow:inset 0 1px 2px #0a0a0a0f}.x-spreadsheet-form-input input:focus{border-color:#4b89ff;box-shadow:inset 0 1px 2px #4b89ff33}.x-spreadsheet-form-select{position:relative;display:inline-block;background:#fff;border:1px solid #e9e9e9;border-radius:2px;cursor:pointer;color:#000000de;-webkit-user-select:none;user-select:none;box-shadow:inset 0 1px 2px #0a0a0a0f}.x-spreadsheet-form-select .input-text{text-overflow:ellipsis;white-space:nowrap;min-width:60px;width:auto;height:30px;line-height:30px;padding:0 8px}.x-spreadsheet-form-fields{display:flex;flex-direction:row;flex-wrap:wrap}.x-spreadsheet-form-fields .x-spreadsheet-form-field{flex:0 1 auto}.x-spreadsheet-form-fields .x-spreadsheet-form-field .label{display:inline-block;margin:0 10px 0 0}.x-spreadsheet-form-field{display:block;vertical-align:middle;margin-left:10px;margin-bottom:10px}.x-spreadsheet-form-field:first-child{margin-left:0}.x-spreadsheet-form-field.error .x-spreadsheet-form-select,.x-spreadsheet-form-field.error input{border-color:#f04134}.x-spreadsheet-form-field .tip{color:#f04134;font-size:.9em}.x-spreadsheet-dimmer{display:none;position:absolute;top:0!important;left:0!important;width:100%;height:100%;text-align:center;vertical-align:middle;background-color:#0009;opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;animation-duration:.5s;transition:background-color .5s linear;-webkit-user-select:none;user-select:none;z-index:1000}.x-spreadsheet-dimmer.active{display:block;opacity:1}form fieldset{border:none}form fieldset label{display:block;margin-bottom:.5em;font-size:1em;color:#666}form fieldset select{font-size:1.1em;width:100%;background-color:#fff;border:none;border-bottom:2px solid #ddd;padding:.5em .85em;border-radius:2px}.x-spreadsheet-modal,.x-spreadsheet-toast{font-size:13px;position:fixed;z-index:1001;text-align:left;line-height:1.25em;min-width:360px;color:#000000de;font-family:Lato,Source Sans Pro,Roboto,Helvetica,Arial,sans-serif;border-radius:4px;border:1px solid rgba(0,0,0,.1);background-color:#fff;background-clip:padding-box;box-shadow:#0003 0 2px 8px}.x-spreadsheet-toast{background-color:#ffffffd9}.x-spreadsheet-modal-header,.x-spreadsheet-toast-header{font-weight:600;background-clip:padding-box;background-color:#ffffffd9;border-bottom:1px solid rgba(0,0,0,.05);border-radius:4px 4px 0 0}.x-spreadsheet-toast-header{color:#f2711c}.x-spreadsheet-modal-header{border-bottom:1px solid #e0e2e4;background:#00000014;font-size:1.0785em}.x-spreadsheet-modal-header,.x-spreadsheet-modal-content,.x-spreadsheet-toast-header,.x-spreadsheet-toast-content{padding:.75em 1em}.x-spreadsheet-menu li:first-child{display:none}.vue-office-excel{height:100%}
|