@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.
Files changed (201) hide show
  1. package/buildLibs/utils/Element/ClCheckboxOne.cjs +2 -0
  2. package/buildLibs/utils/Element/ClCheckboxOne.cjs.map +1 -0
  3. package/buildLibs/utils/Element/ClCheckboxOne.js +5 -0
  4. package/buildLibs/utils/Element/ClCheckboxOne.js.map +1 -0
  5. package/buildLibs/utils/Element/ClFormValidate.cjs +2 -0
  6. package/buildLibs/utils/Element/ClFormValidate.cjs.map +1 -0
  7. package/buildLibs/utils/Element/ClFormValidate.js +5 -0
  8. package/buildLibs/utils/Element/ClFormValidate.js.map +1 -0
  9. package/buildLibs/utils/Element/ClImage.cjs +1 -1
  10. package/buildLibs/utils/Element/ClImage.js +1 -1
  11. package/buildLibs/utils/Element/ClLoadFullCenter.cjs +2 -0
  12. package/buildLibs/utils/Element/ClLoadFullCenter.cjs.map +1 -0
  13. package/buildLibs/utils/Element/ClLoadFullCenter.css +1 -0
  14. package/buildLibs/utils/Element/ClLoadFullCenter.js +45 -0
  15. package/buildLibs/utils/Element/ClLoadFullCenter.js.map +1 -0
  16. package/buildLibs/utils/Element/ClLoadIng.cjs +2 -0
  17. package/buildLibs/utils/Element/ClLoadIng.cjs.map +1 -0
  18. package/buildLibs/utils/Element/ClLoadIng.js +5 -0
  19. package/buildLibs/utils/Element/ClLoadIng.js.map +1 -0
  20. package/buildLibs/utils/Element/ClLoadWarp.cjs +2 -0
  21. package/buildLibs/utils/Element/ClLoadWarp.cjs.map +1 -0
  22. package/buildLibs/utils/Element/ClLoadWarp.css +1 -0
  23. package/buildLibs/utils/Element/ClLoadWarp.js +53 -0
  24. package/buildLibs/utils/Element/ClLoadWarp.js.map +1 -0
  25. package/buildLibs/utils/Element/ClRadioOne.cjs +2 -0
  26. package/buildLibs/utils/Element/ClRadioOne.cjs.map +1 -0
  27. package/buildLibs/utils/Element/ClRadioOne.js +5 -0
  28. package/buildLibs/utils/Element/ClRadioOne.js.map +1 -0
  29. package/buildLibs/utils/Element/ClTransitionSlideupdown.cjs +2 -0
  30. package/buildLibs/utils/Element/ClTransitionSlideupdown.cjs.map +1 -0
  31. package/buildLibs/utils/Element/ClTransitionSlideupdown.js +5 -0
  32. package/buildLibs/utils/Element/ClTransitionSlideupdown.js.map +1 -0
  33. package/buildLibs/utils/Element/ClWaterfallImage.cjs +2 -0
  34. package/buildLibs/utils/Element/ClWaterfallImage.cjs.map +1 -0
  35. package/buildLibs/utils/Element/ClWaterfallImage.css +1 -0
  36. package/buildLibs/utils/Element/ClWaterfallImage.js +48 -0
  37. package/buildLibs/utils/Element/ClWaterfallImage.js.map +1 -0
  38. package/buildLibs/utils/Mobile/ClBanner.cjs +1 -1
  39. package/buildLibs/utils/Mobile/ClBanner.js +1 -1
  40. package/buildLibs/utils/Mobile/ClDropdownMenuM.cjs +1 -1
  41. package/buildLibs/utils/Mobile/ClDropdownMenuM.cjs.map +1 -1
  42. package/buildLibs/utils/Mobile/ClDropdownMenuM.js +13 -12
  43. package/buildLibs/utils/Mobile/ClDropdownMenuM.js.map +1 -1
  44. package/buildLibs/utils/Mobile/ClDropdownMenuMItem.cjs +2 -0
  45. package/buildLibs/utils/Mobile/ClDropdownMenuMItem.cjs.map +1 -0
  46. package/buildLibs/utils/Mobile/ClDropdownMenuMItem.js +160 -0
  47. package/buildLibs/utils/Mobile/ClDropdownMenuMItem.js.map +1 -0
  48. package/buildLibs/utils/Mobile/ClPicker.cjs +1 -1
  49. package/buildLibs/utils/Mobile/ClPicker.js +1 -1
  50. package/buildLibs/utils/Mobile/ClPickerDate.cjs +1 -1
  51. package/buildLibs/utils/Mobile/ClPickerDate.js +1 -1
  52. package/buildLibs/utils/Mobile/ClPickerTime.cjs +1 -1
  53. package/buildLibs/utils/Mobile/ClPickerTime.js +1 -1
  54. package/buildLibs/utils/Mobile/ClPullToRefresh.cjs +1 -1
  55. package/buildLibs/utils/Mobile/ClPullToRefresh.js +1 -1
  56. package/buildLibs/utils/Mobile/ClScrollCard.cjs +1 -1
  57. package/buildLibs/utils/Mobile/ClScrollCard.js +1 -1
  58. 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
  59. 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
  60. package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-B-yZtW91.js +71 -0
  61. package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-B-yZtW91.js.map +1 -0
  62. 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
  63. 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
  64. 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
  65. 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
  66. 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
  67. 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
  68. 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
  69. 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
  70. 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
  71. 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
  72. 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
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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
  78. package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-CjgtxJ6a.js +2 -0
  79. package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-CjgtxJ6a.js.map +1 -0
  80. 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
  81. 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
  82. package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-CumTbPny.js +2 -0
  83. package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-CumTbPny.js.map +1 -0
  84. 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
  85. 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
  86. package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-CxVAWr6w.js +266 -0
  87. package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-CxVAWr6w.js.map +1 -0
  88. 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
  89. 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
  90. 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
  91. 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
  92. 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
  93. 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
  94. 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
  95. 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
  96. 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
  97. 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
  98. 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
  99. 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
  100. 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
  101. 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
  102. 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
  103. 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
  104. 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
  105. 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
  106. 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
  107. 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
  108. 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
  109. 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
  110. 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
  111. 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
  112. 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
  113. 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
  114. package/buildLibs/utils/Shared/Index24.css +1 -1
  115. package/buildLibs/utils/Shared/Index25.css +1 -1
  116. package/buildLibs/utils/Shared/Index26.css +1 -1
  117. package/buildLibs/utils/Shared/Index27.css +1 -1
  118. package/buildLibs/utils/Shared/Index28.css +1 -1
  119. package/buildLibs/utils/Shared/Index29.css +1 -1
  120. package/buildLibs/utils/Shared/Index30.css +1 -1
  121. package/buildLibs/utils/Shared/Index31.css +1 -1
  122. package/buildLibs/utils/Shared/Index32.css +1 -1
  123. package/buildLibs/utils/Shared/Index33.css +1 -1
  124. package/buildLibs/utils/Shared/Index34.css +1 -1
  125. package/buildLibs/utils/Shared/Index35.css +1 -1
  126. package/buildLibs/utils/Shared/Index36.css +1 -1
  127. package/buildLibs/utils/Shared/Index37.css +1 -0
  128. package/buildLibs/utils/Shared/One.vue_vue_type_script_setup_true_lang-CR1t8XZl.js +2 -0
  129. package/buildLibs/utils/Shared/One.vue_vue_type_script_setup_true_lang-CR1t8XZl.js.map +1 -0
  130. package/buildLibs/utils/Shared/One.vue_vue_type_script_setup_true_lang-oBeFlRzi.js +148 -0
  131. package/buildLibs/utils/Shared/One.vue_vue_type_script_setup_true_lang-oBeFlRzi.js.map +1 -0
  132. package/buildLibs/utils/Shared/Validate.vue_vue_type_script_setup_true_lang-Bquk40ES.js +406 -0
  133. package/buildLibs/utils/Shared/Validate.vue_vue_type_script_setup_true_lang-Bquk40ES.js.map +1 -0
  134. package/buildLibs/utils/Shared/Validate.vue_vue_type_script_setup_true_lang-CAmKX5pn.js +2 -0
  135. package/buildLibs/utils/Shared/Validate.vue_vue_type_script_setup_true_lang-CAmKX5pn.js.map +1 -0
  136. package/buildLibs/utils/Shared/{Index.vue_vue_type_script_setup_true_lang-C9mOHVoE.js → use-CKNkvmW4.js} +78 -141
  137. package/buildLibs/utils/Shared/use-CKNkvmW4.js.map +1 -0
  138. package/buildLibs/utils/Shared/use-D0Yu2Dbn.js +2 -0
  139. package/buildLibs/utils/Shared/use-D0Yu2Dbn.js.map +1 -0
  140. package/buildLibs/utils/Web/ClCropperPreview.cjs +1 -1
  141. package/buildLibs/utils/Web/ClCropperPreview.js +2 -2
  142. package/buildLibs/utils/Web/ClDatetime.cjs +1 -1
  143. package/buildLibs/utils/Web/ClDatetime.js +1 -1
  144. package/buildLibs/utils/Web/ClDropdownMenuItem.cjs +2 -0
  145. package/buildLibs/utils/Web/ClDropdownMenuItem.cjs.map +1 -0
  146. package/buildLibs/utils/Web/ClDropdownMenuItem.css +1 -0
  147. package/buildLibs/utils/Web/ClDropdownMenuItem.js +72 -0
  148. package/buildLibs/utils/Web/ClDropdownMenuItem.js.map +1 -0
  149. package/buildLibs/utils/Web/ClEcharts.cjs +1 -1
  150. package/buildLibs/utils/Web/ClEcharts.js +1 -1
  151. package/buildLibs/utils/Web/ClEchartsLineAxisTag.cjs +1 -1
  152. package/buildLibs/utils/Web/ClEchartsLineAxisTag.js +1 -1
  153. package/buildLibs/utils/Web/ClFileUpload.cjs +1 -1
  154. package/buildLibs/utils/Web/ClFileUpload.js +1 -1
  155. package/buildLibs/utils/Web/ClInputTag.cjs +1 -1
  156. package/buildLibs/utils/Web/ClInputTag.js +1 -1
  157. package/buildLibs/utils/Web/ClPaginate.cjs +1 -1
  158. package/buildLibs/utils/Web/ClPaginate.js +1 -1
  159. package/buildLibs/utils/Web/ClPreviewExample.cjs +1 -1
  160. package/buildLibs/utils/Web/ClPreviewExample.js +1 -1
  161. package/buildLibs/utils/Web/ClScrollXFence.cjs +1 -1
  162. package/buildLibs/utils/Web/ClScrollXFence.js +1 -1
  163. package/buildLibs/utils/Web/ClSelect.cjs +1 -1
  164. package/buildLibs/utils/Web/ClSelect.js +1 -1
  165. package/buildLibs/utils/Web/ClSelectCascade.cjs +1 -1
  166. package/buildLibs/utils/Web/ClSelectCascade.js +1 -1
  167. package/buildLibs/utils/Web/ClSelectTag.cjs +1 -1
  168. package/buildLibs/utils/Web/ClSelectTag.js +1 -1
  169. package/buildLibs/utils/Web/ClSelectTree.cjs +1 -1
  170. package/buildLibs/utils/Web/ClSelectTree.js +1 -1
  171. package/buildLibs/utils/Web/ClTable.cjs +1 -1
  172. package/buildLibs/utils/Web/ClTable.cjs.map +1 -1
  173. package/buildLibs/utils/Web/ClTable.js +1081 -1218
  174. package/buildLibs/utils/Web/ClTable.js.map +1 -1
  175. package/buildLibs/utils/Web/ClTabs.cjs +1 -1
  176. package/buildLibs/utils/Web/ClTabs.js +1 -1
  177. package/buildLibs/utils/Web/ClTree.cjs +1 -1
  178. package/buildLibs/utils/Web/ClTree.js +1 -1
  179. package/buildLibs/utils/Web/ClXeditable.cjs +1 -1
  180. package/buildLibs/utils/Web/ClXeditable.cjs.map +1 -1
  181. package/buildLibs/utils/Web/ClXeditable.js +33 -32
  182. package/buildLibs/utils/Web/ClXeditable.js.map +1 -1
  183. package/package.json +21 -8
  184. package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-B-yxIx8F.js +0 -663
  185. package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-B-yxIx8F.js.map +0 -1
  186. package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-C9mOHVoE.js.map +0 -1
  187. package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-CcOk4kyd.js +0 -2
  188. package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-CcOk4kyd.js.map +0 -1
  189. package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-DtZgYjSl.js +0 -2
  190. package/buildLibs/utils/Shared/Index.vue_vue_type_script_setup_true_lang-DtZgYjSl.js.map +0 -1
  191. package/buildLibs/utils/Shared/Video-BV0YLYT2.js +0 -114
  192. package/buildLibs/utils/Shared/Video-BV0YLYT2.js.map +0 -1
  193. package/buildLibs/utils/Shared/Video-c3jHJSxl.js +0 -2
  194. package/buildLibs/utils/Shared/Video-c3jHJSxl.js.map +0 -1
  195. package/buildLibs/utils/Shared/Video.css +0 -1
  196. package/buildLibs/utils/Web/ClDropdownMenuM.css +0 -1
  197. package/buildLibs/utils/Web/ClPreview.cjs +0 -2
  198. package/buildLibs/utils/Web/ClPreview.cjs.map +0 -1
  199. package/buildLibs/utils/Web/ClPreview.css +0 -1
  200. package/buildLibs/utils/Web/ClPreview.js +0 -353
  201. package/buildLibs/utils/Web/ClPreview.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ClDropdownMenuM.js","sources":["../../../src/libs/Mobile/DropdownMenuM/Index.vue"],"sourcesContent":["<template>\n <div\n ref=\"rootEl\"\n :id=\"elId\"\n :class=\"clsParent\"\n >\n <div class=\"dropdownmenum-bar\">\n <slot></slot>\n </div>\n <Transition\n name=\"dropdownmenum-fade\"\n :duration=\"optDuration\"\n @after-enter=\"emit('onOpened')\"\n @after-leave=\"emit('onClosed')\"\n >\n <div\n v-if=\"optIsShowOverlay\"\n class=\"dropdownmenum-overlay\"\n :style=\"styOverlay\"\n @click=\"onClickOverlay\"\n ></div>\n </Transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onActivated, onBeforeUnmount, onDeactivated, onMounted, provide, ref } from 'vue';\nimport CommonBase from '../../Common/base';\nimport CommonElement from '../../Common/Element/index';\nimport './Index.css';\n\n// 容器向下提供的上下文(配置项为 computed,保证响应式:父 props 变更后子项同步)\nexport interface DropdownMenuMTop {\n activeIndex: import('vue').Ref<number>;\n direction: import('vue').ComputedRef<string>;\n activeColor: import('vue').ComputedRef<string>;\n zIndex: import('vue').ComputedRef<number>;\n duration: import('vue').ComputedRef<number>;\n registerItem: () => number;\n toggleItem: (index: number) => void;\n setActiveIndex: (index: number) => void;\n}\n\ndefineOptions({ name: 'ClDropdownMenuM' });\n\nconst props = defineProps({\n id: String, // desc: 组件实例唯一标识,用于多实例场景下 DOM 查询限定\n className: String, // desc: 自定义CSS类名\n activeColor: {\n type: String,\n default: 'var(--cl-primary)', // desc: 菜单标题和选项的选中态颜色\n },\n direction: {\n type: String,\n default: 'down', // desc: 菜单展开方向 | enum: down, up\n validator: (v: string) => ['down', 'up'].includes(v),\n },\n zIndex: {\n type: Number,\n default: 2000, // desc: 菜单栏 z-index 层级\n },\n duration: {\n type: Number,\n default: 200, // desc: 菜单展开/收起动画时长(ms)\n },\n isOverlay: {\n type: Boolean,\n default: true, // desc: 是否显示遮罩层\n },\n isCloseOnClickOverlay: {\n type: Boolean,\n default: true, // desc: 点击遮罩层后是否关闭菜单\n },\n isCloseOnClickOutside: {\n type: Boolean,\n default: true, // desc: 是否在点击外部元素后关闭菜单\n },\n});\n\n// emit\nconst emit = defineEmits<{\n (e: 'onOpen'): void; // desc: 打开菜单时触发\n (e: 'onClose'): void; // desc: 关闭菜单时触发\n (e: 'onOpened'): void; // desc: 打开动画结束后触发\n (e: 'onClosed'): void; // desc: 关闭动画结束后触发\n (e: 'onClickOverlay'): void; // desc: 点击遮罩层时触发\n}>();\n\n// slots: default(菜单项列表)\n\nconst elId = props.id; // || `dropdownmenum-${CommonBase.getRandom(8)}`\n\n// 当前展开的菜单项索引,-1 表示全部收起\nconst activeIndex = ref(-1);\n// 子项注册序号(每个 DropdownMenuItemM 挂载时递增取号)\nlet _itemSeq = 0;\n// 根元素(点击外部关闭判定)\nconst rootEl = ref<HTMLElement | null>(null);\n\n// computed\nconst optDirection = computed(() => (props.direction === 'up' ? 'up' : 'down'));\n\nconst optActiveColor = computed(() => props.activeColor);\n\nconst optDuration = computed(() =>\n CommonBase.isFinite(props.duration) && props.duration > 0 ? props.duration : 200,\n);\n\nconst optZIndex = computed(() => {\n const z = Number(props.zIndex);\n return CommonBase.isFinite(z) && z > 0 ? Math.round(z) : 2000;\n});\n\nconst optIsShowOverlay = computed(() => props.isOverlay && activeIndex.value !== -1);\n\nconst clsParent = computed(() => {\n const clsTemp: Record<string, boolean> = {\n 'panel-dropdownmenum': true,\n 'dropdownmenum--up': optDirection.value === 'up',\n };\n return CommonBase.getJsonMerge(clsTemp, CommonElement.getClassNameJson(props.className));\n});\n\nconst styOverlay = computed(() => ({\n zIndex: optZIndex.value - 1,\n}));\n\n// 内部方法\nconst _setActive = (index: number) => {\n const wasOpen = activeIndex.value !== -1;\n activeIndex.value = index;\n if (index !== -1) {\n if (!wasOpen) {\n emit('onOpen');\n }\n } else {\n if (wasOpen) {\n emit('onClose');\n }\n }\n};\n\n// 事件方法\nconst onClickOverlay = () => {\n emit('onClickOverlay');\n if (props.isCloseOnClickOverlay) {\n _setActive(-1);\n }\n};\n\n// 对外开放:切换/设置当前展开项\nconst toggleItem = (index: number) => {\n if (activeIndex.value === index) {\n _setActive(-1);\n } else {\n _setActive(index);\n }\n};\n\nconst setActiveIndex = (index: number) => {\n _setActive(index);\n};\n\n// 子项注册:返回该子项在容器内的序号(index)\nconst registerItem = (): number => {\n const index = _itemSeq;\n _itemSeq++;\n return index;\n};\n\n// provide(配置项传 computed,父 props 变更子项实时同步)\nprovide<DropdownMenuMTop>('$DropdownMenuMTop', {\n activeIndex,\n direction: optDirection,\n activeColor: optActiveColor,\n zIndex: optZIndex,\n duration: optDuration,\n registerItem,\n toggleItem,\n setActiveIndex,\n});\n\n// 点击外部关闭(isCloseOnClickOutside)\nconst _onDocumentClick = (event: MouseEvent) => {\n if (!props.isCloseOnClickOutside) return;\n if (activeIndex.value === -1) return;\n const el = (event.target as Node | null) ?? null;\n if (rootEl.value && rootEl.value.contains(el)) return;\n _setActive(-1);\n};\n\n// 生命周期(keep-alive 缓存时暂停/恢复监听)\nonMounted(() => {\n document.addEventListener('click', _onDocumentClick);\n});\nonActivated(() => {\n document.addEventListener('click', _onDocumentClick);\n});\nonDeactivated(() => {\n document.removeEventListener('click', _onDocumentClick);\n});\nonBeforeUnmount(() => {\n document.removeEventListener('click', _onDocumentClick);\n});\n\n// 开放给外部使用的方法(Vant DropdownMenu 同款 API)\nconst toggle = (index: number) => {\n toggleItem(index);\n};\n\nconst open = (index: number) => {\n _setActive(index);\n};\n\nconst close = () => {\n _setActive(-1);\n};\n\n// 导出类型定义(在 defineExpose 之前)\nexport interface ClDropdownMenuMExpose {\n toggle: (index: number) => void;\n open: (index: number) => void;\n close: () => void;\n}\n\n// defineExpose(必须放在最后)\ndefineExpose({\n toggle,\n open,\n close,\n});\n</script>\n"],"names":["props","__props","emit","__emit","elId","activeIndex","ref","_itemSeq","rootEl","optDirection","computed","optActiveColor","optDuration","CommonBase","optZIndex","z","optIsShowOverlay","clsParent","clsTemp","CommonElement","styOverlay","_setActive","index","wasOpen","onClickOverlay","toggleItem","provide","_onDocumentClick","event","el","onMounted","onActivated","onDeactivated","onBeforeUnmount","__expose","_createElementBlock","_unref","_createElementVNode","_hoisted_2","_renderSlot","_ctx","_createVNode","_Transition"],"mappings":"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"}
