@robot-admin/naive-ui-components 0.10.3 → 0.11.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/CHANGELOG.md +117 -100
- package/LICENSE +21 -21
- package/README.md +463 -318
- package/README_EN.md +404 -0
- package/SECURITY.md +23 -0
- package/dist/C_ActionBar.cjs +1 -1
- package/dist/C_ActionBar.css +46 -48
- package/dist/C_ActionBar.d.cts +1 -1
- package/dist/C_ActionBar.js +1 -1
- package/dist/C_ActionBar2.cjs +1 -0
- package/dist/C_ActionBar2.js +1 -2
- package/dist/C_AntV.cjs +1 -1
- package/dist/C_AntV.css +3 -3
- package/dist/C_AntV.d.cts +1 -1
- package/dist/C_AntV.js +1 -1
- package/dist/C_AntV2.cjs +4 -0
- package/dist/C_AntV2.js +3 -4
- package/dist/C_AudioPlayer.cjs +1 -1
- package/dist/C_AudioPlayer.css +15 -7
- package/dist/C_AudioPlayer.d.cts +1 -1
- package/dist/C_AudioPlayer.js +1 -1
- package/dist/C_AudioPlayer2.cjs +1 -0
- package/dist/C_AudioPlayer2.js +1 -2
- package/dist/C_AvatarGroup.cjs +1 -1
- package/dist/C_AvatarGroup.css +15 -7
- package/dist/C_AvatarGroup.d.cts +1 -1
- package/dist/C_AvatarGroup2.cjs +1 -0
- package/dist/C_AvatarGroup2.js +1 -2
- package/dist/C_Barcode.cjs +1 -1
- package/dist/C_Barcode.css +0 -2
- package/dist/C_Barcode.d.cts +1 -1
- package/dist/C_Barcode2.cjs +1 -0
- package/dist/C_Barcode2.js +1 -2
- package/dist/C_Breadcrumb.cjs +1 -1
- package/dist/C_Breadcrumb.css +0 -2
- package/dist/C_Breadcrumb.d.cts +2 -2
- package/dist/C_Breadcrumb.d.ts +1 -2
- package/dist/C_Breadcrumb.js +1 -1
- package/dist/C_Breadcrumb2.cjs +1 -0
- package/dist/C_Breadcrumb2.js +1 -2
- package/dist/C_Captcha.cjs +1 -1
- package/dist/C_Captcha.css +46 -21
- package/dist/C_Captcha.d.cts +3 -2
- package/dist/C_Captcha.d.ts +3 -2
- package/dist/C_Captcha.js +1 -1
- package/dist/C_Captcha2.cjs +1 -0
- package/dist/C_Captcha2.js +1 -2
- package/dist/C_Cascade.cjs +1 -1
- package/dist/C_Cascade.css +0 -2
- package/dist/C_Cascade.d.cts +1 -1
- package/dist/C_Cascade.d.ts +1 -1
- package/dist/C_Cascade2.cjs +1 -0
- package/dist/C_Cascade2.js +1 -2
- package/dist/C_Chat.cjs +1 -1
- package/dist/C_Chat.css +0 -2
- package/dist/C_Chat.d.cts +1 -1
- package/dist/C_Chat.d.ts +1 -1
- package/dist/C_Chat.js +1 -1
- package/dist/C_Chat2.cjs +1 -0
- package/dist/C_Chat2.js +1 -2
- package/dist/C_City.cjs +1 -1
- package/dist/C_City.css +28 -30
- package/dist/C_City.d.cts +1 -1
- package/dist/C_City.d.ts +1 -1
- package/dist/C_City2.cjs +1 -0
- package/dist/C_City2.js +1 -2
- package/dist/C_Code.cjs +1 -1
- package/dist/C_Code.css +241 -4
- package/dist/C_Code.d.cts +1 -1
- package/dist/C_Code.d.ts +1 -1
- package/dist/C_Code.js +1 -1
- package/dist/C_Code2.cjs +1 -0
- package/dist/C_Code2.js +1 -2
- package/dist/C_CollapsePanel.cjs +1 -1
- package/dist/C_CollapsePanel.css +12 -6
- package/dist/C_CollapsePanel.d.cts +1 -1
- package/dist/C_CollapsePanel.js +1 -1
- package/dist/C_CollapsePanel2.cjs +1 -0
- package/dist/C_CollapsePanel2.js +1 -2
- package/dist/C_ContextMenu.cjs +1 -1
- package/dist/C_ContextMenu.css +16 -18
- package/dist/C_ContextMenu.d.cts +1 -1
- package/dist/C_ContextMenu.d.ts +1 -1
- package/dist/C_ContextMenu.js +1 -1
- package/dist/C_ContextMenu2.cjs +1 -0
- package/dist/C_ContextMenu2.js +1 -2
- package/dist/C_Cron.cjs +1 -1
- package/dist/C_Cron.css +18 -8
- package/dist/C_Cron.d.cts +1 -1
- package/dist/C_Cron.js +1 -1
- package/dist/C_Cron2.cjs +1 -0
- package/dist/C_Cron2.js +1 -2
- package/dist/C_Date.cjs +1 -1
- package/dist/C_Date.css +1 -0
- package/dist/C_Date.d.cts +2 -2
- package/dist/C_Date.d.ts +2 -2
- package/dist/C_Date2.cjs +1 -0
- package/dist/C_Date2.js +1 -2
- package/dist/C_Draggable.cjs +1 -1
- package/dist/C_Draggable.css +9 -5
- package/dist/C_Draggable.d.cts +1 -1
- package/dist/C_Draggable2.cjs +1 -0
- package/dist/C_Draggable2.js +1 -2
- package/dist/C_Editor.cjs +1 -1
- package/dist/C_Editor.css +80 -67
- package/dist/C_Editor.d.cts +1 -1
- package/dist/C_Editor.d.ts +1 -1
- package/dist/C_Editor2.cjs +1 -0
- package/dist/C_Editor2.js +1 -2
- package/dist/C_FilePreview.cjs +1 -1
- package/dist/C_FilePreview.css +0 -2
- package/dist/C_FilePreview.d.cts +1 -1
- package/dist/C_FilePreview.js +1 -1
- package/dist/C_FilePreview2.cjs +1 -0
- package/dist/C_FilePreview2.js +1 -2
- package/dist/C_Form.base.css +980 -0
- package/dist/C_Form.cjs +1 -1
- package/dist/C_Form.css +256 -155
- package/dist/C_Form.d.cts +2 -2
- package/dist/C_Form.d.ts +2 -2
- package/dist/C_Form.js +1 -1
- package/dist/C_Form2.cjs +1 -0
- package/dist/C_Form2.js +1 -2
- package/dist/C_FormSearch.cjs +1 -1
- package/dist/C_FormSearch.css +47 -47
- package/dist/C_FormSearch.d.cts +2 -2
- package/dist/C_FormSearch.d.ts +2 -2
- package/dist/C_FormSearch2.cjs +1 -0
- package/dist/C_FormSearch2.js +1 -2
- package/dist/C_FormulaEditor.cjs +1 -1
- package/dist/C_FormulaEditor.css +64 -38
- package/dist/C_FormulaEditor.d.cts +1 -1
- package/dist/C_FormulaEditor.js +1 -1
- package/dist/C_FormulaEditor2.cjs +2 -0
- package/dist/C_FormulaEditor2.js +2 -2
- package/dist/C_FullCalendar.cjs +1 -1
- package/dist/C_FullCalendar.css +0 -2
- package/dist/C_FullCalendar.d.cts +1 -1
- package/dist/C_FullCalendar2.cjs +1 -0
- package/dist/C_FullCalendar2.js +1 -2
- package/dist/C_GlobalSearch.cjs +1 -1
- package/dist/C_GlobalSearch.css +111 -113
- package/dist/C_GlobalSearch.d.cts +1 -1
- package/dist/C_GlobalSearch2.cjs +1 -0
- package/dist/C_GlobalSearch2.js +1 -2
- package/dist/C_Guide.cjs +1 -1
- package/dist/C_Guide.css +1 -0
- package/dist/C_Guide.d.cts +1 -1
- package/dist/C_Guide.d.ts +1 -1
- package/dist/C_Guide.js +1 -1
- package/dist/C_Guide2.cjs +1 -0
- package/dist/C_Guide2.js +1 -2
- package/dist/C_Icon.cjs +1 -1
- package/dist/C_Icon.css +58 -0
- package/dist/C_Icon.d.cts +1 -1
- package/dist/C_Icon.d.ts +1 -1
- package/dist/C_Icon2.cjs +1 -0
- package/dist/C_Icon2.js +1 -2
- package/dist/C_ImageCropper.cjs +1 -1
- package/dist/C_ImageCropper.css +0 -2
- package/dist/C_ImageCropper.d.cts +1 -1
- package/dist/C_ImageCropper.js +1 -1
- package/dist/C_ImageCropper2.cjs +1 -0
- package/dist/C_ImageCropper2.js +1 -2
- package/dist/C_Language.cjs +1 -1
- package/dist/C_Language.css +1 -0
- package/dist/C_Language.d.cts +1 -1
- package/dist/C_Language.d.ts +1 -1
- package/dist/C_Language.js +1 -1
- package/dist/C_Language2.cjs +1 -0
- package/dist/C_Language2.js +1 -2
- package/dist/C_Login.cjs +1 -1
- package/dist/C_Login.css +92 -76
- package/dist/C_Login.d.cts +1 -1
- package/dist/C_Login.d.ts +1 -1
- package/dist/C_Login.js +1 -1
- package/dist/C_Login2.cjs +1 -0
- package/dist/C_Login2.js +1 -2
- package/dist/C_Map.cjs +1 -1
- package/dist/C_Map.css +665 -5
- package/dist/C_Map.d.cts +1 -1
- package/dist/C_Map2.cjs +1 -0
- package/dist/C_Map2.js +1 -2
- package/dist/C_Markdown.cjs +1 -1
- package/dist/C_Markdown.css +940 -35
- package/dist/C_Markdown.d.cts +1 -1
- package/dist/C_Markdown.d.ts +1 -1
- package/dist/C_Markdown2.cjs +1 -0
- package/dist/C_Markdown2.js +1 -2
- package/dist/C_Menu.cjs +1 -1
- package/dist/C_Menu.css +1 -0
- package/dist/C_Menu.d.cts +3 -3
- package/dist/C_Menu.d.ts +3 -4
- package/dist/C_Menu.js +1 -1
- package/dist/C_Menu2.cjs +1 -0
- package/dist/C_Menu2.js +1 -2
- package/dist/C_NotificationCenter.cjs +1 -1
- package/dist/C_NotificationCenter.css +95 -47
- package/dist/C_NotificationCenter.d.cts +1 -1
- package/dist/C_NotificationCenter.js +1 -1
- package/dist/C_NotificationCenter2.cjs +1 -0
- package/dist/C_NotificationCenter2.js +1 -2
- package/dist/C_OrgChart.cjs +1 -1
- package/dist/C_OrgChart.css +6 -4
- package/dist/C_OrgChart.d.cts +1 -1
- package/dist/C_OrgChart.d.ts +1 -1
- package/dist/C_OrgChart2.cjs +1 -0
- package/dist/C_OrgChart2.js +1 -2
- package/dist/C_Progress.cjs +1 -1
- package/dist/C_Progress.css +1 -0
- package/dist/C_Progress.d.cts +1 -1
- package/dist/C_Progress.d.ts +1 -1
- package/dist/C_Progress2.cjs +1 -0
- package/dist/C_Progress2.js +1 -2
- package/dist/C_QRCode.cjs +1 -1
- package/dist/C_QRCode.css +8 -10
- package/dist/C_QRCode.d.cts +1 -1
- package/dist/C_QRCode2.cjs +1 -0
- package/dist/C_QRCode2.js +1 -2
- package/dist/C_Signature.cjs +1 -1
- package/dist/C_Signature.css +0 -2
- package/dist/C_Signature.d.cts +1 -1
- package/dist/C_Signature.js +1 -1
- package/dist/C_Signature2.cjs +1 -0
- package/dist/C_Signature2.js +1 -2
- package/dist/C_Skeleton.cjs +1 -1
- package/dist/C_Skeleton.css +0 -2
- package/dist/C_Skeleton.d.cts +1 -1
- package/dist/C_Skeleton.d.ts +1 -1
- package/dist/C_Skeleton2.cjs +1 -0
- package/dist/C_Skeleton2.js +1 -2
- package/dist/C_SplitPane.cjs +1 -1
- package/dist/C_SplitPane.css +27 -11
- package/dist/C_SplitPane.d.cts +1 -1
- package/dist/C_SplitPane.js +1 -1
- package/dist/C_SplitPane2.cjs +1 -0
- package/dist/C_SplitPane2.js +1 -2
- package/dist/C_Steps.cjs +1 -1
- package/dist/C_Steps.css +37 -39
- package/dist/C_Steps.d.cts +1 -1
- package/dist/C_Steps.d.ts +1 -1
- package/dist/C_Steps2.cjs +1 -0
- package/dist/C_Steps2.js +1 -2
- package/dist/C_Table.base.css +1588 -0
- package/dist/C_Table.cjs +1 -1
- package/dist/C_Table.css +1202 -112
- package/dist/C_Table.d.cts +2 -2
- package/dist/C_Table.d.ts +11 -2
- package/dist/C_Table.js +1 -1
- package/dist/C_TagsView.cjs +1 -1
- package/dist/C_TagsView.css +44 -40
- package/dist/C_TagsView.d.cts +2 -2
- package/dist/C_TagsView.d.ts +2 -3
- package/dist/C_TagsView.js +1 -1
- package/dist/C_TagsView2.cjs +1 -0
- package/dist/C_TagsView2.js +1 -2
- package/dist/C_Theme.cjs +1 -1
- package/dist/C_Theme.css +1 -0
- package/dist/C_Theme.d.cts +1 -1
- package/dist/C_Theme.d.ts +1 -1
- package/dist/C_Theme.js +1 -1
- package/dist/C_Theme2.cjs +1 -0
- package/dist/C_Theme2.js +1 -2
- package/dist/C_Time.cjs +1 -1
- package/dist/C_Time.css +0 -2
- package/dist/C_Time.d.cts +2 -2
- package/dist/C_Time.d.ts +2 -2
- package/dist/C_Time2.cjs +1 -0
- package/dist/C_Time2.js +1 -2
- package/dist/C_Timeline.cjs +1 -1
- package/dist/C_Timeline.css +44 -46
- package/dist/C_Timeline.d.cts +1 -1
- package/dist/C_Timeline.js +1 -1
- package/dist/C_Timeline2.cjs +1 -0
- package/dist/C_Timeline2.js +1 -2
- package/dist/C_Transfer.cjs +1 -1
- package/dist/C_Transfer.css +21 -9
- package/dist/C_Transfer.d.cts +1 -1
- package/dist/C_Transfer.js +1 -1
- package/dist/C_Transfer2.cjs +1 -0
- package/dist/C_Transfer2.js +1 -2
- package/dist/C_Tree.cjs +1 -1
- package/dist/C_Tree.css +0 -2
- package/dist/C_Tree.d.cts +1 -1
- package/dist/C_Tree.js +1 -1
- package/dist/C_Tree2.cjs +1 -0
- package/dist/C_Tree2.js +1 -2
- package/dist/C_Upload.cjs +1 -1
- package/dist/C_Upload.css +17 -17
- package/dist/C_Upload.d.cts +1 -1
- package/dist/C_Upload.js +1 -1
- package/dist/C_Upload2.cjs +1 -0
- package/dist/C_Upload2.js +1 -25
- package/dist/C_VideoPlayer.cjs +1 -1
- package/dist/C_VideoPlayer.css +35 -24
- package/dist/C_VideoPlayer.d.cts +2 -2
- package/dist/C_VideoPlayer.d.ts +2 -2
- package/dist/C_VideoPlayer.js +1 -1
- package/dist/C_VideoPlayer2.cjs +3 -0
- package/dist/C_VideoPlayer2.js +3 -4
- package/dist/C_VtableGantt.cjs +1 -1
- package/dist/C_VtableGantt.css +15 -7
- package/dist/C_VtableGantt.d.cts +1 -1
- package/dist/C_VtableGantt.d.ts +1 -1
- package/dist/C_VtableGantt.js +1 -1
- package/dist/C_VtableGantt2.cjs +1 -0
- package/dist/C_VtableGantt2.js +1 -2
- package/dist/C_WaterFall.cjs +1 -1
- package/dist/C_WaterFall.css +15 -17
- package/dist/C_WaterFall.d.cts +1 -1
- package/dist/C_WaterFall2.cjs +1 -0
- package/dist/C_WaterFall2.js +1 -2
- package/dist/C_WorkFlow.cjs +1 -1
- package/dist/C_WorkFlow.css +257 -197
- package/dist/C_WorkFlow.d.cts +1 -1
- package/dist/C_WorkFlow.js +1 -1
- package/dist/C_WorkFlow2.cjs +1 -0
- package/dist/C_WorkFlow2.js +1 -2
- package/dist/city.cjs +1 -0
- package/dist/city.js +1 -2
- package/dist/config.cjs +1 -0
- package/dist/config.d.cts +33 -0
- package/dist/config.d.ts +33 -0
- package/dist/config.js +1 -0
- package/dist/constants.d.cts +272 -0
- package/dist/constants.d.ts +1 -2
- package/dist/constants2.d.cts +177 -0
- package/dist/constants2.d.ts +3 -4
- package/dist/constants3.d.cts +479 -0
- package/dist/constants3.d.ts +15 -11
- package/dist/constants4.d.cts +420 -0
- package/dist/constants4.d.ts +30 -40
- package/dist/constants5.d.cts +491 -0
- package/dist/constants5.d.ts +22 -6
- package/dist/data.cjs +1 -0
- package/dist/data.d.cts +67 -0
- package/dist/data.d.ts +11 -11
- package/dist/data.js +1 -0
- package/dist/export-helper.cjs +1 -0
- package/dist/helpers.cjs +1 -0
- package/dist/helpers.js +1 -0
- package/dist/html.cjs +1 -0
- package/dist/html.js +1 -0
- package/dist/images/marker-icon-2x.png +0 -0
- package/dist/images/marker-icon.png +0 -0
- package/dist/images/marker-shadow.png +0 -0
- package/dist/index.cjs +1 -2
- package/dist/index.d.cts +60 -99
- package/dist/index.d.ts +41 -83
- package/dist/index.js +1 -2
- package/dist/index.vue.d.cts +79 -0
- package/dist/index.vue.d.ts +3 -4
- package/dist/index10.vue.d.cts +47 -0
- package/dist/index10.vue.d.ts +80 -40
- package/dist/index11.vue.d.cts +88 -0
- package/dist/index11.vue.d.ts +68 -78
- package/dist/index12.vue.d.cts +79 -0
- package/dist/index12.vue.d.ts +50 -46
- package/dist/index13.vue.d.cts +64 -0
- package/dist/index13.vue.d.ts +99 -34
- package/dist/index14.vue.d.cts +106 -0
- package/dist/index14.vue.d.ts +82 -99
- package/dist/index15.vue.d.cts +91 -0
- package/dist/index15.vue.d.ts +25 -83
- package/dist/index16.vue.d.cts +34 -0
- package/dist/index16.vue.d.ts +113 -24
- package/dist/index17.vue.d.cts +124 -0
- package/dist/index17.vue.d.ts +76 -110
- package/dist/index18.vue.d.cts +83 -0
- package/dist/index18.vue.d.ts +67 -73
- package/dist/index19.vue.d.cts +101 -0
- package/dist/index19.vue.d.ts +93 -59
- package/dist/index2.vue.d.cts +82 -0
- package/dist/index2.vue.d.ts +6 -7
- package/dist/index20.vue.d.cts +54 -0
- package/dist/index20.vue.d.ts +40 -88
- package/dist/index21.vue.d.cts +103 -0
- package/dist/index21.vue.d.ts +89 -41
- package/dist/index22.vue.d.cts +45 -0
- package/dist/index22.vue.d.ts +37 -96
- package/dist/index23.vue.d.cts +19 -0
- package/dist/index23.vue.d.ts +8 -35
- package/dist/{index28.vue.d.ts → index24.vue.d.cts} +2 -3
- package/dist/index24.vue.d.ts +650 -86
- package/dist/index25.vue.d.cts +96 -0
- package/dist/index25.vue.d.ts +86 -10
- package/dist/index26.vue.d.cts +111 -0
- package/dist/index26.vue.d.ts +4 -5
- package/dist/index27.vue.d.cts +80 -0
- package/dist/index27.vue.d.ts +4 -5
- package/dist/index3.vue.d.cts +87 -0
- package/dist/index3.vue.d.ts +4 -5
- package/dist/index4.vue.d.cts +37 -0
- package/dist/index4.vue.d.ts +4 -5
- package/dist/index5.vue.d.cts +133 -0
- package/dist/index5.vue.d.ts +2 -3
- package/dist/index6.vue.d.cts +29 -0
- package/dist/index6.vue.d.ts +25 -38
- package/dist/index7.vue.d.cts +32 -0
- package/dist/index7.vue.d.ts +117 -23
- package/dist/index8.vue.d.cts +127 -0
- package/dist/index8.vue.d.ts +17 -111
- package/dist/index9.vue.d.cts +34 -0
- package/dist/index9.vue.d.ts +38 -26
- package/dist/{menuAdapter.d.ts → public.d.ts} +2 -3
- package/dist/resolver.cjs +1 -2
- package/dist/resolver.d.cts +6 -4
- package/dist/resolver.d.ts +6 -4
- package/dist/resolver.js +1 -2
- package/dist/storage.cjs +1 -0
- package/dist/storage.js +1 -2
- package/dist/style.css +9864 -7702
- package/dist/types.d.cts +107 -0
- package/dist/types.d.ts +58 -0
- package/dist/types2.d.cts +58 -0
- package/dist/useCalendarEvents.d.cts +150 -0
- package/dist/useCalendarEvents.d.ts +2 -3
- package/dist/useCollapsePanel.d.cts +133 -0
- package/dist/useCollapsePanel.d.ts +7 -8
- package/dist/useCropperCore.d.cts +104 -0
- package/dist/useCropperCore.d.ts +8 -6
- package/dist/useDraggableLayout.d.cts +196 -0
- package/dist/useDraggableLayout.d.ts +17 -15
- package/dist/useDynamicFormState.d.cts +749 -0
- package/dist/useDynamicFormState.d.ts +234 -112
- package/dist/useEdgeInteraction.d.cts +324 -0
- package/dist/useEdgeInteraction.d.ts +5 -6
- package/dist/useFullscreen.d.cts +165 -0
- package/dist/useFullscreen.d.ts +3 -4
- package/dist/useGlobalSearch.d.cts +110 -0
- package/dist/useGlobalSearch.d.ts +17 -9
- package/dist/useInfiniteScroll.d.cts +177 -0
- package/dist/useInfiniteScroll.d.ts +11 -3
- package/dist/useQRCode.d.cts +89 -0
- package/dist/useQRCode.d.ts +7 -5
- package/dist/useSearchState.d.cts +871 -0
- package/dist/useSearchState.d.ts +828 -28
- package/dist/useSignatureHistory.d.cts +197 -0
- package/dist/useSignatureHistory.d.ts +9 -4
- package/dist/useSplitResize.d.cts +157 -0
- package/dist/useSplitResize.d.ts +6 -7
- package/dist/useTableQuery.cjs +3 -0
- package/dist/useTableQuery.d.cts +1684 -0
- package/dist/useTableQuery.d.ts +1684 -0
- package/dist/useTableQuery.js +3 -0
- package/dist/useTimeSelection.d.cts +116 -0
- package/dist/useTimeSelection.d.ts +19 -8
- package/dist/useTreeOperations.d.cts +185 -0
- package/dist/useTreeOperations.d.ts +10 -8
- package/dist/useWorkflowValidation.d.cts +1051 -0
- package/dist/useWorkflowValidation.d.ts +62 -63
- package/dist/verification.d.cts +58 -0
- package/dist/verification.d.ts +58 -0
- package/package.json +102 -69
- package/dist/C_ActionBar-BAcfOfRw.css.map +0 -1
- package/dist/C_ActionBar-DG2HW7t5.css.map +0 -1
- package/dist/C_ActionBar.js.map +0 -1
- package/dist/C_ActionBar2.js.map +0 -1
- package/dist/C_AntV-D_jTK8oZ.css.map +0 -1
- package/dist/C_AntV-DanTAq22.css.map +0 -1
- package/dist/C_AntV.js.map +0 -1
- package/dist/C_AntV2.js.map +0 -1
- package/dist/C_AudioPlayer-BnYIJXPD.css.map +0 -1
- package/dist/C_AudioPlayer-ldTy9Y34.css.map +0 -1
- package/dist/C_AudioPlayer.js.map +0 -1
- package/dist/C_AudioPlayer2.js.map +0 -1
- package/dist/C_AvatarGroup-B9d-GJ9c.css.map +0 -1
- package/dist/C_AvatarGroup-SIzxuuZr.css.map +0 -1
- package/dist/C_AvatarGroup.js.map +0 -1
- package/dist/C_AvatarGroup2.js.map +0 -1
- package/dist/C_Barcode-CAU2mFcx.css.map +0 -1
- package/dist/C_Barcode-D2oJaEg3.css.map +0 -1
- package/dist/C_Barcode.js.map +0 -1
- package/dist/C_Barcode2.js.map +0 -1
- package/dist/C_Breadcrumb-BiH0d9AI.css.map +0 -1
- package/dist/C_Breadcrumb-Bqqrl8nX.css.map +0 -1
- package/dist/C_Breadcrumb.js.map +0 -1
- package/dist/C_Breadcrumb2.js.map +0 -1
- package/dist/C_Captcha-B3yrtG7t.css.map +0 -1
- package/dist/C_Captcha-D4hDdWDu.css.map +0 -1
- package/dist/C_Captcha.js.map +0 -1
- package/dist/C_Captcha2.js.map +0 -1
- package/dist/C_Cascade-CmCrLVft.css.map +0 -1
- package/dist/C_Cascade-U6A5AJJb.css.map +0 -1
- package/dist/C_Cascade.js.map +0 -1
- package/dist/C_Cascade2.js.map +0 -1
- package/dist/C_Chat-CF1SU7mc.css.map +0 -1
- package/dist/C_Chat-DeUv6uuI.css.map +0 -1
- package/dist/C_Chat.js.map +0 -1
- package/dist/C_Chat2.js.map +0 -1
- package/dist/C_City-DdkX6u64.css.map +0 -1
- package/dist/C_City-iP-dIvui.css.map +0 -1
- package/dist/C_City.js.map +0 -1
- package/dist/C_City2.js.map +0 -1
- package/dist/C_Code-BWmJMNS7.css.map +0 -1
- package/dist/C_Code-k14vjgVl.css.map +0 -1
- package/dist/C_Code.js.map +0 -1
- package/dist/C_Code2.js.map +0 -1
- package/dist/C_CollapsePanel-BSKcWSmY.css.map +0 -1
- package/dist/C_CollapsePanel-DRvRq8tB.css.map +0 -1
- package/dist/C_CollapsePanel.js.map +0 -1
- package/dist/C_CollapsePanel2.js.map +0 -1
- package/dist/C_ContextMenu-Bn_uhJSo.css.map +0 -1
- package/dist/C_ContextMenu-C9iuxG2n.css.map +0 -1
- package/dist/C_ContextMenu.js.map +0 -1
- package/dist/C_ContextMenu2.js.map +0 -1
- package/dist/C_Cron-BIQ2By9v.css.map +0 -1
- package/dist/C_Cron-BNSAGD6A.css.map +0 -1
- package/dist/C_Cron.js.map +0 -1
- package/dist/C_Cron2.js.map +0 -1
- package/dist/C_Date.js.map +0 -1
- package/dist/C_Date2.js.map +0 -1
- package/dist/C_Draggable-BDAbk4s5.css.map +0 -1
- package/dist/C_Draggable-UhfDLXop.css.map +0 -1
- package/dist/C_Draggable.js.map +0 -1
- package/dist/C_Draggable2.js.map +0 -1
- package/dist/C_Editor-CZOaChru.css.map +0 -1
- package/dist/C_Editor-kJAQq5z6.css.map +0 -1
- package/dist/C_Editor.js.map +0 -1
- package/dist/C_Editor2.js.map +0 -1
- package/dist/C_FilePreview-Bs_omgJS.css.map +0 -1
- package/dist/C_FilePreview-DbwoyF2j.css.map +0 -1
- package/dist/C_FilePreview.js.map +0 -1
- package/dist/C_FilePreview2.js.map +0 -1
- package/dist/C_Form-B_2ql62V.css.map +0 -1
- package/dist/C_Form-CX-7xsz3.css.map +0 -1
- package/dist/C_Form.js.map +0 -1
- package/dist/C_Form2.js.map +0 -1
- package/dist/C_FormSearch-C3F8peAY.css.map +0 -1
- package/dist/C_FormSearch-qW56bJPo.css.map +0 -1
- package/dist/C_FormSearch.js.map +0 -1
- package/dist/C_FormSearch2.js.map +0 -1
- package/dist/C_FormulaEditor-ChOvDbsZ.css.map +0 -1
- package/dist/C_FormulaEditor-mfiIUDY4.css.map +0 -1
- package/dist/C_FormulaEditor.js.map +0 -1
- package/dist/C_FormulaEditor2.js.map +0 -1
- package/dist/C_FullCalendar-C2nsqrgS.css.map +0 -1
- package/dist/C_FullCalendar-DdFtXVhy.css.map +0 -1
- package/dist/C_FullCalendar.js.map +0 -1
- package/dist/C_FullCalendar2.js.map +0 -1
- package/dist/C_GlobalSearch-Dq4Wo01K.css.map +0 -1
- package/dist/C_GlobalSearch-RB7J43gu.css.map +0 -1
- package/dist/C_GlobalSearch.js.map +0 -1
- package/dist/C_GlobalSearch2.js.map +0 -1
- package/dist/C_Guide.js.map +0 -1
- package/dist/C_Guide2.js.map +0 -1
- package/dist/C_Icon.js.map +0 -1
- package/dist/C_Icon2.js.map +0 -1
- package/dist/C_ImageCropper-CdTX2nxU.css.map +0 -1
- package/dist/C_ImageCropper-ilOqPklJ.css.map +0 -1
- package/dist/C_ImageCropper.js.map +0 -1
- package/dist/C_ImageCropper2.js.map +0 -1
- package/dist/C_Language.js.map +0 -1
- package/dist/C_Language2.js.map +0 -1
- package/dist/C_Login-B3qYkLrN.css.map +0 -1
- package/dist/C_Login-xMI1_ojE.css.map +0 -1
- package/dist/C_Login.js.map +0 -1
- package/dist/C_Login2.js.map +0 -1
- package/dist/C_Map-CWMMN58_.css.map +0 -1
- package/dist/C_Map-xSR2H-9o.css.map +0 -1
- package/dist/C_Map.js.map +0 -1
- package/dist/C_Map2.js.map +0 -1
- package/dist/C_Markdown-C7lTVJ1S.css.map +0 -1
- package/dist/C_Markdown-CZDm_baQ.css.map +0 -1
- package/dist/C_Markdown.js.map +0 -1
- package/dist/C_Markdown2.js.map +0 -1
- package/dist/C_Menu.js.map +0 -1
- package/dist/C_Menu2.js.map +0 -1
- package/dist/C_NotificationCenter-D7GGGWg7.css.map +0 -1
- package/dist/C_NotificationCenter-SSmeHA45.css.map +0 -1
- package/dist/C_NotificationCenter.js.map +0 -1
- package/dist/C_NotificationCenter2.js.map +0 -1
- package/dist/C_OrgChart-ChZu346B.css.map +0 -1
- package/dist/C_OrgChart-DqBufOv5.css.map +0 -1
- package/dist/C_OrgChart.js.map +0 -1
- package/dist/C_OrgChart2.js.map +0 -1
- package/dist/C_Progress.js.map +0 -1
- package/dist/C_Progress2.js.map +0 -1
- package/dist/C_QRCode-B_1lHUdx.css.map +0 -1
- package/dist/C_QRCode-CuQRYu0s.css.map +0 -1
- package/dist/C_QRCode.js.map +0 -1
- package/dist/C_QRCode2.js.map +0 -1
- package/dist/C_Signature-Bp-RBpAl.css.map +0 -1
- package/dist/C_Signature-Cb2VW1ok.css.map +0 -1
- package/dist/C_Signature.js.map +0 -1
- package/dist/C_Signature2.js.map +0 -1
- package/dist/C_Skeleton-BNPbaut7.css.map +0 -1
- package/dist/C_Skeleton-Djsjw8XY.css.map +0 -1
- package/dist/C_Skeleton.js.map +0 -1
- package/dist/C_Skeleton2.js.map +0 -1
- package/dist/C_SplitPane-CgGWYsRE.css.map +0 -1
- package/dist/C_SplitPane-DGf6WEeR.css.map +0 -1
- package/dist/C_SplitPane.js.map +0 -1
- package/dist/C_SplitPane2.js.map +0 -1
- package/dist/C_Steps-27Exh7PM.css.map +0 -1
- package/dist/C_Steps-DU9ZsFrs.css.map +0 -1
- package/dist/C_Steps.js.map +0 -1
- package/dist/C_Steps2.js.map +0 -1
- package/dist/C_Table--kbQaaBv.css.map +0 -1
- package/dist/C_Table-D631kdXC.css.map +0 -1
- package/dist/C_Table.js.map +0 -1
- package/dist/C_Table2.js +0 -4
- package/dist/C_Table2.js.map +0 -1
- package/dist/C_TagsView-BN8vMRsY.css.map +0 -1
- package/dist/C_TagsView-s1dnSJAV.css.map +0 -1
- package/dist/C_TagsView.js.map +0 -1
- package/dist/C_TagsView2.js.map +0 -1
- package/dist/C_Theme.js.map +0 -1
- package/dist/C_Theme2.js.map +0 -1
- package/dist/C_Time-BQ9PGy8B.css.map +0 -1
- package/dist/C_Time-CO73krC6.css.map +0 -1
- package/dist/C_Time.js.map +0 -1
- package/dist/C_Time2.js.map +0 -1
- package/dist/C_Timeline-4rk0Dzgn.css.map +0 -1
- package/dist/C_Timeline-DdESmqwL.css.map +0 -1
- package/dist/C_Timeline.js.map +0 -1
- package/dist/C_Timeline2.js.map +0 -1
- package/dist/C_Transfer-B-vjvhjI.css.map +0 -1
- package/dist/C_Transfer-EzdHzZNv.css.map +0 -1
- package/dist/C_Transfer.js.map +0 -1
- package/dist/C_Transfer2.js.map +0 -1
- package/dist/C_Tree-CsXgGfhn.css.map +0 -1
- package/dist/C_Tree-P7eRpnOa.css.map +0 -1
- package/dist/C_Tree.js.map +0 -1
- package/dist/C_Tree2.js.map +0 -1
- package/dist/C_Upload-CHjiVVh7.css.map +0 -1
- package/dist/C_Upload-DE3OLsZD.css.map +0 -1
- package/dist/C_Upload.js.map +0 -1
- package/dist/C_Upload2.js.map +0 -1
- package/dist/C_VideoPlayer-CnaNOFtW.css.map +0 -1
- package/dist/C_VideoPlayer-cnP88zNV.css.map +0 -1
- package/dist/C_VideoPlayer.js.map +0 -1
- package/dist/C_VideoPlayer2.js.map +0 -1
- package/dist/C_VtableGantt-CZlJgvpC.css.map +0 -1
- package/dist/C_VtableGantt-DKfQkql0.css.map +0 -1
- package/dist/C_VtableGantt.js.map +0 -1
- package/dist/C_VtableGantt2.js.map +0 -1
- package/dist/C_WaterFall-BJ_39ext.css.map +0 -1
- package/dist/C_WaterFall-cYc1vntE.css.map +0 -1
- package/dist/C_WaterFall.js.map +0 -1
- package/dist/C_WaterFall2.js.map +0 -1
- package/dist/C_WorkFlow-BFzRGGhJ.css.map +0 -1
- package/dist/C_WorkFlow-DSyCOvRp.css.map +0 -1
- package/dist/C_WorkFlow.js.map +0 -1
- package/dist/C_WorkFlow2.js.map +0 -1
- package/dist/_shared.cjs +0 -1
- package/dist/_shared.d.cts +0 -2
- package/dist/_shared.d.ts +0 -2
- package/dist/_shared.js +0 -1
- package/dist/city.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/menuAdapter.js +0 -2
- package/dist/menuAdapter.js.map +0 -1
- package/dist/resolver.cjs.map +0 -1
- package/dist/resolver.js.map +0 -1
- package/dist/storage.js.map +0 -1
- package/dist/useModalEdit.d.ts +0 -1308
- /package/dist/{chunk.js → chunk.cjs} +0 -0
package/README_EN.md
ADDED
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# @robot-admin/naive-ui-components
|
|
4
|
+
|
|
5
|
+
**Enterprise-grade Vue 3 component library built on Naive UI**
|
|
6
|
+
|
|
7
|
+
51 production-ready business components extracted from Robot Admin, supporting global registration, on-demand imports (Tree-Shaking), and subpath imports.
|
|
8
|
+
|
|
9
|
+
[](https://www.npmjs.com/package/@robot-admin/naive-ui-components)
|
|
10
|
+
[](./LICENSE)
|
|
11
|
+
|
|
12
|
+
[Live Demo](https://www.tzagileteam.com/robot/components/preface) · [GitHub](https://github.com/ChenyCHENYU/naive-ui-components) · [NPM](https://www.npmjs.com/package/@robot-admin/naive-ui-components)
|
|
13
|
+
|
|
14
|
+
[中文](./README.md)
|
|
15
|
+
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 📦 Installation
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
bun add @robot-admin/naive-ui-components
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Required peer dependencies:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
bun add vue@^3.5.0 naive-ui@^2.35.0
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### 🚀 Quick Start
|
|
33
|
+
|
|
34
|
+
#### Global Registration
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
import { createApp } from 'vue'
|
|
38
|
+
import NaiveUIComponents from '@robot-admin/naive-ui-components'
|
|
39
|
+
import '@robot-admin/naive-ui-components/style.css'
|
|
40
|
+
|
|
41
|
+
const app = createApp(App)
|
|
42
|
+
app.use(NaiveUIComponents)
|
|
43
|
+
app.mount('#app')
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
#### On-demand Import (Tree-Shaking)
|
|
47
|
+
|
|
48
|
+
```vue
|
|
49
|
+
<script setup lang="ts">
|
|
50
|
+
import { C_Icon, C_Table, C_Form } from '@robot-admin/naive-ui-components'
|
|
51
|
+
import '@robot-admin/naive-ui-components/style.css'
|
|
52
|
+
</script>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
#### Subpath Import (Recommended, Smallest Bundle)
|
|
56
|
+
|
|
57
|
+
Each component provides an independent subpath entry that loads only the target component's code and types:
|
|
58
|
+
|
|
59
|
+
```vue
|
|
60
|
+
<script setup lang="ts">
|
|
61
|
+
import { C_Form } from '@robot-admin/naive-ui-components/C_Form'
|
|
62
|
+
import { C_Table } from '@robot-admin/naive-ui-components/C_Table'
|
|
63
|
+
import { C_Icon } from '@robot-admin/naive-ui-components/C_Icon'
|
|
64
|
+
import { createMenuOptions } from '@robot-admin/naive-ui-components/C_Menu'
|
|
65
|
+
import '@robot-admin/naive-ui-components/style.css'
|
|
66
|
+
</script>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
> Subpath imports provide full TypeScript support (`.d.ts`) with IDE auto-completion for props / emits / slots. Component-specific utilities such as `createMenuOptions` are exported from the same component subpath, so consumers do not need the root entry for one helper.
|
|
70
|
+
|
|
71
|
+
#### Standalone Composables
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
import {
|
|
75
|
+
useTableManager,
|
|
76
|
+
useFormState,
|
|
77
|
+
usePlayerCore,
|
|
78
|
+
} from '@robot-admin/naive-ui-components'
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
#### Automatic On-demand Imports (Recommended)
|
|
82
|
+
|
|
83
|
+
The resolver loads component subpaths by default, preventing unused components and heavyweight runtime dependencies from entering the initial bundle:
|
|
84
|
+
|
|
85
|
+
```typescript
|
|
86
|
+
import Components from 'unplugin-vue-components/vite'
|
|
87
|
+
import { RobotNaiveUiResolver } from '@robot-admin/naive-ui-components/resolver'
|
|
88
|
+
|
|
89
|
+
Components({
|
|
90
|
+
resolvers: [RobotNaiveUiResolver({ importStyle: true })],
|
|
91
|
+
})
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
`importStyle: true` (an alias of `'full'`) preserves the existing complete style behavior. When C_Form/C_Table only use base fields and no built-in rich-text editor, set `importStyle: 'base'` to avoid editor CSS; other components safely fall back to their standard style entry. Set `importOnDemand: false` only when a legacy project still requires the package root.
|
|
95
|
+
|
|
96
|
+
The style tiers can also be imported explicitly:
|
|
97
|
+
|
|
98
|
+
```typescript
|
|
99
|
+
import '@robot-admin/naive-ui-components/C_Form/base.css'
|
|
100
|
+
import '@robot-admin/naive-ui-components/C_Table/base.css'
|
|
101
|
+
// Full mode is also available as C_Form/full.css and C_Table/full.css.
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Recommended C_Form / C_Table setup
|
|
105
|
+
|
|
106
|
+
Declare the business model once and keep nested field paths, values, column keys, callbacks, and exposed methods type-safe:
|
|
107
|
+
|
|
108
|
+
```ts
|
|
109
|
+
import {
|
|
110
|
+
defineFormConfig,
|
|
111
|
+
defineFormOptions,
|
|
112
|
+
useCForm,
|
|
113
|
+
} from '@robot-admin/naive-ui-components/C_Form'
|
|
114
|
+
|
|
115
|
+
interface UserForm {
|
|
116
|
+
name: string
|
|
117
|
+
profile: { email: string }
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
const options = defineFormOptions<UserForm>([
|
|
121
|
+
{ type: 'input', prop: 'name', required: true },
|
|
122
|
+
{ type: 'input', prop: 'profile.email' },
|
|
123
|
+
])
|
|
124
|
+
const config = defineFormConfig<UserForm>({
|
|
125
|
+
onSubmit: ({ model }) => save(model),
|
|
126
|
+
})
|
|
127
|
+
const { model, formRef, bindings } = useCForm({
|
|
128
|
+
initialValues: { name: '', profile: { email: '' } },
|
|
129
|
+
options,
|
|
130
|
+
config,
|
|
131
|
+
})
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
For remote tables, `useTableQuery` owns cancellation, latest-request-wins behavior, pagination, and loading. Destructure its `bindings` and use `<C_Table v-bind="bindings" />`:
|
|
135
|
+
|
|
136
|
+
```ts
|
|
137
|
+
import {
|
|
138
|
+
defineTableColumns,
|
|
139
|
+
useTableQuery,
|
|
140
|
+
} from '@robot-admin/naive-ui-components/C_Table'
|
|
141
|
+
|
|
142
|
+
interface UserRow {
|
|
143
|
+
id: string
|
|
144
|
+
name: string
|
|
145
|
+
}
|
|
146
|
+
const columns = defineTableColumns<UserRow>([{ key: 'name', title: 'Name' }])
|
|
147
|
+
const { bindings } = useTableQuery<UserRow, { keyword: string }>({
|
|
148
|
+
initialQuery: { keyword: '' },
|
|
149
|
+
columns,
|
|
150
|
+
rowKey: 'id',
|
|
151
|
+
request: ({ page, pageSize, query, signal }) =>
|
|
152
|
+
fetchUsers({ page, pageSize, ...query }, signal),
|
|
153
|
+
})
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
`C_Date`, `C_Time`, `C_Menu`, and `C_FormSearch` support standard `v-model`. Message/dialog providers are optional; application-wide feedback, locale, form defaults, and `table.defaults` can be supplied through plugin options.
|
|
157
|
+
|
|
158
|
+
### C_Captcha Server Verification
|
|
159
|
+
|
|
160
|
+
The default local mode only proves that the browser-side puzzle interaction completed. It is not a security credential for login, payment, or other sensitive actions. In production, provide a `verifier` and enable `require-server-verification`. Timeout, cancellation, and stale attempts are handled by the component, and `success` is emitted only after approval by an independent server/provider challenge. Request `token` and `timestamp` values are client-generated telemetry and must never be trusted as proof by the server.
|
|
161
|
+
|
|
162
|
+
```vue
|
|
163
|
+
<C_Captcha
|
|
164
|
+
require-server-verification
|
|
165
|
+
:verification-timeout="8000"
|
|
166
|
+
:verifier="
|
|
167
|
+
async ({ signal }) => {
|
|
168
|
+
// This proof must come from a trusted server/provider challenge.
|
|
169
|
+
const providerProof = await obtainTrustedCaptchaProof({ signal })
|
|
170
|
+
const response = await fetch('/api/captcha/verify', {
|
|
171
|
+
method: 'POST',
|
|
172
|
+
headers: { 'content-type': 'application/json' },
|
|
173
|
+
body: JSON.stringify({ providerProof }),
|
|
174
|
+
signal,
|
|
175
|
+
})
|
|
176
|
+
return response.json() // { valid: boolean, token: 'server-issued-token' }
|
|
177
|
+
}
|
|
178
|
+
"
|
|
179
|
+
@verify-error="reportError"
|
|
180
|
+
/>
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
With `require-server-verification`, a successful response must include a server token. Server tokens should be short-lived, single-use, and bound to the current session or operation. `C_Login` forwards the same policy through `captchaVerifier`, `requireCaptchaServerVerification`, and `captchaVerificationTimeout`, and its `submit` payload identifies the result through `captchaVerifiedBy`. See [SECURITY.md](./SECURITY.md) for trust-boundary details.
|
|
184
|
+
|
|
185
|
+
### 📋 Component List (51 Components)
|
|
186
|
+
|
|
187
|
+
> 💡 All components provide **interactive live demos**. Visit the [Component Docs](https://www.tzagileteam.com/robot/components/preface) to try them out in real-time (rendered via iframe from Robot Admin production).
|
|
188
|
+
|
|
189
|
+
#### Basic Components
|
|
190
|
+
|
|
191
|
+
| Component | Description | External Deps |
|
|
192
|
+
| ---------------- | ------------------------ | --------------------------- |
|
|
193
|
+
| `C_Icon` | Iconify icon wrapper | `@iconify/vue` |
|
|
194
|
+
| `C_Code` | Code highlighting | `highlight.js` |
|
|
195
|
+
| `C_Barcode` | Barcode generator | `@chenfengyuan/vue-barcode` |
|
|
196
|
+
| `C_Captcha` | Puzzle captcha | `vue3-puzzle-vcode` |
|
|
197
|
+
| `C_Cascade` | Cascade panel selector | - |
|
|
198
|
+
| `C_Guide` | User guide / tour | `driver.js` |
|
|
199
|
+
| `C_Progress` | Enhanced progress bar | - |
|
|
200
|
+
| `C_Steps` | Step bar | - |
|
|
201
|
+
| `C_ActionBar` | Action button bar | - |
|
|
202
|
+
| `C_Theme` | Theme switcher | - |
|
|
203
|
+
| `C_Language` | Language switcher | - |
|
|
204
|
+
| `C_Date` | Enhanced date picker | - |
|
|
205
|
+
| `C_City` | Province / city selector | - |
|
|
206
|
+
| `C_Breadcrumb` | Breadcrumb navigation | - |
|
|
207
|
+
| `C_Menu` | Navigation menu | - |
|
|
208
|
+
| `C_TagsView` | Tab-based navigation | - |
|
|
209
|
+
| `C_GlobalSearch` | Global search panel | - |
|
|
210
|
+
| `C_AvatarGroup` | Avatar group display | - |
|
|
211
|
+
| `C_OrgChart` | Organization chart | - |
|
|
212
|
+
| `C_Skeleton` | Skeleton placeholder | - |
|
|
213
|
+
|
|
214
|
+
#### Content & Editor Components
|
|
215
|
+
|
|
216
|
+
| Component | Description | External Deps |
|
|
217
|
+
| ----------------- | ---------------------------- | ------------------------- |
|
|
218
|
+
| `C_Editor` | Rich text editor | `@wangeditor-next/editor` |
|
|
219
|
+
| `C_Markdown` | Markdown editor/preview | `md-editor-v3` |
|
|
220
|
+
| `C_FormulaEditor` | Formula editor (safe parser) | Built in |
|
|
221
|
+
| `C_Signature` | Electronic signature | - |
|
|
222
|
+
| `C_QRCode` | QR code generator | `qrcode` |
|
|
223
|
+
| `C_ImageCropper` | Image cropper | `vue-cropper` |
|
|
224
|
+
|
|
225
|
+
#### Data Display Components
|
|
226
|
+
|
|
227
|
+
| Component | Description | External Deps |
|
|
228
|
+
| ---------------- | -------------------------------------------- | -------------------------- |
|
|
229
|
+
| `C_Table` | Advanced data table (CRUD/inline edit/print) | `print-js`, `html2canvas` |
|
|
230
|
+
| `C_Map` | Map component (OSM/AMap) | `leaflet` |
|
|
231
|
+
| `C_VtableGantt` | Gantt chart | `@visactor/vtable-gantt` |
|
|
232
|
+
| `C_AntV` | Graph editor (ER/BPMN/UML) | `@antv/x6`, `html2canvas` |
|
|
233
|
+
| `C_WaterFall` | Waterfall layout | - |
|
|
234
|
+
| `C_FullCalendar` | Calendar events | `@fullcalendar/*` |
|
|
235
|
+
| `C_VideoPlayer` | Video player (HLS/subtitles/bookmarks) | `xgplayer`, `xgplayer-hls` |
|
|
236
|
+
| `C_AudioPlayer` | Audio player (waveform/progress/playlist) | - |
|
|
237
|
+
| `C_FilePreview` | File preview (PDF/Word/Excel) | `xlsx`, `mammoth` |
|
|
238
|
+
| `C_Timeline` | Timeline (vertical/horizontal/collapsible) | - |
|
|
239
|
+
|
|
240
|
+
#### Form & Layout Components
|
|
241
|
+
|
|
242
|
+
| Component | Description | External Deps |
|
|
243
|
+
| ----------------- | ------------------------------------------------- | -------------------- |
|
|
244
|
+
| `C_Form` | Dynamic form engine (Grid/Tabs/Steps/Card layout) | - |
|
|
245
|
+
| `C_FormSearch` | Search form | - |
|
|
246
|
+
| `C_CollapsePanel` | Collapse panel | - |
|
|
247
|
+
| `C_SplitPane` | Split pane | - |
|
|
248
|
+
| `C_Draggable` | Drag & drop sorting | `vue-draggable-plus` |
|
|
249
|
+
| `C_Tree` | Advanced tree control | - |
|
|
250
|
+
| `C_Time` | Enhanced time picker | - |
|
|
251
|
+
| `C_Cron` | Cron expression editor | - |
|
|
252
|
+
| `C_Transfer` | Transfer / shuttle box | - |
|
|
253
|
+
|
|
254
|
+
#### Interactive & Business Components
|
|
255
|
+
|
|
256
|
+
| Component | Description | External Deps |
|
|
257
|
+
| --------------- | --------------------------------------------- | ------------- |
|
|
258
|
+
| `C_Chat` | Chat (contacts / message bubbles / input box) | - |
|
|
259
|
+
| `C_ContextMenu` | Context menu (nested / shortcuts / danger) | - |
|
|
260
|
+
| `C_Login` | Login panel (5 modes / captcha / remember me) | - |
|
|
261
|
+
|
|
262
|
+
#### Workflow & Notification Components
|
|
263
|
+
|
|
264
|
+
| Component | Description | External Deps |
|
|
265
|
+
| ---------------------- | ---------------------------------------- | ---------------- |
|
|
266
|
+
| `C_WorkFlow` | Workflow editor (approval/CC/conditions) | `@vue-flow/core` |
|
|
267
|
+
| `C_NotificationCenter` | Notification center (WebSocket/polling) | - |
|
|
268
|
+
| `C_Upload` | Large file upload (chunked/resumable) | `spark-md5` |
|
|
269
|
+
|
|
270
|
+
### 🔌 Dependency Notes
|
|
271
|
+
|
|
272
|
+
Runtime component dependencies are declared by this package and resolved automatically. Every consumer needs:
|
|
273
|
+
|
|
274
|
+
```bash
|
|
275
|
+
bun add vue naive-ui
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
Install optional peers per feature: `vue-router` for `C_Breadcrumb`/`C_TagsView`, and `sortablejs` for C_Table row/column dragging. Subpath imports do not require unrelated optional peers. The formula editor uses a bounded built-in parser and does not execute dynamic JavaScript.
|
|
279
|
+
|
|
280
|
+
### 🏗️ Build Architecture
|
|
281
|
+
|
|
282
|
+
#### Six-stage Build Pipeline
|
|
283
|
+
|
|
284
|
+
```
|
|
285
|
+
bun run build
|
|
286
|
+
├── 1. tsdown → Multi-entry bundling (51 components ESM/CJS/DTS)
|
|
287
|
+
├── 2. sass CLI → Compile the shared-variable entry → global-scss.css
|
|
288
|
+
├── 3. merge-css.js → Merge Vue-compiled SFC CSS + global variables → style.css
|
|
289
|
+
├── 4. gen-exports.js → Auto-generate package.json exports map
|
|
290
|
+
├── 5. check:dist → Validate root, subpath, SSR, and DTS public exports
|
|
291
|
+
└── 6. check:size → Enforce full/base CSS and package-size budgets
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
#### Key Technical Details
|
|
295
|
+
|
|
296
|
+
- **Build engine**: [tsdown](https://github.com/rolldown/tsdown) (Rolldown-based), 51 independent entries compiled in parallel
|
|
297
|
+
- **SCSS processing**: Custom `scssTransformPlugin` compiles SFC SCSS within the Rolldown pipeline; standalone Sass CLI only compiles the shared-variable entry
|
|
298
|
+
- **CSS merging**: Post-build merges Vue scoped-compiled per-chunk CSS with shared variables into a single `style.css`, avoiding duplicate styles and leaked raw `:deep()` selectors
|
|
299
|
+
- **Type exports**: Unified `export *` barrel pattern with auto-generated `.d.ts`
|
|
300
|
+
- **Subpath exports**: `gen-exports.js` auto-scans `dist/` and writes the `exports` field in `package.json`
|
|
301
|
+
- **Export conflict detection**: `check-export-conflicts.js` ensures no naming collisions between components
|
|
302
|
+
- **Artifact entry validation**: `check-dist-entries.js` prevents internal chunks from replacing root declarations and verifies component utility subpath types
|
|
303
|
+
- **Package contract validation**: blocks Naive UI internal type paths, hidden optional installs, and plugin console side effects
|
|
304
|
+
- **Size budgets**: `check-size-budget.js` prevents accidental growth of global, C_Form/C_Table, and total dist output
|
|
305
|
+
|
|
306
|
+
#### Build Output
|
|
307
|
+
|
|
308
|
+
```
|
|
309
|
+
dist/
|
|
310
|
+
├── index.js / index.cjs / index.d.ts # Main entry
|
|
311
|
+
├── C_Form.js / C_Form.cjs / C_Form.d.ts # Subpath entries (51 components)
|
|
312
|
+
├── C_Form.base.css / C_Form.full.css # Base/full style tiers
|
|
313
|
+
├── C_Table.base.css / C_Table.full.css # Base/full style tiers
|
|
314
|
+
├── style.css # Merged full styles
|
|
315
|
+
└── [chunk].js # Shared code chunks
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### 🔧 Development
|
|
319
|
+
|
|
320
|
+
The environment baseline is Node.js 20.19.0+ and Bun 1.3.14. `.node-version`, `packageManager`, `engines`, and the frozen lockfile keep local and CI installs aligned.
|
|
321
|
+
|
|
322
|
+
```bash
|
|
323
|
+
bun install --frozen-lockfile # Install exactly from the lockfile
|
|
324
|
+
bun run dev # Dev mode (SCSS watch + tsdown watch)
|
|
325
|
+
bun run build # Full build
|
|
326
|
+
bun run build:scss # Compile global SCSS only
|
|
327
|
+
bun run build:css # Merge fresh tsdown CSS chunks; safely skips a finalized dist
|
|
328
|
+
bun run build:exports # Generate exports map only
|
|
329
|
+
bun run check:exports # Check export naming conflicts
|
|
330
|
+
bun run check:dist # Validate built JS / DTS public entries
|
|
331
|
+
bun run check:package # Validate dependencies, exports, and public source boundaries
|
|
332
|
+
bun run check:quality # Prevent any, console, and type-suppression debt regressions
|
|
333
|
+
bun run check:audit # Audit direct and transitive dependency vulnerabilities
|
|
334
|
+
bun run check:size # Enforce publish artifact size budgets
|
|
335
|
+
bun run type-check # TypeScript type checking
|
|
336
|
+
bun run test # Run Bun unit tests
|
|
337
|
+
bun run lint:check # Required Oxlint correctness checks
|
|
338
|
+
bun run lint:eslint # Audit the existing ESLint rule backlog
|
|
339
|
+
bun run verify # Type, test, export, and build verification
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
#### Project Structure
|
|
343
|
+
|
|
344
|
+
```
|
|
345
|
+
naive-ui-components/
|
|
346
|
+
├── src/
|
|
347
|
+
│ ├── index.ts # Library entry (global registration + export * barrel)
|
|
348
|
+
│ ├── styles/
|
|
349
|
+
│ │ ├── variables.scss # CSS variables (--c-*)
|
|
350
|
+
│ │ └── global.scss # Auto-generated shared-variable entry
|
|
351
|
+
│ ├── components/
|
|
352
|
+
│ │ └── C_[Name]/
|
|
353
|
+
│ │ ├── index.vue # Main component file
|
|
354
|
+
│ │ ├── index.ts # Barrel export
|
|
355
|
+
│ │ ├── index.scss # Component styles
|
|
356
|
+
│ │ ├── types.ts # Type definitions
|
|
357
|
+
│ │ ├── constants.ts # Constants
|
|
358
|
+
│ │ ├── data.ts # Static data
|
|
359
|
+
│ │ ├── composables/ # Composable functions
|
|
360
|
+
│ │ ├── components/ # Sub-components
|
|
361
|
+
│ │ └── layouts/ # Layout variants (C_Form/C_AntV)
|
|
362
|
+
│ ├── plugins/ # highlight.js and other plugins
|
|
363
|
+
│ └── utils/ # Utility functions
|
|
364
|
+
├── scripts/
|
|
365
|
+
│ ├── gen-global-scss.js # Generate global.scss (shared variables only)
|
|
366
|
+
│ ├── watch-global-scss.js # Dev mode SCSS watcher
|
|
367
|
+
│ ├── merge-css.js # Merge CSS artifacts
|
|
368
|
+
│ ├── gen-exports.js # Auto-generate package.json exports
|
|
369
|
+
│ └── check-export-conflicts.js # Export naming conflict detection
|
|
370
|
+
├── types/
|
|
371
|
+
│ └── env.d.ts # .vue / .scss module declarations
|
|
372
|
+
├── tsdown.config.ts # Build config (multi-entry + SCSS plugin + Vue plugin)
|
|
373
|
+
└── tsconfig.json
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
#### Adding a New Component
|
|
377
|
+
|
|
378
|
+
1. Create `src/components/C_NewComponent/` directory
|
|
379
|
+
2. Write `index.vue`, `index.ts` (barrel), `types.ts`
|
|
380
|
+
3. Add `export * from './components/C_NewComponent'` in `src/index.ts`
|
|
381
|
+
4. Run `bun run build` — build scripts will auto-generate subpath entries and exports mapping
|
|
382
|
+
|
|
383
|
+
#### Publishing
|
|
384
|
+
|
|
385
|
+
```bash
|
|
386
|
+
bun run changeset # Record changes and release level
|
|
387
|
+
bun run version # Update package version and CHANGELOG
|
|
388
|
+
bun run verify # Run all pre-publish checks
|
|
389
|
+
bun run release # Publish pending Changesets releases
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
## 📄 License
|
|
393
|
+
|
|
394
|
+
MIT License
|
|
395
|
+
|
|
396
|
+
---
|
|
397
|
+
|
|
398
|
+
## 🔗 Links
|
|
399
|
+
|
|
400
|
+
- [Component Docs with Interactive Demos](https://www.tzagileteam.com/robot/components/preface)
|
|
401
|
+
- [Robot Admin Main Project](https://github.com/ChenyCHENYU/robot_admin)
|
|
402
|
+
- [Robot Admin Live Demo](https://www.robotadmin.cn)
|
|
403
|
+
- [GitHub](https://github.com/ChenyCHENYU/naive-ui-components)
|
|
404
|
+
- [NPM](https://www.npmjs.com/package/@robot-admin/naive-ui-components)
|
package/SECURITY.md
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
## Supported versions
|
|
4
|
+
|
|
5
|
+
Security fixes are applied to the latest published minor release. Consumers should keep Vue, Naive UI, and this package on supported versions and install from the lockfile used by their application.
|
|
6
|
+
|
|
7
|
+
## Reporting a vulnerability
|
|
8
|
+
|
|
9
|
+
Please use GitHub's private security-advisory flow for the repository. Include the affected component and version, a minimal reproduction, expected impact, and any suggested mitigation. Do not open a public issue before a fix or mitigation is available.
|
|
10
|
+
|
|
11
|
+
## Trust boundaries
|
|
12
|
+
|
|
13
|
+
- `C_Captcha` local mode is a UI interaction check, not authentication. Its client token and timestamp are untrusted telemetry. Sensitive flows must configure `verifier` with `requireServerVerification`, validate an independent server/provider-issued challenge, and return a short-lived, single-use token bound to the session or operation. Fail-closed mode rejects successful responses that omit this token.
|
|
14
|
+
- Rich HTML is sanitized by the library, but applications must still apply server-side validation, output encoding, CSP, and authorization. Client-side sanitization is not an authorization boundary.
|
|
15
|
+
- Formula evaluation uses a bounded parser and does not execute arbitrary JavaScript. Do not replace it with `eval` or `Function` for untrusted input.
|
|
16
|
+
- Upload type, size, hashing, and chunk checks improve UX and integrity but do not replace server-side content validation, malware scanning, quotas, or access control.
|
|
17
|
+
- Spreadsheet, document, image, audio, video, and map sources remain untrusted external content. Apply suitable origin, CSP, download, and privacy policies in the host application.
|
|
18
|
+
|
|
19
|
+
## Dependency and release controls
|
|
20
|
+
|
|
21
|
+
The release pipeline audits direct and transitive dependencies and verifies dependency boundaries, public exports, ESM/CJS consumption, SSR behavior, declaration portability, and package-size budgets. Optional peers are feature-scoped: `vue-router` is used by route-aware navigation components, and `sortablejs` is used by C_Table dragging.
|
|
22
|
+
|
|
23
|
+
Run `bun install --frozen-lockfile` and `bun run verify` before publishing. Review changes to `bun.lock`, remote tarball URLs, package exports, and `sideEffects` as release-sensitive files.
|
package/dist/C_ActionBar.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./C_Icon2.cjs`);const e=require(`./C_ActionBar2.cjs`);exports.C_ActionBar=e.t;
|
package/dist/C_ActionBar.css
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* unplugin-vue-components disabled *//* 通用操作按钮组件样式 */
|
|
2
2
|
/* ================= 主容器 ================= */
|
|
3
|
-
.c-action-bar[data-v-
|
|
3
|
+
.c-action-bar[data-v-9dc5812b] {
|
|
4
4
|
display: flex;
|
|
5
5
|
align-items: center;
|
|
6
6
|
justify-content: space-between;
|
|
@@ -11,26 +11,26 @@
|
|
|
11
11
|
border: 1px solid var(--c-border);
|
|
12
12
|
transition: all 0.3s ease;
|
|
13
13
|
}
|
|
14
|
-
.c-action-bar.is-align-left[data-v-
|
|
14
|
+
.c-action-bar.is-align-left[data-v-9dc5812b] {
|
|
15
15
|
justify-content: flex-start;
|
|
16
16
|
}
|
|
17
|
-
.c-action-bar.is-align-center[data-v-
|
|
17
|
+
.c-action-bar.is-align-center[data-v-9dc5812b] {
|
|
18
18
|
justify-content: center;
|
|
19
19
|
}
|
|
20
|
-
.c-action-bar.is-align-right[data-v-
|
|
20
|
+
.c-action-bar.is-align-right[data-v-9dc5812b] {
|
|
21
21
|
justify-content: flex-end;
|
|
22
22
|
}
|
|
23
|
-
.c-action-bar.is-align-space-between[data-v-
|
|
23
|
+
.c-action-bar.is-align-space-between[data-v-9dc5812b] {
|
|
24
24
|
justify-content: space-between;
|
|
25
25
|
}
|
|
26
|
-
.c-action-bar.is-align-space-around[data-v-
|
|
26
|
+
.c-action-bar.is-align-space-around[data-v-9dc5812b] {
|
|
27
27
|
justify-content: space-around;
|
|
28
28
|
}
|
|
29
|
-
.c-action-bar.is-compact[data-v-
|
|
29
|
+
.c-action-bar.is-compact[data-v-9dc5812b] {
|
|
30
30
|
padding: 12px;
|
|
31
31
|
margin-bottom: 12px;
|
|
32
32
|
}
|
|
33
|
-
.c-action-bar.is-inline[data-v-
|
|
33
|
+
.c-action-bar.is-inline[data-v-9dc5812b] {
|
|
34
34
|
padding: 0;
|
|
35
35
|
margin-bottom: 0;
|
|
36
36
|
background: transparent;
|
|
@@ -38,97 +38,97 @@
|
|
|
38
38
|
border-radius: 0;
|
|
39
39
|
box-shadow: none;
|
|
40
40
|
}
|
|
41
|
-
.c-action-bar.is-wrap[data-v-
|
|
41
|
+
.c-action-bar.is-wrap[data-v-9dc5812b] {
|
|
42
42
|
flex-wrap: wrap;
|
|
43
43
|
gap: 12px;
|
|
44
44
|
}
|
|
45
45
|
@media (max-width: 768px) {
|
|
46
|
-
.c-action-bar[data-v-
|
|
46
|
+
.c-action-bar[data-v-9dc5812b] {
|
|
47
47
|
flex-direction: column;
|
|
48
48
|
gap: 12px;
|
|
49
49
|
}
|
|
50
|
-
.c-action-bar .actions-group[data-v-
|
|
50
|
+
.c-action-bar .actions-group[data-v-9dc5812b] {
|
|
51
51
|
width: 100%;
|
|
52
52
|
justify-content: center;
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
/* ================= 按钮组 ================= */
|
|
57
|
-
.actions-group[data-v-
|
|
57
|
+
.actions-group[data-v-9dc5812b] {
|
|
58
58
|
display: flex;
|
|
59
59
|
align-items: center;
|
|
60
60
|
gap: 12px;
|
|
61
61
|
flex-wrap: nowrap;
|
|
62
62
|
}
|
|
63
|
-
.actions-group.actions-left[data-v-
|
|
63
|
+
.actions-group.actions-left[data-v-9dc5812b] {
|
|
64
64
|
justify-content: flex-start;
|
|
65
65
|
}
|
|
66
|
-
.actions-group.actions-right[data-v-
|
|
66
|
+
.actions-group.actions-right[data-v-9dc5812b] {
|
|
67
67
|
justify-content: flex-end;
|
|
68
68
|
}
|
|
69
|
-
.c-action-bar.has-only-left.is-align-center .actions-group.actions-left[data-v-
|
|
69
|
+
.c-action-bar.has-only-left.is-align-center .actions-group.actions-left[data-v-9dc5812b], .c-action-bar.has-only-right.is-align-center .actions-group.actions-right[data-v-9dc5812b] {
|
|
70
70
|
width: 100%;
|
|
71
71
|
justify-content: center;
|
|
72
72
|
}
|
|
73
|
-
.c-action-bar.has-only-left.is-align-space-between .actions-group.actions-left[data-v-
|
|
73
|
+
.c-action-bar.has-only-left.is-align-space-between .actions-group.actions-left[data-v-9dc5812b], .c-action-bar.has-only-right.is-align-space-between .actions-group.actions-right[data-v-9dc5812b] {
|
|
74
74
|
width: 100%;
|
|
75
75
|
justify-content: space-between;
|
|
76
76
|
}
|
|
77
|
-
.c-action-bar.has-only-left.is-align-space-around .actions-group.actions-left[data-v-
|
|
77
|
+
.c-action-bar.has-only-left.is-align-space-around .actions-group.actions-left[data-v-9dc5812b], .c-action-bar.has-only-right.is-align-space-around .actions-group.actions-right[data-v-9dc5812b] {
|
|
78
78
|
width: 100%;
|
|
79
79
|
justify-content: space-around;
|
|
80
80
|
}
|
|
81
|
-
.c-action-bar.has-only-left.is-align-right .actions-group.actions-left[data-v-
|
|
81
|
+
.c-action-bar.has-only-left.is-align-right .actions-group.actions-left[data-v-9dc5812b] {
|
|
82
82
|
width: 100%;
|
|
83
83
|
justify-content: flex-end;
|
|
84
84
|
}
|
|
85
|
-
.c-action-bar.has-only-right.is-align-left .actions-group.actions-right[data-v-
|
|
85
|
+
.c-action-bar.has-only-right.is-align-left .actions-group.actions-right[data-v-9dc5812b] {
|
|
86
86
|
width: 100%;
|
|
87
87
|
justify-content: flex-start;
|
|
88
88
|
}
|
|
89
|
-
.actions-group[data-v-
|
|
89
|
+
.actions-group[data-v-9dc5812b] .n-button {
|
|
90
90
|
transition: all 0.3s ease;
|
|
91
91
|
font-weight: 500;
|
|
92
92
|
}
|
|
93
|
-
.actions-group[data-v-
|
|
93
|
+
.actions-group[data-v-9dc5812b] .n-button .n-icon {
|
|
94
94
|
transition: transform 0.3s ease;
|
|
95
95
|
}
|
|
96
|
-
.actions-group[data-v-
|
|
96
|
+
.actions-group[data-v-9dc5812b] .n-button:hover:not(:disabled) {
|
|
97
97
|
transform: translateY(-2px);
|
|
98
98
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
99
99
|
}
|
|
100
|
-
.actions-group[data-v-
|
|
100
|
+
.actions-group[data-v-9dc5812b] .n-button:hover:not(:disabled) .n-icon {
|
|
101
101
|
transform: scale(1.1);
|
|
102
102
|
}
|
|
103
|
-
.actions-group[data-v-
|
|
103
|
+
.actions-group[data-v-9dc5812b] .n-button:active:not(:disabled) {
|
|
104
104
|
transform: translateY(0);
|
|
105
105
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
106
106
|
}
|
|
107
|
-
.actions-group[data-v-
|
|
107
|
+
.actions-group[data-v-9dc5812b] .n-button:disabled {
|
|
108
108
|
cursor: not-allowed;
|
|
109
109
|
opacity: 0.5;
|
|
110
110
|
}
|
|
111
|
-
.actions-group[data-v-
|
|
111
|
+
.actions-group[data-v-9dc5812b] .n-button.n-button--loading {
|
|
112
112
|
pointer-events: none;
|
|
113
113
|
}
|
|
114
|
-
.actions-group[data-v-
|
|
114
|
+
.actions-group[data-v-9dc5812b] .n-button--primary-type:hover:not(:disabled) {
|
|
115
115
|
box-shadow: 0 4px 12px rgba(24, 160, 88, 0.3);
|
|
116
116
|
}
|
|
117
|
-
.actions-group[data-v-
|
|
117
|
+
.actions-group[data-v-9dc5812b] .n-button--info-type:hover:not(:disabled) {
|
|
118
118
|
box-shadow: 0 4px 12px rgba(42, 148, 125, 0.3);
|
|
119
119
|
}
|
|
120
|
-
.actions-group[data-v-
|
|
120
|
+
.actions-group[data-v-9dc5812b] .n-button--success-type:hover:not(:disabled) {
|
|
121
121
|
box-shadow: 0 4px 12px rgba(99, 226, 183, 0.3);
|
|
122
122
|
}
|
|
123
|
-
.actions-group[data-v-
|
|
123
|
+
.actions-group[data-v-9dc5812b] .n-button--warning-type:hover:not(:disabled) {
|
|
124
124
|
box-shadow: 0 4px 12px rgba(240, 138, 0, 0.3);
|
|
125
125
|
}
|
|
126
|
-
.actions-group[data-v-
|
|
126
|
+
.actions-group[data-v-9dc5812b] .n-button--error-type:hover:not(:disabled) {
|
|
127
127
|
box-shadow: 0 4px 12px rgba(208, 48, 80, 0.3);
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
/* ================= 中间插槽区域 ================= */
|
|
131
|
-
.actions-center[data-v-
|
|
131
|
+
.actions-center[data-v-9dc5812b] {
|
|
132
132
|
display: flex;
|
|
133
133
|
align-items: center;
|
|
134
134
|
justify-content: center;
|
|
@@ -138,32 +138,32 @@
|
|
|
138
138
|
}
|
|
139
139
|
|
|
140
140
|
/* ================= 分隔线 ================= */
|
|
141
|
-
.action-divider[data-v-
|
|
141
|
+
.action-divider[data-v-9dc5812b] {
|
|
142
142
|
margin: 0 8px !important;
|
|
143
143
|
height: 20px;
|
|
144
144
|
opacity: 0.3;
|
|
145
145
|
transition: opacity 0.3s ease;
|
|
146
146
|
}
|
|
147
|
-
.action-divider[data-v-
|
|
147
|
+
.action-divider[data-v-9dc5812b]:hover {
|
|
148
148
|
opacity: 0.6;
|
|
149
149
|
}
|
|
150
150
|
|
|
151
151
|
/* ================= 下拉菜单优化 ================= */
|
|
152
|
-
[data-v-
|
|
152
|
+
[data-v-9dc5812b] .n-dropdown-option {
|
|
153
153
|
transition: all 0.2s ease;
|
|
154
154
|
}
|
|
155
|
-
[data-v-
|
|
155
|
+
[data-v-9dc5812b] .n-dropdown-option:hover {
|
|
156
156
|
transform: translateX(4px);
|
|
157
157
|
}
|
|
158
|
-
[data-v-
|
|
158
|
+
[data-v-9dc5812b] .n-dropdown-option .n-icon {
|
|
159
159
|
transition: transform 0.2s ease;
|
|
160
160
|
}
|
|
161
|
-
[data-v-
|
|
161
|
+
[data-v-9dc5812b] .n-dropdown-option:hover .n-icon {
|
|
162
162
|
transform: scale(1.15);
|
|
163
163
|
}
|
|
164
164
|
|
|
165
165
|
/* ================= 加载动画 ================= */
|
|
166
|
-
@keyframes button-loading-
|
|
166
|
+
@keyframes button-loading-9dc5812b {
|
|
167
167
|
0% {
|
|
168
168
|
opacity: 0.6;
|
|
169
169
|
}
|
|
@@ -174,12 +174,12 @@
|
|
|
174
174
|
opacity: 0.6;
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
|
-
[data-v-
|
|
178
|
-
animation: button-loading-
|
|
177
|
+
[data-v-9dc5812b] .n-button--loading {
|
|
178
|
+
animation: button-loading-9dc5812b 1.5s ease-in-out infinite;
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
/* ================= Tooltip 样式 ================= */
|
|
182
|
-
[data-v-
|
|
182
|
+
[data-v-9dc5812b] .n-tooltip .n-tooltip__content {
|
|
183
183
|
font-size: 12px;
|
|
184
184
|
padding: 6px 10px;
|
|
185
185
|
border-radius: 4px;
|
|
@@ -188,18 +188,16 @@
|
|
|
188
188
|
}
|
|
189
189
|
|
|
190
190
|
/* ================= 暗黑模式适配 ================= */
|
|
191
|
-
html.dark .c-action-bar[data-v-
|
|
191
|
+
html.dark .c-action-bar[data-v-9dc5812b] {
|
|
192
192
|
border-color: rgba(255, 255, 255, 0.09);
|
|
193
193
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
|
|
194
194
|
}
|
|
195
|
-
html.dark .actions-group[data-v-
|
|
195
|
+
html.dark .actions-group[data-v-9dc5812b] .n-button:hover:not(:disabled) {
|
|
196
196
|
box-shadow: 0 4px 12px rgba(255, 255, 255, 0.1);
|
|
197
197
|
}
|
|
198
|
-
html.dark .action-divider[data-v-
|
|
198
|
+
html.dark .action-divider[data-v-9dc5812b] {
|
|
199
199
|
opacity: 0.15;
|
|
200
200
|
}
|
|
201
|
-
html.dark .action-divider[data-v-
|
|
201
|
+
html.dark .action-divider[data-v-9dc5812b]:hover {
|
|
202
202
|
opacity: 0.4;
|
|
203
203
|
}
|
|
204
|
-
|
|
205
|
-
/*# sourceMappingURL=C_ActionBar-BAcfOfRw.css.map*/
|