ll-plus 2.4.13 → 2.4.14

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 (113) hide show
  1. package/es/component.mjs +2 -0
  2. package/es/component.mjs.map +1 -1
  3. package/es/components/advanced-filtering/index.d.ts +2 -2
  4. package/es/components/advanced-filtering/src/advanced-filtering.vue.d.ts +1 -1
  5. package/es/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +1 -1
  6. package/es/components/cropper/index.d.ts +0 -1
  7. package/es/components/cropper/src/cropper-modal.vue.d.ts +0 -1
  8. package/es/components/form/index.d.ts +2 -2
  9. package/es/components/form/src/components/form-component.vue.d.ts +1 -1
  10. package/es/components/form/src/form.vue.d.ts +1 -1
  11. package/es/components/image/index.d.ts +112 -0
  12. package/es/components/image/src/image.d.ts +53 -0
  13. package/es/components/image/src/image.vue.d.ts +105 -0
  14. package/es/components/index.d.ts +1 -0
  15. package/es/components/key-value/index.d.ts +6 -6
  16. package/es/components/key-value/src/components/key-value-item.vue.d.ts +2 -2
  17. package/es/components/key-value/src/key-value.vue.d.ts +6 -6
  18. package/es/components/select-group/index.d.ts +1 -0
  19. package/es/components/select-group/src/select-group.vue.d.ts +1 -0
  20. package/es/index.mjs +2 -0
  21. package/es/index.mjs.map +1 -1
  22. package/es/packages/components/advanced-filtering/src/advanced-filtering.mjs +6 -6
  23. package/es/packages/components/advanced-filtering/src/advanced-filtering.mjs.map +1 -1
  24. package/es/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue2.mjs +1 -6
  25. package/es/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue2.mjs.map +1 -1
  26. package/es/packages/components/cropper/src/cropper-modal.vue2.mjs +16 -27
  27. package/es/packages/components/cropper/src/cropper-modal.vue2.mjs.map +1 -1
  28. package/es/packages/components/form/src/components/form-component.vue2.mjs +1 -1
  29. package/es/packages/components/form/src/components/form-component.vue2.mjs.map +1 -1
  30. package/es/packages/components/image/index.mjs +10 -0
  31. package/es/packages/components/image/index.mjs.map +1 -0
  32. package/es/packages/components/image/src/image.mjs +61 -0
  33. package/es/packages/components/image/src/image.mjs.map +1 -0
  34. package/es/packages/components/image/src/image.vue.mjs +8 -0
  35. package/es/packages/components/image/src/image.vue.mjs.map +1 -0
  36. package/es/packages/components/image/src/image.vue2.mjs +38 -0
  37. package/es/packages/components/image/src/image.vue2.mjs.map +1 -0
  38. package/es/packages/components/index.mjs +2 -0
  39. package/es/packages/components/index.mjs.map +1 -1
  40. package/es/packages/components/select-group/src/select-group.vue2.mjs +25 -23
  41. package/es/packages/components/select-group/src/select-group.vue2.mjs.map +1 -1
  42. package/es/utils/props/runtime.d.ts +2 -2
  43. package/index.full.js +238 -161
  44. package/index.full.min.js +25 -25
  45. package/index.full.min.js.map +1 -1
  46. package/index.full.min.mjs +24 -24
  47. package/index.full.min.mjs.map +1 -1
  48. package/index.full.mjs +236 -162
  49. package/lib/component.js +67 -65
  50. package/lib/component.js.map +1 -1
  51. package/lib/components/advanced-filtering/index.d.ts +2 -2
  52. package/lib/components/advanced-filtering/src/advanced-filtering.vue.d.ts +1 -1
  53. package/lib/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +1 -1
  54. package/lib/components/cropper/index.d.ts +0 -1
  55. package/lib/components/cropper/src/cropper-modal.vue.d.ts +0 -1
  56. package/lib/components/form/index.d.ts +2 -2
  57. package/lib/components/form/src/components/form-component.vue.d.ts +1 -1
  58. package/lib/components/form/src/form.vue.d.ts +1 -1
  59. package/lib/components/image/index.d.ts +112 -0
  60. package/lib/components/image/src/image.d.ts +53 -0
  61. package/lib/components/image/src/image.vue.d.ts +105 -0
  62. package/lib/components/index.d.ts +1 -0
  63. package/lib/components/key-value/index.d.ts +6 -6
  64. package/lib/components/key-value/src/components/key-value-item.vue.d.ts +2 -2
  65. package/lib/components/key-value/src/key-value.vue.d.ts +6 -6
  66. package/lib/components/select-group/index.d.ts +1 -0
  67. package/lib/components/select-group/src/select-group.vue.d.ts +1 -0
  68. package/lib/index.js +69 -64
  69. package/lib/index.js.map +1 -1
  70. package/lib/packages/components/advanced-filtering/src/advanced-filtering.js +5 -5
  71. package/lib/packages/components/advanced-filtering/src/advanced-filtering.js.map +1 -1
  72. package/lib/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue2.js +1 -6
  73. package/lib/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue2.js.map +1 -1
  74. package/lib/packages/components/cropper/src/cropper-modal.vue2.js +16 -27
  75. package/lib/packages/components/cropper/src/cropper-modal.vue2.js.map +1 -1
  76. package/lib/packages/components/form/src/components/form-component.vue2.js +1 -1
  77. package/lib/packages/components/form/src/components/form-component.vue2.js.map +1 -1
  78. package/lib/packages/components/image/index.js +17 -0
  79. package/lib/packages/components/image/index.js.map +1 -0
  80. package/lib/packages/components/image/src/image.js +64 -0
  81. package/lib/packages/components/image/src/image.js.map +1 -0
  82. package/lib/packages/components/image/src/image.vue.js +12 -0
  83. package/lib/packages/components/image/src/image.vue.js.map +1 -0
  84. package/lib/packages/components/image/src/image.vue2.js +42 -0
  85. package/lib/packages/components/image/src/image.vue2.js.map +1 -0
  86. package/lib/packages/components/index.js +69 -64
  87. package/lib/packages/components/index.js.map +1 -1
  88. package/lib/packages/components/select-group/src/select-group.vue2.js +24 -22
  89. package/lib/packages/components/select-group/src/select-group.vue2.js.map +1 -1
  90. package/lib/utils/props/runtime.d.ts +2 -2
  91. package/package.json +1 -1
  92. package/theme-chalk/css/index.css +1 -1
  93. package/theme-chalk/css/table.css +1 -1
  94. package/theme-chalk/fonts/iconfont.js +1 -1
  95. package/theme-chalk/fonts/iconfont.json +84 -0
  96. package/types/packages/components/advanced-filtering/index.d.ts +2 -2
  97. package/types/packages/components/advanced-filtering/src/advanced-filtering.vue.d.ts +1 -1
  98. package/types/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +1 -1
  99. package/types/packages/components/cropper/index.d.ts +0 -1
  100. package/types/packages/components/cropper/src/cropper-modal.vue.d.ts +0 -1
  101. package/types/packages/components/form/index.d.ts +2 -2
  102. package/types/packages/components/form/src/components/form-component.vue.d.ts +1 -1
  103. package/types/packages/components/form/src/form.vue.d.ts +1 -1
  104. package/types/packages/components/image/index.d.ts +112 -0
  105. package/types/packages/components/image/src/image.d.ts +53 -0
  106. package/types/packages/components/image/src/image.vue.d.ts +105 -0
  107. package/types/packages/components/index.d.ts +1 -0
  108. package/types/packages/components/key-value/index.d.ts +6 -6
  109. package/types/packages/components/key-value/src/components/key-value-item.vue.d.ts +2 -2
  110. package/types/packages/components/key-value/src/key-value.vue.d.ts +6 -6
  111. package/types/packages/components/select-group/index.d.ts +1 -0
  112. package/types/packages/components/select-group/src/select-group.vue.d.ts +1 -0
  113. package/types/packages/utils/props/runtime.d.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"cropper-modal.vue2.js","sources":["../../../../../../packages/components/cropper/src/cropper-modal.vue"],"sourcesContent":["<template>\n <ll-modal\n :open=\"open\"\n :title=\"'图片裁剪'\"\n width=\"800px\"\n :keyboard=\"false\"\n :mask-closable=\"false\"\n :ok-text=\"'确定'\"\n @cancel=\"open = false\"\n @ok=\"handleOk\"\n >\n <div :class=\"bem.b()\">\n <div :class=\"bem.e('left')\">\n <div :class=\"bem.e('cropper')\">\n <cropper-image\n v-if=\"src\"\n :src=\"src\"\n height=\"300px\"\n :circled=\"circled\"\n @cropend=\"handleCropend\"\n @on-ready=\"handleReady\"\n />\n </div>\n <div :class=\"bem.e('toolbar')\">\n <Upload\n :file-list=\"[]\"\n accept=\"image/*\"\n :before-upload=\"handleBeforeUpload\"\n >\n <ll-tooltip :title=\"'选择图片'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n @click=\"handlerToolbar('reset')\"\n >\n <ll-icon icon-name=\"icon-upload\" />\n </ll-button>\n </ll-tooltip>\n </Upload>\n <ll-space>\n <ll-tooltip :tip=\"'重置'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('reset')\"\n >\n <ll-icon icon-name=\"icon-refresh\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'逆时针旋转'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('rotate', -45)\"\n >\n <ll-icon icon-name=\"icon-counter-clockwise\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'顺时针旋转'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('rotate', 45)\"\n >\n <ll-icon icon-name=\"icon-flip-horizontal\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'水平翻转'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('scaleX')\"\n >\n <ll-icon icon-name=\"icon-flip-horizontal\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'垂直翻转'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('scaleY')\"\n >\n <ll-icon icon-name=\"icon-flip-vertical\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'放大'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('zoom', 0.1)\"\n >\n <ll-icon icon-name=\"icon-amplify1\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'缩小'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('zoom', -0.1)\"\n >\n <ll-icon icon-name=\"icon-scale\" />\n </ll-button>\n </ll-tooltip>\n </ll-space>\n </div>\n </div>\n <div :class=\"bem.e('right')\">\n <div :class=\"bem.e('preview')\">\n <img v-if=\"previewSource\" :src=\"previewSource\" :alt=\"'预览'\" />\n </div>\n <template v-if=\"previewSource\">\n <div :class=\"bem.e('group')\">\n <ll-avatar :src=\"previewSource\" size=\"large\" />\n <ll-avatar :src=\"previewSource\" :size=\"48\" />\n <ll-avatar :src=\"previewSource\" :size=\"64\" />\n <ll-avatar :src=\"previewSource\" :size=\"80\" />\n </div>\n </template>\n </div>\n </div>\n </ll-modal>\n <slot>\n <div :class=\"bem.e('cropper-avatar')\" @click=\"handleOpen\">\n <ll-avatar v-if=\"!avatar\" :size=\"64\" @click=\"handleAvatarClick\">\n </ll-avatar>\n\n <img v-else :src=\"avatar\" alt=\"\" />\n </div>\n </slot>\n</template>\n<script lang=\"ts\" setup>\n//@ts-ignore\nimport type Cropper from 'cropperjs'\n\nimport { ref } from 'vue'\nimport { Upload } from 'ant-design-vue'\nimport { createNamespace, dataURLtoBlob, type Nullable } from '@ll-plus/utils'\nimport CropperImage from './cropper-image.vue'\nimport {\n cropperModalProps,\n cropperModalEmits,\n type CropendResult\n} from './cropper-image'\n\ndefineOptions({ name: 'LlCropperModal' })\nconst props = defineProps(cropperModalProps)\nconst emits = defineEmits(cropperModalEmits)\nconst bem = createNamespace('cropper-modal')\nconst src = ref(props.avatar || '')\nconst avatar = ref(props.avatar || '')\nconsole.log(src, avatar, 'avatar')\nconst open = ref(false)\nconst previewSource = ref('')\nconst cropper = ref<Nullable<Cropper>>()\nlet scaleX = 1\nlet scaleY = 1\n\n// Block upload\nfunction handleBeforeUpload(file: File) {\n const reader = new FileReader()\n reader.readAsDataURL(file)\n src.value = ''\n previewSource.value = ''\n reader.onload = function (e) {\n src.value = (e.target?.result as string) ?? ''\n // filename = file.name\n }\n return false\n}\nfunction handleOpen() {\n open.value = true\n}\nfunction handleCropend({ imgBase64 }: CropendResult) {\n previewSource.value = imgBase64\n}\n\nfunction handleReady(cropperInstance: Cropper) {\n cropper.value = cropperInstance\n}\nfunction handlerToolbar(event: string, arg?: number) {\n if (event === 'scaleX') {\n scaleX = arg = scaleX === -1 ? 1 : -1\n }\n if (event === 'scaleY') {\n scaleY = arg = scaleY === -1 ? 1 : -1\n }\n cropper?.value?.[event]?.(arg)\n}\n\nasync function handleOk() {\n const blob = dataURLtoBlob(previewSource.value)\n emits('confirm', { blob, previewSource: previewSource.value })\n avatar.value = previewSource.value\n open.value = false\n}\nconst handleAvatarClick = (_: any, avatarSrc: string) => {\n src.value = avatarSrc\n avatar.value = avatarSrc\n}\n</script>\n"],"names":["createNamespace","ref","dataURLtoBlob"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAwJA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AACd,IAAM,MAAA,GAAA,GAAMA,gCAAgB,eAAe,CAAA,CAAA;AAC3C,IAAA,MAAM,GAAM,GAAAC,OAAA,CAAI,KAAM,CAAA,MAAA,IAAU,EAAE,CAAA,CAAA;AAClC,IAAA,MAAM,MAAS,GAAAA,OAAA,CAAI,KAAM,CAAA,MAAA,IAAU,EAAE,CAAA,CAAA;AACrC,IAAQ,OAAA,CAAA,GAAA,CAAI,GAAK,EAAA,MAAA,EAAQ,QAAQ,CAAA,CAAA;AACjC,IAAM,MAAA,IAAA,GAAOA,QAAI,KAAK,CAAA,CAAA;AACtB,IAAM,MAAA,aAAA,GAAgBA,QAAI,EAAE,CAAA,CAAA;AAC5B,IAAA,MAAM,UAAUA,OAAuB,EAAA,CAAA;AACvC,IAAA,IAAI,MAAS,GAAA,CAAA,CAAA;AACb,IAAA,IAAI,MAAS,GAAA,CAAA,CAAA;AAGb,IAAA,SAAS,mBAAmB,IAAY,EAAA;AACtC,MAAM,MAAA,MAAA,GAAS,IAAI,UAAW,EAAA,CAAA;AAC9B,MAAA,MAAA,CAAO,cAAc,IAAI,CAAA,CAAA;AACzB,MAAA,GAAA,CAAI,KAAQ,GAAA,EAAA,CAAA;AACZ,MAAA,aAAA,CAAc,KAAQ,GAAA,EAAA,CAAA;AACtB,MAAO,MAAA,CAAA,MAAA,GAAS,SAAU,CAAG,EAAA;AAC3B,QAAI,GAAA,CAAA,KAAA,GAAS,CAAE,CAAA,MAAA,EAAQ,MAAqB,IAAA,EAAA,CAAA;AAAA,OAE9C,CAAA;AACA,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AACA,IAAA,SAAS,UAAa,GAAA;AACpB,MAAA,IAAA,CAAK,KAAQ,GAAA,IAAA,CAAA;AAAA,KACf;AACA,IAAS,SAAA,aAAA,CAAc,EAAE,SAAA,EAA4B,EAAA;AACnD,MAAA,aAAA,CAAc,KAAQ,GAAA,SAAA,CAAA;AAAA,KACxB;AAEA,IAAA,SAAS,YAAY,eAA0B,EAAA;AAC7C,MAAA,OAAA,CAAQ,KAAQ,GAAA,eAAA,CAAA;AAAA,KAClB;AACA,IAAS,SAAA,cAAA,CAAe,OAAe,GAAc,EAAA;AACnD,MAAA,IAAI,UAAU,QAAU,EAAA;AACtB,QAAS,MAAA,GAAA,GAAA,GAAM,MAAW,KAAA,CAAA,CAAA,GAAK,CAAI,GAAA,CAAA,CAAA,CAAA;AAAA,OACrC;AACA,MAAA,IAAI,UAAU,QAAU,EAAA;AACtB,QAAS,MAAA,GAAA,GAAA,GAAM,MAAW,KAAA,CAAA,CAAA,GAAK,CAAI,GAAA,CAAA,CAAA,CAAA;AAAA,OACrC;AACA,MAAS,OAAA,EAAA,KAAA,GAAQ,KAAK,CAAA,GAAI,GAAG,CAAA,CAAA;AAAA,KAC/B;AAEA,IAAA,eAAe,QAAW,GAAA;AACxB,MAAM,MAAA,IAAA,GAAOC,kBAAc,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAC9C,MAAA,KAAA,CAAM,WAAW,EAAE,IAAA,EAAM,aAAe,EAAA,aAAA,CAAc,OAAO,CAAA,CAAA;AAC7D,MAAA,MAAA,CAAO,QAAQ,aAAc,CAAA,KAAA,CAAA;AAC7B,MAAA,IAAA,CAAK,KAAQ,GAAA,KAAA,CAAA;AAAA,KACf;AACA,IAAM,MAAA,iBAAA,GAAoB,CAAC,CAAA,EAAQ,SAAsB,KAAA;AACvD,MAAA,GAAA,CAAI,KAAQ,GAAA,SAAA,CAAA;AACZ,MAAA,MAAA,CAAO,KAAQ,GAAA,SAAA,CAAA;AAAA,KACjB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"cropper-modal.vue2.js","sources":["../../../../../../packages/components/cropper/src/cropper-modal.vue"],"sourcesContent":["<template>\n <ll-modal\n :open=\"open\"\n :title=\"'图片裁剪'\"\n width=\"800px\"\n :keyboard=\"false\"\n :mask-closable=\"false\"\n :ok-text=\"'确定'\"\n @cancel=\"open = false\"\n @ok=\"handleOk\"\n >\n <div :class=\"bem.b()\">\n <div :class=\"bem.e('left')\">\n <div :class=\"bem.e('cropper')\">\n <cropper-image\n v-if=\"src\"\n :src=\"src\"\n height=\"300px\"\n :circled=\"circled\"\n @cropend=\"handleCropend\"\n @on-ready=\"handleReady\"\n />\n </div>\n <div :class=\"bem.e('toolbar')\">\n <Upload\n :file-list=\"[]\"\n accept=\"image/*\"\n :before-upload=\"handleBeforeUpload\"\n >\n <ll-tooltip :title=\"'选择图片'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n @click=\"handlerToolbar('reset')\"\n >\n <ll-icon icon-name=\"icon-upload\" />\n </ll-button>\n </ll-tooltip>\n </Upload>\n <ll-space>\n <ll-tooltip :tip=\"'重置'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('reset')\"\n >\n <ll-icon icon-name=\"icon-refresh\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'逆时针旋转'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('rotate', -45)\"\n >\n <ll-icon icon-name=\"icon-counter-clockwise\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'顺时针旋转'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('rotate', 45)\"\n >\n <ll-icon icon-name=\"icon-flip-horizontal\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'水平翻转'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('scaleX')\"\n >\n <ll-icon icon-name=\"icon-flip-horizontal\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'垂直翻转'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('scaleY')\"\n >\n <ll-icon icon-name=\"icon-flip-vertical\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'放大'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('zoom', 0.1)\"\n >\n <ll-icon icon-name=\"icon-amplify1\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'缩小'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('zoom', -0.1)\"\n >\n <ll-icon icon-name=\"icon-scale\" />\n </ll-button>\n </ll-tooltip>\n </ll-space>\n </div>\n </div>\n <div :class=\"bem.e('right')\">\n <div :class=\"bem.e('preview')\">\n <img v-if=\"previewSource\" :src=\"previewSource\" :alt=\"'预览'\" />\n </div>\n <template v-if=\"previewSource\">\n <div :class=\"bem.e('group')\">\n <ll-avatar :src=\"previewSource\" size=\"large\" />\n <ll-avatar :src=\"previewSource\" :size=\"48\" />\n <ll-avatar :src=\"previewSource\" :size=\"64\" />\n <ll-avatar :src=\"previewSource\" :size=\"80\" />\n </div>\n </template>\n </div>\n </div>\n </ll-modal>\n <div :class=\"bem.e('cropper-avatar')\" @click=\"handleOpen\">\n <slot :src=\"avatar\">\n <ll-avatar :src=\"avatar\" :size=\"64\" />\n </slot>\n </div>\n</template>\n<script lang=\"ts\" setup>\n//@ts-ignore\nimport type Cropper from 'cropperjs'\n\nimport { ref } from 'vue'\nimport { Upload } from 'ant-design-vue'\nimport { createNamespace, dataURLtoBlob, type Nullable } from '@ll-plus/utils'\nimport CropperImage from './cropper-image.vue'\nimport {\n cropperModalProps,\n cropperModalEmits,\n type CropendResult\n} from './cropper-image'\n\ndefineOptions({ name: 'LlCropperModal' })\nconst props = defineProps(cropperModalProps)\nconst emits = defineEmits(cropperModalEmits)\nconst bem = createNamespace('cropper-modal')\nconst src = ref(props.avatar || '')\nconst avatar = ref(props.avatar || '')\nconst open = ref(false)\nconst previewSource = ref('')\nconst cropper = ref<Nullable<Cropper>>()\nlet scaleX = 1\nlet scaleY = 1\n\n// Block upload\nfunction handleBeforeUpload(file: File) {\n const reader = new FileReader()\n reader.readAsDataURL(file)\n src.value = ''\n previewSource.value = ''\n reader.onload = function (e) {\n src.value = (e.target?.result as string) ?? ''\n // filename = file.name\n }\n return false\n}\nfunction handleOpen() {\n open.value = true\n}\nfunction handleCropend({ imgBase64 }: CropendResult) {\n previewSource.value = imgBase64\n}\n\nfunction handleReady(cropperInstance: Cropper) {\n cropper.value = cropperInstance\n}\nfunction handlerToolbar(event: string, arg?: number) {\n if (event === 'scaleX') {\n scaleX = arg = scaleX === -1 ? 1 : -1\n }\n if (event === 'scaleY') {\n scaleY = arg = scaleY === -1 ? 1 : -1\n }\n cropper?.value?.[event]?.(arg)\n}\n\nasync function handleOk() {\n const blob = dataURLtoBlob(previewSource.value)\n emits('confirm', { blob, previewSource: previewSource.value })\n avatar.value = previewSource.value\n open.value = false\n}\n</script>\n"],"names":["createNamespace","ref","dataURLtoBlob"],"mappings":"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"}
