@robot-admin/naive-ui-components 0.6.10 → 0.6.12
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 +36 -20
- 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-CXl4yP_m.css.map +1 -0
- package/dist/C_AudioPlayer-CcBtt71m.css.map +1 -0
- package/dist/C_AudioPlayer.cjs +1 -0
- package/dist/C_AudioPlayer.css +283 -0
- package/dist/C_AudioPlayer.d.cts +2 -0
- package/dist/C_AudioPlayer.d.ts +2 -0
- package/dist/C_AudioPlayer.js +1 -0
- package/dist/C_AudioPlayer.js.map +1 -0
- package/dist/C_AudioPlayer2.js +2 -0
- package/dist/C_AudioPlayer2.js.map +1 -0
- package/dist/C_AvatarGroup-CtPhfH9h.css.map +1 -0
- package/dist/C_AvatarGroup-M1dNPH3E.css.map +1 -0
- package/dist/C_AvatarGroup.cjs +1 -0
- package/dist/C_AvatarGroup.css +107 -0
- package/dist/C_AvatarGroup.d.cts +2 -0
- package/dist/C_AvatarGroup.d.ts +2 -0
- package/dist/C_AvatarGroup.js +1 -0
- package/dist/C_AvatarGroup.js.map +1 -0
- package/dist/C_AvatarGroup2.js +2 -0
- package/dist/C_AvatarGroup2.js.map +1 -0
- 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.d.cts +1 -1
- package/dist/C_Barcode.d.ts +1 -1
- 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.d.cts +1 -1
- package/dist/C_Breadcrumb.d.ts +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.d.cts +1 -1
- package/dist/C_Captcha.d.ts +1 -1
- 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_Cascade.d.cts +1 -1
- package/dist/C_Cascade.d.ts +1 -1
- package/dist/C_Chat-CcdWgVE8.css.map +1 -0
- package/dist/C_Chat-Cx0woEEe.css.map +1 -0
- package/dist/C_Chat.cjs +1 -0
- package/dist/C_Chat.css +395 -0
- package/dist/C_Chat.d.cts +2 -0
- package/dist/C_Chat.d.ts +2 -0
- package/dist/C_Chat.js +1 -0
- package/dist/C_Chat.js.map +1 -0
- package/dist/C_Chat2.js +2 -0
- package/dist/C_Chat2.js.map +1 -0
- 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.d.cts +1 -1
- package/dist/C_City.d.ts +1 -1
- 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.d.cts +1 -1
- package/dist/C_Code.d.ts +1 -1
- 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-BCmTFuDz.css.map → C_CollapsePanel-BpofCDyl.css.map} +1 -1
- package/dist/{C_CollapsePanel-Bxnh4Zy-.css.map → C_CollapsePanel-Fap-lv_5.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-CCsCeI39.css.map +1 -0
- package/dist/C_ContextMenu-DOTBeltf.css.map +1 -0
- package/dist/C_ContextMenu.cjs +1 -0
- package/dist/C_ContextMenu.css +115 -0
- package/dist/C_ContextMenu.d.cts +2 -0
- package/dist/C_ContextMenu.d.ts +2 -0
- package/dist/C_ContextMenu.js +1 -0
- package/dist/C_ContextMenu.js.map +1 -0
- package/dist/C_ContextMenu2.js +2 -0
- package/dist/C_ContextMenu2.js.map +1 -0
- 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.d.cts +1 -1
- package/dist/C_Date.d.ts +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.d.cts +1 -1
- package/dist/C_Editor.d.ts +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_Guide.d.cts +1 -1
- package/dist/C_Guide.d.ts +1 -1
- package/dist/C_Icon.d.cts +1 -1
- package/dist/C_Icon.d.ts +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.d.cts +1 -1
- package/dist/C_Language.d.ts +1 -1
- package/dist/C_Login-Cst_W1XC.css.map +1 -0
- package/dist/C_Login-DWZ_6K1x.css.map +1 -0
- package/dist/C_Login.cjs +1 -0
- package/dist/C_Login.css +515 -0
- package/dist/C_Login.d.cts +2 -0
- package/dist/C_Login.d.ts +2 -0
- package/dist/C_Login.js +1 -0
- package/dist/C_Login.js.map +1 -0
- package/dist/C_Login2.js +2 -0
- package/dist/C_Login2.js.map +1 -0
- 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-Kujzx1qG.css.map → C_Markdown-7iBnLDtL.css.map} +1 -1
- package/dist/{C_Markdown-YCAmBbNF.css.map → C_Markdown-BbTvdFCl.css.map} +1 -1
- package/dist/C_Markdown.css +33 -33
- package/dist/C_Markdown.d.cts +1 -1
- package/dist/C_Markdown.d.ts +1 -1
- 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_Menu.d.cts +1 -1
- package/dist/C_Menu.d.ts +1 -1
- 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-PN4GOLRX.css.map → C_Signature-B5fFz6RD.css.map} +1 -1
- package/dist/{C_Signature-fWQqGIZ-.css.map → C_Signature-es-ZNPzr.css.map} +1 -1
- package/dist/C_Signature.css +14 -14
- 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_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-B1Wf3E73.css.map +1 -0
- package/dist/C_Steps-C8cOf_tu.css.map +1 -0
- package/dist/C_Steps.css +41 -41
- 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-BV1wUw6f.css.map → C_Table-vZlcgH6x.css.map} +1 -1
- package/dist/{C_Table-LlJ-JEdm.css.map → C_Table-wzAO43l0.css.map} +1 -1
- package/dist/C_Table.css +93 -93
- 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-DX3LecK1.css.map → C_TagsView-BsutyC3U.css.map} +1 -1
- package/dist/{C_TagsView-DqOTa8bL.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-CGTFTMX0.css.map +1 -0
- package/dist/C_Timeline-DxKyvKer.css.map +1 -0
- package/dist/C_Timeline.cjs +1 -0
- package/dist/C_Timeline.css +271 -0
- package/dist/C_Timeline.d.cts +2 -0
- package/dist/C_Timeline.d.ts +2 -0
- package/dist/C_Timeline.js +1 -0
- package/dist/C_Timeline.js.map +1 -0
- package/dist/C_Timeline2.js +2 -0
- package/dist/C_Timeline2.js.map +1 -0
- package/dist/C_Transfer-CCEqnC-v.css.map +1 -0
- package/dist/C_Transfer-CStPm4NP.css.map +1 -0
- package/dist/C_Transfer.cjs +1 -0
- package/dist/C_Transfer.css +193 -0
- package/dist/C_Transfer.d.cts +2 -0
- package/dist/C_Transfer.d.ts +2 -0
- package/dist/C_Transfer.js +1 -0
- package/dist/C_Transfer.js.map +1 -0
- package/dist/C_Transfer2.js +2 -0
- package/dist/C_Transfer2.js.map +1 -0
- 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_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 +4 -4
- package/dist/constants2.d.ts +4 -4
- package/dist/constants3.d.ts +5 -5
- 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 +48 -41
- package/dist/index.d.ts +48 -41
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index10.vue.d.ts +41 -23
- package/dist/index11.vue.d.ts +80 -63
- package/dist/index12.vue.d.ts +48 -20
- package/dist/index13.vue.d.ts +23 -63
- package/dist/index14.vue.d.ts +21 -58
- package/dist/index15.vue.d.ts +65 -48
- package/dist/index16.vue.d.ts +16 -21
- package/dist/index17.vue.d.ts +106 -77
- package/dist/index18.vue.d.ts +74 -11
- package/dist/index19.vue.d.ts +58 -653
- package/dist/index2.vue.d.ts +75 -30
- package/dist/index20.vue.d.ts +55 -0
- package/dist/index21.vue.d.ts +33 -0
- package/dist/index22.vue.d.ts +88 -0
- package/dist/index23.vue.d.ts +18 -0
- package/dist/index24.vue.d.ts +112 -0
- package/dist/index25.vue.d.ts +81 -0
- package/dist/index26.vue.d.ts +662 -0
- package/dist/index3.vue.d.ts +77 -19
- package/dist/index4.vue.d.ts +29 -36
- package/dist/index5.vue.d.ts +19 -20
- package/dist/index6.vue.d.ts +36 -26
- package/dist/index7.vue.d.ts +23 -40
- package/dist/index8.vue.d.ts +117 -45
- package/dist/index9.vue.d.ts +19 -25
- 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 +3121 -1228
- package/dist/useCollapsePanel.d.ts +2 -2
- package/dist/useCropperCore.d.ts +5 -5
- package/dist/useDraggableLayout.d.ts +2 -2
- package/dist/useDynamicFormState.d.ts +4 -4
- package/dist/useEdgeInteraction.d.ts +2 -2
- package/dist/useFullscreen.d.ts +2 -2
- package/dist/useInfiniteScroll.d.ts +3 -3
- package/dist/useModalEdit.d.ts +2 -2
- package/dist/useQRCode.d.ts +1 -1
- package/dist/useSearchState.d.ts +2 -2
- package/dist/useSignatureHistory.d.ts +2 -2
- package/dist/useSplitResize.d.ts +6 -6
- package/dist/useTimeSelection.d.ts +1 -1
- package/dist/useTreeOperations.d.ts +2 -2
- package/dist/useWorkflowValidation.d.ts +3 -3
- package/package.json +2 -2
- package/dist/C_ActionBar-DYG0Yf3A.css.map +0 -1
- package/dist/C_ActionBar-MAjRhqcI.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_FullCalendar-BQA0OjGB.css.map +0 -1
- package/dist/C_FullCalendar-ChJUosAi.css.map +0 -1
- package/dist/C_Steps-DLW2vbqC.css.map +0 -1
- package/dist/C_Steps-DwMRHbG2.css.map +0 -1
- package/dist/C_Time-BzyQVvTS.css.map +0 -1
- package/dist/C_Time-DmpKLQHc.css.map +0 -1
package/dist/C_ActionBar2.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{NButton as n,NDivider as r,NDropdown as i,NTooltip as a}from"naive-ui";import{Fragment as o,computed as s,createBlock as c,createCommentVNode as l,createElementBlock as u,createVNode as d,defineComponent as f,h as p,normalizeClass as m,normalizeStyle as h,openBlock as g,renderList as _,renderSlot as v,unref as y,withDirectives as b}from"vue";const x={key:1,class:`actions-center`};var S=t(f({name:`C_ActionBar`,__name:`index`,props:{actions:{default:()=>[]},leftActions:{default:()=>[]},rightActions:{default:()=>[]},config:{default:()=>({})}},emits:[`action-click`,`dropdown-click`],setup(t,{emit:S}){let C=t,w=S,T={align:`left`,size:`medium`,gap:8,wrap:!1,showDivider:!1,dividerType:`vertical`,compact:!1,inline:!0},E=s(()=>({...T,...C.config})),D=s(()=>{if(C.leftActions&&C.leftActions.length>0)return C.leftActions.filter(e=>k(e));if(C.actions.length>0){let e=C.rightActions&&C.rightActions.length>0,t=C.actions.some(e=>e.group===`right`);return!e&&!t?C.actions.filter(e=>k(e)):C.actions.filter(e=>e.group===`left`&&k(e))}return[]}),O=s(()=>C.rightActions&&C.rightActions.length>0?C.rightActions.filter(e=>k(e)):C.actions.filter(e=>e.group===`right`&&k(e))),k=e=>e.show===void 0?!0:y(e.show),A=e=>y(e.disabled)||!1,j=e=>y(e.loading)||!1,M=async e=>{e.dropdown&&e.dropdown.length>0||(w(`action-click`,e),e.onClick&&await e.onClick())},N=async(e,t)=>{w(`dropdown-click`,e,t),e.onClick&&await e.onClick()},P=f({name:`ActionButton`,props:{action:{type:Object,required:!0}},emits:[`click`,`dropdown-select`],setup(t,{emit:r}){let o=s(()=>t.action),c=s(()=>o.value.dropdown?o.value.dropdown.filter(e=>e.show===void 0?!0:y(e.show)).map(t=>({key:t.key,label:t.label,icon:t.icon?()=>p(e,{name:t.icon,size:14}):void 0,disabled:y(t.disabled)})):[]),l=e=>{let t=o.value.dropdown?.find(t=>t.key===e);t&&r(`dropdown-select`,t)},u=t=>{let r=p(n,{type:o.value.type||`default`,size:o.value.size||E.value.size,loading:j(o.value),disabled:A(o.value),...t,...o.value.buttonProps},{default:()=>o.value.label,icon:o.value.icon?()=>p(e,{name:o.value.icon,size:16}):void 0});return o.value.directives&&o.value.directives.length>0?b(r,o.value.directives):r},d=()=>{let e=u({onClick:()=>r(`click`)});return o.value.tooltip?p(a,{placement:`top`},{trigger:()=>e,default:()=>o.value.tooltip}):e},f=()=>{let e=u();return p(i,{options:c.value,onSelect:l},{default:()=>e})};return()=>o.value.dropdown&&o.value.dropdown.length>0?f():d()}});return(e,t)=>(g(),u(`div`,{class:m([`c-action-bar`,{"is-compact":E.value.compact,"is-inline":E.value.inline,"is-wrap":E.value.wrap,[`is-align-${E.value.align}`]:!0,"has-only-left":D.value.length>0&&O.value.length===0&&!e.$slots.center,"has-only-right":O.value.length>0&&D.value.length===0&&!e.$slots.center}])},[D.value.length>0?(g(),u(`div`,{key:0,class:`actions-group actions-left`,style:h({gap:`${E.value.gap}px`})},[(g(!0),u(o,null,_(D.value,(e,t)=>(g(),u(o,{key:e.key||`left-${t}`},[d(y(P),{action:e,onClick:t=>M(e),onDropdownSelect:t=>N(t,e)},null,8,[`action`,`onClick`,`onDropdownSelect`]),E.value.showDivider&&t<D.value.length-1&&E.value.dividerType===`vertical`?(g(),c(y(r),{key:0,vertical:``,class:`action-divider`})):l(`v-if`,!0)],64))),128))],4)):l(`v-if`,!0),e.$slots.center?(g(),u(`div`,x,[v(e.$slots,`center`,{},void 0,!0)])):l(`v-if`,!0),O.value.length>0?(g(),u(`div`,{key:2,class:`actions-group actions-right`,style:h({gap:`${E.value.gap}px`})},[(g(!0),u(o,null,_(O.value,(e,t)=>(g(),u(o,{key:e.key||`right-${t}`},[d(y(P),{action:e,onClick:t=>M(e),onDropdownSelect:t=>N(t,e)},null,8,[`action`,`onClick`,`onDropdownSelect`]),E.value.showDivider&&t<O.value.length-1&&E.value.dividerType===`vertical`?(g(),c(y(r),{key:0,vertical:``,class:`action-divider`})):l(`v-if`,!0)],64))),128))],4)):l(`v-if`,!0)],2))}}),[[`__scopeId`,`data-v-
|
|
1
|
+
import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{NButton as n,NDivider as r,NDropdown as i,NTooltip as a}from"naive-ui";import{Fragment as o,computed as s,createBlock as c,createCommentVNode as l,createElementBlock as u,createVNode as d,defineComponent as f,h as p,normalizeClass as m,normalizeStyle as h,openBlock as g,renderList as _,renderSlot as v,unref as y,withDirectives as b}from"vue";const x={key:1,class:`actions-center`};var S=t(f({name:`C_ActionBar`,__name:`index`,props:{actions:{default:()=>[]},leftActions:{default:()=>[]},rightActions:{default:()=>[]},config:{default:()=>({})}},emits:[`action-click`,`dropdown-click`],setup(t,{emit:S}){let C=t,w=S,T={align:`left`,size:`medium`,gap:8,wrap:!1,showDivider:!1,dividerType:`vertical`,compact:!1,inline:!0},E=s(()=>({...T,...C.config})),D=s(()=>{if(C.leftActions&&C.leftActions.length>0)return C.leftActions.filter(e=>k(e));if(C.actions.length>0){let e=C.rightActions&&C.rightActions.length>0,t=C.actions.some(e=>e.group===`right`);return!e&&!t?C.actions.filter(e=>k(e)):C.actions.filter(e=>e.group===`left`&&k(e))}return[]}),O=s(()=>C.rightActions&&C.rightActions.length>0?C.rightActions.filter(e=>k(e)):C.actions.filter(e=>e.group===`right`&&k(e))),k=e=>e.show===void 0?!0:y(e.show),A=e=>y(e.disabled)||!1,j=e=>y(e.loading)||!1,M=async e=>{e.dropdown&&e.dropdown.length>0||(w(`action-click`,e),e.onClick&&await e.onClick())},N=async(e,t)=>{w(`dropdown-click`,e,t),e.onClick&&await e.onClick()},P=f({name:`ActionButton`,props:{action:{type:Object,required:!0}},emits:[`click`,`dropdown-select`],setup(t,{emit:r}){let o=s(()=>t.action),c=s(()=>o.value.dropdown?o.value.dropdown.filter(e=>e.show===void 0?!0:y(e.show)).map(t=>({key:t.key,label:t.label,icon:t.icon?()=>p(e,{name:t.icon,size:14}):void 0,disabled:y(t.disabled)})):[]),l=e=>{let t=o.value.dropdown?.find(t=>t.key===e);t&&r(`dropdown-select`,t)},u=t=>{let r=p(n,{type:o.value.type||`default`,size:o.value.size||E.value.size,loading:j(o.value),disabled:A(o.value),...t,...o.value.buttonProps},{default:()=>o.value.label,icon:o.value.icon?()=>p(e,{name:o.value.icon,size:16}):void 0});return o.value.directives&&o.value.directives.length>0?b(r,o.value.directives):r},d=()=>{let e=u({onClick:()=>r(`click`)});return o.value.tooltip?p(a,{placement:`top`},{trigger:()=>e,default:()=>o.value.tooltip}):e},f=()=>{let e=u();return p(i,{options:c.value,onSelect:l},{default:()=>e})};return()=>o.value.dropdown&&o.value.dropdown.length>0?f():d()}});return(e,t)=>(g(),u(`div`,{class:m([`c-action-bar`,{"is-compact":E.value.compact,"is-inline":E.value.inline,"is-wrap":E.value.wrap,[`is-align-${E.value.align}`]:!0,"has-only-left":D.value.length>0&&O.value.length===0&&!e.$slots.center,"has-only-right":O.value.length>0&&D.value.length===0&&!e.$slots.center}])},[D.value.length>0?(g(),u(`div`,{key:0,class:`actions-group actions-left`,style:h({gap:`${E.value.gap}px`})},[(g(!0),u(o,null,_(D.value,(e,t)=>(g(),u(o,{key:e.key||`left-${t}`},[d(y(P),{action:e,onClick:t=>M(e),onDropdownSelect:t=>N(t,e)},null,8,[`action`,`onClick`,`onDropdownSelect`]),E.value.showDivider&&t<D.value.length-1&&E.value.dividerType===`vertical`?(g(),c(y(r),{key:0,vertical:``,class:`action-divider`})):l(`v-if`,!0)],64))),128))],4)):l(`v-if`,!0),e.$slots.center?(g(),u(`div`,x,[v(e.$slots,`center`,{},void 0,!0)])):l(`v-if`,!0),O.value.length>0?(g(),u(`div`,{key:2,class:`actions-group actions-right`,style:h({gap:`${E.value.gap}px`})},[(g(!0),u(o,null,_(O.value,(e,t)=>(g(),u(o,{key:e.key||`right-${t}`},[d(y(P),{action:e,onClick:t=>M(e),onDropdownSelect:t=>N(t,e)},null,8,[`action`,`onClick`,`onDropdownSelect`]),E.value.showDivider&&t<O.value.length-1&&E.value.dividerType===`vertical`?(g(),c(y(r),{key:0,vertical:``,class:`action-divider`})):l(`v-if`,!0)],64))),128))],4)):l(`v-if`,!0)],2))}}),[[`__scopeId`,`data-v-c7b6bc21`]]);export{S as t};
|
|
2
2
|
//# sourceMappingURL=C_ActionBar2.js.map
|
package/dist/C_ActionBar2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"C_ActionBar2.js","names":["$slots"],"sources":["../src/components/C_ActionBar/index.vue","../src/components/C_ActionBar/index.vue","../src/components/C_ActionBar/index.vue"],"sourcesContent":["/* unplugin-vue-components disabled */<!--\n * @Author: ChenYu ycyplus@gmail.com\n * @Date: 2026-02-14\n * @Description: 通用操作按钮组件 - 配置化管理任何场景的按钮组\n * @Migration: naive-ui-components 组件库迁移版本\n * Copyright (c) 2026 by CHENY, All Rights Reserved.\n-->\n<template>\n <div\n class=\"c-action-bar\"\n :class=\"{\n 'is-compact': finalConfig.compact,\n 'is-inline': finalConfig.inline,\n 'is-wrap': finalConfig.wrap,\n [`is-align-${finalConfig.align}`]: true,\n 'has-only-left':\n leftButtonList.length > 0 &&\n rightButtonList.length === 0 &&\n !$slots.center,\n 'has-only-right':\n rightButtonList.length > 0 &&\n leftButtonList.length === 0 &&\n !$slots.center,\n }\"\n >\n <div\n v-if=\"leftButtonList.length > 0\"\n class=\"actions-group actions-left\"\n :style=\"{ gap: `${finalConfig.gap}px` }\"\n >\n <template\n v-for=\"(action, index) in leftButtonList\"\n :key=\"action.key || `left-${index}`\"\n >\n <ActionButton\n :action=\"action\"\n @click=\"handleActionClick(action)\"\n @dropdown-select=\"(item) => handleDropdownClick(item, action)\"\n />\n <NDivider\n v-if=\"\n finalConfig.showDivider &&\n index < leftButtonList.length - 1 &&\n finalConfig.dividerType === 'vertical'\n \"\n vertical\n class=\"action-divider\"\n />\n </template>\n </div>\n\n <div v-if=\"$slots.center\" class=\"actions-center\">\n <slot name=\"center\" />\n </div>\n\n <div\n v-if=\"rightButtonList.length > 0\"\n class=\"actions-group actions-right\"\n :style=\"{ gap: `${finalConfig.gap}px` }\"\n >\n <template\n v-for=\"(action, index) in rightButtonList\"\n :key=\"action.key || `right-${index}`\"\n >\n <ActionButton\n :action=\"action\"\n @click=\"handleActionClick(action)\"\n @dropdown-select=\"(item) => handleDropdownClick(item, action)\"\n />\n <NDivider\n v-if=\"\n finalConfig.showDivider &&\n index < rightButtonList.length - 1 &&\n finalConfig.dividerType === 'vertical'\n \"\n vertical\n class=\"action-divider\"\n />\n </template>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, unref, h, withDirectives, defineComponent } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { NButton, NTooltip, NDropdown, NDivider } from \"naive-ui\";\nimport C_Icon from \"../C_Icon/index.vue\";\nimport type {\n ActionItem,\n ActionDropdownItem,\n ActionBarConfig,\n TableActionsProps,\n TableActionsEmits,\n} from \"./types\";\n\ndefineOptions({ name: \"C_ActionBar\" });\n\nconst props = withDefaults(defineProps<TableActionsProps>(), {\n actions: () => [],\n leftActions: () => [],\n rightActions: () => [],\n config: () => ({}),\n});\n\nconst emit = defineEmits<TableActionsEmits>();\n\nconst defaultConfig: Required<ActionBarConfig> = {\n align: \"left\",\n size: \"medium\",\n gap: 8,\n wrap: false,\n showDivider: false,\n dividerType: \"vertical\",\n compact: false,\n inline: true,\n};\n\nconst finalConfig = computed<Required<ActionBarConfig>>(() => ({\n ...defaultConfig,\n ...props.config,\n}));\n\nconst leftButtonList = computed<ActionItem[]>(() => {\n if (props.leftActions && props.leftActions.length > 0) {\n return props.leftActions.filter((action) => shouldShowAction(action));\n }\n if (props.actions.length > 0) {\n const hasRightActions = props.rightActions && props.rightActions.length > 0;\n const hasRightGroup = props.actions.some(\n (action) => action.group === \"right\",\n );\n if (!hasRightActions && !hasRightGroup) {\n return props.actions.filter((action) => shouldShowAction(action));\n }\n return props.actions.filter(\n (action) => action.group === \"left\" && shouldShowAction(action),\n );\n }\n return [];\n});\n\nconst rightButtonList = computed<ActionItem[]>(() => {\n if (props.rightActions && props.rightActions.length > 0) {\n return props.rightActions.filter((action) => shouldShowAction(action));\n }\n return props.actions.filter(\n (action) => action.group === \"right\" && shouldShowAction(action),\n );\n});\n\nconst shouldShowAction = (action: ActionItem): boolean => {\n if (action.show === undefined) return true;\n return unref(action.show);\n};\n\nconst isActionDisabled = (action: ActionItem): boolean => {\n return unref(action.disabled) || false;\n};\n\nconst isActionLoading = (action: ActionItem): boolean => {\n return unref(action.loading) || false;\n};\n\nconst handleActionClick = async (action: ActionItem) => {\n if (action.dropdown && action.dropdown.length > 0) return;\n emit(\"action-click\", action);\n if (action.onClick) {\n await action.onClick();\n }\n};\n\nconst handleDropdownClick = async (\n item: ActionDropdownItem,\n action: ActionItem,\n) => {\n emit(\"dropdown-click\", item, action);\n if (item.onClick) {\n await item.onClick();\n }\n};\n\nconst ActionButton = defineComponent({\n name: \"ActionButton\",\n props: {\n action: {\n type: Object as PropType<ActionItem>,\n required: true,\n },\n },\n emits: [\"click\", \"dropdown-select\"],\n setup(props, { emit }) {\n const action = computed(() => props.action);\n\n const dropdownOptions = computed(() => {\n if (!action.value.dropdown) return [];\n return action.value.dropdown\n .filter((item) => {\n if (item.show === undefined) return true;\n return unref(item.show);\n })\n .map((item) => ({\n key: item.key,\n label: item.label,\n icon: item.icon\n ? () => h(C_Icon, { name: item.icon, size: 14 })\n : undefined,\n disabled: unref(item.disabled),\n }));\n });\n\n const handleDropdownSelect = (key: string) => {\n const item = action.value.dropdown?.find((d) => d.key === key);\n if (item) {\n emit(\"dropdown-select\", item);\n }\n };\n\n const createButtonVNode = (extraProps?: Record<string, any>) => {\n const button = h(\n NButton,\n {\n type: action.value.type || \"default\",\n size: action.value.size || finalConfig.value.size,\n loading: isActionLoading(action.value),\n disabled: isActionDisabled(action.value),\n ...extraProps,\n ...action.value.buttonProps,\n },\n {\n default: () => action.value.label,\n icon: action.value.icon\n ? () => h(C_Icon, { name: action.value.icon, size: 16 })\n : undefined,\n },\n );\n\n return action.value.directives && action.value.directives.length > 0\n ? withDirectives(button, action.value.directives as any)\n : button;\n };\n\n const renderButton = () => {\n const vnode = createButtonVNode({ onClick: () => emit(\"click\") });\n if (action.value.tooltip) {\n return h(\n NTooltip,\n { placement: \"top\" },\n {\n trigger: () => vnode,\n default: () => action.value.tooltip,\n },\n );\n }\n return vnode;\n };\n\n const renderDropdownButton = () => {\n const vnode = createButtonVNode();\n return h(\n NDropdown,\n {\n options: dropdownOptions.value,\n onSelect: handleDropdownSelect,\n },\n {\n default: () => vnode,\n },\n );\n };\n\n return () => {\n if (action.value.dropdown && action.value.dropdown.length > 0) {\n return renderDropdownButton();\n }\n return renderButton();\n };\n },\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: 2026-02-14\n * @Description: 通用操作按钮组件 - 配置化管理任何场景的按钮组\n * @Migration: naive-ui-components 组件库迁移版本\n * Copyright (c) 2026 by CHENY, All Rights Reserved.\n-->\n<template>\n <div\n class=\"c-action-bar\"\n :class=\"{\n 'is-compact': finalConfig.compact,\n 'is-inline': finalConfig.inline,\n 'is-wrap': finalConfig.wrap,\n [`is-align-${finalConfig.align}`]: true,\n 'has-only-left':\n leftButtonList.length > 0 &&\n rightButtonList.length === 0 &&\n !$slots.center,\n 'has-only-right':\n rightButtonList.length > 0 &&\n leftButtonList.length === 0 &&\n !$slots.center,\n }\"\n >\n <div\n v-if=\"leftButtonList.length > 0\"\n class=\"actions-group actions-left\"\n :style=\"{ gap: `${finalConfig.gap}px` }\"\n >\n <template\n v-for=\"(action, index) in leftButtonList\"\n :key=\"action.key || `left-${index}`\"\n >\n <ActionButton\n :action=\"action\"\n @click=\"handleActionClick(action)\"\n @dropdown-select=\"(item) => handleDropdownClick(item, action)\"\n />\n <NDivider\n v-if=\"\n finalConfig.showDivider &&\n index < leftButtonList.length - 1 &&\n finalConfig.dividerType === 'vertical'\n \"\n vertical\n class=\"action-divider\"\n />\n </template>\n </div>\n\n <div v-if=\"$slots.center\" class=\"actions-center\">\n <slot name=\"center\" />\n </div>\n\n <div\n v-if=\"rightButtonList.length > 0\"\n class=\"actions-group actions-right\"\n :style=\"{ gap: `${finalConfig.gap}px` }\"\n >\n <template\n v-for=\"(action, index) in rightButtonList\"\n :key=\"action.key || `right-${index}`\"\n >\n <ActionButton\n :action=\"action\"\n @click=\"handleActionClick(action)\"\n @dropdown-select=\"(item) => handleDropdownClick(item, action)\"\n />\n <NDivider\n v-if=\"\n finalConfig.showDivider &&\n index < rightButtonList.length - 1 &&\n finalConfig.dividerType === 'vertical'\n \"\n vertical\n class=\"action-divider\"\n />\n </template>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, unref, h, withDirectives, defineComponent } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { NButton, NTooltip, NDropdown, NDivider } from \"naive-ui\";\nimport C_Icon from \"../C_Icon/index.vue\";\nimport type {\n ActionItem,\n ActionDropdownItem,\n ActionBarConfig,\n TableActionsProps,\n TableActionsEmits,\n} from \"./types\";\n\ndefineOptions({ name: \"C_ActionBar\" });\n\nconst props = withDefaults(defineProps<TableActionsProps>(), {\n actions: () => [],\n leftActions: () => [],\n rightActions: () => [],\n config: () => ({}),\n});\n\nconst emit = defineEmits<TableActionsEmits>();\n\nconst defaultConfig: Required<ActionBarConfig> = {\n align: \"left\",\n size: \"medium\",\n gap: 8,\n wrap: false,\n showDivider: false,\n dividerType: \"vertical\",\n compact: false,\n inline: true,\n};\n\nconst finalConfig = computed<Required<ActionBarConfig>>(() => ({\n ...defaultConfig,\n ...props.config,\n}));\n\nconst leftButtonList = computed<ActionItem[]>(() => {\n if (props.leftActions && props.leftActions.length > 0) {\n return props.leftActions.filter((action) => shouldShowAction(action));\n }\n if (props.actions.length > 0) {\n const hasRightActions = props.rightActions && props.rightActions.length > 0;\n const hasRightGroup = props.actions.some(\n (action) => action.group === \"right\",\n );\n if (!hasRightActions && !hasRightGroup) {\n return props.actions.filter((action) => shouldShowAction(action));\n }\n return props.actions.filter(\n (action) => action.group === \"left\" && shouldShowAction(action),\n );\n }\n return [];\n});\n\nconst rightButtonList = computed<ActionItem[]>(() => {\n if (props.rightActions && props.rightActions.length > 0) {\n return props.rightActions.filter((action) => shouldShowAction(action));\n }\n return props.actions.filter(\n (action) => action.group === \"right\" && shouldShowAction(action),\n );\n});\n\nconst shouldShowAction = (action: ActionItem): boolean => {\n if (action.show === undefined) return true;\n return unref(action.show);\n};\n\nconst isActionDisabled = (action: ActionItem): boolean => {\n return unref(action.disabled) || false;\n};\n\nconst isActionLoading = (action: ActionItem): boolean => {\n return unref(action.loading) || false;\n};\n\nconst handleActionClick = async (action: ActionItem) => {\n if (action.dropdown && action.dropdown.length > 0) return;\n emit(\"action-click\", action);\n if (action.onClick) {\n await action.onClick();\n }\n};\n\nconst handleDropdownClick = async (\n item: ActionDropdownItem,\n action: ActionItem,\n) => {\n emit(\"dropdown-click\", item, action);\n if (item.onClick) {\n await item.onClick();\n }\n};\n\nconst ActionButton = defineComponent({\n name: \"ActionButton\",\n props: {\n action: {\n type: Object as PropType<ActionItem>,\n required: true,\n },\n },\n emits: [\"click\", \"dropdown-select\"],\n setup(props, { emit }) {\n const action = computed(() => props.action);\n\n const dropdownOptions = computed(() => {\n if (!action.value.dropdown) return [];\n return action.value.dropdown\n .filter((item) => {\n if (item.show === undefined) return true;\n return unref(item.show);\n })\n .map((item) => ({\n key: item.key,\n label: item.label,\n icon: item.icon\n ? () => h(C_Icon, { name: item.icon, size: 14 })\n : undefined,\n disabled: unref(item.disabled),\n }));\n });\n\n const handleDropdownSelect = (key: string) => {\n const item = action.value.dropdown?.find((d) => d.key === key);\n if (item) {\n emit(\"dropdown-select\", item);\n }\n };\n\n const createButtonVNode = (extraProps?: Record<string, any>) => {\n const button = h(\n NButton,\n {\n type: action.value.type || \"default\",\n size: action.value.size || finalConfig.value.size,\n loading: isActionLoading(action.value),\n disabled: isActionDisabled(action.value),\n ...extraProps,\n ...action.value.buttonProps,\n },\n {\n default: () => action.value.label,\n icon: action.value.icon\n ? () => h(C_Icon, { name: action.value.icon, size: 16 })\n : undefined,\n },\n );\n\n return action.value.directives && action.value.directives.length > 0\n ? withDirectives(button, action.value.directives as any)\n : button;\n };\n\n const renderButton = () => {\n const vnode = createButtonVNode({ onClick: () => emit(\"click\") });\n if (action.value.tooltip) {\n return h(\n NTooltip,\n { placement: \"top\" },\n {\n trigger: () => vnode,\n default: () => action.value.tooltip,\n },\n );\n }\n return vnode;\n };\n\n const renderDropdownButton = () => {\n const vnode = createButtonVNode();\n return h(\n NDropdown,\n {\n options: dropdownOptions.value,\n onSelect: handleDropdownSelect,\n },\n {\n default: () => vnode,\n },\n );\n };\n\n return () => {\n if (action.value.dropdown && action.value.dropdown.length > 0) {\n return renderDropdownButton();\n }\n return renderButton();\n };\n },\n});\n</script>\n\n<style scoped lang=\"scss\">\n@use \"./index.scss\";\n</style>\n","<!--\n * @Author: ChenYu ycyplus@gmail.com\n * @Date: 2026-02-14\n * @Description: 通用操作按钮组件 - 配置化管理任何场景的按钮组\n * @Migration: naive-ui-components 组件库迁移版本\n * Copyright (c) 2026 by CHENY, All Rights Reserved.\n-->\n<template>\n <div\n class=\"c-action-bar\"\n :class=\"{\n 'is-compact': finalConfig.compact,\n 'is-inline': finalConfig.inline,\n 'is-wrap': finalConfig.wrap,\n [`is-align-${finalConfig.align}`]: true,\n 'has-only-left':\n leftButtonList.length > 0 &&\n rightButtonList.length === 0 &&\n !$slots.center,\n 'has-only-right':\n rightButtonList.length > 0 &&\n leftButtonList.length === 0 &&\n !$slots.center,\n }\"\n >\n <div\n v-if=\"leftButtonList.length > 0\"\n class=\"actions-group actions-left\"\n :style=\"{ gap: `${finalConfig.gap}px` }\"\n >\n <template\n v-for=\"(action, index) in leftButtonList\"\n :key=\"action.key || `left-${index}`\"\n >\n <ActionButton\n :action=\"action\"\n @click=\"handleActionClick(action)\"\n @dropdown-select=\"(item) => handleDropdownClick(item, action)\"\n />\n <NDivider\n v-if=\"\n finalConfig.showDivider &&\n index < leftButtonList.length - 1 &&\n finalConfig.dividerType === 'vertical'\n \"\n vertical\n class=\"action-divider\"\n />\n </template>\n </div>\n\n <div v-if=\"$slots.center\" class=\"actions-center\">\n <slot name=\"center\" />\n </div>\n\n <div\n v-if=\"rightButtonList.length > 0\"\n class=\"actions-group actions-right\"\n :style=\"{ gap: `${finalConfig.gap}px` }\"\n >\n <template\n v-for=\"(action, index) in rightButtonList\"\n :key=\"action.key || `right-${index}`\"\n >\n <ActionButton\n :action=\"action\"\n @click=\"handleActionClick(action)\"\n @dropdown-select=\"(item) => handleDropdownClick(item, action)\"\n />\n <NDivider\n v-if=\"\n finalConfig.showDivider &&\n index < rightButtonList.length - 1 &&\n finalConfig.dividerType === 'vertical'\n \"\n vertical\n class=\"action-divider\"\n />\n </template>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, unref, h, withDirectives, defineComponent } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { NButton, NTooltip, NDropdown, NDivider } from \"naive-ui\";\nimport C_Icon from \"../C_Icon/index.vue\";\nimport type {\n ActionItem,\n ActionDropdownItem,\n ActionBarConfig,\n TableActionsProps,\n TableActionsEmits,\n} from \"./types\";\n\ndefineOptions({ name: \"C_ActionBar\" });\n\nconst props = withDefaults(defineProps<TableActionsProps>(), {\n actions: () => [],\n leftActions: () => [],\n rightActions: () => [],\n config: () => ({}),\n});\n\nconst emit = defineEmits<TableActionsEmits>();\n\nconst defaultConfig: Required<ActionBarConfig> = {\n align: \"left\",\n size: \"medium\",\n gap: 8,\n wrap: false,\n showDivider: false,\n dividerType: \"vertical\",\n compact: false,\n inline: true,\n};\n\nconst finalConfig = computed<Required<ActionBarConfig>>(() => ({\n ...defaultConfig,\n ...props.config,\n}));\n\nconst leftButtonList = computed<ActionItem[]>(() => {\n if (props.leftActions && props.leftActions.length > 0) {\n return props.leftActions.filter((action) => shouldShowAction(action));\n }\n if (props.actions.length > 0) {\n const hasRightActions = props.rightActions && props.rightActions.length > 0;\n const hasRightGroup = props.actions.some(\n (action) => action.group === \"right\",\n );\n if (!hasRightActions && !hasRightGroup) {\n return props.actions.filter((action) => shouldShowAction(action));\n }\n return props.actions.filter(\n (action) => action.group === \"left\" && shouldShowAction(action),\n );\n }\n return [];\n});\n\nconst rightButtonList = computed<ActionItem[]>(() => {\n if (props.rightActions && props.rightActions.length > 0) {\n return props.rightActions.filter((action) => shouldShowAction(action));\n }\n return props.actions.filter(\n (action) => action.group === \"right\" && shouldShowAction(action),\n );\n});\n\nconst shouldShowAction = (action: ActionItem): boolean => {\n if (action.show === undefined) return true;\n return unref(action.show);\n};\n\nconst isActionDisabled = (action: ActionItem): boolean => {\n return unref(action.disabled) || false;\n};\n\nconst isActionLoading = (action: ActionItem): boolean => {\n return unref(action.loading) || false;\n};\n\nconst handleActionClick = async (action: ActionItem) => {\n if (action.dropdown && action.dropdown.length > 0) return;\n emit(\"action-click\", action);\n if (action.onClick) {\n await action.onClick();\n }\n};\n\nconst handleDropdownClick = async (\n item: ActionDropdownItem,\n action: ActionItem,\n) => {\n emit(\"dropdown-click\", item, action);\n if (item.onClick) {\n await item.onClick();\n }\n};\n\nconst ActionButton = defineComponent({\n name: \"ActionButton\",\n props: {\n action: {\n type: Object as PropType<ActionItem>,\n required: true,\n },\n },\n emits: [\"click\", \"dropdown-select\"],\n setup(props, { emit }) {\n const action = computed(() => props.action);\n\n const dropdownOptions = computed(() => {\n if (!action.value.dropdown) return [];\n return action.value.dropdown\n .filter((item) => {\n if (item.show === undefined) return true;\n return unref(item.show);\n })\n .map((item) => ({\n key: item.key,\n label: item.label,\n icon: item.icon\n ? () => h(C_Icon, { name: item.icon, size: 14 })\n : undefined,\n disabled: unref(item.disabled),\n }));\n });\n\n const handleDropdownSelect = (key: string) => {\n const item = action.value.dropdown?.find((d) => d.key === key);\n if (item) {\n emit(\"dropdown-select\", item);\n }\n };\n\n const createButtonVNode = (extraProps?: Record<string, any>) => {\n const button = h(\n NButton,\n {\n type: action.value.type || \"default\",\n size: action.value.size || finalConfig.value.size,\n loading: isActionLoading(action.value),\n disabled: isActionDisabled(action.value),\n ...extraProps,\n ...action.value.buttonProps,\n },\n {\n default: () => action.value.label,\n icon: action.value.icon\n ? () => h(C_Icon, { name: action.value.icon, size: 16 })\n : undefined,\n },\n );\n\n return action.value.directives && action.value.directives.length > 0\n ? withDirectives(button, action.value.directives as any)\n : button;\n };\n\n const renderButton = () => {\n const vnode = createButtonVNode({ onClick: () => emit(\"click\") });\n if (action.value.tooltip) {\n return h(\n NTooltip,\n { placement: \"top\" },\n {\n trigger: () => vnode,\n default: () => action.value.tooltip,\n },\n );\n }\n return vnode;\n };\n\n const renderDropdownButton = () => {\n const vnode = createButtonVNode();\n return h(\n NDropdown,\n {\n options: dropdownOptions.value,\n onSelect: handleDropdownSelect,\n },\n {\n default: () => vnode,\n },\n );\n };\n\n return () => {\n if (action.value.dropdown && action.value.dropdown.length > 0) {\n return renderDropdownButton();\n }\n return renderButton();\n };\n },\n});\n</script>\n\n<style scoped lang=\"scss\">\n@use \"./index.scss\";\n</style>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"C_ActionBar2.js","names":["$slots"],"sources":["../src/components/C_ActionBar/index.vue","../src/components/C_ActionBar/index.vue","../src/components/C_ActionBar/index.vue"],"sourcesContent":["/* unplugin-vue-components disabled */<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2026-02-14\r\n * @Description: 通用操作按钮组件 - 配置化管理任何场景的按钮组\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2026 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div\r\n class=\"c-action-bar\"\r\n :class=\"{\r\n 'is-compact': finalConfig.compact,\r\n 'is-inline': finalConfig.inline,\r\n 'is-wrap': finalConfig.wrap,\r\n [`is-align-${finalConfig.align}`]: true,\r\n 'has-only-left':\r\n leftButtonList.length > 0 &&\r\n rightButtonList.length === 0 &&\r\n !$slots.center,\r\n 'has-only-right':\r\n rightButtonList.length > 0 &&\r\n leftButtonList.length === 0 &&\r\n !$slots.center,\r\n }\"\r\n >\r\n <div\r\n v-if=\"leftButtonList.length > 0\"\r\n class=\"actions-group actions-left\"\r\n :style=\"{ gap: `${finalConfig.gap}px` }\"\r\n >\r\n <template\r\n v-for=\"(action, index) in leftButtonList\"\r\n :key=\"action.key || `left-${index}`\"\r\n >\r\n <ActionButton\r\n :action=\"action\"\r\n @click=\"handleActionClick(action)\"\r\n @dropdown-select=\"(item) => handleDropdownClick(item, action)\"\r\n />\r\n <NDivider\r\n v-if=\"\r\n finalConfig.showDivider &&\r\n index < leftButtonList.length - 1 &&\r\n finalConfig.dividerType === 'vertical'\r\n \"\r\n vertical\r\n class=\"action-divider\"\r\n />\r\n </template>\r\n </div>\r\n\r\n <div v-if=\"$slots.center\" class=\"actions-center\">\r\n <slot name=\"center\" />\r\n </div>\r\n\r\n <div\r\n v-if=\"rightButtonList.length > 0\"\r\n class=\"actions-group actions-right\"\r\n :style=\"{ gap: `${finalConfig.gap}px` }\"\r\n >\r\n <template\r\n v-for=\"(action, index) in rightButtonList\"\r\n :key=\"action.key || `right-${index}`\"\r\n >\r\n <ActionButton\r\n :action=\"action\"\r\n @click=\"handleActionClick(action)\"\r\n @dropdown-select=\"(item) => handleDropdownClick(item, action)\"\r\n />\r\n <NDivider\r\n v-if=\"\r\n finalConfig.showDivider &&\r\n index < rightButtonList.length - 1 &&\r\n finalConfig.dividerType === 'vertical'\r\n \"\r\n vertical\r\n class=\"action-divider\"\r\n />\r\n </template>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, unref, h, withDirectives, defineComponent } from \"vue\";\r\nimport type { PropType } from \"vue\";\r\nimport { NButton, NTooltip, NDropdown, NDivider } from \"naive-ui\";\r\nimport C_Icon from \"../C_Icon/index.vue\";\r\nimport type {\r\n ActionItem,\r\n ActionDropdownItem,\r\n ActionBarConfig,\r\n TableActionsProps,\r\n TableActionsEmits,\r\n} from \"./types\";\r\n\r\ndefineOptions({ name: \"C_ActionBar\" });\r\n\r\nconst props = withDefaults(defineProps<TableActionsProps>(), {\r\n actions: () => [],\r\n leftActions: () => [],\r\n rightActions: () => [],\r\n config: () => ({}),\r\n});\r\n\r\nconst emit = defineEmits<TableActionsEmits>();\r\n\r\nconst defaultConfig: Required<ActionBarConfig> = {\r\n align: \"left\",\r\n size: \"medium\",\r\n gap: 8,\r\n wrap: false,\r\n showDivider: false,\r\n dividerType: \"vertical\",\r\n compact: false,\r\n inline: true,\r\n};\r\n\r\nconst finalConfig = computed<Required<ActionBarConfig>>(() => ({\r\n ...defaultConfig,\r\n ...props.config,\r\n}));\r\n\r\nconst leftButtonList = computed<ActionItem[]>(() => {\r\n if (props.leftActions && props.leftActions.length > 0) {\r\n return props.leftActions.filter((action) => shouldShowAction(action));\r\n }\r\n if (props.actions.length > 0) {\r\n const hasRightActions = props.rightActions && props.rightActions.length > 0;\r\n const hasRightGroup = props.actions.some(\r\n (action) => action.group === \"right\",\r\n );\r\n if (!hasRightActions && !hasRightGroup) {\r\n return props.actions.filter((action) => shouldShowAction(action));\r\n }\r\n return props.actions.filter(\r\n (action) => action.group === \"left\" && shouldShowAction(action),\r\n );\r\n }\r\n return [];\r\n});\r\n\r\nconst rightButtonList = computed<ActionItem[]>(() => {\r\n if (props.rightActions && props.rightActions.length > 0) {\r\n return props.rightActions.filter((action) => shouldShowAction(action));\r\n }\r\n return props.actions.filter(\r\n (action) => action.group === \"right\" && shouldShowAction(action),\r\n );\r\n});\r\n\r\nconst shouldShowAction = (action: ActionItem): boolean => {\r\n if (action.show === undefined) return true;\r\n return unref(action.show);\r\n};\r\n\r\nconst isActionDisabled = (action: ActionItem): boolean => {\r\n return unref(action.disabled) || false;\r\n};\r\n\r\nconst isActionLoading = (action: ActionItem): boolean => {\r\n return unref(action.loading) || false;\r\n};\r\n\r\nconst handleActionClick = async (action: ActionItem) => {\r\n if (action.dropdown && action.dropdown.length > 0) return;\r\n emit(\"action-click\", action);\r\n if (action.onClick) {\r\n await action.onClick();\r\n }\r\n};\r\n\r\nconst handleDropdownClick = async (\r\n item: ActionDropdownItem,\r\n action: ActionItem,\r\n) => {\r\n emit(\"dropdown-click\", item, action);\r\n if (item.onClick) {\r\n await item.onClick();\r\n }\r\n};\r\n\r\nconst ActionButton = defineComponent({\r\n name: \"ActionButton\",\r\n props: {\r\n action: {\r\n type: Object as PropType<ActionItem>,\r\n required: true,\r\n },\r\n },\r\n emits: [\"click\", \"dropdown-select\"],\r\n setup(props, { emit }) {\r\n const action = computed(() => props.action);\r\n\r\n const dropdownOptions = computed(() => {\r\n if (!action.value.dropdown) return [];\r\n return action.value.dropdown\r\n .filter((item) => {\r\n if (item.show === undefined) return true;\r\n return unref(item.show);\r\n })\r\n .map((item) => ({\r\n key: item.key,\r\n label: item.label,\r\n icon: item.icon\r\n ? () => h(C_Icon, { name: item.icon, size: 14 })\r\n : undefined,\r\n disabled: unref(item.disabled),\r\n }));\r\n });\r\n\r\n const handleDropdownSelect = (key: string) => {\r\n const item = action.value.dropdown?.find((d) => d.key === key);\r\n if (item) {\r\n emit(\"dropdown-select\", item);\r\n }\r\n };\r\n\r\n const createButtonVNode = (extraProps?: Record<string, any>) => {\r\n const button = h(\r\n NButton,\r\n {\r\n type: action.value.type || \"default\",\r\n size: action.value.size || finalConfig.value.size,\r\n loading: isActionLoading(action.value),\r\n disabled: isActionDisabled(action.value),\r\n ...extraProps,\r\n ...action.value.buttonProps,\r\n },\r\n {\r\n default: () => action.value.label,\r\n icon: action.value.icon\r\n ? () => h(C_Icon, { name: action.value.icon, size: 16 })\r\n : undefined,\r\n },\r\n );\r\n\r\n return action.value.directives && action.value.directives.length > 0\r\n ? withDirectives(button, action.value.directives as any)\r\n : button;\r\n };\r\n\r\n const renderButton = () => {\r\n const vnode = createButtonVNode({ onClick: () => emit(\"click\") });\r\n if (action.value.tooltip) {\r\n return h(\r\n NTooltip,\r\n { placement: \"top\" },\r\n {\r\n trigger: () => vnode,\r\n default: () => action.value.tooltip,\r\n },\r\n );\r\n }\r\n return vnode;\r\n };\r\n\r\n const renderDropdownButton = () => {\r\n const vnode = createButtonVNode();\r\n return h(\r\n NDropdown,\r\n {\r\n options: dropdownOptions.value,\r\n onSelect: handleDropdownSelect,\r\n },\r\n {\r\n default: () => vnode,\r\n },\r\n );\r\n };\r\n\r\n return () => {\r\n if (action.value.dropdown && action.value.dropdown.length > 0) {\r\n return renderDropdownButton();\r\n }\r\n return renderButton();\r\n };\r\n },\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: 2026-02-14\r\n * @Description: 通用操作按钮组件 - 配置化管理任何场景的按钮组\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2026 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div\r\n class=\"c-action-bar\"\r\n :class=\"{\r\n 'is-compact': finalConfig.compact,\r\n 'is-inline': finalConfig.inline,\r\n 'is-wrap': finalConfig.wrap,\r\n [`is-align-${finalConfig.align}`]: true,\r\n 'has-only-left':\r\n leftButtonList.length > 0 &&\r\n rightButtonList.length === 0 &&\r\n !$slots.center,\r\n 'has-only-right':\r\n rightButtonList.length > 0 &&\r\n leftButtonList.length === 0 &&\r\n !$slots.center,\r\n }\"\r\n >\r\n <div\r\n v-if=\"leftButtonList.length > 0\"\r\n class=\"actions-group actions-left\"\r\n :style=\"{ gap: `${finalConfig.gap}px` }\"\r\n >\r\n <template\r\n v-for=\"(action, index) in leftButtonList\"\r\n :key=\"action.key || `left-${index}`\"\r\n >\r\n <ActionButton\r\n :action=\"action\"\r\n @click=\"handleActionClick(action)\"\r\n @dropdown-select=\"(item) => handleDropdownClick(item, action)\"\r\n />\r\n <NDivider\r\n v-if=\"\r\n finalConfig.showDivider &&\r\n index < leftButtonList.length - 1 &&\r\n finalConfig.dividerType === 'vertical'\r\n \"\r\n vertical\r\n class=\"action-divider\"\r\n />\r\n </template>\r\n </div>\r\n\r\n <div v-if=\"$slots.center\" class=\"actions-center\">\r\n <slot name=\"center\" />\r\n </div>\r\n\r\n <div\r\n v-if=\"rightButtonList.length > 0\"\r\n class=\"actions-group actions-right\"\r\n :style=\"{ gap: `${finalConfig.gap}px` }\"\r\n >\r\n <template\r\n v-for=\"(action, index) in rightButtonList\"\r\n :key=\"action.key || `right-${index}`\"\r\n >\r\n <ActionButton\r\n :action=\"action\"\r\n @click=\"handleActionClick(action)\"\r\n @dropdown-select=\"(item) => handleDropdownClick(item, action)\"\r\n />\r\n <NDivider\r\n v-if=\"\r\n finalConfig.showDivider &&\r\n index < rightButtonList.length - 1 &&\r\n finalConfig.dividerType === 'vertical'\r\n \"\r\n vertical\r\n class=\"action-divider\"\r\n />\r\n </template>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, unref, h, withDirectives, defineComponent } from \"vue\";\r\nimport type { PropType } from \"vue\";\r\nimport { NButton, NTooltip, NDropdown, NDivider } from \"naive-ui\";\r\nimport C_Icon from \"../C_Icon/index.vue\";\r\nimport type {\r\n ActionItem,\r\n ActionDropdownItem,\r\n ActionBarConfig,\r\n TableActionsProps,\r\n TableActionsEmits,\r\n} from \"./types\";\r\n\r\ndefineOptions({ name: \"C_ActionBar\" });\r\n\r\nconst props = withDefaults(defineProps<TableActionsProps>(), {\r\n actions: () => [],\r\n leftActions: () => [],\r\n rightActions: () => [],\r\n config: () => ({}),\r\n});\r\n\r\nconst emit = defineEmits<TableActionsEmits>();\r\n\r\nconst defaultConfig: Required<ActionBarConfig> = {\r\n align: \"left\",\r\n size: \"medium\",\r\n gap: 8,\r\n wrap: false,\r\n showDivider: false,\r\n dividerType: \"vertical\",\r\n compact: false,\r\n inline: true,\r\n};\r\n\r\nconst finalConfig = computed<Required<ActionBarConfig>>(() => ({\r\n ...defaultConfig,\r\n ...props.config,\r\n}));\r\n\r\nconst leftButtonList = computed<ActionItem[]>(() => {\r\n if (props.leftActions && props.leftActions.length > 0) {\r\n return props.leftActions.filter((action) => shouldShowAction(action));\r\n }\r\n if (props.actions.length > 0) {\r\n const hasRightActions = props.rightActions && props.rightActions.length > 0;\r\n const hasRightGroup = props.actions.some(\r\n (action) => action.group === \"right\",\r\n );\r\n if (!hasRightActions && !hasRightGroup) {\r\n return props.actions.filter((action) => shouldShowAction(action));\r\n }\r\n return props.actions.filter(\r\n (action) => action.group === \"left\" && shouldShowAction(action),\r\n );\r\n }\r\n return [];\r\n});\r\n\r\nconst rightButtonList = computed<ActionItem[]>(() => {\r\n if (props.rightActions && props.rightActions.length > 0) {\r\n return props.rightActions.filter((action) => shouldShowAction(action));\r\n }\r\n return props.actions.filter(\r\n (action) => action.group === \"right\" && shouldShowAction(action),\r\n );\r\n});\r\n\r\nconst shouldShowAction = (action: ActionItem): boolean => {\r\n if (action.show === undefined) return true;\r\n return unref(action.show);\r\n};\r\n\r\nconst isActionDisabled = (action: ActionItem): boolean => {\r\n return unref(action.disabled) || false;\r\n};\r\n\r\nconst isActionLoading = (action: ActionItem): boolean => {\r\n return unref(action.loading) || false;\r\n};\r\n\r\nconst handleActionClick = async (action: ActionItem) => {\r\n if (action.dropdown && action.dropdown.length > 0) return;\r\n emit(\"action-click\", action);\r\n if (action.onClick) {\r\n await action.onClick();\r\n }\r\n};\r\n\r\nconst handleDropdownClick = async (\r\n item: ActionDropdownItem,\r\n action: ActionItem,\r\n) => {\r\n emit(\"dropdown-click\", item, action);\r\n if (item.onClick) {\r\n await item.onClick();\r\n }\r\n};\r\n\r\nconst ActionButton = defineComponent({\r\n name: \"ActionButton\",\r\n props: {\r\n action: {\r\n type: Object as PropType<ActionItem>,\r\n required: true,\r\n },\r\n },\r\n emits: [\"click\", \"dropdown-select\"],\r\n setup(props, { emit }) {\r\n const action = computed(() => props.action);\r\n\r\n const dropdownOptions = computed(() => {\r\n if (!action.value.dropdown) return [];\r\n return action.value.dropdown\r\n .filter((item) => {\r\n if (item.show === undefined) return true;\r\n return unref(item.show);\r\n })\r\n .map((item) => ({\r\n key: item.key,\r\n label: item.label,\r\n icon: item.icon\r\n ? () => h(C_Icon, { name: item.icon, size: 14 })\r\n : undefined,\r\n disabled: unref(item.disabled),\r\n }));\r\n });\r\n\r\n const handleDropdownSelect = (key: string) => {\r\n const item = action.value.dropdown?.find((d) => d.key === key);\r\n if (item) {\r\n emit(\"dropdown-select\", item);\r\n }\r\n };\r\n\r\n const createButtonVNode = (extraProps?: Record<string, any>) => {\r\n const button = h(\r\n NButton,\r\n {\r\n type: action.value.type || \"default\",\r\n size: action.value.size || finalConfig.value.size,\r\n loading: isActionLoading(action.value),\r\n disabled: isActionDisabled(action.value),\r\n ...extraProps,\r\n ...action.value.buttonProps,\r\n },\r\n {\r\n default: () => action.value.label,\r\n icon: action.value.icon\r\n ? () => h(C_Icon, { name: action.value.icon, size: 16 })\r\n : undefined,\r\n },\r\n );\r\n\r\n return action.value.directives && action.value.directives.length > 0\r\n ? withDirectives(button, action.value.directives as any)\r\n : button;\r\n };\r\n\r\n const renderButton = () => {\r\n const vnode = createButtonVNode({ onClick: () => emit(\"click\") });\r\n if (action.value.tooltip) {\r\n return h(\r\n NTooltip,\r\n { placement: \"top\" },\r\n {\r\n trigger: () => vnode,\r\n default: () => action.value.tooltip,\r\n },\r\n );\r\n }\r\n return vnode;\r\n };\r\n\r\n const renderDropdownButton = () => {\r\n const vnode = createButtonVNode();\r\n return h(\r\n NDropdown,\r\n {\r\n options: dropdownOptions.value,\r\n onSelect: handleDropdownSelect,\r\n },\r\n {\r\n default: () => vnode,\r\n },\r\n );\r\n };\r\n\r\n return () => {\r\n if (action.value.dropdown && action.value.dropdown.length > 0) {\r\n return renderDropdownButton();\r\n }\r\n return renderButton();\r\n };\r\n },\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: 2026-02-14\r\n * @Description: 通用操作按钮组件 - 配置化管理任何场景的按钮组\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2026 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div\r\n class=\"c-action-bar\"\r\n :class=\"{\r\n 'is-compact': finalConfig.compact,\r\n 'is-inline': finalConfig.inline,\r\n 'is-wrap': finalConfig.wrap,\r\n [`is-align-${finalConfig.align}`]: true,\r\n 'has-only-left':\r\n leftButtonList.length > 0 &&\r\n rightButtonList.length === 0 &&\r\n !$slots.center,\r\n 'has-only-right':\r\n rightButtonList.length > 0 &&\r\n leftButtonList.length === 0 &&\r\n !$slots.center,\r\n }\"\r\n >\r\n <div\r\n v-if=\"leftButtonList.length > 0\"\r\n class=\"actions-group actions-left\"\r\n :style=\"{ gap: `${finalConfig.gap}px` }\"\r\n >\r\n <template\r\n v-for=\"(action, index) in leftButtonList\"\r\n :key=\"action.key || `left-${index}`\"\r\n >\r\n <ActionButton\r\n :action=\"action\"\r\n @click=\"handleActionClick(action)\"\r\n @dropdown-select=\"(item) => handleDropdownClick(item, action)\"\r\n />\r\n <NDivider\r\n v-if=\"\r\n finalConfig.showDivider &&\r\n index < leftButtonList.length - 1 &&\r\n finalConfig.dividerType === 'vertical'\r\n \"\r\n vertical\r\n class=\"action-divider\"\r\n />\r\n </template>\r\n </div>\r\n\r\n <div v-if=\"$slots.center\" class=\"actions-center\">\r\n <slot name=\"center\" />\r\n </div>\r\n\r\n <div\r\n v-if=\"rightButtonList.length > 0\"\r\n class=\"actions-group actions-right\"\r\n :style=\"{ gap: `${finalConfig.gap}px` }\"\r\n >\r\n <template\r\n v-for=\"(action, index) in rightButtonList\"\r\n :key=\"action.key || `right-${index}`\"\r\n >\r\n <ActionButton\r\n :action=\"action\"\r\n @click=\"handleActionClick(action)\"\r\n @dropdown-select=\"(item) => handleDropdownClick(item, action)\"\r\n />\r\n <NDivider\r\n v-if=\"\r\n finalConfig.showDivider &&\r\n index < rightButtonList.length - 1 &&\r\n finalConfig.dividerType === 'vertical'\r\n \"\r\n vertical\r\n class=\"action-divider\"\r\n />\r\n </template>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, unref, h, withDirectives, defineComponent } from \"vue\";\r\nimport type { PropType } from \"vue\";\r\nimport { NButton, NTooltip, NDropdown, NDivider } from \"naive-ui\";\r\nimport C_Icon from \"../C_Icon/index.vue\";\r\nimport type {\r\n ActionItem,\r\n ActionDropdownItem,\r\n ActionBarConfig,\r\n TableActionsProps,\r\n TableActionsEmits,\r\n} from \"./types\";\r\n\r\ndefineOptions({ name: \"C_ActionBar\" });\r\n\r\nconst props = withDefaults(defineProps<TableActionsProps>(), {\r\n actions: () => [],\r\n leftActions: () => [],\r\n rightActions: () => [],\r\n config: () => ({}),\r\n});\r\n\r\nconst emit = defineEmits<TableActionsEmits>();\r\n\r\nconst defaultConfig: Required<ActionBarConfig> = {\r\n align: \"left\",\r\n size: \"medium\",\r\n gap: 8,\r\n wrap: false,\r\n showDivider: false,\r\n dividerType: \"vertical\",\r\n compact: false,\r\n inline: true,\r\n};\r\n\r\nconst finalConfig = computed<Required<ActionBarConfig>>(() => ({\r\n ...defaultConfig,\r\n ...props.config,\r\n}));\r\n\r\nconst leftButtonList = computed<ActionItem[]>(() => {\r\n if (props.leftActions && props.leftActions.length > 0) {\r\n return props.leftActions.filter((action) => shouldShowAction(action));\r\n }\r\n if (props.actions.length > 0) {\r\n const hasRightActions = props.rightActions && props.rightActions.length > 0;\r\n const hasRightGroup = props.actions.some(\r\n (action) => action.group === \"right\",\r\n );\r\n if (!hasRightActions && !hasRightGroup) {\r\n return props.actions.filter((action) => shouldShowAction(action));\r\n }\r\n return props.actions.filter(\r\n (action) => action.group === \"left\" && shouldShowAction(action),\r\n );\r\n }\r\n return [];\r\n});\r\n\r\nconst rightButtonList = computed<ActionItem[]>(() => {\r\n if (props.rightActions && props.rightActions.length > 0) {\r\n return props.rightActions.filter((action) => shouldShowAction(action));\r\n }\r\n return props.actions.filter(\r\n (action) => action.group === \"right\" && shouldShowAction(action),\r\n );\r\n});\r\n\r\nconst shouldShowAction = (action: ActionItem): boolean => {\r\n if (action.show === undefined) return true;\r\n return unref(action.show);\r\n};\r\n\r\nconst isActionDisabled = (action: ActionItem): boolean => {\r\n return unref(action.disabled) || false;\r\n};\r\n\r\nconst isActionLoading = (action: ActionItem): boolean => {\r\n return unref(action.loading) || false;\r\n};\r\n\r\nconst handleActionClick = async (action: ActionItem) => {\r\n if (action.dropdown && action.dropdown.length > 0) return;\r\n emit(\"action-click\", action);\r\n if (action.onClick) {\r\n await action.onClick();\r\n }\r\n};\r\n\r\nconst handleDropdownClick = async (\r\n item: ActionDropdownItem,\r\n action: ActionItem,\r\n) => {\r\n emit(\"dropdown-click\", item, action);\r\n if (item.onClick) {\r\n await item.onClick();\r\n }\r\n};\r\n\r\nconst ActionButton = defineComponent({\r\n name: \"ActionButton\",\r\n props: {\r\n action: {\r\n type: Object as PropType<ActionItem>,\r\n required: true,\r\n },\r\n },\r\n emits: [\"click\", \"dropdown-select\"],\r\n setup(props, { emit }) {\r\n const action = computed(() => props.action);\r\n\r\n const dropdownOptions = computed(() => {\r\n if (!action.value.dropdown) return [];\r\n return action.value.dropdown\r\n .filter((item) => {\r\n if (item.show === undefined) return true;\r\n return unref(item.show);\r\n })\r\n .map((item) => ({\r\n key: item.key,\r\n label: item.label,\r\n icon: item.icon\r\n ? () => h(C_Icon, { name: item.icon, size: 14 })\r\n : undefined,\r\n disabled: unref(item.disabled),\r\n }));\r\n });\r\n\r\n const handleDropdownSelect = (key: string) => {\r\n const item = action.value.dropdown?.find((d) => d.key === key);\r\n if (item) {\r\n emit(\"dropdown-select\", item);\r\n }\r\n };\r\n\r\n const createButtonVNode = (extraProps?: Record<string, any>) => {\r\n const button = h(\r\n NButton,\r\n {\r\n type: action.value.type || \"default\",\r\n size: action.value.size || finalConfig.value.size,\r\n loading: isActionLoading(action.value),\r\n disabled: isActionDisabled(action.value),\r\n ...extraProps,\r\n ...action.value.buttonProps,\r\n },\r\n {\r\n default: () => action.value.label,\r\n icon: action.value.icon\r\n ? () => h(C_Icon, { name: action.value.icon, size: 16 })\r\n : undefined,\r\n },\r\n );\r\n\r\n return action.value.directives && action.value.directives.length > 0\r\n ? withDirectives(button, action.value.directives as any)\r\n : button;\r\n };\r\n\r\n const renderButton = () => {\r\n const vnode = createButtonVNode({ onClick: () => emit(\"click\") });\r\n if (action.value.tooltip) {\r\n return h(\r\n NTooltip,\r\n { placement: \"top\" },\r\n {\r\n trigger: () => vnode,\r\n default: () => action.value.tooltip,\r\n },\r\n );\r\n }\r\n return vnode;\r\n };\r\n\r\n const renderDropdownButton = () => {\r\n const vnode = createButtonVNode();\r\n return h(\r\n NDropdown,\r\n {\r\n options: dropdownOptions.value,\r\n onSelect: handleDropdownSelect,\r\n },\r\n {\r\n default: () => vnode,\r\n },\r\n );\r\n };\r\n\r\n return () => {\r\n if (action.value.dropdown && action.value.dropdown.length > 0) {\r\n return renderDropdownButton();\r\n }\r\n return renderButton();\r\n };\r\n },\r\n});\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n@use \"./index.scss\";\r\n</style>\r\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"C_AntV-BY8jqqmi.css","names":[],"sources":["../src/components/C_AntV/layout/ER/index.vue?vue&type=style&index=0&scoped=b168f2c7&lang.scss","../src/components/C_AntV/layout/BPMN/index.vue?vue&type=style&index=0&scoped=1fa85b2c&lang.scss","../src/components/C_AntV/layout/UML/components/UMLClassEditor.vue?vue&type=style&index=0&scoped=ea96ef84&lang.scss","../src/components/C_AntV/layout/UML/index.vue?vue&type=style&index=0&scoped=fcc8adc9&lang.scss","../src/components/C_AntV/index.vue?vue&type=style&index=0&scoped=f1ab77ea&lang.css"],"sourcesContent":["/* unplugin-vue-components disabled *//* ER 图布局样式 */\n/* AntV X6 图形编辑器公共样式 */\n/* 用于 ER、UML、BPMN 等布局的共享样式 */\n/* 通用布局容器 */\n/* 工具栏样式 */\n/* 图形容器样式 */\n/* 表单项样式 */\n/* 卡片样式 */\n/* 滚动条样式 */\n/* 编辑器容器样式 */\n.er-layout[data-v-b168f2c7] {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 400px;\n}\n.er-layout .toolbar[data-v-b168f2c7] {\n padding: 12px;\n background: var(--n-color-embedded);\n border-bottom: 1px solid var(--c-border);\n flex-shrink: 0;\n}\n.er-layout .graph-container[data-v-b168f2c7] {\n flex: 1;\n position: relative;\n min-height: 300px;\n width: 100%;\n border: 1px solid var(--c-border);\n overflow: hidden;\n}\n.er-layout .graph-container[data-v-b168f2c7] .x6-graph,\n.er-layout .graph-container[data-v-b168f2c7] .x6-graph-svg {\n width: 100% !important;\n height: 100% !important;\n display: block;\n}\n.er-layout .graph-container[data-v-b168f2c7] .x6-graph-svg-stage {\n outline: none;\n}\n.er-layout .table-editor[data-v-b168f2c7] {\n height: 100%;\n overflow-y: auto;\n padding: 0 4px;\n}\n.er-layout .table-editor[data-v-b168f2c7]::-webkit-scrollbar {\n width: 6px;\n}\n.er-layout .table-editor[data-v-b168f2c7]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.er-layout .table-editor .fields-container[data-v-b168f2c7] {\n max-height: calc(100vh - 400px);\n overflow-y: auto;\n}\n.er-layout .table-editor .fields-container[data-v-b168f2c7]::-webkit-scrollbar {\n width: 6px;\n}\n.er-layout .table-editor .fields-container[data-v-b168f2c7]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.er-layout .table-editor .fields-container .field-card[data-v-b168f2c7] {\n margin-bottom: 16px;\n}\n.er-layout .table-editor .fields-container .field-card .field-header[data-v-b168f2c7] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 13px;\n font-weight: 500;\n}\n.er-layout .table-editor .fields-container .field-card[data-v-b168f2c7] .n-card-header {\n padding: 10px 16px 8px;\n}\n.er-layout .table-editor .fields-container .field-card[data-v-b168f2c7] .n-card__content {\n padding: 12px 16px 16px;\n}\n.er-layout .table-editor .fields-container[data-v-b168f2c7] .n-select {\n min-width: 140px;\n}\n.er-layout .table-editor .fields-container[data-v-b168f2c7] .n-select .n-select-menu {\n max-height: 200px;\n z-index: 9999;\n}\n.er-layout .table-editor .fields-container .n-form-item[data-v-b168f2c7] {\n margin-bottom: 8px;\n}\n.er-layout .table-editor .fields-container .n-form-item .n-form-item-label[data-v-b168f2c7] {\n font-size: 12px;\n color: #666;\n margin-bottom: 4px;\n white-space: nowrap;\n}\n.er-layout .table-editor .fields-container[data-v-b168f2c7] .n-input {\n min-width: 100px;\n}","/* unplugin-vue-components disabled *//* BPMN 布局样式 */\n/* AntV X6 图形编辑器公共样式 */\n/* 用于 ER、UML、BPMN 等布局的共享样式 */\n/* 通用布局容器 */\n/* 工具栏样式 */\n/* 图形容器样式 */\n/* 表单项样式 */\n/* 卡片样式 */\n/* 滚动条样式 */\n/* 编辑器容器样式 */\n.bpmn-layout[data-v-1fa85b2c] {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 400px;\n background: var(--n-color-embedded);\n border-radius: 6px;\n overflow: hidden;\n}\n.bpmn-layout .top-toolbar[data-v-1fa85b2c] {\n background: var(--c-bg-card);\n border-bottom: 1px solid var(--c-border);\n padding: 10px 16px;\n flex-shrink: 0;\n}\n.bpmn-layout .top-toolbar .toolbar-section[data-v-1fa85b2c] {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n.bpmn-layout .top-toolbar .toolbar-section .toolbar-group[data-v-1fa85b2c] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.bpmn-layout .main-content[data-v-1fa85b2c] {\n display: flex;\n flex: 1;\n height: 0;\n}\n.bpmn-layout .main-content .left-panel[data-v-1fa85b2c] {\n width: 180px;\n background: var(--c-bg-card);\n border-right: 1px solid var(--c-border);\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n}\n.bpmn-layout .main-content .left-panel .panel-title[data-v-1fa85b2c] {\n padding: 16px;\n font-weight: 600;\n font-size: 14px;\n color: var(--c-text-1);\n border-bottom: 1px solid var(--c-border);\n}\n.bpmn-layout .main-content .left-panel .element-grid[data-v-1fa85b2c] {\n padding: 16px 12px;\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item[data-v-1fa85b2c] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding: 16px 8px;\n border-radius: 6px;\n cursor: pointer;\n font-size: 12px;\n color: var(--c-text-2);\n transition: all 0.2s ease;\n border: 1px solid transparent;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item[data-v-1fa85b2c]:hover {\n background: rgba(24, 144, 255, 0.1);\n border-color: rgba(24, 144, 255, 0.4);\n color: var(--c-primary);\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon[data-v-1fa85b2c] {\n flex-shrink: 0;\n border: 2px solid var(--c-border);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.circle[data-v-1fa85b2c] {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.rect[data-v-1fa85b2c] {\n width: 32px;\n height: 20px;\n border-radius: 4px;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.diamond[data-v-1fa85b2c] {\n width: 24px;\n height: 24px;\n transform: rotate(45deg);\n border-radius: 3px;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.start-event[data-v-1fa85b2c] {\n border-color: #52c41a;\n background: #f6ffed;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.end-event[data-v-1fa85b2c] {\n border-color: #ff4d4f;\n background: #fff2f0;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.activity[data-v-1fa85b2c] {\n border-color: #1890ff;\n background: #e6f7ff;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.gateway[data-v-1fa85b2c] {\n border-color: #722ed1;\n background: #f9f0ff;\n}\n.bpmn-layout .main-content .graph-wrapper[data-v-1fa85b2c] {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-1fa85b2c] {\n flex: 1;\n position: relative;\n min-height: 300px;\n width: 100%;\n border: 1px solid var(--c-border);\n overflow: hidden;\n border-radius: 4px;\n}\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-1fa85b2c] .x6-graph,\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-1fa85b2c] .x6-graph-svg {\n width: 100% !important;\n height: 100% !important;\n display: block;\n}\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-1fa85b2c] .x6-graph-svg-stage {\n outline: none;\n}\n.n-drawer .property-panel[data-v-1fa85b2c] {\n padding: 16px;\n}\n.n-drawer .property-panel .property-item[data-v-1fa85b2c] {\n margin-bottom: 16px;\n}\n.n-drawer .property-panel .property-item .property-label[data-v-1fa85b2c] {\n font-size: 14px;\n font-weight: 500;\n color: var(--c-text-1);\n margin-bottom: 8px;\n}\n.n-drawer .property-panel .form-actions[data-v-1fa85b2c] {\n margin-top: 24px;\n padding-top: 16px;\n border-top: 1px solid var(--c-border);\n}","/* unplugin-vue-components disabled */.class-editor[data-v-ea96ef84] {\n padding: 20px;\n height: calc(100vh - 60px);\n overflow-y: auto;\n}\n.section[data-v-ea96ef84] {\n max-height: 300px;\n overflow-y: auto;\n padding-right: 4px;\n}\n.section[data-v-ea96ef84]::-webkit-scrollbar {\n width: 6px;\n}\n.section[data-v-ea96ef84]::-webkit-scrollbar-thumb {\n background: #d4d4d4;\n border-radius: 3px;\n}\n.section-header[data-v-ea96ef84] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.item[data-v-ea96ef84] {\n margin-bottom: 8px;\n}\n.section .n-card[data-v-ea96ef84] {\n border: 1px solid #e8e8e8;\n}\n.section .n-card-header[data-v-ea96ef84] {\n padding: 8px 12px;\n background: #fafafa;\n border-bottom: 1px solid #e8e8e8;\n}\n.section .n-card__content[data-v-ea96ef84] {\n padding: 12px;\n}\n.section .n-form-item[data-v-ea96ef84] {\n margin-bottom: 0;\n}\n.section .n-form-item-label[data-v-ea96ef84] {\n font-size: 12px;\n margin-bottom: 4px;\n color: #666;\n}","/* unplugin-vue-components disabled *//* UML 类图布局样式 */\n/* AntV X6 图形编辑器公共样式 */\n/* 用于 ER、UML、BPMN 等布局的共享样式 */\n/* 通用布局容器 */\n/* 工具栏样式 */\n/* 图形容器样式 */\n/* 表单项样式 */\n/* 卡片样式 */\n/* 滚动条样式 */\n/* 编辑器容器样式 */\n.uml-layout[data-v-fcc8adc9] {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 400px;\n}\n.uml-layout .toolbar[data-v-fcc8adc9] {\n padding: 12px;\n background: var(--n-color-embedded);\n border-bottom: 1px solid var(--c-border);\n flex-shrink: 0;\n}\n.uml-layout .graph-container[data-v-fcc8adc9] {\n flex: 1;\n position: relative;\n min-height: 300px;\n width: 100%;\n border: 1px solid var(--c-border);\n overflow: hidden;\n}\n.uml-layout .graph-container[data-v-fcc8adc9] .x6-graph,\n.uml-layout .graph-container[data-v-fcc8adc9] .x6-graph-svg {\n width: 100% !important;\n height: 100% !important;\n display: block;\n}\n.uml-layout .graph-container[data-v-fcc8adc9] .x6-graph-svg-stage {\n outline: none;\n}\n\n/* 抽屉编辑器样式 - 使用单独的样式块避免 scoped 问题 */\n.class-editor[data-v-fcc8adc9] {\n padding: 20px;\n height: calc(100vh - 60px);\n overflow-y: auto;\n}\n.class-editor[data-v-fcc8adc9]::-webkit-scrollbar {\n width: 6px;\n}\n.class-editor[data-v-fcc8adc9]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.class-editor .section[data-v-fcc8adc9] {\n max-height: 300px;\n overflow-y: auto;\n padding-right: 4px;\n}\n.class-editor .section[data-v-fcc8adc9]::-webkit-scrollbar {\n width: 6px;\n}\n.class-editor .section[data-v-fcc8adc9]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.class-editor .section .item[data-v-fcc8adc9] {\n margin-bottom: 8px;\n}\n.class-editor .section .n-card[data-v-fcc8adc9] {\n border: 1px solid var(--c-border);\n}\n.class-editor .section .n-card .n-card-header[data-v-fcc8adc9] {\n padding: 8px 12px;\n background: var(--n-color-embedded);\n border-bottom: 1px solid var(--c-border);\n}\n.class-editor .section .n-card .n-card__content[data-v-fcc8adc9] {\n padding: 12px;\n}\n.class-editor .section .n-form-item[data-v-fcc8adc9] {\n margin-bottom: 8px;\n}\n.class-editor .section .n-form-item .n-form-item-label[data-v-fcc8adc9] {\n font-size: 12px;\n color: #666;\n margin-bottom: 4px;\n white-space: nowrap;\n}","/* unplugin-vue-components disabled */\n.c-antv-container[data-v-f1ab77ea] {\r\n width: 100%;\r\n height: 100%;\n}\r\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;ACjGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxFA;AACA;AACA;AACA;AACA"}
|
|
1
|
+
{"version":3,"file":"C_AntV-A3NXx_sF.css","names":[],"sources":["../src/components/C_AntV/layout/ER/index.vue?vue&type=style&index=0&scoped=beb83641&lang.scss","../src/components/C_AntV/layout/BPMN/index.vue?vue&type=style&index=0&scoped=c27dede7&lang.scss","../src/components/C_AntV/layout/UML/components/UMLClassEditor.vue?vue&type=style&index=0&scoped=e47033f6&lang.scss","../src/components/C_AntV/layout/UML/index.vue?vue&type=style&index=0&scoped=1092fbdb&lang.scss","../src/components/C_AntV/index.vue?vue&type=style&index=0&scoped=f1ab77ea&lang.css"],"sourcesContent":["/* unplugin-vue-components disabled *//* ER 图布局样式 */\n/* AntV X6 图形编辑器公共样式 */\n/* 用于 ER、UML、BPMN 等布局的共享样式 */\n/* 通用布局容器 */\n/* 工具栏样式 */\n/* 图形容器样式 */\n/* 表单项样式 */\n/* 卡片样式 */\n/* 滚动条样式 */\n/* 编辑器容器样式 */\n.er-layout[data-v-beb83641] {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 400px;\n}\n.er-layout .toolbar[data-v-beb83641] {\n padding: 12px;\n background: var(--n-color-embedded);\n border-bottom: 1px solid var(--c-border);\n flex-shrink: 0;\n}\n.er-layout .graph-container[data-v-beb83641] {\n flex: 1;\n position: relative;\n min-height: 300px;\n width: 100%;\n border: 1px solid var(--c-border);\n overflow: hidden;\n}\n.er-layout .graph-container[data-v-beb83641] .x6-graph,\n.er-layout .graph-container[data-v-beb83641] .x6-graph-svg {\n width: 100% !important;\n height: 100% !important;\n display: block;\n}\n.er-layout .graph-container[data-v-beb83641] .x6-graph-svg-stage {\n outline: none;\n}\n.er-layout .table-editor[data-v-beb83641] {\n height: 100%;\n overflow-y: auto;\n padding: 0 4px;\n}\n.er-layout .table-editor[data-v-beb83641]::-webkit-scrollbar {\n width: 6px;\n}\n.er-layout .table-editor[data-v-beb83641]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.er-layout .table-editor .fields-container[data-v-beb83641] {\n max-height: calc(100vh - 400px);\n overflow-y: auto;\n}\n.er-layout .table-editor .fields-container[data-v-beb83641]::-webkit-scrollbar {\n width: 6px;\n}\n.er-layout .table-editor .fields-container[data-v-beb83641]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.er-layout .table-editor .fields-container .field-card[data-v-beb83641] {\n margin-bottom: 16px;\n}\n.er-layout .table-editor .fields-container .field-card .field-header[data-v-beb83641] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 13px;\n font-weight: 500;\n}\n.er-layout .table-editor .fields-container .field-card[data-v-beb83641] .n-card-header {\n padding: 10px 16px 8px;\n}\n.er-layout .table-editor .fields-container .field-card[data-v-beb83641] .n-card__content {\n padding: 12px 16px 16px;\n}\n.er-layout .table-editor .fields-container[data-v-beb83641] .n-select {\n min-width: 140px;\n}\n.er-layout .table-editor .fields-container[data-v-beb83641] .n-select .n-select-menu {\n max-height: 200px;\n z-index: 9999;\n}\n.er-layout .table-editor .fields-container .n-form-item[data-v-beb83641] {\n margin-bottom: 8px;\n}\n.er-layout .table-editor .fields-container .n-form-item .n-form-item-label[data-v-beb83641] {\n font-size: 12px;\n color: #666;\n margin-bottom: 4px;\n white-space: nowrap;\n}\n.er-layout .table-editor .fields-container[data-v-beb83641] .n-input {\n min-width: 100px;\n}","/* unplugin-vue-components disabled *//* BPMN 布局样式 */\n/* AntV X6 图形编辑器公共样式 */\n/* 用于 ER、UML、BPMN 等布局的共享样式 */\n/* 通用布局容器 */\n/* 工具栏样式 */\n/* 图形容器样式 */\n/* 表单项样式 */\n/* 卡片样式 */\n/* 滚动条样式 */\n/* 编辑器容器样式 */\n.bpmn-layout[data-v-c27dede7] {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 400px;\n background: var(--n-color-embedded);\n border-radius: 6px;\n overflow: hidden;\n}\n.bpmn-layout .top-toolbar[data-v-c27dede7] {\n background: var(--c-bg-card);\n border-bottom: 1px solid var(--c-border);\n padding: 10px 16px;\n flex-shrink: 0;\n}\n.bpmn-layout .top-toolbar .toolbar-section[data-v-c27dede7] {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n.bpmn-layout .top-toolbar .toolbar-section .toolbar-group[data-v-c27dede7] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.bpmn-layout .main-content[data-v-c27dede7] {\n display: flex;\n flex: 1;\n height: 0;\n}\n.bpmn-layout .main-content .left-panel[data-v-c27dede7] {\n width: 180px;\n background: var(--c-bg-card);\n border-right: 1px solid var(--c-border);\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n}\n.bpmn-layout .main-content .left-panel .panel-title[data-v-c27dede7] {\n padding: 16px;\n font-weight: 600;\n font-size: 14px;\n color: var(--c-text-1);\n border-bottom: 1px solid var(--c-border);\n}\n.bpmn-layout .main-content .left-panel .element-grid[data-v-c27dede7] {\n padding: 16px 12px;\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item[data-v-c27dede7] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding: 16px 8px;\n border-radius: 6px;\n cursor: pointer;\n font-size: 12px;\n color: var(--c-text-2);\n transition: all 0.2s ease;\n border: 1px solid transparent;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item[data-v-c27dede7]:hover {\n background: rgba(24, 144, 255, 0.1);\n border-color: rgba(24, 144, 255, 0.4);\n color: var(--c-primary);\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon[data-v-c27dede7] {\n flex-shrink: 0;\n border: 2px solid var(--c-border);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.circle[data-v-c27dede7] {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.rect[data-v-c27dede7] {\n width: 32px;\n height: 20px;\n border-radius: 4px;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.diamond[data-v-c27dede7] {\n width: 24px;\n height: 24px;\n transform: rotate(45deg);\n border-radius: 3px;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.start-event[data-v-c27dede7] {\n border-color: #52c41a;\n background: #f6ffed;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.end-event[data-v-c27dede7] {\n border-color: #ff4d4f;\n background: #fff2f0;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.activity[data-v-c27dede7] {\n border-color: #1890ff;\n background: #e6f7ff;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.gateway[data-v-c27dede7] {\n border-color: #722ed1;\n background: #f9f0ff;\n}\n.bpmn-layout .main-content .graph-wrapper[data-v-c27dede7] {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-c27dede7] {\n flex: 1;\n position: relative;\n min-height: 300px;\n width: 100%;\n border: 1px solid var(--c-border);\n overflow: hidden;\n border-radius: 4px;\n}\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-c27dede7] .x6-graph,\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-c27dede7] .x6-graph-svg {\n width: 100% !important;\n height: 100% !important;\n display: block;\n}\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-c27dede7] .x6-graph-svg-stage {\n outline: none;\n}\n.n-drawer .property-panel[data-v-c27dede7] {\n padding: 16px;\n}\n.n-drawer .property-panel .property-item[data-v-c27dede7] {\n margin-bottom: 16px;\n}\n.n-drawer .property-panel .property-item .property-label[data-v-c27dede7] {\n font-size: 14px;\n font-weight: 500;\n color: var(--c-text-1);\n margin-bottom: 8px;\n}\n.n-drawer .property-panel .form-actions[data-v-c27dede7] {\n margin-top: 24px;\n padding-top: 16px;\n border-top: 1px solid var(--c-border);\n}","/* unplugin-vue-components disabled */.class-editor[data-v-e47033f6] {\n padding: 20px;\n height: calc(100vh - 60px);\n overflow-y: auto;\n}\n.section[data-v-e47033f6] {\n max-height: 300px;\n overflow-y: auto;\n padding-right: 4px;\n}\n.section[data-v-e47033f6]::-webkit-scrollbar {\n width: 6px;\n}\n.section[data-v-e47033f6]::-webkit-scrollbar-thumb {\n background: #d4d4d4;\n border-radius: 3px;\n}\n.section-header[data-v-e47033f6] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.item[data-v-e47033f6] {\n margin-bottom: 8px;\n}\n.section .n-card[data-v-e47033f6] {\n border: 1px solid #e8e8e8;\n}\n.section .n-card-header[data-v-e47033f6] {\n padding: 8px 12px;\n background: #fafafa;\n border-bottom: 1px solid #e8e8e8;\n}\n.section .n-card__content[data-v-e47033f6] {\n padding: 12px;\n}\n.section .n-form-item[data-v-e47033f6] {\n margin-bottom: 0;\n}\n.section .n-form-item-label[data-v-e47033f6] {\n font-size: 12px;\n margin-bottom: 4px;\n color: #666;\n}","/* unplugin-vue-components disabled *//* UML 类图布局样式 */\n/* AntV X6 图形编辑器公共样式 */\n/* 用于 ER、UML、BPMN 等布局的共享样式 */\n/* 通用布局容器 */\n/* 工具栏样式 */\n/* 图形容器样式 */\n/* 表单项样式 */\n/* 卡片样式 */\n/* 滚动条样式 */\n/* 编辑器容器样式 */\n.uml-layout[data-v-1092fbdb] {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 400px;\n}\n.uml-layout .toolbar[data-v-1092fbdb] {\n padding: 12px;\n background: var(--n-color-embedded);\n border-bottom: 1px solid var(--c-border);\n flex-shrink: 0;\n}\n.uml-layout .graph-container[data-v-1092fbdb] {\n flex: 1;\n position: relative;\n min-height: 300px;\n width: 100%;\n border: 1px solid var(--c-border);\n overflow: hidden;\n}\n.uml-layout .graph-container[data-v-1092fbdb] .x6-graph,\n.uml-layout .graph-container[data-v-1092fbdb] .x6-graph-svg {\n width: 100% !important;\n height: 100% !important;\n display: block;\n}\n.uml-layout .graph-container[data-v-1092fbdb] .x6-graph-svg-stage {\n outline: none;\n}\n\n/* 抽屉编辑器样式 - 使用单独的样式块避免 scoped 问题 */\n.class-editor[data-v-1092fbdb] {\n padding: 20px;\n height: calc(100vh - 60px);\n overflow-y: auto;\n}\n.class-editor[data-v-1092fbdb]::-webkit-scrollbar {\n width: 6px;\n}\n.class-editor[data-v-1092fbdb]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.class-editor .section[data-v-1092fbdb] {\n max-height: 300px;\n overflow-y: auto;\n padding-right: 4px;\n}\n.class-editor .section[data-v-1092fbdb]::-webkit-scrollbar {\n width: 6px;\n}\n.class-editor .section[data-v-1092fbdb]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.class-editor .section .item[data-v-1092fbdb] {\n margin-bottom: 8px;\n}\n.class-editor .section .n-card[data-v-1092fbdb] {\n border: 1px solid var(--c-border);\n}\n.class-editor .section .n-card .n-card-header[data-v-1092fbdb] {\n padding: 8px 12px;\n background: var(--n-color-embedded);\n border-bottom: 1px solid var(--c-border);\n}\n.class-editor .section .n-card .n-card__content[data-v-1092fbdb] {\n padding: 12px;\n}\n.class-editor .section .n-form-item[data-v-1092fbdb] {\n margin-bottom: 8px;\n}\n.class-editor .section .n-form-item .n-form-item-label[data-v-1092fbdb] {\n font-size: 12px;\n color: #666;\n margin-bottom: 4px;\n white-space: nowrap;\n}","/* unplugin-vue-components disabled */\n.c-antv-container[data-v-f1ab77ea] {\r\n width: 100%;\r\n height: 100%;\n}\r\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;ACjGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxFA;AACA;AACA;AACA;AACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"C_AntV-BbkHc-_a.css","names":[],"sources":["../src/components/C_AntV/layout/ER/index.vue?vue&type=style&index=0&scoped=b168f2c7&lang.scss","../src/components/C_AntV/layout/BPMN/index.vue?vue&type=style&index=0&scoped=1fa85b2c&lang.scss","../src/components/C_AntV/layout/UML/components/UMLClassEditor.vue?vue&type=style&index=0&scoped=ea96ef84&lang.scss","../src/components/C_AntV/layout/UML/index.vue?vue&type=style&index=0&scoped=fcc8adc9&lang.scss","../src/components/C_AntV/index.vue?vue&type=style&index=0&scoped=f1ab77ea&lang.css"],"sourcesContent":["/* unplugin-vue-components disabled *//* ER 图布局样式 */\n/* AntV X6 图形编辑器公共样式 */\n/* 用于 ER、UML、BPMN 等布局的共享样式 */\n/* 通用布局容器 */\n/* 工具栏样式 */\n/* 图形容器样式 */\n/* 表单项样式 */\n/* 卡片样式 */\n/* 滚动条样式 */\n/* 编辑器容器样式 */\n.er-layout[data-v-b168f2c7] {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 400px;\n}\n.er-layout .toolbar[data-v-b168f2c7] {\n padding: 12px;\n background: var(--n-color-embedded);\n border-bottom: 1px solid var(--c-border);\n flex-shrink: 0;\n}\n.er-layout .graph-container[data-v-b168f2c7] {\n flex: 1;\n position: relative;\n min-height: 300px;\n width: 100%;\n border: 1px solid var(--c-border);\n overflow: hidden;\n}\n.er-layout .graph-container[data-v-b168f2c7] .x6-graph,\n.er-layout .graph-container[data-v-b168f2c7] .x6-graph-svg {\n width: 100% !important;\n height: 100% !important;\n display: block;\n}\n.er-layout .graph-container[data-v-b168f2c7] .x6-graph-svg-stage {\n outline: none;\n}\n.er-layout .table-editor[data-v-b168f2c7] {\n height: 100%;\n overflow-y: auto;\n padding: 0 4px;\n}\n.er-layout .table-editor[data-v-b168f2c7]::-webkit-scrollbar {\n width: 6px;\n}\n.er-layout .table-editor[data-v-b168f2c7]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.er-layout .table-editor .fields-container[data-v-b168f2c7] {\n max-height: calc(100vh - 400px);\n overflow-y: auto;\n}\n.er-layout .table-editor .fields-container[data-v-b168f2c7]::-webkit-scrollbar {\n width: 6px;\n}\n.er-layout .table-editor .fields-container[data-v-b168f2c7]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.er-layout .table-editor .fields-container .field-card[data-v-b168f2c7] {\n margin-bottom: 16px;\n}\n.er-layout .table-editor .fields-container .field-card .field-header[data-v-b168f2c7] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 13px;\n font-weight: 500;\n}\n.er-layout .table-editor .fields-container .field-card[data-v-b168f2c7] .n-card-header {\n padding: 10px 16px 8px;\n}\n.er-layout .table-editor .fields-container .field-card[data-v-b168f2c7] .n-card__content {\n padding: 12px 16px 16px;\n}\n.er-layout .table-editor .fields-container[data-v-b168f2c7] .n-select {\n min-width: 140px;\n}\n.er-layout .table-editor .fields-container[data-v-b168f2c7] .n-select .n-select-menu {\n max-height: 200px;\n z-index: 9999;\n}\n.er-layout .table-editor .fields-container .n-form-item[data-v-b168f2c7] {\n margin-bottom: 8px;\n}\n.er-layout .table-editor .fields-container .n-form-item .n-form-item-label[data-v-b168f2c7] {\n font-size: 12px;\n color: #666;\n margin-bottom: 4px;\n white-space: nowrap;\n}\n.er-layout .table-editor .fields-container[data-v-b168f2c7] .n-input {\n min-width: 100px;\n}","/* unplugin-vue-components disabled *//* BPMN 布局样式 */\n/* AntV X6 图形编辑器公共样式 */\n/* 用于 ER、UML、BPMN 等布局的共享样式 */\n/* 通用布局容器 */\n/* 工具栏样式 */\n/* 图形容器样式 */\n/* 表单项样式 */\n/* 卡片样式 */\n/* 滚动条样式 */\n/* 编辑器容器样式 */\n.bpmn-layout[data-v-1fa85b2c] {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 400px;\n background: var(--n-color-embedded);\n border-radius: 6px;\n overflow: hidden;\n}\n.bpmn-layout .top-toolbar[data-v-1fa85b2c] {\n background: var(--c-bg-card);\n border-bottom: 1px solid var(--c-border);\n padding: 10px 16px;\n flex-shrink: 0;\n}\n.bpmn-layout .top-toolbar .toolbar-section[data-v-1fa85b2c] {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n.bpmn-layout .top-toolbar .toolbar-section .toolbar-group[data-v-1fa85b2c] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.bpmn-layout .main-content[data-v-1fa85b2c] {\n display: flex;\n flex: 1;\n height: 0;\n}\n.bpmn-layout .main-content .left-panel[data-v-1fa85b2c] {\n width: 180px;\n background: var(--c-bg-card);\n border-right: 1px solid var(--c-border);\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n}\n.bpmn-layout .main-content .left-panel .panel-title[data-v-1fa85b2c] {\n padding: 16px;\n font-weight: 600;\n font-size: 14px;\n color: var(--c-text-1);\n border-bottom: 1px solid var(--c-border);\n}\n.bpmn-layout .main-content .left-panel .element-grid[data-v-1fa85b2c] {\n padding: 16px 12px;\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item[data-v-1fa85b2c] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding: 16px 8px;\n border-radius: 6px;\n cursor: pointer;\n font-size: 12px;\n color: var(--c-text-2);\n transition: all 0.2s ease;\n border: 1px solid transparent;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item[data-v-1fa85b2c]:hover {\n background: rgba(24, 144, 255, 0.1);\n border-color: rgba(24, 144, 255, 0.4);\n color: var(--c-primary);\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon[data-v-1fa85b2c] {\n flex-shrink: 0;\n border: 2px solid var(--c-border);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.circle[data-v-1fa85b2c] {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.rect[data-v-1fa85b2c] {\n width: 32px;\n height: 20px;\n border-radius: 4px;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.diamond[data-v-1fa85b2c] {\n width: 24px;\n height: 24px;\n transform: rotate(45deg);\n border-radius: 3px;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.start-event[data-v-1fa85b2c] {\n border-color: #52c41a;\n background: #f6ffed;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.end-event[data-v-1fa85b2c] {\n border-color: #ff4d4f;\n background: #fff2f0;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.activity[data-v-1fa85b2c] {\n border-color: #1890ff;\n background: #e6f7ff;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.gateway[data-v-1fa85b2c] {\n border-color: #722ed1;\n background: #f9f0ff;\n}\n.bpmn-layout .main-content .graph-wrapper[data-v-1fa85b2c] {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-1fa85b2c] {\n flex: 1;\n position: relative;\n min-height: 300px;\n width: 100%;\n border: 1px solid var(--c-border);\n overflow: hidden;\n border-radius: 4px;\n}\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-1fa85b2c] .x6-graph,\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-1fa85b2c] .x6-graph-svg {\n width: 100% !important;\n height: 100% !important;\n display: block;\n}\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-1fa85b2c] .x6-graph-svg-stage {\n outline: none;\n}\n.n-drawer .property-panel[data-v-1fa85b2c] {\n padding: 16px;\n}\n.n-drawer .property-panel .property-item[data-v-1fa85b2c] {\n margin-bottom: 16px;\n}\n.n-drawer .property-panel .property-item .property-label[data-v-1fa85b2c] {\n font-size: 14px;\n font-weight: 500;\n color: var(--c-text-1);\n margin-bottom: 8px;\n}\n.n-drawer .property-panel .form-actions[data-v-1fa85b2c] {\n margin-top: 24px;\n padding-top: 16px;\n border-top: 1px solid var(--c-border);\n}","/* unplugin-vue-components disabled */.class-editor[data-v-ea96ef84] {\n padding: 20px;\n height: calc(100vh - 60px);\n overflow-y: auto;\n}\n.section[data-v-ea96ef84] {\n max-height: 300px;\n overflow-y: auto;\n padding-right: 4px;\n}\n.section[data-v-ea96ef84]::-webkit-scrollbar {\n width: 6px;\n}\n.section[data-v-ea96ef84]::-webkit-scrollbar-thumb {\n background: #d4d4d4;\n border-radius: 3px;\n}\n.section-header[data-v-ea96ef84] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.item[data-v-ea96ef84] {\n margin-bottom: 8px;\n}\n.section .n-card[data-v-ea96ef84] {\n border: 1px solid #e8e8e8;\n}\n.section .n-card-header[data-v-ea96ef84] {\n padding: 8px 12px;\n background: #fafafa;\n border-bottom: 1px solid #e8e8e8;\n}\n.section .n-card__content[data-v-ea96ef84] {\n padding: 12px;\n}\n.section .n-form-item[data-v-ea96ef84] {\n margin-bottom: 0;\n}\n.section .n-form-item-label[data-v-ea96ef84] {\n font-size: 12px;\n margin-bottom: 4px;\n color: #666;\n}","/* unplugin-vue-components disabled *//* UML 类图布局样式 */\n/* AntV X6 图形编辑器公共样式 */\n/* 用于 ER、UML、BPMN 等布局的共享样式 */\n/* 通用布局容器 */\n/* 工具栏样式 */\n/* 图形容器样式 */\n/* 表单项样式 */\n/* 卡片样式 */\n/* 滚动条样式 */\n/* 编辑器容器样式 */\n.uml-layout[data-v-fcc8adc9] {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 400px;\n}\n.uml-layout .toolbar[data-v-fcc8adc9] {\n padding: 12px;\n background: var(--n-color-embedded);\n border-bottom: 1px solid var(--c-border);\n flex-shrink: 0;\n}\n.uml-layout .graph-container[data-v-fcc8adc9] {\n flex: 1;\n position: relative;\n min-height: 300px;\n width: 100%;\n border: 1px solid var(--c-border);\n overflow: hidden;\n}\n.uml-layout .graph-container[data-v-fcc8adc9] .x6-graph,\n.uml-layout .graph-container[data-v-fcc8adc9] .x6-graph-svg {\n width: 100% !important;\n height: 100% !important;\n display: block;\n}\n.uml-layout .graph-container[data-v-fcc8adc9] .x6-graph-svg-stage {\n outline: none;\n}\n\n/* 抽屉编辑器样式 - 使用单独的样式块避免 scoped 问题 */\n.class-editor[data-v-fcc8adc9] {\n padding: 20px;\n height: calc(100vh - 60px);\n overflow-y: auto;\n}\n.class-editor[data-v-fcc8adc9]::-webkit-scrollbar {\n width: 6px;\n}\n.class-editor[data-v-fcc8adc9]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.class-editor .section[data-v-fcc8adc9] {\n max-height: 300px;\n overflow-y: auto;\n padding-right: 4px;\n}\n.class-editor .section[data-v-fcc8adc9]::-webkit-scrollbar {\n width: 6px;\n}\n.class-editor .section[data-v-fcc8adc9]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.class-editor .section .item[data-v-fcc8adc9] {\n margin-bottom: 8px;\n}\n.class-editor .section .n-card[data-v-fcc8adc9] {\n border: 1px solid var(--c-border);\n}\n.class-editor .section .n-card .n-card-header[data-v-fcc8adc9] {\n padding: 8px 12px;\n background: var(--n-color-embedded);\n border-bottom: 1px solid var(--c-border);\n}\n.class-editor .section .n-card .n-card__content[data-v-fcc8adc9] {\n padding: 12px;\n}\n.class-editor .section .n-form-item[data-v-fcc8adc9] {\n margin-bottom: 8px;\n}\n.class-editor .section .n-form-item .n-form-item-label[data-v-fcc8adc9] {\n font-size: 12px;\n color: #666;\n margin-bottom: 4px;\n white-space: nowrap;\n}","/* unplugin-vue-components disabled */\n.c-antv-container[data-v-f1ab77ea] {\r\n width: 100%;\r\n height: 100%;\n}\r\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;ACjGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxFA;AACA;AACA;AACA;AACA"}
|
|
1
|
+
{"version":3,"file":"C_AntV-D2Zp2qQF.css","names":[],"sources":["../src/components/C_AntV/layout/ER/index.vue?vue&type=style&index=0&scoped=beb83641&lang.scss","../src/components/C_AntV/layout/BPMN/index.vue?vue&type=style&index=0&scoped=c27dede7&lang.scss","../src/components/C_AntV/layout/UML/components/UMLClassEditor.vue?vue&type=style&index=0&scoped=e47033f6&lang.scss","../src/components/C_AntV/layout/UML/index.vue?vue&type=style&index=0&scoped=1092fbdb&lang.scss","../src/components/C_AntV/index.vue?vue&type=style&index=0&scoped=f1ab77ea&lang.css"],"sourcesContent":["/* unplugin-vue-components disabled *//* ER 图布局样式 */\n/* AntV X6 图形编辑器公共样式 */\n/* 用于 ER、UML、BPMN 等布局的共享样式 */\n/* 通用布局容器 */\n/* 工具栏样式 */\n/* 图形容器样式 */\n/* 表单项样式 */\n/* 卡片样式 */\n/* 滚动条样式 */\n/* 编辑器容器样式 */\n.er-layout[data-v-beb83641] {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 400px;\n}\n.er-layout .toolbar[data-v-beb83641] {\n padding: 12px;\n background: var(--n-color-embedded);\n border-bottom: 1px solid var(--c-border);\n flex-shrink: 0;\n}\n.er-layout .graph-container[data-v-beb83641] {\n flex: 1;\n position: relative;\n min-height: 300px;\n width: 100%;\n border: 1px solid var(--c-border);\n overflow: hidden;\n}\n.er-layout .graph-container[data-v-beb83641] .x6-graph,\n.er-layout .graph-container[data-v-beb83641] .x6-graph-svg {\n width: 100% !important;\n height: 100% !important;\n display: block;\n}\n.er-layout .graph-container[data-v-beb83641] .x6-graph-svg-stage {\n outline: none;\n}\n.er-layout .table-editor[data-v-beb83641] {\n height: 100%;\n overflow-y: auto;\n padding: 0 4px;\n}\n.er-layout .table-editor[data-v-beb83641]::-webkit-scrollbar {\n width: 6px;\n}\n.er-layout .table-editor[data-v-beb83641]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.er-layout .table-editor .fields-container[data-v-beb83641] {\n max-height: calc(100vh - 400px);\n overflow-y: auto;\n}\n.er-layout .table-editor .fields-container[data-v-beb83641]::-webkit-scrollbar {\n width: 6px;\n}\n.er-layout .table-editor .fields-container[data-v-beb83641]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.er-layout .table-editor .fields-container .field-card[data-v-beb83641] {\n margin-bottom: 16px;\n}\n.er-layout .table-editor .fields-container .field-card .field-header[data-v-beb83641] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 13px;\n font-weight: 500;\n}\n.er-layout .table-editor .fields-container .field-card[data-v-beb83641] .n-card-header {\n padding: 10px 16px 8px;\n}\n.er-layout .table-editor .fields-container .field-card[data-v-beb83641] .n-card__content {\n padding: 12px 16px 16px;\n}\n.er-layout .table-editor .fields-container[data-v-beb83641] .n-select {\n min-width: 140px;\n}\n.er-layout .table-editor .fields-container[data-v-beb83641] .n-select .n-select-menu {\n max-height: 200px;\n z-index: 9999;\n}\n.er-layout .table-editor .fields-container .n-form-item[data-v-beb83641] {\n margin-bottom: 8px;\n}\n.er-layout .table-editor .fields-container .n-form-item .n-form-item-label[data-v-beb83641] {\n font-size: 12px;\n color: #666;\n margin-bottom: 4px;\n white-space: nowrap;\n}\n.er-layout .table-editor .fields-container[data-v-beb83641] .n-input {\n min-width: 100px;\n}","/* unplugin-vue-components disabled *//* BPMN 布局样式 */\n/* AntV X6 图形编辑器公共样式 */\n/* 用于 ER、UML、BPMN 等布局的共享样式 */\n/* 通用布局容器 */\n/* 工具栏样式 */\n/* 图形容器样式 */\n/* 表单项样式 */\n/* 卡片样式 */\n/* 滚动条样式 */\n/* 编辑器容器样式 */\n.bpmn-layout[data-v-c27dede7] {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 400px;\n background: var(--n-color-embedded);\n border-radius: 6px;\n overflow: hidden;\n}\n.bpmn-layout .top-toolbar[data-v-c27dede7] {\n background: var(--c-bg-card);\n border-bottom: 1px solid var(--c-border);\n padding: 10px 16px;\n flex-shrink: 0;\n}\n.bpmn-layout .top-toolbar .toolbar-section[data-v-c27dede7] {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n.bpmn-layout .top-toolbar .toolbar-section .toolbar-group[data-v-c27dede7] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.bpmn-layout .main-content[data-v-c27dede7] {\n display: flex;\n flex: 1;\n height: 0;\n}\n.bpmn-layout .main-content .left-panel[data-v-c27dede7] {\n width: 180px;\n background: var(--c-bg-card);\n border-right: 1px solid var(--c-border);\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n}\n.bpmn-layout .main-content .left-panel .panel-title[data-v-c27dede7] {\n padding: 16px;\n font-weight: 600;\n font-size: 14px;\n color: var(--c-text-1);\n border-bottom: 1px solid var(--c-border);\n}\n.bpmn-layout .main-content .left-panel .element-grid[data-v-c27dede7] {\n padding: 16px 12px;\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item[data-v-c27dede7] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding: 16px 8px;\n border-radius: 6px;\n cursor: pointer;\n font-size: 12px;\n color: var(--c-text-2);\n transition: all 0.2s ease;\n border: 1px solid transparent;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item[data-v-c27dede7]:hover {\n background: rgba(24, 144, 255, 0.1);\n border-color: rgba(24, 144, 255, 0.4);\n color: var(--c-primary);\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon[data-v-c27dede7] {\n flex-shrink: 0;\n border: 2px solid var(--c-border);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.circle[data-v-c27dede7] {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.rect[data-v-c27dede7] {\n width: 32px;\n height: 20px;\n border-radius: 4px;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.diamond[data-v-c27dede7] {\n width: 24px;\n height: 24px;\n transform: rotate(45deg);\n border-radius: 3px;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.start-event[data-v-c27dede7] {\n border-color: #52c41a;\n background: #f6ffed;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.end-event[data-v-c27dede7] {\n border-color: #ff4d4f;\n background: #fff2f0;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.activity[data-v-c27dede7] {\n border-color: #1890ff;\n background: #e6f7ff;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.gateway[data-v-c27dede7] {\n border-color: #722ed1;\n background: #f9f0ff;\n}\n.bpmn-layout .main-content .graph-wrapper[data-v-c27dede7] {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-c27dede7] {\n flex: 1;\n position: relative;\n min-height: 300px;\n width: 100%;\n border: 1px solid var(--c-border);\n overflow: hidden;\n border-radius: 4px;\n}\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-c27dede7] .x6-graph,\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-c27dede7] .x6-graph-svg {\n width: 100% !important;\n height: 100% !important;\n display: block;\n}\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-c27dede7] .x6-graph-svg-stage {\n outline: none;\n}\n.n-drawer .property-panel[data-v-c27dede7] {\n padding: 16px;\n}\n.n-drawer .property-panel .property-item[data-v-c27dede7] {\n margin-bottom: 16px;\n}\n.n-drawer .property-panel .property-item .property-label[data-v-c27dede7] {\n font-size: 14px;\n font-weight: 500;\n color: var(--c-text-1);\n margin-bottom: 8px;\n}\n.n-drawer .property-panel .form-actions[data-v-c27dede7] {\n margin-top: 24px;\n padding-top: 16px;\n border-top: 1px solid var(--c-border);\n}","/* unplugin-vue-components disabled */.class-editor[data-v-e47033f6] {\n padding: 20px;\n height: calc(100vh - 60px);\n overflow-y: auto;\n}\n.section[data-v-e47033f6] {\n max-height: 300px;\n overflow-y: auto;\n padding-right: 4px;\n}\n.section[data-v-e47033f6]::-webkit-scrollbar {\n width: 6px;\n}\n.section[data-v-e47033f6]::-webkit-scrollbar-thumb {\n background: #d4d4d4;\n border-radius: 3px;\n}\n.section-header[data-v-e47033f6] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.item[data-v-e47033f6] {\n margin-bottom: 8px;\n}\n.section .n-card[data-v-e47033f6] {\n border: 1px solid #e8e8e8;\n}\n.section .n-card-header[data-v-e47033f6] {\n padding: 8px 12px;\n background: #fafafa;\n border-bottom: 1px solid #e8e8e8;\n}\n.section .n-card__content[data-v-e47033f6] {\n padding: 12px;\n}\n.section .n-form-item[data-v-e47033f6] {\n margin-bottom: 0;\n}\n.section .n-form-item-label[data-v-e47033f6] {\n font-size: 12px;\n margin-bottom: 4px;\n color: #666;\n}","/* unplugin-vue-components disabled *//* UML 类图布局样式 */\n/* AntV X6 图形编辑器公共样式 */\n/* 用于 ER、UML、BPMN 等布局的共享样式 */\n/* 通用布局容器 */\n/* 工具栏样式 */\n/* 图形容器样式 */\n/* 表单项样式 */\n/* 卡片样式 */\n/* 滚动条样式 */\n/* 编辑器容器样式 */\n.uml-layout[data-v-1092fbdb] {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 400px;\n}\n.uml-layout .toolbar[data-v-1092fbdb] {\n padding: 12px;\n background: var(--n-color-embedded);\n border-bottom: 1px solid var(--c-border);\n flex-shrink: 0;\n}\n.uml-layout .graph-container[data-v-1092fbdb] {\n flex: 1;\n position: relative;\n min-height: 300px;\n width: 100%;\n border: 1px solid var(--c-border);\n overflow: hidden;\n}\n.uml-layout .graph-container[data-v-1092fbdb] .x6-graph,\n.uml-layout .graph-container[data-v-1092fbdb] .x6-graph-svg {\n width: 100% !important;\n height: 100% !important;\n display: block;\n}\n.uml-layout .graph-container[data-v-1092fbdb] .x6-graph-svg-stage {\n outline: none;\n}\n\n/* 抽屉编辑器样式 - 使用单独的样式块避免 scoped 问题 */\n.class-editor[data-v-1092fbdb] {\n padding: 20px;\n height: calc(100vh - 60px);\n overflow-y: auto;\n}\n.class-editor[data-v-1092fbdb]::-webkit-scrollbar {\n width: 6px;\n}\n.class-editor[data-v-1092fbdb]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.class-editor .section[data-v-1092fbdb] {\n max-height: 300px;\n overflow-y: auto;\n padding-right: 4px;\n}\n.class-editor .section[data-v-1092fbdb]::-webkit-scrollbar {\n width: 6px;\n}\n.class-editor .section[data-v-1092fbdb]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.class-editor .section .item[data-v-1092fbdb] {\n margin-bottom: 8px;\n}\n.class-editor .section .n-card[data-v-1092fbdb] {\n border: 1px solid var(--c-border);\n}\n.class-editor .section .n-card .n-card-header[data-v-1092fbdb] {\n padding: 8px 12px;\n background: var(--n-color-embedded);\n border-bottom: 1px solid var(--c-border);\n}\n.class-editor .section .n-card .n-card__content[data-v-1092fbdb] {\n padding: 12px;\n}\n.class-editor .section .n-form-item[data-v-1092fbdb] {\n margin-bottom: 8px;\n}\n.class-editor .section .n-form-item .n-form-item-label[data-v-1092fbdb] {\n font-size: 12px;\n color: #666;\n margin-bottom: 4px;\n white-space: nowrap;\n}","/* unplugin-vue-components disabled */\n.c-antv-container[data-v-f1ab77ea] {\r\n width: 100%;\r\n height: 100%;\n}\r\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;ACjGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxFA;AACA;AACA;AACA;AACA"}
|