@hkyhy/marsun-components-core 0.1.24 → 0.1.26
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/Auth/UserProfileCard/UserProfileCard.d.ts +23 -0
- package/dist/components/Auth/UserProfileCard/UserProfileCard.js +57 -0
- package/dist/components/Auth/UserProfileCard/UserProfileCard.js.map +1 -0
- package/dist/components/Auth/UserProfileCard/index.d.ts +2 -0
- package/dist/components/Auth/UserProfileCard/style.module.scss.js +14 -0
- package/dist/components/Auth/UserProfileCard/style.module.scss.js.map +1 -0
- package/dist/components/Auth/index.d.ts +2 -0
- package/dist/components/Filter/FilterSelect/index.d.ts +4 -2
- package/dist/components/Filter/FilterSelect/index.js +253 -157
- package/dist/components/Filter/FilterSelect/index.js.map +1 -1
- package/dist/components/Filter/FilterSelect/style.module.scss.js +14 -12
- package/dist/components/Filter/FilterSelect/style.module.scss.js.map +1 -1
- package/dist/components/Table/Table.d.ts +8 -0
- package/dist/components/Table/Table.js +39 -0
- package/dist/components/Table/Table.js.map +1 -0
- package/dist/components/Table/index.d.ts +2 -0
- package/dist/components/Table/style.module.scss.js +7 -0
- package/dist/components/Table/style.module.scss.js.map +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +410 -405
- package/dist/index.js.map +1 -1
- package/dist/marsun-components-core.css +1 -1
- package/dist/styles/global.css +1 -1
- package/dist/utils/authRedirect.d.ts +17 -4
- package/dist/utils/authRedirect.js +39 -20
- package/dist/utils/authRedirect.js.map +1 -1
- package/dist/utils/createMarsunRequest.d.ts +2 -0
- package/dist/utils/createMarsunRequest.js +20 -18
- package/dist/utils/createMarsunRequest.js.map +1 -1
- package/package.json +1 -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 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
|
+
{"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(a?: (string | number)[], b?: (string | number)[]): 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 /** 默认值:与默认值相同时视为未筛选(除非 showDefaultAsSelected) */\n defaultValue?: string | number;\n /** 多选默认值:与默认集合相同时视为未筛选(除非 showDefaultAsSelected) */\n defaultValues?: (string | number)[];\n /** 为 true 时,value 等于默认仍展示在「您已选择」并保持选中态 */\n showDefaultAsSelected?: boolean;\n placeholder?: string;\n searchable?: boolean;\n /** 是否多选 */\n multiple?: boolean;\n /** 多选至少保留项数;达到下限时不允许移除已选标签 */\n minSelection?: number;\n /** 人员选项:展示部门与联系方式 */\n variant?: 'default' | 'person';\n}\n\nfunction toMultiArray(value: FilterSelectValue): (string | number)[] {\n if (Array.isArray(value)) return value;\n if (value != null && value !== '') return [value];\n return [];\n}\n\nfunction toDisplayValue(\n value: FilterSelectValue,\n defaultValue: string | number | undefined,\n defaultValues: (string | number)[] | undefined,\n multiple: boolean,\n showDefaultAsSelected: boolean,\n): string | number | (string | number)[] | undefined {\n if (multiple) {\n const arr = toMultiArray(value);\n // 等于默认集合时:对外视为「未筛选」(不亮 trigger / 不进「您已选择」)\n if (!showDefaultAsSelected && defaultValues?.length && arraysEqual(arr, defaultValues)) {\n return [];\n }\n return arr;\n }\n if (!showDefaultAsSelected && defaultValue !== undefined && value === defaultValue) {\n return undefined;\n }\n return value;\n}\n\n/** 草稿/面板用真实 value,避免 defaultValues 折叠成 [] 后全选勾选丢失 */\nfunction toDraftValue(\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) return toMultiArray(value);\n return toDisplayValue(value, defaultValue, defaultValues, false, true);\n}\n\nfunction formatValueLabel(\n displayVal: string | number | (string | number)[] | undefined,\n options: FilterOption[],\n multiple: boolean,\n isPersonVariant: boolean,\n defaultValues?: (string | number)[],\n): string {\n if (multiple) {\n const arr = (displayVal as (string | number)[]) || [];\n if (!arr.length) return '';\n // 全选默认集合时用「全部」,避免「您已选择」被几十个厂名撑满\n if (defaultValues?.length && arraysEqual(arr, defaultValues)) {\n return '全部';\n }\n return arr\n .map((v) => options.find((o) => String(o.value) === String(v))?.label ?? String(v))\n .join('、');\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 showDefaultAsSelected = false,\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(\n value,\n defaultValue,\n defaultValues,\n multiple,\n showDefaultAsSelected,\n );\n const [localValue, setLocalValue] = useState<string | number | (string | number)[] | undefined>(\n () => toDraftValue(value, defaultValue, defaultValues, multiple) ?? (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 = !multiple || minSelection == null || selectedArr.length > minSelection;\n return () => {\n if (!canRemove) return;\n onChangeRef.current?.(undefined);\n };\n }, [displayValue, minSelection, multiple]);\n\n const revertToCommitted = () => {\n setLocalValue(\n toDraftValue(value, defaultValue, defaultValues, multiple) ?? (multiple ? [] : undefined),\n );\n setSearchText('');\n };\n\n // 同步外部 value 到内部 localValue(多选用真实 value,保留 defaultValues 全选勾选)\n useEffect(() => {\n const nextDraft = toDraftValue(value, defaultValue, defaultValues, multiple);\n setLocalValue(nextDraft ?? (multiple ? [] : undefined));\n const nextDisplay = toDisplayValue(\n value,\n defaultValue,\n defaultValues,\n multiple,\n showDefaultAsSelected,\n );\n if (\n nextDisplay === undefined ||\n nextDisplay === null ||\n (Array.isArray(nextDisplay) && nextDisplay.length === 0)\n ) {\n setSearchText('');\n }\n }, [value, defaultValue, defaultValues, multiple, showDefaultAsSelected]);\n\n const committedValueLabel = useMemo(\n () => formatValueLabel(displayValue, options, multiple, isPersonVariant, defaultValues),\n [options, displayValue, multiple, isPersonVariant, defaultValues],\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 = !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 const has = arr.some((v) => String(v) === String(optVal));\n if (has && minSelection != null && arr.length <= minSelection) {\n return;\n }\n const next = has ? arr.filter((v) => String(v) !== String(optVal)) : [...arr, optVal];\n setLocalValue(next);\n };\n\n const localMultiArr = (Array.isArray(localValue) ? localValue : []) as (string | number)[];\n const filteredSelectedCount = filteredOptions.filter((opt) =>\n localMultiArr.some((v) => String(v) === String(opt.value)),\n ).length;\n const allFilteredSelected =\n filteredOptions.length > 0 && filteredSelectedCount === filteredOptions.length;\n const someFilteredSelected = filteredSelectedCount > 0 && !allFilteredSelected;\n\n const handleToggleAll = (checked: boolean) => {\n const arr = localMultiArr;\n const filteredVals = filteredOptions.map((o) => o.value);\n if (checked) {\n const seen = new Set(arr.map(String));\n const next = [...arr];\n for (const v of filteredVals) {\n if (!seen.has(String(v))) {\n next.push(v);\n seen.add(String(v));\n }\n }\n setLocalValue(next);\n return;\n }\n const removeSet = new Set(filteredVals.map(String));\n let next = arr.filter((v) => !removeSet.has(String(v)));\n if (minSelection != null && next.length < minSelection) {\n next = arr.slice(0, minSelection);\n }\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 {multiple && filteredOptions.length > 0 && (\n <div\n className={classNames(\n 'filter-select-option',\n styles['filter-select-option'],\n 'filter-select-select-all',\n styles['filter-select-select-all'],\n )}\n onClick={() => handleToggleAll(!allFilteredSelected)}\n >\n <Checkbox\n checked={allFilteredSelected}\n indeterminate={someFilteredSelected}\n onChange={(e) => handleToggleAll(e.target.checked)}\n onClick={(e) => e.stopPropagation()}\n />\n <span>全选</span>\n </div>\n )}\n {filteredOptions.map((opt) => (\n <div\n key={String(opt.value)}\n className={classNames(\n 'filter-select-option',\n styles['filter-select-option'],\n !multiple &&\n localValue === opt.value &&\n classNames(\n 'filter-select-option-selected',\n styles['filter-select-option-selected'],\n ),\n )}\n onClick={() => (multiple ? handleToggleMulti(opt.value) : handleClickOption(opt.value))}\n >\n {multiple && (\n <Checkbox\n checked={localMultiArr.some((v) => String(v) === String(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\n className={classNames(\n 'filter-select-option-check',\n styles['filter-select-option-check'],\n )}\n />\n )}\n </div>\n ))}\n {filteredOptions.length === 0 && (\n <div className={classNames('filter-select-empty', styles['filter-select-empty'])}>\n 暂无数据\n </div>\n )}\n </div>\n\n {multiple && localMultiArr.length > 0 && (\n <div\n className={classNames('filter-select-selected-bar', styles['filter-select-selected-bar'])}\n >\n <div\n className={classNames(\n 'filter-select-selected-label',\n styles['filter-select-selected-label'],\n )}\n >\n 已选:\n </div>\n <div\n className={classNames(\n 'filter-select-selected-tags',\n styles['filter-select-selected-tags'],\n )}\n >\n <Space size={[4, 4]} wrap>\n {localMultiArr.map((v) => {\n const opt = options.find((o) => String(o.value) === String(v));\n const tagRemovable = minSelection == null || localMultiArr.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 </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","toMultiArray","value","toDisplayValue","defaultValue","defaultValues","multiple","showDefaultAsSelected","arr","toDraftValue","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","nextDraft","nextDisplay","committedValueLabel","resolveFilterVisible","removable","filteredOptions","handleConfirm","handleDiscardDraft","handleOpenChange","nextOpen","handleClickOption","optVal","isDefaultOption","next","handleToggleMulti","has","localMultiArr","filteredSelectedCount","allFilteredSelected","someFilteredSelected","handleToggleAll","checked","filteredVals","seen","removeSet","isActive","jsxs","FilterPopover","jsx","classNames","styles","Checkbox","e","PersonOptionRow","Check","Space","tagRemovable","X"],"mappings":"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"}
|
|
@@ -1,16 +1,18 @@
|
|
|
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-
|
|
9
|
-
"filter-select-selected-
|
|
10
|
-
"filter-select-selected-
|
|
11
|
-
"filter-select-selected-
|
|
12
|
-
"filter-select-selected-
|
|
13
|
-
"filter-select-selected-
|
|
2
|
+
"filter-select-search": "_filter-select-search_1wwy0_1",
|
|
3
|
+
"filter-select-options": "_filter-select-options_1wwy0_5",
|
|
4
|
+
"filter-select-option": "_filter-select-option_1wwy0_5",
|
|
5
|
+
"filter-select-option-selected": "_filter-select-option-selected_1wwy0_23",
|
|
6
|
+
"filter-select-option-check": "_filter-select-option-check_1wwy0_28",
|
|
7
|
+
"filter-select-empty": "_filter-select-empty_1wwy0_34",
|
|
8
|
+
"filter-select-select-all": "_filter-select-select-all_1wwy0_42",
|
|
9
|
+
"filter-select-selected-bar": "_filter-select-selected-bar_1wwy0_50",
|
|
10
|
+
"filter-select-selected-label": "_filter-select-selected-label_1wwy0_57",
|
|
11
|
+
"filter-select-selected-tags": "_filter-select-selected-tags_1wwy0_63",
|
|
12
|
+
"filter-select-selected-tag": "_filter-select-selected-tag_1wwy0_63",
|
|
13
|
+
"filter-select-selected-tag-disabled": "_filter-select-selected-tag-disabled_1wwy0_81",
|
|
14
|
+
"filter-select-selected-remove": "_filter-select-selected-remove_1wwy0_86",
|
|
15
|
+
"filter-select-selected-remove-disabled": "_filter-select-selected-remove-disabled_1wwy0_90"
|
|
14
16
|
};
|
|
15
17
|
export {
|
|
16
18
|
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":";;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TableProps as AntTableProps } from 'antd';
|
|
2
|
+
export type TableProps<RecordType extends object = Record<string, unknown>> = AntTableProps<RecordType>;
|
|
3
|
+
/**
|
|
4
|
+
* 基于 antd Table 的列表表格包装。
|
|
5
|
+
* 默认:横向滚动 max-content、受控分页 showSizeChanger + showTotal、空态 Empty。
|
|
6
|
+
*/
|
|
7
|
+
declare function Table<RecordType extends object = Record<string, unknown>>({ className, scroll, pagination, locale, ...rest }: TableProps<RecordType>): import("react").JSX.Element;
|
|
8
|
+
export default Table;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { Table as n } from "antd";
|
|
3
|
+
import c from "classnames";
|
|
4
|
+
import f from "./style.module.scss.js";
|
|
5
|
+
import i from "../Empty/Empty.js";
|
|
6
|
+
const p = { x: "max-content" };
|
|
7
|
+
function u(o) {
|
|
8
|
+
return `共 ${o} 项`;
|
|
9
|
+
}
|
|
10
|
+
function h({
|
|
11
|
+
className: o,
|
|
12
|
+
scroll: t,
|
|
13
|
+
pagination: e,
|
|
14
|
+
locale: a,
|
|
15
|
+
...s
|
|
16
|
+
}) {
|
|
17
|
+
const m = e === !1 ? !1 : {
|
|
18
|
+
showSizeChanger: !0,
|
|
19
|
+
showTotal: u,
|
|
20
|
+
...e && typeof e == "object" ? e : {}
|
|
21
|
+
}, l = {
|
|
22
|
+
emptyText: /* @__PURE__ */ r(i, { iconType: "simple", description: "暂无数据" }),
|
|
23
|
+
...a
|
|
24
|
+
};
|
|
25
|
+
return /* @__PURE__ */ r(
|
|
26
|
+
n,
|
|
27
|
+
{
|
|
28
|
+
className: c("marsun-table", f["marsun-table"], o),
|
|
29
|
+
scroll: t === void 0 ? p : t,
|
|
30
|
+
pagination: m,
|
|
31
|
+
locale: l,
|
|
32
|
+
...s
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
h as default
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=Table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Table.js","sources":["../../../src/components/Table/Table.tsx"],"sourcesContent":["import { Table as AntTable } from 'antd';\nimport type { TableProps as AntTableProps } from 'antd';\nimport classNames from 'classnames';\nimport { Empty } from '../Empty';\nimport styles from './style.module.scss';\n\nexport type TableProps<RecordType extends object = Record<string, unknown>> =\n AntTableProps<RecordType>;\n\nconst DEFAULT_SCROLL = { x: 'max-content' as const };\n\nfunction defaultShowTotal(total: number): string {\n return `共 ${total} 项`;\n}\n\n/**\n * 基于 antd Table 的列表表格包装。\n * 默认:横向滚动 max-content、受控分页 showSizeChanger + showTotal、空态 Empty。\n */\nfunction Table<RecordType extends object = Record<string, unknown>>({\n className,\n scroll,\n pagination,\n locale,\n ...rest\n}: TableProps<RecordType>) {\n const mergedPagination =\n pagination === false\n ? false\n : {\n showSizeChanger: true,\n showTotal: defaultShowTotal,\n ...(pagination && typeof pagination === 'object' ? pagination : {}),\n };\n\n const mergedLocale = {\n emptyText: <Empty iconType=\"simple\" description=\"暂无数据\" />,\n ...locale,\n };\n\n return (\n <AntTable<RecordType>\n className={classNames('marsun-table', styles['marsun-table'], className)}\n scroll={scroll === undefined ? DEFAULT_SCROLL : scroll}\n pagination={mergedPagination}\n locale={mergedLocale}\n {...rest}\n />\n );\n}\n\nexport default Table;\n"],"names":["DEFAULT_SCROLL","defaultShowTotal","total","Table","className","scroll","pagination","locale","rest","mergedPagination","mergedLocale","jsx","Empty","AntTable","classNames","styles"],"mappings":";;;;;AASA,MAAMA,IAAiB,EAAE,GAAG,cAAA;AAE5B,SAASC,EAAiBC,GAAuB;AAC/C,SAAO,KAAKA,CAAK;AACnB;AAMA,SAASC,EAA2D;AAAA,EAClE,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,YAAAC;AAAA,EACA,QAAAC;AAAA,EACA,GAAGC;AACL,GAA2B;AACzB,QAAMC,IACJH,MAAe,KACX,KACA;AAAA,IACE,iBAAiB;AAAA,IACjB,WAAWL;AAAA,IACX,GAAIK,KAAc,OAAOA,KAAe,WAAWA,IAAa,CAAA;AAAA,EAAC,GAGnEI,IAAe;AAAA,IACnB,WAAW,gBAAAC,EAACC,GAAA,EAAM,UAAS,UAAS,aAAY,QAAO;AAAA,IACvD,GAAGL;AAAA,EAAA;AAGL,SACE,gBAAAI;AAAA,IAACE;AAAAA,IAAA;AAAA,MACC,WAAWC,EAAW,gBAAgBC,EAAO,cAAc,GAAGX,CAAS;AAAA,MACvE,QAAQC,MAAW,SAAYL,IAAiBK;AAAA,MAChD,YAAYI;AAAA,MACZ,QAAQC;AAAA,MACP,GAAGF;AAAA,IAAA;AAAA,EAAA;AAGV;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,8 @@ export { resolveMaybeFn, resolveVisible, type MaybeFn, type Visibility, } from '
|
|
|
7
7
|
export { formatFileSize } from './utils/format';
|
|
8
8
|
export { toDateRange, toDateTimeRange, toApiStartEnd, recentDayRange, recentYearRange, recentDayRangeStrings, } from './utils/date';
|
|
9
9
|
export { formatPickerValue, parsePickerValue, isValidPickerValue, type DatePickerGranularity, } from './utils/pickerDate';
|
|
10
|
-
export { REDIRECT_URL_PARAM, resolveRedirectUrl, buildLocationRedirectUrl, buildLoginPath, readRedirectUrlFromSearch, } from './utils/authRedirect';
|
|
10
|
+
export { REDIRECT_URL_PARAM, resolveRedirectUrl, buildLocationRedirectUrl, buildAbsoluteLocationRedirectUrl, buildLoginPath, readRedirectUrlFromSearch, } from './utils/authRedirect';
|
|
11
|
+
export type { BuildLoginPathOptions } from './utils/authRedirect';
|
|
11
12
|
export { DEFAULT_LAST_ACTIVITY_STORAGE_KEY, getLastActivityTime, touchLastActivity, clearLastActivity, } from './utils/sessionActivity';
|
|
12
13
|
export { USER_ROLE_PERMISSIONS_KEY, PERMISSION_DEFINITIONS_KEY, PERMISSIONS_STORAGE_KEY, loadUserRolePermissions, saveUserRolePermissions, loadPermissionDefinitions, savePermissionDefinitions, getStoredUserPermissions, getStoredPermissionMap, } from './utils/permissionStorage';
|
|
13
14
|
export { createMarsunRequest } from './utils/createMarsunRequest';
|
|
@@ -29,6 +30,7 @@ export * from './components/Form';
|
|
|
29
30
|
export * from './components/Layout';
|
|
30
31
|
export * from './components/Modal';
|
|
31
32
|
export * from './components/Stat';
|
|
33
|
+
export * from './components/Table';
|
|
32
34
|
export * from './components/Tag';
|
|
33
35
|
export * from './components/TooltipInfo';
|
|
34
36
|
export * from './components/Tour';
|