@cldemo/ui-kit 1.0.10 → 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/buildLibs/utils/Element/ClCheckboxOne.cjs +2 -0
- package/buildLibs/utils/Element/ClCheckboxOne.cjs.map +1 -0
- package/buildLibs/utils/Element/ClCheckboxOne.js +5 -0
- package/buildLibs/utils/Element/ClCheckboxOne.js.map +1 -0
- package/buildLibs/utils/Element/ClFormValidate.cjs +2 -0
- package/buildLibs/utils/Element/ClFormValidate.cjs.map +1 -0
- package/buildLibs/utils/Element/ClFormValidate.js +5 -0
- package/buildLibs/utils/Element/ClFormValidate.js.map +1 -0
- package/buildLibs/utils/Element/ClImage.cjs +1 -1
- package/buildLibs/utils/Element/ClImage.js +1 -1
- 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.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.js +5 -0
- package/buildLibs/utils/Element/ClLoadIng.js.map +1 -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.js +53 -0
- package/buildLibs/utils/Element/ClLoadWarp.js.map +1 -0
- package/buildLibs/utils/Element/ClRadioOne.cjs +2 -0
- package/buildLibs/utils/Element/ClRadioOne.cjs.map +1 -0
- package/buildLibs/utils/Element/ClRadioOne.js +5 -0
- package/buildLibs/utils/Element/ClRadioOne.js.map +1 -0
- package/buildLibs/utils/Element/ClTransitionSlideupdown.cjs +2 -0
- package/buildLibs/utils/Element/ClTransitionSlideupdown.cjs.map +1 -0
- package/buildLibs/utils/Element/ClTransitionSlideupdown.js +5 -0
- package/buildLibs/utils/Element/ClTransitionSlideupdown.js.map +1 -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.js +48 -0
- package/buildLibs/utils/Element/ClWaterfallImage.js.map +1 -0
- package/buildLibs/utils/Mobile/ClBanner.cjs +1 -1
- package/buildLibs/utils/Mobile/ClBanner.js +1 -1
- package/buildLibs/utils/Mobile/ClDropdownMenuM.cjs +1 -1
- package/buildLibs/utils/Mobile/ClDropdownMenuM.cjs.map +1 -1
- 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.js +160 -0
- package/buildLibs/utils/Mobile/ClDropdownMenuMItem.js.map +1 -0
- package/buildLibs/utils/Mobile/ClPicker.cjs +1 -1
- package/buildLibs/utils/Mobile/ClPicker.js +1 -1
- package/buildLibs/utils/Mobile/ClPickerDate.cjs +1 -1
- package/buildLibs/utils/Mobile/ClPickerDate.js +1 -1
- package/buildLibs/utils/Mobile/ClPickerTime.cjs +1 -1
- package/buildLibs/utils/Mobile/ClPickerTime.js +1 -1
- package/buildLibs/utils/Mobile/ClPullToRefresh.cjs +1 -1
- package/buildLibs/utils/Mobile/ClPullToRefresh.js +1 -1
- package/buildLibs/utils/Mobile/ClScrollCard.cjs +1 -1
- package/buildLibs/utils/Mobile/ClScrollCard.js +1 -1
- 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/ClCropperPreview.cjs +1 -1
- package/buildLibs/utils/Web/ClCropperPreview.js +2 -2
- package/buildLibs/utils/Web/ClDatetime.cjs +1 -1
- package/buildLibs/utils/Web/ClDatetime.js +1 -1
- 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.js +72 -0
- package/buildLibs/utils/Web/ClDropdownMenuItem.js.map +1 -0
- package/buildLibs/utils/Web/ClEcharts.cjs +1 -1
- package/buildLibs/utils/Web/ClEcharts.js +1 -1
- package/buildLibs/utils/Web/ClEchartsLineAxisTag.cjs +1 -1
- package/buildLibs/utils/Web/ClEchartsLineAxisTag.js +1 -1
- package/buildLibs/utils/Web/ClFileUpload.cjs +1 -1
- package/buildLibs/utils/Web/ClFileUpload.js +1 -1
- package/buildLibs/utils/Web/ClInputTag.cjs +1 -1
- package/buildLibs/utils/Web/ClInputTag.js +1 -1
- package/buildLibs/utils/Web/ClPaginate.cjs +1 -1
- package/buildLibs/utils/Web/ClPaginate.js +1 -1
- package/buildLibs/utils/Web/ClPreviewExample.cjs +1 -1
- package/buildLibs/utils/Web/ClPreviewExample.js +1 -1
- package/buildLibs/utils/Web/ClScrollXFence.cjs +1 -1
- package/buildLibs/utils/Web/ClScrollXFence.js +1 -1
- package/buildLibs/utils/Web/ClSelect.cjs +1 -1
- package/buildLibs/utils/Web/ClSelect.js +1 -1
- package/buildLibs/utils/Web/ClSelectCascade.cjs +1 -1
- package/buildLibs/utils/Web/ClSelectCascade.js +1 -1
- package/buildLibs/utils/Web/ClSelectTag.cjs +1 -1
- package/buildLibs/utils/Web/ClSelectTag.js +1 -1
- package/buildLibs/utils/Web/ClSelectTree.cjs +1 -1
- package/buildLibs/utils/Web/ClSelectTree.js +1 -1
- package/buildLibs/utils/Web/ClTable.cjs +1 -1
- package/buildLibs/utils/Web/ClTable.cjs.map +1 -1
- package/buildLibs/utils/Web/ClTable.js +1081 -1218
- package/buildLibs/utils/Web/ClTable.js.map +1 -1
- package/buildLibs/utils/Web/ClTabs.cjs +1 -1
- package/buildLibs/utils/Web/ClTabs.js +1 -1
- package/buildLibs/utils/Web/ClTree.cjs +1 -1
- package/buildLibs/utils/Web/ClTree.js +1 -1
- package/buildLibs/utils/Web/ClXeditable.cjs +1 -1
- package/buildLibs/utils/Web/ClXeditable.cjs.map +1 -1
- package/buildLibs/utils/Web/ClXeditable.js +33 -32
- package/buildLibs/utils/Web/ClXeditable.js.map +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,17 +1,16 @@
|
|
|
1
|
-
import { onMounted as
|
|
2
|
-
import { C as
|
|
3
|
-
|
|
4
|
-
const n = {
|
|
1
|
+
import { onMounted as I, nextTick as E, onUnmounted as l, watch as d } from "vue";
|
|
2
|
+
import { C as o } from "./base-DU7nGSf6.js";
|
|
3
|
+
const s = {
|
|
5
4
|
loading: "data:image/gif;base64,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",
|
|
6
5
|
error: "data:image/png;base64,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",
|
|
7
6
|
attr: {
|
|
8
7
|
timeOutId: "data-lazy-timeout-id"
|
|
9
8
|
}
|
|
10
9
|
};
|
|
11
|
-
class
|
|
10
|
+
class C {
|
|
12
11
|
options = {
|
|
13
|
-
loading:
|
|
14
|
-
error:
|
|
12
|
+
loading: s.loading,
|
|
13
|
+
error: s.error,
|
|
15
14
|
observerOptions: {
|
|
16
15
|
rootMargin: "0px",
|
|
17
16
|
threshold: 0
|
|
@@ -20,76 +19,76 @@ class U {
|
|
|
20
19
|
callback: {}
|
|
21
20
|
};
|
|
22
21
|
_images = /* @__PURE__ */ new WeakMap();
|
|
23
|
-
constructor(
|
|
24
|
-
this.config(
|
|
22
|
+
constructor(A) {
|
|
23
|
+
this.config(A);
|
|
25
24
|
}
|
|
26
|
-
config(
|
|
27
|
-
this.options =
|
|
25
|
+
config(A = {}) {
|
|
26
|
+
this.options = o.getJsonMergeDeep(this.options, A);
|
|
28
27
|
}
|
|
29
|
-
_initValue(
|
|
30
|
-
let e = "",
|
|
31
|
-
return
|
|
28
|
+
_initValue(A, t) {
|
|
29
|
+
let e = "", r = this.options.loading, i = this.options.error, n = this.options.callback, a = this.options.delay;
|
|
30
|
+
return o.isObject(A) ? (e = A.src, r = o.isUndefined(A.loading) ? this.options.loading : A.loading, i = o.isUndefined(A.error) ? this.options.error : A.error, n = o.isUndefined(A.callback) ? this.options.callback : A.callback, a = o.isUndefined(A.delay) ? this.options.delay : A.delay) : o.isString(A) ? e = A : o.isUndefined(A) && (e = t && t.src || ""), {
|
|
32
31
|
src: e,
|
|
33
|
-
loading:
|
|
32
|
+
loading: r,
|
|
34
33
|
error: i,
|
|
35
|
-
callback:
|
|
34
|
+
callback: n,
|
|
36
35
|
delay: a
|
|
37
36
|
};
|
|
38
37
|
}
|
|
39
|
-
mount(
|
|
40
|
-
if (
|
|
41
|
-
const e =
|
|
42
|
-
if (this._setCallback(
|
|
43
|
-
this._setImageSrc(
|
|
38
|
+
mount(A, t) {
|
|
39
|
+
if (o.isUndefined(A)) return;
|
|
40
|
+
const e = o.isString(t) ? t : t.value, { src: r, loading: i, error: n, callback: a, delay: c } = this._initValue(e, A);
|
|
41
|
+
if (this._setCallback(A, "loading", a), A.setAttribute("src", i || s.loading), !this._checkIntersectionObserver()) {
|
|
42
|
+
this._setImageSrc(A, r, n, a), this._log(() => {
|
|
44
43
|
throw new Error("Not support IntersectionObserver!");
|
|
45
44
|
});
|
|
46
45
|
return;
|
|
47
46
|
}
|
|
48
|
-
this._initIntersectionObserver(
|
|
49
|
-
}
|
|
50
|
-
update(
|
|
51
|
-
if (
|
|
52
|
-
this._realObserver(
|
|
53
|
-
const e =
|
|
54
|
-
this._initIntersectionObserver(
|
|
55
|
-
}
|
|
56
|
-
unmount(
|
|
57
|
-
if (!
|
|
58
|
-
if (this._realObserver(
|
|
59
|
-
const
|
|
60
|
-
|
|
47
|
+
this._initIntersectionObserver(A, r, n, a, c);
|
|
48
|
+
}
|
|
49
|
+
update(A, t) {
|
|
50
|
+
if (o.isUndefined(A)) return;
|
|
51
|
+
this._realObserver(A)?.unobserve(A), A.hasAttribute(s.attr.timeOutId) && (clearTimeout(Number(A.getAttribute(s.attr.timeOutId))), A.removeAttribute(s.attr.timeOutId));
|
|
52
|
+
const e = o.isString(t) ? t : t.value, { src: r, error: i, callback: n, delay: a } = this._initValue(e, A);
|
|
53
|
+
this._initIntersectionObserver(A, r, i, n, a);
|
|
54
|
+
}
|
|
55
|
+
unmount(A) {
|
|
56
|
+
if (!o.isUndefined(A)) {
|
|
57
|
+
if (this._realObserver(A)?.unobserve(A), A.hasAttribute(s.attr.timeOutId) && (clearTimeout(Number(A.getAttribute(s.attr.timeOutId))), A.removeAttribute(s.attr.timeOutId)), A.tagName.toLowerCase() === "img") {
|
|
58
|
+
const t = A;
|
|
59
|
+
t.onload = null, t.onerror = null;
|
|
61
60
|
}
|
|
62
|
-
this._images.delete(
|
|
61
|
+
this._images.delete(A);
|
|
63
62
|
}
|
|
64
63
|
}
|
|
65
|
-
_setImageSrc(
|
|
66
|
-
if (
|
|
67
|
-
const i =
|
|
68
|
-
|
|
69
|
-
|
|
64
|
+
_setImageSrc(A, t, e, r) {
|
|
65
|
+
if (A.tagName.toLowerCase() === "img") {
|
|
66
|
+
const i = A;
|
|
67
|
+
o.isEmpty(t) ? (i.onload = null, this._setCallback(i, "error", r), this._realObserver(i)?.disconnect(), e ? i.setAttribute("src", e) : i.removeAttribute("src")) : (this.options.isCrossOrigin && (i.crossOrigin = "Anonymous"), t && i.getAttribute("src") !== t && i.setAttribute("src", t), i.onload = () => {
|
|
68
|
+
t && this._setCallback(i, "loaded", r);
|
|
70
69
|
}, i.onerror = () => {
|
|
71
|
-
i.onload = null, this._setCallback(i, "error",
|
|
72
|
-
throw new Error(`Image failed to load!And failed src was: ${
|
|
70
|
+
i.onload = null, this._setCallback(i, "error", r), this._realObserver(i)?.disconnect(), e && i.getAttribute("src") !== e && i.setAttribute("src", e), this._log(() => {
|
|
71
|
+
throw new Error(`Image failed to load!And failed src was: ${t} `);
|
|
73
72
|
});
|
|
74
73
|
});
|
|
75
74
|
} else
|
|
76
|
-
|
|
75
|
+
A.style.backgroundImage = `url('${t}')`;
|
|
77
76
|
}
|
|
78
|
-
_setCallback(
|
|
79
|
-
switch (
|
|
77
|
+
_setCallback(A, t, e) {
|
|
78
|
+
switch (A?.setAttribute("lazy", t), t) {
|
|
80
79
|
case "loading":
|
|
81
|
-
e?.loading && e.loading(
|
|
80
|
+
e?.loading && e.loading(A);
|
|
82
81
|
break;
|
|
83
82
|
case "loaded":
|
|
84
|
-
e?.loaded && e.loaded(
|
|
83
|
+
e?.loaded && e.loaded(A);
|
|
85
84
|
break;
|
|
86
85
|
case "error":
|
|
87
|
-
e?.error && e.error(
|
|
86
|
+
e?.error && e.error(A);
|
|
88
87
|
break;
|
|
89
88
|
}
|
|
90
89
|
}
|
|
91
|
-
_realObserver(
|
|
92
|
-
return this._images.get(
|
|
90
|
+
_realObserver(A) {
|
|
91
|
+
return this._images.get(A);
|
|
93
92
|
}
|
|
94
93
|
_checkIntersectionObserver() {
|
|
95
94
|
if (typeof window < "u" && window !== null && "IntersectionObserver" in window && "IntersectionObserverEntry" in window && "intersectionRatio" in window.IntersectionObserverEntry.prototype) {
|
|
@@ -107,109 +106,47 @@ class U {
|
|
|
107
106
|
}
|
|
108
107
|
return !1;
|
|
109
108
|
}
|
|
110
|
-
_initIntersectionObserver(
|
|
111
|
-
const
|
|
109
|
+
_initIntersectionObserver(A, t, e, r, i) {
|
|
110
|
+
const n = this.options.observerOptions;
|
|
112
111
|
this._images.set(
|
|
113
|
-
|
|
112
|
+
A,
|
|
114
113
|
new IntersectionObserver((a) => {
|
|
115
|
-
Array.prototype.forEach.call(a, (
|
|
116
|
-
i && i > 0 ? this._delayedIntersectionCallback(
|
|
114
|
+
Array.prototype.forEach.call(a, (c) => {
|
|
115
|
+
i && i > 0 ? this._delayedIntersectionCallback(A, c, i, t, e, r) : this._intersectionCallback(A, c, t, e, r);
|
|
117
116
|
});
|
|
118
|
-
},
|
|
119
|
-
), this._realObserver(
|
|
117
|
+
}, n)
|
|
118
|
+
), this._realObserver(A)?.observe(A);
|
|
120
119
|
}
|
|
121
|
-
_intersectionCallback(
|
|
122
|
-
|
|
120
|
+
_intersectionCallback(A, t, e, r, i) {
|
|
121
|
+
t.isIntersecting && (this._realObserver(A)?.unobserve(t.target), this._setImageSrc(A, e, r, i));
|
|
123
122
|
}
|
|
124
|
-
_delayedIntersectionCallback(
|
|
125
|
-
if (
|
|
126
|
-
if (
|
|
123
|
+
_delayedIntersectionCallback(A, t, e, r, i, n) {
|
|
124
|
+
if (t.isIntersecting) {
|
|
125
|
+
if (t.target.hasAttribute(s.attr.timeOutId)) return;
|
|
127
126
|
const a = setTimeout(() => {
|
|
128
|
-
this._intersectionCallback(
|
|
127
|
+
this._intersectionCallback(A, t, r, i, n), t.target.removeAttribute(s.attr.timeOutId);
|
|
129
128
|
}, e);
|
|
130
|
-
|
|
129
|
+
t.target.setAttribute(s.attr.timeOutId, String(a));
|
|
131
130
|
} else
|
|
132
|
-
|
|
131
|
+
t.target.hasAttribute(s.attr.timeOutId) && (clearTimeout(Number(t.target.getAttribute(s.attr.timeOutId))), t.target.removeAttribute(s.attr.timeOutId));
|
|
133
132
|
}
|
|
134
|
-
_log(
|
|
135
|
-
this.options.log &&
|
|
133
|
+
_log(A) {
|
|
134
|
+
this.options.log && A();
|
|
136
135
|
}
|
|
137
136
|
}
|
|
138
|
-
const
|
|
139
|
-
const e = new
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
137
|
+
const Q = (g, A, t) => {
|
|
138
|
+
const e = new C(t);
|
|
139
|
+
I(() => {
|
|
140
|
+
E(() => {
|
|
141
|
+
g.value && e.mount(g.value, A);
|
|
143
142
|
});
|
|
144
|
-
}),
|
|
145
|
-
|
|
146
|
-
}),
|
|
147
|
-
|
|
143
|
+
}), l(() => {
|
|
144
|
+
g.value && e.unmount(g.value);
|
|
145
|
+
}), d(A, (r) => {
|
|
146
|
+
g.value && e.update(g.value, r);
|
|
148
147
|
});
|
|
149
|
-
}
|
|
150
|
-
name: "ClImage",
|
|
151
|
-
__name: "Index",
|
|
152
|
-
props: {
|
|
153
|
-
id: {},
|
|
154
|
-
className: {},
|
|
155
|
-
src: {},
|
|
156
|
-
alt: {},
|
|
157
|
-
height: {},
|
|
158
|
-
width: {},
|
|
159
|
-
isCircle: { type: Boolean },
|
|
160
|
-
fit: {},
|
|
161
|
-
isCrossOrigin: { type: Boolean }
|
|
162
|
-
},
|
|
163
|
-
emits: ["onInit"],
|
|
164
|
-
setup(c, { emit: t }) {
|
|
165
|
-
const A = c, e = t, s = C(r.isNonEmptyString(A.src) ? A.src : ""), i = C(null), o = m(() => r.isNonEmptyString(A.alt) ? A.alt : ""), a = A.id;
|
|
166
|
-
v(i, s, {
|
|
167
|
-
callback: {
|
|
168
|
-
loaded: () => {
|
|
169
|
-
h();
|
|
170
|
-
},
|
|
171
|
-
error: () => {
|
|
172
|
-
h();
|
|
173
|
-
}
|
|
174
|
-
},
|
|
175
|
-
isCrossOrigin: A.isCrossOrigin
|
|
176
|
-
});
|
|
177
|
-
const l = m(() => {
|
|
178
|
-
let g = {
|
|
179
|
-
"panel-imageBox": !0,
|
|
180
|
-
"imageBox-circle": A.isCircle
|
|
181
|
-
};
|
|
182
|
-
return g = r.getJsonMerge(g, F.getClassNameJson(A.className)), g;
|
|
183
|
-
}), p = m(() => {
|
|
184
|
-
const { width: g, height: I } = A, d = {};
|
|
185
|
-
return r.isNonEmptyString(g) && (d.width = g), r.isNonEmptyString(I) && (d.height = I), d;
|
|
186
|
-
}), w = m(() => {
|
|
187
|
-
const { width: g, height: I, fit: d } = A, E = {};
|
|
188
|
-
return r.isNonEmptyString(d) && (E["object-fit"] = d, r.isNonEmptyString(g) && (E.width = g), r.isNonEmptyString(I) && (E.height = I)), E;
|
|
189
|
-
});
|
|
190
|
-
function h() {
|
|
191
|
-
e("onInit");
|
|
192
|
-
}
|
|
193
|
-
return Q(
|
|
194
|
-
() => A.src,
|
|
195
|
-
(g) => {
|
|
196
|
-
s.value = r.isNonEmptyString(g) ? g : "";
|
|
197
|
-
}
|
|
198
|
-
), (g, I) => (y(), D("div", {
|
|
199
|
-
id: O(a),
|
|
200
|
-
class: S(l.value),
|
|
201
|
-
style: u(p.value)
|
|
202
|
-
}, [
|
|
203
|
-
K("img", {
|
|
204
|
-
ref_key: "refElImage",
|
|
205
|
-
ref: i,
|
|
206
|
-
alt: o.value,
|
|
207
|
-
style: u(w.value)
|
|
208
|
-
}, null, 12, M)
|
|
209
|
-
], 14, R));
|
|
210
|
-
}
|
|
211
|
-
});
|
|
148
|
+
};
|
|
212
149
|
export {
|
|
213
|
-
|
|
150
|
+
Q as u
|
|
214
151
|
};
|
|
215
|
-
//# sourceMappingURL=
|
|
152
|
+
//# sourceMappingURL=use-CKNkvmW4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-CKNkvmW4.js","sources":["../../../src/libs/Element/LazyImage/lazy.ts","../../../src/libs/Element/LazyImage/use.ts"],"sourcesContent":["import CommonBase from '../../Common/base';\nimport { LazyOptionInfo } from './interfaceItem';\nconst defOption = {\n loading:\n 'data:image/gif;base64,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',\n error:\n 'data:image/png;base64,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',\n attr: {\n timeOutId: 'data-lazy-timeout-id',\n },\n isCrossOrigin: false,\n};\nclass Lazy {\n public options: LazyOptionInfo = {\n loading: defOption.loading,\n error: defOption.error,\n observerOptions: {\n rootMargin: '0px',\n threshold: 0,\n },\n log: false,\n callback: {},\n };\n private _images = new WeakMap();\n constructor(options?: LazyOptionInfo) {\n this.config(options);\n }\n public config(options = {}): void {\n this.options = CommonBase.getJsonMergeDeep(this.options, options);\n }\n private _initValue(value: any, el: any) {\n let src = '';\n let loading = this.options.loading;\n let error = this.options.error;\n let callback = this.options.callback;\n let delay = this.options.delay;\n if (CommonBase.isObject(value)) {\n src = value.src;\n loading = !CommonBase.isUndefined(value.loading) ? value.loading : this.options.loading;\n error = !CommonBase.isUndefined(value.error) ? value.error : this.options.error;\n callback = !CommonBase.isUndefined(value.callback) ? value.callback : this.options.callback;\n delay = !CommonBase.isUndefined(value.delay) ? value.delay : this.options.delay;\n } else if (CommonBase.isString(value)) {\n src = value;\n } else if (CommonBase.isUndefined(value)) {\n src = (el && el.src) || '';\n }\n return {\n src,\n loading,\n error,\n callback,\n delay,\n };\n }\n public mount(el: HTMLElement, binding: any): void {\n if (CommonBase.isUndefined(el)) return;\n const value = CommonBase.isString(binding) ? binding : binding.value;\n const { src, loading, error, callback, delay } = this._initValue(value, el);\n this._setCallback(el, 'loading', callback);\n el.setAttribute('src', loading || defOption.loading);\n if (!this._checkIntersectionObserver()) {\n this._setImageSrc(el, src, error, callback);\n this._log(() => {\n throw new Error('Not support IntersectionObserver!');\n });\n return;\n }\n this._initIntersectionObserver(el, src, error, callback, delay);\n }\n public update(el: HTMLElement, binding: any): void {\n if (CommonBase.isUndefined(el)) return;\n this._realObserver(el)?.unobserve(el);\n if (el.hasAttribute(defOption.attr.timeOutId)) {\n clearTimeout(Number(el.getAttribute(defOption.attr.timeOutId)));\n el.removeAttribute(defOption.attr.timeOutId);\n }\n const value = CommonBase.isString(binding) ? binding : binding.value;\n const { src, error, callback, delay } = this._initValue(value, el);\n this._initIntersectionObserver(el, src, error, callback, delay);\n }\n public unmount(el: HTMLElement): void {\n if (CommonBase.isUndefined(el)) return;\n this._realObserver(el)?.unobserve(el);\n if (el.hasAttribute(defOption.attr.timeOutId)) {\n clearTimeout(Number(el.getAttribute(defOption.attr.timeOutId)));\n el.removeAttribute(defOption.attr.timeOutId);\n }\n // 清理 img 回调,防止卸载后 onload/onerror 仍触发\n if (el.tagName.toLowerCase() === 'img') {\n const img = el as HTMLImageElement;\n img.onload = null;\n img.onerror = null;\n }\n this._images.delete(el);\n }\n\n private _setImageSrc(el: HTMLElement, src: string, error?: string, callback?: any): void {\n if (el.tagName.toLowerCase() === 'img') {\n const elImage = el as HTMLImageElement;\n if (CommonBase.isEmpty(src)) {\n elImage.onload = null;\n this._setCallback(elImage, 'error', callback);\n this._realObserver(elImage)?.disconnect();\n if (error) {\n elImage.setAttribute('src', error);\n } else {\n elImage.removeAttribute('src');\n }\n } else {\n if (this.options.isCrossOrigin) {\n elImage.crossOrigin = 'Anonymous';\n }\n if (src) {\n const preSrc = elImage.getAttribute('src');\n if (preSrc !== src) elImage.setAttribute('src', src);\n }\n elImage.onload = () => {\n if (src) {\n this._setCallback(elImage, 'loaded', callback);\n }\n };\n elImage.onerror = () => {\n // Fix onload trigger twice, clear onload event\n // Reload on update\n elImage.onload = null;\n this._setCallback(elImage, 'error', callback);\n this._realObserver(elImage)?.disconnect();\n if (error) {\n const newImageSrc = elImage.getAttribute('src');\n if (newImageSrc !== error) elImage.setAttribute('src', error);\n }\n this._log(() => {\n throw new Error(`Image failed to load!And failed src was: ${src} `);\n });\n };\n }\n } else {\n el.style.backgroundImage = `url('${src}')`;\n }\n }\n private _setCallback(\n el: HTMLElement,\n type: 'loading' | 'loaded' | 'error',\n callback?: LazyOptionInfo['callback'],\n ): void {\n el?.setAttribute('lazy', type);\n switch (type) {\n case 'loading':\n if (callback?.loading) callback.loading(el);\n break;\n case 'loaded':\n if (callback?.loaded) callback.loaded(el);\n break;\n case 'error':\n if (callback?.error) callback.error(el);\n break;\n default:\n break;\n }\n }\n private _realObserver(el: HTMLElement) {\n return this._images.get(el);\n }\n private _checkIntersectionObserver(): boolean {\n const inBrowser = typeof window !== 'undefined' && window !== null;\n if (\n inBrowser &&\n 'IntersectionObserver' in window &&\n 'IntersectionObserverEntry' in window &&\n 'intersectionRatio' in window.IntersectionObserverEntry.prototype\n ) {\n if (!('isIntersecting' in window.IntersectionObserverEntry.prototype)) {\n try {\n Object.defineProperty(window.IntersectionObserverEntry.prototype, 'isIntersecting', {\n get() {\n return this.intersectionRatio > 0;\n },\n });\n } catch (e) {\n // CSP 限制或原型冻结时降级:调用方自行用 intersectionRatio > 0 判断\n return false;\n }\n }\n return true;\n }\n return false;\n }\n private _initIntersectionObserver(\n el: HTMLElement,\n src: string,\n error?: string,\n callback?: any,\n delay?: number,\n ): void {\n const observerOptions = this.options.observerOptions;\n this._images.set(\n el,\n new IntersectionObserver(entries => {\n Array.prototype.forEach.call(entries, entry => {\n if (delay && delay > 0)\n this._delayedIntersectionCallback(el, entry, delay, src, error, callback);\n else this._intersectionCallback(el, entry, src, error, callback);\n });\n }, observerOptions),\n );\n this._realObserver(el)?.observe(el);\n }\n private _intersectionCallback(\n el: HTMLElement,\n entry: IntersectionObserverEntry,\n src: string,\n error?: string,\n callback?: any,\n ): void {\n if (entry.isIntersecting) {\n this._realObserver(el)?.unobserve(entry.target);\n this._setImageSrc(el, src, error, callback);\n }\n }\n\n private _delayedIntersectionCallback(\n el: HTMLElement,\n entry: IntersectionObserverEntry,\n delay: number,\n src: string,\n error?: string,\n callback?: any,\n ): void {\n if (entry.isIntersecting) {\n if (entry.target.hasAttribute(defOption.attr.timeOutId)) return;\n\n const timeoutId = setTimeout(() => {\n this._intersectionCallback(el, entry, src, error, callback);\n entry.target.removeAttribute(defOption.attr.timeOutId);\n }, delay);\n entry.target.setAttribute(defOption.attr.timeOutId, String(timeoutId));\n } else {\n if (entry.target.hasAttribute(defOption.attr.timeOutId)) {\n clearTimeout(Number(entry.target.getAttribute(defOption.attr.timeOutId)));\n entry.target.removeAttribute(defOption.attr.timeOutId);\n }\n }\n }\n private _log(callback: () => void): void {\n if (this.options.log) callback();\n }\n}\nexport default Lazy;\n","import { onMounted, onUnmounted, nextTick, watch, Ref } from 'vue';\nimport Lazy from './lazy';\nimport { LazyOptionInfo } from './interfaceItem';\n\nexport const useLazyload = (\n refEl: Ref<HTMLElement | null>,\n src: Ref<string>,\n options?: LazyOptionInfo,\n) => {\n const lazy = new Lazy(options);\n onMounted(() => {\n nextTick(() => {\n if (refEl.value) {\n lazy.mount(refEl.value, src);\n }\n });\n });\n onUnmounted(() => {\n if (refEl.value) {\n lazy.unmount(refEl.value);\n }\n });\n watch(src, (newVal: string) => {\n if (refEl.value) {\n lazy.update(refEl.value, newVal);\n }\n });\n};\n"],"names":["defOption","Lazy","options","CommonBase","value","el","src","loading","error","callback","delay","binding","img","elImage","type","observerOptions","entries","entry","timeoutId","useLazyload","refEl","lazy","onMounted","nextTick","onUnmounted","watch","newVal"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const I=require("vue"),r=require("./base-C2QOJBgB.js"),o={loading:"data:image/gif;base64,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",error:"data:image/png;base64,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",attr:{timeOutId:"data-lazy-timeout-id"}};class C{options={loading:o.loading,error:o.error,observerOptions:{rootMargin:"0px",threshold:0},log:!1,callback:{}};_images=new WeakMap;constructor(A){this.config(A)}config(A={}){this.options=r.CommonBase.getJsonMergeDeep(this.options,A)}_initValue(A,t){let e="",s=this.options.loading,i=this.options.error,n=this.options.callback,a=this.options.delay;return r.CommonBase.isObject(A)?(e=A.src,s=r.CommonBase.isUndefined(A.loading)?this.options.loading:A.loading,i=r.CommonBase.isUndefined(A.error)?this.options.error:A.error,n=r.CommonBase.isUndefined(A.callback)?this.options.callback:A.callback,a=r.CommonBase.isUndefined(A.delay)?this.options.delay:A.delay):r.CommonBase.isString(A)?e=A:r.CommonBase.isUndefined(A)&&(e=t&&t.src||""),{src:e,loading:s,error:i,callback:n,delay:a}}mount(A,t){if(r.CommonBase.isUndefined(A))return;const e=r.CommonBase.isString(t)?t:t.value,{src:s,loading:i,error:n,callback:a,delay:c}=this._initValue(e,A);if(this._setCallback(A,"loading",a),A.setAttribute("src",i||o.loading),!this._checkIntersectionObserver()){this._setImageSrc(A,s,n,a),this._log(()=>{throw new Error("Not support IntersectionObserver!")});return}this._initIntersectionObserver(A,s,n,a,c)}update(A,t){if(r.CommonBase.isUndefined(A))return;this._realObserver(A)?.unobserve(A),A.hasAttribute(o.attr.timeOutId)&&(clearTimeout(Number(A.getAttribute(o.attr.timeOutId))),A.removeAttribute(o.attr.timeOutId));const e=r.CommonBase.isString(t)?t:t.value,{src:s,error:i,callback:n,delay:a}=this._initValue(e,A);this._initIntersectionObserver(A,s,i,n,a)}unmount(A){if(!r.CommonBase.isUndefined(A)){if(this._realObserver(A)?.unobserve(A),A.hasAttribute(o.attr.timeOutId)&&(clearTimeout(Number(A.getAttribute(o.attr.timeOutId))),A.removeAttribute(o.attr.timeOutId)),A.tagName.toLowerCase()==="img"){const t=A;t.onload=null,t.onerror=null}this._images.delete(A)}}_setImageSrc(A,t,e,s){if(A.tagName.toLowerCase()==="img"){const i=A;r.CommonBase.isEmpty(t)?(i.onload=null,this._setCallback(i,"error",s),this._realObserver(i)?.disconnect(),e?i.setAttribute("src",e):i.removeAttribute("src")):(this.options.isCrossOrigin&&(i.crossOrigin="Anonymous"),t&&i.getAttribute("src")!==t&&i.setAttribute("src",t),i.onload=()=>{t&&this._setCallback(i,"loaded",s)},i.onerror=()=>{i.onload=null,this._setCallback(i,"error",s),this._realObserver(i)?.disconnect(),e&&i.getAttribute("src")!==e&&i.setAttribute("src",e),this._log(()=>{throw new Error(`Image failed to load!And failed src was: ${t} `)})})}else A.style.backgroundImage=`url('${t}')`}_setCallback(A,t,e){switch(A?.setAttribute("lazy",t),t){case"loading":e?.loading&&e.loading(A);break;case"loaded":e?.loaded&&e.loaded(A);break;case"error":e?.error&&e.error(A);break}}_realObserver(A){return this._images.get(A)}_checkIntersectionObserver(){if(typeof window<"u"&&window!==null&&"IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype){if(!("isIntersecting"in window.IntersectionObserverEntry.prototype))try{Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get(){return this.intersectionRatio>0}})}catch{return!1}return!0}return!1}_initIntersectionObserver(A,t,e,s,i){const n=this.options.observerOptions;this._images.set(A,new IntersectionObserver(a=>{Array.prototype.forEach.call(a,c=>{i&&i>0?this._delayedIntersectionCallback(A,c,i,t,e,s):this._intersectionCallback(A,c,t,e,s)})},n)),this._realObserver(A)?.observe(A)}_intersectionCallback(A,t,e,s,i){t.isIntersecting&&(this._realObserver(A)?.unobserve(t.target),this._setImageSrc(A,e,s,i))}_delayedIntersectionCallback(A,t,e,s,i,n){if(t.isIntersecting){if(t.target.hasAttribute(o.attr.timeOutId))return;const a=setTimeout(()=>{this._intersectionCallback(A,t,s,i,n),t.target.removeAttribute(o.attr.timeOutId)},e);t.target.setAttribute(o.attr.timeOutId,String(a))}else t.target.hasAttribute(o.attr.timeOutId)&&(clearTimeout(Number(t.target.getAttribute(o.attr.timeOutId))),t.target.removeAttribute(o.attr.timeOutId))}_log(A){this.options.log&&A()}}const E=(g,A,t)=>{const e=new C(t);I.onMounted(()=>{I.nextTick(()=>{g.value&&e.mount(g.value,A)})}),I.onUnmounted(()=>{g.value&&e.unmount(g.value)}),I.watch(A,s=>{g.value&&e.update(g.value,s)})};exports.useLazyload=E;
|
|
2
|
+
//# sourceMappingURL=use-D0Yu2Dbn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-D0Yu2Dbn.js","sources":["../../../src/libs/Element/LazyImage/lazy.ts","../../../src/libs/Element/LazyImage/use.ts"],"sourcesContent":["import CommonBase from '../../Common/base';\nimport { LazyOptionInfo } from './interfaceItem';\nconst defOption = {\n loading:\n 'data:image/gif;base64,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',\n error:\n 'data:image/png;base64,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',\n attr: {\n timeOutId: 'data-lazy-timeout-id',\n },\n isCrossOrigin: false,\n};\nclass Lazy {\n public options: LazyOptionInfo = {\n loading: defOption.loading,\n error: defOption.error,\n observerOptions: {\n rootMargin: '0px',\n threshold: 0,\n },\n log: false,\n callback: {},\n };\n private _images = new WeakMap();\n constructor(options?: LazyOptionInfo) {\n this.config(options);\n }\n public config(options = {}): void {\n this.options = CommonBase.getJsonMergeDeep(this.options, options);\n }\n private _initValue(value: any, el: any) {\n let src = '';\n let loading = this.options.loading;\n let error = this.options.error;\n let callback = this.options.callback;\n let delay = this.options.delay;\n if (CommonBase.isObject(value)) {\n src = value.src;\n loading = !CommonBase.isUndefined(value.loading) ? value.loading : this.options.loading;\n error = !CommonBase.isUndefined(value.error) ? value.error : this.options.error;\n callback = !CommonBase.isUndefined(value.callback) ? value.callback : this.options.callback;\n delay = !CommonBase.isUndefined(value.delay) ? value.delay : this.options.delay;\n } else if (CommonBase.isString(value)) {\n src = value;\n } else if (CommonBase.isUndefined(value)) {\n src = (el && el.src) || '';\n }\n return {\n src,\n loading,\n error,\n callback,\n delay,\n };\n }\n public mount(el: HTMLElement, binding: any): void {\n if (CommonBase.isUndefined(el)) return;\n const value = CommonBase.isString(binding) ? binding : binding.value;\n const { src, loading, error, callback, delay } = this._initValue(value, el);\n this._setCallback(el, 'loading', callback);\n el.setAttribute('src', loading || defOption.loading);\n if (!this._checkIntersectionObserver()) {\n this._setImageSrc(el, src, error, callback);\n this._log(() => {\n throw new Error('Not support IntersectionObserver!');\n });\n return;\n }\n this._initIntersectionObserver(el, src, error, callback, delay);\n }\n public update(el: HTMLElement, binding: any): void {\n if (CommonBase.isUndefined(el)) return;\n this._realObserver(el)?.unobserve(el);\n if (el.hasAttribute(defOption.attr.timeOutId)) {\n clearTimeout(Number(el.getAttribute(defOption.attr.timeOutId)));\n el.removeAttribute(defOption.attr.timeOutId);\n }\n const value = CommonBase.isString(binding) ? binding : binding.value;\n const { src, error, callback, delay } = this._initValue(value, el);\n this._initIntersectionObserver(el, src, error, callback, delay);\n }\n public unmount(el: HTMLElement): void {\n if (CommonBase.isUndefined(el)) return;\n this._realObserver(el)?.unobserve(el);\n if (el.hasAttribute(defOption.attr.timeOutId)) {\n clearTimeout(Number(el.getAttribute(defOption.attr.timeOutId)));\n el.removeAttribute(defOption.attr.timeOutId);\n }\n // 清理 img 回调,防止卸载后 onload/onerror 仍触发\n if (el.tagName.toLowerCase() === 'img') {\n const img = el as HTMLImageElement;\n img.onload = null;\n img.onerror = null;\n }\n this._images.delete(el);\n }\n\n private _setImageSrc(el: HTMLElement, src: string, error?: string, callback?: any): void {\n if (el.tagName.toLowerCase() === 'img') {\n const elImage = el as HTMLImageElement;\n if (CommonBase.isEmpty(src)) {\n elImage.onload = null;\n this._setCallback(elImage, 'error', callback);\n this._realObserver(elImage)?.disconnect();\n if (error) {\n elImage.setAttribute('src', error);\n } else {\n elImage.removeAttribute('src');\n }\n } else {\n if (this.options.isCrossOrigin) {\n elImage.crossOrigin = 'Anonymous';\n }\n if (src) {\n const preSrc = elImage.getAttribute('src');\n if (preSrc !== src) elImage.setAttribute('src', src);\n }\n elImage.onload = () => {\n if (src) {\n this._setCallback(elImage, 'loaded', callback);\n }\n };\n elImage.onerror = () => {\n // Fix onload trigger twice, clear onload event\n // Reload on update\n elImage.onload = null;\n this._setCallback(elImage, 'error', callback);\n this._realObserver(elImage)?.disconnect();\n if (error) {\n const newImageSrc = elImage.getAttribute('src');\n if (newImageSrc !== error) elImage.setAttribute('src', error);\n }\n this._log(() => {\n throw new Error(`Image failed to load!And failed src was: ${src} `);\n });\n };\n }\n } else {\n el.style.backgroundImage = `url('${src}')`;\n }\n }\n private _setCallback(\n el: HTMLElement,\n type: 'loading' | 'loaded' | 'error',\n callback?: LazyOptionInfo['callback'],\n ): void {\n el?.setAttribute('lazy', type);\n switch (type) {\n case 'loading':\n if (callback?.loading) callback.loading(el);\n break;\n case 'loaded':\n if (callback?.loaded) callback.loaded(el);\n break;\n case 'error':\n if (callback?.error) callback.error(el);\n break;\n default:\n break;\n }\n }\n private _realObserver(el: HTMLElement) {\n return this._images.get(el);\n }\n private _checkIntersectionObserver(): boolean {\n const inBrowser = typeof window !== 'undefined' && window !== null;\n if (\n inBrowser &&\n 'IntersectionObserver' in window &&\n 'IntersectionObserverEntry' in window &&\n 'intersectionRatio' in window.IntersectionObserverEntry.prototype\n ) {\n if (!('isIntersecting' in window.IntersectionObserverEntry.prototype)) {\n try {\n Object.defineProperty(window.IntersectionObserverEntry.prototype, 'isIntersecting', {\n get() {\n return this.intersectionRatio > 0;\n },\n });\n } catch (e) {\n // CSP 限制或原型冻结时降级:调用方自行用 intersectionRatio > 0 判断\n return false;\n }\n }\n return true;\n }\n return false;\n }\n private _initIntersectionObserver(\n el: HTMLElement,\n src: string,\n error?: string,\n callback?: any,\n delay?: number,\n ): void {\n const observerOptions = this.options.observerOptions;\n this._images.set(\n el,\n new IntersectionObserver(entries => {\n Array.prototype.forEach.call(entries, entry => {\n if (delay && delay > 0)\n this._delayedIntersectionCallback(el, entry, delay, src, error, callback);\n else this._intersectionCallback(el, entry, src, error, callback);\n });\n }, observerOptions),\n );\n this._realObserver(el)?.observe(el);\n }\n private _intersectionCallback(\n el: HTMLElement,\n entry: IntersectionObserverEntry,\n src: string,\n error?: string,\n callback?: any,\n ): void {\n if (entry.isIntersecting) {\n this._realObserver(el)?.unobserve(entry.target);\n this._setImageSrc(el, src, error, callback);\n }\n }\n\n private _delayedIntersectionCallback(\n el: HTMLElement,\n entry: IntersectionObserverEntry,\n delay: number,\n src: string,\n error?: string,\n callback?: any,\n ): void {\n if (entry.isIntersecting) {\n if (entry.target.hasAttribute(defOption.attr.timeOutId)) return;\n\n const timeoutId = setTimeout(() => {\n this._intersectionCallback(el, entry, src, error, callback);\n entry.target.removeAttribute(defOption.attr.timeOutId);\n }, delay);\n entry.target.setAttribute(defOption.attr.timeOutId, String(timeoutId));\n } else {\n if (entry.target.hasAttribute(defOption.attr.timeOutId)) {\n clearTimeout(Number(entry.target.getAttribute(defOption.attr.timeOutId)));\n entry.target.removeAttribute(defOption.attr.timeOutId);\n }\n }\n }\n private _log(callback: () => void): void {\n if (this.options.log) callback();\n }\n}\nexport default Lazy;\n","import { onMounted, onUnmounted, nextTick, watch, Ref } from 'vue';\nimport Lazy from './lazy';\nimport { LazyOptionInfo } from './interfaceItem';\n\nexport const useLazyload = (\n refEl: Ref<HTMLElement | null>,\n src: Ref<string>,\n options?: LazyOptionInfo,\n) => {\n const lazy = new Lazy(options);\n onMounted(() => {\n nextTick(() => {\n if (refEl.value) {\n lazy.mount(refEl.value, src);\n }\n });\n });\n onUnmounted(() => {\n if (refEl.value) {\n lazy.unmount(refEl.value);\n }\n });\n watch(src, (newVal: string) => {\n if (refEl.value) {\n lazy.update(refEl.value, newVal);\n }\n });\n};\n"],"names":["defOption","Lazy","options","CommonBase","value","el","src","loading","error","callback","delay","binding","img","elImage","type","observerOptions","entries","entry","timeoutId","useLazyload","refEl","lazy","onMounted","nextTick","onUnmounted","watch","newVal"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),s=require("../Shared/base-C2QOJBgB.js"),P=require("../Shared/index-DAgtltwJ.js"),S=require("../Shared/Index.vue_vue_type_script_setup_true_lang-CGycYcYz.js"),v=require("../Shared/Index.vue_vue_type_script_setup_true_lang-BavQMSPb.js"),b=require("../Shared/Index.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
"use strict";const e=require("vue"),s=require("../Shared/base-C2QOJBgB.js"),P=require("../Shared/index-DAgtltwJ.js"),S=require("../Shared/Index.vue_vue_type_script_setup_true_lang-CGycYcYz.js"),v=require("../Shared/Index.vue_vue_type_script_setup_true_lang-BavQMSPb.js"),b=require("../Shared/Index.vue_vue_type_script_setup_true_lang-BDPkmgGP.js"),x=require("../Shared/Index.vue_vue_type_script_setup_true_lang-r6RBdV4y.js"),F=["id"],N={class:"cropperPreview-box-flex"},O=e.defineComponent({name:"ClCropperPreview",__name:"Index",props:{id:String,className:String,previewImageUrl:String,coverImageUrl:String,width:{type:Number,default:200},height:{type:Number,default:200},widthPreview:Number,heightPreview:Number,previewShape:{type:String,default:"square"},isCenterBox:{type:Boolean,default:!1},isShowUploadBtn:{type:Boolean,default:!0},getCropperImageUrl:Function,saveImageBase64:Function},emits:{onInitCoverImage:()=>!0,onError:a=>!0},setup(a,{expose:h,emit:C}){const n=a,m=C,w=n.id,l=e.ref(null),o=e.reactive({isEmptyPreviewUrl:!1,isEmptyCoverUrl:!1,isAgainCropper:!1,coverImageUrlOriginal:""});let p=!1;const d=e.computed(()=>{const{width:t,widthPreview:r}=n;return s.CommonBase.isFinite(r)?r:t}),U=e.computed(()=>{const{height:t,heightPreview:r}=n;return s.CommonBase.isFinite(r)?r:t}),_=e.computed(()=>({"panel-cropperPreview":!0,...P.CommonElement.getClassNameJson(n.className)})),g=()=>{const{previewImageUrl:t}=n,r=s.CommonBase.isEmpty(t);o.isEmptyPreviewUrl=r,o.isAgainCropper=r},u=()=>{const{coverImageUrl:t}=n,r=s.CommonBase.isEmpty(t);o.isEmptyCoverUrl=r,o.coverImageUrlOriginal=r?"":t},y=()=>{const{width:t,height:r}=n;(t<=0||r<=0)&&console.warn("[ClCropperPreview] 裁切区域宽高必须大于 0,当前值 width="+t+" height="+r)},B=()=>{g(),u(),y()};e.onMounted(()=>{e.nextTick(()=>{B()})}),e.watch(()=>n.previewImageUrl,()=>{g()}),e.watch(()=>n.coverImageUrl,()=>{u()});const I=t=>{t===!0&&m("onInitCoverImage")},f=(t,r)=>{if(!p){if(!(t instanceof File)){m("onError","文件读取失败,请重新选择图片");return}p=!0,l.value?.loadingStart(),s.CommonBase.getBase64ByFile(t).then(i=>{o.isAgainCropper=!0,o.coverImageUrlOriginal=i||"",o.isEmptyCoverUrl=!1,l.value?.loadingStop(),p=!1}).catch(i=>{l.value?.loadingStop(),p=!1,m("onError","文件读取失败,请重新选择图片")})}},k=()=>{o.isAgainCropper=!1},E=()=>{o.isAgainCropper=!0};return h({getValue:async()=>{let t="";try{t=l.value?String(await l.value.getImageBase64()||""):""}catch(r){console.error("[ClCropperPreview] getValue 获取裁切图片失败:",r)}return t},getCropperUrl:async t=>{let r="";try{if(l.value&&s.CommonBase.isFunction(n.getCropperImageUrl))r=await n.getCropperImageUrl(l.value,t);else{const{previewImageUrl:i,coverImageUrl:c}=n;r=s.CommonBase.isNonEmptyString(i)?i:c||""}}catch(i){console.error("getCropperUrl 调用失败:",i)}return r},getCoverUrlOriginal:async t=>{let r="";try{const{coverImageUrlOriginal:i}=o;if(i.startsWith("data:")&&s.CommonBase.isFunction(n.saveImageBase64)){const c=await n.saveImageBase64(i,t);r=c&&c.success?c.imageUrl:""}else/^(http|https):\/\/[^\s]+$/.test(i)&&(r=i)}catch(i){console.error("getCoverUrlOriginal 调用失败:",i)}return r}}),(t,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(_.value),id:e.unref(w)},[e.createElementVNode("div",N,[o.isEmptyPreviewUrl?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[o.isAgainCropper?(e.openBlock(),e.createBlock(v._sfc_main,{key:0,className:"m-b-5 w-120 m-r-10",icon:"clIconFont clIcon-reply",label:"返回",color:"transparent",onOnClick:k})):(e.openBlock(),e.createBlock(v._sfc_main,{key:1,className:"m-b-5 w-120",icon:"clIconFont clIcon-cropper",label:"重新裁切",color:"transparent",onOnClick:E}))],64)),a.isShowUploadBtn&&(o.isAgainCropper||o.isEmptyCoverUrl&&o.isEmptyPreviewUrl)?(e.openBlock(),e.createBlock(b._sfc_main,{key:2,className:"m-b-5",theme:"button",checkFormat:"jpg,png",buttonIcon:"clIconFont clIcon-upload-cloud",buttonColor:"white",buttonLabel:"选择图片",isShowUploadResult:!1,isShowUploadIng:!1,onOnChange:f})):(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[],64))]),!o.isEmptyPreviewUrl&&!o.isAgainCropper?(e.openBlock(),e.createBlock(x._sfc_main,{key:0,type:"image",list:[{value:a.previewImageUrl||"",imgUrl:"",label:""}],width:d.value,height:U.value},null,8,["list","width","height"])):o.isAgainCropper&&(!o.isEmptyPreviewUrl||!o.isEmptyCoverUrl)?(e.openBlock(),e.createBlock(S._sfc_main,{key:1,ref_key:"refElCropper",ref:l,previewShape:a.previewShape,isCenterBox:a.isCenterBox,src:o.coverImageUrlOriginal,width:a.width,height:a.height,isModal:!1,isShowUpload:!1,onOnImgLoad:I},null,8,["previewShape","isCenterBox","src","width","height"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[],64))],10,F))}});module.exports=O;
|
|
2
2
|
//# sourceMappingURL=ClCropperPreview.cjs.map
|
|
@@ -3,8 +3,8 @@ import { C as s } from "../Shared/base-DU7nGSf6.js";
|
|
|
3
3
|
import { C as T } from "../Shared/index-DvNmQjNH.js";
|
|
4
4
|
import { _ as W } from "../Shared/Index.vue_vue_type_script_setup_true_lang-C3DLlsoZ.js";
|
|
5
5
|
import { _ as d } from "../Shared/Index.vue_vue_type_script_setup_true_lang-B16tpDIR.js";
|
|
6
|
-
import { _ as j } from "../Shared/Index.vue_vue_type_script_setup_true_lang-
|
|
7
|
-
import { _ as q } from "../Shared/Index.vue_vue_type_script_setup_true_lang-
|
|
6
|
+
import { _ as j } from "../Shared/Index.vue_vue_type_script_setup_true_lang-gsnpWNek.js";
|
|
7
|
+
import { _ as q } from "../Shared/Index.vue_vue_type_script_setup_true_lang-CvF_iIQS.js";
|
|
8
8
|
const z = ["id"], H = { class: "cropperPreview-box-flex" }, te = /* @__PURE__ */ N({
|
|
9
9
|
name: "ClCropperPreview",
|
|
10
10
|
__name: "Index",
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("../Shared/Index.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
"use strict";const e=require("../Shared/Index.vue_vue_type_script_setup_true_lang-Bnjm8vi-.js");module.exports=e._sfc_main;
|
|
2
2
|
//# sourceMappingURL=ClDatetime.cjs.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const e=require("vue"),c=require("../Shared/Index.vue_vue_type_script_setup_true_lang-BGE3W0ft.js"),u=require("../Shared/base-C2QOJBgB.js"),m=require("../Shared/index-DAgtltwJ.js"),p=["id"],f=["id","aria-disabled"],_=e.defineComponent({name:"ClDropdownMenuItem",__name:"Item",props:{id:String,className:String,url:String,disabled:{type:Boolean,default:!1},isDivider:{type:Boolean,default:!1},extData:Object},emits:{onClick:t=>!0},setup(t,{emit:s}){const n=t,d=s,o=n.id,l=e.inject("$DropdownmenuTop"),r=e.computed(()=>{let i={"dropdownMenu-item":!0,"dropdownMenu-item-disabled":n.disabled,"panel-dropdownmenuitem":!0};return i=u.CommonBase.getJsonMerge(i,m.CommonElement.getClassNameJson(n.className)),i}),a=()=>{n.disabled||(l?.hideDropdown(),d("onClick",n.extData))};return(i,b)=>t.isDivider?(e.openBlock(),e.createElementBlock("li",{key:0,id:e.unref(o),role:"separator",class:"dropdownMenu-divider"},null,8,p)):(e.openBlock(),e.createElementBlock("li",{key:1,id:e.unref(o),role:"menuitem","aria-disabled":t.disabled?"true":void 0,class:e.normalizeClass(r.value)},[e.createVNode(c._sfc_main,{url:t.url,disabled:t.disabled,isHideUnderline:!0,onOnClick:a},{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},8,["url","disabled"])],10,f))}});module.exports=_;
|
|
2
|
+
//# sourceMappingURL=ClDropdownMenuItem.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClDropdownMenuItem.cjs","sources":["../../../src/libs/Web/DropdownMenu/Item.vue"],"sourcesContent":["<template>\n <li\n v-if=\"isDivider\"\n :id=\"elId\"\n role=\"separator\"\n class=\"dropdownMenu-divider\"\n ></li>\n <li\n v-else\n :id=\"elId\"\n role=\"menuitem\"\n :aria-disabled=\"disabled ? 'true' : undefined\"\n :class=\"clsItem\"\n >\n <cl-link\n :url=\"url\"\n :disabled=\"disabled\"\n :isHideUnderline=\"true\"\n @onClick=\"onClickItem\"\n >\n <slot></slot>\n </cl-link>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, inject } from 'vue';\nimport ClLink from '../../Element/Link/Index.vue';\nimport CommonBase from '../../Common/base';\nimport CommonElement from '../../Common/Element/index';\nimport type { DropdownMenuTop } from './Index.vue';\nimport './css/Item.css';\n\ndefineOptions({ name: 'ClDropdownMenuItem' });\n\nconst props = defineProps({\n id: String, // desc: 组件实例唯一标识,用于多实例场景下 DOM 查询限定\n className: String, // desc: 自定义 CSS 类名\n url: String, // desc: 链接地址\n disabled: {\n type: Boolean,\n default: false, // desc: 是否禁用\n },\n isDivider: {\n type: Boolean,\n default: false, // desc: 是否为分割线\n },\n extData: Object, // desc: 扩展数据,点击时回调传出\n});\n\nconst emit = defineEmits({\n onClick: (_extData?: object) => true, // desc: 点击菜单项时触发\n});\n\n// slots: default\n\nconst elId = props.id; // || `_elId_-${CommonBase.getRandom(8)}`\nconst _selfTop = inject<DropdownMenuTop>('$DropdownmenuTop');\n\nconst clsItem = computed(() => {\n let cls: Record<string, boolean> = {\n 'dropdownMenu-item': true,\n 'dropdownMenu-item-disabled': props.disabled,\n 'panel-dropdownmenuitem': true,\n };\n cls = CommonBase.getJsonMerge(cls, CommonElement.getClassNameJson(props.className));\n return cls;\n});\n\n// 时序约定:hideDropdown 同步置 DropdownLayer isOpen=false,面板关闭与 onChangeOpen 经 watch 异步生效,\n// onClick 先于 onChangeOpen 发出,调用方勿在 onClick 中同步依赖面板关闭状态\nconst onClickItem = () => {\n if (!props.disabled) {\n _selfTop?.hideDropdown();\n emit('onClick', props.extData);\n }\n};\n</script>\n"],"names":["props","__props","emit","__emit","elId","_selfTop","inject","clsItem","computed","cls","CommonBase","CommonElement","onClickItem","_createElementBlock","_unref","_createVNode","ClLink","_renderSlot","_ctx"],"mappings":"6cAmCA,MAAMA,EAAQC,EAeRC,EAAOC,EAMPC,EAAOJ,EAAM,GACbK,EAAWC,EAAAA,OAAwB,kBAAkB,EAErDC,EAAUC,EAAAA,SAAS,IAAM,CAC7B,IAAIC,EAA+B,CACjC,oBAAqB,GACrB,6BAA8BT,EAAM,SACpC,yBAA0B,EAAA,EAE5B,OAAAS,EAAMC,EAAAA,WAAW,aAAaD,EAAKE,EAAAA,cAAc,iBAAiBX,EAAM,SAAS,CAAC,EAC3ES,CACT,CAAC,EAIKG,EAAc,IAAM,CACnBZ,EAAM,WACTK,GAAU,aAAA,EACVH,EAAK,UAAWF,EAAM,OAAO,EAEjC,eA1EUC,EAAA,yBADRY,EAAAA,mBAKM,KAAA,OAHH,GAAIC,EAAAA,MAAAV,CAAA,EACL,KAAK,YACL,MAAM,sBAAA,4BAERS,EAAAA,mBAeK,KAAA,OAbF,GAAIC,EAAAA,MAAAV,CAAA,EACL,KAAK,WACJ,gBAAeH,EAAA,SAAQ,OAAY,OACnC,uBAAOM,EAAA,KAAO,CAAA,GAEfQ,EAAAA,YAOUC,EAAAA,UAAA,CANP,IAAKf,EAAA,IACL,SAAUA,EAAA,SACV,gBAAiB,GACjB,UAASW,CAAA,qBAEV,IAAa,CAAbK,aAAaC,EAAA,OAAA,SAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.dropdownMenu-divider{margin:2px 5px;height:1px;overflow:hidden;background-color:#e5e5e5}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { defineComponent as u, inject as p, computed as f, openBlock as n, createElementBlock as d, unref as a, normalizeClass as C, createVNode as b, withCtx as k, renderSlot as w } from "vue";
|
|
2
|
+
import { _ as D } from "../Shared/Index.vue_vue_type_script_setup_true_lang-DWAT7nze.js";
|
|
3
|
+
import { C as _ } from "../Shared/base-DU7nGSf6.js";
|
|
4
|
+
import { C as g } from "../Shared/index-DvNmQjNH.js";
|
|
5
|
+
const h = ["id"], v = ["id", "aria-disabled"], N = /* @__PURE__ */ u({
|
|
6
|
+
name: "ClDropdownMenuItem",
|
|
7
|
+
__name: "Item",
|
|
8
|
+
props: {
|
|
9
|
+
id: String,
|
|
10
|
+
// desc: 组件实例唯一标识,用于多实例场景下 DOM 查询限定
|
|
11
|
+
className: String,
|
|
12
|
+
// desc: 自定义 CSS 类名
|
|
13
|
+
url: String,
|
|
14
|
+
// desc: 链接地址
|
|
15
|
+
disabled: {
|
|
16
|
+
type: Boolean,
|
|
17
|
+
default: !1
|
|
18
|
+
// desc: 是否禁用
|
|
19
|
+
},
|
|
20
|
+
isDivider: {
|
|
21
|
+
type: Boolean,
|
|
22
|
+
default: !1
|
|
23
|
+
// desc: 是否为分割线
|
|
24
|
+
},
|
|
25
|
+
extData: Object
|
|
26
|
+
// desc: 扩展数据,点击时回调传出
|
|
27
|
+
},
|
|
28
|
+
emits: {
|
|
29
|
+
onClick: (e) => !0
|
|
30
|
+
// desc: 点击菜单项时触发
|
|
31
|
+
},
|
|
32
|
+
setup(e, { emit: l }) {
|
|
33
|
+
const t = e, s = l, i = t.id, r = p("$DropdownmenuTop"), m = f(() => {
|
|
34
|
+
let o = {
|
|
35
|
+
"dropdownMenu-item": !0,
|
|
36
|
+
"dropdownMenu-item-disabled": t.disabled,
|
|
37
|
+
"panel-dropdownmenuitem": !0
|
|
38
|
+
};
|
|
39
|
+
return o = _.getJsonMerge(o, g.getClassNameJson(t.className)), o;
|
|
40
|
+
}), c = () => {
|
|
41
|
+
t.disabled || (r?.hideDropdown(), s("onClick", t.extData));
|
|
42
|
+
};
|
|
43
|
+
return (o, x) => e.isDivider ? (n(), d("li", {
|
|
44
|
+
key: 0,
|
|
45
|
+
id: a(i),
|
|
46
|
+
role: "separator",
|
|
47
|
+
class: "dropdownMenu-divider"
|
|
48
|
+
}, null, 8, h)) : (n(), d("li", {
|
|
49
|
+
key: 1,
|
|
50
|
+
id: a(i),
|
|
51
|
+
role: "menuitem",
|
|
52
|
+
"aria-disabled": e.disabled ? "true" : void 0,
|
|
53
|
+
class: C(m.value)
|
|
54
|
+
}, [
|
|
55
|
+
b(D, {
|
|
56
|
+
url: e.url,
|
|
57
|
+
disabled: e.disabled,
|
|
58
|
+
isHideUnderline: !0,
|
|
59
|
+
onOnClick: c
|
|
60
|
+
}, {
|
|
61
|
+
default: k(() => [
|
|
62
|
+
w(o.$slots, "default")
|
|
63
|
+
]),
|
|
64
|
+
_: 3
|
|
65
|
+
}, 8, ["url", "disabled"])
|
|
66
|
+
], 10, v));
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
export {
|
|
70
|
+
N as default
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=ClDropdownMenuItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClDropdownMenuItem.js","sources":["../../../src/libs/Web/DropdownMenu/Item.vue"],"sourcesContent":["<template>\n <li\n v-if=\"isDivider\"\n :id=\"elId\"\n role=\"separator\"\n class=\"dropdownMenu-divider\"\n ></li>\n <li\n v-else\n :id=\"elId\"\n role=\"menuitem\"\n :aria-disabled=\"disabled ? 'true' : undefined\"\n :class=\"clsItem\"\n >\n <cl-link\n :url=\"url\"\n :disabled=\"disabled\"\n :isHideUnderline=\"true\"\n @onClick=\"onClickItem\"\n >\n <slot></slot>\n </cl-link>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, inject } from 'vue';\nimport ClLink from '../../Element/Link/Index.vue';\nimport CommonBase from '../../Common/base';\nimport CommonElement from '../../Common/Element/index';\nimport type { DropdownMenuTop } from './Index.vue';\nimport './css/Item.css';\n\ndefineOptions({ name: 'ClDropdownMenuItem' });\n\nconst props = defineProps({\n id: String, // desc: 组件实例唯一标识,用于多实例场景下 DOM 查询限定\n className: String, // desc: 自定义 CSS 类名\n url: String, // desc: 链接地址\n disabled: {\n type: Boolean,\n default: false, // desc: 是否禁用\n },\n isDivider: {\n type: Boolean,\n default: false, // desc: 是否为分割线\n },\n extData: Object, // desc: 扩展数据,点击时回调传出\n});\n\nconst emit = defineEmits({\n onClick: (_extData?: object) => true, // desc: 点击菜单项时触发\n});\n\n// slots: default\n\nconst elId = props.id; // || `_elId_-${CommonBase.getRandom(8)}`\nconst _selfTop = inject<DropdownMenuTop>('$DropdownmenuTop');\n\nconst clsItem = computed(() => {\n let cls: Record<string, boolean> = {\n 'dropdownMenu-item': true,\n 'dropdownMenu-item-disabled': props.disabled,\n 'panel-dropdownmenuitem': true,\n };\n cls = CommonBase.getJsonMerge(cls, CommonElement.getClassNameJson(props.className));\n return cls;\n});\n\n// 时序约定:hideDropdown 同步置 DropdownLayer isOpen=false,面板关闭与 onChangeOpen 经 watch 异步生效,\n// onClick 先于 onChangeOpen 发出,调用方勿在 onClick 中同步依赖面板关闭状态\nconst onClickItem = () => {\n if (!props.disabled) {\n _selfTop?.hideDropdown();\n emit('onClick', props.extData);\n }\n};\n</script>\n"],"names":["props","__props","emit","__emit","elId","_selfTop","inject","clsItem","computed","cls","CommonBase","CommonElement","onClickItem","_createElementBlock","_unref","_createVNode","ClLink","_renderSlot","_ctx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,UAAMA,IAAQC,GAeRC,IAAOC,GAMPC,IAAOJ,EAAM,IACbK,IAAWC,EAAwB,kBAAkB,GAErDC,IAAUC,EAAS,MAAM;AAC7B,UAAIC,IAA+B;AAAA,QACjC,qBAAqB;AAAA,QACrB,8BAA8BT,EAAM;AAAA,QACpC,0BAA0B;AAAA,MAAA;AAE5B,aAAAS,IAAMC,EAAW,aAAaD,GAAKE,EAAc,iBAAiBX,EAAM,SAAS,CAAC,GAC3ES;AAAA,IACT,CAAC,GAIKG,IAAc,MAAM;AACxB,MAAKZ,EAAM,aACTK,GAAU,aAAA,GACVH,EAAK,WAAWF,EAAM,OAAO;AAAA,IAEjC;qBA1EUC,EAAA,kBADRY,EAKM,MAAA;AAAA;MAHH,IAAIC,EAAAV,CAAA;AAAA,MACL,MAAK;AAAA,MACL,OAAM;AAAA,IAAA,wBAERS,EAeK,MAAA;AAAA;MAbF,IAAIC,EAAAV,CAAA;AAAA,MACL,MAAK;AAAA,MACJ,iBAAeH,EAAA,WAAQ,SAAY;AAAA,MACnC,SAAOM,EAAA,KAAO;AAAA,IAAA;MAEfQ,EAOUC,GAAA;AAAA,QANP,KAAKf,EAAA;AAAA,QACL,UAAUA,EAAA;AAAA,QACV,iBAAiB;AAAA,QACjB,WAASW;AAAA,MAAA;mBAEV,MAAa;AAAA,UAAbK,EAAaC,EAAA,QAAA,SAAA;AAAA,QAAA;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("../Shared/Index.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
"use strict";const e=require("../Shared/Index.vue_vue_type_script_setup_true_lang-tjRv0vNR.js");module.exports=e._sfc_main;
|
|
2
2
|
//# sourceMappingURL=ClEcharts.cjs.map
|