@cldemo/ui-kit 1.0.9 → 1.0.11
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/COMPONENT_CATALOG.md +2 -2
- package/buildLibs/all/index.cjs +2 -5
- package/buildLibs/all/index.css +1 -0
- package/buildLibs/all/index.js +82 -6
- package/buildLibs/mobile/index.cjs +2 -5
- package/buildLibs/mobile/index.css +1 -0
- package/buildLibs/mobile/index.js +50 -6
- package/buildLibs/utils/Element/ClBadge.d.ts +3 -0
- package/buildLibs/utils/Element/ClBreadcrumb.d.ts +3 -0
- package/buildLibs/utils/Element/ClButton.d.ts +3 -0
- package/buildLibs/utils/Element/ClCallout.d.ts +3 -0
- package/buildLibs/utils/Element/ClCard.d.ts +3 -0
- package/buildLibs/utils/Element/ClCardColor.d.ts +3 -0
- package/buildLibs/utils/Element/ClCheckbox.d.ts +3 -0
- package/buildLibs/utils/Element/ClCheckboxOne.cjs +2 -0
- package/buildLibs/utils/Element/ClCheckboxOne.cjs.map +1 -0
- package/buildLibs/utils/Element/ClCheckboxOne.d.ts +3 -0
- package/buildLibs/utils/Element/ClCheckboxOne.js +5 -0
- package/buildLibs/utils/Element/ClCheckboxOne.js.map +1 -0
- package/buildLibs/utils/Element/ClClipboard.d.ts +3 -0
- package/buildLibs/utils/Element/ClCollapse.d.ts +3 -0
- package/buildLibs/utils/Element/ClCountDown.d.ts +3 -0
- package/buildLibs/utils/Element/ClCountUp.d.ts +3 -0
- package/buildLibs/utils/Element/ClCropper.d.ts +3 -0
- package/buildLibs/utils/Element/ClDarg.d.ts +3 -0
- package/buildLibs/utils/Element/ClDivider.d.ts +3 -0
- package/buildLibs/utils/Element/ClEllipsis.d.ts +3 -0
- package/buildLibs/utils/Element/ClEmpty.d.ts +3 -0
- package/buildLibs/utils/Element/ClForm.d.ts +3 -0
- package/buildLibs/utils/Element/ClFormGroup.d.ts +3 -0
- package/buildLibs/utils/Element/ClFormValidate.cjs +2 -0
- package/buildLibs/utils/Element/ClFormValidate.cjs.map +1 -0
- package/buildLibs/utils/Element/ClFormValidate.d.ts +3 -0
- package/buildLibs/utils/Element/ClFormValidate.js +5 -0
- package/buildLibs/utils/Element/ClFormValidate.js.map +1 -0
- package/buildLibs/utils/Element/ClIconFont.d.ts +3 -0
- package/buildLibs/utils/Element/ClImage.cjs +1 -1
- package/buildLibs/utils/Element/ClImage.d.ts +3 -0
- package/buildLibs/utils/Element/ClImage.js +1 -1
- package/buildLibs/utils/Element/ClInput.d.ts +3 -0
- package/buildLibs/utils/Element/ClInputCaptcha.d.ts +3 -0
- package/buildLibs/utils/Element/ClInputNumber.d.ts +3 -0
- package/buildLibs/utils/Element/ClInputNumberStepper.d.ts +3 -0
- package/buildLibs/utils/Element/ClInputPassword.d.ts +3 -0
- package/buildLibs/utils/Element/ClInputSearch.d.ts +3 -0
- package/buildLibs/utils/Element/ClInputTextarea.d.ts +3 -0
- package/buildLibs/utils/Element/ClLink.d.ts +3 -0
- package/buildLibs/utils/Element/ClLoad.d.ts +3 -0
- package/buildLibs/utils/Element/ClLoadFullCenter.cjs +2 -0
- package/buildLibs/utils/Element/ClLoadFullCenter.cjs.map +1 -0
- package/buildLibs/utils/Element/ClLoadFullCenter.css +1 -0
- package/buildLibs/utils/Element/ClLoadFullCenter.d.ts +3 -0
- package/buildLibs/utils/Element/ClLoadFullCenter.js +45 -0
- package/buildLibs/utils/Element/ClLoadFullCenter.js.map +1 -0
- package/buildLibs/utils/Element/ClLoadIng.cjs +2 -0
- package/buildLibs/utils/Element/ClLoadIng.cjs.map +1 -0
- package/buildLibs/utils/Element/ClLoadIng.d.ts +3 -0
- package/buildLibs/utils/Element/ClLoadIng.js +5 -0
- package/buildLibs/utils/Element/ClLoadIng.js.map +1 -0
- package/buildLibs/utils/Element/ClLoadScreen.d.ts +3 -0
- package/buildLibs/utils/Element/ClLoadWarp.cjs +2 -0
- package/buildLibs/utils/Element/ClLoadWarp.cjs.map +1 -0
- package/buildLibs/utils/Element/ClLoadWarp.css +1 -0
- package/buildLibs/utils/Element/ClLoadWarp.d.ts +3 -0
- package/buildLibs/utils/Element/ClLoadWarp.js +53 -0
- package/buildLibs/utils/Element/ClLoadWarp.js.map +1 -0
- package/buildLibs/utils/Element/ClModal.d.ts +3 -0
- package/buildLibs/utils/Element/ClOverlay.d.ts +3 -0
- package/buildLibs/utils/Element/ClProgress.d.ts +3 -0
- package/buildLibs/utils/Element/ClRadio.d.ts +3 -0
- package/buildLibs/utils/Element/ClRadioOne.cjs +2 -0
- package/buildLibs/utils/Element/ClRadioOne.cjs.map +1 -0
- package/buildLibs/utils/Element/ClRadioOne.d.ts +3 -0
- package/buildLibs/utils/Element/ClRadioOne.js +5 -0
- package/buildLibs/utils/Element/ClRadioOne.js.map +1 -0
- package/buildLibs/utils/Element/ClSlider.d.ts +3 -0
- package/buildLibs/utils/Element/ClSwitchery.d.ts +3 -0
- package/buildLibs/utils/Element/ClTags.d.ts +3 -0
- package/buildLibs/utils/Element/ClTransitionSlideupdown.cjs +2 -0
- package/buildLibs/utils/Element/ClTransitionSlideupdown.cjs.map +1 -0
- package/buildLibs/utils/Element/ClTransitionSlideupdown.d.ts +3 -0
- package/buildLibs/utils/Element/ClTransitionSlideupdown.js +5 -0
- package/buildLibs/utils/Element/ClTransitionSlideupdown.js.map +1 -0
- package/buildLibs/utils/Element/ClWaterfall.d.ts +3 -0
- package/buildLibs/utils/Element/ClWaterfallImage.cjs +2 -0
- package/buildLibs/utils/Element/ClWaterfallImage.cjs.map +1 -0
- package/buildLibs/utils/Element/ClWaterfallImage.css +1 -0
- package/buildLibs/utils/Element/ClWaterfallImage.d.ts +3 -0
- package/buildLibs/utils/Element/ClWaterfallImage.js +48 -0
- package/buildLibs/utils/Element/ClWaterfallImage.js.map +1 -0
- package/buildLibs/utils/Mobile/ClActionBar.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClActionSheet.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClAreaM.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClBackTop.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClBanner.cjs +1 -1
- package/buildLibs/utils/Mobile/ClBanner.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClBanner.js +1 -1
- package/buildLibs/utils/Mobile/ClCalendarM.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClCell.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClCellSwipe.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClCodeLegendM.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClDropdownMenuM.cjs +1 -1
- package/buildLibs/utils/Mobile/ClDropdownMenuM.cjs.map +1 -1
- package/buildLibs/utils/Mobile/ClDropdownMenuM.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClDropdownMenuM.js +13 -12
- package/buildLibs/utils/Mobile/ClDropdownMenuM.js.map +1 -1
- package/buildLibs/utils/Mobile/ClDropdownMenuMItem.cjs +2 -0
- package/buildLibs/utils/Mobile/ClDropdownMenuMItem.cjs.map +1 -0
- package/buildLibs/utils/Mobile/ClDropdownMenuMItem.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClDropdownMenuMItem.js +160 -0
- package/buildLibs/utils/Mobile/ClDropdownMenuMItem.js.map +1 -0
- package/buildLibs/utils/Mobile/ClFloatingBubble.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClFloatingPanel.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClGrid.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClHighlightM.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClIndexBar.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClInputOtp.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClNavBar.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClNoticeBar.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClNotifyM.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClNumberKeyboard.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClPicker.cjs +1 -1
- package/buildLibs/utils/Mobile/ClPicker.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClPicker.js +1 -1
- package/buildLibs/utils/Mobile/ClPickerCascader.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClPickerDate.cjs +1 -1
- package/buildLibs/utils/Mobile/ClPickerDate.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClPickerDate.js +1 -1
- package/buildLibs/utils/Mobile/ClPickerTime.cjs +1 -1
- package/buildLibs/utils/Mobile/ClPickerTime.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClPickerTime.js +1 -1
- package/buildLibs/utils/Mobile/ClPopup.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClPullToRefresh.cjs +1 -1
- package/buildLibs/utils/Mobile/ClPullToRefresh.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClPullToRefresh.js +1 -1
- package/buildLibs/utils/Mobile/ClRate.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClScrollCard.cjs +1 -1
- package/buildLibs/utils/Mobile/ClScrollCard.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClScrollCard.js +1 -1
- package/buildLibs/utils/Mobile/ClShareSheet.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClSidebar.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClSidebarSelect.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClSignature.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClSteps.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClSwipe.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClTabM.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClTabbar.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClToast.d.ts +3 -0
- package/buildLibs/utils/Mobile/ClWatermark.d.ts +3 -0
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-BPgunUb2.js → Index.vue_vue_type_script_setup_true_lang-6KT1IHDu.js} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-BPgunUb2.js.map → Index.vue_vue_type_script_setup_true_lang-6KT1IHDu.js.map} +1 -1
- package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-B-yZtW91.js +71 -0
- package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-B-yZtW91.js.map +1 -0
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-gtDsWrhd.js → Index.vue_vue_type_script_setup_true_lang-BDPkmgGP.js} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-gtDsWrhd.js.map → Index.vue_vue_type_script_setup_true_lang-BDPkmgGP.js.map} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-D_IwyxiV.js → Index.vue_vue_type_script_setup_true_lang-Bnjm8vi-.js} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-D_IwyxiV.js.map → Index.vue_vue_type_script_setup_true_lang-Bnjm8vi-.js.map} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-Cpb9rd-y.js → Index.vue_vue_type_script_setup_true_lang-Bs8FGIQa.js} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-Cpb9rd-y.js.map → Index.vue_vue_type_script_setup_true_lang-Bs8FGIQa.js.map} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-hm75HKxP.js → Index.vue_vue_type_script_setup_true_lang-C7FRB7fV.js} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-hm75HKxP.js.map → Index.vue_vue_type_script_setup_true_lang-C7FRB7fV.js.map} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-Xe4BacqD.js → Index.vue_vue_type_script_setup_true_lang-CFzimlB_.js} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-Xe4BacqD.js.map → Index.vue_vue_type_script_setup_true_lang-CFzimlB_.js.map} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-Bp39ENoP.js → Index.vue_vue_type_script_setup_true_lang-CGeXNRtY.js} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-Bp39ENoP.js.map → Index.vue_vue_type_script_setup_true_lang-CGeXNRtY.js.map} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-4NloX3Qk.js → Index.vue_vue_type_script_setup_true_lang-CSV9UWJx.js} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-4NloX3Qk.js.map → Index.vue_vue_type_script_setup_true_lang-CSV9UWJx.js.map} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-CRJ3-pTH.js → Index.vue_vue_type_script_setup_true_lang-ChE1tZwr.js} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-CRJ3-pTH.js.map → Index.vue_vue_type_script_setup_true_lang-ChE1tZwr.js.map} +1 -1
- package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-CjgtxJ6a.js +2 -0
- package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-CjgtxJ6a.js.map +1 -0
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-N1GhNa1r.js → Index.vue_vue_type_script_setup_true_lang-CpuYxzDD.js} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-N1GhNa1r.js.map → Index.vue_vue_type_script_setup_true_lang-CpuYxzDD.js.map} +1 -1
- package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-CumTbPny.js +2 -0
- package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-CumTbPny.js.map +1 -0
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-NdqbsOrG.js → Index.vue_vue_type_script_setup_true_lang-CvF_iIQS.js} +2 -2
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-NdqbsOrG.js.map → Index.vue_vue_type_script_setup_true_lang-CvF_iIQS.js.map} +1 -1
- package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-CxVAWr6w.js +266 -0
- package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-CxVAWr6w.js.map +1 -0
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-DgMvq-RQ.js → Index.vue_vue_type_script_setup_true_lang-DFKjhT_C.js} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-DgMvq-RQ.js.map → Index.vue_vue_type_script_setup_true_lang-DFKjhT_C.js.map} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-D22m4oiN.js → Index.vue_vue_type_script_setup_true_lang-DdWmaT86.js} +2 -2
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-D22m4oiN.js.map → Index.vue_vue_type_script_setup_true_lang-DdWmaT86.js.map} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-BtoovAWs.js → Index.vue_vue_type_script_setup_true_lang-DxHfO8TH.js} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-BtoovAWs.js.map → Index.vue_vue_type_script_setup_true_lang-DxHfO8TH.js.map} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-CW63TdvW.js → Index.vue_vue_type_script_setup_true_lang-HwprdMv4.js} +2 -2
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-CW63TdvW.js.map → Index.vue_vue_type_script_setup_true_lang-HwprdMv4.js.map} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-BLp0owhs.js → Index.vue_vue_type_script_setup_true_lang-IGgTDykL.js} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-BLp0owhs.js.map → Index.vue_vue_type_script_setup_true_lang-IGgTDykL.js.map} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-BKr3_J68.js → Index.vue_vue_type_script_setup_true_lang-Lwl-M8kR.js} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-BKr3_J68.js.map → Index.vue_vue_type_script_setup_true_lang-Lwl-M8kR.js.map} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-Dxb_K2w0.js → Index.vue_vue_type_script_setup_true_lang-gsnpWNek.js} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-Dxb_K2w0.js.map → Index.vue_vue_type_script_setup_true_lang-gsnpWNek.js.map} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-EGKo8cIw.js → Index.vue_vue_type_script_setup_true_lang-huUkL0wY.js} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-EGKo8cIw.js.map → Index.vue_vue_type_script_setup_true_lang-huUkL0wY.js.map} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-BFSRH9yz.js → Index.vue_vue_type_script_setup_true_lang-in1ZSapu.js} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-BFSRH9yz.js.map → Index.vue_vue_type_script_setup_true_lang-in1ZSapu.js.map} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-C8HQVerr.js → Index.vue_vue_type_script_setup_true_lang-r6RBdV4y.js} +2 -2
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-C8HQVerr.js.map → Index.vue_vue_type_script_setup_true_lang-r6RBdV4y.js.map} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-DvzXfKhj.js → Index.vue_vue_type_script_setup_true_lang-tTHdssVu.js} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-DvzXfKhj.js.map → Index.vue_vue_type_script_setup_true_lang-tTHdssVu.js.map} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-BxxIDGfR.js → Index.vue_vue_type_script_setup_true_lang-tjRv0vNR.js} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-BxxIDGfR.js.map → Index.vue_vue_type_script_setup_true_lang-tjRv0vNR.js.map} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-Bk2WD0GS.js → Index.vue_vue_type_script_setup_true_lang-yahz6Ej5.js} +1 -1
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-Bk2WD0GS.js.map → Index.vue_vue_type_script_setup_true_lang-yahz6Ej5.js.map} +1 -1
- package/buildLibs/utils/Shared/Index24.css +1 -1
- package/buildLibs/utils/Shared/Index25.css +1 -1
- package/buildLibs/utils/Shared/Index26.css +1 -1
- package/buildLibs/utils/Shared/Index27.css +1 -1
- package/buildLibs/utils/Shared/Index28.css +1 -1
- package/buildLibs/utils/Shared/Index29.css +1 -1
- package/buildLibs/utils/Shared/Index30.css +1 -1
- package/buildLibs/utils/Shared/Index31.css +1 -1
- package/buildLibs/utils/Shared/Index32.css +1 -1
- package/buildLibs/utils/Shared/Index33.css +1 -1
- package/buildLibs/utils/Shared/Index34.css +1 -1
- package/buildLibs/utils/Shared/Index35.css +1 -1
- package/buildLibs/utils/Shared/Index36.css +1 -1
- package/buildLibs/utils/Shared/Index37.css +1 -0
- package/buildLibs/utils/Shared/One.vue_vue_type_script_setup_true_lang-CR1t8XZl.js +2 -0
- package/buildLibs/utils/Shared/One.vue_vue_type_script_setup_true_lang-CR1t8XZl.js.map +1 -0
- package/buildLibs/utils/Shared/One.vue_vue_type_script_setup_true_lang-oBeFlRzi.js +148 -0
- package/buildLibs/utils/Shared/One.vue_vue_type_script_setup_true_lang-oBeFlRzi.js.map +1 -0
- package/buildLibs/utils/Shared/Validate.vue_vue_type_script_setup_true_lang-Bquk40ES.js +406 -0
- package/buildLibs/utils/Shared/Validate.vue_vue_type_script_setup_true_lang-Bquk40ES.js.map +1 -0
- package/buildLibs/utils/Shared/Validate.vue_vue_type_script_setup_true_lang-CAmKX5pn.js +2 -0
- package/buildLibs/utils/Shared/Validate.vue_vue_type_script_setup_true_lang-CAmKX5pn.js.map +1 -0
- package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-C9mOHVoE.js → use-CKNkvmW4.js} +78 -141
- package/buildLibs/utils/Shared/use-CKNkvmW4.js.map +1 -0
- package/buildLibs/utils/Shared/use-D0Yu2Dbn.js +2 -0
- package/buildLibs/utils/Shared/use-D0Yu2Dbn.js.map +1 -0
- package/buildLibs/utils/Web/ClAnchorNav.d.ts +3 -0
- package/buildLibs/utils/Web/ClCalendar.d.ts +3 -0
- package/buildLibs/utils/Web/ClCodeLegend.d.ts +3 -0
- package/buildLibs/utils/Web/ClColorpicker.d.ts +3 -0
- package/buildLibs/utils/Web/ClCropperPreview.cjs +1 -1
- package/buildLibs/utils/Web/ClCropperPreview.d.ts +3 -0
- package/buildLibs/utils/Web/ClCropperPreview.js +2 -2
- package/buildLibs/utils/Web/ClDatetime.cjs +1 -1
- package/buildLibs/utils/Web/ClDatetime.d.ts +3 -0
- package/buildLibs/utils/Web/ClDatetime.js +1 -1
- package/buildLibs/utils/Web/ClDropdownMenu.d.ts +3 -0
- package/buildLibs/utils/Web/ClDropdownMenuItem.cjs +2 -0
- package/buildLibs/utils/Web/ClDropdownMenuItem.cjs.map +1 -0
- package/buildLibs/utils/Web/ClDropdownMenuItem.css +1 -0
- package/buildLibs/utils/Web/ClDropdownMenuItem.d.ts +3 -0
- package/buildLibs/utils/Web/ClDropdownMenuItem.js +72 -0
- package/buildLibs/utils/Web/ClDropdownMenuItem.js.map +1 -0
- package/buildLibs/utils/Web/ClDropdownPopup.d.ts +3 -0
- package/buildLibs/utils/Web/ClEcharts.cjs +1 -1
- package/buildLibs/utils/Web/ClEcharts.d.ts +3 -0
- package/buildLibs/utils/Web/ClEcharts.js +1 -1
- package/buildLibs/utils/Web/ClEchartsLineAxisTag.cjs +1 -1
- package/buildLibs/utils/Web/ClEchartsLineAxisTag.d.ts +3 -0
- package/buildLibs/utils/Web/ClEchartsLineAxisTag.js +1 -1
- package/buildLibs/utils/Web/ClFileUpload.cjs +1 -1
- package/buildLibs/utils/Web/ClFileUpload.d.ts +3 -0
- package/buildLibs/utils/Web/ClFileUpload.js +1 -1
- package/buildLibs/utils/Web/ClFramePhone.d.ts +3 -0
- package/buildLibs/utils/Web/ClInputTag.cjs +1 -1
- package/buildLibs/utils/Web/ClInputTag.d.ts +3 -0
- package/buildLibs/utils/Web/ClInputTag.js +1 -1
- package/buildLibs/utils/Web/ClPaginate.cjs +1 -1
- package/buildLibs/utils/Web/ClPaginate.d.ts +3 -0
- package/buildLibs/utils/Web/ClPaginate.js +1 -1
- package/buildLibs/utils/Web/ClPortlet.d.ts +3 -0
- package/buildLibs/utils/Web/ClPreviewExample.cjs +1 -1
- package/buildLibs/utils/Web/ClPreviewExample.d.ts +3 -0
- package/buildLibs/utils/Web/ClPreviewExample.js +1 -1
- package/buildLibs/utils/Web/ClScrollXFence.cjs +1 -1
- package/buildLibs/utils/Web/ClScrollXFence.d.ts +3 -0
- package/buildLibs/utils/Web/ClScrollXFence.js +1 -1
- package/buildLibs/utils/Web/ClSelect.cjs +1 -1
- package/buildLibs/utils/Web/ClSelect.d.ts +3 -0
- package/buildLibs/utils/Web/ClSelect.js +1 -1
- package/buildLibs/utils/Web/ClSelectCascade.cjs +1 -1
- package/buildLibs/utils/Web/ClSelectCascade.d.ts +3 -0
- package/buildLibs/utils/Web/ClSelectCascade.js +1 -1
- package/buildLibs/utils/Web/ClSelectTag.cjs +1 -1
- package/buildLibs/utils/Web/ClSelectTag.d.ts +3 -0
- package/buildLibs/utils/Web/ClSelectTag.js +1 -1
- package/buildLibs/utils/Web/ClSelectTree.cjs +1 -1
- package/buildLibs/utils/Web/ClSelectTree.d.ts +3 -0
- package/buildLibs/utils/Web/ClSelectTree.js +1 -1
- package/buildLibs/utils/Web/ClSelectmove.d.ts +3 -0
- package/buildLibs/utils/Web/ClSidemenu.d.ts +3 -0
- package/buildLibs/utils/Web/ClTable.cjs +1 -1
- package/buildLibs/utils/Web/ClTable.cjs.map +1 -1
- package/buildLibs/utils/Web/ClTable.d.ts +3 -0
- package/buildLibs/utils/Web/ClTable.js +1081 -1218
- package/buildLibs/utils/Web/ClTable.js.map +1 -1
- package/buildLibs/utils/Web/ClTableEdit.d.ts +3 -0
- package/buildLibs/utils/Web/ClTableSimple.d.ts +3 -0
- package/buildLibs/utils/Web/ClTabs.cjs +1 -1
- package/buildLibs/utils/Web/ClTabs.d.ts +3 -0
- package/buildLibs/utils/Web/ClTabs.js +1 -1
- package/buildLibs/utils/Web/ClTree.cjs +1 -1
- package/buildLibs/utils/Web/ClTree.d.ts +3 -0
- package/buildLibs/utils/Web/ClTree.js +1 -1
- package/buildLibs/utils/Web/ClWeekhour.d.ts +3 -0
- package/buildLibs/utils/Web/ClXeditable.cjs +1 -1
- package/buildLibs/utils/Web/ClXeditable.cjs.map +1 -1
- package/buildLibs/utils/Web/ClXeditable.d.ts +3 -0
- package/buildLibs/utils/Web/ClXeditable.js +33 -32
- package/buildLibs/utils/Web/ClXeditable.js.map +1 -1
- package/buildLibs/web/index.cjs +2 -5
- package/buildLibs/web/index.css +1 -0
- package/buildLibs/web/index.js +76 -6
- package/docs/components/Element/Input.md +1 -1
- package/docs/components/Element/InputNumber.md +1 -1
- package/package.json +21 -8
- package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-B-yxIx8F.js +0 -663
- package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-B-yxIx8F.js.map +0 -1
- package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-C9mOHVoE.js.map +0 -1
- package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-CcOk4kyd.js +0 -2
- package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-CcOk4kyd.js.map +0 -1
- package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-DtZgYjSl.js +0 -2
- package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-DtZgYjSl.js.map +0 -1
- package/buildLibs/utils/Shared/Video-BV0YLYT2.js +0 -114
- package/buildLibs/utils/Shared/Video-BV0YLYT2.js.map +0 -1
- package/buildLibs/utils/Shared/Video-c3jHJSxl.js +0 -2
- package/buildLibs/utils/Shared/Video-c3jHJSxl.js.map +0 -1
- package/buildLibs/utils/Shared/Video.css +0 -1
- package/buildLibs/utils/Web/ClDropdownMenuM.css +0 -1
- package/buildLibs/utils/Web/ClPreview.cjs +0 -2
- package/buildLibs/utils/Web/ClPreview.cjs.map +0 -1
- package/buildLibs/utils/Web/ClPreview.css +0 -1
- package/buildLibs/utils/Web/ClPreview.js +0 -353
- package/buildLibs/utils/Web/ClPreview.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Index.vue_vue_type_script_setup_true_lang-BxxIDGfR.js","sources":["../../../src/libs/Web/ECharts/theme/macarons.ts","../../../src/libs/Web/ECharts/Index.vue"],"sourcesContent":["const colorPalette = [\n \"#2ec7c9\",\n \"#b6a2de\",\n \"#5ab1ef\",\n \"#ffb980\",\n \"#d87a80\",\n \"#8d98b3\",\n \"#e5cf0d\",\n \"#97b552\",\n \"#95706d\",\n \"#dc69aa\",\n \"#07a2a4\",\n \"#9a7fd1\",\n \"#588dd5\",\n \"#f5994e\",\n \"#c05050\",\n \"#59678c\",\n \"#c9ab00\",\n \"#7eb00a\",\n \"#6f5553\",\n \"#c14089\",\n];\n\nexport const theme = {\n color: colorPalette,\n\n title: {\n textStyle: {\n fontWeight: \"normal\",\n color: \"#008acd\",\n },\n },\n\n visualMap: {\n itemWidth: 15,\n color: [\"#5ab1ef\", \"#e0ffff\"],\n },\n\n /* toolbox: {\n iconStyle: {\n normal: {\n borderColor: colorPalette[0],\n },\n },\n }, */\n\n tooltip: {\n backgroundColor: \"rgba(50,50,50,0.5)\",\n axisPointer: {\n type: \"line\",\n lineStyle: {\n color: \"#008acd\",\n },\n crossStyle: {\n color: \"#008acd\",\n },\n shadowStyle: {\n color: \"rgba(200,200,200,0.2)\",\n },\n },\n },\n\n dataZoom: {\n dataBackgroundColor: \"#efefff\",\n fillerColor: \"rgba(182,162,222,0.2)\",\n handleColor: \"#008acd\",\n },\n\n grid: {\n borderColor: \"#eee\",\n },\n\n categoryAxis: {\n axisLine: {\n lineStyle: {\n color: \"#008acd\",\n },\n },\n splitLine: {\n lineStyle: {\n color: [\"#eee\"],\n },\n },\n },\n\n valueAxis: {\n axisLine: {\n lineStyle: {\n color: \"#008acd\",\n },\n },\n splitArea: {\n show: true,\n areaStyle: {\n color: [\"rgba(250,250,250,0.1)\", \"rgba(200,200,200,0.1)\"],\n },\n },\n splitLine: {\n lineStyle: {\n color: [\"#eee\"],\n },\n },\n },\n\n timeline: {\n lineStyle: {\n color: \"#008acd\",\n },\n controlStyle: {\n color: \"#008acd\",\n borderColor: \"#008acd\",\n },\n symbol: \"emptyCircle\",\n symbolSize: 3,\n },\n\n line: {\n smooth: true,\n symbol: \"emptyCircle\",\n symbolSize: 3,\n },\n\n candlestick: {\n itemStyle: {\n color: \"#d87a80\",\n color0: \"#2ec7c9\",\n },\n lineStyle: {\n width: 1,\n color: \"#d87a80\",\n color0: \"#2ec7c9\",\n },\n areaStyle: {\n color: \"#2ec7c9\",\n color0: \"#b6a2de\",\n },\n },\n\n scatter: {\n symbol: \"circle\",\n symbolSize: 4,\n },\n\n map: {\n /* itemStyle: {\n color: \"#ddd\",\n },\n areaStyle: {\n color: \"#fe994e\",\n },\n label: {\n color: \"#d87a80\",\n }, */\n\n itemStyle: {\n color: \"#2ec7c9\", // 省会圆点\n },\n label: {\n color: \"#000000\",\n },\n },\n\n graph: {\n itemStyle: {\n color: \"#d87a80\",\n },\n linkStyle: {\n color: \"#2ec7c9\",\n },\n },\n\n gauge: {\n axisLine: {\n lineStyle: {\n color: [\n [0.2, \"#2ec7c9\"],\n [0.8, \"#5ab1ef\"],\n [1, \"#d87a80\"],\n ],\n width: 10,\n },\n },\n axisTick: {\n splitNumber: 10,\n length: 15,\n lineStyle: {\n color: \"auto\",\n },\n },\n splitLine: {\n length: 22,\n lineStyle: {\n color: \"auto\",\n },\n },\n pointer: {\n width: 5,\n },\n },\n};\n","<template>\n <div\n :id=\"elId\"\n :class=\"clsParent\"\n :style=\"styParent\"\n >\n <slot name=\"chartHead\"></slot>\n <div\n ref=\"refElChart\"\n :style=\"styChart\"\n role=\"img\"\n aria-label=\"图表\"\n ></div>\n <cl-load-ing\n :isLoadIng=\"optBase.isShowLoad\"\n :isEmpty=\"optBase.isEmptyData\"\n >\n <template v-slot:nothingData>\n <slot name=\"nothingData\"></slot>\n </template>\n </cl-load-ing>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n ref,\n reactive,\n computed,\n watch,\n onMounted,\n onBeforeUnmount,\n onActivated,\n onDeactivated,\n nextTick,\n} from 'vue';\n// echarts 由 <cl-echarts> 组件按需加载:type-only import 不产生运行时依赖,\n// 运行时模块在首次绘图表时才动态 import('echarts'),避免被跨惰性页共享提升进入口首屏\nimport type { EChartsType, EChartsOption } from 'echarts';\nimport { theme as themeMacarons } from './theme/macarons';\nimport CommonBase from '../../Common/base';\nimport CommonElement from '../../Common/Element/index';\nimport { Resize as ResizeEvent } from '../../Common/Element/Event/index';\nimport ClLoadIng from '../../Element/Load/Ing.vue';\nimport './index.css';\n\n// 懒加载 echarts 运行时实例(首次图表初始化时动态 import,模块级缓存)\nlet _echartsPromise: Promise<typeof import('echarts')> | null = null;\nlet _themeRegistered = false;\nconst _getECharts = () => {\n if (!_echartsPromise) _echartsPromise = import('echarts');\n return _echartsPromise;\n};\n\ndefineOptions({ name: 'ClEcharts' });\n\nconst props = defineProps({\n id: String, // desc: 自定义ID\n chartOption: Object, // desc: ECharts 配置项(整体替换引用以更新图表)\n className: String, // desc: 自定义CSS类名\n height: {\n type: [Number, String],\n default: 400, // desc: 图表高度(Number 单位 px;String 需带 CSS 单位,如 100%、400px)\n },\n isRunLoad: {\n type: Boolean,\n default: false, // desc: 是否显示加载态\n },\n});\n\nconst emit = defineEmits<{\n (e: 'onInitFirst'): void; // desc: 图表初始化完成后触发(首帧渲染后延迟约 50ms)\n (e: 'onHideResize'): void; // desc: 窗口尺寸变化时检测到父容器隐藏则触发\n (e: 'onError', msg: string): void; // desc: 图表配置异常时触发\n}>();\n\n// slots:\n// chartHead: 图表头部插槽\n// nothingData: 空数据态插槽\n\nconst elId = props.id; // || `echarts-${CommonBase.getRandom(N)}`\n\nconst refElChart = ref<HTMLElement | null>(null);\n\nconst optBase = reactive({\n isShowLoad: props.isRunLoad,\n isEmptyData: false,\n});\n\nconst _pageData: {\n resizeEvent: ResizeEvent | null;\n chartObject: EChartsType | null;\n initTimer: ReturnType<typeof setTimeout> | null;\n isHideEmit: boolean;\n} = {\n resizeEvent: null,\n chartObject: null,\n initTimer: null,\n isHideEmit: false,\n};\n\nconst clsParent = computed(() => {\n let cls: Record<string, boolean> = {\n 'panel-echarts': true,\n 'chart-loading': optBase.isShowLoad || optBase.isEmptyData,\n };\n cls = CommonBase.getJsonMerge(cls, CommonElement.getClassNameJson(props.className));\n return cls;\n});\n\nconst styParent = computed(() => {\n const sty: Record<string, string> = {};\n if (optBase.isShowLoad || optBase.isEmptyData) {\n sty.height = '100%';\n }\n return sty;\n});\n\nconst styChart = computed(() => {\n const sty: Record<string, string> = {};\n const { height } = props;\n if (typeof height === 'number' && CommonBase.isFinite(height) && height > 0) {\n sty.height = `${height}px`;\n } else if (CommonBase.isNonEmptyString(height)) {\n sty.height = height;\n }\n return sty;\n});\n\nconst _emitHideResize = () => {\n emit('onHideResize');\n};\n\nconst _emitInitFirst = () => {\n emit('onInitFirst');\n};\n\nconst _runResize = () => {\n if (_pageData.chartObject) {\n _pageData.chartObject.resize();\n }\n};\n\nconst _initBind = async (options?: EChartsOption) => {\n if (!refElChart.value) {\n return;\n }\n const isEmpty = CommonBase.isEmpty(options);\n optBase.isEmptyData = isEmpty;\n if (!isEmpty && options) {\n try {\n // echarts 按需动态加载(含首次注册主题)\n const ECharts = await _getECharts();\n if (!_themeRegistered) {\n ECharts.registerTheme('macarons', themeMacarons);\n _themeRegistered = true;\n }\n if (!_pageData.chartObject) {\n _pageData.chartObject = ECharts.init(refElChart.value, 'macarons');\n _pageData.initTimer = setTimeout(() => {\n _emitInitFirst();\n }, 50); // 等首帧渲染完成后触发,保证父组件拿到真实图表实例\n }\n _pageData.chartObject.setOption(options, true);\n _runResize();\n } catch {\n if (_pageData.initTimer) {\n clearTimeout(_pageData.initTimer);\n _pageData.initTimer = null;\n }\n emit('onError', '图表配置异常');\n }\n } else if (_pageData.chartObject) {\n _pageData.chartObject.clear();\n }\n};\n\nconst _onWinResize = () => {\n if (_pageData.chartObject) {\n const isCheckHide = CommonElement.isHiddenParent(refElChart.value);\n if (!isCheckHide) {\n if (_pageData.isHideEmit) {\n _pageData.isHideEmit = false;\n }\n _runResize();\n } else if (!_pageData.isHideEmit) {\n _pageData.isHideEmit = true;\n _emitHideResize();\n }\n }\n};\n\nconst _initMain = () => {\n void _initBind(props.chartOption);\n};\n\nonMounted(() => {\n _pageData.resizeEvent = new ResizeEvent({\n callback: () => {\n _onWinResize();\n },\n });\n nextTick(() => {\n _initMain();\n });\n});\n\nonBeforeUnmount(() => {\n if (_pageData.resizeEvent) {\n _pageData.resizeEvent.destroy();\n }\n if (_pageData.initTimer) {\n clearTimeout(_pageData.initTimer);\n }\n if (_pageData.chartObject) {\n _pageData.chartObject.dispose();\n _pageData.chartObject = null;\n }\n});\n\nonActivated(() => {\n if (!_pageData.resizeEvent) {\n _pageData.resizeEvent = new ResizeEvent({\n callback: () => {\n _onWinResize();\n },\n });\n }\n nextTick(() => {\n _runResize();\n });\n});\n\nonDeactivated(() => {\n if (_pageData.resizeEvent) {\n _pageData.resizeEvent.destroy();\n _pageData.resizeEvent = null;\n }\n});\n\nwatch(\n () => props.isRunLoad,\n newValue => {\n optBase.isShowLoad = newValue;\n },\n);\n\nwatch(\n () => props.chartOption,\n newValue => {\n void _initBind(newValue);\n },\n);\n\nconst getChartObject = () => {\n return _pageData.chartObject;\n};\n\nconst getChartElement = () => {\n return refElChart.value;\n};\n\nconst resize = () => {\n _runResize();\n};\n\nexport interface ClEchartsExpose {\n getChartObject(): EChartsType | null;\n getChartElement(): HTMLElement | null;\n resize(): void;\n}\n\ndefineExpose({\n getChartObject,\n getChartElement,\n resize,\n});\n</script>\n"],"names":["colorPalette","theme","_echartsPromise","_themeRegistered","_getECharts","props","__props","emit","__emit","elId","refElChart","ref","optBase","reactive","_pageData","clsParent","computed","cls","CommonBase","CommonElement","styParent","sty","styChart","height","_emitHideResize","_emitInitFirst","_runResize","_initBind","options","isEmpty","ECharts","themeMacarons","_onWinResize","_initMain","onMounted","ResizeEvent","nextTick","onBeforeUnmount","onActivated","onDeactivated","watch","newValue","__expose","_createElementBlock","_unref","_renderSlot","_ctx","_createElementVNode","_createVNode","ClLoadIng"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Index.vue_vue_type_script_setup_true_lang-tjRv0vNR.js","sources":["../../../src/libs/Web/ECharts/theme/macarons.ts","../../../src/libs/Web/ECharts/Index.vue"],"sourcesContent":["const colorPalette = [\n \"#2ec7c9\",\n \"#b6a2de\",\n \"#5ab1ef\",\n \"#ffb980\",\n \"#d87a80\",\n \"#8d98b3\",\n \"#e5cf0d\",\n \"#97b552\",\n \"#95706d\",\n \"#dc69aa\",\n \"#07a2a4\",\n \"#9a7fd1\",\n \"#588dd5\",\n \"#f5994e\",\n \"#c05050\",\n \"#59678c\",\n \"#c9ab00\",\n \"#7eb00a\",\n \"#6f5553\",\n \"#c14089\",\n];\n\nexport const theme = {\n color: colorPalette,\n\n title: {\n textStyle: {\n fontWeight: \"normal\",\n color: \"#008acd\",\n },\n },\n\n visualMap: {\n itemWidth: 15,\n color: [\"#5ab1ef\", \"#e0ffff\"],\n },\n\n /* toolbox: {\n iconStyle: {\n normal: {\n borderColor: colorPalette[0],\n },\n },\n }, */\n\n tooltip: {\n backgroundColor: \"rgba(50,50,50,0.5)\",\n axisPointer: {\n type: \"line\",\n lineStyle: {\n color: \"#008acd\",\n },\n crossStyle: {\n color: \"#008acd\",\n },\n shadowStyle: {\n color: \"rgba(200,200,200,0.2)\",\n },\n },\n },\n\n dataZoom: {\n dataBackgroundColor: \"#efefff\",\n fillerColor: \"rgba(182,162,222,0.2)\",\n handleColor: \"#008acd\",\n },\n\n grid: {\n borderColor: \"#eee\",\n },\n\n categoryAxis: {\n axisLine: {\n lineStyle: {\n color: \"#008acd\",\n },\n },\n splitLine: {\n lineStyle: {\n color: [\"#eee\"],\n },\n },\n },\n\n valueAxis: {\n axisLine: {\n lineStyle: {\n color: \"#008acd\",\n },\n },\n splitArea: {\n show: true,\n areaStyle: {\n color: [\"rgba(250,250,250,0.1)\", \"rgba(200,200,200,0.1)\"],\n },\n },\n splitLine: {\n lineStyle: {\n color: [\"#eee\"],\n },\n },\n },\n\n timeline: {\n lineStyle: {\n color: \"#008acd\",\n },\n controlStyle: {\n color: \"#008acd\",\n borderColor: \"#008acd\",\n },\n symbol: \"emptyCircle\",\n symbolSize: 3,\n },\n\n line: {\n smooth: true,\n symbol: \"emptyCircle\",\n symbolSize: 3,\n },\n\n candlestick: {\n itemStyle: {\n color: \"#d87a80\",\n color0: \"#2ec7c9\",\n },\n lineStyle: {\n width: 1,\n color: \"#d87a80\",\n color0: \"#2ec7c9\",\n },\n areaStyle: {\n color: \"#2ec7c9\",\n color0: \"#b6a2de\",\n },\n },\n\n scatter: {\n symbol: \"circle\",\n symbolSize: 4,\n },\n\n map: {\n /* itemStyle: {\n color: \"#ddd\",\n },\n areaStyle: {\n color: \"#fe994e\",\n },\n label: {\n color: \"#d87a80\",\n }, */\n\n itemStyle: {\n color: \"#2ec7c9\", // 省会圆点\n },\n label: {\n color: \"#000000\",\n },\n },\n\n graph: {\n itemStyle: {\n color: \"#d87a80\",\n },\n linkStyle: {\n color: \"#2ec7c9\",\n },\n },\n\n gauge: {\n axisLine: {\n lineStyle: {\n color: [\n [0.2, \"#2ec7c9\"],\n [0.8, \"#5ab1ef\"],\n [1, \"#d87a80\"],\n ],\n width: 10,\n },\n },\n axisTick: {\n splitNumber: 10,\n length: 15,\n lineStyle: {\n color: \"auto\",\n },\n },\n splitLine: {\n length: 22,\n lineStyle: {\n color: \"auto\",\n },\n },\n pointer: {\n width: 5,\n },\n },\n};\n","<template>\n <div\n :id=\"elId\"\n :class=\"clsParent\"\n :style=\"styParent\"\n >\n <slot name=\"chartHead\"></slot>\n <div\n ref=\"refElChart\"\n :style=\"styChart\"\n role=\"img\"\n aria-label=\"图表\"\n ></div>\n <cl-load-ing\n :isLoadIng=\"optBase.isShowLoad\"\n :isEmpty=\"optBase.isEmptyData\"\n >\n <template v-slot:nothingData>\n <slot name=\"nothingData\"></slot>\n </template>\n </cl-load-ing>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n ref,\n reactive,\n computed,\n watch,\n onMounted,\n onBeforeUnmount,\n onActivated,\n onDeactivated,\n nextTick,\n} from 'vue';\n// echarts 由 <cl-echarts> 组件按需加载:type-only import 不产生运行时依赖,\n// 运行时模块在首次绘图表时才动态 import('echarts'),避免被跨惰性页共享提升进入口首屏\nimport type { EChartsType, EChartsOption } from 'echarts';\nimport { theme as themeMacarons } from './theme/macarons';\nimport CommonBase from '../../Common/base';\nimport CommonElement from '../../Common/Element/index';\nimport { Resize as ResizeEvent } from '../../Common/Element/Event/index';\nimport ClLoadIng from '../../Element/Load/Ing.vue';\nimport './index.css';\n\n// 懒加载 echarts 运行时实例(首次图表初始化时动态 import,模块级缓存)\nlet _echartsPromise: Promise<typeof import('echarts')> | null = null;\nlet _themeRegistered = false;\nconst _getECharts = () => {\n if (!_echartsPromise) _echartsPromise = import('echarts');\n return _echartsPromise;\n};\n\ndefineOptions({ name: 'ClEcharts' });\n\nconst props = defineProps({\n id: String, // desc: 自定义ID\n chartOption: Object, // desc: ECharts 配置项(整体替换引用以更新图表)\n className: String, // desc: 自定义CSS类名\n height: {\n type: [Number, String],\n default: 400, // desc: 图表高度(Number 单位 px;String 需带 CSS 单位,如 100%、400px)\n },\n isRunLoad: {\n type: Boolean,\n default: false, // desc: 是否显示加载态\n },\n});\n\nconst emit = defineEmits<{\n (e: 'onInitFirst'): void; // desc: 图表初始化完成后触发(首帧渲染后延迟约 50ms)\n (e: 'onHideResize'): void; // desc: 窗口尺寸变化时检测到父容器隐藏则触发\n (e: 'onError', msg: string): void; // desc: 图表配置异常时触发\n}>();\n\n// slots:\n// chartHead: 图表头部插槽\n// nothingData: 空数据态插槽\n\nconst elId = props.id; // || `echarts-${CommonBase.getRandom(N)}`\n\nconst refElChart = ref<HTMLElement | null>(null);\n\nconst optBase = reactive({\n isShowLoad: props.isRunLoad,\n isEmptyData: false,\n});\n\nconst _pageData: {\n resizeEvent: ResizeEvent | null;\n chartObject: EChartsType | null;\n initTimer: ReturnType<typeof setTimeout> | null;\n isHideEmit: boolean;\n} = {\n resizeEvent: null,\n chartObject: null,\n initTimer: null,\n isHideEmit: false,\n};\n\nconst clsParent = computed(() => {\n let cls: Record<string, boolean> = {\n 'panel-echarts': true,\n 'chart-loading': optBase.isShowLoad || optBase.isEmptyData,\n };\n cls = CommonBase.getJsonMerge(cls, CommonElement.getClassNameJson(props.className));\n return cls;\n});\n\nconst styParent = computed(() => {\n const sty: Record<string, string> = {};\n if (optBase.isShowLoad || optBase.isEmptyData) {\n sty.height = '100%';\n }\n return sty;\n});\n\nconst styChart = computed(() => {\n const sty: Record<string, string> = {};\n const { height } = props;\n if (typeof height === 'number' && CommonBase.isFinite(height) && height > 0) {\n sty.height = `${height}px`;\n } else if (CommonBase.isNonEmptyString(height)) {\n sty.height = height;\n }\n return sty;\n});\n\nconst _emitHideResize = () => {\n emit('onHideResize');\n};\n\nconst _emitInitFirst = () => {\n emit('onInitFirst');\n};\n\nconst _runResize = () => {\n if (_pageData.chartObject) {\n _pageData.chartObject.resize();\n }\n};\n\nconst _initBind = async (options?: EChartsOption) => {\n if (!refElChart.value) {\n return;\n }\n const isEmpty = CommonBase.isEmpty(options);\n optBase.isEmptyData = isEmpty;\n if (!isEmpty && options) {\n try {\n // echarts 按需动态加载(含首次注册主题)\n const ECharts = await _getECharts();\n if (!_themeRegistered) {\n ECharts.registerTheme('macarons', themeMacarons);\n _themeRegistered = true;\n }\n if (!_pageData.chartObject) {\n _pageData.chartObject = ECharts.init(refElChart.value, 'macarons');\n _pageData.initTimer = setTimeout(() => {\n _emitInitFirst();\n }, 50); // 等首帧渲染完成后触发,保证父组件拿到真实图表实例\n }\n _pageData.chartObject.setOption(options, true);\n _runResize();\n } catch {\n if (_pageData.initTimer) {\n clearTimeout(_pageData.initTimer);\n _pageData.initTimer = null;\n }\n emit('onError', '图表配置异常');\n }\n } else if (_pageData.chartObject) {\n _pageData.chartObject.clear();\n }\n};\n\nconst _onWinResize = () => {\n if (_pageData.chartObject) {\n const isCheckHide = CommonElement.isHiddenParent(refElChart.value);\n if (!isCheckHide) {\n if (_pageData.isHideEmit) {\n _pageData.isHideEmit = false;\n }\n _runResize();\n } else if (!_pageData.isHideEmit) {\n _pageData.isHideEmit = true;\n _emitHideResize();\n }\n }\n};\n\nconst _initMain = () => {\n void _initBind(props.chartOption);\n};\n\nonMounted(() => {\n _pageData.resizeEvent = new ResizeEvent({\n callback: () => {\n _onWinResize();\n },\n });\n nextTick(() => {\n _initMain();\n });\n});\n\nonBeforeUnmount(() => {\n if (_pageData.resizeEvent) {\n _pageData.resizeEvent.destroy();\n }\n if (_pageData.initTimer) {\n clearTimeout(_pageData.initTimer);\n }\n if (_pageData.chartObject) {\n _pageData.chartObject.dispose();\n _pageData.chartObject = null;\n }\n});\n\nonActivated(() => {\n if (!_pageData.resizeEvent) {\n _pageData.resizeEvent = new ResizeEvent({\n callback: () => {\n _onWinResize();\n },\n });\n }\n nextTick(() => {\n _runResize();\n });\n});\n\nonDeactivated(() => {\n if (_pageData.resizeEvent) {\n _pageData.resizeEvent.destroy();\n _pageData.resizeEvent = null;\n }\n});\n\nwatch(\n () => props.isRunLoad,\n newValue => {\n optBase.isShowLoad = newValue;\n },\n);\n\nwatch(\n () => props.chartOption,\n newValue => {\n void _initBind(newValue);\n },\n);\n\nconst getChartObject = () => {\n return _pageData.chartObject;\n};\n\nconst getChartElement = () => {\n return refElChart.value;\n};\n\nconst resize = () => {\n _runResize();\n};\n\nexport interface ClEchartsExpose {\n getChartObject(): EChartsType | null;\n getChartElement(): HTMLElement | null;\n resize(): void;\n}\n\ndefineExpose({\n getChartObject,\n getChartElement,\n resize,\n});\n</script>\n"],"names":["colorPalette","theme","_echartsPromise","_themeRegistered","_getECharts","props","__props","emit","__emit","elId","refElChart","ref","optBase","reactive","_pageData","clsParent","computed","cls","CommonBase","CommonElement","styParent","sty","styChart","height","_emitHideResize","_emitInitFirst","_runResize","_initBind","options","isEmpty","ECharts","themeMacarons","_onWinResize","_initMain","onMounted","ResizeEvent","nextTick","onBeforeUnmount","onActivated","onDeactivated","watch","newValue","__expose","_createElementBlock","_unref","_renderSlot","_ctx","_createElementVNode","_createVNode","ClLoadIng"],"mappings":"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"}
|
|
@@ -529,4 +529,4 @@ const _e = { class: "tree-ul" }, Ae = ["onClick"], ve = ["aria-checked", "onClic
|
|
|
529
529
|
export {
|
|
530
530
|
qe as _
|
|
531
531
|
};
|
|
532
|
-
//# sourceMappingURL=Index.vue_vue_type_script_setup_true_lang-
|
|
532
|
+
//# sourceMappingURL=Index.vue_vue_type_script_setup_true_lang-yahz6Ej5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Index.vue_vue_type_script_setup_true_lang-Bk2WD0GS.js","sources":["../../../src/libs/Web/Tree/Ul.vue","../../../src/libs/Web/Tree/Index.vue"],"sourcesContent":["<template>\n <ul class=\"tree-ul\">\n <li\n v-for=\"(item, rIndex) in list\"\n :key=\"`${_keyIndex}-${item.id}-${rIndex}`\"\n :class=\"clsLiFun(item)\"\n >\n <i\n class=\"tree-shrink\"\n @click.stop=\"onClickShrink(item)\"\n ></i>\n <span :class=\"clsLabelFun(item)\">\n <i\n v-if=\"multiple\"\n class=\"tree-node-checkbox\"\n role=\"checkbox\"\n :aria-checked=\"_getCheckState(item)\"\n @click.stop=\"onClickCheckbox(item)\"\n ></i>\n <template v-else></template>\n <a\n href=\"javascript:\"\n :tabindex=\"disabled ? -1 : 0\"\n :aria-disabled=\"disabled\"\n @click.stop=\"onClickText(item)\"\n @dblclick.stop=\"onClickTextDbl(item)\"\n @keydown.enter.prevent=\"onClickText(item)\"\n >\n <span\n v-if=\"item.showTextLabelHtml\"\n v-html=\"item.showTextLabel\"\n ></span>\n <span v-else>{{ item.showTextLabel }}</span>\n </a>\n </span>\n\n <template v-if=\"firstOpenIdSet.has(_getIdStr(item))\">\n <cl-transition-slideupdown>\n <cl-tree-ul\n v-show=\"openIdSet.has(_getIdStr(item))\"\n :list=\"item.list\"\n :multiple=\"multiple\"\n :isSingleSelectParent=\"isSingleSelectParent\"\n :disabled=\"disabled\"\n :firstOpenIds=\"firstOpenIds\"\n :openIds=\"openIds\"\n :selectIds=\"selectIds\"\n :selectUnIds=\"selectUnIds\"\n @onSelect=\"onRecursionSelect\"\n @onShrink=\"onRecursionShrink\"\n ></cl-tree-ul>\n </cl-transition-slideupdown>\n </template>\n <template v-else></template>\n </li>\n </ul>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, inject, onBeforeUnmount } from 'vue';\nimport CommonBase from '../../Common/base';\nimport ClTreeUl from './Ul.vue';\nimport ClTransitionSlideupdown from '../../Element/Transition/SlideUpDown.vue';\nimport './css/Ul.css';\n\ninterface TreeTop {\n isCheckChildren: (id: any) => boolean;\n}\n\ndefineOptions({ name: 'ClTreeUl' });\n\nconst props = defineProps({\n list: {\n type: Array as () => any[],\n default: () => [], // desc: 数据列表\n },\n multiple: {\n type: Boolean,\n default: false, // desc: 是否多选\n },\n isSingleSelectParent: {\n type: Boolean,\n default: false, // desc: 单选时是否可选择父级\n },\n disabled: {\n type: Boolean,\n default: false, // desc: 是否禁用\n },\n firstOpenIds: {\n type: Array as () => string[],\n default: () => [], // desc: 首次展开的节点\n },\n openIds: {\n type: Array as () => string[],\n default: () => [], // desc: 展开的节点\n },\n selectIds: {\n type: Array as () => string[],\n default: () => [], // desc: 选中的节点\n },\n selectUnIds: {\n type: Array as () => string[],\n default: () => [], // desc: 半选状态的节点\n },\n});\n\nconst emit = defineEmits<{\n (e: 'onSelect', id: string): void; // desc: 节点选中\n (e: 'onShrink', id: string): void; // desc: 节点收缩\n}>();\n\n// kb: Enter 选中节点(获取焦点后生效,走 onClickText 防抖逻辑)\n\nconst _keyIndex = `tree-${CommonBase.getRandom(5)}`;\n\nconst DB_CLICK_DELAY = 170;\n\nlet _isTreeTopWarned = false;\n\nconst _selfTop = inject<TreeTop>('$TreeTop', {\n isCheckChildren: () => {\n if (!_isTreeTopWarned) {\n _isTreeTopWarned = true;\n console.warn('ClTreeUl:未检测到 ClTree 容器提供 $TreeTop,子级判断降级为 false');\n }\n return false;\n },\n});\n\nconst _pageData: any = {\n dbClickTimeOut: null as number | null,\n};\n\n// 选中/展开态 Set 化:避免 v-for 逐节点 indexOf 线性查找(O(n²) → O(1))\nconst firstOpenIdSet = computed(() => new Set(props.firstOpenIds));\nconst selectIdSet = computed(() => new Set(props.selectIds));\nconst selectUnIdSet = computed(() => new Set(props.selectUnIds));\nconst openIdSet = computed(() => new Set(props.openIds));\n\nconst _emitSelect = (id: any) => {\n if (CommonBase.isUndefined(id)) {\n return; // 缺 id 数据项不触发选中\n }\n emit('onSelect', id.toString());\n};\n\nconst _emitShrink = (id: any) => {\n if (CommonBase.isUndefined(id)) {\n return; // 缺 id 数据项不触发收缩\n }\n emit('onShrink', id.toString());\n};\n\nconst _getIdStr = (itemInfo: any) => {\n return CommonBase.isUndefined(itemInfo.id) ? '' : itemInfo.id.toString();\n};\n\nconst _getCheckState = (itemInfo: any) => {\n const id = _getIdStr(itemInfo);\n if (selectIdSet.value.has(id)) {\n return 'true';\n }\n if (selectUnIdSet.value.has(id)) {\n return 'mixed';\n }\n return 'false';\n};\n\nconst clsLiFun = (itemInfo: any) => {\n const clsTemp: Record<string, boolean> = {\n 'tree-node': true,\n };\n clsTemp['tree-node-end'] = itemInfo.isEnd;\n if (!itemInfo.isEnd) {\n const strId = CommonBase.isUndefined(itemInfo.id) ? '' : itemInfo.id.toString();\n const isOpen = openIdSet.value.has(strId);\n clsTemp['tree-node-open'] = isOpen;\n clsTemp['tree-node-closed'] = !isOpen;\n }\n return clsTemp;\n};\n\nconst clsLabelFun = (itemInfo: any) => {\n const id = CommonBase.isUndefined(itemInfo.id) ? '' : itemInfo.id.toString();\n const clsTemp: Record<string, boolean> = {\n 'tree-node-text': true,\n };\n clsTemp['tree-node-select'] = selectIdSet.value.has(id);\n clsTemp['tree-node-selectUn'] = selectUnIdSet.value.has(id);\n return clsTemp;\n};\n\nonBeforeUnmount(() => {\n if (_pageData.dbClickTimeOut) {\n window.clearTimeout(_pageData.dbClickTimeOut);\n }\n});\n\nconst onClickShrink = (info: any) => {\n if (props.disabled) return;\n window.clearTimeout(_pageData.dbClickTimeOut);\n _emitShrink(info.id);\n};\n\nconst onClickCheckbox = (info: any) => {\n if (props.disabled) return;\n window.clearTimeout(_pageData.dbClickTimeOut);\n _emitSelect(info.id);\n};\n\nconst onClickText = (info: any) => {\n if (props.disabled) return;\n if (_selfTop.isCheckChildren(info.id)) {\n let isRun = true;\n if (!props.multiple && !props.isSingleSelectParent) {\n isRun = false;\n }\n if (isRun) {\n window.clearTimeout(_pageData.dbClickTimeOut);\n _pageData.dbClickTimeOut = window.setTimeout(() => {\n if (!props.disabled) {\n _emitSelect(info.id);\n }\n }, DB_CLICK_DELAY);\n } else {\n // 单选不可选父级:清除 pending 防抖,避免模式切换瞬间迟到触发选中\n window.clearTimeout(_pageData.dbClickTimeOut);\n }\n } else {\n // 叶子路径与父级统一走防抖:双击叶子不再触发「选中→取消」竞态\n window.clearTimeout(_pageData.dbClickTimeOut);\n _pageData.dbClickTimeOut = window.setTimeout(() => {\n if (!props.disabled) {\n _emitSelect(info.id);\n }\n }, DB_CLICK_DELAY);\n }\n};\n\nconst onClickTextDbl = (info: any) => {\n if (props.disabled) return;\n if (_selfTop.isCheckChildren(info.id)) {\n if (_pageData.dbClickTimeOut) {\n window.clearTimeout(_pageData.dbClickTimeOut);\n }\n _emitShrink(info.id);\n }\n};\n\nconst onRecursionSelect = (id: string) => {\n _emitSelect(id);\n};\n\nconst onRecursionShrink = (id: string) => {\n _emitShrink(id);\n};\n</script>\n","<template>\n <div\n :class=\"clsParent\"\n :id=\"elId\"\n >\n <cl-tree-ul\n v-if=\"optBase.list.length > 0\"\n :list=\"optBase.list\"\n :firstOpenIds=\"optBase.firstOpenIds\"\n :openIds=\"optBase.openParentIds\"\n :selectIds=\"optBase.selectedIds\"\n :selectUnIds=\"optBase.selectedUnIds\"\n v-bind=\"optSubUnit\"\n @onSelect=\"onSelect\"\n @onShrink=\"onShrink\"\n ></cl-tree-ul>\n <template v-else></template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { provide, onMounted, nextTick, watch, computed, reactive } from 'vue';\nimport CommonBase from '../../Common/base';\nimport CommonElement from '../../Common/Element/index';\nimport ClTreeUl from './Ul.vue';\nimport './index.css';\n\ndefineOptions({ name: 'ClTree' });\n\nconst props = defineProps({\n id: String, // desc: 唯一标识\n value: String, // desc: 选中值\n className: String, // desc: 自定义CSS类名\n disabled: {\n type: Boolean,\n default: false, // desc: 是否禁用\n },\n list: {\n type: Array as () => any[],\n default: () => [], // desc: 数据列表\n },\n multiple: {\n type: Boolean,\n default: false, // desc: 是否多选\n },\n isSingleSelectParent: {\n type: Boolean,\n default: false, // desc: 单选时是否可选择父级\n },\n isOutMerge: {\n type: Boolean,\n default: true, // desc: 是否合并父级输出\n },\n parentKey: {\n type: String,\n default: 'parentId', // desc: 父级字段名\n },\n topParentValue: {\n type: String,\n default: '0', // desc: 顶级父级值\n },\n searchOpenParentIds: {\n type: String,\n default: '', // desc: 搜索联动需展开显示的父级 id 集合(逗号分隔),清空时自动还原\n },\n searchFoldParentIds: {\n type: String,\n default: '', // desc: 搜索联动需可点开但默认折叠的父级 id 集合(逗号分隔),清空时自动还原\n },\n searchKeyword: {\n type: String,\n default: '', // desc: 搜索关键词,非空时对节点文本命中的内容高亮\n },\n highlightMode: {\n type: String,\n default: '', // desc: 搜索高亮模式 | enum: full, whole\n },\n highlightColor: {\n type: String,\n default: '', // desc: 搜索高亮背景色;空则使用默认高亮样式\n },\n});\n\nconst emit = defineEmits<{\n (e: 'update:value', value: string): void; // desc: 值更新\n (e: 'onChange', value: string, data: any): void; // desc: 选中变化\n (e: 'onInit'): void; // desc: 初始化完成\n}>();\n\nconst elId = props.id; // || `tree-${CommonBase.getRandom(8)}`\n\nconst optBase: any = reactive({\n firstOpenIds: [] as string[],\n openParentIds: [] as string[],\n selectedIds: [] as string[],\n selectedUnIds: [] as string[],\n list: [] as any[],\n});\n\nconst _pageData: any = {\n dataJson: {},\n dataGroup: {},\n childLastIdsJson: {},\n prevSearchOpenParentIds: '',\n prevSearchFoldParentIds: '',\n};\n\nconst optSubUnit = computed(() => {\n return {\n multiple: props.multiple,\n disabled: props.disabled,\n isSingleSelectParent: props.isSingleSelectParent,\n };\n});\n\nconst clsParent = computed(() => {\n return CommonBase.getJsonMerge(\n { 'panel-tree': true },\n CommonElement.getClassNameJson(props.className),\n );\n});\n\nconst _emitModelValue = (value: string) => {\n emit('update:value', value);\n};\n\nconst _emitChange = (value: string, data: any) => {\n _emitModelValue(value);\n emit('onChange', value, data);\n};\n\nconst _emitInitComplete = () => {\n nextTick(() => {\n emit('onInit');\n });\n};\n\nconst _checkIsChildren = (id: any) => {\n const idStr = CommonBase.isUndefined(id) ? '' : id.toString();\n return CommonBase.isExistJsonKey(_pageData.dataGroup, idStr);\n};\n\nconst _getDataGroup = (id: any) => {\n const idStr = CommonBase.isUndefined(id) ? '' : id.toString();\n return _checkIsChildren(idStr) ? _pageData.dataGroup[idStr] : [];\n};\n\nconst _getDataInfo = (id: any) => {\n const idStr = id.toString();\n return CommonBase.isExistJsonKey(_pageData.dataJson, idStr) ? _pageData.dataJson[idStr] : null;\n};\n\nconst _recursionListLevel = (parentId: string, level: number, visited?: Set<string>): any[] => {\n const list: any[] = [];\n const newLevel = level + 1;\n if (visited === undefined) {\n visited = new Set<string>();\n }\n if (visited.has(parentId)) {\n return list; // 环检测:父级已展开过则终止递归\n }\n visited.add(parentId);\n _getDataGroup(parentId).forEach((info: any) => {\n const newInfo = { ...info } as any;\n const id = newInfo.id.toString();\n const isExistChild = _checkIsChildren(id);\n newInfo.isEnd = !isExistChild;\n newInfo.level = newLevel;\n if (isExistChild) {\n newInfo.list = _recursionListLevel(id, newLevel, visited);\n }\n list.push(newInfo);\n });\n return list;\n};\n\nconst _escapeHtmlText = (text: string) =>\n text.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');\n\nconst _getHighlightHtml = (text: string): string => {\n const keyword = props.searchKeyword;\n const mode = props.highlightMode;\n if (!CommonBase.isNonEmptyString(text) || CommonBase.isEmpty(keyword)) {\n return _escapeHtmlText(String(text));\n }\n const color = CommonBase.isNonEmptyString(props.highlightColor)\n ? props.highlightColor\n : '#ffe58f';\n const markText = (raw: string) => `<mark style=\"background:${color}\">${_escapeHtmlText(raw)}</mark>`;\n // full 模式:只要显示文本命中关键词,整条文本整体背景高亮\n if (mode === 'full') {\n if (text.includes(keyword)) {\n return markText(text);\n }\n return _escapeHtmlText(text);\n }\n // whole 模式:命中的整段关键词整体背景高亮,取首次命中\n const inx = text.indexOf(keyword);\n if (inx === -1) {\n return _escapeHtmlText(text);\n }\n const pre = _escapeHtmlText(text.slice(0, inx));\n const hit = markText(text.slice(inx, inx + keyword.length));\n const post = _escapeHtmlText(text.slice(inx + keyword.length));\n return `${pre}${hit}${post}`;\n};\n\nconst _convertData = (list: any[]) => {\n const { parentKey, topParentValue } = props;\n const strTopPValue = CommonBase.isNonEmptyString(topParentValue) ? topParentValue : '0';\n const json: any = {};\n const group: any = {};\n if (!CommonBase.isEmpty(list)) {\n list.forEach((info: any) => {\n const newInfo = CommonBase.getJsonClone(info);\n // 搜索关键词与高亮模式均非空时才高亮(highlightMode 控制开关),无关键词/未启用保持纯文本,向后兼容\n const isHighl = !CommonBase.isEmpty(props.searchKeyword) && !CommonBase.isEmpty(props.highlightMode);\n newInfo.showTextLabelHtml = isHighl;\n newInfo.showTextLabel = isHighl\n ? _getHighlightHtml(CommonBase.isString(newInfo.name) ? newInfo.name : '')\n : (CommonBase.isString(newInfo.name) ? newInfo.name : '');\n // isFinite 为宽松实现(Number() 转换,isFinite(null)=true),数字分支必须叠加 typeof 严格检查\n const isIdValid =\n CommonBase.isString(newInfo.id) ||\n (typeof newInfo.id === 'number' && CommonBase.isFinite(newInfo.id));\n const isPIdValid =\n CommonBase.isString(newInfo[parentKey]) ||\n (typeof newInfo[parentKey] === 'number' && CommonBase.isFinite(newInfo[parentKey]));\n if (!isIdValid || !isPIdValid) {\n return; // 跳过缺失或类型异常(对象/布尔/null)的核心字段数据项\n }\n const id = newInfo.id.toString();\n const pId = newInfo[parentKey].toString();\n json[id] = newInfo;\n if (!CommonBase.isExistJsonKey(group, pId)) {\n group[pId] = [];\n }\n group[pId].push(newInfo);\n });\n }\n _pageData.dataJson = json;\n _pageData.dataGroup = group;\n _pageData.childLastIdsJson = {};\n optBase.list = _recursionListLevel(strTopPValue, 0);\n};\n\nconst _recursionParentIds = (value: any, visited?: Set<string>): string[] => {\n let arr: string[] = [];\n const { parentKey, topParentValue } = props;\n const strTopPValue = CommonBase.isNonEmptyString(topParentValue) ? topParentValue : '0';\n const strValue = CommonBase.isEmpty(value) ? '' : value.toString();\n if (visited === undefined) {\n visited = new Set<string>();\n }\n if (CommonBase.isExistJsonKey(_pageData.dataJson, strValue) && !visited.has(strValue)) {\n visited.add(strValue);\n arr.push(strValue);\n const pId = _pageData.dataJson[strValue][parentKey].toString();\n if (pId !== strTopPValue) {\n const pArr = _recursionParentIds(pId, visited);\n arr = arr.concat(pArr);\n }\n }\n return arr;\n};\n\nconst _getParentIds = (value: any) => {\n const parentArr = _recursionParentIds(value);\n parentArr.splice(0, 1);\n parentArr.reverse();\n return parentArr;\n};\n\nconst _recursionChildIds = (value: any, visited?: Set<string>): string[] => {\n let arr: string[] = [];\n const strValue = CommonBase.isEmpty(value) ? '' : value.toString();\n if (visited === undefined) {\n visited = new Set<string>();\n }\n if (!visited.has(strValue)) {\n visited.add(strValue);\n arr.push(strValue);\n if (_checkIsChildren(strValue)) {\n _getDataGroup(strValue).forEach((pInfo: any) => {\n const cId = pInfo.id.toString();\n const cArr = _recursionChildIds(cId, visited);\n arr = arr.concat(cArr);\n });\n }\n }\n return arr;\n};\n\nconst _getChildIds = (value: any) => {\n const childArr = _recursionChildIds(value);\n childArr.splice(0, 1);\n return childArr;\n};\n\nconst _getParentSelectAndUn = (\n currentId: string,\n selectedIds?: any,\n selectedUnIds?: any,\n isForceCheck?: boolean,\n) => {\n const select: any = { add: [] as string[], del: [] as string[] };\n const selectUn: any = { add: [] as string[], del: [] as string[] };\n // 未传数组时克隆全局状态(onSelect 场景防副作用);已传数组时直接用引用(_initSelectAndUn 累积场景,消除 O(n²) 克隆)\n let arrSelect = CommonBase.isUndefined(selectedIds)\n ? CommonBase.getArrClone(optBase.selectedIds)\n : selectedIds;\n let arrSelectUn = CommonBase.isUndefined(selectedUnIds)\n ? CommonBase.getArrClone(optBase.selectedUnIds)\n : selectedUnIds;\n\n const currentIdInx = arrSelect.indexOf(currentId);\n if (isForceCheck) {\n // 初始化/重放场景:只加不删(重复 id 触发取消由 onSelect 交互承担,重放不做 toggle)\n if (currentIdInx === -1) {\n arrSelect.push(currentId);\n }\n } else if (currentIdInx === -1) {\n arrSelect.push(currentId);\n } else {\n arrSelect.splice(currentIdInx, 1);\n }\n arrSelectUn = CommonBase.getArrRemoveById(arrSelectUn, currentId);\n\n const parentIds = _getParentIds(currentId);\n parentIds.reverse();\n if (parentIds.length > 0) {\n parentIds.forEach((id: string) => {\n let childSelect = 0;\n let childSelectUn = 0;\n _pageData.dataGroup[id].forEach((cInfo: any) => {\n const strCId = cInfo.id.toString();\n if (CommonBase.isExistValue(arrSelect, strCId)) {\n childSelect += 1;\n }\n if (CommonBase.isExistValue(arrSelectUn, strCId)) {\n childSelectUn += 1;\n }\n });\n const cTotal = _pageData.dataGroup[id].length;\n if (childSelect === 0 && childSelectUn === 0) {\n select.del.push(id);\n arrSelect = CommonBase.getArrRemoveById(arrSelect, id);\n\n selectUn.del.push(id);\n arrSelectUn = CommonBase.getArrRemoveById(arrSelectUn, id);\n } else {\n if (childSelect === cTotal) {\n select.add.push(id);\n arrSelect.push(id);\n\n selectUn.del.push(id);\n arrSelectUn = CommonBase.getArrRemoveById(arrSelectUn, id);\n } else {\n select.del.push(id);\n arrSelect = CommonBase.getArrRemoveById(arrSelect, id);\n\n selectUn.add.push(id);\n arrSelectUn.push(id);\n }\n }\n });\n }\n return { select, selectUn };\n};\n\nconst _getLastChildIds = (id: string, visited?: Set<string>): string[] => {\n let arr: string[] = [];\n if (visited === undefined) {\n visited = new Set<string>();\n }\n if (\n CommonBase.isExistJsonKey(_pageData.childLastIdsJson, id) &&\n _pageData.childLastIdsJson[id].length > 0\n ) {\n arr = _pageData.childLastIdsJson[id];\n } else {\n // 环检测放在缓存检查之后:DAG 数据(多父共享子节点)命中缓存直接返回,不受 visited 影响\n if (visited.has(id)) {\n return arr; // 环检测:父级已展开过则终止递归\n }\n if (_checkIsChildren(id)) {\n visited.add(id);\n _getDataGroup(id).forEach((info: any) => {\n const tempIds = _getLastChildIds(info.id.toString(), visited);\n if (tempIds.length > 0) {\n arr = arr.concat(tempIds);\n }\n });\n } else {\n arr.push(id);\n }\n _pageData.childLastIdsJson[id] = arr;\n }\n return arr;\n};\n\nconst _getMergeParentRecursionData = (ids: string[], visited?: Set<string>): any => {\n const { parentKey, topParentValue } = props;\n const strTopPValue = CommonBase.isNonEmptyString(topParentValue) ? topParentValue : '0';\n const parent: any = {};\n const merge: string[] = [];\n let single: any = [];\n if (visited === undefined) {\n visited = new Set<string>();\n }\n ids.forEach(id => {\n const info = _getDataInfo(id);\n if (!CommonBase.isUndefined(info)) {\n const parentId = info[parentKey].toString();\n if (parentId === strTopPValue) {\n single.push(id);\n } else {\n if (!CommonBase.isExistJsonKey(parent, parentId)) {\n parent[parentId] = [];\n }\n parent[parentId].push(id);\n }\n }\n });\n if (!CommonBase.isEmpty(parent)) {\n for (const [pk, pv] of Object.entries(parent)) {\n if ((pv as any).length === _getDataGroup(pk).length) {\n merge.push(pk);\n } else {\n single = single.concat(pv);\n }\n }\n }\n if (merge.length > 0) {\n single.push(...merge);\n const nextValue = CommonBase.getArrUnique(single);\n // 环检测:本次上推的父级全部已在 visited 中 → 终止递归(脏数据防栈溢出,与 _recursionListLevel 等一致)\n const hasNew = merge.some((id: string) => !visited.has(id));\n merge.forEach((id: string) => visited.add(id));\n if (hasNew) {\n return _getMergeParentRecursionData(nextValue, visited);\n }\n return single;\n } else {\n return single;\n }\n};\n\nconst _getValueMergeParent = (ids: any) => {\n const cIds: string[] = [];\n const jsonIds = CommonBase.getArrConvertJson(ids);\n ids.forEach((id: string) => {\n const dataGroup = _getDataGroup(id);\n if (CommonBase.isEmpty(dataGroup)) {\n cIds.push(id);\n } else {\n const tempFilterList: any[] = [];\n dataGroup.forEach((cInfo: any) => {\n if (CommonBase.isExistJsonKey(jsonIds, cInfo.id.toString())) {\n tempFilterList.push(cInfo.id);\n }\n });\n if (dataGroup.length !== tempFilterList.length) {\n cIds.push(id);\n }\n }\n });\n const newSelectIds = _getMergeParentRecursionData(cIds);\n return newSelectIds;\n};\n\nconst _getValueSplitChild = (ids: any) => {\n let newSelectIds: string[] = [];\n ids.forEach((id: string) => {\n const cIds = _getLastChildIds(id);\n newSelectIds.push(...cIds);\n });\n newSelectIds = CommonBase.getArrUnique(newSelectIds);\n return newSelectIds;\n};\n\nconst _getOutValue = (ids: any, isMerge?: any) => {\n if (props.multiple) {\n const isMergeNew = CommonBase.isBoolean(isMerge) ? isMerge : props.isOutMerge;\n return isMergeNew ? _getValueMergeParent(ids) : _getValueSplitChild(ids);\n } else {\n return ids;\n }\n};\n\nconst _getValueData = (ids: any) => {\n const list: any = [];\n ids.forEach((id: string) => {\n const info = _getDataInfo(id);\n if (!CommonBase.isUndefined(info)) {\n list.push(info);\n }\n });\n return list;\n};\n\nconst _initSelectAndUn = (value: string[]) => {\n // 单选契约:多值 value 仅取首项,避免输出逗号多值\n const validValue = props.multiple ? value : value.slice(0, 1);\n let tempSelect: string[] = [];\n let tempUn: string[] = [];\n validValue.forEach((v: string) => {\n const info = _getDataInfo(v);\n if (!CommonBase.isUndefined(info)) {\n // 引用累积 + isForceCheck:只加不删,重复 push 由下方 getArrUnique 兜底去重\n const parentInfo = _getParentSelectAndUn(v, tempSelect, tempUn, true);\n tempSelect = CommonBase.getArrRemoveById(tempSelect, parentInfo.select.del);\n if (parentInfo.select.add.length > 0) {\n tempSelect.push(...parentInfo.select.add);\n }\n tempUn = CommonBase.getArrRemoveById(tempUn, parentInfo.selectUn.del);\n if (parentInfo.selectUn.add.length > 0) {\n tempUn.push(...parentInfo.selectUn.add);\n }\n\n const childIds = _getChildIds(v);\n tempSelect.push(...childIds);\n\n tempSelect.push(v);\n\n tempSelect = CommonBase.getArrUnique(tempSelect);\n tempUn = CommonBase.getArrUnique(tempUn);\n }\n });\n optBase.selectedIds = tempSelect;\n const newUn = CommonBase.getArrRemoveById(tempUn, tempSelect);\n optBase.selectedUnIds = CommonBase.getArrClone(newUn);\n\n // 与已有展开态合并(保留用户手动展开/收起),不覆盖\n optBase.firstOpenIds = CommonBase.getArrUnique(optBase.firstOpenIds.concat(newUn));\n optBase.openParentIds = CommonBase.getArrUnique(optBase.openParentIds.concat(newUn));\n};\n\nconst _initMain = () => {\n _convertData(props.list);\n if (CommonBase.isNonEmptyString(props.value)) {\n const arrIds = props.value.split(',');\n _initSelectAndUn(arrIds);\n }\n _emitInitComplete();\n};\n\nonMounted(() => {\n nextTick(() => {\n _initMain();\n });\n});\n\nwatch(\n () => props.list,\n newList => {\n _convertData(newList);\n const oldSelectedId = optBase.selectedIds;\n // 合并 value prop 中的 id(父组件可能异步回显 value,重放缺口:仅按旧选中重放会丢 value 里的新 id)\n const valueIds = CommonBase.isNonEmptyString(props.value) ? props.value.split(',') : [];\n optBase.selectedIds = [];\n _initSelectAndUn(CommonBase.getArrUnique(oldSelectedId.concat(valueIds)));\n // 重放后输出与 value prop 不一致(悬空 id 被过滤)→ 回写同步契约\n const outValue = _getOutValue(optBase.selectedIds);\n if (outValue.join(',') !== props.value) {\n _emitModelValue(outValue.join(','));\n }\n },\n);\n\nwatch(\n () => props.value,\n newValue => {\n if (newValue !== undefined) {\n // undefined 跳过;null 与 '' 一致走清空分支\n const oldSelectedId = optBase.selectedIds;\n const ids = CommonBase.isNonEmptyString(newValue) ? newValue.split(',') : [];\n const newOutValue = _getOutValue(ids);\n const oldOutValue = _getOutValue(oldSelectedId);\n const isEqual = CommonBase.isEqualArr(newOutValue, oldOutValue);\n if (!isEqual) {\n optBase.selectedIds = [];\n _initSelectAndUn(ids);\n }\n }\n },\n);\n\nconst _applySearchFold = () => {\n // 先撤销上次搜索折叠链,再追加本次\"可点开但折叠\"的父级(进结构 firstOpenIds,不进展开 openParentIds),保留用户手动展开\n const prevFold = CommonBase.isNonEmptyString(_pageData.prevSearchFoldParentIds)\n ? _pageData.prevSearchFoldParentIds.split(',')\n : [];\n optBase.firstOpenIds = CommonBase.getArrRemoveById(optBase.firstOpenIds, prevFold);\n const newFold = CommonBase.isNonEmptyString(props.searchFoldParentIds)\n ? props.searchFoldParentIds.split(',')\n : [];\n newFold.forEach((id: string) => {\n const strId = id.toString();\n if (optBase.firstOpenIds.indexOf(strId) === -1) {\n optBase.firstOpenIds.push(strId);\n }\n });\n _pageData.prevSearchFoldParentIds = CommonBase.isNonEmptyString(props.searchFoldParentIds)\n ? props.searchFoldParentIds\n : '';\n};\n\nconst _applySearchOpen = () => {\n // 先撤销上次搜索展开链,再追加本次需展开显示的祖先链(firstOpenIds + openParentIds),保留用户手动展开\n const prevOpen = CommonBase.isNonEmptyString(_pageData.prevSearchOpenParentIds)\n ? _pageData.prevSearchOpenParentIds.split(',')\n : [];\n optBase.firstOpenIds = CommonBase.getArrRemoveById(optBase.firstOpenIds, prevOpen);\n optBase.openParentIds = CommonBase.getArrRemoveById(optBase.openParentIds, prevOpen);\n const newOpen = CommonBase.isNonEmptyString(props.searchOpenParentIds)\n ? props.searchOpenParentIds.split(',')\n : [];\n newOpen.forEach((id: string) => {\n const strId = id.toString();\n if (optBase.firstOpenIds.indexOf(strId) === -1) {\n optBase.firstOpenIds.push(strId);\n }\n if (optBase.openParentIds.indexOf(strId) === -1) {\n optBase.openParentIds.push(strId);\n }\n });\n _pageData.prevSearchOpenParentIds = CommonBase.isNonEmptyString(props.searchOpenParentIds)\n ? props.searchOpenParentIds\n : '';\n};\n\nwatch(\n () => props.searchOpenParentIds,\n () => _applySearchOpen(),\n);\n\nwatch(\n () => props.searchFoldParentIds,\n () => _applySearchFold(),\n);\n\n// 搜索关键词变化时重算节点文本高亮(清空搜索也走这里,还原纯文本)\nconst _recomputeHighlight = (list: any[]) => {\n if (!Array.isArray(list)) {\n return;\n }\n list.forEach((item: any) => {\n if (!item) {\n return;\n }\n const isHighl = !CommonBase.isEmpty(props.searchKeyword) && !CommonBase.isEmpty(props.highlightMode);\n item.showTextLabelHtml = isHighl;\n item.showTextLabel = isHighl\n ? _getHighlightHtml(CommonBase.isString(item.name) ? item.name : '')\n : (CommonBase.isString(item.name) ? item.name : '');\n if (Array.isArray(item.list)) {\n _recomputeHighlight(item.list);\n }\n });\n};\n\nwatch(\n () => [props.searchKeyword, props.highlightMode, props.highlightColor],\n () => _recomputeHighlight(optBase.list),\n);\n\nconst onShrink = (id: any) => {\n const strId = id.toString();\n if (!CommonBase.isExistValue(optBase.firstOpenIds, strId)) {\n optBase.firstOpenIds.push(strId);\n }\n nextTick(() => {\n const inx = optBase.openParentIds.indexOf(strId);\n if (inx === -1) {\n optBase.openParentIds.push(strId);\n } else {\n optBase.openParentIds.splice(inx, 1);\n }\n });\n};\n\nconst onSelect = (id: any) => {\n const strId = id.toString();\n if (props.multiple) {\n const checkedInx = optBase.selectedIds.indexOf(strId);\n const isChecked = checkedInx === -1;\n const childIds = _getChildIds(strId);\n const parentInfo = _getParentSelectAndUn(strId);\n let arrSelect = CommonBase.getArrClone(optBase.selectedIds);\n let arrSelectUn = CommonBase.getArrClone(optBase.selectedUnIds);\n\n parentInfo.select.del.forEach((sdId: string) => {\n const sdInx = arrSelect.indexOf(sdId);\n if (sdInx > -1) {\n arrSelect.splice(sdInx, 1);\n }\n });\n if (parentInfo.select.add.length > 0) {\n arrSelect = arrSelect.concat(parentInfo.select.add);\n arrSelect = CommonBase.getArrUnique(arrSelect);\n }\n\n parentInfo.selectUn.del.forEach((sdId: string) => {\n const sdInx = arrSelectUn.indexOf(sdId);\n if (sdInx > -1) {\n arrSelectUn.splice(sdInx, 1);\n }\n });\n if (parentInfo.selectUn.add.length > 0) {\n arrSelectUn = arrSelectUn.concat(parentInfo.selectUn.add);\n arrSelectUn = CommonBase.getArrUnique(arrSelectUn);\n }\n\n if (childIds.length > 0) {\n childIds.forEach(cId => {\n const scInx = arrSelect.indexOf(cId);\n const sucInx = arrSelectUn.indexOf(cId);\n if (isChecked) {\n if (scInx === -1) {\n arrSelect.push(cId);\n }\n } else {\n if (scInx > -1) {\n arrSelect.splice(scInx, 1);\n }\n }\n if (sucInx > -1) {\n arrSelectUn.splice(sucInx, 1);\n }\n });\n }\n\n const ckInx = arrSelect.indexOf(strId);\n if (ckInx > -1) {\n arrSelect.splice(ckInx, 1);\n } else {\n arrSelect.push(strId);\n }\n const ckUnInx = arrSelectUn.indexOf(strId);\n if (ckUnInx > -1) {\n arrSelectUn.splice(ckUnInx, 1);\n }\n optBase.selectedIds = arrSelect;\n optBase.selectedUnIds = arrSelectUn;\n } else {\n optBase.selectedIds = [strId];\n optBase.selectedUnIds = [];\n }\n const arrValue = _getOutValue(optBase.selectedIds);\n _emitChange(arrValue.join(','), _getValueData(arrValue));\n};\n\nprovide('$TreeTop', {\n isCheckChildren: _checkIsChildren,\n});\n\nconst getValue = () => {\n const arrValue = _getOutValue(optBase.selectedIds);\n return arrValue.join(',');\n};\n\nconst getValueData = () => {\n const arrValue = _getOutValue(optBase.selectedIds);\n return _getValueData(arrValue);\n};\n\nconst setValue = (value: string) => {\n const arrIds = CommonBase.isNonEmptyString(value) ? value.split(',') : [];\n optBase.selectedIds = [];\n _initSelectAndUn(arrIds);\n};\n\nexport interface ClTreeExpose {\n getValue: () => string;\n getValueData: () => any[];\n setValue: (value: string) => void;\n}\n\ndefineExpose({\n getValue,\n getValueData,\n setValue,\n});\n</script>\n"],"names":["DB_CLICK_DELAY","props","__props","emit","__emit","_keyIndex","CommonBase","_isTreeTopWarned","_selfTop","inject","_pageData","firstOpenIdSet","computed","selectIdSet","selectUnIdSet","openIdSet","_emitSelect","id","_emitShrink","_getIdStr","itemInfo","_getCheckState","clsLiFun","clsTemp","strId","isOpen","clsLabelFun","onBeforeUnmount","onClickShrink","info","onClickCheckbox","onClickText","isRun","onClickTextDbl","onRecursionSelect","onRecursionShrink","_openBlock","_createElementBlock","_hoisted_1","_Fragment","_renderList","item","rIndex","_normalizeClass","_createElementVNode","_withModifiers","$event","_withKeys","_hoisted_6","_toDisplayString","_createBlock","ClTransitionSlideupdown","_createVNode","ClTreeUl","_vShow","elId","optBase","reactive","optSubUnit","clsParent","CommonElement","_emitModelValue","value","_emitChange","data","_emitInitComplete","nextTick","_checkIsChildren","idStr","_getDataGroup","_getDataInfo","_recursionListLevel","parentId","level","visited","list","newLevel","newInfo","isExistChild","_escapeHtmlText","text","_getHighlightHtml","keyword","mode","color","markText","raw","inx","pre","hit","post","_convertData","parentKey","topParentValue","strTopPValue","json","group","isHighl","isIdValid","isPIdValid","pId","_recursionParentIds","arr","strValue","pArr","_getParentIds","parentArr","_recursionChildIds","pInfo","cId","cArr","_getChildIds","childArr","_getParentSelectAndUn","currentId","selectedIds","selectedUnIds","isForceCheck","select","selectUn","arrSelect","arrSelectUn","currentIdInx","parentIds","childSelect","childSelectUn","cInfo","strCId","cTotal","_getLastChildIds","tempIds","_getMergeParentRecursionData","ids","parent","merge","single","pk","pv","nextValue","hasNew","_getValueMergeParent","cIds","jsonIds","dataGroup","tempFilterList","_getValueSplitChild","newSelectIds","_getOutValue","isMerge","_getValueData","_initSelectAndUn","validValue","tempSelect","tempUn","v","parentInfo","childIds","newUn","_initMain","arrIds","onMounted","watch","newList","oldSelectedId","valueIds","outValue","newValue","newOutValue","oldOutValue","_applySearchFold","prevFold","_applySearchOpen","prevOpen","_recomputeHighlight","onShrink","onSelect","isChecked","sdId","sdInx","scInx","sucInx","ckInx","ckUnInx","arrValue","provide","__expose","_unref","_mergeProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Index.vue_vue_type_script_setup_true_lang-yahz6Ej5.js","sources":["../../../src/libs/Web/Tree/Ul.vue","../../../src/libs/Web/Tree/Index.vue"],"sourcesContent":["<template>\n <ul class=\"tree-ul\">\n <li\n v-for=\"(item, rIndex) in list\"\n :key=\"`${_keyIndex}-${item.id}-${rIndex}`\"\n :class=\"clsLiFun(item)\"\n >\n <i\n class=\"tree-shrink\"\n @click.stop=\"onClickShrink(item)\"\n ></i>\n <span :class=\"clsLabelFun(item)\">\n <i\n v-if=\"multiple\"\n class=\"tree-node-checkbox\"\n role=\"checkbox\"\n :aria-checked=\"_getCheckState(item)\"\n @click.stop=\"onClickCheckbox(item)\"\n ></i>\n <template v-else></template>\n <a\n href=\"javascript:\"\n :tabindex=\"disabled ? -1 : 0\"\n :aria-disabled=\"disabled\"\n @click.stop=\"onClickText(item)\"\n @dblclick.stop=\"onClickTextDbl(item)\"\n @keydown.enter.prevent=\"onClickText(item)\"\n >\n <span\n v-if=\"item.showTextLabelHtml\"\n v-html=\"item.showTextLabel\"\n ></span>\n <span v-else>{{ item.showTextLabel }}</span>\n </a>\n </span>\n\n <template v-if=\"firstOpenIdSet.has(_getIdStr(item))\">\n <cl-transition-slideupdown>\n <cl-tree-ul\n v-show=\"openIdSet.has(_getIdStr(item))\"\n :list=\"item.list\"\n :multiple=\"multiple\"\n :isSingleSelectParent=\"isSingleSelectParent\"\n :disabled=\"disabled\"\n :firstOpenIds=\"firstOpenIds\"\n :openIds=\"openIds\"\n :selectIds=\"selectIds\"\n :selectUnIds=\"selectUnIds\"\n @onSelect=\"onRecursionSelect\"\n @onShrink=\"onRecursionShrink\"\n ></cl-tree-ul>\n </cl-transition-slideupdown>\n </template>\n <template v-else></template>\n </li>\n </ul>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, inject, onBeforeUnmount } from 'vue';\nimport CommonBase from '../../Common/base';\nimport ClTreeUl from './Ul.vue';\nimport ClTransitionSlideupdown from '../../Element/Transition/SlideUpDown.vue';\nimport './css/Ul.css';\n\ninterface TreeTop {\n isCheckChildren: (id: any) => boolean;\n}\n\ndefineOptions({ name: 'ClTreeUl' });\n\nconst props = defineProps({\n list: {\n type: Array as () => any[],\n default: () => [], // desc: 数据列表\n },\n multiple: {\n type: Boolean,\n default: false, // desc: 是否多选\n },\n isSingleSelectParent: {\n type: Boolean,\n default: false, // desc: 单选时是否可选择父级\n },\n disabled: {\n type: Boolean,\n default: false, // desc: 是否禁用\n },\n firstOpenIds: {\n type: Array as () => string[],\n default: () => [], // desc: 首次展开的节点\n },\n openIds: {\n type: Array as () => string[],\n default: () => [], // desc: 展开的节点\n },\n selectIds: {\n type: Array as () => string[],\n default: () => [], // desc: 选中的节点\n },\n selectUnIds: {\n type: Array as () => string[],\n default: () => [], // desc: 半选状态的节点\n },\n});\n\nconst emit = defineEmits<{\n (e: 'onSelect', id: string): void; // desc: 节点选中\n (e: 'onShrink', id: string): void; // desc: 节点收缩\n}>();\n\n// kb: Enter 选中节点(获取焦点后生效,走 onClickText 防抖逻辑)\n\nconst _keyIndex = `tree-${CommonBase.getRandom(5)}`;\n\nconst DB_CLICK_DELAY = 170;\n\nlet _isTreeTopWarned = false;\n\nconst _selfTop = inject<TreeTop>('$TreeTop', {\n isCheckChildren: () => {\n if (!_isTreeTopWarned) {\n _isTreeTopWarned = true;\n console.warn('ClTreeUl:未检测到 ClTree 容器提供 $TreeTop,子级判断降级为 false');\n }\n return false;\n },\n});\n\nconst _pageData: any = {\n dbClickTimeOut: null as number | null,\n};\n\n// 选中/展开态 Set 化:避免 v-for 逐节点 indexOf 线性查找(O(n²) → O(1))\nconst firstOpenIdSet = computed(() => new Set(props.firstOpenIds));\nconst selectIdSet = computed(() => new Set(props.selectIds));\nconst selectUnIdSet = computed(() => new Set(props.selectUnIds));\nconst openIdSet = computed(() => new Set(props.openIds));\n\nconst _emitSelect = (id: any) => {\n if (CommonBase.isUndefined(id)) {\n return; // 缺 id 数据项不触发选中\n }\n emit('onSelect', id.toString());\n};\n\nconst _emitShrink = (id: any) => {\n if (CommonBase.isUndefined(id)) {\n return; // 缺 id 数据项不触发收缩\n }\n emit('onShrink', id.toString());\n};\n\nconst _getIdStr = (itemInfo: any) => {\n return CommonBase.isUndefined(itemInfo.id) ? '' : itemInfo.id.toString();\n};\n\nconst _getCheckState = (itemInfo: any) => {\n const id = _getIdStr(itemInfo);\n if (selectIdSet.value.has(id)) {\n return 'true';\n }\n if (selectUnIdSet.value.has(id)) {\n return 'mixed';\n }\n return 'false';\n};\n\nconst clsLiFun = (itemInfo: any) => {\n const clsTemp: Record<string, boolean> = {\n 'tree-node': true,\n };\n clsTemp['tree-node-end'] = itemInfo.isEnd;\n if (!itemInfo.isEnd) {\n const strId = CommonBase.isUndefined(itemInfo.id) ? '' : itemInfo.id.toString();\n const isOpen = openIdSet.value.has(strId);\n clsTemp['tree-node-open'] = isOpen;\n clsTemp['tree-node-closed'] = !isOpen;\n }\n return clsTemp;\n};\n\nconst clsLabelFun = (itemInfo: any) => {\n const id = CommonBase.isUndefined(itemInfo.id) ? '' : itemInfo.id.toString();\n const clsTemp: Record<string, boolean> = {\n 'tree-node-text': true,\n };\n clsTemp['tree-node-select'] = selectIdSet.value.has(id);\n clsTemp['tree-node-selectUn'] = selectUnIdSet.value.has(id);\n return clsTemp;\n};\n\nonBeforeUnmount(() => {\n if (_pageData.dbClickTimeOut) {\n window.clearTimeout(_pageData.dbClickTimeOut);\n }\n});\n\nconst onClickShrink = (info: any) => {\n if (props.disabled) return;\n window.clearTimeout(_pageData.dbClickTimeOut);\n _emitShrink(info.id);\n};\n\nconst onClickCheckbox = (info: any) => {\n if (props.disabled) return;\n window.clearTimeout(_pageData.dbClickTimeOut);\n _emitSelect(info.id);\n};\n\nconst onClickText = (info: any) => {\n if (props.disabled) return;\n if (_selfTop.isCheckChildren(info.id)) {\n let isRun = true;\n if (!props.multiple && !props.isSingleSelectParent) {\n isRun = false;\n }\n if (isRun) {\n window.clearTimeout(_pageData.dbClickTimeOut);\n _pageData.dbClickTimeOut = window.setTimeout(() => {\n if (!props.disabled) {\n _emitSelect(info.id);\n }\n }, DB_CLICK_DELAY);\n } else {\n // 单选不可选父级:清除 pending 防抖,避免模式切换瞬间迟到触发选中\n window.clearTimeout(_pageData.dbClickTimeOut);\n }\n } else {\n // 叶子路径与父级统一走防抖:双击叶子不再触发「选中→取消」竞态\n window.clearTimeout(_pageData.dbClickTimeOut);\n _pageData.dbClickTimeOut = window.setTimeout(() => {\n if (!props.disabled) {\n _emitSelect(info.id);\n }\n }, DB_CLICK_DELAY);\n }\n};\n\nconst onClickTextDbl = (info: any) => {\n if (props.disabled) return;\n if (_selfTop.isCheckChildren(info.id)) {\n if (_pageData.dbClickTimeOut) {\n window.clearTimeout(_pageData.dbClickTimeOut);\n }\n _emitShrink(info.id);\n }\n};\n\nconst onRecursionSelect = (id: string) => {\n _emitSelect(id);\n};\n\nconst onRecursionShrink = (id: string) => {\n _emitShrink(id);\n};\n</script>\n","<template>\n <div\n :class=\"clsParent\"\n :id=\"elId\"\n >\n <cl-tree-ul\n v-if=\"optBase.list.length > 0\"\n :list=\"optBase.list\"\n :firstOpenIds=\"optBase.firstOpenIds\"\n :openIds=\"optBase.openParentIds\"\n :selectIds=\"optBase.selectedIds\"\n :selectUnIds=\"optBase.selectedUnIds\"\n v-bind=\"optSubUnit\"\n @onSelect=\"onSelect\"\n @onShrink=\"onShrink\"\n ></cl-tree-ul>\n <template v-else></template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { provide, onMounted, nextTick, watch, computed, reactive } from 'vue';\nimport CommonBase from '../../Common/base';\nimport CommonElement from '../../Common/Element/index';\nimport ClTreeUl from './Ul.vue';\nimport './index.css';\n\ndefineOptions({ name: 'ClTree' });\n\nconst props = defineProps({\n id: String, // desc: 唯一标识\n value: String, // desc: 选中值\n className: String, // desc: 自定义CSS类名\n disabled: {\n type: Boolean,\n default: false, // desc: 是否禁用\n },\n list: {\n type: Array as () => any[],\n default: () => [], // desc: 数据列表\n },\n multiple: {\n type: Boolean,\n default: false, // desc: 是否多选\n },\n isSingleSelectParent: {\n type: Boolean,\n default: false, // desc: 单选时是否可选择父级\n },\n isOutMerge: {\n type: Boolean,\n default: true, // desc: 是否合并父级输出\n },\n parentKey: {\n type: String,\n default: 'parentId', // desc: 父级字段名\n },\n topParentValue: {\n type: String,\n default: '0', // desc: 顶级父级值\n },\n searchOpenParentIds: {\n type: String,\n default: '', // desc: 搜索联动需展开显示的父级 id 集合(逗号分隔),清空时自动还原\n },\n searchFoldParentIds: {\n type: String,\n default: '', // desc: 搜索联动需可点开但默认折叠的父级 id 集合(逗号分隔),清空时自动还原\n },\n searchKeyword: {\n type: String,\n default: '', // desc: 搜索关键词,非空时对节点文本命中的内容高亮\n },\n highlightMode: {\n type: String,\n default: '', // desc: 搜索高亮模式 | enum: full, whole\n },\n highlightColor: {\n type: String,\n default: '', // desc: 搜索高亮背景色;空则使用默认高亮样式\n },\n});\n\nconst emit = defineEmits<{\n (e: 'update:value', value: string): void; // desc: 值更新\n (e: 'onChange', value: string, data: any): void; // desc: 选中变化\n (e: 'onInit'): void; // desc: 初始化完成\n}>();\n\nconst elId = props.id; // || `tree-${CommonBase.getRandom(8)}`\n\nconst optBase: any = reactive({\n firstOpenIds: [] as string[],\n openParentIds: [] as string[],\n selectedIds: [] as string[],\n selectedUnIds: [] as string[],\n list: [] as any[],\n});\n\nconst _pageData: any = {\n dataJson: {},\n dataGroup: {},\n childLastIdsJson: {},\n prevSearchOpenParentIds: '',\n prevSearchFoldParentIds: '',\n};\n\nconst optSubUnit = computed(() => {\n return {\n multiple: props.multiple,\n disabled: props.disabled,\n isSingleSelectParent: props.isSingleSelectParent,\n };\n});\n\nconst clsParent = computed(() => {\n return CommonBase.getJsonMerge(\n { 'panel-tree': true },\n CommonElement.getClassNameJson(props.className),\n );\n});\n\nconst _emitModelValue = (value: string) => {\n emit('update:value', value);\n};\n\nconst _emitChange = (value: string, data: any) => {\n _emitModelValue(value);\n emit('onChange', value, data);\n};\n\nconst _emitInitComplete = () => {\n nextTick(() => {\n emit('onInit');\n });\n};\n\nconst _checkIsChildren = (id: any) => {\n const idStr = CommonBase.isUndefined(id) ? '' : id.toString();\n return CommonBase.isExistJsonKey(_pageData.dataGroup, idStr);\n};\n\nconst _getDataGroup = (id: any) => {\n const idStr = CommonBase.isUndefined(id) ? '' : id.toString();\n return _checkIsChildren(idStr) ? _pageData.dataGroup[idStr] : [];\n};\n\nconst _getDataInfo = (id: any) => {\n const idStr = id.toString();\n return CommonBase.isExistJsonKey(_pageData.dataJson, idStr) ? _pageData.dataJson[idStr] : null;\n};\n\nconst _recursionListLevel = (parentId: string, level: number, visited?: Set<string>): any[] => {\n const list: any[] = [];\n const newLevel = level + 1;\n if (visited === undefined) {\n visited = new Set<string>();\n }\n if (visited.has(parentId)) {\n return list; // 环检测:父级已展开过则终止递归\n }\n visited.add(parentId);\n _getDataGroup(parentId).forEach((info: any) => {\n const newInfo = { ...info } as any;\n const id = newInfo.id.toString();\n const isExistChild = _checkIsChildren(id);\n newInfo.isEnd = !isExistChild;\n newInfo.level = newLevel;\n if (isExistChild) {\n newInfo.list = _recursionListLevel(id, newLevel, visited);\n }\n list.push(newInfo);\n });\n return list;\n};\n\nconst _escapeHtmlText = (text: string) =>\n text.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');\n\nconst _getHighlightHtml = (text: string): string => {\n const keyword = props.searchKeyword;\n const mode = props.highlightMode;\n if (!CommonBase.isNonEmptyString(text) || CommonBase.isEmpty(keyword)) {\n return _escapeHtmlText(String(text));\n }\n const color = CommonBase.isNonEmptyString(props.highlightColor)\n ? props.highlightColor\n : '#ffe58f';\n const markText = (raw: string) => `<mark style=\"background:${color}\">${_escapeHtmlText(raw)}</mark>`;\n // full 模式:只要显示文本命中关键词,整条文本整体背景高亮\n if (mode === 'full') {\n if (text.includes(keyword)) {\n return markText(text);\n }\n return _escapeHtmlText(text);\n }\n // whole 模式:命中的整段关键词整体背景高亮,取首次命中\n const inx = text.indexOf(keyword);\n if (inx === -1) {\n return _escapeHtmlText(text);\n }\n const pre = _escapeHtmlText(text.slice(0, inx));\n const hit = markText(text.slice(inx, inx + keyword.length));\n const post = _escapeHtmlText(text.slice(inx + keyword.length));\n return `${pre}${hit}${post}`;\n};\n\nconst _convertData = (list: any[]) => {\n const { parentKey, topParentValue } = props;\n const strTopPValue = CommonBase.isNonEmptyString(topParentValue) ? topParentValue : '0';\n const json: any = {};\n const group: any = {};\n if (!CommonBase.isEmpty(list)) {\n list.forEach((info: any) => {\n const newInfo = CommonBase.getJsonClone(info);\n // 搜索关键词与高亮模式均非空时才高亮(highlightMode 控制开关),无关键词/未启用保持纯文本,向后兼容\n const isHighl = !CommonBase.isEmpty(props.searchKeyword) && !CommonBase.isEmpty(props.highlightMode);\n newInfo.showTextLabelHtml = isHighl;\n newInfo.showTextLabel = isHighl\n ? _getHighlightHtml(CommonBase.isString(newInfo.name) ? newInfo.name : '')\n : (CommonBase.isString(newInfo.name) ? newInfo.name : '');\n // isFinite 为宽松实现(Number() 转换,isFinite(null)=true),数字分支必须叠加 typeof 严格检查\n const isIdValid =\n CommonBase.isString(newInfo.id) ||\n (typeof newInfo.id === 'number' && CommonBase.isFinite(newInfo.id));\n const isPIdValid =\n CommonBase.isString(newInfo[parentKey]) ||\n (typeof newInfo[parentKey] === 'number' && CommonBase.isFinite(newInfo[parentKey]));\n if (!isIdValid || !isPIdValid) {\n return; // 跳过缺失或类型异常(对象/布尔/null)的核心字段数据项\n }\n const id = newInfo.id.toString();\n const pId = newInfo[parentKey].toString();\n json[id] = newInfo;\n if (!CommonBase.isExistJsonKey(group, pId)) {\n group[pId] = [];\n }\n group[pId].push(newInfo);\n });\n }\n _pageData.dataJson = json;\n _pageData.dataGroup = group;\n _pageData.childLastIdsJson = {};\n optBase.list = _recursionListLevel(strTopPValue, 0);\n};\n\nconst _recursionParentIds = (value: any, visited?: Set<string>): string[] => {\n let arr: string[] = [];\n const { parentKey, topParentValue } = props;\n const strTopPValue = CommonBase.isNonEmptyString(topParentValue) ? topParentValue : '0';\n const strValue = CommonBase.isEmpty(value) ? '' : value.toString();\n if (visited === undefined) {\n visited = new Set<string>();\n }\n if (CommonBase.isExistJsonKey(_pageData.dataJson, strValue) && !visited.has(strValue)) {\n visited.add(strValue);\n arr.push(strValue);\n const pId = _pageData.dataJson[strValue][parentKey].toString();\n if (pId !== strTopPValue) {\n const pArr = _recursionParentIds(pId, visited);\n arr = arr.concat(pArr);\n }\n }\n return arr;\n};\n\nconst _getParentIds = (value: any) => {\n const parentArr = _recursionParentIds(value);\n parentArr.splice(0, 1);\n parentArr.reverse();\n return parentArr;\n};\n\nconst _recursionChildIds = (value: any, visited?: Set<string>): string[] => {\n let arr: string[] = [];\n const strValue = CommonBase.isEmpty(value) ? '' : value.toString();\n if (visited === undefined) {\n visited = new Set<string>();\n }\n if (!visited.has(strValue)) {\n visited.add(strValue);\n arr.push(strValue);\n if (_checkIsChildren(strValue)) {\n _getDataGroup(strValue).forEach((pInfo: any) => {\n const cId = pInfo.id.toString();\n const cArr = _recursionChildIds(cId, visited);\n arr = arr.concat(cArr);\n });\n }\n }\n return arr;\n};\n\nconst _getChildIds = (value: any) => {\n const childArr = _recursionChildIds(value);\n childArr.splice(0, 1);\n return childArr;\n};\n\nconst _getParentSelectAndUn = (\n currentId: string,\n selectedIds?: any,\n selectedUnIds?: any,\n isForceCheck?: boolean,\n) => {\n const select: any = { add: [] as string[], del: [] as string[] };\n const selectUn: any = { add: [] as string[], del: [] as string[] };\n // 未传数组时克隆全局状态(onSelect 场景防副作用);已传数组时直接用引用(_initSelectAndUn 累积场景,消除 O(n²) 克隆)\n let arrSelect = CommonBase.isUndefined(selectedIds)\n ? CommonBase.getArrClone(optBase.selectedIds)\n : selectedIds;\n let arrSelectUn = CommonBase.isUndefined(selectedUnIds)\n ? CommonBase.getArrClone(optBase.selectedUnIds)\n : selectedUnIds;\n\n const currentIdInx = arrSelect.indexOf(currentId);\n if (isForceCheck) {\n // 初始化/重放场景:只加不删(重复 id 触发取消由 onSelect 交互承担,重放不做 toggle)\n if (currentIdInx === -1) {\n arrSelect.push(currentId);\n }\n } else if (currentIdInx === -1) {\n arrSelect.push(currentId);\n } else {\n arrSelect.splice(currentIdInx, 1);\n }\n arrSelectUn = CommonBase.getArrRemoveById(arrSelectUn, currentId);\n\n const parentIds = _getParentIds(currentId);\n parentIds.reverse();\n if (parentIds.length > 0) {\n parentIds.forEach((id: string) => {\n let childSelect = 0;\n let childSelectUn = 0;\n _pageData.dataGroup[id].forEach((cInfo: any) => {\n const strCId = cInfo.id.toString();\n if (CommonBase.isExistValue(arrSelect, strCId)) {\n childSelect += 1;\n }\n if (CommonBase.isExistValue(arrSelectUn, strCId)) {\n childSelectUn += 1;\n }\n });\n const cTotal = _pageData.dataGroup[id].length;\n if (childSelect === 0 && childSelectUn === 0) {\n select.del.push(id);\n arrSelect = CommonBase.getArrRemoveById(arrSelect, id);\n\n selectUn.del.push(id);\n arrSelectUn = CommonBase.getArrRemoveById(arrSelectUn, id);\n } else {\n if (childSelect === cTotal) {\n select.add.push(id);\n arrSelect.push(id);\n\n selectUn.del.push(id);\n arrSelectUn = CommonBase.getArrRemoveById(arrSelectUn, id);\n } else {\n select.del.push(id);\n arrSelect = CommonBase.getArrRemoveById(arrSelect, id);\n\n selectUn.add.push(id);\n arrSelectUn.push(id);\n }\n }\n });\n }\n return { select, selectUn };\n};\n\nconst _getLastChildIds = (id: string, visited?: Set<string>): string[] => {\n let arr: string[] = [];\n if (visited === undefined) {\n visited = new Set<string>();\n }\n if (\n CommonBase.isExistJsonKey(_pageData.childLastIdsJson, id) &&\n _pageData.childLastIdsJson[id].length > 0\n ) {\n arr = _pageData.childLastIdsJson[id];\n } else {\n // 环检测放在缓存检查之后:DAG 数据(多父共享子节点)命中缓存直接返回,不受 visited 影响\n if (visited.has(id)) {\n return arr; // 环检测:父级已展开过则终止递归\n }\n if (_checkIsChildren(id)) {\n visited.add(id);\n _getDataGroup(id).forEach((info: any) => {\n const tempIds = _getLastChildIds(info.id.toString(), visited);\n if (tempIds.length > 0) {\n arr = arr.concat(tempIds);\n }\n });\n } else {\n arr.push(id);\n }\n _pageData.childLastIdsJson[id] = arr;\n }\n return arr;\n};\n\nconst _getMergeParentRecursionData = (ids: string[], visited?: Set<string>): any => {\n const { parentKey, topParentValue } = props;\n const strTopPValue = CommonBase.isNonEmptyString(topParentValue) ? topParentValue : '0';\n const parent: any = {};\n const merge: string[] = [];\n let single: any = [];\n if (visited === undefined) {\n visited = new Set<string>();\n }\n ids.forEach(id => {\n const info = _getDataInfo(id);\n if (!CommonBase.isUndefined(info)) {\n const parentId = info[parentKey].toString();\n if (parentId === strTopPValue) {\n single.push(id);\n } else {\n if (!CommonBase.isExistJsonKey(parent, parentId)) {\n parent[parentId] = [];\n }\n parent[parentId].push(id);\n }\n }\n });\n if (!CommonBase.isEmpty(parent)) {\n for (const [pk, pv] of Object.entries(parent)) {\n if ((pv as any).length === _getDataGroup(pk).length) {\n merge.push(pk);\n } else {\n single = single.concat(pv);\n }\n }\n }\n if (merge.length > 0) {\n single.push(...merge);\n const nextValue = CommonBase.getArrUnique(single);\n // 环检测:本次上推的父级全部已在 visited 中 → 终止递归(脏数据防栈溢出,与 _recursionListLevel 等一致)\n const hasNew = merge.some((id: string) => !visited.has(id));\n merge.forEach((id: string) => visited.add(id));\n if (hasNew) {\n return _getMergeParentRecursionData(nextValue, visited);\n }\n return single;\n } else {\n return single;\n }\n};\n\nconst _getValueMergeParent = (ids: any) => {\n const cIds: string[] = [];\n const jsonIds = CommonBase.getArrConvertJson(ids);\n ids.forEach((id: string) => {\n const dataGroup = _getDataGroup(id);\n if (CommonBase.isEmpty(dataGroup)) {\n cIds.push(id);\n } else {\n const tempFilterList: any[] = [];\n dataGroup.forEach((cInfo: any) => {\n if (CommonBase.isExistJsonKey(jsonIds, cInfo.id.toString())) {\n tempFilterList.push(cInfo.id);\n }\n });\n if (dataGroup.length !== tempFilterList.length) {\n cIds.push(id);\n }\n }\n });\n const newSelectIds = _getMergeParentRecursionData(cIds);\n return newSelectIds;\n};\n\nconst _getValueSplitChild = (ids: any) => {\n let newSelectIds: string[] = [];\n ids.forEach((id: string) => {\n const cIds = _getLastChildIds(id);\n newSelectIds.push(...cIds);\n });\n newSelectIds = CommonBase.getArrUnique(newSelectIds);\n return newSelectIds;\n};\n\nconst _getOutValue = (ids: any, isMerge?: any) => {\n if (props.multiple) {\n const isMergeNew = CommonBase.isBoolean(isMerge) ? isMerge : props.isOutMerge;\n return isMergeNew ? _getValueMergeParent(ids) : _getValueSplitChild(ids);\n } else {\n return ids;\n }\n};\n\nconst _getValueData = (ids: any) => {\n const list: any = [];\n ids.forEach((id: string) => {\n const info = _getDataInfo(id);\n if (!CommonBase.isUndefined(info)) {\n list.push(info);\n }\n });\n return list;\n};\n\nconst _initSelectAndUn = (value: string[]) => {\n // 单选契约:多值 value 仅取首项,避免输出逗号多值\n const validValue = props.multiple ? value : value.slice(0, 1);\n let tempSelect: string[] = [];\n let tempUn: string[] = [];\n validValue.forEach((v: string) => {\n const info = _getDataInfo(v);\n if (!CommonBase.isUndefined(info)) {\n // 引用累积 + isForceCheck:只加不删,重复 push 由下方 getArrUnique 兜底去重\n const parentInfo = _getParentSelectAndUn(v, tempSelect, tempUn, true);\n tempSelect = CommonBase.getArrRemoveById(tempSelect, parentInfo.select.del);\n if (parentInfo.select.add.length > 0) {\n tempSelect.push(...parentInfo.select.add);\n }\n tempUn = CommonBase.getArrRemoveById(tempUn, parentInfo.selectUn.del);\n if (parentInfo.selectUn.add.length > 0) {\n tempUn.push(...parentInfo.selectUn.add);\n }\n\n const childIds = _getChildIds(v);\n tempSelect.push(...childIds);\n\n tempSelect.push(v);\n\n tempSelect = CommonBase.getArrUnique(tempSelect);\n tempUn = CommonBase.getArrUnique(tempUn);\n }\n });\n optBase.selectedIds = tempSelect;\n const newUn = CommonBase.getArrRemoveById(tempUn, tempSelect);\n optBase.selectedUnIds = CommonBase.getArrClone(newUn);\n\n // 与已有展开态合并(保留用户手动展开/收起),不覆盖\n optBase.firstOpenIds = CommonBase.getArrUnique(optBase.firstOpenIds.concat(newUn));\n optBase.openParentIds = CommonBase.getArrUnique(optBase.openParentIds.concat(newUn));\n};\n\nconst _initMain = () => {\n _convertData(props.list);\n if (CommonBase.isNonEmptyString(props.value)) {\n const arrIds = props.value.split(',');\n _initSelectAndUn(arrIds);\n }\n _emitInitComplete();\n};\n\nonMounted(() => {\n nextTick(() => {\n _initMain();\n });\n});\n\nwatch(\n () => props.list,\n newList => {\n _convertData(newList);\n const oldSelectedId = optBase.selectedIds;\n // 合并 value prop 中的 id(父组件可能异步回显 value,重放缺口:仅按旧选中重放会丢 value 里的新 id)\n const valueIds = CommonBase.isNonEmptyString(props.value) ? props.value.split(',') : [];\n optBase.selectedIds = [];\n _initSelectAndUn(CommonBase.getArrUnique(oldSelectedId.concat(valueIds)));\n // 重放后输出与 value prop 不一致(悬空 id 被过滤)→ 回写同步契约\n const outValue = _getOutValue(optBase.selectedIds);\n if (outValue.join(',') !== props.value) {\n _emitModelValue(outValue.join(','));\n }\n },\n);\n\nwatch(\n () => props.value,\n newValue => {\n if (newValue !== undefined) {\n // undefined 跳过;null 与 '' 一致走清空分支\n const oldSelectedId = optBase.selectedIds;\n const ids = CommonBase.isNonEmptyString(newValue) ? newValue.split(',') : [];\n const newOutValue = _getOutValue(ids);\n const oldOutValue = _getOutValue(oldSelectedId);\n const isEqual = CommonBase.isEqualArr(newOutValue, oldOutValue);\n if (!isEqual) {\n optBase.selectedIds = [];\n _initSelectAndUn(ids);\n }\n }\n },\n);\n\nconst _applySearchFold = () => {\n // 先撤销上次搜索折叠链,再追加本次\"可点开但折叠\"的父级(进结构 firstOpenIds,不进展开 openParentIds),保留用户手动展开\n const prevFold = CommonBase.isNonEmptyString(_pageData.prevSearchFoldParentIds)\n ? _pageData.prevSearchFoldParentIds.split(',')\n : [];\n optBase.firstOpenIds = CommonBase.getArrRemoveById(optBase.firstOpenIds, prevFold);\n const newFold = CommonBase.isNonEmptyString(props.searchFoldParentIds)\n ? props.searchFoldParentIds.split(',')\n : [];\n newFold.forEach((id: string) => {\n const strId = id.toString();\n if (optBase.firstOpenIds.indexOf(strId) === -1) {\n optBase.firstOpenIds.push(strId);\n }\n });\n _pageData.prevSearchFoldParentIds = CommonBase.isNonEmptyString(props.searchFoldParentIds)\n ? props.searchFoldParentIds\n : '';\n};\n\nconst _applySearchOpen = () => {\n // 先撤销上次搜索展开链,再追加本次需展开显示的祖先链(firstOpenIds + openParentIds),保留用户手动展开\n const prevOpen = CommonBase.isNonEmptyString(_pageData.prevSearchOpenParentIds)\n ? _pageData.prevSearchOpenParentIds.split(',')\n : [];\n optBase.firstOpenIds = CommonBase.getArrRemoveById(optBase.firstOpenIds, prevOpen);\n optBase.openParentIds = CommonBase.getArrRemoveById(optBase.openParentIds, prevOpen);\n const newOpen = CommonBase.isNonEmptyString(props.searchOpenParentIds)\n ? props.searchOpenParentIds.split(',')\n : [];\n newOpen.forEach((id: string) => {\n const strId = id.toString();\n if (optBase.firstOpenIds.indexOf(strId) === -1) {\n optBase.firstOpenIds.push(strId);\n }\n if (optBase.openParentIds.indexOf(strId) === -1) {\n optBase.openParentIds.push(strId);\n }\n });\n _pageData.prevSearchOpenParentIds = CommonBase.isNonEmptyString(props.searchOpenParentIds)\n ? props.searchOpenParentIds\n : '';\n};\n\nwatch(\n () => props.searchOpenParentIds,\n () => _applySearchOpen(),\n);\n\nwatch(\n () => props.searchFoldParentIds,\n () => _applySearchFold(),\n);\n\n// 搜索关键词变化时重算节点文本高亮(清空搜索也走这里,还原纯文本)\nconst _recomputeHighlight = (list: any[]) => {\n if (!Array.isArray(list)) {\n return;\n }\n list.forEach((item: any) => {\n if (!item) {\n return;\n }\n const isHighl = !CommonBase.isEmpty(props.searchKeyword) && !CommonBase.isEmpty(props.highlightMode);\n item.showTextLabelHtml = isHighl;\n item.showTextLabel = isHighl\n ? _getHighlightHtml(CommonBase.isString(item.name) ? item.name : '')\n : (CommonBase.isString(item.name) ? item.name : '');\n if (Array.isArray(item.list)) {\n _recomputeHighlight(item.list);\n }\n });\n};\n\nwatch(\n () => [props.searchKeyword, props.highlightMode, props.highlightColor],\n () => _recomputeHighlight(optBase.list),\n);\n\nconst onShrink = (id: any) => {\n const strId = id.toString();\n if (!CommonBase.isExistValue(optBase.firstOpenIds, strId)) {\n optBase.firstOpenIds.push(strId);\n }\n nextTick(() => {\n const inx = optBase.openParentIds.indexOf(strId);\n if (inx === -1) {\n optBase.openParentIds.push(strId);\n } else {\n optBase.openParentIds.splice(inx, 1);\n }\n });\n};\n\nconst onSelect = (id: any) => {\n const strId = id.toString();\n if (props.multiple) {\n const checkedInx = optBase.selectedIds.indexOf(strId);\n const isChecked = checkedInx === -1;\n const childIds = _getChildIds(strId);\n const parentInfo = _getParentSelectAndUn(strId);\n let arrSelect = CommonBase.getArrClone(optBase.selectedIds);\n let arrSelectUn = CommonBase.getArrClone(optBase.selectedUnIds);\n\n parentInfo.select.del.forEach((sdId: string) => {\n const sdInx = arrSelect.indexOf(sdId);\n if (sdInx > -1) {\n arrSelect.splice(sdInx, 1);\n }\n });\n if (parentInfo.select.add.length > 0) {\n arrSelect = arrSelect.concat(parentInfo.select.add);\n arrSelect = CommonBase.getArrUnique(arrSelect);\n }\n\n parentInfo.selectUn.del.forEach((sdId: string) => {\n const sdInx = arrSelectUn.indexOf(sdId);\n if (sdInx > -1) {\n arrSelectUn.splice(sdInx, 1);\n }\n });\n if (parentInfo.selectUn.add.length > 0) {\n arrSelectUn = arrSelectUn.concat(parentInfo.selectUn.add);\n arrSelectUn = CommonBase.getArrUnique(arrSelectUn);\n }\n\n if (childIds.length > 0) {\n childIds.forEach(cId => {\n const scInx = arrSelect.indexOf(cId);\n const sucInx = arrSelectUn.indexOf(cId);\n if (isChecked) {\n if (scInx === -1) {\n arrSelect.push(cId);\n }\n } else {\n if (scInx > -1) {\n arrSelect.splice(scInx, 1);\n }\n }\n if (sucInx > -1) {\n arrSelectUn.splice(sucInx, 1);\n }\n });\n }\n\n const ckInx = arrSelect.indexOf(strId);\n if (ckInx > -1) {\n arrSelect.splice(ckInx, 1);\n } else {\n arrSelect.push(strId);\n }\n const ckUnInx = arrSelectUn.indexOf(strId);\n if (ckUnInx > -1) {\n arrSelectUn.splice(ckUnInx, 1);\n }\n optBase.selectedIds = arrSelect;\n optBase.selectedUnIds = arrSelectUn;\n } else {\n optBase.selectedIds = [strId];\n optBase.selectedUnIds = [];\n }\n const arrValue = _getOutValue(optBase.selectedIds);\n _emitChange(arrValue.join(','), _getValueData(arrValue));\n};\n\nprovide('$TreeTop', {\n isCheckChildren: _checkIsChildren,\n});\n\nconst getValue = () => {\n const arrValue = _getOutValue(optBase.selectedIds);\n return arrValue.join(',');\n};\n\nconst getValueData = () => {\n const arrValue = _getOutValue(optBase.selectedIds);\n return _getValueData(arrValue);\n};\n\nconst setValue = (value: string) => {\n const arrIds = CommonBase.isNonEmptyString(value) ? value.split(',') : [];\n optBase.selectedIds = [];\n _initSelectAndUn(arrIds);\n};\n\nexport interface ClTreeExpose {\n getValue: () => string;\n getValueData: () => any[];\n setValue: (value: string) => void;\n}\n\ndefineExpose({\n getValue,\n getValueData,\n setValue,\n});\n</script>\n"],"names":["DB_CLICK_DELAY","props","__props","emit","__emit","_keyIndex","CommonBase","_isTreeTopWarned","_selfTop","inject","_pageData","firstOpenIdSet","computed","selectIdSet","selectUnIdSet","openIdSet","_emitSelect","id","_emitShrink","_getIdStr","itemInfo","_getCheckState","clsLiFun","clsTemp","strId","isOpen","clsLabelFun","onBeforeUnmount","onClickShrink","info","onClickCheckbox","onClickText","isRun","onClickTextDbl","onRecursionSelect","onRecursionShrink","_openBlock","_createElementBlock","_hoisted_1","_Fragment","_renderList","item","rIndex","_normalizeClass","_createElementVNode","_withModifiers","$event","_withKeys","_hoisted_6","_toDisplayString","_createBlock","ClTransitionSlideupdown","_createVNode","ClTreeUl","_vShow","elId","optBase","reactive","optSubUnit","clsParent","CommonElement","_emitModelValue","value","_emitChange","data","_emitInitComplete","nextTick","_checkIsChildren","idStr","_getDataGroup","_getDataInfo","_recursionListLevel","parentId","level","visited","list","newLevel","newInfo","isExistChild","_escapeHtmlText","text","_getHighlightHtml","keyword","mode","color","markText","raw","inx","pre","hit","post","_convertData","parentKey","topParentValue","strTopPValue","json","group","isHighl","isIdValid","isPIdValid","pId","_recursionParentIds","arr","strValue","pArr","_getParentIds","parentArr","_recursionChildIds","pInfo","cId","cArr","_getChildIds","childArr","_getParentSelectAndUn","currentId","selectedIds","selectedUnIds","isForceCheck","select","selectUn","arrSelect","arrSelectUn","currentIdInx","parentIds","childSelect","childSelectUn","cInfo","strCId","cTotal","_getLastChildIds","tempIds","_getMergeParentRecursionData","ids","parent","merge","single","pk","pv","nextValue","hasNew","_getValueMergeParent","cIds","jsonIds","dataGroup","tempFilterList","_getValueSplitChild","newSelectIds","_getOutValue","isMerge","_getValueData","_initSelectAndUn","validValue","tempSelect","tempUn","v","parentInfo","childIds","newUn","_initMain","arrIds","onMounted","watch","newList","oldSelectedId","valueIds","outValue","newValue","newOutValue","oldOutValue","_applySearchFold","prevFold","_applySearchOpen","prevOpen","_recomputeHighlight","onShrink","onSelect","isChecked","sdId","sdInx","scInx","sucInx","ckInx","ckUnInx","arrValue","provide","__expose","_unref","_mergeProps"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.panel-
|
|
1
|
+
.panel-dropdownmenum{position:relative;background:#fff;z-index:2}.dropdownmenum-bar{display:flex;align-items:center;height:44px}.dropdownmenum-item{flex:1;min-width:0}.dropdownmenum-item--disabled{opacity:.4;pointer-events:none}.dropdownmenum-item-title{display:flex;align-items:center;justify-content:center;gap:4px;height:100%;padding:0 8px;font-size:14px;color:var(--cl-text-primary, #1f2329);cursor:pointer;-webkit-user-select:none;user-select:none}.dropdownmenum-item-title--active{color:var(--cl-primary, #2e90fa)}.dropdownmenum-item-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdownmenum-item-arrow{flex-shrink:0;font-size:12px;transition:transform var(--dropdownmenum-duration, .2s) ease}.dropdownmenum-overlay{position:absolute;top:100%;left:0;width:100%;height:100vh;background:#00000080}.dropdownmenum--up .dropdownmenum-overlay{top:auto;bottom:100%}.dropdownmenum-panel{position:absolute;top:100%;left:0;width:100%;max-height:55vh;overflow-y:auto;background:#fff;box-sizing:border-box;-webkit-overflow-scrolling:touch;transition:opacity var(--dropdownmenum-duration, .2s) ease,transform var(--dropdownmenum-duration, .2s) ease}.dropdownmenum-panel--up{top:auto;bottom:100%}.dropdownmenum-options{margin:0;padding:4px 0;list-style:none}.dropdownmenum-option{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:14px;color:var(--cl-text-primary, #1f2329);cursor:pointer;-webkit-user-select:none;user-select:none}.dropdownmenum-option--selected{color:var(--cl-primary, #2e90fa)}.dropdownmenum-option--disabled{opacity:.4;pointer-events:none}.dropdownmenum-option-check{flex-shrink:0;font-size:14px}.dropdownmenum-panel-loading{display:flex;align-items:center;justify-content:center;padding:24px 0}.dropdownmenum-fade-enter-from,.dropdownmenum-fade-leave-to{opacity:0}.dropdownmenum-fade-enter-active,.dropdownmenum-fade-leave-active{transition:opacity var(--dropdownmenum-duration, .2s) ease}.dropdownmenum-panel-enter-from,.dropdownmenum-panel-leave-to{opacity:0;transform:translateY(-12px)}.dropdownmenum-panel-enter-active,.dropdownmenum-panel-leave-active{transition:opacity var(--dropdownmenum-duration, .2s) ease,transform var(--dropdownmenum-duration, .2s) ease}.dropdownmenum-panel--up.dropdownmenum-panel-enter-from,.dropdownmenum-panel--up.dropdownmenum-panel-leave-to{transform:translateY(12px)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.panel-
|
|
1
|
+
.panel-picker{display:flex;flex-direction:column;overflow:hidden;background:#fff;font-size:16px;color:#323233;user-select:none;-webkit-user-select:none}.picker-toolbar{display:flex;align-items:center;justify-content:space-between;height:44px;flex-shrink:0}.picker-toolbar--bottom{border-top:1px solid #ebedf0}.picker-toolbar-btn{height:100%;padding:0 16px;border:none;background:transparent;font-size:14px;color:#969799;cursor:pointer;line-height:44px}.picker-toolbar-btn--cancel:active{opacity:.6}.picker-toolbar-btn--confirm{color:#1989fa;font-weight:500}.picker-toolbar-btn--confirm:active{opacity:.6}.picker-toolbar-title{flex:1;text-align:center;font-size:16px;font-weight:500;color:#323233;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.picker-columns{position:relative;display:flex;overflow:hidden}.picker-frame{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);border-top:1px solid #ebedf0;border-bottom:1px solid #ebedf0;pointer-events:none;z-index:2}.picker-columns:before,.picker-columns:after{content:"";position:absolute;left:0;right:0;height:22%;z-index:3;pointer-events:none}.picker-columns:before{top:0;background:linear-gradient(to bottom,#fff,#fff9)}.picker-columns:after{bottom:0;background:linear-gradient(to top,#fff,#fff9)}.picker-column{position:relative;flex:1;overflow:hidden}.picker-column+.picker-column:before{content:"";position:absolute;top:50%;left:0;transform:translateY(-50%);height:40%;width:1px;background:#ebedf0;z-index:3}.picker-column-list{width:100%;will-change:transform}.picker-column-item{display:flex;align-items:center;justify-content:center;padding:0 6px;font-size:16px;color:#323233;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transform-origin:center center;backface-visibility:hidden}.picker-column-item--active{font-weight:600;color:#323233}.picker-column-item--disabled{color:#c8c9cc}.picker-loading-mask{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#ffffffb3;z-index:4}.picker-readonly{cursor:default}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.panel-
|
|
1
|
+
.panel-pulltorefresh{display:flex;flex-direction:column;height:100%;overflow:hidden}.panel-pulltorefresh .ptr-track{display:flex;flex-direction:column;flex:1;min-height:0}.panel-pulltorefresh .ptr-indicator{display:flex;align-items:center;justify-content:center;height:0;overflow:hidden;transition:none}.panel-pulltorefresh:not(.ptr-is-pulling) .ptr-indicator{transition:height .2s ease}.panel-pulltorefresh .ptr-indicator-inner{display:flex;align-items:center;gap:8px;font-size:14px;color:#999}.panel-pulltorefresh .ptr-text{line-height:1}.panel-pulltorefresh .ptr-content{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}.panel-pulltorefresh .ptr-content-virtual{display:flex;flex-direction:column;overflow-y:visible}.panel-pulltorefresh .ptr-scroller-wrap{flex:1;min-height:0}.panel-pulltorefresh .ptr-scroller{height:100%}.panel-pulltorefresh .ptr-loadmore{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 0 16px;font-size:13px;color:#999;flex-shrink:0}.panel-pulltorefresh .ptr-finished{display:flex;align-items:center;justify-content:center;padding:12px 0 16px;font-size:13px;color:#bbb;flex-shrink:0}.panel-pulltorefresh .ptr-icon-arrow{display:inline-block;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid #999;transition:transform .3s ease}.panel-pulltorefresh .ptr-state-pulling .ptr-icon-arrow{transform:rotate(0)}.panel-pulltorefresh .ptr-state-ready .ptr-icon-arrow{transform:rotate(180deg)}.panel-pulltorefresh.ptr-is-pulling,.panel-pulltorefresh.ptr-is-pulling *{user-select:none;-webkit-user-select:none}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.panel-
|
|
1
|
+
.panel-fileupload{position:relative}.fileUpload-button{position:relative;display:inline-block}.fileUpload-button>label{margin:0;padding:0;cursor:pointer}.fileUpload-button input[type=file]{position:absolute;opacity:0;width:0;height:0;z-index:-2}.fileUpload-button .btn-parent .btn-icon{font-size:18px}.fileUpload-list{margin:0;padding:0;list-style:none;width:100%}.fileUpload-list:empty{display:none}.fileUpload-list>.fileUpload-item{display:flex;flex-direction:row;align-items:flex-start;margin:5px 0;padding:5px}.fileUpload-list>.fileUpload-item:hover{background-color:#f7f7f7}.fileUpload-item .fileUpload-item-icon{position:relative;margin-right:5px;margin-top:3px}.fileUpload-item .fileUpload-item-img img{width:40px;height:40px}.fileUpload-item .fileUpload-item-img .preview-icon{font-size:18px;position:absolute;left:50%;top:50%;margin-top:-9px;margin-left:-8px;cursor:pointer;color:#0003;opacity:0}.fileUpload-item:hover .fileUpload-item-img .preview-icon{opacity:1}.fileUpload-item .fileUpload-item-img:hover .preview-icon{color:#000}.fileUpload-item .fileUpload-item-video video{width:40px;height:40px}.fileUpload-item .fileUpload-item-video .preview-icon{position:absolute;top:50%;left:50%;width:22px;height:22px;margin-left:-11px;margin-top:-11px;background-color:#0003;border-radius:50%;text-align:center;cursor:pointer;border:1px solid #ffffff}.fileUpload-item .fileUpload-item-video .preview-icon>i{color:#fff;font-size:12px;height:21px;line-height:21px;margin-left:3px;opacity:.5}.fileUpload-item .fileUpload-item-video .preview-icon:hover>i{opacity:1}.fileUpload-item .fileUpload-item-name{flex:1;cursor:default;text-align:left}.fileUpload-item .fileUpload-item-operate{opacity:0}.fileUpload-item:hover .fileUpload-item-operate{opacity:1}.fileUpload-item .fileUpload-item-operate>.download-icon,.fileUpload-item .fileUpload-item-operate>.file-complete-remove{color:#0003;margin-left:5px;cursor:pointer}.fileUpload-item .fileUpload-item-operate>.download-icon:hover{color:#000}.fileUpload-item .fileUpload-item-operate>.file-complete-remove:hover{color:red}.fileUpload-list .fileupload-anim-in{animation:cl-fileupload-fade-in-down .5s ease both}.fileUpload-list .fileupload-anim-out{animation:cl-fileupload-fade-out .5s ease both}@keyframes cl-fileupload-fade-in-down{0%{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}@keyframes cl-fileupload-fade-out{0%{opacity:1}to{opacity:0}}.fileUpload-default{position:relative;font-size:inherit;padding:1px;height:auto;min-height:60px;background-color:transparent;border:1px solid #cfcfcf;border-radius:4px;box-shadow:none;transition:all .15s;opacity:1}.fileUpload-default:hover{border:1px solid #aaaaaa}.fileUpload-default-container>label{display:block;margin:0;padding:0}.fileUpload-default-container input[type=file]{position:absolute;width:0;height:0;z-index:-2;opacity:0}.fileUpload-wait{cursor:pointer;font-weight:700}.fileUpload-wait>.fileUpload-icon{position:relative;display:block;left:0;top:0;bottom:0;padding:16px 0 10px;height:auto;line-height:64px;width:auto;text-align:center;font-size:64px;border:0 solid #fff;color:#d5d5d5;transition:all .1s;background-color:transparent}.fileUpload-wait>.fileUpload-label{display:block;text-align:center;font-size:14px;color:#ccc;padding:0 0 12px}.fileUpload-complete{position:relative;display:block;overflow:hidden;min-height:60px;text-align:center;cursor:pointer}.fileUpload-complete .fileUpload-img-container{text-align:center;display:block}.fileUpload-complete .file-complete-img-msg{position:absolute;inset:auto 0 -23px;display:block;width:auto;height:22px;background-color:#0000008c;color:#fff;text-align:center;vertical-align:middle;transition:all .2s ease}.fileUpload-complete:hover .file-complete-img-msg{top:auto;bottom:0}.fileUpload-complete .preview-icon{position:absolute;right:0;bottom:0;cursor:pointer;width:16px;height:16px;z-index:1;transition:all .2s ease;color:#fff}.fileUpload-complete .fileUpload-img .preview-icon{display:none;right:2px;bottom:6px}.fileUpload-complete:hover .fileUpload-img .preview-icon{display:block;opacity:.5}.fileUpload-complete:hover .fileUpload-img .preview-icon:hover{opacity:1}.fileUpload-complete .download-icon{position:absolute;right:2px;bottom:6px;cursor:pointer;width:16px;height:16px;z-index:1;transition:all .2s ease;display:none}.fileUpload-complete:hover .download-icon{display:block;opacity:.5}.fileUpload-complete:hover .download-icon:hover{opacity:1}.fileUpload-complete .fileUpload-img .preview-icon+.download-icon{right:22px}.fileUpload-complete .download-icon{color:#fff}.fileUpload-complete .fileUpload-video{position:relative;display:block;background-color:#000}.fileUpload-complete .fileUpload-video video{width:100%;height:100%;object-fit:contain}.fileUpload-complete .fileUpload-video .preview-icon{position:absolute;top:50%;left:50%;width:40px;height:40px;margin-left:-20px;margin-top:-20px;background-color:#0003;border-radius:50%;text-align:center;cursor:pointer;border:1px solid #ffffff}.fileUpload-complete .fileUpload-video .preview-icon>i{color:#fff;font-size:18px;height:39px;line-height:39px;margin-left:6px;opacity:.5}.fileUpload-complete .fileUpload-video .preview-icon:hover>i{opacity:1}.fileUpload-complete .fileUpload-video+.file-complete-remove{color:#b7b7b7}.fileUpload-complete .fileUpload-video .download-icon{color:#fff}.fileUpload-complete .fileUpload-icon{position:relative;left:0;top:0;bottom:0;line-height:24px;width:26px;height:auto;margin:4px;background-color:#efad62;display:inline-block;text-align:center;font-size:13px;border:2px solid #fff;color:#fff}.fileUpload-complete .fileUpload-file{text-align:left;display:block;margin-top:10px}.fileUpload-complete .fileUpload-file>span{display:inline-block;color:#666;font-size:13px;font-weight:700}.fileUpload-complete>.file-complete-remove{display:none;position:absolute;right:0;top:0;width:20px;height:20px;text-align:center;font-size:14px;font-weight:400;background-color:#0000008c;color:#ffffff80;text-decoration:none;transition:all .2s ease}.fileUpload-complete>.file-complete-remove:hover{color:red}.fileUpload-complete:hover>.file-complete-remove{display:block}.fileUpload-load{position:relative;height:147px;display:flex;flex-direction:row;align-items:center;justify-content:center}.fileUpload-wait.fileUpload-disabled,.fileUpload-complete.fileUpload-disabled{cursor:no-drop!important}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.panel-datetime{width:500px}.panel-datetime>.datetime-default{min-width:220px;width:auto}.panel-datetime>.datetime-range{min-width:600px;width:auto}.panel-datetime>.datetime-dropdown{padding:4px}.panel-datetime .dropdownLayer-text-container>.dropdownLayer-text-clear{padding:0 5px}.panel-datetime.datetime-range{min-width:600px;width:auto}.panel-datetime table{margin:0;font-size:14px;user-select:none}.panel-datetime table tr td,.panel-datetime table tr th{text-align:center;width:30px;height:30px;border-radius:4px;border:none;box-sizing:border-box;padding:1px;margin:0}.panel-datetime table tr th.time-head{padding:0}.panel-datetime table tr td.day{color:#666}.panel-datetime table tr td.old,.panel-datetime table tr td span.old,.panel-datetime table tr td.new,.panel-datetime table tr td span.new{color:#9e9e9e}.panel-datetime table tr td.day:hover,.panel-datetime table tr td.focused{background:#eee;cursor:pointer}.panel-datetime table tr td.disabled,.panel-datetime table tr td.disabled:hover{background:none;color:#b5b5b5;cursor:no-drop;text-decoration:line-through}.panel-datetime table tr td.active{color:#fff;background-color:#1088f0;border-color:#2e6da4;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.panel-datetime table tr td.active:focus{color:#fff;background-color:#286090;border-color:#122b40}.panel-datetime table tr td.active:hover{color:#fff;background-color:#286090;border-color:#204d74}.panel-datetime table tr th.time-head-month,.panel-datetime table tr td.time-body-month,.panel-datetime table tr th.time-head-year,.panel-datetime table tr td.time-body-year{width:210px}.panel-datetime table tr td span{display:block;width:25%;height:54px;line-height:54px;float:left;margin:0;cursor:pointer;border-radius:4px;color:#666;font-weight:400}.panel-datetime table tr td span:hover,.panel-datetime table tr td span.focused{background:#eee}.panel-datetime table tr td span.disabled,.panel-datetime table tr td span.disabled:hover{background:none;color:#b5b5b5;cursor:no-drop;text-decoration:line-through}.panel-datetime table tr td span.active,.panel-datetime table tr td span.active:hover{color:#fff;background-color:#1088f0;border-color:#2e6da4;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.panel-datetime table tr td.time-body-month>div{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline}.panel-datetime table tr td span.month{line-height:1;display:flex;flex-direction:row;align-items:center;justify-content:center;padding:3px;word-break:break-all;float:none}.panel-datetime .datetime-switch-year,.panel-datetime .datetime-switch-month{padding:0 5px 1px;margin-top:1px}.panel-datetime .time-prev,.panel-datetime .time-next{width:20px;height:20px}.panel-datetime .time-head-day .time-prev,.panel-datetime .time-head-day .time-next{width:40px}.panel-datetime .prev-year,.panel-datetime .prev-month,.panel-datetime .next-year,.panel-datetime .next-month{width:20px;height:20px}.panel-datetime .prev-year,.panel-datetime .prev-month,.panel-datetime .time-prev{float:left}.panel-datetime .next-year,.panel-datetime .next-month,.panel-datetime .time-next{float:right}.panel-datetime .datetime-switch-year,.panel-datetime .datetime-switch-month,.panel-datetime .prev-year,.panel-datetime .prev-month,.panel-datetime .next-year,.panel-datetime .next-month{cursor:pointer}.panel-datetime .datetime-switch-year:hover,.panel-datetime .datetime-switch-month:hover,.panel-datetime .prev-year:hover,.panel-datetime .prev-month:hover,.panel-datetime .next-year:hover,.panel-datetime .next-month:hover{background:#eee}.datetime-range{width:600px}.panel-range-calendar{display:flex;flex-direction:row;align-items:flex-start}.datetime-range .calendar-range{display:block;max-width:270px;padding:4px;position:relative}.calendar-range.calendar-left{margin-right:1px}.calendar-range.calendar-quick{text-align:left;width:auto;padding:4px 0}.calendar-range>.calendar-text,.calendar-range>.calendar-panel{position:relative;padding-right:8px}.calendar-range>.calendar-text>.time-input-base{width:100%;position:relative}.calendar-range>.calendar-text>.time-input-base>.form-control{display:block;height:30px;line-height:30px;padding:0 12px;width:100%;cursor:default;font-size:16px;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:4px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.calendar-range>.calendar-text>.time-input-base>.form-control:focus{border:1px solid #cfcfcf}.calendar-range>.calendar-text>.time-input-base>i{position:absolute;top:8px;left:auto;right:7px;cursor:default}.calendar-range>.calendar-panel{margin-top:3px}.calendar-range .range-in{background-color:#ebf4f8;border-color:transparent;color:#000;border-radius:0}.calendar-range .active.date-start,.calendar-range .active.date-end,.calendar-range .active.date-start.date-end{border-radius:4px}.calendar-range .active.date-start{border-bottom-right-radius:0;border-top-right-radius:0}.calendar-range .active.date-end{border-bottom-left-radius:0;border-top-left-radius:0}.calendar-quick ul{list-style:none;margin:0 auto;padding:0;width:120px}.calendar-quick li{font-size:13px;background:#f5f5f5;border:1px solid #f5f5f5;border-radius:4px;color:#1088f0;padding:3px 12px;margin-bottom:8px;cursor:pointer;line-height:normal}.calendar-quick li:hover,.calendar-quick li.active{background:#1088f0;border:1px solid #1088f0;color:#fff}.calendar-quick li.calendar-quick-special:hover{background:#f5f5f5;border:1px solid #f5f5f5;color:#1088f0;cursor:default}.calendar-quick li.calendar-quick-special.active:hover{background:#1088f0;border:1px solid #1088f0;color:#fff;cursor:default}.calendar-quick .panel-quick-btn>span{margin-right:5px}.calendar-quick .panel-quick-btn>span:last-child{margin-right:0}.calendar-quick .panel-quick-btn>.panel-btn-parent .btn-label{font-size:13px}.datetime-times{position:relative;text-align:center;padding-bottom:7px;width:210px;height:auto}.datetime-times-inner{clear:both;text-align:center;padding-bottom:7px;height:200px}.datetime-times .times-container{position:absolute;inset:0;visibility:visible;opacity:1}.datetime-times .times-overlay{width:100%;height:100%;background-color:#0009;border-radius:4px}.datetime-times .times-submit{position:absolute;cursor:pointer;right:10px;top:10px;color:#16d742}.datetime-times .times-submit>i{opacity:.5;font-weight:700;font-size:18px;transition:opacity .3s linear}.datetime-times .times-submit:hover>i{opacity:1}.datetime-times .times-cancel{position:absolute;cursor:pointer;left:10px;top:10px;color:red}.datetime-times .times-cancel>i{opacity:.5;font-weight:700;font-size:18px;transition:opacity .3s linear}.datetime-times .times-cancel:hover>i{opacity:1}.times-clock{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);margin-top:-23px;width:170px;height:170px;padding:4px;border-radius:50%;border:2px solid #fff;background-color:#333}.times-clock .clock-nums{width:135px;height:135px;padding:14px;position:relative}.times-clock .clock-nums .clock-num{position:absolute;width:24px;height:24px;line-height:24px;text-align:center;color:#ccc;font-weight:700;font-size:12px;border-radius:50%;cursor:pointer}.times-clock .clock-nums .clock-num:hover{background-color:#0275d8;color:#fff}.times-clock .clock-nums .clock-num.clock-num1{left:50%;top:0}.times-clock .clock-nums .clock-num.clock-num2{left:75%;top:6.7%}.times-clock .clock-nums .clock-num.clock-num3{left:93.3%;top:25%}.times-clock .clock-nums .clock-num.clock-num4{left:100%;top:50%}.times-clock .clock-nums .clock-num.clock-num5{left:93.3%;top:75%}.times-clock .clock-nums .clock-num.clock-num6{left:75%;top:93.3%}.times-clock .clock-nums .clock-num.clock-num7{left:50%;top:100%}.times-clock .clock-nums .clock-num.clock-num8{left:25%;top:93.3%}.times-clock .clock-nums .clock-num.clock-num9{left:6.7%;top:75%}.times-clock .clock-nums .clock-num.clock-num10{left:0;top:50%}.times-clock .clock-nums .clock-num.clock-num11{left:6.7%;top:25%}.times-clock .clock-nums .clock-num.clock-num12{left:25%;top:6.7%}.times-clock .clock-nums .clock-num.clock-nums-disabled{cursor:no-drop;opacity:.5}.times-clock .clock-nums .clock-num.clock-nums-disabled:hover{background-color:transparent!important}.times-clock .clock-pointer{z-index:1}.times-clock .clock-pointer .pointer-hour,.times-clock .clock-pointer .pointer-minute,.times-clock .clock-pointer .pointer-second{position:absolute;left:50%;top:50%;background-color:#fff;transform-origin:8.8px 50%;transition:.3s;cursor:pointer}.times-clock .clock-pointer .pointer-hour{width:48px;height:4px;margin:-2px 0 0 -10px}.times-clock .clock-pointer .pointer-minute{width:57px;height:3px;margin:-1px 0 0 -10px}.times-clock .clock-pointer .pointer-second{width:66px;height:2px;margin:-1px 0 0 -10px}.times-clock .clock-pointer .pointer-active{background-color:#0275d8;z-index:1}.times-clock .clock-pointer .pointer-disabled{cursor:default}.times-clock .clock-am{position:absolute;text-align:center;right:-20px;bottom:-17px;padding:0 3px;cursor:pointer;font-size:12px;font-weight:400;border-radius:4px;border:2px solid #fff;color:#777;background-color:#333}.times-clock .clock-am>small{font-weight:700}.times-clock .clock-am>.am-am{margin-right:2px}.times-clock .clock-am .am-active{color:#409eef}.datetime-times .clock-set{position:relative;width:50px;display:inline-block;height:32px;line-height:32px;margin:0 4px;background-color:#fff;border-radius:3px;padding-right:20px;cursor:pointer}.datetime-times .clock-set .panel-inputNumberStepper.inputNumberStepper-small{width:50px}.datetime-times .clock-set .panel-inputNumberStepper.inputNumberStepper-small>.panel-input.box-width{width:auto}.datetime-times.times-open .clock-set.clock-set-active,.datetime-times.times-open .clock-set.clock-set-active .panel-inputNumberStepper .inputNumberStepper-controls{background-color:#fff}.datetime-times.times-open .clock-set.clock-set-active{border-radius:4px}.datetime-times .times-container{display:none}.datetime-times.times-open .times-container{display:block}.datetime-times.times-open .clock-set,.datetime-times.times-open .clock-set .panel-inputNumberStepper .inputNumberStepper-controls{background-color:#b5b5b5}.datetime-times.times-open .clock-set .panel-inputNumberStepper .inputNumberStepper-controls>i{color:#959191}.datetime-times.times-open .clock-set .panel-inputNumberStepper .inputNumberStepper-controls:hover>i{color:#1088f0}.datetime-days-times{margin-top:5px}.datetime-days-times .datetime-times-inner{display:none!important}.datetime-days-times .datetime-times{position:static}.datetime-days-submit{text-align:center;height:30px;line-height:30px;border-radius:4px;border:1px solid #2196f3;color:#fff;background-color:#2196f3;cursor:pointer}.datetime-days-submit:hover{background-color:#08c!important;border:1px solid #0088cc!important}.datetime-days-submit.days-submit-disabled,.datetime-days-submit.days-submit-disabled:hover{cursor:no-drop;background-color:#d7d7d7!important;border-color:#d0d0d0!important}.datetime-errmsg{font-size:12px;margin:0;padding:0;list-style:none;word-break:break-all;color:red}.datetime-errmsg>li{margin-top:5px}.datetime-noPopup{position:relative}.panel-datetime.datetime-themeStyle-noBorder{width:auto!important;height:auto!important;display:inline-block}.datetime-themeStyle-noBorder .dropdownLayer-text>.dropdownLayer-text-container{border-width:0!important;height:100%!important;padding:0 5px 0 1px!important;box-shadow:none!important}.datetime-themeStyle-noBorder .dropdownLayer-text-container>.dropdownLayer-text-arrow{display:none}.panel-datetime.datetime-themeStyle-noBorder.datetime-empty{width:100%!important;display:block}.datetime-themeStyle-noBorder.datetime-empty .dropdownLayer-text-container>.dropdownLayer-text-render{flex:1}.panel-datetime.datetime-themeStyle-noBorder.panel-dropdownLayer>.datetime-dropdown.dropdownLayer-dropdown.dropdownLayer-dropdown-open.dropdownLayer-dropdown-down{border-top-left-radius:4px;border-top-right-radius:4px}.panel-datetime.datetime-themeStyle-noBorder.panel-dropdownLayer>.datetime-dropdown.dropdownLayer-dropdown.dropdownLayer-dropdown-open.dropdownLayer-dropdown-down{border-top-width:1px}.panel-datetime.datetime-themeStyle-noBorder.panel-dropdownLayer>.datetime-dropdown.dropdownLayer-dropdown.dropdownLayer-dropdown-open.dropdownLayer-dropdown-up{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.panel-datetime.datetime-themeStyle-noBorder.panel-dropdownLayer>.datetime-dropdown.dropdownLayer-dropdown.dropdownLayer-dropdown-open.dropdownLayer-dropdown-up{border-bottom-width:1px}
|
|
1
|
+
.panel-previewexample{position:relative}.previewExample-container{position:relative;display:flex;flex-direction:row;flex-wrap:wrap}.previewExample-container>div{margin-right:4px}.previewExample-container>div:last-child{margin-right:0}table .previewExample-container>div{margin-top:2px}.previewExample-width-default .previewExample-container>div{flex:1;width:1px}.previewExample-width-auto .previewExample-container{justify-content:center}.previewExample-image{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;width:100%;height:100%;padding:2px;border:1px solid #d2d9e2;border-radius:4px;box-sizing:border-box}.previewExample-image>.panel-imageBox{width:100%;height:100%}.previewExample-width-default .previewExample-image img{width:100%;height:100%;object-fit:cover}.previewExample-width-auto .previewExample-image img{width:auto;height:auto;max-width:100%;max-height:100%}.previewExample-image img{user-select:none}.previewExample-image>.previewExample-image-icon{position:absolute;right:2px;top:2px;cursor:pointer;opacity:0;transition:opacity .3s linear}.previewExample-image:hover>.previewExample-image-icon{opacity:1}.previewExample-image>.previewExample-image-icon>i{opacity:.7;transition:opacity .3s linear}.previewExample-image:hover>.previewExample-image-icon>i:hover{opacity:1;color:#2f2d2d}.previewExample-image.previewExample-iconSize-large .previewExample-image-icon>i{font-size:16px}.previewExample-image.previewExample-iconSize-small .previewExample-image-icon>i{font-size:14px}.previewExample-image:hover>.previewExample-image-icon>i.clIcon-close:hover{color:red}.previewExample-video{position:relative;width:100%;height:100%}.previewExample-video>.previewExample-video-img{border-width:0;background-color:#000;width:100%;height:100%}.previewExample-video-icon{position:absolute;top:50%;left:50%;background-color:#292929;border-radius:50%;text-align:center;cursor:pointer;z-index:100}.previewExample-video-icon>i{color:#fff;font-size:18px;height:40px;line-height:40px;margin-left:5px;opacity:.5;transition:opacity .3s linear}.previewExample-video-icon:hover>i{opacity:1}.previewExample-video.previewExample-iconSize-large .previewExample-video-icon{width:40px;height:40px;margin-left:-20px;margin-top:-20px}.previewExample-video.previewExample-iconSize-large .previewExample-video-icon>i{font-size:18px;height:40px;line-height:40px;margin-left:5px}.previewExample-video.previewExample-iconSize-small .previewExample-video-icon{width:20px;height:20px;margin-left:-10px;margin-top:-10px}.previewExample-video.previewExample-iconSize-small .previewExample-video-icon>i{font-size:12px;height:20px;line-height:20px;margin-left:3px}.previewExample-totalCount{position:absolute;bottom:1px;right:1px;z-index:10;margin:0!important;padding:0 5px!important;border-radius:4px;background-color:#0009;user-select:none}.previewExample-totalCount>span{font-size:12px;color:#fff}.previewExample-item{overflow:hidden}.previewExample-item .previewExample-label-msg{position:absolute;inset:auto 0 -23px;display:block;width:auto;height:22px;background-color:#0000008c;color:#fff;text-align:center;transition:all .2s ease}.previewExample-item:hover .previewExample-label-msg{top:auto;bottom:0}.cursor-pointer{cursor:pointer}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.chart-loading{position:relative}
|
|
1
|
+
.panel-datetime{width:500px}.panel-datetime>.datetime-default{min-width:220px;width:auto}.panel-datetime>.datetime-range{min-width:600px;width:auto}.panel-datetime>.datetime-dropdown{padding:4px}.panel-datetime .dropdownLayer-text-container>.dropdownLayer-text-clear{padding:0 5px}.panel-datetime.datetime-range{min-width:600px;width:auto}.panel-datetime table{margin:0;font-size:14px;user-select:none}.panel-datetime table tr td,.panel-datetime table tr th{text-align:center;width:30px;height:30px;border-radius:4px;border:none;box-sizing:border-box;padding:1px;margin:0}.panel-datetime table tr th.time-head{padding:0}.panel-datetime table tr td.day{color:#666}.panel-datetime table tr td.old,.panel-datetime table tr td span.old,.panel-datetime table tr td.new,.panel-datetime table tr td span.new{color:#9e9e9e}.panel-datetime table tr td.day:hover,.panel-datetime table tr td.focused{background:#eee;cursor:pointer}.panel-datetime table tr td.disabled,.panel-datetime table tr td.disabled:hover{background:none;color:#b5b5b5;cursor:no-drop;text-decoration:line-through}.panel-datetime table tr td.active{color:#fff;background-color:#1088f0;border-color:#2e6da4;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.panel-datetime table tr td.active:focus{color:#fff;background-color:#286090;border-color:#122b40}.panel-datetime table tr td.active:hover{color:#fff;background-color:#286090;border-color:#204d74}.panel-datetime table tr th.time-head-month,.panel-datetime table tr td.time-body-month,.panel-datetime table tr th.time-head-year,.panel-datetime table tr td.time-body-year{width:210px}.panel-datetime table tr td span{display:block;width:25%;height:54px;line-height:54px;float:left;margin:0;cursor:pointer;border-radius:4px;color:#666;font-weight:400}.panel-datetime table tr td span:hover,.panel-datetime table tr td span.focused{background:#eee}.panel-datetime table tr td span.disabled,.panel-datetime table tr td span.disabled:hover{background:none;color:#b5b5b5;cursor:no-drop;text-decoration:line-through}.panel-datetime table tr td span.active,.panel-datetime table tr td span.active:hover{color:#fff;background-color:#1088f0;border-color:#2e6da4;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.panel-datetime table tr td.time-body-month>div{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline}.panel-datetime table tr td span.month{line-height:1;display:flex;flex-direction:row;align-items:center;justify-content:center;padding:3px;word-break:break-all;float:none}.panel-datetime .datetime-switch-year,.panel-datetime .datetime-switch-month{padding:0 5px 1px;margin-top:1px}.panel-datetime .time-prev,.panel-datetime .time-next{width:20px;height:20px}.panel-datetime .time-head-day .time-prev,.panel-datetime .time-head-day .time-next{width:40px}.panel-datetime .prev-year,.panel-datetime .prev-month,.panel-datetime .next-year,.panel-datetime .next-month{width:20px;height:20px}.panel-datetime .prev-year,.panel-datetime .prev-month,.panel-datetime .time-prev{float:left}.panel-datetime .next-year,.panel-datetime .next-month,.panel-datetime .time-next{float:right}.panel-datetime .datetime-switch-year,.panel-datetime .datetime-switch-month,.panel-datetime .prev-year,.panel-datetime .prev-month,.panel-datetime .next-year,.panel-datetime .next-month{cursor:pointer}.panel-datetime .datetime-switch-year:hover,.panel-datetime .datetime-switch-month:hover,.panel-datetime .prev-year:hover,.panel-datetime .prev-month:hover,.panel-datetime .next-year:hover,.panel-datetime .next-month:hover{background:#eee}.datetime-range{width:600px}.panel-range-calendar{display:flex;flex-direction:row;align-items:flex-start}.datetime-range .calendar-range{display:block;max-width:270px;padding:4px;position:relative}.calendar-range.calendar-left{margin-right:1px}.calendar-range.calendar-quick{text-align:left;width:auto;padding:4px 0}.calendar-range>.calendar-text,.calendar-range>.calendar-panel{position:relative;padding-right:8px}.calendar-range>.calendar-text>.time-input-base{width:100%;position:relative}.calendar-range>.calendar-text>.time-input-base>.form-control{display:block;height:30px;line-height:30px;padding:0 12px;width:100%;cursor:default;font-size:16px;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:4px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.calendar-range>.calendar-text>.time-input-base>.form-control:focus{border:1px solid #cfcfcf}.calendar-range>.calendar-text>.time-input-base>i{position:absolute;top:8px;left:auto;right:7px;cursor:default}.calendar-range>.calendar-panel{margin-top:3px}.calendar-range .range-in{background-color:#ebf4f8;border-color:transparent;color:#000;border-radius:0}.calendar-range .active.date-start,.calendar-range .active.date-end,.calendar-range .active.date-start.date-end{border-radius:4px}.calendar-range .active.date-start{border-bottom-right-radius:0;border-top-right-radius:0}.calendar-range .active.date-end{border-bottom-left-radius:0;border-top-left-radius:0}.calendar-quick ul{list-style:none;margin:0 auto;padding:0;width:120px}.calendar-quick li{font-size:13px;background:#f5f5f5;border:1px solid #f5f5f5;border-radius:4px;color:#1088f0;padding:3px 12px;margin-bottom:8px;cursor:pointer;line-height:normal}.calendar-quick li:hover,.calendar-quick li.active{background:#1088f0;border:1px solid #1088f0;color:#fff}.calendar-quick li.calendar-quick-special:hover{background:#f5f5f5;border:1px solid #f5f5f5;color:#1088f0;cursor:default}.calendar-quick li.calendar-quick-special.active:hover{background:#1088f0;border:1px solid #1088f0;color:#fff;cursor:default}.calendar-quick .panel-quick-btn>span{margin-right:5px}.calendar-quick .panel-quick-btn>span:last-child{margin-right:0}.calendar-quick .panel-quick-btn>.panel-btn-parent .btn-label{font-size:13px}.datetime-times{position:relative;text-align:center;padding-bottom:7px;width:210px;height:auto}.datetime-times-inner{clear:both;text-align:center;padding-bottom:7px;height:200px}.datetime-times .times-container{position:absolute;inset:0;visibility:visible;opacity:1}.datetime-times .times-overlay{width:100%;height:100%;background-color:#0009;border-radius:4px}.datetime-times .times-submit{position:absolute;cursor:pointer;right:10px;top:10px;color:#16d742}.datetime-times .times-submit>i{opacity:.5;font-weight:700;font-size:18px;transition:opacity .3s linear}.datetime-times .times-submit:hover>i{opacity:1}.datetime-times .times-cancel{position:absolute;cursor:pointer;left:10px;top:10px;color:red}.datetime-times .times-cancel>i{opacity:.5;font-weight:700;font-size:18px;transition:opacity .3s linear}.datetime-times .times-cancel:hover>i{opacity:1}.times-clock{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);margin-top:-23px;width:170px;height:170px;padding:4px;border-radius:50%;border:2px solid #fff;background-color:#333}.times-clock .clock-nums{width:135px;height:135px;padding:14px;position:relative}.times-clock .clock-nums .clock-num{position:absolute;width:24px;height:24px;line-height:24px;text-align:center;color:#ccc;font-weight:700;font-size:12px;border-radius:50%;cursor:pointer}.times-clock .clock-nums .clock-num:hover{background-color:#0275d8;color:#fff}.times-clock .clock-nums .clock-num.clock-num1{left:50%;top:0}.times-clock .clock-nums .clock-num.clock-num2{left:75%;top:6.7%}.times-clock .clock-nums .clock-num.clock-num3{left:93.3%;top:25%}.times-clock .clock-nums .clock-num.clock-num4{left:100%;top:50%}.times-clock .clock-nums .clock-num.clock-num5{left:93.3%;top:75%}.times-clock .clock-nums .clock-num.clock-num6{left:75%;top:93.3%}.times-clock .clock-nums .clock-num.clock-num7{left:50%;top:100%}.times-clock .clock-nums .clock-num.clock-num8{left:25%;top:93.3%}.times-clock .clock-nums .clock-num.clock-num9{left:6.7%;top:75%}.times-clock .clock-nums .clock-num.clock-num10{left:0;top:50%}.times-clock .clock-nums .clock-num.clock-num11{left:6.7%;top:25%}.times-clock .clock-nums .clock-num.clock-num12{left:25%;top:6.7%}.times-clock .clock-nums .clock-num.clock-nums-disabled{cursor:no-drop;opacity:.5}.times-clock .clock-nums .clock-num.clock-nums-disabled:hover{background-color:transparent!important}.times-clock .clock-pointer{z-index:1}.times-clock .clock-pointer .pointer-hour,.times-clock .clock-pointer .pointer-minute,.times-clock .clock-pointer .pointer-second{position:absolute;left:50%;top:50%;background-color:#fff;transform-origin:8.8px 50%;transition:.3s;cursor:pointer}.times-clock .clock-pointer .pointer-hour{width:48px;height:4px;margin:-2px 0 0 -10px}.times-clock .clock-pointer .pointer-minute{width:57px;height:3px;margin:-1px 0 0 -10px}.times-clock .clock-pointer .pointer-second{width:66px;height:2px;margin:-1px 0 0 -10px}.times-clock .clock-pointer .pointer-active{background-color:#0275d8;z-index:1}.times-clock .clock-pointer .pointer-disabled{cursor:default}.times-clock .clock-am{position:absolute;text-align:center;right:-20px;bottom:-17px;padding:0 3px;cursor:pointer;font-size:12px;font-weight:400;border-radius:4px;border:2px solid #fff;color:#777;background-color:#333}.times-clock .clock-am>small{font-weight:700}.times-clock .clock-am>.am-am{margin-right:2px}.times-clock .clock-am .am-active{color:#409eef}.datetime-times .clock-set{position:relative;width:50px;display:inline-block;height:32px;line-height:32px;margin:0 4px;background-color:#fff;border-radius:3px;padding-right:20px;cursor:pointer}.datetime-times .clock-set .panel-inputNumberStepper.inputNumberStepper-small{width:50px}.datetime-times .clock-set .panel-inputNumberStepper.inputNumberStepper-small>.panel-input.box-width{width:auto}.datetime-times.times-open .clock-set.clock-set-active,.datetime-times.times-open .clock-set.clock-set-active .panel-inputNumberStepper .inputNumberStepper-controls{background-color:#fff}.datetime-times.times-open .clock-set.clock-set-active{border-radius:4px}.datetime-times .times-container{display:none}.datetime-times.times-open .times-container{display:block}.datetime-times.times-open .clock-set,.datetime-times.times-open .clock-set .panel-inputNumberStepper .inputNumberStepper-controls{background-color:#b5b5b5}.datetime-times.times-open .clock-set .panel-inputNumberStepper .inputNumberStepper-controls>i{color:#959191}.datetime-times.times-open .clock-set .panel-inputNumberStepper .inputNumberStepper-controls:hover>i{color:#1088f0}.datetime-days-times{margin-top:5px}.datetime-days-times .datetime-times-inner{display:none!important}.datetime-days-times .datetime-times{position:static}.datetime-days-submit{text-align:center;height:30px;line-height:30px;border-radius:4px;border:1px solid #2196f3;color:#fff;background-color:#2196f3;cursor:pointer}.datetime-days-submit:hover{background-color:#08c!important;border:1px solid #0088cc!important}.datetime-days-submit.days-submit-disabled,.datetime-days-submit.days-submit-disabled:hover{cursor:no-drop;background-color:#d7d7d7!important;border-color:#d0d0d0!important}.datetime-errmsg{font-size:12px;margin:0;padding:0;list-style:none;word-break:break-all;color:red}.datetime-errmsg>li{margin-top:5px}.datetime-noPopup{position:relative}.panel-datetime.datetime-themeStyle-noBorder{width:auto!important;height:auto!important;display:inline-block}.datetime-themeStyle-noBorder .dropdownLayer-text>.dropdownLayer-text-container{border-width:0!important;height:100%!important;padding:0 5px 0 1px!important;box-shadow:none!important}.datetime-themeStyle-noBorder .dropdownLayer-text-container>.dropdownLayer-text-arrow{display:none}.panel-datetime.datetime-themeStyle-noBorder.datetime-empty{width:100%!important;display:block}.datetime-themeStyle-noBorder.datetime-empty .dropdownLayer-text-container>.dropdownLayer-text-render{flex:1}.panel-datetime.datetime-themeStyle-noBorder.panel-dropdownLayer>.datetime-dropdown.dropdownLayer-dropdown.dropdownLayer-dropdown-open.dropdownLayer-dropdown-down{border-top-left-radius:4px;border-top-right-radius:4px}.panel-datetime.datetime-themeStyle-noBorder.panel-dropdownLayer>.datetime-dropdown.dropdownLayer-dropdown.dropdownLayer-dropdown-open.dropdownLayer-dropdown-down{border-top-width:1px}.panel-datetime.datetime-themeStyle-noBorder.panel-dropdownLayer>.datetime-dropdown.dropdownLayer-dropdown.dropdownLayer-dropdown-open.dropdownLayer-dropdown-up{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.panel-datetime.datetime-themeStyle-noBorder.panel-dropdownLayer>.datetime-dropdown.dropdownLayer-dropdown.dropdownLayer-dropdown-open.dropdownLayer-dropdown-up{border-bottom-width:1px}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
.chart-loading{position:relative}
|