@@ -19,7 +19,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
19
19
  const formData = vue.reactive(props.formData);
20
20
  const getBindValue = (item) => {
21
21
  const obj = { ...item };
22
- return lodashEs.omit(obj, ["label"]);
22
+ return lodashEs.omit(obj, ["label", "onChange", "change"]);
23
23
  };
24
24
  const handleChange = (...arg) => {
25
25
  const item = props.item;
@@ -1 +1 @@
1
- {"version":3,"file":"form-component.vue2.js","sources":["../../../../../../../packages/components/form/src/components/form-component.vue"],"sourcesContent":["<template>\n <template v-if=\"checkedType.includes(item.type)\">\n <component\n :is=\"`ll-${item.type}`\"\n v-model:checked=\"formData[item.key]\"\n v-bind=\"getBindValue(item)\"\n @change=\"handleChange\"\n />\n </template>\n <template v-else>\n <component\n :is=\"`ll-${item.type}`\"\n v-model:value=\"formData[item.key]\"\n v-bind=\"getBindValue(item)\"\n @change=\"handleChange\"\n />\n </template>\n</template>\n\n<script setup lang=\"ts\">\nimport { reactive } from 'vue'\nimport { omit, has } from 'lodash-es'\nimport {\n formComponentProps,\n formComponentEmits,\n checkedType,\n type FormColumn\n} from '../config'\n\nconst props = defineProps(formComponentProps)\n\nconst emits = defineEmits(formComponentEmits)\n\nconst formData = reactive(props.formData)\n\nconst getBindValue = (item: FormColumn) => {\n const obj = { ...item }\n return omit(obj, ['label'])\n}\n\nconst handleChange = (...arg) => {\n const item: FormColumn = props.item\n if (has(item, 'change')) {\n item.change(...arg)\n }\n if (has(item, 'onChange')) {\n item.onChange(...arg)\n }\n emits('changeField', item)\n}\n</script>\n"],"names":["reactive","omit","has"],"mappings":";;;;;;;;;;;;;;;;AA6BA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAM,MAAA,QAAA,GAAWA,YAAS,CAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAExC,IAAM,MAAA,YAAA,GAAe,CAAC,IAAqB,KAAA;AACzC,MAAM,MAAA,GAAA,GAAM,EAAE,GAAG,IAAK,EAAA,CAAA;AACtB,MAAA,OAAOC,aAAK,CAAA,GAAA,EAAK,CAAC,OAAO,CAAC,CAAA,CAAA;AAAA,KAC5B,CAAA;AAEA,IAAM,MAAA,YAAA,GAAe,IAAI,GAAQ,KAAA;AAC/B,MAAA,MAAM,OAAmB,KAAM,CAAA,IAAA,CAAA;AAC/B,MAAI,IAAAC,YAAA,CAAI,IAAM,EAAA,QAAQ,CAAG,EAAA;AACvB,QAAK,IAAA,CAAA,MAAA,CAAO,GAAG,GAAG,CAAA,CAAA;AAAA,OACpB;AACA,MAAI,IAAAA,YAAA,CAAI,IAAM,EAAA,UAAU,CAAG,EAAA;AACzB,QAAK,IAAA,CAAA,QAAA,CAAS,GAAG,GAAG,CAAA,CAAA;AAAA,OACtB;AACA,MAAA,KAAA,CAAM,eAAe,IAAI,CAAA,CAAA;AAAA,KAC3B,CAAA;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"form-component.vue2.js","sources":["../../../../../../../packages/components/form/src/components/form-component.vue"],"sourcesContent":["<template>\n <template v-if=\"checkedType.includes(item.type)\">\n <component\n :is=\"`ll-${item.type}`\"\n v-model:checked=\"formData[item.key]\"\n v-bind=\"getBindValue(item)\"\n @change=\"handleChange\"\n />\n </template>\n <template v-else>\n <component\n :is=\"`ll-${item.type}`\"\n v-model:value=\"formData[item.key]\"\n v-bind=\"getBindValue(item)\"\n @change=\"handleChange\"\n />\n </template>\n</template>\n\n<script setup lang=\"ts\">\nimport { reactive } from 'vue'\nimport { omit, has } from 'lodash-es'\nimport {\n formComponentProps,\n formComponentEmits,\n checkedType,\n type FormColumn\n} from '../config'\n\nconst props = defineProps(formComponentProps)\n\nconst emits = defineEmits(formComponentEmits)\n\nconst formData = reactive(props.formData)\n\nconst getBindValue = (item: FormColumn) => {\n const obj = { ...item }\n return omit(obj, ['label', 'onChange', 'change'])\n}\n\nconst handleChange = (...arg) => {\n const item: FormColumn = props.item\n if (has(item, 'change')) {\n item.change(...arg)\n }\n if (has(item, 'onChange')) {\n item.onChange(...arg)\n }\n emits('changeField', item)\n}\n</script>\n"],"names":["reactive","omit","has"],"mappings":";;;;;;;;;;;;;;;;AA6BA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAM,MAAA,QAAA,GAAWA,YAAS,CAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAExC,IAAM,MAAA,YAAA,GAAe,CAAC,IAAqB,KAAA;AACzC,MAAM,MAAA,GAAA,GAAM,EAAE,GAAG,IAAK,EAAA,CAAA;AACtB,MAAA,OAAOC,cAAK,GAAK,EAAA,CAAC,OAAS,EAAA,UAAA,EAAY,QAAQ,CAAC,CAAA,CAAA;AAAA,KAClD,CAAA;AAEA,IAAM,MAAA,YAAA,GAAe,IAAI,GAAQ,KAAA;AAC/B,MAAA,MAAM,OAAmB,KAAM,CAAA,IAAA,CAAA;AAC/B,MAAI,IAAAC,YAAA,CAAI,IAAM,EAAA,QAAQ,CAAG,EAAA;AACvB,QAAK,IAAA,CAAA,MAAA,CAAO,GAAG,GAAG,CAAA,CAAA;AAAA,OACpB;AACA,MAAI,IAAAA,YAAA,CAAI,IAAM,EAAA,UAAU,CAAG,EAAA;AACzB,QAAK,IAAA,CAAA,QAAA,CAAS,GAAG,GAAG,CAAA,CAAA;AAAA,OACtB;AACA,MAAA,KAAA,CAAM,eAAe,IAAI,CAAA,CAAA;AAAA,KAC3B,CAAA;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('../../utils/index.js');
6
+ var image$1 = require('./src/image.vue.js');
7
+ var image = require('./src/image.js');
8
+ var withInstall = require('../../utils/with-install.js');
9
+
10
+ "use strict";
11
+ const LlImage = withInstall.withInstall(image$1.default);
12
+
13
+ exports.FALL_BACK_IMG = image.FALL_BACK_IMG;
14
+ exports.imageProps = image.imageProps;
15
+ exports.LlImage = LlImage;
16
+ exports.default = LlImage;
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../packages/components/image/index.ts"],"sourcesContent":["import { withInstall } from '@ll-plus/utils'\n\nimport Image from './src/image.vue'\n\nexport const LlImage = withInstall(Image)\nexport default LlImage\nexport * from './src/image'\n\n// 把ZIcon组件类型合并带全局组件中 到时候使用时有提示\ndeclare module 'vue' {\n export interface GlobalComponents {\n LlImage: typeof Image\n }\n}\n"],"names":["withInstall","Image"],"mappings":";;;;;;;;;;AAIa,MAAA,OAAA,GAAUA,wBAAYC,eAAK;;;;;;;"}
@@ -0,0 +1,64 @@
1
+ 'use strict';
2
+
3
+ require('../../../utils/index.js');
4
+ var runtime = require('../../../utils/props/runtime.js');
5
+
6
+ "use strict";
7
+ const imageProps = runtime.buildProps({
8
+ // buildProps和defineprops一样
9
+ /**
10
+ * @description 图像描述
11
+ */
12
+ alt: {
13
+ type: String
14
+ },
15
+ /**
16
+ * @description 加载失败容错地址
17
+ */
18
+ fallback: {
19
+ type: String
20
+ },
21
+ /**
22
+ * @description 图像宽度
23
+ */
24
+ width: {
25
+ type: runtime.definePropType([Number, String])
26
+ },
27
+ /**
28
+ * @description 图像高度
29
+ */
30
+ height: {
31
+ type: runtime.definePropType([Number, String])
32
+ },
33
+ /**
34
+ * @description 加载占位, 为 true 时使用默认占位,有插槽
35
+ */
36
+ placeholder: {
37
+ type: Boolean
38
+ },
39
+ /**
40
+ * @description 预览参数,为 false 时禁用
41
+ */
42
+ preview: {
43
+ type: runtime.definePropType([Boolean, Object]),
44
+ default: true
45
+ },
46
+ /**
47
+ * @description 图片地址
48
+ */
49
+ src: {
50
+ type: runtime.definePropType([Boolean, Object]),
51
+ default: true
52
+ },
53
+ /**
54
+ * @description 自定义 mask 有插槽
55
+ */
56
+ previewMask: {
57
+ type: runtime.definePropType([false, Function])
58
+ }
59
+ });
60
+ const FALL_BACK_IMG = "data:image/jpeg;base64,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";
61
+
62
+ exports.FALL_BACK_IMG = FALL_BACK_IMG;
63
+ exports.imageProps = imageProps;
64
+ //# sourceMappingURL=image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.js","sources":["../../../../../../packages/components/image/src/image.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Image from './image.vue'\n\nexport interface ImagePreviewType {\n visible?: boolean\n onVisibleChange?: (visible, prevVisible) => void\n getContainer: string | HTMLElement | (() => HTMLElement)\n src?: string\n maskClassName?: string\n current?: number\n}\n\nexport const imageProps = buildProps({\n // buildProps和defineprops一样\n /**\n * @description 图像描述\n */\n alt: {\n type: String\n },\n /**\n * @description 加载失败容错地址\n */\n fallback: {\n type: String\n },\n /**\n * @description 图像宽度\n */\n width: {\n type: definePropType<number | string>([Number, String])\n },\n /**\n * @description 图像高度\n */\n height: {\n type: definePropType<number | string>([Number, String])\n },\n /**\n * @description 加载占位, 为 true 时使用默认占位,有插槽\n */\n placeholder: {\n type: Boolean\n },\n /**\n * @description 预览参数,为 false 时禁用\n */\n preview: {\n type: definePropType<boolean | ImagePreviewType>([Boolean, Object]),\n default: true\n },\n /**\n * @description 图片地址\n */\n src: {\n type: definePropType<boolean | ImagePreviewType>([Boolean, Object]),\n default: true\n },\n /**\n * @description 自定义 mask 有插槽\n */\n previewMask: {\n type: definePropType<false | (() => any)>([false, Function])\n }\n} as const)\n\n// props\nexport type ImageProps = ExtractPropTypes<typeof imageProps> // ExtractPropTypes和defineCpmponent类似\n\n// instance\nexport type ImageInstance = InstanceType<typeof Image>\n\nexport const FALL_BACK_IMG =\n 'data:image/jpeg;base64,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'\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;AAcO,MAAM,aAAaA,kBAAW,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKnC,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,KAAO,EAAA;AAAA,IACL,IAAM,EAAAC,sBAAA,CAAgC,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,GACxD;AAAA;AAAA;AAAA;AAAA,EAIA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAAA,sBAAA,CAAgC,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,GACxD;AAAA;AAAA;AAAA;AAAA,EAIA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,OAAA;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,OAAS,EAAA;AAAA,IACP,IAAM,EAAAA,sBAAA,CAA2C,CAAC,OAAA,EAAS,MAAM,CAAC,CAAA;AAAA,IAClE,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,GAAK,EAAA;AAAA,IACH,IAAM,EAAAA,sBAAA,CAA2C,CAAC,OAAA,EAAS,MAAM,CAAC,CAAA;AAAA,IAClE,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,WAAa,EAAA;AAAA,IACX,IAAM,EAAAA,sBAAA,CAAoC,CAAC,KAAA,EAAO,QAAQ,CAAC,CAAA;AAAA,GAC7D;AACF,CAAU,EAAA;AAQH,MAAM,aACX,GAAA;;;;;"}
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var image_vue_vue_type_script_setup_true_lang = require('./image.vue2.js');
6
+ var _pluginVue_exportHelper = require('../../../../_virtual/_plugin-vue_export-helper.js');
7
+
8
+ "use strict";
9
+ var Image = /* @__PURE__ */ _pluginVue_exportHelper.default(image_vue_vue_type_script_setup_true_lang.default, [["__file", "image.vue"]]);
10
+
11
+ exports.default = Image;
12
+ //# sourceMappingURL=image.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -0,0 +1,42 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue = require('vue');
6
+ require('../../../utils/index.js');
7
+ var image = require('./image.js');
8
+ var createNamespace = require('../../../utils/create-namespace.js');
9
+
10
+ "use strict";
11
+ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
12
+ ...{
13
+ name: "LlImage"
14
+ },
15
+ __name: "image",
16
+ props: image.imageProps,
17
+ setup(__props) {
18
+ const props = __props;
19
+ const bem = createNamespace.createNamespace("image");
20
+ const computedFallback = vue.computed(
21
+ () => props.fallback ? props.fallback : image.FALL_BACK_IMG
22
+ );
23
+ return (_ctx, _cache) => {
24
+ const _component_a_image = vue.resolveComponent("a-image");
25
+ return vue.openBlock(), vue.createBlock(_component_a_image, vue.mergeProps({
26
+ class: vue.unref(bem).b()
27
+ }, props, { fallback: computedFallback.value }), {
28
+ placeholder: vue.withCtx(() => [
29
+ vue.renderSlot(_ctx.$slots, "placeholder")
30
+ ]),
31
+ previewMask: vue.withCtx(() => [
32
+ vue.renderSlot(_ctx.$slots, "previewMask")
33
+ ]),
34
+ _: 3
35
+ /* FORWARDED */
36
+ }, 16, ["class", "fallback"]);
37
+ };
38
+ }
39
+ });
40
+
41
+ exports.default = _sfc_main;
42
+ //# sourceMappingURL=image.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.vue2.js","sources":["../../../../../../packages/components/image/src/image.vue"],"sourcesContent":["<template>\n <a-image :class=\"bem.b()\" v-bind=\"props\" :fallback=\"computedFallback\">\n <!-- 占位插槽 -->\n <template #placeholder>\n <slot name=\"placeholder\" />\n </template>\n <!-- 自定义mask插槽 -->\n <template #previewMask>\n <slot name=\"previewMask\" />\n </template>\n </a-image>\n</template>\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\n\nimport { createNamespace } from '@ll-plus/utils'\nimport { imageProps } from './image'\n\nimport { FALL_BACK_IMG } from './image'\n\ndefineOptions({\n name: 'LlImage'\n})\n\nconst props = defineProps(imageProps)\n\nconst bem = createNamespace('image')\n\n// 加载失败容错地址\nconst computedFallback = computed(() =>\n props.fallback ? props.fallback : FALL_BACK_IMG\n)\n</script>\n"],"names":["createNamespace","computed","FALL_BACK_IMG"],"mappings":";;;;;;;;;;;;;;;;;AAwBA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAM,MAAA,GAAA,GAAMA,gCAAgB,OAAO,CAAA,CAAA;AAGnC,IAAA,MAAM,gBAAmB,GAAAC,YAAA;AAAA,MAAS,MAChC,KAAA,CAAM,QAAW,GAAA,KAAA,CAAM,QAAW,GAAAC,mBAAA;AAAA,KACpC,CAAA;;;;;;;;;;;;;;;;;;;;;"}
@@ -21,35 +21,36 @@ var index$i = require('./form-item/index.js');
21
21
  var index$j = require('./icon/index.js');