1
+ {"version":3,"file":"ClDropdownMenuM.js","sources":["../../../src/libs/Mobile/DropdownMenuM/Index.vue"],"sourcesContent":["<template>\n <div\n ref=\"rootEl\"\n :id=\"elId\"\n :class=\"clsParent\"\n >\n <div class=\"dropdownmenum-bar\">\n <slot></slot>\n </div>\n <Transition\n name=\"dropdownmenum-fade\"\n :duration=\"optDuration\"\n @after-enter=\"emit('onOpened')\"\n @after-leave=\"emit('onClosed')\"\n >\n <div\n v-if=\"optIsShowOverlay\"\n class=\"dropdownmenum-overlay\"\n :style=\"styOverlay\"\n @click=\"onClickOverlay\"\n ></div>\n </Transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onActivated, onBeforeUnmount, onDeactivated, onMounted, provide, ref } from 'vue';\nimport CommonBase from '../../Common/base';\nimport CommonElement from '../../Common/Element/index';\nimport './Index.css';\n\n// 容器向下提供的上下文(配置项为 computed,保证响应式:父 props 变更后子项同步)\nexport interface DropdownMenuMTop {\n activeIndex: import('vue').Ref<number>;\n direction: import('vue').ComputedRef<string>;\n activeColor: import('vue').ComputedRef<string>;\n zIndex: import('vue').ComputedRef<number>;\n duration: import('vue').ComputedRef<number>;\n registerItem: () => number;\n toggleItem: (index: number) => void;\n setActiveIndex: (index: number) => void;\n}\n\ndefineOptions({ name: 'ClDropdownMenuM' });\n\nconst props = defineProps({\n id: String, // desc: 组件实例唯一标识,用于多实例场景下 DOM 查询限定\n className: String, // desc: 自定义CSS类名\n activeColor: {\n type: String,\n default: 'var(--cl-primary)', // desc: 菜单标题和选项的选中态颜色\n },\n direction: {\n type: String,\n default: 'down', // desc: 菜单展开方向 | enum: down, up\n validator: (v: string) => ['down', 'up'].includes(v),\n },\n zIndex: {\n type: Number,\n default: 2000, // desc: 菜单栏 z-index 层级\n },\n duration: {\n type: Number,\n default: 200, // desc: 菜单展开/收起动画时长(ms)\n },\n isOverlay: {\n type: Boolean,\n default: true, // desc: 是否显示遮罩层\n },\n isCloseOnClickOverlay: {\n type: Boolean,\n default: true, // desc: 点击遮罩层后是否关闭菜单\n },\n isCloseOnClickOutside: {\n type: Boolean,\n default: true, // desc: 是否在点击外部元素后关闭菜单\n },\n});\n\n// emit\nconst emit = defineEmits<{\n (e: 'onOpen'): void; // desc: 打开菜单时触发\n (e: 'onClose'): void; // desc: 关闭菜单时触发\n (e: 'onOpened'): void; // desc: 打开动画结束后触发\n (e: 'onClosed'): void; // desc: 关闭动画结束后触发\n (e: 'onClickOverlay'): void; // desc: 点击遮罩层时触发\n}>();\n\n// slots: default(菜单项列表)\n\nconst elId = props.id; // || `dropdownmenum-${CommonBase.getRandom(8)}`\n\n// 当前展开的菜单项索引,-1 表示全部收起\nconst activeIndex = ref(-1);\n// 子项注册序号(每个 DropdownMenuItemM 挂载时递增取号)\nlet _itemSeq = 0;\n// 根元素(点击外部关闭判定)\nconst rootEl = ref<HTMLElement | null>(null);\n\n// computed\nconst optDirection = computed(() => (props.direction === 'up' ? 'up' : 'down'));\n\nconst optActiveColor = computed(() => props.activeColor);\n\nconst optDuration = computed(() =>\n CommonBase.isFinite(props.duration) && props.duration > 0 ? props.duration : 200,\n);\n\nconst optZIndex = computed(() => {\n const z = Number(props.zIndex);\n return CommonBase.isFinite(z) && z > 0 ? Math.round(z) : 2000;\n});\n\nconst optIsShowOverlay = computed(() => props.isOverlay && activeIndex.value !== -1);\n\nconst clsParent = computed(() => {\n const clsTemp: Record<string, boolean> = {\n 'panel-dropdownmenum': true,\n 'dropdownmenum--up': optDirection.value === 'up',\n };\n return CommonBase.getJsonMerge(clsTemp, CommonElement.getClassNameJson(props.className));\n});\n\nconst styOverlay = computed(() => ({\n zIndex: optZIndex.value - 1,\n}));\n\n// 内部方法\nconst _setActive = (index: number) => {\n const wasOpen = activeIndex.value !== -1;\n activeIndex.value = index;\n if (index !== -1) {\n if (!wasOpen) {\n emit('onOpen');\n }\n } else {\n if (wasOpen) {\n emit('onClose');\n }\n }\n};\n\n// 事件方法\nconst onClickOverlay = () => {\n emit('onClickOverlay');\n if (props.isCloseOnClickOverlay) {\n _setActive(-1);\n }\n};\n\n// 对外开放:切换/设置当前展开项\nconst toggleItem = (index: number) => {\n if (activeIndex.value === index) {\n _setActive(-1);\n } else {\n _setActive(index);\n }\n};\n\nconst setActiveIndex = (index: number) => {\n _setActive(index);\n};\n\n// 子项注册:返回该子项在容器内的序号(index)\nconst registerItem = (): number => {\n const index = _itemSeq;\n _itemSeq++;\n return index;\n};\n\n// provide(配置项传 computed,父 props 变更子项实时同步)\nprovide<DropdownMenuMTop>('$DropdownMenuMTop', {\n activeIndex,\n direction: optDirection,\n activeColor: optActiveColor,\n zIndex: optZIndex,\n duration: optDuration,\n registerItem,\n toggleItem,\n setActiveIndex,\n});\n\n// 点击外部关闭(isCloseOnClickOutside)\nconst _onDocumentClick = (event: MouseEvent) => {\n if (!props.isCloseOnClickOutside) return;\n if (activeIndex.value === -1) return;\n const el = (event.target as Node | null) ?? null;\n if (rootEl.value && rootEl.value.contains(el)) return;\n _setActive(-1);\n};\n\n// 生命周期(keep-alive 缓存时暂停/恢复监听)\nonMounted(() => {\n document.addEventListener('click', _onDocumentClick);\n});\nonActivated(() => {\n document.addEventListener('click', _onDocumentClick);\n});\nonDeactivated(() => {\n document.removeEventListener('click', _onDocumentClick);\n});\nonBeforeUnmount(() => {\n document.removeEventListener('click', _onDocumentClick);\n});\n\n// 开放给外部使用的方法(Vant DropdownMenu 同款 API)\nconst toggle = (index: number) => {\n toggleItem(index);\n};\n\nconst open = (index: number) => {\n _setActive(index);\n};\n\nconst close = () => {\n _setActive(-1);\n};\n\n// 导出类型定义(在 defineExpose 之前)\nexport interface ClDropdownMenuMExpose {\n toggle: (index: number) => void;\n open: (index: number) => void;\n close: () => void;\n}\n\n// defineExpose(必须放在最后)\ndefineExpose({\n toggle,\n open,\n close,\n});\n</script>\n"],"names":["props","__props","emit","__emit","elId","activeIndex","ref","_itemSeq","rootEl","optDirection","computed","optActiveColor","optDuration","CommonBase","optZIndex","z","optIsShowOverlay","clsParent","clsTemp","CommonElement","styOverlay","_setActive","index","wasOpen","onClickOverlay","toggleItem","provide","_onDocumentClick","event","el","onMounted","onActivated","onDeactivated","onBeforeUnmount","__expose","_createElementBlock","_unref","_createElementVNode","_hoisted_2","_renderSlot","_ctx","_createVNode","_Transition"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("vue"),a=require("../Shared/base-C2QOJBgB.js"),k=require("../Shared/index-DAgtltwJ.js"),_=require("../Shared/Index.vue_vue_type_script_setup_true_lang-g88DiQYZ.js"),z=require("../Shared/Index.vue_vue_type_script_setup_true_lang-Dvy5B6_y.js");;/* empty css */const M=["id"],$={class:"dropdownmenum-item-title-text"},D={key:0,class:"dropdownmenum-panel-loading"},A={key:0,class:"dropdownmenum-options"},q=["onClick"],F={class:"dropdownmenum-option-text"},J=e.defineComponent({name:"ClDropdownMenuMItem",__name:"Item",props:{id:String,className:String,title:String,modelValue:{type:[String,Number],default:void 0},optionsList:{type:Array,default:()=>[]},optionLabel:{type:String,default:"text"},optionValue:{type:String,default:"value"},disabled:Boolean,isLoading:Boolean},emits:["update:modelValue","onChange"],setup(i,{emit:g}){const o=i,d=g,w=o.id,B=`dropdownmenumItem-${a.CommonBase.getRandom(5)}`,n=e.inject("$DropdownMenuMTop"),y=e.useSlots(),s=e.ref(-1),r=e.computed(()=>s.value!==-1&&n?.activeIndex.value===s.value),u=e.computed(()=>n?.direction.value||"down"),C=e.computed(()=>{const t=u.value==="up";return r.value?t?"caret-down":"caret-up":t?"caret-up":"caret-down"}),m=e.computed(()=>n?.duration.value||200),f=e.computed(()=>!!y.default),S=e.computed(()=>Array.isArray(o.optionsList)&&o.optionsList.length>0),x=e.computed(()=>r.value&&!o.disabled),p=t=>t[o.optionValue]===o.modelValue,v=t=>{const l=t[o.optionLabel];return a.CommonBase.isString(l)?l:a.CommonBase.isNumber(l)?String(l):""},V=e.computed(()=>{if(a.CommonBase.isNonEmptyString(o.title))return o.title;if(a.CommonBase.isEmpty(o.modelValue))return"";const t=(o.optionsList||[]).find(l=>l[o.optionValue]===o.modelValue);return t?v(t):""}),E=e.computed(()=>{const t={"dropdownmenum-item":!0,"dropdownmenum-item--disabled":o.disabled};return a.CommonBase.getJsonMerge(t,k.CommonElement.getClassNameJson(o.className))}),N=e.computed(()=>r.value&&n?{color:n.activeColor.value}:void 0),I=e.computed(()=>({zIndex:n?.zIndex.value||2e3,"--dropdownmenum-duration":`${m.value}ms`})),h=t=>{const l={"dropdownmenum-option":!0,"dropdownmenum-option--disabled":!!t.disabled,"dropdownmenum-option--selected":p(t)};return a.CommonBase.getJsonMerge(l,k.CommonElement.getClassNameJson(t.className))};e.onMounted(()=>{if(!n){console.warn("[ClDropdownMenuMItem] 警告:必须放置在 cl-dropdown-menu-m 容器内使用");return}s.value=n.registerItem()}),e.onBeforeUnmount(()=>{n&&s.value!==-1&&n.activeIndex.value===s.value&&n.setActiveIndex(-1)});const b=()=>{o.disabled||!n||n.toggleItem(s.value)},T=t=>{if(t.disabled)return;const l=t[o.optionValue];d("update:modelValue",l),d("onChange",l),n?.setActiveIndex(-1)};return(t,l)=>(e.openBlock(),e.createElementBlock("div",{id:e.unref(w),class:e.normalizeClass(E.value)},[e.createElementVNode("div",{class:e.normalizeClass(["dropdownmenum-item-title",{"dropdownmenum-item-title--active":r.value}]),style:e.normalizeStyle(N.value),onClick:b},[e.createElementVNode("span",$,[e.renderSlot(t.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(V.value),1)])]),e.createVNode(_._sfc_main,{class:"dropdownmenum-item-arrow",name:C.value},null,8,["name"])],6),e.createVNode(e.Transition,{name:"dropdownmenum-panel",duration:m.value},{default:e.withCtx(()=>[x.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["dropdownmenum-panel",{"dropdownmenum-panel--up":u.value==="up"}]),style:e.normalizeStyle(I.value)},[f.value?e.renderSlot(t.$slots,"default",{key:0}):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[i.isLoading?(e.openBlock(),e.createElementBlock("div",D,[e.createVNode(z._sfc_main,{size:"small"})])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[S.value?(e.openBlock(),e.createElementBlock("ul",A,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.optionsList,(c,L)=>(e.openBlock(),e.createElementBlock("li",{key:`${B}-${L}`,class:e.normalizeClass(h(c)),onClick:O=>T(c)},[e.createElementVNode("span",F,e.toDisplayString(v(c)),1),p(c)?(e.openBlock(),e.createBlock(_._sfc_main,{key:0,class:"dropdownmenum-option-check",name:"check"})):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[],64))],10,q))),128))])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[],64))],64))],64))],6)):e.createCommentVNode("",!0)]),_:3},8,["duration"])],10,M))}});module.exports=J;
2
+ //# sourceMappingURL=ClDropdownMenuMItem.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClDropdownMenuMItem.cjs","sources":["../../../src/libs/Mobile/DropdownMenuM/Item.vue"],"sourcesContent":["<template>\n <div\n :id=\"elId\"\n :class=\"clsItem\"\n >\n <div\n class=\"dropdownmenum-item-title\"\n :class=\"{ 'dropdownmenum-item-title--active': optIsActive }\"\n :style=\"styTitle\"\n @click=\"onClickTitle\"\n >\n <span class=\"dropdownmenum-item-title-text\">\n <slot name=\"title\">{{ optTitleText }}</slot>\n </span>\n <cl-icon-font\n class=\"dropdownmenum-item-arrow\"\n :name=\"optArrowName\"\n ></cl-icon-font>\n </div>\n <Transition\n name=\"dropdownmenum-panel\"\n :duration=\"optDuration\"\n >\n <div\n v-if=\"optIsShowPanel\"\n class=\"dropdownmenum-panel\"\n :class=\"{ 'dropdownmenum-panel--up': optDirection === 'up' }\"\n :style=\"styPanel\"\n >\n <template v-if=\"optHasDefaultSlot\">\n <slot></slot>\n </template>\n <template v-else>\n <div\n v-if=\"isLoading\"\n class=\"dropdownmenum-panel-loading\"\n >\n <cl-load size=\"small\"></cl-load>\n </div>\n <template v-else>\n <ul\n v-if=\"optIsShowOptions\"\n class=\"dropdownmenum-options\"\n >\n <li\n v-for=\"(optionItem, inx) in optionsList\"\n :key=\"`${_keyIndex}-${inx}`\"\n :class=\"clsOption(optionItem)\"\n @click=\"onClickOption(optionItem)\"\n >\n <span class=\"dropdownmenum-option-text\">{{ optOptionText(optionItem) }}</span>\n <cl-icon-font\n v-if=\"optIsSelected(optionItem)\"\n class=\"dropdownmenum-option-check\"\n name=\"check\"\n ></cl-icon-font>\n <template v-else></template>\n </li>\n </ul>\n <template v-else></template>\n </template>\n </template>\n </div>\n </Transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, inject, onBeforeUnmount, onMounted, ref, useSlots, type PropType } from 'vue';\nimport CommonBase from '../../Common/base';\nimport CommonElement from '../../Common/Element/index';\nimport ClIconFont from '../../Element/IconFont/Index.vue';\nimport ClLoad from '../../Element/Load/Index.vue';\nimport type { DropdownMenuMTop } from './Index.vue';\nimport './Index.css';\n\n// 选项数据结构\nexport interface DropdownMenuItemOption {\n text?: string;\n value?: string | number;\n disabled?: boolean;\n className?: string;\n [key: string]: unknown;\n}\n\ndefineOptions({ name: 'ClDropdownMenuMItem' });\n\n// props\nconst props = defineProps({\n id: String, // desc: 组件实例唯一标识,用于多实例场景下 DOM 查询限定\n className: String, // desc: 自定义CSS类名\n title: String, // desc: 菜单项标题文本\n modelValue: {\n type: [String, Number] as PropType<string | number>,\n default: undefined, // desc: 当前选中项对应的值,支持 v-model\n },\n optionsList: {\n type: Array as PropType<DropdownMenuItemOption[]>,\n default: () => [], // desc: 选项列表(含 text/value/disabled 字段)\n },\n optionLabel: {\n type: String,\n default: 'text', // desc: 选项展示文案字段名\n },\n optionValue: {\n type: String,\n default: 'value', // desc: 选项值字段名\n },\n disabled: Boolean, // desc: 是否禁用该菜单项\n isLoading: Boolean, // desc: 是否显示加载中状态\n});\n\n// emit\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: string | number | undefined): void; // desc: 选中值变化(支持 v-model)\n (e: 'onChange', value: string | number | undefined): void; // desc: 选中项变化时触发\n}>();\n\n// slots: title(自定义标题), default(自定义下拉内容)\n\nconst elId = props.id; // || `dropdownmenum-item-${CommonBase.getRandom(8)}`\nconst _keyIndex = `dropdownmenumItem-${CommonBase.getRandom(5)}`;\n\nconst _selfTop = inject<DropdownMenuMTop>('$DropdownMenuMTop');\nconst _slots = useSlots();\n\n// 本子项在容器中的序号(挂载时注册获得)\nconst _selfIndex = ref(-1);\n\n// computed\nconst optIsActive = computed(() => _selfIndex.value !== -1 && _selfTop?.activeIndex.value === _selfIndex.value);\n\nconst optDirection = computed(() => _selfTop?.direction.value || 'down');\n\n// 箭头方向:收起时指向展开方向(down→下、up→上),展开时翻转(可收起)\nconst optArrowName = computed(() => {\n const expandUp = optDirection.value === 'up';\n if (optIsActive.value) {\n return expandUp ? 'caret-down' : 'caret-up';\n }\n return expandUp ? 'caret-up' : 'caret-down';\n});\n\nconst optDuration = computed(() => (_selfTop?.duration.value || 200));\n\nconst optHasDefaultSlot = computed(() => !!_slots.default);\n\nconst optIsShowOptions = computed(\n () => Array.isArray(props.optionsList) && props.optionsList.length > 0,\n);\n\nconst optIsShowPanel = computed(() => optIsActive.value && !props.disabled);\n\nconst optIsSelected = (optionItem: DropdownMenuItemOption): boolean => {\n return optionItem[props.optionValue] === props.modelValue;\n};\n\nconst optOptionText = (optionItem: DropdownMenuItemOption): string => {\n const raw = optionItem[props.optionLabel];\n return CommonBase.isString(raw) ? (raw as string) : CommonBase.isNumber(raw) ? String(raw) : '';\n};\n\n// 标题文本:显式传入 title 时固定显示;未传 title 时跟随当前选中项的 text(Vant 同款行为)\nconst optTitleText = computed(() => {\n if (CommonBase.isNonEmptyString(props.title)) {\n return props.title as string;\n }\n if (CommonBase.isEmpty(props.modelValue)) return '';\n const found = (props.optionsList || []).find(\n optionItem => optionItem[props.optionValue] === props.modelValue,\n );\n return found ? optOptionText(found) : '';\n});\n\nconst clsItem = computed(() => {\n const clsTemp: Record<string, boolean> = {\n 'dropdownmenum-item': true,\n 'dropdownmenum-item--disabled': props.disabled,\n };\n return CommonBase.getJsonMerge(clsTemp, CommonElement.getClassNameJson(props.className));\n});\n\nconst styTitle = computed(() =>\n optIsActive.value && _selfTop\n ? { color: _selfTop.activeColor.value }\n : undefined,\n);\n\nconst styPanel = computed(() => ({\n zIndex: (_selfTop?.zIndex.value || 2000),\n '--dropdownmenum-duration': `${optDuration.value}ms`,\n}));\n\nconst clsOption = (optionItem: DropdownMenuItemOption) => {\n const clsTemp: Record<string, boolean> = {\n 'dropdownmenum-option': true,\n 'dropdownmenum-option--disabled': !!optionItem.disabled,\n 'dropdownmenum-option--selected': optIsSelected(optionItem),\n };\n return CommonBase.getJsonMerge(clsTemp, CommonElement.getClassNameJson(optionItem.className));\n};\n\n// 生命周期\nonMounted(() => {\n if (!_selfTop) {\n console.warn('[ClDropdownMenuMItem] 警告:必须放置在 cl-dropdown-menu-m 容器内使用');\n return;\n }\n _selfIndex.value = _selfTop.registerItem();\n});\n\nonBeforeUnmount(() => {\n // 仅当卸载的是当前激活项时才收起,避免误关闭其他展开项\n if (_selfTop && _selfIndex.value !== -1 && _selfTop.activeIndex.value === _selfIndex.value) {\n _selfTop.setActiveIndex(-1);\n }\n});\n\n// 事件方法\nconst onClickTitle = () => {\n if (props.disabled || !_selfTop) return;\n _selfTop.toggleItem(_selfIndex.value);\n};\n\nconst onClickOption = (optionItem: DropdownMenuItemOption) => {\n if (optionItem.disabled) return;\n const value = optionItem[props.optionValue] as string | number | undefined;\n emit('update:modelValue', value);\n emit('onChange', value);\n _selfTop?.setActiveIndex(-1);\n};\n</script>\n"],"names":["props","__props","emit","__emit","elId","_keyIndex","CommonBase","_selfTop","inject","_slots","useSlots","_selfIndex","ref","optIsActive","computed","optDirection","optArrowName","expandUp","optDuration","optHasDefaultSlot","optIsShowOptions","optIsShowPanel","optIsSelected","optionItem","optOptionText","raw","optTitleText","found","clsItem","clsTemp","CommonElement","styTitle","styPanel","clsOption","onMounted","onBeforeUnmount","onClickTitle","onClickOption","value","_createElementBlock","_unref","_createElementVNode","_normalizeClass","_hoisted_2","_renderSlot","_ctx","_createVNode","ClIconFont","_Transition","_Fragment","_openBlock","_hoisted_3","ClLoad","_hoisted_4","_renderList","inx","$event","_hoisted_6","_toDisplayString","_createBlock"],"mappings":"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"}
@@ -0,0 +1,160 @@
1
+ import { defineComponent as j, inject as F, useSlots as H, ref as R, computed as s, onMounted as q, onBeforeUnmount as G, openBlock as a, createElementBlock as l, normalizeClass as c, unref as K, createElementVNode as v, normalizeStyle as C, renderSlot as S, createTextVNode as Q, toDisplayString as x, createVNode as f, Transition as W, withCtx as X, Fragment as d, renderList as Y, createBlock as Z, createCommentVNode as ee } from "vue";
2
+ import { C as i } from "../Shared/base-DU7nGSf6.js";
3
+ import { C as h } from "../Shared/index-DvNmQjNH.js";
4
+ import { _ as I } from "../Shared/Index.vue_vue_type_script_setup_true_lang-D4kAoS8e.js";
5
+ import { _ as te } from "../Shared/Index.vue_vue_type_script_setup_true_lang-C06bNoBf.js";
6
+ /* empty css */
7
+ const oe = ["id"], ne = { class: "dropdownmenum-item-title-text" }, se = {
8
+ key: 0,
9
+ class: "dropdownmenum-panel-loading"
10
+ }, ae = {
11
+ key: 0,
12
+ class: "dropdownmenum-options"
13
+ }, le = ["onClick"], ie = { class: "dropdownmenum-option-text" }, fe = /* @__PURE__ */ j({
14
+ name: "ClDropdownMenuMItem",
15
+ __name: "Item",
16
+ props: {
17
+ id: String,
18
+ // desc: 组件实例唯一标识,用于多实例场景下 DOM 查询限定
19
+ className: String,
20
+ // desc: 自定义CSS类名
21
+ title: String,
22
+ // desc: 菜单项标题文本
23
+ modelValue: {
24
+ type: [String, Number],
25
+ default: void 0
26
+ // desc: 当前选中项对应的值,支持 v-model
27
+ },
28
+ optionsList: {
29
+ type: Array,
30
+ default: () => []
31
+ // desc: 选项列表(含 text/value/disabled 字段)
32
+ },
33
+ optionLabel: {
34
+ type: String,
35
+ default: "text"
36
+ // desc: 选项展示文案字段名
37
+ },
38
+ optionValue: {
39
+ type: String,
40
+ default: "value"
41
+ // desc: 选项值字段名
42
+ },
43
+ disabled: Boolean,
44
+ // desc: 是否禁用该菜单项
45
+ isLoading: Boolean
46
+ // desc: 是否显示加载中状态
47
+ },
48
+ emits: ["update:modelValue", "onChange"],
49
+ setup(p, { emit: V }) {
50
+ const t = p, w = V, N = t.id, b = `dropdownmenumItem-${i.getRandom(5)}`, o = F("$DropdownMenuMTop"), T = H(), r = R(-1), u = s(() => r.value !== -1 && o?.activeIndex.value === r.value), g = s(() => o?.direction.value || "down"), L = s(() => {
51
+ const e = g.value === "up";
52
+ return u.value ? e ? "caret-down" : "caret-up" : e ? "caret-up" : "caret-down";
53
+ }), y = s(() => o?.duration.value || 200), $ = s(() => !!T.default), M = s(
54
+ () => Array.isArray(t.optionsList) && t.optionsList.length > 0
55
+ ), A = s(() => u.value && !t.disabled), _ = (e) => e[t.optionValue] === t.modelValue, k = (e) => {
56
+ const n = e[t.optionLabel];
57
+ return i.isString(n) ? n : i.isNumber(n) ? String(n) : "";
58
+ }, B = s(() => {
59
+ if (i.isNonEmptyString(t.title))
60
+ return t.title;
61
+ if (i.isEmpty(t.modelValue)) return "";
62
+ const e = (t.optionsList || []).find(
63
+ (n) => n[t.optionValue] === t.modelValue
64
+ );
65
+ return e ? k(e) : "";
66
+ }), D = s(() => {
67
+ const e = {
68
+ "dropdownmenum-item": !0,
69
+ "dropdownmenum-item--disabled": t.disabled
70
+ };
71
+ return i.getJsonMerge(e, h.getClassNameJson(t.className));
72
+ }), z = s(
73
+ () => u.value && o ? { color: o.activeColor.value } : void 0
74
+ ), E = s(() => ({
75
+ zIndex: o?.zIndex.value || 2e3,
76
+ "--dropdownmenum-duration": `${y.value}ms`
77
+ })), J = (e) => {
78
+ const n = {
79
+ "dropdownmenum-option": !0,
80
+ "dropdownmenum-option--disabled": !!e.disabled,
81
+ "dropdownmenum-option--selected": _(e)
82
+ };
83
+ return i.getJsonMerge(n, h.getClassNameJson(e.className));
84
+ };
85
+ q(() => {
86
+ if (!o) {
87
+ console.warn("[ClDropdownMenuMItem] 警告:必须放置在 cl-dropdown-menu-m 容器内使用");
88
+ return;
89
+ }
90
+ r.value = o.registerItem();
91
+ }), G(() => {
92
+ o && r.value !== -1 && o.activeIndex.value === r.value && o.setActiveIndex(-1);
93
+ });
94
+ const O = () => {
95
+ t.disabled || !o || o.toggleItem(r.value);
96
+ }, P = (e) => {
97
+ if (e.disabled) return;
98
+ const n = e[t.optionValue];
99
+ w("update:modelValue", n), w("onChange", n), o?.setActiveIndex(-1);
100
+ };
101
+ return (e, n) => (a(), l("div", {
102
+ id: K(N),
103
+ class: c(D.value)
104
+ }, [
105
+ v("div", {
106
+ class: c(["dropdownmenum-item-title", { "dropdownmenum-item-title--active": u.value }]),
107
+ style: C(z.value),
108
+ onClick: O
109
+ }, [
110
+ v("span", ne, [
111
+ S(e.$slots, "title", {}, () => [
112
+ Q(x(B.value), 1)
113
+ ])
114
+ ]),
115
+ f(I, {
116
+ class: "dropdownmenum-item-arrow",
117
+ name: L.value
118
+ }, null, 8, ["name"])
119
+ ], 6),
120
+ f(W, {
121
+ name: "dropdownmenum-panel",
122
+ duration: y.value
123
+ }, {
124
+ default: X(() => [
125
+ A.value ? (a(), l("div", {
126
+ key: 0,
127
+ class: c(["dropdownmenum-panel", { "dropdownmenum-panel--up": g.value === "up" }]),
128
+ style: C(E.value)
129
+ }, [
130
+ $.value ? S(e.$slots, "default", { key: 0 }) : (a(), l(d, { key: 1 }, [
131
+ p.isLoading ? (a(), l("div", se, [
132
+ f(te, { size: "small" })
133
+ ])) : (a(), l(d, { key: 1 }, [
134
+ M.value ? (a(), l("ul", ae, [
135
+ (a(!0), l(d, null, Y(p.optionsList, (m, U) => (a(), l("li", {
136
+ key: `${b}-${U}`,
137
+ class: c(J(m)),
138
+ onClick: (re) => P(m)
139
+ }, [
140
+ v("span", ie, x(k(m)), 1),
141
+ _(m) ? (a(), Z(I, {
142
+ key: 0,
143
+ class: "dropdownmenum-option-check",
144
+ name: "check"
145
+ })) : (a(), l(d, { key: 1 }, [], 64))
146
+ ], 10, le))), 128))
147
+ ])) : (a(), l(d, { key: 1 }, [], 64))
148
+ ], 64))
149
+ ], 64))
150
+ ], 6)) : ee("", !0)
151
+ ]),
152
+ _: 3
153
+ }, 8, ["duration"])
154
+ ], 10, oe));
155
+ }
156
+ });
157
+ export {
158
+ fe as default
159
+ };
160
+ //# sourceMappingURL=ClDropdownMenuMItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClDropdownMenuMItem.js","sources":["../../../src/libs/Mobile/DropdownMenuM/Item.vue"],"sourcesContent":["<template>\n <div\n :id=\"elId\"\n :class=\"clsItem\"\n >\n <div\n class=\"dropdownmenum-item-title\"\n :class=\"{ 'dropdownmenum-item-title--active': optIsActive }\"\n :style=\"styTitle\"\n @click=\"onClickTitle\"\n >\n <span class=\"dropdownmenum-item-title-text\">\n <slot name=\"title\">{{ optTitleText }}</slot>\n </span>\n <cl-icon-font\n class=\"dropdownmenum-item-arrow\"\n :name=\"optArrowName\"\n ></cl-icon-font>\n </div>\n <Transition\n name=\"dropdownmenum-panel\"\n :duration=\"optDuration\"\n >\n <div\n v-if=\"optIsShowPanel\"\n class=\"dropdownmenum-panel\"\n :class=\"{ 'dropdownmenum-panel--up': optDirection === 'up' }\"\n :style=\"styPanel\"\n >\n <template v-if=\"optHasDefaultSlot\">\n <slot></slot>\n </template>\n <template v-else>\n <div\n v-if=\"isLoading\"\n class=\"dropdownmenum-panel-loading\"\n >\n <cl-load size=\"small\"></cl-load>\n </div>\n <template v-else>\n <ul\n v-if=\"optIsShowOptions\"\n class=\"dropdownmenum-options\"\n >\n <li\n v-for=\"(optionItem, inx) in optionsList\"\n :key=\"`${_keyIndex}-${inx}`\"\n :class=\"clsOption(optionItem)\"\n @click=\"onClickOption(optionItem)\"\n >\n <span class=\"dropdownmenum-option-text\">{{ optOptionText(optionItem) }}</span>\n <cl-icon-font\n v-if=\"optIsSelected(optionItem)\"\n class=\"dropdownmenum-option-check\"\n name=\"check\"\n ></cl-icon-font>\n <template v-else></template>\n </li>\n </ul>\n <template v-else></template>\n </template>\n </template>\n </div>\n </Transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, inject, onBeforeUnmount, onMounted, ref, useSlots, type PropType } from 'vue';\nimport CommonBase from '../../Common/base';\nimport CommonElement from '../../Common/Element/index';\nimport ClIconFont from '../../Element/IconFont/Index.vue';\nimport ClLoad from '../../Element/Load/Index.vue';\nimport type { DropdownMenuMTop } from './Index.vue';\nimport './Index.css';\n\n// 选项数据结构\nexport interface DropdownMenuItemOption {\n text?: string;\n value?: string | number;\n disabled?: boolean;\n className?: string;\n [key: string]: unknown;\n}\n\ndefineOptions({ name: 'ClDropdownMenuMItem' });\n\n// props\nconst props = defineProps({\n id: String, // desc: 组件实例唯一标识,用于多实例场景下 DOM 查询限定\n className: String, // desc: 自定义CSS类名\n title: String, // desc: 菜单项标题文本\n modelValue: {\n type: [String, Number] as PropType<string | number>,\n default: undefined, // desc: 当前选中项对应的值,支持 v-model\n },\n optionsList: {\n type: Array as PropType<DropdownMenuItemOption[]>,\n default: () => [], // desc: 选项列表(含 text/value/disabled 字段)\n },\n optionLabel: {\n type: String,\n default: 'text', // desc: 选项展示文案字段名\n },\n optionValue: {\n type: String,\n default: 'value', // desc: 选项值字段名\n },\n disabled: Boolean, // desc: 是否禁用该菜单项\n isLoading: Boolean, // desc: 是否显示加载中状态\n});\n\n// emit\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: string | number | undefined): void; // desc: 选中值变化(支持 v-model)\n (e: 'onChange', value: string | number | undefined): void; // desc: 选中项变化时触发\n}>();\n\n// slots: title(自定义标题), default(自定义下拉内容)\n\nconst elId = props.id; // || `dropdownmenum-item-${CommonBase.getRandom(8)}`\nconst _keyIndex = `dropdownmenumItem-${CommonBase.getRandom(5)}`;\n\nconst _selfTop = inject<DropdownMenuMTop>('$DropdownMenuMTop');\nconst _slots = useSlots();\n\n// 本子项在容器中的序号(挂载时注册获得)\nconst _selfIndex = ref(-1);\n\n// computed\nconst optIsActive = computed(() => _selfIndex.value !== -1 && _selfTop?.activeIndex.value === _selfIndex.value);\n\nconst optDirection = computed(() => _selfTop?.direction.value || 'down');\n\n// 箭头方向:收起时指向展开方向(down→下、up→上),展开时翻转(可收起)\nconst optArrowName = computed(() => {\n const expandUp = optDirection.value === 'up';\n if (optIsActive.value) {\n return expandUp ? 'caret-down' : 'caret-up';\n }\n return expandUp ? 'caret-up' : 'caret-down';\n});\n\nconst optDuration = computed(() => (_selfTop?.duration.value || 200));\n\nconst optHasDefaultSlot = computed(() => !!_slots.default);\n\nconst optIsShowOptions = computed(\n () => Array.isArray(props.optionsList) && props.optionsList.length > 0,\n);\n\nconst optIsShowPanel = computed(() => optIsActive.value && !props.disabled);\n\nconst optIsSelected = (optionItem: DropdownMenuItemOption): boolean => {\n return optionItem[props.optionValue] === props.modelValue;\n};\n\nconst optOptionText = (optionItem: DropdownMenuItemOption): string => {\n const raw = optionItem[props.optionLabel];\n return CommonBase.isString(raw) ? (raw as string) : CommonBase.isNumber(raw) ? String(raw) : '';\n};\n\n// 标题文本:显式传入 title 时固定显示;未传 title 时跟随当前选中项的 text(Vant 同款行为)\nconst optTitleText = computed(() => {\n if (CommonBase.isNonEmptyString(props.title)) {\n return props.title as string;\n }\n if (CommonBase.isEmpty(props.modelValue)) return '';\n const found = (props.optionsList || []).find(\n optionItem => optionItem[props.optionValue] === props.modelValue,\n );\n return found ? optOptionText(found) : '';\n});\n\nconst clsItem = computed(() => {\n const clsTemp: Record<string, boolean> = {\n 'dropdownmenum-item': true,\n 'dropdownmenum-item--disabled': props.disabled,\n };\n return CommonBase.getJsonMerge(clsTemp, CommonElement.getClassNameJson(props.className));\n});\n\nconst styTitle = computed(() =>\n optIsActive.value && _selfTop\n ? { color: _selfTop.activeColor.value }\n : undefined,\n);\n\nconst styPanel = computed(() => ({\n zIndex: (_selfTop?.zIndex.value || 2000),\n '--dropdownmenum-duration': `${optDuration.value}ms`,\n}));\n\nconst clsOption = (optionItem: DropdownMenuItemOption) => {\n const clsTemp: Record<string, boolean> = {\n 'dropdownmenum-option': true,\n 'dropdownmenum-option--disabled': !!optionItem.disabled,\n 'dropdownmenum-option--selected': optIsSelected(optionItem),\n };\n return CommonBase.getJsonMerge(clsTemp, CommonElement.getClassNameJson(optionItem.className));\n};\n\n// 生命周期\nonMounted(() => {\n if (!_selfTop) {\n console.warn('[ClDropdownMenuMItem] 警告:必须放置在 cl-dropdown-menu-m 容器内使用');\n return;\n }\n _selfIndex.value = _selfTop.registerItem();\n});\n\nonBeforeUnmount(() => {\n // 仅当卸载的是当前激活项时才收起,避免误关闭其他展开项\n if (_selfTop && _selfIndex.value !== -1 && _selfTop.activeIndex.value === _selfIndex.value) {\n _selfTop.setActiveIndex(-1);\n }\n});\n\n// 事件方法\nconst onClickTitle = () => {\n if (props.disabled || !_selfTop) return;\n _selfTop.toggleItem(_selfIndex.value);\n};\n\nconst onClickOption = (optionItem: DropdownMenuItemOption) => {\n if (optionItem.disabled) return;\n const value = optionItem[props.optionValue] as string | number | undefined;\n emit('update:modelValue', value);\n emit('onChange', value);\n _selfTop?.setActiveIndex(-1);\n};\n</script>\n"],"names":["props","__props","emit","__emit","elId","_keyIndex","CommonBase","_selfTop","inject","_slots","useSlots","_selfIndex","ref","optIsActive","computed","optDirection","optArrowName","expandUp","optDuration","optHasDefaultSlot","optIsShowOptions","optIsShowPanel","optIsSelected","optionItem","optOptionText","raw","optTitleText","found","clsItem","clsTemp","CommonElement","styTitle","styPanel","clsOption","onMounted","onBeforeUnmount","onClickTitle","onClickOption","value","_createElementBlock","_unref","_createElementVNode","_normalizeClass","_hoisted_2","_renderSlot","_ctx","_createVNode","ClIconFont","_Transition","_Fragment","_openBlock","_hoisted_3","ClLoad","_hoisted_4","_renderList","inx","$event","_hoisted_6","_toDisplayString","_createBlock"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("../Shared/Index.vue_vue_type_script_setup_true_lang-Xe4BacqD.js");module.exports=e._sfc_main;
1
+ "use strict";const e=require("../Shared/Index.vue_vue_type_script_setup_true_lang-CFzimlB_.js");module.exports=e._sfc_main;
2
2
  //# sourceMappingURL=ClPicker.cjs.map
