@hkyhy/marsun-components-core 0.1.11 → 0.1.15
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/README.md +31 -6
- package/dist/components/AgentHub/Chat/Action/CreateButton.js +8 -0
- package/dist/components/AgentHub/Chat/Action/CreateButton.js.map +1 -0
- package/dist/components/AgentHub/Chat/Action/ManageActionButtons.js +20 -0
- package/dist/components/AgentHub/Chat/Action/ManageActionButtons.js.map +1 -0
- package/dist/components/AgentHub/Chat/Action/SessionActionButtons.js +24 -0
- package/dist/components/AgentHub/Chat/Action/SessionActionButtons.js.map +1 -0
- package/dist/components/AgentHub/Chat/Action/handlers.d.ts +0 -5
- package/dist/components/AgentHub/Chat/Detail/ChatInput/index.js +65 -0
- package/dist/components/AgentHub/Chat/Detail/ChatInput/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/ChatInput/style.module.scss.js +12 -0
- package/dist/components/AgentHub/Chat/Detail/ChatInput/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/ChatPanel/index.d.ts +31 -0
- package/dist/components/AgentHub/Chat/Detail/ChatPanel/index.js +85 -0
- package/dist/components/AgentHub/Chat/Detail/ChatPanel/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/ChatPanel/style.module.scss.js +14 -0
- package/dist/components/AgentHub/Chat/Detail/ChatPanel/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/ChatSuggestionRow/index.d.ts +9 -0
- package/dist/components/AgentHub/Chat/Detail/ChatSuggestionRow/index.js +22 -0
- package/dist/components/AgentHub/Chat/Detail/ChatSuggestionRow/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/ChatSuggestionRow/style.module.scss.js +8 -0
- package/dist/components/AgentHub/Chat/Detail/ChatSuggestionRow/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/CitationContent/index.js +21 -0
- package/dist/components/AgentHub/Chat/Detail/CitationContent/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/CitationContent/style.module.scss.js +8 -0
- package/dist/components/AgentHub/Chat/Detail/CitationContent/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/CitationInlineBadge/index.js +17 -0
- package/dist/components/AgentHub/Chat/Detail/CitationInlineBadge/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/CitationInlineBadge/style.module.scss.js +7 -0
- package/dist/components/AgentHub/Chat/Detail/CitationInlineBadge/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/CitationMarkdownContent/index.js +68 -0
- package/dist/components/AgentHub/Chat/Detail/CitationMarkdownContent/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/CitationMarkdownContent/style.module.scss.js +7 -0
- package/dist/components/AgentHub/Chat/Detail/CitationMarkdownContent/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/CitationPanel/index.js +247 -0
- package/dist/components/AgentHub/Chat/Detail/CitationPanel/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/CitationPanel/style.module.scss.js +31 -0
- package/dist/components/AgentHub/Chat/Detail/CitationPanel/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/MermaidBlock/index.js +43 -0
- package/dist/components/AgentHub/Chat/Detail/MermaidBlock/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/MermaidBlock/style.module.scss.js +8 -0
- package/dist/components/AgentHub/Chat/Detail/MermaidBlock/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/MessageActions/index.js +103 -0
- package/dist/components/AgentHub/Chat/Detail/MessageActions/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/MessageActions/style.module.scss.js +14 -0
- package/dist/components/AgentHub/Chat/Detail/MessageActions/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/MessageEditPopover/index.js +58 -0
- package/dist/components/AgentHub/Chat/Detail/MessageEditPopover/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/MessageEditPopover/style.module.scss.js +9 -0
- package/dist/components/AgentHub/Chat/Detail/MessageEditPopover/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/MessageItem/index.js +309 -0
- package/dist/components/AgentHub/Chat/Detail/MessageItem/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/MessageItem/style.module.scss.js +24 -0
- package/dist/components/AgentHub/Chat/Detail/MessageItem/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/ThinkingSection/index.js +122 -0
- package/dist/components/AgentHub/Chat/Detail/ThinkingSection/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/ThinkingSection/style.module.scss.js +25 -0
- package/dist/components/AgentHub/Chat/Detail/ThinkingSection/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/index.d.ts +12 -0
- package/dist/components/AgentHub/Chat/Form/Form.js +37 -0
- package/dist/components/AgentHub/Chat/Form/Form.js.map +1 -0
- package/dist/components/AgentHub/Chat/List/ChatCard/index.js +86 -0
- package/dist/components/AgentHub/Chat/List/ChatCard/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/List/ChatCard/style.module.scss.js +25 -0
- package/dist/components/AgentHub/Chat/List/ChatCard/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/List/FilterBar.js +17 -0
- package/dist/components/AgentHub/Chat/List/FilterBar.js.map +1 -0
- package/dist/components/AgentHub/Chat/List/SessionSidebar/index.js +156 -0
- package/dist/components/AgentHub/Chat/List/SessionSidebar/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/List/SessionSidebar/style.module.scss.js +28 -0
- package/dist/components/AgentHub/Chat/List/SessionSidebar/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Modal/FormModal.js +58 -0
- package/dist/components/AgentHub/Chat/Modal/FormModal.js.map +1 -0
- package/dist/components/AgentHub/Chat/hooks/useAutoScrollToBottom.js +35 -0
- package/dist/components/AgentHub/Chat/hooks/useAutoScrollToBottom.js.map +1 -0
- package/dist/components/AgentHub/Chat/hooks/useChat.js +51 -0
- package/dist/components/AgentHub/Chat/hooks/useChat.js.map +1 -0
- package/dist/components/AgentHub/Chat/hooks/useChatSessions.js +60 -0
- package/dist/components/AgentHub/Chat/hooks/useChatSessions.js.map +1 -0
- package/dist/components/AgentHub/Chat/hooks/useSSECompletion.js +69 -0
- package/dist/components/AgentHub/Chat/hooks/useSSECompletion.js.map +1 -0
- package/dist/components/AgentHub/Chat/hooks/useTypewriter.js +39 -0
- package/dist/components/AgentHub/Chat/hooks/useTypewriter.js.map +1 -0
- package/dist/components/AgentHub/Chat/index.d.ts +1 -0
- package/dist/components/AgentHub/Chat/utils/citationContent.js +169 -0
- package/dist/components/AgentHub/Chat/utils/citationContent.js.map +1 -0
- package/dist/components/AgentHub/Chat/utils/messageContent.js +85 -0
- package/dist/components/AgentHub/Chat/utils/messageContent.js.map +1 -0
- package/dist/components/AgentHub/Chat/utils/sanitizeMermaidChart.js +22 -0
- package/dist/components/AgentHub/Chat/utils/sanitizeMermaidChart.js.map +1 -0
- package/dist/components/AgentHub/Chat/utils/sessionMessages.js +151 -0
- package/dist/components/AgentHub/Chat/utils/sessionMessages.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/Action/CreateButton.js +8 -0
- package/dist/components/AgentHub/KnowledgeBase/Action/CreateButton.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/Action/ManageActionButtons.js +20 -0
- package/dist/components/AgentHub/KnowledgeBase/Action/ManageActionButtons.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/Detail/DocumentTable/index.js +110 -0
- package/dist/components/AgentHub/KnowledgeBase/Detail/DocumentTable/index.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/Detail/DocumentTable/style.module.scss.js +7 -0
- package/dist/components/AgentHub/KnowledgeBase/Detail/DocumentTable/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/Detail/ParseStatusTag/index.js +18 -0
- package/dist/components/AgentHub/KnowledgeBase/Detail/ParseStatusTag/index.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/Detail/ParseStatusTag/style.module.scss.js +7 -0
- package/dist/components/AgentHub/KnowledgeBase/Detail/ParseStatusTag/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/Form/Form.js +31 -0
- package/dist/components/AgentHub/KnowledgeBase/Form/Form.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/List/FilterBar.js +17 -0
- package/dist/components/AgentHub/KnowledgeBase/List/FilterBar.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/List/KnowledgeCard/index.js +118 -0
- package/dist/components/AgentHub/KnowledgeBase/List/KnowledgeCard/index.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/List/KnowledgeCard/style.module.scss.js +23 -0
- package/dist/components/AgentHub/KnowledgeBase/List/KnowledgeCard/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/Modal/FormModal.js +47 -0
- package/dist/components/AgentHub/KnowledgeBase/Modal/FormModal.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/constants/types.js +28 -0
- package/dist/components/AgentHub/KnowledgeBase/constants/types.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/hooks/useKBDocuments.js +21 -0
- package/dist/components/AgentHub/KnowledgeBase/hooks/useKBDocuments.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/hooks/useKnowledgeBase.js +32 -0
- package/dist/components/AgentHub/KnowledgeBase/hooks/useKnowledgeBase.js.map +1 -0
- package/dist/components/Filter/FilterDateRange/index.d.ts +2 -0
- package/dist/components/Filter/FilterDateRange/index.js +62 -51
- package/dist/components/Filter/FilterDateRange/index.js.map +1 -1
- package/dist/components/Filter/FilterSelect/index.d.ts +6 -2
- package/dist/components/Filter/FilterSelect/index.js +132 -107
- package/dist/components/Filter/FilterSelect/index.js.map +1 -1
- package/dist/components/Filter/FilterTrigger/index.d.ts +2 -2
- package/dist/components/Filter/FilterTrigger/index.js.map +1 -1
- package/dist/components/Filter/FilterTrigger/style.module.scss.js +4 -4
- package/dist/components/Filter/index.d.ts +1 -1
- package/dist/components/Icons/index.js +153 -145
- package/dist/components/Icons/index.js.map +1 -1
- package/dist/components/LlmFormattedText/LlmFormattedText/index.d.ts +8 -0
- package/dist/components/LlmFormattedText/LlmFormattedText/index.js +42 -0
- package/dist/components/LlmFormattedText/LlmFormattedText/index.js.map +1 -0
- package/dist/components/LlmFormattedText/LlmFormattedText/style.module.scss.js +17 -0
- package/dist/components/LlmFormattedText/LlmFormattedText/style.module.scss.js.map +1 -0
- package/dist/components/LlmFormattedText/index.d.ts +4 -0
- package/dist/components/LlmFormattedText/parseLlmText.d.ts +14 -0
- package/dist/components/LlmFormattedText/parseLlmText.js +77 -0
- package/dist/components/LlmFormattedText/parseLlmText.js.map +1 -0
- package/dist/components/Sparkline/Sparkline/index.d.ts +11 -0
- package/dist/components/Sparkline/Sparkline/index.js +46 -0
- package/dist/components/Sparkline/Sparkline/index.js.map +1 -0
- package/dist/components/Sparkline/Sparkline/style.module.scss.js +8 -0
- package/dist/components/Sparkline/Sparkline/style.module.scss.js.map +1 -0
- package/dist/components/Sparkline/index.d.ts +2 -0
- package/dist/components/TooltipInfo/TooltipInfo.js +29 -20
- package/dist/components/TooltipInfo/TooltipInfo.js.map +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.js +291 -175
- package/dist/index.js.map +1 -1
- package/dist/marsun-components-core.css +1 -1
- package/dist/styles/global.css +1 -1
- package/dist/theme/constants.d.ts +47 -1
- package/dist/theme/constants.js +50 -5
- package/dist/theme/constants.js.map +1 -1
- package/dist/theme/index.d.ts +2 -2
- package/dist/theme/index.js +8 -6
- package/dist/theme/theme.d.ts +10 -0
- package/dist/theme/theme.js +24 -34
- package/dist/theme/theme.js.map +1 -1
- package/dist/theme/tokens.css +139 -0
- package/package.json +6 -3
|
@@ -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\ninterface FilterSelectProps extends BaseFilterProps {\n options: FilterOption[];\n value?: string | number | undefined;\n onChange?: (value: string | number | undefined) => void;\n /** 默认值:与默认值相同时视为未筛选(不展示已选标签与选中态) */\n defaultValue?: string | number;\n placeholder?: string;\n searchable?: boolean;\n /** 是否多选 */\n multiple?: boolean;\n /** 人员选项:展示部门与联系方式 */\n variant?: 'default' | 'person';\n}\n\nfunction toDisplayValue(\n value: string | number | undefined,\n defaultValue: string | number | undefined,\n multiple: boolean,\n): string | number | (string | number)[] | undefined {\n if (multiple) return value ?? [];\n if (defaultValue !== undefined && value === defaultValue) return undefined;\n return value;\n}\n\nconst FilterSelect: React.FC<FilterSelectProps> = ({\n filterKey,\n label,\n options = [],\n value,\n onChange,\n defaultValue,\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, 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 // 同步外部 value 到内部 localValue\n useEffect(() => {\n const nextDisplayValue = toDisplayValue(value, defaultValue, multiple);\n setLocalValue(nextDisplayValue ?? (multiple ? [] : undefined));\n // 外部清空时同时清空搜索文本\n if (\n nextDisplayValue === undefined ||\n nextDisplayValue === null ||\n (Array.isArray(nextDisplayValue) && nextDisplayValue.length === 0)\n ) {\n setSearchText('');\n }\n }, [value, defaultValue, multiple]);\n\n // 从 options 反查 valueLabel\n const valueLabel = useMemo(() => {\n if (multiple) {\n const arr = (localValue 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 (localValue == null) return '';\n const opt = options.find((o) => o.value === localValue);\n if (!opt) return String(localValue);\n return isPersonVariant ? formatPersonValueLabel(opt as PersonOption) : opt.label;\n }, [options, localValue, multiple, isPersonVariant]);\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 (valueLabel && !multiple) {\n // 多选由 CommonFilter 的 clearAll 统一处理,单选直接注册\n registerFn.register(filterKey, {\n label,\n valueLabel,\n onRemove: handleRemove,\n });\n } else {\n registerFn.unregister(filterKey);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [valueLabel, filterKey, label, hidden, display, multiple, 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 string | number | undefined);\n setOpen(false);\n };\n\n const handleReset = () => {\n setLocalValue(multiple ? [] : undefined);\n setSearchText('');\n onChange?.(undefined);\n setOpen(false);\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 return (\n <FilterPopover\n label={label}\n active={\n active ||\n (multiple\n ? Array.isArray(localValue) && localValue.length > 0\n : localValue != null && localValue !== '')\n }\n open={open}\n onOpenChange={setOpen}\n onConfirm={multiple ? handleConfirm : undefined}\n onReset={multiple ? handleReset : undefined}\n >\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 {/* 选项列表 */}\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={() => handleClickOption(opt.value)}\n >\n {multiple && (\n <Checkbox checked={(localValue as (string | number)[])?.includes(opt.value)} />\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 {/* 多选已选 */}\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","toDisplayValue","value","defaultValue","multiple","FilterSelect","filterKey","label","options","onChange","searchable","variant","active","hidden","display","isPersonVariant","open","setOpen","useState","searchText","setSearchText","displayValue","localValue","setLocalValue","registerFn","useFilterRegister","onChangeRef","useRef","handleRemove","useMemo","_a","useEffect","nextDisplayValue","valueLabel","arr","v","o","resolveFilterVisible","filteredOptions","handleConfirm","handleReset","handleClickOption","optVal","isDefaultOption","next","handleToggleMulti","jsxs","FilterPopover","jsx","classNames","styles","Checkbox","PersonOptionRow","Check","Space","X"],"mappings":";;;;;;;;;;AAWA,MAAM,EAAE,QAAAA,MAAWC;AAEnB,SAASC,EAAuBC,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;AAgBA,SAASE,EACPC,GACAC,GACAC,GACmD;AACnD,MAAIA,EAAU,QAAOF,KAAS,CAAA;AAC9B,MAAI,EAAAC,MAAiB,UAAaD,MAAUC;AAC5C,WAAOD;AACT;AAEA,MAAMG,KAA4C,CAAC;AAAA,EACjD,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,SAAAC,IAAU,CAAA;AAAA,EACV,OAAAN;AAAA,EACA,UAAAO;AAAA,EACA,cAAAN;AAAA,EACA,YAAAO,IAAa;AAAA,EACb,UAAAN,IAAW;AAAA,EACX,SAAAO,IAAU;AAAA,EACV,QAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AACF,MAAM;AACJ,QAAMC,IAAkBJ,MAAY,UAC9B,CAACK,GAAMC,CAAO,IAAIC,EAAS,EAAK,GAChC,CAACC,GAAYC,CAAa,IAAIF,EAAS,EAAE,GACzCG,IAAepB,EAAeC,GAAOC,GAAcC,CAAQ,GAC3D,CAACkB,GAAYC,CAAa,IAAIL;AAAA,IAClCG,MAAiBjB,IAAW,CAAA,IAAK;AAAA,EAAA,GAI7BoB,IAAaC,EAAA,GACbC,IAAcC,EAAOlB,CAAQ;AACnC,EAAAiB,EAAY,UAAUjB;AAEtB,QAAMmB,IAAeC;AAAA,IACnB,MAAM,MAAM;;AACV,OAAAC,IAAAJ,EAAY,YAAZ,QAAAI,EAAA,KAAAJ,GAAsB;AAAA,IACxB;AAAA,IACA,CAAA;AAAA,EAAC;AAIH,EAAAK,EAAU,MAAM;AACd,UAAMC,IAAmB/B,EAAeC,GAAOC,GAAcC,CAAQ;AACrE,IAAAmB,EAAcS,MAAqB5B,IAAW,CAAA,IAAK,OAAU,IAI3D4B,KAAqB,QACpB,MAAM,QAAQA,CAAgB,KAAKA,EAAiB,WAAW,MAEhEZ,EAAc,EAAE;AAAA,EAEpB,GAAG,CAAClB,GAAOC,GAAcC,CAAQ,CAAC;AAGlC,QAAM6B,IAAaJ,EAAQ,MAAM;AAC/B,QAAIzB,GAAU;AACZ,YAAM8B,IAAOZ,KAAsC,CAAA;AACnD,aAAOY,EAAI,SAAS,IAChBA,EAAI,IAAI,CAACC,MAAA;;AAAM,iBAAAL,IAAAtB,EAAQ,KAAK,CAAC4B,MAAMA,EAAE,UAAUD,CAAC,MAAjC,gBAAAL,EAAoC,UAAS,OAAOK,CAAC;AAAA,OAAC,EAAE,KAAK,GAAG,IAC/E;AAAA,IACN;AACA,QAAIb,KAAc,KAAM,QAAO;AAC/B,UAAM3B,IAAMa,EAAQ,KAAK,CAAC4B,MAAMA,EAAE,UAAUd,CAAU;AACtD,WAAK3B,IACEoB,IAAkBrB,EAAuBC,CAAmB,IAAIA,EAAI,QAD1D,OAAO2B,CAAU;AAAA,EAEpC,GAAG,CAACd,GAASc,GAAYlB,GAAUW,CAAe,CAAC;AAuBnD,MArBAgB,EAAU,MAAM;AACd,QAAI,CAACP,EAAY;AAEjB,QAAI,CAACa,EAAqB,EAAE,SAAAvB,GAAS,QAAAD,EAAA,GADzB,EAAE,WAAAP,GAAW,OAAAC,GAAO,OAAAL,EAAA,CACkB,GAAG;AACnD,MAAAsB,EAAW,WAAWlB,CAAS;AAC/B;AAAA,IACF;AACA,IAAI2B,KAAc,CAAC7B,IAEjBoB,EAAW,SAASlB,GAAW;AAAA,MAC7B,OAAAC;AAAA,MACA,YAAA0B;AAAA,MACA,UAAUL;AAAA,IAAA,CACX,IAEDJ,EAAW,WAAWlB,CAAS;AAAA,EAGnC,GAAG,CAAC2B,GAAY3B,GAAWC,GAAOM,GAAQC,GAASV,GAAUwB,CAAY,CAAC,GAGtE,CAACS,EAAqB,EAAE,SAAAvB,GAAS,QAAAD,KADf,EAAE,WAAAP,GAAW,OAAAC,GAAO,OAAAL,EAAA,CACkB,EAAG,QAAO;AAEtE,QAAMoC,IAAkBnB,IACpBX,EAAQ;AAAA,IAAO,CAACb,MACdoB,IACIlB,GAAwBF,GAAqBwB,CAAU,IACvDxB,EAAI,MAAM,YAAA,EAAc,SAASwB,EAAW,aAAa;AAAA,EAAA,IAE/DX,GAEE+B,IAAgB,MAAM;AAC1B,IAAA9B,KAAA,QAAAA,EAAWa,IACXL,EAAQ,EAAK;AAAA,EACf,GAEMuB,IAAc,MAAM;AACxB,IAAAjB,EAAcnB,IAAW,CAAA,IAAK,MAAS,GACvCgB,EAAc,EAAE,GAChBX,KAAA,QAAAA,EAAW,SACXQ,EAAQ,EAAK;AAAA,EACf,GAEMwB,IAAoB,CAACC,MAA4B;AACrD,QAAI,CAACtC,GAAU;AACb,YAAMuC,IAAkBxC,MAAiB,UAAauC,MAAWvC;AACjE,UAAIyC;AACJ,MAAItB,MAAeoB,KAAUC,IAC3BC,IAAO,SAEPA,IAAOF,GAETnB,EAAcqB,CAAI,GAClBnC,KAAA,QAAAA,EAAWmC,IACX3B,EAAQ,EAAK;AAAA,IACf;AAAA,EACF,GAEM4B,IAAoB,CAACH,MAA4B;AACrD,UAAMR,IAAOZ,KAAsC,CAAA,GAC7CsB,IAAOV,EAAI,SAASQ,CAAM,IAAIR,EAAI,OAAO,CAACC,MAAMA,MAAMO,CAAM,IAAI,CAAC,GAAGR,GAAKQ,CAAM;AACrF,IAAAnB,EAAcqB,CAAI;AAAA,EACpB;AAEA,SACE,gBAAAE;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAAxC;AAAA,MACA,QACEK,MACCR,IACG,MAAM,QAAQkB,CAAU,KAAKA,EAAW,SAAS,IACjDA,KAAc,QAAQA,MAAe;AAAA,MAE3C,MAAAN;AAAA,MACA,cAAcC;AAAA,MACd,WAAWb,IAAWmC,IAAgB;AAAA,MACtC,SAASnC,IAAWoC,IAAc;AAAA,MAGjC,UAAA;AAAA,QAAA9B,KACC,gBAAAsC;AAAA,UAACxD;AAAA,UAAA;AAAA,YACC,aAAa,KAAKe,CAAK;AAAA,YACvB,YAAU;AAAA,YACV,MAAK;AAAA,YACL,WAAW0C,EAAW,wBAAwBC,EAAO,sBAAsB,CAAC;AAAA,YAC5E,OAAO/B;AAAA,YACP,UAAU,CAAC,MAAMC,EAAc,EAAE,OAAO,KAAK;AAAA,UAAA;AAAA,QAAA;AAAA,QAKjD,gBAAA0B,EAAC,SAAI,WAAWG,EAAW,yBAAyBC,EAAO,uBAAuB,CAAC,GAChF,UAAA;AAAA,UAAAZ,EAAgB,IAAI,CAAC3C,MACpB,gBAAAmD;AAAA,YAAC;AAAA,YAAA;AAAA,cAEC,WAAWG;AAAA,gBAAW;AAAA,gBAAwBC,EAAO,sBAAsB;AAAA,gBACzE,CAAC9C,KACCkB,MAAe3B,EAAI,SACnBsD,EAAW,iCAAiCC,EAAO,+BAA+B,CAAC;AAAA,cAAA;AAAA,cAEvF,SAAS,MAAMT,EAAkB9C,EAAI,KAAK;AAAA,cAEzC,UAAA;AAAA,gBAAAS,uBACE+C,GAAA,EAAS,SAAU7B,KAAA,gBAAAA,EAAoC,SAAS3B,EAAI,QAAQ;AAAA,gBAE9EoB,sBACEqC,GAAA,EAAgB,QAAQzD,GAAqB,IAE9C,gBAAAqD,EAAC,QAAA,EAAM,UAAArD,EAAI,MAAA,CAAM;AAAA,gBAElB,CAACS,KAAY,CAACW,KAAmBO,MAAe3B,EAAI,SACnD,gBAAAqD,EAACK,GAAA,EAAM,WAAWJ,EAAW,8BAA8BC,EAAO,4BAA4B,CAAC,EAAA,CAAG;AAAA,cAAA;AAAA,YAAA;AAAA,YAjB/F,OAAOvD,EAAI,KAAK;AAAA,UAAA,CAoBxB;AAAA,UACA2C,EAAgB,WAAW,KAC1B,gBAAAU,EAAC,OAAA,EAAI,WAAWC,EAAW,uBAAuBC,EAAO,qBAAqB,CAAC,GAAG,UAAA,OAAA,CAAI;AAAA,QAAA,GAE1F;AAAA,QAGC9C,MAAakB,KAAA,gBAAAA,EAAoC,UAAS,KACzD,gBAAAwB,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,EAACM,GAAA,EAAM,MAAM,CAAC,GAAG,CAAC,GAAG,MAAI,IACrB,UAAAhC,EAAmC,IAAI,CAACa,MAAM;AAC9C,kBAAMxC,IAAMa,EAAQ,KAAK,CAAC4B,MAAMA,EAAE,UAAUD,CAAC;AAC7C,mBACE,gBAAAW;AAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,WAAWG,EAAW,8BAA8BC,EAAO,4BAA4B,CAAC;AAAA,gBACxF,SAAS,MAAML,EAAkBV,CAAC;AAAA,gBAEjC,UAAA;AAAA,mBAAAxC,KAAA,gBAAAA,EAAK,UAAS,OAAOwC,CAAC;AAAA,kBACvB,gBAAAa,EAACO,KAAE,WAAWN,EAAW,iCAAiCC,EAAO,+BAA+B,CAAC,EAAA,CAAG;AAAA,gBAAA;AAAA,cAAA;AAAA,cAL/F,OAAOf,CAAC;AAAA,YAAA;AAAA,UAQnB,CAAC,EAAA,CACH;AAAA,QAAA,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
|
|
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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"}
|
|
@@ -8,8 +8,8 @@ interface FilterTriggerProps extends Omit<BaseFilterProps, 'filterKey'> {
|
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
10
|
* 筛选触发按钮
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* 未选中:灰色文字 + 下箭头
|
|
12
|
+
* 已选:主题色文字 + 浅底 + 上箭头
|
|
13
13
|
*/
|
|
14
14
|
declare const FilterTrigger: React.FC<FilterTriggerProps>;
|
|
15
15
|
export default FilterTrigger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/Filter/FilterTrigger/index.tsx"],"sourcesContent":["import { ChevronDown, ChevronUp } from '@/components/Icons';\nimport classNames from 'classnames';\nimport React from 'react';\nimport type { BaseFilterProps } from '../types';\nimport styles from './style.module.scss';\n\ninterface FilterTriggerProps extends Omit<BaseFilterProps, 'filterKey'> {\n onClick?: (e: React.MouseEvent) => void;\n open?: boolean;\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * 筛选触发按钮\n *
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/Filter/FilterTrigger/index.tsx"],"sourcesContent":["import { ChevronDown, ChevronUp } from '@/components/Icons';\nimport classNames from 'classnames';\nimport React from 'react';\nimport type { BaseFilterProps } from '../types';\nimport styles from './style.module.scss';\n\ninterface FilterTriggerProps extends Omit<BaseFilterProps, 'filterKey'> {\n onClick?: (e: React.MouseEvent) => void;\n open?: boolean;\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * 筛选触发按钮\n * 未选中:灰色文字 + 下箭头\n * 已选:主题色文字 + 浅底 + 上箭头\n */\nconst FilterTrigger: React.FC<FilterTriggerProps> = ({\n label,\n active,\n onClick,\n open,\n className = '',\n children,\n}) => (\n <span\n className={classNames('filter-trigger-root', styles['filter-trigger-root'],\n active\n ? ['filter-trigger-active', styles['filter-trigger-active']]\n : ['filter-trigger-inactive', styles['filter-trigger-inactive']],\n className,\n )}\n onClick={onClick}\n >\n {children ?? label}\n {open !== undefined ? (\n open ? (\n <ChevronUp className={classNames('filter-trigger-chevron', styles['filter-trigger-chevron'])} />\n ) : (\n <ChevronDown className={classNames('filter-trigger-chevron', styles['filter-trigger-chevron'])} />\n )\n ) : !active ? (\n <ChevronDown className={classNames('filter-trigger-chevron', styles['filter-trigger-chevron'])} />\n ) : (\n <ChevronUp className={classNames('filter-trigger-chevron', styles['filter-trigger-chevron'])} />\n )}\n </span>\n);\n\nexport default FilterTrigger;\nexport type { FilterTriggerProps };\n"],"names":["FilterTrigger","label","active","onClick","open","className","children","jsxs","classNames","styles","ChevronUp","jsx","ChevronDown"],"mappings":";;;;AAkBA,MAAMA,IAA8C,CAAC;AAAA,EACnD,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,UAAAC;AACF,MACE,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MAAW;AAAA,MAAuBC,EAAO,qBAAqB;AAAA,MACvEP,IACI,CAAC,yBAAyBO,EAAO,uBAAuB,CAAC,IACzD,CAAC,2BAA2BA,EAAO,yBAAyB,CAAC;AAAA,MACjEJ;AAAA,IAAA;AAAA,IAEF,SAAAF;AAAA,IAEC,UAAA;AAAA,MAAAG,KAAYL;AAAA,MACZG,MAAS,SACRA,sBACGM,GAAA,EAAU,WAAWF,EAAW,0BAA0BC,EAAO,wBAAwB,CAAC,EAAA,CAAG,IAE9F,gBAAAE,EAACC,GAAA,EAAY,WAAWJ,EAAW,0BAA0BC,EAAO,wBAAwB,CAAC,GAAG,IAE/FP,IAGH,gBAAAS,EAACD,KAAU,WAAWF,EAAW,0BAA0BC,EAAO,wBAAwB,CAAC,EAAA,CAAG,IAF9F,gBAAAE,EAACC,GAAA,EAAY,WAAWJ,EAAW,0BAA0BC,EAAO,wBAAwB,CAAC,GAAG;AAAA,IAEF;AAAA,EAAA;AAElG;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
const r = {
|
|
2
|
-
"filter-trigger-root": "_filter-trigger-
|
|
3
|
-
"filter-trigger-active": "_filter-trigger-
|
|
4
|
-
"filter-trigger-inactive": "_filter-trigger-
|
|
5
|
-
"filter-trigger-chevron": "_filter-trigger-
|
|
2
|
+
"filter-trigger-root": "_filter-trigger-root_nbyh1_1",
|
|
3
|
+
"filter-trigger-active": "_filter-trigger-active_nbyh1_12",
|
|
4
|
+
"filter-trigger-inactive": "_filter-trigger-inactive_nbyh1_18",
|
|
5
|
+
"filter-trigger-chevron": "_filter-trigger-chevron_nbyh1_26"
|
|
6
6
|
};
|
|
7
7
|
export {
|
|
8
8
|
r as default
|
|
@@ -17,7 +17,7 @@ export type { FilterPanelProps } from './FilterPanel';
|
|
|
17
17
|
export { FilterPanel };
|
|
18
18
|
export type { FilterPopoverProps } from './FilterPopover';
|
|
19
19
|
export { FilterPopover };
|
|
20
|
-
export type { FilterSelectProps } from './FilterSelect';
|
|
20
|
+
export type { FilterSelectProps, FilterSelectValue } from './FilterSelect';
|
|
21
21
|
export { FilterSelect };
|
|
22
22
|
export type { FilterInputProps } from './FilterInput';
|
|
23
23
|
export { FilterInput };
|
|
@@ -1,24 +1,32 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
|
|
3
|
-
import Te from "react";
|
|
1
|
+
import { jsx as $ } from "react/jsx-runtime";
|
|
2
|
+
/* empty css */
|
|
3
|
+
import { ArrowLeft as u, ArrowLeftRight as p, BarChart3 as f, BookOpen as L, Bot as g, Check as S, ChevronDown as w, ChevronLeft as m, ChevronRight as F, ChevronUp as U, CircleAlert as P, CircleCheck as k, CircleHelp as y, CirclePlay as b, CircleX as D, ClipboardCheck as R, Clock as v, CloudDownload as T, CloudUpload as I, Code as A, Copy as O, Crown as H, Database as B, Download as x, Eye as M, File as q, FileArchive as X, FileImage as E, FileSpreadsheet as N, FileText as z, Flag as G, Flame as j, Folder as W, FolderOpen as _, Hash as Y, House as J, Import as K, Inbox as Q, Info as V, LayoutDashboard as Z, LayoutGrid as ee, Loader2 as oe, Lock as se, LogOut as ae, MessageCircle as re, MessageSquare as te, PanelLeftClose as ne, PanelLeftOpen as le, Pause as ce, Pencil as ie, Plus as Ce, Presentation as de, RefreshCw as he, RotateCw as $e, Send as ue, Settings as pe, Shield as fe, ShieldCheck as Le, SlidersHorizontal as ge, Square as Se, Star as we, ThumbsDown as me, ThumbsUp as Fe, Trash2 as Ue, Trophy as Pe, Undo2 as ke, Upload as ye, User as be, UserPlus as De, UserRoundCog as Re, Users as ve, X as Te } from "lucide-react";
|
|
4
|
+
import Ie from "react";
|
|
4
5
|
const e = (s, o) => {
|
|
5
|
-
const a =
|
|
6
|
-
({ spin: l, rotate: r, className: c, style:
|
|
6
|
+
const a = Ie.forwardRef(
|
|
7
|
+
({ spin: l, rotate: r, className: c, style: i, strokeWidth: C, fill: d, color: t, ...n }, h) => /* @__PURE__ */ $(
|
|
7
8
|
s,
|
|
8
9
|
{
|
|
9
|
-
ref:
|
|
10
|
+
ref: h,
|
|
10
11
|
size: "1em",
|
|
11
|
-
className: [c, l ? "animate-spin" : ""].filter(Boolean).join(" ") || void 0,
|
|
12
|
-
style:
|
|
12
|
+
className: ["marsun-icon", c, l ? "animate-spin" : ""].filter(Boolean).join(" ") || void 0,
|
|
13
|
+
style: {
|
|
14
|
+
display: "inline-block",
|
|
15
|
+
verticalAlign: "-0.125em",
|
|
16
|
+
...t ? {} : { color: "inherit" },
|
|
17
|
+
...r ? { transform: `rotate(${r}deg)` } : null,
|
|
18
|
+
...i
|
|
19
|
+
},
|
|
20
|
+
color: t ?? "currentColor",
|
|
13
21
|
strokeWidth: C ?? (o != null && o.filled ? 0 : 2),
|
|
14
|
-
fill:
|
|
22
|
+
fill: d ?? (o != null && o.filled ? "currentColor" : "none"),
|
|
15
23
|
"aria-hidden": n["aria-label"] ? void 0 : !0,
|
|
16
24
|
...n
|
|
17
25
|
}
|
|
18
26
|
)
|
|
19
27
|
);
|
|
20
28
|
return a.displayName = s.displayName ?? s.name, a;
|
|
21
|
-
},
|
|
29
|
+
}, Ae = e(u), Oe = e(p), He = e(f), Be = e(L), xe = e(g), Me = e(S), qe = e(w), Xe = e(m), Ee = e(F), Ne = e(U), ze = e(P), Ge = e(k), je = e(y), We = e(b), _e = e(D), Ye = e(R), Je = e(v), Ke = e(T), Qe = e(I), Ve = e(A), Ze = e(O), eo = e(H, { filled: !0 }), oo = e(B), so = e(x), ao = e(M), ro = e(q), to = e(X), no = e(E), lo = e(N), co = e(z), io = e(G), Co = e(j), ho = e(W), $o = e(_), uo = e(Y), po = e(J), fo = e(K), Lo = e(Q), go = e(V), So = e(Z), wo = e(ee), mo = e(oe), Fo = e(se), Uo = e(ae), Po = e(re), ko = e(te), yo = e(ne), bo = e(le), Do = e(ce, { filled: !0 }), Ro = e(ie), vo = e(Ce), To = e(de), Io = e(he), Ao = e($e), Oo = e(ue), Ho = e(pe), Bo = e(fe), xo = e(Le), Mo = e(ge), qo = e(Se, { filled: !0 }), Xo = e(we, { filled: !0 }), Eo = e(me), No = e(Fe), zo = e(Ue), Go = e(Pe), jo = e(ke), Wo = e(ye), _o = e(be), Yo = e(De), Jo = e(Re), Ko = e(ve), Qo = e(Te), ss = [
|
|
22
30
|
"ArrowLeft",
|
|
23
31
|
"ArrowLeftRight",
|
|
24
32
|
"BarChart3",
|
|
@@ -91,155 +99,155 @@ const e = (s, o) => {
|
|
|
91
99
|
"UserRoundCog",
|
|
92
100
|
"Users",
|
|
93
101
|
"X"
|
|
94
|
-
],
|
|
95
|
-
ArrowLeft:
|
|
102
|
+
], as = {
|
|
103
|
+
ArrowLeft: Ae,
|
|
96
104
|
ArrowLeftRight: Oe,
|
|
97
|
-
BarChart3:
|
|
98
|
-
BookOpen:
|
|
99
|
-
Bot:
|
|
100
|
-
Check:
|
|
101
|
-
ChevronDown:
|
|
102
|
-
ChevronLeft:
|
|
103
|
-
ChevronRight:
|
|
104
|
-
ChevronUp:
|
|
105
|
-
CircleAlert:
|
|
106
|
-
CircleCheck:
|
|
107
|
-
CircleHelp:
|
|
108
|
-
CirclePlay:
|
|
109
|
-
CircleX:
|
|
110
|
-
ClipboardCheck:
|
|
111
|
-
Clock:
|
|
112
|
-
CloudDownload:
|
|
113
|
-
CloudUpload:
|
|
114
|
-
Code:
|
|
115
|
-
Copy:
|
|
116
|
-
Crown:
|
|
117
|
-
Database:
|
|
118
|
-
Download:
|
|
119
|
-
Eye:
|
|
120
|
-
File:
|
|
121
|
-
FileArchive:
|
|
122
|
-
FileImage:
|
|
123
|
-
FileSpreadsheet:
|
|
124
|
-
FileText:
|
|
125
|
-
Flag:
|
|
105
|
+
BarChart3: He,
|
|
106
|
+
BookOpen: Be,
|
|
107
|
+
Bot: xe,
|
|
108
|
+
Check: Me,
|
|
109
|
+
ChevronDown: qe,
|
|
110
|
+
ChevronLeft: Xe,
|
|
111
|
+
ChevronRight: Ee,
|
|
112
|
+
ChevronUp: Ne,
|
|
113
|
+
CircleAlert: ze,
|
|
114
|
+
CircleCheck: Ge,
|
|
115
|
+
CircleHelp: je,
|
|
116
|
+
CirclePlay: We,
|
|
117
|
+
CircleX: _e,
|
|
118
|
+
ClipboardCheck: Ye,
|
|
119
|
+
Clock: Je,
|
|
120
|
+
CloudDownload: Ke,
|
|
121
|
+
CloudUpload: Qe,
|
|
122
|
+
Code: Ve,
|
|
123
|
+
Copy: Ze,
|
|
124
|
+
Crown: eo,
|
|
125
|
+
Database: oo,
|
|
126
|
+
Download: so,
|
|
127
|
+
Eye: ao,
|
|
128
|
+
File: ro,
|
|
129
|
+
FileArchive: to,
|
|
130
|
+
FileImage: no,
|
|
131
|
+
FileSpreadsheet: lo,
|
|
132
|
+
FileText: co,
|
|
133
|
+
Flag: io,
|
|
126
134
|
Flame: Co,
|
|
127
|
-
Folder:
|
|
128
|
-
FolderOpen:
|
|
129
|
-
Hash:
|
|
130
|
-
House:
|
|
131
|
-
Import:
|
|
132
|
-
Inbox:
|
|
133
|
-
Info:
|
|
135
|
+
Folder: ho,
|
|
136
|
+
FolderOpen: $o,
|
|
137
|
+
Hash: uo,
|
|
138
|
+
House: po,
|
|
139
|
+
Import: fo,
|
|
140
|
+
Inbox: Lo,
|
|
141
|
+
Info: go,
|
|
134
142
|
LayoutDashboard: So,
|
|
135
|
-
LayoutGrid:
|
|
136
|
-
Loader2:
|
|
143
|
+
LayoutGrid: wo,
|
|
144
|
+
Loader2: mo,
|
|
137
145
|
Lock: Fo,
|
|
138
146
|
LogOut: Uo,
|
|
139
|
-
MessageCircle:
|
|
140
|
-
MessageSquare:
|
|
141
|
-
PanelLeftClose:
|
|
142
|
-
PanelLeftOpen:
|
|
143
|
-
Pause:
|
|
144
|
-
Pencil:
|
|
145
|
-
Plus:
|
|
146
|
-
Presentation:
|
|
147
|
-
RefreshCw:
|
|
148
|
-
RotateCw:
|
|
147
|
+
MessageCircle: Po,
|
|
148
|
+
MessageSquare: ko,
|
|
149
|
+
PanelLeftClose: yo,
|
|
150
|
+
PanelLeftOpen: bo,
|
|
151
|
+
Pause: Do,
|
|
152
|
+
Pencil: Ro,
|
|
153
|
+
Plus: vo,
|
|
154
|
+
Presentation: To,
|
|
155
|
+
RefreshCw: Io,
|
|
156
|
+
RotateCw: Ao,
|
|
149
157
|
Send: Oo,
|
|
150
|
-
Settings:
|
|
151
|
-
Shield:
|
|
152
|
-
ShieldCheck:
|
|
153
|
-
SlidersHorizontal:
|
|
154
|
-
Square:
|
|
155
|
-
Star:
|
|
156
|
-
ThumbsDown:
|
|
157
|
-
ThumbsUp:
|
|
158
|
-
Trash2:
|
|
159
|
-
Trophy:
|
|
160
|
-
Undo2:
|
|
161
|
-
Upload:
|
|
162
|
-
User:
|
|
163
|
-
UserPlus:
|
|
164
|
-
UserRoundCog:
|
|
165
|
-
Users:
|
|
166
|
-
X:
|
|
158
|
+
Settings: Ho,
|
|
159
|
+
Shield: Bo,
|
|
160
|
+
ShieldCheck: xo,
|
|
161
|
+
SlidersHorizontal: Mo,
|
|
162
|
+
Square: qo,
|
|
163
|
+
Star: Xo,
|
|
164
|
+
ThumbsDown: Eo,
|
|
165
|
+
ThumbsUp: No,
|
|
166
|
+
Trash2: zo,
|
|
167
|
+
Trophy: Go,
|
|
168
|
+
Undo2: jo,
|
|
169
|
+
Upload: Wo,
|
|
170
|
+
User: _o,
|
|
171
|
+
UserPlus: Yo,
|
|
172
|
+
UserRoundCog: Jo,
|
|
173
|
+
Users: Ko,
|
|
174
|
+
X: Qo
|
|
167
175
|
};
|
|
168
176
|
export {
|
|
169
|
-
|
|
177
|
+
Ae as ArrowLeft,
|
|
170
178
|
Oe as ArrowLeftRight,
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
179
|
+
He as BarChart3,
|
|
180
|
+
Be as BookOpen,
|
|
181
|
+
xe as Bot,
|
|
182
|
+
Me as Check,
|
|
183
|
+
qe as ChevronDown,
|
|
184
|
+
Xe as ChevronLeft,
|
|
185
|
+
Ee as ChevronRight,
|
|
186
|
+
Ne as ChevronUp,
|
|
187
|
+
ze as CircleAlert,
|
|
188
|
+
Ge as CircleCheck,
|
|
189
|
+
je as CircleHelp,
|
|
190
|
+
We as CirclePlay,
|
|
191
|
+
_e as CircleX,
|
|
192
|
+
Ye as ClipboardCheck,
|
|
193
|
+
Je as Clock,
|
|
194
|
+
Ke as CloudDownload,
|
|
195
|
+
Qe as CloudUpload,
|
|
196
|
+
Ve as Code,
|
|
197
|
+
Ze as Copy,
|
|
198
|
+
eo as Crown,
|
|
199
|
+
oo as Database,
|
|
200
|
+
so as Download,
|
|
201
|
+
ao as Eye,
|
|
202
|
+
ro as File,
|
|
203
|
+
to as FileArchive,
|
|
204
|
+
no as FileImage,
|
|
205
|
+
lo as FileSpreadsheet,
|
|
206
|
+
co as FileText,
|
|
207
|
+
io as Flag,
|
|
200
208
|
Co as Flame,
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
209
|
+
ho as Folder,
|
|
210
|
+
$o as FolderOpen,
|
|
211
|
+
uo as Hash,
|
|
212
|
+
po as House,
|
|
213
|
+
ss as ICON_NAMES,
|
|
214
|
+
as as ICON_REGISTRY,
|
|
215
|
+
fo as Import,
|
|
216
|
+
Lo as Inbox,
|
|
217
|
+
go as Info,
|
|
210
218
|
So as LayoutDashboard,
|
|
211
|
-
|
|
212
|
-
|
|
219
|
+
wo as LayoutGrid,
|
|
220
|
+
mo as Loader2,
|
|
213
221
|
Fo as Lock,
|
|
214
222
|
Uo as LogOut,
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
223
|
+
Po as MessageCircle,
|
|
224
|
+
ko as MessageSquare,
|
|
225
|
+
yo as PanelLeftClose,
|
|
226
|
+
bo as PanelLeftOpen,
|
|
227
|
+
Do as Pause,
|
|
228
|
+
Ro as Pencil,
|
|
229
|
+
vo as Plus,
|
|
230
|
+
To as Presentation,
|
|
231
|
+
Io as RefreshCw,
|
|
232
|
+
Ao as RotateCw,
|
|
225
233
|
Oo as Send,
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
234
|
+
Ho as Settings,
|
|
235
|
+
Bo as Shield,
|
|
236
|
+
xo as ShieldCheck,
|
|
237
|
+
Mo as SlidersHorizontal,
|
|
238
|
+
qo as Square,
|
|
239
|
+
Xo as Star,
|
|
240
|
+
Eo as ThumbsDown,
|
|
241
|
+
No as ThumbsUp,
|
|
242
|
+
zo as Trash2,
|
|
243
|
+
Go as Trophy,
|
|
244
|
+
jo as Undo2,
|
|
245
|
+
Wo as Upload,
|
|
246
|
+
_o as User,
|
|
247
|
+
Yo as UserPlus,
|
|
248
|
+
Jo as UserRoundCog,
|
|
249
|
+
Ko as Users,
|
|
250
|
+
Qo as X,
|
|
243
251
|
e as createIcon
|
|
244
252
|
};
|
|
245
253
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/Icons/index.tsx"],"sourcesContent":["import type { LucideIcon, LucideProps } from 'lucide-react';\nimport {\n ArrowLeft as ArrowLeftIcon,\n ArrowLeftRight as ArrowLeftRightIcon,\n BarChart3 as BarChart3Icon,\n BookOpen as BookOpenIcon,\n Bot as BotIcon,\n Check as CheckIcon,\n ChevronDown as ChevronDownIcon,\n ChevronLeft as ChevronLeftIcon,\n ChevronRight as ChevronRightIcon,\n ChevronUp as ChevronUpIcon,\n CircleAlert as CircleAlertIcon,\n CircleCheck as CircleCheckIcon,\n CircleHelp as CircleHelpIcon,\n CirclePlay as CirclePlayIcon,\n CircleX as CircleXIcon,\n ClipboardCheck as ClipboardCheckIcon,\n Clock as ClockIcon,\n CloudDownload as CloudDownloadIcon,\n CloudUpload as CloudUploadIcon,\n Code as CodeIcon,\n Copy as CopyIcon,\n Crown as CrownIcon,\n Database as DatabaseIcon,\n Download as DownloadIcon,\n Eye as EyeIcon,\n FileArchive as FileArchiveIcon,\n File as FileIcon,\n FileImage as FileImageIcon,\n FileSpreadsheet as FileSpreadsheetIcon,\n FileText as FileTextIcon,\n Flag as FlagIcon,\n Flame as FlameIcon,\n Folder as FolderIcon,\n FolderOpen as FolderOpenIcon,\n Hash as HashIcon,\n House as HouseIcon,\n Import as ImportIcon,\n Inbox as InboxIcon,\n Info as InfoIcon,\n LayoutDashboard as LayoutDashboardIcon,\n LayoutGrid as LayoutGridIcon,\n Loader2 as Loader2Icon,\n Lock as LockIcon,\n LogOut as LogOutIcon,\n MessageCircle as MessageCircleIcon,\n MessageSquare as MessageSquareIcon,\n PanelLeftClose as PanelLeftCloseIcon,\n PanelLeftOpen as PanelLeftOpenIcon,\n Pause as PauseIcon,\n Pencil as PencilIcon,\n Plus as PlusIcon,\n Presentation as PresentationIcon,\n RefreshCw as RefreshCwIcon,\n RotateCw as RotateCwIcon,\n Send as SendIcon,\n Settings as SettingsIcon,\n ShieldCheck as ShieldCheckIcon,\n Shield as ShieldIcon,\n SlidersHorizontal as SlidersHorizontalIcon,\n Square as SquareIcon,\n Star as StarIcon,\n ThumbsDown as ThumbsDownIcon,\n ThumbsUp as ThumbsUpIcon,\n Trash2 as Trash2Icon,\n Trophy as TrophyIcon,\n Undo2 as Undo2Icon,\n Upload as UploadIcon,\n User as UserIcon,\n UserPlus as UserPlusIcon,\n UserRoundCog as UserRoundCogIcon,\n Users as UsersIcon,\n X as XIcon,\n} from 'lucide-react';\nimport React from 'react';\n\nexport type IconProps = LucideProps & {\n spin?: boolean;\n rotate?: number;\n};\n\nconst createIcon = (Icon: LucideIcon, options?: { filled?: boolean }) => {\n const WrappedIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ spin, rotate, className, style, strokeWidth, fill, ...props }, ref) => (\n <Icon\n ref={ref}\n size=\"1em\"\n className={[className, spin ? 'animate-spin' : ''].filter(Boolean).join(' ') || undefined}\n style={rotate ? { ...style, transform: `rotate(${rotate}deg)` } : style}\n strokeWidth={strokeWidth ?? (options?.filled ? 0 : 2)}\n fill={fill ?? (options?.filled ? 'currentColor' : 'none')}\n aria-hidden={props['aria-label'] ? undefined : true}\n {...props}\n />\n ),\n );\n\n WrappedIcon.displayName = Icon.displayName ?? Icon.name;\n return WrappedIcon;\n};\n\nexport const ArrowLeft = createIcon(ArrowLeftIcon);\nexport const ArrowLeftRight = createIcon(ArrowLeftRightIcon);\nexport const BarChart3 = createIcon(BarChart3Icon);\nexport const BookOpen = createIcon(BookOpenIcon);\nexport const Bot = createIcon(BotIcon);\nexport const Check = createIcon(CheckIcon);\nexport const ChevronDown = createIcon(ChevronDownIcon);\nexport const ChevronLeft = createIcon(ChevronLeftIcon);\nexport const ChevronRight = createIcon(ChevronRightIcon);\nexport const ChevronUp = createIcon(ChevronUpIcon);\nexport const CircleAlert = createIcon(CircleAlertIcon);\nexport const CircleCheck = createIcon(CircleCheckIcon);\nexport const CircleHelp = createIcon(CircleHelpIcon);\nexport const CirclePlay = createIcon(CirclePlayIcon);\nexport const CircleX = createIcon(CircleXIcon);\nexport const ClipboardCheck = createIcon(ClipboardCheckIcon);\nexport const Clock = createIcon(ClockIcon);\nexport const CloudDownload = createIcon(CloudDownloadIcon);\nexport const CloudUpload = createIcon(CloudUploadIcon);\nexport const Code = createIcon(CodeIcon);\nexport const Copy = createIcon(CopyIcon);\nexport const Crown = createIcon(CrownIcon, { filled: true });\nexport const Database = createIcon(DatabaseIcon);\nexport const Download = createIcon(DownloadIcon);\nexport const Eye = createIcon(EyeIcon);\nexport const File = createIcon(FileIcon);\nexport const FileArchive = createIcon(FileArchiveIcon);\nexport const FileImage = createIcon(FileImageIcon);\nexport const FileSpreadsheet = createIcon(FileSpreadsheetIcon);\nexport const FileText = createIcon(FileTextIcon);\nexport const Flag = createIcon(FlagIcon);\nexport const Flame = createIcon(FlameIcon);\nexport const Folder = createIcon(FolderIcon);\nexport const FolderOpen = createIcon(FolderOpenIcon);\nexport const Hash = createIcon(HashIcon);\nexport const House = createIcon(HouseIcon);\nexport const Import = createIcon(ImportIcon);\nexport const Inbox = createIcon(InboxIcon);\nexport const Info = createIcon(InfoIcon);\nexport const LayoutDashboard = createIcon(LayoutDashboardIcon);\nexport const LayoutGrid = createIcon(LayoutGridIcon);\nexport const Loader2 = createIcon(Loader2Icon);\nexport const Lock = createIcon(LockIcon);\nexport const LogOut = createIcon(LogOutIcon);\nexport const MessageCircle = createIcon(MessageCircleIcon);\nexport const MessageSquare = createIcon(MessageSquareIcon);\nexport const PanelLeftClose = createIcon(PanelLeftCloseIcon);\nexport const PanelLeftOpen = createIcon(PanelLeftOpenIcon);\nexport const Pause = createIcon(PauseIcon, { filled: true });\nexport const Pencil = createIcon(PencilIcon);\nexport const Plus = createIcon(PlusIcon);\nexport const Presentation = createIcon(PresentationIcon);\nexport const RefreshCw = createIcon(RefreshCwIcon);\nexport const RotateCw = createIcon(RotateCwIcon);\nexport const Send = createIcon(SendIcon);\nexport const Settings = createIcon(SettingsIcon);\nexport const Shield = createIcon(ShieldIcon);\nexport const ShieldCheck = createIcon(ShieldCheckIcon);\nexport const SlidersHorizontal = createIcon(SlidersHorizontalIcon);\nexport const Square = createIcon(SquareIcon, { filled: true });\nexport const Star = createIcon(StarIcon, { filled: true });\nexport const ThumbsDown = createIcon(ThumbsDownIcon);\nexport const ThumbsUp = createIcon(ThumbsUpIcon);\nexport const Trash2 = createIcon(Trash2Icon);\nexport const Trophy = createIcon(TrophyIcon);\nexport const Undo2 = createIcon(Undo2Icon);\nexport const Upload = createIcon(UploadIcon);\nexport const User = createIcon(UserIcon);\nexport const UserPlus = createIcon(UserPlusIcon);\nexport const UserRoundCog = createIcon(UserRoundCogIcon);\nexport const Users = createIcon(UsersIcon);\nexport const X = createIcon(XIcon);\n\nexport { createIcon };\n\nexport const ICON_NAMES = [\n 'ArrowLeft', 'ArrowLeftRight', 'BarChart3', 'BookOpen', 'Bot', 'Check',\n 'ChevronDown', 'ChevronLeft', 'ChevronRight', 'ChevronUp', 'CircleAlert',\n 'CircleCheck', 'CircleHelp', 'CirclePlay', 'CircleX', 'ClipboardCheck', 'Clock',\n 'CloudDownload', 'CloudUpload', 'Code', 'Copy', 'Crown', 'Database', 'Download',\n 'Eye', 'File', 'FileArchive', 'FileImage', 'FileSpreadsheet', 'FileText', 'Flag',\n 'Flame', 'Folder', 'FolderOpen', 'Hash', 'House', 'Import', 'Inbox', 'Info',\n 'LayoutDashboard', 'LayoutGrid', 'Loader2', 'Lock', 'LogOut', 'MessageCircle',\n 'MessageSquare', 'PanelLeftClose', 'PanelLeftOpen', 'Pause', 'Pencil', 'Plus',\n 'Presentation', 'RefreshCw', 'RotateCw', 'Send', 'Settings', 'Shield',\n 'ShieldCheck', 'SlidersHorizontal', 'Square', 'Star', 'ThumbsDown', 'ThumbsUp',\n 'Trash2', 'Trophy', 'Undo2', 'Upload', 'User', 'UserPlus', 'UserRoundCog', 'Users', 'X',\n] as const;\n\nexport type IconName = (typeof ICON_NAMES)[number];\n\nexport const ICON_REGISTRY: Record<IconName, React.FC<IconProps>> = {\n ArrowLeft, ArrowLeftRight, BarChart3, BookOpen, Bot, Check,\n ChevronDown, ChevronLeft, ChevronRight, ChevronUp, CircleAlert,\n CircleCheck, CircleHelp, CirclePlay, CircleX, ClipboardCheck, Clock,\n CloudDownload, CloudUpload, Code, Copy, Crown, Database, Download,\n Eye, File, FileArchive, FileImage, FileSpreadsheet, FileText, Flag,\n Flame, Folder, FolderOpen, Hash, House, Import, Inbox, Info,\n LayoutDashboard, LayoutGrid, Loader2, Lock, LogOut, MessageCircle,\n MessageSquare, PanelLeftClose, PanelLeftOpen, Pause, Pencil, Plus,\n Presentation, RefreshCw, RotateCw, Send, Settings, Shield,\n ShieldCheck, SlidersHorizontal, Square, Star, ThumbsDown, ThumbsUp,\n Trash2, Trophy, Undo2, Upload, User, UserPlus, UserRoundCog, Users, X,\n};\n"],"names":["createIcon","Icon","options","WrappedIcon","React","spin","rotate","className","style","strokeWidth","fill","props","ref","jsx","ArrowLeft","ArrowLeftIcon","ArrowLeftRight","ArrowLeftRightIcon","BarChart3","BarChart3Icon","BookOpen","BookOpenIcon","Bot","BotIcon","Check","CheckIcon","ChevronDown","ChevronDownIcon","ChevronLeft","ChevronLeftIcon","ChevronRight","ChevronRightIcon","ChevronUp","ChevronUpIcon","CircleAlert","CircleAlertIcon","CircleCheck","CircleCheckIcon","CircleHelp","CircleHelpIcon","CirclePlay","CirclePlayIcon","CircleX","CircleXIcon","ClipboardCheck","ClipboardCheckIcon","Clock","ClockIcon","CloudDownload","CloudDownloadIcon","CloudUpload","CloudUploadIcon","Code","CodeIcon","Copy","CopyIcon","Crown","CrownIcon","Database","DatabaseIcon","Download","DownloadIcon","Eye","EyeIcon","File","FileIcon","FileArchive","FileArchiveIcon","FileImage","FileImageIcon","FileSpreadsheet","FileSpreadsheetIcon","FileText","FileTextIcon","Flag","FlagIcon","Flame","FlameIcon","Folder","FolderIcon","FolderOpen","FolderOpenIcon","Hash","HashIcon","House","HouseIcon","Import","ImportIcon","Inbox","InboxIcon","Info","InfoIcon","LayoutDashboard","LayoutDashboardIcon","LayoutGrid","LayoutGridIcon","Loader2","Loader2Icon","Lock","LockIcon","LogOut","LogOutIcon","MessageCircle","MessageCircleIcon","MessageSquare","MessageSquareIcon","PanelLeftClose","PanelLeftCloseIcon","PanelLeftOpen","PanelLeftOpenIcon","Pause","PauseIcon","Pencil","PencilIcon","Plus","PlusIcon","Presentation","PresentationIcon","RefreshCw","RefreshCwIcon","RotateCw","RotateCwIcon","Send","SendIcon","Settings","SettingsIcon","Shield","ShieldIcon","ShieldCheck","ShieldCheckIcon","SlidersHorizontal","SlidersHorizontalIcon","Square","SquareIcon","Star","StarIcon","ThumbsDown","ThumbsDownIcon","ThumbsUp","ThumbsUpIcon","Trash2","Trash2Icon","Trophy","TrophyIcon","Undo2","Undo2Icon","Upload","UploadIcon","User","UserIcon","UserPlus","UserPlusIcon","UserRoundCog","UserRoundCogIcon","Users","UsersIcon","X","XIcon","ICON_NAMES","ICON_REGISTRY"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/Icons/index.tsx"],"sourcesContent":["import type { LucideIcon, LucideProps } from 'lucide-react';\nimport './icons.global.css';\nimport {\n ArrowLeft as ArrowLeftIcon,\n ArrowLeftRight as ArrowLeftRightIcon,\n BarChart3 as BarChart3Icon,\n BookOpen as BookOpenIcon,\n Bot as BotIcon,\n Check as CheckIcon,\n ChevronDown as ChevronDownIcon,\n ChevronLeft as ChevronLeftIcon,\n ChevronRight as ChevronRightIcon,\n ChevronUp as ChevronUpIcon,\n CircleAlert as CircleAlertIcon,\n CircleCheck as CircleCheckIcon,\n CircleHelp as CircleHelpIcon,\n CirclePlay as CirclePlayIcon,\n CircleX as CircleXIcon,\n ClipboardCheck as ClipboardCheckIcon,\n Clock as ClockIcon,\n CloudDownload as CloudDownloadIcon,\n CloudUpload as CloudUploadIcon,\n Code as CodeIcon,\n Copy as CopyIcon,\n Crown as CrownIcon,\n Database as DatabaseIcon,\n Download as DownloadIcon,\n Eye as EyeIcon,\n FileArchive as FileArchiveIcon,\n File as FileIcon,\n FileImage as FileImageIcon,\n FileSpreadsheet as FileSpreadsheetIcon,\n FileText as FileTextIcon,\n Flag as FlagIcon,\n Flame as FlameIcon,\n Folder as FolderIcon,\n FolderOpen as FolderOpenIcon,\n Hash as HashIcon,\n House as HouseIcon,\n Import as ImportIcon,\n Inbox as InboxIcon,\n Info as InfoIcon,\n LayoutDashboard as LayoutDashboardIcon,\n LayoutGrid as LayoutGridIcon,\n Loader2 as Loader2Icon,\n Lock as LockIcon,\n LogOut as LogOutIcon,\n MessageCircle as MessageCircleIcon,\n MessageSquare as MessageSquareIcon,\n PanelLeftClose as PanelLeftCloseIcon,\n PanelLeftOpen as PanelLeftOpenIcon,\n Pause as PauseIcon,\n Pencil as PencilIcon,\n Plus as PlusIcon,\n Presentation as PresentationIcon,\n RefreshCw as RefreshCwIcon,\n RotateCw as RotateCwIcon,\n Send as SendIcon,\n Settings as SettingsIcon,\n ShieldCheck as ShieldCheckIcon,\n Shield as ShieldIcon,\n SlidersHorizontal as SlidersHorizontalIcon,\n Square as SquareIcon,\n Star as StarIcon,\n ThumbsDown as ThumbsDownIcon,\n ThumbsUp as ThumbsUpIcon,\n Trash2 as Trash2Icon,\n Trophy as TrophyIcon,\n Undo2 as Undo2Icon,\n Upload as UploadIcon,\n User as UserIcon,\n UserPlus as UserPlusIcon,\n UserRoundCog as UserRoundCogIcon,\n Users as UsersIcon,\n X as XIcon,\n} from 'lucide-react';\nimport React from 'react';\n\nexport type IconProps = LucideProps & {\n spin?: boolean;\n rotate?: number;\n};\n\nconst createIcon = (Icon: LucideIcon, options?: { filled?: boolean }) => {\n const WrappedIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ spin, rotate, className, style, strokeWidth, fill, color, ...props }, ref) => (\n <Icon\n ref={ref}\n size=\"1em\"\n className={['marsun-icon', className, spin ? 'animate-spin' : ''].filter(Boolean).join(' ') || undefined}\n style={{\n display: 'inline-block',\n verticalAlign: '-0.125em',\n ...(color ? {} : { color: 'inherit' }),\n ...(rotate ? { transform: `rotate(${rotate}deg)` } : null),\n ...style,\n }}\n color={color ?? 'currentColor'}\n strokeWidth={strokeWidth ?? (options?.filled ? 0 : 2)}\n fill={fill ?? (options?.filled ? 'currentColor' : 'none')}\n aria-hidden={props['aria-label'] ? undefined : true}\n {...props}\n />\n ),\n );\n\n WrappedIcon.displayName = Icon.displayName ?? Icon.name;\n return WrappedIcon;\n};\n\nexport const ArrowLeft = createIcon(ArrowLeftIcon);\nexport const ArrowLeftRight = createIcon(ArrowLeftRightIcon);\nexport const BarChart3 = createIcon(BarChart3Icon);\nexport const BookOpen = createIcon(BookOpenIcon);\nexport const Bot = createIcon(BotIcon);\nexport const Check = createIcon(CheckIcon);\nexport const ChevronDown = createIcon(ChevronDownIcon);\nexport const ChevronLeft = createIcon(ChevronLeftIcon);\nexport const ChevronRight = createIcon(ChevronRightIcon);\nexport const ChevronUp = createIcon(ChevronUpIcon);\nexport const CircleAlert = createIcon(CircleAlertIcon);\nexport const CircleCheck = createIcon(CircleCheckIcon);\nexport const CircleHelp = createIcon(CircleHelpIcon);\nexport const CirclePlay = createIcon(CirclePlayIcon);\nexport const CircleX = createIcon(CircleXIcon);\nexport const ClipboardCheck = createIcon(ClipboardCheckIcon);\nexport const Clock = createIcon(ClockIcon);\nexport const CloudDownload = createIcon(CloudDownloadIcon);\nexport const CloudUpload = createIcon(CloudUploadIcon);\nexport const Code = createIcon(CodeIcon);\nexport const Copy = createIcon(CopyIcon);\nexport const Crown = createIcon(CrownIcon, { filled: true });\nexport const Database = createIcon(DatabaseIcon);\nexport const Download = createIcon(DownloadIcon);\nexport const Eye = createIcon(EyeIcon);\nexport const File = createIcon(FileIcon);\nexport const FileArchive = createIcon(FileArchiveIcon);\nexport const FileImage = createIcon(FileImageIcon);\nexport const FileSpreadsheet = createIcon(FileSpreadsheetIcon);\nexport const FileText = createIcon(FileTextIcon);\nexport const Flag = createIcon(FlagIcon);\nexport const Flame = createIcon(FlameIcon);\nexport const Folder = createIcon(FolderIcon);\nexport const FolderOpen = createIcon(FolderOpenIcon);\nexport const Hash = createIcon(HashIcon);\nexport const House = createIcon(HouseIcon);\nexport const Import = createIcon(ImportIcon);\nexport const Inbox = createIcon(InboxIcon);\nexport const Info = createIcon(InfoIcon);\nexport const LayoutDashboard = createIcon(LayoutDashboardIcon);\nexport const LayoutGrid = createIcon(LayoutGridIcon);\nexport const Loader2 = createIcon(Loader2Icon);\nexport const Lock = createIcon(LockIcon);\nexport const LogOut = createIcon(LogOutIcon);\nexport const MessageCircle = createIcon(MessageCircleIcon);\nexport const MessageSquare = createIcon(MessageSquareIcon);\nexport const PanelLeftClose = createIcon(PanelLeftCloseIcon);\nexport const PanelLeftOpen = createIcon(PanelLeftOpenIcon);\nexport const Pause = createIcon(PauseIcon, { filled: true });\nexport const Pencil = createIcon(PencilIcon);\nexport const Plus = createIcon(PlusIcon);\nexport const Presentation = createIcon(PresentationIcon);\nexport const RefreshCw = createIcon(RefreshCwIcon);\nexport const RotateCw = createIcon(RotateCwIcon);\nexport const Send = createIcon(SendIcon);\nexport const Settings = createIcon(SettingsIcon);\nexport const Shield = createIcon(ShieldIcon);\nexport const ShieldCheck = createIcon(ShieldCheckIcon);\nexport const SlidersHorizontal = createIcon(SlidersHorizontalIcon);\nexport const Square = createIcon(SquareIcon, { filled: true });\nexport const Star = createIcon(StarIcon, { filled: true });\nexport const ThumbsDown = createIcon(ThumbsDownIcon);\nexport const ThumbsUp = createIcon(ThumbsUpIcon);\nexport const Trash2 = createIcon(Trash2Icon);\nexport const Trophy = createIcon(TrophyIcon);\nexport const Undo2 = createIcon(Undo2Icon);\nexport const Upload = createIcon(UploadIcon);\nexport const User = createIcon(UserIcon);\nexport const UserPlus = createIcon(UserPlusIcon);\nexport const UserRoundCog = createIcon(UserRoundCogIcon);\nexport const Users = createIcon(UsersIcon);\nexport const X = createIcon(XIcon);\n\nexport { createIcon };\n\nexport const ICON_NAMES = [\n 'ArrowLeft', 'ArrowLeftRight', 'BarChart3', 'BookOpen', 'Bot', 'Check',\n 'ChevronDown', 'ChevronLeft', 'ChevronRight', 'ChevronUp', 'CircleAlert',\n 'CircleCheck', 'CircleHelp', 'CirclePlay', 'CircleX', 'ClipboardCheck', 'Clock',\n 'CloudDownload', 'CloudUpload', 'Code', 'Copy', 'Crown', 'Database', 'Download',\n 'Eye', 'File', 'FileArchive', 'FileImage', 'FileSpreadsheet', 'FileText', 'Flag',\n 'Flame', 'Folder', 'FolderOpen', 'Hash', 'House', 'Import', 'Inbox', 'Info',\n 'LayoutDashboard', 'LayoutGrid', 'Loader2', 'Lock', 'LogOut', 'MessageCircle',\n 'MessageSquare', 'PanelLeftClose', 'PanelLeftOpen', 'Pause', 'Pencil', 'Plus',\n 'Presentation', 'RefreshCw', 'RotateCw', 'Send', 'Settings', 'Shield',\n 'ShieldCheck', 'SlidersHorizontal', 'Square', 'Star', 'ThumbsDown', 'ThumbsUp',\n 'Trash2', 'Trophy', 'Undo2', 'Upload', 'User', 'UserPlus', 'UserRoundCog', 'Users', 'X',\n] as const;\n\nexport type IconName = (typeof ICON_NAMES)[number];\n\nexport const ICON_REGISTRY: Record<IconName, React.FC<IconProps>> = {\n ArrowLeft, ArrowLeftRight, BarChart3, BookOpen, Bot, Check,\n ChevronDown, ChevronLeft, ChevronRight, ChevronUp, CircleAlert,\n CircleCheck, CircleHelp, CirclePlay, CircleX, ClipboardCheck, Clock,\n CloudDownload, CloudUpload, Code, Copy, Crown, Database, Download,\n Eye, File, FileArchive, FileImage, FileSpreadsheet, FileText, Flag,\n Flame, Folder, FolderOpen, Hash, House, Import, Inbox, Info,\n LayoutDashboard, LayoutGrid, Loader2, Lock, LogOut, MessageCircle,\n MessageSquare, PanelLeftClose, PanelLeftOpen, Pause, Pencil, Plus,\n Presentation, RefreshCw, RotateCw, Send, Settings, Shield,\n ShieldCheck, SlidersHorizontal, Square, Star, ThumbsDown, ThumbsUp,\n Trash2, Trophy, Undo2, Upload, User, UserPlus, UserRoundCog, Users, X,\n};\n"],"names":["createIcon","Icon","options","WrappedIcon","React","spin","rotate","className","style","strokeWidth","fill","color","props","ref","jsx","ArrowLeft","ArrowLeftIcon","ArrowLeftRight","ArrowLeftRightIcon","BarChart3","BarChart3Icon","BookOpen","BookOpenIcon","Bot","BotIcon","Check","CheckIcon","ChevronDown","ChevronDownIcon","ChevronLeft","ChevronLeftIcon","ChevronRight","ChevronRightIcon","ChevronUp","ChevronUpIcon","CircleAlert","CircleAlertIcon","CircleCheck","CircleCheckIcon","CircleHelp","CircleHelpIcon","CirclePlay","CirclePlayIcon","CircleX","CircleXIcon","ClipboardCheck","ClipboardCheckIcon","Clock","ClockIcon","CloudDownload","CloudDownloadIcon","CloudUpload","CloudUploadIcon","Code","CodeIcon","Copy","CopyIcon","Crown","CrownIcon","Database","DatabaseIcon","Download","DownloadIcon","Eye","EyeIcon","File","FileIcon","FileArchive","FileArchiveIcon","FileImage","FileImageIcon","FileSpreadsheet","FileSpreadsheetIcon","FileText","FileTextIcon","Flag","FlagIcon","Flame","FlameIcon","Folder","FolderIcon","FolderOpen","FolderOpenIcon","Hash","HashIcon","House","HouseIcon","Import","ImportIcon","Inbox","InboxIcon","Info","InfoIcon","LayoutDashboard","LayoutDashboardIcon","LayoutGrid","LayoutGridIcon","Loader2","Loader2Icon","Lock","LockIcon","LogOut","LogOutIcon","MessageCircle","MessageCircleIcon","MessageSquare","MessageSquareIcon","PanelLeftClose","PanelLeftCloseIcon","PanelLeftOpen","PanelLeftOpenIcon","Pause","PauseIcon","Pencil","PencilIcon","Plus","PlusIcon","Presentation","PresentationIcon","RefreshCw","RefreshCwIcon","RotateCw","RotateCwIcon","Send","SendIcon","Settings","SettingsIcon","Shield","ShieldIcon","ShieldCheck","ShieldCheckIcon","SlidersHorizontal","SlidersHorizontalIcon","Square","SquareIcon","Star","StarIcon","ThumbsDown","ThumbsDownIcon","ThumbsUp","ThumbsUpIcon","Trash2","Trash2Icon","Trophy","TrophyIcon","Undo2","Undo2Icon","Upload","UploadIcon","User","UserIcon","UserPlus","UserPlusIcon","UserRoundCog","UserRoundCogIcon","Users","UsersIcon","X","XIcon","ICON_NAMES","ICON_REGISTRY"],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsxs as l, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import r from "classnames";
|
|
3
|
+
import { parseLlmText as o } from "../parseLlmText.js";
|
|
4
|
+
import t from "./style.module.scss.js";
|
|
5
|
+
const p = {
|
|
6
|
+
causes: "◆",
|
|
7
|
+
suggestions: "✓",
|
|
8
|
+
summary: "●"
|
|
9
|
+
}, y = ({
|
|
10
|
+
text: m = "",
|
|
11
|
+
loading: d,
|
|
12
|
+
className: i
|
|
13
|
+
}) => {
|
|
14
|
+
const s = o(m);
|
|
15
|
+
return d || s.loading ? /* @__PURE__ */ l("div", { className: r("llm-formatted-text", t["llm-formatted-text"], t["is-loading"], i), children: [
|
|
16
|
+
/* @__PURE__ */ e("span", { className: t["ft-spinner"], "aria-hidden": !0 }),
|
|
17
|
+
/* @__PURE__ */ e("span", { children: m || "正在生成..." })
|
|
18
|
+
] }) : s.summary || s.sections.length > 0 ? /* @__PURE__ */ l("div", { className: r("llm-formatted-text", t["llm-formatted-text"], i), children: [
|
|
19
|
+
s.summary ? /* @__PURE__ */ e("p", { className: t["ft-summary"], children: s.summary }) : null,
|
|
20
|
+
s.sections.map((a) => /* @__PURE__ */ l(
|
|
21
|
+
"section",
|
|
22
|
+
{
|
|
23
|
+
className: r(t["ft-section"], t[`ft-${a.type}`]),
|
|
24
|
+
children: [
|
|
25
|
+
/* @__PURE__ */ l("h4", { className: t["ft-section-title"], children: [
|
|
26
|
+
/* @__PURE__ */ e("span", { className: t["ft-section-icon"], "aria-hidden": !0, children: p[a.type] || "•" }),
|
|
27
|
+
a.title
|
|
28
|
+
] }),
|
|
29
|
+
a.items.length > 1 ? /* @__PURE__ */ e("ul", { className: t["ft-list"], children: a.items.map((c, n) => /* @__PURE__ */ l("li", { children: [
|
|
30
|
+
/* @__PURE__ */ e("span", { className: t["ft-num"], children: n + 1 }),
|
|
31
|
+
/* @__PURE__ */ e("span", { className: t["ft-item-text"], children: c })
|
|
32
|
+
] }, n)) }) : /* @__PURE__ */ e("p", { className: t["ft-paragraph"], children: a.items[0] })
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
`${a.type}-${a.title}`
|
|
36
|
+
))
|
|
37
|
+
] }) : /* @__PURE__ */ e("div", { className: r("llm-formatted-text", t["llm-formatted-text"], i), children: /* @__PURE__ */ e("p", { className: t["ft-paragraph"], children: m }) });
|
|
38
|
+
};
|
|
39
|
+
export {
|
|
40
|
+
y as default
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/LlmFormattedText/LlmFormattedText/index.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport React from 'react';\nimport { parseLlmText } from '../parseLlmText';\nimport styles from './style.module.scss';\n\nconst SECTION_ICONS: Record<string, string> = {\n causes: '◆',\n suggestions: '✓',\n summary: '●',\n};\n\nexport interface LlmFormattedTextProps {\n text?: string;\n loading?: boolean;\n className?: string;\n}\n\nconst LlmFormattedText: React.FC<LlmFormattedTextProps> = ({\n text = '',\n loading: loadingProp,\n className,\n}) => {\n const parsed = parseLlmText(text);\n const loading = loadingProp || parsed.loading;\n\n if (loading) {\n return (\n <div className={classNames('llm-formatted-text', styles['llm-formatted-text'], styles['is-loading'], className)}>\n <span className={styles['ft-spinner']} aria-hidden />\n <span>{text || '正在生成...'}</span>\n </div>\n );\n }\n\n const hasStructure = parsed.summary || parsed.sections.length > 0;\n if (!hasStructure) {\n return (\n <div className={classNames('llm-formatted-text', styles['llm-formatted-text'], className)}>\n <p className={styles['ft-paragraph']}>{text}</p>\n </div>\n );\n }\n\n return (\n <div className={classNames('llm-formatted-text', styles['llm-formatted-text'], className)}>\n {parsed.summary ? <p className={styles['ft-summary']}>{parsed.summary}</p> : null}\n {parsed.sections.map((sec: { type: string; title: string; items: string[] }) => (\n <section\n key={`${sec.type}-${sec.title}`}\n className={classNames(styles['ft-section'], styles[`ft-${sec.type}`])}\n >\n <h4 className={styles['ft-section-title']}>\n <span className={styles['ft-section-icon']} aria-hidden>\n {SECTION_ICONS[sec.type] || '•'}\n </span>\n {sec.title}\n </h4>\n {sec.items.length > 1 ? (\n <ul className={styles['ft-list']}>\n {sec.items.map((item: string, i: number) => (\n <li key={i}>\n <span className={styles['ft-num']}>{i + 1}</span>\n <span className={styles['ft-item-text']}>{item}</span>\n </li>\n ))}\n </ul>\n ) : (\n <p className={styles['ft-paragraph']}>{sec.items[0]}</p>\n )}\n </section>\n ))}\n </div>\n );\n};\n\nexport default LlmFormattedText;\n"],"names":["SECTION_ICONS","LlmFormattedText","text","loadingProp","className","parsed","parseLlmText","jsxs","classNames","styles","jsx","sec","item","i"],"mappings":";;;;AAKA,MAAMA,IAAwC;AAAA,EAC5C,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,SAAS;AACX,GAQMC,IAAoD,CAAC;AAAA,EACzD,MAAAC,IAAO;AAAA,EACP,SAASC;AAAA,EACT,WAAAC;AACF,MAAM;AACJ,QAAMC,IAASC,EAAaJ,CAAI;AAGhC,SAFgBC,KAAeE,EAAO,UAIlC,gBAAAE,EAAC,OAAA,EAAI,WAAWC,EAAW,sBAAsBC,EAAO,oBAAoB,GAAGA,EAAO,YAAY,GAAGL,CAAS,GAC5G,UAAA;AAAA,IAAA,gBAAAM,EAAC,UAAK,WAAWD,EAAO,YAAY,GAAG,eAAW,IAAC;AAAA,IACnD,gBAAAC,EAAC,QAAA,EAAM,UAAAR,KAAQ,UAAA,CAAU;AAAA,EAAA,GAC3B,IAIiBG,EAAO,WAAWA,EAAO,SAAS,SAAS,IAU9D,gBAAAE,EAAC,SAAI,WAAWC,EAAW,sBAAsBC,EAAO,oBAAoB,GAAGL,CAAS,GACrF,UAAA;AAAA,IAAAC,EAAO,4BAAW,KAAA,EAAE,WAAWI,EAAO,YAAY,GAAI,UAAAJ,EAAO,QAAA,CAAQ,IAAO;AAAA,IAC5EA,EAAO,SAAS,IAAI,CAACM,MACpB,gBAAAJ;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,WAAWC,EAAWC,EAAO,YAAY,GAAGA,EAAO,MAAME,EAAI,IAAI,EAAE,CAAC;AAAA,QAEpE,UAAA;AAAA,UAAA,gBAAAJ,EAAC,MAAA,EAAG,WAAWE,EAAO,kBAAkB,GACtC,UAAA;AAAA,YAAA,gBAAAC,EAAC,QAAA,EAAK,WAAWD,EAAO,iBAAiB,GAAG,eAAW,IACpD,UAAAT,EAAcW,EAAI,IAAI,KAAK,IAAA,CAC9B;AAAA,YACCA,EAAI;AAAA,UAAA,GACP;AAAA,UACCA,EAAI,MAAM,SAAS,IAClB,gBAAAD,EAAC,QAAG,WAAWD,EAAO,SAAS,GAC5B,YAAI,MAAM,IAAI,CAACG,GAAcC,wBAC3B,MAAA,EACC,UAAA;AAAA,YAAA,gBAAAH,EAAC,UAAK,WAAWD,EAAO,QAAQ,GAAI,cAAI,GAAE;AAAA,8BACzC,QAAA,EAAK,WAAWA,EAAO,cAAc,GAAI,UAAAG,EAAA,CAAK;AAAA,UAAA,EAAA,GAFxCC,CAGT,CACD,EAAA,CACH,IAEA,gBAAAH,EAAC,KAAA,EAAE,WAAWD,EAAO,cAAc,GAAI,UAAAE,EAAI,MAAM,CAAC,EAAA,CAAE;AAAA,QAAA;AAAA,MAAA;AAAA,MAnBjD,GAAGA,EAAI,IAAI,IAAIA,EAAI,KAAK;AAAA,IAAA,CAsBhC;AAAA,EAAA,GACH,sBAlCG,OAAA,EAAI,WAAWH,EAAW,sBAAsBC,EAAO,oBAAoB,GAAGL,CAAS,GACtF,4BAAC,KAAA,EAAE,WAAWK,EAAO,cAAc,GAAI,aAAK,GAC9C;AAkCN;"}
|