22
22
  var index$k = require('./icon-base/index.js');
23
23
  var index$l = require('./icon-picker/index.js');
24
- var index$m = require('./input/index.js');
25
- var index$n = require('./input-number/index.js');
26
- var index$o = require('./key-value/index.js');
27
- var index$p = require('./markdown-editor/index.js');
28
- var index$q = require('./modal/index.js');
29
- var index$r = require('./number-range/index.js');
30
- var index$s = require('./operate-icon/index.js');
31
- var index$t = require('./operate-tree/index.js');
32
- var index$u = require('./radio/index.js');
33
- var index$v = require('./rich-text-editor/index.js');
34
- var index$w = require('./segmented/index.js');
35
- var index$x = require('./select/index.js');
36
- var index$y = require('./select-group/index.js');
37
- var index$z = require('./space/index.js');
38
- var index$A = require('./steps/index.js');
39
- var index$B = require('./switch/index.js');
40
- var index$C = require('./table/index.js');
41
- var index$D = require('./tabs-simple/index.js');
42
- var index$E = require('./tag-group/index.js');
43
- var index$F = require('./textarea/index.js');
44
- var index$G = require('./time-picker/index.js');
45
- var index$H = require('./time-range/index.js');
46
- var index$I = require('./tooltip/index.js');
47
- var index$J = require('./tree-search/index.js');
48
- var index$K = require('./tree/index.js');
49
- var index$L = require('./dropdown/index.js');
50
- var index$M = require('./upload-drag/index.js');
51
- var index$N = require('./upload-image/index.js');
52
- var index$O = require('./uri-input/index.js');
24
+ var index$m = require('./image/index.js');
25
+ var index$n = require('./input/index.js');
26
+ var index$o = require('./input-number/index.js');
27
+ var index$p = require('./key-value/index.js');
28
+ var index$q = require('./markdown-editor/index.js');
29
+ var index$r = require('./modal/index.js');
30
+ var index$s = require('./number-range/index.js');
31
+ var index$t = require('./operate-icon/index.js');
32
+ var index$u = require('./operate-tree/index.js');
33
+ var index$v = require('./radio/index.js');
34
+ var index$w = require('./rich-text-editor/index.js');
35
+ var index$x = require('./segmented/index.js');
36
+ var index$y = require('./select/index.js');
37
+ var index$z = require('./select-group/index.js');
38
+ var index$A = require('./space/index.js');
39
+ var index$B = require('./steps/index.js');
40
+ var index$C = require('./switch/index.js');
41
+ var index$D = require('./table/index.js');
42
+ var index$E = require('./tabs-simple/index.js');
43
+ var index$F = require('./tag-group/index.js');
44
+ var index$G = require('./textarea/index.js');
45
+ var index$H = require('./time-picker/index.js');
46
+ var index$I = require('./time-range/index.js');
47
+ var index$J = require('./tooltip/index.js');
48
+ var index$K = require('./tree-search/index.js');
49
+ var index$L = require('./tree/index.js');
50
+ var index$M = require('./dropdown/index.js');
51
+ var index$N = require('./upload-drag/index.js');
52
+ var index$O = require('./upload-image/index.js');
53
+ var index$P = require('./uri-input/index.js');
53
54
  var advancedFiltering = require('./advanced-filtering/src/advanced-filtering.js');