@@ -1,4 +1,4 @@
1
- import { _ as f } from "../Shared/Index.vue_vue_type_script_setup_true_lang-EGKo8cIw.js";
1
+ import { _ as f } from "../Shared/Index.vue_vue_type_script_setup_true_lang-huUkL0wY.js";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -1,2 +1,2 @@
1
- "use strict";const n=require("vue"),c=require("../Shared/base-C2QOJBgB.js"),d=require("../Shared/day-DsoTTeo8.js"),Q=require("../Shared/Index.vue_vue_type_script_setup_true_lang-CET_xKsO.js"),L=require("../Shared/Index.vue_vue_type_script_setup_true_lang-Xe4BacqD.js"),W=n.defineComponent({name:"ClPickerDate",__name:"Index",props:{id:String,value:{type:Array,default:()=>[]},className:String,show:Boolean,isPoppable:{type:Boolean,default:!0},columnsTypeArr:{type:Array,default:()=>["year","month","day"],validator:h=>h.length>0&&h.every(x=>["year","month","day"].indexOf(x)!==-1)&&new Set(h).size===h.length},minDate:{type:Date,default:()=>d.CommDay.objDay().subtract(10,"year").startOf("day").toDate()},maxDate:{type:Date,default:()=>d.CommDay.objDay().add(10,"year").startOf("day").toDate()},title:String,confirmButtonText:{type:String,default:"确认"},cancelButtonText:{type:String,default:"取消"},isShowToolbar:{type:Boolean,default:!0},isLoading:Boolean,isReadonly:Boolean,isAllowHtml:Boolean,optionHeight:{type:Number,default:44},visibleOptionNum:{type:Number,default:6},swipeDuration:{type:Number,default:1e3}},emits:["update:value","update:show","onConfirm","onCancel","onChange"],setup(h,{expose:x,emit:R}){const t=h,g=R,M=t.id,i=n.ref([]),y=n.ref(t.show),m=n.ref(null),D=(()=>{if(!Array.isArray(t.columnsTypeArr)||t.columnsTypeArr.length===0)return["year","month","day"];const e=t.columnsTypeArr.filter(a=>a==="year"||a==="month"||a==="day");return e.length>0?[...new Set(e)]:["year","month","day"]})(),z=n.computed(()=>t.isPoppable),U=n.computed(()=>J()),O=n.computed(()=>({value:i.value,columnsList:U.value,title:t.title,confirmButtonText:t.confirmButtonText,cancelButtonText:t.cancelButtonText,isShowToolbar:t.isShowToolbar,isLoading:t.isLoading,isReadonly:t.isReadonly,isAllowHtml:t.isAllowHtml,optionHeight:t.optionHeight,visibleOptionNum:t.visibleOptionNum,swipeDuration:t.swipeDuration})),$=n.computed(()=>c.CommonBase.isNonEmptyString(t.className)?t.className:""),V=n.computed(()=>c.CommonBase.isNonEmptyString(t.className)?t.className:""),b=e=>Array.isArray(e)&&e.length===D.length&&e.every(a=>c.CommonBase.isString(a)||c.CommonBase.isNumber(a)&&c.CommonBase.isFinite(a)),C=e=>String(e).padStart(2,"0"),G=(e,a)=>d.CommDay.objDay({year:e,month:a-1,day:1}).daysInMonth(),A=()=>t.minDate instanceof Date&&!c.CommonBase.isNaN(t.minDate.getTime())?t.minDate:d.CommDay.objDay().subtract(10,"year").startOf("day").toDate(),S=()=>t.maxDate instanceof Date&&!c.CommonBase.isNaN(t.maxDate.getTime())?t.maxDate:d.CommDay.objDay().add(10,"year").startOf("day").toDate(),k=()=>{let e=A(),a=S();if(e.getTime()>a.getTime()){const r=e;e=a,a=r}const u=d.CommDay.objDay().valueOf(),f=Math.max(e.getTime(),Math.min(u,a.getTime())),p=d.CommDay.objDay(f),v={year:String(p.year()),month:C(p.month()+1),day:C(p.date())};return D.map(r=>v[r])},P=()=>{const e=t.value;b(e)?i.value=[...e]:i.value=k()},J=()=>{let e=A(),a=S();if(e.getTime()>a.getTime()){const l=e;e=a,a=l}const u=e.getFullYear(),f=a.getFullYear(),p=l=>{const s=D.indexOf(l);if(s===-1){const N=d.CommDay.objDay();return l==="year"?N.year():l==="month"?N.month()+1:N.date()}const o=Number(i.value[s]);return c.CommonBase.isFinite(o)?o:Number(k()[s])},v=(l,s,o)=>Math.max(s,Math.min(l,o)),r=v(p("year"),u,f),w=r===u?e.getMonth()+1:1,H=r===f?a.getMonth()+1:12,q=v(p("month"),w,H),B=D.indexOf("month")!==-1?q:r===f?a.getMonth()+1:e.getMonth()+1,Y=G(r,B),T=r===u&&B===e.getMonth()+1?e.getDate():1,F=r===f&&B===a.getMonth()+1?Math.min(a.getDate(),Y):Y,K=v(p("day"),T,F),_=[];return D.forEach(l=>{if(l==="year"){const s=[];for(let o=u;o<=f;o++)s.push(String(o));_.push({values:s,defaultIndex:r-u})}else if(l==="month"){const s=[];for(let o=w;o<=H;o++)s.push(C(o));_.push({values:s,defaultIndex:q-w})}else if(l==="day"){const s=[];for(let o=T;o<=F;o++)s.push(C(o));_.push({values:s,defaultIndex:K-T})}}),_};P(),n.watch(()=>t.show,e=>{if(e){const a=t.value;b(a)&&P(),y.value=!0}else y.value=!1},{immediate:!0}),n.watch(y,e=>{g("update:show",e)}),n.watch(()=>t.value,e=>{b(e)&&(i.value=[...e])},{deep:!0});const I=e=>{i.value=[...e.selectedValues],g("onChange",e)},j=e=>{g("update:value",[...e.selectedValues]),g("onConfirm",e),t.isPoppable&&(y.value=!1)},E=e=>{Array.isArray(t.value)&&(i.value=[...t.value]),g("onCancel",e),t.isPoppable&&(y.value=!1)};return x({getValue:()=>m.value?[...m.value.getValue()]:[...i.value],setValue:e=>{Array.isArray(e)&&(i.value=[...e],m.value?.setValue?.(e))},getValueData:()=>m.value?m.value.getValueData():[],confirm:()=>{m.value?.confirm()}}),(e,a)=>z.value?(n.openBlock(),n.createBlock(Q._sfc_main,{key:0,show:y.value,"onUpdate:show":a[0]||(a[0]=u=>y.value=u),position:"bottom",isRound:!0,isCloseOnClickOverlay:!1,className:$.value},{default:n.withCtx(()=>[n.createVNode(L._sfc_main,n.mergeProps({id:n.unref(M),ref_key:"refElPicker",ref:m,class:V.value},O.value,{onOnChange:I,onOnConfirm:j,onOnCancel:E}),null,16,["id","class"])]),_:1},8,["show","className"])):(n.openBlock(),n.createBlock(L._sfc_main,n.mergeProps({key:1,id:n.unref(M),ref_key:"refElPicker",ref:m,class:V.value},O.value,{onOnChange:I,onOnConfirm:j,onOnCancel:E}),null,16,["id","class"]))}});module.exports=W;
1
+ "use strict";const n=require("vue"),c=require("../Shared/base-C2QOJBgB.js"),d=require("../Shared/day-DsoTTeo8.js"),Q=require("../Shared/Index.vue_vue_type_script_setup_true_lang-CET_xKsO.js"),L=require("../Shared/Index.vue_vue_type_script_setup_true_lang-CFzimlB_.js"),W=n.defineComponent({name:"ClPickerDate",__name:"Index",props:{id:String,value:{type:Array,default:()=>[]},className:String,show:Boolean,isPoppable:{type:Boolean,default:!0},columnsTypeArr:{type:Array,default:()=>["year","month","day"],validator:h=>h.length>0&&h.every(x=>["year","month","day"].indexOf(x)!==-1)&&new Set(h).size===h.length},minDate:{type:Date,default:()=>d.CommDay.objDay().subtract(10,"year").startOf("day").toDate()},maxDate:{type:Date,default:()=>d.CommDay.objDay().add(10,"year").startOf("day").toDate()},title:String,confirmButtonText:{type:String,default:"确认"},cancelButtonText:{type:String,default:"取消"},isShowToolbar:{type:Boolean,default:!0},isLoading:Boolean,isReadonly:Boolean,isAllowHtml:Boolean,optionHeight:{type:Number,default:44},visibleOptionNum:{type:Number,default:6},swipeDuration:{type:Number,default:1e3}},emits:["update:value","update:show","onConfirm","onCancel","onChange"],setup(h,{expose:x,emit:R}){const t=h,g=R,M=t.id,i=n.ref([]),y=n.ref(t.show),m=n.ref(null),D=(()=>{if(!Array.isArray(t.columnsTypeArr)||t.columnsTypeArr.length===0)return["year","month","day"];const e=t.columnsTypeArr.filter(a=>a==="year"||a==="month"||a==="day");return e.length>0?[...new Set(e)]:["year","month","day"]})(),z=n.computed(()=>t.isPoppable),U=n.computed(()=>J()),O=n.computed(()=>({value:i.value,columnsList:U.value,title:t.title,confirmButtonText:t.confirmButtonText,cancelButtonText:t.cancelButtonText,isShowToolbar:t.isShowToolbar,isLoading:t.isLoading,isReadonly:t.isReadonly,isAllowHtml:t.isAllowHtml,optionHeight:t.optionHeight,visibleOptionNum:t.visibleOptionNum,swipeDuration:t.swipeDuration})),$=n.computed(()=>c.CommonBase.isNonEmptyString(t.className)?t.className:""),V=n.computed(()=>c.CommonBase.isNonEmptyString(t.className)?t.className:""),b=e=>Array.isArray(e)&&e.length===D.length&&e.every(a=>c.CommonBase.isString(a)||c.CommonBase.isNumber(a)&&c.CommonBase.isFinite(a)),C=e=>String(e).padStart(2,"0"),G=(e,a)=>d.CommDay.objDay({year:e,month:a-1,day:1}).daysInMonth(),A=()=>t.minDate instanceof Date&&!c.CommonBase.isNaN(t.minDate.getTime())?t.minDate:d.CommDay.objDay().subtract(10,"year").startOf("day").toDate(),S=()=>t.maxDate instanceof Date&&!c.CommonBase.isNaN(t.maxDate.getTime())?t.maxDate:d.CommDay.objDay().add(10,"year").startOf("day").toDate(),k=()=>{let e=A(),a=S();if(e.getTime()>a.getTime()){const r=e;e=a,a=r}const u=d.CommDay.objDay().valueOf(),f=Math.max(e.getTime(),Math.min(u,a.getTime())),p=d.CommDay.objDay(f),v={year:String(p.year()),month:C(p.month()+1),day:C(p.date())};return D.map(r=>v[r])},P=()=>{const e=t.value;b(e)?i.value=[...e]:i.value=k()},J=()=>{let e=A(),a=S();if(e.getTime()>a.getTime()){const l=e;e=a,a=l}const u=e.getFullYear(),f=a.getFullYear(),p=l=>{const s=D.indexOf(l);if(s===-1){const N=d.CommDay.objDay();return l==="year"?N.year():l==="month"?N.month()+1:N.date()}const o=Number(i.value[s]);return c.CommonBase.isFinite(o)?o:Number(k()[s])},v=(l,s,o)=>Math.max(s,Math.min(l,o)),r=v(p("year"),u,f),w=r===u?e.getMonth()+1:1,H=r===f?a.getMonth()+1:12,q=v(p("month"),w,H),B=D.indexOf("month")!==-1?q:r===f?a.getMonth()+1:e.getMonth()+1,Y=G(r,B),T=r===u&&B===e.getMonth()+1?e.getDate():1,F=r===f&&B===a.getMonth()+1?Math.min(a.getDate(),Y):Y,K=v(p("day"),T,F),_=[];return D.forEach(l=>{if(l==="year"){const s=[];for(let o=u;o<=f;o++)s.push(String(o));_.push({values:s,defaultIndex:r-u})}else if(l==="month"){const s=[];for(let o=w;o<=H;o++)s.push(C(o));_.push({values:s,defaultIndex:q-w})}else if(l==="day"){const s=[];for(let o=T;o<=F;o++)s.push(C(o));_.push({values:s,defaultIndex:K-T})}}),_};P(),n.watch(()=>t.show,e=>{if(e){const a=t.value;b(a)&&P(),y.value=!0}else y.value=!1},{immediate:!0}),n.watch(y,e=>{g("update:show",e)}),n.watch(()=>t.value,e=>{b(e)&&(i.value=[...e])},{deep:!0});const I=e=>{i.value=[...e.selectedValues],g("onChange",e)},j=e=>{g("update:value",[...e.selectedValues]),g("onConfirm",e),t.isPoppable&&(y.value=!1)},E=e=>{Array.isArray(t.value)&&(i.value=[...t.value]),g("onCancel",e),t.isPoppable&&(y.value=!1)};return x({getValue:()=>m.value?[...m.value.getValue()]:[...i.value],setValue:e=>{Array.isArray(e)&&(i.value=[...e],m.value?.setValue?.(e))},getValueData:()=>m.value?m.value.getValueData():[],confirm:()=>{m.value?.confirm()}}),(e,a)=>z.value?(n.openBlock(),n.createBlock(Q._sfc_main,{key:0,show:y.value,"onUpdate:show":a[0]||(a[0]=u=>y.value=u),position:"bottom",isRound:!0,isCloseOnClickOverlay:!1,className:$.value},{default:n.withCtx(()=>[n.createVNode(L._sfc_main,n.mergeProps({id:n.unref(M),ref_key:"refElPicker",ref:m,class:V.value},O.value,{onOnChange:I,onOnConfirm:j,onOnCancel:E}),null,16,["id","class"])]),_:1},8,["show","className"])):(n.openBlock(),n.createBlock(L._sfc_main,n.mergeProps({key:1,id:n.unref(M),ref_key:"refElPicker",ref:m,class:V.value},O.value,{onOnChange:I,onOnConfirm:j,onOnCancel:E}),null,16,["id","class"]))}});module.exports=W;
2
2
  //# sourceMappingURL=ClPickerDate.cjs.map
