@robot-admin/naive-ui-components 0.6.29 → 0.6.31
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 +48 -48
- package/README.md +277 -277
- package/dist/C_ActionBar-jZPsiXtT.css.map +1 -0
- package/dist/C_ActionBar-nnfbZCea.css.map +1 -0
- package/dist/C_ActionBar.css +47 -47
- package/dist/C_ActionBar.js.map +1 -1
- package/dist/C_ActionBar2.js +1 -1
- package/dist/C_ActionBar2.js.map +1 -1
- package/dist/{C_AntV-BY8jqqmi.css.map → C_AntV-A3NXx_sF.css.map} +1 -1
- package/dist/{C_AntV-BbkHc-_a.css.map → C_AntV-D2Zp2qQF.css.map} +1 -1
- package/dist/C_AntV.css +78 -78
- package/dist/C_AntV.js.map +1 -1
- package/dist/C_AntV2.js +2 -2
- package/dist/C_AntV2.js.map +1 -1
- package/dist/{C_AudioPlayer-DKRIGhi7.css.map → C_AudioPlayer-CXl4yP_m.css.map} +1 -1
- package/dist/{C_AudioPlayer-DlB6eNsa.css.map → C_AudioPlayer-CcBtt71m.css.map} +1 -1
- package/dist/C_AudioPlayer.css +47 -47
- package/dist/C_AudioPlayer.js.map +1 -1
- package/dist/C_AudioPlayer2.js +1 -1
- package/dist/C_AudioPlayer2.js.map +1 -1
- package/dist/{C_AvatarGroup-D02zci-i.css.map → C_AvatarGroup-CtPhfH9h.css.map} +1 -1
- package/dist/{C_AvatarGroup-DatHaUlY.css.map → C_AvatarGroup-M1dNPH3E.css.map} +1 -1
- package/dist/C_AvatarGroup.css +21 -21
- package/dist/C_AvatarGroup.js.map +1 -1
- package/dist/C_AvatarGroup2.js +1 -1
- package/dist/C_AvatarGroup2.js.map +1 -1
- package/dist/{C_Barcode-DYDRDe2O.css.map → C_Barcode-DjTmDkbQ.css.map} +1 -1
- package/dist/{C_Barcode-muJdc_O4.css.map → C_Barcode-Do1Ozsmh.css.map} +1 -1
- package/dist/C_Barcode.css +7 -7
- package/dist/C_Barcode.js.map +1 -1
- package/dist/C_Barcode2.js +1 -1
- package/dist/C_Barcode2.js.map +1 -1
- package/dist/C_Breadcrumb.js.map +1 -1
- package/dist/C_Breadcrumb2.js.map +1 -1
- package/dist/{C_Captcha-9_hk6VmY.css.map → C_Captcha-CZmAETly.css.map} +1 -1
- package/dist/{C_Captcha-MtASlJ0f.css.map → C_Captcha-Ccq3DMrR.css.map} +1 -1
- package/dist/C_Captcha.css +19 -19
- package/dist/C_Captcha.js.map +1 -1
- package/dist/C_Captcha2.js +1 -1
- package/dist/C_Captcha2.js.map +1 -1
- package/dist/C_Chat-CJ8KESTM.css.map +1 -0
- package/dist/C_Chat-DzV4AFLd.css.map +1 -0
- package/dist/C_Chat.css +78 -72
- package/dist/C_Chat.js.map +1 -1
- package/dist/C_Chat2.js +1 -1
- package/dist/C_Chat2.js.map +1 -1
- package/dist/{C_City-Bam08Qv3.css.map → C_City-Cv5BESaN.css.map} +1 -1
- package/dist/{C_City-Bb3W-KaN.css.map → C_City-DNKv4MpH.css.map} +1 -1
- package/dist/C_City.css +29 -29
- package/dist/C_City.js.map +1 -1
- package/dist/C_City2.js +1 -1
- package/dist/C_City2.js.map +1 -1
- package/dist/C_Code-DPZlNSxL.css.map +1 -0
- package/dist/C_Code-avZjAnHD.css.map +1 -0
- package/dist/C_Code.css +3 -3
- package/dist/C_Code.js.map +1 -1
- package/dist/C_Code2.js +1 -1
- package/dist/C_Code2.js.map +1 -1
- package/dist/{C_CollapsePanel-CWkFCqNQ.css.map → C_CollapsePanel-BkOivqn3.css.map} +1 -1
- package/dist/{C_CollapsePanel-pcVJA_4z.css.map → C_CollapsePanel-CedsEM0N.css.map} +1 -1
- package/dist/C_CollapsePanel.css +35 -35
- package/dist/C_CollapsePanel.js.map +1 -1
- package/dist/C_CollapsePanel2.js +1 -1
- package/dist/C_CollapsePanel2.js.map +1 -1
- package/dist/{C_ContextMenu-B3Cgz_wJ.css.map → C_ContextMenu-CCsCeI39.css.map} +1 -1
- package/dist/{C_ContextMenu-u1LixF3_.css.map → C_ContextMenu-DOTBeltf.css.map} +1 -1
- package/dist/C_ContextMenu.css +17 -17
- package/dist/C_ContextMenu.js.map +1 -1
- package/dist/C_ContextMenu2.js +1 -1
- package/dist/C_ContextMenu2.js.map +1 -1
- package/dist/{C_Cron-Civir5-I.css.map → C_Cron-C0-8b5af.css.map} +1 -1
- package/dist/{C_Cron-iw3qpMsy.css.map → C_Cron-DqHQ92LN.css.map} +1 -1
- package/dist/C_Cron.css +37 -37
- package/dist/C_Cron.js.map +1 -1
- package/dist/C_Cron2.js +1 -1
- package/dist/C_Cron2.js.map +1 -1
- package/dist/C_Date.js.map +1 -1
- package/dist/C_Date2.js.map +1 -1
- package/dist/{C_Draggable-BCjIvIwT.css.map → C_Draggable-Bq6o0qXn.css.map} +1 -1
- package/dist/{C_Draggable-DwkSlCOS.css.map → C_Draggable-r6nhx3yM.css.map} +1 -1
- package/dist/C_Draggable.css +46 -46
- package/dist/C_Draggable.js.map +1 -1
- package/dist/C_Draggable2.js +1 -1
- package/dist/C_Draggable2.js.map +1 -1
- package/dist/C_Editor-C49qURgb.css.map +1 -0
- package/dist/C_Editor-DuxBD9Qg.css.map +1 -0
- package/dist/C_Editor.css +60 -29
- package/dist/C_Editor.js.map +1 -1
- package/dist/C_Editor2.js +1 -1
- package/dist/C_Editor2.js.map +1 -1
- package/dist/{C_FilePreview-BhcbiXsV.css.map → C_FilePreview-BVarVvnD.css.map} +1 -1
- package/dist/{C_FilePreview-DJudcIbW.css.map → C_FilePreview-DHGlV4OR.css.map} +1 -1
- package/dist/C_FilePreview.css +91 -91
- package/dist/C_FilePreview.js.map +1 -1
- package/dist/C_FilePreview2.js +1 -1
- package/dist/C_FilePreview2.js.map +1 -1
- package/dist/{C_Form-BtcAPIRi.css.map → C_Form-BciQUPpS.css.map} +1 -1
- package/dist/{C_Form-D_gwQ7hC.css.map → C_Form-CKHvXL3O.css.map} +1 -1
- package/dist/C_Form.css +222 -222
- package/dist/C_Form.js.map +1 -1
- package/dist/C_Form2.js +1 -1
- package/dist/C_Form2.js.map +1 -1
- package/dist/{C_FormSearch-Bi4XYjjk.css.map → C_FormSearch-Bmd2CmG6.css.map} +1 -1
- package/dist/{C_FormSearch-DUGOoX0u.css.map → C_FormSearch-DBNtnjaL.css.map} +1 -1
- package/dist/C_FormSearch.css +45 -45
- package/dist/C_FormSearch.js.map +1 -1
- package/dist/C_FormSearch2.js +1 -1
- package/dist/C_FormSearch2.js.map +1 -1
- package/dist/{C_FormulaEditor-CJk3SSUJ.css.map → C_FormulaEditor-3WG2vtQl.css.map} +1 -1
- package/dist/{C_FormulaEditor-Cy7mjfVO.css.map → C_FormulaEditor-Cm0CokN5.css.map} +1 -1
- package/dist/C_FormulaEditor.css +78 -78
- package/dist/C_FormulaEditor.js.map +1 -1
- package/dist/C_FormulaEditor2.js +1 -1
- package/dist/C_FormulaEditor2.js.map +1 -1
- package/dist/C_FullCalendar-1U4VlG7X.css.map +1 -0
- package/dist/C_FullCalendar-DLUdCtqf.css.map +1 -0
- package/dist/C_FullCalendar.css +3 -3
- package/dist/C_FullCalendar.js.map +1 -1
- package/dist/C_FullCalendar2.js +1 -1
- package/dist/C_FullCalendar2.js.map +1 -1
- package/dist/{C_GlobalSearch-BNtNpLLD.css.map → C_GlobalSearch-B6wK3m3k.css.map} +1 -1
- package/dist/{C_GlobalSearch-BlMeQ2D9.css.map → C_GlobalSearch-DoPjldFm.css.map} +1 -1
- package/dist/C_GlobalSearch.css +112 -112
- package/dist/C_GlobalSearch.js.map +1 -1
- package/dist/C_GlobalSearch2.js +1 -1
- package/dist/C_GlobalSearch2.js.map +1 -1
- package/dist/C_Guide.d.cts +2 -2
- package/dist/C_Guide.d.ts +2 -2
- package/dist/C_Guide.js.map +1 -1
- package/dist/C_Guide2.js +1 -1
- package/dist/C_Guide2.js.map +1 -1
- package/dist/C_Icon.js.map +1 -1
- package/dist/C_Icon2.js.map +1 -1
- package/dist/{C_ImageCropper-BqZpkZfU.css.map → C_ImageCropper-D3L2-J_J.css.map} +1 -1
- package/dist/{C_ImageCropper-CylwGuzS.css.map → C_ImageCropper-DrmUlaLi.css.map} +1 -1
- package/dist/C_ImageCropper.css +10 -10
- package/dist/C_ImageCropper.js.map +1 -1
- package/dist/C_ImageCropper2.js +1 -1
- package/dist/C_ImageCropper2.js.map +1 -1
- package/dist/C_Language.js.map +1 -1
- package/dist/C_Language2.js.map +1 -1
- package/dist/{C_Login-BkdnkBKX.css.map → C_Login-Cst_W1XC.css.map} +1 -1
- package/dist/{C_Login-VkMM6OJ2.css.map → C_Login-DWZ_6K1x.css.map} +1 -1
- package/dist/C_Login.css +72 -72
- package/dist/C_Login.js.map +1 -1
- package/dist/C_Login2.js +1 -1
- package/dist/C_Login2.js.map +1 -1
- package/dist/{C_Map-DNnBcY70.css.map → C_Map-BCJmDnJT.css.map} +1 -1
- package/dist/{C_Map-LEXIx6zM.css.map → C_Map-WUMXSAfy.css.map} +1 -1
- package/dist/C_Map.css +4 -4
- package/dist/C_Map.js.map +1 -1
- package/dist/C_Map2.js +1 -1
- package/dist/C_Map2.js.map +1 -1
- package/dist/C_Markdown-7J0uPEuk.css.map +1 -0
- package/dist/C_Markdown-C7Lg0_9z.css.map +1 -0
- package/dist/C_Markdown.css +48 -42
- package/dist/C_Markdown.js.map +1 -1
- package/dist/C_Markdown2.js +1 -1
- package/dist/C_Markdown2.js.map +1 -1
- package/dist/C_OrgChart-ChZu346B.css.map +1 -0
- package/dist/C_OrgChart-DqBufOv5.css.map +1 -0
- package/dist/C_OrgChart.cjs +1 -0
- package/dist/C_OrgChart.css +282 -0
- package/dist/C_OrgChart.d.cts +2 -0
- package/dist/C_OrgChart.d.ts +2 -0
- package/dist/C_OrgChart.js +1 -0
- package/dist/C_OrgChart.js.map +1 -0
- package/dist/C_OrgChart2.js +2 -0
- package/dist/C_OrgChart2.js.map +1 -0
- package/dist/C_Progress.d.cts +1 -1
- package/dist/C_Progress.d.ts +1 -1
- package/dist/{C_QRCode-CFNTda_1.css.map → C_QRCode-DMxSyogU.css.map} +1 -1
- package/dist/{C_QRCode-CmWr9lK-.css.map → C_QRCode-G7fiAkm4.css.map} +1 -1
- package/dist/C_QRCode.css +9 -9
- package/dist/C_QRCode.js.map +1 -1
- package/dist/C_QRCode2.js +1 -1
- package/dist/C_QRCode2.js.map +1 -1
- package/dist/{C_Signature-BDx4ctsE.css.map → C_Signature-BJMvVPWT.css.map} +1 -1
- package/dist/{C_Signature-Bz_uNbwv.css.map → C_Signature-BJUHx2BF.css.map} +1 -1
- package/dist/C_Signature.css +15 -15
- package/dist/C_Signature.js.map +1 -1
- package/dist/C_Signature2.js +1 -1
- package/dist/C_Signature2.js.map +1 -1
- package/dist/C_Skeleton-BNPbaut7.css.map +1 -0
- package/dist/C_Skeleton-Djsjw8XY.css.map +1 -0
- package/dist/C_Skeleton.cjs +1 -0
- package/dist/C_Skeleton.css +253 -0
- package/dist/C_Skeleton.d.cts +2 -0
- package/dist/C_Skeleton.d.ts +2 -0
- package/dist/C_Skeleton.js +1 -0
- package/dist/C_Skeleton.js.map +1 -0
- package/dist/C_Skeleton2.js +2 -0
- package/dist/C_Skeleton2.js.map +1 -0
- package/dist/{C_SplitPane-BOwr1C7K.css.map → C_SplitPane-Br2eK8IG.css.map} +1 -1
- package/dist/{C_SplitPane-N-a_D-7F.css.map → C_SplitPane-DuyzUhKB.css.map} +1 -1
- package/dist/C_SplitPane.css +31 -31
- package/dist/C_SplitPane.js.map +1 -1
- package/dist/C_SplitPane2.js +1 -1
- package/dist/C_SplitPane2.js.map +1 -1
- package/dist/C_Steps-BHYNJI1l.css.map +1 -0
- package/dist/C_Steps-DY7vl-4I.css.map +1 -0
- package/dist/C_Steps.css +38 -38
- package/dist/C_Steps.d.cts +1 -1
- package/dist/C_Steps.d.ts +1 -1
- package/dist/C_Steps.js.map +1 -1
- package/dist/C_Steps2.js +1 -1
- package/dist/C_Steps2.js.map +1 -1
- package/dist/C_Table-B8hpzOcR.css.map +1 -0
- package/dist/C_Table-CGP3n_u0.css.map +1 -0
- package/dist/C_Table.css +118 -93
- package/dist/C_Table.d.cts +2 -2
- package/dist/C_Table.d.ts +2 -2
- package/dist/C_Table.js.map +1 -1
- package/dist/C_Table2.js +1 -1
- package/dist/C_Table2.js.map +1 -1
- package/dist/{C_TagsView-JIkRrAHT.css.map → C_TagsView-BsutyC3U.css.map} +1 -1
- package/dist/{C_TagsView-mrh0FN4H.css.map → C_TagsView-Crm7yWg9.css.map} +1 -1
- package/dist/C_TagsView.css +36 -36
- package/dist/C_TagsView.d.cts +1 -1
- package/dist/C_TagsView.d.ts +1 -1
- package/dist/C_TagsView.js.map +1 -1
- package/dist/C_TagsView2.js +1 -1
- package/dist/C_TagsView2.js.map +1 -1
- package/dist/C_Theme.d.cts +1 -1
- package/dist/C_Theme.d.ts +1 -1
- package/dist/C_Time-Bd_e1YDN.css.map +1 -0
- package/dist/C_Time-CKb_fwdm.css.map +1 -0
- package/dist/C_Time.css +5 -5
- package/dist/C_Time.js.map +1 -1
- package/dist/C_Time2.js +1 -1
- package/dist/C_Time2.js.map +1 -1
- package/dist/{C_Timeline-BKkimrZx.css.map → C_Timeline-DG70WtJP.css.map} +1 -1
- package/dist/{C_Timeline-DTuSCX6p.css.map → C_Timeline-Dzxmmdjg.css.map} +1 -1
- package/dist/C_Timeline.css +45 -45
- package/dist/C_Timeline.d.cts +1 -1
- package/dist/C_Timeline.d.ts +1 -1
- package/dist/C_Timeline.js.map +1 -1
- package/dist/C_Timeline2.js +1 -1
- package/dist/C_Timeline2.js.map +1 -1
- package/dist/{C_Transfer-BOB6OBqS.css.map → C_Transfer-CCEqnC-v.css.map} +1 -1
- package/dist/{C_Transfer-Dpq7ezWC.css.map → C_Transfer-CStPm4NP.css.map} +1 -1
- package/dist/C_Transfer.css +31 -31
- package/dist/C_Transfer.d.cts +1 -1
- package/dist/C_Transfer.d.ts +1 -1
- package/dist/C_Transfer.js.map +1 -1
- package/dist/C_Transfer2.js +1 -1
- package/dist/C_Transfer2.js.map +1 -1
- package/dist/{C_Tree-D98nX9qT.css.map → C_Tree-B-Le4hjQ.css.map} +1 -1
- package/dist/{C_Tree-ulfm7b-P.css.map → C_Tree-DnGc_MPb.css.map} +1 -1
- package/dist/C_Tree.css +33 -33
- package/dist/C_Tree.js.map +1 -1
- package/dist/C_Tree2.js +1 -1
- package/dist/C_Tree2.js.map +1 -1
- package/dist/{C_Upload-S30RmC9t.css.map → C_Upload-CFAxVGVz.css.map} +1 -1
- package/dist/{C_Upload-i8LB_29U.css.map → C_Upload-D8_QeSV0.css.map} +1 -1
- package/dist/C_Upload.css +14 -9
- package/dist/C_Upload.js.map +1 -1
- package/dist/C_Upload2.js +1 -1
- package/dist/C_Upload2.js.map +1 -1
- package/dist/{C_VideoPlayer-4J96tKfK.css.map → C_VideoPlayer-Cdgv4Zq0.css.map} +1 -1
- package/dist/{C_VideoPlayer-D35seHkm.css.map → C_VideoPlayer-rm0MODUv.css.map} +1 -1
- package/dist/C_VideoPlayer.css +13 -13
- package/dist/C_VideoPlayer.js.map +1 -1
- package/dist/C_VideoPlayer2.js +1 -1
- package/dist/C_VideoPlayer2.js.map +1 -1
- package/dist/{C_VtableGantt-C2lxFmWg.css.map → C_VtableGantt-BpY-Rng3.css.map} +1 -1
- package/dist/{C_VtableGantt-Dwnkw_WL.css.map → C_VtableGantt-DB87-jdS.css.map} +1 -1
- package/dist/C_VtableGantt.css +15 -15
- package/dist/C_VtableGantt.d.cts +1 -1
- package/dist/C_VtableGantt.d.ts +1 -1
- package/dist/C_VtableGantt.js.map +1 -1
- package/dist/C_VtableGantt2.js +1 -1
- package/dist/C_VtableGantt2.js.map +1 -1
- package/dist/{C_WorkFlow-2hJfvvTK.css.map → C_WorkFlow-7F6op6qN.css.map} +1 -1
- package/dist/{C_WorkFlow-DHoNjl8-.css.map → C_WorkFlow-Cy3HWA6A.css.map} +1 -1
- package/dist/C_WorkFlow.css +108 -108
- package/dist/C_WorkFlow.js.map +1 -1
- package/dist/C_WorkFlow2.js +1 -1
- package/dist/C_WorkFlow2.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants2.d.ts +1 -1
- package/dist/constants3.d.ts +3 -3
- package/dist/constants4.d.ts +2 -2
- package/dist/data.d.ts +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +22 -20
- package/dist/index.d.ts +22 -20
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.vue.d.ts +1 -1
- package/dist/index10.vue.d.ts +4 -4
- package/dist/index11.vue.d.ts +3 -3
- package/dist/index13.vue.d.ts +1 -1
- package/dist/index14.vue.d.ts +85 -7
- package/dist/index15.vue.d.ts +5 -5
- package/dist/index17.vue.d.ts +1 -1
- package/dist/index18.vue.d.ts +2 -2
- package/dist/index2.vue.d.ts +5 -5
- package/dist/index20.vue.d.ts +87 -40
- package/dist/index21.vue.d.ts +47 -27
- package/dist/index22.vue.d.ts +95 -79
- package/dist/index23.vue.d.ts +24 -7
- package/dist/index24.vue.d.ts +76 -100
- package/dist/index25.vue.d.ts +7 -70
- package/dist/index26.vue.d.ts +99 -649
- package/dist/index27.vue.d.ts +81 -0
- package/dist/index28.vue.d.ts +662 -0
- package/dist/index3.vue.d.ts +3 -3
- package/dist/index4.vue.d.ts +6 -6
- package/dist/index8.vue.d.ts +2 -2
- package/dist/menuAdapter.js.map +1 -1
- package/dist/resolver.cjs +1 -1
- package/dist/resolver.cjs.map +1 -1
- package/dist/resolver.d.cts +1 -1
- package/dist/resolver.d.ts +1 -1
- package/dist/resolver.js +1 -1
- package/dist/resolver.js.map +1 -1
- package/dist/style.css +2305 -1693
- package/dist/useCalendarEvents.d.ts +1 -1
- package/dist/useCollapsePanel.d.ts +2 -2
- package/dist/useCropperCore.d.ts +4 -4
- package/dist/useDraggableLayout.d.ts +10 -10
- package/dist/useDynamicFormState.d.ts +10 -10
- package/dist/useInfiniteScroll.d.ts +2 -2
- package/dist/useModalEdit.d.ts +47 -1
- package/dist/useQRCode.d.ts +3 -3
- package/dist/useSplitResize.d.ts +7 -7
- package/dist/useTimeSelection.d.ts +2 -2
- package/dist/useTreeOperations.d.ts +4 -4
- package/dist/useWorkflowValidation.d.ts +2 -2
- package/package.json +5 -1
- package/dist/C_ActionBar-DYG0Yf3A.css.map +0 -1
- package/dist/C_ActionBar-MAjRhqcI.css.map +0 -1
- package/dist/C_Chat-CcjZdAwu.css.map +0 -1
- package/dist/C_Chat-Diq7tyWU.css.map +0 -1
- package/dist/C_Code-BFi5xxnM.css.map +0 -1
- package/dist/C_Code-CZ7yfnri.css.map +0 -1
- package/dist/C_Editor-D0_6UhIa.css.map +0 -1
- package/dist/C_Editor-OlxIF9-5.css.map +0 -1
- package/dist/C_FullCalendar-BQA0OjGB.css.map +0 -1
- package/dist/C_FullCalendar-ChJUosAi.css.map +0 -1
- package/dist/C_Markdown-Kujzx1qG.css.map +0 -1
- package/dist/C_Markdown-YCAmBbNF.css.map +0 -1
- package/dist/C_Steps-Bk1krgiR.css.map +0 -1
- package/dist/C_Steps-Dn2CMpy1.css.map +0 -1
- package/dist/C_Table-BV1wUw6f.css.map +0 -1
- package/dist/C_Table-LlJ-JEdm.css.map +0 -1
- package/dist/C_Time-BzyQVvTS.css.map +0 -1
- package/dist/C_Time-DmpKLQHc.css.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"C_Steps-DY7vl-4I.css","names":[],"sources":["../src/components/C_Steps/index.vue?vue&type=style&index=0&scoped=96b53094&lang.scss"],"sourcesContent":["/* unplugin-vue-components disabled */.c-steps[data-v-96b53094] {\n --step-gap: 24px;\n --icon-size: 32px;\n --line-width: 2px;\n --line-gap: 4px;\n --primary: var(--c-primary, #18a058);\n --success: var(--c-success, #18a058);\n --warning: var(--c-warning, #f0a020);\n --error: var(--c-error, #d03050);\n --border: var(--c-border, rgba(0, 0, 0, 0.09));\n --bg-hover: rgba(0, 0, 0, 0.04);\n display: flex;\n}\n.steps-connected[data-v-96b53094] {\n --line-gap: 0px;\n}\n.steps-horizontal[data-v-96b53094] {\n flex-direction: row;\n align-items: flex-start;\n}\n.steps-vertical[data-v-96b53094] {\n flex-direction: column;\n}\n.step-item[data-v-96b53094] {\n display: flex;\n position: relative;\n flex: 1;\n gap: 12px;\n}\n.steps-horizontal .step-item[data-v-96b53094] {\n flex-direction: column;\n align-items: center;\n text-align: center;\n min-width: 0;\n}\n.steps-vertical .step-item[data-v-96b53094] {\n flex-direction: row;\n min-height: 72px;\n flex: none;\n width: 100%;\n}\n.step-indicator[data-v-96b53094] {\n position: relative;\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n.steps-horizontal .step-indicator[data-v-96b53094] {\n width: 100%;\n justify-content: center;\n}\n.steps-vertical .step-indicator[data-v-96b53094] {\n flex-direction: column;\n}\n.step-icon[data-v-96b53094] {\n width: var(--icon-size);\n height: var(--icon-size);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n border: var(--line-width) solid var(--border);\n background: var(--c-bg-card, #fff);\n position: relative;\n z-index: 2;\n transition: all 0.2s ease;\n font-size: 16px;\n}\n.step-finish .step-icon[data-v-96b53094] {\n border-color: var(--success);\n color: var(--success);\n}\n.step-process .step-icon[data-v-96b53094] {\n border-color: var(--primary);\n background: var(--primary);\n color: white;\n}\n.step-error .step-icon[data-v-96b53094] {\n border-color: var(--error);\n color: var(--error);\n}\n.step-index[data-v-96b53094] {\n font-size: 14px;\n font-weight: 500;\n}\n.step-line[data-v-96b53094] {\n background: var(--border);\n position: absolute;\n transition: background 0.2s ease;\n}\n.steps-horizontal .step-line[data-v-96b53094] {\n height: var(--line-width);\n left: calc(50% + var(--icon-size) / 2 + var(--line-gap));\n right: calc(-50% + var(--icon-size) / 2 + var(--line-gap));\n top: calc(var(--icon-size) / 2);\n}\n.steps-vertical .step-line[data-v-96b53094] {\n width: var(--line-width);\n top: var(--icon-size);\n bottom: 0;\n left: calc(var(--icon-size) / 2 - 1px);\n}\n.step-finish .step-line[data-v-96b53094] {\n background: var(--success);\n}\n.step-content[data-v-96b53094] {\n flex: 1;\n min-width: 0;\n}\n.steps-vertical .step-content[data-v-96b53094] {\n padding-top: 4px;\n}\n.step-title[data-v-96b53094] {\n font-size: 14px;\n font-weight: 500;\n line-height: 22px;\n margin-bottom: 2px;\n word-break: break-word;\n}\n.step-time[data-v-96b53094] {\n font-size: 12px;\n line-height: 20px;\n margin-bottom: 2px;\n opacity: 0.65;\n}\n.step-finish .step-time[data-v-96b53094] {\n color: var(--success);\n}\n.step-description[data-v-96b53094] {\n font-size: 12px;\n line-height: 20px;\n opacity: 0.65;\n}\n.step-wait .step-title[data-v-96b53094] {\n opacity: 0.65;\n}\n.step-process .step-title[data-v-96b53094] {\n color: var(--primary);\n font-weight: 600;\n}\n.step-error .step-title[data-v-96b53094] {\n color: var(--error);\n}\n.step-clickable[data-v-96b53094] {\n cursor: pointer;\n}\n.step-clickable:hover .step-icon[data-v-96b53094] {\n transform: scale(1.05);\n}\n.step-clickable:not(.step-process):hover .step-icon[data-v-96b53094] {\n background: var(--bg-hover);\n}\n.step-clickable:hover .step-title[data-v-96b53094] {\n color: var(--primary);\n}\n@media (max-width: 768px) {\n.steps-horizontal[data-v-96b53094] {\n flex-wrap: wrap;\n}\n.steps-horizontal .step-item[data-v-96b53094] {\n flex: 0 0 50%;\n margin-bottom: 24px;\n}\n.steps-horizontal .step-line[data-v-96b53094] {\n display: none;\n}\n}\n@media (prefers-reduced-motion: reduce) {\n.step-icon[data-v-96b53094],\n .step-line[data-v-96b53094] {\n transition: none;\n}\n}"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
package/dist/C_Steps.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* unplugin-vue-components disabled */.c-steps[data-v-
|
|
1
|
+
/* unplugin-vue-components disabled */.c-steps[data-v-96b53094] {
|
|
2
2
|
--step-gap: 24px;
|
|
3
3
|
--icon-size: 32px;
|
|
4
4
|
--line-width: 2px;
|
|
@@ -11,48 +11,48 @@
|
|
|
11
11
|
--bg-hover: rgba(0, 0, 0, 0.04);
|
|
12
12
|
display: flex;
|
|
13
13
|
}
|
|
14
|
-
.steps-connected[data-v-
|
|
14
|
+
.steps-connected[data-v-96b53094] {
|
|
15
15
|
--line-gap: 0px;
|
|
16
16
|
}
|
|
17
|
-
.steps-horizontal[data-v-
|
|
17
|
+
.steps-horizontal[data-v-96b53094] {
|
|
18
18
|
flex-direction: row;
|
|
19
19
|
align-items: flex-start;
|
|
20
20
|
}
|
|
21
|
-
.steps-vertical[data-v-
|
|
21
|
+
.steps-vertical[data-v-96b53094] {
|
|
22
22
|
flex-direction: column;
|
|
23
23
|
}
|
|
24
|
-
.step-item[data-v-
|
|
24
|
+
.step-item[data-v-96b53094] {
|
|
25
25
|
display: flex;
|
|
26
26
|
position: relative;
|
|
27
27
|
flex: 1;
|
|
28
28
|
gap: 12px;
|
|
29
29
|
}
|
|
30
|
-
.steps-horizontal .step-item[data-v-
|
|
30
|
+
.steps-horizontal .step-item[data-v-96b53094] {
|
|
31
31
|
flex-direction: column;
|
|
32
32
|
align-items: center;
|
|
33
33
|
text-align: center;
|
|
34
34
|
min-width: 0;
|
|
35
35
|
}
|
|
36
|
-
.steps-vertical .step-item[data-v-
|
|
36
|
+
.steps-vertical .step-item[data-v-96b53094] {
|
|
37
37
|
flex-direction: row;
|
|
38
38
|
min-height: 72px;
|
|
39
39
|
flex: none;
|
|
40
40
|
width: 100%;
|
|
41
41
|
}
|
|
42
|
-
.step-indicator[data-v-
|
|
42
|
+
.step-indicator[data-v-96b53094] {
|
|
43
43
|
position: relative;
|
|
44
44
|
display: flex;
|
|
45
45
|
align-items: center;
|
|
46
46
|
flex-shrink: 0;
|
|
47
47
|
}
|
|
48
|
-
.steps-horizontal .step-indicator[data-v-
|
|
48
|
+
.steps-horizontal .step-indicator[data-v-96b53094] {
|
|
49
49
|
width: 100%;
|
|
50
50
|
justify-content: center;
|
|
51
51
|
}
|
|
52
|
-
.steps-vertical .step-indicator[data-v-
|
|
52
|
+
.steps-vertical .step-indicator[data-v-96b53094] {
|
|
53
53
|
flex-direction: column;
|
|
54
54
|
}
|
|
55
|
-
.step-icon[data-v-
|
|
55
|
+
.step-icon[data-v-96b53094] {
|
|
56
56
|
width: var(--icon-size);
|
|
57
57
|
height: var(--icon-size);
|
|
58
58
|
border-radius: 50%;
|
|
@@ -66,110 +66,110 @@
|
|
|
66
66
|
transition: all 0.2s ease;
|
|
67
67
|
font-size: 16px;
|
|
68
68
|
}
|
|
69
|
-
.step-finish .step-icon[data-v-
|
|
69
|
+
.step-finish .step-icon[data-v-96b53094] {
|
|
70
70
|
border-color: var(--success);
|
|
71
71
|
color: var(--success);
|
|
72
72
|
}
|
|
73
|
-
.step-process .step-icon[data-v-
|
|
73
|
+
.step-process .step-icon[data-v-96b53094] {
|
|
74
74
|
border-color: var(--primary);
|
|
75
75
|
background: var(--primary);
|
|
76
76
|
color: white;
|
|
77
77
|
}
|
|
78
|
-
.step-error .step-icon[data-v-
|
|
78
|
+
.step-error .step-icon[data-v-96b53094] {
|
|
79
79
|
border-color: var(--error);
|
|
80
80
|
color: var(--error);
|
|
81
81
|
}
|
|
82
|
-
.step-index[data-v-
|
|
82
|
+
.step-index[data-v-96b53094] {
|
|
83
83
|
font-size: 14px;
|
|
84
84
|
font-weight: 500;
|
|
85
85
|
}
|
|
86
|
-
.step-line[data-v-
|
|
86
|
+
.step-line[data-v-96b53094] {
|
|
87
87
|
background: var(--border);
|
|
88
88
|
position: absolute;
|
|
89
89
|
transition: background 0.2s ease;
|
|
90
90
|
}
|
|
91
|
-
.steps-horizontal .step-line[data-v-
|
|
91
|
+
.steps-horizontal .step-line[data-v-96b53094] {
|
|
92
92
|
height: var(--line-width);
|
|
93
93
|
left: calc(50% + var(--icon-size) / 2 + var(--line-gap));
|
|
94
94
|
right: calc(-50% + var(--icon-size) / 2 + var(--line-gap));
|
|
95
95
|
top: calc(var(--icon-size) / 2);
|
|
96
96
|
}
|
|
97
|
-
.steps-vertical .step-line[data-v-
|
|
97
|
+
.steps-vertical .step-line[data-v-96b53094] {
|
|
98
98
|
width: var(--line-width);
|
|
99
99
|
top: var(--icon-size);
|
|
100
100
|
bottom: 0;
|
|
101
101
|
left: calc(var(--icon-size) / 2 - 1px);
|
|
102
102
|
}
|
|
103
|
-
.step-finish .step-line[data-v-
|
|
103
|
+
.step-finish .step-line[data-v-96b53094] {
|
|
104
104
|
background: var(--success);
|
|
105
105
|
}
|
|
106
|
-
.step-content[data-v-
|
|
106
|
+
.step-content[data-v-96b53094] {
|
|
107
107
|
flex: 1;
|
|
108
108
|
min-width: 0;
|
|
109
109
|
}
|
|
110
|
-
.steps-vertical .step-content[data-v-
|
|
110
|
+
.steps-vertical .step-content[data-v-96b53094] {
|
|
111
111
|
padding-top: 4px;
|
|
112
112
|
}
|
|
113
|
-
.step-title[data-v-
|
|
113
|
+
.step-title[data-v-96b53094] {
|
|
114
114
|
font-size: 14px;
|
|
115
115
|
font-weight: 500;
|
|
116
116
|
line-height: 22px;
|
|
117
117
|
margin-bottom: 2px;
|
|
118
118
|
word-break: break-word;
|
|
119
119
|
}
|
|
120
|
-
.step-time[data-v-
|
|
120
|
+
.step-time[data-v-96b53094] {
|
|
121
121
|
font-size: 12px;
|
|
122
122
|
line-height: 20px;
|
|
123
123
|
margin-bottom: 2px;
|
|
124
124
|
opacity: 0.65;
|
|
125
125
|
}
|
|
126
|
-
.step-finish .step-time[data-v-
|
|
126
|
+
.step-finish .step-time[data-v-96b53094] {
|
|
127
127
|
color: var(--success);
|
|
128
128
|
}
|
|
129
|
-
.step-description[data-v-
|
|
129
|
+
.step-description[data-v-96b53094] {
|
|
130
130
|
font-size: 12px;
|
|
131
131
|
line-height: 20px;
|
|
132
132
|
opacity: 0.65;
|
|
133
133
|
}
|
|
134
|
-
.step-wait .step-title[data-v-
|
|
134
|
+
.step-wait .step-title[data-v-96b53094] {
|
|
135
135
|
opacity: 0.65;
|
|
136
136
|
}
|
|
137
|
-
.step-process .step-title[data-v-
|
|
137
|
+
.step-process .step-title[data-v-96b53094] {
|
|
138
138
|
color: var(--primary);
|
|
139
139
|
font-weight: 600;
|
|
140
140
|
}
|
|
141
|
-
.step-error .step-title[data-v-
|
|
141
|
+
.step-error .step-title[data-v-96b53094] {
|
|
142
142
|
color: var(--error);
|
|
143
143
|
}
|
|
144
|
-
.step-clickable[data-v-
|
|
144
|
+
.step-clickable[data-v-96b53094] {
|
|
145
145
|
cursor: pointer;
|
|
146
146
|
}
|
|
147
|
-
.step-clickable:hover .step-icon[data-v-
|
|
147
|
+
.step-clickable:hover .step-icon[data-v-96b53094] {
|
|
148
148
|
transform: scale(1.05);
|
|
149
149
|
}
|
|
150
|
-
.step-clickable:not(.step-process):hover .step-icon[data-v-
|
|
150
|
+
.step-clickable:not(.step-process):hover .step-icon[data-v-96b53094] {
|
|
151
151
|
background: var(--bg-hover);
|
|
152
152
|
}
|
|
153
|
-
.step-clickable:hover .step-title[data-v-
|
|
153
|
+
.step-clickable:hover .step-title[data-v-96b53094] {
|
|
154
154
|
color: var(--primary);
|
|
155
155
|
}
|
|
156
156
|
@media (max-width: 768px) {
|
|
157
|
-
.steps-horizontal[data-v-
|
|
157
|
+
.steps-horizontal[data-v-96b53094] {
|
|
158
158
|
flex-wrap: wrap;
|
|
159
159
|
}
|
|
160
|
-
.steps-horizontal .step-item[data-v-
|
|
160
|
+
.steps-horizontal .step-item[data-v-96b53094] {
|
|
161
161
|
flex: 0 0 50%;
|
|
162
162
|
margin-bottom: 24px;
|
|
163
163
|
}
|
|
164
|
-
.steps-horizontal .step-line[data-v-
|
|
164
|
+
.steps-horizontal .step-line[data-v-96b53094] {
|
|
165
165
|
display: none;
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
168
|
@media (prefers-reduced-motion: reduce) {
|
|
169
|
-
.step-icon[data-v-
|
|
170
|
-
.step-line[data-v-
|
|
169
|
+
.step-icon[data-v-96b53094],
|
|
170
|
+
.step-line[data-v-96b53094] {
|
|
171
171
|
transition: none;
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
174
|
|
|
175
|
-
/*# sourceMappingURL=C_Steps-
|
|
175
|
+
/*# sourceMappingURL=C_Steps-BHYNJI1l.css.map*/
|
package/dist/C_Steps.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as _default, t as StepItem } from "./
|
|
1
|
+
import { n as _default, t as StepItem } from "./index23.vue.js";
|
|
2
2
|
export { _default as C_Steps, type StepItem };
|
package/dist/C_Steps.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as _default, t as StepItem } from "./
|
|
1
|
+
import { n as _default, t as StepItem } from "./index23.vue.js";
|
|
2
2
|
export { _default as C_Steps, type StepItem };
|
package/dist/C_Steps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"C_Steps.js","names":["direction","connected","steps","clickable"],"sources":["../src/components/C_Steps/index.vue","../src/components/C_Steps/index.vue","../src/components/C_Steps/index.vue"],"sourcesContent":["/* unplugin-vue-components disabled */<!--\n * @Author: ChenYu ycyplus@gmail.com\n * @Date: 2025-06-01\n * @Description: 步骤条组件\n * @Migration: naive-ui-components 组件库迁移版本\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\n-->\n<template>\n <div\n class=\"c-steps\"\n :class=\"[`steps-${direction}`, { 'steps-connected': connected }]\"\n >\n <div\n v-for=\"(step, index) in steps\"\n :key=\"index\"\n class=\"step-item\"\n :class=\"[\n `step-${getStatus(index)}`,\n { 'step-clickable': clickable && !step.disabled },\n ]\"\n @click=\"handleClick(index)\"\n >\n <div class=\"step-indicator\">\n <div class=\"step-icon\">\n <i\n v-if=\"step.icon\"\n :class=\"step.icon\"\n ></i>\n <i\n v-else-if=\"getStatus(index) === 'finish'\"\n class=\"i-mdi:check\"\n ></i>\n <span\n v-else\n class=\"step-index\"\n >{{ index + 1 }}</span\n >\n </div>\n <div\n v-if=\"index < steps.length - 1\"\n class=\"step-line\"\n />\n </div>\n <div class=\"step-content\">\n <div class=\"step-title\">{{ step.title }}</div>\n <div\n v-if=\"step.time\"\n class=\"step-time\"\n >{{ step.time }}</div\n >\n <div\n v-if=\"step.description\"\n class=\"step-description\"\n >\n {{ step.description }}\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n defineOptions({ name: 'C_Steps' })\n\n export interface StepItem {\n title: string\n description?: string\n time?: string\n icon?: string\n status?: 'wait' | 'process' | 'finish' | 'error'\n disabled?: boolean\n detail?: string\n }\n\n const props = withDefaults(\n defineProps<{\n steps: StepItem[]\n current?: number\n direction?: 'horizontal' | 'vertical'\n clickable?: boolean\n /** 水平模式下线条是否与图标紧密相连,默认 false(两端留有对称间距)*/\n connected?: boolean\n }>(),\n {\n current: 0,\n direction: 'horizontal',\n clickable: false,\n connected: false,\n }\n )\n\n const emit = defineEmits<{\n 'update:current': [number]\n change: [number]\n }>()\n\n const getStatus = (index: number) => {\n if (props.steps[index].status) {\n return props.steps[index].status\n }\n if (index < props.current) return 'finish'\n if (index === props.current) return 'process'\n return 'wait'\n }\n\n const handleClick = (index: number) => {\n if (!props.clickable || props.steps[index].disabled) return\n emit('update:current', index)\n emit('change', index)\n }\n</script>\n\n<style scoped lang=\"scss\">\n @use './index.scss';\n</style>\n","/* unplugin-vue-components disabled */<!--\n * @Author: ChenYu ycyplus@gmail.com\n * @Date: 2025-06-01\n * @Description: 步骤条组件\n * @Migration: naive-ui-components 组件库迁移版本\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\n-->\n<template>\n <div\n class=\"c-steps\"\n :class=\"[`steps-${direction}`, { 'steps-connected': connected }]\"\n >\n <div\n v-for=\"(step, index) in steps\"\n :key=\"index\"\n class=\"step-item\"\n :class=\"[\n `step-${getStatus(index)}`,\n { 'step-clickable': clickable && !step.disabled },\n ]\"\n @click=\"handleClick(index)\"\n >\n <div class=\"step-indicator\">\n <div class=\"step-icon\">\n <i\n v-if=\"step.icon\"\n :class=\"step.icon\"\n ></i>\n <i\n v-else-if=\"getStatus(index) === 'finish'\"\n class=\"i-mdi:check\"\n ></i>\n <span\n v-else\n class=\"step-index\"\n >{{ index + 1 }}</span\n >\n </div>\n <div\n v-if=\"index < steps.length - 1\"\n class=\"step-line\"\n />\n </div>\n <div class=\"step-content\">\n <div class=\"step-title\">{{ step.title }}</div>\n <div\n v-if=\"step.time\"\n class=\"step-time\"\n >{{ step.time }}</div\n >\n <div\n v-if=\"step.description\"\n class=\"step-description\"\n >\n {{ step.description }}\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n defineOptions({ name: 'C_Steps' })\n\n export interface StepItem {\n title: string\n description?: string\n time?: string\n icon?: string\n status?: 'wait' | 'process' | 'finish' | 'error'\n disabled?: boolean\n detail?: string\n }\n\n const props = withDefaults(\n defineProps<{\n steps: StepItem[]\n current?: number\n direction?: 'horizontal' | 'vertical'\n clickable?: boolean\n /** 水平模式下线条是否与图标紧密相连,默认 false(两端留有对称间距)*/\n connected?: boolean\n }>(),\n {\n current: 0,\n direction: 'horizontal',\n clickable: false,\n connected: false,\n }\n )\n\n const emit = defineEmits<{\n 'update:current': [number]\n change: [number]\n }>()\n\n const getStatus = (index: number) => {\n if (props.steps[index].status) {\n return props.steps[index].status\n }\n if (index < props.current) return 'finish'\n if (index === props.current) return 'process'\n return 'wait'\n }\n\n const handleClick = (index: number) => {\n if (!props.clickable || props.steps[index].disabled) return\n emit('update:current', index)\n emit('change', index)\n }\n</script>\n\n<style scoped lang=\"scss\">\n @use './index.scss';\n</style>\n","<!--\n * @Author: ChenYu ycyplus@gmail.com\n * @Date: 2025-06-01\n * @Description: 步骤条组件\n * @Migration: naive-ui-components 组件库迁移版本\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\n-->\n<template>\n <div\n class=\"c-steps\"\n :class=\"[`steps-${direction}`, { 'steps-connected': connected }]\"\n >\n <div\n v-for=\"(step, index) in steps\"\n :key=\"index\"\n class=\"step-item\"\n :class=\"[\n `step-${getStatus(index)}`,\n { 'step-clickable': clickable && !step.disabled },\n ]\"\n @click=\"handleClick(index)\"\n >\n <div class=\"step-indicator\">\n <div class=\"step-icon\">\n <i\n v-if=\"step.icon\"\n :class=\"step.icon\"\n ></i>\n <i\n v-else-if=\"getStatus(index) === 'finish'\"\n class=\"i-mdi:check\"\n ></i>\n <span\n v-else\n class=\"step-index\"\n >{{ index + 1 }}</span\n >\n </div>\n <div\n v-if=\"index < steps.length - 1\"\n class=\"step-line\"\n />\n </div>\n <div class=\"step-content\">\n <div class=\"step-title\">{{ step.title }}</div>\n <div\n v-if=\"step.time\"\n class=\"step-time\"\n >{{ step.time }}</div\n >\n <div\n v-if=\"step.description\"\n class=\"step-description\"\n >\n {{ step.description }}\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n defineOptions({ name: 'C_Steps' })\n\n export interface StepItem {\n title: string\n description?: string\n time?: string\n icon?: string\n status?: 'wait' | 'process' | 'finish' | 'error'\n disabled?: boolean\n detail?: string\n }\n\n const props = withDefaults(\n defineProps<{\n steps: StepItem[]\n current?: number\n direction?: 'horizontal' | 'vertical'\n clickable?: boolean\n /** 水平模式下线条是否与图标紧密相连,默认 false(两端留有对称间距)*/\n connected?: boolean\n }>(),\n {\n current: 0,\n direction: 'horizontal',\n clickable: false,\n connected: false,\n }\n )\n\n const emit = defineEmits<{\n 'update:current': [number]\n change: [number]\n }>()\n\n const getStatus = (index: number) => {\n if (props.steps[index].status) {\n return props.steps[index].status\n }\n if (index < props.current) return 'finish'\n if (index === props.current) return 'process'\n return 'wait'\n }\n\n const handleClick = (index: number) => {\n if (!props.clickable || props.steps[index].disabled) return\n emit('update:current', index)\n emit('change', index)\n }\n</script>\n\n<style scoped lang=\"scss\">\n @use './index.scss';\n</style>\n"],"mappings":"ylBE0EE,IAAM,EAAQ,EAiBR,EAAO,EAKP,EAAa,GACb,EAAM,MAAM,GAAO,OACd,EAAM,MAAM,GAAO,OAExB,EAAQ,EAAM,QAAgB,SAC9B,IAAU,EAAM,QAAgB,UAC7B,OAGH,EAAe,GAAkB,CACjC,CAAC,EAAM,WAAa,EAAM,MAAM,GAAO,WAC3C,EAAK,iBAAkB,EAAK,CAC5B,EAAK,SAAU,EAAK,4DAlDhB,MAAA,CAjDJ,OAAA,EAAA,EAAA,gBAAK,CAAC,UAAS,CAAA,SACGA,EAAAA,YAAS,CAAA,kBAAyBC,EAAAA,UAAS,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,EAAA,EAAA,WAAA,GAAA,EAAA,EAAA,EAAA,oBA+CvD,EAAA,SAAA,MAAA,EAAA,EAAA,YA5CoBC,EAAAA,OAAhB,EAAM,gDA4CV,MAAA,CA3CH,IAAK,EACN,OAAA,EAAA,EAAA,gBAAK,CAAC,YAAW,CAAA,QACS,EAAU,EAAK,GAAA,CAAA,iBAAiCC,EAAAA,WAAS,CAAK,EAAK,SAAQ,CAAA,CAAA,CAAA,CAIpG,QAAK,GAAE,EAAY,EAAK,4BAsBnB,MApBN,EAoBM,EAAA,EAAA,EAAA,oBALE,MAdN,EAcM,CAZI,EAAK,OAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAER,IAAA,OADF,OAAA,EAAA,EAAA,gBAAO,EAAK,KAAI,WAGN,EAAU,EAAK,GAAA,WAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAEvB,IAHL,EAGK,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAKJ,OAJD,GAAA,EAAA,EAAA,iBAGM,EAAK,EAAA,CAAA,EAAA,EAAA,CAAA,CAIL,EAAQD,EAAAA,MAAM,OAAM,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAE1B,MAHF,EAGE,GAAA,EAAA,EAAA,oBAAA,OAAA,GAAA,CAAA,CAAA,EAAA,EAAA,EAAA,oBAeE,MAbN,EAaM,0BAZ0C,MAA9C,GAAA,EAAA,EAAA,iBAA2B,EAAK,MAAK,CAAA,EAAA,CAE7B,EAAK,OAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAGZ,MAJD,GAAA,EAAA,EAAA,iBAGM,EAAK,KAAI,CAAA,EAAA,GAAA,EAAA,EAAA,oBAAA,OAAA,GAAA,CAGP,EAAK,cAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAIP,MALN,GAAA,EAAA,EAAA,iBAIK,EAAK,YAAW,CAAA,EAAA,GAAA,EAAA,EAAA,oBAAA,OAAA,GAAA"}
|
|
1
|
+
{"version":3,"file":"C_Steps.js","names":["direction","connected","steps","clickable"],"sources":["../src/components/C_Steps/index.vue","../src/components/C_Steps/index.vue","../src/components/C_Steps/index.vue"],"sourcesContent":["/* unplugin-vue-components disabled */<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 步骤条组件\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div\r\n class=\"c-steps\"\r\n :class=\"[`steps-${direction}`, { 'steps-connected': connected }]\"\r\n >\r\n <div\r\n v-for=\"(step, index) in steps\"\r\n :key=\"index\"\r\n class=\"step-item\"\r\n :class=\"[\r\n `step-${getStatus(index)}`,\r\n { 'step-clickable': clickable && !step.disabled },\r\n ]\"\r\n @click=\"handleClick(index)\"\r\n >\r\n <div class=\"step-indicator\">\r\n <div class=\"step-icon\">\r\n <i\r\n v-if=\"step.icon\"\r\n :class=\"step.icon\"\r\n ></i>\r\n <i\r\n v-else-if=\"getStatus(index) === 'finish'\"\r\n class=\"i-mdi:check\"\r\n ></i>\r\n <span\r\n v-else\r\n class=\"step-index\"\r\n >{{ index + 1 }}</span\r\n >\r\n </div>\r\n <div\r\n v-if=\"index < steps.length - 1\"\r\n class=\"step-line\"\r\n />\r\n </div>\r\n <div class=\"step-content\">\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n <div\r\n v-if=\"step.time\"\r\n class=\"step-time\"\r\n >{{ step.time }}</div\r\n >\r\n <div\r\n v-if=\"step.description\"\r\n class=\"step-description\"\r\n >\r\n {{ step.description }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\n defineOptions({ name: 'C_Steps' })\r\n\r\n export interface StepItem {\r\n title: string\r\n description?: string\r\n time?: string\r\n icon?: string\r\n status?: 'wait' | 'process' | 'finish' | 'error'\r\n disabled?: boolean\r\n detail?: string\r\n }\r\n\r\n const props = withDefaults(\r\n defineProps<{\r\n steps: StepItem[]\r\n current?: number\r\n direction?: 'horizontal' | 'vertical'\r\n clickable?: boolean\r\n /** 水平模式下线条是否与图标紧密相连,默认 false(两端留有对称间距)*/\r\n connected?: boolean\r\n }>(),\r\n {\r\n current: 0,\r\n direction: 'horizontal',\r\n clickable: false,\r\n connected: false,\r\n }\r\n )\r\n\r\n const emit = defineEmits<{\r\n 'update:current': [number]\r\n change: [number]\r\n }>()\r\n\r\n const getStatus = (index: number) => {\r\n if (props.steps[index].status) {\r\n return props.steps[index].status\r\n }\r\n if (index < props.current) return 'finish'\r\n if (index === props.current) return 'process'\r\n return 'wait'\r\n }\r\n\r\n const handleClick = (index: number) => {\r\n if (!props.clickable || props.steps[index].disabled) return\r\n emit('update:current', index)\r\n emit('change', index)\r\n }\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n @use './index.scss';\r\n</style>\r\n","/* unplugin-vue-components disabled */<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 步骤条组件\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div\r\n class=\"c-steps\"\r\n :class=\"[`steps-${direction}`, { 'steps-connected': connected }]\"\r\n >\r\n <div\r\n v-for=\"(step, index) in steps\"\r\n :key=\"index\"\r\n class=\"step-item\"\r\n :class=\"[\r\n `step-${getStatus(index)}`,\r\n { 'step-clickable': clickable && !step.disabled },\r\n ]\"\r\n @click=\"handleClick(index)\"\r\n >\r\n <div class=\"step-indicator\">\r\n <div class=\"step-icon\">\r\n <i\r\n v-if=\"step.icon\"\r\n :class=\"step.icon\"\r\n ></i>\r\n <i\r\n v-else-if=\"getStatus(index) === 'finish'\"\r\n class=\"i-mdi:check\"\r\n ></i>\r\n <span\r\n v-else\r\n class=\"step-index\"\r\n >{{ index + 1 }}</span\r\n >\r\n </div>\r\n <div\r\n v-if=\"index < steps.length - 1\"\r\n class=\"step-line\"\r\n />\r\n </div>\r\n <div class=\"step-content\">\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n <div\r\n v-if=\"step.time\"\r\n class=\"step-time\"\r\n >{{ step.time }}</div\r\n >\r\n <div\r\n v-if=\"step.description\"\r\n class=\"step-description\"\r\n >\r\n {{ step.description }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\n defineOptions({ name: 'C_Steps' })\r\n\r\n export interface StepItem {\r\n title: string\r\n description?: string\r\n time?: string\r\n icon?: string\r\n status?: 'wait' | 'process' | 'finish' | 'error'\r\n disabled?: boolean\r\n detail?: string\r\n }\r\n\r\n const props = withDefaults(\r\n defineProps<{\r\n steps: StepItem[]\r\n current?: number\r\n direction?: 'horizontal' | 'vertical'\r\n clickable?: boolean\r\n /** 水平模式下线条是否与图标紧密相连,默认 false(两端留有对称间距)*/\r\n connected?: boolean\r\n }>(),\r\n {\r\n current: 0,\r\n direction: 'horizontal',\r\n clickable: false,\r\n connected: false,\r\n }\r\n )\r\n\r\n const emit = defineEmits<{\r\n 'update:current': [number]\r\n change: [number]\r\n }>()\r\n\r\n const getStatus = (index: number) => {\r\n if (props.steps[index].status) {\r\n return props.steps[index].status\r\n }\r\n if (index < props.current) return 'finish'\r\n if (index === props.current) return 'process'\r\n return 'wait'\r\n }\r\n\r\n const handleClick = (index: number) => {\r\n if (!props.clickable || props.steps[index].disabled) return\r\n emit('update:current', index)\r\n emit('change', index)\r\n }\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n @use './index.scss';\r\n</style>\r\n","<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 步骤条组件\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div\r\n class=\"c-steps\"\r\n :class=\"[`steps-${direction}`, { 'steps-connected': connected }]\"\r\n >\r\n <div\r\n v-for=\"(step, index) in steps\"\r\n :key=\"index\"\r\n class=\"step-item\"\r\n :class=\"[\r\n `step-${getStatus(index)}`,\r\n { 'step-clickable': clickable && !step.disabled },\r\n ]\"\r\n @click=\"handleClick(index)\"\r\n >\r\n <div class=\"step-indicator\">\r\n <div class=\"step-icon\">\r\n <i\r\n v-if=\"step.icon\"\r\n :class=\"step.icon\"\r\n ></i>\r\n <i\r\n v-else-if=\"getStatus(index) === 'finish'\"\r\n class=\"i-mdi:check\"\r\n ></i>\r\n <span\r\n v-else\r\n class=\"step-index\"\r\n >{{ index + 1 }}</span\r\n >\r\n </div>\r\n <div\r\n v-if=\"index < steps.length - 1\"\r\n class=\"step-line\"\r\n />\r\n </div>\r\n <div class=\"step-content\">\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n <div\r\n v-if=\"step.time\"\r\n class=\"step-time\"\r\n >{{ step.time }}</div\r\n >\r\n <div\r\n v-if=\"step.description\"\r\n class=\"step-description\"\r\n >\r\n {{ step.description }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\n defineOptions({ name: 'C_Steps' })\r\n\r\n export interface StepItem {\r\n title: string\r\n description?: string\r\n time?: string\r\n icon?: string\r\n status?: 'wait' | 'process' | 'finish' | 'error'\r\n disabled?: boolean\r\n detail?: string\r\n }\r\n\r\n const props = withDefaults(\r\n defineProps<{\r\n steps: StepItem[]\r\n current?: number\r\n direction?: 'horizontal' | 'vertical'\r\n clickable?: boolean\r\n /** 水平模式下线条是否与图标紧密相连,默认 false(两端留有对称间距)*/\r\n connected?: boolean\r\n }>(),\r\n {\r\n current: 0,\r\n direction: 'horizontal',\r\n clickable: false,\r\n connected: false,\r\n }\r\n )\r\n\r\n const emit = defineEmits<{\r\n 'update:current': [number]\r\n change: [number]\r\n }>()\r\n\r\n const getStatus = (index: number) => {\r\n if (props.steps[index].status) {\r\n return props.steps[index].status\r\n }\r\n if (index < props.current) return 'finish'\r\n if (index === props.current) return 'process'\r\n return 'wait'\r\n }\r\n\r\n const handleClick = (index: number) => {\r\n if (!props.clickable || props.steps[index].disabled) return\r\n emit('update:current', index)\r\n emit('change', index)\r\n }\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n @use './index.scss';\r\n</style>\r\n"],"mappings":"ylBE0EE,IAAM,EAAQ,EAiBR,EAAO,EAKP,EAAa,GACb,EAAM,MAAM,GAAO,OACd,EAAM,MAAM,GAAO,OAExB,EAAQ,EAAM,QAAgB,SAC9B,IAAU,EAAM,QAAgB,UAC7B,OAGH,EAAe,GAAkB,CACjC,CAAC,EAAM,WAAa,EAAM,MAAM,GAAO,WAC3C,EAAK,iBAAkB,EAAM,CAC7B,EAAK,SAAU,EAAM,4DAlDjB,MAAA,CAjDJ,OAAA,EAAA,EAAA,gBAAK,CAAC,UAAS,CAAA,SACGA,EAAAA,YAAS,CAAA,kBAAyBC,EAAAA,UAAS,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,EAAA,EAAA,WAAA,GAAA,EAAA,EAAA,EAAA,oBA+CvD,EAAA,SAAA,MAAA,EAAA,EAAA,YA5CoBC,EAAAA,OAAhB,EAAM,gDA4CV,MAAA,CA3CH,IAAK,EACN,OAAA,EAAA,EAAA,gBAAK,CAAC,YAAW,CAAA,QACU,EAAU,EAAK,GAAA,CAAA,iBAAkCC,EAAAA,WAAS,CAAK,EAAK,SAAQ,CAAA,CAAA,CAAA,CAItG,QAAK,GAAE,EAAY,EAAK,4BAsBnB,MApBN,EAoBM,EAAA,EAAA,EAAA,oBALE,MAdN,EAcM,CAZI,EAAK,OAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAER,IAAA,OADF,OAAA,EAAA,EAAA,gBAAO,EAAK,KAAI,WAGN,EAAU,EAAK,GAAA,WAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAEvB,IAHL,EAGK,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAIgC,OAHrC,GAAA,EAAA,EAAA,iBAGM,EAAK,EAAA,CAAA,EAAA,EAAA,CAAA,CAIL,EAAQD,EAAAA,MAAM,OAAM,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAE1B,MAHF,EAGE,GAAA,EAAA,EAAA,oBAAA,OAAA,GAAA,CAAA,CAAA,EAAA,EAAA,EAAA,oBAeE,MAbN,EAaM,0BAZ0C,MAA9C,GAAA,EAAA,EAAA,iBAA2B,EAAK,MAAK,CAAA,EAAA,CAE7B,EAAK,OAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAEqB,MAHlC,GAAA,EAAA,EAAA,iBAGM,EAAK,KAAI,CAAA,EAAA,GAAA,EAAA,EAAA,oBAAA,OAAA,GAAA,CAGP,EAAK,cAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAIP,MALN,GAAA,EAAA,EAAA,iBAIK,EAAK,YAAW,CAAA,EAAA,GAAA,EAAA,EAAA,oBAAA,OAAA,GAAA"}
|
package/dist/C_Steps2.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./export-helper.js";import{Fragment as t,createCommentVNode as n,createElementBlock as r,createElementVNode as i,defineComponent as a,normalizeClass as o,openBlock as s,renderList as c,toDisplayString as l}from"vue";const u=[`onClick`],d={class:`step-indicator`},f={class:`step-icon`},p={key:1,class:`i-mdi:check`},m={key:2,class:`step-index`},h={key:0,class:`step-line`},g={class:`step-content`},_={class:`step-title`},v={key:0,class:`step-time`},y={key:1,class:`step-description`};var b=e(a({name:`C_Steps`,__name:`index`,props:{steps:{},current:{default:0},direction:{default:`horizontal`},clickable:{type:Boolean,default:!1},connected:{type:Boolean,default:!1}},emits:[`update:current`,`change`],setup(e,{emit:a}){let b=e,x=a,S=e=>b.steps[e].status?b.steps[e].status:e<b.current?`finish`:e===b.current?`process`:`wait`,C=e=>{!b.clickable||b.steps[e].disabled||(x(`update:current`,e),x(`change`,e))};return(e,a)=>(s(),r(`div`,{class:o([`c-steps`,[`steps-${e.direction}`,{"steps-connected":e.connected}]])},[(s(!0),r(t,null,c(e.steps,(t,a)=>(s(),r(`div`,{key:a,class:o([`step-item`,[`step-${S(a)}`,{"step-clickable":e.clickable&&!t.disabled}]]),onClick:e=>C(a)},[i(`div`,d,[i(`div`,f,[t.icon?(s(),r(`i`,{key:0,class:o(t.icon)},null,2)):S(a)===`finish`?(s(),r(`i`,p)):(s(),r(`span`,m,l(a+1),1))]),a<e.steps.length-1?(s(),r(`div`,h)):n(`v-if`,!0)]),i(`div`,g,[i(`div`,_,l(t.title),1),t.time?(s(),r(`div`,v,l(t.time),1)):n(`v-if`,!0),t.description?(s(),r(`div`,y,l(t.description),1)):n(`v-if`,!0)])],10,u))),128))],2))}}),[[`__scopeId`,`data-v-
|
|
1
|
+
import{t as e}from"./export-helper.js";import{Fragment as t,createCommentVNode as n,createElementBlock as r,createElementVNode as i,defineComponent as a,normalizeClass as o,openBlock as s,renderList as c,toDisplayString as l}from"vue";const u=[`onClick`],d={class:`step-indicator`},f={class:`step-icon`},p={key:1,class:`i-mdi:check`},m={key:2,class:`step-index`},h={key:0,class:`step-line`},g={class:`step-content`},_={class:`step-title`},v={key:0,class:`step-time`},y={key:1,class:`step-description`};var b=e(a({name:`C_Steps`,__name:`index`,props:{steps:{},current:{default:0},direction:{default:`horizontal`},clickable:{type:Boolean,default:!1},connected:{type:Boolean,default:!1}},emits:[`update:current`,`change`],setup(e,{emit:a}){let b=e,x=a,S=e=>b.steps[e].status?b.steps[e].status:e<b.current?`finish`:e===b.current?`process`:`wait`,C=e=>{!b.clickable||b.steps[e].disabled||(x(`update:current`,e),x(`change`,e))};return(e,a)=>(s(),r(`div`,{class:o([`c-steps`,[`steps-${e.direction}`,{"steps-connected":e.connected}]])},[(s(!0),r(t,null,c(e.steps,(t,a)=>(s(),r(`div`,{key:a,class:o([`step-item`,[`step-${S(a)}`,{"step-clickable":e.clickable&&!t.disabled}]]),onClick:e=>C(a)},[i(`div`,d,[i(`div`,f,[t.icon?(s(),r(`i`,{key:0,class:o(t.icon)},null,2)):S(a)===`finish`?(s(),r(`i`,p)):(s(),r(`span`,m,l(a+1),1))]),a<e.steps.length-1?(s(),r(`div`,h)):n(`v-if`,!0)]),i(`div`,g,[i(`div`,_,l(t.title),1),t.time?(s(),r(`div`,v,l(t.time),1)):n(`v-if`,!0),t.description?(s(),r(`div`,y,l(t.description),1)):n(`v-if`,!0)])],10,u))),128))],2))}}),[[`__scopeId`,`data-v-96b53094`]]);export{b as t};
|
|
2
2
|
//# sourceMappingURL=C_Steps2.js.map
|
package/dist/C_Steps2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"C_Steps2.js","names":["direction","connected","steps","clickable"],"sources":["../src/components/C_Steps/index.vue","../src/components/C_Steps/index.vue","../src/components/C_Steps/index.vue"],"sourcesContent":["/* unplugin-vue-components disabled */<!--\n * @Author: ChenYu ycyplus@gmail.com\n * @Date: 2025-06-01\n * @Description: 步骤条组件\n * @Migration: naive-ui-components 组件库迁移版本\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\n-->\n<template>\n <div\n class=\"c-steps\"\n :class=\"[`steps-${direction}`, { 'steps-connected': connected }]\"\n >\n <div\n v-for=\"(step, index) in steps\"\n :key=\"index\"\n class=\"step-item\"\n :class=\"[\n `step-${getStatus(index)}`,\n { 'step-clickable': clickable && !step.disabled },\n ]\"\n @click=\"handleClick(index)\"\n >\n <div class=\"step-indicator\">\n <div class=\"step-icon\">\n <i\n v-if=\"step.icon\"\n :class=\"step.icon\"\n ></i>\n <i\n v-else-if=\"getStatus(index) === 'finish'\"\n class=\"i-mdi:check\"\n ></i>\n <span\n v-else\n class=\"step-index\"\n >{{ index + 1 }}</span\n >\n </div>\n <div\n v-if=\"index < steps.length - 1\"\n class=\"step-line\"\n />\n </div>\n <div class=\"step-content\">\n <div class=\"step-title\">{{ step.title }}</div>\n <div\n v-if=\"step.time\"\n class=\"step-time\"\n >{{ step.time }}</div\n >\n <div\n v-if=\"step.description\"\n class=\"step-description\"\n >\n {{ step.description }}\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n defineOptions({ name: 'C_Steps' })\n\n export interface StepItem {\n title: string\n description?: string\n time?: string\n icon?: string\n status?: 'wait' | 'process' | 'finish' | 'error'\n disabled?: boolean\n detail?: string\n }\n\n const props = withDefaults(\n defineProps<{\n steps: StepItem[]\n current?: number\n direction?: 'horizontal' | 'vertical'\n clickable?: boolean\n /** 水平模式下线条是否与图标紧密相连,默认 false(两端留有对称间距)*/\n connected?: boolean\n }>(),\n {\n current: 0,\n direction: 'horizontal',\n clickable: false,\n connected: false,\n }\n )\n\n const emit = defineEmits<{\n 'update:current': [number]\n change: [number]\n }>()\n\n const getStatus = (index: number) => {\n if (props.steps[index].status) {\n return props.steps[index].status\n }\n if (index < props.current) return 'finish'\n if (index === props.current) return 'process'\n return 'wait'\n }\n\n const handleClick = (index: number) => {\n if (!props.clickable || props.steps[index].disabled) return\n emit('update:current', index)\n emit('change', index)\n }\n</script>\n\n<style scoped lang=\"scss\">\n @use './index.scss';\n</style>\n","/* unplugin-vue-components disabled */<!--\n * @Author: ChenYu ycyplus@gmail.com\n * @Date: 2025-06-01\n * @Description: 步骤条组件\n * @Migration: naive-ui-components 组件库迁移版本\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\n-->\n<template>\n <div\n class=\"c-steps\"\n :class=\"[`steps-${direction}`, { 'steps-connected': connected }]\"\n >\n <div\n v-for=\"(step, index) in steps\"\n :key=\"index\"\n class=\"step-item\"\n :class=\"[\n `step-${getStatus(index)}`,\n { 'step-clickable': clickable && !step.disabled },\n ]\"\n @click=\"handleClick(index)\"\n >\n <div class=\"step-indicator\">\n <div class=\"step-icon\">\n <i\n v-if=\"step.icon\"\n :class=\"step.icon\"\n ></i>\n <i\n v-else-if=\"getStatus(index) === 'finish'\"\n class=\"i-mdi:check\"\n ></i>\n <span\n v-else\n class=\"step-index\"\n >{{ index + 1 }}</span\n >\n </div>\n <div\n v-if=\"index < steps.length - 1\"\n class=\"step-line\"\n />\n </div>\n <div class=\"step-content\">\n <div class=\"step-title\">{{ step.title }}</div>\n <div\n v-if=\"step.time\"\n class=\"step-time\"\n >{{ step.time }}</div\n >\n <div\n v-if=\"step.description\"\n class=\"step-description\"\n >\n {{ step.description }}\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n defineOptions({ name: 'C_Steps' })\n\n export interface StepItem {\n title: string\n description?: string\n time?: string\n icon?: string\n status?: 'wait' | 'process' | 'finish' | 'error'\n disabled?: boolean\n detail?: string\n }\n\n const props = withDefaults(\n defineProps<{\n steps: StepItem[]\n current?: number\n direction?: 'horizontal' | 'vertical'\n clickable?: boolean\n /** 水平模式下线条是否与图标紧密相连,默认 false(两端留有对称间距)*/\n connected?: boolean\n }>(),\n {\n current: 0,\n direction: 'horizontal',\n clickable: false,\n connected: false,\n }\n )\n\n const emit = defineEmits<{\n 'update:current': [number]\n change: [number]\n }>()\n\n const getStatus = (index: number) => {\n if (props.steps[index].status) {\n return props.steps[index].status\n }\n if (index < props.current) return 'finish'\n if (index === props.current) return 'process'\n return 'wait'\n }\n\n const handleClick = (index: number) => {\n if (!props.clickable || props.steps[index].disabled) return\n emit('update:current', index)\n emit('change', index)\n }\n</script>\n\n<style scoped lang=\"scss\">\n @use './index.scss';\n</style>\n","<!--\n * @Author: ChenYu ycyplus@gmail.com\n * @Date: 2025-06-01\n * @Description: 步骤条组件\n * @Migration: naive-ui-components 组件库迁移版本\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\n-->\n<template>\n <div\n class=\"c-steps\"\n :class=\"[`steps-${direction}`, { 'steps-connected': connected }]\"\n >\n <div\n v-for=\"(step, index) in steps\"\n :key=\"index\"\n class=\"step-item\"\n :class=\"[\n `step-${getStatus(index)}`,\n { 'step-clickable': clickable && !step.disabled },\n ]\"\n @click=\"handleClick(index)\"\n >\n <div class=\"step-indicator\">\n <div class=\"step-icon\">\n <i\n v-if=\"step.icon\"\n :class=\"step.icon\"\n ></i>\n <i\n v-else-if=\"getStatus(index) === 'finish'\"\n class=\"i-mdi:check\"\n ></i>\n <span\n v-else\n class=\"step-index\"\n >{{ index + 1 }}</span\n >\n </div>\n <div\n v-if=\"index < steps.length - 1\"\n class=\"step-line\"\n />\n </div>\n <div class=\"step-content\">\n <div class=\"step-title\">{{ step.title }}</div>\n <div\n v-if=\"step.time\"\n class=\"step-time\"\n >{{ step.time }}</div\n >\n <div\n v-if=\"step.description\"\n class=\"step-description\"\n >\n {{ step.description }}\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n defineOptions({ name: 'C_Steps' })\n\n export interface StepItem {\n title: string\n description?: string\n time?: string\n icon?: string\n status?: 'wait' | 'process' | 'finish' | 'error'\n disabled?: boolean\n detail?: string\n }\n\n const props = withDefaults(\n defineProps<{\n steps: StepItem[]\n current?: number\n direction?: 'horizontal' | 'vertical'\n clickable?: boolean\n /** 水平模式下线条是否与图标紧密相连,默认 false(两端留有对称间距)*/\n connected?: boolean\n }>(),\n {\n current: 0,\n direction: 'horizontal',\n clickable: false,\n connected: false,\n }\n )\n\n const emit = defineEmits<{\n 'update:current': [number]\n change: [number]\n }>()\n\n const getStatus = (index: number) => {\n if (props.steps[index].status) {\n return props.steps[index].status\n }\n if (index < props.current) return 'finish'\n if (index === props.current) return 'process'\n return 'wait'\n }\n\n const handleClick = (index: number) => {\n if (!props.clickable || props.steps[index].disabled) return\n emit('update:current', index)\n emit('change', index)\n }\n</script>\n\n<style scoped lang=\"scss\">\n @use './index.scss';\n</style>\n"],"mappings":"iuBE0EE,IAAM,EAAQ,EAiBR,EAAO,EAKP,EAAa,GACb,EAAM,MAAM,GAAO,OACd,EAAM,MAAM,GAAO,OAExB,EAAQ,EAAM,QAAgB,SAC9B,IAAU,EAAM,QAAgB,UAC7B,OAGH,EAAe,GAAkB,CACjC,CAAC,EAAM,WAAa,EAAM,MAAM,GAAO,WAC3C,EAAK,iBAAkB,EAAK,CAC5B,EAAK,SAAU,EAAK,qBApGtB,EAkDM,MAAA,CAjDJ,MAAK,EAAA,CAAC,UAAS,CAAA,SACGA,EAAAA,YAAS,CAAA,kBAAyBC,EAAAA,UAAS,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,GAAA,CAE7D,EA6CM,EAAA,KAAA,EA5CoBC,EAAAA,OAAhB,EAAM,SADhB,EA6CM,MAAA,CA3CH,IAAK,EACN,MAAK,EAAA,CAAC,YAAW,CAAA,QACS,EAAU,EAAK,GAAA,CAAA,iBAAiCC,EAAAA,WAAS,CAAK,EAAK,SAAQ,CAAA,CAAA,CAAA,CAIpG,QAAK,GAAE,EAAY,EAAK,GAEzB,EAoBM,MApBN,EAoBM,CAnBJ,EAcM,MAdN,EAcM,CAZI,EAAK,MAAA,GAAA,CADb,EAGK,IAAA,OADF,MAAK,EAAE,EAAK,KAAI,WAGN,EAAU,EAAK,GAAA,UAAA,GAAA,CAD5B,EAGK,IAHL,EAGK,GAAA,GAAA,CACL,EAIC,OAJD,EAIC,EADK,EAAK,EAAA,CAAA,EAAA,EAAA,CAAA,CAIL,EAAQD,EAAAA,MAAM,OAAM,GAAA,GAAA,CAD5B,EAGE,MAHF,EAGE,EAAA,EAAA,OAAA,GAAA,CAAA,CAAA,CAEJ,EAaM,MAbN,EAaM,CAZJ,EAA8C,MAA9C,EAA8C,EAAnB,EAAK,MAAK,CAAA,EAAA,CAE7B,EAAK,MAAA,GAAA,CADb,EAIC,MAJD,EAIC,EADK,EAAK,KAAI,CAAA,EAAA,EAAA,EAAA,OAAA,GAAA,CAGP,EAAK,aAAA,GAAA,CADb,EAKM,MALN,EAKM,EADD,EAAK,YAAW,CAAA,EAAA,EAAA,EAAA,OAAA,GAAA"}
|
|
1
|
+
{"version":3,"file":"C_Steps2.js","names":["direction","connected","steps","clickable"],"sources":["../src/components/C_Steps/index.vue","../src/components/C_Steps/index.vue","../src/components/C_Steps/index.vue"],"sourcesContent":["/* unplugin-vue-components disabled */<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 步骤条组件\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div\r\n class=\"c-steps\"\r\n :class=\"[`steps-${direction}`, { 'steps-connected': connected }]\"\r\n >\r\n <div\r\n v-for=\"(step, index) in steps\"\r\n :key=\"index\"\r\n class=\"step-item\"\r\n :class=\"[\r\n `step-${getStatus(index)}`,\r\n { 'step-clickable': clickable && !step.disabled },\r\n ]\"\r\n @click=\"handleClick(index)\"\r\n >\r\n <div class=\"step-indicator\">\r\n <div class=\"step-icon\">\r\n <i\r\n v-if=\"step.icon\"\r\n :class=\"step.icon\"\r\n ></i>\r\n <i\r\n v-else-if=\"getStatus(index) === 'finish'\"\r\n class=\"i-mdi:check\"\r\n ></i>\r\n <span\r\n v-else\r\n class=\"step-index\"\r\n >{{ index + 1 }}</span\r\n >\r\n </div>\r\n <div\r\n v-if=\"index < steps.length - 1\"\r\n class=\"step-line\"\r\n />\r\n </div>\r\n <div class=\"step-content\">\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n <div\r\n v-if=\"step.time\"\r\n class=\"step-time\"\r\n >{{ step.time }}</div\r\n >\r\n <div\r\n v-if=\"step.description\"\r\n class=\"step-description\"\r\n >\r\n {{ step.description }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\n defineOptions({ name: 'C_Steps' })\r\n\r\n export interface StepItem {\r\n title: string\r\n description?: string\r\n time?: string\r\n icon?: string\r\n status?: 'wait' | 'process' | 'finish' | 'error'\r\n disabled?: boolean\r\n detail?: string\r\n }\r\n\r\n const props = withDefaults(\r\n defineProps<{\r\n steps: StepItem[]\r\n current?: number\r\n direction?: 'horizontal' | 'vertical'\r\n clickable?: boolean\r\n /** 水平模式下线条是否与图标紧密相连,默认 false(两端留有对称间距)*/\r\n connected?: boolean\r\n }>(),\r\n {\r\n current: 0,\r\n direction: 'horizontal',\r\n clickable: false,\r\n connected: false,\r\n }\r\n )\r\n\r\n const emit = defineEmits<{\r\n 'update:current': [number]\r\n change: [number]\r\n }>()\r\n\r\n const getStatus = (index: number) => {\r\n if (props.steps[index].status) {\r\n return props.steps[index].status\r\n }\r\n if (index < props.current) return 'finish'\r\n if (index === props.current) return 'process'\r\n return 'wait'\r\n }\r\n\r\n const handleClick = (index: number) => {\r\n if (!props.clickable || props.steps[index].disabled) return\r\n emit('update:current', index)\r\n emit('change', index)\r\n }\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n @use './index.scss';\r\n</style>\r\n","/* unplugin-vue-components disabled */<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 步骤条组件\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div\r\n class=\"c-steps\"\r\n :class=\"[`steps-${direction}`, { 'steps-connected': connected }]\"\r\n >\r\n <div\r\n v-for=\"(step, index) in steps\"\r\n :key=\"index\"\r\n class=\"step-item\"\r\n :class=\"[\r\n `step-${getStatus(index)}`,\r\n { 'step-clickable': clickable && !step.disabled },\r\n ]\"\r\n @click=\"handleClick(index)\"\r\n >\r\n <div class=\"step-indicator\">\r\n <div class=\"step-icon\">\r\n <i\r\n v-if=\"step.icon\"\r\n :class=\"step.icon\"\r\n ></i>\r\n <i\r\n v-else-if=\"getStatus(index) === 'finish'\"\r\n class=\"i-mdi:check\"\r\n ></i>\r\n <span\r\n v-else\r\n class=\"step-index\"\r\n >{{ index + 1 }}</span\r\n >\r\n </div>\r\n <div\r\n v-if=\"index < steps.length - 1\"\r\n class=\"step-line\"\r\n />\r\n </div>\r\n <div class=\"step-content\">\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n <div\r\n v-if=\"step.time\"\r\n class=\"step-time\"\r\n >{{ step.time }}</div\r\n >\r\n <div\r\n v-if=\"step.description\"\r\n class=\"step-description\"\r\n >\r\n {{ step.description }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\n defineOptions({ name: 'C_Steps' })\r\n\r\n export interface StepItem {\r\n title: string\r\n description?: string\r\n time?: string\r\n icon?: string\r\n status?: 'wait' | 'process' | 'finish' | 'error'\r\n disabled?: boolean\r\n detail?: string\r\n }\r\n\r\n const props = withDefaults(\r\n defineProps<{\r\n steps: StepItem[]\r\n current?: number\r\n direction?: 'horizontal' | 'vertical'\r\n clickable?: boolean\r\n /** 水平模式下线条是否与图标紧密相连,默认 false(两端留有对称间距)*/\r\n connected?: boolean\r\n }>(),\r\n {\r\n current: 0,\r\n direction: 'horizontal',\r\n clickable: false,\r\n connected: false,\r\n }\r\n )\r\n\r\n const emit = defineEmits<{\r\n 'update:current': [number]\r\n change: [number]\r\n }>()\r\n\r\n const getStatus = (index: number) => {\r\n if (props.steps[index].status) {\r\n return props.steps[index].status\r\n }\r\n if (index < props.current) return 'finish'\r\n if (index === props.current) return 'process'\r\n return 'wait'\r\n }\r\n\r\n const handleClick = (index: number) => {\r\n if (!props.clickable || props.steps[index].disabled) return\r\n emit('update:current', index)\r\n emit('change', index)\r\n }\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n @use './index.scss';\r\n</style>\r\n","<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 步骤条组件\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div\r\n class=\"c-steps\"\r\n :class=\"[`steps-${direction}`, { 'steps-connected': connected }]\"\r\n >\r\n <div\r\n v-for=\"(step, index) in steps\"\r\n :key=\"index\"\r\n class=\"step-item\"\r\n :class=\"[\r\n `step-${getStatus(index)}`,\r\n { 'step-clickable': clickable && !step.disabled },\r\n ]\"\r\n @click=\"handleClick(index)\"\r\n >\r\n <div class=\"step-indicator\">\r\n <div class=\"step-icon\">\r\n <i\r\n v-if=\"step.icon\"\r\n :class=\"step.icon\"\r\n ></i>\r\n <i\r\n v-else-if=\"getStatus(index) === 'finish'\"\r\n class=\"i-mdi:check\"\r\n ></i>\r\n <span\r\n v-else\r\n class=\"step-index\"\r\n >{{ index + 1 }}</span\r\n >\r\n </div>\r\n <div\r\n v-if=\"index < steps.length - 1\"\r\n class=\"step-line\"\r\n />\r\n </div>\r\n <div class=\"step-content\">\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n <div\r\n v-if=\"step.time\"\r\n class=\"step-time\"\r\n >{{ step.time }}</div\r\n >\r\n <div\r\n v-if=\"step.description\"\r\n class=\"step-description\"\r\n >\r\n {{ step.description }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\n defineOptions({ name: 'C_Steps' })\r\n\r\n export interface StepItem {\r\n title: string\r\n description?: string\r\n time?: string\r\n icon?: string\r\n status?: 'wait' | 'process' | 'finish' | 'error'\r\n disabled?: boolean\r\n detail?: string\r\n }\r\n\r\n const props = withDefaults(\r\n defineProps<{\r\n steps: StepItem[]\r\n current?: number\r\n direction?: 'horizontal' | 'vertical'\r\n clickable?: boolean\r\n /** 水平模式下线条是否与图标紧密相连,默认 false(两端留有对称间距)*/\r\n connected?: boolean\r\n }>(),\r\n {\r\n current: 0,\r\n direction: 'horizontal',\r\n clickable: false,\r\n connected: false,\r\n }\r\n )\r\n\r\n const emit = defineEmits<{\r\n 'update:current': [number]\r\n change: [number]\r\n }>()\r\n\r\n const getStatus = (index: number) => {\r\n if (props.steps[index].status) {\r\n return props.steps[index].status\r\n }\r\n if (index < props.current) return 'finish'\r\n if (index === props.current) return 'process'\r\n return 'wait'\r\n }\r\n\r\n const handleClick = (index: number) => {\r\n if (!props.clickable || props.steps[index].disabled) return\r\n emit('update:current', index)\r\n emit('change', index)\r\n }\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n @use './index.scss';\r\n</style>\r\n"],"mappings":"iuBE0EE,IAAM,EAAQ,EAiBR,EAAO,EAKP,EAAa,GACb,EAAM,MAAM,GAAO,OACd,EAAM,MAAM,GAAO,OAExB,EAAQ,EAAM,QAAgB,SAC9B,IAAU,EAAM,QAAgB,UAC7B,OAGH,EAAe,GAAkB,CACjC,CAAC,EAAM,WAAa,EAAM,MAAM,GAAO,WAC3C,EAAK,iBAAkB,EAAM,CAC7B,EAAK,SAAU,EAAM,qBApGvB,EAkDM,MAAA,CAjDJ,MAAK,EAAA,CAAC,UAAS,CAAA,SACGA,EAAAA,YAAS,CAAA,kBAAyBC,EAAAA,UAAS,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,GAAA,CAE7D,EA6CM,EAAA,KAAA,EA5CoBC,EAAAA,OAAhB,EAAM,SADhB,EA6CM,MAAA,CA3CH,IAAK,EACN,MAAK,EAAA,CAAC,YAAW,CAAA,QACU,EAAU,EAAK,GAAA,CAAA,iBAAkCC,EAAAA,WAAS,CAAK,EAAK,SAAQ,CAAA,CAAA,CAAA,CAItG,QAAK,GAAE,EAAY,EAAK,GAEzB,EAoBM,MApBN,EAoBM,CAnBJ,EAcM,MAdN,EAcM,CAZI,EAAK,MAAA,GAAA,CADb,EAGK,IAAA,OADF,MAAK,EAAE,EAAK,KAAI,WAGN,EAAU,EAAK,GAAA,UAAA,GAAA,CAD5B,EAGK,IAHL,EAGK,GAAA,GAAA,CACL,EAGqC,OAHrC,EAGqC,EAA/B,EAAK,EAAA,CAAA,EAAA,EAAA,CAAA,CAIL,EAAQD,EAAAA,MAAM,OAAM,GAAA,GAAA,CAD5B,EAGE,MAHF,EAGE,EAAA,EAAA,OAAA,GAAA,CAAA,CAAA,CAEJ,EAaM,MAbN,EAaM,CAZJ,EAA8C,MAA9C,EAA8C,EAAnB,EAAK,MAAK,CAAA,EAAA,CAE7B,EAAK,MAAA,GAAA,CADb,EAGkC,MAHlC,EAGkC,EAA5B,EAAK,KAAI,CAAA,EAAA,EAAA,EAAA,OAAA,GAAA,CAGP,EAAK,aAAA,GAAA,CADb,EAKM,MALN,EAKM,EADD,EAAK,YAAW,CAAA,EAAA,EAAA,EAAA,OAAA,GAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"C_Table-B8hpzOcR.css","names":[],"sources":["../src/components/C_Table/components/ColumnSettings/index.vue?vue&type=style&index=0&scoped=1a3d4df6&lang.scss","../src/components/C_Table/index.vue?vue&type=style&index=0&scoped=5791e51b&lang.scss"],"sourcesContent":["/* unplugin-vue-components disabled */.column-management-tab .search-row[data-v-1a3d4df6] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 12px;\n}\n.column-management-tab .search-row .search-input[data-v-1a3d4df6] {\n flex: 1;\n min-width: 0;\n}\n.column-management-tab .search-row .resizable-control[data-v-1a3d4df6] {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n padding: 0 10px;\n height: 34px;\n background: var(--n-color-target);\n border-radius: 6px;\n white-space: nowrap;\n}\n.column-management-tab .top-actions-bar[data-v-1a3d4df6] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n padding: 10px 12px;\n background: var(--n-color-target);\n border-radius: 6px;\n}\n.column-management-tab .top-actions-bar .stats-info[data-v-1a3d4df6] {\n flex: 1;\n}\n.column-management-tab .top-actions-bar .quick-actions[data-v-1a3d4df6] {\n flex-shrink: 0;\n}\n.column-management-tab .column-list .column-item[data-v-1a3d4df6] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 4px;\n margin-bottom: 4px;\n border-radius: 4px;\n background: transparent;\n cursor: move;\n transition: all 0.2s ease;\n}\n.column-management-tab .column-list .column-item[data-v-1a3d4df6]:hover {\n background: var(--n-color-target);\n}\n.column-management-tab .column-list .column-item.disabled[data-v-1a3d4df6] {\n opacity: 0.6;\n cursor: not-allowed;\n}\n.column-management-tab .column-list .column-item.fixed-left[data-v-1a3d4df6] {\n background: rgba(24, 160, 88, 0.08);\n}\n.column-management-tab .column-list .column-item.fixed-right[data-v-1a3d4df6] {\n background: rgba(240, 138, 0, 0.08);\n}\n.column-management-tab .column-list .column-item .column-info[data-v-1a3d4df6] {\n display: flex;\n align-items: center;\n flex: 1;\n gap: 10px;\n min-width: 0;\n}\n.column-management-tab .column-list .column-item .column-info .column-controls[data-v-1a3d4df6] {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n}\n.column-management-tab .column-list .column-item .column-info .column-controls .drag-handle[data-v-1a3d4df6] {\n color: var(--n-text-color-3);\n cursor: grab;\n}\n.column-management-tab .column-list .column-item .column-info .column-controls .drag-handle[data-v-1a3d4df6]:active {\n cursor: grabbing;\n}\n.column-management-tab .column-list .column-item .column-info .column-controls .drag-handle.disabled[data-v-1a3d4df6] {\n cursor: not-allowed;\n opacity: 0.3;\n}\n.column-management-tab .column-list .column-item .column-info .column-details[data-v-1a3d4df6] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n flex: 1;\n min-width: 0;\n overflow: hidden;\n}\n.column-management-tab .column-list .column-item .column-actions[data-v-1a3d4df6] {\n display: flex;\n align-items: center;\n gap: 6px;\n flex-shrink: 0;\n}\n.column-management-tab .column-list .column-item .column-actions .drag-controls[data-v-1a3d4df6] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n.column-management-tab .column-list .column-item .column-actions .drag-controls .c-icon[data-v-1a3d4df6] {\n opacity: 0.6;\n transition: all 0.2s ease;\n}\n.column-management-tab .column-list .column-item .column-actions .drag-controls .c-icon[data-v-1a3d4df6]:not(.disabled):hover {\n opacity: 1;\n transform: scale(1.15);\n}\n.column-management-tab .column-list .column-item .column-actions .drag-controls .c-icon.disabled[data-v-1a3d4df6] {\n opacity: 0.3;\n cursor: not-allowed;\n}\n.column-management-tab .column-list .column-item .column-actions .c-icon[data-v-1a3d4df6] {\n transition: all 0.2s ease;\n}\n.column-management-tab .column-list .column-item .column-actions .c-icon[data-v-1a3d4df6]:hover {\n transform: scale(1.15);\n}","/* unplugin-vue-components disabled *//* ================= 1. 组件根容器 ================= */\n.c-table-wrapper[data-v-5791e51b] {\n --c-table-border-color: var(--border-color, #e5e7eb);\n --c-table-bg: var(--body-color, #fff);\n --c-table-header-bg: var(--card-color, #fafafc);\n --c-table-summary-bg: var(--card-color, #fafafc);\n --c-table-summary-font-weight: 600;\n --c-table-drag-ghost-opacity: 0.4;\n --c-table-drag-ghost-bg: var(--primary-color, #2080f0);\n width: 100%;\n position: relative;\n}\n\n/* ================= 列拖拽排序 ================= */\n.column-drag-ghost[data-v-5791e51b] {\n opacity: var(--c-table-drag-ghost-opacity);\n background: var(--c-table-drag-ghost-bg) !important;\n}\n.drag-handle[data-v-5791e51b] {\n cursor: grab;\n}\n.drag-handle[data-v-5791e51b]:active {\n cursor: grabbing;\n}\n\n/* ================= 合计行强调 ================= */\n.c-table-wrapper[data-v-5791e51b] .n-data-table-tfoot {\n background: var(--c-table-summary-bg);\n font-weight: var(--c-table-summary-font-weight);\n}\n\n/* ================= 2. 表格工具栏 ================= */\n.table-toolbar[data-v-5791e51b] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n}\n.table-toolbar .toolbar-left[data-v-5791e51b] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n.table-toolbar .toolbar-right[data-v-5791e51b] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.table-toolbar .toolbar-right .column-settings-btn[data-v-5791e51b] {\n opacity: 0.6;\n transition: opacity 0.2s ease, transform 0.2s ease;\n cursor: pointer;\n}\n.table-toolbar .toolbar-right .column-settings-btn[data-v-5791e51b]:hover {\n opacity: 1;\n transform: scale(1.1);\n}\n\n/* ================= 3. 动态行工具栏 ================= */\n.dynamic-rows-toolbar[data-v-5791e51b] {\n margin-bottom: 16px;\n padding: 16px;\n border-radius: 8px;\n border: 1px solid var(--n-border-color);\n background-color: var(--n-card-color);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\n transition: all 0.2s ease;\n}\n.dynamic-rows-toolbar[data-v-5791e51b]:hover {\n border-color: var(--n-primary-color-suppl);\n}\n\n/* ================= 4. 表格布局基础 ================= */\n[data-v-5791e51b] .n-data-table {\n table-layout: auto !important;\n width: 100% !important;\n border-radius: 8px;\n overflow: hidden;\n}\n\n/* 确保表格容器允许横向滚动(固定列必需) */\n[data-v-5791e51b] .n-data-table-wrapper {\n overflow-x: auto !important;\n}\n\n/* 分页组件样式 */\n.pagination-wrapper[data-v-5791e51b] {\n margin-top: 16px;\n display: flex;\n justify-content: flex-end;\n}\n\n/* ================= 5. 表格列宽度管理 ================= */\n/* 普通列的最小宽度保护 */\n[data-v-5791e51b] .n-data-table-th:not(:last-child) {\n min-width: 80px !important;\n}\n\n/* 操作列固定宽度(适应4个按钮的布局) */\n[data-v-5791e51b] .n-data-table-th:last-child {\n width: 180px !important;\n min-width: 160px !important;\n max-width: 200px !important;\n text-align: center !important;\n padding: 8px 12px !important;\n}\n\n/* 操作按钮容器居中 */\n[data-v-5791e51b] .n-data-table-td:last-child .n-space {\n justify-content: center !important;\n align-items: center !important;\n}\n\n/* ================= 6. 可编辑单元格样式 ================= */\n/* 单元格编辑容器 - 精致化设计 */\n.cell-edit-wrapper[data-v-5791e51b] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: 6px 8px;\n min-height: 36px;\n border-radius: 4px;\n transition: all 0.2s ease;\n cursor: pointer;\n position: relative;\n /* 悬停效果 */\n /* 激活状态 */\n}\n.cell-edit-wrapper[data-v-5791e51b]:hover {\n background-color: var(--n-color-target);\n}\n.cell-edit-wrapper:hover .cell-edit-icon[data-v-5791e51b] {\n opacity: 1;\n color: var(--n-color-success);\n transform: scale(1.05);\n}\n.cell-edit-wrapper[data-v-5791e51b]:active {\n transform: translateY(1px);\n}\n\n/* 单元格内容 */\n.cell-value[data-v-5791e51b] {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n margin-right: 16px;\n line-height: 1.4;\n font-size: 13px;\n}\n\n/* 编辑图标 - 使用全局选择器确保动态创建的元素也能被选中 */\n.cell-edit-icon[data-v-5791e51b],.cell-edit-icon {\n flex-shrink: 0;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n cursor: pointer;\n margin-left: 4px;\n transition: all 0.25s ease;\n color: var(--n-color-success);\n opacity: 0;\n position: relative;\n /* 悬停效果 */\n /* 激活效果 */\n /* 图标尺寸 */\n}\n.cell-edit-icon[data-v-5791e51b]:hover,.cell-edit-icon {\n opacity: 1 !important;\n color: var(--n-color-success-hover) !important;\n background-color: var(--n-color-success-pressed);\n transform: scale(1.1);\n}\n.cell-edit-icon[data-v-5791e51b]:active,.cell-edit-icon {\n transform: scale(0.95);\n}\n.cell-edit-icon svg[data-v-5791e51b],.cell-edit-icon {\n width: 14px;\n height: 14px;\n}\n\n/* ================= 7. 单元格编辑状态样式 ================= */\n/* 编辑容器 - 确保水平布局不换行 */\n.cell-editing-container[data-v-5791e51b],[data-v-5791e51b] .cell-editing-container {\n display: flex !important;\n align-items: center !important;\n width: 100% !important;\n min-height: 36px !important;\n background-color: var(--n-input-color) !important;\n border: 1px solid var(--n-primary-color) !important;\n border-radius: 6px !important;\n padding: 4px 6px !important;\n box-shadow: 0 0 0 2px var(--n-primary-color-suppl) !important;\n gap: 8px !important;\n}\n\n/* 编辑输入区域 - 占据剩余空间 */\n.cell-editing-input[data-v-5791e51b],[data-v-5791e51b] .cell-editing-input {\n flex: 1 !important;\n min-width: 0 !important;\n}\n\n/* 深度选择器处理输入框样式 */\n[data-v-5791e51b] .cell-editing-input .n-input {\n border: none !important;\n box-shadow: none !important;\n background: transparent !important;\n}\n[data-v-5791e51b] .cell-editing-input .n-input.n-input--focus {\n border: none !important;\n box-shadow: none !important;\n}\n[data-v-5791e51b] .cell-editing-input .n-input-number {\n border: none !important;\n box-shadow: none !important;\n background: transparent !important;\n}\n[data-v-5791e51b] .cell-editing-input .n-select {\n border: none !important;\n box-shadow: none !important;\n background: transparent !important;\n}\n[data-v-5791e51b] .cell-editing-input .n-select .n-base-selection {\n border: none !important;\n box-shadow: none !important;\n background: transparent !important;\n}\n\n/* 编辑操作按钮容器 */\n.cell-editing-actions[data-v-5791e51b],[data-v-5791e51b] .cell-editing-actions {\n display: flex !important;\n flex-shrink: 0 !important;\n align-items: center !important;\n gap: 4px !important;\n background: var(--n-color-popover) !important;\n border: 1px solid var(--n-border-color) !important;\n border-radius: 4px !important;\n padding: 2px !important;\n box-shadow: var(--n-box-shadow) !important;\n}\n\n/* 编辑操作按钮 */\n.cell-action-btn[data-v-5791e51b],[data-v-5791e51b] .cell-action-btn {\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n width: 20px !important;\n height: 20px !important;\n border: none !important;\n border-radius: 3px !important;\n cursor: pointer !important;\n transition: all 0.2s ease !important;\n background: transparent !important;\n /* 保存按钮 */\n /* 取消按钮 */\n /* 图标尺寸 */\n}\n.cell-action-btn.cell-action-save[data-v-5791e51b],[data-v-5791e51b] .cell-action-btn.cell-action-save {\n color: var(--n-color-success) !important;\n}\n.cell-action-btn.cell-action-save[data-v-5791e51b]:hover,[data-v-5791e51b] .cell-action-btn.cell-action-save:hover {\n background: var(--n-color-success-pressed) !important;\n transform: scale(1.1) !important;\n}\n.cell-action-btn.cell-action-cancel[data-v-5791e51b],[data-v-5791e51b] .cell-action-btn.cell-action-cancel {\n color: var(--n-color-error) !important;\n}\n.cell-action-btn.cell-action-cancel[data-v-5791e51b]:hover,[data-v-5791e51b] .cell-action-btn.cell-action-cancel:hover {\n background: var(--n-color-error-pressed) !important;\n transform: scale(1.1) !important;\n}\n.cell-action-btn svg[data-v-5791e51b],[data-v-5791e51b] .cell-action-btn svg {\n width: 11px !important;\n height: 11px !important;\n}\n\n/* ================= 7. 操作按钮样式 ================= */\n/* 通用按钮样式 */\n[data-v-5791e51b] .n-button {\n white-space: nowrap;\n font-size: 12px !important;\n flex-shrink: 0 !important;\n border-radius: 6px;\n transition: all 0.2s ease;\n font-weight: 500;\n /* 图标间距 */\n /* 小尺寸按钮优化 */\n /* 四元按钮样式 */\n}\n[data-v-5791e51b] .n-button .n-icon {\n margin-right: 4px !important;\n}\n[data-v-5791e51b] .n-button.n-button--small-type {\n padding: 4px 8px;\n height: 28px;\n line-height: 20px;\n}\n[data-v-5791e51b] .n-button.n-button--quaternary-type:hover {\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n[data-v-5791e51b] .n-button.n-button--quaternary-type:active {\n transform: translateY(0);\n}\n\n/* ================= 8. 按钮组间距优化 ================= */\n/* 操作按钮组 */\n[data-v-5791e51b] .n-space.n-space--horizontal .n-space-item:not(:last-child) {\n margin-right: 6px !important;\n}\n\n/* ================= 9. 模态框样式优化 ================= */\n/* 编辑模态框 */\n[data-v-5791e51b] .n-modal .n-card {\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);\n}\n[data-v-5791e51b] .n-modal .n-card__header {\n padding: 20px 24px 16px;\n font-weight: 600;\n font-size: 16px;\n}\n[data-v-5791e51b] .n-modal .n-card__content {\n padding: 0 24px 16px;\n}\n[data-v-5791e51b] .n-modal .n-card__action {\n padding: 16px 24px 20px;\n border-top: 1px solid var(--n-divider-color);\n}\n\n/* ================= 10. 描述列表样式 ================= */\n/* 详情模态框描述列表 */\n[data-v-5791e51b] .n-descriptions .n-descriptions-item-label {\n font-weight: 500;\n color: var(--n-text-color-2);\n}\n[data-v-5791e51b] .n-descriptions .n-descriptions-item-content {\n color: var(--n-text-color-1);\n word-break: break-all;\n}\n\n/* ================= 11. 响应式设计 ================= */\n/* 移动端适配 */\n@media (max-width: 768px) {\n.c-table-wrapper[data-v-5791e51b] {\n overflow-x: auto;\n}\n /* 操作列在移动端的适配 */\n[data-v-5791e51b] .n-data-table-th:last-child {\n width: 160px !important;\n min-width: 160px !important;\n}\n /* 按钮在移动端的优化 */\n[data-v-5791e51b] .n-button {\n font-size: 11px !important;\n padding: 3px 6px;\n}\n[data-v-5791e51b] .n-button .n-icon {\n margin-right: 2px !important;\n}\n /* 单元格编辑图标在移动端始终显示 */\n.cell-edit-icon[data-v-5791e51b] {\n opacity: 0.6;\n}\n}\n/* ================= 12. 主题适配 ================= */\n/* 暗色主题适配 - 已通过 CSS 变量自动适配 */\n[data-theme=dark][data-v-5791e51b] {\n /* CSS 变量已自动适配,如有特殊需求可在此添加 */\n}\n\n/* ================= 13. 响应式优化 ================= */\n/* 小屏幕下的单元格编辑优化 */\n@media (max-width: 768px) {\n.cell-editing-container[data-v-5791e51b],[data-v-5791e51b] .cell-editing-container {\n gap: 6px !important;\n}\n.cell-editing-actions[data-v-5791e51b],[data-v-5791e51b] .cell-editing-actions {\n gap: 3px !important;\n padding: 2px !important;\n}\n.cell-action-btn[data-v-5791e51b],[data-v-5791e51b] .cell-action-btn {\n width: 18px !important;\n height: 18px !important;\n}\n.cell-action-btn svg[data-v-5791e51b],[data-v-5791e51b] .cell-action-btn svg {\n width: 10px !important;\n height: 10px !important;\n}\n /* 移动端编辑图标 */\n.cell-edit-icon[data-v-5791e51b] {\n opacity: 0.6 !important;\n}\n.cell-value[data-v-5791e51b] {\n margin-right: 12px !important;\n}\n}\n/* ================= 14. 性能优化 ================= */\n/* 使用 GPU 加速的动画 */\n.cell-edit-icon[data-v-5791e51b],\n.cell-action-btn[data-v-5791e51b] {\n will-change: transform;\n backface-visibility: hidden;\n}\n[data-v-5791e51b] .n-button {\n will-change: transform;\n backface-visibility: hidden;\n}\n\n/* ================= 15. 可访问性优化 ================= */\n/* 聚焦状态 */\n.cell-edit-wrapper[data-v-5791e51b]:focus-within,\n.cell-editing-container[data-v-5791e51b]:focus-within {\n outline: 2px solid var(--n-primary-color);\n outline-offset: 2px;\n}\n\n/* 高对比度模式支持 */\n@media (prefers-contrast: high) {\n.cell-edit-icon[data-v-5791e51b] {\n opacity: 0.8;\n}\n.cell-editing-actions[data-v-5791e51b] {\n border-width: 2px;\n}\n}"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"C_Table-CGP3n_u0.css","names":[],"sources":["../src/components/C_Table/components/ColumnSettings/index.vue?vue&type=style&index=0&scoped=1a3d4df6&lang.scss","../src/components/C_Table/index.vue?vue&type=style&index=0&scoped=5791e51b&lang.scss"],"sourcesContent":["/* unplugin-vue-components disabled */.column-management-tab .search-row[data-v-1a3d4df6] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 12px;\n}\n.column-management-tab .search-row .search-input[data-v-1a3d4df6] {\n flex: 1;\n min-width: 0;\n}\n.column-management-tab .search-row .resizable-control[data-v-1a3d4df6] {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n padding: 0 10px;\n height: 34px;\n background: var(--n-color-target);\n border-radius: 6px;\n white-space: nowrap;\n}\n.column-management-tab .top-actions-bar[data-v-1a3d4df6] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n padding: 10px 12px;\n background: var(--n-color-target);\n border-radius: 6px;\n}\n.column-management-tab .top-actions-bar .stats-info[data-v-1a3d4df6] {\n flex: 1;\n}\n.column-management-tab .top-actions-bar .quick-actions[data-v-1a3d4df6] {\n flex-shrink: 0;\n}\n.column-management-tab .column-list .column-item[data-v-1a3d4df6] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 4px;\n margin-bottom: 4px;\n border-radius: 4px;\n background: transparent;\n cursor: move;\n transition: all 0.2s ease;\n}\n.column-management-tab .column-list .column-item[data-v-1a3d4df6]:hover {\n background: var(--n-color-target);\n}\n.column-management-tab .column-list .column-item.disabled[data-v-1a3d4df6] {\n opacity: 0.6;\n cursor: not-allowed;\n}\n.column-management-tab .column-list .column-item.fixed-left[data-v-1a3d4df6] {\n background: rgba(24, 160, 88, 0.08);\n}\n.column-management-tab .column-list .column-item.fixed-right[data-v-1a3d4df6] {\n background: rgba(240, 138, 0, 0.08);\n}\n.column-management-tab .column-list .column-item .column-info[data-v-1a3d4df6] {\n display: flex;\n align-items: center;\n flex: 1;\n gap: 10px;\n min-width: 0;\n}\n.column-management-tab .column-list .column-item .column-info .column-controls[data-v-1a3d4df6] {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n}\n.column-management-tab .column-list .column-item .column-info .column-controls .drag-handle[data-v-1a3d4df6] {\n color: var(--n-text-color-3);\n cursor: grab;\n}\n.column-management-tab .column-list .column-item .column-info .column-controls .drag-handle[data-v-1a3d4df6]:active {\n cursor: grabbing;\n}\n.column-management-tab .column-list .column-item .column-info .column-controls .drag-handle.disabled[data-v-1a3d4df6] {\n cursor: not-allowed;\n opacity: 0.3;\n}\n.column-management-tab .column-list .column-item .column-info .column-details[data-v-1a3d4df6] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n flex: 1;\n min-width: 0;\n overflow: hidden;\n}\n.column-management-tab .column-list .column-item .column-actions[data-v-1a3d4df6] {\n display: flex;\n align-items: center;\n gap: 6px;\n flex-shrink: 0;\n}\n.column-management-tab .column-list .column-item .column-actions .drag-controls[data-v-1a3d4df6] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n.column-management-tab .column-list .column-item .column-actions .drag-controls .c-icon[data-v-1a3d4df6] {\n opacity: 0.6;\n transition: all 0.2s ease;\n}\n.column-management-tab .column-list .column-item .column-actions .drag-controls .c-icon[data-v-1a3d4df6]:not(.disabled):hover {\n opacity: 1;\n transform: scale(1.15);\n}\n.column-management-tab .column-list .column-item .column-actions .drag-controls .c-icon.disabled[data-v-1a3d4df6] {\n opacity: 0.3;\n cursor: not-allowed;\n}\n.column-management-tab .column-list .column-item .column-actions .c-icon[data-v-1a3d4df6] {\n transition: all 0.2s ease;\n}\n.column-management-tab .column-list .column-item .column-actions .c-icon[data-v-1a3d4df6]:hover {\n transform: scale(1.15);\n}","/* unplugin-vue-components disabled *//* ================= 1. 组件根容器 ================= */\n.c-table-wrapper[data-v-5791e51b] {\n --c-table-border-color: var(--border-color, #e5e7eb);\n --c-table-bg: var(--body-color, #fff);\n --c-table-header-bg: var(--card-color, #fafafc);\n --c-table-summary-bg: var(--card-color, #fafafc);\n --c-table-summary-font-weight: 600;\n --c-table-drag-ghost-opacity: 0.4;\n --c-table-drag-ghost-bg: var(--primary-color, #2080f0);\n width: 100%;\n position: relative;\n}\n\n/* ================= 列拖拽排序 ================= */\n.column-drag-ghost[data-v-5791e51b] {\n opacity: var(--c-table-drag-ghost-opacity);\n background: var(--c-table-drag-ghost-bg) !important;\n}\n.drag-handle[data-v-5791e51b] {\n cursor: grab;\n}\n.drag-handle[data-v-5791e51b]:active {\n cursor: grabbing;\n}\n\n/* ================= 合计行强调 ================= */\n.c-table-wrapper[data-v-5791e51b] .n-data-table-tfoot {\n background: var(--c-table-summary-bg);\n font-weight: var(--c-table-summary-font-weight);\n}\n\n/* ================= 2. 表格工具栏 ================= */\n.table-toolbar[data-v-5791e51b] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n}\n.table-toolbar .toolbar-left[data-v-5791e51b] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n.table-toolbar .toolbar-right[data-v-5791e51b] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.table-toolbar .toolbar-right .column-settings-btn[data-v-5791e51b] {\n opacity: 0.6;\n transition: opacity 0.2s ease, transform 0.2s ease;\n cursor: pointer;\n}\n.table-toolbar .toolbar-right .column-settings-btn[data-v-5791e51b]:hover {\n opacity: 1;\n transform: scale(1.1);\n}\n\n/* ================= 3. 动态行工具栏 ================= */\n.dynamic-rows-toolbar[data-v-5791e51b] {\n margin-bottom: 16px;\n padding: 16px;\n border-radius: 8px;\n border: 1px solid var(--n-border-color);\n background-color: var(--n-card-color);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\n transition: all 0.2s ease;\n}\n.dynamic-rows-toolbar[data-v-5791e51b]:hover {\n border-color: var(--n-primary-color-suppl);\n}\n\n/* ================= 4. 表格布局基础 ================= */\n[data-v-5791e51b] .n-data-table {\n table-layout: auto !important;\n width: 100% !important;\n border-radius: 8px;\n overflow: hidden;\n}\n\n/* 确保表格容器允许横向滚动(固定列必需) */\n[data-v-5791e51b] .n-data-table-wrapper {\n overflow-x: auto !important;\n}\n\n/* 分页组件样式 */\n.pagination-wrapper[data-v-5791e51b] {\n margin-top: 16px;\n display: flex;\n justify-content: flex-end;\n}\n\n/* ================= 5. 表格列宽度管理 ================= */\n/* 普通列的最小宽度保护 */\n[data-v-5791e51b] .n-data-table-th:not(:last-child) {\n min-width: 80px !important;\n}\n\n/* 操作列固定宽度(适应4个按钮的布局) */\n[data-v-5791e51b] .n-data-table-th:last-child {\n width: 180px !important;\n min-width: 160px !important;\n max-width: 200px !important;\n text-align: center !important;\n padding: 8px 12px !important;\n}\n\n/* 操作按钮容器居中 */\n[data-v-5791e51b] .n-data-table-td:last-child .n-space {\n justify-content: center !important;\n align-items: center !important;\n}\n\n/* ================= 6. 可编辑单元格样式 ================= */\n/* 单元格编辑容器 - 精致化设计 */\n.cell-edit-wrapper[data-v-5791e51b] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: 6px 8px;\n min-height: 36px;\n border-radius: 4px;\n transition: all 0.2s ease;\n cursor: pointer;\n position: relative;\n /* 悬停效果 */\n /* 激活状态 */\n}\n.cell-edit-wrapper[data-v-5791e51b]:hover {\n background-color: var(--n-color-target);\n}\n.cell-edit-wrapper:hover .cell-edit-icon[data-v-5791e51b] {\n opacity: 1;\n color: var(--n-color-success);\n transform: scale(1.05);\n}\n.cell-edit-wrapper[data-v-5791e51b]:active {\n transform: translateY(1px);\n}\n\n/* 单元格内容 */\n.cell-value[data-v-5791e51b] {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n margin-right: 16px;\n line-height: 1.4;\n font-size: 13px;\n}\n\n/* 编辑图标 - 使用全局选择器确保动态创建的元素也能被选中 */\n.cell-edit-icon[data-v-5791e51b],.cell-edit-icon {\n flex-shrink: 0;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n cursor: pointer;\n margin-left: 4px;\n transition: all 0.25s ease;\n color: var(--n-color-success);\n opacity: 0;\n position: relative;\n /* 悬停效果 */\n /* 激活效果 */\n /* 图标尺寸 */\n}\n.cell-edit-icon[data-v-5791e51b]:hover,.cell-edit-icon {\n opacity: 1 !important;\n color: var(--n-color-success-hover) !important;\n background-color: var(--n-color-success-pressed);\n transform: scale(1.1);\n}\n.cell-edit-icon[data-v-5791e51b]:active,.cell-edit-icon {\n transform: scale(0.95);\n}\n.cell-edit-icon svg[data-v-5791e51b],.cell-edit-icon {\n width: 14px;\n height: 14px;\n}\n\n/* ================= 7. 单元格编辑状态样式 ================= */\n/* 编辑容器 - 确保水平布局不换行 */\n.cell-editing-container[data-v-5791e51b],[data-v-5791e51b] .cell-editing-container {\n display: flex !important;\n align-items: center !important;\n width: 100% !important;\n min-height: 36px !important;\n background-color: var(--n-input-color) !important;\n border: 1px solid var(--n-primary-color) !important;\n border-radius: 6px !important;\n padding: 4px 6px !important;\n box-shadow: 0 0 0 2px var(--n-primary-color-suppl) !important;\n gap: 8px !important;\n}\n\n/* 编辑输入区域 - 占据剩余空间 */\n.cell-editing-input[data-v-5791e51b],[data-v-5791e51b] .cell-editing-input {\n flex: 1 !important;\n min-width: 0 !important;\n}\n\n/* 深度选择器处理输入框样式 */\n[data-v-5791e51b] .cell-editing-input .n-input {\n border: none !important;\n box-shadow: none !important;\n background: transparent !important;\n}\n[data-v-5791e51b] .cell-editing-input .n-input.n-input--focus {\n border: none !important;\n box-shadow: none !important;\n}\n[data-v-5791e51b] .cell-editing-input .n-input-number {\n border: none !important;\n box-shadow: none !important;\n background: transparent !important;\n}\n[data-v-5791e51b] .cell-editing-input .n-select {\n border: none !important;\n box-shadow: none !important;\n background: transparent !important;\n}\n[data-v-5791e51b] .cell-editing-input .n-select .n-base-selection {\n border: none !important;\n box-shadow: none !important;\n background: transparent !important;\n}\n\n/* 编辑操作按钮容器 */\n.cell-editing-actions[data-v-5791e51b],[data-v-5791e51b] .cell-editing-actions {\n display: flex !important;\n flex-shrink: 0 !important;\n align-items: center !important;\n gap: 4px !important;\n background: var(--n-color-popover) !important;\n border: 1px solid var(--n-border-color) !important;\n border-radius: 4px !important;\n padding: 2px !important;\n box-shadow: var(--n-box-shadow) !important;\n}\n\n/* 编辑操作按钮 */\n.cell-action-btn[data-v-5791e51b],[data-v-5791e51b] .cell-action-btn {\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n width: 20px !important;\n height: 20px !important;\n border: none !important;\n border-radius: 3px !important;\n cursor: pointer !important;\n transition: all 0.2s ease !important;\n background: transparent !important;\n /* 保存按钮 */\n /* 取消按钮 */\n /* 图标尺寸 */\n}\n.cell-action-btn.cell-action-save[data-v-5791e51b],[data-v-5791e51b] .cell-action-btn.cell-action-save {\n color: var(--n-color-success) !important;\n}\n.cell-action-btn.cell-action-save[data-v-5791e51b]:hover,[data-v-5791e51b] .cell-action-btn.cell-action-save:hover {\n background: var(--n-color-success-pressed) !important;\n transform: scale(1.1) !important;\n}\n.cell-action-btn.cell-action-cancel[data-v-5791e51b],[data-v-5791e51b] .cell-action-btn.cell-action-cancel {\n color: var(--n-color-error) !important;\n}\n.cell-action-btn.cell-action-cancel[data-v-5791e51b]:hover,[data-v-5791e51b] .cell-action-btn.cell-action-cancel:hover {\n background: var(--n-color-error-pressed) !important;\n transform: scale(1.1) !important;\n}\n.cell-action-btn svg[data-v-5791e51b],[data-v-5791e51b] .cell-action-btn svg {\n width: 11px !important;\n height: 11px !important;\n}\n\n/* ================= 7. 操作按钮样式 ================= */\n/* 通用按钮样式 */\n[data-v-5791e51b] .n-button {\n white-space: nowrap;\n font-size: 12px !important;\n flex-shrink: 0 !important;\n border-radius: 6px;\n transition: all 0.2s ease;\n font-weight: 500;\n /* 图标间距 */\n /* 小尺寸按钮优化 */\n /* 四元按钮样式 */\n}\n[data-v-5791e51b] .n-button .n-icon {\n margin-right: 4px !important;\n}\n[data-v-5791e51b] .n-button.n-button--small-type {\n padding: 4px 8px;\n height: 28px;\n line-height: 20px;\n}\n[data-v-5791e51b] .n-button.n-button--quaternary-type:hover {\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n[data-v-5791e51b] .n-button.n-button--quaternary-type:active {\n transform: translateY(0);\n}\n\n/* ================= 8. 按钮组间距优化 ================= */\n/* 操作按钮组 */\n[data-v-5791e51b] .n-space.n-space--horizontal .n-space-item:not(:last-child) {\n margin-right: 6px !important;\n}\n\n/* ================= 9. 模态框样式优化 ================= */\n/* 编辑模态框 */\n[data-v-5791e51b] .n-modal .n-card {\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);\n}\n[data-v-5791e51b] .n-modal .n-card__header {\n padding: 20px 24px 16px;\n font-weight: 600;\n font-size: 16px;\n}\n[data-v-5791e51b] .n-modal .n-card__content {\n padding: 0 24px 16px;\n}\n[data-v-5791e51b] .n-modal .n-card__action {\n padding: 16px 24px 20px;\n border-top: 1px solid var(--n-divider-color);\n}\n\n/* ================= 10. 描述列表样式 ================= */\n/* 详情模态框描述列表 */\n[data-v-5791e51b] .n-descriptions .n-descriptions-item-label {\n font-weight: 500;\n color: var(--n-text-color-2);\n}\n[data-v-5791e51b] .n-descriptions .n-descriptions-item-content {\n color: var(--n-text-color-1);\n word-break: break-all;\n}\n\n/* ================= 11. 响应式设计 ================= */\n/* 移动端适配 */\n@media (max-width: 768px) {\n.c-table-wrapper[data-v-5791e51b] {\n overflow-x: auto;\n}\n /* 操作列在移动端的适配 */\n[data-v-5791e51b] .n-data-table-th:last-child {\n width: 160px !important;\n min-width: 160px !important;\n}\n /* 按钮在移动端的优化 */\n[data-v-5791e51b] .n-button {\n font-size: 11px !important;\n padding: 3px 6px;\n}\n[data-v-5791e51b] .n-button .n-icon {\n margin-right: 2px !important;\n}\n /* 单元格编辑图标在移动端始终显示 */\n.cell-edit-icon[data-v-5791e51b] {\n opacity: 0.6;\n}\n}\n/* ================= 12. 主题适配 ================= */\n/* 暗色主题适配 - 已通过 CSS 变量自动适配 */\n[data-theme=dark][data-v-5791e51b] {\n /* CSS 变量已自动适配,如有特殊需求可在此添加 */\n}\n\n/* ================= 13. 响应式优化 ================= */\n/* 小屏幕下的单元格编辑优化 */\n@media (max-width: 768px) {\n.cell-editing-container[data-v-5791e51b],[data-v-5791e51b] .cell-editing-container {\n gap: 6px !important;\n}\n.cell-editing-actions[data-v-5791e51b],[data-v-5791e51b] .cell-editing-actions {\n gap: 3px !important;\n padding: 2px !important;\n}\n.cell-action-btn[data-v-5791e51b],[data-v-5791e51b] .cell-action-btn {\n width: 18px !important;\n height: 18px !important;\n}\n.cell-action-btn svg[data-v-5791e51b],[data-v-5791e51b] .cell-action-btn svg {\n width: 10px !important;\n height: 10px !important;\n}\n /* 移动端编辑图标 */\n.cell-edit-icon[data-v-5791e51b] {\n opacity: 0.6 !important;\n}\n.cell-value[data-v-5791e51b] {\n margin-right: 12px !important;\n}\n}\n/* ================= 14. 性能优化 ================= */\n/* 使用 GPU 加速的动画 */\n.cell-edit-icon[data-v-5791e51b],\n.cell-action-btn[data-v-5791e51b] {\n will-change: transform;\n backface-visibility: hidden;\n}\n[data-v-5791e51b] .n-button {\n will-change: transform;\n backface-visibility: hidden;\n}\n\n/* ================= 15. 可访问性优化 ================= */\n/* 聚焦状态 */\n.cell-edit-wrapper[data-v-5791e51b]:focus-within,\n.cell-editing-container[data-v-5791e51b]:focus-within {\n outline: 2px solid var(--n-primary-color);\n outline-offset: 2px;\n}\n\n/* 高对比度模式支持 */\n@media (prefers-contrast: high) {\n.cell-edit-icon[data-v-5791e51b] {\n opacity: 0.8;\n}\n.cell-editing-actions[data-v-5791e51b] {\n border-width: 2px;\n}\n}"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|