54
55
  var apiComponent = require('./api-component/src/config/api-component.js');
55
56
  var apiModal = require('./api-component/src/config/api-modal.js');
@@ -84,6 +85,7 @@ var iconBase = require('./icon-base/src/icon-base.js');
84
85
  var iconPicker = require('./icon-picker/src/config/icon-picker.js');
85
86
  var modal = require('./icon-picker/src/config/modal.js');
86
87
  var search = require('./icon-picker/src/config/search.js');
88
+ var image = require('./image/src/image.js');
87
89
  var input = require('./input/src/input.js');
88
90
  var inputNumber = require('./input-number/src/input-number.js');
89
91
  var keyValue = require('./key-value/src/config/key-value.js');
@@ -141,41 +143,42 @@ exports.LlFormItem = index$i.LlFormItem;
141
143
  exports.LlIcon = index$j.LlIcon;
142
144
  exports.LlIconBase = index$k.LlIconBase;
143
145
  exports.LlIconPicker = index$l.LlIconPicker;
144
- exports.LlInput = index$m.LlInput;
145
- exports.LlInputNumber = index$n.LlInputNumber;
146
- exports.LlKeyValue = index$o.LlKeyValue;
147
- exports.LlMarkdownEditor = index$p.LlMarkdownEditor;
148
- exports.LlMarkdownViewer = index$p.LlMarkdownViewer;
149
- exports.LlModal = index$q.LlModal;
150
- exports.LlNumberRange = index$r.LlNumberRange;
151
- exports.LlOperateIcon = index$s.LlOperateIcon;
152
- exports.LlOperateTree = index$t.LlOperateTree;
153
- exports.LlRadio = index$u.LlRadio;
154
- exports.LlRadioButton = index$u.LlRadioButton;
155
- exports.LlRadioGroup = index$u.LlRadioGroup;
156
- exports.LlRichTextEditor = index$v.LlRichTextEditor;
157
- exports.LlSegmented = index$w.LlSegmented;
158
- exports.LlSelect = index$x.LlSelect;
159
- exports.LlSelectOptGroup = index$x.LlSelectOptGroup;
160
- exports.LlSelectOption = index$x.LlSelectOption;
161
- exports.LlSelectGroup = index$y.LlSelectGroup;
162
- exports.LlSpace = index$z.LlSpace;
163
- exports.LlSteps = index$A.LlSteps;
164
- exports.LlSwitch = index$B.LlSwitch;
165
- exports.LlTable = index$C.LlTable;
166
- exports.LlTabsSimple = index$D.LlTabsSimple;
167
- exports.LlTagGroup = index$E.LlTagGroup;
168
- exports.LlTextarea = index$F.LlTextarea;
169
- exports.LlTimePicker = index$G.LlTimePicker;
170
- exports.LlTimeRange = index$H.LlTimeRange;
171
- exports.LlTooltip = index$I.LlTooltip;
172
- exports.LlTreeSearch = index$J.LlTreeSearch;
173
- exports.LlTree = index$K.LlTree;
174
- exports.LlDropdown = index$L.LlDropdown;
175
- exports.LlDropdownButton = index$L.LlDropdownButton;
176
- exports.LlUploadDrag = index$M.LlUploadDrag;
177
- exports.LlUploadImage = index$N.LlUploadImage;
178
- exports.LlUriInput = index$O.LlUriInput;
146
+ exports.LlImage = index$m.LlImage;
147
+ exports.LlInput = index$n.LlInput;
148
+ exports.LlInputNumber = index$o.LlInputNumber;
149
+ exports.LlKeyValue = index$p.LlKeyValue;
150
+ exports.LlMarkdownEditor = index$q.LlMarkdownEditor;
151
+ exports.LlMarkdownViewer = index$q.LlMarkdownViewer;
152
+ exports.LlModal = index$r.LlModal;
153
+ exports.LlNumberRange = index$s.LlNumberRange;
154
+ exports.LlOperateIcon = index$t.LlOperateIcon;
155
+ exports.LlOperateTree = index$u.LlOperateTree;
156
+ exports.LlRadio = index$v.LlRadio;
157
+ exports.LlRadioButton = index$v.LlRadioButton;
158
+ exports.LlRadioGroup = index$v.LlRadioGroup;
159
+ exports.LlRichTextEditor = index$w.LlRichTextEditor;
160
+ exports.LlSegmented = index$x.LlSegmented;
161
+ exports.LlSelect = index$y.LlSelect;
162
+ exports.LlSelectOptGroup = index$y.LlSelectOptGroup;
163
+ exports.LlSelectOption = index$y.LlSelectOption;
164
+ exports.LlSelectGroup = index$z.LlSelectGroup;
165
+ exports.LlSpace = index$A.LlSpace;
166
+ exports.LlSteps = index$B.LlSteps;
167
+ exports.LlSwitch = index$C.LlSwitch;
168
+ exports.LlTable = index$D.LlTable;
169
+ exports.LlTabsSimple = index$E.LlTabsSimple;
170
+ exports.LlTagGroup = index$F.LlTagGroup;
171
+ exports.LlTextarea = index$G.LlTextarea;
172
+ exports.LlTimePicker = index$H.LlTimePicker;
173
+ exports.LlTimeRange = index$I.LlTimeRange;
174
+ exports.LlTooltip = index$J.LlTooltip;
175
+ exports.LlTreeSearch = index$K.LlTreeSearch;
176
+ exports.LlTree = index$L.LlTree;
177
+ exports.LlDropdown = index$M.LlDropdown;
178
+ exports.LlDropdownButton = index$M.LlDropdownButton;
179
+ exports.LlUploadDrag = index$N.LlUploadDrag;
180
+ exports.LlUploadImage = index$O.LlUploadImage;
181
+ exports.LlUriInput = index$P.LlUriInput;
179
182
  exports.ALL_VALUE = advancedFiltering.ALL_VALUE;
