@transsionfe/semi-ui-vue 0.0.2 → 0.0.3
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/lib/cjs/components/_sortable/Sortable.vue.cjs +1 -1
- package/lib/cjs/components/anchor/index.cjs +1 -1
- package/lib/cjs/components/autoComplete/AutoComplete.vue.cjs +1 -1
- package/lib/cjs/components/autoComplete/AutoComplete.vue.cjs.map +1 -1
- package/lib/cjs/components/autoComplete/Option.vue.cjs +1 -1
- package/lib/cjs/components/autoComplete/Option.vue.cjs.map +1 -1
- package/lib/cjs/components/autoComplete/index.cjs +1 -1
- package/lib/cjs/components/autoComplete/index.cjs.map +1 -1
- package/lib/cjs/components/avatar/index.cjs +1 -1
- package/lib/cjs/components/backTop/index.cjs +1 -1
- package/lib/cjs/components/badge/index.cjs +1 -1
- package/lib/cjs/components/banner/index.cjs +1 -1
- package/lib/cjs/components/breadcrumb/index.cjs +1 -1
- package/lib/cjs/components/breadcrumb/index.cjs.map +1 -1
- package/lib/cjs/components/button/Button.vue.cjs +1 -1
- package/lib/cjs/components/button/Button.vue.cjs.map +1 -1
- package/lib/cjs/components/button/index.cjs +1 -1
- package/lib/cjs/components/calendar/index.cjs +1 -1
- package/lib/cjs/components/card/index.cjs +1 -1
- package/lib/cjs/components/carousel/index.cjs +1 -1
- package/lib/cjs/components/cascader/Cascader.vue.cjs +1 -1
- package/lib/cjs/components/cascader/Cascader.vue.cjs.map +1 -1
- package/lib/cjs/components/cascader/CascaderPanel.vue.cjs +1 -1
- package/lib/cjs/components/cascader/CascaderPanel.vue.cjs.map +1 -1
- package/lib/cjs/components/cascader/index.cjs +1 -1
- package/lib/cjs/components/cascader/index.cjs.map +1 -1
- package/lib/cjs/components/checkbox/CheckboxInner.vue.cjs +1 -1
- package/lib/cjs/components/checkbox/index.cjs +1 -1
- package/lib/cjs/components/checkbox/index.cjs.map +1 -1
- package/lib/cjs/components/collapse/index.cjs +1 -1
- package/lib/cjs/components/collapse/index.cjs.map +1 -1
- package/lib/cjs/components/collapsible/index.cjs +1 -1
- package/lib/cjs/components/colorPicker/ColorPicker.vue.cjs +1 -1
- package/lib/cjs/components/colorPicker/ColorPicker.vue.cjs.map +1 -1
- package/lib/cjs/components/colorPicker/DataPart.vue.cjs +1 -1
- package/lib/cjs/components/colorPicker/DataPart.vue.cjs.map +1 -1
- package/lib/cjs/components/colorPicker/index.cjs +1 -1
- package/lib/cjs/components/datePicker/DatePicker.vue.cjs +1 -1
- package/lib/cjs/components/datePicker/DatePicker.vue.cjs.map +1 -1
- package/lib/cjs/components/datePicker/index.cjs +1 -1
- package/lib/cjs/components/datePicker/index.cjs.map +1 -1
- package/lib/cjs/components/descriptions/index.cjs +1 -1
- package/lib/cjs/components/descriptions/index.cjs.map +1 -1
- package/lib/cjs/components/divider/index.cjs +1 -1
- package/lib/cjs/components/divider/index.cjs.map +1 -1
- package/lib/cjs/components/dropdown/index.cjs +1 -1
- package/lib/cjs/components/dropdown/index.cjs.map +1 -1
- package/lib/cjs/components/empty/index.cjs +1 -1
- package/lib/cjs/components/form/FieldWrapper.vue.cjs +1 -1
- package/lib/cjs/components/form/FieldWrapper.vue.cjs.map +1 -1
- package/lib/cjs/components/form/Form.vue.cjs +1 -1
- package/lib/cjs/components/form/Form.vue.cjs.map +1 -1
- package/lib/cjs/components/form/Group.vue.cjs +1 -1
- package/lib/cjs/components/form/Group.vue.cjs.map +1 -1
- package/lib/cjs/components/form/Slot.vue.cjs +1 -1
- package/lib/cjs/components/form/Slot.vue.cjs.map +1 -1
- package/lib/cjs/components/form/index.cjs +1 -1
- package/lib/cjs/components/form/index.cjs.map +1 -1
- package/lib/cjs/components/highlight/index.cjs +1 -1
- package/lib/cjs/components/iconButton/IconButton.vue.cjs +1 -1
- package/lib/cjs/components/iconButton/IconButton.vue.cjs.map +1 -1
- package/lib/cjs/components/iconButton/index.cjs +1 -1
- package/lib/cjs/components/icons/{Icon.vue3.cjs → Icon.vue2.cjs} +2 -2
- package/lib/cjs/components/icons/Icon.vue2.cjs.map +1 -0
- package/lib/cjs/components/icons/icons/IconAbsoluteStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconAbsoluteStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconActivity.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconActivity.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconAlarm.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconAlarm.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconAlertCircle.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconAlertCircle.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconAlertTriangle.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconAlertTriangle.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconAlignBottom.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconAlignBottom.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconAlignCenter.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconAlignCenter.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconAlignCenterVertical.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconAlignCenterVertical.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconAlignHCenterStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconAlignHCenterStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconAlignHLeftStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconAlignHLeftStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconAlignHRightStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconAlignHRightStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconAlignJustify.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconAlignJustify.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconAlignLeft.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconAlignLeft.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconAlignRight.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconAlignRight.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconAlignTop.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconAlignTop.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconAlignVBotStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconAlignVBotStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconAlignVBottomStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconAlignVBottomStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconAlignVCenterStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconAlignVCenterStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconAlignVTopStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconAlignVTopStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconApartment.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconApartment.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconAppCenter.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconAppCenter.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconApps.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconApps.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconArchive.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconArchive.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconArrowDown.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconArrowDown.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconArrowDownLeft.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconArrowDownLeft.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconArrowDownRight.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconArrowDownRight.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconArrowLeft.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconArrowLeft.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconArrowRight.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconArrowRight.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconArrowUp.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconArrowUp.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconArrowUpLeft.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconArrowUpLeft.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconArrowUpRight.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconArrowUpRight.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconArticle.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconArticle.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconAscend.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconAscend.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconAt.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconAt.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBackTop.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBackTop.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBackward.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBackward.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBarChartHStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBarChartHStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBarChartVStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBarChartVStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBeaker.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBeaker.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBell.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBell.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBellStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBellStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBold.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBold.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBolt.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBolt.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBookH5Stroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBookH5Stroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBookOpenStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBookOpenStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBookStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBookStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBookmark.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBookmark.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBookmarkAddStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBookmarkAddStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBookmarkDeleteStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBookmarkDeleteStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBottomCenterStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBottomCenterStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBottomLeftStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBottomLeftStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBottomRightStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBottomRightStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBox.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBox.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBrackets.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBrackets.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBranch.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBranch.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBriefStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBriefStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBriefcase.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBriefcase.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBulb.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBulb.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconButtonStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconButtonStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconBytedanceLogo.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconBytedanceLogo.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCalendar.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCalendar.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCalendarClock.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCalendarClock.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCalendarStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCalendarStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCamera.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCamera.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCandlestickChartStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCandlestickChartStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCaretdown.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCaretdown.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCaretup.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCaretup.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCarouselStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCarouselStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCart.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCart.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCaseSensitive.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCaseSensitive.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCenterLeftStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCenterLeftStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCenterRightStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCenterRightStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconChainStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconChainStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCheckChoiceStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCheckChoiceStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCheckCircleStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCheckCircleStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCheckList.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCheckList.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCheckboxIndeterminate.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCheckboxIndeterminate.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCheckboxTick.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCheckboxTick.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconChecklistStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconChecklistStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconChevronDown.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconChevronDown.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconChevronDownStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconChevronDownStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconChevronLeft.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconChevronLeft.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconChevronRight.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconChevronRight.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconChevronRightStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconChevronRightStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconChevronUp.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconChevronUp.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconChevronUpDown.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconChevronUpDown.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconClear.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconClear.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconClock.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconClock.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconClose.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconClose.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCloud.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCloud.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCloudStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCloudStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCloudUploadStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCloudUploadStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCode.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCode.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCodeStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCodeStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCoinMoneyStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCoinMoneyStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconColorPalette.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconColorPalette.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconColumnsStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconColumnsStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCommand.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCommand.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconComment.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconComment.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCommentStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCommentStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconComponent.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconComponent.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconComponentPlaceholderStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconComponentPlaceholderStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconComponentStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconComponentStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconConfigStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconConfigStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconConnectionPoint1.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconConnectionPoint1.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconConnectionPoint2.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconConnectionPoint2.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconContrast.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconContrast.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCopy.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCopy.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCopyAdd.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCopyAdd.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCopyStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCopyStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCornerRadiusStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCornerRadiusStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCreditCard.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCreditCard.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCrop.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCrop.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCrossCircleStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCrossCircleStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCrossStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCrossStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCrown.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCrown.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCustomerSupport.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCustomerSupport.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCustomerSupportStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCustomerSupportStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconCustomize.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconCustomize.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconDelete.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconDelete.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconDeleteStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconDeleteStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconDescend.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconDescend.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconDescend2.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconDescend2.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconDesktop.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconDesktop.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconDisc.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconDisc.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconDislikeThumb.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconDislikeThumb.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconDivide.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconDivide.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconDongchediLogo.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconDongchediLogo.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconDoubleChevronLeft.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconDoubleChevronLeft.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconDoubleChevronRight.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconDoubleChevronRight.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconDownCircleStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconDownCircleStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconDownload.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconDownload.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconDownloadStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconDownloadStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconDuration.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconDuration.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconEdit.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconEdit.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconEdit2Stroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconEdit2Stroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconEditStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconEditStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconElementStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconElementStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconEmoji.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconEmoji.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconExit.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconExit.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconExpand.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconExpand.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconExport.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconExport.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconExternalOpen.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconExternalOpen.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconExternalOpenStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconExternalOpenStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconEyeClosed.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconEyeClosed.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconEyeClosedSolid.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconEyeClosedSolid.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconEyeOpened.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconEyeOpened.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconEyedropper.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconEyedropper.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFacebook.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFacebook.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFaceuLogo.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFaceuLogo.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFastForward.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFastForward.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFastFoward.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFastFoward.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFavoriteList.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFavoriteList.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFeishuLogo.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFeishuLogo.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFemale.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFemale.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFigma.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFigma.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFile.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFile.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFillStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFillStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFilledArrowDown.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFilledArrowDown.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFilledArrowUp.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFilledArrowUp.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFilpVertical.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFilpVertical.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFilter.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFilter.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFingerLeftStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFingerLeftStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFixedStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFixedStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFlag.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFlag.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFlipHorizontal.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFlipHorizontal.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFlowChartStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFlowChartStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFolder.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFolder.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFolderOpen.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFolderOpen.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFolderStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFolderStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFollowStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFollowStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFont.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFont.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFontColor.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFontColor.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconForward.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconForward.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconForwardStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconForwardStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconFullScreenStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconFullScreenStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconGallery.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconGallery.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconGift.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconGift.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconGiftStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconGiftStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconGit.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconGit.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconGithubLogo.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconGithubLogo.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconGitlabLogo.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconGitlabLogo.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconGlobe.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconGlobe.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconGlobeStroke.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconGlobeStroke.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconGridRectangle.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconGridRectangle.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconGridSquare.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconGridSquare.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconGridStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconGridStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconGridView.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconGridView.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconGridView1.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconGridView1.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconH1.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconH1.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconH2.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconH2.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconH3.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconH3.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconH4.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconH4.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconH5.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconH5.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconH6.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconH6.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconH7.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconH7.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconH8.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconH8.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconH9.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconH9.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconHandle.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconHandle.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconHash.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconHash.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconHeartStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconHeartStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconHelm.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconHelm.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconHelpCircle.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconHelpCircle.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconHelpCircleStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconHelpCircleStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconHistogram.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconHistogram.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconHistory.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconHistory.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconHn.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconHn.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconHome.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconHome.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconHomeStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconHomeStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconHorn.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconHorn.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconHourglass.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconHourglass.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconHourglassStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconHourglassStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconIdCard.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconIdCard.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconIdentity.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconIdentity.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconImage.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconImage.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconImageStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconImageStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconImport.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconImport.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconInbox.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconInbox.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconIndenpentCornersStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconIndenpentCornersStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconIndentLeft.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconIndentLeft.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconIndentRight.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconIndentRight.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconIndependentCornersStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconIndependentCornersStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconInfoCircle.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconInfoCircle.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconInherit.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconInherit.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconInheritStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconInheritStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconInnerSectionStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconInnerSectionStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconInstagram.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconInstagram.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconInteractiveStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconInteractiveStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconInviteStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconInviteStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconIssueStroked.cjs +2 -2
- package/lib/cjs/components/icons/icons/IconIssueStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconItalic.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconItalic.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconJianying.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconJianying.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconKanban.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconKanban.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconKey.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconKey.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconKeyStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconKeyStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconLanguage.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconLanguage.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconLayers.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconLayers.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconLeftCircleStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconLeftCircleStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconLightningStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconLightningStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconLikeHeart.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconLikeHeart.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconLikeThumb.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconLikeThumb.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconLineChartStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconLineChartStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconLineHeight.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconLineHeight.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconLink.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconLink.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconList.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconList.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconListView.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconListView.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconLive.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconLive.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconLoading.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconLoading.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconLock.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconLock.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconLockStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconLockStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconLoopTextStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconLoopTextStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMail.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMail.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMailStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMailStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMailStroked1.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMailStroked1.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMale.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMale.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMapPin.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMapPin.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMapPinStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMapPinStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMarginLeftStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMarginLeftStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMarginStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMarginStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMark.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMark.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMaximize.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMaximize.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMember.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMember.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMenu.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMenu.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMicrophone.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMicrophone.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMicrophoneOff.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMicrophoneOff.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMinimize.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMinimize.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMinus.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMinus.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMinusCircle.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMinusCircle.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMinusCircleStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMinusCircleStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMinusStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMinusStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconModalStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconModalStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMoneyExchangeStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMoneyExchangeStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMonitorStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMonitorStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMoon.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMoon.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMore.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMore.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMoreStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMoreStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMusic.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMusic.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMusicNoteStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMusicNoteStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconMute.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconMute.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconNineGridStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconNineGridStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconNoteMoneyStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconNoteMoneyStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconOption.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconOption.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconOrderedList.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconOrderedList.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconOrderedListStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconOrderedListStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconPaperclip.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconPaperclip.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconPause.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconPause.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconPercentage.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconPercentage.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconPhone.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconPhone.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconPhoneStroke.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconPhoneStroke.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconPieChart2Stroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconPieChart2Stroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconPieChartStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconPieChartStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconPiechartH5Stroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconPiechartH5Stroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconPipixiaLogo.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconPipixiaLogo.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconPlay.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconPlay.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconPlayCircle.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconPlayCircle.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconPlus.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconPlus.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconPlusCircle.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconPlusCircle.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconPlusCircleStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconPlusCircleStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconPlusStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconPlusStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconPriceTag.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconPriceTag.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconPrint.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconPrint.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconPrizeStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconPrizeStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconPulse.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconPulse.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconPuzzle.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconPuzzle.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconQingyan.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconQingyan.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconQrCode.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconQrCode.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconQuit.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconQuit.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconQuote.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconQuote.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconRadio.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconRadio.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconRankingCardStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconRankingCardStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconRealSizeStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconRealSizeStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconRedo.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconRedo.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconRedoStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconRedoStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconRefresh.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconRefresh.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconRefresh2.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconRefresh2.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconRegExp.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconRegExp.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconReply.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconReply.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconReplyStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconReplyStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconResso.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconResso.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconRestart.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconRestart.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconRingChartStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconRingChartStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconRotate.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconRotate.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconRotationStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconRotationStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconRoute.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconRoute.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconRowsStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconRowsStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSafe.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSafe.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSave.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSave.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSaveStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSaveStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconScan.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconScan.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconScissors.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconScissors.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSearch.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSearch.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSearchStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSearchStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSectionStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSectionStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSemiLogo.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSemiLogo.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSend.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSend.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSendMsgStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSendMsgStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSendStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSendStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconServer.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconServer.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconServerStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconServerStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSetting.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSetting.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSettingStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSettingStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconShareMoneyStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconShareMoneyStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconShareStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconShareStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconShield.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconShield.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconShieldStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconShieldStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconShift.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconShift.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconShoppingBag.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconShoppingBag.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconShrink.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconShrink.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconShrinkScreenStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconShrinkScreenStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSidebar.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSidebar.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSignal.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSignal.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSimilarity.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSimilarity.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSmallTriangleDown.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSmallTriangleDown.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSmallTriangleLeft.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSmallTriangleLeft.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSmallTriangleRight.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSmallTriangleRight.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSmallTriangleTop.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSmallTriangleTop.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSmartphoneCheckStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSmartphoneCheckStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSmartphoneStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSmartphoneStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSong.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSong.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSonicStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSonicStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSort.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSort.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSortStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSortStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSourceControl.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSourceControl.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSpin.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSpin.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconStackBarChartStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconStackBarChartStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconStar.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconStar.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconStarStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconStarStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconStop.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconStop.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconStopwatchStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconStopwatchStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconStoryStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconStoryStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconStrikeThrough.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconStrikeThrough.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSun.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSun.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconSync.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconSync.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTabArrowStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTabArrowStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTabsStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTabsStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTaskMoneyStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTaskMoneyStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTemplate.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTemplate.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTemplateStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTemplateStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTerminal.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTerminal.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTestScoreStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTestScoreStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconText.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconText.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTextRectangle.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTextRectangle.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTextStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTextStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconThumbUpStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconThumbUpStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTick.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTick.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTicketCodeExchangeStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTicketCodeExchangeStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTicketCodeStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTicketCodeStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTiktokLogo.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTiktokLogo.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTop.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTop.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTopCenterStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTopCenterStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTopLeftStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTopLeftStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTopRightStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTopRightStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTopbuzzLogo.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTopbuzzLogo.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconToutiaoLogo.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconToutiaoLogo.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTransparentStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTransparentStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTreeTriangleDown.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTreeTriangleDown.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTreeTriangleRight.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTreeTriangleRight.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTriangleArrow.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTriangleArrow.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTriangleArrowVertical.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTriangleArrowVertical.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTriangleDown.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTriangleDown.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTriangleUp.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTriangleUp.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTrueFalseStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTrueFalseStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTvCheckedStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTvCheckedStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTwitter.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTwitter.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconTypograph.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconTypograph.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconUnChainStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconUnChainStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconUnderline.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconUnderline.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconUndo.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconUndo.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconUnlink.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconUnlink.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconUnlock.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconUnlock.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconUnlockStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconUnlockStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconUpload.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconUpload.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconUploadError.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconUploadError.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconUser.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconUser.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconUserAdd.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconUserAdd.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconUserCardPhone.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconUserCardPhone.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconUserCardVideo.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconUserCardVideo.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconUserCircle.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconUserCircle.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconUserCircleStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconUserCircleStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconUserGroup.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconUserGroup.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconUserListStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconUserListStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconUserSetting.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconUserSetting.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconUserStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconUserStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconVennChartStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconVennChartStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconVerify.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconVerify.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconVersionStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconVersionStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconVideo.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconVideo.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconVideoDouyinStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconVideoDouyinStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconVideoListStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconVideoListStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconVideoStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconVideoStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconVideoUrlStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconVideoUrlStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconVigoLogo.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconVigoLogo.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconVolume1.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconVolume1.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconVolume2.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconVolume2.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconVolumnSilent.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconVolumnSilent.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconVoteStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconVoteStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconVoteVideoStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconVoteVideoStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconWeibo.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconWeibo.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconWholeWord.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconWholeWord.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconWifi.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconWifi.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconWindowAdaptionStroked.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconWindowAdaptionStroked.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconWrench.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconWrench.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconXiguaLogo.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconXiguaLogo.cjs.map +1 -1
- package/lib/cjs/components/icons/icons/IconYoutube.cjs +1 -1
- package/lib/cjs/components/icons/icons/IconYoutube.cjs.map +1 -1
- package/lib/cjs/components/image/index.cjs +1 -1
- package/lib/cjs/components/input/index.cjs +1 -1
- package/lib/cjs/components/input/index.cjs.map +1 -1
- package/lib/cjs/components/inputNumber/index.cjs +1 -1
- package/lib/cjs/components/inputNumber/index.cjs.map +1 -1
- package/lib/cjs/components/layout/index.cjs +1 -1
- package/lib/cjs/components/list/List.vue.cjs +1 -1
- package/lib/cjs/components/list/List.vue.cjs.map +1 -1
- package/lib/cjs/components/list/index.cjs +1 -1
- package/lib/cjs/components/list/index.cjs.map +1 -1
- package/lib/cjs/components/modal/index.cjs +1 -1
- package/lib/cjs/components/modal/index.cjs.map +1 -1
- package/lib/cjs/components/navigation/CollapseButton.vue.cjs +1 -1
- package/lib/cjs/components/navigation/CollapseButton.vue.cjs.map +1 -1
- package/lib/cjs/components/navigation/Item.vue.cjs +1 -1
- package/lib/cjs/components/navigation/Item.vue.cjs.map +1 -1
- package/lib/cjs/components/navigation/SubNav.vue.cjs +1 -1
- package/lib/cjs/components/navigation/SubNav.vue.cjs.map +1 -1
- package/lib/cjs/components/navigation/index.cjs +1 -1
- package/lib/cjs/components/navigation/index.cjs.map +1 -1
- package/lib/cjs/components/notification/index.cjs +1 -1
- package/lib/cjs/components/notification/index.cjs.map +1 -1
- package/lib/cjs/components/overflowList/index.cjs +1 -1
- package/lib/cjs/components/pagination/index.cjs +1 -1
- package/lib/cjs/components/pinCode/index.cjs +1 -1
- package/lib/cjs/components/popconfirm/index.cjs +1 -1
- package/lib/cjs/components/popover/index.cjs +1 -1
- package/lib/cjs/components/progress/index.cjs +1 -1
- package/lib/cjs/components/radio/Radio.vue.cjs +1 -1
- package/lib/cjs/components/radio/Radio.vue.cjs.map +1 -1
- package/lib/cjs/components/radio/{RadioInner.vue3.cjs → RadioInner.vue2.cjs} +2 -2
- package/lib/cjs/components/radio/RadioInner.vue2.cjs.map +1 -0
- package/lib/cjs/components/radio/index.cjs +1 -1
- package/lib/cjs/components/radio/index.cjs.map +1 -1
- package/lib/cjs/components/rating/Rating.vue.cjs +1 -1
- package/lib/cjs/components/rating/Rating.vue.cjs.map +1 -1
- package/lib/cjs/components/rating/index.cjs +1 -1
- package/lib/cjs/components/rating/index.cjs.map +1 -1
- package/lib/cjs/components/resizable/Resizable.vue.cjs +1 -1
- package/lib/cjs/components/resizable/Resizable.vue.cjs.map +1 -1
- package/lib/cjs/components/resizable/group/ResizeGroup.vue.cjs +1 -1
- package/lib/cjs/components/resizable/group/ResizeGroup.vue.cjs.map +1 -1
- package/lib/cjs/components/resizable/group/ResizeItem.vue.cjs +1 -1
- package/lib/cjs/components/resizable/group/ResizeItem.vue.cjs.map +1 -1
- package/lib/cjs/components/select/Select.vue.cjs +1 -1
- package/lib/cjs/components/select/Select.vue.cjs.map +1 -1
- package/lib/cjs/components/select/index.cjs +1 -1
- package/lib/cjs/components/select/index.cjs.map +1 -1
- package/lib/cjs/components/sideSheet/index.cjs +1 -1
- package/lib/cjs/components/skeleton/index.cjs +1 -1
- package/lib/cjs/components/skeleton/index.cjs.map +1 -1
- package/lib/cjs/components/slider/Slider.vue.cjs +1 -1
- package/lib/cjs/components/slider/Slider.vue.cjs.map +1 -1
- package/lib/cjs/components/slider/index.cjs +1 -1
- package/lib/cjs/components/slider/index.cjs.map +1 -1
- package/lib/cjs/components/space/index.cjs +1 -1
- package/lib/cjs/components/space/index.cjs.map +1 -1
- package/lib/cjs/components/spin/Spin.vue.cjs +1 -1
- package/lib/cjs/components/spin/Spin.vue.cjs.map +1 -1
- package/lib/cjs/components/spin/{SpinIcon.vue3.cjs → SpinIcon.vue2.cjs} +2 -2
- package/lib/cjs/components/spin/SpinIcon.vue2.cjs.map +1 -0
- package/lib/cjs/components/spin/index.cjs +1 -1
- package/lib/cjs/components/steps/FillSteps.vue.cjs +1 -1
- package/lib/cjs/components/steps/FillSteps.vue.cjs.map +1 -1
- package/lib/cjs/components/steps/index.cjs +1 -1
- package/lib/cjs/components/switch/index.cjs +1 -1
- package/lib/cjs/components/switch/index.cjs.map +1 -1
- package/lib/cjs/components/table/Table.vue.cjs +1 -1
- package/lib/cjs/components/table/Table.vue.cjs.map +1 -1
- package/lib/cjs/components/table/TableHeaderRow.vue2.cjs +1 -1
- package/lib/cjs/components/table/TableHeaderRow.vue2.cjs.map +1 -1
- package/lib/cjs/components/table/VirtualizedBody.vue2.cjs +1 -1
- package/lib/cjs/components/table/VirtualizedBody.vue2.cjs.map +1 -1
- package/lib/cjs/components/table/index.cjs +1 -1
- package/lib/cjs/components/table/index.cjs.map +1 -1
- package/lib/cjs/components/tabs/TabBar.vue.cjs +1 -1
- package/lib/cjs/components/tabs/TabBar.vue.cjs.map +1 -1
- package/lib/cjs/components/tabs/index.cjs +1 -1
- package/lib/cjs/components/tabs/index.cjs.map +1 -1
- package/lib/cjs/components/tag/TagGroup.vue.cjs +1 -1
- package/lib/cjs/components/tag/TagGroup.vue.cjs.map +1 -1
- package/lib/cjs/components/tag/index.cjs +1 -1
- package/lib/cjs/components/tagInput/index.cjs +1 -1
- package/lib/cjs/components/tagInput/index.cjs.map +1 -1
- package/lib/cjs/components/timePicker/TimePicker.vue.cjs +1 -1
- package/lib/cjs/components/timePicker/TimePicker.vue.cjs.map +1 -1
- package/lib/cjs/components/timePicker/index.cjs +1 -1
- package/lib/cjs/components/timePicker/index.cjs.map +1 -1
- package/lib/cjs/components/timeline/index.cjs +1 -1
- package/lib/cjs/components/timeline/index.cjs.map +1 -1
- package/lib/cjs/components/toast/index.cjs +1 -1
- package/lib/cjs/components/toast/index.cjs.map +1 -1
- package/lib/cjs/components/tooltip/index.cjs +1 -1
- package/lib/cjs/components/transfer/index.cjs +1 -1
- package/lib/cjs/components/tree/NodeCollapsible.vue.cjs +1 -1
- package/lib/cjs/components/tree/NodeCollapsible.vue.cjs.map +1 -1
- package/lib/cjs/components/tree/TreeNode.vue.cjs +1 -1
- package/lib/cjs/components/tree/TreeNode.vue.cjs.map +1 -1
- package/lib/cjs/components/tree/index.cjs +1 -1
- package/lib/cjs/components/treeSelect/TreeSelect.vue.cjs +1 -1
- package/lib/cjs/components/treeSelect/TreeSelect.vue.cjs.map +1 -1
- package/lib/cjs/components/treeSelect/index.cjs +1 -1
- package/lib/cjs/components/treeSelect/index.cjs.map +1 -1
- package/lib/cjs/components/typography/Base.vue.cjs +1 -1
- package/lib/cjs/components/typography/Base.vue.cjs.map +1 -1
- package/lib/cjs/components/typography/Copyable.vue.cjs +1 -1
- package/lib/cjs/components/typography/Copyable.vue.cjs.map +1 -1
- package/lib/cjs/components/typography/index.cjs +1 -1
- package/lib/cjs/components/typography/index.cjs.map +1 -1
- package/lib/cjs/components/upload/Upload.vue.cjs +1 -1
- package/lib/cjs/components/upload/Upload.vue.cjs.map +1 -1
- package/lib/cjs/components/upload/index.cjs +1 -1
- package/lib/cjs/components/upload/index.cjs.map +1 -1
- package/lib/cjs/index.cjs +1 -1
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/cjs/style.css +1 -1
- package/lib/css/semi.css +22196 -135
- package/lib/es/components/_sortable/Sortable.vue.js +0 -2
- package/lib/es/components/_sortable/Sortable.vue.js.map +1 -1
- package/lib/es/components/anchor/index.js +2 -3
- package/lib/es/components/anchor/index.js.map +1 -1
- package/lib/es/components/autoComplete/AutoComplete.vue.js +2 -4
- package/lib/es/components/autoComplete/AutoComplete.vue.js.map +1 -1
- package/lib/es/components/autoComplete/Option.vue.js +2 -3
- package/lib/es/components/autoComplete/Option.vue.js.map +1 -1
- package/lib/es/components/autoComplete/index.js +0 -1
- package/lib/es/components/autoComplete/index.js.map +1 -1
- package/lib/es/components/avatar/index.js +0 -1
- package/lib/es/components/avatar/index.js.map +1 -1
- package/lib/es/components/backTop/index.js +2 -3
- package/lib/es/components/backTop/index.js.map +1 -1
- package/lib/es/components/badge/index.js +3 -4
- package/lib/es/components/badge/index.js.map +1 -1
- package/lib/es/components/banner/index.js +0 -1
- package/lib/es/components/banner/index.js.map +1 -1
- package/lib/es/components/breadcrumb/index.js +7 -8
- package/lib/es/components/breadcrumb/index.js.map +1 -1
- package/lib/es/components/button/Button.vue.js +2 -3
- package/lib/es/components/button/Button.vue.js.map +1 -1
- package/lib/es/components/button/index.js +3 -4
- package/lib/es/components/button/index.js.map +1 -1
- package/lib/es/components/calendar/index.js +2 -3
- package/lib/es/components/calendar/index.js.map +1 -1
- package/lib/es/components/card/index.js +3 -4
- package/lib/es/components/card/index.js.map +1 -1
- package/lib/es/components/carousel/index.js +2 -3
- package/lib/es/components/carousel/index.js.map +1 -1
- package/lib/es/components/cascader/Cascader.vue.js +40 -42
- package/lib/es/components/cascader/Cascader.vue.js.map +1 -1
- package/lib/es/components/cascader/CascaderPanel.vue.js +2 -3
- package/lib/es/components/cascader/CascaderPanel.vue.js.map +1 -1
- package/lib/es/components/cascader/index.js +5 -6
- package/lib/es/components/cascader/index.js.map +1 -1
- package/lib/es/components/checkbox/CheckboxInner.vue.js +3 -4
- package/lib/es/components/checkbox/CheckboxInner.vue.js.map +1 -1
- package/lib/es/components/checkbox/index.js +4 -5
- package/lib/es/components/checkbox/index.js.map +1 -1
- package/lib/es/components/collapse/index.js +0 -1
- package/lib/es/components/collapse/index.js.map +1 -1
- package/lib/es/components/collapsible/index.js +2 -3
- package/lib/es/components/collapsible/index.js.map +1 -1
- package/lib/es/components/colorPicker/ColorPicker.vue.js +2 -3
- package/lib/es/components/colorPicker/ColorPicker.vue.js.map +1 -1
- package/lib/es/components/colorPicker/DataPart.vue.js +2 -3
- package/lib/es/components/colorPicker/DataPart.vue.js.map +1 -1
- package/lib/es/components/colorPicker/index.js +2 -3
- package/lib/es/components/colorPicker/index.js.map +1 -1
- package/lib/es/components/datePicker/DatePicker.vue.js +2 -3
- package/lib/es/components/datePicker/DatePicker.vue.js.map +1 -1
- package/lib/es/components/datePicker/index.js +2 -3
- package/lib/es/components/datePicker/index.js.map +1 -1
- package/lib/es/components/descriptions/index.js +0 -1
- package/lib/es/components/descriptions/index.js.map +1 -1
- package/lib/es/components/divider/index.js +0 -1
- package/lib/es/components/divider/index.js.map +1 -1
- package/lib/es/components/dropdown/index.js +6 -7
- package/lib/es/components/dropdown/index.js.map +1 -1
- package/lib/es/components/empty/index.js +3 -4
- package/lib/es/components/empty/index.js.map +1 -1
- package/lib/es/components/form/FieldWrapper.vue.js +2 -3
- package/lib/es/components/form/FieldWrapper.vue.js.map +1 -1
- package/lib/es/components/form/Form.vue.js +2 -3
- package/lib/es/components/form/Form.vue.js.map +1 -1
- package/lib/es/components/form/Group.vue.js +2 -3
- package/lib/es/components/form/Group.vue.js.map +1 -1
- package/lib/es/components/form/Slot.vue.js +13 -14
- package/lib/es/components/form/Slot.vue.js.map +1 -1
- package/lib/es/components/form/index.js +6 -7
- package/lib/es/components/form/index.js.map +1 -1
- package/lib/es/components/highlight/index.js +2 -3
- package/lib/es/components/highlight/index.js.map +1 -1
- package/lib/es/components/iconButton/IconButton.vue.js +29 -30
- package/lib/es/components/iconButton/IconButton.vue.js.map +1 -1
- package/lib/es/components/iconButton/index.js +2 -3
- package/lib/es/components/iconButton/index.js.map +1 -1
- package/lib/es/components/icons/Icon.vue2.js +5 -0
- package/lib/es/components/icons/Icon.vue2.js.map +1 -0
- package/lib/es/components/icons/icons/IconAbsoluteStroked.js +2 -3
- package/lib/es/components/icons/icons/IconAbsoluteStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconActivity.js +0 -1
- package/lib/es/components/icons/icons/IconActivity.js.map +1 -1
- package/lib/es/components/icons/icons/IconAlarm.js +2 -3
- package/lib/es/components/icons/icons/IconAlarm.js.map +1 -1
- package/lib/es/components/icons/icons/IconAlertCircle.js +5 -6
- package/lib/es/components/icons/icons/IconAlertCircle.js.map +1 -1
- package/lib/es/components/icons/icons/IconAlertTriangle.js +3 -4
- package/lib/es/components/icons/icons/IconAlertTriangle.js.map +1 -1
- package/lib/es/components/icons/icons/IconAlignBottom.js +6 -7
- package/lib/es/components/icons/icons/IconAlignBottom.js.map +1 -1
- package/lib/es/components/icons/icons/IconAlignCenter.js +2 -3
- package/lib/es/components/icons/icons/IconAlignCenter.js.map +1 -1
- package/lib/es/components/icons/icons/IconAlignCenterVertical.js +5 -6
- package/lib/es/components/icons/icons/IconAlignCenterVertical.js.map +1 -1
- package/lib/es/components/icons/icons/IconAlignHCenterStroked.js +2 -3
- package/lib/es/components/icons/icons/IconAlignHCenterStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconAlignHLeftStroked.js +2 -3
- package/lib/es/components/icons/icons/IconAlignHLeftStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconAlignHRightStroked.js +2 -3
- package/lib/es/components/icons/icons/IconAlignHRightStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconAlignJustify.js +3 -4
- package/lib/es/components/icons/icons/IconAlignJustify.js.map +1 -1
- package/lib/es/components/icons/icons/IconAlignLeft.js +2 -3
- package/lib/es/components/icons/icons/IconAlignLeft.js.map +1 -1
- package/lib/es/components/icons/icons/IconAlignRight.js +2 -3
- package/lib/es/components/icons/icons/IconAlignRight.js.map +1 -1
- package/lib/es/components/icons/icons/IconAlignTop.js +6 -7
- package/lib/es/components/icons/icons/IconAlignTop.js.map +1 -1
- package/lib/es/components/icons/icons/IconAlignVBotStroked.js +3 -4
- package/lib/es/components/icons/icons/IconAlignVBotStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconAlignVBottomStroked.js +8 -9
- package/lib/es/components/icons/icons/IconAlignVBottomStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconAlignVCenterStroked.js +3 -4
- package/lib/es/components/icons/icons/IconAlignVCenterStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconAlignVTopStroked.js +3 -4
- package/lib/es/components/icons/icons/IconAlignVTopStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconApartment.js +5 -6
- package/lib/es/components/icons/icons/IconApartment.js.map +1 -1
- package/lib/es/components/icons/icons/IconAppCenter.js +3 -4
- package/lib/es/components/icons/icons/IconAppCenter.js.map +1 -1
- package/lib/es/components/icons/icons/IconApps.js +0 -1
- package/lib/es/components/icons/icons/IconApps.js.map +1 -1
- package/lib/es/components/icons/icons/IconArchive.js +4 -5
- package/lib/es/components/icons/icons/IconArchive.js.map +1 -1
- package/lib/es/components/icons/icons/IconArrowDown.js +8 -9
- package/lib/es/components/icons/icons/IconArrowDown.js.map +1 -1
- package/lib/es/components/icons/icons/IconArrowDownLeft.js +0 -1
- package/lib/es/components/icons/icons/IconArrowDownLeft.js.map +1 -1
- package/lib/es/components/icons/icons/IconArrowDownRight.js +11 -12
- package/lib/es/components/icons/icons/IconArrowDownRight.js.map +1 -1
- package/lib/es/components/icons/icons/IconArrowLeft.js +2 -3
- package/lib/es/components/icons/icons/IconArrowLeft.js.map +1 -1
- package/lib/es/components/icons/icons/IconArrowRight.js +0 -1
- package/lib/es/components/icons/icons/IconArrowRight.js.map +1 -1
- package/lib/es/components/icons/icons/IconArrowUp.js +0 -1
- package/lib/es/components/icons/icons/IconArrowUp.js.map +1 -1
- package/lib/es/components/icons/icons/IconArrowUpLeft.js +2 -3
- package/lib/es/components/icons/icons/IconArrowUpLeft.js.map +1 -1
- package/lib/es/components/icons/icons/IconArrowUpRight.js +0 -1
- package/lib/es/components/icons/icons/IconArrowUpRight.js.map +1 -1
- package/lib/es/components/icons/icons/IconArticle.js +1 -2
- package/lib/es/components/icons/icons/IconArticle.js.map +1 -1
- package/lib/es/components/icons/icons/IconAscend.js +2 -3
- package/lib/es/components/icons/icons/IconAscend.js.map +1 -1
- package/lib/es/components/icons/icons/IconAt.js +2 -3
- package/lib/es/components/icons/icons/IconAt.js.map +1 -1
- package/lib/es/components/icons/icons/IconBackTop.js +2 -3
- package/lib/es/components/icons/icons/IconBackTop.js.map +1 -1
- package/lib/es/components/icons/icons/IconBackward.js +6 -7
- package/lib/es/components/icons/icons/IconBackward.js.map +1 -1
- package/lib/es/components/icons/icons/IconBarChartHStroked.js +0 -1
- package/lib/es/components/icons/icons/IconBarChartHStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconBarChartVStroked.js +0 -1
- package/lib/es/components/icons/icons/IconBarChartVStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconBeaker.js +2 -3
- package/lib/es/components/icons/icons/IconBeaker.js.map +1 -1
- package/lib/es/components/icons/icons/IconBell.js +8 -9
- package/lib/es/components/icons/icons/IconBell.js.map +1 -1
- package/lib/es/components/icons/icons/IconBellStroked.js +3 -4
- package/lib/es/components/icons/icons/IconBellStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconBold.js +5 -6
- package/lib/es/components/icons/icons/IconBold.js.map +1 -1
- package/lib/es/components/icons/icons/IconBolt.js +9 -10
- package/lib/es/components/icons/icons/IconBolt.js.map +1 -1
- package/lib/es/components/icons/icons/IconBookH5Stroked.js +7 -8
- package/lib/es/components/icons/icons/IconBookH5Stroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconBookOpenStroked.js +0 -1
- package/lib/es/components/icons/icons/IconBookOpenStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconBookStroked.js +7 -8
- package/lib/es/components/icons/icons/IconBookStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconBookmark.js +2 -3
- package/lib/es/components/icons/icons/IconBookmark.js.map +1 -1
- package/lib/es/components/icons/icons/IconBookmarkAddStroked.js +7 -8
- package/lib/es/components/icons/icons/IconBookmarkAddStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconBookmarkDeleteStroked.js +2 -3
- package/lib/es/components/icons/icons/IconBookmarkDeleteStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconBottomCenterStroked.js +2 -3
- package/lib/es/components/icons/icons/IconBottomCenterStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconBottomLeftStroked.js +3 -4
- package/lib/es/components/icons/icons/IconBottomLeftStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconBottomRightStroked.js +9 -10
- package/lib/es/components/icons/icons/IconBottomRightStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconBox.js +2 -3
- package/lib/es/components/icons/icons/IconBox.js.map +1 -1
- package/lib/es/components/icons/icons/IconBrackets.js +0 -1
- package/lib/es/components/icons/icons/IconBrackets.js.map +1 -1
- package/lib/es/components/icons/icons/IconBranch.js +2 -3
- package/lib/es/components/icons/icons/IconBranch.js.map +1 -1
- package/lib/es/components/icons/icons/IconBriefStroked.js +2 -3
- package/lib/es/components/icons/icons/IconBriefStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconBriefcase.js +2 -3
- package/lib/es/components/icons/icons/IconBriefcase.js.map +1 -1
- package/lib/es/components/icons/icons/IconBulb.js +8 -9
- package/lib/es/components/icons/icons/IconBulb.js.map +1 -1
- package/lib/es/components/icons/icons/IconButtonStroked.js +2 -3
- package/lib/es/components/icons/icons/IconButtonStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconBytedanceLogo.js +2 -3
- package/lib/es/components/icons/icons/IconBytedanceLogo.js.map +1 -1
- package/lib/es/components/icons/icons/IconCalendar.js +2 -3
- package/lib/es/components/icons/icons/IconCalendar.js.map +1 -1
- package/lib/es/components/icons/icons/IconCalendarClock.js +6 -7
- package/lib/es/components/icons/icons/IconCalendarClock.js.map +1 -1
- package/lib/es/components/icons/icons/IconCalendarStroked.js +8 -9
- package/lib/es/components/icons/icons/IconCalendarStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconCamera.js +0 -1
- package/lib/es/components/icons/icons/IconCamera.js.map +1 -1
- package/lib/es/components/icons/icons/IconCandlestickChartStroked.js +2 -3
- package/lib/es/components/icons/icons/IconCandlestickChartStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconCaretdown.js +2 -3
- package/lib/es/components/icons/icons/IconCaretdown.js.map +1 -1
- package/lib/es/components/icons/icons/IconCaretup.js +2 -3
- package/lib/es/components/icons/icons/IconCaretup.js.map +1 -1
- package/lib/es/components/icons/icons/IconCarouselStroked.js +2 -3
- package/lib/es/components/icons/icons/IconCarouselStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconCart.js +2 -3
- package/lib/es/components/icons/icons/IconCart.js.map +1 -1
- package/lib/es/components/icons/icons/IconCaseSensitive.js +6 -7
- package/lib/es/components/icons/icons/IconCaseSensitive.js.map +1 -1
- package/lib/es/components/icons/icons/IconCenterLeftStroked.js +2 -3
- package/lib/es/components/icons/icons/IconCenterLeftStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconCenterRightStroked.js +4 -5
- package/lib/es/components/icons/icons/IconCenterRightStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconChainStroked.js +6 -7
- package/lib/es/components/icons/icons/IconChainStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconCheckChoiceStroked.js +2 -3
- package/lib/es/components/icons/icons/IconCheckChoiceStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconCheckCircleStroked.js +2 -3
- package/lib/es/components/icons/icons/IconCheckCircleStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconCheckList.js +6 -7
- package/lib/es/components/icons/icons/IconCheckList.js.map +1 -1
- package/lib/es/components/icons/icons/IconCheckboxIndeterminate.js +2 -3
- package/lib/es/components/icons/icons/IconCheckboxIndeterminate.js.map +1 -1
- package/lib/es/components/icons/icons/IconCheckboxTick.js +3 -4
- package/lib/es/components/icons/icons/IconCheckboxTick.js.map +1 -1
- package/lib/es/components/icons/icons/IconChecklistStroked.js +3 -4
- package/lib/es/components/icons/icons/IconChecklistStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconChevronDown.js +1 -2
- package/lib/es/components/icons/icons/IconChevronDown.js.map +1 -1
- package/lib/es/components/icons/icons/IconChevronDownStroked.js +2 -3
- package/lib/es/components/icons/icons/IconChevronDownStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconChevronLeft.js +2 -3
- package/lib/es/components/icons/icons/IconChevronLeft.js.map +1 -1
- package/lib/es/components/icons/icons/IconChevronRight.js +2 -3
- package/lib/es/components/icons/icons/IconChevronRight.js.map +1 -1
- package/lib/es/components/icons/icons/IconChevronRightStroked.js +6 -7
- package/lib/es/components/icons/icons/IconChevronRightStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconChevronUp.js +2 -3
- package/lib/es/components/icons/icons/IconChevronUp.js.map +1 -1
- package/lib/es/components/icons/icons/IconChevronUpDown.js +7 -8
- package/lib/es/components/icons/icons/IconChevronUpDown.js.map +1 -1
- package/lib/es/components/icons/icons/IconClear.js +2 -3
- package/lib/es/components/icons/icons/IconClear.js.map +1 -1
- package/lib/es/components/icons/icons/IconClock.js +5 -6
- package/lib/es/components/icons/icons/IconClock.js.map +1 -1
- package/lib/es/components/icons/icons/IconClose.js +2 -3
- package/lib/es/components/icons/icons/IconClose.js.map +1 -1
- package/lib/es/components/icons/icons/IconCloud.js +5 -6
- package/lib/es/components/icons/icons/IconCloud.js.map +1 -1
- package/lib/es/components/icons/icons/IconCloudStroked.js +11 -12
- package/lib/es/components/icons/icons/IconCloudStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconCloudUploadStroked.js +9 -10
- package/lib/es/components/icons/icons/IconCloudUploadStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconCode.js +5 -6
- package/lib/es/components/icons/icons/IconCode.js.map +1 -1
- package/lib/es/components/icons/icons/IconCodeStroked.js +2 -3
- package/lib/es/components/icons/icons/IconCodeStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconCoinMoneyStroked.js +2 -3
- package/lib/es/components/icons/icons/IconCoinMoneyStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconColorPalette.js +5 -6
- package/lib/es/components/icons/icons/IconColorPalette.js.map +1 -1
- package/lib/es/components/icons/icons/IconColumnsStroked.js +5 -6
- package/lib/es/components/icons/icons/IconColumnsStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconCommand.js +2 -3
- package/lib/es/components/icons/icons/IconCommand.js.map +1 -1
- package/lib/es/components/icons/icons/IconComment.js +2 -3
- package/lib/es/components/icons/icons/IconComment.js.map +1 -1
- package/lib/es/components/icons/icons/IconCommentStroked.js +1 -2
- package/lib/es/components/icons/icons/IconCommentStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconComponent.js +3 -4
- package/lib/es/components/icons/icons/IconComponent.js.map +1 -1
- package/lib/es/components/icons/icons/IconComponentPlaceholderStroked.js +2 -3
- package/lib/es/components/icons/icons/IconComponentPlaceholderStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconComponentStroked.js +0 -1
- package/lib/es/components/icons/icons/IconComponentStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconConfigStroked.js +2 -3
- package/lib/es/components/icons/icons/IconConfigStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconConnectionPoint1.js +5 -6
- package/lib/es/components/icons/icons/IconConnectionPoint1.js.map +1 -1
- package/lib/es/components/icons/icons/IconConnectionPoint2.js +5 -6
- package/lib/es/components/icons/icons/IconConnectionPoint2.js.map +1 -1
- package/lib/es/components/icons/icons/IconContrast.js +2 -3
- package/lib/es/components/icons/icons/IconContrast.js.map +1 -1
- package/lib/es/components/icons/icons/IconCopy.js +6 -7
- package/lib/es/components/icons/icons/IconCopy.js.map +1 -1
- package/lib/es/components/icons/icons/IconCopyAdd.js +5 -6
- package/lib/es/components/icons/icons/IconCopyAdd.js.map +1 -1
- package/lib/es/components/icons/icons/IconCopyStroked.js +0 -1
- package/lib/es/components/icons/icons/IconCopyStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconCornerRadiusStroked.js +2 -3
- package/lib/es/components/icons/icons/IconCornerRadiusStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconCreditCard.js +2 -3
- package/lib/es/components/icons/icons/IconCreditCard.js.map +1 -1
- package/lib/es/components/icons/icons/IconCrop.js +3 -4
- package/lib/es/components/icons/icons/IconCrop.js.map +1 -1
- package/lib/es/components/icons/icons/IconCrossCircleStroked.js +2 -3
- package/lib/es/components/icons/icons/IconCrossCircleStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconCrossStroked.js +2 -3
- package/lib/es/components/icons/icons/IconCrossStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconCrown.js +6 -7
- package/lib/es/components/icons/icons/IconCrown.js.map +1 -1
- package/lib/es/components/icons/icons/IconCustomerSupport.js +8 -9
- package/lib/es/components/icons/icons/IconCustomerSupport.js.map +1 -1
- package/lib/es/components/icons/icons/IconCustomerSupportStroked.js +2 -3
- package/lib/es/components/icons/icons/IconCustomerSupportStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconCustomize.js +6 -7
- package/lib/es/components/icons/icons/IconCustomize.js.map +1 -1
- package/lib/es/components/icons/icons/IconDelete.js +5 -6
- package/lib/es/components/icons/icons/IconDelete.js.map +1 -1
- package/lib/es/components/icons/icons/IconDeleteStroked.js +2 -3
- package/lib/es/components/icons/icons/IconDeleteStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconDescend.js +2 -3
- package/lib/es/components/icons/icons/IconDescend.js.map +1 -1
- package/lib/es/components/icons/icons/IconDescend2.js +2 -3
- package/lib/es/components/icons/icons/IconDescend2.js.map +1 -1
- package/lib/es/components/icons/icons/IconDesktop.js +7 -8
- package/lib/es/components/icons/icons/IconDesktop.js.map +1 -1
- package/lib/es/components/icons/icons/IconDisc.js +2 -3
- package/lib/es/components/icons/icons/IconDisc.js.map +1 -1
- package/lib/es/components/icons/icons/IconDislikeThumb.js +3 -4
- package/lib/es/components/icons/icons/IconDislikeThumb.js.map +1 -1
- package/lib/es/components/icons/icons/IconDivide.js +0 -1
- package/lib/es/components/icons/icons/IconDivide.js.map +1 -1
- package/lib/es/components/icons/icons/IconDongchediLogo.js +2 -3
- package/lib/es/components/icons/icons/IconDongchediLogo.js.map +1 -1
- package/lib/es/components/icons/icons/IconDoubleChevronLeft.js +4 -5
- package/lib/es/components/icons/icons/IconDoubleChevronLeft.js.map +1 -1
- package/lib/es/components/icons/icons/IconDoubleChevronRight.js +5 -6
- package/lib/es/components/icons/icons/IconDoubleChevronRight.js.map +1 -1
- package/lib/es/components/icons/icons/IconDownCircleStroked.js +3 -4
- package/lib/es/components/icons/icons/IconDownCircleStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconDownload.js +7 -8
- package/lib/es/components/icons/icons/IconDownload.js.map +1 -1
- package/lib/es/components/icons/icons/IconDownloadStroked.js +7 -8
- package/lib/es/components/icons/icons/IconDownloadStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconDuration.js +8 -9
- package/lib/es/components/icons/icons/IconDuration.js.map +1 -1
- package/lib/es/components/icons/icons/IconEdit.js +10 -11
- package/lib/es/components/icons/icons/IconEdit.js.map +1 -1
- package/lib/es/components/icons/icons/IconEdit2Stroked.js +2 -3
- package/lib/es/components/icons/icons/IconEdit2Stroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconEditStroked.js +2 -3
- package/lib/es/components/icons/icons/IconEditStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconElementStroked.js +2 -3
- package/lib/es/components/icons/icons/IconElementStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconEmoji.js +2 -3
- package/lib/es/components/icons/icons/IconEmoji.js.map +1 -1
- package/lib/es/components/icons/icons/IconExit.js +2 -3
- package/lib/es/components/icons/icons/IconExit.js.map +1 -1
- package/lib/es/components/icons/icons/IconExpand.js +3 -4
- package/lib/es/components/icons/icons/IconExpand.js.map +1 -1
- package/lib/es/components/icons/icons/IconExport.js +9 -10
- package/lib/es/components/icons/icons/IconExport.js.map +1 -1
- package/lib/es/components/icons/icons/IconExternalOpen.js +2 -3
- package/lib/es/components/icons/icons/IconExternalOpen.js.map +1 -1
- package/lib/es/components/icons/icons/IconExternalOpenStroked.js +2 -3
- package/lib/es/components/icons/icons/IconExternalOpenStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconEyeClosed.js +6 -7
- package/lib/es/components/icons/icons/IconEyeClosed.js.map +1 -1
- package/lib/es/components/icons/icons/IconEyeClosedSolid.js +2 -3
- package/lib/es/components/icons/icons/IconEyeClosedSolid.js.map +1 -1
- package/lib/es/components/icons/icons/IconEyeOpened.js +0 -1
- package/lib/es/components/icons/icons/IconEyeOpened.js.map +1 -1
- package/lib/es/components/icons/icons/IconEyedropper.js +5 -6
- package/lib/es/components/icons/icons/IconEyedropper.js.map +1 -1
- package/lib/es/components/icons/icons/IconFacebook.js +7 -8
- package/lib/es/components/icons/icons/IconFacebook.js.map +1 -1
- package/lib/es/components/icons/icons/IconFaceuLogo.js +0 -1
- package/lib/es/components/icons/icons/IconFaceuLogo.js.map +1 -1
- package/lib/es/components/icons/icons/IconFastForward.js +2 -3
- package/lib/es/components/icons/icons/IconFastForward.js.map +1 -1
- package/lib/es/components/icons/icons/IconFastFoward.js +2 -3
- package/lib/es/components/icons/icons/IconFastFoward.js.map +1 -1
- package/lib/es/components/icons/icons/IconFavoriteList.js +2 -3
- package/lib/es/components/icons/icons/IconFavoriteList.js.map +1 -1
- package/lib/es/components/icons/icons/IconFeishuLogo.js +0 -1
- package/lib/es/components/icons/icons/IconFeishuLogo.js.map +1 -1
- package/lib/es/components/icons/icons/IconFemale.js +5 -6
- package/lib/es/components/icons/icons/IconFemale.js.map +1 -1
- package/lib/es/components/icons/icons/IconFigma.js +2 -3
- package/lib/es/components/icons/icons/IconFigma.js.map +1 -1
- package/lib/es/components/icons/icons/IconFile.js +6 -7
- package/lib/es/components/icons/icons/IconFile.js.map +1 -1
- package/lib/es/components/icons/icons/IconFillStroked.js +5 -6
- package/lib/es/components/icons/icons/IconFillStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconFilledArrowDown.js +7 -8
- package/lib/es/components/icons/icons/IconFilledArrowDown.js.map +1 -1
- package/lib/es/components/icons/icons/IconFilledArrowUp.js +0 -1
- package/lib/es/components/icons/icons/IconFilledArrowUp.js.map +1 -1
- package/lib/es/components/icons/icons/IconFilpVertical.js +7 -8
- package/lib/es/components/icons/icons/IconFilpVertical.js.map +1 -1
- package/lib/es/components/icons/icons/IconFilter.js +1 -2
- package/lib/es/components/icons/icons/IconFilter.js.map +1 -1
- package/lib/es/components/icons/icons/IconFingerLeftStroked.js +2 -3
- package/lib/es/components/icons/icons/IconFingerLeftStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconFixedStroked.js +2 -3
- package/lib/es/components/icons/icons/IconFixedStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconFlag.js +5 -6
- package/lib/es/components/icons/icons/IconFlag.js.map +1 -1
- package/lib/es/components/icons/icons/IconFlipHorizontal.js +5 -6
- package/lib/es/components/icons/icons/IconFlipHorizontal.js.map +1 -1
- package/lib/es/components/icons/icons/IconFlowChartStroked.js +2 -3
- package/lib/es/components/icons/icons/IconFlowChartStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconFolder.js +4 -5
- package/lib/es/components/icons/icons/IconFolder.js.map +1 -1
- package/lib/es/components/icons/icons/IconFolderOpen.js +6 -7
- package/lib/es/components/icons/icons/IconFolderOpen.js.map +1 -1
- package/lib/es/components/icons/icons/IconFolderStroked.js +2 -3
- package/lib/es/components/icons/icons/IconFolderStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconFollowStroked.js +11 -12
- package/lib/es/components/icons/icons/IconFollowStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconFont.js +1 -2
- package/lib/es/components/icons/icons/IconFont.js.map +1 -1
- package/lib/es/components/icons/icons/IconFontColor.js +2 -3
- package/lib/es/components/icons/icons/IconFontColor.js.map +1 -1
- package/lib/es/components/icons/icons/IconForward.js +9 -10
- package/lib/es/components/icons/icons/IconForward.js.map +1 -1
- package/lib/es/components/icons/icons/IconForwardStroked.js +0 -1
- package/lib/es/components/icons/icons/IconForwardStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconFullScreenStroked.js +0 -1
- package/lib/es/components/icons/icons/IconFullScreenStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconGallery.js +7 -8
- package/lib/es/components/icons/icons/IconGallery.js.map +1 -1
- package/lib/es/components/icons/icons/IconGift.js +2 -3
- package/lib/es/components/icons/icons/IconGift.js.map +1 -1
- package/lib/es/components/icons/icons/IconGiftStroked.js +5 -6
- package/lib/es/components/icons/icons/IconGiftStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconGit.js +7 -8
- package/lib/es/components/icons/icons/IconGit.js.map +1 -1
- package/lib/es/components/icons/icons/IconGithubLogo.js +0 -1
- package/lib/es/components/icons/icons/IconGithubLogo.js.map +1 -1
- package/lib/es/components/icons/icons/IconGitlabLogo.js +11 -12
- package/lib/es/components/icons/icons/IconGitlabLogo.js.map +1 -1
- package/lib/es/components/icons/icons/IconGlobe.js +7 -8
- package/lib/es/components/icons/icons/IconGlobe.js.map +1 -1
- package/lib/es/components/icons/icons/IconGlobeStroke.js +2 -3
- package/lib/es/components/icons/icons/IconGlobeStroke.js.map +1 -1
- package/lib/es/components/icons/icons/IconGridRectangle.js +3 -4
- package/lib/es/components/icons/icons/IconGridRectangle.js.map +1 -1
- package/lib/es/components/icons/icons/IconGridSquare.js +2 -3
- package/lib/es/components/icons/icons/IconGridSquare.js.map +1 -1
- package/lib/es/components/icons/icons/IconGridStroked.js +2 -3
- package/lib/es/components/icons/icons/IconGridStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconGridView.js +2 -3
- package/lib/es/components/icons/icons/IconGridView.js.map +1 -1
- package/lib/es/components/icons/icons/IconGridView1.js +2 -3
- package/lib/es/components/icons/icons/IconGridView1.js.map +1 -1
- package/lib/es/components/icons/icons/IconH1.js +6 -7
- package/lib/es/components/icons/icons/IconH1.js.map +1 -1
- package/lib/es/components/icons/icons/IconH2.js +9 -10
- package/lib/es/components/icons/icons/IconH2.js.map +1 -1
- package/lib/es/components/icons/icons/IconH3.js +6 -7
- package/lib/es/components/icons/icons/IconH3.js.map +1 -1
- package/lib/es/components/icons/icons/IconH4.js +6 -7
- package/lib/es/components/icons/icons/IconH4.js.map +1 -1
- package/lib/es/components/icons/icons/IconH5.js +6 -7
- package/lib/es/components/icons/icons/IconH5.js.map +1 -1
- package/lib/es/components/icons/icons/IconH6.js +6 -7
- package/lib/es/components/icons/icons/IconH6.js.map +1 -1
- package/lib/es/components/icons/icons/IconH7.js +6 -7
- package/lib/es/components/icons/icons/IconH7.js.map +1 -1
- package/lib/es/components/icons/icons/IconH8.js +6 -7
- package/lib/es/components/icons/icons/IconH8.js.map +1 -1
- package/lib/es/components/icons/icons/IconH9.js +6 -7
- package/lib/es/components/icons/icons/IconH9.js.map +1 -1
- package/lib/es/components/icons/icons/IconHandle.js +8 -9
- package/lib/es/components/icons/icons/IconHandle.js.map +1 -1
- package/lib/es/components/icons/icons/IconHash.js +2 -3
- package/lib/es/components/icons/icons/IconHash.js.map +1 -1
- package/lib/es/components/icons/icons/IconHeartStroked.js +0 -1
- package/lib/es/components/icons/icons/IconHeartStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconHelm.js +2 -3
- package/lib/es/components/icons/icons/IconHelm.js.map +1 -1
- package/lib/es/components/icons/icons/IconHelpCircle.js +7 -8
- package/lib/es/components/icons/icons/IconHelpCircle.js.map +1 -1
- package/lib/es/components/icons/icons/IconHelpCircleStroked.js +2 -3
- package/lib/es/components/icons/icons/IconHelpCircleStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconHistogram.js +9 -10
- package/lib/es/components/icons/icons/IconHistogram.js.map +1 -1
- package/lib/es/components/icons/icons/IconHistory.js +2 -3
- package/lib/es/components/icons/icons/IconHistory.js.map +1 -1
- package/lib/es/components/icons/icons/IconHn.js +2 -3
- package/lib/es/components/icons/icons/IconHn.js.map +1 -1
- package/lib/es/components/icons/icons/IconHome.js +2 -3
- package/lib/es/components/icons/icons/IconHome.js.map +1 -1
- package/lib/es/components/icons/icons/IconHomeStroked.js +2 -3
- package/lib/es/components/icons/icons/IconHomeStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconHorn.js +6 -7
- package/lib/es/components/icons/icons/IconHorn.js.map +1 -1
- package/lib/es/components/icons/icons/IconHourglass.js +2 -3
- package/lib/es/components/icons/icons/IconHourglass.js.map +1 -1
- package/lib/es/components/icons/icons/IconHourglassStroked.js +2 -3
- package/lib/es/components/icons/icons/IconHourglassStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconIdCard.js +2 -3
- package/lib/es/components/icons/icons/IconIdCard.js.map +1 -1
- package/lib/es/components/icons/icons/IconIdentity.js +2 -3
- package/lib/es/components/icons/icons/IconIdentity.js.map +1 -1
- package/lib/es/components/icons/icons/IconImage.js +2 -3
- package/lib/es/components/icons/icons/IconImage.js.map +1 -1
- package/lib/es/components/icons/icons/IconImageStroked.js +0 -1
- package/lib/es/components/icons/icons/IconImageStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconImport.js +2 -3
- package/lib/es/components/icons/icons/IconImport.js.map +1 -1
- package/lib/es/components/icons/icons/IconInbox.js +0 -1
- package/lib/es/components/icons/icons/IconInbox.js.map +1 -1
- package/lib/es/components/icons/icons/IconIndenpentCornersStroked.js +2 -3
- package/lib/es/components/icons/icons/IconIndenpentCornersStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconIndentLeft.js +0 -1
- package/lib/es/components/icons/icons/IconIndentLeft.js.map +1 -1
- package/lib/es/components/icons/icons/IconIndentRight.js +2 -3
- package/lib/es/components/icons/icons/IconIndentRight.js.map +1 -1
- package/lib/es/components/icons/icons/IconIndependentCornersStroked.js +2 -3
- package/lib/es/components/icons/icons/IconIndependentCornersStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconInfoCircle.js +2 -3
- package/lib/es/components/icons/icons/IconInfoCircle.js.map +1 -1
- package/lib/es/components/icons/icons/IconInherit.js +2 -3
- package/lib/es/components/icons/icons/IconInherit.js.map +1 -1
- package/lib/es/components/icons/icons/IconInheritStroked.js +0 -1
- package/lib/es/components/icons/icons/IconInheritStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconInnerSectionStroked.js +0 -1
- package/lib/es/components/icons/icons/IconInnerSectionStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconInstagram.js +6 -7
- package/lib/es/components/icons/icons/IconInstagram.js.map +1 -1
- package/lib/es/components/icons/icons/IconInteractiveStroked.js +2 -3
- package/lib/es/components/icons/icons/IconInteractiveStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconInviteStroked.js +8 -9
- package/lib/es/components/icons/icons/IconInviteStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconIssueStroked.js +2 -3
- package/lib/es/components/icons/icons/IconIssueStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconItalic.js +1 -2
- package/lib/es/components/icons/icons/IconItalic.js.map +1 -1
- package/lib/es/components/icons/icons/IconJianying.js +2 -3
- package/lib/es/components/icons/icons/IconJianying.js.map +1 -1
- package/lib/es/components/icons/icons/IconKanban.js +5 -6
- package/lib/es/components/icons/icons/IconKanban.js.map +1 -1
- package/lib/es/components/icons/icons/IconKey.js +3 -4
- package/lib/es/components/icons/icons/IconKey.js.map +1 -1
- package/lib/es/components/icons/icons/IconKeyStroked.js +2 -3
- package/lib/es/components/icons/icons/IconKeyStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconLanguage.js +1 -2
- package/lib/es/components/icons/icons/IconLanguage.js.map +1 -1
- package/lib/es/components/icons/icons/IconLayers.js +5 -6
- package/lib/es/components/icons/icons/IconLayers.js.map +1 -1
- package/lib/es/components/icons/icons/IconLeftCircleStroked.js +2 -3
- package/lib/es/components/icons/icons/IconLeftCircleStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconLightningStroked.js +2 -3
- package/lib/es/components/icons/icons/IconLightningStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconLikeHeart.js +2 -3
- package/lib/es/components/icons/icons/IconLikeHeart.js.map +1 -1
- package/lib/es/components/icons/icons/IconLikeThumb.js +2 -3
- package/lib/es/components/icons/icons/IconLikeThumb.js.map +1 -1
- package/lib/es/components/icons/icons/IconLineChartStroked.js +2 -3
- package/lib/es/components/icons/icons/IconLineChartStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconLineHeight.js +2 -3
- package/lib/es/components/icons/icons/IconLineHeight.js.map +1 -1
- package/lib/es/components/icons/icons/IconLink.js +0 -1
- package/lib/es/components/icons/icons/IconLink.js.map +1 -1
- package/lib/es/components/icons/icons/IconList.js +9 -10
- package/lib/es/components/icons/icons/IconList.js.map +1 -1
- package/lib/es/components/icons/icons/IconListView.js +2 -3
- package/lib/es/components/icons/icons/IconListView.js.map +1 -1
- package/lib/es/components/icons/icons/IconLive.js +2 -3
- package/lib/es/components/icons/icons/IconLive.js.map +1 -1
- package/lib/es/components/icons/icons/IconLoading.js +2 -3
- package/lib/es/components/icons/icons/IconLoading.js.map +1 -1
- package/lib/es/components/icons/icons/IconLock.js +2 -3
- package/lib/es/components/icons/icons/IconLock.js.map +1 -1
- package/lib/es/components/icons/icons/IconLockStroked.js +2 -3
- package/lib/es/components/icons/icons/IconLockStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconLoopTextStroked.js +2 -3
- package/lib/es/components/icons/icons/IconLoopTextStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconMail.js +5 -6
- package/lib/es/components/icons/icons/IconMail.js.map +1 -1
- package/lib/es/components/icons/icons/IconMailStroked.js +3 -4
- package/lib/es/components/icons/icons/IconMailStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconMailStroked1.js +3 -4
- package/lib/es/components/icons/icons/IconMailStroked1.js.map +1 -1
- package/lib/es/components/icons/icons/IconMale.js +5 -6
- package/lib/es/components/icons/icons/IconMale.js.map +1 -1
- package/lib/es/components/icons/icons/IconMapPin.js +2 -3
- package/lib/es/components/icons/icons/IconMapPin.js.map +1 -1
- package/lib/es/components/icons/icons/IconMapPinStroked.js +2 -3
- package/lib/es/components/icons/icons/IconMapPinStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconMarginLeftStroked.js +2 -3
- package/lib/es/components/icons/icons/IconMarginLeftStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconMarginStroked.js +3 -4
- package/lib/es/components/icons/icons/IconMarginStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconMark.js +2 -3
- package/lib/es/components/icons/icons/IconMark.js.map +1 -1
- package/lib/es/components/icons/icons/IconMaximize.js +2 -3
- package/lib/es/components/icons/icons/IconMaximize.js.map +1 -1
- package/lib/es/components/icons/icons/IconMember.js +3 -4
- package/lib/es/components/icons/icons/IconMember.js.map +1 -1
- package/lib/es/components/icons/icons/IconMenu.js +2 -3
- package/lib/es/components/icons/icons/IconMenu.js.map +1 -1
- package/lib/es/components/icons/icons/IconMicrophone.js +2 -3
- package/lib/es/components/icons/icons/IconMicrophone.js.map +1 -1
- package/lib/es/components/icons/icons/IconMicrophoneOff.js +3 -4
- package/lib/es/components/icons/icons/IconMicrophoneOff.js.map +1 -1
- package/lib/es/components/icons/icons/IconMinimize.js +6 -7
- package/lib/es/components/icons/icons/IconMinimize.js.map +1 -1
- package/lib/es/components/icons/icons/IconMinus.js +0 -1
- package/lib/es/components/icons/icons/IconMinus.js.map +1 -1
- package/lib/es/components/icons/icons/IconMinusCircle.js +2 -3
- package/lib/es/components/icons/icons/IconMinusCircle.js.map +1 -1
- package/lib/es/components/icons/icons/IconMinusCircleStroked.js +2 -3
- package/lib/es/components/icons/icons/IconMinusCircleStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconMinusStroked.js +1 -2
- package/lib/es/components/icons/icons/IconMinusStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconModalStroked.js +2 -3
- package/lib/es/components/icons/icons/IconModalStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconMoneyExchangeStroked.js +0 -1
- package/lib/es/components/icons/icons/IconMoneyExchangeStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconMonitorStroked.js +7 -8
- package/lib/es/components/icons/icons/IconMonitorStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconMoon.js +8 -9
- package/lib/es/components/icons/icons/IconMoon.js.map +1 -1
- package/lib/es/components/icons/icons/IconMore.js +2 -3
- package/lib/es/components/icons/icons/IconMore.js.map +1 -1
- package/lib/es/components/icons/icons/IconMoreStroked.js +2 -3
- package/lib/es/components/icons/icons/IconMoreStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconMusic.js +0 -1
- package/lib/es/components/icons/icons/IconMusic.js.map +1 -1
- package/lib/es/components/icons/icons/IconMusicNoteStroked.js +2 -3
- package/lib/es/components/icons/icons/IconMusicNoteStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconMute.js +2 -3
- package/lib/es/components/icons/icons/IconMute.js.map +1 -1
- package/lib/es/components/icons/icons/IconNineGridStroked.js +2 -3
- package/lib/es/components/icons/icons/IconNineGridStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconNoteMoneyStroked.js +6 -7
- package/lib/es/components/icons/icons/IconNoteMoneyStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconOption.js +5 -6
- package/lib/es/components/icons/icons/IconOption.js.map +1 -1
- package/lib/es/components/icons/icons/IconOrderedList.js +2 -3
- package/lib/es/components/icons/icons/IconOrderedList.js.map +1 -1
- package/lib/es/components/icons/icons/IconOrderedListStroked.js +2 -3
- package/lib/es/components/icons/icons/IconOrderedListStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconPaperclip.js +2 -3
- package/lib/es/components/icons/icons/IconPaperclip.js.map +1 -1
- package/lib/es/components/icons/icons/IconPause.js +7 -8
- package/lib/es/components/icons/icons/IconPause.js.map +1 -1
- package/lib/es/components/icons/icons/IconPercentage.js +2 -3
- package/lib/es/components/icons/icons/IconPercentage.js.map +1 -1
- package/lib/es/components/icons/icons/IconPhone.js +3 -4
- package/lib/es/components/icons/icons/IconPhone.js.map +1 -1
- package/lib/es/components/icons/icons/IconPhoneStroke.js +3 -4
- package/lib/es/components/icons/icons/IconPhoneStroke.js.map +1 -1
- package/lib/es/components/icons/icons/IconPieChart2Stroked.js +2 -3
- package/lib/es/components/icons/icons/IconPieChart2Stroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconPieChartStroked.js +2 -3
- package/lib/es/components/icons/icons/IconPieChartStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconPiechartH5Stroked.js +2 -3
- package/lib/es/components/icons/icons/IconPiechartH5Stroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconPipixiaLogo.js +6 -7
- package/lib/es/components/icons/icons/IconPipixiaLogo.js.map +1 -1
- package/lib/es/components/icons/icons/IconPlay.js +2 -3
- package/lib/es/components/icons/icons/IconPlay.js.map +1 -1
- package/lib/es/components/icons/icons/IconPlayCircle.js +6 -7
- package/lib/es/components/icons/icons/IconPlayCircle.js.map +1 -1
- package/lib/es/components/icons/icons/IconPlus.js +2 -3
- package/lib/es/components/icons/icons/IconPlus.js.map +1 -1
- package/lib/es/components/icons/icons/IconPlusCircle.js +8 -9
- package/lib/es/components/icons/icons/IconPlusCircle.js.map +1 -1
- package/lib/es/components/icons/icons/IconPlusCircleStroked.js +2 -3
- package/lib/es/components/icons/icons/IconPlusCircleStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconPlusStroked.js +2 -3
- package/lib/es/components/icons/icons/IconPlusStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconPriceTag.js +2 -3
- package/lib/es/components/icons/icons/IconPriceTag.js.map +1 -1
- package/lib/es/components/icons/icons/IconPrint.js +2 -3
- package/lib/es/components/icons/icons/IconPrint.js.map +1 -1
- package/lib/es/components/icons/icons/IconPrizeStroked.js +2 -3
- package/lib/es/components/icons/icons/IconPrizeStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconPulse.js +5 -6
- package/lib/es/components/icons/icons/IconPulse.js.map +1 -1
- package/lib/es/components/icons/icons/IconPuzzle.js +5 -6
- package/lib/es/components/icons/icons/IconPuzzle.js.map +1 -1
- package/lib/es/components/icons/icons/IconQingyan.js +2 -3
- package/lib/es/components/icons/icons/IconQingyan.js.map +1 -1
- package/lib/es/components/icons/icons/IconQrCode.js +6 -7
- package/lib/es/components/icons/icons/IconQrCode.js.map +1 -1
- package/lib/es/components/icons/icons/IconQuit.js +3 -4
- package/lib/es/components/icons/icons/IconQuit.js.map +1 -1
- package/lib/es/components/icons/icons/IconQuote.js +2 -3
- package/lib/es/components/icons/icons/IconQuote.js.map +1 -1
- package/lib/es/components/icons/icons/IconRadio.js +2 -3
- package/lib/es/components/icons/icons/IconRadio.js.map +1 -1
- package/lib/es/components/icons/icons/IconRankingCardStroked.js +2 -3
- package/lib/es/components/icons/icons/IconRankingCardStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconRealSizeStroked.js +7 -8
- package/lib/es/components/icons/icons/IconRealSizeStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconRedo.js +0 -1
- package/lib/es/components/icons/icons/IconRedo.js.map +1 -1
- package/lib/es/components/icons/icons/IconRedoStroked.js +6 -7
- package/lib/es/components/icons/icons/IconRedoStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconRefresh.js +5 -6
- package/lib/es/components/icons/icons/IconRefresh.js.map +1 -1
- package/lib/es/components/icons/icons/IconRefresh2.js +5 -6
- package/lib/es/components/icons/icons/IconRefresh2.js.map +1 -1
- package/lib/es/components/icons/icons/IconRegExp.js +8 -9
- package/lib/es/components/icons/icons/IconRegExp.js.map +1 -1
- package/lib/es/components/icons/icons/IconReply.js +2 -3
- package/lib/es/components/icons/icons/IconReply.js.map +1 -1
- package/lib/es/components/icons/icons/IconReplyStroked.js +6 -7
- package/lib/es/components/icons/icons/IconReplyStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconResso.js +2 -3
- package/lib/es/components/icons/icons/IconResso.js.map +1 -1
- package/lib/es/components/icons/icons/IconRestart.js +4 -5
- package/lib/es/components/icons/icons/IconRestart.js.map +1 -1
- package/lib/es/components/icons/icons/IconRingChartStroked.js +6 -7
- package/lib/es/components/icons/icons/IconRingChartStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconRotate.js +0 -1
- package/lib/es/components/icons/icons/IconRotate.js.map +1 -1
- package/lib/es/components/icons/icons/IconRotationStroked.js +7 -8
- package/lib/es/components/icons/icons/IconRotationStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconRoute.js +3 -4
- package/lib/es/components/icons/icons/IconRoute.js.map +1 -1
- package/lib/es/components/icons/icons/IconRowsStroked.js +6 -7
- package/lib/es/components/icons/icons/IconRowsStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconSafe.js +0 -1
- package/lib/es/components/icons/icons/IconSafe.js.map +1 -1
- package/lib/es/components/icons/icons/IconSave.js +2 -3
- package/lib/es/components/icons/icons/IconSave.js.map +1 -1
- package/lib/es/components/icons/icons/IconSaveStroked.js +0 -1
- package/lib/es/components/icons/icons/IconSaveStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconScan.js +2 -3
- package/lib/es/components/icons/icons/IconScan.js.map +1 -1
- package/lib/es/components/icons/icons/IconScissors.js +2 -3
- package/lib/es/components/icons/icons/IconScissors.js.map +1 -1
- package/lib/es/components/icons/icons/IconSearch.js +0 -1
- package/lib/es/components/icons/icons/IconSearch.js.map +1 -1
- package/lib/es/components/icons/icons/IconSearchStroked.js +2 -3
- package/lib/es/components/icons/icons/IconSearchStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconSectionStroked.js +0 -1
- package/lib/es/components/icons/icons/IconSectionStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconSemiLogo.js +2 -3
- package/lib/es/components/icons/icons/IconSemiLogo.js.map +1 -1
- package/lib/es/components/icons/icons/IconSend.js +3 -4
- package/lib/es/components/icons/icons/IconSend.js.map +1 -1
- package/lib/es/components/icons/icons/IconSendMsgStroked.js +0 -1
- package/lib/es/components/icons/icons/IconSendMsgStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconSendStroked.js +0 -1
- package/lib/es/components/icons/icons/IconSendStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconServer.js +2 -3
- package/lib/es/components/icons/icons/IconServer.js.map +1 -1
- package/lib/es/components/icons/icons/IconServerStroked.js +2 -3
- package/lib/es/components/icons/icons/IconServerStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconSetting.js +2 -3
- package/lib/es/components/icons/icons/IconSetting.js.map +1 -1
- package/lib/es/components/icons/icons/IconSettingStroked.js +2 -3
- package/lib/es/components/icons/icons/IconSettingStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconShareMoneyStroked.js +0 -1
- package/lib/es/components/icons/icons/IconShareMoneyStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconShareStroked.js +0 -1
- package/lib/es/components/icons/icons/IconShareStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconShield.js +3 -4
- package/lib/es/components/icons/icons/IconShield.js.map +1 -1
- package/lib/es/components/icons/icons/IconShieldStroked.js +2 -3
- package/lib/es/components/icons/icons/IconShieldStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconShift.js +2 -3
- package/lib/es/components/icons/icons/IconShift.js.map +1 -1
- package/lib/es/components/icons/icons/IconShoppingBag.js +2 -3
- package/lib/es/components/icons/icons/IconShoppingBag.js.map +1 -1
- package/lib/es/components/icons/icons/IconShrink.js +6 -7
- package/lib/es/components/icons/icons/IconShrink.js.map +1 -1
- package/lib/es/components/icons/icons/IconShrinkScreenStroked.js +2 -3
- package/lib/es/components/icons/icons/IconShrinkScreenStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconSidebar.js +2 -3
- package/lib/es/components/icons/icons/IconSidebar.js.map +1 -1
- package/lib/es/components/icons/icons/IconSignal.js +5 -6
- package/lib/es/components/icons/icons/IconSignal.js.map +1 -1
- package/lib/es/components/icons/icons/IconSimilarity.js +2 -3
- package/lib/es/components/icons/icons/IconSimilarity.js.map +1 -1
- package/lib/es/components/icons/icons/IconSmallTriangleDown.js +6 -7
- package/lib/es/components/icons/icons/IconSmallTriangleDown.js.map +1 -1
- package/lib/es/components/icons/icons/IconSmallTriangleLeft.js +6 -7
- package/lib/es/components/icons/icons/IconSmallTriangleLeft.js.map +1 -1
- package/lib/es/components/icons/icons/IconSmallTriangleRight.js +9 -10
- package/lib/es/components/icons/icons/IconSmallTriangleRight.js.map +1 -1
- package/lib/es/components/icons/icons/IconSmallTriangleTop.js +2 -3
- package/lib/es/components/icons/icons/IconSmallTriangleTop.js.map +1 -1
- package/lib/es/components/icons/icons/IconSmartphoneCheckStroked.js +2 -3
- package/lib/es/components/icons/icons/IconSmartphoneCheckStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconSmartphoneStroked.js +2 -3
- package/lib/es/components/icons/icons/IconSmartphoneStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconSong.js +3 -4
- package/lib/es/components/icons/icons/IconSong.js.map +1 -1
- package/lib/es/components/icons/icons/IconSonicStroked.js +2 -3
- package/lib/es/components/icons/icons/IconSonicStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconSort.js +0 -1
- package/lib/es/components/icons/icons/IconSort.js.map +1 -1
- package/lib/es/components/icons/icons/IconSortStroked.js +0 -1
- package/lib/es/components/icons/icons/IconSortStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconSourceControl.js +5 -6
- package/lib/es/components/icons/icons/IconSourceControl.js.map +1 -1
- package/lib/es/components/icons/icons/IconSpin.js +7 -8
- package/lib/es/components/icons/icons/IconSpin.js.map +1 -1
- package/lib/es/components/icons/icons/IconStackBarChartStroked.js +2 -3
- package/lib/es/components/icons/icons/IconStackBarChartStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconStar.js +7 -8
- package/lib/es/components/icons/icons/IconStar.js.map +1 -1
- package/lib/es/components/icons/icons/IconStarStroked.js +0 -1
- package/lib/es/components/icons/icons/IconStarStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconStop.js +9 -10
- package/lib/es/components/icons/icons/IconStop.js.map +1 -1
- package/lib/es/components/icons/icons/IconStopwatchStroked.js +2 -3
- package/lib/es/components/icons/icons/IconStopwatchStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconStoryStroked.js +2 -3
- package/lib/es/components/icons/icons/IconStoryStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconStrikeThrough.js +5 -6
- package/lib/es/components/icons/icons/IconStrikeThrough.js.map +1 -1
- package/lib/es/components/icons/icons/IconSun.js +2 -3
- package/lib/es/components/icons/icons/IconSun.js.map +1 -1
- package/lib/es/components/icons/icons/IconSync.js +0 -1
- package/lib/es/components/icons/icons/IconSync.js.map +1 -1
- package/lib/es/components/icons/icons/IconTabArrowStroked.js +2 -3
- package/lib/es/components/icons/icons/IconTabArrowStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconTabsStroked.js +0 -1
- package/lib/es/components/icons/icons/IconTabsStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconTaskMoneyStroked.js +6 -7
- package/lib/es/components/icons/icons/IconTaskMoneyStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconTemplate.js +5 -6
- package/lib/es/components/icons/icons/IconTemplate.js.map +1 -1
- package/lib/es/components/icons/icons/IconTemplateStroked.js +2 -3
- package/lib/es/components/icons/icons/IconTemplateStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconTerminal.js +3 -4
- package/lib/es/components/icons/icons/IconTerminal.js.map +1 -1
- package/lib/es/components/icons/icons/IconTestScoreStroked.js +0 -1
- package/lib/es/components/icons/icons/IconTestScoreStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconText.js +1 -2
- package/lib/es/components/icons/icons/IconText.js.map +1 -1
- package/lib/es/components/icons/icons/IconTextRectangle.js +2 -3
- package/lib/es/components/icons/icons/IconTextRectangle.js.map +1 -1
- package/lib/es/components/icons/icons/IconTextStroked.js +2 -3
- package/lib/es/components/icons/icons/IconTextStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconThumbUpStroked.js +2 -3
- package/lib/es/components/icons/icons/IconThumbUpStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconTick.js +2 -3
- package/lib/es/components/icons/icons/IconTick.js.map +1 -1
- package/lib/es/components/icons/icons/IconTicketCodeExchangeStroked.js +2 -3
- package/lib/es/components/icons/icons/IconTicketCodeExchangeStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconTicketCodeStroked.js +2 -3
- package/lib/es/components/icons/icons/IconTicketCodeStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconTiktokLogo.js +0 -1
- package/lib/es/components/icons/icons/IconTiktokLogo.js.map +1 -1
- package/lib/es/components/icons/icons/IconTop.js +2 -3
- package/lib/es/components/icons/icons/IconTop.js.map +1 -1
- package/lib/es/components/icons/icons/IconTopCenterStroked.js +2 -3
- package/lib/es/components/icons/icons/IconTopCenterStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconTopLeftStroked.js +2 -3
- package/lib/es/components/icons/icons/IconTopLeftStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconTopRightStroked.js +6 -7
- package/lib/es/components/icons/icons/IconTopRightStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconTopbuzzLogo.js +6 -7
- package/lib/es/components/icons/icons/IconTopbuzzLogo.js.map +1 -1
- package/lib/es/components/icons/icons/IconToutiaoLogo.js +2 -3
- package/lib/es/components/icons/icons/IconToutiaoLogo.js.map +1 -1
- package/lib/es/components/icons/icons/IconTransparentStroked.js +2 -3
- package/lib/es/components/icons/icons/IconTransparentStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconTreeTriangleDown.js +2 -3
- package/lib/es/components/icons/icons/IconTreeTriangleDown.js.map +1 -1
- package/lib/es/components/icons/icons/IconTreeTriangleRight.js +6 -7
- package/lib/es/components/icons/icons/IconTreeTriangleRight.js.map +1 -1
- package/lib/es/components/icons/icons/IconTriangleArrow.js +2 -3
- package/lib/es/components/icons/icons/IconTriangleArrow.js.map +1 -1
- package/lib/es/components/icons/icons/IconTriangleArrowVertical.js +11 -12
- package/lib/es/components/icons/icons/IconTriangleArrowVertical.js.map +1 -1
- package/lib/es/components/icons/icons/IconTriangleDown.js +2 -3
- package/lib/es/components/icons/icons/IconTriangleDown.js.map +1 -1
- package/lib/es/components/icons/icons/IconTriangleUp.js +2 -3
- package/lib/es/components/icons/icons/IconTriangleUp.js.map +1 -1
- package/lib/es/components/icons/icons/IconTrueFalseStroked.js +2 -3
- package/lib/es/components/icons/icons/IconTrueFalseStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconTvCheckedStroked.js +0 -1
- package/lib/es/components/icons/icons/IconTvCheckedStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconTwitter.js +2 -3
- package/lib/es/components/icons/icons/IconTwitter.js.map +1 -1
- package/lib/es/components/icons/icons/IconTypograph.js +2 -3
- package/lib/es/components/icons/icons/IconTypograph.js.map +1 -1
- package/lib/es/components/icons/icons/IconUnChainStroked.js +2 -3
- package/lib/es/components/icons/icons/IconUnChainStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconUnderline.js +2 -3
- package/lib/es/components/icons/icons/IconUnderline.js.map +1 -1
- package/lib/es/components/icons/icons/IconUndo.js +0 -1
- package/lib/es/components/icons/icons/IconUndo.js.map +1 -1
- package/lib/es/components/icons/icons/IconUnlink.js +3 -4
- package/lib/es/components/icons/icons/IconUnlink.js.map +1 -1
- package/lib/es/components/icons/icons/IconUnlock.js +6 -7
- package/lib/es/components/icons/icons/IconUnlock.js.map +1 -1
- package/lib/es/components/icons/icons/IconUnlockStroked.js +2 -3
- package/lib/es/components/icons/icons/IconUnlockStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconUpload.js +5 -6
- package/lib/es/components/icons/icons/IconUpload.js.map +1 -1
- package/lib/es/components/icons/icons/IconUploadError.js +2 -3
- package/lib/es/components/icons/icons/IconUploadError.js.map +1 -1
- package/lib/es/components/icons/icons/IconUser.js +6 -7
- package/lib/es/components/icons/icons/IconUser.js.map +1 -1
- package/lib/es/components/icons/icons/IconUserAdd.js +6 -7
- package/lib/es/components/icons/icons/IconUserAdd.js.map +1 -1
- package/lib/es/components/icons/icons/IconUserCardPhone.js +2 -3
- package/lib/es/components/icons/icons/IconUserCardPhone.js.map +1 -1
- package/lib/es/components/icons/icons/IconUserCardVideo.js +2 -3
- package/lib/es/components/icons/icons/IconUserCardVideo.js.map +1 -1
- package/lib/es/components/icons/icons/IconUserCircle.js +6 -7
- package/lib/es/components/icons/icons/IconUserCircle.js.map +1 -1
- package/lib/es/components/icons/icons/IconUserCircleStroked.js +6 -7
- package/lib/es/components/icons/icons/IconUserCircleStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconUserGroup.js +2 -3
- package/lib/es/components/icons/icons/IconUserGroup.js.map +1 -1
- package/lib/es/components/icons/icons/IconUserListStroked.js +2 -3
- package/lib/es/components/icons/icons/IconUserListStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconUserSetting.js +6 -7
- package/lib/es/components/icons/icons/IconUserSetting.js.map +1 -1
- package/lib/es/components/icons/icons/IconUserStroked.js +0 -1
- package/lib/es/components/icons/icons/IconUserStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconVennChartStroked.js +0 -1
- package/lib/es/components/icons/icons/IconVennChartStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconVerify.js +2 -3
- package/lib/es/components/icons/icons/IconVerify.js.map +1 -1
- package/lib/es/components/icons/icons/IconVersionStroked.js +2 -3
- package/lib/es/components/icons/icons/IconVersionStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconVideo.js +2 -3
- package/lib/es/components/icons/icons/IconVideo.js.map +1 -1
- package/lib/es/components/icons/icons/IconVideoDouyinStroked.js +6 -7
- package/lib/es/components/icons/icons/IconVideoDouyinStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconVideoListStroked.js +6 -7
- package/lib/es/components/icons/icons/IconVideoListStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconVideoStroked.js +2 -3
- package/lib/es/components/icons/icons/IconVideoStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconVideoUrlStroked.js +2 -3
- package/lib/es/components/icons/icons/IconVideoUrlStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconVigoLogo.js +2 -3
- package/lib/es/components/icons/icons/IconVigoLogo.js.map +1 -1
- package/lib/es/components/icons/icons/IconVolume1.js +3 -4
- package/lib/es/components/icons/icons/IconVolume1.js.map +1 -1
- package/lib/es/components/icons/icons/IconVolume2.js +1 -2
- package/lib/es/components/icons/icons/IconVolume2.js.map +1 -1
- package/lib/es/components/icons/icons/IconVolumnSilent.js +2 -3
- package/lib/es/components/icons/icons/IconVolumnSilent.js.map +1 -1
- package/lib/es/components/icons/icons/IconVoteStroked.js +0 -1
- package/lib/es/components/icons/icons/IconVoteStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconVoteVideoStroked.js +6 -7
- package/lib/es/components/icons/icons/IconVoteVideoStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconWeibo.js +2 -3
- package/lib/es/components/icons/icons/IconWeibo.js.map +1 -1
- package/lib/es/components/icons/icons/IconWholeWord.js +6 -7
- package/lib/es/components/icons/icons/IconWholeWord.js.map +1 -1
- package/lib/es/components/icons/icons/IconWifi.js +6 -7
- package/lib/es/components/icons/icons/IconWifi.js.map +1 -1
- package/lib/es/components/icons/icons/IconWindowAdaptionStroked.js +8 -9
- package/lib/es/components/icons/icons/IconWindowAdaptionStroked.js.map +1 -1
- package/lib/es/components/icons/icons/IconWrench.js +1 -2
- package/lib/es/components/icons/icons/IconWrench.js.map +1 -1
- package/lib/es/components/icons/icons/IconXiguaLogo.js +8 -9
- package/lib/es/components/icons/icons/IconXiguaLogo.js.map +1 -1
- package/lib/es/components/icons/icons/IconYoutube.js +2 -3
- package/lib/es/components/icons/icons/IconYoutube.js.map +1 -1
- package/lib/es/components/image/index.js +0 -1
- package/lib/es/components/image/index.js.map +1 -1
- package/lib/es/components/input/index.js +5 -6
- package/lib/es/components/input/index.js.map +1 -1
- package/lib/es/components/inputNumber/index.js +5 -6
- package/lib/es/components/inputNumber/index.js.map +1 -1
- package/lib/es/components/layout/index.js +0 -1
- package/lib/es/components/layout/index.js.map +1 -1
- package/lib/es/components/list/List.vue.js +10 -11
- package/lib/es/components/list/List.vue.js.map +1 -1
- package/lib/es/components/list/index.js +0 -1
- package/lib/es/components/list/index.js.map +1 -1
- package/lib/es/components/modal/index.js +0 -1
- package/lib/es/components/modal/index.js.map +1 -1
- package/lib/es/components/navigation/CollapseButton.vue.js +7 -9
- package/lib/es/components/navigation/CollapseButton.vue.js.map +1 -1
- package/lib/es/components/navigation/Item.vue.js +2 -3
- package/lib/es/components/navigation/Item.vue.js.map +1 -1
- package/lib/es/components/navigation/SubNav.vue.js +2 -3
- package/lib/es/components/navigation/SubNav.vue.js.map +1 -1
- package/lib/es/components/navigation/index.js +7 -8
- package/lib/es/components/navigation/index.js.map +1 -1
- package/lib/es/components/notification/index.js +3 -4
- package/lib/es/components/notification/index.js.map +1 -1
- package/lib/es/components/overflowList/index.js +3 -4
- package/lib/es/components/overflowList/index.js.map +1 -1
- package/lib/es/components/pagination/index.js +2 -3
- package/lib/es/components/pagination/index.js.map +1 -1
- package/lib/es/components/pinCode/index.js +2 -3
- package/lib/es/components/pinCode/index.js.map +1 -1
- package/lib/es/components/popconfirm/index.js +3 -4
- package/lib/es/components/popconfirm/index.js.map +1 -1
- package/lib/es/components/popover/index.js +2 -3
- package/lib/es/components/popover/index.js.map +1 -1
- package/lib/es/components/progress/index.js +2 -3
- package/lib/es/components/progress/index.js.map +1 -1
- package/lib/es/components/radio/Radio.vue.js +2 -3
- package/lib/es/components/radio/Radio.vue.js.map +1 -1
- package/lib/es/components/radio/RadioInner.vue2.js +5 -0
- package/lib/es/components/radio/RadioInner.vue2.js.map +1 -0
- package/lib/es/components/radio/index.js +4 -5
- package/lib/es/components/radio/index.js.map +1 -1
- package/lib/es/components/rating/Rating.vue.js +17 -18
- package/lib/es/components/rating/Rating.vue.js.map +1 -1
- package/lib/es/components/rating/index.js +3 -4
- package/lib/es/components/rating/index.js.map +1 -1
- package/lib/es/components/resizable/Resizable.vue.js +2 -3
- package/lib/es/components/resizable/Resizable.vue.js.map +1 -1
- package/lib/es/components/resizable/group/ResizeGroup.vue.js +2 -3
- package/lib/es/components/resizable/group/ResizeGroup.vue.js.map +1 -1
- package/lib/es/components/resizable/group/ResizeItem.vue.js +2 -3
- package/lib/es/components/resizable/group/ResizeItem.vue.js.map +1 -1
- package/lib/es/components/select/Select.vue.js +2 -5
- package/lib/es/components/select/Select.vue.js.map +1 -1
- package/lib/es/components/select/index.js +0 -1
- package/lib/es/components/select/index.js.map +1 -1
- package/lib/es/components/sideSheet/index.js +3 -4
- package/lib/es/components/sideSheet/index.js.map +1 -1
- package/lib/es/components/skeleton/index.js +12 -13
- package/lib/es/components/skeleton/index.js.map +1 -1
- package/lib/es/components/slider/Slider.vue.js +2 -3
- package/lib/es/components/slider/Slider.vue.js.map +1 -1
- package/lib/es/components/slider/index.js +5 -6
- package/lib/es/components/slider/index.js.map +1 -1
- package/lib/es/components/space/index.js +0 -1
- package/lib/es/components/space/index.js.map +1 -1
- package/lib/es/components/spin/Spin.vue.js +2 -3
- package/lib/es/components/spin/Spin.vue.js.map +1 -1
- package/lib/es/components/spin/SpinIcon.vue2.js +5 -0
- package/lib/es/components/spin/SpinIcon.vue2.js.map +1 -0
- package/lib/es/components/spin/index.js +3 -4
- package/lib/es/components/spin/index.js.map +1 -1
- package/lib/es/components/steps/FillSteps.vue.js +2 -3
- package/lib/es/components/steps/FillSteps.vue.js.map +1 -1
- package/lib/es/components/steps/index.js +2 -3
- package/lib/es/components/steps/index.js.map +1 -1
- package/lib/es/components/switch/index.js +4 -5
- package/lib/es/components/switch/index.js.map +1 -1
- package/lib/es/components/table/Table.vue.js +358 -361
- package/lib/es/components/table/Table.vue.js.map +1 -1
- package/lib/es/components/table/TableHeaderRow.vue2.js +2 -3
- package/lib/es/components/table/TableHeaderRow.vue2.js.map +1 -1
- package/lib/es/components/table/VirtualizedBody.vue2.js +2 -3
- package/lib/es/components/table/VirtualizedBody.vue2.js.map +1 -1
- package/lib/es/components/table/index.js +0 -1
- package/lib/es/components/table/index.js.map +1 -1
- package/lib/es/components/tabs/TabBar.vue.js +2 -4
- package/lib/es/components/tabs/TabBar.vue.js.map +1 -1
- package/lib/es/components/tabs/index.js +0 -1
- package/lib/es/components/tabs/index.js.map +1 -1
- package/lib/es/components/tag/TagGroup.vue.js +12 -13
- package/lib/es/components/tag/TagGroup.vue.js.map +1 -1
- package/lib/es/components/tag/index.js +3 -4
- package/lib/es/components/tag/index.js.map +1 -1
- package/lib/es/components/tagInput/index.js +2 -3
- package/lib/es/components/tagInput/index.js.map +1 -1
- package/lib/es/components/timePicker/TimePicker.vue.js +2 -3
- package/lib/es/components/timePicker/TimePicker.vue.js.map +1 -1
- package/lib/es/components/timePicker/index.js +3 -4
- package/lib/es/components/timePicker/index.js.map +1 -1
- package/lib/es/components/timeline/index.js +3 -4
- package/lib/es/components/timeline/index.js.map +1 -1
- package/lib/es/components/toast/index.js +5 -6
- package/lib/es/components/toast/index.js.map +1 -1
- package/lib/es/components/tooltip/index.js +0 -1
- package/lib/es/components/tooltip/index.js.map +1 -1
- package/lib/es/components/transfer/index.js +3 -4
- package/lib/es/components/transfer/index.js.map +1 -1
- package/lib/es/components/tree/NodeCollapsible.vue.js +4 -5
- package/lib/es/components/tree/NodeCollapsible.vue.js.map +1 -1
- package/lib/es/components/tree/TreeNode.vue.js +2 -4
- package/lib/es/components/tree/TreeNode.vue.js.map +1 -1
- package/lib/es/components/tree/index.js +2 -3
- package/lib/es/components/tree/index.js.map +1 -1
- package/lib/es/components/treeSelect/TreeSelect.vue.js +2 -4
- package/lib/es/components/treeSelect/TreeSelect.vue.js.map +1 -1
- package/lib/es/components/treeSelect/index.js +2 -3
- package/lib/es/components/treeSelect/index.js.map +1 -1
- package/lib/es/components/typography/Base.vue.js +2 -4
- package/lib/es/components/typography/Base.vue.js.map +1 -1
- package/lib/es/components/typography/Copyable.vue.js +2 -3
- package/lib/es/components/typography/Copyable.vue.js.map +1 -1
- package/lib/es/components/typography/index.js +0 -1
- package/lib/es/components/typography/index.js.map +1 -1
- package/lib/es/components/upload/Upload.vue.js +2 -5
- package/lib/es/components/upload/Upload.vue.js.map +1 -1
- package/lib/es/components/upload/index.js +3 -4
- package/lib/es/components/upload/index.js.map +1 -1
- package/lib/es/index.js +938 -968
- package/lib/es/index.js.map +1 -1
- package/lib/es/style.css +1 -1
- package/package.json +2 -1
- package/lib/cjs/components/icons/Icon.vue3.cjs.map +0 -1
- package/lib/cjs/components/radio/RadioInner.vue3.cjs.map +0 -1
- package/lib/cjs/components/spin/SpinIcon.vue3.cjs.map +0 -1
- package/lib/es/components/icons/Icon.vue3.js +0 -6
- package/lib/es/components/icons/Icon.vue3.js.map +0 -1
- package/lib/es/components/radio/RadioInner.vue3.js +0 -6
- package/lib/es/components/radio/RadioInner.vue3.js.map +0 -1
- package/lib/es/components/spin/SpinIcon.vue3.js +0 -6
- package/lib/es/components/spin/SpinIcon.vue3.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.vue.js","sources":["../../../../src/components/table/Table.vue"],"sourcesContent":["<template>\n <div :class=\"wrapperCls\" :style=\"wrapperStyle\" :data-column-fixed=\"anyColumnFixed\" v-bind=\"getDataAttr()\">\n <Spin :spinning=\"props.loading\" size=\"large\">\n <div ref=\"wrapRef\" :class=\"wrapCls\">\n <template v-if=\"showPagination && (paginationPosition === 'top' || paginationPosition === 'both')\">\n <component :is=\"renderPagination\" v-if=\"renderPagination\" />\n <LocaleConsumer v-else-if=\"paginationProps\" component-name=\"Table\">\n <template #default=\"{ locale }\">\n <div :class=\"`${prefixCls}-pagination-outer`\">\n <span v-if=\"getPaginationInfo(locale)\" :class=\"`${prefixCls}-pagination-info`\">\n {{ getPaginationInfo(locale) }}\n </span>\n <span :class=\"`${prefixCls}-pagination-wrapper`\">\n <Pagination\n v-if=\"paginationProps && paginationProps.total > 0\"\n v-bind=\"paginationProps\"\n />\n </span>\n </div>\n </template>\n </LocaleConsumer>\n </template>\n <div v-if=\"props.title\" :class=\"`${prefixCls}-title`\">\n <component :is=\"renderTitle\" />\n </div>\n <div :class=\"tableWrapperCls\" :style=\"tableWrapperStyle\">\n <div\n v-if=\"useFixedHeader && showHeader\"\n ref=\"headerWrapRef\"\n :class=\"headerCls\"\n :style=\"getHeaderStyle()\"\n @scroll=\"handleHeaderScroll\"\n >\n <table :class=\"tableCls\" :style=\"headerTableStyle\" role=\"grid\">\n <colgroup :class=\"`${prefixCls}-colgroup`\">\n <col\n v-for=\"(column, index) in flattenColumns\"\n :key=\"index\"\n :class=\"`${prefixCls}-col`\"\n :style=\"getColumnStyle(column)\"\n />\n </colgroup>\n <TableHeader\n :columns=\"flattenColumns\"\n :components=\"props.components\"\n :prefix-cls=\"prefixCls\"\n :on-header-row=\"props.onHeaderRow\"\n :selected-row-keys-set=\"selectedRowKeysSet\"\n :title-selection-props=\"titleSelectionProps\"\n :on-sorter-click=\"handleSorterClick\"\n :on-filter-select=\"handleFilterSelect\"\n :on-filter-dropdown-visible-change=\"handleFilterDropdownVisibleChange\"\n :on-resize=\"handleColumnResize\"\n />\n </table>\n </div>\n <VirtualizedBody\n v-if=\"props.virtualized\"\n ref=\"virtualizedBodyRef\"\n :data-source=\"sortedData\"\n :columns=\"flattenColumns\"\n :virtualized=\"props.virtualized\"\n :scroll=\"props.scroll\"\n :prefix-cls=\"prefixCls\"\n :size=\"props.size\"\n :on-scroll=\"virtualizedOnScroll\"\n :handle-body-scroll=\"handleBodyScroll\"\n :row-key=\"props.rowKey\"\n :components=\"props.components\"\n :expanded-row-keys=\"state.expandedRowKeys\"\n :expanded-row-render=\"props.expandedRowRender\"\n :on-row=\"props.onRow\"\n :row-expandable=\"isRowExpandable\"\n :selected-row-keys-set=\"selectedRowKeysSet\"\n :disabled-row-keys-set=\"state.disabledRowKeysSet\"\n :render-expand-icon=\"renderExpandIcon\"\n :hide-expanded-column=\"props.hideExpandedColumn\"\n :expand-row-by-click=\"props.expandRowByClick\"\n :slots=\"slots\"\n :children-record-name=\"props.childrenRecordName\"\n :groups=\"state.groups\"\n :render-group-section=\"renderGroupSection\"\n :on-grouped-row=\"props.onGroupedRow\"\n :click-grouped-row-to-expand=\"props.clickGroupedRowToExpand\"\n :on-group-expand=\"handleGroupRowExpanded\"\n :indent-size=\"props.indentSize\"\n :expand-icon=\"props.expandIcon\"\n @items-rendered=\"handleItemsRendered\"\n >\n <template #empty>\n <component :is=\"props.empty\" v-if=\"props.empty\" />\n <LocaleConsumer v-else component-name=\"Table\">\n <template #default=\"{ locale }\">\n <Empty :description=\"(locale as any)?.emptyText || '暂无数据'\" />\n </template>\n </LocaleConsumer>\n </template>\n </VirtualizedBody>\n <div\n v-else\n ref=\"bodyWrapRef\"\n :class=\"`${prefixCls}-body`\"\n :style=\"getBodyStyle()\"\n @scroll=\"handleBodyScroll\"\n >\n <table :class=\"tableCls\" :style=\"bodyTableStyle\" role=\"grid\">\n <colgroup :class=\"`${prefixCls}-colgroup`\">\n <col\n v-for=\"(column, index) in flattenColumns\"\n :key=\"index\"\n :class=\"`${prefixCls}-col`\"\n :style=\"getColumnStyle(column)\"\n />\n </colgroup>\n <TableHeader\n v-if=\"!useFixedHeader && showHeader\"\n :columns=\"flattenColumns\"\n :components=\"props.components\"\n :prefix-cls=\"prefixCls\"\n :on-header-row=\"props.onHeaderRow\"\n :selected-row-keys-set=\"selectedRowKeysSet\"\n :title-selection-props=\"titleSelectionProps\"\n :on-sorter-click=\"handleSorterClick\"\n :on-filter-select=\"handleFilterSelect\"\n :on-filter-dropdown-visible-change=\"handleFilterDropdownVisibleChange\"\n :on-resize=\"handleColumnResize\"\n />\n <tbody ref=\"bodyRef\" :class=\"`${prefixCls}-tbody`\">\n <template\n v-for=\"(record, rowIndex) in displayData\"\n :key=\"\n record.__semiTableGroupSection\n ? `group-${record.groupKey}`\n : getRecordKey(record, rowIndex)\n \"\n >\n <!-- 分组行 -->\n <tr\n v-if=\"record.__semiTableGroupSection\"\n :class=\"\n classnames(`${prefixCls}-row-section`, `${prefixCls}-row`, {\n [`${prefixCls}-row-section-on`]: isGroupExpanded(record.groupKey),\n })\n \"\n :data-row-key=\"record.groupKey\"\n :aria-rowindex=\"rowIndex + 1\"\n :aria-level=\"1\"\n v-bind=\"getGroupedRowProps(record.groupKey, rowIndex)\"\n @click=\"handleGroupedRowClick(record.groupKey, rowIndex, $event)\"\n >\n <td :colspan=\"flattenColumns.length\" :class=\"`${prefixCls}-row-cell`\">\n <div :class=\"`${prefixCls}-section-inner`\">\n <component\n :is=\"() => renderGroupExpandIcon(record.groupKey)\"\n v-if=\"props.expandIcon !== false\"\n />\n <component :is=\"() => renderGroupSection(record.groupKey)\" />\n </div>\n </td>\n </tr>\n <!-- 普通数据行 -->\n <tr\n v-else\n :class=\"getRowClass(record, rowIndex)\"\n :style=\"getRowStyle(record, rowIndex)\"\n v-bind=\"getRowProps(record, rowIndex)\"\n @click=\"handleRowClick(record, rowIndex, $event)\"\n @dblclick=\"handleRowDoubleClick(record, $event)\"\n @mouseenter=\"handleRowMouseEnter(record, $event)\"\n @mouseleave=\"handleRowMouseLeave(record, $event)\"\n >\n <TableCell\n v-for=\"(column, colIndex) in flattenColumns\"\n :key=\"colIndex\"\n :record=\"record\"\n :column=\"column\"\n :index=\"rowIndex\"\n :col-index=\"colIndex\"\n :prefix-cls=\"prefixCls\"\n :selected=\"isRowSelected(record)\"\n :expanded=\"isRowExpanded(record)\"\n :disabled=\"isRowDisabled(record)\"\n :indent=\"getRowIndent(record, colIndex)\"\n :selection-cell-props=\"\n isSelectionColumn(column) ? getRowSelectionProps(record) : undefined\n \"\n :expand-icon=\"getExpandIcon(record)\"\n :render-expand-icon=\"shouldProvideExpandIcon ? renderExpandIcon : undefined\"\n :expandable=\"isRowExpandable(record)\"\n :hide-expanded-column=\"props.hideExpandedColumn\"\n :first-data-column-index=\"firstDataColumnIndex\"\n :column-slot-name=\"getColumnSlotName(column)\"\n :has-slot=\"getColumnSlotName(column) && !!slots[getColumnSlotName(column)]\"\n :fixed-left=\"getFixedLeftOffset(column, colIndex)\"\n :last-fixed-left=\"isLastLeftFixed(flattenColumns, column)\"\n :fixed-right=\"getFixedRightOffset(column, colIndex)\"\n :first-fixed-right=\"isFirstFixedRight(flattenColumns, column)\"\n >\n <template\n v-if=\"getColumnSlotName(column) && slots[getColumnSlotName(column)]\"\n #[getColumnSlotName(column)]=\"slotProps\"\n >\n <slot\n :name=\"getColumnSlotName(column)\"\n v-bind=\"slotProps || {}\"\n :text=\"getColumnValue(record, column)\"\n :record=\"record\"\n :index=\"rowIndex\"\n />\n </template>\n </TableCell>\n </tr>\n <tr\n v-if=\"\n isRowExpanded(record) && props.expandedRowRender && isRowExpandable(record)\n \"\n :class=\"classnames(`${prefixCls}-row-expand`, `${prefixCls}-row`)\"\n >\n <td :colspan=\"flattenColumns.length\" :class=\"`${prefixCls}-row-cell`\">\n <div :class=\"`${prefixCls}-expand-inner`\">\n <component\n :is=\"() => props.expandedRowRender(record, rowIndex, true)\"\n />\n </div>\n </td>\n </tr>\n </template>\n <tr v-if=\"!pageData || pageData.length === 0\">\n <td :colspan=\"flattenColumns.length\" :class=\"`${prefixCls}-empty`\">\n <component :is=\"props.empty\" v-if=\"props.empty\" />\n <LocaleConsumer v-else component-name=\"Table\">\n <template #default=\"{ locale }\">\n <Empty :description=\"(locale as any)?.emptyText || '暂无数据'\" />\n </template>\n </LocaleConsumer>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n <component :is=\"renderFooter\" v-if=\"renderFooter\" />\n <template v-if=\"showPagination && (paginationPosition === 'bottom' || paginationPosition === 'both')\">\n <component :is=\"renderPagination\" v-if=\"renderPagination\" />\n <LocaleConsumer v-else-if=\"paginationProps\" component-name=\"Table\">\n <template #default=\"{ locale }\">\n <div :class=\"`${prefixCls}-pagination-outer`\">\n <span v-if=\"getPaginationInfo(locale)\" :class=\"`${prefixCls}-pagination-info`\">\n {{ getPaginationInfo(locale) }}\n </span>\n <span :class=\"`${prefixCls}-pagination-wrapper`\">\n <Pagination\n v-if=\"paginationProps && paginationProps.total > 0\"\n v-bind=\"paginationProps\"\n />\n </span>\n </div>\n </template>\n </LocaleConsumer>\n </template>\n </div>\n </Spin>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, useSlots, onMounted, onUnmounted, nextTick, h, isVNode } from 'vue';\nimport classnames from 'classnames';\nimport { get, isEqual, flattenDeep, find, cloneDeep, noop } from 'lodash';\nimport TableFoundation, { TableAdapter } from '@douyinfe/semi-foundation/table/foundation';\nimport { cssClasses, strings, numbers } from '@douyinfe/semi-foundation/table/constants';\nimport {\n isSelectionColumn,\n isFixedLeft,\n isFixedRight,\n isLastLeftFixed,\n isFirstFixedRight,\n arrayAdd,\n assignColumnKeys,\n isInnerColumnKey,\n flattenColumns as flattenColumnsUtil,\n} from '@douyinfe/semi-foundation/table/utils';\nimport { provideTableContext } from './table-context';\nimport { useBaseComponent } from '../_utils';\nimport { useFoundation } from '../../_utils/useFoundation';\nimport Spin from '../spin';\nimport Empty from '../empty';\nimport Pagination from '../pagination';\nimport LocaleConsumer from '../locale/LocaleConsumer.vue';\nimport TableHeader from './TableHeader.vue';\nimport TableCell from './TableCell.vue';\nimport CustomExpandIcon from './CustomExpandIcon.vue';\nimport VirtualizedBody from './VirtualizedBody.vue';\nimport { useTableSelection } from './useTableSelection';\nimport type { TableProps, ColumnProps, Data, TablePaginationProps } from './interface';\nimport type { CSSProperties } from 'vue';\n\ndefineOptions({\n name: 'SemiTable',\n});\n\nconst props = withDefaults(defineProps<TableProps<Data>>(), {\n bordered: false,\n showHeader: true,\n hideExpandedColumn: true,\n size: 'default',\n tableLayout: '',\n prefixCls: cssClasses.PREFIX,\n pagination: true,\n childrenRecordName: 'children',\n dataSource: () => [],\n rowSelection: null,\n className: '',\n loading: false,\n expandCellFixed: false,\n indentSize: numbers.DEFAULT_INDENT_WIDTH,\n rowKey: 'key',\n defaultExpandedRowKeys: () => [],\n defaultExpandAllRows: false,\n defaultExpandAllGroupRows: false,\n expandAllRows: false,\n expandAllGroupRows: false,\n expandRowByClick: false,\n onChange: noop,\n onFilterDropdownVisibleChange: noop,\n onExpand: noop,\n onExpandedRowsChange: noop,\n});\n\nconst firstDataColumnIndex = computed(() => {\n let idx = 0;\n const cols = flattenColumns.value || [];\n while (idx < cols.length) {\n const key = (cols[idx] as any)?.key;\n if (key != null && isInnerColumnKey(key)) {\n idx += 1;\n continue;\n }\n break;\n }\n return idx;\n});\n\nconst childrenRecordName = computed(() => props.childrenRecordName || 'children');\n\nconst isTreeTable = computed(() => {\n const ds = props.dataSource || [];\n if (!Array.isArray(ds) || ds.length === 0) {\n return false;\n }\n const key = childrenRecordName.value;\n return ds.some((record: any) => Array.isArray(record?.[key]) && record[key].length > 0);\n});\n\nconst hasTreeChildren = (record: any) => {\n const key = childrenRecordName.value;\n return Array.isArray(record?.[key]) && record[key].length > 0;\n};\n\nconst getTreeLevel = (record: any): number => {\n return (record as any)?.__semiTableTreeLevel ?? 0;\n};\n\nconst getRowIndent = (record: any, colIndex: number): number => {\n if (!isTreeTable.value) {\n return 0;\n }\n if (colIndex !== firstDataColumnIndex.value) {\n return 0;\n }\n return getTreeLevel(record);\n};\n\nconst shouldProvideExpandIcon = computed(() => {\n return Boolean(props.expandedRowRender) || isTreeTable.value;\n});\n\nconst emit = defineEmits<{\n (e: 'change', changeInfo: any): void;\n (e: 'expand', expanded: boolean, record: Data, mouseEvent?: MouseEvent): void;\n (e: 'expandedRowsChange', expandedRows: Data[]): void;\n}>();\n\nconst prefixCls = computed(() => props.prefixCls || cssClasses.PREFIX);\n\n// 获取插槽\nconst slots = useSlots();\n\n// Refs\nconst bodyRef = ref<HTMLTableSectionElement | null>(null);\nconst bodyWrapRef = ref<HTMLDivElement | null>(null);\nconst headerWrapRef = ref<HTMLDivElement | null>(null);\nconst virtualizedBodyRef = ref<InstanceType<typeof VirtualizedBody> | null>(null);\nconst wrapRef = ref<HTMLDivElement | null>(null);\n\ntype BodyScrollPosition = 'both' | 'middle' | 'left' | 'right';\n\n// State\nconst state = ref({\n cachedColumns: [] as ColumnProps[],\n cachedChildren: null,\n flattenColumns: [] as ColumnProps[],\n queries: [] as ColumnProps[],\n dataSource: [] as Data[],\n flattenData: [] as Data[],\n expandedRowKeys: [] as (string | number)[],\n rowSelection: null as any,\n pagination: null as any,\n groups: null as any,\n groupKeys: [] as (string | number)[],\n allRowKeys: [] as (string | number)[],\n allDisabledRowKeys: [] as (string | number)[],\n disabledRowKeys: [] as (string | number)[],\n disabledRowKeysSet: new Set<string | number>(),\n selectedRowKeys: [] as (string | number)[],\n selectedRowKeysSet: new Set<string | number>(),\n hoveredRowKey: null as string | number | null,\n cachedFilteredSortedDataSource: [] as Data[],\n cachedFilteredSortedRowKeys: [] as (string | number)[],\n cachedFilteredSortedRowKeysSet: new Set<string | number>(),\n headWidths: [] as any[],\n bodyHasScrollBar: false,\n tableWidth: 0,\n});\n\n// 同一轮渲染/事件周期内的“写入锁”,用于打断 Vue 的递归更新(排序/筛选会导致 DOM 重排,click 可能被重复触发)\nlet applyingQueriesInTick = false;\nlet sortingInTick = false;\nconst releaseGuards = () => {\n applyingQueriesInTick = false;\n sortingInTick = false;\n};\n\nconst { adapter: baseAdapter, getDataAttr } = useBaseComponent(props, state);\n\nfunction getExpandedRowsByKeys(expandedRowKeys: (string | number)[]) {\n const keySet = new Set(expandedRowKeys);\n const dataSource = props.dataSource || [];\n return dataSource.filter((record, index) => keySet.has(getRecordKey(record, index)));\n}\n\ntype TableAdapterExt<RecordType> = TableAdapter<RecordType> & {\n notifyRowDoubleClick?: (record: RecordType, e: MouseEvent) => void;\n notifyRowMouseEnter?: (record: RecordType, e: MouseEvent) => void;\n notifyRowMouseLeave?: (record: RecordType, e: MouseEvent) => void;\n notifySelectInvert?: (selectedRows: RecordType[]) => void;\n setAllDisabledRowKeys?: (allDisabledRowKeys: (string | number)[]) => void;\n getAllDisabledRowKeys?: () => (string | number)[];\n getAllDisabledRowKeysSet?: () => Set<string | number>;\n};\n\n// 构建 adapter\nconst adapter = {\n ...baseAdapter,\n resetScrollY: () => {\n if (bodyRef.value) {\n bodyRef.value.scrollTop = 0;\n }\n },\n setSelectedRowKeys: (selectedRowKeys) => {\n state.value.rowSelection = {\n ...state.value.rowSelection,\n selectedRowKeys: [...selectedRowKeys],\n selectedRowKeysSet: new Set(selectedRowKeys),\n };\n },\n setDisabledRowKeys: (disabledRowKeys) => {\n state.value.disabledRowKeys = disabledRowKeys;\n state.value.disabledRowKeysSet = new Set(disabledRowKeys);\n },\n setCurrentPage: (currentPage) => {\n const { pagination } = state.value;\n if (typeof pagination === 'object') {\n state.value.pagination = { ...pagination, currentPage };\n } else {\n state.value.pagination = { currentPage };\n }\n },\n setPagination: (pagination) => {\n state.value.pagination = pagination;\n },\n setGroups: (groups) => {\n // Foundation 层可能会传入 Set 类型,我们需要转换为 Data[] 类型\n if (groups && groups instanceof Map) {\n const convertedGroups = new Map<string | number, Data[]>();\n const dataSource = props.dataSource || [];\n\n groups.forEach((value, key) => {\n if (value instanceof Set) {\n // 如果是 Set,需要检查 Set 中存储的是 key 还是 record 对象\n const setArray = Array.from(value);\n\n // 检查 Set 中的第一项是 key 还是 record 对象\n if (setArray.length > 0) {\n const firstItem = setArray[0];\n // 如果是字符串或数字(可能是 key),需要从 dataSource 中查找对应的 record\n if (typeof firstItem === 'string' || typeof firstItem === 'number') {\n const records: Data[] = [];\n setArray.forEach((itemKey) => {\n const record = dataSource.find((r) => {\n const rKey = props.rowKey\n ? typeof props.rowKey === 'function'\n ? props.rowKey(r)\n : get(r, props.rowKey, '')\n : get(r, 'key', '');\n return rKey === itemKey;\n });\n if (record) {\n records.push(record);\n }\n });\n convertedGroups.set(key, records);\n } else {\n // 如果已经是对象,直接使用\n convertedGroups.set(key, setArray as Data[]);\n }\n } else {\n convertedGroups.set(key, []);\n }\n } else if (Array.isArray(value)) {\n // 如果已经是数组,检查数组中是否是对象\n const validRecords = value.filter(\n (item) => item && typeof item === 'object' && !Array.isArray(item)\n );\n convertedGroups.set(key, validRecords);\n }\n });\n state.value.groups = convertedGroups;\n } else {\n state.value.groups = groups;\n }\n },\n setDataSource: (dataSource) => {\n state.value.dataSource = dataSource;\n },\n setExpandedRowKeys: (expandedRowKeys) => {\n state.value.expandedRowKeys = [...expandedRowKeys];\n },\n setQuery: (query = {}) => {\n // 合并查询\n const queries = [...state.value.queries];\n const existingIndex = queries.findIndex((q) => q.key === query.key || q.dataIndex === query.dataIndex);\n if (existingIndex > -1) {\n queries[existingIndex] = { ...queries[existingIndex], ...query };\n } else {\n queries.push(query);\n }\n state.value.queries = queries;\n },\n setQueries: (queries) => {\n // 避免递归更新:某些场景下 foundation 会多次触发 setQueries,\n // 如果值没有变化则不写入响应式状态,防止触发自身依赖的 effect。\n if (queries === state.value.queries || isEqual(queries, state.value.queries)) {\n return;\n }\n // 同一 tick 内只允许写一次 queries,防止重复触发导致递归更新\n if (applyingQueriesInTick) {\n return;\n }\n applyingQueriesInTick = true;\n queueMicrotask(releaseGuards);\n state.value.queries = queries;\n },\n setFlattenData: (flattenData) => {\n state.value.flattenData = flattenData;\n },\n setAllRowKeys: (allRowKeys) => {\n state.value.allRowKeys = allRowKeys;\n },\n setHoveredRowKey: (hoveredRowKey) => {\n // 排序触发的重排过程中会产生大量 hover 事件,容易放大递归更新问题;这里在排序写入周期内跳过 hover\n if (sortingInTick) {\n return;\n }\n state.value.hoveredRowKey = hoveredRowKey;\n },\n setCachedFilteredSortedDataSource: (filteredSortedDataSource) => {\n state.value.cachedFilteredSortedDataSource = filteredSortedDataSource;\n },\n setCachedFilteredSortedRowKeys: (filteredSortedRowKeys) => {\n state.value.cachedFilteredSortedRowKeys = filteredSortedRowKeys;\n state.value.cachedFilteredSortedRowKeysSet = new Set(filteredSortedRowKeys);\n },\n setAllDisabledRowKeys: (allDisabledRowKeys) => {\n state.value.allDisabledRowKeys = allDisabledRowKeys;\n },\n getCurrentPage: () => get(state.value, 'pagination.currentPage', 1),\n getCurrentPageSize: () => get(state.value, 'pagination.pageSize', 10),\n getCachedFilteredSortedDataSource: () => state.value.cachedFilteredSortedDataSource,\n getCachedFilteredSortedRowKeys: () => state.value.cachedFilteredSortedRowKeys,\n getCachedFilteredSortedRowKeysSet: () => state.value.cachedFilteredSortedRowKeysSet,\n getAllDisabledRowKeys: () => state.value.allDisabledRowKeys,\n getAllDisabledRowKeysSet: () => new Set(state.value.allDisabledRowKeys),\n notifyFilterDropdownVisibleChange: (_visible, _dataIndex) => {\n // 筛选下拉框可见性变化通知\n // 注意:主要的逻辑已在 handleFilterDropdownVisibleChange 中处理(包括调用 column.onFilterDropdownVisibleChange)\n // 这里保持为空,避免重复调用。Foundation 层调用此方法是为了通知,但实际处理已在 Vue 层完成\n },\n notifyChange: (changeInfo) => {\n emit('change', changeInfo);\n },\n notifyExpand: (expanded, record, mouseEvent) => {\n emit('expand', expanded, record, mouseEvent);\n },\n notifyExpandedRowsChange: (expandedRows) => {\n emit('expandedRowsChange', expandedRows);\n },\n notifyRowDoubleClick: (_record: Data, _e: MouseEvent) => {\n // 双击事件已通过 handleRowDoubleClick 处理\n },\n notifyRowMouseEnter: (_record: Data, _e: MouseEvent) => {\n // 鼠标进入事件已通过 handleRowMouseEnter 处理\n },\n notifyRowMouseLeave: (_record: Data, _e: MouseEvent) => {\n // 鼠标离开事件已通过 handleRowMouseLeave 处理\n },\n notifySelect: (record: Data, selected: boolean, selectedRows: Data[], e: MouseEvent) => {\n const rowSelection = typeof props.rowSelection === 'object' ? props.rowSelection : {};\n if (rowSelection.onSelect) {\n rowSelection.onSelect(record, selected, selectedRows, e);\n }\n },\n notifySelectAll: (selected: boolean, selectedRows: Data[], changeRows: Data[]) => {\n const rowSelection = typeof props.rowSelection === 'object' ? props.rowSelection : {};\n if (rowSelection.onSelectAll) {\n rowSelection.onSelectAll(selected, selectedRows, changeRows);\n }\n },\n notifySelectInvert: (selectedRows: Data[]) => {\n const rowSelection = typeof props.rowSelection === 'object' ? props.rowSelection : {};\n const onSelectInvert = (rowSelection as any)?.onSelectInvert as undefined | ((rows: Data[]) => void);\n if (typeof onSelectInvert === 'function') {\n onSelectInvert(selectedRows);\n }\n },\n notifySelectionChange: (selectedRowKeys: (string | number)[], selectedRows: Data[]) => {\n const rowSelection = typeof props.rowSelection === 'object' ? props.rowSelection : {};\n if (rowSelection.onChange) {\n rowSelection.onChange(selectedRowKeys, selectedRows);\n }\n },\n isAnyColumnFixed: () => {\n const columns = flattenColumns.value;\n return columns.some((col) => col.fixed === true || col.fixed === 'left' || col.fixed === 'right');\n },\n useFixedHeader: () => {\n const { scroll, sticky } = props;\n return Boolean(get(scroll, 'y') || sticky);\n },\n setHeadWidths: (widths: Array<{ width: number; key: any }>, index?: number) => {\n if (typeof index === 'number') {\n // 确保 headWidths 是数组\n if (!Array.isArray(state.value.headWidths)) {\n state.value.headWidths = [];\n }\n state.value.headWidths[index] = widths;\n } else {\n state.value.headWidths = widths;\n }\n },\n getHeadWidths: (index?: number) => {\n if (typeof index === 'number') {\n return state.value.headWidths[index] || [];\n }\n return state.value.headWidths;\n },\n getCellWidths: (columns?: ColumnProps[]) => {\n const cols = columns || flattenColumns.value;\n if (!Array.isArray(cols) || !cols.length) {\n return [];\n }\n\n const hw = state.value.headWidths as any;\n const flattenedWidths: Array<{ width: number; key: any }> = (() => {\n if (Array.isArray(hw) && hw.length) {\n if (Array.isArray(hw[0])) {\n return flattenDeep(hw) as Array<{ width: number; key: any }>;\n }\n return hw as Array<{ width: number; key: any }>;\n }\n return [];\n })();\n\n const result = cols.map((col) => {\n if (typeof col.width === 'number') {\n return col.width;\n }\n\n if (col.key != null && Array.isArray(flattenedWidths) && flattenedWidths.length) {\n const match = find(flattenedWidths, (item) => item && item.key != null && item.key === col.key);\n if (match) {\n return match.width;\n }\n }\n\n if (col.dataIndex != null && Array.isArray(flattenedWidths) && flattenedWidths.length) {\n const match = find(flattenedWidths, (item) => item && item.key != null && item.key === col.dataIndex);\n if (match) {\n return match.width;\n }\n }\n\n return 0;\n });\n\n return result;\n },\n mergedRowExpandable: () => false,\n isAnyColumnUseFullRender: () => false,\n getNormalizeColumns: () => () => [],\n getHandleColumns: () => () => [],\n getMergePagination: () => (pagination: any) => {\n // 合并分页配置,添加 onChange 回调\n return { onChange: foundation.setPage, ...pagination };\n },\n setBodyHasScrollbar: (bodyHasScrollBar) => {\n state.value.bodyHasScrollBar = bodyHasScrollBar;\n },\n getTableLayout: () => {\n // 如果明确指定了 tableLayout,使用指定的值\n if (props.tableLayout) {\n return props.tableLayout;\n }\n // 否则根据列的状态自动决定,与 React 版本保持一致\n let isFixed = false;\n const flattenedCols = flattenColumns.value;\n if (Array.isArray(flattenedCols)) {\n isFixed = flattenedCols.some((column) => Boolean(column.ellipsis) || Boolean(column.fixed));\n }\n if (useFixedHeader.value) {\n isFixed = true;\n }\n return isFixed ? 'fixed' : 'auto';\n },\n} as TableAdapterExt<Data>;\n\nconst { foundation } = useFoundation(TableFoundation, adapter);\n\n// Computed\nconst wrapperCls = computed(() =>\n classnames(\n props.className,\n `${prefixCls.value}-wrapper`,\n `${prefixCls.value}-wrapper-${props.direction || 'undefined'}`\n )\n);\n\nconst wrapperStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = {};\n // 当有 scroll.x 时,确保 wrapper 不会超出父容器\n // 注意:不要设置 overflowX: hidden,这会阻止横向滚动条显示\n // 只需要限制宽度即可,滚动条应该在 table-container 内的 body 中\n if (props.scroll?.x) {\n // 确保 wrapper 宽度不超过 100%,防止表格超出容器\n style.maxWidth = '100%';\n style.width = '100%';\n }\n return { ...props.style, ...style };\n});\n\nconst useFixedHeader = computed(() => {\n return Boolean(props.scroll?.y || props.sticky);\n});\n\nconst wrapCls = computed(() => {\n const y = props.scroll?.y;\n return classnames({\n [`${prefixCls.value}-${props.size}`]: props.size,\n [`${prefixCls.value}-virtualized`]: Boolean(props.virtualized),\n [`${prefixCls.value}-bordered`]: props.bordered,\n [`${prefixCls.value}-fixed-header`]: Boolean(y),\n });\n});\n\nconst tableWrapperCls = computed(() => {\n return `${prefixCls.value}-container`;\n});\n\nconst tableWrapperStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = {};\n // 当有 scroll.x 时,确保表格容器不会超出父容器\n // 注意:不要设置 overflowX: hidden,这会阻止横向滚动条显示\n // 只需要限制宽度即可\n if (props.scroll?.x) {\n style.maxWidth = '100%';\n style.width = '100%';\n }\n // 关键:当有 scroll.y 时,container 需要成为滚动上下文\n // 但实际滚动发生在 body 内,所以这里不设置 overflow\n // 表头的 sticky 定位需要相对于 container,但由于滚动在 body 内,我们需要特殊处理\n return style;\n});\n\nconst computedTableLayout = computed(() => {\n if (props.tableLayout) {\n return props.tableLayout;\n }\n return anyColumnFixed.value ? 'fixed' : 'auto';\n});\n\nconst tableCls = computed(() => {\n return classnames(prefixCls.value, {\n [`${prefixCls.value}-fixed`]: computedTableLayout.value === 'fixed',\n });\n});\n\nconst headerCls = computed(() => {\n const hasSticky = Boolean(props.sticky);\n return classnames(`${prefixCls.value}-header`, {\n [`${prefixCls.value}-header-sticky`]: hasSticky,\n [`${prefixCls.value}-header-hidden`]: !showHeader.value,\n });\n});\n\nconst headerTableStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = {};\n const x = props.scroll?.x;\n if (x) {\n style.width = typeof x === 'number' ? `${x}px` : x;\n }\n return style;\n});\n\nconst bodyTableStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = {};\n const x = props.scroll?.x;\n if (x) {\n style.width = typeof x === 'number' ? `${x}px` : x;\n }\n return style;\n});\n\nconst getHeaderStyle = (): CSSProperties => {\n const style: CSSProperties = {};\n (style as any).scrollbarGutter = 'stable';\n if (props.scroll?.y) {\n style.overflowY = 'scroll';\n }\n\n // 关键:当有固定列时,表头容器不能设置 overflow: hidden(CSS 默认值)\n // 因为这会阻止表头内固定列的 position: sticky 正常工作\n // 但是,CSS 中已经设置了 overflow: hidden,所以我们需要覆盖它\n // 当有固定列时,表头容器应该允许 overflow,以便固定列能正常工作\n if (anyColumnFixed.value && props.scroll?.y) {\n // 当有固定列和 scroll.y 时,表头容器需要允许 overflow\n // 但为了隐藏滚动条,我们只设置 overflowX: hidden(如果有横向滚动,由 bodyHasScrollBar 处理)\n // 注意:不能设置 overflow: hidden,这会阻止固定列的 sticky 定位\n if (!state.value.bodyHasScrollBar) {\n // 当没有滚动条时,允许 overflow(但不能是 hidden,因为会阻止 sticky)\n style.overflow = 'visible';\n }\n // 当有滚动条时,overflowY 已经设置为 'scroll',不需要额外设置\n }\n\n // 当有 sticky 时,设置 top 值\n // 根据 React 版本的 HeadTable.tsx:99-102\n if (props.sticky) {\n const stickyTop = typeof props.sticky === 'object' ? props.sticky.top : 0;\n if (typeof stickyTop === 'number') {\n style.top = stickyTop;\n }\n }\n\n return style;\n};\n\nconst getBodyStyle = (): CSSProperties => {\n const style: CSSProperties = {};\n const x = props.scroll?.x;\n const y = props.scroll?.y;\n\n // 固定滚动条占位,避免首次滚动时布局“挤一下”导致 fixed 抖动\n (style as any).scrollbarGutter = 'stable';\n\n if (y) {\n style.maxHeight = typeof y === 'number' ? `${y}px` : y;\n }\n\n // 当有固定列且有数据时,使用 auto 而不是单独的 overflowX/overflowY(与 React 版本一致)\n // 注意:React 版本使用 size(dataSource),这里使用 props.dataSource 而不是 sortedData\n const dataSource = props.dataSource || [];\n const hasData = dataSource.length > 0;\n if (anyColumnFixed.value && hasData) {\n if (!props.virtualized) {\n style.overflow = 'auto';\n style.WebkitTransform = 'translate3d (0, 0, 0)';\n if (y) {\n style.overflowY = 'scroll';\n }\n }\n } else {\n if (!props.virtualized) {\n if (y) {\n style.overflowY = 'auto';\n }\n if (x) {\n style.overflowX = 'auto';\n style.width = '100%';\n }\n }\n }\n\n if (x && !anyColumnFixed.value) {\n style.width = '100%';\n }\n\n return style;\n};\n\nconst showHeader = computed(() => props.showHeader !== false);\n\nconst normalizeSelectionColumn = (): ColumnProps | null => {\n const { rowSelection } = props;\n if (!rowSelection || (typeof rowSelection === 'object' && rowSelection.hidden)) {\n return null;\n }\n\n const rowSelectionObj = typeof rowSelection === 'object' ? rowSelection : {};\n const column: ColumnProps = {\n key: strings.DEFAULT_KEY_COLUMN_SELECTION,\n width: numbers.DEFAULT_WIDTH_COLUMN_SELECTION,\n fixed: rowSelectionObj.fixed,\n className: classnames(`${prefixCls.value}-column-selection`, rowSelectionObj.className),\n title: 'selection',\n render: () => 'selection',\n };\n\n return column;\n};\n\nconst normalizeExpandColumn = (): ColumnProps | null => {\n if (!props.expandedRowRender || props.hideExpandedColumn !== false) {\n return null;\n }\n const column: ColumnProps = {\n key: strings.DEFAULT_KEY_COLUMN_EXPAND,\n width: numbers.DEFAULT_WIDTH_COLUMN_EXPAND,\n fixed: props.expandCellFixed,\n className: classnames(`${prefixCls.value}-column-expand`),\n title: '',\n // TableCell 会通过 isExpandedColumn(column) + renderExpandIcon 负责渲染展开按钮\n // 这里保持为空,避免误渲染\n render: () => null,\n };\n return column;\n};\n\n// 注意:Semi 的 assignColumnKeys 会对列对象做原地写入(补全 key)。\n// 在 Vue 中如果直接使用 props.columns 的引用,会触发 deep watch 以及潜在的递归更新。\n// 因此这里先递归 clone 一份 columns,再进行后续处理,避免修改 props。\nconst cloneColumns = (cols: ColumnProps[] = []): ColumnProps[] => {\n if (!Array.isArray(cols)) {\n return [];\n }\n return cols.map((col) => {\n if (!col || typeof col !== 'object') {\n return col;\n }\n const { children, ...rest } = col as any;\n const next: any = { ...rest };\n if (Array.isArray(children)) {\n next.children = cloneColumns(children);\n }\n return next as ColumnProps;\n });\n};\n\n// 第一步:展平和克隆列\nconst rawFlattenColumns = computed(() => {\n if (props.columns && props.columns.length > 0) {\n // 先展平嵌套的列(处理 children),然后克隆\n const flattened = flattenColumnsUtil(props.columns);\n return cloneColumns(flattened);\n }\n return [];\n});\n\n// 第二步:添加选择和展开列\nconst columnsWithSelectionAndExpand = computed(() => {\n const columns: ColumnProps[] = [...rawFlattenColumns.value];\n\n // 添加选择列\n const selectionColumn = normalizeSelectionColumn();\n if (selectionColumn) {\n const destIndex = columns.findIndex((item) => item.key === strings.DEFAULT_KEY_COLUMN_SELECTION);\n if (destIndex > -1) {\n columns[destIndex] = { ...selectionColumn, ...columns[destIndex] };\n } else if (selectionColumn.fixed === 'right') {\n columns.push(selectionColumn);\n } else {\n columns.unshift(selectionColumn);\n }\n }\n\n const expandColumn = normalizeExpandColumn();\n if (expandColumn) {\n const destIndex = columns.findIndex((item) => item.key === strings.DEFAULT_KEY_COLUMN_EXPAND);\n if (destIndex > -1) {\n columns[destIndex] = { ...expandColumn, ...columns[destIndex] };\n } else if (expandColumn.fixed === 'right') {\n columns.push(expandColumn);\n } else {\n // 默认插入到最前(若有 selection 列则放在 selection 后)\n const selectionIndex = columns.findIndex((item) => item.key === strings.DEFAULT_KEY_COLUMN_SELECTION);\n const insertIndex = selectionIndex > -1 ? selectionIndex + 1 : 0;\n columns.splice(insertIndex, 0, expandColumn);\n }\n }\n\n assignColumnKeys(columns as any[]);\n return columns;\n});\n\n// 第三步:合并 queries 中的列信息(包括宽度),用于支持列宽调整\nconst mergedColumnsWithQueries = computed(() => {\n const queries = state.value.queries;\n return columnsWithSelectionAndExpand.value.map((column) => {\n const queryColumn = queries.find(\n (q) => (q.key && q.key === column.key) || (q.dataIndex && q.dataIndex === column.dataIndex)\n );\n if (queryColumn) {\n // 合并 queries 中的属性(包括 width、sortOrder 等)\n // 但是 filteredValue 优先使用 column 中的值(如果 column 中有定义),以支持自定义表头筛选\n const { filteredValue: queryFilteredValue, ...restQueryColumn } = queryColumn;\n const merged = { ...column, ...restQueryColumn };\n // 如果 column 中明确指定了 filteredValue,优先使用 column 中的值\n if (column.filteredValue !== undefined) {\n merged.filteredValue = column.filteredValue;\n } else if (queryFilteredValue !== undefined) {\n merged.filteredValue = queryFilteredValue;\n }\n return merged;\n }\n return column;\n });\n});\n\n// 第四步:处理排序、筛选、resizable 等逻辑\nconst flattenColumns = computed(() => {\n return mergedColumnsWithQueries.value.map((column) => {\n const hasSorter = Boolean(column.sorter);\n const hasFilter = Boolean(column.onFilter || column.filters);\n const useFullRender = column.useFullRender === true;\n const clickColumnToSorter = hasSorter && !hasFilter && !useFullRender;\n\n // 处理 resizable:当 Table 的 resizable prop 为 true 时,应用到所有有 width 的列\n let processedColumn = { ...column };\n\n // 如果 useFullRender 为 true,处理 title 函数,传递 selection、sorter、filter\n // 注意:需要返回一个函数,在每次渲染时调用,以便 selection 等能够响应状态变化\n if (useFullRender && typeof column.title === 'function') {\n const rawTitle = column.title;\n // 返回一个函数,在每次渲染时调用 rawTitle 并传递最新的 titleMap\n processedColumn = {\n ...processedColumn,\n title: () => {\n const titleMap: any = {};\n if (props.rowSelection) {\n // 每次渲染时重新创建 selection,确保响应状态变化\n titleMap.selection = renderSelection(undefined, true);\n }\n // sorter 和 filter 会在 TableHeaderRow 中处理\n return rawTitle(titleMap);\n },\n };\n }\n const tableResizable =\n props.resizable === true || (typeof props.resizable === 'object' && props.resizable !== null);\n\n // 将列的 resize 属性映射到 resizable(为了兼容性)\n if ('resize' in column) {\n processedColumn.resizable = column.resize;\n }\n\n // 如果 Table 的 resizable 为 true,且列有 width,则默认启用可伸缩(除非列明确设置了 resize: false)\n if (tableResizable && typeof column.width === 'number') {\n // 如果列没有明确设置 resize/resizable 属性,则启用可伸缩\n if (!('resize' in column) && !('resizable' in column)) {\n processedColumn.resizable = true;\n }\n // 如果列明确设置了 resize: false 或 resizable: false,则不启用(已经在上面处理了)\n }\n\n if (clickColumnToSorter) {\n return {\n ...processedColumn,\n clickToSort: (e: MouseEvent) => {\n e.stopPropagation();\n if (sortingInTick) {\n return;\n }\n sortingInTick = true;\n queueMicrotask(releaseGuards);\n foundation.handleSort(column, e, true);\n },\n mouseDown: (e: MouseEvent) => {\n foundation.handleMouseDown(e);\n },\n };\n }\n\n return processedColumn;\n });\n});\n\nconst anyColumnFixed = computed(() => {\n const result = flattenColumns.value.some(\n (col) => col.fixed === true || col.fixed === 'left' || col.fixed === 'right'\n );\n return result;\n});\n\nconst virtualizedOnScroll = computed(() => {\n return typeof props.virtualized === 'object' ? props.virtualized.onScroll : undefined;\n});\n\n// 提供 TableContext\n// 注意:renderSelection 会在后面定义,所以使用 getter 来延迟访问\nconst tableContext = {\n direction: (props.direction || 'ltr') as any,\n headWidths: computed(() => state.value.headWidths),\n tableWidth: computed(() => state.value.tableWidth),\n anyColumnFixed,\n flattenedColumns: computed(() => flattenColumns.value),\n setHeadWidths: adapter.setHeadWidths,\n getHeadWidths: adapter.getHeadWidths,\n getCellWidths: adapter.getCellWidths,\n getQuery: (dataIndex: string | number) => foundation.getQuery(dataIndex as string),\n isSortOrderValid: (sortOrder: any) => foundation.isSortOrderValid(sortOrder),\n get renderSelection() {\n // 延迟访问 renderSelection,在它定义后返回\n return renderSelection;\n },\n};\n\nprovideTableContext(tableContext);\n\nconst selectedRowKeysSet = computed<Set<string | number>>(() => {\n if (props.rowSelection) {\n const rowSelection = typeof props.rowSelection === 'object' ? props.rowSelection : {};\n const selectedRowKeys = (rowSelection.selectedRowKeys || []) as (string | number)[];\n return new Set(selectedRowKeys);\n }\n return new Set<string | number>();\n});\n\nconst mergedPagination = computed(() => {\n const pagination = props.pagination;\n // 如果 pagination 是 undefined,默认使用 true(显示分页)\n if (pagination === undefined || pagination === true) {\n return {\n currentPage: 1,\n pageSize: 10,\n ...(state.value.pagination || {}),\n };\n }\n if (pagination === false) {\n return false;\n }\n if (typeof pagination === 'object') {\n // 优先使用用户传入的值,然后合并 state 中的值(但不覆盖用户的值)\n return {\n currentPage: 1,\n pageSize: 10,\n ...(state.value.pagination || {}),\n ...pagination, // 用户传入的值优先级最高\n };\n }\n return state.value.pagination || { currentPage: 1, pageSize: 10 };\n});\n\n// 获取记录的 key(需要在 watch 之前定义)\nconst getRecordKey = (record: Data, index: number): string | number => {\n if (props.rowKey) {\n if (typeof props.rowKey === 'function') {\n return props.rowKey(record);\n }\n return get(record, props.rowKey, index);\n }\n return get(record, 'key', index);\n};\n\n// 分组数据处理(使用 watch 而不是 computed,因为需要副作用)\nwatch(\n () => [props.dataSource, props.groupBy],\n () => {\n const dataSource = props.dataSource || [];\n\n // 如果设置了 groupBy,进行分组\n const groupBy = props.groupBy;\n if (groupBy) {\n // 支持字符串、数字或函数类型\n let groupByFn: (record: Data) => string | number;\n if (typeof groupBy === 'function') {\n groupByFn = groupBy;\n } else if (typeof groupBy === 'string' || typeof groupBy === 'number') {\n // 字符串或数字类型:作为 dataIndex 使用\n groupByFn = (record: Data) => get(record, groupBy as string, '');\n } else {\n state.value.groups = null;\n state.value.groupKeys = [];\n return;\n }\n\n // 统一数据结构:使用 Map<string | number, Data[]> 与 React 版本保持一致\n const groups = new Map<string | number, Data[]>();\n const groupKeys: (string | number)[] = [];\n\n dataSource.forEach((record, _index) => {\n const groupKey = groupByFn(record);\n\n if (!groups.has(groupKey)) {\n groups.set(groupKey, []);\n groupKeys.push(groupKey);\n }\n\n groups.get(groupKey)!.push(record);\n });\n\n state.value.groups = groups;\n state.value.groupKeys = groupKeys;\n\n // 处理 defaultExpandAllGroupRows 和 expandAllGroupRows\n if (props.defaultExpandAllGroupRows || props.expandAllGroupRows) {\n const newExpandedRowKeys = [...state.value.expandedRowKeys];\n groupKeys.forEach((groupKey) => {\n if (!newExpandedRowKeys.includes(groupKey)) {\n newExpandedRowKeys.push(groupKey);\n }\n });\n state.value.expandedRowKeys = newExpandedRowKeys;\n }\n } else {\n state.value.groups = null;\n state.value.groupKeys = [];\n }\n\n // 处理树形数据的 defaultExpandAllRows 和 expandAllRows\n // 使用 foundation 的 initExpandedRowKeys 方法,与 React 版本保持一致\n // 需要在 nextTick 中调用,确保 foundation 已经初始化\n if (\n props.defaultExpandAllRows ||\n props.expandAllRows ||\n props.defaultExpandAllGroupRows ||\n props.expandAllGroupRows\n ) {\n nextTick(() => {\n foundation.initExpandedRowKeys({ groups: state.value.groups });\n });\n }\n },\n { immediate: true }\n);\n\n// 监听 expandAllGroupRows 和 expandAllRows 的变化(defaultExpandAllGroupRows 和 defaultExpandAllRows 只在初始化时生效)\nwatch([() => props.expandAllGroupRows, () => props.expandAllRows], () => {\n if (props.expandAllGroupRows || props.expandAllRows) {\n nextTick(() => {\n foundation.initExpandedRowKeys({ groups: state.value.groups });\n });\n }\n});\n\nconst groupedData = computed(() => {\n const dataSource = props.dataSource || [];\n\n // 如果设置了 groupBy,使用已计算的分组\n if (props.groupBy && state.value.groups) {\n // 返回分组后的数据\n const grouped: Array<{ type: 'section' | 'data'; groupKey?: string | number; data?: Data[] }> = [];\n\n state.value.groupKeys.forEach((groupKey) => {\n const groupData = (state.value.groups as Map<string | number, Data[]>).get(groupKey) || [];\n\n grouped.push({ type: 'section', groupKey });\n grouped.push({ type: 'data', data: groupData });\n });\n\n return grouped;\n }\n\n return dataSource;\n});\n\nconst rawDataForFilterSort = computed(() => {\n return Array.isArray(groupedData.value) &&\n groupedData.value.length > 0 &&\n typeof groupedData.value[0] === 'object' &&\n 'type' in groupedData.value[0]\n ? groupedData.value.filter((item: any) => item.type === 'data').flatMap((item: any) => item.data || [])\n : (groupedData.value as Data[]);\n});\n\n// 监听 columnsWithSelectionAndExpand 中 filteredValue 的变化,同步到 queries\n// 这样当用户在自定义表头筛选器中直接修改 filteredValue 时,能够触发筛选\n// 注意:这里监听 columnsWithSelectionAndExpand 而不是 mergedColumnsWithQueries,\n// 因为 mergedColumnsWithQueries 依赖于 queries,可能导致循环依赖\n// 性能优化:只提取有 filteredValue 和 onFilter 的列,避免不必要的遍历和深度比较\nwatch(\n () => {\n const columns = columnsWithSelectionAndExpand.value;\n if (!columns || columns.length === 0) {\n return null;\n }\n // 只提取有 onFilter 的列,减少不必要的处理\n const filterColumns = columns\n .filter((col) => {\n const dataIndex = col.dataIndex || col.key;\n return dataIndex && col.onFilter;\n })\n .map((col) => {\n const dataIndex = col.dataIndex || col.key;\n const filteredValue = col.filteredValue;\n // 只提取必要信息,避免创建大对象\n return {\n dataIndex: dataIndex as string,\n // 对于数组,使用 JSON.stringify 进行浅比较(比 isEqual 快)\n // 对于非数组,直接使用值\n filteredValueKey: Array.isArray(filteredValue)\n ? `${dataIndex}:${filteredValue.length}:${filteredValue.join(',')}`\n : filteredValue,\n filteredValue,\n onFilter: col.onFilter,\n };\n });\n return filterColumns.length > 0 ? filterColumns : null;\n },\n (columnFilters, oldColumnFilters) => {\n if (!columnFilters || columnFilters.length === 0) {\n return;\n }\n // 如果旧值存在且长度相同,可以快速比较\n if (oldColumnFilters && oldColumnFilters.length === columnFilters.length) {\n let hasChange = false;\n for (let i = 0; i < columnFilters.length; i++) {\n if (columnFilters[i].filteredValueKey !== oldColumnFilters[i]?.filteredValueKey) {\n hasChange = true;\n break;\n }\n }\n if (!hasChange) {\n return; // 没有变化,直接返回\n }\n }\n // 有变化时才进行详细比较和更新\n columnFilters.forEach((columnFilter) => {\n const { dataIndex, filteredValue: columnFilteredValue, onFilter } = columnFilter;\n if (!dataIndex || !onFilter || columnFilteredValue === undefined) {\n return;\n }\n const curQuery = foundation.getQuery(dataIndex);\n const queryFilteredValue = get(curQuery, 'filteredValue');\n // 快速比较:先比较引用,再比较值\n if (columnFilteredValue !== queryFilteredValue && !isEqual(columnFilteredValue, queryFilteredValue)) {\n adapter.setQuery({\n dataIndex,\n key: undefined, // 使用 dataIndex 作为 key\n filteredValue: Array.isArray(columnFilteredValue) ? columnFilteredValue : [],\n onFilter: onFilter,\n });\n }\n });\n },\n { flush: 'post' }\n);\n\n// 注意:排序/筛选属于\"带副作用的计算\"(foundation 内部可能会写缓存/状态)。\n// 不能放在 computed 里,否则会造成\"render -> computed -> 写响应式 -> render...\"的递归更新。\nwatch(\n [() => state.value.queries, () => rawDataForFilterSort.value],\n ([queries, dataSource]) => {\n // 无查询 / 无 foundation:直接回退到原始数据\n if (!foundation || !queries || queries.length === 0) {\n if (state.value.cachedFilteredSortedDataSource !== dataSource) {\n adapter.setCachedFilteredSortedDataSource(dataSource);\n }\n return;\n }\n\n try {\n const nextDataSource = foundation.getFilteredSortedDataSource(dataSource, queries);\n // 避免无意义写入触发更新\n if (!isEqual(nextDataSource, state.value.cachedFilteredSortedDataSource)) {\n adapter.setCachedFilteredSortedDataSource(nextDataSource);\n }\n } catch (e) {\n console.warn('Table sorting error:', e);\n // 出错时也回退到原始数据\n if (state.value.cachedFilteredSortedDataSource !== dataSource) {\n adapter.setCachedFilteredSortedDataSource(dataSource);\n }\n }\n },\n { immediate: true }\n);\n\nconst sortedData = computed(() => {\n return state.value.cachedFilteredSortedDataSource || rawDataForFilterSort.value;\n});\n\nconst pageData = computed(() => {\n const dataSource = sortedData.value;\n const pagination = mergedPagination.value;\n\n const propPagination = props.pagination;\n const isControlled = propPagination && typeof propPagination === 'object' && propPagination.currentPage != null;\n\n if (pagination && typeof pagination === 'object' && pagination !== false && !isControlled) {\n const currentPage = pagination.currentPage || 1;\n const pageSize = pagination.pageSize || 10;\n const start = (currentPage - 1) * pageSize;\n const end = start + pageSize;\n return dataSource.slice(start, end);\n }\n\n return dataSource;\n});\n\nconst displayData = computed(() => {\n // 如果有分组,需要将分组行和数据行合并\n if (props.groupBy && state.value.groups) {\n // 获取排序和筛选后的数据,如果为空或未初始化则使用原始数据源\n const sortedFilteredData =\n state.value.cachedFilteredSortedDataSource && state.value.cachedFilteredSortedDataSource.length > 0\n ? state.value.cachedFilteredSortedDataSource\n : props.dataSource || [];\n\n // 重新组织分组数据(基于排序和筛选后的数据)\n const result: any[] = [];\n const groupKeys = state.value.groupKeys || [];\n\n // 创建一个 Map 来快速查找 record 对应的 key\n const recordKeyMap = new Map<Data, string | number>();\n const allKeys = new Set<string | number>();\n sortedFilteredData.forEach((record) => {\n // 使用 record 本身来获取 key,不依赖索引\n const key = props.rowKey\n ? typeof props.rowKey === 'function'\n ? props.rowKey(record)\n : get(record, props.rowKey, '')\n : get(record, 'key', '');\n if (key != null && key !== '') {\n recordKeyMap.set(record, key);\n allKeys.add(key);\n }\n });\n\n groupKeys.forEach((groupKey) => {\n const groupRecords = (state.value.groups as Map<string | number, Data[]>).get(groupKey);\n if (!Array.isArray(groupRecords) || groupRecords.length === 0) {\n return;\n }\n\n // 创建 groupRecords 的 key Set 用于快速查找\n const groupKeySet = new Set<string | number>();\n if (Array.isArray(groupRecords)) {\n groupRecords.forEach((record) => {\n const key = props.rowKey\n ? typeof props.rowKey === 'function'\n ? props.rowKey(record)\n : get(record, props.rowKey, '')\n : get(record, 'key', '');\n if (key != null && key !== '') {\n groupKeySet.add(key);\n }\n });\n }\n\n // 获取该分组中在排序和筛选后数据中的记录\n // 如果 sortedFilteredData 为空,直接使用 groupRecords\n let groupData: Data[] = [];\n\n // 如果 groupKeySet 为空(说明无法从 groupRecords 中提取 key),直接使用 groupRecords\n if (groupKeySet.size === 0) {\n // 确保 groupRecords 中的所有项都是对象\n groupData = groupRecords.filter((item) => item && typeof item === 'object' && !Array.isArray(item));\n } else if (sortedFilteredData.length > 0) {\n // 从 sortedFilteredData 中筛选出属于该分组的记录\n groupData = sortedFilteredData.filter((record) => {\n // 先尝试从 recordKeyMap 获取 key\n let key = recordKeyMap.get(record);\n if (key == null || key === '') {\n // 如果 recordKeyMap 中没有,直接计算 key\n key = props.rowKey\n ? typeof props.rowKey === 'function'\n ? props.rowKey(record)\n : get(record, props.rowKey, '')\n : get(record, 'key', '');\n }\n return key != null && key !== '' && groupKeySet.has(key);\n });\n\n // 如果通过 key 匹配失败,直接使用 groupRecords\n if (groupData.length === 0 && groupRecords.length > 0) {\n // 确保 groupRecords 中的所有项都是对象\n groupData = groupRecords.filter((item) => item && typeof item === 'object' && !Array.isArray(item));\n }\n } else {\n // 如果 sortedFilteredData 为空,直接使用 groupRecords\n // 确保 groupRecords 中的所有项都是对象\n groupData = groupRecords.filter((item) => item && typeof item === 'object' && !Array.isArray(item));\n }\n\n // 只要分组在原始数据中存在,就添加分组行(即使排序筛选后没有数据)\n // 分组行应该总是显示,数据行根据展开状态和是否有匹配数据来决定\n result.push({ __semiTableGroupSection: true, groupKey });\n // 只有当分组展开且有匹配的数据时才添加数据行\n if (isGroupExpanded(groupKey) && groupData.length > 0) {\n result.push(...groupData);\n }\n });\n\n // 应用分页(如果有)\n const pagination = mergedPagination.value;\n const propPagination = props.pagination;\n const isControlled = propPagination && typeof propPagination === 'object' && propPagination.currentPage != null;\n\n if (pagination && typeof pagination === 'object' && pagination !== false && !isControlled) {\n // 分页时需要保持分组行的位置(简化处理:暂时不分页)\n return result;\n }\n\n return result;\n }\n\n if (!isTreeTable.value) {\n return pageData.value;\n }\n\n const ds = props.dataSource || [];\n const flat: any[] = [];\n const walk = (list: any[], level: number) => {\n list.forEach((item, idx) => {\n if (!item) {\n return;\n }\n // 为树形行注入 level(不改动原对象引用,避免影响用户数据)\n const row = { ...(item as any), __semiTableTreeLevel: level };\n flat.push(row);\n\n const key = getRecordKey(item, idx);\n const expanded = state.value.expandedRowKeys.includes(key);\n if (expanded && hasTreeChildren(item)) {\n walk((item as any)[childrenRecordName.value], level + 1);\n }\n });\n };\n walk(ds as any[], 0);\n return flat;\n});\n\nconst showPagination = computed(() => {\n return props.pagination !== false && mergedPagination.value !== false;\n});\n\nconst memoizedPagination = computed(() => {\n if (!mergedPagination.value || typeof mergedPagination.value !== 'object') {\n return null;\n }\n const result = foundation.memoizedPagination(mergedPagination.value);\n return result;\n});\n\nconst paginationProps = computed(() => {\n const pagination = memoizedPagination.value;\n if (!pagination) {\n return null;\n }\n // 从 mergedPagination 中获取原始 total,确保用户传入的 total 不会被覆盖\n const originalPagination = mergedPagination.value;\n let total: number;\n if (originalPagination && typeof originalPagination === 'object' && originalPagination.total !== undefined) {\n total = originalPagination.total;\n } else if (pagination.total !== undefined) {\n total = pagination.total;\n } else {\n total = (props.dataSource || []).length;\n }\n\n // 从原始 props.pagination 中获取回调函数\n const originalPaginationObj = props.pagination && typeof props.pagination === 'object' ? props.pagination : null;\n\n return {\n currentPage: pagination.currentPage || 1,\n pageSize: pagination.pageSize || 10,\n total,\n onPageChange: (page: number) => {\n adapter.setCurrentPage(page);\n if (originalPaginationObj && typeof originalPaginationObj.onPageChange === 'function') {\n originalPaginationObj.onPageChange(page, pagination.pageSize || 10);\n }\n },\n onPageSizeChange: (pageSize: number) => {\n adapter.setPagination({ ...pagination, pageSize, currentPage: 1 });\n if (originalPaginationObj && typeof originalPaginationObj.onPageSizeChange === 'function') {\n originalPaginationObj.onPageSizeChange(pageSize, 1);\n }\n },\n };\n});\n\nconst renderPagination = computed(() => {\n if (props.renderPagination) {\n return () => props.renderPagination(memoizedPagination.value as TablePaginationProps);\n }\n return null;\n});\n\nconst getPaginationInfo = (locale?: any) => {\n if (!memoizedPagination.value) {\n return '';\n }\n return foundation.formatPaginationInfo(memoizedPagination.value, locale?.pageText || '');\n};\n\nconst paginationPosition = computed(() => {\n const pagination = mergedPagination.value;\n if (pagination && typeof pagination === 'object') {\n return pagination.position || 'bottom';\n }\n return 'bottom';\n});\n\n// Methods\nconst getColumnStyle = (column: ColumnProps) => {\n const style: { width?: string; minWidth?: string } = {};\n if (column.width) {\n const width = typeof column.width === 'number' ? `${column.width}px` : column.width;\n style.width = width;\n style.minWidth = width;\n }\n return style;\n};\n\n// 获取列的插槽名称(用于作用域插槽)\nconst getColumnSlotName = (column: ColumnProps): string | null => {\n // 优先使用 key,其次使用 dataIndex\n if (column.key) {\n return String(column.key);\n }\n if (column.dataIndex) {\n return String(column.dataIndex);\n }\n return null;\n};\n\n// 获取列的值\nconst getColumnValue = (record: Data, column: ColumnProps): any => {\n if (column.dataIndex) {\n return get(record, column.dataIndex, '');\n }\n return record;\n};\n\nconst getRowClass = (record: Data, index: number) => {\n const customRowProps = props.onRow ? props.onRow(record, index) : {};\n const key = getRecordKey(record, index);\n // 确保返回一个字符串,避免初始化时 className 不生效\n const baseClass = classnames(\n `${prefixCls.value}-row`,\n {\n [`${prefixCls.value}-row-selected`]: isRowSelected(record),\n [`${prefixCls.value}-row-expanded`]: isRowExpanded(record),\n [`${prefixCls.value}-row-disabled`]: isRowDisabled(record),\n [`${prefixCls.value}-row-hover`]: state.value.hoveredRowKey === key,\n },\n customRowProps.className\n );\n return baseClass || '';\n};\n\nconst getRowStyle = (record: Data, index: number): CSSProperties => {\n const customRowProps = props.onRow ? props.onRow(record, index) : {};\n // 确保返回一个响应式对象,避免初始化时样式不生效\n if (customRowProps && customRowProps.style) {\n return { ...customRowProps.style };\n }\n return {};\n};\n\nconst getRowProps = (record: Data, index: number) => {\n const customRowProps = props.onRow ? props.onRow(record, index) : {};\n if (!customRowProps || typeof customRowProps !== 'object') {\n return {};\n }\n // class/style 已由 getRowClass/getRowStyle 处理;事件由各 handler 兜底触发,其他原生属性透传到 tr\n const {\n className: _className,\n style: _style,\n onClick: _onClick,\n onDoubleClick: _onDoubleClick,\n onMouseEnter: _onMouseEnter,\n onMouseLeave: _onMouseLeave,\n ...rest\n } = customRowProps as any;\n // 这些变量仅用于从对象中排除,不需要使用\n void _className;\n void _style;\n void _onClick;\n void _onDoubleClick;\n void _onMouseEnter;\n void _onMouseLeave;\n return rest;\n};\n\n// 获取分组行的属性\nconst getGroupedRowProps = (groupKey: string | number | undefined, index: number) => {\n if (!props.onGroupedRow) {\n return {};\n }\n // 构造分组 record 对象(与 React 版本一致)\n const groupRecordsFromMap = state.value.groups\n ? (state.value.groups as Map<string | number, Data[]>).get(groupKey!)\n : null;\n // 直接使用 groupRecordsFromMap,因为数据结构已经统一为 Map<string | number, Data[]>\n const groupRecord = { groupKey, records: groupRecordsFromMap || [] } as any;\n const customProps = props.onGroupedRow(groupRecord, index);\n if (!customProps || typeof customProps !== 'object') {\n return {};\n }\n const { ...rest } = customProps as any;\n return rest;\n};\n\nconst handleGroupRowExpanded = (expanded: boolean, groupKey: string | number, e: MouseEvent) => {\n if (!props.clickGroupedRowToExpand) {\n return;\n }\n\n const groupRecordsFromMap = state.value.groups\n ? (state.value.groups as Map<string | number, Data[]>).get(groupKey)\n : null;\n\n if (!groupRecordsFromMap || groupRecordsFromMap.length === 0) {\n return;\n }\n\n const newExpanded = expanded;\n\n if (newExpanded) {\n // 展开:添加 groupKey 到 expandedRowKeys(分组行的展开状态)\n if (!state.value.expandedRowKeys.includes(groupKey)) {\n state.value.expandedRowKeys = [...state.value.expandedRowKeys, groupKey];\n }\n } else {\n // 收起:移除 groupKey\n state.value.expandedRowKeys = state.value.expandedRowKeys.filter((k) => k !== groupKey);\n }\n\n // 触发 onExpand 和 onExpandedRowsChange 事件(如果需要)\n if (props.onExpand) {\n // 直接使用 groups Map 中的 records,因为数据结构已经统一为 Map<string | number, Data[]>\n const groupRecordsFromMap = state.value.groups\n ? (state.value.groups as Map<string | number, Data[]>).get(groupKey)\n : null;\n const groupRecord = { groupKey, records: groupRecordsFromMap || [] } as any;\n props.onExpand(newExpanded, groupRecord, e);\n }\n\n if (props.onExpandedRowsChange) {\n const expandedRows = getExpandedRowsByKeys(state.value.expandedRowKeys);\n props.onExpandedRowsChange(expandedRows as any);\n }\n};\n\nconst handleGroupedRowClick = (groupKey: string | number | undefined, index: number, e: MouseEvent) => {\n if (props.clickGroupedRowToExpand) {\n // 如果启用了点击分组行展开,则切换该分组的展开状态\n const groupRecordsForExpand = state.value.groups\n ? (state.value.groups as Map<string | number, Data[]>).get(groupKey!)\n : null;\n if (Array.isArray(groupRecordsForExpand) && groupRecordsForExpand.length > 0) {\n const groupKeys = groupRecordsForExpand.map((record) => getRecordKey(record, 0));\n const allExpanded = groupKeys.every((key) => state.value.expandedRowKeys.includes(key));\n if (allExpanded) {\n // 全部展开则全部收起\n state.value.expandedRowKeys = state.value.expandedRowKeys.filter((k) => !groupKeys.includes(k));\n } else {\n // 否则全部展开\n const newExpandedKeys = [...state.value.expandedRowKeys];\n groupKeys.forEach((key) => {\n if (!newExpandedKeys.includes(key)) {\n newExpandedKeys.push(key);\n }\n });\n state.value.expandedRowKeys = newExpandedKeys;\n }\n }\n }\n\n if (props.onGroupedRow) {\n // 直接使用 groups Map 中的 records,因为数据结构已经统一为 Map<string | number, Data[]>\n const groupRecordsFromMap = state.value.groups\n ? (state.value.groups as Map<string | number, Data[]>).get(groupKey!)\n : null;\n const groupRecord = { groupKey, records: groupRecordsFromMap || [] } as any;\n const customProps = props.onGroupedRow(groupRecord, index);\n if (customProps && typeof customProps === 'object' && customProps.onClick) {\n customProps.onClick(e);\n }\n }\n};\n\n// 渲染分组行内容\nconst renderGroupSection = (groupKey: string | number | undefined) => {\n if (!props.renderGroupSection) {\n return h('span', {}, String(groupKey || ''));\n }\n // 获取该分组的所有 row keys\n const groupRecords = state.value.groups\n ? (state.value.groups as Map<string | number, Data[]>).get(groupKey!)\n : null;\n // 从 groupRecords 中提取 rowKeys,确保 groupRecords 是数组\n const groupRowKeys =\n Array.isArray(groupRecords) && groupRecords.length > 0\n ? groupRecords.map((record) => getRecordKey(record, 0))\n : [];\n\n const result = props.renderGroupSection(groupKey, groupRowKeys);\n // 如果返回的是对象(包含 children),则返回 children,否则直接返回\n if (result && typeof result === 'object' && 'children' in result) {\n return result.children;\n }\n return result;\n};\n\n// 定义 isRowDisabled 函数(需要在 useTableSelection 之前定义)\nconst isRowDisabled = (record: Data): boolean => {\n const key = getRecordKey(record, 0);\n return state.value.disabledRowKeysSet.has(key);\n};\n\n// 使用 composable 处理选择逻辑\nconst { isRowSelected, getRowSelectionProps, titleSelectionProps, renderSelection } = useTableSelection({\n rowSelection: props.rowSelection,\n pageData,\n dataSource: computed(() => props.dataSource || []),\n state,\n adapter,\n getRecordKey,\n isRowDisabled,\n childrenRecordName: props.childrenRecordName,\n});\n\nconst isRowExpanded = (record: Data): boolean => {\n const key = getRecordKey(record, 0);\n return state.value.expandedRowKeys.includes(key);\n};\n\nconst isGroupExpanded = (groupKey: string | number | undefined): boolean => {\n if (groupKey == null) {\n return false;\n }\n // React 版本使用 isExpanded(expandedRowKeys, groupKey),直接检查 groupKey 是否在 expandedRowKeys 中\n return state.value.expandedRowKeys.includes(groupKey);\n};\n\n// 渲染分组行的展开图标\nconst renderGroupExpandIcon = (groupKey: string | number | undefined) => {\n if (props.expandIcon === false) {\n return null;\n }\n const expanded = isGroupExpanded(groupKey);\n // 如果有自定义的 renderExpandIcon,使用它(传递 groupKey 作为第三个参数)\n if (typeof props.renderExpandIcon === 'function') {\n const result = props.renderExpandIcon({ groupKey } as any, false, groupKey);\n if (result) {\n return result;\n }\n }\n return h(CustomExpandIcon, {\n expanded,\n componentType: 'expand',\n expandIcon: props.expandIcon,\n prefixCls: prefixCls.value,\n onClick: (nextExpand: boolean, e: MouseEvent) => handleGroupExpandClick(groupKey, e),\n });\n};\n\nconst handleGroupExpandClick = (groupKey: string | number | undefined, e: MouseEvent) => {\n if (groupKey == null) {\n return;\n }\n const expanded = isGroupExpanded(groupKey);\n const newExpanded = !expanded;\n\n // 更新 expandedRowKeys:直接使用 groupKey\n if (newExpanded) {\n // 展开:添加 groupKey\n if (!state.value.expandedRowKeys.includes(groupKey)) {\n state.value.expandedRowKeys = [...state.value.expandedRowKeys, groupKey];\n }\n } else {\n // 收起:移除 groupKey\n state.value.expandedRowKeys = state.value.expandedRowKeys.filter((k) => k !== groupKey);\n }\n\n // 触发 onExpand 和 onExpandedRowsChange 事件\n if (props.onExpand) {\n // 直接使用 groups Map 中的 records,因为数据结构已经统一为 Map<string | number, Data[]>\n const groupRecordsFromMap = state.value.groups\n ? (state.value.groups as Map<string | number, Data[]>).get(groupKey)\n : null;\n const groupRecord = { groupKey, records: groupRecordsFromMap || [] } as any;\n props.onExpand(newExpanded, groupRecord, e);\n }\n\n if (props.onExpandedRowsChange) {\n const expandedRows = getExpandedRowsByKeys(state.value.expandedRowKeys);\n props.onExpandedRowsChange(expandedRows as any);\n }\n\n adapter.notifyExpand(newExpanded, { groupKey } as any, e);\n adapter.notifyExpandedRowsChange(getExpandedRowsByKeys(state.value.expandedRowKeys) as any);\n};\n\nconst handleRowClick = (record: Data, index: number, e: MouseEvent) => {\n const customRowProps = props.onRow ? props.onRow(record, index) : {};\n if (customRowProps.onClick) {\n customRowProps.onClick(e);\n }\n\n // 如果启用了 expandRowByClick,点击行时切换展开状态\n if (props.expandRowByClick && props.expandedRowRender) {\n const key = getRecordKey(record, index);\n toggleExpandRow(key, record, e);\n }\n};\n\nconst handleRowDoubleClick = (record: Data, e: MouseEvent) => {\n const customRowProps = props.onRow ? props.onRow(record, 0) : {};\n if (customRowProps.onDoubleClick) {\n customRowProps.onDoubleClick(e);\n }\n adapter.notifyRowDoubleClick?.(record, e);\n};\n\nconst handleRowMouseEnter = (record: Data, e: MouseEvent) => {\n const key = getRecordKey(record, 0);\n adapter.setHoveredRowKey(key);\n\n const customRowProps = props.onRow ? props.onRow(record, 0) : {};\n if (customRowProps.onMouseEnter) {\n customRowProps.onMouseEnter(e);\n }\n adapter.notifyRowMouseEnter?.(record, e);\n};\n\nconst handleRowMouseLeave = (record: Data, e: MouseEvent) => {\n adapter.setHoveredRowKey(null);\n\n const customRowProps = props.onRow ? props.onRow(record, 0) : {};\n if (customRowProps.onMouseLeave) {\n customRowProps.onMouseLeave(e);\n }\n adapter.notifyRowMouseLeave?.(record, e);\n};\n\nconst handleSorterClick = (column: ColumnProps, e: MouseEvent) => {\n if (!column.sorter) {\n return;\n }\n e.stopPropagation();\n if (sortingInTick) {\n return;\n }\n sortingInTick = true;\n queueMicrotask(releaseGuards);\n foundation.handleSort(column, e);\n};\n\nconst handleFilterSelect = (column: ColumnProps, data: any) => {\n const dataIndex = column.dataIndex || column.key;\n if (dataIndex) {\n foundation.handleFilterSelect(dataIndex as string, data);\n }\n};\n\nconst handleFilterDropdownVisibleChange = (column: ColumnProps, visible: boolean) => {\n if (column.onFilterDropdownVisibleChange) {\n column.onFilterDropdownVisibleChange(visible);\n }\n adapter.notifyFilterDropdownVisibleChange(visible, column.dataIndex || '');\n};\n\nconst getFixedLeftOffset = (column: ColumnProps, colIndex: number) => {\n if (!isFixedLeft(column)) {\n return false;\n }\n const widths = adapter.getCellWidths(flattenColumns.value) || [];\n return Math.round(arrayAdd(widths, 0, colIndex));\n};\n\nconst getFixedRightOffset = (column: ColumnProps, colIndex: number) => {\n if (!isFixedRight(column)) {\n return false;\n }\n const widths = adapter.getCellWidths(flattenColumns.value) || [];\n return Math.round(arrayAdd(widths, colIndex + 1));\n};\n\n// 滚动事件处理:同步表头和表体的横向滚动\n// 横向滚动同步不依赖 lastScrollLeft,避免首帧不同步\nlet scrollPositionRafId: number | null = null;\nlet scrollPositionTimeoutId: number | null = null;\n\nconst applyScrollPositionClassName = (position: BodyScrollPosition) => {\n const el = wrapRef.value;\n if (!el) {\n return;\n }\n const { value: p } = prefixCls;\n const positionAll = [\n `${p}-scroll-position-both`,\n `${p}-scroll-position-middle`,\n `${p}-scroll-position-left`,\n `${p}-scroll-position-right`,\n ];\n if (position === 'both') {\n const accept = [`${p}-scroll-position-left`, `${p}-scroll-position-right`];\n el.classList.remove(...positionAll.filter((c) => !accept.includes(c)));\n el.classList.add(...accept);\n return;\n }\n const accept = [`${p}-scroll-position-${position}`];\n el.classList.remove(...positionAll.filter((c) => !accept.includes(c)));\n el.classList.add(...accept);\n};\n\nconst setScrollPositionClassName = () => {\n // 虚拟滚动时使用 virtualizedBodyRef.containerRef,非虚拟滚动时使用 bodyWrapRef\n const node =\n props.virtualized && virtualizedBodyRef.value?.containerRef\n ? virtualizedBodyRef.value.containerRef\n : bodyWrapRef.value;\n if (node && node.children && node.children.length) {\n const scrollToLeft = node.scrollLeft === 0;\n // why use Math.abs? @see https://bugzilla.mozilla.org/show_bug.cgi?id=1447743\n const tableEl = node.children[0] as HTMLElement;\n const scrollToRight =\n Math.abs(node.scrollLeft) + 1 >= tableEl.getBoundingClientRect().width - node.getBoundingClientRect().width;\n if (scrollToLeft && scrollToRight) {\n applyScrollPositionClassName('both');\n } else if (scrollToLeft) {\n applyScrollPositionClassName('left');\n } else if (scrollToRight) {\n applyScrollPositionClassName('right');\n } else {\n applyScrollPositionClassName('middle');\n }\n }\n};\n\nconst scheduleSetScrollPositionClassName = () => {\n if (scrollPositionRafId != null) {\n return;\n }\n scrollPositionRafId = window.requestAnimationFrame(() => {\n scrollPositionRafId = null;\n setScrollPositionClassName();\n });\n};\n\n// 在横向滚动过程中频繁读写布局容易导致 fixed sticky 首帧抖动\n// 这里改成滚动停止后再更新阴影边界 class(体验上阴影会延迟几十毫秒出现,但能换来稳定的 fixed)\nconst scheduleSetScrollPositionClassNameAfterScrollEnd = () => {\n if (scrollPositionTimeoutId != null) {\n window.clearTimeout(scrollPositionTimeoutId);\n }\n scrollPositionTimeoutId = window.setTimeout(() => {\n scrollPositionTimeoutId = null;\n scheduleSetScrollPositionClassName();\n }, 80);\n};\n\nconst handleHeaderScroll = (e: Event) => {\n const target = e.target as HTMLElement;\n if (target !== e.currentTarget) {\n return;\n }\n const nextLeft = target.scrollLeft;\n // 虚拟滚动时使用 virtualizedBodyRef.containerRef,非虚拟滚动时使用 bodyWrapRef\n const body =\n props.virtualized && virtualizedBodyRef.value?.containerRef\n ? virtualizedBodyRef.value.containerRef\n : bodyWrapRef.value;\n if (body && body.scrollLeft !== nextLeft) {\n body.scrollLeft = nextLeft;\n }\n scheduleSetScrollPositionClassNameAfterScrollEnd();\n};\n\nconst handleBodyScroll = (e: Event) => {\n const target = e.target as HTMLElement;\n // 当使用虚拟滚动时,滚动事件来自 VirtualizedBody 的 containerRef\n // 此时不检查 target !== e.currentTarget\n if (!props.virtualized && target !== e.currentTarget) {\n return;\n }\n const nextLeft = target.scrollLeft;\n if (headerWrapRef.value && headerWrapRef.value.scrollLeft !== nextLeft) {\n headerWrapRef.value.scrollLeft = nextLeft;\n }\n // 不在滚动时触发布局测量,阴影边界交由 scroll-end 更新\n scheduleSetScrollPositionClassNameAfterScrollEnd();\n};\n\nlet lastScrollTop = 0;\nconst isIE11 = () => window.navigator.userAgent.match(/Trident\\/7\\./);\n\n// 获取表体滚动容器(虚拟滚动时使用 virtualizedBodyRef.containerRef,非虚拟滚动时使用 bodyWrapRef)\nconst getBodyScrollContainer = (): HTMLElement | null => {\n if (props.virtualized && virtualizedBodyRef.value?.containerRef) {\n return virtualizedBodyRef.value.containerRef;\n }\n return bodyWrapRef.value;\n};\n\n// 仅用于 IE11/需要 preventDefault 的场景(非 passive 监听)\nconst handleWheelNonPassive = (e: WheelEvent) => {\n const { scroll = {} } = props;\n const body = getBodyScrollContainer();\n // 关键:在 fixed header 模式下,优先接管横向滚动,确保 header/body 同步(避免首帧不同步造成\"抖动错觉\")\n // 说明:trackpad/鼠标滚轮的横向滚动会先触发 wheel,再触发 scroll;在这里同步能避免第一帧 header 还没跟上。\n if (useFixedHeader.value && (e.deltaX !== 0 || e.shiftKey) && body) {\n // shift+wheel 通常表示横向滚动,deltaY 作为横向增量\n const dx = e.deltaX !== 0 ? e.deltaX : e.deltaY;\n const maxLeft = Math.max(0, body.scrollWidth - body.clientWidth);\n const nextLeft = Math.min(maxLeft, Math.max(0, body.scrollLeft + dx));\n // 阻止浏览器先滚 body 再异步同步 header 产生的首帧错位\n e.preventDefault();\n body.scrollLeft = nextLeft;\n scheduleSetScrollPositionClassNameAfterScrollEnd();\n return;\n }\n // 针对 IE11 的特殊处理\n if (isIE11() && scroll.y) {\n e.preventDefault();\n const wd = e.deltaY;\n const { target } = e;\n const bodyTable = body;\n\n let scrollTop = 0;\n\n if (lastScrollTop) {\n scrollTop = lastScrollTop + wd;\n } else {\n scrollTop = wd;\n }\n\n if (bodyTable && target !== bodyTable) {\n bodyTable.scrollTop = scrollTop;\n }\n lastScrollTop = scrollTop;\n }\n};\n\n// 默认 wheel 处理:用 passive 监听,避免 Chrome 的 non-passive 警告\n// 不在这里调用 preventDefault(否则会触发 “Unable to preventDefault inside passive event listener”)\nconst handleWheelPassive = (_e: WheelEvent) => {\n if (!useFixedHeader.value) {\n return;\n }\n // 仅用于快速同步阴影边界 className(无需阻塞滚动)\n scheduleSetScrollPositionClassNameAfterScrollEnd();\n};\n\nlet unregisterWheelListener: null | (() => void) = null;\n\nconst registerWheelListener = () => {\n // 虚拟滚动时使用 virtualizedBodyRef.containerRef,非虚拟滚动时使用 bodyWrapRef\n const body =\n props.virtualized && virtualizedBodyRef.value?.containerRef\n ? virtualizedBodyRef.value.containerRef\n : bodyWrapRef.value;\n if (!body) {\n return;\n }\n const { scroll = {} } = props;\n // IE11 需要 preventDefault 的分支,保留非 passive\n const shouldNonPassive = Boolean(isIE11() && scroll.y);\n const handler = shouldNonPassive ? handleWheelNonPassive : handleWheelPassive;\n body.addEventListener('wheel', handler, { passive: !shouldNonPassive });\n unregisterWheelListener = () => {\n body.removeEventListener('wheel', handler as any);\n unregisterWheelListener = null;\n };\n};\n\nconst handleColumnResize = (column: ColumnProps, _e: { width: number }) => {\n // 更新 queries 中对应列的宽度\n const updatedQueries = state.value.queries.map((q) => {\n if ((q.key && q.key === column.key) || (q.dataIndex && q.dataIndex === column.dataIndex)) {\n return { ...q, width: _e.width };\n }\n return q;\n });\n\n // 如果 queries 中没有对应的列,添加一个\n const existingQuery = updatedQueries.find(\n (q) => (q.key && q.key === column.key) || (q.dataIndex && q.dataIndex === column.dataIndex)\n );\n if (!existingQuery) {\n const newQuery = {\n ...column,\n width: _e.width,\n };\n updatedQueries.push(newQuery);\n }\n\n // 更新查询状态\n adapter.setQueries(updatedQueries);\n\n // 触发 onChange 事件\n if (props.onChange) {\n const changeInfo = {\n filters: [],\n sorter: undefined,\n pagination: mergedPagination.value,\n extra: { changeType: 'resize' as const },\n };\n props.onChange(changeInfo as any);\n }\n};\n\nconst toggleExpandRow = (key: string | number, record: Data, e: MouseEvent) => {\n const expandedRowKeys = [...state.value.expandedRowKeys];\n const index = expandedRowKeys.indexOf(key);\n\n if (index > -1) {\n expandedRowKeys.splice(index, 1);\n } else {\n expandedRowKeys.push(key);\n }\n\n state.value.expandedRowKeys = expandedRowKeys;\n\n if (props.onExpand) {\n props.onExpand(!(index > -1), record, e);\n }\n\n if (props.onExpandedRowsChange) {\n props.onExpandedRowsChange(getExpandedRowsByKeys(expandedRowKeys) as any);\n }\n\n adapter.notifyExpand(!(index > -1), record, e);\n adapter.notifyExpandedRowsChange(getExpandedRowsByKeys(expandedRowKeys) as any);\n};\n\nconst getExpandIcon = (_record: Data) => {\n if (props.expandIcon) {\n return props.expandIcon;\n }\n return undefined;\n};\n\nconst isRowExpandable = (record: Data) => {\n const hasExpandedRowRender = typeof props.expandedRowRender === 'function';\n const hasRowExpandable = typeof props.rowExpandable === 'function';\n const hasChildren = hasTreeChildren(record as any);\n const strictExpandableResult = hasRowExpandable && props.rowExpandable!(record);\n const looseExpandableResult = !hasRowExpandable || strictExpandableResult;\n\n return (\n ((hasExpandedRowRender || hasChildren) && looseExpandableResult) ||\n (!(hasExpandedRowRender || hasChildren) && strictExpandableResult)\n );\n};\n\nconst renderExpandIcon = (record: Data, isNested = false) => {\n if (props.renderExpandIcon) {\n return props.renderExpandIcon(record, isNested);\n }\n\n if (!isRowExpandable(record)) {\n return () => null;\n }\n\n const key = getRecordKey(record, 0);\n const expanded = isRowExpanded(record);\n\n return () => {\n return h(CustomExpandIcon, {\n expanded,\n componentType: props.hideExpandedColumn || isNested ? 'tree' : 'expand',\n expandIcon: getExpandIcon(record),\n prefixCls: prefixCls.value,\n onClick: (nextExpand: boolean, e: MouseEvent) => toggleExpandRow(key, record, e),\n });\n };\n};\n\nconst handleItemsRendered = (_props: {\n overscanStartIndex: number;\n overscanStopIndex: number;\n visibleStartIndex: number;\n visibleStopIndex: number;\n}) => {\n // 虚拟滚动可见项变化时的处理\n // 可以用于优化渲染性能\n};\n\n// 选择相关逻辑已从 useTableSelection composable 中获取\n\nconst renderTitle = computed(() => {\n if (typeof props.title === 'function') {\n return () => props.title(pageData.value);\n }\n return () => props.title;\n});\n\nconst renderFooter = computed(() => {\n if (!props.footer) {\n return null;\n }\n let footer = props.footer;\n if (typeof footer === 'function') {\n footer = footer(pageData.value);\n }\n // 检查是否是有效的 VNode 或字符串\n if (typeof footer === 'string' || isVNode(footer)) {\n return () => h('div', { class: `${prefixCls.value}-footer`, 'x-semi-prop': 'footer' }, footer);\n }\n return null;\n});\n\n// Watch\n// 使用浅层监听 dataSource,只在数组引用变化时触发,减少不必要的重新计算\nwatch(\n () => props.dataSource,\n () => {\n if (foundation) {\n foundation.init();\n }\n },\n { immediate: false }\n);\n\nwatch(\n () => props.columns,\n () => {\n // 初始化 queries 从 columns\n const queries = TableFoundation.initColumnsFilteredValueAndSorterOrder([...flattenColumns.value]);\n adapter.setQueries(queries);\n if (foundation) {\n foundation.init();\n }\n },\n { immediate: true }\n // 注意:移除 deep: true,因为 columns 数组引用变化时已经足够触发更新\n // 如果用户需要修改单个 column 对象,应该替换整个 columns 数组\n);\n\n// ResizeObserver 用于检测滚动条\nlet resizeObserver: ResizeObserver | null = null;\n\nconst observeBodyResize = () => {\n // 虚拟滚动时使用 virtualizedBodyRef.containerRef,非虚拟滚动时使用 bodyWrapRef\n const bodyWrapDOM =\n props.virtualized && virtualizedBodyRef.value?.containerRef\n ? virtualizedBodyRef.value.containerRef\n : bodyWrapRef.value;\n\n if (!bodyWrapDOM) {\n return;\n }\n\n const syncScrollbarState = () => {\n if (!bodyWrapDOM) {\n return;\n }\n const { offsetWidth, clientWidth } = bodyWrapDOM;\n const bodyHasScrollBar = clientWidth < offsetWidth;\n adapter.setBodyHasScrollbar(bodyHasScrollBar);\n setScrollPositionClassName();\n };\n\n // 检测滚动条的回调\n const resizeCallback = () => {\n const update = () => syncScrollbarState();\n const requestAnimationFrame = window.requestAnimationFrame || window.setTimeout;\n requestAnimationFrame(update);\n };\n\n // 使用 ResizeObserver 监听 body 容器大小变化\n if (window.ResizeObserver) {\n if (resizeObserver) {\n resizeObserver.unobserve(bodyWrapDOM);\n resizeObserver = null;\n }\n resizeObserver = new ResizeObserver(resizeCallback);\n resizeObserver.observe(bodyWrapDOM);\n }\n\n // 关键:立刻同步一次,避免首次横向滚动时才触发布局更新导致 fixed 抖动\n syncScrollbarState();\n};\n\n// 当 virtualizedBodyRef 挂载后,调用 getVirtualizedListRef\nwatch(\n () => virtualizedBodyRef.value,\n (newVal) => {\n if (newVal && props.getVirtualizedListRef && props.virtualized) {\n // 传递一个类似 react-window List 的对象,包含 scrollToItem 等方法\n props.getVirtualizedListRef(newVal);\n }\n },\n { immediate: true }\n);\n\n// 初始化 queries\nonMounted(() => {\n const queries = TableFoundation.initColumnsFilteredValueAndSorterOrder([...flattenColumns.value]);\n adapter.setQueries(queries);\n if (foundation) {\n foundation.init();\n // 如果设置了 defaultExpandAllRows,需要在 init 之后再次调用 initExpandedRowKeys\n // 因为 init 时可能使用的是旧的 dataSource,需要确保使用最新的 dataSource\n if (\n props.defaultExpandAllRows ||\n props.expandAllRows ||\n props.defaultExpandAllGroupRows ||\n props.expandAllGroupRows\n ) {\n nextTick(() => {\n foundation.initExpandedRowKeys({ groups: state.value.groups });\n });\n }\n }\n\n nextTick(() => {\n setScrollPositionClassName();\n // 使用 passive wheel 监听,避免浏览器 non-passive 警告\n registerWheelListener();\n // 当有 scroll.y 时,监听 body 容器大小变化以检测滚动条\n if (props.scroll?.y) {\n observeBodyResize();\n }\n // 确保 virtualizedBodyRef 已挂载后调用 getVirtualizedListRef\n if (virtualizedBodyRef.value && props.getVirtualizedListRef && props.virtualized) {\n props.getVirtualizedListRef(virtualizedBodyRef.value);\n }\n });\n});\n\nwatch(\n () => props.scroll?.y,\n (y, prevY) => {\n if (y && y !== prevY) {\n nextTick(() => {\n observeBodyResize();\n });\n }\n }\n);\n\nconst handleWindowResize = () => {\n setScrollPositionClassName();\n};\n\nonMounted(() => {\n window.addEventListener('resize', handleWindowResize);\n});\n\nonUnmounted(() => {\n window.removeEventListener('resize', handleWindowResize);\n // 虚拟滚动时使用 virtualizedBodyRef.containerRef,非虚拟滚动时使用 bodyWrapRef\n const bodyWrapDOM =\n props.virtualized && virtualizedBodyRef.value?.containerRef\n ? virtualizedBodyRef.value.containerRef\n : bodyWrapRef.value;\n if (resizeObserver && bodyWrapDOM) {\n resizeObserver.unobserve(bodyWrapDOM);\n resizeObserver = null;\n }\n unregisterWheelListener?.();\n});\n\n// 暴露方法供外部调用\nconst getCurrentPageData = () => {\n const retObj: { dataSource?: Data[]; groups?: Map<string | number, Data[]> | null } = {};\n if (pageData.value) {\n retObj.dataSource = pageData.value;\n }\n if (state.value.groups) {\n retObj.groups = state.value.groups;\n }\n return cloneDeep(retObj);\n};\n\n/**\n * 重置表格垂直滚动位置到顶部\n */\nconst resetScrollY = () => {\n adapter.resetScrollY();\n};\n\n/**\n * 根据 rowKeys 获取对应的 record 对象数组\n * 支持树形数据:如果当前层级找不到所有记录,递归查找子节点\n * @param rowKeys - 行的 key 数组,如果不传则使用当前选中的 rowKeys\n * @returns 对应的 record 对象数组\n */\nconst getSelectedRows = (rowKeys?: (string | number)[]): Data[] => {\n const keysToFind = rowKeys || state.value.rowSelection?.selectedRowKeys || [];\n if (!keysToFind || keysToFind.length === 0) {\n return [];\n }\n const keySet = new Set(keysToFind);\n let dataSourceForRows: Data[];\n // 优先使用已排序筛选的数据源\n dataSourceForRows = adapter.getCachedFilteredSortedDataSource() || [];\n if (!dataSourceForRows || dataSourceForRows.length === 0) {\n dataSourceForRows = pageData.value || [];\n }\n if (!dataSourceForRows || dataSourceForRows.length === 0) {\n dataSourceForRows = props.dataSource || [];\n }\n\n const selectedRows: Data[] = [];\n\n /**\n * 递归查找匹配的 record\n * 如果当前层级未找到所有记录,继续在子节点中查找(支持树形数据)\n */\n const findRows = (data: Data[]): void => {\n if (!Array.isArray(data) || data.length === 0) {\n return;\n }\n for (const record of data) {\n const key = getRecordKey(record, 0);\n if (keySet.has(key)) {\n selectedRows.push(record);\n }\n }\n\n // 如果还有未找到的记录,递归查找子节点\n if (selectedRows.length < keysToFind.length) {\n const childrenRecordName = props.childrenRecordName || 'children';\n for (const record of data) {\n const children = get(record, childrenRecordName);\n if (Array.isArray(children) && children.length > 0) {\n findRows(children);\n }\n }\n }\n };\n\n findRows(dataSourceForRows);\n return cloneDeep(selectedRows);\n};\n\n/**\n * 获取所有行的 keys\n * @returns 所有行的 key 数组\n */\nconst getAllRowKeys = (): (string | number)[] => {\n // 优先使用缓存的已排序筛选的 rowKeys\n const cachedRowKeys = adapter.getCachedFilteredSortedRowKeys();\n if (cachedRowKeys && cachedRowKeys.length > 0) {\n return [...cachedRowKeys];\n }\n // 否则使用 state 中的 allRowKeys\n if (state.value.allRowKeys && state.value.allRowKeys.length > 0) {\n return [...state.value.allRowKeys];\n }\n // 如果都没有,则从当前数据源计算\n const dataSource = props.dataSource || [];\n const keys: (string | number)[] = [];\n const collectKeys = (data: Data[]) => {\n for (const record of data) {\n const key = getRecordKey(record, 0);\n keys.push(key);\n const childrenRecordName = props.childrenRecordName || 'children';\n const children = get(record, childrenRecordName);\n if (Array.isArray(children) && children.length > 0) {\n collectKeys(children);\n }\n }\n };\n collectKeys(dataSource);\n return keys;\n};\n\ndefineExpose({\n getCurrentPageData,\n resetScrollY,\n getSelectedRows,\n getAllRowKeys,\n});\n</script>\n"],"names":["props","__props","firstDataColumnIndex","computed","idx","cols","flattenColumns","key","_a","isInnerColumnKey","childrenRecordName","isTreeTable","ds","record","hasTreeChildren","getTreeLevel","getRowIndent","colIndex","shouldProvideExpandIcon","emit","__emit","prefixCls","cssClasses","slots","useSlots","bodyRef","ref","bodyWrapRef","headerWrapRef","virtualizedBodyRef","wrapRef","state","applyingQueriesInTick","sortingInTick","releaseGuards","baseAdapter","getDataAttr","useBaseComponent","getExpandedRowsByKeys","expandedRowKeys","keySet","index","getRecordKey","adapter","selectedRowKeys","disabledRowKeys","currentPage","pagination","groups","convertedGroups","dataSource","value","setArray","firstItem","records","itemKey","r","get","validRecords","item","query","queries","existingIndex","q","isEqual","flattenData","allRowKeys","hoveredRowKey","filteredSortedDataSource","filteredSortedRowKeys","allDisabledRowKeys","_visible","_dataIndex","changeInfo","expanded","mouseEvent","expandedRows","_record","_e","selected","selectedRows","e","rowSelection","changeRows","onSelectInvert","col","scroll","sticky","widths","columns","hw","flattenedWidths","flattenDeep","match","find","foundation","bodyHasScrollBar","isFixed","flattenedCols","column","useFixedHeader","useFoundation","TableFoundation","wrapperCls","classnames","wrapperStyle","style","wrapCls","y","tableWrapperCls","tableWrapperStyle","computedTableLayout","anyColumnFixed","tableCls","headerCls","hasSticky","showHeader","headerTableStyle","x","bodyTableStyle","getHeaderStyle","_b","stickyTop","getBodyStyle","hasData","normalizeSelectionColumn","rowSelectionObj","strings","numbers","normalizeExpandColumn","cloneColumns","children","rest","next","rawFlattenColumns","flattened","flattenColumnsUtil","columnsWithSelectionAndExpand","selectionColumn","destIndex","expandColumn","selectionIndex","insertIndex","assignColumnKeys","mergedColumnsWithQueries","queryColumn","queryFilteredValue","restQueryColumn","merged","hasSorter","hasFilter","useFullRender","clickColumnToSorter","processedColumn","rawTitle","titleMap","renderSelection","tableResizable","virtualizedOnScroll","tableContext","dataIndex","sortOrder","provideTableContext","selectedRowKeysSet","mergedPagination","watch","groupBy","groupByFn","groupKeys","_index","groupKey","newExpandedRowKeys","nextTick","groupedData","grouped","groupData","rawDataForFilterSort","filterColumns","filteredValue","columnFilters","oldColumnFilters","hasChange","i","columnFilter","columnFilteredValue","onFilter","curQuery","nextDataSource","sortedData","pageData","propPagination","isControlled","pageSize","start","end","displayData","sortedFilteredData","result","recordKeyMap","allKeys","groupRecords","groupKeySet","isGroupExpanded","flat","walk","list","level","row","showPagination","memoizedPagination","paginationProps","originalPagination","total","originalPaginationObj","page","renderPagination","getPaginationInfo","locale","paginationPosition","getColumnStyle","width","getColumnSlotName","getColumnValue","getRowClass","customRowProps","isRowSelected","isRowExpanded","isRowDisabled","getRowStyle","getRowProps","_className","_style","_onClick","_onDoubleClick","_onMouseEnter","_onMouseLeave","getGroupedRowProps","groupRecordsFromMap","groupRecord","customProps","handleGroupRowExpanded","newExpanded","k","handleGroupedRowClick","groupRecordsForExpand","newExpandedKeys","renderGroupSection","h","groupRowKeys","getRowSelectionProps","titleSelectionProps","useTableSelection","renderGroupExpandIcon","CustomExpandIcon","nextExpand","handleGroupExpandClick","handleRowClick","toggleExpandRow","handleRowDoubleClick","handleRowMouseEnter","handleRowMouseLeave","handleSorterClick","handleFilterSelect","data","handleFilterDropdownVisibleChange","visible","getFixedLeftOffset","isFixedLeft","arrayAdd","getFixedRightOffset","isFixedRight","scrollPositionRafId","scrollPositionTimeoutId","applyScrollPositionClassName","position","el","p","positionAll","accept","c","setScrollPositionClassName","node","scrollToLeft","tableEl","scrollToRight","scheduleSetScrollPositionClassName","scheduleSetScrollPositionClassNameAfterScrollEnd","handleHeaderScroll","target","nextLeft","body","handleBodyScroll","lastScrollTop","isIE11","getBodyScrollContainer","handleWheelNonPassive","dx","maxLeft","wd","bodyTable","scrollTop","handleWheelPassive","unregisterWheelListener","registerWheelListener","shouldNonPassive","handler","handleColumnResize","updatedQueries","newQuery","getExpandIcon","isRowExpandable","hasExpandedRowRender","hasRowExpandable","hasChildren","strictExpandableResult","renderExpandIcon","isNested","handleItemsRendered","_props","renderTitle","renderFooter","footer","isVNode","resizeObserver","observeBodyResize","bodyWrapDOM","syncScrollbarState","offsetWidth","clientWidth","resizeCallback","update","newVal","onMounted","prevY","handleWindowResize","onUnmounted","__expose","retObj","cloneDeep","rowKeys","keysToFind","dataSourceForRows","findRows","cachedRowKeys","keys","collectKeys","_openBlock","_createElementBlock","_mergeProps","_unref","_createVNode","Spin","_createElementVNode","_Fragment","_createBlock","_resolveDynamicComponent","LocaleConsumer","_withCtx","_toDisplayString","_renderList","_normalizeStyle","TableHeader","VirtualizedBody","Empty","rowIndex","$event","TableCell","isSelectionColumn","isLastLeftFixed","isFirstFixedRight","slotProps","_renderSlot","_ctx","_normalizeClass","_hoisted_6"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Table.vue.js","sources":["../../../../src/components/table/Table.vue"],"sourcesContent":["<template>\n <div :class=\"wrapperCls\" :style=\"wrapperStyle\" :data-column-fixed=\"anyColumnFixed\" v-bind=\"getDataAttr()\">\n <Spin :spinning=\"props.loading\" size=\"large\">\n <div ref=\"wrapRef\" :class=\"wrapCls\">\n <template v-if=\"showPagination && (paginationPosition === 'top' || paginationPosition === 'both')\">\n <component :is=\"renderPagination\" v-if=\"renderPagination\" />\n <LocaleConsumer v-else-if=\"paginationProps\" component-name=\"Table\">\n <template #default=\"{ locale }\">\n <div :class=\"`${prefixCls}-pagination-outer`\">\n <span v-if=\"getPaginationInfo(locale)\" :class=\"`${prefixCls}-pagination-info`\">\n {{ getPaginationInfo(locale) }}\n </span>\n <span :class=\"`${prefixCls}-pagination-wrapper`\">\n <Pagination\n v-if=\"paginationProps && paginationProps.total > 0\"\n v-bind=\"paginationProps\"\n />\n </span>\n </div>\n </template>\n </LocaleConsumer>\n </template>\n <div v-if=\"props.title\" :class=\"`${prefixCls}-title`\">\n <component :is=\"renderTitle\" />\n </div>\n <div :class=\"tableWrapperCls\" :style=\"tableWrapperStyle\">\n <div\n v-if=\"useFixedHeader && showHeader\"\n ref=\"headerWrapRef\"\n :class=\"headerCls\"\n :style=\"getHeaderStyle()\"\n @scroll=\"handleHeaderScroll\"\n >\n <table :class=\"tableCls\" :style=\"headerTableStyle\" role=\"grid\">\n <colgroup :class=\"`${prefixCls}-colgroup`\">\n <col\n v-for=\"(column, index) in flattenColumns\"\n :key=\"index\"\n :class=\"`${prefixCls}-col`\"\n :style=\"getColumnStyle(column)\"\n />\n </colgroup>\n <TableHeader\n :columns=\"flattenColumns\"\n :components=\"props.components\"\n :prefix-cls=\"prefixCls\"\n :on-header-row=\"props.onHeaderRow\"\n :selected-row-keys-set=\"selectedRowKeysSet\"\n :title-selection-props=\"titleSelectionProps\"\n :on-sorter-click=\"handleSorterClick\"\n :on-filter-select=\"handleFilterSelect\"\n :on-filter-dropdown-visible-change=\"handleFilterDropdownVisibleChange\"\n :on-resize=\"handleColumnResize\"\n />\n </table>\n </div>\n <VirtualizedBody\n v-if=\"props.virtualized\"\n ref=\"virtualizedBodyRef\"\n :data-source=\"sortedData\"\n :columns=\"flattenColumns\"\n :virtualized=\"props.virtualized\"\n :scroll=\"props.scroll\"\n :prefix-cls=\"prefixCls\"\n :size=\"props.size\"\n :on-scroll=\"virtualizedOnScroll\"\n :handle-body-scroll=\"handleBodyScroll\"\n :row-key=\"props.rowKey\"\n :components=\"props.components\"\n :expanded-row-keys=\"state.expandedRowKeys\"\n :expanded-row-render=\"props.expandedRowRender\"\n :on-row=\"props.onRow\"\n :row-expandable=\"isRowExpandable\"\n :selected-row-keys-set=\"selectedRowKeysSet\"\n :disabled-row-keys-set=\"state.disabledRowKeysSet\"\n :render-expand-icon=\"renderExpandIcon\"\n :hide-expanded-column=\"props.hideExpandedColumn\"\n :expand-row-by-click=\"props.expandRowByClick\"\n :slots=\"slots\"\n :children-record-name=\"props.childrenRecordName\"\n :groups=\"state.groups\"\n :render-group-section=\"renderGroupSection\"\n :on-grouped-row=\"props.onGroupedRow\"\n :click-grouped-row-to-expand=\"props.clickGroupedRowToExpand\"\n :on-group-expand=\"handleGroupRowExpanded\"\n :indent-size=\"props.indentSize\"\n :expand-icon=\"props.expandIcon\"\n @items-rendered=\"handleItemsRendered\"\n >\n <template #empty>\n <component :is=\"props.empty\" v-if=\"props.empty\" />\n <LocaleConsumer v-else component-name=\"Table\">\n <template #default=\"{ locale }\">\n <Empty :description=\"(locale as any)?.emptyText || '暂无数据'\" />\n </template>\n </LocaleConsumer>\n </template>\n </VirtualizedBody>\n <div\n v-else\n ref=\"bodyWrapRef\"\n :class=\"`${prefixCls}-body`\"\n :style=\"getBodyStyle()\"\n @scroll=\"handleBodyScroll\"\n >\n <table :class=\"tableCls\" :style=\"bodyTableStyle\" role=\"grid\">\n <colgroup :class=\"`${prefixCls}-colgroup`\">\n <col\n v-for=\"(column, index) in flattenColumns\"\n :key=\"index\"\n :class=\"`${prefixCls}-col`\"\n :style=\"getColumnStyle(column)\"\n />\n </colgroup>\n <TableHeader\n v-if=\"!useFixedHeader && showHeader\"\n :columns=\"flattenColumns\"\n :components=\"props.components\"\n :prefix-cls=\"prefixCls\"\n :on-header-row=\"props.onHeaderRow\"\n :selected-row-keys-set=\"selectedRowKeysSet\"\n :title-selection-props=\"titleSelectionProps\"\n :on-sorter-click=\"handleSorterClick\"\n :on-filter-select=\"handleFilterSelect\"\n :on-filter-dropdown-visible-change=\"handleFilterDropdownVisibleChange\"\n :on-resize=\"handleColumnResize\"\n />\n <tbody ref=\"bodyRef\" :class=\"`${prefixCls}-tbody`\">\n <template\n v-for=\"(record, rowIndex) in displayData\"\n :key=\"\n record.__semiTableGroupSection\n ? `group-${record.groupKey}`\n : getRecordKey(record, rowIndex)\n \"\n >\n <!-- 分组行 -->\n <tr\n v-if=\"record.__semiTableGroupSection\"\n :class=\"\n classnames(`${prefixCls}-row-section`, `${prefixCls}-row`, {\n [`${prefixCls}-row-section-on`]: isGroupExpanded(record.groupKey),\n })\n \"\n :data-row-key=\"record.groupKey\"\n :aria-rowindex=\"rowIndex + 1\"\n :aria-level=\"1\"\n v-bind=\"getGroupedRowProps(record.groupKey, rowIndex)\"\n @click=\"handleGroupedRowClick(record.groupKey, rowIndex, $event)\"\n >\n <td :colspan=\"flattenColumns.length\" :class=\"`${prefixCls}-row-cell`\">\n <div :class=\"`${prefixCls}-section-inner`\">\n <component\n :is=\"() => renderGroupExpandIcon(record.groupKey)\"\n v-if=\"props.expandIcon !== false\"\n />\n <component :is=\"() => renderGroupSection(record.groupKey)\" />\n </div>\n </td>\n </tr>\n <!-- 普通数据行 -->\n <tr\n v-else\n :class=\"getRowClass(record, rowIndex)\"\n :style=\"getRowStyle(record, rowIndex)\"\n v-bind=\"getRowProps(record, rowIndex)\"\n @click=\"handleRowClick(record, rowIndex, $event)\"\n @dblclick=\"handleRowDoubleClick(record, $event)\"\n @mouseenter=\"handleRowMouseEnter(record, $event)\"\n @mouseleave=\"handleRowMouseLeave(record, $event)\"\n >\n <TableCell\n v-for=\"(column, colIndex) in flattenColumns\"\n :key=\"colIndex\"\n :record=\"record\"\n :column=\"column\"\n :index=\"rowIndex\"\n :col-index=\"colIndex\"\n :prefix-cls=\"prefixCls\"\n :selected=\"isRowSelected(record)\"\n :expanded=\"isRowExpanded(record)\"\n :disabled=\"isRowDisabled(record)\"\n :indent=\"getRowIndent(record, colIndex)\"\n :selection-cell-props=\"\n isSelectionColumn(column) ? getRowSelectionProps(record) : undefined\n \"\n :expand-icon=\"getExpandIcon(record)\"\n :render-expand-icon=\"shouldProvideExpandIcon ? renderExpandIcon : undefined\"\n :expandable=\"isRowExpandable(record)\"\n :hide-expanded-column=\"props.hideExpandedColumn\"\n :first-data-column-index=\"firstDataColumnIndex\"\n :column-slot-name=\"getColumnSlotName(column)\"\n :has-slot=\"getColumnSlotName(column) && !!slots[getColumnSlotName(column)]\"\n :fixed-left=\"getFixedLeftOffset(column, colIndex)\"\n :last-fixed-left=\"isLastLeftFixed(flattenColumns, column)\"\n :fixed-right=\"getFixedRightOffset(column, colIndex)\"\n :first-fixed-right=\"isFirstFixedRight(flattenColumns, column)\"\n >\n <template\n v-if=\"getColumnSlotName(column) && slots[getColumnSlotName(column)]\"\n #[getColumnSlotName(column)]=\"slotProps\"\n >\n <slot\n :name=\"getColumnSlotName(column)\"\n v-bind=\"slotProps || {}\"\n :text=\"getColumnValue(record, column)\"\n :record=\"record\"\n :index=\"rowIndex\"\n />\n </template>\n </TableCell>\n </tr>\n <tr\n v-if=\"\n isRowExpanded(record) && props.expandedRowRender && isRowExpandable(record)\n \"\n :class=\"classnames(`${prefixCls}-row-expand`, `${prefixCls}-row`)\"\n >\n <td :colspan=\"flattenColumns.length\" :class=\"`${prefixCls}-row-cell`\">\n <div :class=\"`${prefixCls}-expand-inner`\">\n <component\n :is=\"() => props.expandedRowRender(record, rowIndex, true)\"\n />\n </div>\n </td>\n </tr>\n </template>\n <tr v-if=\"!pageData || pageData.length === 0\">\n <td :colspan=\"flattenColumns.length\" :class=\"`${prefixCls}-empty`\">\n <component :is=\"props.empty\" v-if=\"props.empty\" />\n <LocaleConsumer v-else component-name=\"Table\">\n <template #default=\"{ locale }\">\n <Empty :description=\"(locale as any)?.emptyText || '暂无数据'\" />\n </template>\n </LocaleConsumer>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n <component :is=\"renderFooter\" v-if=\"renderFooter\" />\n <template v-if=\"showPagination && (paginationPosition === 'bottom' || paginationPosition === 'both')\">\n <component :is=\"renderPagination\" v-if=\"renderPagination\" />\n <LocaleConsumer v-else-if=\"paginationProps\" component-name=\"Table\">\n <template #default=\"{ locale }\">\n <div :class=\"`${prefixCls}-pagination-outer`\">\n <span v-if=\"getPaginationInfo(locale)\" :class=\"`${prefixCls}-pagination-info`\">\n {{ getPaginationInfo(locale) }}\n </span>\n <span :class=\"`${prefixCls}-pagination-wrapper`\">\n <Pagination\n v-if=\"paginationProps && paginationProps.total > 0\"\n v-bind=\"paginationProps\"\n />\n </span>\n </div>\n </template>\n </LocaleConsumer>\n </template>\n </div>\n </Spin>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, useSlots, onMounted, onUnmounted, nextTick, h, isVNode } from 'vue';\nimport classnames from 'classnames';\nimport { get, isEqual, flattenDeep, find, cloneDeep, noop } from 'lodash';\nimport TableFoundation, { TableAdapter } from '@douyinfe/semi-foundation/table/foundation';\nimport { cssClasses, strings, numbers } from '@douyinfe/semi-foundation/table/constants';\nimport {\n isSelectionColumn,\n isFixedLeft,\n isFixedRight,\n isLastLeftFixed,\n isFirstFixedRight,\n arrayAdd,\n assignColumnKeys,\n isInnerColumnKey,\n flattenColumns as flattenColumnsUtil,\n} from '@douyinfe/semi-foundation/table/utils';\nimport { provideTableContext } from './table-context';\nimport { useBaseComponent } from '../_utils';\nimport { useFoundation } from '../../_utils/useFoundation';\nimport Spin from '../spin';\nimport Empty from '../empty';\nimport Pagination from '../pagination';\nimport LocaleConsumer from '../locale/LocaleConsumer.vue';\nimport TableHeader from './TableHeader.vue';\nimport TableCell from './TableCell.vue';\nimport CustomExpandIcon from './CustomExpandIcon.vue';\nimport VirtualizedBody from './VirtualizedBody.vue';\nimport { useTableSelection } from './useTableSelection';\nimport type { TableProps, ColumnProps, Data, TablePaginationProps } from './interface';\nimport type { CSSProperties } from 'vue';\n\ndefineOptions({\n name: 'SemiTable',\n});\n\nconst props = withDefaults(defineProps<TableProps<Data>>(), {\n bordered: false,\n showHeader: true,\n hideExpandedColumn: true,\n size: 'default',\n tableLayout: '',\n prefixCls: cssClasses.PREFIX,\n pagination: true,\n childrenRecordName: 'children',\n dataSource: () => [],\n rowSelection: null,\n className: '',\n loading: false,\n expandCellFixed: false,\n indentSize: numbers.DEFAULT_INDENT_WIDTH,\n rowKey: 'key',\n defaultExpandedRowKeys: () => [],\n defaultExpandAllRows: false,\n defaultExpandAllGroupRows: false,\n expandAllRows: false,\n expandAllGroupRows: false,\n expandRowByClick: false,\n onChange: noop,\n onFilterDropdownVisibleChange: noop,\n onExpand: noop,\n onExpandedRowsChange: noop,\n});\n\nconst firstDataColumnIndex = computed(() => {\n let idx = 0;\n const cols = flattenColumns.value || [];\n while (idx < cols.length) {\n const key = (cols[idx] as any)?.key;\n if (key != null && isInnerColumnKey(key)) {\n idx += 1;\n continue;\n }\n break;\n }\n return idx;\n});\n\nconst childrenRecordName = computed(() => props.childrenRecordName || 'children');\n\nconst isTreeTable = computed(() => {\n const ds = props.dataSource || [];\n if (!Array.isArray(ds) || ds.length === 0) {\n return false;\n }\n const key = childrenRecordName.value;\n return ds.some((record: any) => Array.isArray(record?.[key]) && record[key].length > 0);\n});\n\nconst hasTreeChildren = (record: any) => {\n const key = childrenRecordName.value;\n return Array.isArray(record?.[key]) && record[key].length > 0;\n};\n\nconst getTreeLevel = (record: any): number => {\n return (record as any)?.__semiTableTreeLevel ?? 0;\n};\n\nconst getRowIndent = (record: any, colIndex: number): number => {\n if (!isTreeTable.value) {\n return 0;\n }\n if (colIndex !== firstDataColumnIndex.value) {\n return 0;\n }\n return getTreeLevel(record);\n};\n\nconst shouldProvideExpandIcon = computed(() => {\n return Boolean(props.expandedRowRender) || isTreeTable.value;\n});\n\nconst emit = defineEmits<{\n (e: 'change', changeInfo: any): void;\n (e: 'expand', expanded: boolean, record: Data, mouseEvent?: MouseEvent): void;\n (e: 'expandedRowsChange', expandedRows: Data[]): void;\n}>();\n\nconst prefixCls = computed(() => props.prefixCls || cssClasses.PREFIX);\n\n// 获取插槽\nconst slots = useSlots();\n\n// Refs\nconst bodyRef = ref<HTMLTableSectionElement | null>(null);\nconst bodyWrapRef = ref<HTMLDivElement | null>(null);\nconst headerWrapRef = ref<HTMLDivElement | null>(null);\nconst virtualizedBodyRef = ref<InstanceType<typeof VirtualizedBody> | null>(null);\nconst wrapRef = ref<HTMLDivElement | null>(null);\n\ntype BodyScrollPosition = 'both' | 'middle' | 'left' | 'right';\n\n// State\nconst state = ref({\n cachedColumns: [] as ColumnProps[],\n cachedChildren: null,\n flattenColumns: [] as ColumnProps[],\n queries: [] as ColumnProps[],\n dataSource: [] as Data[],\n flattenData: [] as Data[],\n expandedRowKeys: [] as (string | number)[],\n rowSelection: null as any,\n pagination: null as any,\n groups: null as any,\n groupKeys: [] as (string | number)[],\n allRowKeys: [] as (string | number)[],\n allDisabledRowKeys: [] as (string | number)[],\n disabledRowKeys: [] as (string | number)[],\n disabledRowKeysSet: new Set<string | number>(),\n selectedRowKeys: [] as (string | number)[],\n selectedRowKeysSet: new Set<string | number>(),\n hoveredRowKey: null as string | number | null,\n cachedFilteredSortedDataSource: [] as Data[],\n cachedFilteredSortedRowKeys: [] as (string | number)[],\n cachedFilteredSortedRowKeysSet: new Set<string | number>(),\n headWidths: [] as any[],\n bodyHasScrollBar: false,\n tableWidth: 0,\n});\n\n// 同一轮渲染/事件周期内的“写入锁”,用于打断 Vue 的递归更新(排序/筛选会导致 DOM 重排,click 可能被重复触发)\nlet applyingQueriesInTick = false;\nlet sortingInTick = false;\nconst releaseGuards = () => {\n applyingQueriesInTick = false;\n sortingInTick = false;\n};\n\nconst { adapter: baseAdapter, getDataAttr } = useBaseComponent(props, state);\n\nfunction getExpandedRowsByKeys(expandedRowKeys: (string | number)[]) {\n const keySet = new Set(expandedRowKeys);\n const dataSource = props.dataSource || [];\n return dataSource.filter((record, index) => keySet.has(getRecordKey(record, index)));\n}\n\ntype TableAdapterExt<RecordType> = TableAdapter<RecordType> & {\n notifyRowDoubleClick?: (record: RecordType, e: MouseEvent) => void;\n notifyRowMouseEnter?: (record: RecordType, e: MouseEvent) => void;\n notifyRowMouseLeave?: (record: RecordType, e: MouseEvent) => void;\n notifySelectInvert?: (selectedRows: RecordType[]) => void;\n setAllDisabledRowKeys?: (allDisabledRowKeys: (string | number)[]) => void;\n getAllDisabledRowKeys?: () => (string | number)[];\n getAllDisabledRowKeysSet?: () => Set<string | number>;\n};\n\n// 构建 adapter\nconst adapter = {\n ...baseAdapter,\n resetScrollY: () => {\n if (bodyRef.value) {\n bodyRef.value.scrollTop = 0;\n }\n },\n setSelectedRowKeys: (selectedRowKeys) => {\n state.value.rowSelection = {\n ...state.value.rowSelection,\n selectedRowKeys: [...selectedRowKeys],\n selectedRowKeysSet: new Set(selectedRowKeys),\n };\n },\n setDisabledRowKeys: (disabledRowKeys) => {\n state.value.disabledRowKeys = disabledRowKeys;\n state.value.disabledRowKeysSet = new Set(disabledRowKeys);\n },\n setCurrentPage: (currentPage) => {\n const { pagination } = state.value;\n if (typeof pagination === 'object') {\n state.value.pagination = { ...pagination, currentPage };\n } else {\n state.value.pagination = { currentPage };\n }\n },\n setPagination: (pagination) => {\n state.value.pagination = pagination;\n },\n setGroups: (groups) => {\n // Foundation 层可能会传入 Set 类型,我们需要转换为 Data[] 类型\n if (groups && groups instanceof Map) {\n const convertedGroups = new Map<string | number, Data[]>();\n const dataSource = props.dataSource || [];\n\n groups.forEach((value, key) => {\n if (value instanceof Set) {\n // 如果是 Set,需要检查 Set 中存储的是 key 还是 record 对象\n const setArray = Array.from(value);\n\n // 检查 Set 中的第一项是 key 还是 record 对象\n if (setArray.length > 0) {\n const firstItem = setArray[0];\n // 如果是字符串或数字(可能是 key),需要从 dataSource 中查找对应的 record\n if (typeof firstItem === 'string' || typeof firstItem === 'number') {\n const records: Data[] = [];\n setArray.forEach((itemKey) => {\n const record = dataSource.find((r) => {\n const rKey = props.rowKey\n ? typeof props.rowKey === 'function'\n ? props.rowKey(r)\n : get(r, props.rowKey, '')\n : get(r, 'key', '');\n return rKey === itemKey;\n });\n if (record) {\n records.push(record);\n }\n });\n convertedGroups.set(key, records);\n } else {\n // 如果已经是对象,直接使用\n convertedGroups.set(key, setArray as Data[]);\n }\n } else {\n convertedGroups.set(key, []);\n }\n } else if (Array.isArray(value)) {\n // 如果已经是数组,检查数组中是否是对象\n const validRecords = value.filter(\n (item) => item && typeof item === 'object' && !Array.isArray(item)\n );\n convertedGroups.set(key, validRecords);\n }\n });\n state.value.groups = convertedGroups;\n } else {\n state.value.groups = groups;\n }\n },\n setDataSource: (dataSource) => {\n state.value.dataSource = dataSource;\n },\n setExpandedRowKeys: (expandedRowKeys) => {\n state.value.expandedRowKeys = [...expandedRowKeys];\n },\n setQuery: (query = {}) => {\n // 合并查询\n const queries = [...state.value.queries];\n const existingIndex = queries.findIndex((q) => q.key === query.key || q.dataIndex === query.dataIndex);\n if (existingIndex > -1) {\n queries[existingIndex] = { ...queries[existingIndex], ...query };\n } else {\n queries.push(query);\n }\n state.value.queries = queries;\n },\n setQueries: (queries) => {\n // 避免递归更新:某些场景下 foundation 会多次触发 setQueries,\n // 如果值没有变化则不写入响应式状态,防止触发自身依赖的 effect。\n if (queries === state.value.queries || isEqual(queries, state.value.queries)) {\n return;\n }\n // 同一 tick 内只允许写一次 queries,防止重复触发导致递归更新\n if (applyingQueriesInTick) {\n return;\n }\n applyingQueriesInTick = true;\n queueMicrotask(releaseGuards);\n state.value.queries = queries;\n },\n setFlattenData: (flattenData) => {\n state.value.flattenData = flattenData;\n },\n setAllRowKeys: (allRowKeys) => {\n state.value.allRowKeys = allRowKeys;\n },\n setHoveredRowKey: (hoveredRowKey) => {\n // 排序触发的重排过程中会产生大量 hover 事件,容易放大递归更新问题;这里在排序写入周期内跳过 hover\n if (sortingInTick) {\n return;\n }\n state.value.hoveredRowKey = hoveredRowKey;\n },\n setCachedFilteredSortedDataSource: (filteredSortedDataSource) => {\n state.value.cachedFilteredSortedDataSource = filteredSortedDataSource;\n },\n setCachedFilteredSortedRowKeys: (filteredSortedRowKeys) => {\n state.value.cachedFilteredSortedRowKeys = filteredSortedRowKeys;\n state.value.cachedFilteredSortedRowKeysSet = new Set(filteredSortedRowKeys);\n },\n setAllDisabledRowKeys: (allDisabledRowKeys) => {\n state.value.allDisabledRowKeys = allDisabledRowKeys;\n },\n getCurrentPage: () => get(state.value, 'pagination.currentPage', 1),\n getCurrentPageSize: () => get(state.value, 'pagination.pageSize', 10),\n getCachedFilteredSortedDataSource: () => state.value.cachedFilteredSortedDataSource,\n getCachedFilteredSortedRowKeys: () => state.value.cachedFilteredSortedRowKeys,\n getCachedFilteredSortedRowKeysSet: () => state.value.cachedFilteredSortedRowKeysSet,\n getAllDisabledRowKeys: () => state.value.allDisabledRowKeys,\n getAllDisabledRowKeysSet: () => new Set(state.value.allDisabledRowKeys),\n notifyFilterDropdownVisibleChange: (_visible, _dataIndex) => {\n // 筛选下拉框可见性变化通知\n // 注意:主要的逻辑已在 handleFilterDropdownVisibleChange 中处理(包括调用 column.onFilterDropdownVisibleChange)\n // 这里保持为空,避免重复调用。Foundation 层调用此方法是为了通知,但实际处理已在 Vue 层完成\n },\n notifyChange: (changeInfo) => {\n emit('change', changeInfo);\n },\n notifyExpand: (expanded, record, mouseEvent) => {\n emit('expand', expanded, record, mouseEvent);\n },\n notifyExpandedRowsChange: (expandedRows) => {\n emit('expandedRowsChange', expandedRows);\n },\n notifyRowDoubleClick: (_record: Data, _e: MouseEvent) => {\n // 双击事件已通过 handleRowDoubleClick 处理\n },\n notifyRowMouseEnter: (_record: Data, _e: MouseEvent) => {\n // 鼠标进入事件已通过 handleRowMouseEnter 处理\n },\n notifyRowMouseLeave: (_record: Data, _e: MouseEvent) => {\n // 鼠标离开事件已通过 handleRowMouseLeave 处理\n },\n notifySelect: (record: Data, selected: boolean, selectedRows: Data[], e: MouseEvent) => {\n const rowSelection = typeof props.rowSelection === 'object' ? props.rowSelection : {};\n if (rowSelection.onSelect) {\n rowSelection.onSelect(record, selected, selectedRows, e);\n }\n },\n notifySelectAll: (selected: boolean, selectedRows: Data[], changeRows: Data[]) => {\n const rowSelection = typeof props.rowSelection === 'object' ? props.rowSelection : {};\n if (rowSelection.onSelectAll) {\n rowSelection.onSelectAll(selected, selectedRows, changeRows);\n }\n },\n notifySelectInvert: (selectedRows: Data[]) => {\n const rowSelection = typeof props.rowSelection === 'object' ? props.rowSelection : {};\n const onSelectInvert = (rowSelection as any)?.onSelectInvert as undefined | ((rows: Data[]) => void);\n if (typeof onSelectInvert === 'function') {\n onSelectInvert(selectedRows);\n }\n },\n notifySelectionChange: (selectedRowKeys: (string | number)[], selectedRows: Data[]) => {\n const rowSelection = typeof props.rowSelection === 'object' ? props.rowSelection : {};\n if (rowSelection.onChange) {\n rowSelection.onChange(selectedRowKeys, selectedRows);\n }\n },\n isAnyColumnFixed: () => {\n const columns = flattenColumns.value;\n return columns.some((col) => col.fixed === true || col.fixed === 'left' || col.fixed === 'right');\n },\n useFixedHeader: () => {\n const { scroll, sticky } = props;\n return Boolean(get(scroll, 'y') || sticky);\n },\n setHeadWidths: (widths: Array<{ width: number; key: any }>, index?: number) => {\n if (typeof index === 'number') {\n // 确保 headWidths 是数组\n if (!Array.isArray(state.value.headWidths)) {\n state.value.headWidths = [];\n }\n state.value.headWidths[index] = widths;\n } else {\n state.value.headWidths = widths;\n }\n },\n getHeadWidths: (index?: number) => {\n if (typeof index === 'number') {\n return state.value.headWidths[index] || [];\n }\n return state.value.headWidths;\n },\n getCellWidths: (columns?: ColumnProps[]) => {\n const cols = columns || flattenColumns.value;\n if (!Array.isArray(cols) || !cols.length) {\n return [];\n }\n\n const hw = state.value.headWidths as any;\n const flattenedWidths: Array<{ width: number; key: any }> = (() => {\n if (Array.isArray(hw) && hw.length) {\n if (Array.isArray(hw[0])) {\n return flattenDeep(hw) as Array<{ width: number; key: any }>;\n }\n return hw as Array<{ width: number; key: any }>;\n }\n return [];\n })();\n\n const result = cols.map((col) => {\n if (typeof col.width === 'number') {\n return col.width;\n }\n\n if (col.key != null && Array.isArray(flattenedWidths) && flattenedWidths.length) {\n const match = find(flattenedWidths, (item) => item && item.key != null && item.key === col.key);\n if (match) {\n return match.width;\n }\n }\n\n if (col.dataIndex != null && Array.isArray(flattenedWidths) && flattenedWidths.length) {\n const match = find(flattenedWidths, (item) => item && item.key != null && item.key === col.dataIndex);\n if (match) {\n return match.width;\n }\n }\n\n return 0;\n });\n\n return result;\n },\n mergedRowExpandable: () => false,\n isAnyColumnUseFullRender: () => false,\n getNormalizeColumns: () => () => [],\n getHandleColumns: () => () => [],\n getMergePagination: () => (pagination: any) => {\n // 合并分页配置,添加 onChange 回调\n return { onChange: foundation.setPage, ...pagination };\n },\n setBodyHasScrollbar: (bodyHasScrollBar) => {\n state.value.bodyHasScrollBar = bodyHasScrollBar;\n },\n getTableLayout: () => {\n // 如果明确指定了 tableLayout,使用指定的值\n if (props.tableLayout) {\n return props.tableLayout;\n }\n // 否则根据列的状态自动决定,与 React 版本保持一致\n let isFixed = false;\n const flattenedCols = flattenColumns.value;\n if (Array.isArray(flattenedCols)) {\n isFixed = flattenedCols.some((column) => Boolean(column.ellipsis) || Boolean(column.fixed));\n }\n if (useFixedHeader.value) {\n isFixed = true;\n }\n return isFixed ? 'fixed' : 'auto';\n },\n} as TableAdapterExt<Data>;\n\nconst { foundation } = useFoundation(TableFoundation, adapter);\n\n// Computed\nconst wrapperCls = computed(() =>\n classnames(\n props.className,\n `${prefixCls.value}-wrapper`,\n `${prefixCls.value}-wrapper-${props.direction || 'undefined'}`\n )\n);\n\nconst wrapperStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = {};\n // 当有 scroll.x 时,确保 wrapper 不会超出父容器\n // 注意:不要设置 overflowX: hidden,这会阻止横向滚动条显示\n // 只需要限制宽度即可,滚动条应该在 table-container 内的 body 中\n if (props.scroll?.x) {\n // 确保 wrapper 宽度不超过 100%,防止表格超出容器\n style.maxWidth = '100%';\n style.width = '100%';\n }\n return { ...props.style, ...style };\n});\n\nconst useFixedHeader = computed(() => {\n return Boolean(props.scroll?.y || props.sticky);\n});\n\nconst wrapCls = computed(() => {\n const y = props.scroll?.y;\n return classnames({\n [`${prefixCls.value}-${props.size}`]: props.size,\n [`${prefixCls.value}-virtualized`]: Boolean(props.virtualized),\n [`${prefixCls.value}-bordered`]: props.bordered,\n [`${prefixCls.value}-fixed-header`]: Boolean(y),\n });\n});\n\nconst tableWrapperCls = computed(() => {\n return `${prefixCls.value}-container`;\n});\n\nconst tableWrapperStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = {};\n // 当有 scroll.x 时,确保表格容器不会超出父容器\n // 注意:不要设置 overflowX: hidden,这会阻止横向滚动条显示\n // 只需要限制宽度即可\n if (props.scroll?.x) {\n style.maxWidth = '100%';\n style.width = '100%';\n }\n // 关键:当有 scroll.y 时,container 需要成为滚动上下文\n // 但实际滚动发生在 body 内,所以这里不设置 overflow\n // 表头的 sticky 定位需要相对于 container,但由于滚动在 body 内,我们需要特殊处理\n return style;\n});\n\nconst computedTableLayout = computed(() => {\n if (props.tableLayout) {\n return props.tableLayout;\n }\n return anyColumnFixed.value ? 'fixed' : 'auto';\n});\n\nconst tableCls = computed(() => {\n return classnames(prefixCls.value, {\n [`${prefixCls.value}-fixed`]: computedTableLayout.value === 'fixed',\n });\n});\n\nconst headerCls = computed(() => {\n const hasSticky = Boolean(props.sticky);\n return classnames(`${prefixCls.value}-header`, {\n [`${prefixCls.value}-header-sticky`]: hasSticky,\n [`${prefixCls.value}-header-hidden`]: !showHeader.value,\n });\n});\n\nconst headerTableStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = {};\n const x = props.scroll?.x;\n if (x) {\n style.width = typeof x === 'number' ? `${x}px` : x;\n }\n return style;\n});\n\nconst bodyTableStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = {};\n const x = props.scroll?.x;\n if (x) {\n style.width = typeof x === 'number' ? `${x}px` : x;\n }\n return style;\n});\n\nconst getHeaderStyle = (): CSSProperties => {\n const style: CSSProperties = {};\n (style as any).scrollbarGutter = 'stable';\n if (props.scroll?.y) {\n style.overflowY = 'scroll';\n }\n\n // 关键:当有固定列时,表头容器不能设置 overflow: hidden(CSS 默认值)\n // 因为这会阻止表头内固定列的 position: sticky 正常工作\n // 但是,CSS 中已经设置了 overflow: hidden,所以我们需要覆盖它\n // 当有固定列时,表头容器应该允许 overflow,以便固定列能正常工作\n if (anyColumnFixed.value && props.scroll?.y) {\n // 当有固定列和 scroll.y 时,表头容器需要允许 overflow\n // 但为了隐藏滚动条,我们只设置 overflowX: hidden(如果有横向滚动,由 bodyHasScrollBar 处理)\n // 注意:不能设置 overflow: hidden,这会阻止固定列的 sticky 定位\n if (!state.value.bodyHasScrollBar) {\n // 当没有滚动条时,允许 overflow(但不能是 hidden,因为会阻止 sticky)\n style.overflow = 'visible';\n }\n // 当有滚动条时,overflowY 已经设置为 'scroll',不需要额外设置\n }\n\n // 当有 sticky 时,设置 top 值\n // 根据 React 版本的 HeadTable.tsx:99-102\n if (props.sticky) {\n const stickyTop = typeof props.sticky === 'object' ? props.sticky.top : 0;\n if (typeof stickyTop === 'number') {\n style.top = stickyTop;\n }\n }\n\n return style;\n};\n\nconst getBodyStyle = (): CSSProperties => {\n const style: CSSProperties = {};\n const x = props.scroll?.x;\n const y = props.scroll?.y;\n\n // 固定滚动条占位,避免首次滚动时布局“挤一下”导致 fixed 抖动\n (style as any).scrollbarGutter = 'stable';\n\n if (y) {\n style.maxHeight = typeof y === 'number' ? `${y}px` : y;\n }\n\n // 当有固定列且有数据时,使用 auto 而不是单独的 overflowX/overflowY(与 React 版本一致)\n // 注意:React 版本使用 size(dataSource),这里使用 props.dataSource 而不是 sortedData\n const dataSource = props.dataSource || [];\n const hasData = dataSource.length > 0;\n if (anyColumnFixed.value && hasData) {\n if (!props.virtualized) {\n style.overflow = 'auto';\n style.WebkitTransform = 'translate3d (0, 0, 0)';\n if (y) {\n style.overflowY = 'scroll';\n }\n }\n } else {\n if (!props.virtualized) {\n if (y) {\n style.overflowY = 'auto';\n }\n if (x) {\n style.overflowX = 'auto';\n style.width = '100%';\n }\n }\n }\n\n if (x && !anyColumnFixed.value) {\n style.width = '100%';\n }\n\n return style;\n};\n\nconst showHeader = computed(() => props.showHeader !== false);\n\nconst normalizeSelectionColumn = (): ColumnProps | null => {\n const { rowSelection } = props;\n if (!rowSelection || (typeof rowSelection === 'object' && rowSelection.hidden)) {\n return null;\n }\n\n const rowSelectionObj = typeof rowSelection === 'object' ? rowSelection : {};\n const column: ColumnProps = {\n key: strings.DEFAULT_KEY_COLUMN_SELECTION,\n width: numbers.DEFAULT_WIDTH_COLUMN_SELECTION,\n fixed: rowSelectionObj.fixed,\n className: classnames(`${prefixCls.value}-column-selection`, rowSelectionObj.className),\n title: 'selection',\n render: () => 'selection',\n };\n\n return column;\n};\n\nconst normalizeExpandColumn = (): ColumnProps | null => {\n if (!props.expandedRowRender || props.hideExpandedColumn !== false) {\n return null;\n }\n const column: ColumnProps = {\n key: strings.DEFAULT_KEY_COLUMN_EXPAND,\n width: numbers.DEFAULT_WIDTH_COLUMN_EXPAND,\n fixed: props.expandCellFixed,\n className: classnames(`${prefixCls.value}-column-expand`),\n title: '',\n // TableCell 会通过 isExpandedColumn(column) + renderExpandIcon 负责渲染展开按钮\n // 这里保持为空,避免误渲染\n render: () => null,\n };\n return column;\n};\n\n// 注意:Semi 的 assignColumnKeys 会对列对象做原地写入(补全 key)。\n// 在 Vue 中如果直接使用 props.columns 的引用,会触发 deep watch 以及潜在的递归更新。\n// 因此这里先递归 clone 一份 columns,再进行后续处理,避免修改 props。\nconst cloneColumns = (cols: ColumnProps[] = []): ColumnProps[] => {\n if (!Array.isArray(cols)) {\n return [];\n }\n return cols.map((col) => {\n if (!col || typeof col !== 'object') {\n return col;\n }\n const { children, ...rest } = col as any;\n const next: any = { ...rest };\n if (Array.isArray(children)) {\n next.children = cloneColumns(children);\n }\n return next as ColumnProps;\n });\n};\n\n// 第一步:展平和克隆列\nconst rawFlattenColumns = computed(() => {\n if (props.columns && props.columns.length > 0) {\n // 先展平嵌套的列(处理 children),然后克隆\n const flattened = flattenColumnsUtil(props.columns);\n return cloneColumns(flattened);\n }\n return [];\n});\n\n// 第二步:添加选择和展开列\nconst columnsWithSelectionAndExpand = computed(() => {\n const columns: ColumnProps[] = [...rawFlattenColumns.value];\n\n // 添加选择列\n const selectionColumn = normalizeSelectionColumn();\n if (selectionColumn) {\n const destIndex = columns.findIndex((item) => item.key === strings.DEFAULT_KEY_COLUMN_SELECTION);\n if (destIndex > -1) {\n columns[destIndex] = { ...selectionColumn, ...columns[destIndex] };\n } else if (selectionColumn.fixed === 'right') {\n columns.push(selectionColumn);\n } else {\n columns.unshift(selectionColumn);\n }\n }\n\n const expandColumn = normalizeExpandColumn();\n if (expandColumn) {\n const destIndex = columns.findIndex((item) => item.key === strings.DEFAULT_KEY_COLUMN_EXPAND);\n if (destIndex > -1) {\n columns[destIndex] = { ...expandColumn, ...columns[destIndex] };\n } else if (expandColumn.fixed === 'right') {\n columns.push(expandColumn);\n } else {\n // 默认插入到最前(若有 selection 列则放在 selection 后)\n const selectionIndex = columns.findIndex((item) => item.key === strings.DEFAULT_KEY_COLUMN_SELECTION);\n const insertIndex = selectionIndex > -1 ? selectionIndex + 1 : 0;\n columns.splice(insertIndex, 0, expandColumn);\n }\n }\n\n assignColumnKeys(columns as any[]);\n return columns;\n});\n\n// 第三步:合并 queries 中的列信息(包括宽度),用于支持列宽调整\nconst mergedColumnsWithQueries = computed(() => {\n const queries = state.value.queries;\n return columnsWithSelectionAndExpand.value.map((column) => {\n const queryColumn = queries.find(\n (q) => (q.key && q.key === column.key) || (q.dataIndex && q.dataIndex === column.dataIndex)\n );\n if (queryColumn) {\n // 合并 queries 中的属性(包括 width、sortOrder 等)\n // 但是 filteredValue 优先使用 column 中的值(如果 column 中有定义),以支持自定义表头筛选\n const { filteredValue: queryFilteredValue, ...restQueryColumn } = queryColumn;\n const merged = { ...column, ...restQueryColumn };\n // 如果 column 中明确指定了 filteredValue,优先使用 column 中的值\n if (column.filteredValue !== undefined) {\n merged.filteredValue = column.filteredValue;\n } else if (queryFilteredValue !== undefined) {\n merged.filteredValue = queryFilteredValue;\n }\n return merged;\n }\n return column;\n });\n});\n\n// 第四步:处理排序、筛选、resizable 等逻辑\nconst flattenColumns = computed(() => {\n return mergedColumnsWithQueries.value.map((column) => {\n const hasSorter = Boolean(column.sorter);\n const hasFilter = Boolean(column.onFilter || column.filters);\n const useFullRender = column.useFullRender === true;\n const clickColumnToSorter = hasSorter && !hasFilter && !useFullRender;\n\n // 处理 resizable:当 Table 的 resizable prop 为 true 时,应用到所有有 width 的列\n let processedColumn = { ...column };\n\n // 如果 useFullRender 为 true,处理 title 函数,传递 selection、sorter、filter\n // 注意:需要返回一个函数,在每次渲染时调用,以便 selection 等能够响应状态变化\n if (useFullRender && typeof column.title === 'function') {\n const rawTitle = column.title;\n // 返回一个函数,在每次渲染时调用 rawTitle 并传递最新的 titleMap\n processedColumn = {\n ...processedColumn,\n title: () => {\n const titleMap: any = {};\n if (props.rowSelection) {\n // 每次渲染时重新创建 selection,确保响应状态变化\n titleMap.selection = renderSelection(undefined, true);\n }\n // sorter 和 filter 会在 TableHeaderRow 中处理\n return rawTitle(titleMap);\n },\n };\n }\n const tableResizable =\n props.resizable === true || (typeof props.resizable === 'object' && props.resizable !== null);\n\n // 将列的 resize 属性映射到 resizable(为了兼容性)\n if ('resize' in column) {\n processedColumn.resizable = column.resize;\n }\n\n // 如果 Table 的 resizable 为 true,且列有 width,则默认启用可伸缩(除非列明确设置了 resize: false)\n if (tableResizable && typeof column.width === 'number') {\n // 如果列没有明确设置 resize/resizable 属性,则启用可伸缩\n if (!('resize' in column) && !('resizable' in column)) {\n processedColumn.resizable = true;\n }\n // 如果列明确设置了 resize: false 或 resizable: false,则不启用(已经在上面处理了)\n }\n\n if (clickColumnToSorter) {\n return {\n ...processedColumn,\n clickToSort: (e: MouseEvent) => {\n e.stopPropagation();\n if (sortingInTick) {\n return;\n }\n sortingInTick = true;\n queueMicrotask(releaseGuards);\n foundation.handleSort(column, e, true);\n },\n mouseDown: (e: MouseEvent) => {\n foundation.handleMouseDown(e);\n },\n };\n }\n\n return processedColumn;\n });\n});\n\nconst anyColumnFixed = computed(() => {\n const result = flattenColumns.value.some(\n (col) => col.fixed === true || col.fixed === 'left' || col.fixed === 'right'\n );\n return result;\n});\n\nconst virtualizedOnScroll = computed(() => {\n return typeof props.virtualized === 'object' ? props.virtualized.onScroll : undefined;\n});\n\n// 提供 TableContext\n// 注意:renderSelection 会在后面定义,所以使用 getter 来延迟访问\nconst tableContext = {\n direction: (props.direction || 'ltr') as any,\n headWidths: computed(() => state.value.headWidths),\n tableWidth: computed(() => state.value.tableWidth),\n anyColumnFixed,\n flattenedColumns: computed(() => flattenColumns.value),\n setHeadWidths: adapter.setHeadWidths,\n getHeadWidths: adapter.getHeadWidths,\n getCellWidths: adapter.getCellWidths,\n getQuery: (dataIndex: string | number) => foundation.getQuery(dataIndex as string),\n isSortOrderValid: (sortOrder: any) => foundation.isSortOrderValid(sortOrder),\n get renderSelection() {\n // 延迟访问 renderSelection,在它定义后返回\n return renderSelection;\n },\n};\n\nprovideTableContext(tableContext);\n\nconst selectedRowKeysSet = computed<Set<string | number>>(() => {\n if (props.rowSelection) {\n const rowSelection = typeof props.rowSelection === 'object' ? props.rowSelection : {};\n const selectedRowKeys = (rowSelection.selectedRowKeys || []) as (string | number)[];\n return new Set(selectedRowKeys);\n }\n return new Set<string | number>();\n});\n\nconst mergedPagination = computed(() => {\n const pagination = props.pagination;\n // 如果 pagination 是 undefined,默认使用 true(显示分页)\n if (pagination === undefined || pagination === true) {\n return {\n currentPage: 1,\n pageSize: 10,\n ...(state.value.pagination || {}),\n };\n }\n if (pagination === false) {\n return false;\n }\n if (typeof pagination === 'object') {\n // 优先使用用户传入的值,然后合并 state 中的值(但不覆盖用户的值)\n return {\n currentPage: 1,\n pageSize: 10,\n ...(state.value.pagination || {}),\n ...pagination, // 用户传入的值优先级最高\n };\n }\n return state.value.pagination || { currentPage: 1, pageSize: 10 };\n});\n\n// 获取记录的 key(需要在 watch 之前定义)\nconst getRecordKey = (record: Data, index: number): string | number => {\n if (props.rowKey) {\n if (typeof props.rowKey === 'function') {\n return props.rowKey(record);\n }\n return get(record, props.rowKey, index);\n }\n return get(record, 'key', index);\n};\n\n// 分组数据处理(使用 watch 而不是 computed,因为需要副作用)\nwatch(\n () => [props.dataSource, props.groupBy],\n () => {\n const dataSource = props.dataSource || [];\n\n // 如果设置了 groupBy,进行分组\n const groupBy = props.groupBy;\n if (groupBy) {\n // 支持字符串、数字或函数类型\n let groupByFn: (record: Data) => string | number;\n if (typeof groupBy === 'function') {\n groupByFn = groupBy;\n } else if (typeof groupBy === 'string' || typeof groupBy === 'number') {\n // 字符串或数字类型:作为 dataIndex 使用\n groupByFn = (record: Data) => get(record, groupBy as string, '');\n } else {\n state.value.groups = null;\n state.value.groupKeys = [];\n return;\n }\n\n // 统一数据结构:使用 Map<string | number, Data[]> 与 React 版本保持一致\n const groups = new Map<string | number, Data[]>();\n const groupKeys: (string | number)[] = [];\n\n dataSource.forEach((record, _index) => {\n const groupKey = groupByFn(record);\n\n if (!groups.has(groupKey)) {\n groups.set(groupKey, []);\n groupKeys.push(groupKey);\n }\n\n groups.get(groupKey)!.push(record);\n });\n\n state.value.groups = groups;\n state.value.groupKeys = groupKeys;\n\n // 处理 defaultExpandAllGroupRows 和 expandAllGroupRows\n if (props.defaultExpandAllGroupRows || props.expandAllGroupRows) {\n const newExpandedRowKeys = [...state.value.expandedRowKeys];\n groupKeys.forEach((groupKey) => {\n if (!newExpandedRowKeys.includes(groupKey)) {\n newExpandedRowKeys.push(groupKey);\n }\n });\n state.value.expandedRowKeys = newExpandedRowKeys;\n }\n } else {\n state.value.groups = null;\n state.value.groupKeys = [];\n }\n\n // 处理树形数据的 defaultExpandAllRows 和 expandAllRows\n // 使用 foundation 的 initExpandedRowKeys 方法,与 React 版本保持一致\n // 需要在 nextTick 中调用,确保 foundation 已经初始化\n if (\n props.defaultExpandAllRows ||\n props.expandAllRows ||\n props.defaultExpandAllGroupRows ||\n props.expandAllGroupRows\n ) {\n nextTick(() => {\n foundation.initExpandedRowKeys({ groups: state.value.groups });\n });\n }\n },\n { immediate: true }\n);\n\n// 监听 expandAllGroupRows 和 expandAllRows 的变化(defaultExpandAllGroupRows 和 defaultExpandAllRows 只在初始化时生效)\nwatch([() => props.expandAllGroupRows, () => props.expandAllRows], () => {\n if (props.expandAllGroupRows || props.expandAllRows) {\n nextTick(() => {\n foundation.initExpandedRowKeys({ groups: state.value.groups });\n });\n }\n});\n\nconst groupedData = computed(() => {\n const dataSource = props.dataSource || [];\n\n // 如果设置了 groupBy,使用已计算的分组\n if (props.groupBy && state.value.groups) {\n // 返回分组后的数据\n const grouped: Array<{ type: 'section' | 'data'; groupKey?: string | number; data?: Data[] }> = [];\n\n state.value.groupKeys.forEach((groupKey) => {\n const groupData = (state.value.groups as Map<string | number, Data[]>).get(groupKey) || [];\n\n grouped.push({ type: 'section', groupKey });\n grouped.push({ type: 'data', data: groupData });\n });\n\n return grouped;\n }\n\n return dataSource;\n});\n\nconst rawDataForFilterSort = computed(() => {\n return Array.isArray(groupedData.value) &&\n groupedData.value.length > 0 &&\n typeof groupedData.value[0] === 'object' &&\n 'type' in groupedData.value[0]\n ? groupedData.value.filter((item: any) => item.type === 'data').flatMap((item: any) => item.data || [])\n : (groupedData.value as Data[]);\n});\n\n// 监听 columnsWithSelectionAndExpand 中 filteredValue 的变化,同步到 queries\n// 这样当用户在自定义表头筛选器中直接修改 filteredValue 时,能够触发筛选\n// 注意:这里监听 columnsWithSelectionAndExpand 而不是 mergedColumnsWithQueries,\n// 因为 mergedColumnsWithQueries 依赖于 queries,可能导致循环依赖\n// 性能优化:只提取有 filteredValue 和 onFilter 的列,避免不必要的遍历和深度比较\nwatch(\n () => {\n const columns = columnsWithSelectionAndExpand.value;\n if (!columns || columns.length === 0) {\n return null;\n }\n // 只提取有 onFilter 的列,减少不必要的处理\n const filterColumns = columns\n .filter((col) => {\n const dataIndex = col.dataIndex || col.key;\n return dataIndex && col.onFilter;\n })\n .map((col) => {\n const dataIndex = col.dataIndex || col.key;\n const filteredValue = col.filteredValue;\n // 只提取必要信息,避免创建大对象\n return {\n dataIndex: dataIndex as string,\n // 对于数组,使用 JSON.stringify 进行浅比较(比 isEqual 快)\n // 对于非数组,直接使用值\n filteredValueKey: Array.isArray(filteredValue)\n ? `${dataIndex}:${filteredValue.length}:${filteredValue.join(',')}`\n : filteredValue,\n filteredValue,\n onFilter: col.onFilter,\n };\n });\n return filterColumns.length > 0 ? filterColumns : null;\n },\n (columnFilters, oldColumnFilters) => {\n if (!columnFilters || columnFilters.length === 0) {\n return;\n }\n // 如果旧值存在且长度相同,可以快速比较\n if (oldColumnFilters && oldColumnFilters.length === columnFilters.length) {\n let hasChange = false;\n for (let i = 0; i < columnFilters.length; i++) {\n if (columnFilters[i].filteredValueKey !== oldColumnFilters[i]?.filteredValueKey) {\n hasChange = true;\n break;\n }\n }\n if (!hasChange) {\n return; // 没有变化,直接返回\n }\n }\n // 有变化时才进行详细比较和更新\n columnFilters.forEach((columnFilter) => {\n const { dataIndex, filteredValue: columnFilteredValue, onFilter } = columnFilter;\n if (!dataIndex || !onFilter || columnFilteredValue === undefined) {\n return;\n }\n const curQuery = foundation.getQuery(dataIndex);\n const queryFilteredValue = get(curQuery, 'filteredValue');\n // 快速比较:先比较引用,再比较值\n if (columnFilteredValue !== queryFilteredValue && !isEqual(columnFilteredValue, queryFilteredValue)) {\n adapter.setQuery({\n dataIndex,\n key: undefined, // 使用 dataIndex 作为 key\n filteredValue: Array.isArray(columnFilteredValue) ? columnFilteredValue : [],\n onFilter: onFilter,\n });\n }\n });\n },\n { flush: 'post' }\n);\n\n// 注意:排序/筛选属于\"带副作用的计算\"(foundation 内部可能会写缓存/状态)。\n// 不能放在 computed 里,否则会造成\"render -> computed -> 写响应式 -> render...\"的递归更新。\nwatch(\n [() => state.value.queries, () => rawDataForFilterSort.value],\n ([queries, dataSource]) => {\n // 无查询 / 无 foundation:直接回退到原始数据\n if (!foundation || !queries || queries.length === 0) {\n if (state.value.cachedFilteredSortedDataSource !== dataSource) {\n adapter.setCachedFilteredSortedDataSource(dataSource);\n }\n return;\n }\n\n try {\n const nextDataSource = foundation.getFilteredSortedDataSource(dataSource, queries);\n // 避免无意义写入触发更新\n if (!isEqual(nextDataSource, state.value.cachedFilteredSortedDataSource)) {\n adapter.setCachedFilteredSortedDataSource(nextDataSource);\n }\n } catch (e) {\n console.warn('Table sorting error:', e);\n // 出错时也回退到原始数据\n if (state.value.cachedFilteredSortedDataSource !== dataSource) {\n adapter.setCachedFilteredSortedDataSource(dataSource);\n }\n }\n },\n { immediate: true }\n);\n\nconst sortedData = computed(() => {\n return state.value.cachedFilteredSortedDataSource || rawDataForFilterSort.value;\n});\n\nconst pageData = computed(() => {\n const dataSource = sortedData.value;\n const pagination = mergedPagination.value;\n\n const propPagination = props.pagination;\n const isControlled = propPagination && typeof propPagination === 'object' && propPagination.currentPage != null;\n\n if (pagination && typeof pagination === 'object' && pagination !== false && !isControlled) {\n const currentPage = pagination.currentPage || 1;\n const pageSize = pagination.pageSize || 10;\n const start = (currentPage - 1) * pageSize;\n const end = start + pageSize;\n return dataSource.slice(start, end);\n }\n\n return dataSource;\n});\n\nconst displayData = computed(() => {\n // 如果有分组,需要将分组行和数据行合并\n if (props.groupBy && state.value.groups) {\n // 获取排序和筛选后的数据,如果为空或未初始化则使用原始数据源\n const sortedFilteredData =\n state.value.cachedFilteredSortedDataSource && state.value.cachedFilteredSortedDataSource.length > 0\n ? state.value.cachedFilteredSortedDataSource\n : props.dataSource || [];\n\n // 重新组织分组数据(基于排序和筛选后的数据)\n const result: any[] = [];\n const groupKeys = state.value.groupKeys || [];\n\n // 创建一个 Map 来快速查找 record 对应的 key\n const recordKeyMap = new Map<Data, string | number>();\n const allKeys = new Set<string | number>();\n sortedFilteredData.forEach((record) => {\n // 使用 record 本身来获取 key,不依赖索引\n const key = props.rowKey\n ? typeof props.rowKey === 'function'\n ? props.rowKey(record)\n : get(record, props.rowKey, '')\n : get(record, 'key', '');\n if (key != null && key !== '') {\n recordKeyMap.set(record, key);\n allKeys.add(key);\n }\n });\n\n groupKeys.forEach((groupKey) => {\n const groupRecords = (state.value.groups as Map<string | number, Data[]>).get(groupKey);\n if (!Array.isArray(groupRecords) || groupRecords.length === 0) {\n return;\n }\n\n // 创建 groupRecords 的 key Set 用于快速查找\n const groupKeySet = new Set<string | number>();\n if (Array.isArray(groupRecords)) {\n groupRecords.forEach((record) => {\n const key = props.rowKey\n ? typeof props.rowKey === 'function'\n ? props.rowKey(record)\n : get(record, props.rowKey, '')\n : get(record, 'key', '');\n if (key != null && key !== '') {\n groupKeySet.add(key);\n }\n });\n }\n\n // 获取该分组中在排序和筛选后数据中的记录\n // 如果 sortedFilteredData 为空,直接使用 groupRecords\n let groupData: Data[] = [];\n\n // 如果 groupKeySet 为空(说明无法从 groupRecords 中提取 key),直接使用 groupRecords\n if (groupKeySet.size === 0) {\n // 确保 groupRecords 中的所有项都是对象\n groupData = groupRecords.filter((item) => item && typeof item === 'object' && !Array.isArray(item));\n } else if (sortedFilteredData.length > 0) {\n // 从 sortedFilteredData 中筛选出属于该分组的记录\n groupData = sortedFilteredData.filter((record) => {\n // 先尝试从 recordKeyMap 获取 key\n let key = recordKeyMap.get(record);\n if (key == null || key === '') {\n // 如果 recordKeyMap 中没有,直接计算 key\n key = props.rowKey\n ? typeof props.rowKey === 'function'\n ? props.rowKey(record)\n : get(record, props.rowKey, '')\n : get(record, 'key', '');\n }\n return key != null && key !== '' && groupKeySet.has(key);\n });\n\n // 如果通过 key 匹配失败,直接使用 groupRecords\n if (groupData.length === 0 && groupRecords.length > 0) {\n // 确保 groupRecords 中的所有项都是对象\n groupData = groupRecords.filter((item) => item && typeof item === 'object' && !Array.isArray(item));\n }\n } else {\n // 如果 sortedFilteredData 为空,直接使用 groupRecords\n // 确保 groupRecords 中的所有项都是对象\n groupData = groupRecords.filter((item) => item && typeof item === 'object' && !Array.isArray(item));\n }\n\n // 只要分组在原始数据中存在,就添加分组行(即使排序筛选后没有数据)\n // 分组行应该总是显示,数据行根据展开状态和是否有匹配数据来决定\n result.push({ __semiTableGroupSection: true, groupKey });\n // 只有当分组展开且有匹配的数据时才添加数据行\n if (isGroupExpanded(groupKey) && groupData.length > 0) {\n result.push(...groupData);\n }\n });\n\n // 应用分页(如果有)\n const pagination = mergedPagination.value;\n const propPagination = props.pagination;\n const isControlled = propPagination && typeof propPagination === 'object' && propPagination.currentPage != null;\n\n if (pagination && typeof pagination === 'object' && pagination !== false && !isControlled) {\n // 分页时需要保持分组行的位置(简化处理:暂时不分页)\n return result;\n }\n\n return result;\n }\n\n if (!isTreeTable.value) {\n return pageData.value;\n }\n\n const ds = props.dataSource || [];\n const flat: any[] = [];\n const walk = (list: any[], level: number) => {\n list.forEach((item, idx) => {\n if (!item) {\n return;\n }\n // 为树形行注入 level(不改动原对象引用,避免影响用户数据)\n const row = { ...(item as any), __semiTableTreeLevel: level };\n flat.push(row);\n\n const key = getRecordKey(item, idx);\n const expanded = state.value.expandedRowKeys.includes(key);\n if (expanded && hasTreeChildren(item)) {\n walk((item as any)[childrenRecordName.value], level + 1);\n }\n });\n };\n walk(ds as any[], 0);\n return flat;\n});\n\nconst showPagination = computed(() => {\n return props.pagination !== false && mergedPagination.value !== false;\n});\n\nconst memoizedPagination = computed(() => {\n if (!mergedPagination.value || typeof mergedPagination.value !== 'object') {\n return null;\n }\n const result = foundation.memoizedPagination(mergedPagination.value);\n return result;\n});\n\nconst paginationProps = computed(() => {\n const pagination = memoizedPagination.value;\n if (!pagination) {\n return null;\n }\n // 从 mergedPagination 中获取原始 total,确保用户传入的 total 不会被覆盖\n const originalPagination = mergedPagination.value;\n let total: number;\n if (originalPagination && typeof originalPagination === 'object' && originalPagination.total !== undefined) {\n total = originalPagination.total;\n } else if (pagination.total !== undefined) {\n total = pagination.total;\n } else {\n total = (props.dataSource || []).length;\n }\n\n // 从原始 props.pagination 中获取回调函数\n const originalPaginationObj = props.pagination && typeof props.pagination === 'object' ? props.pagination : null;\n\n return {\n currentPage: pagination.currentPage || 1,\n pageSize: pagination.pageSize || 10,\n total,\n onPageChange: (page: number) => {\n adapter.setCurrentPage(page);\n if (originalPaginationObj && typeof originalPaginationObj.onPageChange === 'function') {\n originalPaginationObj.onPageChange(page, pagination.pageSize || 10);\n }\n },\n onPageSizeChange: (pageSize: number) => {\n adapter.setPagination({ ...pagination, pageSize, currentPage: 1 });\n if (originalPaginationObj && typeof originalPaginationObj.onPageSizeChange === 'function') {\n originalPaginationObj.onPageSizeChange(pageSize, 1);\n }\n },\n };\n});\n\nconst renderPagination = computed(() => {\n if (props.renderPagination) {\n return () => props.renderPagination(memoizedPagination.value as TablePaginationProps);\n }\n return null;\n});\n\nconst getPaginationInfo = (locale?: any) => {\n if (!memoizedPagination.value) {\n return '';\n }\n return foundation.formatPaginationInfo(memoizedPagination.value, locale?.pageText || '');\n};\n\nconst paginationPosition = computed(() => {\n const pagination = mergedPagination.value;\n if (pagination && typeof pagination === 'object') {\n return pagination.position || 'bottom';\n }\n return 'bottom';\n});\n\n// Methods\nconst getColumnStyle = (column: ColumnProps) => {\n const style: { width?: string; minWidth?: string } = {};\n if (column.width) {\n const width = typeof column.width === 'number' ? `${column.width}px` : column.width;\n style.width = width;\n style.minWidth = width;\n }\n return style;\n};\n\n// 获取列的插槽名称(用于作用域插槽)\nconst getColumnSlotName = (column: ColumnProps): string | null => {\n // 优先使用 key,其次使用 dataIndex\n if (column.key) {\n return String(column.key);\n }\n if (column.dataIndex) {\n return String(column.dataIndex);\n }\n return null;\n};\n\n// 获取列的值\nconst getColumnValue = (record: Data, column: ColumnProps): any => {\n if (column.dataIndex) {\n return get(record, column.dataIndex, '');\n }\n return record;\n};\n\nconst getRowClass = (record: Data, index: number) => {\n const customRowProps = props.onRow ? props.onRow(record, index) : {};\n const key = getRecordKey(record, index);\n // 确保返回一个字符串,避免初始化时 className 不生效\n const baseClass = classnames(\n `${prefixCls.value}-row`,\n {\n [`${prefixCls.value}-row-selected`]: isRowSelected(record),\n [`${prefixCls.value}-row-expanded`]: isRowExpanded(record),\n [`${prefixCls.value}-row-disabled`]: isRowDisabled(record),\n [`${prefixCls.value}-row-hover`]: state.value.hoveredRowKey === key,\n },\n customRowProps.className\n );\n return baseClass || '';\n};\n\nconst getRowStyle = (record: Data, index: number): CSSProperties => {\n const customRowProps = props.onRow ? props.onRow(record, index) : {};\n // 确保返回一个响应式对象,避免初始化时样式不生效\n if (customRowProps && customRowProps.style) {\n return { ...customRowProps.style };\n }\n return {};\n};\n\nconst getRowProps = (record: Data, index: number) => {\n const customRowProps = props.onRow ? props.onRow(record, index) : {};\n if (!customRowProps || typeof customRowProps !== 'object') {\n return {};\n }\n // class/style 已由 getRowClass/getRowStyle 处理;事件由各 handler 兜底触发,其他原生属性透传到 tr\n const {\n className: _className,\n style: _style,\n onClick: _onClick,\n onDoubleClick: _onDoubleClick,\n onMouseEnter: _onMouseEnter,\n onMouseLeave: _onMouseLeave,\n ...rest\n } = customRowProps as any;\n // 这些变量仅用于从对象中排除,不需要使用\n void _className;\n void _style;\n void _onClick;\n void _onDoubleClick;\n void _onMouseEnter;\n void _onMouseLeave;\n return rest;\n};\n\n// 获取分组行的属性\nconst getGroupedRowProps = (groupKey: string | number | undefined, index: number) => {\n if (!props.onGroupedRow) {\n return {};\n }\n // 构造分组 record 对象(与 React 版本一致)\n const groupRecordsFromMap = state.value.groups\n ? (state.value.groups as Map<string | number, Data[]>).get(groupKey!)\n : null;\n // 直接使用 groupRecordsFromMap,因为数据结构已经统一为 Map<string | number, Data[]>\n const groupRecord = { groupKey, records: groupRecordsFromMap || [] } as any;\n const customProps = props.onGroupedRow(groupRecord, index);\n if (!customProps || typeof customProps !== 'object') {\n return {};\n }\n const { ...rest } = customProps as any;\n return rest;\n};\n\nconst handleGroupRowExpanded = (expanded: boolean, groupKey: string | number, e: MouseEvent) => {\n if (!props.clickGroupedRowToExpand) {\n return;\n }\n\n const groupRecordsFromMap = state.value.groups\n ? (state.value.groups as Map<string | number, Data[]>).get(groupKey)\n : null;\n\n if (!groupRecordsFromMap || groupRecordsFromMap.length === 0) {\n return;\n }\n\n const newExpanded = expanded;\n\n if (newExpanded) {\n // 展开:添加 groupKey 到 expandedRowKeys(分组行的展开状态)\n if (!state.value.expandedRowKeys.includes(groupKey)) {\n state.value.expandedRowKeys = [...state.value.expandedRowKeys, groupKey];\n }\n } else {\n // 收起:移除 groupKey\n state.value.expandedRowKeys = state.value.expandedRowKeys.filter((k) => k !== groupKey);\n }\n\n // 触发 onExpand 和 onExpandedRowsChange 事件(如果需要)\n if (props.onExpand) {\n // 直接使用 groups Map 中的 records,因为数据结构已经统一为 Map<string | number, Data[]>\n const groupRecordsFromMap = state.value.groups\n ? (state.value.groups as Map<string | number, Data[]>).get(groupKey)\n : null;\n const groupRecord = { groupKey, records: groupRecordsFromMap || [] } as any;\n props.onExpand(newExpanded, groupRecord, e);\n }\n\n if (props.onExpandedRowsChange) {\n const expandedRows = getExpandedRowsByKeys(state.value.expandedRowKeys);\n props.onExpandedRowsChange(expandedRows as any);\n }\n};\n\nconst handleGroupedRowClick = (groupKey: string | number | undefined, index: number, e: MouseEvent) => {\n if (props.clickGroupedRowToExpand) {\n // 如果启用了点击分组行展开,则切换该分组的展开状态\n const groupRecordsForExpand = state.value.groups\n ? (state.value.groups as Map<string | number, Data[]>).get(groupKey!)\n : null;\n if (Array.isArray(groupRecordsForExpand) && groupRecordsForExpand.length > 0) {\n const groupKeys = groupRecordsForExpand.map((record) => getRecordKey(record, 0));\n const allExpanded = groupKeys.every((key) => state.value.expandedRowKeys.includes(key));\n if (allExpanded) {\n // 全部展开则全部收起\n state.value.expandedRowKeys = state.value.expandedRowKeys.filter((k) => !groupKeys.includes(k));\n } else {\n // 否则全部展开\n const newExpandedKeys = [...state.value.expandedRowKeys];\n groupKeys.forEach((key) => {\n if (!newExpandedKeys.includes(key)) {\n newExpandedKeys.push(key);\n }\n });\n state.value.expandedRowKeys = newExpandedKeys;\n }\n }\n }\n\n if (props.onGroupedRow) {\n // 直接使用 groups Map 中的 records,因为数据结构已经统一为 Map<string | number, Data[]>\n const groupRecordsFromMap = state.value.groups\n ? (state.value.groups as Map<string | number, Data[]>).get(groupKey!)\n : null;\n const groupRecord = { groupKey, records: groupRecordsFromMap || [] } as any;\n const customProps = props.onGroupedRow(groupRecord, index);\n if (customProps && typeof customProps === 'object' && customProps.onClick) {\n customProps.onClick(e);\n }\n }\n};\n\n// 渲染分组行内容\nconst renderGroupSection = (groupKey: string | number | undefined) => {\n if (!props.renderGroupSection) {\n return h('span', {}, String(groupKey || ''));\n }\n // 获取该分组的所有 row keys\n const groupRecords = state.value.groups\n ? (state.value.groups as Map<string | number, Data[]>).get(groupKey!)\n : null;\n // 从 groupRecords 中提取 rowKeys,确保 groupRecords 是数组\n const groupRowKeys =\n Array.isArray(groupRecords) && groupRecords.length > 0\n ? groupRecords.map((record) => getRecordKey(record, 0))\n : [];\n\n const result = props.renderGroupSection(groupKey, groupRowKeys);\n // 如果返回的是对象(包含 children),则返回 children,否则直接返回\n if (result && typeof result === 'object' && 'children' in result) {\n return result.children;\n }\n return result;\n};\n\n// 定义 isRowDisabled 函数(需要在 useTableSelection 之前定义)\nconst isRowDisabled = (record: Data): boolean => {\n const key = getRecordKey(record, 0);\n return state.value.disabledRowKeysSet.has(key);\n};\n\n// 使用 composable 处理选择逻辑\nconst { isRowSelected, getRowSelectionProps, titleSelectionProps, renderSelection } = useTableSelection({\n rowSelection: props.rowSelection,\n pageData,\n dataSource: computed(() => props.dataSource || []),\n state,\n adapter,\n getRecordKey,\n isRowDisabled,\n childrenRecordName: props.childrenRecordName,\n});\n\nconst isRowExpanded = (record: Data): boolean => {\n const key = getRecordKey(record, 0);\n return state.value.expandedRowKeys.includes(key);\n};\n\nconst isGroupExpanded = (groupKey: string | number | undefined): boolean => {\n if (groupKey == null) {\n return false;\n }\n // React 版本使用 isExpanded(expandedRowKeys, groupKey),直接检查 groupKey 是否在 expandedRowKeys 中\n return state.value.expandedRowKeys.includes(groupKey);\n};\n\n// 渲染分组行的展开图标\nconst renderGroupExpandIcon = (groupKey: string | number | undefined) => {\n if (props.expandIcon === false) {\n return null;\n }\n const expanded = isGroupExpanded(groupKey);\n // 如果有自定义的 renderExpandIcon,使用它(传递 groupKey 作为第三个参数)\n if (typeof props.renderExpandIcon === 'function') {\n const result = props.renderExpandIcon({ groupKey } as any, false, groupKey);\n if (result) {\n return result;\n }\n }\n return h(CustomExpandIcon, {\n expanded,\n componentType: 'expand',\n expandIcon: props.expandIcon,\n prefixCls: prefixCls.value,\n onClick: (nextExpand: boolean, e: MouseEvent) => handleGroupExpandClick(groupKey, e),\n });\n};\n\nconst handleGroupExpandClick = (groupKey: string | number | undefined, e: MouseEvent) => {\n if (groupKey == null) {\n return;\n }\n const expanded = isGroupExpanded(groupKey);\n const newExpanded = !expanded;\n\n // 更新 expandedRowKeys:直接使用 groupKey\n if (newExpanded) {\n // 展开:添加 groupKey\n if (!state.value.expandedRowKeys.includes(groupKey)) {\n state.value.expandedRowKeys = [...state.value.expandedRowKeys, groupKey];\n }\n } else {\n // 收起:移除 groupKey\n state.value.expandedRowKeys = state.value.expandedRowKeys.filter((k) => k !== groupKey);\n }\n\n // 触发 onExpand 和 onExpandedRowsChange 事件\n if (props.onExpand) {\n // 直接使用 groups Map 中的 records,因为数据结构已经统一为 Map<string | number, Data[]>\n const groupRecordsFromMap = state.value.groups\n ? (state.value.groups as Map<string | number, Data[]>).get(groupKey)\n : null;\n const groupRecord = { groupKey, records: groupRecordsFromMap || [] } as any;\n props.onExpand(newExpanded, groupRecord, e);\n }\n\n if (props.onExpandedRowsChange) {\n const expandedRows = getExpandedRowsByKeys(state.value.expandedRowKeys);\n props.onExpandedRowsChange(expandedRows as any);\n }\n\n adapter.notifyExpand(newExpanded, { groupKey } as any, e);\n adapter.notifyExpandedRowsChange(getExpandedRowsByKeys(state.value.expandedRowKeys) as any);\n};\n\nconst handleRowClick = (record: Data, index: number, e: MouseEvent) => {\n const customRowProps = props.onRow ? props.onRow(record, index) : {};\n if (customRowProps.onClick) {\n customRowProps.onClick(e);\n }\n\n // 如果启用了 expandRowByClick,点击行时切换展开状态\n if (props.expandRowByClick && props.expandedRowRender) {\n const key = getRecordKey(record, index);\n toggleExpandRow(key, record, e);\n }\n};\n\nconst handleRowDoubleClick = (record: Data, e: MouseEvent) => {\n const customRowProps = props.onRow ? props.onRow(record, 0) : {};\n if (customRowProps.onDoubleClick) {\n customRowProps.onDoubleClick(e);\n }\n adapter.notifyRowDoubleClick?.(record, e);\n};\n\nconst handleRowMouseEnter = (record: Data, e: MouseEvent) => {\n const key = getRecordKey(record, 0);\n adapter.setHoveredRowKey(key);\n\n const customRowProps = props.onRow ? props.onRow(record, 0) : {};\n if (customRowProps.onMouseEnter) {\n customRowProps.onMouseEnter(e);\n }\n adapter.notifyRowMouseEnter?.(record, e);\n};\n\nconst handleRowMouseLeave = (record: Data, e: MouseEvent) => {\n adapter.setHoveredRowKey(null);\n\n const customRowProps = props.onRow ? props.onRow(record, 0) : {};\n if (customRowProps.onMouseLeave) {\n customRowProps.onMouseLeave(e);\n }\n adapter.notifyRowMouseLeave?.(record, e);\n};\n\nconst handleSorterClick = (column: ColumnProps, e: MouseEvent) => {\n if (!column.sorter) {\n return;\n }\n e.stopPropagation();\n if (sortingInTick) {\n return;\n }\n sortingInTick = true;\n queueMicrotask(releaseGuards);\n foundation.handleSort(column, e);\n};\n\nconst handleFilterSelect = (column: ColumnProps, data: any) => {\n const dataIndex = column.dataIndex || column.key;\n if (dataIndex) {\n foundation.handleFilterSelect(dataIndex as string, data);\n }\n};\n\nconst handleFilterDropdownVisibleChange = (column: ColumnProps, visible: boolean) => {\n if (column.onFilterDropdownVisibleChange) {\n column.onFilterDropdownVisibleChange(visible);\n }\n adapter.notifyFilterDropdownVisibleChange(visible, column.dataIndex || '');\n};\n\nconst getFixedLeftOffset = (column: ColumnProps, colIndex: number) => {\n if (!isFixedLeft(column)) {\n return false;\n }\n const widths = adapter.getCellWidths(flattenColumns.value) || [];\n return Math.round(arrayAdd(widths, 0, colIndex));\n};\n\nconst getFixedRightOffset = (column: ColumnProps, colIndex: number) => {\n if (!isFixedRight(column)) {\n return false;\n }\n const widths = adapter.getCellWidths(flattenColumns.value) || [];\n return Math.round(arrayAdd(widths, colIndex + 1));\n};\n\n// 滚动事件处理:同步表头和表体的横向滚动\n// 横向滚动同步不依赖 lastScrollLeft,避免首帧不同步\nlet scrollPositionRafId: number | null = null;\nlet scrollPositionTimeoutId: number | null = null;\n\nconst applyScrollPositionClassName = (position: BodyScrollPosition) => {\n const el = wrapRef.value;\n if (!el) {\n return;\n }\n const { value: p } = prefixCls;\n const positionAll = [\n `${p}-scroll-position-both`,\n `${p}-scroll-position-middle`,\n `${p}-scroll-position-left`,\n `${p}-scroll-position-right`,\n ];\n if (position === 'both') {\n const accept = [`${p}-scroll-position-left`, `${p}-scroll-position-right`];\n el.classList.remove(...positionAll.filter((c) => !accept.includes(c)));\n el.classList.add(...accept);\n return;\n }\n const accept = [`${p}-scroll-position-${position}`];\n el.classList.remove(...positionAll.filter((c) => !accept.includes(c)));\n el.classList.add(...accept);\n};\n\nconst setScrollPositionClassName = () => {\n // 虚拟滚动时使用 virtualizedBodyRef.containerRef,非虚拟滚动时使用 bodyWrapRef\n const node =\n props.virtualized && virtualizedBodyRef.value?.containerRef\n ? virtualizedBodyRef.value.containerRef\n : bodyWrapRef.value;\n if (node && node.children && node.children.length) {\n const scrollToLeft = node.scrollLeft === 0;\n // why use Math.abs? @see https://bugzilla.mozilla.org/show_bug.cgi?id=1447743\n const tableEl = node.children[0] as HTMLElement;\n const scrollToRight =\n Math.abs(node.scrollLeft) + 1 >= tableEl.getBoundingClientRect().width - node.getBoundingClientRect().width;\n if (scrollToLeft && scrollToRight) {\n applyScrollPositionClassName('both');\n } else if (scrollToLeft) {\n applyScrollPositionClassName('left');\n } else if (scrollToRight) {\n applyScrollPositionClassName('right');\n } else {\n applyScrollPositionClassName('middle');\n }\n }\n};\n\nconst scheduleSetScrollPositionClassName = () => {\n if (scrollPositionRafId != null) {\n return;\n }\n scrollPositionRafId = window.requestAnimationFrame(() => {\n scrollPositionRafId = null;\n setScrollPositionClassName();\n });\n};\n\n// 在横向滚动过程中频繁读写布局容易导致 fixed sticky 首帧抖动\n// 这里改成滚动停止后再更新阴影边界 class(体验上阴影会延迟几十毫秒出现,但能换来稳定的 fixed)\nconst scheduleSetScrollPositionClassNameAfterScrollEnd = () => {\n if (scrollPositionTimeoutId != null) {\n window.clearTimeout(scrollPositionTimeoutId);\n }\n scrollPositionTimeoutId = window.setTimeout(() => {\n scrollPositionTimeoutId = null;\n scheduleSetScrollPositionClassName();\n }, 80);\n};\n\nconst handleHeaderScroll = (e: Event) => {\n const target = e.target as HTMLElement;\n if (target !== e.currentTarget) {\n return;\n }\n const nextLeft = target.scrollLeft;\n // 虚拟滚动时使用 virtualizedBodyRef.containerRef,非虚拟滚动时使用 bodyWrapRef\n const body =\n props.virtualized && virtualizedBodyRef.value?.containerRef\n ? virtualizedBodyRef.value.containerRef\n : bodyWrapRef.value;\n if (body && body.scrollLeft !== nextLeft) {\n body.scrollLeft = nextLeft;\n }\n scheduleSetScrollPositionClassNameAfterScrollEnd();\n};\n\nconst handleBodyScroll = (e: Event) => {\n const target = e.target as HTMLElement;\n // 当使用虚拟滚动时,滚动事件来自 VirtualizedBody 的 containerRef\n // 此时不检查 target !== e.currentTarget\n if (!props.virtualized && target !== e.currentTarget) {\n return;\n }\n const nextLeft = target.scrollLeft;\n if (headerWrapRef.value && headerWrapRef.value.scrollLeft !== nextLeft) {\n headerWrapRef.value.scrollLeft = nextLeft;\n }\n // 不在滚动时触发布局测量,阴影边界交由 scroll-end 更新\n scheduleSetScrollPositionClassNameAfterScrollEnd();\n};\n\nlet lastScrollTop = 0;\nconst isIE11 = () => window.navigator.userAgent.match(/Trident\\/7\\./);\n\n// 获取表体滚动容器(虚拟滚动时使用 virtualizedBodyRef.containerRef,非虚拟滚动时使用 bodyWrapRef)\nconst getBodyScrollContainer = (): HTMLElement | null => {\n if (props.virtualized && virtualizedBodyRef.value?.containerRef) {\n return virtualizedBodyRef.value.containerRef;\n }\n return bodyWrapRef.value;\n};\n\n// 仅用于 IE11/需要 preventDefault 的场景(非 passive 监听)\nconst handleWheelNonPassive = (e: WheelEvent) => {\n const { scroll = {} } = props;\n const body = getBodyScrollContainer();\n // 关键:在 fixed header 模式下,优先接管横向滚动,确保 header/body 同步(避免首帧不同步造成\"抖动错觉\")\n // 说明:trackpad/鼠标滚轮的横向滚动会先触发 wheel,再触发 scroll;在这里同步能避免第一帧 header 还没跟上。\n if (useFixedHeader.value && (e.deltaX !== 0 || e.shiftKey) && body) {\n // shift+wheel 通常表示横向滚动,deltaY 作为横向增量\n const dx = e.deltaX !== 0 ? e.deltaX : e.deltaY;\n const maxLeft = Math.max(0, body.scrollWidth - body.clientWidth);\n const nextLeft = Math.min(maxLeft, Math.max(0, body.scrollLeft + dx));\n // 阻止浏览器先滚 body 再异步同步 header 产生的首帧错位\n e.preventDefault();\n body.scrollLeft = nextLeft;\n scheduleSetScrollPositionClassNameAfterScrollEnd();\n return;\n }\n // 针对 IE11 的特殊处理\n if (isIE11() && scroll.y) {\n e.preventDefault();\n const wd = e.deltaY;\n const { target } = e;\n const bodyTable = body;\n\n let scrollTop = 0;\n\n if (lastScrollTop) {\n scrollTop = lastScrollTop + wd;\n } else {\n scrollTop = wd;\n }\n\n if (bodyTable && target !== bodyTable) {\n bodyTable.scrollTop = scrollTop;\n }\n lastScrollTop = scrollTop;\n }\n};\n\n// 默认 wheel 处理:用 passive 监听,避免 Chrome 的 non-passive 警告\n// 不在这里调用 preventDefault(否则会触发 “Unable to preventDefault inside passive event listener”)\nconst handleWheelPassive = (_e: WheelEvent) => {\n if (!useFixedHeader.value) {\n return;\n }\n // 仅用于快速同步阴影边界 className(无需阻塞滚动)\n scheduleSetScrollPositionClassNameAfterScrollEnd();\n};\n\nlet unregisterWheelListener: null | (() => void) = null;\n\nconst registerWheelListener = () => {\n // 虚拟滚动时使用 virtualizedBodyRef.containerRef,非虚拟滚动时使用 bodyWrapRef\n const body =\n props.virtualized && virtualizedBodyRef.value?.containerRef\n ? virtualizedBodyRef.value.containerRef\n : bodyWrapRef.value;\n if (!body) {\n return;\n }\n const { scroll = {} } = props;\n // IE11 需要 preventDefault 的分支,保留非 passive\n const shouldNonPassive = Boolean(isIE11() && scroll.y);\n const handler = shouldNonPassive ? handleWheelNonPassive : handleWheelPassive;\n body.addEventListener('wheel', handler, { passive: !shouldNonPassive });\n unregisterWheelListener = () => {\n body.removeEventListener('wheel', handler as any);\n unregisterWheelListener = null;\n };\n};\n\nconst handleColumnResize = (column: ColumnProps, _e: { width: number }) => {\n // 更新 queries 中对应列的宽度\n const updatedQueries = state.value.queries.map((q) => {\n if ((q.key && q.key === column.key) || (q.dataIndex && q.dataIndex === column.dataIndex)) {\n return { ...q, width: _e.width };\n }\n return q;\n });\n\n // 如果 queries 中没有对应的列,添加一个\n const existingQuery = updatedQueries.find(\n (q) => (q.key && q.key === column.key) || (q.dataIndex && q.dataIndex === column.dataIndex)\n );\n if (!existingQuery) {\n const newQuery = {\n ...column,\n width: _e.width,\n };\n updatedQueries.push(newQuery);\n }\n\n // 更新查询状态\n adapter.setQueries(updatedQueries);\n\n // 触发 onChange 事件\n if (props.onChange) {\n const changeInfo = {\n filters: [],\n sorter: undefined,\n pagination: mergedPagination.value,\n extra: { changeType: 'resize' as const },\n };\n props.onChange(changeInfo as any);\n }\n};\n\nconst toggleExpandRow = (key: string | number, record: Data, e: MouseEvent) => {\n const expandedRowKeys = [...state.value.expandedRowKeys];\n const index = expandedRowKeys.indexOf(key);\n\n if (index > -1) {\n expandedRowKeys.splice(index, 1);\n } else {\n expandedRowKeys.push(key);\n }\n\n state.value.expandedRowKeys = expandedRowKeys;\n\n if (props.onExpand) {\n props.onExpand(!(index > -1), record, e);\n }\n\n if (props.onExpandedRowsChange) {\n props.onExpandedRowsChange(getExpandedRowsByKeys(expandedRowKeys) as any);\n }\n\n adapter.notifyExpand(!(index > -1), record, e);\n adapter.notifyExpandedRowsChange(getExpandedRowsByKeys(expandedRowKeys) as any);\n};\n\nconst getExpandIcon = (_record: Data) => {\n if (props.expandIcon) {\n return props.expandIcon;\n }\n return undefined;\n};\n\nconst isRowExpandable = (record: Data) => {\n const hasExpandedRowRender = typeof props.expandedRowRender === 'function';\n const hasRowExpandable = typeof props.rowExpandable === 'function';\n const hasChildren = hasTreeChildren(record as any);\n const strictExpandableResult = hasRowExpandable && props.rowExpandable!(record);\n const looseExpandableResult = !hasRowExpandable || strictExpandableResult;\n\n return (\n ((hasExpandedRowRender || hasChildren) && looseExpandableResult) ||\n (!(hasExpandedRowRender || hasChildren) && strictExpandableResult)\n );\n};\n\nconst renderExpandIcon = (record: Data, isNested = false) => {\n if (props.renderExpandIcon) {\n return props.renderExpandIcon(record, isNested);\n }\n\n if (!isRowExpandable(record)) {\n return () => null;\n }\n\n const key = getRecordKey(record, 0);\n const expanded = isRowExpanded(record);\n\n return () => {\n return h(CustomExpandIcon, {\n expanded,\n componentType: props.hideExpandedColumn || isNested ? 'tree' : 'expand',\n expandIcon: getExpandIcon(record),\n prefixCls: prefixCls.value,\n onClick: (nextExpand: boolean, e: MouseEvent) => toggleExpandRow(key, record, e),\n });\n };\n};\n\nconst handleItemsRendered = (_props: {\n overscanStartIndex: number;\n overscanStopIndex: number;\n visibleStartIndex: number;\n visibleStopIndex: number;\n}) => {\n // 虚拟滚动可见项变化时的处理\n // 可以用于优化渲染性能\n};\n\n// 选择相关逻辑已从 useTableSelection composable 中获取\n\nconst renderTitle = computed(() => {\n if (typeof props.title === 'function') {\n return () => props.title(pageData.value);\n }\n return () => props.title;\n});\n\nconst renderFooter = computed(() => {\n if (!props.footer) {\n return null;\n }\n let footer = props.footer;\n if (typeof footer === 'function') {\n footer = footer(pageData.value);\n }\n // 检查是否是有效的 VNode 或字符串\n if (typeof footer === 'string' || isVNode(footer)) {\n return () => h('div', { class: `${prefixCls.value}-footer`, 'x-semi-prop': 'footer' }, footer);\n }\n return null;\n});\n\n// Watch\n// 使用浅层监听 dataSource,只在数组引用变化时触发,减少不必要的重新计算\nwatch(\n () => props.dataSource,\n () => {\n if (foundation) {\n foundation.init();\n }\n },\n { immediate: false }\n);\n\nwatch(\n () => props.columns,\n () => {\n // 初始化 queries 从 columns\n const queries = TableFoundation.initColumnsFilteredValueAndSorterOrder([...flattenColumns.value]);\n adapter.setQueries(queries);\n if (foundation) {\n foundation.init();\n }\n },\n { immediate: true }\n // 注意:移除 deep: true,因为 columns 数组引用变化时已经足够触发更新\n // 如果用户需要修改单个 column 对象,应该替换整个 columns 数组\n);\n\n// ResizeObserver 用于检测滚动条\nlet resizeObserver: ResizeObserver | null = null;\n\nconst observeBodyResize = () => {\n // 虚拟滚动时使用 virtualizedBodyRef.containerRef,非虚拟滚动时使用 bodyWrapRef\n const bodyWrapDOM =\n props.virtualized && virtualizedBodyRef.value?.containerRef\n ? virtualizedBodyRef.value.containerRef\n : bodyWrapRef.value;\n\n if (!bodyWrapDOM) {\n return;\n }\n\n const syncScrollbarState = () => {\n if (!bodyWrapDOM) {\n return;\n }\n const { offsetWidth, clientWidth } = bodyWrapDOM;\n const bodyHasScrollBar = clientWidth < offsetWidth;\n adapter.setBodyHasScrollbar(bodyHasScrollBar);\n setScrollPositionClassName();\n };\n\n // 检测滚动条的回调\n const resizeCallback = () => {\n const update = () => syncScrollbarState();\n const requestAnimationFrame = window.requestAnimationFrame || window.setTimeout;\n requestAnimationFrame(update);\n };\n\n // 使用 ResizeObserver 监听 body 容器大小变化\n if (window.ResizeObserver) {\n if (resizeObserver) {\n resizeObserver.unobserve(bodyWrapDOM);\n resizeObserver = null;\n }\n resizeObserver = new ResizeObserver(resizeCallback);\n resizeObserver.observe(bodyWrapDOM);\n }\n\n // 关键:立刻同步一次,避免首次横向滚动时才触发布局更新导致 fixed 抖动\n syncScrollbarState();\n};\n\n// 当 virtualizedBodyRef 挂载后,调用 getVirtualizedListRef\nwatch(\n () => virtualizedBodyRef.value,\n (newVal) => {\n if (newVal && props.getVirtualizedListRef && props.virtualized) {\n // 传递一个类似 react-window List 的对象,包含 scrollToItem 等方法\n props.getVirtualizedListRef(newVal);\n }\n },\n { immediate: true }\n);\n\n// 初始化 queries\nonMounted(() => {\n const queries = TableFoundation.initColumnsFilteredValueAndSorterOrder([...flattenColumns.value]);\n adapter.setQueries(queries);\n if (foundation) {\n foundation.init();\n // 如果设置了 defaultExpandAllRows,需要在 init 之后再次调用 initExpandedRowKeys\n // 因为 init 时可能使用的是旧的 dataSource,需要确保使用最新的 dataSource\n if (\n props.defaultExpandAllRows ||\n props.expandAllRows ||\n props.defaultExpandAllGroupRows ||\n props.expandAllGroupRows\n ) {\n nextTick(() => {\n foundation.initExpandedRowKeys({ groups: state.value.groups });\n });\n }\n }\n\n nextTick(() => {\n setScrollPositionClassName();\n // 使用 passive wheel 监听,避免浏览器 non-passive 警告\n registerWheelListener();\n // 当有 scroll.y 时,监听 body 容器大小变化以检测滚动条\n if (props.scroll?.y) {\n observeBodyResize();\n }\n // 确保 virtualizedBodyRef 已挂载后调用 getVirtualizedListRef\n if (virtualizedBodyRef.value && props.getVirtualizedListRef && props.virtualized) {\n props.getVirtualizedListRef(virtualizedBodyRef.value);\n }\n });\n});\n\nwatch(\n () => props.scroll?.y,\n (y, prevY) => {\n if (y && y !== prevY) {\n nextTick(() => {\n observeBodyResize();\n });\n }\n }\n);\n\nconst handleWindowResize = () => {\n setScrollPositionClassName();\n};\n\nonMounted(() => {\n window.addEventListener('resize', handleWindowResize);\n});\n\nonUnmounted(() => {\n window.removeEventListener('resize', handleWindowResize);\n // 虚拟滚动时使用 virtualizedBodyRef.containerRef,非虚拟滚动时使用 bodyWrapRef\n const bodyWrapDOM =\n props.virtualized && virtualizedBodyRef.value?.containerRef\n ? virtualizedBodyRef.value.containerRef\n : bodyWrapRef.value;\n if (resizeObserver && bodyWrapDOM) {\n resizeObserver.unobserve(bodyWrapDOM);\n resizeObserver = null;\n }\n unregisterWheelListener?.();\n});\n\n// 暴露方法供外部调用\nconst getCurrentPageData = () => {\n const retObj: { dataSource?: Data[]; groups?: Map<string | number, Data[]> | null } = {};\n if (pageData.value) {\n retObj.dataSource = pageData.value;\n }\n if (state.value.groups) {\n retObj.groups = state.value.groups;\n }\n return cloneDeep(retObj);\n};\n\n/**\n * 重置表格垂直滚动位置到顶部\n */\nconst resetScrollY = () => {\n adapter.resetScrollY();\n};\n\n/**\n * 根据 rowKeys 获取对应的 record 对象数组\n * 支持树形数据:如果当前层级找不到所有记录,递归查找子节点\n * @param rowKeys - 行的 key 数组,如果不传则使用当前选中的 rowKeys\n * @returns 对应的 record 对象数组\n */\nconst getSelectedRows = (rowKeys?: (string | number)[]): Data[] => {\n const keysToFind = rowKeys || state.value.rowSelection?.selectedRowKeys || [];\n if (!keysToFind || keysToFind.length === 0) {\n return [];\n }\n const keySet = new Set(keysToFind);\n let dataSourceForRows: Data[];\n // 优先使用已排序筛选的数据源\n dataSourceForRows = adapter.getCachedFilteredSortedDataSource() || [];\n if (!dataSourceForRows || dataSourceForRows.length === 0) {\n dataSourceForRows = pageData.value || [];\n }\n if (!dataSourceForRows || dataSourceForRows.length === 0) {\n dataSourceForRows = props.dataSource || [];\n }\n\n const selectedRows: Data[] = [];\n\n /**\n * 递归查找匹配的 record\n * 如果当前层级未找到所有记录,继续在子节点中查找(支持树形数据)\n */\n const findRows = (data: Data[]): void => {\n if (!Array.isArray(data) || data.length === 0) {\n return;\n }\n for (const record of data) {\n const key = getRecordKey(record, 0);\n if (keySet.has(key)) {\n selectedRows.push(record);\n }\n }\n\n // 如果还有未找到的记录,递归查找子节点\n if (selectedRows.length < keysToFind.length) {\n const childrenRecordName = props.childrenRecordName || 'children';\n for (const record of data) {\n const children = get(record, childrenRecordName);\n if (Array.isArray(children) && children.length > 0) {\n findRows(children);\n }\n }\n }\n };\n\n findRows(dataSourceForRows);\n return cloneDeep(selectedRows);\n};\n\n/**\n * 获取所有行的 keys\n * @returns 所有行的 key 数组\n */\nconst getAllRowKeys = (): (string | number)[] => {\n // 优先使用缓存的已排序筛选的 rowKeys\n const cachedRowKeys = adapter.getCachedFilteredSortedRowKeys();\n if (cachedRowKeys && cachedRowKeys.length > 0) {\n return [...cachedRowKeys];\n }\n // 否则使用 state 中的 allRowKeys\n if (state.value.allRowKeys && state.value.allRowKeys.length > 0) {\n return [...state.value.allRowKeys];\n }\n // 如果都没有,则从当前数据源计算\n const dataSource = props.dataSource || [];\n const keys: (string | number)[] = [];\n const collectKeys = (data: Data[]) => {\n for (const record of data) {\n const key = getRecordKey(record, 0);\n keys.push(key);\n const childrenRecordName = props.childrenRecordName || 'children';\n const children = get(record, childrenRecordName);\n if (Array.isArray(children) && children.length > 0) {\n collectKeys(children);\n }\n }\n };\n collectKeys(dataSource);\n return keys;\n};\n\ndefineExpose({\n getCurrentPageData,\n resetScrollY,\n getSelectedRows,\n getAllRowKeys,\n});\n</script>\n"],"names":["props","__props","firstDataColumnIndex","computed","idx","cols","flattenColumns","key","_a","isInnerColumnKey","childrenRecordName","isTreeTable","ds","record","hasTreeChildren","getTreeLevel","getRowIndent","colIndex","shouldProvideExpandIcon","emit","__emit","prefixCls","cssClasses","slots","useSlots","bodyRef","ref","bodyWrapRef","headerWrapRef","virtualizedBodyRef","wrapRef","state","applyingQueriesInTick","sortingInTick","releaseGuards","baseAdapter","getDataAttr","useBaseComponent","getExpandedRowsByKeys","expandedRowKeys","keySet","index","getRecordKey","adapter","selectedRowKeys","disabledRowKeys","currentPage","pagination","groups","convertedGroups","dataSource","value","setArray","firstItem","records","itemKey","r","get","validRecords","item","query","queries","existingIndex","q","isEqual","flattenData","allRowKeys","hoveredRowKey","filteredSortedDataSource","filteredSortedRowKeys","allDisabledRowKeys","_visible","_dataIndex","changeInfo","expanded","mouseEvent","expandedRows","_record","_e","selected","selectedRows","e","rowSelection","changeRows","onSelectInvert","col","scroll","sticky","widths","columns","hw","flattenedWidths","flattenDeep","match","find","foundation","bodyHasScrollBar","isFixed","flattenedCols","column","useFixedHeader","useFoundation","TableFoundation","wrapperCls","classnames","wrapperStyle","style","wrapCls","y","tableWrapperCls","tableWrapperStyle","computedTableLayout","anyColumnFixed","tableCls","headerCls","hasSticky","showHeader","headerTableStyle","x","bodyTableStyle","getHeaderStyle","_b","stickyTop","getBodyStyle","hasData","normalizeSelectionColumn","rowSelectionObj","strings","numbers","normalizeExpandColumn","cloneColumns","children","rest","next","rawFlattenColumns","flattened","flattenColumnsUtil","columnsWithSelectionAndExpand","selectionColumn","destIndex","expandColumn","selectionIndex","insertIndex","assignColumnKeys","mergedColumnsWithQueries","queryColumn","queryFilteredValue","restQueryColumn","merged","hasSorter","hasFilter","useFullRender","clickColumnToSorter","processedColumn","rawTitle","titleMap","renderSelection","tableResizable","virtualizedOnScroll","tableContext","dataIndex","sortOrder","provideTableContext","selectedRowKeysSet","mergedPagination","watch","groupBy","groupByFn","groupKeys","_index","groupKey","newExpandedRowKeys","nextTick","groupedData","grouped","groupData","rawDataForFilterSort","filterColumns","filteredValue","columnFilters","oldColumnFilters","hasChange","i","columnFilter","columnFilteredValue","onFilter","curQuery","nextDataSource","sortedData","pageData","propPagination","isControlled","pageSize","start","end","displayData","sortedFilteredData","result","recordKeyMap","allKeys","groupRecords","groupKeySet","isGroupExpanded","flat","walk","list","level","row","showPagination","memoizedPagination","paginationProps","originalPagination","total","originalPaginationObj","page","renderPagination","getPaginationInfo","locale","paginationPosition","getColumnStyle","width","getColumnSlotName","getColumnValue","getRowClass","customRowProps","isRowSelected","isRowExpanded","isRowDisabled","getRowStyle","getRowProps","_className","_style","_onClick","_onDoubleClick","_onMouseEnter","_onMouseLeave","getGroupedRowProps","groupRecordsFromMap","groupRecord","customProps","handleGroupRowExpanded","newExpanded","k","handleGroupedRowClick","groupRecordsForExpand","newExpandedKeys","renderGroupSection","h","groupRowKeys","getRowSelectionProps","titleSelectionProps","useTableSelection","renderGroupExpandIcon","CustomExpandIcon","nextExpand","handleGroupExpandClick","handleRowClick","toggleExpandRow","handleRowDoubleClick","handleRowMouseEnter","handleRowMouseLeave","handleSorterClick","handleFilterSelect","data","handleFilterDropdownVisibleChange","visible","getFixedLeftOffset","isFixedLeft","arrayAdd","getFixedRightOffset","isFixedRight","scrollPositionRafId","scrollPositionTimeoutId","applyScrollPositionClassName","position","el","p","positionAll","accept","c","setScrollPositionClassName","node","scrollToLeft","tableEl","scrollToRight","scheduleSetScrollPositionClassName","scheduleSetScrollPositionClassNameAfterScrollEnd","handleHeaderScroll","target","nextLeft","body","handleBodyScroll","lastScrollTop","isIE11","getBodyScrollContainer","handleWheelNonPassive","dx","maxLeft","wd","bodyTable","scrollTop","handleWheelPassive","unregisterWheelListener","registerWheelListener","shouldNonPassive","handler","handleColumnResize","updatedQueries","newQuery","getExpandIcon","isRowExpandable","hasExpandedRowRender","hasRowExpandable","hasChildren","strictExpandableResult","renderExpandIcon","isNested","handleItemsRendered","_props","renderTitle","renderFooter","footer","isVNode","resizeObserver","observeBodyResize","bodyWrapDOM","syncScrollbarState","offsetWidth","clientWidth","resizeCallback","update","newVal","onMounted","prevY","handleWindowResize","onUnmounted","__expose","retObj","cloneDeep","rowKeys","keysToFind","dataSourceForRows","findRows","cachedRowKeys","keys","collectKeys","_openBlock","_createElementBlock","_mergeProps","_unref","_createVNode","Spin","_createElementVNode","_Fragment","_createBlock","_resolveDynamicComponent","LocaleConsumer","_withCtx","_toDisplayString","_renderList","_normalizeStyle","TableHeader","VirtualizedBody","Empty","rowIndex","$event","TableCell","isSelectionColumn","isLastLeftFixed","isFirstFixedRight","slotProps","_renderSlot","_ctx","_normalizeClass","_hoisted_6"],"mappings":"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"}
|