@chenzy-design/svelte 0.3.1 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_floating/use-floating.d.ts +6 -0
- package/dist/_floating/use-floating.d.ts.map +1 -1
- package/dist/_floating/use-floating.js +38 -0
- package/dist/ai-chat-dialogue/AIChatDialogue.svelte +243 -0
- package/dist/ai-chat-dialogue/AIChatDialogue.svelte.d.ts +60 -0
- package/dist/ai-chat-dialogue/AIChatDialogue.svelte.d.ts.map +1 -0
- package/dist/ai-chat-dialogue/ContentItemRenderer.svelte +318 -0
- package/dist/ai-chat-dialogue/ContentItemRenderer.svelte.d.ts +18 -0
- package/dist/ai-chat-dialogue/ContentItemRenderer.svelte.d.ts.map +1 -0
- package/dist/ai-chat-dialogue/DialogueBox.svelte +403 -0
- package/dist/ai-chat-dialogue/DialogueBox.svelte.d.ts +50 -0
- package/dist/ai-chat-dialogue/DialogueBox.svelte.d.ts.map +1 -0
- package/dist/ai-chat-dialogue/index.d.ts +8 -0
- package/dist/ai-chat-dialogue/index.d.ts.map +1 -0
- package/dist/ai-chat-dialogue/index.js +6 -0
- package/dist/ai-chat-dialogue/meta.d.ts +174 -0
- package/dist/ai-chat-dialogue/meta.d.ts.map +1 -0
- package/dist/ai-chat-dialogue/meta.js +66 -0
- package/dist/ai-chat-dialogue/render-config.d.ts +57 -0
- package/dist/ai-chat-dialogue/render-config.d.ts.map +1 -0
- package/dist/ai-chat-input/AIChatInput.svelte +1196 -0
- package/dist/ai-chat-input/AIChatInput.svelte.d.ts +146 -0
- package/dist/ai-chat-input/AIChatInput.svelte.d.ts.map +1 -0
- package/dist/ai-chat-input/AIChatInputConfigureButton.svelte +94 -0
- package/dist/ai-chat-input/AIChatInputConfigureButton.svelte.d.ts +17 -0
- package/dist/ai-chat-input/AIChatInputConfigureButton.svelte.d.ts.map +1 -0
- package/dist/ai-chat-input/AIChatInputConfigureItem.svelte +40 -0
- package/dist/ai-chat-input/AIChatInputConfigureItem.svelte.d.ts +16 -0
- package/dist/ai-chat-input/AIChatInputConfigureItem.svelte.d.ts.map +1 -0
- package/dist/ai-chat-input/AIChatInputConfigureMcp.svelte +94 -0
- package/dist/ai-chat-input/AIChatInputConfigureMcp.svelte.d.ts +18 -0
- package/dist/ai-chat-input/AIChatInputConfigureMcp.svelte.d.ts.map +1 -0
- package/dist/ai-chat-input/AIChatInputConfigureRadioButton.svelte +52 -0
- package/dist/ai-chat-input/AIChatInputConfigureRadioButton.svelte.d.ts +17 -0
- package/dist/ai-chat-input/AIChatInputConfigureRadioButton.svelte.d.ts.map +1 -0
- package/dist/ai-chat-input/AIChatInputConfigureSelect.svelte +50 -0
- package/dist/ai-chat-input/AIChatInputConfigureSelect.svelte.d.ts +16 -0
- package/dist/ai-chat-input/AIChatInputConfigureSelect.svelte.d.ts.map +1 -0
- package/dist/ai-chat-input/InputSlotNode.svelte +50 -0
- package/dist/ai-chat-input/InputSlotNode.svelte.d.ts +5 -0
- package/dist/ai-chat-input/InputSlotNode.svelte.d.ts.map +1 -0
- package/dist/ai-chat-input/SelectSlotNode.svelte +54 -0
- package/dist/ai-chat-input/SelectSlotNode.svelte.d.ts +5 -0
- package/dist/ai-chat-input/SelectSlotNode.svelte.d.ts.map +1 -0
- package/dist/ai-chat-input/SkillSlotNode.svelte +82 -0
- package/dist/ai-chat-input/SkillSlotNode.svelte.d.ts +5 -0
- package/dist/ai-chat-input/SkillSlotNode.svelte.d.ts.map +1 -0
- package/dist/ai-chat-input/configure-context.d.ts +12 -0
- package/dist/ai-chat-input/configure-context.d.ts.map +1 -0
- package/dist/ai-chat-input/configure-context.js +14 -0
- package/dist/ai-chat-input/index.d.ts +9 -0
- package/dist/ai-chat-input/index.d.ts.map +1 -0
- package/dist/ai-chat-input/index.js +9 -0
- package/dist/ai-chat-input/input-slot-extension.d.ts +18 -0
- package/dist/ai-chat-input/input-slot-extension.d.ts.map +1 -0
- package/dist/ai-chat-input/input-slot-extension.js +55 -0
- package/dist/ai-chat-input/input-slot-plugins.d.ts +34 -0
- package/dist/ai-chat-input/input-slot-plugins.d.ts.map +1 -0
- package/dist/ai-chat-input/input-slot-plugins.js +478 -0
- package/dist/ai-chat-input/meta.d.ts +284 -0
- package/dist/ai-chat-input/meta.d.ts.map +1 -0
- package/dist/ai-chat-input/meta.js +106 -0
- package/dist/ai-chat-input/select-slot-extension.d.ts +16 -0
- package/dist/ai-chat-input/select-slot-extension.d.ts.map +1 -0
- package/dist/ai-chat-input/select-slot-extension.js +35 -0
- package/dist/ai-chat-input/skill-slot-extension.d.ts +22 -0
- package/dist/ai-chat-input/skill-slot-extension.d.ts.map +1 -0
- package/dist/ai-chat-input/skill-slot-extension.js +46 -0
- package/dist/anchor/Anchor.svelte +393 -242
- package/dist/anchor/Anchor.svelte.d.ts +40 -17
- package/dist/anchor/Anchor.svelte.d.ts.map +1 -1
- package/dist/anchor/AnchorLink.svelte +226 -0
- package/dist/anchor/AnchorLink.svelte.d.ts +19 -0
- package/dist/anchor/AnchorLink.svelte.d.ts.map +1 -0
- package/dist/anchor/context.d.ts +43 -0
- package/dist/anchor/context.d.ts.map +1 -0
- package/dist/anchor/context.js +26 -0
- package/dist/anchor/index.d.ts +11 -2
- package/dist/anchor/index.d.ts.map +1 -1
- package/dist/anchor/index.js +10 -1
- package/dist/anchor/meta.d.ts +92 -43
- package/dist/anchor/meta.d.ts.map +1 -1
- package/dist/anchor/meta.js +124 -38
- package/dist/anchor/types.d.ts +32 -5
- package/dist/anchor/types.d.ts.map +1 -1
- package/dist/audio-player/AudioPlayer.svelte +614 -0
- package/dist/audio-player/AudioPlayer.svelte.d.ts +21 -0
- package/dist/audio-player/AudioPlayer.svelte.d.ts.map +1 -0
- package/dist/audio-player/AudioSlider.svelte +162 -0
- package/dist/audio-player/AudioSlider.svelte.d.ts +20 -0
- package/dist/audio-player/AudioSlider.svelte.d.ts.map +1 -0
- package/dist/audio-player/index.d.ts +3 -0
- package/dist/audio-player/index.d.ts.map +1 -0
- package/dist/audio-player/index.js +2 -0
- package/dist/audio-player/meta.d.ts +74 -0
- package/dist/audio-player/meta.d.ts.map +1 -0
- package/dist/audio-player/meta.js +96 -0
- package/dist/autocomplete/AutoComplete.svelte +307 -411
- package/dist/autocomplete/AutoComplete.svelte.d.ts +52 -47
- package/dist/autocomplete/AutoComplete.svelte.d.ts.map +1 -1
- package/dist/autocomplete/meta.d.ts +150 -34
- package/dist/autocomplete/meta.d.ts.map +1 -1
- package/dist/autocomplete/meta.js +43 -21
- package/dist/avatar/Avatar.svelte +784 -211
- package/dist/avatar/Avatar.svelte.d.ts +28 -23
- package/dist/avatar/Avatar.svelte.d.ts.map +1 -1
- package/dist/avatar/AvatarGroup.svelte +151 -70
- package/dist/avatar/AvatarGroup.svelte.d.ts +16 -17
- package/dist/avatar/AvatarGroup.svelte.d.ts.map +1 -1
- package/dist/avatar/TopSlotSvg.svelte +62 -0
- package/dist/avatar/TopSlotSvg.svelte.d.ts +8 -0
- package/dist/avatar/TopSlotSvg.svelte.d.ts.map +1 -0
- package/dist/avatar/context.d.ts +28 -1
- package/dist/avatar/context.d.ts.map +1 -1
- package/dist/avatar/index.d.ts +2 -1
- package/dist/avatar/index.d.ts.map +1 -1
- package/dist/avatar/meta.d.ts +124 -36
- package/dist/avatar/meta.d.ts.map +1 -1
- package/dist/avatar/meta.js +117 -24
- package/dist/back-top/BackTop.svelte +81 -231
- package/dist/back-top/BackTop.svelte.d.ts +10 -33
- package/dist/back-top/BackTop.svelte.d.ts.map +1 -1
- package/dist/back-top/meta.d.ts +23 -72
- package/dist/back-top/meta.d.ts.map +1 -1
- package/dist/back-top/meta.js +19 -79
- package/dist/badge/Badge.svelte +187 -249
- package/dist/badge/Badge.svelte.d.ts +23 -14
- package/dist/badge/Badge.svelte.d.ts.map +1 -1
- package/dist/badge/meta.d.ts +52 -44
- package/dist/badge/meta.d.ts.map +1 -1
- package/dist/badge/meta.js +35 -33
- package/dist/banner/Banner.svelte +189 -274
- package/dist/banner/Banner.svelte.d.ts +20 -23
- package/dist/banner/Banner.svelte.d.ts.map +1 -1
- package/dist/banner/index.d.ts +2 -1
- package/dist/banner/index.d.ts.map +1 -1
- package/dist/banner/meta.d.ts +41 -87
- package/dist/banner/meta.d.ts.map +1 -1
- package/dist/banner/meta.js +59 -79
- package/dist/breadcrumb/Breadcrumb.svelte +240 -118
- package/dist/breadcrumb/Breadcrumb.svelte.d.ts +35 -19
- package/dist/breadcrumb/Breadcrumb.svelte.d.ts.map +1 -1
- package/dist/breadcrumb/Item.svelte +5 -5
- package/dist/breadcrumb/meta.d.ts +26 -19
- package/dist/breadcrumb/meta.d.ts.map +1 -1
- package/dist/breadcrumb/meta.js +51 -16
- package/dist/breadcrumb/types.d.ts +11 -1
- package/dist/breadcrumb/types.d.ts.map +1 -1
- package/dist/button/BaseButton.svelte +479 -0
- package/dist/button/BaseButton.svelte.d.ts +29 -0
- package/dist/button/BaseButton.svelte.d.ts.map +1 -0
- package/dist/button/Button.svelte +166 -296
- package/dist/button/Button.svelte.d.ts +12 -7
- package/dist/button/Button.svelte.d.ts.map +1 -1
- package/dist/button/ButtonGroup.svelte +66 -20
- package/dist/button/ButtonGroup.svelte.d.ts.map +1 -1
- package/dist/button/SplitButtonGroup.svelte +64 -101
- package/dist/button/SplitButtonGroup.svelte.d.ts +1 -21
- package/dist/button/SplitButtonGroup.svelte.d.ts.map +1 -1
- package/dist/button/meta.d.ts +28 -68
- package/dist/button/meta.d.ts.map +1 -1
- package/dist/button/meta.js +33 -24
- package/dist/calendar/Calendar.svelte +928 -1172
- package/dist/calendar/Calendar.svelte.d.ts +34 -104
- package/dist/calendar/Calendar.svelte.d.ts.map +1 -1
- package/dist/calendar/meta.d.ts +78 -168
- package/dist/calendar/meta.d.ts.map +1 -1
- package/dist/calendar/meta.js +123 -78
- package/dist/card/Card.svelte +171 -233
- package/dist/card/Card.svelte.d.ts +30 -24
- package/dist/card/Card.svelte.d.ts.map +1 -1
- package/dist/card/CardGroup.svelte +74 -0
- package/dist/card/CardGroup.svelte.d.ts +20 -0
- package/dist/card/CardGroup.svelte.d.ts.map +1 -0
- package/dist/card/CardMeta.svelte +38 -28
- package/dist/card/CardMeta.svelte.d.ts +5 -0
- package/dist/card/CardMeta.svelte.d.ts.map +1 -1
- package/dist/card/index.d.ts +3 -1
- package/dist/card/index.d.ts.map +1 -1
- package/dist/card/index.js +7 -2
- package/dist/card/meta.d.ts +177 -75
- package/dist/card/meta.d.ts.map +1 -1
- package/dist/card/meta.js +102 -45
- package/dist/carousel/Carousel.svelte +569 -569
- package/dist/carousel/Carousel.svelte.d.ts +37 -29
- package/dist/carousel/Carousel.svelte.d.ts.map +1 -1
- package/dist/carousel/meta.d.ts +73 -65
- package/dist/carousel/meta.d.ts.map +1 -1
- package/dist/carousel/meta.js +85 -43
- package/dist/cascader/Cascader.svelte +725 -391
- package/dist/cascader/Cascader.svelte.d.ts +48 -24
- package/dist/cascader/Cascader.svelte.d.ts.map +1 -1
- package/dist/cascader/meta.d.ts +281 -32
- package/dist/cascader/meta.d.ts.map +1 -1
- package/dist/cascader/meta.js +85 -12
- package/dist/chat/Chat.svelte +483 -0
- package/dist/chat/Chat.svelte.d.ts +76 -0
- package/dist/chat/Chat.svelte.d.ts.map +1 -0
- package/dist/chat/ChatBox.svelte +207 -0
- package/dist/chat/ChatBox.svelte.d.ts +26 -0
- package/dist/chat/ChatBox.svelte.d.ts.map +1 -0
- package/dist/chat/ChatBoxAction.svelte +190 -0
- package/dist/chat/ChatBoxAction.svelte.d.ts +18 -0
- package/dist/chat/ChatBoxAction.svelte.d.ts.map +1 -0
- package/dist/chat/ChatBoxAvatar.svelte +40 -0
- package/dist/chat/ChatBoxAvatar.svelte.d.ts +13 -0
- package/dist/chat/ChatBoxAvatar.svelte.d.ts.map +1 -0
- package/dist/chat/ChatBoxContent.svelte +238 -0
- package/dist/chat/ChatBoxContent.svelte.d.ts +17 -0
- package/dist/chat/ChatBoxContent.svelte.d.ts.map +1 -0
- package/dist/chat/ChatBoxTitle.svelte +40 -0
- package/dist/chat/ChatBoxTitle.svelte.d.ts +13 -0
- package/dist/chat/ChatBoxTitle.svelte.d.ts.map +1 -0
- package/dist/chat/ChatCode.svelte +139 -0
- package/dist/chat/ChatCode.svelte.d.ts +9 -0
- package/dist/chat/ChatCode.svelte.d.ts.map +1 -0
- package/dist/chat/Hint.svelte +82 -0
- package/dist/chat/Hint.svelte.d.ts +13 -0
- package/dist/chat/Hint.svelte.d.ts.map +1 -0
- package/dist/chat/InputBox.svelte +365 -0
- package/dist/chat/InputBox.svelte.d.ts +30 -0
- package/dist/chat/InputBox.svelte.d.ts.map +1 -0
- package/dist/chat/index.d.ts +7 -0
- package/dist/chat/index.d.ts.map +1 -0
- package/dist/chat/index.js +5 -0
- package/dist/chat/meta.d.ts +297 -0
- package/dist/chat/meta.d.ts.map +1 -0
- package/dist/chat/meta.js +230 -0
- package/dist/chat/types.d.ts +94 -0
- package/dist/chat/types.d.ts.map +1 -0
- package/dist/chat/types.js +1 -0
- package/dist/checkbox/Checkbox.svelte +339 -148
- package/dist/checkbox/Checkbox.svelte.d.ts +27 -8
- package/dist/checkbox/Checkbox.svelte.d.ts.map +1 -1
- package/dist/checkbox/CheckboxGroup.svelte +52 -20
- package/dist/checkbox/CheckboxGroup.svelte.d.ts +7 -4
- package/dist/checkbox/CheckboxGroup.svelte.d.ts.map +1 -1
- package/dist/checkbox/context.d.ts +17 -7
- package/dist/checkbox/context.d.ts.map +1 -1
- package/dist/checkbox/index.d.ts +1 -1
- package/dist/checkbox/index.d.ts.map +1 -1
- package/dist/checkbox/meta.d.ts +49 -22
- package/dist/checkbox/meta.d.ts.map +1 -1
- package/dist/checkbox/meta.js +15 -13
- package/dist/code-highlight/CodeHighlight.svelte +298 -0
- package/dist/code-highlight/CodeHighlight.svelte.d.ts +18 -0
- package/dist/code-highlight/CodeHighlight.svelte.d.ts.map +1 -0
- package/dist/code-highlight/index.d.ts +4 -0
- package/dist/code-highlight/index.d.ts.map +1 -0
- package/dist/code-highlight/index.js +3 -0
- package/dist/code-highlight/meta.d.ts +61 -0
- package/dist/code-highlight/meta.d.ts.map +1 -0
- package/dist/code-highlight/meta.js +51 -0
- package/dist/code-highlight/prism-modules.d.ts +15 -0
- package/dist/collapse/Collapse.svelte +134 -324
- package/dist/collapse/Collapse.svelte.d.ts +24 -38
- package/dist/collapse/Collapse.svelte.d.ts.map +1 -1
- package/dist/collapse/CollapsePanel.svelte +143 -73
- package/dist/collapse/CollapsePanel.svelte.d.ts +16 -7
- package/dist/collapse/CollapsePanel.svelte.d.ts.map +1 -1
- package/dist/collapse/context.d.ts +18 -32
- package/dist/collapse/context.d.ts.map +1 -1
- package/dist/collapse/index.d.ts +1 -2
- package/dist/collapse/index.d.ts.map +1 -1
- package/dist/collapse/meta.d.ts +71 -54
- package/dist/collapse/meta.d.ts.map +1 -1
- package/dist/collapse/meta.js +55 -52
- package/dist/collapsible/Collapsible.svelte +224 -0
- package/dist/collapsible/Collapsible.svelte.d.ts +35 -0
- package/dist/collapsible/Collapsible.svelte.d.ts.map +1 -0
- package/dist/collapsible/index.d.ts +3 -0
- package/dist/collapsible/index.d.ts.map +1 -0
- package/dist/collapsible/index.js +2 -0
- package/dist/collapsible/meta.d.ts +115 -0
- package/dist/collapsible/meta.d.ts.map +1 -0
- package/dist/collapsible/meta.js +89 -0
- package/dist/color-picker/ColorPicker.svelte +395 -839
- package/dist/color-picker/ColorPicker.svelte.d.ts +29 -39
- package/dist/color-picker/ColorPicker.svelte.d.ts.map +1 -1
- package/dist/color-picker/index.d.ts +1 -0
- package/dist/color-picker/index.d.ts.map +1 -1
- package/dist/color-picker/index.js +1 -0
- package/dist/color-picker/meta.d.ts +43 -90
- package/dist/color-picker/meta.d.ts.map +1 -1
- package/dist/color-picker/meta.js +49 -37
- package/dist/components.d.ts +1773 -422
- package/dist/components.json +17159 -9219
- package/dist/config-provider/ConfigProvider.svelte +186 -151
- package/dist/config-provider/ConfigProvider.svelte.d.ts +12 -44
- package/dist/config-provider/ConfigProvider.svelte.d.ts.map +1 -1
- package/dist/config-provider/context.d.ts +21 -13
- package/dist/config-provider/context.d.ts.map +1 -1
- package/dist/config-provider/index.d.ts +9 -7
- package/dist/config-provider/index.d.ts.map +1 -1
- package/dist/config-provider/index.js +21 -7
- package/dist/config-provider/meta.d.ts +30 -75
- package/dist/config-provider/meta.d.ts.map +1 -1
- package/dist/config-provider/meta.js +30 -73
- package/dist/cropper/Cropper.svelte +536 -0
- package/dist/cropper/Cropper.svelte.d.ts +47 -0
- package/dist/cropper/Cropper.svelte.d.ts.map +1 -0
- package/dist/cropper/index.d.ts +4 -0
- package/dist/cropper/index.d.ts.map +1 -0
- package/dist/cropper/index.js +2 -0
- package/dist/cropper/meta.d.ts +136 -0
- package/dist/cropper/meta.d.ts.map +1 -0
- package/dist/cropper/meta.js +97 -0
- package/dist/date-picker/DatePicker.svelte +1646 -360
- package/dist/date-picker/DatePicker.svelte.d.ts +90 -37
- package/dist/date-picker/DatePicker.svelte.d.ts.map +1 -1
- package/dist/date-picker/index.d.ts +0 -2
- package/dist/date-picker/index.d.ts.map +1 -1
- package/dist/date-picker/index.js +0 -2
- package/dist/date-picker/meta.d.ts +309 -26
- package/dist/date-picker/meta.d.ts.map +1 -1
- package/dist/date-picker/meta.js +89 -14
- package/dist/descriptions/Descriptions.svelte +213 -223
- package/dist/descriptions/Descriptions.svelte.d.ts +16 -25
- package/dist/descriptions/Descriptions.svelte.d.ts.map +1 -1
- package/dist/descriptions/DescriptionsItem.svelte +58 -28
- package/dist/descriptions/DescriptionsItem.svelte.d.ts +12 -4
- package/dist/descriptions/DescriptionsItem.svelte.d.ts.map +1 -1
- package/dist/descriptions/context.d.ts +9 -5
- package/dist/descriptions/context.d.ts.map +1 -1
- package/dist/descriptions/index.d.ts +2 -2
- package/dist/descriptions/index.d.ts.map +1 -1
- package/dist/descriptions/meta.d.ts +51 -49
- package/dist/descriptions/meta.d.ts.map +1 -1
- package/dist/descriptions/meta.js +41 -20
- package/dist/descriptions/types.d.ts +13 -3
- package/dist/descriptions/types.d.ts.map +1 -1
- package/dist/divider/Divider.svelte +86 -94
- package/dist/divider/Divider.svelte.d.ts +2 -2
- package/dist/divider/Divider.svelte.d.ts.map +1 -1
- package/dist/divider/meta.d.ts +19 -25
- package/dist/divider/meta.d.ts.map +1 -1
- package/dist/divider/meta.js +29 -11
- package/dist/drag-move/DragMove.svelte +106 -0
- package/dist/drag-move/DragMove.svelte.d.ts +30 -0
- package/dist/drag-move/DragMove.svelte.d.ts.map +1 -0
- package/dist/drag-move/index.d.ts +4 -0
- package/dist/drag-move/index.d.ts.map +1 -0
- package/dist/drag-move/index.js +3 -0
- package/dist/drag-move/meta.d.ts +102 -0
- package/dist/drag-move/meta.d.ts.map +1 -0
- package/dist/drag-move/meta.js +77 -0
- package/dist/dropdown/Dropdown.svelte +426 -344
- package/dist/dropdown/Dropdown.svelte.d.ts +55 -58
- package/dist/dropdown/Dropdown.svelte.d.ts.map +1 -1
- package/dist/dropdown/DropdownDivider.svelte +20 -8
- package/dist/dropdown/DropdownDivider.svelte.d.ts +7 -16
- package/dist/dropdown/DropdownDivider.svelte.d.ts.map +1 -1
- package/dist/dropdown/DropdownItem.svelte +163 -91
- package/dist/dropdown/DropdownItem.svelte.d.ts +25 -11
- package/dist/dropdown/DropdownItem.svelte.d.ts.map +1 -1
- package/dist/dropdown/DropdownMenu.svelte +21 -9
- package/dist/dropdown/DropdownMenu.svelte.d.ts +6 -1
- package/dist/dropdown/DropdownMenu.svelte.d.ts.map +1 -1
- package/dist/dropdown/DropdownTitle.svelte +38 -20
- package/dist/dropdown/DropdownTitle.svelte.d.ts +6 -1
- package/dist/dropdown/DropdownTitle.svelte.d.ts.map +1 -1
- package/dist/dropdown/context.d.ts +18 -6
- package/dist/dropdown/context.d.ts.map +1 -1
- package/dist/dropdown/index.d.ts +3 -6
- package/dist/dropdown/index.d.ts.map +1 -1
- package/dist/dropdown/index.js +3 -6
- package/dist/dropdown/meta.d.ts +183 -63
- package/dist/dropdown/meta.d.ts.map +1 -1
- package/dist/dropdown/meta.js +122 -73
- package/dist/dropdown/types.d.ts +39 -42
- package/dist/dropdown/types.d.ts.map +1 -1
- package/dist/dropdown/types.js +1 -12
- package/dist/empty/Empty.svelte +136 -249
- package/dist/empty/Empty.svelte.d.ts +23 -9
- package/dist/empty/Empty.svelte.d.ts.map +1 -1
- package/dist/empty/meta.d.ts +29 -18
- package/dist/empty/meta.d.ts.map +1 -1
- package/dist/empty/meta.js +21 -26
- package/dist/feedback/Feedback.svelte +330 -0
- package/dist/feedback/Feedback.svelte.d.ts +46 -0
- package/dist/feedback/Feedback.svelte.d.ts.map +1 -0
- package/dist/feedback/index.d.ts +4 -0
- package/dist/feedback/index.d.ts.map +1 -0
- package/dist/feedback/index.js +2 -0
- package/dist/feedback/meta.d.ts +105 -0
- package/dist/feedback/meta.d.ts.map +1 -0
- package/dist/feedback/meta.js +65 -0
- package/dist/float-button/FloatButton.svelte +161 -0
- package/dist/float-button/FloatButton.svelte.d.ts +5 -0
- package/dist/float-button/FloatButton.svelte.d.ts.map +1 -0
- package/dist/float-button/FloatButtonGroup.svelte +90 -0
- package/dist/float-button/FloatButtonGroup.svelte.d.ts +5 -0
- package/dist/float-button/FloatButtonGroup.svelte.d.ts.map +1 -0
- package/dist/float-button/index.d.ts +5 -0
- package/dist/float-button/index.d.ts.map +1 -0
- package/dist/float-button/index.js +3 -0
- package/dist/float-button/meta.d.ts +136 -0
- package/dist/float-button/meta.d.ts.map +1 -0
- package/dist/float-button/meta.js +104 -0
- package/dist/float-button/types.d.ts +59 -0
- package/dist/float-button/types.d.ts.map +1 -0
- package/dist/float-button/types.js +1 -0
- package/dist/form/Field.svelte +315 -192
- package/dist/form/Field.svelte.d.ts +70 -2
- package/dist/form/Field.svelte.d.ts.map +1 -1
- package/dist/form/FieldArray.svelte +115 -21
- package/dist/form/FieldArray.svelte.d.ts +21 -3
- package/dist/form/FieldArray.svelte.d.ts.map +1 -1
- package/dist/form/Form.svelte +260 -52
- package/dist/form/Form.svelte.d.ts +84 -12
- package/dist/form/Form.svelte.d.ts.map +1 -1
- package/dist/form/FormAutoComplete.svelte +52 -0
- package/dist/form/FormAutoComplete.svelte.d.ts +17 -0
- package/dist/form/FormAutoComplete.svelte.d.ts.map +1 -0
- package/dist/form/FormCascader.svelte +25 -55
- package/dist/form/FormCascader.svelte.d.ts +2 -13
- package/dist/form/FormCascader.svelte.d.ts.map +1 -1
- package/dist/form/FormCheckbox.svelte +24 -56
- package/dist/form/FormCheckbox.svelte.d.ts +2 -14
- package/dist/form/FormCheckbox.svelte.d.ts.map +1 -1
- package/dist/form/FormCheckboxGroup.svelte +48 -0
- package/dist/form/FormCheckboxGroup.svelte.d.ts +15 -0
- package/dist/form/FormCheckboxGroup.svelte.d.ts.map +1 -0
- package/dist/form/FormDatePicker.svelte +24 -53
- package/dist/form/FormDatePicker.svelte.d.ts +2 -13
- package/dist/form/FormDatePicker.svelte.d.ts.map +1 -1
- package/dist/form/FormErrorMessage.svelte +75 -29
- package/dist/form/FormErrorMessage.svelte.d.ts +17 -4
- package/dist/form/FormErrorMessage.svelte.d.ts.map +1 -1
- package/dist/form/FormInput.svelte +31 -70
- package/dist/form/FormInput.svelte.d.ts +7 -19
- package/dist/form/FormInput.svelte.d.ts.map +1 -1
- package/dist/form/FormInputGroup.svelte +146 -0
- package/dist/form/FormInputGroup.svelte.d.ts +32 -0
- package/dist/form/FormInputGroup.svelte.d.ts.map +1 -0
- package/dist/form/FormInputNumber.svelte +74 -0
- package/dist/form/FormInputNumber.svelte.d.ts +20 -0
- package/dist/form/FormInputNumber.svelte.d.ts.map +1 -0
- package/dist/form/FormLabel.svelte +133 -24
- package/dist/form/FormLabel.svelte.d.ts +17 -4
- package/dist/form/FormLabel.svelte.d.ts.map +1 -1
- package/dist/form/FormPinCode.svelte +52 -0
- package/dist/form/FormPinCode.svelte.d.ts +16 -0
- package/dist/form/FormPinCode.svelte.d.ts.map +1 -0
- package/dist/form/FormRadio.svelte +23 -55
- package/dist/form/FormRadio.svelte.d.ts +2 -14
- package/dist/form/FormRadio.svelte.d.ts.map +1 -1
- package/dist/form/FormRadioGroup.svelte +54 -0
- package/dist/form/FormRadioGroup.svelte.d.ts +16 -0
- package/dist/form/FormRadioGroup.svelte.d.ts.map +1 -0
- package/dist/form/FormRating.svelte +24 -58
- package/dist/form/FormRating.svelte.d.ts +2 -14
- package/dist/form/FormRating.svelte.d.ts.map +1 -1
- package/dist/form/FormSection.svelte +35 -25
- package/dist/form/FormSection.svelte.d.ts +3 -1
- package/dist/form/FormSection.svelte.d.ts.map +1 -1
- package/dist/form/FormSelect.svelte +44 -68
- package/dist/form/FormSelect.svelte.d.ts +5 -16
- package/dist/form/FormSelect.svelte.d.ts.map +1 -1
- package/dist/form/FormSlider.svelte +33 -65
- package/dist/form/FormSlider.svelte.d.ts +2 -14
- package/dist/form/FormSlider.svelte.d.ts.map +1 -1
- package/dist/form/FormSlot.svelte +61 -20
- package/dist/form/FormSlot.svelte.d.ts +16 -2
- package/dist/form/FormSlot.svelte.d.ts.map +1 -1
- package/dist/form/FormSwitch.svelte +27 -59
- package/dist/form/FormSwitch.svelte.d.ts +4 -15
- package/dist/form/FormSwitch.svelte.d.ts.map +1 -1
- package/dist/form/FormTagInput.svelte +24 -53
- package/dist/form/FormTagInput.svelte.d.ts +2 -13
- package/dist/form/FormTagInput.svelte.d.ts.map +1 -1
- package/dist/form/FormTextArea.svelte +66 -0
- package/dist/form/FormTextArea.svelte.d.ts +18 -0
- package/dist/form/FormTextArea.svelte.d.ts.map +1 -0
- package/dist/form/FormTimePicker.svelte +51 -0
- package/dist/form/FormTimePicker.svelte.d.ts +15 -0
- package/dist/form/FormTimePicker.svelte.d.ts.map +1 -0
- package/dist/form/FormTreeSelect.svelte +26 -57
- package/dist/form/FormTreeSelect.svelte.d.ts +3 -14
- package/dist/form/FormTreeSelect.svelte.d.ts.map +1 -1
- package/dist/form/FormUpload.svelte +22 -63
- package/dist/form/FormUpload.svelte.d.ts +3 -15
- package/dist/form/FormUpload.svelte.d.ts.map +1 -1
- package/dist/form/GroupHookPanel.svelte +21 -0
- package/dist/form/GroupHookPanel.svelte.d.ts +19 -0
- package/dist/form/GroupHookPanel.svelte.d.ts.map +1 -0
- package/dist/form/context.d.ts +0 -3
- package/dist/form/context.d.ts.map +1 -1
- package/dist/form/field-props.d.ts +84 -0
- package/dist/form/field-props.d.ts.map +1 -0
- package/dist/form/field-props.js +58 -0
- package/dist/form/hooks.d.ts +53 -0
- package/dist/form/hooks.d.ts.map +1 -0
- package/dist/form/hooks.js +36 -0
- package/dist/form/index.d.ts +57 -4
- package/dist/form/index.d.ts.map +1 -1
- package/dist/form/index.js +60 -3
- package/dist/form/input-group-context.d.ts +7 -0
- package/dist/form/input-group-context.d.ts.map +1 -0
- package/dist/form/input-group-context.js +17 -0
- package/dist/form/meta.d.ts +213 -16
- package/dist/form/meta.d.ts.map +1 -1
- package/dist/form/meta.js +103 -15
- package/dist/grid/Col.svelte +1482 -78
- package/dist/grid/Col.svelte.d.ts +3 -5
- package/dist/grid/Col.svelte.d.ts.map +1 -1
- package/dist/grid/Row.svelte +151 -69
- package/dist/grid/Row.svelte.d.ts +9 -7
- package/dist/grid/Row.svelte.d.ts.map +1 -1
- package/dist/grid/meta.d.ts +37 -28
- package/dist/grid/meta.d.ts.map +1 -1
- package/dist/grid/meta.js +31 -25
- package/dist/highlight/Highlight.svelte +46 -66
- package/dist/highlight/Highlight.svelte.d.ts +9 -22
- package/dist/highlight/Highlight.svelte.d.ts.map +1 -1
- package/dist/highlight/meta.d.ts +12 -51
- package/dist/highlight/meta.d.ts.map +1 -1
- package/dist/highlight/meta.js +16 -46
- package/dist/hotkeys/HotKeys.svelte +152 -0
- package/dist/hotkeys/HotKeys.svelte.d.ts +28 -0
- package/dist/hotkeys/HotKeys.svelte.d.ts.map +1 -0
- package/dist/hotkeys/index.d.ts +12 -0
- package/dist/hotkeys/index.d.ts.map +1 -0
- package/dist/hotkeys/index.js +8 -0
- package/dist/hotkeys/meta.d.ts +103 -0
- package/dist/hotkeys/meta.d.ts.map +1 -0
- package/dist/hotkeys/meta.js +65 -0
- package/dist/icon/index.d.ts +1 -1
- package/dist/icon/index.d.ts.map +1 -1
- package/dist/icon/index.js +1 -1
- package/dist/icon/meta.d.ts +20 -28
- package/dist/icon/meta.d.ts.map +1 -1
- package/dist/icon/meta.js +20 -20
- package/dist/iconbutton/IconButton.svelte +89 -0
- package/dist/iconbutton/IconButton.svelte.d.ts +53 -0
- package/dist/iconbutton/IconButton.svelte.d.ts.map +1 -0
- package/dist/iconbutton/index.d.ts +3 -0
- package/dist/iconbutton/index.d.ts.map +1 -0
- package/dist/iconbutton/index.js +2 -0
- package/dist/iconbutton/meta.d.ts +150 -0
- package/dist/iconbutton/meta.d.ts.map +1 -0
- package/dist/iconbutton/meta.js +53 -0
- package/dist/illustrations/IllustrationConstruction.svelte +25 -0
- package/dist/illustrations/IllustrationConstruction.svelte.d.ts +8 -0
- package/dist/illustrations/IllustrationConstruction.svelte.d.ts.map +1 -0
- package/dist/illustrations/IllustrationConstructionDark.svelte +25 -0
- package/dist/illustrations/IllustrationConstructionDark.svelte.d.ts +8 -0
- package/dist/illustrations/IllustrationConstructionDark.svelte.d.ts.map +1 -0
- package/dist/illustrations/IllustrationFailure.svelte +25 -0
- package/dist/illustrations/IllustrationFailure.svelte.d.ts +8 -0
- package/dist/illustrations/IllustrationFailure.svelte.d.ts.map +1 -0
- package/dist/illustrations/IllustrationFailureDark.svelte +25 -0
- package/dist/illustrations/IllustrationFailureDark.svelte.d.ts +8 -0
- package/dist/illustrations/IllustrationFailureDark.svelte.d.ts.map +1 -0
- package/dist/illustrations/IllustrationIdle.svelte +25 -0
- package/dist/illustrations/IllustrationIdle.svelte.d.ts +8 -0
- package/dist/illustrations/IllustrationIdle.svelte.d.ts.map +1 -0
- package/dist/illustrations/IllustrationIdleDark.svelte +25 -0
- package/dist/illustrations/IllustrationIdleDark.svelte.d.ts +8 -0
- package/dist/illustrations/IllustrationIdleDark.svelte.d.ts.map +1 -0
- package/dist/illustrations/IllustrationNoAccess.svelte +25 -0
- package/dist/illustrations/IllustrationNoAccess.svelte.d.ts +8 -0
- package/dist/illustrations/IllustrationNoAccess.svelte.d.ts.map +1 -0
- package/dist/illustrations/IllustrationNoAccessDark.svelte +25 -0
- package/dist/illustrations/IllustrationNoAccessDark.svelte.d.ts +8 -0
- package/dist/illustrations/IllustrationNoAccessDark.svelte.d.ts.map +1 -0
- package/dist/illustrations/IllustrationNoContent.svelte +25 -0
- package/dist/illustrations/IllustrationNoContent.svelte.d.ts +8 -0
- package/dist/illustrations/IllustrationNoContent.svelte.d.ts.map +1 -0
- package/dist/illustrations/IllustrationNoContentDark.svelte +25 -0
- package/dist/illustrations/IllustrationNoContentDark.svelte.d.ts +8 -0
- package/dist/illustrations/IllustrationNoContentDark.svelte.d.ts.map +1 -0
- package/dist/illustrations/IllustrationNoResult.svelte +25 -0
- package/dist/illustrations/IllustrationNoResult.svelte.d.ts +8 -0
- package/dist/illustrations/IllustrationNoResult.svelte.d.ts.map +1 -0
- package/dist/illustrations/IllustrationNoResultDark.svelte +25 -0
- package/dist/illustrations/IllustrationNoResultDark.svelte.d.ts +8 -0
- package/dist/illustrations/IllustrationNoResultDark.svelte.d.ts.map +1 -0
- package/dist/illustrations/IllustrationNotFound.svelte +25 -0
- package/dist/illustrations/IllustrationNotFound.svelte.d.ts +8 -0
- package/dist/illustrations/IllustrationNotFound.svelte.d.ts.map +1 -0
- package/dist/illustrations/IllustrationNotFoundDark.svelte +25 -0
- package/dist/illustrations/IllustrationNotFoundDark.svelte.d.ts +8 -0
- package/dist/illustrations/IllustrationNotFoundDark.svelte.d.ts.map +1 -0
- package/dist/illustrations/IllustrationSuccess.svelte +25 -0
- package/dist/illustrations/IllustrationSuccess.svelte.d.ts +8 -0
- package/dist/illustrations/IllustrationSuccess.svelte.d.ts.map +1 -0
- package/dist/illustrations/IllustrationSuccessDark.svelte +25 -0
- package/dist/illustrations/IllustrationSuccessDark.svelte.d.ts +8 -0
- package/dist/illustrations/IllustrationSuccessDark.svelte.d.ts.map +1 -0
- package/dist/illustrations/index.d.ts +22 -0
- package/dist/illustrations/index.d.ts.map +1 -0
- package/dist/illustrations/index.js +21 -0
- package/dist/image/Image.svelte +260 -283
- package/dist/image/Image.svelte.d.ts +20 -21
- package/dist/image/Image.svelte.d.ts.map +1 -1
- package/dist/image/ImagePreview.svelte +201 -297
- package/dist/image/ImagePreview.svelte.d.ts +7 -10
- package/dist/image/ImagePreview.svelte.d.ts.map +1 -1
- package/dist/image/PreviewFooter.svelte +400 -0
- package/dist/image/PreviewFooter.svelte.d.ts +62 -0
- package/dist/image/PreviewFooter.svelte.d.ts.map +1 -0
- package/dist/image/PreviewHeader.svelte +93 -0
- package/dist/image/PreviewHeader.svelte.d.ts +16 -0
- package/dist/image/PreviewHeader.svelte.d.ts.map +1 -0
- package/dist/image/PreviewImage.svelte +296 -0
- package/dist/image/PreviewImage.svelte.d.ts +26 -0
- package/dist/image/PreviewImage.svelte.d.ts.map +1 -0
- package/dist/image/PreviewInner.svelte +554 -0
- package/dist/image/PreviewInner.svelte.d.ts +58 -0
- package/dist/image/PreviewInner.svelte.d.ts.map +1 -0
- package/dist/image/download.d.ts +8 -0
- package/dist/image/download.d.ts.map +1 -0
- package/dist/image/download.js +29 -0
- package/dist/image/index.d.ts +6 -7
- package/dist/image/index.d.ts.map +1 -1
- package/dist/image/index.js +5 -5
- package/dist/image/meta.d.ts +231 -88
- package/dist/image/meta.d.ts.map +1 -1
- package/dist/image/meta.js +93 -83
- package/dist/image/previewContext.d.ts +29 -0
- package/dist/image/previewContext.d.ts.map +1 -0
- package/dist/image/previewContext.js +8 -0
- package/dist/image/previewGeometry.d.ts +70 -0
- package/dist/image/previewGeometry.d.ts.map +1 -0
- package/dist/image/previewGeometry.js +184 -0
- package/dist/image/types.d.ts +66 -0
- package/dist/image/types.d.ts.map +1 -0
- package/dist/image/types.js +1 -0
- package/dist/index.d.ts +48 -26
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +40 -22
- package/dist/input/Input.svelte +537 -320
- package/dist/input/Input.svelte.d.ts +69 -21
- package/dist/input/Input.svelte.d.ts.map +1 -1
- package/dist/input/InputGroup.svelte +188 -0
- package/dist/input/InputGroup.svelte.d.ts +35 -0
- package/dist/input/InputGroup.svelte.d.ts.map +1 -0
- package/dist/input/TextArea.svelte +788 -0
- package/dist/input/TextArea.svelte.d.ts +104 -0
- package/dist/input/TextArea.svelte.d.ts.map +1 -0
- package/dist/input/context.d.ts +13 -0
- package/dist/input/context.d.ts.map +1 -0
- package/dist/input/context.js +5 -0
- package/dist/input/index.d.ts +4 -1
- package/dist/input/index.d.ts.map +1 -1
- package/dist/input/index.js +5 -1
- package/dist/input/meta.d.ts +802 -22
- package/dist/input/meta.d.ts.map +1 -1
- package/dist/input/meta.js +196 -17
- package/dist/input-number/InputNumber.svelte +446 -427
- package/dist/input-number/InputNumber.svelte.d.ts +73 -45
- package/dist/input-number/InputNumber.svelte.d.ts.map +1 -1
- package/dist/input-number/meta.d.ts +140 -48
- package/dist/input-number/meta.d.ts.map +1 -1
- package/dist/input-number/meta.js +39 -22
- package/dist/json-viewer/JsonViewer.svelte +528 -0
- package/dist/json-viewer/JsonViewer.svelte.d.ts +43 -0
- package/dist/json-viewer/JsonViewer.svelte.d.ts.map +1 -0
- package/dist/json-viewer/index.d.ts +4 -0
- package/dist/json-viewer/index.d.ts.map +1 -0
- package/dist/json-viewer/index.js +2 -0
- package/dist/json-viewer/meta.d.ts +129 -0
- package/dist/{lottie-icon → json-viewer}/meta.d.ts.map +1 -1
- package/dist/json-viewer/meta.js +130 -0
- package/dist/json-viewer/semi-json-viewer-core.d.ts +94 -0
- package/dist/layout/Content.svelte +8 -25
- package/dist/layout/Content.svelte.d.ts +1 -3
- package/dist/layout/Content.svelte.d.ts.map +1 -1
- package/dist/layout/Footer.svelte +7 -40
- package/dist/layout/Footer.svelte.d.ts +1 -4
- package/dist/layout/Footer.svelte.d.ts.map +1 -1
- package/dist/layout/Header.svelte +7 -37
- package/dist/layout/Header.svelte.d.ts +1 -4
- package/dist/layout/Header.svelte.d.ts.map +1 -1
- package/dist/layout/Layout.svelte +30 -17
- package/dist/layout/Layout.svelte.d.ts +3 -1
- package/dist/layout/Layout.svelte.d.ts.map +1 -1
- package/dist/layout/Sider.svelte +71 -186
- package/dist/layout/Sider.svelte.d.ts +15 -19
- package/dist/layout/Sider.svelte.d.ts.map +1 -1
- package/dist/layout/meta.d.ts +28 -91
- package/dist/layout/meta.d.ts.map +1 -1
- package/dist/layout/meta.js +38 -56
- package/dist/list/List.svelte +158 -825
- package/dist/list/List.svelte.d.ts +32 -70
- package/dist/list/List.svelte.d.ts.map +1 -1
- package/dist/list/ListItem.svelte +129 -131
- package/dist/list/ListItem.svelte.d.ts +21 -12
- package/dist/list/ListItem.svelte.d.ts.map +1 -1
- package/dist/list/context.d.ts +32 -23
- package/dist/list/context.d.ts.map +1 -1
- package/dist/list/index.d.ts +3 -8
- package/dist/list/index.d.ts.map +1 -1
- package/dist/list/index.js +4 -8
- package/dist/list/meta.d.ts +110 -98
- package/dist/list/meta.d.ts.map +1 -1
- package/dist/list/meta.js +76 -58
- package/dist/lottie/Lottie.svelte +138 -0
- package/dist/lottie/Lottie.svelte.d.ts +32 -0
- package/dist/lottie/Lottie.svelte.d.ts.map +1 -0
- package/dist/lottie/index.d.ts +3 -0
- package/dist/lottie/index.d.ts.map +1 -0
- package/dist/lottie/index.js +2 -0
- package/dist/lottie/meta.d.ts +76 -0
- package/dist/lottie/meta.d.ts.map +1 -0
- package/dist/lottie/meta.js +81 -0
- package/dist/markdown-render/HastNode.svelte +66 -0
- package/dist/markdown-render/HastNode.svelte.d.ts +11 -0
- package/dist/markdown-render/HastNode.svelte.d.ts.map +1 -0
- package/dist/markdown-render/MarkdownRender.svelte +152 -0
- package/dist/markdown-render/MarkdownRender.svelte.d.ts +26 -0
- package/dist/markdown-render/MarkdownRender.svelte.d.ts.map +1 -0
- package/dist/markdown-render/components/MdCode.svelte +20 -0
- package/dist/markdown-render/components/MdCode.svelte.d.ts +9 -0
- package/dist/markdown-render/components/MdCode.svelte.d.ts.map +1 -0
- package/dist/markdown-render/components/MdHeading.svelte +29 -0
- package/dist/markdown-render/components/MdHeading.svelte.d.ts +11 -0
- package/dist/markdown-render/components/MdHeading.svelte.d.ts.map +1 -0
- package/dist/markdown-render/components/MdImage.svelte +28 -0
- package/dist/markdown-render/components/MdImage.svelte.d.ts +9 -0
- package/dist/markdown-render/components/MdImage.svelte.d.ts.map +1 -0
- package/dist/markdown-render/components/MdLink.svelte +33 -0
- package/dist/markdown-render/components/MdLink.svelte.d.ts +10 -0
- package/dist/markdown-render/components/MdLink.svelte.d.ts.map +1 -0
- package/dist/markdown-render/components/MdParagraph.svelte +19 -0
- package/dist/markdown-render/components/MdParagraph.svelte.d.ts +9 -0
- package/dist/markdown-render/components/MdParagraph.svelte.d.ts.map +1 -0
- package/dist/markdown-render/components/MdPre.svelte +48 -0
- package/dist/markdown-render/components/MdPre.svelte.d.ts +9 -0
- package/dist/markdown-render/components/MdPre.svelte.d.ts.map +1 -0
- package/dist/markdown-render/components/MdTable.svelte +53 -0
- package/dist/markdown-render/components/MdTable.svelte.d.ts +9 -0
- package/dist/markdown-render/components/MdTable.svelte.d.ts.map +1 -0
- package/dist/markdown-render/components/index.d.ts +26 -0
- package/dist/markdown-render/components/index.d.ts.map +1 -0
- package/dist/markdown-render/components/index.js +27 -0
- package/dist/markdown-render/index.d.ts +4 -0
- package/dist/markdown-render/index.d.ts.map +1 -0
- package/dist/markdown-render/index.js +2 -0
- package/dist/markdown-render/meta.d.ts +81 -0
- package/dist/markdown-render/meta.d.ts.map +1 -0
- package/dist/markdown-render/meta.js +105 -0
- package/dist/markdown-render/props.d.ts +15 -0
- package/dist/markdown-render/props.d.ts.map +1 -0
- package/dist/markdown-render/props.js +51 -0
- package/dist/modal/ConfirmModal.svelte +105 -86
- package/dist/modal/ConfirmModal.svelte.d.ts +7 -4
- package/dist/modal/ConfirmModal.svelte.d.ts.map +1 -1
- package/dist/modal/Modal.svelte +459 -343
- package/dist/modal/Modal.svelte.d.ts +71 -41
- package/dist/modal/Modal.svelte.d.ts.map +1 -1
- package/dist/modal/ModalContextHolder.svelte +22 -0
- package/dist/modal/ModalContextHolder.svelte.d.ts +8 -0
- package/dist/modal/ModalContextHolder.svelte.d.ts.map +1 -0
- package/dist/modal/command.svelte.d.ts +7 -1
- package/dist/modal/command.svelte.d.ts.map +1 -1
- package/dist/modal/command.svelte.js +1 -1
- package/dist/modal/index.d.ts +7 -1
- package/dist/modal/index.d.ts.map +1 -1
- package/dist/modal/index.js +8 -2
- package/dist/modal/meta.d.ts +149 -103
- package/dist/modal/meta.d.ts.map +1 -1
- package/dist/modal/meta.js +95 -109
- package/dist/modal/use-modal.svelte.d.ts +33 -0
- package/dist/modal/use-modal.svelte.d.ts.map +1 -0
- package/dist/modal/use-modal.svelte.js +44 -0
- package/dist/nav/Nav.svelte +329 -146
- package/dist/nav/Nav.svelte.d.ts +43 -30
- package/dist/nav/Nav.svelte.d.ts.map +1 -1
- package/dist/nav/NavCollapseButton.svelte +74 -0
- package/dist/nav/NavCollapseButton.svelte.d.ts +12 -0
- package/dist/nav/NavCollapseButton.svelte.d.ts.map +1 -0
- package/dist/nav/NavFooter.svelte +42 -47
- package/dist/nav/NavFooter.svelte.d.ts +6 -2
- package/dist/nav/NavFooter.svelte.d.ts.map +1 -1
- package/dist/nav/NavHeader.svelte +61 -12
- package/dist/nav/NavHeader.svelte.d.ts +8 -2
- package/dist/nav/NavHeader.svelte.d.ts.map +1 -1
- package/dist/nav/NavItem.svelte +21 -17
- package/dist/nav/NavItem.svelte.d.ts +12 -10
- package/dist/nav/NavItem.svelte.d.ts.map +1 -1
- package/dist/nav/NavItemRender.svelte +420 -0
- package/dist/nav/NavItemRender.svelte.d.ts +12 -0
- package/dist/nav/NavItemRender.svelte.d.ts.map +1 -0
- package/dist/nav/NavPopupNode.svelte +119 -0
- package/dist/nav/NavPopupNode.svelte.d.ts +8 -0
- package/dist/nav/NavPopupNode.svelte.d.ts.map +1 -0
- package/dist/nav/NavSub.svelte +44 -6
- package/dist/nav/NavSub.svelte.d.ts +20 -4
- package/dist/nav/NavSub.svelte.d.ts.map +1 -1
- package/dist/nav/NavSubPopup.svelte +90 -0
- package/dist/nav/NavSubPopup.svelte.d.ts +14 -0
- package/dist/nav/NavSubPopup.svelte.d.ts.map +1 -0
- package/dist/nav/context.d.ts +57 -8
- package/dist/nav/context.d.ts.map +1 -1
- package/dist/nav/context.js +6 -2
- package/dist/nav/index.d.ts +1 -1
- package/dist/nav/index.d.ts.map +1 -1
- package/dist/nav/meta.d.ts +131 -52
- package/dist/nav/meta.d.ts.map +1 -1
- package/dist/nav/meta.js +70 -29
- package/dist/nav/types.d.ts +89 -22
- package/dist/nav/types.d.ts.map +1 -1
- package/dist/nav/types.js +47 -26
- package/dist/notification/NotificationContainer.svelte +131 -119
- package/dist/notification/NotificationContainer.svelte.d.ts.map +1 -1
- package/dist/notification/NotificationHolder.svelte +18 -0
- package/dist/notification/NotificationHolder.svelte.d.ts +8 -0
- package/dist/notification/NotificationHolder.svelte.d.ts.map +1 -0
- package/dist/notification/NotificationItem.svelte +235 -289
- package/dist/notification/NotificationItem.svelte.d.ts +1 -5
- package/dist/notification/NotificationItem.svelte.d.ts.map +1 -1
- package/dist/notification/index.d.ts +3 -2
- package/dist/notification/index.d.ts.map +1 -1
- package/dist/notification/index.js +2 -1
- package/dist/notification/meta.d.ts +73 -50
- package/dist/notification/meta.d.ts.map +1 -1
- package/dist/notification/meta.js +85 -74
- package/dist/notification/store.d.ts +59 -44
- package/dist/notification/store.d.ts.map +1 -1
- package/dist/notification/store.js +68 -74
- package/dist/overflow-list/OverflowList.svelte +366 -470
- package/dist/overflow-list/OverflowList.svelte.d.ts +37 -40
- package/dist/overflow-list/OverflowList.svelte.d.ts.map +1 -1
- package/dist/overflow-list/meta.d.ts +71 -71
- package/dist/overflow-list/meta.d.ts.map +1 -1
- package/dist/overflow-list/meta.js +63 -78
- package/dist/pagination/Pagination.svelte +454 -251
- package/dist/pagination/Pagination.svelte.d.ts +38 -39
- package/dist/pagination/Pagination.svelte.d.ts.map +1 -1
- package/dist/pagination/meta.d.ts +75 -83
- package/dist/pagination/meta.d.ts.map +1 -1
- package/dist/pagination/meta.js +78 -57
- package/dist/pincode/PinCode.svelte +348 -0
- package/dist/pincode/PinCode.svelte.d.ts +47 -0
- package/dist/pincode/PinCode.svelte.d.ts.map +1 -0
- package/dist/pincode/index.d.ts +3 -0
- package/dist/pincode/index.d.ts.map +1 -0
- package/dist/pincode/index.js +2 -0
- package/dist/pincode/meta.d.ts +147 -0
- package/dist/pincode/meta.d.ts.map +1 -0
- package/dist/pincode/meta.js +91 -0
- package/dist/popconfirm/Popconfirm.svelte +313 -599
- package/dist/popconfirm/Popconfirm.svelte.d.ts +65 -68
- package/dist/popconfirm/Popconfirm.svelte.d.ts.map +1 -1
- package/dist/popconfirm/meta.d.ts +85 -161
- package/dist/popconfirm/meta.d.ts.map +1 -1
- package/dist/popconfirm/meta.js +68 -185
- package/dist/popover/Popover.svelte +342 -564
- package/dist/popover/Popover.svelte.d.ts +82 -52
- package/dist/popover/Popover.svelte.d.ts.map +1 -1
- package/dist/popover/meta.d.ts +102 -74
- package/dist/popover/meta.d.ts.map +1 -1
- package/dist/popover/meta.js +103 -62
- package/dist/progress/Progress.svelte +248 -309
- package/dist/progress/Progress.svelte.d.ts +19 -27
- package/dist/progress/Progress.svelte.d.ts.map +1 -1
- package/dist/progress/index.d.ts +1 -1
- package/dist/progress/index.d.ts.map +1 -1
- package/dist/progress/meta.d.ts +70 -62
- package/dist/progress/meta.d.ts.map +1 -1
- package/dist/progress/meta.js +68 -77
- package/dist/radio/Radio.svelte +451 -239
- package/dist/radio/Radio.svelte.d.ts +13 -7
- package/dist/radio/Radio.svelte.d.ts.map +1 -1
- package/dist/radio/RadioGroup.svelte +152 -121
- package/dist/radio/RadioGroup.svelte.d.ts +27 -6
- package/dist/radio/RadioGroup.svelte.d.ts.map +1 -1
- package/dist/radio/context.d.ts +23 -18
- package/dist/radio/context.d.ts.map +1 -1
- package/dist/radio/index.d.ts +1 -1
- package/dist/radio/index.d.ts.map +1 -1
- package/dist/radio/meta.d.ts +62 -23
- package/dist/radio/meta.d.ts.map +1 -1
- package/dist/radio/meta.js +60 -17
- package/dist/rating/Rating.svelte +358 -275
- package/dist/rating/Rating.svelte.d.ts +25 -18
- package/dist/rating/Rating.svelte.d.ts.map +1 -1
- package/dist/rating/meta.d.ts +73 -40
- package/dist/rating/meta.d.ts.map +1 -1
- package/dist/rating/meta.js +55 -28
- package/dist/resizable/Resizable.svelte +354 -0
- package/dist/resizable/Resizable.svelte.d.ts +61 -0
- package/dist/resizable/Resizable.svelte.d.ts.map +1 -0
- package/dist/resizable/ResizeGroup.svelte +308 -0
- package/dist/resizable/ResizeGroup.svelte.d.ts +13 -0
- package/dist/resizable/ResizeGroup.svelte.d.ts.map +1 -0
- package/dist/resizable/ResizeHandler.svelte +87 -0
- package/dist/resizable/ResizeHandler.svelte.d.ts +13 -0
- package/dist/resizable/ResizeHandler.svelte.d.ts.map +1 -0
- package/dist/resizable/ResizeItem.svelte +103 -0
- package/dist/resizable/ResizeItem.svelte.d.ts +20 -0
- package/dist/resizable/ResizeItem.svelte.d.ts.map +1 -0
- package/dist/resizable/context.d.ts +39 -0
- package/dist/resizable/context.d.ts.map +1 -0
- package/dist/resizable/context.js +1 -0
- package/dist/resizable/index.d.ts +8 -0
- package/dist/resizable/index.d.ts.map +1 -0
- package/dist/resizable/index.js +7 -0
- package/dist/resizable/meta.d.ts +243 -0
- package/dist/resizable/meta.d.ts.map +1 -0
- package/dist/resizable/meta.js +90 -0
- package/dist/resize-observer/ResizeObserver.svelte +12 -0
- package/dist/resize-observer/ResizeObserver.svelte.d.ts +7 -0
- package/dist/resize-observer/ResizeObserver.svelte.d.ts.map +1 -1
- package/dist/resize-observer/meta.d.ts +5 -0
- package/dist/resize-observer/meta.d.ts.map +1 -1
- package/dist/resize-observer/meta.js +6 -0
- package/dist/scroll-list/ScrollItem.svelte +612 -0
- package/dist/scroll-list/ScrollItem.svelte.d.ts +29 -0
- package/dist/scroll-list/ScrollItem.svelte.d.ts.map +1 -0
- package/dist/scroll-list/ScrollList.svelte +78 -227
- package/dist/scroll-list/ScrollList.svelte.d.ts +12 -41
- package/dist/scroll-list/ScrollList.svelte.d.ts.map +1 -1
- package/dist/scroll-list/index.d.ts +2 -2
- package/dist/scroll-list/index.d.ts.map +1 -1
- package/dist/scroll-list/index.js +1 -0
- package/dist/scroll-list/meta.d.ts +96 -101
- package/dist/scroll-list/meta.d.ts.map +1 -1
- package/dist/scroll-list/meta.js +84 -65
- package/dist/scroll-list/types.d.ts +2 -16
- package/dist/scroll-list/types.d.ts.map +1 -1
- package/dist/select/Select.svelte +683 -232
- package/dist/select/Select.svelte.d.ts +170 -37
- package/dist/select/Select.svelte.d.ts.map +1 -1
- package/dist/select/meta.d.ts +186 -40
- package/dist/select/meta.d.ts.map +1 -1
- package/dist/select/meta.js +54 -20
- package/dist/side-sheet/SideSheet.svelte +541 -500
- package/dist/side-sheet/SideSheet.svelte.d.ts +36 -49
- package/dist/side-sheet/SideSheet.svelte.d.ts.map +1 -1
- package/dist/side-sheet/meta.d.ts +77 -112
- package/dist/side-sheet/meta.d.ts.map +1 -1
- package/dist/side-sheet/meta.js +71 -71
- package/dist/sidebar/SideBar.svelte +168 -0
- package/dist/sidebar/SideBar.svelte.d.ts +28 -0
- package/dist/sidebar/SideBar.svelte.d.ts.map +1 -0
- package/dist/sidebar/SideBarAnnotation.svelte +453 -0
- package/dist/sidebar/SideBarAnnotation.svelte.d.ts +47 -0
- package/dist/sidebar/SideBarAnnotation.svelte.d.ts.map +1 -0
- package/dist/sidebar/SideBarCodeContent.svelte +201 -0
- package/dist/sidebar/SideBarCodeContent.svelte.d.ts +42 -0
- package/dist/sidebar/SideBarCodeContent.svelte.d.ts.map +1 -0
- package/dist/sidebar/SideBarContainer.svelte +478 -0
- package/dist/sidebar/SideBarContainer.svelte.d.ts +38 -0
- package/dist/sidebar/SideBarContainer.svelte.d.ts.map +1 -0
- package/dist/sidebar/SideBarFileContent.svelte +192 -0
- package/dist/sidebar/SideBarFileContent.svelte.d.ts +40 -0
- package/dist/sidebar/SideBarFileContent.svelte.d.ts.map +1 -0
- package/dist/sidebar/SideBarFileItem.svelte +311 -0
- package/dist/sidebar/SideBarFileItem.svelte.d.ts +21 -0
- package/dist/sidebar/SideBarFileItem.svelte.d.ts.map +1 -0
- package/dist/sidebar/SideBarImageUploadNode.svelte +103 -0
- package/dist/sidebar/SideBarImageUploadNode.svelte.d.ts +5 -0
- package/dist/sidebar/SideBarImageUploadNode.svelte.d.ts.map +1 -0
- package/dist/sidebar/SideBarMcpConfigure.svelte +544 -0
- package/dist/sidebar/SideBarMcpConfigure.svelte.d.ts +60 -0
- package/dist/sidebar/SideBarMcpConfigure.svelte.d.ts.map +1 -0
- package/dist/sidebar/SideBarOptions.svelte +137 -0
- package/dist/sidebar/SideBarOptions.svelte.d.ts +10 -0
- package/dist/sidebar/SideBarOptions.svelte.d.ts.map +1 -0
- package/dist/sidebar/file-extensions.d.ts +37 -0
- package/dist/sidebar/file-extensions.d.ts.map +1 -0
- package/dist/sidebar/file-extensions.js +45 -0
- package/dist/sidebar/index.d.ts +14 -0
- package/dist/sidebar/index.d.ts.map +1 -0
- package/dist/sidebar/index.js +9 -0
- package/dist/sidebar/meta.d.ts +373 -0
- package/dist/sidebar/meta.d.ts.map +1 -0
- package/dist/sidebar/meta.js +219 -0
- package/dist/sidebar/types.d.ts +70 -0
- package/dist/sidebar/types.d.ts.map +1 -0
- package/dist/sidebar/types.js +1 -0
- package/dist/skeleton/Skeleton.svelte +129 -97
- package/dist/skeleton/Skeleton.svelte.d.ts +7 -2
- package/dist/skeleton/Skeleton.svelte.d.ts.map +1 -1
- package/dist/skeleton/SkeletonAvatar.svelte +25 -68
- package/dist/skeleton/SkeletonAvatar.svelte.d.ts +6 -2
- package/dist/skeleton/SkeletonAvatar.svelte.d.ts.map +1 -1
- package/dist/skeleton/SkeletonButton.svelte +6 -77
- package/dist/skeleton/SkeletonButton.svelte.d.ts +0 -4
- package/dist/skeleton/SkeletonButton.svelte.d.ts.map +1 -1
- package/dist/skeleton/SkeletonImage.svelte +6 -87
- package/dist/skeleton/SkeletonImage.svelte.d.ts +0 -3
- package/dist/skeleton/SkeletonImage.svelte.d.ts.map +1 -1
- package/dist/skeleton/SkeletonParagraph.svelte +10 -87
- package/dist/skeleton/SkeletonParagraph.svelte.d.ts +1 -1
- package/dist/skeleton/SkeletonParagraph.svelte.d.ts.map +1 -1
- package/dist/skeleton/SkeletonTitle.svelte +6 -61
- package/dist/skeleton/SkeletonTitle.svelte.d.ts +0 -2
- package/dist/skeleton/SkeletonTitle.svelte.d.ts.map +1 -1
- package/dist/skeleton/index.d.ts +1 -1
- package/dist/skeleton/index.d.ts.map +1 -1
- package/dist/skeleton/meta.d.ts +99 -23
- package/dist/skeleton/meta.d.ts.map +1 -1
- package/dist/skeleton/meta.js +70 -28
- package/dist/slider/Slider.svelte +418 -419
- package/dist/slider/Slider.svelte.d.ts +45 -54
- package/dist/slider/Slider.svelte.d.ts.map +1 -1
- package/dist/slider/meta.d.ts +49 -87
- package/dist/slider/meta.d.ts.map +1 -1
- package/dist/slider/meta.js +50 -26
- package/dist/space/Space.svelte +97 -49
- package/dist/space/Space.svelte.d.ts +17 -4
- package/dist/space/Space.svelte.d.ts.map +1 -1
- package/dist/space/meta.d.ts +30 -17
- package/dist/space/meta.d.ts.map +1 -1
- package/dist/space/meta.js +29 -12
- package/dist/spin/Spin.svelte +160 -195
- package/dist/spin/Spin.svelte.d.ts +8 -12
- package/dist/spin/Spin.svelte.d.ts.map +1 -1
- package/dist/spin/meta.d.ts +36 -53
- package/dist/spin/meta.d.ts.map +1 -1
- package/dist/spin/meta.js +27 -47
- package/dist/steps/Step.svelte +236 -0
- package/dist/steps/Step.svelte.d.ts +5 -0
- package/dist/steps/Step.svelte.d.ts.map +1 -0
- package/dist/steps/Steps.svelte +521 -274
- package/dist/steps/Steps.svelte.d.ts +14 -22
- package/dist/steps/Steps.svelte.d.ts.map +1 -1
- package/dist/steps/context.d.ts +41 -0
- package/dist/steps/context.d.ts.map +1 -0
- package/dist/steps/context.js +8 -0
- package/dist/steps/index.d.ts +8 -2
- package/dist/steps/index.d.ts.map +1 -1
- package/dist/steps/index.js +5 -1
- package/dist/steps/meta.d.ts +67 -42
- package/dist/steps/meta.d.ts.map +1 -1
- package/dist/steps/meta.js +169 -25
- package/dist/steps/types.d.ts +30 -7
- package/dist/steps/types.d.ts.map +1 -1
- package/dist/switch/Switch.svelte +224 -205
- package/dist/switch/Switch.svelte.d.ts +22 -43
- package/dist/switch/Switch.svelte.d.ts.map +1 -1
- package/dist/switch/meta.d.ts +44 -51
- package/dist/switch/meta.d.ts.map +1 -1
- package/dist/switch/meta.js +68 -27
- package/dist/table/Table.svelte +1065 -600
- package/dist/table/Table.svelte.d.ts +95 -1
- package/dist/table/Table.svelte.d.ts.map +1 -1
- package/dist/table/meta.d.ts +221 -2
- package/dist/table/meta.d.ts.map +1 -1
- package/dist/table/meta.js +119 -18
- package/dist/table/types.d.ts +36 -6
- package/dist/table/types.d.ts.map +1 -1
- package/dist/tabs/TabPane.svelte +4 -1
- package/dist/tabs/TabPane.svelte.d.ts +2 -0
- package/dist/tabs/TabPane.svelte.d.ts.map +1 -1
- package/dist/tabs/Tabs.svelte +453 -280
- package/dist/tabs/Tabs.svelte.d.ts +41 -32
- package/dist/tabs/Tabs.svelte.d.ts.map +1 -1
- package/dist/tabs/context.d.ts +3 -0
- package/dist/tabs/context.d.ts.map +1 -1
- package/dist/tabs/meta.d.ts +43 -47
- package/dist/tabs/meta.d.ts.map +1 -1
- package/dist/tabs/meta.js +76 -47
- package/dist/tabs/types.d.ts +3 -0
- package/dist/tabs/types.d.ts.map +1 -1
- package/dist/tag/SplitTagGroup.svelte +62 -0
- package/dist/tag/SplitTagGroup.svelte.d.ts +15 -0
- package/dist/tag/SplitTagGroup.svelte.d.ts.map +1 -0
- package/dist/tag/Tag.svelte +394 -261
- package/dist/tag/Tag.svelte.d.ts +40 -23
- package/dist/tag/Tag.svelte.d.ts.map +1 -1
- package/dist/tag/TagGroup.svelte +208 -0
- package/dist/tag/TagGroup.svelte.d.ts +56 -0
- package/dist/tag/TagGroup.svelte.d.ts.map +1 -0
- package/dist/tag/index.d.ts +2 -0
- package/dist/tag/index.d.ts.map +1 -1
- package/dist/tag/index.js +4 -0
- package/dist/tag/meta.d.ts +157 -51
- package/dist/tag/meta.d.ts.map +1 -1
- package/dist/tag/meta.js +82 -45
- package/dist/tag-input/TagInput.svelte +575 -261
- package/dist/tag-input/TagInput.svelte.d.ts +52 -17
- package/dist/tag-input/TagInput.svelte.d.ts.map +1 -1
- package/dist/tag-input/meta.d.ts +132 -20
- package/dist/tag-input/meta.d.ts.map +1 -1
- package/dist/tag-input/meta.js +49 -21
- package/dist/tag-input/split.d.ts +8 -0
- package/dist/tag-input/split.d.ts.map +1 -0
- package/dist/tag-input/split.js +22 -0
- package/dist/time-picker/TimePicker.svelte +504 -722
- package/dist/time-picker/TimePicker.svelte.d.ts +67 -47
- package/dist/time-picker/TimePicker.svelte.d.ts.map +1 -1
- package/dist/time-picker/meta.d.ts +201 -19
- package/dist/time-picker/meta.d.ts.map +1 -1
- package/dist/time-picker/meta.js +73 -16
- package/dist/timeline/Timeline.svelte +212 -548
- package/dist/timeline/Timeline.svelte.d.ts +9 -22
- package/dist/timeline/Timeline.svelte.d.ts.map +1 -1
- package/dist/timeline/TimelineItem.svelte +101 -143
- package/dist/timeline/TimelineItem.svelte.d.ts +20 -20
- package/dist/timeline/TimelineItem.svelte.d.ts.map +1 -1
- package/dist/timeline/context.d.ts +8 -12
- package/dist/timeline/context.d.ts.map +1 -1
- package/dist/timeline/index.d.ts +2 -2
- package/dist/timeline/index.d.ts.map +1 -1
- package/dist/timeline/meta.d.ts +59 -95
- package/dist/timeline/meta.d.ts.map +1 -1
- package/dist/timeline/meta.js +81 -86
- package/dist/timeline/types.d.ts +16 -5
- package/dist/timeline/types.d.ts.map +1 -1
- package/dist/toast/ToastContainer.svelte +111 -125
- package/dist/toast/ToastContainer.svelte.d.ts +3 -0
- package/dist/toast/ToastContainer.svelte.d.ts.map +1 -1
- package/dist/toast/ToastHolder.svelte +18 -0
- package/dist/toast/ToastHolder.svelte.d.ts +8 -0
- package/dist/toast/ToastHolder.svelte.d.ts.map +1 -0
- package/dist/toast/ToastItem.svelte +209 -191
- package/dist/toast/ToastItem.svelte.d.ts +7 -0
- package/dist/toast/ToastItem.svelte.d.ts.map +1 -1
- package/dist/toast/index.d.ts +3 -2
- package/dist/toast/index.d.ts.map +1 -1
- package/dist/toast/index.js +2 -1
- package/dist/toast/meta.d.ts +84 -53
- package/dist/toast/meta.d.ts.map +1 -1
- package/dist/toast/meta.js +69 -62
- package/dist/toast/store.d.ts +79 -51
- package/dist/toast/store.d.ts.map +1 -1
- package/dist/toast/store.js +179 -116
- package/dist/tooltip/Tooltip.svelte +533 -203
- package/dist/tooltip/Tooltip.svelte.d.ts +90 -20
- package/dist/tooltip/Tooltip.svelte.d.ts.map +1 -1
- package/dist/tooltip/index.d.ts +1 -0
- package/dist/tooltip/index.d.ts.map +1 -1
- package/dist/tooltip/index.js +1 -0
- package/dist/tooltip/meta.d.ts +131 -34
- package/dist/tooltip/meta.d.ts.map +1 -1
- package/dist/tooltip/meta.js +92 -28
- package/dist/tooltip/placement.d.ts +21 -1
- package/dist/tooltip/placement.d.ts.map +1 -1
- package/dist/tooltip/placement.js +57 -1
- package/dist/transfer/Transfer.svelte +686 -1100
- package/dist/transfer/Transfer.svelte.d.ts +68 -73
- package/dist/transfer/Transfer.svelte.d.ts.map +1 -1
- package/dist/transfer/meta.d.ts +44 -65
- package/dist/transfer/meta.d.ts.map +1 -1
- package/dist/transfer/meta.js +76 -31
- package/dist/transfer/types.d.ts +5 -0
- package/dist/transfer/types.d.ts.map +1 -1
- package/dist/tree/Tree.svelte +973 -422
- package/dist/tree/Tree.svelte.d.ts +291 -72
- package/dist/tree/Tree.svelte.d.ts.map +1 -1
- package/dist/tree/meta.d.ts +246 -79
- package/dist/tree/meta.d.ts.map +1 -1
- package/dist/tree/meta.js +238 -58
- package/dist/tree-select/TreeSelect.svelte +591 -240
- package/dist/tree-select/TreeSelect.svelte.d.ts +88 -54
- package/dist/tree-select/TreeSelect.svelte.d.ts.map +1 -1
- package/dist/tree-select/meta.d.ts +344 -57
- package/dist/tree-select/meta.d.ts.map +1 -1
- package/dist/tree-select/meta.js +80 -26
- package/dist/tree-select/types.d.ts +2 -0
- package/dist/tree-select/types.d.ts.map +1 -1
- package/dist/typography/Numeral.svelte +117 -0
- package/dist/typography/Numeral.svelte.d.ts +35 -0
- package/dist/typography/Numeral.svelte.d.ts.map +1 -0
- package/dist/typography/Paragraph.svelte +20 -34
- package/dist/typography/Paragraph.svelte.d.ts +8 -13
- package/dist/typography/Paragraph.svelte.d.ts.map +1 -1
- package/dist/typography/Text.svelte +22 -33
- package/dist/typography/Text.svelte.d.ts +11 -13
- package/dist/typography/Text.svelte.d.ts.map +1 -1
- package/dist/typography/Title.svelte +23 -28
- package/dist/typography/Title.svelte.d.ts +10 -11
- package/dist/typography/Title.svelte.d.ts.map +1 -1
- package/dist/typography/TypographyBase.svelte +534 -479
- package/dist/typography/TypographyBase.svelte.d.ts +44 -29
- package/dist/typography/TypographyBase.svelte.d.ts.map +1 -1
- package/dist/typography/index.d.ts +3 -3
- package/dist/typography/index.d.ts.map +1 -1
- package/dist/typography/index.js +3 -3
- package/dist/typography/meta.d.ts +190 -185
- package/dist/typography/meta.d.ts.map +1 -1
- package/dist/typography/meta.js +112 -85
- package/dist/upload/FileCard.svelte +634 -0
- package/dist/upload/FileCard.svelte.d.ts +40 -0
- package/dist/upload/FileCard.svelte.d.ts.map +1 -0
- package/dist/upload/Upload.svelte +1112 -650
- package/dist/upload/Upload.svelte.d.ts +118 -66
- package/dist/upload/Upload.svelte.d.ts.map +1 -1
- package/dist/upload/index.d.ts +2 -1
- package/dist/upload/index.d.ts.map +1 -1
- package/dist/upload/index.js +1 -0
- package/dist/upload/meta.d.ts +231 -72
- package/dist/upload/meta.d.ts.map +1 -1
- package/dist/upload/meta.js +84 -42
- package/dist/upload/types.d.ts +137 -3
- package/dist/upload/types.d.ts.map +1 -1
- package/dist/user-guide/UserGuide.svelte +655 -0
- package/dist/user-guide/UserGuide.svelte.d.ts +75 -0
- package/dist/user-guide/UserGuide.svelte.d.ts.map +1 -0
- package/dist/user-guide/index.d.ts +4 -0
- package/dist/user-guide/index.d.ts.map +1 -0
- package/dist/user-guide/index.js +2 -0
- package/dist/user-guide/meta.d.ts +162 -0
- package/dist/user-guide/meta.d.ts.map +1 -0
- package/dist/user-guide/meta.js +60 -0
- package/dist/video-player/ErrorSvg.svelte +15 -0
- package/dist/video-player/ErrorSvg.svelte.d.ts +19 -0
- package/dist/video-player/ErrorSvg.svelte.d.ts.map +1 -0
- package/dist/video-player/VideoPlayer.svelte +769 -0
- package/dist/video-player/VideoPlayer.svelte.d.ts +43 -0
- package/dist/video-player/VideoPlayer.svelte.d.ts.map +1 -0
- package/dist/video-player/VideoProgress.svelte +267 -0
- package/dist/video-player/VideoProgress.svelte.d.ts +18 -0
- package/dist/video-player/VideoProgress.svelte.d.ts.map +1 -0
- package/dist/video-player/index.d.ts +4 -0
- package/dist/video-player/index.d.ts.map +1 -0
- package/dist/video-player/index.js +2 -0
- package/dist/video-player/meta.d.ts +200 -0
- package/dist/video-player/meta.d.ts.map +1 -0
- package/dist/video-player/meta.js +159 -0
- package/package.json +29 -4
- package/dist/collapse/types.d.ts +0 -6
- package/dist/collapse/types.d.ts.map +0 -1
- package/dist/date-picker/RangePicker.svelte +0 -775
- package/dist/date-picker/RangePicker.svelte.d.ts +0 -38
- package/dist/date-picker/RangePicker.svelte.d.ts.map +0 -1
- package/dist/date-picker/range-meta.d.ts +0 -100
- package/dist/date-picker/range-meta.d.ts.map +0 -1
- package/dist/date-picker/range-meta.js +0 -43
- package/dist/drawer/Drawer.svelte +0 -554
- package/dist/drawer/Drawer.svelte.d.ts +0 -54
- package/dist/drawer/Drawer.svelte.d.ts.map +0 -1
- package/dist/drawer/index.d.ts +0 -3
- package/dist/drawer/index.d.ts.map +0 -1
- package/dist/drawer/index.js +0 -2
- package/dist/drawer/meta.d.ts +0 -147
- package/dist/drawer/meta.d.ts.map +0 -1
- package/dist/drawer/meta.js +0 -126
- package/dist/dropdown/DropdownItemNode.svelte +0 -355
- package/dist/dropdown/DropdownItemNode.svelte.d.ts +0 -14
- package/dist/dropdown/DropdownItemNode.svelte.d.ts.map +0 -1
- package/dist/dropdown/DropdownSubMenu.svelte +0 -212
- package/dist/dropdown/DropdownSubMenu.svelte.d.ts +0 -15
- package/dist/dropdown/DropdownSubMenu.svelte.d.ts.map +0 -1
- package/dist/grid/use-breakpoint.svelte.d.ts +0 -13
- package/dist/grid/use-breakpoint.svelte.d.ts.map +0 -1
- package/dist/grid/use-breakpoint.svelte.js +0 -41
- package/dist/icon/Icon.svelte +0 -156
- package/dist/icon/Icon.svelte.d.ts +0 -23
- package/dist/icon/Icon.svelte.d.ts.map +0 -1
- package/dist/image/ImagePreviewGroup.svelte +0 -93
- package/dist/image/ImagePreviewGroup.svelte.d.ts +0 -14
- package/dist/image/ImagePreviewGroup.svelte.d.ts.map +0 -1
- package/dist/image/context.d.ts +0 -16
- package/dist/image/context.d.ts.map +0 -1
- package/dist/image/context.js +0 -8
- package/dist/list/ListMeta.svelte +0 -73
- package/dist/list/ListMeta.svelte.d.ts +0 -14
- package/dist/list/ListMeta.svelte.d.ts.map +0 -1
- package/dist/lottie-icon/LottieIcon.svelte +0 -330
- package/dist/lottie-icon/LottieIcon.svelte.d.ts +0 -44
- package/dist/lottie-icon/LottieIcon.svelte.d.ts.map +0 -1
- package/dist/lottie-icon/index.d.ts +0 -4
- package/dist/lottie-icon/index.d.ts.map +0 -1
- package/dist/lottie-icon/index.js +0 -2
- package/dist/lottie-icon/meta.d.ts +0 -147
- package/dist/lottie-icon/meta.js +0 -161
- package/dist/menu/Menu.svelte +0 -843
- package/dist/menu/Menu.svelte.d.ts +0 -95
- package/dist/menu/Menu.svelte.d.ts.map +0 -1
- package/dist/menu/MenuPopupNode.svelte +0 -525
- package/dist/menu/MenuPopupNode.svelte.d.ts +0 -52
- package/dist/menu/MenuPopupNode.svelte.d.ts.map +0 -1
- package/dist/menu/index.d.ts +0 -5
- package/dist/menu/index.d.ts.map +0 -1
- package/dist/menu/index.js +0 -3
- package/dist/menu/meta.d.ts +0 -147
- package/dist/menu/meta.d.ts.map +0 -1
- package/dist/menu/meta.js +0 -141
- package/dist/menu/types.d.ts +0 -88
- package/dist/menu/types.d.ts.map +0 -1
- package/dist/menu/types.js +0 -34
- package/dist/scroll-list/ScrollColumn.svelte +0 -592
- package/dist/scroll-list/ScrollColumn.svelte.d.ts +0 -34
- package/dist/scroll-list/ScrollColumn.svelte.d.ts.map +0 -1
- package/dist/skeleton/context.d.ts +0 -10
- package/dist/skeleton/context.d.ts.map +0 -1
- package/dist/skeleton/context.js +0 -1
- package/dist/textarea/TextArea.svelte +0 -420
- package/dist/textarea/TextArea.svelte.d.ts +0 -69
- package/dist/textarea/TextArea.svelte.d.ts.map +0 -1
- package/dist/textarea/index.d.ts +0 -3
- package/dist/textarea/index.d.ts.map +0 -1
- package/dist/textarea/index.js +0 -2
- package/dist/textarea/meta.d.ts +0 -170
- package/dist/textarea/meta.d.ts.map +0 -1
- package/dist/textarea/meta.js +0 -104
- package/dist/toast/live-region.d.ts +0 -21
- package/dist/toast/live-region.d.ts.map +0 -1
- package/dist/toast/live-region.js +0 -57
- package/dist/typography/Link.svelte +0 -120
- package/dist/typography/Link.svelte.d.ts +0 -35
- package/dist/typography/Link.svelte.d.ts.map +0 -1
- /package/dist/{collapse/types.js → ai-chat-dialogue/render-config.js} +0 -0
package/dist/table/Table.svelte
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
后代部分选中父行半选 indeterminate),true=父子独立(向后兼容)。联动 {checked,half} 经 core
|
|
16
16
|
conductRows/toggleRowCheck 纯函数据整棵可见行树派生 (红线 #2);内部存叶子级 base,
|
|
17
17
|
onChange 回传含父行的完整 checked 集;半选写 input.indeterminate 复用 attachment (红线 #3)。
|
|
18
|
-
行虚拟滚动:virtualized=true 时 .cd-table-
|
|
18
|
+
行虚拟滚动:virtualized=true 时 .cd-table-body 自身纵向滚动(固定 height),thead sticky 固定顶部,
|
|
19
19
|
tbody 仅渲染视口内行切片(复用 core fixedRange 算可见区间),首尾各一个 padding spacer tr 撑出
|
|
20
20
|
未渲染行总高(保持原生 <table>/<tr>/<td> 语义与 a11y)。scrollTop 命令式 scroll 回调 + rAF 节流写入
|
|
21
21
|
本地 $state,可见区间纯 $derived render 期只读(红线 #2/#3)。virtualized 与 pagination 互斥(虚拟时
|
|
@@ -35,14 +35,23 @@
|
|
|
35
35
|
fixedRange,
|
|
36
36
|
useLiveAnnouncer,
|
|
37
37
|
useId,
|
|
38
|
+
createResizeDrag,
|
|
38
39
|
type RowKey,
|
|
39
40
|
type SortState,
|
|
40
41
|
type FlatRow,
|
|
42
|
+
type ResizeDragController,
|
|
41
43
|
} from '@chenzy-design/core';
|
|
42
44
|
import { tick } from 'svelte';
|
|
43
45
|
import type { Snippet } from 'svelte';
|
|
44
46
|
import { SvelteMap } from 'svelte/reactivity';
|
|
45
47
|
import { Pagination } from '../pagination/index.js';
|
|
48
|
+
import {
|
|
49
|
+
IconCaretup,
|
|
50
|
+
IconCaretdown,
|
|
51
|
+
IconFilter,
|
|
52
|
+
IconChevronRight,
|
|
53
|
+
IconTreeTriangleRight,
|
|
54
|
+
} from '@chenzy-design/icons';
|
|
46
55
|
import { floating } from '../_floating/use-floating.js';
|
|
47
56
|
import { useDismiss } from '@chenzy-design/core';
|
|
48
57
|
import { useLocale } from '../locale-provider/index.js';
|
|
@@ -112,8 +121,26 @@
|
|
|
112
121
|
indentSize: indentSizeProp = 20,
|
|
113
122
|
groupBy,
|
|
114
123
|
renderGroupSection,
|
|
124
|
+
clickGroupedRowToExpand = false,
|
|
125
|
+
defaultExpandAllGroupRows,
|
|
126
|
+
expandAllGroupRows,
|
|
127
|
+
onGroupExpandChange,
|
|
128
|
+
onGroupedRow,
|
|
115
129
|
titleSnippet,
|
|
116
130
|
footerSnippet,
|
|
131
|
+
renderPagination,
|
|
132
|
+
expandIcon,
|
|
133
|
+
hideExpandedColumn = true,
|
|
134
|
+
rowSpanHover = false,
|
|
135
|
+
headerStyle,
|
|
136
|
+
direction = 'ltr',
|
|
137
|
+
title,
|
|
138
|
+
footer,
|
|
139
|
+
childrenRecordName,
|
|
140
|
+
class: className,
|
|
141
|
+
style,
|
|
142
|
+
components,
|
|
143
|
+
getVirtualizedListRef,
|
|
117
144
|
}: {
|
|
118
145
|
columns?: ColumnDef<T>[];
|
|
119
146
|
dataSource?: T[];
|
|
@@ -187,9 +214,9 @@
|
|
|
187
214
|
/** 筛选浮层挂载容器,默认跟随触发按钮 */
|
|
188
215
|
getPopupContainer?: () => HTMLElement;
|
|
189
216
|
/** 行级事件与属性(返回 onClick/onDoubleClick/className/style) */
|
|
190
|
-
onRow?: (record: T, index: number) => { onClick?: (e: MouseEvent) => void; onDoubleClick?: (e: MouseEvent) => void; className?: string; style?: string };
|
|
217
|
+
onRow?: (record: T, index: number, rowStatus?: { disabled?: boolean; selected?: boolean }) => { onClick?: (e: MouseEvent) => void; onDoubleClick?: (e: MouseEvent) => void; onMouseEnter?: (e: MouseEvent) => void; onMouseLeave?: (e: MouseEvent) => void; className?: string; style?: string };
|
|
191
218
|
/** 表头行级事件与属性 */
|
|
192
|
-
onHeaderRow?: (columns: ColumnDef<T>[], index: number) => { onClick?: (e: MouseEvent) => void; className?: string; style?: string };
|
|
219
|
+
onHeaderRow?: (columns: ColumnDef<T>[], index: number) => { onClick?: (e: MouseEvent) => void; onMouseEnter?: (e: MouseEvent) => void; onMouseLeave?: (e: MouseEvent) => void; className?: string; style?: string };
|
|
193
220
|
/** 点击行体时触发展开/收起,默认 false */
|
|
194
221
|
expandRowByClick?: boolean;
|
|
195
222
|
/** 展开图标列固定方向 */
|
|
@@ -202,12 +229,81 @@
|
|
|
202
229
|
groupBy?: string | ((record: T) => string);
|
|
203
230
|
/** 自定义分组标题渲染 */
|
|
204
231
|
renderGroupSection?: Snippet<[{ groupKey: string; group: T[] }]>;
|
|
232
|
+
/** 点击分组标题行时折叠/展开该组内的数据行,默认 false(groupBy 时生效) */
|
|
233
|
+
clickGroupedRowToExpand?: boolean;
|
|
234
|
+
/** 非受控:初始默认展开全部分组。缺省(未配置任一分组展开 props)时向后兼容为全展开;
|
|
235
|
+
* 显式传 false 则初始全部折叠。动态加载数据时不生效。 */
|
|
236
|
+
defaultExpandAllGroupRows?: boolean;
|
|
237
|
+
/** 受控:为 true 展开全部分组、false 折叠全部分组。受控时不回写,仅经 onGroupExpandChange 通知(红线 #1) */
|
|
238
|
+
expandAllGroupRows?: boolean;
|
|
239
|
+
/** 分组展开/收起变化回调(点击分组标题行触发),回传当前展开的分组 key 集合 */
|
|
240
|
+
onGroupExpandChange?: (info: { groupKey: string; expanded: boolean; expandedGroupKeys: string[] }) => void;
|
|
241
|
+
/** 分组标题行的自定义属性回调(类似 onRow,仅作用于分组头行),返回值合并进分组头行 tr。groupBy 时生效 */
|
|
242
|
+
onGroupedRow?: (group: T[], index: number) => { onClick?: (e: MouseEvent) => void; onDoubleClick?: (e: MouseEvent) => void; onMouseEnter?: (e: MouseEvent) => void; onMouseLeave?: (e: MouseEvent) => void; className?: string; style?: string };
|
|
205
243
|
/** 表格顶部标题区域 */
|
|
206
244
|
titleSnippet?: Snippet;
|
|
207
245
|
/** 表格底部内容区域(接收 currentData) */
|
|
208
246
|
footerSnippet?: Snippet<[{ currentData: T[] }]>;
|
|
247
|
+
/**
|
|
248
|
+
* 自定义分页器渲染,替换内置 Pagination UI。入参含分页状态与翻页回调(调用 onChange(page) 触发内部翻页,
|
|
249
|
+
* 受控 current 仍不回写,红线 #1)。仅在 paginationEnabled 且有数据时消费。
|
|
250
|
+
*/
|
|
251
|
+
renderPagination?: Snippet<[{ total: number; currentPage: number; pageSize: number; onChange: (page: number) => void }]>;
|
|
252
|
+
/**
|
|
253
|
+
* 自定义展开行的展开/收起图标(替换默认三角)。入参 { expanded, record }。
|
|
254
|
+
* 仅在 expandable 展开列生效(树形行的展开三角另有渲染,不受此影响)。
|
|
255
|
+
*/
|
|
256
|
+
expandIcon?: Snippet<[{ expanded: boolean; record: T }]>;
|
|
257
|
+
/**
|
|
258
|
+
* 展开按钮是否与首列文案渲染在同一单元格。默认 true(并入首列,对齐 Semi);
|
|
259
|
+
* 传 false 时展开按钮单独作为一列渲染(首列前的独立 expand 列)。仅 expandable 时生效。
|
|
260
|
+
*/
|
|
261
|
+
hideExpandedColumn?: boolean;
|
|
262
|
+
/** 合并单元格(column.render 返回 rowSpan)时 hover 是否高亮整个合并区。默认 false */
|
|
263
|
+
rowSpanHover?: boolean;
|
|
264
|
+
/** 表头单元格(所有 th,含 fixed 表头)的自定义内联样式。字符串或键值对象 */
|
|
265
|
+
headerStyle?: string | Record<string, string>;
|
|
266
|
+
/** RTL/LTR 方向,默认 ltr(对齐 Semi direction) */
|
|
267
|
+
direction?: 'ltr' | 'rtl';
|
|
268
|
+
/** 表格标题(字符串;富内容用 titleSnippet) */
|
|
269
|
+
title?: string;
|
|
270
|
+
/** 表格尾部(字符串;富内容用 footerSnippet) */
|
|
271
|
+
footer?: string;
|
|
272
|
+
/** 树形 dataSource 中子级字段名,默认 'children'(对齐 Semi childrenRecordName;tree.childrenColumnName 优先) */
|
|
273
|
+
childrenRecordName?: string;
|
|
274
|
+
/** 最外层 .cd-table-wrapper 自定义样式名(对齐 Semi className) */
|
|
275
|
+
class?: string;
|
|
276
|
+
/** 最外层 .cd-table-wrapper 内联样式(对齐 Semi style) */
|
|
277
|
+
style?: string;
|
|
278
|
+
/**
|
|
279
|
+
* 覆盖组成元素的 tag 名(对齐 Semi components)。Svelte 侧以标签名字符串生效,
|
|
280
|
+
* 经 <svelte:element> 渲染,内部 class/role/事件仍注入。缺省用原生
|
|
281
|
+
* table/thead/tbody/tr/th/td。常见用法:body.row='div' 配合拖拽库。
|
|
282
|
+
*/
|
|
283
|
+
components?: {
|
|
284
|
+
table?: string;
|
|
285
|
+
header?: { wrapper?: string; row?: string; cell?: string };
|
|
286
|
+
body?: { wrapper?: string; row?: string; cell?: string };
|
|
287
|
+
};
|
|
288
|
+
/**
|
|
289
|
+
* 返回虚拟化滚动控制句柄(对齐 Semi getVirtualizedListRef)。仅 virtualized 时有效。
|
|
290
|
+
* 句柄含 scrollTo(offset) 与 scrollToItem(index),命令式驱动表体滚动。
|
|
291
|
+
*/
|
|
292
|
+
getVirtualizedListRef?: (ref: {
|
|
293
|
+
scrollTo: (offset: number) => void;
|
|
294
|
+
scrollToItem: (index: number) => void;
|
|
295
|
+
}) => void;
|
|
209
296
|
} = $props();
|
|
210
297
|
|
|
298
|
+
// 解析各槽位 tag,缺省回退原生(对齐 Semi DEFAULT_COMPONENTS)。
|
|
299
|
+
const tagTable = $derived(components?.table ?? 'table');
|
|
300
|
+
const tagThead = $derived(components?.header?.wrapper ?? 'thead');
|
|
301
|
+
const tagTbody = $derived(components?.body?.wrapper ?? 'tbody');
|
|
302
|
+
const tagHeaderRow = $derived(components?.header?.row ?? 'tr');
|
|
303
|
+
const tagHeaderCell = $derived(components?.header?.cell ?? 'th');
|
|
304
|
+
const tagBodyRow = $derived(components?.body?.row ?? 'tr');
|
|
305
|
+
const tagBodyCell = $derived(components?.body?.cell ?? 'td');
|
|
306
|
+
|
|
211
307
|
const loc = useLocale();
|
|
212
308
|
// 单例 live region(polite):排序结果播报给屏幕阅读器(命令式写入在事件回调,红线 #3)。
|
|
213
309
|
const announcer = useLiveAnnouncer();
|
|
@@ -219,6 +315,59 @@
|
|
|
219
315
|
const colKeyOf = (col: ColumnDef<T>, index: number): string =>
|
|
220
316
|
col.key ?? col.dataIndex ?? String(index);
|
|
221
317
|
|
|
318
|
+
// --- 表头合并(column.children):叶子列驱动 body/ColGroup/固定列,父列只作表头分组 ---
|
|
319
|
+
// 无 children 时 leafColumns 与 columns 等价(零行为变化)。
|
|
320
|
+
function flattenLeaves(cols: ColumnDef<T>[]): ColumnDef<T>[] {
|
|
321
|
+
const out: ColumnDef<T>[] = [];
|
|
322
|
+
for (const c of cols) {
|
|
323
|
+
if (c.children && c.children.length > 0) out.push(...flattenLeaves(c.children));
|
|
324
|
+
else out.push(c);
|
|
325
|
+
}
|
|
326
|
+
return out;
|
|
327
|
+
}
|
|
328
|
+
const leafColumns = $derived(flattenLeaves(columns));
|
|
329
|
+
const hasHeaderMerge = $derived(columns.some((c) => c.children && c.children.length > 0));
|
|
330
|
+
|
|
331
|
+
function leafCount(col: ColumnDef<T>): number {
|
|
332
|
+
if (!col.children || col.children.length === 0) return 1;
|
|
333
|
+
return col.children.reduce((s, c) => s + leafCount(c), 0);
|
|
334
|
+
}
|
|
335
|
+
const headerDepth = $derived.by(() => {
|
|
336
|
+
const depth = (col: ColumnDef<T>): number =>
|
|
337
|
+
col.children && col.children.length > 0 ? 1 + Math.max(...col.children.map(depth)) : 1;
|
|
338
|
+
return columns.length ? Math.max(...columns.map(depth)) : 1;
|
|
339
|
+
});
|
|
340
|
+
interface HeaderCell {
|
|
341
|
+
col: ColumnDef<T>;
|
|
342
|
+
colSpan: number;
|
|
343
|
+
rowSpan: number;
|
|
344
|
+
leafIndex: number; // 叶子格:其在 leafColumns 的下标;父分组格:-1
|
|
345
|
+
isLeaf: boolean;
|
|
346
|
+
}
|
|
347
|
+
// 二维表头:rows[r] 是第 r 行的表头格序列。叶子列 rowSpan 纵向合并到底行。
|
|
348
|
+
const headerRows = $derived.by<HeaderCell[][]>(() => {
|
|
349
|
+
const depth = headerDepth;
|
|
350
|
+
const rows: HeaderCell[][] = Array.from({ length: depth }, () => []);
|
|
351
|
+
const walk = (col: ColumnDef<T>, rowIndex: number, startLeaf: number): void => {
|
|
352
|
+
if (!col.children || col.children.length === 0) {
|
|
353
|
+
rows[rowIndex]?.push({ col, colSpan: 1, rowSpan: depth - rowIndex, leafIndex: startLeaf, isLeaf: true });
|
|
354
|
+
} else {
|
|
355
|
+
rows[rowIndex]?.push({ col, colSpan: leafCount(col), rowSpan: 1, leafIndex: -1, isLeaf: false });
|
|
356
|
+
let childLeaf = startLeaf;
|
|
357
|
+
for (const child of col.children) {
|
|
358
|
+
walk(child, rowIndex + 1, childLeaf);
|
|
359
|
+
childLeaf += leafCount(child);
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
};
|
|
363
|
+
let cursor = 0;
|
|
364
|
+
for (const col of columns) {
|
|
365
|
+
walk(col, 0, cursor);
|
|
366
|
+
cursor += leafCount(col);
|
|
367
|
+
}
|
|
368
|
+
return rows;
|
|
369
|
+
});
|
|
370
|
+
|
|
222
371
|
// --- 列宽拖拽:本地覆盖宽度 (colKey → px),不写回 columns prop (红线 #1) ---
|
|
223
372
|
const MIN_COL_WIDTH = 40;
|
|
224
373
|
const widthOverrides = new SvelteMap<string, number>();
|
|
@@ -234,9 +383,11 @@
|
|
|
234
383
|
return col.width;
|
|
235
384
|
}
|
|
236
385
|
|
|
237
|
-
//
|
|
238
|
-
// pointerdown
|
|
239
|
-
// pointermove
|
|
386
|
+
// 列头拖拽:收敛到 core 通用拖拽原语 createResizeDrag,命令式管理指针几何
|
|
387
|
+
// (红线 #3)。pointerdown 时以当前列 colKey / 起始宽度构建一次性拖拽实例,
|
|
388
|
+
// 由原语在 document 上绑定 pointermove/pointerup 并在结束/卸载时解绑;
|
|
389
|
+
// 绝不用响应式 attachment 读几何。
|
|
390
|
+
let activeDrag: ResizeDragController | null = null;
|
|
240
391
|
function startResize(event: PointerEvent, col: ColumnDef<T>, index: number) {
|
|
241
392
|
event.preventDefault();
|
|
242
393
|
event.stopPropagation();
|
|
@@ -246,33 +397,31 @@
|
|
|
246
397
|
const ov = widthOverrides.get(colKey);
|
|
247
398
|
const startWidth =
|
|
248
399
|
ov ?? (typeof col.width === 'number' ? col.width : (th?.getBoundingClientRect().width ?? MIN_COL_WIDTH));
|
|
249
|
-
const startX = event.clientX;
|
|
250
400
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
401
|
+
activeDrag?.destroy();
|
|
402
|
+
const drag = createResizeDrag({
|
|
403
|
+
axis: 'x',
|
|
404
|
+
getStart: () => ({ width: startWidth }),
|
|
405
|
+
// 单数 min 作用于 x 轴:等价 Math.max(MIN_COL_WIDTH, ...),原语内部再 Math.round
|
|
406
|
+
min: MIN_COL_WIDTH,
|
|
407
|
+
onStart: () => {
|
|
408
|
+
resizingKey = colKey;
|
|
409
|
+
},
|
|
410
|
+
onMove: (s) => {
|
|
411
|
+
widthOverrides.set(colKey, s.width);
|
|
412
|
+
},
|
|
413
|
+
onEnd: () => {
|
|
414
|
+
resizingKey = null;
|
|
415
|
+
activeDrag = null;
|
|
416
|
+
},
|
|
417
|
+
});
|
|
418
|
+
activeDrag = drag;
|
|
419
|
+
drag.start(event, 'right');
|
|
268
420
|
}
|
|
269
421
|
|
|
270
|
-
//
|
|
271
|
-
let activeMove: ((e: PointerEvent) => void) | null = null;
|
|
272
|
-
let activeUp: (() => void) | null = null;
|
|
422
|
+
// 卸载兜底:若拖拽未结束就卸载,销毁拖拽实例清掉可能遗留的全局监听 (红线 #3)。
|
|
273
423
|
$effect(() => () => {
|
|
274
|
-
|
|
275
|
-
if (activeUp) document.removeEventListener('pointerup', activeUp);
|
|
424
|
+
activeDrag?.destroy();
|
|
276
425
|
});
|
|
277
426
|
|
|
278
427
|
// --- 排序:受控 sortState 不回写 (红线 #1) ---
|
|
@@ -283,8 +432,8 @@
|
|
|
283
432
|
);
|
|
284
433
|
function initSort(): SortState {
|
|
285
434
|
// Check for per-column defaultSortOrder
|
|
286
|
-
for (let i = 0; i <
|
|
287
|
-
const col =
|
|
435
|
+
for (let i = 0; i < leafColumns.length; i++) {
|
|
436
|
+
const col = leafColumns[i] as ColumnDef<T>;
|
|
288
437
|
if (col.defaultSortOrder != null) {
|
|
289
438
|
return { key: colKeyOf(col, i), order: col.defaultSortOrder };
|
|
290
439
|
}
|
|
@@ -333,7 +482,7 @@
|
|
|
333
482
|
}
|
|
334
483
|
// 筛选变化:单列 onFilterChange + 聚合 onChange。dataIndex 优先列 dataIndex,回退 colKey。
|
|
335
484
|
function emitFilterChange(colKey: string, values: (string | number)[]) {
|
|
336
|
-
const col =
|
|
485
|
+
const col = leafColumns.find((c, i) => colKeyOf(c, i) === colKey);
|
|
337
486
|
onFilterChange?.({ dataIndex: col?.dataIndex ?? colKey, values });
|
|
338
487
|
emitChange('filter');
|
|
339
488
|
}
|
|
@@ -367,8 +516,8 @@
|
|
|
367
516
|
const processed = $derived.by(() => {
|
|
368
517
|
let data = [...dataSource];
|
|
369
518
|
// 列筛选(多列 AND)
|
|
370
|
-
for (let i = 0; i <
|
|
371
|
-
const col =
|
|
519
|
+
for (let i = 0; i < leafColumns.length; i++) {
|
|
520
|
+
const col = leafColumns[i] as ColumnDef<T>;
|
|
372
521
|
const ck = colKeyOf(col, i);
|
|
373
522
|
if (isEffectivelyFiltered(col, ck)) {
|
|
374
523
|
const selected = effectiveFilterValues(col, ck);
|
|
@@ -387,7 +536,7 @@
|
|
|
387
536
|
const { key, order } = currentSort;
|
|
388
537
|
if (key && order) {
|
|
389
538
|
let target: ColumnDef<T> | undefined;
|
|
390
|
-
|
|
539
|
+
leafColumns.forEach((col, i) => {
|
|
391
540
|
if (colKeyOf(col, i) === key) target = col;
|
|
392
541
|
});
|
|
393
542
|
if (target && target.sorter) {
|
|
@@ -425,6 +574,14 @@
|
|
|
425
574
|
);
|
|
426
575
|
|
|
427
576
|
const total = $derived(processed.length);
|
|
577
|
+
// 分页 range 文案(对齐 Semi Table pageText:显示第 X 条-第 Y 条,共 N 条)。
|
|
578
|
+
const pageRangeText = $derived(
|
|
579
|
+
loc().t('Table.pageText', {
|
|
580
|
+
currentStart: total === 0 ? 0 : (currentPage - 1) * pageSize + 1,
|
|
581
|
+
currentEnd: Math.min(currentPage * pageSize, total),
|
|
582
|
+
total,
|
|
583
|
+
}),
|
|
584
|
+
);
|
|
428
585
|
const visibleRows = $derived(
|
|
429
586
|
paginationEnabled ? paginate(processed, currentPage, pageSize) : processed,
|
|
430
587
|
);
|
|
@@ -450,7 +607,7 @@
|
|
|
450
607
|
// 受控 tree.expandedRowKeys 不回写,仅 onExpand 通知 (红线 #1)。
|
|
451
608
|
const treeEnabled = $derived(tree !== undefined && tree !== false);
|
|
452
609
|
const treeOpts = $derived<TreeTable>(typeof tree === 'object' ? tree : {});
|
|
453
|
-
const childrenColumnName = $derived(treeOpts.childrenColumnName ?? 'children');
|
|
610
|
+
const childrenColumnName = $derived(treeOpts.childrenColumnName ?? childrenRecordName ?? 'children');
|
|
454
611
|
const indentSize = $derived(treeOpts.indentSize ?? indentSizeProp);
|
|
455
612
|
|
|
456
613
|
function getChildren(record: T): T[] | undefined {
|
|
@@ -534,6 +691,8 @@
|
|
|
534
691
|
// 仅依赖本地 $state,render 期只读不读 DOM(红线 #2)。
|
|
535
692
|
const VIRTUAL_OVERSCAN = 4;
|
|
536
693
|
let scrollEl = $state<HTMLDivElement | null>(null);
|
|
694
|
+
// 最外层 wrapper 引用(scrollToFirstRowOnChange 无 scroll.y 时滚入视口)
|
|
695
|
+
let wrapperEl = $state<HTMLDivElement | null>(null);
|
|
537
696
|
// 仅由 scroll 回调写入的本地 scrollTop,render 期只读。
|
|
538
697
|
let scrollTop = $state(0);
|
|
539
698
|
// rAF 节流句柄(非响应式)。
|
|
@@ -543,6 +702,22 @@
|
|
|
543
702
|
|
|
544
703
|
const vRowHeight = $derived(rowHeight > 0 ? rowHeight : 48);
|
|
545
704
|
const vTotalHeight = $derived(displayRows.length * vRowHeight);
|
|
705
|
+
|
|
706
|
+
// getVirtualizedListRef:virtualized 时把滚动控制句柄回传给使用方(对齐 Semi)。
|
|
707
|
+
// scrollTo(offset) 直接设 scrollTop;scrollToItem(index) 按行高换算偏移。命令式,非响应式读。
|
|
708
|
+
$effect(() => {
|
|
709
|
+
if (!virtualized || !scrollEl || !getVirtualizedListRef) return;
|
|
710
|
+
const el = scrollEl;
|
|
711
|
+
const rowH = vRowHeight;
|
|
712
|
+
getVirtualizedListRef({
|
|
713
|
+
scrollTo: (offset: number) => {
|
|
714
|
+
el.scrollTop = offset;
|
|
715
|
+
},
|
|
716
|
+
scrollToItem: (index: number) => {
|
|
717
|
+
el.scrollTop = index * rowH;
|
|
718
|
+
},
|
|
719
|
+
});
|
|
720
|
+
});
|
|
546
721
|
const vRange = $derived(
|
|
547
722
|
virtualized
|
|
548
723
|
? fixedRange(scrollTop, height, vRowHeight, displayRows.length, VIRTUAL_OVERSCAN)
|
|
@@ -638,10 +813,21 @@
|
|
|
638
813
|
|
|
639
814
|
const hasSelection = $derived(rowSelection !== undefined);
|
|
640
815
|
const hasExpand = $derived(expandable !== undefined);
|
|
816
|
+
// 展开按钮是否占独立前置列:hideExpandedColumn=false 时独立成列;默认 true 并入首列(对齐 Semi)。
|
|
817
|
+
const expandAsColumn = $derived(hasExpand && hideExpandedColumn === false);
|
|
641
818
|
const colSpan = $derived(
|
|
642
|
-
|
|
819
|
+
leafColumns.length + (hasSelection ? 1 : 0) + (expandAsColumn ? 1 : 0),
|
|
643
820
|
);
|
|
644
821
|
|
|
822
|
+
// 表头行内联 style:headerStyle 支持字符串或键值对象,统一序列化为 style 字符串。
|
|
823
|
+
const headerStyleStr = $derived.by(() => {
|
|
824
|
+
if (headerStyle == null) return undefined;
|
|
825
|
+
if (typeof headerStyle === 'string') return headerStyle;
|
|
826
|
+
return Object.entries(headerStyle)
|
|
827
|
+
.map(([k, v]) => `${k}:${v}`)
|
|
828
|
+
.join(';');
|
|
829
|
+
});
|
|
830
|
+
|
|
645
831
|
// --- 展开行:受控 expandedRowKeys 不回写 (红线 #1) ---
|
|
646
832
|
const isExpandControlled = $derived(expandable?.expandedRowKeys !== undefined);
|
|
647
833
|
let innerExpanded = $state<RowKey[]>(initExpanded());
|
|
@@ -825,7 +1011,7 @@
|
|
|
825
1011
|
const gridId = useId('cd-table-grid');
|
|
826
1012
|
// 网格列扁平表:前置 expand/selection 占位列 + 数据列(纯函数 buildGridCols)。
|
|
827
1013
|
const gridCols = $derived<GridCol[]>(
|
|
828
|
-
buildGridCols({ hasExpand, hasSelection, dataColumnCount:
|
|
1014
|
+
buildGridCols({ hasExpand: expandAsColumn, hasSelection, dataColumnCount: leafColumns.length }),
|
|
829
1015
|
);
|
|
830
1016
|
const gridColCount = $derived(gridCols.length);
|
|
831
1017
|
// 总行数(含表头行)= aria-rowcount,虚拟化时为逻辑总数而非渲染数(spec §6)。
|
|
@@ -952,7 +1138,7 @@
|
|
|
952
1138
|
const cell = gridEl?.querySelector<HTMLElement>(`#${cssEscape(cellId(focusRow, focusCol))}`);
|
|
953
1139
|
if (!cell) return false;
|
|
954
1140
|
const focusable = cell.querySelector<HTMLElement>(
|
|
955
|
-
'button:not([disabled]),a[href],input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"]):not(.cd-
|
|
1141
|
+
'button:not([disabled]),a[href],input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"]):not(.cd-table-row-cell)',
|
|
956
1142
|
);
|
|
957
1143
|
if (!focusable) return false;
|
|
958
1144
|
cellInteractive = true;
|
|
@@ -993,7 +1179,7 @@
|
|
|
993
1179
|
// 当前各列筛选选中值(colKey → values[]),仅含非空筛选列。
|
|
994
1180
|
function snapshotFilters(): Record<string, (string | number)[]> {
|
|
995
1181
|
const out: Record<string, (string | number)[]> = {};
|
|
996
|
-
|
|
1182
|
+
leafColumns.forEach((col, i) => {
|
|
997
1183
|
const ck = colKeyOf(col, i);
|
|
998
1184
|
const vals = filterState.get(ck);
|
|
999
1185
|
if (vals && vals.size > 0) out[ck] = [...vals];
|
|
@@ -1016,6 +1202,18 @@
|
|
|
1016
1202
|
sorter: sorterOverride ?? currentSort,
|
|
1017
1203
|
extra: { action },
|
|
1018
1204
|
});
|
|
1205
|
+
maybeScrollToFirstRow();
|
|
1206
|
+
}
|
|
1207
|
+
|
|
1208
|
+
// scroll.scrollToFirstRowOnChange:分页/排序/筛选变化后滚到表格顶部(对齐 Semi)。
|
|
1209
|
+
// scroll.y 时重置表体内部滚动到顶;否则把表格滚入视口顶部。命令式写 DOM,非响应式。
|
|
1210
|
+
function maybeScrollToFirstRow() {
|
|
1211
|
+
if (!scroll?.scrollToFirstRowOnChange) return;
|
|
1212
|
+
if (scroll.y != null && scrollEl) {
|
|
1213
|
+
scrollEl.scrollTop = 0;
|
|
1214
|
+
} else if (wrapperEl) {
|
|
1215
|
+
wrapperEl.scrollIntoView({ block: 'start', behavior: 'smooth' });
|
|
1216
|
+
}
|
|
1019
1217
|
}
|
|
1020
1218
|
|
|
1021
1219
|
// --- 排序点击 ---
|
|
@@ -1078,17 +1276,30 @@
|
|
|
1078
1276
|
if (w === undefined) return undefined;
|
|
1079
1277
|
return typeof w === 'number' ? `width:${w}px` : `width:${w}`;
|
|
1080
1278
|
}
|
|
1279
|
+
// ColGroup <col> 宽度:对齐 Semi(width + minWidth 同值),无宽则不设。
|
|
1280
|
+
function colGroupStyle(col: ColumnDef<T>, index: number): string | undefined {
|
|
1281
|
+
const w = resolveWidth(col, index);
|
|
1282
|
+
if (w === undefined) return undefined;
|
|
1283
|
+
const v = typeof w === 'number' ? `${w}px` : w;
|
|
1284
|
+
return `width:${v};min-width:${v}`;
|
|
1285
|
+
}
|
|
1286
|
+
// 选择列宽度:rowSelection.columnWidth 优先,否则 Semi 默认 48px(对齐 LEADING_W)。
|
|
1287
|
+
const selectionColWidth = $derived(
|
|
1288
|
+
typeof rowSelection?.columnWidth === 'number'
|
|
1289
|
+
? rowSelection.columnWidth
|
|
1290
|
+
: 48,
|
|
1291
|
+
);
|
|
1081
1292
|
|
|
1082
1293
|
// --- 固定列:纯 CSS sticky + 逐列像素偏移计算 ---
|
|
1083
|
-
// selection / expand 前置列宽(与 CSS .cd-
|
|
1294
|
+
// selection / expand 前置列宽(与 CSS .cd-table-column-selection/--expand 对齐)
|
|
1084
1295
|
const LEADING_W = 48;
|
|
1085
1296
|
// 前置 leading 列(expand + selection)的总宽,作为 left 固定列偏移基数
|
|
1086
|
-
const leadingWidth = $derived((
|
|
1087
|
-
const hasFixed = $derived(
|
|
1297
|
+
const leadingWidth = $derived((expandAsColumn ? LEADING_W : 0) + (hasSelection ? LEADING_W : 0));
|
|
1298
|
+
const hasFixed = $derived(leafColumns.some((c) => c.fixed));
|
|
1088
1299
|
// 固定列时 table 的最小总宽(列宽和 + 前置列),撑过容器以触发横滚
|
|
1089
1300
|
const totalMinWidth = $derived(
|
|
1090
1301
|
leadingWidth +
|
|
1091
|
-
|
|
1302
|
+
leafColumns.reduce((sum, c, i) => {
|
|
1092
1303
|
const w = resolveWidth(c, i);
|
|
1093
1304
|
return sum + (typeof w === 'number' ? w : 120);
|
|
1094
1305
|
}, 0),
|
|
@@ -1104,8 +1315,8 @@
|
|
|
1104
1315
|
const fixedLeftOffsets = $derived.by(() => {
|
|
1105
1316
|
const out: (number | null)[] = [];
|
|
1106
1317
|
let acc = leadingWidth;
|
|
1107
|
-
for (let i = 0; i <
|
|
1108
|
-
const col =
|
|
1318
|
+
for (let i = 0; i < leafColumns.length; i++) {
|
|
1319
|
+
const col = leafColumns[i] as ColumnDef<T>;
|
|
1109
1320
|
if (col.fixed === 'left') {
|
|
1110
1321
|
out.push(acc);
|
|
1111
1322
|
acc += colNumWidth(col, i);
|
|
@@ -1117,10 +1328,10 @@
|
|
|
1117
1328
|
});
|
|
1118
1329
|
// 每个数据列的 right 偏移(右固定列):之后所有右固定列宽之和
|
|
1119
1330
|
const fixedRightOffsets = $derived.by(() => {
|
|
1120
|
-
const out: (number | null)[] = new Array(
|
|
1331
|
+
const out: (number | null)[] = new Array(leafColumns.length).fill(null);
|
|
1121
1332
|
let acc = 0;
|
|
1122
|
-
for (let i =
|
|
1123
|
-
const col =
|
|
1333
|
+
for (let i = leafColumns.length - 1; i >= 0; i--) {
|
|
1334
|
+
const col = leafColumns[i] as ColumnDef<T>;
|
|
1124
1335
|
if (col.fixed === 'right') {
|
|
1125
1336
|
out[i] = acc;
|
|
1126
1337
|
acc += colNumWidth(col, i);
|
|
@@ -1131,12 +1342,12 @@
|
|
|
1131
1342
|
// 最后一个左固定列 / 第一个右固定列索引(用于阴影边界)
|
|
1132
1343
|
const lastLeftFixed = $derived.by(() => {
|
|
1133
1344
|
let idx = -1;
|
|
1134
|
-
|
|
1345
|
+
leafColumns.forEach((c, i) => {
|
|
1135
1346
|
if (c.fixed === 'left') idx = i;
|
|
1136
1347
|
});
|
|
1137
1348
|
return idx;
|
|
1138
1349
|
});
|
|
1139
|
-
const firstRightFixed = $derived(
|
|
1350
|
+
const firstRightFixed = $derived(leafColumns.findIndex((c) => c.fixed === 'right'));
|
|
1140
1351
|
|
|
1141
1352
|
// 组合某数据列的 sticky 行内样式(含宽度)
|
|
1142
1353
|
function cellStyle(col: ColumnDef<T>, i: number): string | undefined {
|
|
@@ -1152,10 +1363,10 @@
|
|
|
1152
1363
|
|
|
1153
1364
|
function fixedCellClass(i: number): string {
|
|
1154
1365
|
if (fixedLeftOffsets[i] != null) {
|
|
1155
|
-
return `cd-
|
|
1366
|
+
return `cd-table-cell-fixed cd-table-cell-fixed-left${i === lastLeftFixed ? ' cd-table-cell-fixed-left-last' : ''}`;
|
|
1156
1367
|
}
|
|
1157
1368
|
if (fixedRightOffsets[i] != null) {
|
|
1158
|
-
return `cd-
|
|
1369
|
+
return `cd-table-cell-fixed cd-table-cell-fixed-right${i === firstRightFixed ? ' cd-table-cell-fixed-right-first' : ''}`;
|
|
1159
1370
|
}
|
|
1160
1371
|
return '';
|
|
1161
1372
|
}
|
|
@@ -1163,10 +1374,24 @@
|
|
|
1163
1374
|
// 前置 leading 列在存在左固定列时也需 sticky 锁定在最左
|
|
1164
1375
|
function leadingStyle(slot: 'expand' | 'selection'): string | undefined {
|
|
1165
1376
|
if (!hasFixed || lastLeftFixed < 0) return undefined;
|
|
1166
|
-
const offset = slot === 'expand' ? 0 :
|
|
1377
|
+
const offset = slot === 'expand' ? 0 : expandAsColumn ? LEADING_W : 0;
|
|
1167
1378
|
return `position:sticky;inset-inline-start:${offset}px`;
|
|
1168
1379
|
}
|
|
1169
|
-
const leadingFixedClass = $derived(hasFixed && lastLeftFixed >= 0 ? 'cd-
|
|
1380
|
+
const leadingFixedClass = $derived(hasFixed && lastLeftFixed >= 0 ? 'cd-table-cell-fixed cd-table-cell-fixed-left' : '');
|
|
1381
|
+
|
|
1382
|
+
// 单元格 style 合并:把 onCell 返回的自定义 style 追加到该 td 已有的 sticky/宽度 style 之后。
|
|
1383
|
+
function mergeCellStyle(base: string | undefined, extra: string | undefined): string | undefined {
|
|
1384
|
+
if (!extra) return base;
|
|
1385
|
+
if (!base) return extra;
|
|
1386
|
+
return `${base};${extra}`;
|
|
1387
|
+
}
|
|
1388
|
+
|
|
1389
|
+
// 表头单元格 style 合并:把 headerStyle(应用到所有 th)追加到该 th 已有的 sticky/宽度 style 之后。
|
|
1390
|
+
function mergeHeaderStyle(base: string | undefined): string | undefined {
|
|
1391
|
+
if (!headerStyleStr) return base;
|
|
1392
|
+
if (!base) return headerStyleStr;
|
|
1393
|
+
return `${base};${headerStyleStr}`;
|
|
1394
|
+
}
|
|
1170
1395
|
|
|
1171
1396
|
// --- 半选 indeterminate:用 attachment 命令式写具体 input 元素属性。
|
|
1172
1397
|
// 仅读派生布尔值并写 DOM,不读几何,写属性不触发响应式,无循环风险 (不违反红线 #3)。
|
|
@@ -1179,10 +1404,11 @@
|
|
|
1179
1404
|
const cls = $derived(
|
|
1180
1405
|
[
|
|
1181
1406
|
'cd-table',
|
|
1182
|
-
`cd-table
|
|
1183
|
-
bordered && 'cd-table
|
|
1184
|
-
stripe && 'cd-table
|
|
1185
|
-
hasFixed && 'cd-table
|
|
1407
|
+
`cd-table-${size}`,
|
|
1408
|
+
bordered && 'cd-table-bordered',
|
|
1409
|
+
stripe && 'cd-table-stripe',
|
|
1410
|
+
hasFixed && 'cd-table-fixed',
|
|
1411
|
+
rowSpanHover && 'cd-table-row-span-hover',
|
|
1186
1412
|
]
|
|
1187
1413
|
.filter(Boolean)
|
|
1188
1414
|
.join(' '),
|
|
@@ -1236,66 +1462,139 @@
|
|
|
1236
1462
|
}
|
|
1237
1463
|
return parts.length ? parts.join(';') : undefined;
|
|
1238
1464
|
});
|
|
1239
|
-
const selectionFixedClass = $derived(rowSelection?.fixed ? 'cd-
|
|
1465
|
+
const selectionFixedClass = $derived(rowSelection?.fixed ? 'cd-table-cell-fixed cd-table-cell-fixed-left' : '');
|
|
1240
1466
|
|
|
1241
1467
|
// --- groupBy: build grouped display rows ---
|
|
1242
|
-
type GroupRow = { type: 'group'; groupKey: string; group: T[] };
|
|
1468
|
+
type GroupRow = { type: 'group'; groupKey: string; group: T[]; expanded: boolean; groupIndex: number };
|
|
1243
1469
|
type DataDisplayRow = FlatRow<T> & { type: 'data' };
|
|
1244
1470
|
type RenderRow = DataDisplayRow | GroupRow;
|
|
1245
1471
|
|
|
1246
|
-
const
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
const
|
|
1256
|
-
const
|
|
1472
|
+
const isGrouped = $derived(groupBy !== undefined);
|
|
1473
|
+
|
|
1474
|
+
const groupKeyOf = (record: T): string => {
|
|
1475
|
+
if (typeof groupBy === 'function') return groupBy(record);
|
|
1476
|
+
return String(record[groupBy as string] ?? '');
|
|
1477
|
+
};
|
|
1478
|
+
|
|
1479
|
+
// 有序分组桶:仅顶层行参与分组。纯 $derived(红线 #2)。
|
|
1480
|
+
const groupBuckets = $derived.by<{ order: string[]; map: Map<string, T[]> }>(() => {
|
|
1481
|
+
const order: string[] = [];
|
|
1482
|
+
const map = new Map<string, T[]>();
|
|
1483
|
+
if (!groupBy) return { order, map };
|
|
1257
1484
|
for (const row of displayRows) {
|
|
1258
1485
|
if (row.level === 0) {
|
|
1259
|
-
const gk =
|
|
1260
|
-
if (!
|
|
1261
|
-
|
|
1262
|
-
|
|
1486
|
+
const gk = groupKeyOf(row.record);
|
|
1487
|
+
if (!map.has(gk)) {
|
|
1488
|
+
order.push(gk);
|
|
1489
|
+
map.set(gk, []);
|
|
1263
1490
|
}
|
|
1264
|
-
|
|
1491
|
+
map.get(gk)!.push(row.record);
|
|
1265
1492
|
}
|
|
1266
1493
|
}
|
|
1494
|
+
return { order, map };
|
|
1495
|
+
});
|
|
1496
|
+
|
|
1497
|
+
// --- 可折叠分组:受控 expandAllGroupRows 不回写,仅经 onGroupExpandChange 通知 (红线 #1) ---
|
|
1498
|
+
// 受控(expandAllGroupRows 定义)时展开态由该值统一决定(true 全展/false 全折)。
|
|
1499
|
+
// 非受控时仅记录「用户显式切换过的分组 → 展开态」,未切换的分组回退到默认值:
|
|
1500
|
+
// defaultExpandAllGroupRows 显式 false → 默认折叠;缺省(undefined)或 true → 默认展开
|
|
1501
|
+
// (向后兼容既有「分组头+组内行都显示」)。默认值纯 $derived、不落地为 $state,
|
|
1502
|
+
// 故数据变化产生的新分组自动继承默认展开态,无需 effect seed(红线 #2)。
|
|
1503
|
+
const isGroupExpandControlled = $derived(expandAllGroupRows !== undefined);
|
|
1504
|
+
const groupDefaultExpanded = $derived(defaultExpandAllGroupRows !== false);
|
|
1505
|
+
// 用户显式覆盖:groupKey → 展开态(未在此表中的分组用 groupDefaultExpanded)。
|
|
1506
|
+
const groupOverrides = new SvelteMap<string, boolean>();
|
|
1507
|
+
|
|
1508
|
+
// 某分组是否展开:受控看 expandAllGroupRows,非受控看覆盖表 → 默认值。
|
|
1509
|
+
const isGroupExpanded = (groupKey: string): boolean => {
|
|
1510
|
+
if (isGroupExpandControlled) return expandAllGroupRows === true;
|
|
1511
|
+
return groupOverrides.get(groupKey) ?? groupDefaultExpanded;
|
|
1512
|
+
};
|
|
1513
|
+
|
|
1514
|
+
function toggleGroupExpand(groupKey: string) {
|
|
1515
|
+
const willExpand = !isGroupExpanded(groupKey);
|
|
1516
|
+
if (!isGroupExpandControlled) {
|
|
1517
|
+
groupOverrides.set(groupKey, willExpand);
|
|
1518
|
+
const expandedKeys = groupBuckets.order.filter((gk) => isGroupExpanded(gk));
|
|
1519
|
+
onGroupExpandChange?.({ groupKey, expanded: willExpand, expandedGroupKeys: expandedKeys });
|
|
1520
|
+
} else {
|
|
1521
|
+
// 受控:不回写,仅通知(回传「若操作生效」后的期望集合,由消费方决定)
|
|
1522
|
+
const expandedKeys = expandAllGroupRows === true ? groupBuckets.order.slice() : [];
|
|
1523
|
+
onGroupExpandChange?.({ groupKey, expanded: willExpand, expandedGroupKeys: expandedKeys });
|
|
1524
|
+
}
|
|
1525
|
+
}
|
|
1526
|
+
|
|
1527
|
+
const groupedDisplayRows = $derived.by<RenderRow[]>(() => {
|
|
1528
|
+
if (!groupBy) {
|
|
1529
|
+
return displayRows.map((r) => ({ ...r, type: 'data' as const }));
|
|
1530
|
+
}
|
|
1531
|
+
const { order, map } = groupBuckets;
|
|
1267
1532
|
const result: RenderRow[] = [];
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1533
|
+
let groupIndex = 0;
|
|
1534
|
+
for (const gk of order) {
|
|
1535
|
+
const group = map.get(gk)!;
|
|
1536
|
+
const expanded = isGroupExpanded(gk);
|
|
1537
|
+
result.push({ type: 'group', groupKey: gk, group, expanded, groupIndex: groupIndex++ });
|
|
1538
|
+
// 折叠的分组只渲染分组头,不铺开组内数据行。
|
|
1539
|
+
if (!expanded) continue;
|
|
1271
1540
|
// Include all displayRows belonging to this group (incl. tree children)
|
|
1272
1541
|
let inGroup = false;
|
|
1273
1542
|
for (const row of displayRows) {
|
|
1274
1543
|
if (row.level === 0) {
|
|
1275
|
-
inGroup =
|
|
1544
|
+
inGroup = groupKeyOf(row.record) === gk;
|
|
1276
1545
|
}
|
|
1277
1546
|
if (inGroup) result.push({ ...row, type: 'data' as const });
|
|
1278
1547
|
}
|
|
1279
1548
|
}
|
|
1280
1549
|
return result;
|
|
1281
1550
|
});
|
|
1282
|
-
|
|
1283
|
-
// For render purposes when no groupBy: cast displayRows to RenderRow[]
|
|
1284
|
-
const isGrouped = $derived(groupBy !== undefined);
|
|
1285
1551
|
</script>
|
|
1286
1552
|
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1553
|
+
<!-- 展开按钮:expandIcon 自定义图标覆盖默认三角。gridTab 为 grid 模式下的 roving tabindex(非 grid 时传 undefined)。 -->
|
|
1554
|
+
{#snippet expandButton(record: T, key: RowKey, gridTab: number | undefined)}
|
|
1555
|
+
<button
|
|
1556
|
+
type="button"
|
|
1557
|
+
class="cd-table-expand-icon"
|
|
1558
|
+
class:cd-table-expandedIcon-show={expandedSet.has(key)}
|
|
1559
|
+
aria-expanded={expandedSet.has(key)}
|
|
1560
|
+
aria-label={expandedSet.has(key) ? loc().t('Table.collapseRow') : loc().t('Table.expandRow')}
|
|
1561
|
+
tabindex={gridTab}
|
|
1562
|
+
onclick={(e) => {
|
|
1563
|
+
e.stopPropagation();
|
|
1564
|
+
toggleExpand(record);
|
|
1565
|
+
}}
|
|
1566
|
+
>
|
|
1567
|
+
{#if expandIcon}
|
|
1568
|
+
{@render expandIcon({ expanded: expandedSet.has(key), record })}
|
|
1569
|
+
{:else}
|
|
1570
|
+
<IconChevronRight size="small" aria-hidden="true" />
|
|
1571
|
+
{/if}
|
|
1572
|
+
</button>
|
|
1573
|
+
{/snippet}
|
|
1574
|
+
|
|
1575
|
+
<!-- 最外层 .semi-table-wrapper(含方向 ltr/rtl),对齐 Semi 分层 -->
|
|
1292
1576
|
<div
|
|
1293
|
-
class="cd-table-
|
|
1294
|
-
class:cd-table-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
style
|
|
1577
|
+
class="cd-table-wrapper cd-table-wrapper-{direction} {className ?? ''}"
|
|
1578
|
+
class:cd-table-wrapper-rtl={direction === 'rtl'}
|
|
1579
|
+
data-column-fixed={hasFixed ? 'true' : undefined}
|
|
1580
|
+
dir={direction}
|
|
1581
|
+
{style}
|
|
1582
|
+
bind:this={wrapperEl}
|
|
1298
1583
|
>
|
|
1584
|
+
{#if titleSnippet || title}
|
|
1585
|
+
<div class="cd-table-title">
|
|
1586
|
+
{#if titleSnippet}{@render titleSnippet()}{:else}{title}{/if}
|
|
1587
|
+
</div>
|
|
1588
|
+
{/if}
|
|
1589
|
+
<!-- .semi-table-container:承载 body + footer -->
|
|
1590
|
+
<div class="cd-table-container">
|
|
1591
|
+
<div
|
|
1592
|
+
class="cd-table-body"
|
|
1593
|
+
class:cd-table-body-virtual={virtualized}
|
|
1594
|
+
class:cd-table-body-scroll={scrollBody}
|
|
1595
|
+
bind:this={scrollEl}
|
|
1596
|
+
style={scrollWrapStyle}
|
|
1597
|
+
>
|
|
1299
1598
|
<!-- svelte-ignore a11y_no_noninteractive_tabindex -->
|
|
1300
1599
|
<!-- role=grid 是交互容器;tabindex=-1 仅作虚拟化焦点回收落点,不进 Tab 序列 -->
|
|
1301
1600
|
<table
|
|
@@ -1309,26 +1608,43 @@
|
|
|
1309
1608
|
tabindex={gridEnabled ? -1 : undefined}
|
|
1310
1609
|
onkeydown={gridEnabled ? onGridKeydown : undefined}
|
|
1311
1610
|
>
|
|
1611
|
+
<!-- ColGroup:对齐 Semi,每列一个 <col>,selection/expand 列带对应 class -->
|
|
1612
|
+
<colgroup class="cd-table-colgroup">
|
|
1613
|
+
{#if expandAsColumn}
|
|
1614
|
+
<col class="cd-table-column-expand" style="width:{LEADING_W}px" />
|
|
1615
|
+
{/if}
|
|
1616
|
+
{#if hasSelection}
|
|
1617
|
+
<col class="cd-table-column-selection" style="width:{selectionColWidth}px" />
|
|
1618
|
+
{/if}
|
|
1619
|
+
{#each leafColumns as col, i (colKeyOf(col, i))}
|
|
1620
|
+
<col class={col.className} style={colGroupStyle(col, i)} />
|
|
1621
|
+
{/each}
|
|
1622
|
+
</colgroup>
|
|
1312
1623
|
{#if showHeader}
|
|
1313
1624
|
{@const headerRowProps = onHeaderRow ? onHeaderRow(columns, 0) : undefined}
|
|
1314
|
-
<
|
|
1315
|
-
|
|
1316
|
-
class
|
|
1625
|
+
<svelte:element
|
|
1626
|
+
this={tagThead}
|
|
1627
|
+
class="cd-table-thead"
|
|
1628
|
+
class:cd-table-thead-sticky={isStickyHead}
|
|
1317
1629
|
style={isStickyHead && stickyOffset > 0 ? `top:${stickyOffset}px` : undefined}
|
|
1318
1630
|
>
|
|
1319
|
-
<
|
|
1631
|
+
<svelte:element
|
|
1632
|
+
this={tagHeaderRow}
|
|
1320
1633
|
role={gridEnabled ? 'row' : undefined}
|
|
1321
1634
|
aria-rowindex={gridEnabled ? 1 : undefined}
|
|
1322
|
-
class={headerRowProps?.className ??
|
|
1635
|
+
class="cd-table-row {headerRowProps?.className ?? ''}"
|
|
1323
1636
|
style={headerRowProps?.style ?? undefined}
|
|
1324
1637
|
onclick={headerRowProps?.onClick ?? undefined}
|
|
1638
|
+
onmouseenter={headerRowProps?.onMouseEnter ?? undefined}
|
|
1639
|
+
onmouseleave={headerRowProps?.onMouseLeave ?? undefined}
|
|
1325
1640
|
>
|
|
1326
|
-
{#if
|
|
1641
|
+
{#if expandAsColumn}
|
|
1327
1642
|
{@const gc = 0}
|
|
1328
1643
|
<th
|
|
1329
|
-
|
|
1644
|
+
rowspan={hasHeaderMerge ? headerDepth : undefined}
|
|
1645
|
+
class="cd-table-row-head cd-table-column-expand {leadingFixedClass}"
|
|
1330
1646
|
scope="col"
|
|
1331
|
-
style={leadingStyle('expand')}
|
|
1647
|
+
style={mergeHeaderStyle(leadingStyle('expand'))}
|
|
1332
1648
|
role={gridEnabled ? 'columnheader' : undefined}
|
|
1333
1649
|
id={gridEnabled ? cellId(-1, gc) : undefined}
|
|
1334
1650
|
tabindex={rovingTabindex(-1, gc)}
|
|
@@ -1337,13 +1653,14 @@
|
|
|
1337
1653
|
></th>
|
|
1338
1654
|
{/if}
|
|
1339
1655
|
{#if hasSelection}
|
|
1340
|
-
{@const gc =
|
|
1656
|
+
{@const gc = expandAsColumn ? 1 : 0}
|
|
1341
1657
|
{@const isRadio = rowSelection?.type === 'radio'}
|
|
1342
1658
|
{@const showSelectAll = !isRadio && !rowSelection?.hideSelectAll}
|
|
1343
1659
|
<th
|
|
1344
|
-
|
|
1660
|
+
rowspan={hasHeaderMerge ? headerDepth : undefined}
|
|
1661
|
+
class="cd-table-row-head cd-table-column-selection {selectionFixedClass || leadingFixedClass}"
|
|
1345
1662
|
scope="col"
|
|
1346
|
-
style={selectionColStyle ?? leadingStyle('selection')}
|
|
1663
|
+
style={mergeHeaderStyle(selectionColStyle ?? leadingStyle('selection'))}
|
|
1347
1664
|
role={gridEnabled ? 'columnheader' : undefined}
|
|
1348
1665
|
id={gridEnabled ? cellId(-1, gc) : undefined}
|
|
1349
1666
|
tabindex={rovingTabindex(-1, gc)}
|
|
@@ -1351,32 +1668,73 @@
|
|
|
1351
1668
|
onfocusin={gridEnabled ? () => syncFocusCoord(-1, gc) : undefined}
|
|
1352
1669
|
>
|
|
1353
1670
|
{#if showSelectAll}
|
|
1354
|
-
<
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1671
|
+
<span class="cd-table-selection-wrap">
|
|
1672
|
+
<input
|
|
1673
|
+
type="checkbox"
|
|
1674
|
+
class="cd-table-selection-checkbox"
|
|
1675
|
+
aria-label={loc().t('Table.selectAll')}
|
|
1676
|
+
checked={headerSelect.checked}
|
|
1677
|
+
tabindex={childTabindex(-1, gc)}
|
|
1678
|
+
{@attach indeterminate(headerSelect.indeterminate)}
|
|
1679
|
+
onchange={onToggleAll}
|
|
1680
|
+
/>
|
|
1681
|
+
</span>
|
|
1363
1682
|
{/if}
|
|
1364
1683
|
</th>
|
|
1365
1684
|
{/if}
|
|
1366
|
-
{#
|
|
1367
|
-
{
|
|
1685
|
+
{#if !hasHeaderMerge}
|
|
1686
|
+
{#each leafColumns as col, i (colKeyOf(col, i))}
|
|
1687
|
+
{@render leafHeaderCell(col, i, 1)}
|
|
1688
|
+
{/each}
|
|
1689
|
+
{:else}
|
|
1690
|
+
<!-- 合并模式首行:expand/selection th 已 rowspan 跨满,其后接 headerRows[0] -->
|
|
1691
|
+
{#each headerRows[0] ?? [] as hc (hc.isLeaf ? colKeyOf(hc.col, hc.leafIndex) : `g-${hc.col.title}-${hc.leafIndex}`)}
|
|
1692
|
+
{@render headerMergeCell(hc)}
|
|
1693
|
+
{/each}
|
|
1694
|
+
{/if}
|
|
1695
|
+
</svelte:element>
|
|
1696
|
+
{#if hasHeaderMerge}
|
|
1697
|
+
{#each headerRows.slice(1) as hrow, ri (ri)}
|
|
1698
|
+
<tr class="cd-table-row">
|
|
1699
|
+
{#each hrow as hc (hc.isLeaf ? colKeyOf(hc.col, hc.leafIndex) : `g-${hc.col.title}-${hc.leafIndex}`)}
|
|
1700
|
+
{@render headerMergeCell(hc)}
|
|
1701
|
+
{/each}
|
|
1702
|
+
</tr>
|
|
1703
|
+
{/each}
|
|
1704
|
+
{/if}
|
|
1705
|
+
</svelte:element>
|
|
1706
|
+
{/if}
|
|
1707
|
+
{#snippet headerMergeCell(hc: HeaderCell)}
|
|
1708
|
+
{#if hc.isLeaf}
|
|
1709
|
+
{@render leafHeaderCell(hc.col, hc.leafIndex, hc.rowSpan)}
|
|
1710
|
+
{:else}
|
|
1711
|
+
<th
|
|
1712
|
+
class="cd-table-row-head cd-table-align-{alignOf(hc.col)}"
|
|
1713
|
+
class:cd-table-row-cell-ellipsis={hc.col.ellipsis}
|
|
1714
|
+
scope="colgroup"
|
|
1715
|
+
colspan={hc.colSpan}
|
|
1716
|
+
role={gridEnabled ? 'columnheader' : undefined}
|
|
1717
|
+
style={mergeHeaderStyle(undefined)}
|
|
1718
|
+
>
|
|
1719
|
+
<span class="cd-table-row-head-title">{hc.col.title}</span>
|
|
1720
|
+
</th>
|
|
1721
|
+
{/if}
|
|
1722
|
+
{/snippet}
|
|
1723
|
+
{#snippet leafHeaderCell(col: ColumnDef<T>, i: number, thRowSpan: number)}
|
|
1724
|
+
{@const gc = (expandAsColumn ? 1 : 0) + (hasSelection ? 1 : 0) + i}
|
|
1368
1725
|
{@const sortable = !!col.sorter}
|
|
1369
1726
|
{@const colKey = colKeyOf(col, i)}
|
|
1370
1727
|
{@const hasFilter = !!col.filters && col.filters.length > 0}
|
|
1371
1728
|
{@const resizable = !!col.resizable}
|
|
1372
1729
|
<th
|
|
1373
|
-
|
|
1374
|
-
class
|
|
1375
|
-
class:cd-
|
|
1376
|
-
class:cd-
|
|
1377
|
-
class:cd-
|
|
1730
|
+
rowspan={thRowSpan > 1 ? thRowSpan : undefined}
|
|
1731
|
+
class="cd-table-row-head cd-table-align-{alignOf(col)} {fixedCellClass(i)}"
|
|
1732
|
+
class:cd-table-row-cell-ellipsis={col.ellipsis}
|
|
1733
|
+
class:cd-table-row-head-has-filter={hasFilter}
|
|
1734
|
+
class:cd-table-row-head-resizable={resizable}
|
|
1735
|
+
class:resizing={resizingKey === colKey}
|
|
1378
1736
|
scope="col"
|
|
1379
|
-
style={cellStyle(col, i)}
|
|
1737
|
+
style={mergeHeaderStyle(cellStyle(col, i))}
|
|
1380
1738
|
aria-sort={sortable ? ariaSortFor(col, i) : undefined}
|
|
1381
1739
|
role={gridEnabled ? 'columnheader' : undefined}
|
|
1382
1740
|
id={gridEnabled ? cellId(-1, gc) : undefined}
|
|
@@ -1388,43 +1746,29 @@
|
|
|
1388
1746
|
{@const order = col.sortOrder !== undefined ? col.sortOrder : (currentSort.key === colKeyOf(col, i) ? currentSort.order : null)}
|
|
1389
1747
|
<button
|
|
1390
1748
|
type="button"
|
|
1391
|
-
class="cd-
|
|
1749
|
+
class="cd-table-column-sorter-wrapper"
|
|
1392
1750
|
tabindex={childTabindex(-1, gc)}
|
|
1393
1751
|
onclick={() => onSort(col, i)}
|
|
1394
1752
|
>
|
|
1395
|
-
<span class="cd-
|
|
1396
|
-
<span class="cd-
|
|
1397
|
-
<
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
focusable="false"
|
|
1404
|
-
>
|
|
1405
|
-
<path fill="currentColor" d="M4 0l4 5H0z" />
|
|
1406
|
-
</svg>
|
|
1407
|
-
<svg
|
|
1408
|
-
class="cd-table__sort-down"
|
|
1409
|
-
class:cd-table__sort--active={order === 'descend'}
|
|
1410
|
-
viewBox="0 0 8 5"
|
|
1411
|
-
width="8"
|
|
1412
|
-
height="5"
|
|
1413
|
-
focusable="false"
|
|
1414
|
-
>
|
|
1415
|
-
<path fill="currentColor" d="M4 5L0 0h8z" />
|
|
1416
|
-
</svg>
|
|
1753
|
+
<span class="cd-table-row-head-title">{col.title}</span>
|
|
1754
|
+
<span class="cd-table-column-sorter" aria-hidden="true">
|
|
1755
|
+
<span class="cd-table-column-sorter-up" class:on={order === 'ascend'}>
|
|
1756
|
+
<IconCaretup size="small" />
|
|
1757
|
+
</span>
|
|
1758
|
+
<span class="cd-table-column-sorter-down" class:on={order === 'descend'}>
|
|
1759
|
+
<IconCaretdown size="small" />
|
|
1760
|
+
</span>
|
|
1417
1761
|
</span>
|
|
1418
1762
|
</button>
|
|
1419
1763
|
{:else}
|
|
1420
|
-
<span class="cd-
|
|
1764
|
+
<span class="cd-table-row-head-title">{col.title}</span>
|
|
1421
1765
|
{/if}
|
|
1422
1766
|
|
|
1423
1767
|
{#if hasFilter}
|
|
1424
1768
|
<button
|
|
1425
1769
|
type="button"
|
|
1426
|
-
class="cd-
|
|
1427
|
-
class:
|
|
1770
|
+
class="cd-table-column-filter"
|
|
1771
|
+
class:on={isEffectivelyFiltered(col, colKey)}
|
|
1428
1772
|
aria-label={loc().t('Table.filter')}
|
|
1429
1773
|
aria-expanded={openFilterKey === colKey}
|
|
1430
1774
|
tabindex={childTabindex(-1, gc)}
|
|
@@ -1434,21 +1778,19 @@
|
|
|
1434
1778
|
openFilterKey = openFilterKey === colKey ? null : colKey;
|
|
1435
1779
|
}}
|
|
1436
1780
|
>
|
|
1437
|
-
<
|
|
1438
|
-
<path fill="currentColor" d="M2 3h12l-4.5 5.5V13L6.5 11V8.5L2 3Z" />
|
|
1439
|
-
</svg>
|
|
1781
|
+
<IconFilter size="small" aria-hidden="true" />
|
|
1440
1782
|
</button>
|
|
1441
1783
|
{#if openFilterKey === colKey && filterTriggers[colKey]}
|
|
1442
1784
|
{@const filterMultiple = col.filterMultiple !== false}
|
|
1443
1785
|
<div
|
|
1444
|
-
class="cd-
|
|
1786
|
+
class="cd-table-column-filter-dropdown"
|
|
1445
1787
|
use:floating={{ trigger: filterTriggers[colKey], placement: 'bottomEnd', autoAdjust: true, offset: 4, getContainer: getPopupContainer }}
|
|
1446
1788
|
bind:this={filterPanelEl}
|
|
1447
1789
|
>
|
|
1448
|
-
<ul class="cd-
|
|
1790
|
+
<ul class="cd-table-column-filter-list">
|
|
1449
1791
|
{#each col.filters ?? [] as f (f.value)}
|
|
1450
|
-
<li class="cd-
|
|
1451
|
-
<label class="cd-
|
|
1792
|
+
<li class="cd-table-column-filter-item">
|
|
1793
|
+
<label class="cd-table-column-filter-label">
|
|
1452
1794
|
{#if filterMultiple}
|
|
1453
1795
|
<input
|
|
1454
1796
|
type="checkbox"
|
|
@@ -1471,11 +1813,11 @@
|
|
|
1471
1813
|
</li>
|
|
1472
1814
|
{/each}
|
|
1473
1815
|
</ul>
|
|
1474
|
-
<div class="cd-
|
|
1475
|
-
<button type="button" class="cd-
|
|
1816
|
+
<div class="cd-table-column-filter-actions">
|
|
1817
|
+
<button type="button" class="cd-table-column-filter-reset" onclick={() => resetFilter(colKey)}>
|
|
1476
1818
|
{loc().t('Table.filterReset')}
|
|
1477
1819
|
</button>
|
|
1478
|
-
<button type="button" class="cd-
|
|
1820
|
+
<button type="button" class="cd-table-column-filter-confirm" onclick={() => (openFilterKey = null)}>
|
|
1479
1821
|
{loc().t('Table.filterConfirm')}
|
|
1480
1822
|
</button>
|
|
1481
1823
|
</div>
|
|
@@ -1485,7 +1827,7 @@
|
|
|
1485
1827
|
|
|
1486
1828
|
{#if resizable}
|
|
1487
1829
|
<span
|
|
1488
|
-
class="
|
|
1830
|
+
class="react-resizable-handle"
|
|
1489
1831
|
role="separator"
|
|
1490
1832
|
aria-orientation="vertical"
|
|
1491
1833
|
aria-label={loc().t('Table.resizeColumn')}
|
|
@@ -1494,15 +1836,12 @@
|
|
|
1494
1836
|
></span>
|
|
1495
1837
|
{/if}
|
|
1496
1838
|
</th>
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
</thead>
|
|
1500
|
-
{/if}
|
|
1501
|
-
<tbody class="cd-table__body">
|
|
1839
|
+
{/snippet}
|
|
1840
|
+
<svelte:element this={tagTbody} class="cd-table-tbody">
|
|
1502
1841
|
{#if visibleRows.length === 0}
|
|
1503
|
-
<tr class="cd-
|
|
1842
|
+
<tr class="cd-table-row cd-table-row-placeholder" role={gridEnabled ? 'row' : undefined}>
|
|
1504
1843
|
<td
|
|
1505
|
-
class="cd-
|
|
1844
|
+
class="cd-table-row-cell cd-table-placeholder"
|
|
1506
1845
|
colspan={colSpan}
|
|
1507
1846
|
role={gridEnabled ? 'gridcell' : undefined}
|
|
1508
1847
|
aria-colindex={gridEnabled ? 1 : undefined}
|
|
@@ -1515,8 +1854,44 @@
|
|
|
1515
1854
|
{#each groupedDisplayRows as groupRow (groupRow.type === 'group' ? `__group__${(groupRow as GroupRow).groupKey}` : (groupRow as DataDisplayRow).key)}
|
|
1516
1855
|
{#if groupRow.type === 'group'}
|
|
1517
1856
|
{@const gRow = groupRow as GroupRow}
|
|
1518
|
-
|
|
1519
|
-
|
|
1857
|
+
{@const groupedRowProps = onGroupedRow ? onGroupedRow(gRow.group, gRow.groupIndex) : undefined}
|
|
1858
|
+
<tr
|
|
1859
|
+
class="cd-table-row cd-table-row-section {groupedRowProps?.className ?? ''}"
|
|
1860
|
+
class:cd-table-row-section-clickable={clickGroupedRowToExpand}
|
|
1861
|
+
role={gridEnabled ? 'row' : undefined}
|
|
1862
|
+
style={groupedRowProps?.style ?? undefined}
|
|
1863
|
+
ondblclick={groupedRowProps?.onDoubleClick ?? undefined}
|
|
1864
|
+
onmouseenter={groupedRowProps?.onMouseEnter ?? undefined}
|
|
1865
|
+
onmouseleave={groupedRowProps?.onMouseLeave ?? undefined}
|
|
1866
|
+
>
|
|
1867
|
+
<td
|
|
1868
|
+
class="cd-table-row-cell cd-table-row-cell-section"
|
|
1869
|
+
colspan={colSpan}
|
|
1870
|
+
role={clickGroupedRowToExpand ? 'button' : undefined}
|
|
1871
|
+
tabindex={clickGroupedRowToExpand ? 0 : undefined}
|
|
1872
|
+
aria-expanded={clickGroupedRowToExpand ? gRow.expanded : undefined}
|
|
1873
|
+
onclick={(e) => {
|
|
1874
|
+
if (clickGroupedRowToExpand) toggleGroupExpand(gRow.groupKey);
|
|
1875
|
+
groupedRowProps?.onClick?.(e);
|
|
1876
|
+
}}
|
|
1877
|
+
onkeydown={clickGroupedRowToExpand
|
|
1878
|
+
? (e) => {
|
|
1879
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
1880
|
+
e.preventDefault();
|
|
1881
|
+
toggleGroupExpand(gRow.groupKey);
|
|
1882
|
+
}
|
|
1883
|
+
}
|
|
1884
|
+
: undefined}
|
|
1885
|
+
>
|
|
1886
|
+
{#if clickGroupedRowToExpand}
|
|
1887
|
+
<span
|
|
1888
|
+
class="cd-table-expand-icon"
|
|
1889
|
+
class:cd-table-expandedIcon-show={gRow.expanded}
|
|
1890
|
+
aria-hidden="true"
|
|
1891
|
+
>
|
|
1892
|
+
<IconChevronRight size="small" aria-hidden="true" />
|
|
1893
|
+
</span>
|
|
1894
|
+
{/if}
|
|
1520
1895
|
{#if renderGroupSection}
|
|
1521
1896
|
{@render renderGroupSection({ groupKey: gRow.groupKey, group: gRow.group })}
|
|
1522
1897
|
{:else}
|
|
@@ -1535,13 +1910,13 @@
|
|
|
1535
1910
|
{@const rowDisabled = disabledSet.has(key)}
|
|
1536
1911
|
{@const extra = rowClassName ? rowClassName(record, index) : ''}
|
|
1537
1912
|
{@const clickable = !!onRowClick || expandRowByClick}
|
|
1538
|
-
{@const rowProps = onRow ? onRow(record, index) : undefined}
|
|
1539
|
-
<
|
|
1540
|
-
class="cd-
|
|
1541
|
-
class:cd-
|
|
1542
|
-
class:cd-
|
|
1543
|
-
class:cd-
|
|
1544
|
-
class:cd-
|
|
1913
|
+
{@const rowProps = onRow ? onRow(record, index, { disabled: rowDisabled, selected }) : undefined}
|
|
1914
|
+
<svelte:element this={tagBodyRow}
|
|
1915
|
+
class="cd-table-row {extra} {rowProps?.className ?? ''}"
|
|
1916
|
+
class:cd-table-row-selected={selected}
|
|
1917
|
+
class:cd-table-row-stripe={stripe && index % 2 === 1}
|
|
1918
|
+
class:cd-table-row-clickable={clickable}
|
|
1919
|
+
class:cd-table-row-child={treeEnabled && row.level > 0}
|
|
1545
1920
|
role={gridEnabled ? 'row' : undefined}
|
|
1546
1921
|
style={rowProps?.style ?? undefined}
|
|
1547
1922
|
onclick={(e) => {
|
|
@@ -1551,41 +1926,32 @@
|
|
|
1551
1926
|
if (rowProps?.onClick) rowProps.onClick(e);
|
|
1552
1927
|
}}
|
|
1553
1928
|
ondblclick={rowProps?.onDoubleClick ?? undefined}
|
|
1929
|
+
onmouseenter={rowProps?.onMouseEnter ?? undefined}
|
|
1930
|
+
onmouseleave={rowProps?.onMouseLeave ?? undefined}
|
|
1554
1931
|
>
|
|
1555
|
-
{#if
|
|
1556
|
-
{@const gc = 0}
|
|
1932
|
+
{#if expandAsColumn}
|
|
1557
1933
|
<td
|
|
1558
|
-
class="cd-
|
|
1934
|
+
class="cd-table-row-cell cd-table-column-expand {leadingFixedClass}"
|
|
1559
1935
|
style={leadingStyle('expand')}
|
|
1560
1936
|
role={gridEnabled ? 'gridcell' : undefined}
|
|
1561
1937
|
>
|
|
1562
1938
|
{#if canExpand(record)}
|
|
1563
|
-
|
|
1564
|
-
type="button"
|
|
1565
|
-
class="cd-table__expand-btn"
|
|
1566
|
-
class:cd-table__expand-btn--open={expandedSet.has(key)}
|
|
1567
|
-
aria-expanded={expandedSet.has(key)}
|
|
1568
|
-
aria-label={expandedSet.has(key) ? loc().t('Table.collapseRow') : loc().t('Table.expandRow')}
|
|
1569
|
-
onclick={(e) => { e.stopPropagation(); toggleExpand(record); }}
|
|
1570
|
-
>
|
|
1571
|
-
<svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" focusable="false">
|
|
1572
|
-
<path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M6 4l4 4-4 4" />
|
|
1573
|
-
</svg>
|
|
1574
|
-
</button>
|
|
1939
|
+
{@render expandButton(record, key, undefined)}
|
|
1575
1940
|
{/if}
|
|
1576
1941
|
</td>
|
|
1577
1942
|
{/if}
|
|
1578
1943
|
{#if hasSelection}
|
|
1579
1944
|
{@const isRadio = rowSelection?.type === 'radio'}
|
|
1580
1945
|
<td
|
|
1581
|
-
class="cd-
|
|
1946
|
+
class="cd-table-row-cell cd-table-column-selection {selectionFixedClass || leadingFixedClass}"
|
|
1582
1947
|
style={selectionColStyle ?? leadingStyle('selection')}
|
|
1583
1948
|
role={gridEnabled ? 'gridcell' : undefined}
|
|
1584
1949
|
>
|
|
1950
|
+
<span class="cd-table-selection-wrap" class:cd-table-selection-disabled={rowDisabled}>
|
|
1585
1951
|
{#if isRadio}
|
|
1586
1952
|
<input
|
|
1587
1953
|
type="radio"
|
|
1588
|
-
class="cd-
|
|
1954
|
+
class="cd-table-selection-checkbox"
|
|
1589
1955
|
aria-label={loc().t('Table.selectRow')}
|
|
1590
1956
|
checked={selected}
|
|
1591
1957
|
disabled={rowDisabled}
|
|
@@ -1595,7 +1961,7 @@
|
|
|
1595
1961
|
{:else}
|
|
1596
1962
|
<input
|
|
1597
1963
|
type="checkbox"
|
|
1598
|
-
class="cd-
|
|
1964
|
+
class="cd-table-selection-checkbox"
|
|
1599
1965
|
aria-label={loc().t('Table.selectRow')}
|
|
1600
1966
|
checked={selected}
|
|
1601
1967
|
disabled={rowDisabled}
|
|
@@ -1604,52 +1970,71 @@
|
|
|
1604
1970
|
onchange={() => onToggleRow(record)}
|
|
1605
1971
|
/>
|
|
1606
1972
|
{/if}
|
|
1973
|
+
</span>
|
|
1607
1974
|
</td>
|
|
1608
1975
|
{/if}
|
|
1609
|
-
{#each
|
|
1976
|
+
{#each leafColumns as col, i (colKeyOf(col, i))}
|
|
1610
1977
|
{@const value = cellValue(col, record)}
|
|
1611
1978
|
<td
|
|
1612
|
-
class="cd-
|
|
1613
|
-
class:cd-
|
|
1979
|
+
class="cd-table-row-cell cd-table-align-{alignOf(col)} {fixedCellClass(i)}"
|
|
1980
|
+
class:cd-table-row-cell-ellipsis={col.ellipsis}
|
|
1614
1981
|
style={cellStyle(col, i)}
|
|
1615
1982
|
>
|
|
1616
|
-
{#
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
onclick={(e) => { e.stopPropagation(); toggleTreeExpand(record); }}
|
|
1626
|
-
>
|
|
1627
|
-
<svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" focusable="false">
|
|
1628
|
-
<path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M6 4l4 4-4 4" />
|
|
1629
|
-
</svg>
|
|
1630
|
-
</button>
|
|
1631
|
-
{:else}
|
|
1632
|
-
<span class="cd-table__tree-toggle cd-table__tree-toggle--placeholder" aria-hidden="true"></span>
|
|
1983
|
+
{#snippet gExpandMaterial()}
|
|
1984
|
+
{#if hasExpand && !expandAsColumn && i === 0}
|
|
1985
|
+
<span class="cd-table-expand-icon-cell">
|
|
1986
|
+
{#if canExpand(record)}
|
|
1987
|
+
{@render expandButton(record, key, undefined)}
|
|
1988
|
+
{:else}
|
|
1989
|
+
<span class="cd-table-expand-icon cd-table-expand-icon-placeholder" aria-hidden="true"></span>
|
|
1990
|
+
{/if}
|
|
1991
|
+
</span>
|
|
1633
1992
|
{/if}
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1993
|
+
{#if treeEnabled && i === 0}
|
|
1994
|
+
{#if row.hasChildren}
|
|
1995
|
+
<button
|
|
1996
|
+
type="button"
|
|
1997
|
+
class="cd-table-expand-icon"
|
|
1998
|
+
class:cd-table-expandedIcon-show={treeExpandedSet.has(key)}
|
|
1999
|
+
aria-expanded={treeExpandedSet.has(key)}
|
|
2000
|
+
aria-label={treeExpandedSet.has(key) ? loc().t('Table.collapseRow') : loc().t('Table.expandRow')}
|
|
2001
|
+
onclick={(e) => { e.stopPropagation(); toggleTreeExpand(record); }}
|
|
2002
|
+
>
|
|
2003
|
+
<IconTreeTriangleRight size="small" aria-hidden="true" />
|
|
2004
|
+
</button>
|
|
2005
|
+
{:else}
|
|
2006
|
+
<span class="cd-table-expand-icon cd-table-expand-icon-placeholder" aria-hidden="true"></span>
|
|
2007
|
+
{/if}
|
|
2008
|
+
{/if}
|
|
2009
|
+
{/snippet}
|
|
2010
|
+
{#snippet gIndentMaterial()}
|
|
2011
|
+
{#if treeEnabled && i === 0}
|
|
2012
|
+
<span class="cd-table-row-indent" style="inline-size:{row.level * indentSize}px" aria-hidden="true"></span>
|
|
2013
|
+
{/if}
|
|
2014
|
+
{/snippet}
|
|
2015
|
+
{#if col.useFullRender && col.render}
|
|
2016
|
+
{@render col.render({ value, record, index, expandIcon: gExpandMaterial, indentText: gIndentMaterial })}
|
|
1637
2017
|
{:else}
|
|
1638
|
-
{
|
|
2018
|
+
{#if i === 0}{@render gIndentMaterial()}{@render gExpandMaterial()}{/if}
|
|
2019
|
+
{#if col.render}
|
|
2020
|
+
{@render col.render({ value, record, index })}
|
|
2021
|
+
{:else}
|
|
2022
|
+
{cellText(value)}
|
|
2023
|
+
{/if}
|
|
1639
2024
|
{/if}
|
|
1640
2025
|
</td>
|
|
1641
2026
|
{/each}
|
|
1642
|
-
</
|
|
2027
|
+
</svelte:element>
|
|
1643
2028
|
{#if hasExpand && canExpand(record)}
|
|
1644
2029
|
{#if keepDOM}
|
|
1645
|
-
<tr class="cd-
|
|
1646
|
-
<td class="cd-
|
|
2030
|
+
<tr class="cd-table-row cd-table-row-expand" role={gridEnabled ? 'row' : undefined} style={expandedSet.has(key) ? undefined : 'display:none'}>
|
|
2031
|
+
<td class="cd-table-row-cell cd-table-row-cell-expanded-content" colspan={colSpan} role={gridEnabled ? 'gridcell' : undefined} aria-colindex={gridEnabled ? 1 : undefined}>
|
|
1647
2032
|
{@render expandable!.expandedRowRender({ record, index })}
|
|
1648
2033
|
</td>
|
|
1649
2034
|
</tr>
|
|
1650
2035
|
{:else if expandedSet.has(key)}
|
|
1651
|
-
<tr class="cd-
|
|
1652
|
-
<td class="cd-
|
|
2036
|
+
<tr class="cd-table-row cd-table-row-expand" role={gridEnabled ? 'row' : undefined}>
|
|
2037
|
+
<td class="cd-table-row-cell cd-table-row-cell-expanded-content" colspan={colSpan} role={gridEnabled ? 'gridcell' : undefined} aria-colindex={gridEnabled ? 1 : undefined}>
|
|
1653
2038
|
{@render expandable!.expandedRowRender({ record, index })}
|
|
1654
2039
|
</td>
|
|
1655
2040
|
</tr>
|
|
@@ -1659,7 +2044,7 @@
|
|
|
1659
2044
|
{/each}
|
|
1660
2045
|
{:else}
|
|
1661
2046
|
{#if virtualized && vTopPad > 0}
|
|
1662
|
-
<tr class="cd-
|
|
2047
|
+
<tr class="cd-table-row cd-table-row-spacer" aria-hidden="true">
|
|
1663
2048
|
<td colspan={colSpan} style="block-size:{vTopPad}px; padding:0; border:0"></td>
|
|
1664
2049
|
</tr>
|
|
1665
2050
|
{/if}
|
|
@@ -1673,13 +2058,13 @@
|
|
|
1673
2058
|
{@const rowDisabled = disabledSet.has(key)}
|
|
1674
2059
|
{@const extra = rowClassName ? rowClassName(record, index) : ''}
|
|
1675
2060
|
{@const clickable = !!onRowClick || expandRowByClick}
|
|
1676
|
-
{@const rowProps = onRow ? onRow(record, index) : undefined}
|
|
1677
|
-
<
|
|
1678
|
-
class="cd-
|
|
1679
|
-
class:cd-
|
|
1680
|
-
class:cd-
|
|
1681
|
-
class:cd-
|
|
1682
|
-
class:cd-
|
|
2061
|
+
{@const rowProps = onRow ? onRow(record, index, { disabled: rowDisabled, selected }) : undefined}
|
|
2062
|
+
<svelte:element this={tagBodyRow}
|
|
2063
|
+
class="cd-table-row {extra} {rowProps?.className ?? ''}"
|
|
2064
|
+
class:cd-table-row-selected={selected}
|
|
2065
|
+
class:cd-table-row-stripe={stripe && index % 2 === 1}
|
|
2066
|
+
class:cd-table-row-clickable={clickable}
|
|
2067
|
+
class:cd-table-row-child={treeEnabled && row.level > 0}
|
|
1683
2068
|
role={gridEnabled ? 'row' : undefined}
|
|
1684
2069
|
aria-rowindex={gridEnabled ? gridRow + 2 : undefined}
|
|
1685
2070
|
aria-selected={gridEnabled && hasSelection ? selected : undefined}
|
|
@@ -1691,11 +2076,13 @@
|
|
|
1691
2076
|
if (rowProps?.onClick) rowProps.onClick(e);
|
|
1692
2077
|
}}
|
|
1693
2078
|
ondblclick={rowProps?.onDoubleClick ?? undefined}
|
|
2079
|
+
onmouseenter={rowProps?.onMouseEnter ?? undefined}
|
|
2080
|
+
onmouseleave={rowProps?.onMouseLeave ?? undefined}
|
|
1694
2081
|
>
|
|
1695
|
-
{#if
|
|
2082
|
+
{#if expandAsColumn}
|
|
1696
2083
|
{@const gc = 0}
|
|
1697
2084
|
<td
|
|
1698
|
-
class="cd-
|
|
2085
|
+
class="cd-table-row-cell cd-table-column-expand {leadingFixedClass}"
|
|
1699
2086
|
style={leadingStyle('expand')}
|
|
1700
2087
|
role={gridEnabled ? 'gridcell' : undefined}
|
|
1701
2088
|
id={gridEnabled ? cellId(gridRow, gc) : undefined}
|
|
@@ -1704,30 +2091,15 @@
|
|
|
1704
2091
|
onfocusin={gridEnabled ? () => syncFocusCoord(gridRow, gc) : undefined}
|
|
1705
2092
|
>
|
|
1706
2093
|
{#if canExpand(record)}
|
|
1707
|
-
|
|
1708
|
-
type="button"
|
|
1709
|
-
class="cd-table__expand-btn"
|
|
1710
|
-
class:cd-table__expand-btn--open={expandedSet.has(key)}
|
|
1711
|
-
aria-expanded={expandedSet.has(key)}
|
|
1712
|
-
aria-label={expandedSet.has(key) ? loc().t('Table.collapseRow') : loc().t('Table.expandRow')}
|
|
1713
|
-
tabindex={childTabindex(gridRow, gc)}
|
|
1714
|
-
onclick={(e) => {
|
|
1715
|
-
e.stopPropagation();
|
|
1716
|
-
toggleExpand(record);
|
|
1717
|
-
}}
|
|
1718
|
-
>
|
|
1719
|
-
<svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" focusable="false">
|
|
1720
|
-
<path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M6 4l4 4-4 4" />
|
|
1721
|
-
</svg>
|
|
1722
|
-
</button>
|
|
2094
|
+
{@render expandButton(record, key, childTabindex(gridRow, gc))}
|
|
1723
2095
|
{/if}
|
|
1724
2096
|
</td>
|
|
1725
2097
|
{/if}
|
|
1726
2098
|
{#if hasSelection}
|
|
1727
|
-
{@const gc =
|
|
2099
|
+
{@const gc = expandAsColumn ? 1 : 0}
|
|
1728
2100
|
{@const isRadio = rowSelection?.type === 'radio'}
|
|
1729
2101
|
<td
|
|
1730
|
-
class="cd-
|
|
2102
|
+
class="cd-table-row-cell cd-table-column-selection {selectionFixedClass || leadingFixedClass}"
|
|
1731
2103
|
style={selectionColStyle ?? leadingStyle('selection')}
|
|
1732
2104
|
role={gridEnabled ? 'gridcell' : undefined}
|
|
1733
2105
|
id={gridEnabled ? cellId(gridRow, gc) : undefined}
|
|
@@ -1735,10 +2107,11 @@
|
|
|
1735
2107
|
aria-colindex={gridEnabled ? gc + 1 : undefined}
|
|
1736
2108
|
onfocusin={gridEnabled ? () => syncFocusCoord(gridRow, gc) : undefined}
|
|
1737
2109
|
>
|
|
2110
|
+
<span class="cd-table-selection-wrap" class:cd-table-selection-disabled={rowDisabled}>
|
|
1738
2111
|
{#if isRadio}
|
|
1739
2112
|
<input
|
|
1740
2113
|
type="radio"
|
|
1741
|
-
class="cd-
|
|
2114
|
+
class="cd-table-selection-checkbox"
|
|
1742
2115
|
aria-label={loc().t('Table.selectRow')}
|
|
1743
2116
|
checked={selected}
|
|
1744
2117
|
disabled={rowDisabled}
|
|
@@ -1749,7 +2122,7 @@
|
|
|
1749
2122
|
{:else}
|
|
1750
2123
|
<input
|
|
1751
2124
|
type="checkbox"
|
|
1752
|
-
class="cd-
|
|
2125
|
+
class="cd-table-selection-checkbox"
|
|
1753
2126
|
aria-label={loc().t('Table.selectRow')}
|
|
1754
2127
|
checked={selected}
|
|
1755
2128
|
disabled={rowDisabled}
|
|
@@ -1759,62 +2132,87 @@
|
|
|
1759
2132
|
onchange={() => onToggleRow(record)}
|
|
1760
2133
|
/>
|
|
1761
2134
|
{/if}
|
|
2135
|
+
</span>
|
|
1762
2136
|
</td>
|
|
1763
2137
|
{/if}
|
|
1764
|
-
{#each
|
|
2138
|
+
{#each leafColumns as col, i (colKeyOf(col, i))}
|
|
1765
2139
|
{@const value = cellValue(col, record)}
|
|
1766
|
-
{@const gc = (
|
|
1767
|
-
{@const isRowHeader = gridEnabled && i === 0 && !hasSelection && !
|
|
2140
|
+
{@const gc = (expandAsColumn ? 1 : 0) + (hasSelection ? 1 : 0) + i}
|
|
2141
|
+
{@const isRowHeader = gridEnabled && i === 0 && !hasSelection && !expandAsColumn}
|
|
2142
|
+
{@const cellProps = col.onCell ? col.onCell(record, index) : undefined}
|
|
2143
|
+
{#if !(cellProps && (cellProps.colSpan === 0 || cellProps.rowSpan === 0))}
|
|
1768
2144
|
<td
|
|
1769
|
-
class="cd-
|
|
1770
|
-
class:cd-
|
|
1771
|
-
|
|
2145
|
+
class="cd-table-row-cell cd-table-align-{alignOf(col)} {fixedCellClass(i)} {cellProps?.className ?? ''}"
|
|
2146
|
+
class:cd-table-row-cell-ellipsis={col.ellipsis}
|
|
2147
|
+
colspan={cellProps?.colSpan}
|
|
2148
|
+
rowspan={cellProps?.rowSpan}
|
|
2149
|
+
style={mergeCellStyle(cellStyle(col, i), cellProps?.style)}
|
|
1772
2150
|
role={gridEnabled ? (isRowHeader ? 'rowheader' : 'gridcell') : undefined}
|
|
1773
2151
|
id={gridEnabled ? cellId(gridRow, gc) : undefined}
|
|
1774
2152
|
tabindex={rovingTabindex(gridRow, gc)}
|
|
1775
2153
|
aria-colindex={gridEnabled ? gc + 1 : undefined}
|
|
1776
2154
|
onfocusin={gridEnabled ? () => syncFocusCoord(gridRow, gc) : undefined}
|
|
1777
2155
|
>
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
{#if
|
|
1781
|
-
<
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
onclick={(e) => {
|
|
1789
|
-
e.stopPropagation();
|
|
1790
|
-
toggleTreeExpand(record);
|
|
1791
|
-
}}
|
|
1792
|
-
>
|
|
1793
|
-
<svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" focusable="false">
|
|
1794
|
-
<path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M6 4l4 4-4 4" />
|
|
1795
|
-
</svg>
|
|
1796
|
-
</button>
|
|
1797
|
-
{:else}
|
|
1798
|
-
<span class="cd-table__tree-toggle cd-table__tree-toggle--placeholder" aria-hidden="true"></span>
|
|
2156
|
+
<!-- 展开图标 / 树形三角 / 缩进物料:useFullRender 时不自动前置,改注入 render 供自行摆放 -->
|
|
2157
|
+
{#snippet cellExpandMaterial()}
|
|
2158
|
+
{#if hasExpand && !expandAsColumn && i === 0}
|
|
2159
|
+
<span class="cd-table-expand-icon-cell">
|
|
2160
|
+
{#if canExpand(record)}
|
|
2161
|
+
{@render expandButton(record, key, childTabindex(gridRow, gc))}
|
|
2162
|
+
{:else}
|
|
2163
|
+
<span class="cd-table-expand-icon cd-table-expand-icon-placeholder" aria-hidden="true"></span>
|
|
2164
|
+
{/if}
|
|
2165
|
+
</span>
|
|
1799
2166
|
{/if}
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
2167
|
+
{#if treeEnabled && i === 0}
|
|
2168
|
+
{#if row.hasChildren}
|
|
2169
|
+
<button
|
|
2170
|
+
type="button"
|
|
2171
|
+
class="cd-table-expand-icon"
|
|
2172
|
+
class:cd-table-expandedIcon-show={treeExpandedSet.has(key)}
|
|
2173
|
+
aria-expanded={treeExpandedSet.has(key)}
|
|
2174
|
+
aria-label={treeExpandedSet.has(key) ? loc().t('Table.collapseRow') : loc().t('Table.expandRow')}
|
|
2175
|
+
tabindex={childTabindex(gridRow, gc)}
|
|
2176
|
+
onclick={(e) => {
|
|
2177
|
+
e.stopPropagation();
|
|
2178
|
+
toggleTreeExpand(record);
|
|
2179
|
+
}}
|
|
2180
|
+
>
|
|
2181
|
+
<IconTreeTriangleRight size="small" aria-hidden="true" />
|
|
2182
|
+
</button>
|
|
2183
|
+
{:else}
|
|
2184
|
+
<span class="cd-table-expand-icon cd-table-expand-icon-placeholder" aria-hidden="true"></span>
|
|
2185
|
+
{/if}
|
|
2186
|
+
{/if}
|
|
2187
|
+
{/snippet}
|
|
2188
|
+
{#snippet cellIndentMaterial()}
|
|
2189
|
+
{#if treeEnabled && i === 0}
|
|
2190
|
+
<span class="cd-table-row-indent" style="inline-size:{row.level * indentSize}px" aria-hidden="true"></span>
|
|
2191
|
+
{/if}
|
|
2192
|
+
{/snippet}
|
|
2193
|
+
{#if col.useFullRender && col.render}
|
|
2194
|
+
{@render col.render({ value, record, index, expandIcon: cellExpandMaterial, indentText: cellIndentMaterial })}
|
|
1803
2195
|
{:else}
|
|
1804
|
-
{
|
|
2196
|
+
{#if i === 0}{@render cellIndentMaterial()}{@render cellExpandMaterial()}{/if}
|
|
2197
|
+
{#if col.render}
|
|
2198
|
+
{@render col.render({ value, record, index })}
|
|
2199
|
+
{:else}
|
|
2200
|
+
{cellText(value)}
|
|
2201
|
+
{/if}
|
|
1805
2202
|
{/if}
|
|
1806
2203
|
</td>
|
|
2204
|
+
{/if}
|
|
1807
2205
|
{/each}
|
|
1808
|
-
</
|
|
2206
|
+
</svelte:element>
|
|
1809
2207
|
{#if hasExpand && canExpand(record)}
|
|
1810
2208
|
{#if keepDOM}
|
|
1811
2209
|
<tr
|
|
1812
|
-
class="cd-
|
|
2210
|
+
class="cd-table-row cd-table-row-expand"
|
|
1813
2211
|
role={gridEnabled ? 'row' : undefined}
|
|
1814
2212
|
style={expandedSet.has(key) ? undefined : 'display:none'}
|
|
1815
2213
|
>
|
|
1816
2214
|
<td
|
|
1817
|
-
class="cd-
|
|
2215
|
+
class="cd-table-row-cell cd-table-row-cell-expanded-content"
|
|
1818
2216
|
colspan={colSpan}
|
|
1819
2217
|
role={gridEnabled ? 'gridcell' : undefined}
|
|
1820
2218
|
aria-colindex={gridEnabled ? 1 : undefined}
|
|
@@ -1823,9 +2221,9 @@
|
|
|
1823
2221
|
</td>
|
|
1824
2222
|
</tr>
|
|
1825
2223
|
{:else if expandedSet.has(key)}
|
|
1826
|
-
<tr class="cd-
|
|
2224
|
+
<tr class="cd-table-row cd-table-row-expand" role={gridEnabled ? 'row' : undefined}>
|
|
1827
2225
|
<td
|
|
1828
|
-
class="cd-
|
|
2226
|
+
class="cd-table-row-cell cd-table-row-cell-expanded-content"
|
|
1829
2227
|
colspan={colSpan}
|
|
1830
2228
|
role={gridEnabled ? 'gridcell' : undefined}
|
|
1831
2229
|
aria-colindex={gridEnabled ? 1 : undefined}
|
|
@@ -1837,345 +2235,390 @@
|
|
|
1837
2235
|
{/if}
|
|
1838
2236
|
{/each}
|
|
1839
2237
|
{#if virtualized && vBottomPad > 0}
|
|
1840
|
-
<tr class="cd-
|
|
2238
|
+
<tr class="cd-table-row cd-table-row-spacer" aria-hidden="true">
|
|
1841
2239
|
<td colspan={colSpan} style="block-size:{vBottomPad}px; padding:0; border:0"></td>
|
|
1842
2240
|
</tr>
|
|
1843
2241
|
{/if}
|
|
1844
2242
|
{/if}
|
|
1845
2243
|
{/if}
|
|
1846
|
-
</
|
|
2244
|
+
</svelte:element>
|
|
1847
2245
|
</table>
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
currentPage={currentPage}
|
|
1854
|
-
{pageSize}
|
|
1855
|
-
size={size === 'large' ? 'default' : size}
|
|
1856
|
-
onChange={onPageChange}
|
|
1857
|
-
/>
|
|
2246
|
+
{#if loading}
|
|
2247
|
+
<div class="cd-table-loading" aria-hidden="true">
|
|
2248
|
+
<span class="cd-table-spinner"></span>
|
|
2249
|
+
</div>
|
|
2250
|
+
{/if}
|
|
1858
2251
|
</div>
|
|
1859
|
-
|
|
2252
|
+
<!-- footer 在 .cd-table-container 内、body 之后(对齐 Semi) -->
|
|
2253
|
+
{#if footerSnippet || footer}
|
|
2254
|
+
<div class="cd-table-footer">
|
|
2255
|
+
{#if footerSnippet}{@render footerSnippet({ currentData: visibleRows })}{:else}{footer}{/if}
|
|
2256
|
+
</div>
|
|
2257
|
+
{/if}
|
|
2258
|
+
</div>
|
|
1860
2259
|
|
|
1861
|
-
{#if
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
2260
|
+
{#if paginationEnabled && total > 0}
|
|
2261
|
+
{#if renderPagination}
|
|
2262
|
+
{@render renderPagination({ total, currentPage, pageSize, onChange: onPageChange })}
|
|
2263
|
+
{:else}
|
|
2264
|
+
<!-- 对齐 Semi Table 分页:左侧 range 文案(显示第 X-Y 条,共 N 条)+ 右侧 default 页码按钮。
|
|
2265
|
+
表格 size(行高密度)不影响分页器,故分页固定 default 尺寸(不透传表格 size)。 -->
|
|
2266
|
+
<div class="cd-table-pagination-outer">
|
|
2267
|
+
<span class="cd-table-pagination-total">{pageRangeText}</span>
|
|
2268
|
+
<Pagination
|
|
2269
|
+
{total}
|
|
2270
|
+
currentPage={currentPage}
|
|
2271
|
+
{pageSize}
|
|
2272
|
+
size="default"
|
|
2273
|
+
onChange={onPageChange}
|
|
2274
|
+
/>
|
|
2275
|
+
</div>
|
|
2276
|
+
{/if}
|
|
1865
2277
|
{/if}
|
|
1866
2278
|
</div>
|
|
1867
|
-
|
|
1868
|
-
{#if footerSnippet}
|
|
1869
|
-
<div class="cd-table__footer">
|
|
1870
|
-
{@render footerSnippet({ currentData: visibleRows })}
|
|
1871
|
-
</div>
|
|
1872
|
-
{/if}
|
|
2279
|
+
<!-- /.cd-table-wrapper -->
|
|
1873
2280
|
|
|
1874
2281
|
<style>
|
|
1875
|
-
.
|
|
2282
|
+
/* ===== 严格对齐 Semi Design table.scss —— 消费 Semi 全名 token ===== */
|
|
2283
|
+
|
|
2284
|
+
/* 最外层容器:.semi-table-wrapper */
|
|
2285
|
+
.cd-table-wrapper {
|
|
1876
2286
|
position: relative;
|
|
2287
|
+
box-sizing: border-box;
|
|
2288
|
+
margin: 0;
|
|
2289
|
+
padding: 0;
|
|
1877
2290
|
inline-size: 100%;
|
|
1878
|
-
|
|
2291
|
+
color: var(--cd-color-table-text-default);
|
|
2292
|
+
font-size: var(--cd-font-table-base-fontsize);
|
|
1879
2293
|
}
|
|
1880
2294
|
|
|
1881
|
-
/*
|
|
1882
|
-
.cd-table-
|
|
1883
|
-
|
|
2295
|
+
/* body 滚动容器:.semi-table-body(横向 + 纵向滚动区) */
|
|
2296
|
+
.cd-table-body {
|
|
2297
|
+
position: relative;
|
|
2298
|
+
inline-size: 100%;
|
|
2299
|
+
box-sizing: border-box;
|
|
2300
|
+
overflow-x: auto;
|
|
1884
2301
|
}
|
|
1885
|
-
|
|
1886
|
-
.cd-table-
|
|
2302
|
+
.cd-table-body-virtual,
|
|
2303
|
+
.cd-table-body-scroll {
|
|
1887
2304
|
overflow: auto;
|
|
1888
2305
|
}
|
|
1889
|
-
|
|
2306
|
+
|
|
2307
|
+
/* 吸顶表头:thead sticky */
|
|
2308
|
+
.cd-table-thead-sticky th {
|
|
1890
2309
|
position: sticky;
|
|
1891
2310
|
inset-block-start: 0;
|
|
1892
|
-
|
|
1893
|
-
z-index: 5;
|
|
2311
|
+
z-index: calc(var(--cd-z-table-fixed-column) + 1);
|
|
1894
2312
|
}
|
|
1895
|
-
|
|
1896
|
-
.cd-table__row--spacer:hover {
|
|
2313
|
+
.cd-table-row-spacer:hover {
|
|
1897
2314
|
background: transparent;
|
|
1898
2315
|
}
|
|
1899
2316
|
|
|
2317
|
+
/* 表格本体:.semi-table */
|
|
1900
2318
|
.cd-table {
|
|
1901
2319
|
inline-size: 100%;
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
2320
|
+
text-align: left;
|
|
2321
|
+
border-collapse: separate;
|
|
2322
|
+
border-spacing: 0;
|
|
2323
|
+
font-size: inherit;
|
|
2324
|
+
display: table;
|
|
2325
|
+
background: var(--cd-color-table-bg-default);
|
|
2326
|
+
}
|
|
2327
|
+
/* fixed 布局:固定列 / 列宽精确 */
|
|
2328
|
+
.cd-table-fixed {
|
|
1910
2329
|
inline-size: auto;
|
|
1911
2330
|
min-inline-size: 100%;
|
|
1912
2331
|
table-layout: fixed;
|
|
1913
2332
|
}
|
|
1914
2333
|
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
2334
|
+
/* ===== 表头 thead ===== */
|
|
2335
|
+
.cd-table-thead > .cd-table-row > .cd-table-row-head {
|
|
2336
|
+
background-color: var(--cd-color-table-th-bg-default);
|
|
2337
|
+
color: var(--cd-color-table-th-text-default);
|
|
2338
|
+
font-weight: var(--cd-font-weight-bold, 600);
|
|
1918
2339
|
text-align: left;
|
|
1919
2340
|
vertical-align: middle;
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
padding-block: var(--cd-table-
|
|
1924
|
-
|
|
1925
|
-
.cd-table--large .cd-table__cell {
|
|
1926
|
-
padding-block: var(--cd-table-cell-padding-y-large);
|
|
1927
|
-
}
|
|
1928
|
-
|
|
1929
|
-
.cd-table__cell--head {
|
|
1930
|
-
color: var(--cd-table-header-text);
|
|
1931
|
-
background: var(--cd-table-header-bg);
|
|
1932
|
-
font-weight: 600;
|
|
1933
|
-
}
|
|
1934
|
-
.cd-table__head th {
|
|
1935
|
-
background: var(--cd-table-header-bg);
|
|
1936
|
-
color: var(--cd-table-header-text);
|
|
1937
|
-
font-weight: 600;
|
|
2341
|
+
overflow-wrap: break-word;
|
|
2342
|
+
position: relative;
|
|
2343
|
+
padding-inline: var(--cd-spacing-table-row-head-paddingx);
|
|
2344
|
+
padding-block: var(--cd-spacing-table-row-head-paddingy);
|
|
2345
|
+
border-block-end: var(--cd-width-table-header-border) var(--cd-border-table-base-borderstyle) var(--cd-color-table-th-border-default);
|
|
1938
2346
|
}
|
|
1939
|
-
|
|
1940
|
-
.cd-
|
|
1941
|
-
|
|
2347
|
+
/* 点击排序表头:clickSort */
|
|
2348
|
+
.cd-table-row-head-clicksort {
|
|
2349
|
+
cursor: pointer;
|
|
1942
2350
|
}
|
|
1943
|
-
.cd-
|
|
1944
|
-
|
|
2351
|
+
.cd-table-row-head-clicksort:hover {
|
|
2352
|
+
background-image: linear-gradient(0deg, var(--cd-color-table-th-clicksort-bg-hover), var(--cd-color-table-th-clicksort-bg-hover));
|
|
2353
|
+
background-color: var(--cd-color-table-cell-bg-hover);
|
|
1945
2354
|
}
|
|
1946
|
-
.cd-
|
|
1947
|
-
inline-size: 48px;
|
|
2355
|
+
.cd-table-row-head.cd-table-column-selection {
|
|
1948
2356
|
text-align: center;
|
|
1949
|
-
white-space: nowrap;
|
|
1950
2357
|
}
|
|
1951
|
-
.cd-
|
|
1952
|
-
|
|
2358
|
+
.cd-table-row-head-ellipsis,
|
|
2359
|
+
.cd-table-row-head-ellipsis .cd-table-row-head-title {
|
|
2360
|
+
overflow: hidden;
|
|
1953
2361
|
white-space: nowrap;
|
|
1954
|
-
text-
|
|
1955
|
-
}
|
|
1956
|
-
.cd-table__expand-btn {
|
|
1957
|
-
display: inline-flex;
|
|
1958
|
-
align-items: center;
|
|
1959
|
-
justify-content: center;
|
|
1960
|
-
padding: 0;
|
|
1961
|
-
border: none;
|
|
1962
|
-
background: transparent;
|
|
1963
|
-
color: var(--cd-color-text-2);
|
|
1964
|
-
cursor: pointer;
|
|
1965
|
-
transition: transform var(--cd-motion-duration-fast) var(--cd-motion-ease-standard);
|
|
2362
|
+
text-overflow: ellipsis;
|
|
1966
2363
|
}
|
|
1967
|
-
|
|
1968
|
-
|
|
2364
|
+
|
|
2365
|
+
/* ===== 表体 tbody ===== */
|
|
2366
|
+
.cd-table-tbody {
|
|
2367
|
+
display: table-row-group;
|
|
1969
2368
|
}
|
|
1970
|
-
.cd-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
border-radius: var(--cd-border-radius-small);
|
|
2369
|
+
.cd-table-tbody > .cd-table-row {
|
|
2370
|
+
display: table-row;
|
|
2371
|
+
background-color: var(--cd-color-table-body-bg-default);
|
|
1974
2372
|
}
|
|
1975
|
-
.cd-
|
|
1976
|
-
|
|
2373
|
+
.cd-table-tbody > .cd-table-row > .cd-table-row-cell {
|
|
2374
|
+
display: table-cell;
|
|
2375
|
+
overflow-wrap: break-word;
|
|
2376
|
+
border-inline: none;
|
|
2377
|
+
border-block-end: var(--cd-width-table-base-border) var(--cd-border-table-base-borderstyle) var(--cd-color-table-border-default);
|
|
2378
|
+
padding: var(--cd-spacing-table-tbody-rowcell-padding);
|
|
2379
|
+
box-sizing: border-box;
|
|
2380
|
+
position: relative;
|
|
2381
|
+
vertical-align: middle;
|
|
1977
2382
|
}
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
2383
|
+
/* 尺寸档:middle / small 单元格纵向内边距 */
|
|
2384
|
+
.cd-table-middle .cd-table-tbody > .cd-table-row > .cd-table-row-cell {
|
|
2385
|
+
padding-block: var(--cd-spacing-table-middle-paddingy);
|
|
1981
2386
|
}
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
transition: none;
|
|
1985
|
-
}
|
|
2387
|
+
.cd-table-small .cd-table-tbody > .cd-table-row > .cd-table-row-cell {
|
|
2388
|
+
padding-block: var(--cd-spacing-table-small-paddingy);
|
|
1986
2389
|
}
|
|
1987
|
-
.cd-
|
|
1988
|
-
max-inline-size: 0;
|
|
2390
|
+
.cd-table-row-cell-ellipsis {
|
|
1989
2391
|
overflow: hidden;
|
|
1990
2392
|
white-space: nowrap;
|
|
1991
2393
|
text-overflow: ellipsis;
|
|
1992
2394
|
}
|
|
1993
2395
|
|
|
1994
|
-
/*
|
|
1995
|
-
.cd-
|
|
1996
|
-
|
|
1997
|
-
|
|
2396
|
+
/* 行 hover:Semi 用 background-image+background-color 双层(fill-0 半透 + bg-0 兜底) */
|
|
2397
|
+
.cd-table-tbody > .cd-table-row:hover > .cd-table-row-cell,
|
|
2398
|
+
.cd-table-tbody > .cd-table-row-hovered > .cd-table-row-cell {
|
|
2399
|
+
background-image: linear-gradient(0deg, var(--cd-color-table-body-bg-hover), var(--cd-color-table-body-bg-hover));
|
|
2400
|
+
background-color: var(--cd-color-table-cell-bg-hover);
|
|
1998
2401
|
}
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
padding: 0;
|
|
2007
|
-
border: none;
|
|
2008
|
-
background: transparent;
|
|
2009
|
-
color: var(--cd-color-text-2);
|
|
2010
|
-
cursor: pointer;
|
|
2011
|
-
vertical-align: middle;
|
|
2012
|
-
transition: transform var(--cd-motion-duration-fast) var(--cd-motion-ease-standard);
|
|
2402
|
+
/* 固定列 hover:底色保持 body-default,避免透出横滚内容 */
|
|
2403
|
+
.cd-table-tbody > .cd-table-row:hover > .cd-table-cell-fixed-left,
|
|
2404
|
+
.cd-table-tbody > .cd-table-row:hover > .cd-table-cell-fixed-right,
|
|
2405
|
+
.cd-table-tbody > .cd-table-row-hovered > .cd-table-cell-fixed-left,
|
|
2406
|
+
.cd-table-tbody > .cd-table-row-hovered > .cd-table-cell-fixed-right {
|
|
2407
|
+
background-image: linear-gradient(0deg, var(--cd-color-table-body-bg-hover), var(--cd-color-table-body-bg-hover));
|
|
2408
|
+
background-color: var(--cd-color-table-body-bg-default);
|
|
2013
2409
|
}
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
outline: none;
|
|
2019
|
-
box-shadow: var(--cd-focus-ring);
|
|
2020
|
-
border-radius: var(--cd-border-radius-small);
|
|
2410
|
+
|
|
2411
|
+
/* 对齐 */
|
|
2412
|
+
.cd-table-align-center {
|
|
2413
|
+
text-align: center;
|
|
2021
2414
|
}
|
|
2022
|
-
.cd-
|
|
2023
|
-
|
|
2415
|
+
.cd-table-align-right {
|
|
2416
|
+
text-align: right;
|
|
2024
2417
|
}
|
|
2025
|
-
|
|
2026
|
-
|
|
2418
|
+
|
|
2419
|
+
/* 选择列 / 展开列固定宽度(对齐 Semi $width-table_column_selection = 48px) */
|
|
2420
|
+
.cd-table-column-selection,
|
|
2421
|
+
.cd-table-column-expand {
|
|
2422
|
+
inline-size: var(--cd-width-table-column-selection);
|
|
2423
|
+
text-align: center;
|
|
2424
|
+
white-space: nowrap;
|
|
2027
2425
|
}
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
2426
|
+
|
|
2427
|
+
/* 斑马纹(chenzy-design 扩展;Semi 靠 demo onRow className 实现,此处保留组件级开关) */
|
|
2428
|
+
.cd-table-stripe .cd-table-tbody > .cd-table-row-stripe > .cd-table-row-cell {
|
|
2429
|
+
background-color: var(--cd-color-table-selection-bg-default);
|
|
2032
2430
|
}
|
|
2033
2431
|
|
|
2034
|
-
/*
|
|
2035
|
-
.cd-
|
|
2036
|
-
|
|
2037
|
-
background: var(--cd-table-bg);
|
|
2432
|
+
/* 选中行 */
|
|
2433
|
+
.cd-table-tbody > .cd-table-row-selected > .cd-table-row-cell {
|
|
2434
|
+
background-color: var(--cd-color-primary-light-default);
|
|
2038
2435
|
}
|
|
2039
|
-
.cd-
|
|
2040
|
-
|
|
2041
|
-
background: var(--cd-table-header-bg);
|
|
2436
|
+
.cd-table-row-clickable {
|
|
2437
|
+
cursor: pointer;
|
|
2042
2438
|
}
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2439
|
+
|
|
2440
|
+
/* ===== 展开行 / 分组行 ===== */
|
|
2441
|
+
.cd-table-tbody > .cd-table-row-expand > .cd-table-row-cell {
|
|
2442
|
+
background-color: var(--cd-color-table-row-expanded-bg-default);
|
|
2046
2443
|
}
|
|
2047
|
-
.cd-
|
|
2048
|
-
|
|
2444
|
+
.cd-table-row-cell-expanded-content {
|
|
2445
|
+
padding-inline: var(--cd-spacing-table-expand-row-paddingleft) var(--cd-spacing-table-expand-row-paddingright);
|
|
2446
|
+
padding-block: var(--cd-spacing-table-expand-row-paddingtop) var(--cd-spacing-table-expand-row-paddingbottom);
|
|
2447
|
+
background-color: var(--cd-color-table-row-expanded-bg-default);
|
|
2049
2448
|
}
|
|
2050
|
-
.cd-
|
|
2051
|
-
|
|
2052
|
-
background: var(--cd-table-row-selected-bg);
|
|
2449
|
+
.cd-table-row-hidden {
|
|
2450
|
+
display: none;
|
|
2053
2451
|
}
|
|
2054
|
-
|
|
2055
|
-
.
|
|
2056
|
-
.cd-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
inset-block: 0;
|
|
2060
|
-
inline-size: 6px;
|
|
2061
|
-
pointer-events: none;
|
|
2452
|
+
|
|
2453
|
+
/* 分组表头行 .semi-table-row-section */
|
|
2454
|
+
.cd-table-tbody > .cd-table-row-section > .cd-table-row-cell {
|
|
2455
|
+
background-color: var(--cd-color-table-selection-bg-default);
|
|
2456
|
+
border-block-end: var(--cd-width-table-base-border) var(--cd-border-table-base-borderstyle) var(--cd-color-table-border-default);
|
|
2062
2457
|
}
|
|
2063
|
-
.cd-
|
|
2064
|
-
|
|
2458
|
+
.cd-table-tbody > .cd-table-row-section > .cd-table-row-cell:not(.cd-table-column-selection) {
|
|
2459
|
+
padding: var(--cd-spacing-table-tbody-rowselection-rowcell-notselection-paddingy) var(--cd-spacing-table-tbody-rowselection-rowcell-notselection-paddingx);
|
|
2065
2460
|
}
|
|
2066
|
-
.cd-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
to right,
|
|
2070
|
-
var(--cd-table-fixed-shadow, rgba(0, 0, 0, 0.12)),
|
|
2071
|
-
transparent
|
|
2072
|
-
);
|
|
2461
|
+
.cd-table-section-inner {
|
|
2462
|
+
display: inline-flex;
|
|
2463
|
+
align-items: center;
|
|
2073
2464
|
}
|
|
2074
|
-
.cd-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
to left,
|
|
2078
|
-
var(--cd-table-fixed-shadow, rgba(0, 0, 0, 0.12)),
|
|
2079
|
-
transparent
|
|
2080
|
-
);
|
|
2465
|
+
.cd-table-row-section-clickable .cd-table-row-cell-section {
|
|
2466
|
+
cursor: pointer;
|
|
2467
|
+
user-select: none;
|
|
2081
2468
|
}
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2469
|
+
.cd-table-row-cell-section:focus-visible {
|
|
2470
|
+
outline: 2px solid var(--cd-focus-ring, currentColor);
|
|
2471
|
+
outline-offset: -2px;
|
|
2085
2472
|
}
|
|
2086
2473
|
|
|
2087
|
-
|
|
2088
|
-
|
|
2474
|
+
/* ===== 固定列:sticky + 边界阴影 ===== */
|
|
2475
|
+
.cd-table-cell-fixed-left,
|
|
2476
|
+
.cd-table-cell-fixed-right {
|
|
2477
|
+
z-index: var(--cd-z-table-fixed-column);
|
|
2478
|
+
position: sticky;
|
|
2479
|
+
background-color: var(--cd-color-table-bg-default);
|
|
2089
2480
|
}
|
|
2090
|
-
.cd-table
|
|
2091
|
-
|
|
2481
|
+
.cd-table-thead > .cd-table-row > .cd-table-cell-fixed-left,
|
|
2482
|
+
.cd-table-thead > .cd-table-row > .cd-table-cell-fixed-right {
|
|
2483
|
+
background-color: var(--cd-color-table-th-bg-default);
|
|
2092
2484
|
}
|
|
2093
|
-
.cd-table
|
|
2094
|
-
border-
|
|
2485
|
+
.cd-table-cell-fixed-left-last {
|
|
2486
|
+
border-inline-end: var(--cd-width-table-cell-fixed-left-last) solid var(--cd-color-table-shadow-border-default);
|
|
2487
|
+
box-shadow: var(--cd-shadow-table-right);
|
|
2095
2488
|
}
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2489
|
+
.cd-table-cell-fixed-right-first {
|
|
2490
|
+
border-inline-start: var(--cd-width-table-cell-fixed-right-first) solid var(--cd-color-table-shadow-border-default);
|
|
2491
|
+
box-shadow: var(--cd-shadow-table-left);
|
|
2099
2492
|
}
|
|
2100
|
-
|
|
2101
|
-
|
|
2493
|
+
/* 横滚到边隐藏对应阴影 */
|
|
2494
|
+
.cd-table-scroll-position-left .cd-table-cell-fixed-left-last {
|
|
2495
|
+
box-shadow: none;
|
|
2102
2496
|
}
|
|
2103
|
-
.cd-
|
|
2104
|
-
|
|
2105
|
-
background: var(--cd-table-row-selected-bg);
|
|
2497
|
+
.cd-table-scroll-position-right .cd-table-cell-fixed-right-first {
|
|
2498
|
+
box-shadow: none;
|
|
2106
2499
|
}
|
|
2107
|
-
|
|
2108
|
-
|
|
2500
|
+
|
|
2501
|
+
/* ===== 带边框 bordered ===== */
|
|
2502
|
+
.cd-table-bordered > .cd-table-container {
|
|
2503
|
+
border: var(--cd-width-table-base-border) var(--cd-border-table-base-borderstyle) var(--cd-color-table-border-default);
|
|
2504
|
+
border-inline-end: 0;
|
|
2505
|
+
border-block-end: 0;
|
|
2506
|
+
}
|
|
2507
|
+
.cd-table-bordered .cd-table-thead > .cd-table-row > .cd-table-row-head,
|
|
2508
|
+
.cd-table-bordered .cd-table-tbody > .cd-table-row > .cd-table-row-cell {
|
|
2509
|
+
border-inline-end: var(--cd-width-table-base-border) var(--cd-border-table-base-borderstyle) var(--cd-color-table-border-default);
|
|
2109
2510
|
}
|
|
2110
2511
|
|
|
2111
|
-
.
|
|
2112
|
-
|
|
2113
|
-
|
|
2512
|
+
/* ===== 空数据占位 .semi-table-placeholder ===== */
|
|
2513
|
+
.cd-table-placeholder {
|
|
2514
|
+
padding: var(--cd-spacing-table-paddingy) var(--cd-spacing-table-paddingx);
|
|
2515
|
+
color: var(--cd-color-table-placeholder-text-default);
|
|
2516
|
+
font-size: var(--cd-font-table-base-fontsize);
|
|
2114
2517
|
text-align: center;
|
|
2518
|
+
background: var(--cd-color-table-pl-bg-default);
|
|
2519
|
+
border-block-end: var(--cd-width-table-base-border) var(--cd-border-table-base-borderstyle) var(--cd-color-table-border-default);
|
|
2115
2520
|
}
|
|
2116
2521
|
|
|
2117
|
-
/*
|
|
2118
|
-
.cd-
|
|
2119
|
-
position: relative;
|
|
2120
|
-
}
|
|
2121
|
-
.cd-table__filter-btn {
|
|
2522
|
+
/* ===== 排序 ColumnSorter ===== */
|
|
2523
|
+
.cd-table-column-sorter-wrapper {
|
|
2122
2524
|
display: inline-flex;
|
|
2123
2525
|
align-items: center;
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
padding: 2px;
|
|
2127
|
-
border: none;
|
|
2128
|
-
background: transparent;
|
|
2129
|
-
color: var(--cd-table-sort-icon-color);
|
|
2526
|
+
gap: var(--cd-spacing-table-column-sorter-marginleft);
|
|
2527
|
+
overflow: hidden;
|
|
2130
2528
|
cursor: pointer;
|
|
2529
|
+
padding: 0;
|
|
2530
|
+
color: inherit;
|
|
2531
|
+
font: inherit;
|
|
2532
|
+
font-weight: var(--cd-font-weight-bold, 600);
|
|
2533
|
+
background: none;
|
|
2534
|
+
border: none;
|
|
2535
|
+
}
|
|
2536
|
+
.cd-table-column-sorter-wrapper:focus-visible {
|
|
2537
|
+
outline: none;
|
|
2538
|
+
box-shadow: var(--cd-focus-ring);
|
|
2131
2539
|
border-radius: var(--cd-border-radius-small);
|
|
2540
|
+
}
|
|
2541
|
+
.cd-table-column-sorter {
|
|
2542
|
+
display: inline-block;
|
|
2543
|
+
inline-size: var(--cd-width-table-column-sorter-icon);
|
|
2544
|
+
block-size: var(--cd-height-table-column-sorter-icon);
|
|
2132
2545
|
vertical-align: middle;
|
|
2546
|
+
text-align: center;
|
|
2547
|
+
}
|
|
2548
|
+
.cd-table-column-sorter-up,
|
|
2549
|
+
.cd-table-column-sorter-down {
|
|
2550
|
+
display: block;
|
|
2551
|
+
block-size: 0;
|
|
2552
|
+
color: var(--cd-color-table-sorter-text-default);
|
|
2133
2553
|
}
|
|
2134
|
-
.cd-
|
|
2135
|
-
|
|
2554
|
+
.cd-table-column-sorter-up.on,
|
|
2555
|
+
.cd-table-column-sorter-down.on {
|
|
2556
|
+
color: var(--cd-color-table-sorter-on-text-default);
|
|
2136
2557
|
}
|
|
2137
|
-
.cd-
|
|
2138
|
-
|
|
2558
|
+
.cd-table-column-sorter-up :global(svg),
|
|
2559
|
+
.cd-table-column-sorter-down :global(svg) {
|
|
2560
|
+
inline-size: var(--cd-width-table-column-sorter-icon);
|
|
2561
|
+
block-size: var(--cd-height-table-column-sorter-icon);
|
|
2139
2562
|
}
|
|
2140
|
-
|
|
2563
|
+
|
|
2564
|
+
/* ===== 列筛选 ColumnFilter ===== */
|
|
2565
|
+
.cd-table-column-filter {
|
|
2566
|
+
margin-inline-start: var(--cd-spacing-table-column-filter-marginleft);
|
|
2567
|
+
display: inline-flex;
|
|
2568
|
+
align-items: center;
|
|
2569
|
+
cursor: pointer;
|
|
2570
|
+
color: var(--cd-color-table-filter-text-default);
|
|
2571
|
+
padding: 0;
|
|
2572
|
+
border: none;
|
|
2573
|
+
background: transparent;
|
|
2574
|
+
}
|
|
2575
|
+
.cd-table-column-filter :global(svg) {
|
|
2576
|
+
inline-size: var(--cd-width-table-column-filter-icon);
|
|
2577
|
+
block-size: var(--cd-height-table-column-filter-icon);
|
|
2578
|
+
}
|
|
2579
|
+
.cd-table-column-filter.on {
|
|
2580
|
+
color: var(--cd-color-table-filter-on-text-default);
|
|
2581
|
+
}
|
|
2582
|
+
.cd-table-column-filter:focus-visible {
|
|
2141
2583
|
outline: none;
|
|
2142
2584
|
box-shadow: var(--cd-focus-ring);
|
|
2143
2585
|
}
|
|
2144
|
-
.
|
|
2145
|
-
|
|
2586
|
+
/* 筛选下拉面板 .semi-table-column-filter-dropdown */
|
|
2587
|
+
.cd-table-column-filter-dropdown {
|
|
2588
|
+
z-index: var(--cd-z-dropdown, 1060);
|
|
2146
2589
|
min-inline-size: 10rem;
|
|
2147
2590
|
padding-block: var(--cd-spacing-extra-tight);
|
|
2148
|
-
background: var(--cd-
|
|
2149
|
-
border-radius: var(--cd-
|
|
2150
|
-
box-shadow: var(--cd-
|
|
2151
|
-
font-weight: 400;
|
|
2591
|
+
background: var(--cd-color-bg-3, #fff);
|
|
2592
|
+
border-radius: var(--cd-border-radius-medium, 6px);
|
|
2593
|
+
box-shadow: var(--cd-shadow-elevated, 0 4px 12px rgba(0, 0, 0, 0.12));
|
|
2594
|
+
font-weight: var(--cd-font-weight-regular, 400);
|
|
2152
2595
|
}
|
|
2153
|
-
.cd-
|
|
2596
|
+
.cd-table-column-filter-list {
|
|
2154
2597
|
margin: 0;
|
|
2155
2598
|
padding: 0;
|
|
2156
2599
|
list-style: none;
|
|
2157
|
-
max-block-size:
|
|
2600
|
+
max-block-size: var(--cd-height-table-column-filter-dropdown);
|
|
2158
2601
|
overflow-y: auto;
|
|
2159
2602
|
}
|
|
2160
|
-
.cd-
|
|
2603
|
+
.cd-table-column-filter-label {
|
|
2161
2604
|
display: flex;
|
|
2162
2605
|
align-items: center;
|
|
2163
2606
|
gap: var(--cd-spacing-tight);
|
|
2164
2607
|
padding: var(--cd-spacing-extra-tight) var(--cd-spacing-base-tight);
|
|
2165
2608
|
cursor: pointer;
|
|
2166
2609
|
}
|
|
2167
|
-
.cd-
|
|
2168
|
-
background: var(--cd-table-
|
|
2610
|
+
.cd-table-column-filter-label:hover {
|
|
2611
|
+
background: var(--cd-color-table-body-bg-hover);
|
|
2169
2612
|
}
|
|
2170
|
-
.cd-
|
|
2613
|
+
.cd-table-column-filter-actions {
|
|
2171
2614
|
display: flex;
|
|
2172
2615
|
justify-content: space-between;
|
|
2173
2616
|
gap: var(--cd-spacing-tight);
|
|
2174
2617
|
padding: var(--cd-spacing-extra-tight) var(--cd-spacing-base-tight);
|
|
2175
|
-
border-block-start:
|
|
2618
|
+
border-block-start: var(--cd-width-table-base-border) var(--cd-border-table-base-borderstyle) var(--cd-color-table-border-default);
|
|
2176
2619
|
}
|
|
2177
|
-
.cd-
|
|
2178
|
-
.cd-
|
|
2620
|
+
.cd-table-column-filter-reset,
|
|
2621
|
+
.cd-table-column-filter-confirm {
|
|
2179
2622
|
padding: 0;
|
|
2180
2623
|
border: none;
|
|
2181
2624
|
background: transparent;
|
|
@@ -2183,104 +2626,147 @@
|
|
|
2183
2626
|
font-size: var(--cd-font-size-small);
|
|
2184
2627
|
cursor: pointer;
|
|
2185
2628
|
}
|
|
2186
|
-
.cd-
|
|
2187
|
-
color: var(--cd-color-text-
|
|
2629
|
+
.cd-table-column-filter-reset {
|
|
2630
|
+
color: var(--cd-color-table-filter-text-default);
|
|
2188
2631
|
}
|
|
2189
|
-
.cd-
|
|
2190
|
-
color: var(--cd-color-
|
|
2632
|
+
.cd-table-column-filter-confirm {
|
|
2633
|
+
color: var(--cd-color-table-filter-on-text-default);
|
|
2191
2634
|
}
|
|
2192
2635
|
|
|
2193
|
-
/*
|
|
2194
|
-
.cd-
|
|
2636
|
+
/* ===== 列宽拖拽手柄 .react-resizable-handle ===== */
|
|
2637
|
+
.cd-table-row-head-resizable {
|
|
2195
2638
|
position: relative;
|
|
2196
2639
|
}
|
|
2197
|
-
.
|
|
2640
|
+
.react-resizable-handle {
|
|
2198
2641
|
position: absolute;
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2642
|
+
inline-size: var(--cd-width-table-react-resizable-handle);
|
|
2643
|
+
block-size: calc(100% - var(--cd-spacing-table-resizable-offset-y) * 2);
|
|
2644
|
+
inset-block-end: var(--cd-spacing-table-resizable-bottom);
|
|
2645
|
+
inset-inline-end: var(--cd-spacing-table-react-resizable-handle-right);
|
|
2202
2646
|
cursor: col-resize;
|
|
2203
|
-
|
|
2204
|
-
z-index: 4;
|
|
2647
|
+
z-index: 0;
|
|
2205
2648
|
touch-action: none;
|
|
2206
2649
|
user-select: none;
|
|
2650
|
+
background-color: var(--cd-color-table-border-default);
|
|
2207
2651
|
}
|
|
2208
|
-
.
|
|
2209
|
-
|
|
2210
|
-
position: absolute;
|
|
2211
|
-
inset-block: 25%;
|
|
2212
|
-
inset-inline-end: 3px;
|
|
2213
|
-
inline-size: 2px;
|
|
2214
|
-
background: transparent;
|
|
2215
|
-
transition: background var(--cd-motion-duration-fast) var(--cd-motion-ease-standard);
|
|
2216
|
-
}
|
|
2217
|
-
.cd-table__resize-handle:hover::after,
|
|
2218
|
-
.cd-table__cell--resizing .cd-table__resize-handle::after {
|
|
2219
|
-
background: var(--cd-color-primary);
|
|
2652
|
+
.react-resizable-handle:hover {
|
|
2653
|
+
background-color: var(--cd-color-table-resizer-bg-default);
|
|
2220
2654
|
}
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2655
|
+
/* 拖拽中列:resizing 标示线 */
|
|
2656
|
+
.resizing.cd-table-row-head,
|
|
2657
|
+
.resizing.cd-table-row-cell {
|
|
2658
|
+
border-inline-end: var(--cd-width-table-resizer-border) solid var(--cd-color-table-resizer-bg-default);
|
|
2225
2659
|
}
|
|
2226
2660
|
|
|
2227
|
-
.
|
|
2661
|
+
/* ===== 行选择 checkbox 包裹 .semi-table-selection-wrap ===== */
|
|
2662
|
+
.cd-table-selection-wrap {
|
|
2228
2663
|
display: inline-flex;
|
|
2229
|
-
align
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
background: none;
|
|
2236
|
-
border: none;
|
|
2664
|
+
vertical-align: bottom;
|
|
2665
|
+
}
|
|
2666
|
+
.cd-table-selection-disabled {
|
|
2667
|
+
cursor: not-allowed;
|
|
2668
|
+
}
|
|
2669
|
+
.cd-table-selection-checkbox {
|
|
2237
2670
|
cursor: pointer;
|
|
2671
|
+
accent-color: var(--cd-color-primary);
|
|
2238
2672
|
}
|
|
2239
|
-
.cd-
|
|
2673
|
+
.cd-table-selection-checkbox:disabled {
|
|
2674
|
+
cursor: not-allowed;
|
|
2675
|
+
}
|
|
2676
|
+
.cd-table-selection-checkbox:focus-visible {
|
|
2240
2677
|
outline: none;
|
|
2241
2678
|
box-shadow: var(--cd-focus-ring);
|
|
2242
|
-
border-radius: var(--cd-radius-small, 4px);
|
|
2243
2679
|
}
|
|
2244
2680
|
|
|
2245
|
-
.
|
|
2681
|
+
/* ===== 展开图标 .semi-table-expand-icon ===== */
|
|
2682
|
+
.cd-table-expand-icon {
|
|
2246
2683
|
display: inline-flex;
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
.cd-table__sort--active {
|
|
2252
|
-
color: var(--cd-table-sort-active-color);
|
|
2253
|
-
}
|
|
2254
|
-
|
|
2255
|
-
.cd-table__checkbox {
|
|
2684
|
+
align-items: center;
|
|
2685
|
+
justify-content: center;
|
|
2686
|
+
user-select: none;
|
|
2687
|
+
position: relative;
|
|
2256
2688
|
cursor: pointer;
|
|
2257
|
-
|
|
2689
|
+
padding: 0;
|
|
2690
|
+
border: none;
|
|
2691
|
+
vertical-align: middle;
|
|
2692
|
+
background: var(--cd-color-table-expanded-bg-default);
|
|
2693
|
+
color: var(--cd-color-table-expanded-icon-default);
|
|
2694
|
+
margin-inline-end: var(--cd-spacing-table-expand-icon-marginright);
|
|
2695
|
+
transition: transform 150ms cubic-bezier(0.62, 0.05, 0.36, 0.95);
|
|
2258
2696
|
}
|
|
2259
|
-
.cd-
|
|
2260
|
-
|
|
2697
|
+
.cd-table-expand-icon:hover {
|
|
2698
|
+
color: var(--cd-color-table-text-default);
|
|
2261
2699
|
}
|
|
2262
|
-
.cd-
|
|
2700
|
+
.cd-table-expand-icon:focus-visible {
|
|
2263
2701
|
outline: none;
|
|
2264
2702
|
box-shadow: var(--cd-focus-ring);
|
|
2703
|
+
border-radius: var(--cd-border-radius-small);
|
|
2704
|
+
}
|
|
2705
|
+
/* 旋转态:展开 90°(对齐 Semi -expandedIcon-show/-hide) */
|
|
2706
|
+
.cd-table-expandedIcon-show {
|
|
2707
|
+
transform: rotate(90deg);
|
|
2708
|
+
}
|
|
2709
|
+
.cd-table-expandedIcon-hide {
|
|
2710
|
+
transform: rotate(0deg);
|
|
2711
|
+
}
|
|
2712
|
+
.cd-table-expand-icon-placeholder {
|
|
2713
|
+
inline-size: 16px;
|
|
2714
|
+
block-size: 16px;
|
|
2715
|
+
background: transparent;
|
|
2716
|
+
pointer-events: none;
|
|
2717
|
+
cursor: default;
|
|
2718
|
+
}
|
|
2719
|
+
/* 展开按钮并入首列(hideExpandedColumn)内联包裹 */
|
|
2720
|
+
.cd-table-expand-icon-cell {
|
|
2721
|
+
display: inline-flex;
|
|
2722
|
+
align-items: center;
|
|
2723
|
+
justify-content: center;
|
|
2724
|
+
vertical-align: middle;
|
|
2725
|
+
}
|
|
2726
|
+
/* 树形缩进占位 */
|
|
2727
|
+
.cd-table-row-indent {
|
|
2728
|
+
display: inline-block;
|
|
2729
|
+
vertical-align: middle;
|
|
2265
2730
|
}
|
|
2266
2731
|
|
|
2267
|
-
.
|
|
2732
|
+
/* ===== 分页器 .semi-table-pagination-outer ===== */
|
|
2733
|
+
.cd-table-pagination-outer {
|
|
2268
2734
|
display: flex;
|
|
2269
|
-
justify-content:
|
|
2270
|
-
|
|
2735
|
+
justify-content: space-between;
|
|
2736
|
+
align-items: center;
|
|
2737
|
+
min-block-size: var(--cd-height-table-pagination-outer-min);
|
|
2738
|
+
color: var(--cd-color-table-page-text-default);
|
|
2739
|
+
}
|
|
2740
|
+
/* 分页左侧 range 文案(显示第 X-Y 条,共 N 条),对齐 Semi 灰色说明文字。 */
|
|
2741
|
+
.cd-table-pagination-total {
|
|
2742
|
+
color: var(--cd-color-table-page-text-default);
|
|
2743
|
+
font-size: var(--cd-font-size-regular, 14px);
|
|
2744
|
+
}
|
|
2745
|
+
|
|
2746
|
+
/* ===== 标题 / footer ===== */
|
|
2747
|
+
.cd-table-title {
|
|
2748
|
+
position: relative;
|
|
2749
|
+
padding-block: var(--cd-spacing-table-title-paddingy);
|
|
2750
|
+
padding-inline: var(--cd-spacing-table-title-paddingx);
|
|
2751
|
+
}
|
|
2752
|
+
.cd-table-footer {
|
|
2753
|
+
background-color: var(--cd-color-table-footer-bg-default);
|
|
2754
|
+
padding: var(--cd-spacing-table-footer-padding);
|
|
2755
|
+
margin: 0;
|
|
2756
|
+
position: relative;
|
|
2271
2757
|
}
|
|
2272
2758
|
|
|
2273
|
-
|
|
2759
|
+
/* ===== 加载态遮罩 ===== */
|
|
2760
|
+
.cd-table-loading {
|
|
2274
2761
|
position: absolute;
|
|
2275
2762
|
inset: 0;
|
|
2276
2763
|
display: flex;
|
|
2277
2764
|
align-items: center;
|
|
2278
2765
|
justify-content: center;
|
|
2279
|
-
background: var(--cd-table-
|
|
2766
|
+
background: var(--cd-color-table-bg-default);
|
|
2280
2767
|
opacity: 0.6;
|
|
2281
2768
|
}
|
|
2282
|
-
|
|
2283
|
-
.cd-table__spinner {
|
|
2769
|
+
.cd-table-spinner {
|
|
2284
2770
|
inline-size: 28px;
|
|
2285
2771
|
block-size: 28px;
|
|
2286
2772
|
border: 3px solid var(--cd-color-fill-1, rgba(0, 0, 0, 0.1));
|
|
@@ -2288,7 +2774,6 @@
|
|
|
2288
2774
|
border-radius: 50%;
|
|
2289
2775
|
animation: cd-table-spin 0.8s linear infinite;
|
|
2290
2776
|
}
|
|
2291
|
-
|
|
2292
2777
|
@keyframes cd-table-spin {
|
|
2293
2778
|
to {
|
|
2294
2779
|
transform: rotate(360deg);
|
|
@@ -2296,32 +2781,12 @@
|
|
|
2296
2781
|
}
|
|
2297
2782
|
|
|
2298
2783
|
@media (prefers-reduced-motion: reduce) {
|
|
2299
|
-
.cd-
|
|
2784
|
+
.cd-table-spinner {
|
|
2300
2785
|
animation: none;
|
|
2301
2786
|
}
|
|
2302
|
-
.cd-
|
|
2303
|
-
.
|
|
2787
|
+
.cd-table-expand-icon,
|
|
2788
|
+
.react-resizable-handle {
|
|
2304
2789
|
transition: none;
|
|
2305
2790
|
}
|
|
2306
2791
|
}
|
|
2307
|
-
|
|
2308
|
-
/* --- 分组标题行 --- */
|
|
2309
|
-
.cd-table__row--group-header {
|
|
2310
|
-
background: var(--cd-table-header-bg);
|
|
2311
|
-
}
|
|
2312
|
-
.cd-table__cell--group-header {
|
|
2313
|
-
padding-block: var(--cd-table-cell-padding-y);
|
|
2314
|
-
padding-inline: var(--cd-table-cell-padding-x);
|
|
2315
|
-
font-weight: 600;
|
|
2316
|
-
color: var(--cd-table-header-text);
|
|
2317
|
-
border-block-end: 1px solid var(--cd-table-border-color);
|
|
2318
|
-
}
|
|
2319
|
-
|
|
2320
|
-
/* --- 表格顶部标题/底部区域 --- */
|
|
2321
|
-
.cd-table__title-area {
|
|
2322
|
-
margin-block-end: var(--cd-spacing-tight, 8px);
|
|
2323
|
-
}
|
|
2324
|
-
.cd-table__footer {
|
|
2325
|
-
margin-block-start: var(--cd-spacing-base-tight, 12px);
|
|
2326
|
-
}
|
|
2327
2792
|
</style>
|