180
183
  exports.advancedFilteringEmits = advancedFiltering.advancedFilteringEmits;
181
184
  exports.advancedFilteringParamsEmits = advancedFiltering.advancedFilteringParamsEmits;
@@ -271,6 +274,8 @@ exports.iconPickerModalEmits = modal.iconPickerModalEmits;
271
274
  exports.iconPickerModalProps = modal.iconPickerModalProps;
272
275
  exports.iconPickerSearchEmits = search.iconPickerSearchEmits;
273
276
  exports.iconPickerSearchProps = search.iconPickerSearchProps;
277
+ exports.FALL_BACK_IMG = image.FALL_BACK_IMG;
278
+ exports.imageProps = image.imageProps;
274
279
  exports.inputProps = input.inputProps;
275
280
  exports.inputNumberEmits = inputNumber.inputNumberEmits;
276
281
  exports.inputNumberProps = inputNumber.inputNumberProps;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -6,7 +6,9 @@ var vue = require('vue');
6
6
  var lodashEs = require('lodash-es');
7
7
  var selectGroup = require('./select-group.js');
8
8
  require('../../../utils/index.js');
9
+ require('../../advanced-filtering/index.js');
9
10
  var createNamespace = require('../../../utils/create-namespace.js');
11
+ var advancedFiltering = require('../../advanced-filtering/src/advanced-filtering.js');
10
12
 