@@ -2,7 +2,7 @@ import { defineComponent as ae, ref as O, computed as D, watch as V, openBlock a
2
2
  import { C as c } from "../Shared/base-DU7nGSf6.js";
3
3
  import { C as m } from "../Shared/day-DUeF3BZu.js";
4
4
  import { _ as se } from "../Shared/Index.vue_vue_type_script_setup_true_lang-BlJJqne4.js";
5
- import { _ as J } from "../Shared/Index.vue_vue_type_script_setup_true_lang-EGKo8cIw.js";
5
+ import { _ as J } from "../Shared/Index.vue_vue_type_script_setup_true_lang-huUkL0wY.js";
6
6
  const ye = /* @__PURE__ */ ae({
7
7
  name: "ClPickerDate",
8
8
  __name: "Index",
@@ -1,2 +1,2 @@
1
- "use strict";const t=require("vue"),a=require("../Shared/base-C2QOJBgB.js"),z=require("../Shared/day-DsoTTeo8.js"),ee=require("../Shared/Index.vue_vue_type_script_setup_true_lang-CET_xKsO.js"),U=require("../Shared/Index.vue_vue_type_script_setup_true_lang-Xe4BacqD.js"),ne=t.defineComponent({name:"ClPickerTime",__name:"Index",props:{id:String,value:{type:Array,default:()=>[]},className:String,show:Boolean,isPoppable:{type:Boolean,default:!0},columnsTypeArr:{type:Array,default:()=>["hour","minute"],validator:d=>d.length>0&&d.every(y=>["hour","minute","second"].indexOf(y)!==-1)&&new Set(d).size===d.length},minHour:{type:Number,default:0},maxHour:{type:Number,default:23},minMinute:{type:Number,default:0},maxMinute:{type:Number,default:59},minSecond:{type:Number,default:0},maxSecond:{type:Number,default:59},title:String,confirmButtonText:{type:String,default:"确认"},cancelButtonText:{type:String,default:"取消"},isShowToolbar:{type:Boolean,default:!0},isLoading:Boolean,isReadonly:Boolean,isAllowHtml:Boolean,optionHeight:{type:Number,default:44},visibleOptionNum:{type:Number,default:6},swipeDuration:{type:Number,default:1e3}},emits:["update:value","update:show","onConfirm","onCancel","onChange"],setup(d,{expose:y,emit:G}){const e=d,f=G,B=e.id,r=t.ref([]),l=t.ref(e.show),m=t.ref(null),h=(()=>{if(!Array.isArray(e.columnsTypeArr)||e.columnsTypeArr.length===0)return["hour","minute"];const n=e.columnsTypeArr.filter(o=>o==="hour"||o==="minute"||o==="second");return n.length>0?[...new Set(n)]:["hour","minute"]})(),J=t.computed(()=>e.isPoppable),K=t.computed(()=>W()),w=t.computed(()=>({value:r.value,columnsList:K.value,title:e.title,confirmButtonText:e.confirmButtonText,cancelButtonText:e.cancelButtonText,isShowToolbar:e.isShowToolbar,isLoading:e.isLoading,isReadonly:e.isReadonly,isAllowHtml:e.isAllowHtml,optionHeight:e.optionHeight,visibleOptionNum:e.visibleOptionNum,swipeDuration:e.swipeDuration})),Q=t.computed(()=>a.CommonBase.isNonEmptyString(e.className)?e.className:""),H=t.computed(()=>a.CommonBase.isNonEmptyString(e.className)?e.className:""),x=n=>Array.isArray(n)&&n.length===h.length&&[...n].every(o=>a.CommonBase.isString(o)?/^\d{1,2}$/.test(o):a.CommonBase.isNumber(o)&&a.CommonBase.isFinite(o)),p=n=>String(n).padStart(2,"0"),V=()=>a.CommonBase.isFinite(e.minHour)&&Number.isInteger(e.minHour)&&e.minHour>=0&&e.minHour<=23?e.minHour:0,I=()=>a.CommonBase.isFinite(e.maxHour)&&Number.isInteger(e.maxHour)&&e.maxHour>=0&&e.maxHour<=23?e.maxHour:23,k=()=>a.CommonBase.isFinite(e.minMinute)&&Number.isInteger(e.minMinute)&&e.minMinute>=0&&e.minMinute<=59?e.minMinute:0,P=()=>a.CommonBase.isFinite(e.maxMinute)&&Number.isInteger(e.maxMinute)&&e.maxMinute>=0&&e.maxMinute<=59?e.maxMinute:59,T=()=>a.CommonBase.isFinite(e.minSecond)&&Number.isInteger(e.minSecond)&&e.minSecond>=0&&e.minSecond<=59?e.minSecond:0,A=()=>a.CommonBase.isFinite(e.maxSecond)&&Number.isInteger(e.maxSecond)&&e.maxSecond>=0&&e.maxSecond<=59?e.maxSecond:59,O=()=>{const n=z.CommDay.objDay(),o={hour:p(n.hour()),minute:p(n.minute()),second:p(n.second())};return h.map(c=>o[c])},D=()=>{const n=e.value;x(n)?r.value=[...n]:r.value=O()},W=()=>{const n=Math.min(V(),I()),o=Math.max(V(),I()),c=Math.min(k(),P()),_=Math.max(k(),P()),X=Math.min(T(),A()),Y=Math.max(T(),A()),C=s=>{const i=h.indexOf(s);if(i===-1){const S=z.CommDay.objDay();return s==="hour"?S.hour():s==="minute"?S.minute():S.second()}const u=Number(r.value[i]);return a.CommonBase.isFinite(u)?u:Number(O()[i])},M=(s,i,u)=>Math.max(i,Math.min(s,u)),g=M(C("hour"),n,o),b=g===n?c:0,L=g===o?_:59,R=M(C("minute"),b,L),j=h.indexOf("minute")!==-1?R:g===o?_:c,N=j===c?X:0,$=j===_?Y:59,Z=M(C("second"),N,$),v=[];return h.forEach(s=>{if(s==="hour"){const i=[];for(let u=n;u<=o;u++)i.push(p(u));v.push({values:i,defaultIndex:g-n})}else if(s==="minute"){const i=[];for(let u=b;u<=L;u++)i.push(p(u));v.push({values:i,defaultIndex:R-b})}else if(s==="second"){const i=[];for(let u=N;u<=$;u++)i.push(p(u));v.push({values:i,defaultIndex:Z-N})}}),v};D(),t.watch(()=>e.show,n=>{if(n){const o=e.value;x(o)&&D(),l.value=!0}else l.value=!1},{immediate:!0}),t.watch(l,n=>{f("update:show",n)}),t.watch(()=>e.value,n=>{x(n)&&(r.value=[...n])},{immediate:!0,deep:!0});const F=n=>{r.value=[...n.selectedValues],f("onChange",n)},E=n=>{f("update:value",[...n.selectedValues]),f("onConfirm",n),e.isPoppable&&(l.value=!1)},q=n=>{f("onCancel",n),e.isPoppable&&(l.value=!1)};return y({getValue:()=>m.value?[...m.value.getValue()]:[...r.value],setValue:n=>{x(n)&&(r.value=[...n],m.value?.setValue?.(n))},getValueData:()=>m.value?m.value.getValueData():[],confirm:()=>{m.value?.confirm()}}),(n,o)=>J.value?(t.openBlock(),t.createBlock(ee._sfc_main,{key:0,show:l.value,"onUpdate:show":o[0]||(o[0]=c=>l.value=c),position:"bottom",isRound:!0,isCloseOnClickOverlay:!1,className:Q.value},{default:t.withCtx(()=>[t.createVNode(U._sfc_main,t.mergeProps({id:t.unref(B),ref_key:"refElPicker",ref:m,className:H.value},w.value,{onOnChange:F,onOnConfirm:E,onOnCancel:q}),null,16,["id","className"])]),_:1},8,["show","className"])):(t.openBlock(),t.createBlock(U._sfc_main,t.mergeProps({key:1,id:t.unref(B),ref_key:"refElPicker",ref:m,className:H.value},w.value,{onOnChange:F,onOnConfirm:E,onOnCancel:q}),null,16,["id","className"]))}});module.exports=ne;
1
+ "use strict";const t=require("vue"),a=require("../Shared/base-C2QOJBgB.js"),z=require("../Shared/day-DsoTTeo8.js"),ee=require("../Shared/Index.vue_vue_type_script_setup_true_lang-CET_xKsO.js"),U=require("../Shared/Index.vue_vue_type_script_setup_true_lang-CFzimlB_.js"),ne=t.defineComponent({name:"ClPickerTime",__name:"Index",props:{id:String,value:{type:Array,default:()=>[]},className:String,show:Boolean,isPoppable:{type:Boolean,default:!0},columnsTypeArr:{type:Array,default:()=>["hour","minute"],validator:d=>d.length>0&&d.every(y=>["hour","minute","second"].indexOf(y)!==-1)&&new Set(d).size===d.length},minHour:{type:Number,default:0},maxHour:{type:Number,default:23},minMinute:{type:Number,default:0},maxMinute:{type:Number,default:59},minSecond:{type:Number,default:0},maxSecond:{type:Number,default:59},title:String,confirmButtonText:{type:String,default:"确认"},cancelButtonText:{type:String,default:"取消"},isShowToolbar:{type:Boolean,default:!0},isLoading:Boolean,isReadonly:Boolean,isAllowHtml:Boolean,optionHeight:{type:Number,default:44},visibleOptionNum:{type:Number,default:6},swipeDuration:{type:Number,default:1e3}},emits:["update:value","update:show","onConfirm","onCancel","onChange"],setup(d,{expose:y,emit:G}){const e=d,f=G,B=e.id,r=t.ref([]),l=t.ref(e.show),m=t.ref(null),h=(()=>{if(!Array.isArray(e.columnsTypeArr)||e.columnsTypeArr.length===0)return["hour","minute"];const n=e.columnsTypeArr.filter(o=>o==="hour"||o==="minute"||o==="second");return n.length>0?[...new Set(n)]:["hour","minute"]})(),J=t.computed(()=>e.isPoppable),K=t.computed(()=>W()),w=t.computed(()=>({value:r.value,columnsList:K.value,title:e.title,confirmButtonText:e.confirmButtonText,cancelButtonText:e.cancelButtonText,isShowToolbar:e.isShowToolbar,isLoading:e.isLoading,isReadonly:e.isReadonly,isAllowHtml:e.isAllowHtml,optionHeight:e.optionHeight,visibleOptionNum:e.visibleOptionNum,swipeDuration:e.swipeDuration})),Q=t.computed(()=>a.CommonBase.isNonEmptyString(e.className)?e.className:""),H=t.computed(()=>a.CommonBase.isNonEmptyString(e.className)?e.className:""),x=n=>Array.isArray(n)&&n.length===h.length&&[...n].every(o=>a.CommonBase.isString(o)?/^\d{1,2}$/.test(o):a.CommonBase.isNumber(o)&&a.CommonBase.isFinite(o)),p=n=>String(n).padStart(2,"0"),V=()=>a.CommonBase.isFinite(e.minHour)&&Number.isInteger(e.minHour)&&e.minHour>=0&&e.minHour<=23?e.minHour:0,I=()=>a.CommonBase.isFinite(e.maxHour)&&Number.isInteger(e.maxHour)&&e.maxHour>=0&&e.maxHour<=23?e.maxHour:23,k=()=>a.CommonBase.isFinite(e.minMinute)&&Number.isInteger(e.minMinute)&&e.minMinute>=0&&e.minMinute<=59?e.minMinute:0,P=()=>a.CommonBase.isFinite(e.maxMinute)&&Number.isInteger(e.maxMinute)&&e.maxMinute>=0&&e.maxMinute<=59?e.maxMinute:59,T=()=>a.CommonBase.isFinite(e.minSecond)&&Number.isInteger(e.minSecond)&&e.minSecond>=0&&e.minSecond<=59?e.minSecond:0,A=()=>a.CommonBase.isFinite(e.maxSecond)&&Number.isInteger(e.maxSecond)&&e.maxSecond>=0&&e.maxSecond<=59?e.maxSecond:59,O=()=>{const n=z.CommDay.objDay(),o={hour:p(n.hour()),minute:p(n.minute()),second:p(n.second())};return h.map(c=>o[c])},D=()=>{const n=e.value;x(n)?r.value=[...n]:r.value=O()},W=()=>{const n=Math.min(V(),I()),o=Math.max(V(),I()),c=Math.min(k(),P()),_=Math.max(k(),P()),X=Math.min(T(),A()),Y=Math.max(T(),A()),C=s=>{const i=h.indexOf(s);if(i===-1){const S=z.CommDay.objDay();return s==="hour"?S.hour():s==="minute"?S.minute():S.second()}const u=Number(r.value[i]);return a.CommonBase.isFinite(u)?u:Number(O()[i])},M=(s,i,u)=>Math.max(i,Math.min(s,u)),g=M(C("hour"),n,o),b=g===n?c:0,L=g===o?_:59,R=M(C("minute"),b,L),j=h.indexOf("minute")!==-1?R:g===o?_:c,N=j===c?X:0,$=j===_?Y:59,Z=M(C("second"),N,$),v=[];return h.forEach(s=>{if(s==="hour"){const i=[];for(let u=n;u<=o;u++)i.push(p(u));v.push({values:i,defaultIndex:g-n})}else if(s==="minute"){const i=[];for(let u=b;u<=L;u++)i.push(p(u));v.push({values:i,defaultIndex:R-b})}else if(s==="second"){const i=[];for(let u=N;u<=$;u++)i.push(p(u));v.push({values:i,defaultIndex:Z-N})}}),v};D(),t.watch(()=>e.show,n=>{if(n){const o=e.value;x(o)&&D(),l.value=!0}else l.value=!1},{immediate:!0}),t.watch(l,n=>{f("update:show",n)}),t.watch(()=>e.value,n=>{x(n)&&(r.value=[...n])},{immediate:!0,deep:!0});const F=n=>{r.value=[...n.selectedValues],f("onChange",n)},E=n=>{f("update:value",[...n.selectedValues]),f("onConfirm",n),e.isPoppable&&(l.value=!1)},q=n=>{f("onCancel",n),e.isPoppable&&(l.value=!1)};return y({getValue:()=>m.value?[...m.value.getValue()]:[...r.value],setValue:n=>{x(n)&&(r.value=[...n],m.value?.setValue?.(n))},getValueData:()=>m.value?m.value.getValueData():[],confirm:()=>{m.value?.confirm()}}),(n,o)=>J.value?(t.openBlock(),t.createBlock(ee._sfc_main,{key:0,show:l.value,"onUpdate:show":o[0]||(o[0]=c=>l.value=c),position:"bottom",isRound:!0,isCloseOnClickOverlay:!1,className:Q.value},{default:t.withCtx(()=>[t.createVNode(U._sfc_main,t.mergeProps({id:t.unref(B),ref_key:"refElPicker",ref:m,className:H.value},w.value,{onOnChange:F,onOnConfirm:E,onOnCancel:q}),null,16,["id","className"])]),_:1},8,["show","className"])):(t.openBlock(),t.createBlock(U._sfc_main,t.mergeProps({key:1,id:t.unref(B),ref_key:"refElPicker",ref:m,className:H.value},w.value,{onOnChange:F,onOnConfirm:E,onOnCancel:q}),null,16,["id","className"]))}});module.exports=ne;
2
2
  //# sourceMappingURL=ClPickerTime.cjs.map
@@ -2,7 +2,7 @@ import { defineComponent as ae, ref as _, computed as h, watch as H, openBlock a
2
2
  import { C as u } from "../Shared/base-DU7nGSf6.js";
3
3
  import { C as W } from "../Shared/day-DUeF3BZu.js";
4
4
  import { _ as le } from "../Shared/Index.vue_vue_type_script_setup_true_lang-BlJJqne4.js";
5
- import { _ as X } from "../Shared/Index.vue_vue_type_script_setup_true_lang-EGKo8cIw.js";
5
+ import { _ as X } from "../Shared/Index.vue_vue_type_script_setup_true_lang-huUkL0wY.js";
6
6
  const ve = /* @__PURE__ */ ae({
7
7
  name: "ClPickerTime",
8
8
  __name: "Index",
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("../Shared/Index.vue_vue_type_script_setup_true_lang-4NloX3Qk.js");module.exports=e._sfc_main;
1
+ "use strict";const e=require("../Shared/Index.vue_vue_type_script_setup_true_lang-CSV9UWJx.js");module.exports=e._sfc_main;
2
2
  //# sourceMappingURL=ClPullToRefresh.cjs.map
@@ -1,4 +1,4 @@
1
- import { _ as f } from "../Shared/Index.vue_vue_type_script_setup_true_lang-N1GhNa1r.js";
1
+ import { _ as f } from "../Shared/Index.vue_vue_type_script_setup_true_lang-CpuYxzDD.js";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("vue"),r=require("../Shared/base-C2QOJBgB.js"),I=require("../Shared/index-DAgtltwJ.js"),ee=require("../Shared/Index.vue_vue_type_script_setup_true_lang-4NloX3Qk.js"),x=require("../Shared/Index.vue_vue_type_script_setup_true_lang-Dvy5B6_y.js"),te=["id"],oe={class:"scrollcard-list"},ne={key:1,class:"scrollcard-empty",role:"status"},se=["aria-expanded","onClick","onKeydown"],le={key:2,class:"scrollcard-elastic-body"},ie={class:"scrollcard-list"},ae={key:1,class:"scrollcard-empty",role:"status"},re=["aria-expanded","onClick","onKeydown"],ce={key:2,class:"scrollcard-elastic-body"},de={key:0,class:"scrollcard-pager"},ue=["disabled"],fe={class:"scrollcard-pager-info"},pe=["disabled"],me=e.defineComponent({name:"ClScrollCard",__name:"Index",props:{id:String,className:String,disabled:Boolean,list:{type:Array,default:()=>[]},isPaginate:{type:Boolean,default:!0},paginateType:{type:String,default:"scroll",validator:i=>["button","scroll"].indexOf(i)>-1},paginateLimit:{type:Number,default:20},isServer:{type:Boolean,default:!1},totalLength:{type:Number,default:0},orderSort:{type:Object,default:()=>({field:""})},isElastic:{type:Boolean,default:!1},isLoading:{type:Boolean,default:!1},isFinished:{type:Boolean,default:!1},emptyText:{type:String,default:"暂无数据"}},emits:{onGetData:i=>!0,onClickCard:(i,O)=>!0,onClickElastic:(i,O,N)=>!0},setup(i,{expose:O,emit:N}){const s=i,m=N,w=`s-${r.CommonBase.getRandom(5)}`,A=s.id,C=e.ref(null),a=e.ref(1),B=e.ref([]),p=e.ref([]),q=e.computed(()=>s.isPaginate&&s.paginateType==="scroll"),y=e.computed(()=>r.CommonBase.isFinite(s.paginateLimit)?Math.max(1,s.paginateLimit):20),E=e.computed(()=>s.isServer?[]:H(M())),z=e.computed(()=>s.isServer?0:E.value.length),$=e.computed(()=>{if(s.isServer)return M();if(!s.isPaginate)return E.value;if(s.paginateType==="button"){const o=y.value,n=(a.value-1)*o;return E.value.slice(n,n+o)}return E.value.slice(0,a.value*y.value)}),d=e.computed(()=>{if(s.isServer){const o=r.CommonBase.isFinite(s.totalLength)?s.totalLength:0;return o>0?Math.max(1,Math.ceil(o/y.value)):1}return s.isPaginate?Math.max(1,Math.ceil(z.value/y.value)):1}),G=e.computed(()=>s.isServer?s.isFinished:s.isPaginate?a.value>=d.value:!0),S=e.computed(()=>$.value.length===0),V=e.computed(()=>a.value<=1),J=e.computed(()=>a.value>=d.value),j=e.computed(()=>{const o={"panel-scrollcard":!0};return s.disabled&&(o["scrollcard-disabled"]=!0),r.CommonBase.getJsonMerge(o,I.CommonElement.getClassNameJson(s.className))}),M=()=>(r.CommonBase.isArray(s.list)?s.list:[]).filter(n=>n!=null),H=o=>{const n=s.orderSort||{},t=n.field;if(s.isServer||!r.CommonBase.isNonEmptyString(t))return r.CommonBase.getListClone(o);const l=n.order==="desc"?"desc":"asc",c=n.format||"string",h=r.CommonBase.getListClone(o);return h.sort((g,P)=>{const L=g&&typeof g[t]<"u"?g[t]:"",_=P&&typeof P[t]<"u"?P[t]:"";let k=0;return c==="number"?k=(Number(L)||0)-(Number(_)||0):c==="date"?k=(Date.parse(L)||0)-(Date.parse(_)||0):k=String(L===null?"":L).localeCompare(String(_===null?"":_)),l==="desc"&&(k=-k),k}),h},b=o=>{const n=o&&o.id;return n==null?"":r.CommonBase.isString(n)||r.CommonBase.isFinite(n)?n.toString():""},F=o=>{const n=y.value,t={pages:a.value,limit:n,offset:(a.value-1)*n,action:o},l=s.orderSort||{};return r.CommonBase.isNonEmptyString(l.field)&&(t.field=l.field,t.order=l.order==="desc"?"desc":"asc"),t},u=o=>B.value.indexOf(b(o))>-1,v=o=>p.value.indexOf(b(o))>-1,D=(o,n)=>{const t=b(o);return t!==""?`${w}-${t}-${n}`:`${w}-${n}`};e.watch([()=>s.list,()=>s.paginateLimit],()=>{!s.isServer&&a.value>d.value&&(a.value=Math.max(1,d.value))},{deep:!0});const T=(o,n)=>{m("onClickCard",o,n)},f=o=>{const n=b(o);if(!n)return;const t=B.value.indexOf(n)===-1,l=r.CommonBase.getArrClone(B.value),c=r.CommonBase.getArrClone(p.value);if(t){if(c.indexOf(n)>-1){l.indexOf(n)===-1&&l.push(n),B.value=l,m("onClickElastic",n,o,!0);return}l.indexOf(n)===-1&&l.push(n),c.indexOf(n)===-1&&c.push(n)}else{const h=l.indexOf(n);h>-1&&l.splice(h,1);const g=c.indexOf(n);g>-1&&c.splice(g,1)}B.value=l,p.value=c,m("onClickElastic",n,o,t)},K=o=>{a.value=o,s.isServer&&m("onGetData",F("pagechange"))},Q=()=>{s.disabled||s.isLoading||a.value<=1||K(a.value-1)},U=()=>{s.disabled||s.isLoading||a.value>=d.value||K(a.value+1)},W=()=>{s.disabled||(a.value=1,s.isServer?m("onGetData",F("refresh")):R())},X=()=>{if(s.disabled||s.isLoading)return;const o=a.value+1;if(s.isServer){if(s.totalLength>0&&o>d.value)return;a.value=o,m("onGetData",F("loadmore"))}else o<=d.value&&(a.value=o)},Y=o=>{if(!r.CommonBase.isString(o)&&!r.CommonBase.isFinite(o))return;const n=o.toString();if(n==="")return;const t=r.CommonBase.getArrClone(p.value);t.indexOf(n)===-1&&(t.push(n),p.value=t)},Z=o=>{if(!r.CommonBase.isString(o)&&!r.CommonBase.isFinite(o))return;const n=o.toString();if(n==="")return;const t=r.CommonBase.getArrClone(p.value),l=t.indexOf(n);l>-1&&(t.splice(l,1),p.value=t)},R=()=>{C.value&&typeof C.value.finishRefresh=="function"&&C.value.finishRefresh()};return O({loadElasticStart:Y,loadElasticStop:Z,finishRefresh:R}),(o,n)=>(e.openBlock(),e.createElementBlock("div",{id:e.unref(A),class:e.normalizeClass(j.value)},[q.value?(e.openBlock(),e.createBlock(ee._sfc_main,{key:0,class:"scrollcard-ptr",isLoading:i.isLoading,isFinished:G.value,disabled:i.disabled,onOnRefresh:W,onOnLoadMore:X,ref_key:"refElPullToRefresh",ref:C},{default:e.withCtx(()=>[e.createElementVNode("div",oe,[S.value&&i.isLoading?(e.openBlock(),e.createBlock(x._sfc_main,{key:0,class:"scrollcard-status",theme:"circleBubble",size:"large"})):S.value&&!i.isLoading?(e.openBlock(),e.createElementBlock("div",ne,e.toDisplayString(s.emptyText),1)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList($.value,(t,l)=>(e.openBlock(),e.createElementBlock("div",{key:D(t,l),class:"scrollcard-item"},[e.renderSlot(o.$slots,"default",{info:t,index:l,isOpen:u(t),elasticLoading:v(t),onClickCard:T,onToggleElastic:f}),i.isElastic?(e.openBlock(),e.createElementBlock("div",{key:0,class:"scrollcard-elastic-head",role:"button",tabindex:"0","aria-expanded":u(t),onClick:e.withModifiers(c=>f(t),["stop"]),onKeydown:[e.withKeys(e.withModifiers(c=>f(t),["prevent"]),["enter"]),e.withKeys(e.withModifiers(c=>f(t),["prevent"]),["space"])]},[e.renderSlot(o.$slots,"elasticIcon",{info:t,index:l,isOpen:u(t),elasticLoading:v(t)})],40,se)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[],64)),i.isElastic&&u(t)?(e.openBlock(),e.createElementBlock("div",le,[v(t)?(e.openBlock(),e.createBlock(x._sfc_main,{key:0,class:"scrollcard-elastic-load",theme:"circleBubble",size:"small"})):e.renderSlot(o.$slots,"elastic",{key:1,info:t,index:l})])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[],64))]))),128))])]),_:3},8,["isLoading","isFinished","disabled"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",ie,[S.value&&i.isLoading?(e.openBlock(),e.createBlock(x._sfc_main,{key:0,class:"scrollcard-status",theme:"circleBubble",size:"large"})):S.value&&!i.isLoading?(e.openBlock(),e.createElementBlock("div",ae,e.toDisplayString(s.emptyText),1)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList($.value,(t,l)=>(e.openBlock(),e.createElementBlock("div",{key:D(t,l),class:"scrollcard-item"},[e.renderSlot(o.$slots,"default",{info:t,index:l,isOpen:u(t),elasticLoading:v(t),onClickCard:T,onToggleElastic:f}),i.isElastic?(e.openBlock(),e.createElementBlock("div",{key:0,class:"scrollcard-elastic-head",role:"button",tabindex:"0","aria-expanded":u(t),onClick:e.withModifiers(c=>f(t),["stop"]),onKeydown:[e.withKeys(e.withModifiers(c=>f(t),["prevent"]),["enter"]),e.withKeys(e.withModifiers(c=>f(t),["prevent"]),["space"])]},[e.renderSlot(o.$slots,"elasticIcon",{info:t,index:l,isOpen:u(t),elasticLoading:v(t)})],40,re)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[],64)),i.isElastic&&u(t)?(e.openBlock(),e.createElementBlock("div",ce,[v(t)?(e.openBlock(),e.createBlock(x._sfc_main,{key:0,class:"scrollcard-elastic-load",theme:"circleBubble",size:"small"})):e.renderSlot(o.$slots,"elastic",{key:1,info:t,index:l})])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[],64))]))),128))]),i.isPaginate&&i.paginateType==="button"?(e.openBlock(),e.createElementBlock("div",de,[e.createElementVNode("button",{class:"scrollcard-pager-btn",disabled:V.value||i.disabled,onClick:Q}," 上一页 ",8,ue),e.createElementVNode("span",fe,e.toDisplayString(a.value)+" / "+e.toDisplayString(d.value),1),e.createElementVNode("button",{class:"scrollcard-pager-btn",disabled:J.value||i.disabled,onClick:U}," 下一页 ",8,pe)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[],64))],64))],10,te))}});module.exports=me;
1
+ "use strict";const e=require("vue"),r=require("../Shared/base-C2QOJBgB.js"),I=require("../Shared/index-DAgtltwJ.js"),ee=require("../Shared/Index.vue_vue_type_script_setup_true_lang-CSV9UWJx.js"),x=require("../Shared/Index.vue_vue_type_script_setup_true_lang-Dvy5B6_y.js"),te=["id"],oe={class:"scrollcard-list"},ne={key:1,class:"scrollcard-empty",role:"status"},se=["aria-expanded","onClick","onKeydown"],le={key:2,class:"scrollcard-elastic-body"},ie={class:"scrollcard-list"},ae={key:1,class:"scrollcard-empty",role:"status"},re=["aria-expanded","onClick","onKeydown"],ce={key:2,class:"scrollcard-elastic-body"},de={key:0,class:"scrollcard-pager"},ue=["disabled"],fe={class:"scrollcard-pager-info"},pe=["disabled"],me=e.defineComponent({name:"ClScrollCard",__name:"Index",props:{id:String,className:String,disabled:Boolean,list:{type:Array,default:()=>[]},isPaginate:{type:Boolean,default:!0},paginateType:{type:String,default:"scroll",validator:i=>["button","scroll"].indexOf(i)>-1},paginateLimit:{type:Number,default:20},isServer:{type:Boolean,default:!1},totalLength:{type:Number,default:0},orderSort:{type:Object,default:()=>({field:""})},isElastic:{type:Boolean,default:!1},isLoading:{type:Boolean,default:!1},isFinished:{type:Boolean,default:!1},emptyText:{type:String,default:"暂无数据"}},emits:{onGetData:i=>!0,onClickCard:(i,O)=>!0,onClickElastic:(i,O,N)=>!0},setup(i,{expose:O,emit:N}){const s=i,m=N,w=`s-${r.CommonBase.getRandom(5)}`,A=s.id,C=e.ref(null),a=e.ref(1),B=e.ref([]),p=e.ref([]),q=e.computed(()=>s.isPaginate&&s.paginateType==="scroll"),y=e.computed(()=>r.CommonBase.isFinite(s.paginateLimit)?Math.max(1,s.paginateLimit):20),E=e.computed(()=>s.isServer?[]:H(M())),z=e.computed(()=>s.isServer?0:E.value.length),$=e.computed(()=>{if(s.isServer)return M();if(!s.isPaginate)return E.value;if(s.paginateType==="button"){const o=y.value,n=(a.value-1)*o;return E.value.slice(n,n+o)}return E.value.slice(0,a.value*y.value)}),d=e.computed(()=>{if(s.isServer){const o=r.CommonBase.isFinite(s.totalLength)?s.totalLength:0;return o>0?Math.max(1,Math.ceil(o/y.value)):1}return s.isPaginate?Math.max(1,Math.ceil(z.value/y.value)):1}),G=e.computed(()=>s.isServer?s.isFinished:s.isPaginate?a.value>=d.value:!0),S=e.computed(()=>$.value.length===0),V=e.computed(()=>a.value<=1),J=e.computed(()=>a.value>=d.value),j=e.computed(()=>{const o={"panel-scrollcard":!0};return s.disabled&&(o["scrollcard-disabled"]=!0),r.CommonBase.getJsonMerge(o,I.CommonElement.getClassNameJson(s.className))}),M=()=>(r.CommonBase.isArray(s.list)?s.list:[]).filter(n=>n!=null),H=o=>{const n=s.orderSort||{},t=n.field;if(s.isServer||!r.CommonBase.isNonEmptyString(t))return r.CommonBase.getListClone(o);const l=n.order==="desc"?"desc":"asc",c=n.format||"string",h=r.CommonBase.getListClone(o);return h.sort((g,P)=>{const L=g&&typeof g[t]<"u"?g[t]:"",_=P&&typeof P[t]<"u"?P[t]:"";let k=0;return c==="number"?k=(Number(L)||0)-(Number(_)||0):c==="date"?k=(Date.parse(L)||0)-(Date.parse(_)||0):k=String(L===null?"":L).localeCompare(String(_===null?"":_)),l==="desc"&&(k=-k),k}),h},b=o=>{const n=o&&o.id;return n==null?"":r.CommonBase.isString(n)||r.CommonBase.isFinite(n)?n.toString():""},F=o=>{const n=y.value,t={pages:a.value,limit:n,offset:(a.value-1)*n,action:o},l=s.orderSort||{};return r.CommonBase.isNonEmptyString(l.field)&&(t.field=l.field,t.order=l.order==="desc"?"desc":"asc"),t},u=o=>B.value.indexOf(b(o))>-1,v=o=>p.value.indexOf(b(o))>-1,D=(o,n)=>{const t=b(o);return t!==""?`${w}-${t}-${n}`:`${w}-${n}`};e.watch([()=>s.list,()=>s.paginateLimit],()=>{!s.isServer&&a.value>d.value&&(a.value=Math.max(1,d.value))},{deep:!0});const T=(o,n)=>{m("onClickCard",o,n)},f=o=>{const n=b(o);if(!n)return;const t=B.value.indexOf(n)===-1,l=r.CommonBase.getArrClone(B.value),c=r.CommonBase.getArrClone(p.value);if(t){if(c.indexOf(n)>-1){l.indexOf(n)===-1&&l.push(n),B.value=l,m("onClickElastic",n,o,!0);return}l.indexOf(n)===-1&&l.push(n),c.indexOf(n)===-1&&c.push(n)}else{const h=l.indexOf(n);h>-1&&l.splice(h,1);const g=c.indexOf(n);g>-1&&c.splice(g,1)}B.value=l,p.value=c,m("onClickElastic",n,o,t)},K=o=>{a.value=o,s.isServer&&m("onGetData",F("pagechange"))},Q=()=>{s.disabled||s.isLoading||a.value<=1||K(a.value-1)},U=()=>{s.disabled||s.isLoading||a.value>=d.value||K(a.value+1)},W=()=>{s.disabled||(a.value=1,s.isServer?m("onGetData",F("refresh")):R())},X=()=>{if(s.disabled||s.isLoading)return;const o=a.value+1;if(s.isServer){if(s.totalLength>0&&o>d.value)return;a.value=o,m("onGetData",F("loadmore"))}else o<=d.value&&(a.value=o)},Y=o=>{if(!r.CommonBase.isString(o)&&!r.CommonBase.isFinite(o))return;const n=o.toString();if(n==="")return;const t=r.CommonBase.getArrClone(p.value);t.indexOf(n)===-1&&(t.push(n),p.value=t)},Z=o=>{if(!r.CommonBase.isString(o)&&!r.CommonBase.isFinite(o))return;const n=o.toString();if(n==="")return;const t=r.CommonBase.getArrClone(p.value),l=t.indexOf(n);l>-1&&(t.splice(l,1),p.value=t)},R=()=>{C.value&&typeof C.value.finishRefresh=="function"&&C.value.finishRefresh()};return O({loadElasticStart:Y,loadElasticStop:Z,finishRefresh:R}),(o,n)=>(e.openBlock(),e.createElementBlock("div",{id:e.unref(A),class:e.normalizeClass(j.value)},[q.value?(e.openBlock(),e.createBlock(ee._sfc_main,{key:0,class:"scrollcard-ptr",isLoading:i.isLoading,isFinished:G.value,disabled:i.disabled,onOnRefresh:W,onOnLoadMore:X,ref_key:"refElPullToRefresh",ref:C},{default:e.withCtx(()=>[e.createElementVNode("div",oe,[S.value&&i.isLoading?(e.openBlock(),e.createBlock(x._sfc_main,{key:0,class:"scrollcard-status",theme:"circleBubble",size:"large"})):S.value&&!i.isLoading?(e.openBlock(),e.createElementBlock("div",ne,e.toDisplayString(s.emptyText),1)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList($.value,(t,l)=>(e.openBlock(),e.createElementBlock("div",{key:D(t,l),class:"scrollcard-item"},[e.renderSlot(o.$slots,"default",{info:t,index:l,isOpen:u(t),elasticLoading:v(t),onClickCard:T,onToggleElastic:f}),i.isElastic?(e.openBlock(),e.createElementBlock("div",{key:0,class:"scrollcard-elastic-head",role:"button",tabindex:"0","aria-expanded":u(t),onClick:e.withModifiers(c=>f(t),["stop"]),onKeydown:[e.withKeys(e.withModifiers(c=>f(t),["prevent"]),["enter"]),e.withKeys(e.withModifiers(c=>f(t),["prevent"]),["space"])]},[e.renderSlot(o.$slots,"elasticIcon",{info:t,index:l,isOpen:u(t),elasticLoading:v(t)})],40,se)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[],64)),i.isElastic&&u(t)?(e.openBlock(),e.createElementBlock("div",le,[v(t)?(e.openBlock(),e.createBlock(x._sfc_main,{key:0,class:"scrollcard-elastic-load",theme:"circleBubble",size:"small"})):e.renderSlot(o.$slots,"elastic",{key:1,info:t,index:l})])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[],64))]))),128))])]),_:3},8,["isLoading","isFinished","disabled"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",ie,[S.value&&i.isLoading?(e.openBlock(),e.createBlock(x._sfc_main,{key:0,class:"scrollcard-status",theme:"circleBubble",size:"large"})):S.value&&!i.isLoading?(e.openBlock(),e.createElementBlock("div",ae,e.toDisplayString(s.emptyText),1)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList($.value,(t,l)=>(e.openBlock(),e.createElementBlock("div",{key:D(t,l),class:"scrollcard-item"},[e.renderSlot(o.$slots,"default",{info:t,index:l,isOpen:u(t),elasticLoading:v(t),onClickCard:T,onToggleElastic:f}),i.isElastic?(e.openBlock(),e.createElementBlock("div",{key:0,class:"scrollcard-elastic-head",role:"button",tabindex:"0","aria-expanded":u(t),onClick:e.withModifiers(c=>f(t),["stop"]),onKeydown:[e.withKeys(e.withModifiers(c=>f(t),["prevent"]),["enter"]),e.withKeys(e.withModifiers(c=>f(t),["prevent"]),["space"])]},[e.renderSlot(o.$slots,"elasticIcon",{info:t,index:l,isOpen:u(t),elasticLoading:v(t)})],40,re)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[],64)),i.isElastic&&u(t)?(e.openBlock(),e.createElementBlock("div",ce,[v(t)?(e.openBlock(),e.createBlock(x._sfc_main,{key:0,class:"scrollcard-elastic-load",theme:"circleBubble",size:"small"})):e.renderSlot(o.$slots,"elastic",{key:1,info:t,index:l})])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[],64))]))),128))]),i.isPaginate&&i.paginateType==="button"?(e.openBlock(),e.createElementBlock("div",de,[e.createElementVNode("button",{class:"scrollcard-pager-btn",disabled:V.value||i.disabled,onClick:Q}," 上一页 ",8,ue),e.createElementVNode("span",fe,e.toDisplayString(a.value)+" / "+e.toDisplayString(d.value),1),e.createElementVNode("button",{class:"scrollcard-pager-btn",disabled:J.value||i.disabled,onClick:U}," 下一页 ",8,pe)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[],64))],64))],10,te))}});module.exports=me;
2
2
  //# sourceMappingURL=ClScrollCard.cjs.map
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as de, ref as M, computed as u, watch as ue, openBlock as a, createElementBlock as c, normalizeClass as fe, unref as ve, createBlock as O, withCtx as ge, createElementVNode as $, toDisplayString as D, Fragment as p, renderList as W, renderSlot as C, withKeys as R, withModifiers as L } from "vue";
2
2
  import { C as r } from "../Shared/base-DU7nGSf6.js";
3
3
  import { C as pe } from "../Shared/index-DvNmQjNH.js";
4
- import { _ as ye } from "../Shared/Index.vue_vue_type_script_setup_true_lang-N1GhNa1r.js";
4
+ import { _ as ye } from "../Shared/Index.vue_vue_type_script_setup_true_lang-CpuYxzDD.js";
5
5
  import { _ as w } from "../Shared/Index.vue_vue_type_script_setup_true_lang-C06bNoBf.js";
6
6
  const he = ["id"], me = { class: "scrollcard-list" }, be = {
7
7
  key: 1,
@@ -1,2 +1,2 @@
1
1
  "use strict";const n=require("vue"),o=require("./base-C2QOJBgB.js"),K=require("./index-DAgtltwJ.js"),he=require("./Index.vue_vue_type_script_setup_true_lang-CYAgFXbW.js"),ge=require("./List.vue_vue_type_script_setup_true_lang-toOPLFA2.js"),Ce=require("vue-virtual-scroller");;/* empty css */const ye=require("./Index.vue_vue_type_script_setup_true_lang-B1nQfGzl.js"),fe=require("./One.vue_vue_type_script_setup_true_lang-BYx3RSJ7.js"),pe=require("./language-DNQZvFJT.js"),ve=require("./Index.vue_vue_type_script_setup_true_lang-g88DiQYZ.js"),Se=require("./Index.vue_vue_type_script_setup_true_lang-BJg2lSfq.js"),Be=["id"],we={key:0,class:"select-inDropdown-search",role:"search","aria-label":"搜索选项"},De={key:2,class:"select-inDropdown-checkboxAll"},be=["aria-selected","aria-disabled","onClick"],Ee={class:"select-inDropdown-item-inner"},Ie={key:0,class:"select-inDropdown-checkbox"},ke=["innerHTML"],_e={key:5,class:"select-inDropdown-body"},xe={class:"select-inDropdown-empty"},ue=35,Te=210,Ve=20,Me=n.defineComponent({name:"ClSelectInDropdown",__name:"Dropdown",props:{id:String,disabled:{type:Boolean,default:!1},isSearch:{type:Boolean,default:!1},searchPlaceholder:String,searchKey:{type:Array,default:()=>["name"]},searchKeyType:{type:String,default:"||"},isMultiple:{type:Boolean,default:!1},isCheckBoxAll:{type:Boolean,default:!0},showDropDownTextFormat:String,showDropDownTextFormatSub:String,isCascade:{type:Boolean,default:!1},parentSelectable:{type:Boolean,default:!1},parentKey:{type:String,default:"parentId"},topParentValue:{type:String,default:"0"},originalData:{type:Array,default:()=>[]},keyIndex:String,isOpen:{type:Boolean,default:!1},selectId:{type:Array,default:()=>[]},serverCallback:Function},emits:{onChange:c=>!0,onInitComplete:()=>!0,onError:c=>!0},setup(c,{expose:Y,emit:$}){const t=c,_=$,{optPageLanguage:V,getPageLanguage:z}=pe.useLanguage();z("common");const I=n.inject("$SelectTop",{}),F=typeof I.getSelectData=="function",M=n.ref(null),w=n.ref(null),O=n.ref(null);let D=!0;const y={isScrollLoading:!1,hasMoreData:!0};let v=[],m=0,x=0;const T=t.id,A=`select-inList-${t.keyIndex||""}`;let N=!1;const q=n.ref(""),b=n.ref([]),J=n.ref([]);let U={};const ee=a=>{const r=a.id.toString();if(t.isCascade&&a._hasChildren&&t.parentSelectable&&F){const u=I.getAllChildIds(r).filter(h=>!I.getSelectValueInfo(h)?.isDisabled);return u.length===0?!1:u.every(h=>o.CommonBase.isExistValue(t.selectId,h))}return o.CommonBase.isExistValue(t.selectId,r)},ie=n.computed(()=>{let a=!1;return J.value.length>0&&t.selectId.length>=J.value.length&&(a=o.CommonBase.isContainArr(t.selectId,J.value)),a}),Z=a=>{if(!a||typeof a!="object")return"";let r=o.CommonBase.isNonEmptyString(t.showDropDownTextFormat)?t.showDropDownTextFormat:"";a._level>=1&&o.CommonBase.isNonEmptyString(t.showDropDownTextFormatSub)&&(r=t.showDropDownTextFormatSub);let l=o.CommonBase.isEmpty(r)?a.name:o.CommonBase.convertStringFormat(r,a);return o.CommonBase.isHtml(l)?o.CommonBase.isEmpty(r)&&o.CommonBase.isHtml(a.name)?l=o.CommonBase.encodeHTML(a.name):l=o.CommonBase.convertStringFormatEncodeHTML(r,a):typeof l=="string"&&l.indexOf("<")>-1&&(l=o.CommonBase.encodeHTML(l)),l},H=a=>{const r=U[a]||{};if(o.CommonBase.isBoolean(r._isTypeRadio))return r._isTypeRadio;if(F){const l=I.getSelectValueInfo(a);if(o.CommonBase.isBoolean(l?._isTypeRadio))return l._isTypeRadio}return!1},G=()=>{const a=[];U=o.CommonBase.getJsonByList(b.value),b.value.forEach(r=>{if(!o.CommonBase.isObject(r))return;const l=typeof r.id;if(r.id==null||l!=="string"&&(l!=="number"||!o.CommonBase.isFinite(r.id)))return;const u=r.id.toString();if(!(t.isCascade&&r._hasChildren)&&!H(u)){if(o.CommonBase.isExistValue(a,u))return;r.isDisabled?o.CommonBase.isExistValue(t.selectId,u)&&a.push(u):a.push(u)}}),J.value=a},j=a=>{const r=t.parentKey,l=t.topParentValue,u={};a.forEach(C=>{if(!o.CommonBase.isObject(C)||C.id==null||typeof C.id!="string"&&(typeof C.id!="number"||!o.CommonBase.isFinite(C.id)))return;const E=C[r],k=E!=null&&(typeof E=="string"||typeof E=="number")?E.toString():"";k!==""&&k!==String(l)&&(u[k]||(u[k]=[]),u[k].push(C))});const h=[],g=(C,E,k,e)=>{C.forEach(s=>{const i=s.id.toString();if(e.has(i))return;e.add(i);const f=u[i]||[];h.push({...s,_level:E,_parentName:k,_hasChildren:f.length>0}),f.length>0&&g(f,E+1,s.name,e)})},S=a.filter(C=>{if(!o.CommonBase.isObject(C)||C.id==null||typeof C.id!="string"&&(typeof C.id!="number"||!o.CommonBase.isFinite(C.id)))return!1;const E=C[r],k=E!=null&&(typeof E=="string"||typeof E=="number")?E.toString():"";return o.CommonBase.isEmpty(k)||k===String(l)});return g(S,0,"",new Set),h},oe=(a,r)=>{if(!F)return a;const l=a.filter(e=>e!=null&&e.id!=null&&(typeof e.id=="string"||typeof e.id=="number"&&o.CommonBase.isFinite(e.id))),u=r.filter(e=>e!=null&&e.id!=null&&(typeof e.id=="string"||typeof e.id=="number"&&o.CommonBase.isFinite(e.id))),h=t.parentKey,g=t.topParentValue,S=new Set,C=new Set(l.map(e=>e.id.toString()));l.forEach(e=>{const s=e.id.toString();S.add(s);const i=new Set;let f=e[h];for(;f!=null&&(typeof f=="string"||typeof f=="number")&&f.toString()!==String(g);){const p=f.toString();if(i.has(p))break;i.add(p),C.has(p)||S.add(p),f=I.getSelectValueInfo(p)?.[h]}I.getAllChildIds(s).forEach(p=>{S.add(p)})});const E=u.filter(e=>S.has(e.id.toString())),k=new Set(E.map(e=>e.id.toString()));return S.forEach(e=>{if(!k.has(e)){const s=I.getSelectValueInfo(e);s&&Object.keys(s).length>0&&E.push(s)}}),E},ae=()=>{D&&(D=!1,y.hasMoreData=!0,t.isCascade?(v=[...t.originalData||[]],b.value=j(v)):b.value=o.CommonBase.getListClone(t.originalData).filter(a=>a!=null&&a.id!=null&&(typeof a.id=="string"||typeof a.id=="number"&&o.CommonBase.isFinite(a.id))),G(),te(),q.value="",n.nextTick(()=>{M.value&&M.value.setValue("")}))},te=()=>{n.nextTick(()=>{if(w.value&&t.selectId.length>0){const a=b.value.findIndex(r=>r.id!=null&&o.CommonBase.isExistValue(t.selectId,r.id.toString()));a>-1&&w.value.scrollToItem(a)}})},X=a=>{const r=[],l=U[a]||{},u=t.isCascade&&l._hasChildren;if(t.isMultiple)if(H(a))o.CommonBase.isExistValue(t.selectId,a)?t.selectId.forEach(h=>{h!==a&&r.push(h)}):(t.selectId.forEach(h=>{H(h)||r.push(h)}),r.push(a));else if(u&&t.parentSelectable&&F){const h=I.getAllChildIds(a),g=h.filter(C=>!I.getSelectValueInfo(C)?.isDisabled),S=g.length>0&&g.every(C=>o.CommonBase.isExistValue(t.selectId,C));t.selectId.forEach(C=>{h.includes(C)?h.includes(C)&&I.getSelectValueInfo(C)?.isDisabled&&r.push(C):r.push(C)}),S||g.forEach(C=>{o.CommonBase.isExistValue(r,C)||r.push(C)})}else{if(u&&!t.parentSelectable)return[...t.selectId];t.selectId.forEach(h=>{h!==a&&r.push(h)}),o.CommonBase.isExistValue(t.selectId,a)||r.push(a)}else{if(u&&!t.parentSelectable)return[...t.selectId];r.push(a)}return r},Q=a=>{const r=b.value;if(r.length===0)return;let l=-1;const u=q.value;u.length>0?(r.forEach((h,g)=>{h.id.toString()===u&&(l=g)}),l+=a,l<0?l=0:l>=r.length&&(l=r.length-1)):l=0,q.value=r[l].id.toString(),w.value&&w.value.scrollToItem(l)},R=a=>{let r=a.keyCode;if(!o.CommonBase.isUndefined(r))switch(r=r.toString(),r){case"13":{const l=O.value&&a.target instanceof Node&&O.value.contains(a.target);(a.target===document.body||l)&&(a.preventDefault(),a.stopPropagation());break}case"38":a.preventDefault(),a.stopPropagation(),Q(-1);break;case"40":a.preventDefault(),a.stopPropagation(),Q(1);break}},P=a=>{let r=a.keyCode;if(!o.CommonBase.isUndefined(r))switch(r=r.toString(),r){case"27":F&&I.closeDropdown?.();break;case"13":{const l=q.value;if(!l||t.disabled||!t.isOpen)break;const u=O.value&&a.target instanceof Node&&O.value.contains(a.target);if(a.target!==document.body&&!u||!b.value.some(S=>S.id.toString()===l)||U[l]?.isDisabled)break;const g=X(l);_("onChange",g);break}}},ne=a=>a.map(r=>{const{_level:l,_parentName:u,_hasChildren:h,...g}=r;return g}),le=async()=>{if(t.serverCallback&&!(y.isScrollLoading||!y.hasMoreData)&&(y.isScrollLoading=!0,t.serverCallback)){const a=++x,r=b.value;try{const l={offset:r.length};if(t.isSearch&&M.value){const S=M.value.getValue();o.CommonBase.isEmpty(S)||(l.search=S)}const u=await t.serverCallback(l);if(a!==x||r!==b.value)return;if(!Array.isArray(u)){console.error("[ClSelect] _loadMore 服务端返回数据格式异常(非数组):",typeof u),_("onError","服务端加载失败:返回数据格式异常");return}if(u.length===0){y.hasMoreData=!1;return}const h=new Set(r.map(S=>S?.id?.toString()).filter(Boolean)),g=u.filter(S=>{if(S?.id==null)return!1;const C=typeof S.id;return C!=="string"&&(C!=="number"||!o.CommonBase.isFinite(S.id))?!1:!h.has(S.id.toString())});if(g.length===0){y.hasMoreData=!1;return}t.isCascade?l.search?b.value=j([...b.value,...g]):(v.length===0&&(v=ne(b.value)),v.length===0&&(v=[...t.originalData]),v.push(...g),b.value=j(v)):b.value.push(...g),G(),F&&(I.convertListToJson(g),I.refreshDisplayLabels?.())}catch(l){console.error("[ClSelect] _loadMore 服务端加载失败:",l),_("onError","服务端加载失败,请稍后重试")}finally{y.isScrollLoading=!1}}},W=()=>{ae(),_("onInitComplete")};n.onMounted(()=>{W()}),n.onBeforeUnmount(()=>{K.CommonElement.offListener(window,"keydown",R),K.CommonElement.offListener(window,"keyup",P),N=!1}),n.onDeactivated(()=>{K.CommonElement.offListener(window,"keydown",R),K.CommonElement.offListener(window,"keyup",P),N=!1}),n.onActivated(()=>{t.isOpen&&!N&&(K.CommonElement.onListener(window,"keydown",R),K.CommonElement.onListener(window,"keyup",P),N=!0)}),n.watch(()=>t.isOpen,a=>{a?(D=!0,ae()):y.isScrollLoading=!1}),n.watch(()=>t.originalData,a=>{D=!0,t.isCascade?(v=[...a||[]],b.value=j(v)):b.value=o.CommonBase.getListClone(a).filter(r=>r!=null&&r.id!=null&&(typeof r.id=="string"||typeof r.id=="number"&&o.CommonBase.isFinite(r.id))),G(),y.hasMoreData=!0,q.value="",n.nextTick(()=>{M.value&&M.value.setValue("")})});const se=async a=>{const r=++m;x=Math.max(x,r+1);let l=[];if(t.isCascade&&(v=[]),y.hasMoreData=!0,t.serverCallback){try{if(l=await t.serverCallback({search:a,offset:0}),Array.isArray(l)||(console.error("[ClSelect] onSearch 服务端返回数据格式异常(非数组):",typeof l),_("onError","服务端搜索失败:返回数据格式异常"),l=[]),r!==m)return;F&&I.convertListToJson(l)}catch(u){console.error("[ClSelect] onSearch 服务端搜索失败:",u),_("onError","服务端搜索失败,请稍后重试"),l=[]}if(r!==m)return;t.isCascade&&(l=oe(l,t.originalData),l=j(l))}else{const u=t.originalData.filter(h=>h!=null&&h.id!=null&&(typeof h.id=="string"||typeof h.id=="number"&&o.CommonBase.isFinite(h.id)));if(o.CommonBase.isEmpty(a))l=u;else{t.searchKeyType!=="||"&&t.searchKeyType!=="&&"&&console.warn("[ClSelect] onSearch searchKeyType 未知值,已降级为 OR 匹配:",t.searchKeyType);const h=a.toLowerCase(),g=o.CommonBase.isArray(t.searchKey)?t.searchKey:["name"],S=g.length;u.forEach(C=>{const E=[];for(let k=0;k<S;k++){const e=C[g[k]];if(e==null)continue;String(e).toLowerCase().indexOf(h)>-1&&E.push(!0)}if(E.length>0)switch(t.searchKeyType){case"||":l.push(C);break;case"&&":E.length===S&&l.push(C);break;default:l.push(C)}})}t.isCascade&&(o.CommonBase.isEmpty(a)||(l=oe(l,t.originalData)),l=j(l))}b.value=l.filter(u=>u!=null&&u.id!=null&&(typeof u.id=="string"||typeof u.id=="number"&&o.CommonBase.isFinite(u.id))),G(),q.value="",F&&I.calculationDropdownPosition()},re=a=>{if(!t.disabled&&t.isMultiple){const r=[],l=[];J.value.forEach(g=>{a.value?o.CommonBase.isExistValue(t.selectId,g)||r.push(g):o.CommonBase.isExistValue(t.selectId,g)&&(U[g]?.isDisabled||l.push(g))});const u=o.CommonBase.getArrClone(t.selectId);l.length>0&&l.forEach(g=>{const S=u.indexOf(g);S>-1&&u.splice(S,1)}),r.length>0&&r.forEach(g=>{o.CommonBase.isExistValue(u,g)||u.push(g)});const h=[];u.forEach(g=>{(!H(g)||o.CommonBase.isExistValue(t.selectId,g))&&h.push(g)}),_("onChange",h)}},ce=a=>{if(a.id==null||typeof a.id!="string"&&(typeof a.id!="number"||!o.CommonBase.isFinite(a.id))||a.isDisabled||t.disabled)return;const r=a.id.toString(),l=X(r);_("onChange",l)};return Y({initOpenShow:a=>{a?N||(K.CommonElement.onListener(window,"keydown",R),K.CommonElement.onListener(window,"keyup",P),N=!0):N&&(K.CommonElement.offListener(window,"keydown",R),K.CommonElement.offListener(window,"keyup",P),N=!1)}}),(a,r)=>(n.openBlock(),n.createElementBlock("div",{class:"select-inDropdown-container",id:n.unref(T),ref_key:"refElRoot",ref:O},[c.isSearch?(n.openBlock(),n.createElementBlock("div",we,[n.createVNode(ye._sfc_main,{ref_key:"refElSearch",ref:M,placeholder:c.searchPlaceholder,disabled:c.disabled,onOnChange:se},null,8,["placeholder","disabled"])])):(n.openBlock(),n.createElementBlock(n.Fragment,{key:1},[],64)),c.isMultiple&&c.isCheckBoxAll&&b.value.length>0?(n.openBlock(),n.createElementBlock("div",De,[n.createVNode(fe._sfc_main,{forId:`${A}-cb-all`,label:n.unref(V).checkboxAll,value:ie.value,disabled:c.disabled,onOnChange:re},null,8,["forId","label","value","disabled"])])):(n.openBlock(),n.createElementBlock(n.Fragment,{key:3},[],64)),b.value.length>0?(n.openBlock(),n.createBlock(n.unref(Ce.RecycleScroller),{key:4,class:"select-inDropdown-body select-inDropdown-scroller",role:"listbox",style:n.normalizeStyle({height:Math.min(b.value.length*ue,Te)+"px"}),items:b.value,"item-size":ue,"key-field":"id",ref_key:"refElScroller",ref:w,onScrollEnd:le},{default:n.withCtx(({item:l})=>[n.createElementVNode("div",{role:"option","aria-selected":ee(l),"aria-disabled":l.isDisabled||!1,class:n.normalizeClass({"option-selected":ee(l),"option-disabled":l.isDisabled,"option-hoverKeydown":q.value===l.id.toString(),"select-inDropdown-item-child":l._level>=1}),style:n.normalizeStyle({height:ue+"px",paddingLeft:l._level?l._level*Ve+"px":void 0}),onClick:u=>ce(l)},[n.createElementVNode("div",Ee,[c.isMultiple?(n.openBlock(),n.createElementBlock("div",Ie,[n.createVNode(fe._sfc_main,{name:`${A}-cb`,forId:`${A}-cb-${l.id}`,value:ee(l),disabled:l.isDisabled},null,8,["name","forId","value","disabled"])])):(n.openBlock(),n.createElementBlock(n.Fragment,{key:1},[],64)),n.createElementVNode("div",{class:"select-inDropdown-title",innerHTML:Z(l)},null,8,ke)])],14,be)]),_:1},8,["style","items"])):(n.openBlock(),n.createElementBlock("div",_e,[n.createElementVNode("div",xe,n.toDisplayString(n.unref(V).noResultsText),1)]))],8,Be))}}),Oe=["id"],Le={class:"select-inTag-title"},Fe={class:"select-inTag-operate"},Ae={class:"select-inTag-body"},Pe=n.defineComponent({name:"ClSelectInTags",__name:"Tags",props:{id:String,showTextFormat:String,selectId:{type:Array,default:()=>[]}},emits:{onRemove:c=>!0},setup(c,{emit:Y}){const $=c,t=Y,_=$.id,{optPageLanguage:V,getPageLanguage:z}=pe.useLanguage();z("common");const I=n.inject("$SelectTop",{}),F=typeof I.getSelectData=="function",M=n.computed(()=>F?o.CommonBase.isArray($.selectId)?I.getSelectData($.selectId):[]:[]),w=n.computed(()=>F?M.value.length:0),O=n.computed(()=>o.CommonBase.isArray(M.value)?M.value.some(v=>o.CommonBase.isObject(v)?!(o.CommonBase.isBoolean(v.isDisabled)&&v.isDisabled):!1):!1),D=()=>{const v=M.value;if(!o.CommonBase.isArray(v))return;const m=[];let x=!1;v.forEach(T=>{if(!o.CommonBase.isObject(T))return;(o.CommonBase.isBoolean(T.isDisabled)?!!T.isDisabled:!1)?(typeof T.id=="string"&&!o.CommonBase.isEmpty(T.id)||typeof T.id=="number"&&o.CommonBase.isFinite(T.id))&&m.push(T.id.toString()):x=!0}),x&&t("onRemove",m)},y=v=>{if(!o.CommonBase.isArray($.selectId)||o.CommonBase.isEmpty(v))return;const m=String(v),x=$.selectId.findIndex(A=>String(A)===m);if(x===-1)return;const T=o.CommonBase.getArrClone($.selectId);T.splice(x,1),t("onRemove",T)};return(v,m)=>(n.openBlock(),n.createElementBlock("div",{class:"select-inTag-container",id:n.unref(_)},[n.createElementVNode("div",Le,[n.createElementVNode("span",null,n.toDisplayString(n.unref(V).selected)+" "+n.toDisplayString(w.value)+" "+n.toDisplayString(n.unref(V).count),1),n.createElementVNode("span",Fe,[O.value?(n.openBlock(),n.createBlock(ve._sfc_main,{key:0,class:"select-inTag-deleteAll",name:"remove",title:n.unref(V).deleteAll,"aria-label":n.unref(V).deleteAll,onClick:D},null,8,["title","aria-label"])):(n.openBlock(),n.createElementBlock(n.Fragment,{key:1},[],64))])]),n.createElementVNode("div",Ae,[n.createVNode(Se._sfc_main,{showTextFormat:c.showTextFormat,list:M.value,onOnRemove:y},null,8,["showTextFormat","list"])])],8,Oe))}}),Ke={key:0,class:"select-inText-num"},Ne=n.defineComponent({name:"ClSelect",__name:"Index",props:{id:String,value:[String,Number],className:String,disabled:{type:Boolean,default:!1},list:{type:Array,default:()=>[]},placeholder:String,classDropDown:String,theme:{type:String,default:"default",validator:c=>["default","noBorder"].includes(c)},multiple:{type:Boolean,default:!1},isClear:{type:Boolean,default:!1},isSearch:{type:Boolean,default:!1},isCheckBoxAll:{type:Boolean,default:!0},isShowTag:{type:Boolean,default:!0},arrowDirection:{type:String,default:"right",validator:c=>["left","right"].includes(c)},transitionLeave:{type:String,default:"zoomOutTop"},searchPlaceholder:String,searchKey:{type:Array,default:()=>["name"]},searchKeyType:{type:String,default:"||",validator:c=>["||","&&"].includes(c)},showTextFormat:String,showDropDownTextFormat:String,multipleRealTimeChange:{type:Boolean,default:!1},isCascade:{type:Boolean,default:!1},parentSelectable:{type:Boolean,default:!1},parentKey:{type:String,default:"parentId"},topParentValue:{type:String,default:"0"},showDropDownTextFormatSub:String,isOutMerge:{type:Boolean,default:!0},onOpenBefore:Function,serverCallback:Function},emits:{"update:value":c=>!0,onChange:(c,Y)=>!0,onInit:()=>!0,onOpen:c=>!0,onError:c=>!0},setup(c,{expose:Y,emit:$}){const t=c,_=$,V=n.ref(null),z=n.ref(null),I=n.ref(null),F=`select-${o.CommonBase.getRandom(8)}`,M=t.id,w=n.reactive({isOpen:!1,dropDownPos:"down",tagHeight:"",tagLeft:"",tagDirection:"right"});let O=[],D={};const y={childrenMap:{},parentMap:{},lastChildMap:{},allChildMap:{}},v=n.ref(!1),m=n.ref([]),x=n.ref([]);let T=!1;const A=n.computed(()=>o.CommonBase.isNonEmptyString(t.showTextFormat)?t.showTextFormat:t.isCascade?"${name}(${parentName})":""),N=n.computed(()=>{let e={"panel-select":!0,"box-width":!0};return t.theme==="noBorder"&&(e["select-theme-noBorder"]=!0),e=o.CommonBase.getJsonMerge(e,K.CommonElement.getClassNameJson(t.className)),o.CommonBase.getStringByJson(e," ")}),q=n.computed(()=>{let e={"select-inDropdown":!0};return w.isOpen&&t.multiple&&t.isShowTag&&(e["select-inTag-ext"]=!0,e[`select-inTag-${w.tagDirection}`]=!0),e=o.CommonBase.getJsonMerge(e,K.CommonElement.getClassNameJson(t.classDropDown)),o.CommonBase.getStringByJson(e," ")}),b=n.computed(()=>{const e={"select-inTag":!0,"select-inTag-open":w.isOpen};return e[`select-inTag-${w.dropDownPos}`]=!0,e[`select-inTag-${w.tagDirection}`]=!0,e}),J=e=>{_("update:value",e)},U=(e,s)=>{J(e),_("onChange",e,s)},ee=()=>{T||(T=!0,n.nextTick(()=>{_("onInit")}))},ie=e=>{n.nextTick(()=>{_("onOpen",e)})},Z=()=>{const e=[];return m.value.forEach(s=>{o.CommonBase.isExistJsonKey(D,s)&&e.push(s)}),e},H=e=>{if(o.CommonBase.isEmpty(e)||!o.CommonBase.isArray(e))return;const s={},i=t.parentKey,f=t.topParentValue;if(e.forEach(d=>{if(!o.CommonBase.isObject(d)){console.warn("[ClSelect] _convertListToJson 跳过非对象数据项:",d);return}if(!(typeof d.id=="string"||typeof d.id=="number"&&o.CommonBase.isFinite(d.id))){console.warn("[ClSelect] _convertListToJson 跳过无 id 或 id 类型异常的数据项:",d);return}const B=d.id.toString();s[B]=o.CommonBase.getJsonClone(d)}),D=o.CommonBase.getJsonMerge(D,s),t.serverCallback&&!v.value&&!o.CommonBase.isEmpty(s)&&(v.value=!0,t.value!=null&&t.value!==""&&(R(t.value),Q())),t.isCascade&&Object.keys(D).forEach(d=>{const p=D[d][i],B=p!=null&&(typeof p=="string"||typeof p=="number")?p.toString():"";if(B!==""&&B!==String(f)){const L=D[B];L?.name&&(D[d].parentName=L.name)}}),t.isCascade&&(G(),t.isOutMerge&&t.multiple&&m.value.length>0)){const d=te(m.value);o.CommonBase.isEqualArr(m.value,d)||(m.value=d,O=d)}if(t.multiple&&m.value.length>1){const d=m.value.filter(p=>{const B=D[p];return o.CommonBase.isBoolean(B?._isTypeRadio)&&B._isTypeRadio});if(d.length>1){const p=d[d.length-1],B=m.value.filter(L=>L===p||!d.includes(L));o.CommonBase.isEqualArr(m.value,B)||(m.value=B,W())}}m.value.length>0&&(m.value=[...m.value])},G=()=>{const e=t.parentKey,s=t.topParentValue;y.childrenMap={},y.parentMap={},y.lastChildMap={},y.allChildMap={},Object.keys(D).forEach(f=>{const p=D[f][e],B=p!=null&&(typeof p=="string"||typeof p=="number")?p.toString():"";B!==""&&B!==String(s)&&(y.parentMap[f]=B,y.childrenMap[B]||(y.childrenMap[B]=[]),y.childrenMap[B].push(f))})},j=e=>{const s=(i,f)=>{if(y.lastChildMap[i])return y.lastChildMap[i];if(f.has(i))return[];f.add(i);const d=y.childrenMap[i];if(!d||d.length===0)return y.lastChildMap[i]=[i],[i];const p=[];return d.forEach(B=>{p.push(...s(B,new Set(f)))}),y.lastChildMap[i]=p,p};return s(e,new Set)},oe=e=>{const s=(i,f)=>{if(y.allChildMap[i])return y.allChildMap[i];if(f.has(i))return[];f.add(i);const d=y.childrenMap[i];if(!d||d.length===0)return y.allChildMap[i]=[],[];const p=[];d.forEach(L=>{p.push(L),p.push(...s(L,new Set(f)))});const B=Array.from(new Set(p));return y.allChildMap[i]=B,B};return s(e,new Set)},ae=e=>{if(e.length===0)return[];const s=new Set(e),i=new Set,f=new Set;for(const d of s){const p=y.parentMap[d];p&&!f.has(p)&&i.add(p)}for(;i.size>0;){const d=i.values().next().value;if(i.delete(d),f.has(d))continue;f.add(d);const p=y.childrenMap[d];if(!p||p.length===0)continue;let B=!0;for(const L of p)if(!s.has(L)){B=!1;break}if(B){for(const me of p)s.delete(me);s.add(d);const L=y.parentMap[d];L&&!f.has(L)&&i.add(L)}}return[...s]},te=e=>{if(e.length===0)return[];const s=[];return e.forEach(i=>{s.push(...j(i))}),o.CommonBase.getArrUnique(s)},X=e=>!t.isCascade||!t.multiple?e:t.isOutMerge?ae(e):te(e),Q=()=>{if(v.value&&!o.CommonBase.isEmpty(m.value)){if(o.CommonBase.isEmpty(D)||t.serverCallback)return;const e=Z();if(!o.CommonBase.isEqualArr(m.value,e)){const s=m.value.filter(f=>!e.includes(f));s.length>0&&console.warn("[ClSelect] 以下 id 在数据列表中不存在,已自动清除:",s),m.value=e,O=e;const i=X(e);J(i.join(","))}}},R=e=>{if(e!=null&&typeof e!="string"&&(typeof e!="number"||!o.CommonBase.isFinite(e))){console.warn("[ClSelect] setValue 收到非预期类型值:",typeof e,e);return}let s=e==null||e===""?[]:e.toString().split(",").filter(f=>f!=="");s=o.CommonBase.getArrUnique(s),t.isCascade&&t.isOutMerge&&s.length>0&&t.multiple&&(s=te(s));let i=o.CommonBase.isEqualArr(m.value,s);i&&(i=s.join(",")===m.value.join(",")),i||(O=s,m.value=s)},P=e=>o.CommonBase.isExistJsonKey(D,e)?o.CommonBase.getJsonClone(D[e]):{},ne=e=>{const s=o.CommonBase.isArray(e)?e:m.value,i=[];return s.forEach(f=>{const d=P(f);o.CommonBase.isEmpty(d)||i.push(d)}),i},le=e=>{let s=o.CommonBase.isEmpty(A.value)?e.name??"":o.CommonBase.convertStringFormat(A.value,e);return o.CommonBase.isHtml(s)?s=o.CommonBase.isEmpty(A.value)?o.CommonBase.encodeHTML(e.name):o.CommonBase.convertStringFormatEncodeHTML(A.value,e):typeof s=="string"&&s.indexOf("<")>-1&&(s=o.CommonBase.encodeHTML(s)),s},W=()=>{const e=Z();O=e,m.value=e;const s=X(e),i=s.join(",");let f;if(t.multiple){const d=[];s.forEach(p=>{const B=P(p);o.CommonBase.isEmpty(B)||d.push(B)}),f=d}else f=P(i),o.CommonBase.isEmpty(f)&&(f=null);U(i,f)},se=()=>{w.isOpen||!o.CommonBase.isEqualArr(m.value,O)&&W()},re=()=>{v.value||(v.value=!0,H(t.list),R(t.value),Q())},ce=()=>{!v.value&&t.list&&t.list.length>0&&re()};n.onMounted(()=>{n.nextTick(()=>{ce()})}),n.watch(v,e=>{e&&ee()}),n.watch(()=>t.list,(e,s)=>{v.value||(e&&e.length>0||s===void 0)&&(v.value=!0)}),n.watch([()=>t.value,()=>t.list],([e,s],[i,f])=>{const d=s||[];!v.value&&d.length>0&&(v.value=!0),s!==f&&(D={},y.childrenMap={},y.parentMap={},y.lastChildMap={},y.allChildMap={}),H(d),e!==void 0&&R(e),Q()}),n.watch([m,()=>t.list],([e,s])=>{s&&s.length>0&&o.CommonBase.isEmpty(D)&&H(s);const i=ne();x.value=i.map(f=>le(f))}),n.watch(()=>t.isOutMerge,()=>{t.isCascade&&t.multiple&&m.value.length>0&&X(Z()).join(",")!==String(t.value??"")&&W()}),n.watch([()=>t.parentKey,()=>t.topParentValue],()=>{t.isCascade&&!o.CommonBase.isEmpty(D)&&G()});const de=e=>{e&&t.disabled||(w.isOpen=e,e?O=m.value:se(),n.nextTick(()=>{z.value&&z.value.initOpenShow(e)}),ie(e))},a=()=>{t.disabled||(m.value=[],t.multiple&&t.multipleRealTimeChange?W():se())},r=e=>{if(w.dropDownPos=e.use.dropDownPos,t.multiple&&t.isShowTag){const s=I.value?.$el?.offsetWidth||0;w.tagHeight=t.theme==="default"?`${e.original.dropDownHeight+1}px`:`${e.original.dropDownHeight}px`;const i=e.original.winWidth-(e.original.controlOffset.left+e.original.dropDownWidth)>=s?"right":"left";w.tagDirection=i,i==="right"?w.tagLeft=`${e.original.dropDownWidth-1}px`:w.tagLeft=`${(e.original.dropDownWidth-e.original.textWidth+s+1)*-1}px`}},l=e=>{m.value=e,t.multiple?t.multipleRealTimeChange&&W():V.value?.setOpen(!1)},u=e=>{t.disabled||(m.value=e,W())},h=e=>{_("onError",e)},g=()=>{V.value&&(V.value.checkIsShowOpen()||V.value.initCompleteOpen())};n.provide("$SelectTop",{getSelectData:ne,getSelectValueInfo:P,getAllChildIds:oe,calculationDropdownPosition:()=>{V.value?.calculationPosition()},convertListToJson:H,closeDropdown:()=>{V.value?.setOpen(!1)},refreshDisplayLabels:()=>{const e=ne();x.value=e.map(s=>le(s))}});const S=()=>{const e=Z();return X(e).join(",")};return Y({getValue:S,getValueData:()=>{const e=S();if(t.multiple){const i=e?e.split(","):[],f=[];return i.forEach(d=>{const p=P(d);o.CommonBase.isEmpty(p)||f.push(p)}),f}if(!e)return null;const s=P(e);return o.CommonBase.isEmpty(s)?null:s},setValue:e=>{R(e),Q()},runInitComplete:()=>{re()}}),(e,s)=>(n.openBlock(),n.createBlock(ge._sfc_main,{id:n.unref(M),ref_key:"refElDropdownLayer",ref:V,classParent:N.value,classText:"select-inText",classDropDown:q.value,placeholder:c.placeholder,isDisabled:c.disabled,isClear:c.isClear,textLabel:x.value.join(","),textArrowDirection:c.arrowDirection,transitionLeave:c.transitionLeave,onOpenBeforeCallback:c.onOpenBefore,onOnChangeOpen:de,onOnClear:a,onOnChangePosition:r},{textExtend:n.withCtx(()=>[c.multiple?(n.openBlock(),n.createElementBlock("span",Ke,[x.value.length>1?(n.openBlock(),n.createBlock(he._sfc_main,{key:0,num:x.value.length},null,8,["num"])):(n.openBlock(),n.createElementBlock(n.Fragment,{key:1},[],64))])):(n.openBlock(),n.createElementBlock(n.Fragment,{key:1},[],64))]),dropdown:n.withCtx(()=>[n.createVNode(Me,{ref_key:"refElList",ref:z,isSearch:c.isSearch,searchPlaceholder:c.searchPlaceholder,searchKey:c.searchKey,searchKeyType:c.searchKeyType,isMultiple:c.multiple,isCheckBoxAll:c.isCheckBoxAll,showDropDownTextFormat:c.showDropDownTextFormat,showDropDownTextFormatSub:c.showDropDownTextFormatSub,isCascade:c.isCascade,parentSelectable:c.parentSelectable,parentKey:c.parentKey,topParentValue:c.topParentValue,originalData:c.list,keyIndex:F,selectId:m.value,disabled:c.disabled,isOpen:w.isOpen,serverCallback:c.serverCallback,onOnChange:l,onOnInitComplete:g,onOnError:h},null,8,["isSearch","searchPlaceholder","searchKey","searchKeyType","isMultiple","isCheckBoxAll","showDropDownTextFormat","showDropDownTextFormatSub","isCascade","parentSelectable","parentKey","topParentValue","originalData","selectId","disabled","isOpen","serverCallback"])]),dropdownExtend:n.withCtx(()=>[c.multiple&&c.isShowTag?(n.openBlock(),n.createElementBlock("div",{key:0,class:n.normalizeClass(b.value),style:n.normalizeStyle({height:w.tagHeight,left:w.tagLeft}),ref_key:"refElTags",ref:I},[n.createVNode(Pe,{showTextFormat:A.value,selectId:m.value,onOnRemove:u},null,8,["showTextFormat","selectId"])],6)):(n.openBlock(),n.createElementBlock(n.Fragment,{key:1},[],64))]),_:1},8,["id","classParent","classDropDown","placeholder","isDisabled","isClear","textLabel","textArrowDirection","transitionLeave","onOpenBeforeCallback"]))}});exports._sfc_main=Ne;
2
- //# sourceMappingURL=Index.vue_vue_type_script_setup_true_lang-BPgunUb2.js.map
2
+ //# sourceMappingURL=Index.vue_vue_type_script_setup_true_lang-6KT1IHDu.js.map