11
13
  "use strict";
12
14
  var _sfc_main = /* @__PURE__ */ vue.defineComponent({
@@ -14,7 +16,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
14
16
  __name: "select-group",
15
17
  props: selectGroup.selectGroupProps,
16
18
  emits: selectGroup.selectGroupEmits,
17
- setup(__props, { emit: __emit }) {
19
+ setup(__props, { expose: __expose, emit: __emit }) {
18
20
  const props = __props;
19
21
  const emits = __emit;
20
22
  const typeSelectValue = vue.ref("1");
@@ -53,13 +55,14 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
53
55
  );
54
56
  };
55
57
  vue.watch(
56
- () => [props.selectValue, props.data],
57
- ([selectValue, newData]) => {
58
+ () => props.data,
59
+ (newData) => {
60
+ let list = [];
58
61
  if (newData && newData.length) {
59
- const list = newData.map((item) => {
62
+ list = newData.map((item) => {
60
63
  const newItem = { ...item };
61
64
  if (newItem.showFormType === "select") {
62
- if (newItem.options?.length && !newItem.noFirstAddAll) {
65
+ if (lodashEs.has(newItem, "options") && !newItem.noFirstAddAll) {
63
66
  newItem.options = [
64
67
  {
65
68
  label: "\u5168\u90E8",
@@ -67,7 +70,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
67
70
  },
68
71
  ...newItem.options
69
72
  ];
70
- } else if (newItem.list?.length && !newItem.noFirstAddAll) {
73
+ } else if (lodashEs.has(newItem, "list") && !newItem.noFirstAddAll) {
71
74
  newItem.list = [
72
75
  {
73
76
  name: "\u5168\u90E8",
@@ -79,16 +82,6 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
79
82
  }
80
83
  return newItem;
81
84
  });
82
- let firstItem = list[0];
83
- const findItem = list.find((item) => item.value === selectValue);
84
- if (findItem) {
85
- firstItem = findItem;
86
- }
87
- if (firstItem.showFormType === "select" && !firstItem.noFirstAddAll) {
88
- value.value = -1;
89
- }
90
- selectItem.value = firstItem;
91
- typeSelectValue.value = selectValue ? selectValue : firstItem.value;
92
85
  newList.value = list;
93
86
  }
94
87
  },
@@ -97,20 +90,29 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
97
90
  immediate: true
98
91
  }
99
92
  );
93
+ const setSelectGroup = (selectValue, currentValue) => {
94
+ typeSelectValue.value = selectValue;
95
+ value.value = currentValue;
96
+ };
100
97
  vue.watch(
101
- () => [props.value, typeSelectValue.value],
98
+ () => [props.value, props.selectValue],
102
99
  ([currentValue, selectValue]) => {
103
- const find = props.data.find((e) => e.value === selectValue);
104
- if (find && find.showFormType === "select" && !find.noFirstAddAll) {
105
- value.value = lodashEs.isNull(currentValue) || lodashEs.isUndefined(currentValue) || Array.isArray(currentValue) && currentValue.length === 0 ? -1 : currentValue;
106
- } else {
107
- value.value = currentValue;
100
+ typeSelectValue.value = selectValue || newList.value[0].value;
101
+ if (typeSelectValue.value) {
102
+ const find = newList.value.find((e) => e.value === typeSelectValue.value);
103
+ selectItem.value = find;
104
+ if (find && find.showFormType === "select" && !find.noFirstAddAll) {
105
+ value.value = !advancedFiltering.hasValue(currentValue) ? -1 : currentValue;
106
+ } else {
107
+ value.value = currentValue;
108
+ }
108
109
  }
109
110
  },
110
111
  {
111
112
  immediate: true
112
113
  }
113
114
  );
115
+ __expose({ setSelectGroup });
114
116
  return (_ctx, _cache) => {
115
117
  const _component_a_select_option = vue.resolveComponent("a-select-option");
116
118
  const _component_a_select = vue.resolveComponent("a-select");
@@ -1 +1 @@
1
- {"version":3,"file":"select-group.vue2.js","sources":["../../../../../../packages/components/select-group/src/select-group.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <div :class=\"bemContainer.b()\">\n <a-input-group compact>\n <!-- 左侧select -->\n <a-select\n v-model:value=\"typeSelectValue\"\n class=\"select-group-left-select-container\"\n :style=\"{ minWidth: leftSelectWidth }\"\n @change=\"handleSelectChange\"\n >\n <a-select-option\n v-for=\"item in newList\"\n :key=\"item.name\"\n :value=\"item.value\"\n :item=\"item\"\n >\n {{ item.name }}\n </a-select-option>\n </a-select>\n <!-- 右侧组合表单 -->\n <!-- input输入框 -->\n <template\n v-if=\"\n !selectItem?.showFormType || selectItem?.showFormType === 'input'\n \"\n >\n <a-input\n v-model:value=\"value\"\n :class=\"bem.e('right-input')\"\n :placeholder=\"selectItem?.placeholder\"\n @press-enter=\"handleChange\"\n >\n <template #suffix>\n <ll-icon :icon-name=\"`icon-search`\" @click=\"handleChange\" />\n </template>\n </a-input>\n </template>\n <!-- select下拉框 -->\n <template v-else-if=\"selectItem?.showFormType === 'select'\">\n <a-select\n v-model:value=\"value\"\n :class=\"bem.e('right-select')\"\n popup-class-name=\"select-group-right-select\"\n :options=\"selectItem?.options\"\n :placeholder=\"selectItem?.placeholder\"\n :field-names=\"selectItem?.fieldNames\"\n @change=\"handleChange\"\n >\n <a-select-option\n v-for=\"item in selectItem.list\"\n :key=\"item.value\"\n :value=\"item.value\"\n >\n {{ item.name }}\n </a-select-option>\n </a-select>\n </template>\n <!-- 日期选择 -->\n <template v-else-if=\"selectItem?.showFormType === 'range-picker'\">\n <a-range-picker\n v-model:value=\"value\"\n :class=\"bem.e('right-range-picker')\"\n @change=\"handleChange\"\n />\n </template>\n <!-- 树选择 -->\n <template v-else-if=\"selectItem?.showFormType === 'treeSelect'\">\n <a-tree-select\n v-model:value=\"value\"\n :class=\"bem.e('right-tree-select')\"\n :field-names=\"selectItem.fieldNames\"\n :placeholder=\"selectItem?.placeholder\"\n :tree-data=\"selectItem.list\"\n @select=\"handleChange\"\n ></a-tree-select>\n </template>\n <template v-else>\n <slot name=\"extra\" v-bind=\"selectItem\" />\n </template>\n </a-input-group>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, computed, watch } from 'vue'\nimport { isNull, isUndefined } from 'lodash-es'\n\nimport { selectGroupProps, selectGroupEmits } from './select-group'\nimport { createNamespace } from '@ll-plus/utils'\nimport { LEFT_SELECT_MIN_WIDTH } from './select-group'\n\nimport type { SelectGroupData } from './select-group'\n\n// 1.defineOptions\ndefineOptions({ name: 'LlSelectGroup' })\n\n// 1.props/emits\nconst props = defineProps(selectGroupProps)\nconst emits = defineEmits(selectGroupEmits)\n\n// 3.ref/const\nconst typeSelectValue = ref('1') // selectinput组合select的值\nconst value = ref<any>('') // 左边的value\nconst selectItem = ref<SelectGroupData>() // 选中表单的类型\nconst newList = ref<SelectGroupData[]>([]) // 处理后的数据,比如select的类型前面加个全部\nconst bem = createNamespace('select-group')\nconst bemContainer = createNamespace('select-group-container')\n\n// 动态计算左边文字最长的宽度\nconst leftSelectWidth = computed(() => {\n const names = newList.value.map(item => item.name.length)\n const maxNameLength = Math.max(...names)\n if (maxNameLength <= 3) {\n return LEFT_SELECT_MIN_WIDTH + 'px'\n }\n const width = LEFT_SELECT_MIN_WIDTH + (maxNameLength - 3) * 14\n return width + 'px'\n})\n\n// 4.methods\n// 第一个select的change\nconst handleSelectChange = (_: string, options: any) => {\n const item = options.item\n const formType = item.showFormType\n // 如果\n if (!formType || formType === 'input' || formType === 'treeSelect') {\n value.value = ''\n } else if (formType === 'range-picker') {\n value.value = [undefined, undefined]\n } else if (formType === 'select') {\n value.value = item.noFirstAddAll ? undefined : -1\n }\n selectItem.value = options.item\n emits('onSelectChange', _, item)\n}\n// 整合处理change\nconst handleChange = () => {\n // 过滤-1的下拉全部\n emits(\n 'change',\n selectItem.value?.value as string,\n value.value === -1 ? null : value.value\n )\n}\n\n// 5.watch\n// 已第一个为标准\nwatch(\n () => [props.selectValue, props.data] as [string, SelectGroupData[]],\n ([selectValue, newData]) => {\n if (newData && newData.length) {\n const list = newData.map(item => {\n const newItem = { ...item }\n if (newItem.showFormType === 'select') {\n if (newItem.options?.length && !newItem.noFirstAddAll) {\n newItem.options = [\n {\n label: '全部',\n value: -1\n },\n ...newItem.options!\n ]\n } else if (newItem.list?.length && !newItem.noFirstAddAll) {\n newItem.list = [\n {\n name: '全部',\n value: -1\n },\n ...newItem.list!\n ]\n }\n }\n return newItem\n })\n let firstItem = list[0]\n const findItem = list.find(item => item.value === selectValue)\n if (findItem) {\n firstItem = findItem\n }\n // 如果默认第一个是下拉框,选中全部\n if (firstItem.showFormType === 'select' && !firstItem.noFirstAddAll) {\n value.value = -1\n }\n selectItem.value = firstItem!\n typeSelectValue.value = selectValue ? selectValue : firstItem.value\n newList.value = list\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n\nwatch(\n () => [props.value, typeSelectValue.value] as [any, string],\n ([currentValue, selectValue]) => {\n const find = props.data.find(e => e.value === selectValue)\n if (find && find.showFormType === 'select' && !find.noFirstAddAll) {\n value.value =\n isNull(currentValue) ||\n isUndefined(currentValue) ||\n (Array.isArray(currentValue) && currentValue.length === 0)\n ? -1\n : currentValue\n } else {\n value.value = currentValue\n }\n },\n {\n immediate: true\n }\n)\n</script>\n"],"names":["ref","createNamespace","computed","LEFT_SELECT_MIN_WIDTH","watch","isNull","isUndefined"],"mappings":"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"}
1
+ {"version":3,"file":"select-group.vue2.js","sources":["../../../../../../packages/components/select-group/src/select-group.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <div :class=\"bemContainer.b()\">\n <a-input-group compact>\n <!-- 左侧select -->\n <a-select\n v-model:value=\"typeSelectValue\"\n class=\"select-group-left-select-container\"\n :style=\"{ minWidth: leftSelectWidth }\"\n @change=\"handleSelectChange\"\n >\n <a-select-option\n v-for=\"item in newList\"\n :key=\"item.name\"\n :value=\"item.value\"\n :item=\"item\"\n >\n {{ item.name }}\n </a-select-option>\n </a-select>\n <!-- 右侧组合表单 -->\n <!-- input输入框 -->\n <template\n v-if=\"\n !selectItem?.showFormType || selectItem?.showFormType === 'input'\n \"\n >\n <a-input\n v-model:value=\"value\"\n :class=\"bem.e('right-input')\"\n :placeholder=\"selectItem?.placeholder\"\n @press-enter=\"handleChange\"\n >\n <template #suffix>\n <ll-icon :icon-name=\"`icon-search`\" @click=\"handleChange\" />\n </template>\n </a-input>\n </template>\n <!-- select下拉框 -->\n <template v-else-if=\"selectItem?.showFormType === 'select'\">\n <a-select\n v-model:value=\"value\"\n :class=\"bem.e('right-select')\"\n popup-class-name=\"select-group-right-select\"\n :options=\"selectItem?.options\"\n :placeholder=\"selectItem?.placeholder\"\n :field-names=\"selectItem?.fieldNames\"\n @change=\"handleChange\"\n >\n <a-select-option\n v-for=\"item in selectItem.list\"\n :key=\"item.value\"\n :value=\"item.value\"\n >\n {{ item.name }}\n </a-select-option>\n </a-select>\n </template>\n <!-- 日期选择 -->\n <template v-else-if=\"selectItem?.showFormType === 'range-picker'\">\n <a-range-picker\n v-model:value=\"value\"\n :class=\"bem.e('right-range-picker')\"\n @change=\"handleChange\"\n />\n </template>\n <!-- 树选择 -->\n <template v-else-if=\"selectItem?.showFormType === 'treeSelect'\">\n <a-tree-select\n v-model:value=\"value\"\n :class=\"bem.e('right-tree-select')\"\n :field-names=\"selectItem.fieldNames\"\n :placeholder=\"selectItem?.placeholder\"\n :tree-data=\"selectItem.list\"\n @select=\"handleChange\"\n ></a-tree-select>\n </template>\n <template v-else>\n <slot name=\"extra\" v-bind=\"selectItem\" />\n </template>\n </a-input-group>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, computed, watch } from 'vue'\nimport { has } from 'lodash-es'\n\nimport { selectGroupProps, selectGroupEmits } from './select-group'\nimport { createNamespace } from '@ll-plus/utils'\nimport { hasValue } from '../../advanced-filtering'\nimport { LEFT_SELECT_MIN_WIDTH } from './select-group'\n\nimport type { SelectGroupData } from './select-group'\n\n// 1.defineOptions\ndefineOptions({ name: 'LlSelectGroup' })\n\n// 1.props/emits\nconst props = defineProps(selectGroupProps)\nconst emits = defineEmits(selectGroupEmits)\n\n// 3.ref/const\nconst typeSelectValue = ref('1') // selectinput组合select的值\nconst value = ref<any>('') // 左边的value\nconst selectItem = ref<SelectGroupData>() // 选中表单的类型\nconst newList = ref<SelectGroupData[]>([]) // 处理后的数据,比如select的类型前面加个全部\nconst bem = createNamespace('select-group')\nconst bemContainer = createNamespace('select-group-container')\n\n// 动态计算左边文字最长的宽度\nconst leftSelectWidth = computed(() => {\n const names = newList.value.map(item => item.name.length)\n const maxNameLength = Math.max(...names)\n if (maxNameLength <= 3) {\n return LEFT_SELECT_MIN_WIDTH + 'px'\n }\n const width = LEFT_SELECT_MIN_WIDTH + (maxNameLength - 3) * 14\n return width + 'px'\n})\n\n// 4.methods\n// 第一个select的change\nconst handleSelectChange = (_: string, options: any) => {\n const item = options.item\n const formType = item.showFormType\n // 如果\n if (!formType || formType === 'input' || formType === 'treeSelect') {\n value.value = ''\n } else if (formType === 'range-picker') {\n value.value = [undefined, undefined]\n } else if (formType === 'select') {\n value.value = item.noFirstAddAll ? undefined : -1\n }\n selectItem.value = options.item\n emits('onSelectChange', _, item)\n}\n// 整合处理change\nconst handleChange = () => {\n // 过滤-1的下拉全部\n emits(\n 'change',\n selectItem.value?.value as string,\n value.value === -1 ? null : value.value\n )\n}\n\n// 5.watch\n// 已第一个为标准\nwatch(\n () => props.data as SelectGroupData[],\n newData => {\n let list: SelectGroupData[] = []\n if (newData && newData.length) {\n list = newData.map(item => {\n const newItem = { ...item }\n if (newItem.showFormType === 'select') {\n if (has(newItem, 'options') && !newItem.noFirstAddAll) {\n newItem.options = [\n {\n label: '全部',\n value: -1\n },\n ...newItem.options!\n ]\n } else if (has(newItem, 'list') && !newItem.noFirstAddAll) {\n newItem.list = [\n {\n name: '全部',\n value: -1\n },\n ...newItem.list!\n ]\n }\n }\n return newItem\n })\n\n newList.value = list\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n\nconst setSelectGroup = (selectValue: string, currentValue: any) => {\n typeSelectValue.value = selectValue\n value.value = currentValue\n}\n\nwatch(\n () => [props.value, props.selectValue] as [any, string],\n ([currentValue, selectValue]) => {\n typeSelectValue.value = selectValue || newList.value[0].value\n if (typeSelectValue.value) {\n const find = newList.value.find(e => e.value === typeSelectValue.value)\n selectItem.value = find\n if (find && find.showFormType === 'select' && !find.noFirstAddAll) {\n value.value = !hasValue(currentValue) ? -1 : currentValue\n } else {\n value.value = currentValue\n }\n }\n },\n {\n immediate: true\n }\n)\n\ndefineExpose({ setSelectGroup })\n</script>\n"],"names":["ref","createNamespace","computed","LEFT_SELECT_MIN_WIDTH","watch","has","hasValue"],"mappings":"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"}
@@ -27,6 +27,6 @@ export declare const buildProp: <Type = never, Value = never, Validator = never,
27
27
  export type TestProps = Record<string, {
28
28
  [epPropKey]: true;
29
29
  } | NativePropType | EpPropInput<any, any, any, any, any>>;
30
- export declare const buildProps: <Props extends Record<string, {
30
+ export declare const buildProps: <Props extends Record<string, NativePropType | EpPropInput<any, any, any, any, any> | {
31
31
  __epPropKey: true;
32
- } | NativePropType | EpPropInput<any, any, any, any, any>>>(props: Props) => { [K in keyof Props]: IfEpProp<Props[K], Props[K], IfNativePropType<Props[K], Props[K], EpPropConvert<Props[K]>>>; };
32
+ }>>(props: Props) => { [K in keyof Props]: IfEpProp<Props[K], Props[K], IfNativePropType<Props[K], Props[K], EpPropConvert<Props[K]>>>; };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ll-plus",
3
- "version": "2.4.13",
3
+ "version": "2.4.14",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.mjs",