ll-plus 2.3.6 → 2.3.8

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 (88) hide show
  1. package/es/components/api-component/index.d.ts +203 -87
  2. package/es/components/api-component/src/api-component.vue.d.ts +203 -87
  3. package/es/components/api-component/src/api-component.vue2.mjs +34 -28
  4. package/es/components/api-component/src/api-component.vue2.mjs.map +1 -1
  5. package/es/components/api-component/src/components/api-url.vue.d.ts +115 -45
  6. package/es/components/api-component/src/components/api-url.vue2.mjs.map +1 -1
  7. package/es/components/api-component/src/components/params-table-row.vue2.mjs +3 -3
  8. package/es/components/api-component/src/components/params-table-row.vue2.mjs.map +1 -1
  9. package/es/components/api-component/src/config/api-component.d.ts +32 -13
  10. package/es/components/api-component/src/config/api-component.mjs +18 -27
  11. package/es/components/api-component/src/config/api-component.mjs.map +1 -1
  12. package/es/components/api-component/src/config/api-url.d.ts +17 -15
  13. package/es/components/api-component/src/config/api-url.mjs +17 -1
  14. package/es/components/api-component/src/config/api-url.mjs.map +1 -1
  15. package/es/components/table/src/components/main-table.vue2.mjs +1 -7
  16. package/es/components/table/src/components/main-table.vue2.mjs.map +1 -1
  17. package/es/components/tree-search/index.d.ts +15 -4
  18. package/es/components/tree-search/src/components/header-search.vue.d.ts +2 -3
  19. package/es/components/tree-search/src/components/header-search.vue2.mjs +4 -6
  20. package/es/components/tree-search/src/components/header-search.vue2.mjs.map +1 -1
  21. package/es/components/tree-search/src/config/tree-search.d.ts +6 -0
  22. package/es/components/tree-search/src/config/tree-search.mjs +6 -0
  23. package/es/components/tree-search/src/config/tree-search.mjs.map +1 -1
  24. package/es/components/tree-search/src/tree-search.vue.d.ts +15 -4
  25. package/es/components/tree-search/src/tree-search.vue2.mjs +2 -4
  26. package/es/components/tree-search/src/tree-search.vue2.mjs.map +1 -1
  27. package/es/components/upload-image/index.d.ts +5 -0
  28. package/es/components/upload-image/src/upload-image.d.ts +1 -0
  29. package/es/components/upload-image/src/upload-image.mjs +4 -0
  30. package/es/components/upload-image/src/upload-image.mjs.map +1 -1
  31. package/es/components/upload-image/src/upload-image.vue.d.ts +5 -0
  32. package/es/components/upload-image/src/upload-image.vue2.mjs +56 -44
  33. package/es/components/upload-image/src/upload-image.vue2.mjs.map +1 -1
  34. package/es/utils/props/runtime.d.ts +2 -2
  35. package/index.full.js +140 -117
  36. package/index.full.min.js +21 -21
  37. package/index.full.min.js.map +1 -1
  38. package/index.full.min.mjs +18 -18
  39. package/index.full.min.mjs.map +1 -1
  40. package/index.full.mjs +141 -118
  41. package/lib/components/api-component/index.d.ts +203 -87
  42. package/lib/components/api-component/src/api-component.vue.d.ts +203 -87
  43. package/lib/components/api-component/src/api-component.vue2.js +33 -27
  44. package/lib/components/api-component/src/api-component.vue2.js.map +1 -1
  45. package/lib/components/api-component/src/components/api-url.vue.d.ts +115 -45
  46. package/lib/components/api-component/src/components/api-url.vue2.js.map +1 -1
  47. package/lib/components/api-component/src/components/params-table-row.vue2.js +3 -3
  48. package/lib/components/api-component/src/components/params-table-row.vue2.js.map +1 -1
  49. package/lib/components/api-component/src/config/api-component.d.ts +32 -13
  50. package/lib/components/api-component/src/config/api-component.js +18 -27
  51. package/lib/components/api-component/src/config/api-component.js.map +1 -1
  52. package/lib/components/api-component/src/config/api-url.d.ts +17 -15
  53. package/lib/components/api-component/src/config/api-url.js +17 -1
  54. package/lib/components/api-component/src/config/api-url.js.map +1 -1
  55. package/lib/components/table/src/components/main-table.vue2.js +1 -7
  56. package/lib/components/table/src/components/main-table.vue2.js.map +1 -1
  57. package/lib/components/tree-search/index.d.ts +15 -4
  58. package/lib/components/tree-search/src/components/header-search.vue.d.ts +2 -3
  59. package/lib/components/tree-search/src/components/header-search.vue2.js +3 -5
  60. package/lib/components/tree-search/src/components/header-search.vue2.js.map +1 -1
  61. package/lib/components/tree-search/src/config/tree-search.d.ts +6 -0
  62. package/lib/components/tree-search/src/config/tree-search.js +6 -0
  63. package/lib/components/tree-search/src/config/tree-search.js.map +1 -1
  64. package/lib/components/tree-search/src/tree-search.vue.d.ts +15 -4
  65. package/lib/components/tree-search/src/tree-search.vue2.js +2 -4
  66. package/lib/components/tree-search/src/tree-search.vue2.js.map +1 -1
  67. package/lib/components/upload-image/index.d.ts +5 -0
  68. package/lib/components/upload-image/src/upload-image.d.ts +1 -0
  69. package/lib/components/upload-image/src/upload-image.js +4 -0
  70. package/lib/components/upload-image/src/upload-image.js.map +1 -1
  71. package/lib/components/upload-image/src/upload-image.vue.d.ts +5 -0
  72. package/lib/components/upload-image/src/upload-image.vue2.js +55 -43
  73. package/lib/components/upload-image/src/upload-image.vue2.js.map +1 -1
  74. package/lib/utils/props/runtime.d.ts +2 -2
  75. package/package.json +1 -1
  76. package/types/packages/components/api-component/index.d.ts +203 -87
  77. package/types/packages/components/api-component/src/api-component.vue.d.ts +203 -87
  78. package/types/packages/components/api-component/src/components/api-url.vue.d.ts +115 -45
  79. package/types/packages/components/api-component/src/config/api-component.d.ts +32 -13
  80. package/types/packages/components/api-component/src/config/api-url.d.ts +17 -15
  81. package/types/packages/components/tree-search/index.d.ts +15 -4
  82. package/types/packages/components/tree-search/src/components/header-search.vue.d.ts +2 -3
  83. package/types/packages/components/tree-search/src/config/tree-search.d.ts +6 -0
  84. package/types/packages/components/tree-search/src/tree-search.vue.d.ts +15 -4
  85. package/types/packages/components/upload-image/index.d.ts +5 -0
  86. package/types/packages/components/upload-image/src/upload-image.d.ts +1 -0
  87. package/types/packages/components/upload-image/src/upload-image.vue.d.ts +5 -0
  88. package/types/packages/utils/props/runtime.d.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"main-table.vue2.js","sources":["../../../../../../packages/components/table/src/components/main-table.vue"],"sourcesContent":["<template>\n <a-table\n :class=\"`${bem.e('main-content')}`\"\n row-key=\"id\"\n v-bind=\"attrs\"\n :columns=\"newColumns\"\n :data-source=\"newDataSource\"\n :expanded-row-keys=\"newExpandedRowKeys\"\n :custom-row=\"props.showDrag ? dragCustomRow : (customRowProps as any)\"\n :pagination=\"false\"\n show-header\n :scroll=\"{\n scrollToFirstRowOnChange: true,\n x: props?.scroll?.x ? props?.scroll?.x : 'max-content',\n y: props?.scroll?.y ? props?.scroll?.y : '100%'\n }\"\n @expand=\"handleExpand\"\n @resize-column=\"handleResizeColumn\"\n @change=\"props.change\"\n @expanded-rows-change=\"props.expandedRowsChange\"\n >\n <!-- 1.表头插槽 -->\n <template #headerCell=\"slots\">\n <template v-if=\"slots.column.key === 'operate' && showSetting\">\n <div :class=\"`${bem.e('operate')}`\">\n <span>{{ slots.column.title }}</span>\n <a-popover\n trigger=\"click\"\n placement=\"bottomRight\"\n :overlay-inner-style=\"{\n padding: '0'\n }\"\n >\n <template #content>\n <div :class=\"`${bem.e('setting-popover')}`\">\n <!-- 头部 -->\n <div :class=\"`${bem.e('setting-popover-header')}`\">\n <a-checkbox\n :indeterminate=\"isIndeterminate\"\n :checked=\"isAllCheck\"\n @change=\"handleAllColumnChange\"\n >\n 列展示\n </a-checkbox>\n <span\n :class=\"`${bem.e('setting-reset-btn')}`\"\n @click=\"handleClickResetBtn\"\n >\n 重置\n </span>\n </div>\n <!-- 内容 -->\n <div :class=\"`${bem.e('setting-popover-content')}`\">\n <div>\n <draggable\n :list=\"settingColumns\"\n item-key=\"key\"\n :group=\"{ name: 'g1' }\"\n @change=\"dragChange\"\n >\n <template #item=\"{ element }\">\n <div :class=\"`${bem.e('setting-popover-menu')}`\">\n <!-- 拖拽 -->\n <div\n :class=\"`flex items-center ${bem.e(\n 'setting-popover-menu-left'\n )}`\"\n >\n <a-button\n type=\"text\"\n :class=\"`${bem.e('setting-popover-menu-icon')}`\"\n :style=\"{\n marginright: '5px'\n }\"\n >\n <ll-icon\n icon-name=\"icon-move\"\n class-name=\"icon\"\n />\n </a-button>\n <a-checkbox\n :checked=\"element.isCheck\"\n @change=\"\n (e: any) => {\n handleColumnItemChange(\n e.target?.checked!,\n element\n )\n }\n \"\n >\n {{ element.title }}\n </a-checkbox>\n </div>\n <div\n :class=\"`flex items-center ${bem.e(\n 'setting-popover-menu-right'\n )}`\"\n >\n <!-- 左移 -->\n <a-button\n type=\"text\"\n :class=\"`${bem.e('setting-popover-menu-icon')}`\"\n @click=\"handleColumnMove(element, 'left')\"\n >\n <ll-icon\n icon-name=\"icon-zuoyi\"\n :class-name=\"`icon ${\n element.fixed === 'left'\n ? bem.e('setting-popover-menu-fixed-icon')\n : ''\n }`\"\n />\n </a-button>\n <a-divider type=\"vertical\" />\n <!-- 右移 -->\n <a-button\n type=\"text\"\n :class=\"`${bem.e('setting-popover-menu-icon')}`\"\n @click=\"handleColumnMove(element, 'right')\"\n >\n <ll-icon\n icon-name=\"icon-youyi\"\n :class-name=\"`icon ${\n element.fixed === 'right'\n ? bem.e('setting-popover-menu-fixed-icon')\n : ''\n }`\"\n />\n </a-button>\n </div>\n </div>\n </template>\n </draggable>\n </div>\n </div>\n </div>\n </template>\n <a-button type=\"text\" :class=\"`${bem.e('setting-icon')}`\">\n <ll-icon icon-name=\"icon-set-line\" />\n </a-button>\n </a-popover>\n </div>\n </template>\n <template v-else-if=\"has(slots.column, 'RC_TABLE_INTERNAL_COL_DEFINE')\">\n <slot name=\"expandedTitle\"></slot>\n </template>\n <template v-else>{{ slots.column.title }}</template>\n <!-- 额外header单元格的插槽内容 -->\n <slot name=\"tableHeaderCell\" v-bind=\"slots\"></slot>\n </template>\n <!-- 2.表格内容插槽 -->\n <template #bodyCell=\"slots\">\n <!-- 添加序列列 -->\n <template v-if=\"slots.column.key === '#' && showIndexColumn\">\n {{ slots.index + 1 }}\n </template>\n <!-- 添加操作列 -->\n <template v-else-if=\"slots.column.key === 'operate'\">\n <slot name=\"tableOperate\" v-bind=\"slots\"></slot>\n </template>\n <!-- 额外Body单元格的插槽内容 -->\n <slot name=\"tableBodyCell\" v-bind=\"slots\"></slot>\n </template>\n <!-- 3.空状态自定义插槽 -->\n <template #emptyText>\n <slot name=\"emptyText\">\n <ll-empty>\n <template #content>暂无数据</template>\n </ll-empty>\n </slot>\n </template>\n <!-- 4.表格自定义展开内容插槽 -->\n <template v-if=\"$slots.expandedRow\" #expandedRowRender=\"slots\">\n <slot name=\"expandedRow\" v-bind=\"slots\"> </slot>\n </template>\n <!-- 5.表格自定义列筛选 -->\n <template v-if=\"$slots.customFilterDropdown\" #customFilterDropdown=\"slots\">\n <slot name=\"customFilterDropdown\" v-bind=\"slots\"> </slot>\n </template>\n <!-- 6.表格自定义筛选图标 -->\n <template v-if=\"$slots.customFilterIcon\" #customFilterIcon=\"slots\">\n <slot name=\"customFilterIcon\" v-bind=\"slots\"> </slot>\n </template>\n <!-- 6.表格总结栏 -->\n <template v-if=\"$slots.summary\" #summary=\"slots\">\n <slot name=\"summary\" v-bind=\"slots\"> </slot>\n </template>\n </a-table>\n</template>\n<script lang=\"ts\" setup>\nimport { ref, watch, computed, useAttrs } from 'vue'\n\nimport { createNamespace } from '@ll-plus/utils'\n\nimport draggable from 'vuedraggable'\n\nimport { has } from 'lodash-es'\n\nimport { mainTableProps, mainTableEmits } from '../config'\n\n// 1.defineOptions\ndefineOptions({\n name: 'MainTable'\n})\n\n// 2.props/emits\nconst props = defineProps(mainTableProps)\nconst emits = defineEmits(mainTableEmits)\n\n// 3.hooks\nconst attrs = useAttrs()\n\n// 3.ref/let/const\nconst newColumns: any = ref([]) // 显示在表格的columns\nconst settingColumns: any = ref([])\nconst newDataSource: any = ref([])\nconst newExpandedRowKeys: any = ref([]) //展开的id数组\nlet preIndex = -1 // 源目标数据序号\nlet nextIndex = -1 // 目标数据序号\nconst bem = createNamespace('table')\n\n// 往表格列中添加序号和操作\nconst handleAddSerialNumberAndOperateToColumns = () => {\n if (props.showIndexColumn) {\n newColumns.value.unshift({\n title: '#',\n dataIndex: '#',\n key: '#',\n width: 50,\n fixed: 'left',\n class: 'table-serial-number-cell'\n })\n }\n if (props.showOperate) {\n newColumns.value.push({\n title: '操作',\n dataIndex: '',\n key: 'operate',\n width: 120,\n fixed: 'right',\n class: 'table-serial-operate-cell'\n })\n }\n}\n// 处理表格列的左、右固定排序(letf放最左边,没有定位放中间,右边放right定位)\nconst handleColumnsSortByFixed = (list: any, isDrag?: boolean) => {\n const newList = list\n const leftFixedColumns: any = [],\n normalFixedColumns: any = [],\n rightFixedColumns: any = []\n newList.forEach((item: any) => {\n const fixed = item.fixed\n if (fixed === 'left') {\n leftFixedColumns.push(item)\n } else if (fixed === 'right') {\n rightFixedColumns.push(item)\n } else {\n normalFixedColumns.push(item)\n }\n })\n leftFixedColumns.sort(\n (a: any, b: any) => a.columnSortIndex - b.columnSortIndex\n )\n normalFixedColumns.sort(\n (a: any, b: any) => a.columnSortIndex - b.columnSortIndex\n )\n rightFixedColumns.sort(\n (a: any, b: any) => a.columnSortIndex - b.columnSortIndex\n )\n newColumns.value = [\n ...leftFixedColumns,\n ...normalFixedColumns,\n ...rightFixedColumns\n ]\n if (isDrag) {\n handleAddSerialNumberAndOperateToColumns()\n }\n}\n\n// 4.watch\nwatch(\n () => props.dataSource,\n (newValue: any) => {\n newDataSource.value = [...newValue]\n },\n {\n deep: true,\n immediate: true\n }\n)\n// 从本地存储中获取columns/没有则用用户传的\nwatch(\n () => [\n props.columns,\n props.settingKey,\n props.showIndexColumn,\n props.showOperate\n ],\n (arr: any) => {\n const [newValue, key] = arr\n let newcolumns = []\n // 有key\n if (key && localStorage.getItem(key)) {\n const localStorageColumns = localStorage.getItem(key)\n if (localStorageColumns) {\n newcolumns = JSON.parse(localStorageColumns)\n }\n } else {\n // 没key\n newcolumns = newValue.map((item: any, index: number) => ({\n ...item,\n isCheck: true,\n columnSortIndex:\n item.columnSortIndex === 0 || item.columnSortIndex\n ? item.columnSortIndex\n : index\n }))\n }\n // 1.过滤掉没有选中的\n newColumns.value = [...newcolumns].filter((item: any) => item.isCheck)\n // 2.如果有设置序列和操作,则添加\n handleAddSerialNumberAndOperateToColumns()\n // 3.根据定位来排序\n handleColumnsSortByFixed(newColumns.value)\n settingColumns.value = [...newcolumns]\n },\n {\n deep: true,\n immediate: true\n }\n)\nwatch(\n () => props.expandedRowKeys,\n (newValue: any) => {\n if (Array.isArray(newValue)) {\n newExpandedRowKeys.value = [...newValue]\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n// 5.methods\n//重新定义树状展开关闭功能\nconst handleExpand = (expanded: boolean, record: any) => {\n if (expanded) {\n newExpandedRowKeys.value.push(record.id)\n } else {\n const index = newExpandedRowKeys.value.findIndex(\n (e: any) => e === record.id\n )\n newExpandedRowKeys.value.splice(index, 1)\n }\n props.expand && props.expand(expanded, record)\n}\n// 列拖拽\nconst handleResizeColumn = (w: any, col: any) => {\n col.width = w\n props.resizeColumn && props.resizeColumn(w, col)\n}\n// 拖动排序\nconst dragCustomRow = (_: any, index: number) => {\n const normalConfig = {\n props: {\n // draggable: 'true'\n },\n draggable: true,\n style: {\n cursor: 'pointer'\n },\n // 鼠标移入\n onMouseenter: (event: Event) => {\n const target = event.target as HTMLElement\n target.draggable = true // 让你要拖动的行可以拖动,默认不可以\n },\n // 开始拖拽\n onDragstart: (event: Event) => {\n event.stopPropagation()\n preIndex = index\n },\n // 拖动元素经过的元素\n onDragover: (event: Event) => {\n event.preventDefault()\n },\n // 鼠标松开\n onDrop: (event: Event) => {\n let sortSource: any[] = []\n event.stopPropagation()\n // 得到目标数据序号\n nextIndex = index\n const dataSource = newDataSource.value\n // 排序后两个sort互换\n const preItem = { ...dataSource[preIndex] }\n const nextItem = { ...dataSource[nextIndex] }\n const preSort = preItem.sort\n const nextSort = nextItem.sort\n preItem.sort = nextSort\n nextItem.sort = preSort\n\n dataSource[preIndex] = nextItem\n dataSource[nextIndex] = preItem\n sortSource = [...dataSource]\n emits('handleChangeDataSource', sortSource)\n props.dragChange && props.dragChange(sortSource)\n }\n }\n const extraConfig = props.customRowProps\n ? { ...props.customRowProps(_, index) }\n : {}\n return { ...normalConfig, ...extraConfig }\n}\n// 是否全选\nconst isAllCheck = computed(() => {\n return settingColumns.value.every((item: any) => item.isCheck)\n})\n// 是否全选\nconst isIndeterminate = computed(() => {\n const getIsChecks = settingColumns.value.filter((item: any) => item.isCheck)\n return getIsChecks.length === 0\n ? false\n : settingColumns.value.length > getIsChecks.length\n})\n// 单个checkbox的change\nconst handleChangeColumns = () => {\n const isCheckSettingColumns = settingColumns.value.filter(\n (item: any, index: number) => {\n item.columnSortIndex = index\n return item.isCheck\n }\n )\n handleColumnsSortByFixed(isCheckSettingColumns, true)\n}\n\nconst handleColumnItemChange = (value: boolean, item: any) => {\n const findSettingIndex = settingColumns.value.findIndex(\n (citem: any) => item.key === citem.key\n )\n\n if (findSettingIndex > -1) {\n settingColumns.value[findSettingIndex].isCheck = value\n handleChangeColumns()\n handleClickSubmitBtn()\n }\n}\n// 全选change\nconst handleAllColumnChange = (e: any) => {\n const checked = e.target.checked\n settingColumns.value.forEach((item: any) => (item.isCheck = checked))\n if (checked) {\n newColumns.value = [...props.columns]\n } else {\n newColumns.value = []\n }\n handleAddSerialNumberAndOperateToColumns()\n handleClickSubmitBtn()\n}\n// 拖拽change\nconst dragChange = () => {\n handleChangeColumns()\n handleClickSubmitBtn()\n}\n// 点击重置按钮\nconst handleClickResetBtn = () => {\n const newcolumns = props.columns.map((item: any, index: number) => ({\n ...item,\n isCheck: true,\n columnSortIndex: index\n }))\n newColumns.value = [...newcolumns]\n handleAddSerialNumberAndOperateToColumns()\n settingColumns.value = [...newcolumns]\n handleClickSubmitBtn()\n}\n// 点击保存按钮\nconst handleClickSubmitBtn = () => {\n if (props.settingKey) {\n localStorage.setItem(props.settingKey, JSON.stringify(settingColumns.value))\n }\n}\n// 处理column左固定和右固定\nconst handleColumnMove = (element: any, way: string) => {\n const fixed = element.fixed\n if (fixed === way) {\n element.fixed = false\n } else {\n element.fixed = way\n }\n handleColumnsSortByFixed(newColumns.value)\n handleClickSubmitBtn()\n}\n</script>\n../config/table\n"],"names":["useAttrs","ref","createNamespace","watch","computed"],"mappings":"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"}
1
+ {"version":3,"file":"main-table.vue2.js","sources":["../../../../../../packages/components/table/src/components/main-table.vue"],"sourcesContent":["<template>\n <a-table\n :class=\"`${bem.e('main-content')}`\"\n row-key=\"id\"\n v-bind=\"attrs\"\n :columns=\"newColumns\"\n :data-source=\"newDataSource\"\n :expanded-row-keys=\"newExpandedRowKeys\"\n :custom-row=\"props.showDrag ? dragCustomRow : (customRowProps as any)\"\n :pagination=\"false\"\n show-header\n :scroll=\"{\n scrollToFirstRowOnChange: true,\n x: props?.scroll?.x ? props?.scroll?.x : 'max-content',\n y: props?.scroll?.y ? props?.scroll?.y : '100%'\n }\"\n @expand=\"handleExpand\"\n @resize-column=\"handleResizeColumn\"\n @change=\"props.change\"\n @expanded-rows-change=\"props.expandedRowsChange\"\n >\n <!-- 1.表头插槽 -->\n <template #headerCell=\"slots\">\n <template v-if=\"slots.column.key === 'operate' && showSetting\">\n <div :class=\"`${bem.e('operate')}`\">\n <span>{{ slots.column.title }}</span>\n <a-popover\n trigger=\"click\"\n placement=\"bottomRight\"\n :overlay-inner-style=\"{\n padding: '0'\n }\"\n >\n <template #content>\n <div :class=\"`${bem.e('setting-popover')}`\">\n <!-- 头部 -->\n <div :class=\"`${bem.e('setting-popover-header')}`\">\n <a-checkbox\n :indeterminate=\"isIndeterminate\"\n :checked=\"isAllCheck\"\n @change=\"handleAllColumnChange\"\n >\n 列展示\n </a-checkbox>\n <span\n :class=\"`${bem.e('setting-reset-btn')}`\"\n @click=\"handleClickResetBtn\"\n >\n 重置\n </span>\n </div>\n <!-- 内容 -->\n <div :class=\"`${bem.e('setting-popover-content')}`\">\n <div>\n <draggable\n :list=\"settingColumns\"\n item-key=\"key\"\n :group=\"{ name: 'g1' }\"\n @change=\"dragChange\"\n >\n <template #item=\"{ element }\">\n <div :class=\"`${bem.e('setting-popover-menu')}`\">\n <!-- 拖拽 -->\n <div\n :class=\"`flex items-center ${bem.e(\n 'setting-popover-menu-left'\n )}`\"\n >\n <a-button\n type=\"text\"\n :class=\"`${bem.e('setting-popover-menu-icon')}`\"\n :style=\"{\n marginright: '5px'\n }\"\n >\n <ll-icon\n icon-name=\"icon-move\"\n class-name=\"icon\"\n />\n </a-button>\n <a-checkbox\n :checked=\"element.isCheck\"\n @change=\"\n (e: any) => {\n handleColumnItemChange(\n e.target?.checked!,\n element\n )\n }\n \"\n >\n {{ element.title }}\n </a-checkbox>\n </div>\n <div\n :class=\"`flex items-center ${bem.e(\n 'setting-popover-menu-right'\n )}`\"\n >\n <!-- 左移 -->\n <a-button\n type=\"text\"\n :class=\"`${bem.e('setting-popover-menu-icon')}`\"\n @click=\"handleColumnMove(element, 'left')\"\n >\n <ll-icon\n icon-name=\"icon-zuoyi\"\n :class-name=\"`icon ${\n element.fixed === 'left'\n ? bem.e('setting-popover-menu-fixed-icon')\n : ''\n }`\"\n />\n </a-button>\n <a-divider type=\"vertical\" />\n <!-- 右移 -->\n <a-button\n type=\"text\"\n :class=\"`${bem.e('setting-popover-menu-icon')}`\"\n @click=\"handleColumnMove(element, 'right')\"\n >\n <ll-icon\n icon-name=\"icon-youyi\"\n :class-name=\"`icon ${\n element.fixed === 'right'\n ? bem.e('setting-popover-menu-fixed-icon')\n : ''\n }`\"\n />\n </a-button>\n </div>\n </div>\n </template>\n </draggable>\n </div>\n </div>\n </div>\n </template>\n <a-button type=\"text\" :class=\"`${bem.e('setting-icon')}`\">\n <ll-icon icon-name=\"icon-set-line\" />\n </a-button>\n </a-popover>\n </div>\n </template>\n <template v-else-if=\"has(slots.column, 'RC_TABLE_INTERNAL_COL_DEFINE')\">\n <slot name=\"expandedTitle\"></slot>\n </template>\n <template v-else>{{ slots.column.title }}</template>\n <!-- 额外header单元格的插槽内容 -->\n <slot name=\"tableHeaderCell\" v-bind=\"slots\"></slot>\n </template>\n <!-- 2.表格内容插槽 -->\n <template #bodyCell=\"slots\">\n <!-- 添加序列列 -->\n <template v-if=\"slots.column.key === '#' && showIndexColumn\">\n {{ slots.index + 1 }}\n </template>\n <!-- 添加操作列 -->\n <template v-else-if=\"slots.column.key === 'operate'\">\n <slot name=\"tableOperate\" v-bind=\"slots\"></slot>\n </template>\n <!-- 额外Body单元格的插槽内容 -->\n <slot name=\"tableBodyCell\" v-bind=\"slots\"></slot>\n </template>\n <!-- 3.空状态自定义插槽 -->\n <template #emptyText>\n <slot name=\"emptyText\">\n <ll-empty> </ll-empty>\n </slot>\n </template>\n <!-- 4.表格自定义展开内容插槽 -->\n <template v-if=\"$slots.expandedRow\" #expandedRowRender=\"slots\">\n <slot name=\"expandedRow\" v-bind=\"slots\"> </slot>\n </template>\n <!-- 5.表格自定义列筛选 -->\n <template v-if=\"$slots.customFilterDropdown\" #customFilterDropdown=\"slots\">\n <slot name=\"customFilterDropdown\" v-bind=\"slots\"> </slot>\n </template>\n <!-- 6.表格自定义筛选图标 -->\n <template v-if=\"$slots.customFilterIcon\" #customFilterIcon=\"slots\">\n <slot name=\"customFilterIcon\" v-bind=\"slots\"> </slot>\n </template>\n <!-- 6.表格总结栏 -->\n <template v-if=\"$slots.summary\" #summary=\"slots\">\n <slot name=\"summary\" v-bind=\"slots\"> </slot>\n </template>\n </a-table>\n</template>\n<script lang=\"ts\" setup>\nimport { ref, watch, computed, useAttrs } from 'vue'\n\nimport { createNamespace } from '@ll-plus/utils'\n\nimport draggable from 'vuedraggable'\n\nimport { has } from 'lodash-es'\n\nimport { mainTableProps, mainTableEmits } from '../config'\n\n// 1.defineOptions\ndefineOptions({\n name: 'MainTable'\n})\n\n// 2.props/emits\nconst props = defineProps(mainTableProps)\nconst emits = defineEmits(mainTableEmits)\n\n// 3.hooks\nconst attrs = useAttrs()\n\n// 3.ref/let/const\nconst newColumns: any = ref([]) // 显示在表格的columns\nconst settingColumns: any = ref([])\nconst newDataSource: any = ref([])\nconst newExpandedRowKeys: any = ref([]) //展开的id数组\nlet preIndex = -1 // 源目标数据序号\nlet nextIndex = -1 // 目标数据序号\nconst bem = createNamespace('table')\n\n// 往表格列中添加序号和操作\nconst handleAddSerialNumberAndOperateToColumns = () => {\n if (props.showIndexColumn) {\n newColumns.value.unshift({\n title: '#',\n dataIndex: '#',\n key: '#',\n width: 50,\n fixed: 'left',\n class: 'table-serial-number-cell'\n })\n }\n if (props.showOperate) {\n newColumns.value.push({\n title: '操作',\n dataIndex: '',\n key: 'operate',\n width: 120,\n fixed: 'right',\n class: 'table-serial-operate-cell'\n })\n }\n}\n// 处理表格列的左、右固定排序(letf放最左边,没有定位放中间,右边放right定位)\nconst handleColumnsSortByFixed = (list: any, isDrag?: boolean) => {\n const newList = list\n const leftFixedColumns: any = [],\n normalFixedColumns: any = [],\n rightFixedColumns: any = []\n newList.forEach((item: any) => {\n const fixed = item.fixed\n if (fixed === 'left') {\n leftFixedColumns.push(item)\n } else if (fixed === 'right') {\n rightFixedColumns.push(item)\n } else {\n normalFixedColumns.push(item)\n }\n })\n leftFixedColumns.sort(\n (a: any, b: any) => a.columnSortIndex - b.columnSortIndex\n )\n normalFixedColumns.sort(\n (a: any, b: any) => a.columnSortIndex - b.columnSortIndex\n )\n rightFixedColumns.sort(\n (a: any, b: any) => a.columnSortIndex - b.columnSortIndex\n )\n newColumns.value = [\n ...leftFixedColumns,\n ...normalFixedColumns,\n ...rightFixedColumns\n ]\n if (isDrag) {\n handleAddSerialNumberAndOperateToColumns()\n }\n}\n\n// 4.watch\nwatch(\n () => props.dataSource,\n (newValue: any) => {\n newDataSource.value = [...newValue]\n },\n {\n deep: true,\n immediate: true\n }\n)\n// 从本地存储中获取columns/没有则用用户传的\nwatch(\n () => [\n props.columns,\n props.settingKey,\n props.showIndexColumn,\n props.showOperate\n ],\n (arr: any) => {\n const [newValue, key] = arr\n let newcolumns = []\n // 有key\n if (key && localStorage.getItem(key)) {\n const localStorageColumns = localStorage.getItem(key)\n if (localStorageColumns) {\n newcolumns = JSON.parse(localStorageColumns)\n }\n } else {\n // 没key\n newcolumns = newValue.map((item: any, index: number) => ({\n ...item,\n isCheck: true,\n columnSortIndex:\n item.columnSortIndex === 0 || item.columnSortIndex\n ? item.columnSortIndex\n : index\n }))\n }\n // 1.过滤掉没有选中的\n newColumns.value = [...newcolumns].filter((item: any) => item.isCheck)\n // 2.如果有设置序列和操作,则添加\n handleAddSerialNumberAndOperateToColumns()\n // 3.根据定位来排序\n handleColumnsSortByFixed(newColumns.value)\n settingColumns.value = [...newcolumns]\n },\n {\n deep: true,\n immediate: true\n }\n)\nwatch(\n () => props.expandedRowKeys,\n (newValue: any) => {\n if (Array.isArray(newValue)) {\n newExpandedRowKeys.value = [...newValue]\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n// 5.methods\n//重新定义树状展开关闭功能\nconst handleExpand = (expanded: boolean, record: any) => {\n if (expanded) {\n newExpandedRowKeys.value.push(record.id)\n } else {\n const index = newExpandedRowKeys.value.findIndex(\n (e: any) => e === record.id\n )\n newExpandedRowKeys.value.splice(index, 1)\n }\n props.expand && props.expand(expanded, record)\n}\n// 列拖拽\nconst handleResizeColumn = (w: any, col: any) => {\n col.width = w\n props.resizeColumn && props.resizeColumn(w, col)\n}\n// 拖动排序\nconst dragCustomRow = (_: any, index: number) => {\n const normalConfig = {\n props: {\n // draggable: 'true'\n },\n draggable: true,\n style: {\n cursor: 'pointer'\n },\n // 鼠标移入\n onMouseenter: (event: Event) => {\n const target = event.target as HTMLElement\n target.draggable = true // 让你要拖动的行可以拖动,默认不可以\n },\n // 开始拖拽\n onDragstart: (event: Event) => {\n event.stopPropagation()\n preIndex = index\n },\n // 拖动元素经过的元素\n onDragover: (event: Event) => {\n event.preventDefault()\n },\n // 鼠标松开\n onDrop: (event: Event) => {\n let sortSource: any[] = []\n event.stopPropagation()\n // 得到目标数据序号\n nextIndex = index\n const dataSource = newDataSource.value\n // 排序后两个sort互换\n const preItem = { ...dataSource[preIndex] }\n const nextItem = { ...dataSource[nextIndex] }\n const preSort = preItem.sort\n const nextSort = nextItem.sort\n preItem.sort = nextSort\n nextItem.sort = preSort\n\n dataSource[preIndex] = nextItem\n dataSource[nextIndex] = preItem\n sortSource = [...dataSource]\n emits('handleChangeDataSource', sortSource)\n props.dragChange && props.dragChange(sortSource)\n }\n }\n const extraConfig = props.customRowProps\n ? { ...props.customRowProps(_, index) }\n : {}\n return { ...normalConfig, ...extraConfig }\n}\n// 是否全选\nconst isAllCheck = computed(() => {\n return settingColumns.value.every((item: any) => item.isCheck)\n})\n// 是否全选\nconst isIndeterminate = computed(() => {\n const getIsChecks = settingColumns.value.filter((item: any) => item.isCheck)\n return getIsChecks.length === 0\n ? false\n : settingColumns.value.length > getIsChecks.length\n})\n// 单个checkbox的change\nconst handleChangeColumns = () => {\n const isCheckSettingColumns = settingColumns.value.filter(\n (item: any, index: number) => {\n item.columnSortIndex = index\n return item.isCheck\n }\n )\n handleColumnsSortByFixed(isCheckSettingColumns, true)\n}\n\nconst handleColumnItemChange = (value: boolean, item: any) => {\n const findSettingIndex = settingColumns.value.findIndex(\n (citem: any) => item.key === citem.key\n )\n\n if (findSettingIndex > -1) {\n settingColumns.value[findSettingIndex].isCheck = value\n handleChangeColumns()\n handleClickSubmitBtn()\n }\n}\n// 全选change\nconst handleAllColumnChange = (e: any) => {\n const checked = e.target.checked\n settingColumns.value.forEach((item: any) => (item.isCheck = checked))\n if (checked) {\n newColumns.value = [...props.columns]\n } else {\n newColumns.value = []\n }\n handleAddSerialNumberAndOperateToColumns()\n handleClickSubmitBtn()\n}\n// 拖拽change\nconst dragChange = () => {\n handleChangeColumns()\n handleClickSubmitBtn()\n}\n// 点击重置按钮\nconst handleClickResetBtn = () => {\n const newcolumns = props.columns.map((item: any, index: number) => ({\n ...item,\n isCheck: true,\n columnSortIndex: index\n }))\n newColumns.value = [...newcolumns]\n handleAddSerialNumberAndOperateToColumns()\n settingColumns.value = [...newcolumns]\n handleClickSubmitBtn()\n}\n// 点击保存按钮\nconst handleClickSubmitBtn = () => {\n if (props.settingKey) {\n localStorage.setItem(props.settingKey, JSON.stringify(settingColumns.value))\n }\n}\n// 处理column左固定和右固定\nconst handleColumnMove = (element: any, way: string) => {\n const fixed = element.fixed\n if (fixed === way) {\n element.fixed = false\n } else {\n element.fixed = way\n }\n handleColumnsSortByFixed(newColumns.value)\n handleClickSubmitBtn()\n}\n</script>\n../config/table\n"],"names":["useAttrs","ref","createNamespace","watch","computed"],"mappings":"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"}
@@ -1,5 +1,11 @@
1
1
  import TreeSearch from './src/tree-search.vue';
2
2
  export declare const LlTreeSearch: import("ll-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
3
+ readonly searchValue: {
4
+ readonly type: import("vue").PropType<string>;
5
+ readonly required: false;
6
+ readonly validator: ((val: unknown) => boolean) | undefined;
7
+ __epPropKey: true;
8
+ };
3
9
  readonly operateDropdownOpen: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
4
10
  readonly loading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
5
11
  readonly throttleTime: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
@@ -62,6 +68,7 @@ export declare const LlTreeSearch: import("ll-plus/es/utils").SFCWithInstall<imp
62
68
  readonly throttleTime: number;
63
69
  readonly onSearchInputChange: Function;
64
70
  readonly operateWay: import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "none" | "modal" | "drawer", unknown>;
71
+ readonly searchValue?: string | undefined;
65
72
  readonly expandedKeys?: string[] | undefined;
66
73
  readonly modalConfigProps?: {
67
74
  readonly type: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => "confirm" | "operate" | "upload") | (() => "confirm" | "operate" | "upload") | ((new (...args: any[]) => "confirm" | "operate" | "upload") | (() => "confirm" | "operate" | "upload"))[], unknown, unknown>;
@@ -97,7 +104,6 @@ export declare const LlTreeSearch: import("ll-plus/es/utils").SFCWithInstall<imp
97
104
  emits: ((event: "close") => void) & ((event: "select", selectedKeys: string[], e: Event) => void) & ((event: "ok") => void) & ((event: "cancel") => void) & ((event: "expand", expandedKeys: string[], data: any) => void) & ((event: "clickAdd") => void);
98
105
  isCollapseMenu: import("vue").Ref<boolean>;
99
106
  newExpandedKeys: import("vue").Ref<string[]>;
100
- searchValue: import("vue").Ref<string>;
101
107
  bem: {
102
108
  b: (blockSuffix?: string) => string;
103
109
  e: (element?: string) => string;
@@ -147,7 +153,6 @@ export declare const LlTreeSearch: import("ll-plus/es/utils").SFCWithInstall<imp
147
153
  readonly onClick?: ((e: Event) => any) | undefined;
148
154
  } & {}>;
149
155
  emits: (event: "click", e: Event) => void;
150
- searchValue: import("vue").Ref<string>;
151
156
  bem: {
152
157
  b: (blockSuffix?: string) => string;
153
158
  e: (element?: string) => string;
@@ -158,9 +163,9 @@ export declare const LlTreeSearch: import("ll-plus/es/utils").SFCWithInstall<imp
158
163
  bem: (blockSuffix: string, element: string, modifier: string) => string;
159
164
  is: (name?: string) => string;
160
165
  };
161
- handleInputChange: () => void;
166
+ handleInputChange: (e: any) => void;
162
167
  handleClick: (e: Event) => void;
163
- throttleInputChange: import("lodash").DebouncedFunc<() => void>;
168
+ throttleInputChange: import("lodash").DebouncedFunc<(e: any) => void>;
164
169
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
165
170
  click: (e: Event) => boolean;
166
171
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
@@ -308,6 +313,12 @@ export declare const LlTreeSearch: import("ll-plus/es/utils").SFCWithInstall<imp
308
313
  expand: (expandedKeys: string[], data: any) => string[];
309
314
  select: (selectedKeys: string[], e: Event) => string[];
310
315
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
316
+ readonly searchValue: {
317
+ readonly type: import("vue").PropType<string>;
318
+ readonly required: false;
319
+ readonly validator: ((val: unknown) => boolean) | undefined;
320
+ __epPropKey: true;
321
+ };
311
322
  readonly operateDropdownOpen: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
312
323
  readonly loading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
313
324
  readonly throttleTime: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
@@ -26,7 +26,6 @@ declare const _default: import("vue").DefineComponent<{
26
26
  readonly onClick?: ((e: Event) => any) | undefined;
27
27
  } & {}>;
28
28
  emits: (event: "click", e: Event) => void;
29
- searchValue: import("vue").Ref<string>;
30
29
  bem: {
31
30
  b: (blockSuffix?: string) => string;
32
31
  e: (element?: string) => string;
@@ -37,9 +36,9 @@ declare const _default: import("vue").DefineComponent<{
37
36
  bem: (blockSuffix: string, element: string, modifier: string) => string;
38
37
  is: (name?: string) => string;
39
38
  };
40
- handleInputChange: () => void;
39
+ handleInputChange: (e: any) => void;
41
40
  handleClick: (e: Event) => void;
42
- throttleInputChange: _.DebouncedFunc<() => void>;
41
+ throttleInputChange: _.DebouncedFunc<(e: any) => void>;
43
42
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
44
43
  click: (e: Event) => boolean;
45
44
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
@@ -18,10 +18,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
18
18
  setup(__props, { emit: __emit }) {
19
19
  const props = __props;
20
20
  const emits = __emit;
21
- const searchValue = vue.ref("");
22
21
  const bem = createNamespace.createNamespace("tree-search");
23
- const handleInputChange = () => {
24
- props.onSearchInputChange && props.onSearchInputChange(searchValue.value);
22
+ const handleInputChange = (e) => {
23
+ props.onSearchInputChange && props.onSearchInputChange(e.target.value);
25
24
  };
26
25
  const handleClick = (e) => emits("click", e);
27
26
  const throttleInputChange = _.throttle(handleInputChange, props.throttleTime);
@@ -37,8 +36,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
37
36
  [
38
37
  vue.createCommentVNode(" input "),
39
38
  vue.createVNode(_component_a_input, {
40
- value: searchValue.value,
41
- "onUpdate:value": _cache[0] || (_cache[0] = ($event) => searchValue.value = $event),
39
+ value: props.searchValue,
42
40
  placeholder: "\u8BF7\u8F93\u5165\u5173\u952E\u5B57",
43
41
  onChange: vue.unref(throttleInputChange)
44
42
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"header-search.vue2.js","sources":["../../../../../../packages/components/tree-search/src/components/header-search.vue"],"sourcesContent":["<template>\n <div :class=\"bem.e('header')\">\n <!-- input -->\n <a-input\n v-model:value=\"searchValue\"\n placeholder=\"请输入关键字\"\n @change=\"throttleInputChange\"\n >\n <template #prefix>\n <ll-icon icon-name=\"icon-search\" :class=\"bem.e('header-icon')\" />\n </template>\n </a-input>\n <!-- add -->\n <ll-button :class=\"`${bem.e('header-button')}`\" @click=\"handleClick\">\n <ll-icon icon-name=\"icon-add\" />\n </ll-button>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref } from 'vue'\n\nimport _ from 'lodash'\nimport { createNamespace } from '@ll-plus/utils'\nimport {\n treeSelectHeaderSearchProps,\n treeSelectHeaderSearchEmits\n} from '../config'\n\n// 1.defineOptions\ndefineOptions({ name: 'LlTreeSelectHeaderSearch' })\n\n// 2.props/emits\nconst props = defineProps(treeSelectHeaderSearchProps)\nconst emits = defineEmits(treeSelectHeaderSearchEmits)\n\n// 3.ref\nconst searchValue = ref('')\nconst bem = createNamespace('tree-search')\n\n// 4.methods\nconst handleInputChange = () => {\n props.onSearchInputChange && props.onSearchInputChange(searchValue.value)\n}\nconst handleClick = (e: Event) => emits('click', e)\n// 搜索菜单列表节流\nconst throttleInputChange = _.throttle(handleInputChange, props.throttleTime)\n</script>\n"],"names":["ref","createNamespace"],"mappings":";;;;;;;;;;;;;;;;;;AAiCA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAGd,IAAM,MAAA,WAAA,GAAcA,QAAI,EAAE,CAAA,CAAA;AAC1B,IAAM,MAAA,GAAA,GAAMC,gCAAgB,aAAa,CAAA,CAAA;AAGzC,IAAA,MAAM,oBAAoB,MAAM;AAC9B,MAAA,KAAA,CAAM,mBAAuB,IAAA,KAAA,CAAM,mBAAoB,CAAA,WAAA,CAAY,KAAK,CAAA,CAAA;AAAA,KAC1E,CAAA;AACA,IAAA,MAAM,WAAc,GAAA,CAAC,CAAa,KAAA,KAAA,CAAM,SAAS,CAAC,CAAA,CAAA;AAElD,IAAA,MAAM,mBAAsB,GAAA,CAAA,CAAE,QAAS,CAAA,iBAAA,EAAmB,MAAM,YAAY,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"header-search.vue2.js","sources":["../../../../../../packages/components/tree-search/src/components/header-search.vue"],"sourcesContent":["<template>\n <div :class=\"bem.e('header')\">\n <!-- input -->\n <a-input\n :value=\"props.searchValue\"\n placeholder=\"请输入关键字\"\n @change=\"throttleInputChange\"\n >\n <template #prefix>\n <ll-icon icon-name=\"icon-search\" :class=\"bem.e('header-icon')\" />\n </template>\n </a-input>\n <!-- add -->\n <ll-button :class=\"`${bem.e('header-button')}`\" @click=\"handleClick\">\n <ll-icon icon-name=\"icon-add\" />\n </ll-button>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport _ from 'lodash'\nimport { createNamespace } from '@ll-plus/utils'\nimport {\n treeSelectHeaderSearchProps,\n treeSelectHeaderSearchEmits\n} from '../config'\n\n// 1.defineOptions\ndefineOptions({ name: 'LlTreeSelectHeaderSearch' })\n\n// 2.props/emits\nconst props = defineProps(treeSelectHeaderSearchProps)\nconst emits = defineEmits(treeSelectHeaderSearchEmits)\n\n// 3.ref\n// const searchValue = ref('')\nconst bem = createNamespace('tree-search')\n\n// 4.methods\nconst handleInputChange = (e: any) => {\n props.onSearchInputChange && props.onSearchInputChange(e.target.value)\n}\nconst handleClick = (e: Event) => emits('click', e)\n// 搜索菜单列表节流\nconst throttleInputChange = _.throttle(handleInputChange, props.throttleTime)\n</script>\n"],"names":["createNamespace"],"mappings":";;;;;;;;;;;;;;;;;;AA+BA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAId,IAAM,MAAA,GAAA,GAAMA,gCAAgB,aAAa,CAAA,CAAA;AAGzC,IAAM,MAAA,iBAAA,GAAoB,CAAC,CAAW,KAAA;AACpC,MAAA,KAAA,CAAM,mBAAuB,IAAA,KAAA,CAAM,mBAAoB,CAAA,CAAA,CAAE,OAAO,KAAK,CAAA,CAAA;AAAA,KACvE,CAAA;AACA,IAAA,MAAM,WAAc,GAAA,CAAC,CAAa,KAAA,KAAA,CAAM,SAAS,CAAC,CAAA,CAAA;AAElD,IAAA,MAAM,mBAAsB,GAAA,CAAA,CAAE,QAAS,CAAA,iBAAA,EAAmB,MAAM,YAAY,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -3,6 +3,12 @@ import type TreeSearch from '../tree-search.vue';
3
3
  import { IOperateTreeFieldNames } from 'll-plus/es/components';
4
4
  export declare const treeSearchOperateWayType: readonly ["modal", "drawer", "none"];
5
5
  export declare const treeSearchProps: {
6
+ readonly searchValue: {
7
+ readonly type: import("vue").PropType<string>;
8
+ readonly required: false;
9
+ readonly validator: ((val: unknown) => boolean) | undefined;
10
+ __epPropKey: true;
11
+ };
6
12
  readonly operateDropdownOpen: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
7
13
  readonly loading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
8
14
  readonly throttleTime: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
@@ -7,6 +7,12 @@ var runtime = require('../../../../utils/props/runtime.js');
7
7
  "use strict";
8
8
  const treeSearchOperateWayType = ["modal", "drawer", "none"];
9
9
  const treeSearchProps = runtime.buildProps({
10
+ /**
11
+ * @description input的value
12
+ */
13
+ searchValue: {
14
+ type: String
15
+ },
10
16
  /**
11
17
  * @description tree-operate操作栏的下拉菜单是否打开(用于如果展开的话,tree-operate不用隐藏)
12
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tree-search.js","sources":["../../../../../../packages/components/tree-search/src/config/tree-search.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\nimport { THROTTLE_TIME } from '@ll-plus/constant'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type TreeSearch from '../tree-search.vue'\nimport {\n ModalProps,\n DrawerProps,\n IOperateTreeFieldNames\n} from '@ll-plus/components'\n\nexport const treeSearchOperateWayType = ['modal', 'drawer', 'none'] as const\n\nexport const treeSearchProps = buildProps({\n /**\n * @description tree-operate操作栏的下拉菜单是否打开(用于如果展开的话,tree-operate不用隐藏)\n */\n operateDropdownOpen: {\n type: Boolean,\n default: false\n },\n /**\n * @description loading\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * @description 节流延时\n */\n throttleTime: {\n type: Number,\n default: THROTTLE_TIME\n },\n /**\n * @description tree的数据\n */\n treeData: {\n type: definePropType<any[]>(Array),\n default: () => []\n },\n /**\n * @description 替换 treeNode 中 title,key,children 字段为 treeData 中对应的字段\n */\n fieldNames: {\n type: definePropType<IOperateTreeFieldNames>(Object),\n default: () => ({ children: 'children', title: 'title', key: 'key' })\n },\n /**\n * @description 弹窗是否可见\n */\n open: {\n type: Boolean,\n default: false\n },\n /**\n * @description 新增和编辑显示哪种弹窗(模态框/抽屉/自定义)\n */\n operateWay: {\n type: String,\n values: treeSearchOperateWayType,\n default: 'modal'\n },\n /**\n * @description LlModal的组件配置\n */\n modalConfigProps: {\n type: definePropType<ModalProps>(Object)\n },\n /**\n * @description LlDrawer的组件配置\n */\n drawerConfigProps: {\n type: definePropType<DrawerProps>(Object)\n },\n /**\n * @description tree展开的key\n */\n expandedKeys: {\n type: definePropType<string[]>(Array)\n },\n /**\n * @description 头部搜索change\n */\n onSearchInputChange: {\n type: Function,\n default: (v: string) => !!v\n }\n} as const)\n\n// 正确\nexport const treeSearchEmits = {\n clickAdd: () => true, // 点击头部新增按钮\n cancel: () => true, // 弹窗取消按钮事件\n ok: () => true, // 弹窗确定按钮事件\n close: () => true, // 弹窗的close\n expand: (expandedKeys: string[], data: any) => expandedKeys || data, // tree的expand\n select: (selectedKeys: string[], e: Event) => selectedKeys || e // tree的select\n}\n\nexport const treeSearchEmits1 = [\n 'cancel',\n 'cancel',\n 'ok',\n 'close',\n 'expand',\n 'select'\n]\n\n// props\nexport type TreeSearchOperateWayType = typeof treeSearchOperateWayType\nexport type TreeSearchProps = ExtractPropTypes<typeof treeSearchProps>\n\n// emits\nexport type TreeSearchEmits = typeof treeSearchEmits\n\n// instance\nexport type TreeSearchInstance = InstanceType<typeof TreeSearch>\n"],"names":["buildProps","THROTTLE_TIME","definePropType"],"mappings":";;;;;;;AAWO,MAAM,wBAA2B,GAAA,CAAC,OAAS,EAAA,QAAA,EAAU,MAAM,EAAA;AAE3D,MAAM,kBAAkBA,kBAAW,CAAA;AAAA;AAAA;AAAA;AAAA,EAIxC,mBAAqB,EAAA;AAAA,IACnB,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAAC,mBAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,QAAU,EAAA;AAAA,IACR,IAAA,EAAMC,uBAAsB,KAAK,CAAA;AAAA,IACjC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA;AAAA;AAAA;AAAA,EAIA,UAAY,EAAA;AAAA,IACV,IAAA,EAAMA,uBAAuC,MAAM,CAAA;AAAA,IACnD,OAAA,EAAS,OAAO,EAAE,QAAA,EAAU,YAAY,KAAO,EAAA,OAAA,EAAS,KAAK,KAAM,EAAA,CAAA;AAAA,GACrE;AAAA;AAAA;AAAA;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,MAAQ,EAAA,wBAAA;AAAA,IACR,OAAS,EAAA,OAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,gBAAkB,EAAA;AAAA,IAChB,IAAA,EAAMA,uBAA2B,MAAM,CAAA;AAAA,GACzC;AAAA;AAAA;AAAA;AAAA,EAIA,iBAAmB,EAAA;AAAA,IACjB,IAAA,EAAMA,uBAA4B,MAAM,CAAA;AAAA,GAC1C;AAAA;AAAA;AAAA;AAAA,EAIA,YAAc,EAAA;AAAA,IACZ,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,GACtC;AAAA;AAAA;AAAA;AAAA,EAIA,mBAAqB,EAAA;AAAA,IACnB,IAAM,EAAA,QAAA;AAAA,IACN,OAAS,EAAA,CAAC,CAAc,KAAA,CAAC,CAAC,CAAA;AAAA,GAC5B;AACF,CAAU,EAAA;AAGH,MAAM,eAAkB,GAAA;AAAA,EAC7B,UAAU,MAAM,IAAA;AAAA;AAAA,EAChB,QAAQ,MAAM,IAAA;AAAA;AAAA,EACd,IAAI,MAAM,IAAA;AAAA;AAAA,EACV,OAAO,MAAM,IAAA;AAAA;AAAA,EACb,MAAQ,EAAA,CAAC,YAAwB,EAAA,IAAA,KAAc,YAAgB,IAAA,IAAA;AAAA;AAAA,EAC/D,MAAQ,EAAA,CAAC,YAAwB,EAAA,CAAA,KAAa,YAAgB,IAAA,CAAA;AAAA;AAChE,EAAA;AAEO,MAAM,gBAAmB,GAAA;AAAA,EAC9B,QAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AACF;;;;;;;"}
1
+ {"version":3,"file":"tree-search.js","sources":["../../../../../../packages/components/tree-search/src/config/tree-search.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\nimport { THROTTLE_TIME } from '@ll-plus/constant'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type TreeSearch from '../tree-search.vue'\nimport {\n ModalProps,\n DrawerProps,\n IOperateTreeFieldNames\n} from '@ll-plus/components'\n\nexport const treeSearchOperateWayType = ['modal', 'drawer', 'none'] as const\n\nexport const treeSearchProps = buildProps({\n /**\n * @description input的value\n */\n searchValue: {\n type: String\n },\n /**\n * @description tree-operate操作栏的下拉菜单是否打开(用于如果展开的话,tree-operate不用隐藏)\n */\n operateDropdownOpen: {\n type: Boolean,\n default: false\n },\n /**\n * @description loading\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * @description 节流延时\n */\n throttleTime: {\n type: Number,\n default: THROTTLE_TIME\n },\n /**\n * @description tree的数据\n */\n treeData: {\n type: definePropType<any[]>(Array),\n default: () => []\n },\n /**\n * @description 替换 treeNode 中 title,key,children 字段为 treeData 中对应的字段\n */\n fieldNames: {\n type: definePropType<IOperateTreeFieldNames>(Object),\n default: () => ({ children: 'children', title: 'title', key: 'key' })\n },\n /**\n * @description 弹窗是否可见\n */\n open: {\n type: Boolean,\n default: false\n },\n /**\n * @description 新增和编辑显示哪种弹窗(模态框/抽屉/自定义)\n */\n operateWay: {\n type: String,\n values: treeSearchOperateWayType,\n default: 'modal'\n },\n /**\n * @description LlModal的组件配置\n */\n modalConfigProps: {\n type: definePropType<ModalProps>(Object)\n },\n /**\n * @description LlDrawer的组件配置\n */\n drawerConfigProps: {\n type: definePropType<DrawerProps>(Object)\n },\n /**\n * @description tree展开的key\n */\n expandedKeys: {\n type: definePropType<string[]>(Array)\n },\n /**\n * @description 头部搜索change\n */\n onSearchInputChange: {\n type: Function,\n default: (v: string) => !!v\n }\n} as const)\n\n// 正确\nexport const treeSearchEmits = {\n clickAdd: () => true, // 点击头部新增按钮\n cancel: () => true, // 弹窗取消按钮事件\n ok: () => true, // 弹窗确定按钮事件\n close: () => true, // 弹窗的close\n expand: (expandedKeys: string[], data: any) => expandedKeys || data, // tree的expand\n select: (selectedKeys: string[], e: Event) => selectedKeys || e // tree的select\n}\n\nexport const treeSearchEmits1 = [\n 'cancel',\n 'cancel',\n 'ok',\n 'close',\n 'expand',\n 'select'\n]\n\n// props\nexport type TreeSearchOperateWayType = typeof treeSearchOperateWayType\nexport type TreeSearchProps = ExtractPropTypes<typeof treeSearchProps>\n\n// emits\nexport type TreeSearchEmits = typeof treeSearchEmits\n\n// instance\nexport type TreeSearchInstance = InstanceType<typeof TreeSearch>\n"],"names":["buildProps","THROTTLE_TIME","definePropType"],"mappings":";;;;;;;AAWO,MAAM,wBAA2B,GAAA,CAAC,OAAS,EAAA,QAAA,EAAU,MAAM,EAAA;AAE3D,MAAM,kBAAkBA,kBAAW,CAAA;AAAA;AAAA;AAAA;AAAA,EAIxC,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,mBAAqB,EAAA;AAAA,IACnB,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAAC,mBAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,QAAU,EAAA;AAAA,IACR,IAAA,EAAMC,uBAAsB,KAAK,CAAA;AAAA,IACjC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA;AAAA;AAAA;AAAA,EAIA,UAAY,EAAA;AAAA,IACV,IAAA,EAAMA,uBAAuC,MAAM,CAAA;AAAA,IACnD,OAAA,EAAS,OAAO,EAAE,QAAA,EAAU,YAAY,KAAO,EAAA,OAAA,EAAS,KAAK,KAAM,EAAA,CAAA;AAAA,GACrE;AAAA;AAAA;AAAA;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,MAAQ,EAAA,wBAAA;AAAA,IACR,OAAS,EAAA,OAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,gBAAkB,EAAA;AAAA,IAChB,IAAA,EAAMA,uBAA2B,MAAM,CAAA;AAAA,GACzC;AAAA;AAAA;AAAA;AAAA,EAIA,iBAAmB,EAAA;AAAA,IACjB,IAAA,EAAMA,uBAA4B,MAAM,CAAA;AAAA,GAC1C;AAAA;AAAA;AAAA;AAAA,EAIA,YAAc,EAAA;AAAA,IACZ,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,GACtC;AAAA;AAAA;AAAA;AAAA,EAIA,mBAAqB,EAAA;AAAA,IACnB,IAAM,EAAA,QAAA;AAAA,IACN,OAAS,EAAA,CAAC,CAAc,KAAA,CAAC,CAAC,CAAA;AAAA,GAC5B;AACF,CAAU,EAAA;AAGH,MAAM,eAAkB,GAAA;AAAA,EAC7B,UAAU,MAAM,IAAA;AAAA;AAAA,EAChB,QAAQ,MAAM,IAAA;AAAA;AAAA,EACd,IAAI,MAAM,IAAA;AAAA;AAAA,EACV,OAAO,MAAM,IAAA;AAAA;AAAA,EACb,MAAQ,EAAA,CAAC,YAAwB,EAAA,IAAA,KAAc,YAAgB,IAAA,IAAA;AAAA;AAAA,EAC/D,MAAQ,EAAA,CAAC,YAAwB,EAAA,CAAA,KAAa,YAAgB,IAAA,CAAA;AAAA;AAChE,EAAA;AAEO,MAAM,gBAAmB,GAAA;AAAA,EAC9B,QAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AACF;;;;;;;"}
@@ -1,4 +1,10 @@
1
1
  declare const _default: import("vue").DefineComponent<{
2
+ readonly searchValue: {
3
+ readonly type: import("vue").PropType<string>;
4
+ readonly required: false;
5
+ readonly validator: ((val: unknown) => boolean) | undefined;
6
+ __epPropKey: true;
7
+ };
2
8
  readonly operateDropdownOpen: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
3
9
  readonly loading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
4
10
  readonly throttleTime: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
@@ -61,6 +67,7 @@ declare const _default: import("vue").DefineComponent<{
61
67
  readonly throttleTime: number;
62
68
  readonly onSearchInputChange: Function;
63
69
  readonly operateWay: import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "none" | "modal" | "drawer", unknown>;
70
+ readonly searchValue?: string | undefined;
64
71
  readonly expandedKeys?: string[] | undefined;
65
72
  readonly modalConfigProps?: {
66
73
  readonly type: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => "confirm" | "operate" | "upload") | (() => "confirm" | "operate" | "upload") | ((new (...args: any[]) => "confirm" | "operate" | "upload") | (() => "confirm" | "operate" | "upload"))[], unknown, unknown>;
@@ -96,7 +103,6 @@ declare const _default: import("vue").DefineComponent<{
96
103
  emits: ((event: "close") => void) & ((event: "select", selectedKeys: string[], e: Event) => void) & ((event: "ok") => void) & ((event: "cancel") => void) & ((event: "expand", expandedKeys: string[], data: any) => void) & ((event: "clickAdd") => void);
97
104
  isCollapseMenu: import("vue").Ref<boolean>;
98
105
  newExpandedKeys: import("vue").Ref<string[]>;
99
- searchValue: import("vue").Ref<string>;
100
106
  bem: {
101
107
  b: (blockSuffix?: string) => string;
102
108
  e: (element?: string) => string;
@@ -146,7 +152,6 @@ declare const _default: import("vue").DefineComponent<{
146
152
  readonly onClick?: ((e: Event) => any) | undefined;
147
153
  } & {}>;
148
154
  emits: (event: "click", e: Event) => void;
149
- searchValue: import("vue").Ref<string>;
150
155
  bem: {
151
156
  b: (blockSuffix?: string) => string;
152
157
  e: (element?: string) => string;
@@ -157,9 +162,9 @@ declare const _default: import("vue").DefineComponent<{
157
162
  bem: (blockSuffix: string, element: string, modifier: string) => string;
158
163
  is: (name?: string) => string;
159
164
  };
160
- handleInputChange: () => void;
165
+ handleInputChange: (e: any) => void;
161
166
  handleClick: (e: Event) => void;
162
- throttleInputChange: import("lodash").DebouncedFunc<() => void>;
167
+ throttleInputChange: import("lodash").DebouncedFunc<(e: any) => void>;
163
168
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
164
169
  click: (e: Event) => boolean;
165
170
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
@@ -307,6 +312,12 @@ declare const _default: import("vue").DefineComponent<{
307
312
  expand: (expandedKeys: string[], data: any) => string[];
308
313
  select: (selectedKeys: string[], e: Event) => string[];
309
314
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
315
+ readonly searchValue: {
316
+ readonly type: import("vue").PropType<string>;
317
+ readonly required: false;
318
+ readonly validator: ((val: unknown) => boolean) | undefined;
319
+ __epPropKey: true;
320
+ };
310
321
  readonly operateDropdownOpen: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
311
322
  readonly loading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
312
323
  readonly throttleTime: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
@@ -23,7 +23,6 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
23
23
  const emits = __emit;
24
24
  const isCollapseMenu = vue.ref(false);
25
25
  const newExpandedKeys = vue.ref([]);
26
- const searchValue = vue.ref("");
27
26
  const bem = createNamespace.createNamespace("tree-search");
28
27
  const attrs = vue.useAttrs();
29
28
  const getTreeDataKeys = (children) => {
@@ -50,8 +49,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
50
49
  }
51
50
  };
52
51
  const handleSearchInputChange = (v) => {
53
- searchValue.value = v;
54
- props.onSearchInputChange && props.onSearchInputChange(searchValue.value);
52
+ props.onSearchInputChange && props.onSearchInputChange(v);
55
53
  };
56
54
  const handleClickAddBtn = () => emits("clickAdd");
57
55
  const handleTreeExpand = (expandedKeys, data) => {
@@ -86,7 +84,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
86
84
  vue.createCommentVNode(" \u5934\u90E8\u641C\u7D22 "),
87
85
  vue.createVNode(headerSearch.default, {
88
86
  "throttle-time": _ctx.throttleTime,
89
- "search-value": searchValue.value,
87
+ "search-value": _ctx.searchValue,
90
88
  "on-search-input-change": handleSearchInputChange,
91
89
  onClick: handleClickAddBtn
92
90
  }, null, 8, ["throttle-time", "search-value"]),
@@ -1 +1 @@
1
- {"version":3,"file":"tree-search.vue2.js","sources":["../../../../../packages/components/tree-search/src/tree-search.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <!-- 头部搜索 -->\n <header-search\n :throttle-time=\"throttleTime\"\n :search-value=\"searchValue\"\n :on-search-input-change=\"handleSearchInputChange\"\n @click=\"handleClickAddBtn\"\n />\n <!-- 目录标题 -->\n <directory-title\n :is-collapse-menu=\"isCollapseMenu\"\n @collapse-menu=\"handleCollapseMenu\"\n />\n <!-- operate-tree -->\n <ll-operate-tree\n v-bind=\"attrs\"\n :operate-dropdown-open=\"operateDropdownOpen\"\n :loading=\"loading\"\n :field-names=\"fieldNames\"\n :tree-data=\"treeData\"\n :expanded-keys=\"newExpandedKeys\"\n @expand=\"handleTreeExpand\"\n @select=\"handleTreeSelect\"\n >\n <!-- switcher-icon-slots -->\n <template #switcherIcon=\"slots\">\n <slot name=\"switcherIcon\" v-bind=\"slots\" />\n </template>\n <!-- icon-slots -->\n <template #icon=\"slots\">\n <slot name=\"icon\" v-bind=\"slots\" />\n </template>\n <!-- title-slots -->\n <template #treeTitle=\"slots\">\n <slot name=\"treeTitle\" v-bind=\"slots\" />\n </template>\n <!-- operate-slot -->\n <template #treeOperate=\"slots\">\n <slot name=\"treeOperate\" v-bind=\"slots.data\" />\n </template>\n <!-- empty-slot -->\n <template #empty>\n <slot name=\"empty\" />\n </template>\n </ll-operate-tree>\n <!-- 操作出现的方式 -->\n <!-- 模态框 -->\n <template v-if=\"operateWay === 'modal'\">\n <ll-modal\n v-bind=\"modalConfigProps\"\n :open=\"open\"\n @ok=\"handleClickOkBtn\"\n @cancel=\"handleClickCancelBtn\"\n >\n <slot name=\"operateBoxContent\" />\n </ll-modal>\n </template>\n <!-- 抽屉 -->\n <template v-else-if=\"operateWay === 'drawer'\">\n <ll-drawer\n v-bind=\"drawerConfigProps\"\n :open=\"open\"\n @confirm=\"handleClickOkBtn\"\n @cancel=\"handleClickCancelBtn\"\n @close=\"handleClickCloseBtn\"\n >\n <slot name=\"operateBoxContent\" />\n <template #footer-left>\n <slot name=\"drawerFooterLeft\" />\n </template>\n </ll-drawer>\n </template>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { ref, useAttrs, watch } from 'vue'\n\nimport { createNamespace } from '@ll-plus/utils'\nimport { treeSearchProps, treeSearchEmits } from './config'\n\nimport HeaderSearch from './components/header-search.vue'\nimport DirectoryTitle from './components/directory-title.vue'\nimport { LlOperateTree } from '@ll-plus/components'\n\n// 1.defineOptions\ndefineOptions({ name: 'LlTreeSearch' })\n\n// 2.props/emits\nconst props = defineProps(treeSearchProps)\nconst emits = defineEmits(treeSearchEmits)\n\n// 3.ref\n// 是否收起/展开\nconst isCollapseMenu = ref(false)\nconst newExpandedKeys = ref<string[]>([])\n// 输入框内容\nconst searchValue = ref('')\nconst bem = createNamespace('tree-search')\n\n// 4.hooks\nconst attrs = useAttrs()\n\n// 5.methods\n// 获取所有树的keys\nconst getTreeDataKeys = (children: any[]) => {\n const keys: any[] = []\n const getKeys = (children: any[]) => {\n if (children) {\n children.forEach(item => {\n keys.push(item[props.fieldNames!['key']!])\n if (item[props.fieldNames!['children']!]) {\n getKeys(item[props.fieldNames!['children']!])\n }\n })\n }\n }\n getKeys(children)\n return keys\n}\nconst handleCollapseMenu = () => {\n isCollapseMenu.value = !isCollapseMenu.value\n if (isCollapseMenu.value) {\n newExpandedKeys.value = getTreeDataKeys(props.treeData!)\n } else {\n newExpandedKeys.value = []\n }\n}\n// 输入框内容change\nconst handleSearchInputChange = (v: string) => {\n searchValue.value = v\n props.onSearchInputChange && props.onSearchInputChange(searchValue.value)\n}\n// 点击头部add\nconst handleClickAddBtn = () => emits('clickAdd')\n// 树展开\nconst handleTreeExpand = (expandedKeys: string[], data: any) => {\n emits('expand', expandedKeys, data)\n}\n// 树节点选择\nconst handleTreeSelect = (keys: string[], e: any) => {\n emits('select', keys, e)\n}\n// 点击弹窗的ok按钮\nconst handleClickOkBtn = () => emits('ok')\n// 点击弹窗的cacel按钮\nconst handleClickCancelBtn = () => emits('cancel')\n// 点击抽屉的x\nconst handleClickCloseBtn = () => emits('close')\n\n// 6.watch\n// 如果有数据并且输入框有内容则展开\nwatch(\n () => props.expandedKeys,\n keys => {\n if (keys) {\n newExpandedKeys.value = keys\n }\n },\n {\n deep: true\n }\n)\n</script>\n"],"names":["ref","createNamespace","useAttrs","children","watch"],"mappings":"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"}
1
+ {"version":3,"file":"tree-search.vue2.js","sources":["../../../../../packages/components/tree-search/src/tree-search.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <!-- 头部搜索 -->\n <header-search\n :throttle-time=\"throttleTime\"\n :search-value=\"searchValue\"\n :on-search-input-change=\"handleSearchInputChange\"\n @click=\"handleClickAddBtn\"\n />\n <!-- 目录标题 -->\n <directory-title\n :is-collapse-menu=\"isCollapseMenu\"\n @collapse-menu=\"handleCollapseMenu\"\n />\n <!-- operate-tree -->\n <ll-operate-tree\n v-bind=\"attrs\"\n :operate-dropdown-open=\"operateDropdownOpen\"\n :loading=\"loading\"\n :field-names=\"fieldNames\"\n :tree-data=\"treeData\"\n :expanded-keys=\"newExpandedKeys\"\n @expand=\"handleTreeExpand\"\n @select=\"handleTreeSelect\"\n >\n <!-- switcher-icon-slots -->\n <template #switcherIcon=\"slots\">\n <slot name=\"switcherIcon\" v-bind=\"slots\" />\n </template>\n <!-- icon-slots -->\n <template #icon=\"slots\">\n <slot name=\"icon\" v-bind=\"slots\" />\n </template>\n <!-- title-slots -->\n <template #treeTitle=\"slots\">\n <slot name=\"treeTitle\" v-bind=\"slots\" />\n </template>\n <!-- operate-slot -->\n <template #treeOperate=\"slots\">\n <slot name=\"treeOperate\" v-bind=\"slots.data\" />\n </template>\n <!-- empty-slot -->\n <template #empty>\n <slot name=\"empty\" />\n </template>\n </ll-operate-tree>\n <!-- 操作出现的方式 -->\n <!-- 模态框 -->\n <template v-if=\"operateWay === 'modal'\">\n <ll-modal\n v-bind=\"modalConfigProps\"\n :open=\"open\"\n @ok=\"handleClickOkBtn\"\n @cancel=\"handleClickCancelBtn\"\n >\n <slot name=\"operateBoxContent\" />\n </ll-modal>\n </template>\n <!-- 抽屉 -->\n <template v-else-if=\"operateWay === 'drawer'\">\n <ll-drawer\n v-bind=\"drawerConfigProps\"\n :open=\"open\"\n @confirm=\"handleClickOkBtn\"\n @cancel=\"handleClickCancelBtn\"\n @close=\"handleClickCloseBtn\"\n >\n <slot name=\"operateBoxContent\" />\n <template #footer-left>\n <slot name=\"drawerFooterLeft\" />\n </template>\n </ll-drawer>\n </template>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { ref, useAttrs, watch } from 'vue'\n\nimport { createNamespace } from '@ll-plus/utils'\nimport { treeSearchProps, treeSearchEmits } from './config'\n\nimport HeaderSearch from './components/header-search.vue'\nimport DirectoryTitle from './components/directory-title.vue'\nimport { LlOperateTree } from '@ll-plus/components'\n\n// 1.defineOptions\ndefineOptions({ name: 'LlTreeSearch' })\n\n// 2.props/emits\nconst props = defineProps(treeSearchProps)\nconst emits = defineEmits(treeSearchEmits)\n\n// 3.ref\n// 是否收起/展开\nconst isCollapseMenu = ref(false)\nconst newExpandedKeys = ref<string[]>([])\n// 输入框内容\n// const searchValue = ref('')\nconst bem = createNamespace('tree-search')\n\n// 4.hooks\nconst attrs = useAttrs()\n\n// 5.methods\n// 获取所有树的keys\nconst getTreeDataKeys = (children: any[]) => {\n const keys: any[] = []\n const getKeys = (children: any[]) => {\n if (children) {\n children.forEach(item => {\n keys.push(item[props.fieldNames!['key']!])\n if (item[props.fieldNames!['children']!]) {\n getKeys(item[props.fieldNames!['children']!])\n }\n })\n }\n }\n getKeys(children)\n return keys\n}\nconst handleCollapseMenu = () => {\n isCollapseMenu.value = !isCollapseMenu.value\n if (isCollapseMenu.value) {\n newExpandedKeys.value = getTreeDataKeys(props.treeData!)\n } else {\n newExpandedKeys.value = []\n }\n}\n// 输入框内容change\nconst handleSearchInputChange = (v: string) => {\n props.onSearchInputChange && props.onSearchInputChange(v)\n}\n// 点击头部add\nconst handleClickAddBtn = () => emits('clickAdd')\n// 树展开\nconst handleTreeExpand = (expandedKeys: string[], data: any) => {\n emits('expand', expandedKeys, data)\n}\n// 树节点选择\nconst handleTreeSelect = (keys: string[], e: any) => {\n emits('select', keys, e)\n}\n// 点击弹窗的ok按钮\nconst handleClickOkBtn = () => emits('ok')\n// 点击弹窗的cacel按钮\nconst handleClickCancelBtn = () => emits('cancel')\n// 点击抽屉的x\nconst handleClickCloseBtn = () => emits('close')\n\n// 6.watch\n// 如果有数据并且输入框有内容则展开\nwatch(\n () => props.expandedKeys,\n keys => {\n if (keys) {\n newExpandedKeys.value = keys\n }\n },\n {\n deep: true\n }\n)\n</script>\n"],"names":["ref","createNamespace","useAttrs","children","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAyFA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAId,IAAM,MAAA,cAAA,GAAiBA,QAAI,KAAK,CAAA,CAAA;AAChC,IAAM,MAAA,eAAA,GAAkBA,OAAc,CAAA,EAAE,CAAA,CAAA;AAGxC,IAAM,MAAA,GAAA,GAAMC,gCAAgB,aAAa,CAAA,CAAA;AAGzC,IAAA,MAAM,QAAQC,YAAS,EAAA,CAAA;AAIvB,IAAM,MAAA,eAAA,GAAkB,CAAC,QAAoB,KAAA;AAC3C,MAAA,MAAM,OAAc,EAAC,CAAA;AACrB,MAAM,MAAA,OAAA,GAAU,CAACC,SAAoB,KAAA;AACnC,QAAA,IAAIA,SAAU,EAAA;AACZ,UAAAA,SAAAA,CAAS,QAAQ,CAAQ,IAAA,KAAA;AACvB,YAAA,IAAA,CAAK,KAAK,IAAK,CAAA,KAAA,CAAM,UAAY,CAAA,KAAK,CAAE,CAAC,CAAA,CAAA;AACzC,YAAA,IAAI,IAAK,CAAA,KAAA,CAAM,UAAY,CAAA,UAAU,CAAE,CAAG,EAAA;AACxC,cAAA,OAAA,CAAQ,IAAK,CAAA,KAAA,CAAM,UAAY,CAAA,UAAU,CAAE,CAAC,CAAA,CAAA;AAAA,aAC9C;AAAA,WACD,CAAA,CAAA;AAAA,SACH;AAAA,OACF,CAAA;AACA,MAAA,OAAA,CAAQ,QAAQ,CAAA,CAAA;AAChB,MAAO,OAAA,IAAA,CAAA;AAAA,KACT,CAAA;AACA,IAAA,MAAM,qBAAqB,MAAM;AAC/B,MAAe,cAAA,CAAA,KAAA,GAAQ,CAAC,cAAe,CAAA,KAAA,CAAA;AACvC,MAAA,IAAI,eAAe,KAAO,EAAA;AACxB,QAAgB,eAAA,CAAA,KAAA,GAAQ,eAAgB,CAAA,KAAA,CAAM,QAAS,CAAA,CAAA;AAAA,OAClD,MAAA;AACL,QAAA,eAAA,CAAgB,QAAQ,EAAC,CAAA;AAAA,OAC3B;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,uBAAA,GAA0B,CAAC,CAAc,KAAA;AAC7C,MAAM,KAAA,CAAA,mBAAA,IAAuB,KAAM,CAAA,mBAAA,CAAoB,CAAC,CAAA,CAAA;AAAA,KAC1D,CAAA;AAEA,IAAM,MAAA,iBAAA,GAAoB,MAAM,KAAA,CAAM,UAAU,CAAA,CAAA;AAEhD,IAAM,MAAA,gBAAA,GAAmB,CAAC,YAAA,EAAwB,IAAc,KAAA;AAC9D,MAAM,KAAA,CAAA,QAAA,EAAU,cAAc,IAAI,CAAA,CAAA;AAAA,KACpC,CAAA;AAEA,IAAM,MAAA,gBAAA,GAAmB,CAAC,IAAA,EAAgB,CAAW,KAAA;AACnD,MAAM,KAAA,CAAA,QAAA,EAAU,MAAM,CAAC,CAAA,CAAA;AAAA,KACzB,CAAA;AAEA,IAAM,MAAA,gBAAA,GAAmB,MAAM,KAAA,CAAM,IAAI,CAAA,CAAA;AAEzC,IAAM,MAAA,oBAAA,GAAuB,MAAM,KAAA,CAAM,QAAQ,CAAA,CAAA;AAEjD,IAAM,MAAA,mBAAA,GAAsB,MAAM,KAAA,CAAM,OAAO,CAAA,CAAA;AAI/C,IAAAC,SAAA;AAAA,MACE,MAAM,KAAM,CAAA,YAAA;AAAA,MACZ,CAAQ,IAAA,KAAA;AACN,QAAA,IAAI,IAAM,EAAA;AACR,UAAA,eAAA,CAAgB,KAAQ,GAAA,IAAA,CAAA;AAAA,SAC1B;AAAA,OACF;AAAA,MACA;AAAA,QACE,IAAM,EAAA,IAAA;AAAA,OACR;AAAA,KACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,6 @@
1
1
  export declare const LlUploadImage: import("ll-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
2
2
  readonly value: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown, readonly [], boolean>;
3
+ readonly imgLoading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
3
4
  readonly iconName: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "icon-add", boolean>;
4
5
  readonly maxCount: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
5
6
  readonly accept: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ".jpg,.png,.jpeg,.svg", boolean>;
@@ -24,6 +25,7 @@ export declare const LlUploadImage: import("ll-plus/es/utils").SFCWithInstall<im
24
25
  readonly prototype: any;
25
26
  })[], unknown, unknown, () => void, boolean>;
26
27
  }, {
28
+ loading: import("vue").Ref<boolean>;
27
29
  props: import("@vue/shared").LooseRequired<{
28
30
  readonly value: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown>;
29
31
  readonly accept: string;
@@ -40,6 +42,7 @@ export declare const LlUploadImage: import("ll-plus/es/utils").SFCWithInstall<im
40
42
  readonly maxCount: number;
41
43
  readonly tip: import("ll-plus/es/utils").EpPropMergeType<readonly [StringConstructor, BooleanConstructor], unknown, unknown>;
42
44
  readonly iconName: string;
45
+ readonly imgLoading: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
43
46
  readonly imgSize: number;
44
47
  readonly onChange?: ((value: string | string[]) => any) | undefined;
45
48
  readonly "onUpdate:value"?: ((value: string | string[]) => any) | undefined;
@@ -77,6 +80,7 @@ export declare const LlUploadImage: import("ll-plus/es/utils").SFCWithInstall<im
77
80
  readonly 'update:value': (value: string | string[]) => boolean;
78
81
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
79
82
  readonly value: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown, readonly [], boolean>;
83
+ readonly imgLoading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
80
84
  readonly iconName: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "icon-add", boolean>;
81
85
  readonly maxCount: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
82
86
  readonly accept: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ".jpg,.png,.jpeg,.svg", boolean>;
@@ -119,6 +123,7 @@ export declare const LlUploadImage: import("ll-plus/es/utils").SFCWithInstall<im
119
123
  readonly maxCount: number;
120
124
  readonly tip: import("ll-plus/es/utils").EpPropMergeType<readonly [StringConstructor, BooleanConstructor], unknown, unknown>;
121
125
  readonly iconName: string;
126
+ readonly imgLoading: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
122
127
  readonly imgSize: number;
123
128
  }, {}>>;
124
129
  export default LlUploadImage;
@@ -4,6 +4,7 @@ import type { UploadRequestOption } from 'ant-design-vue/es/vc-upload/interface.
4
4
  import type UploadImage from './upload-image.vue';
5
5
  export declare const uploadImageProps: {
6
6
  readonly value: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown, readonly [], boolean>;
7
+ readonly imgLoading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
7
8
  readonly iconName: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "icon-add", boolean>;
8
9
  readonly maxCount: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
9
10
  readonly accept: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ".jpg,.png,.jpeg,.svg", boolean>;
@@ -9,6 +9,10 @@ const uploadImageProps = runtime.buildProps({
9
9
  type: runtime.definePropType([String, Array]),
10
10
  default: []
11
11
  },
12
+ imgLoading: {
13
+ type: Boolean,
14
+ default: false
15
+ },
12
16
  iconName: {
13
17
  type: String,
14
18
  default: "icon-add"
@@ -1 +1 @@
1
- {"version":3,"file":"upload-image.js","sources":["../../../../../packages/components/upload-image/src/upload-image.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\n\nimport type {\n UploadProps,\n FileType\n} from 'ant-design-vue/es/upload/interface.d.ts'\n\nimport type { UploadRequestOption } from 'ant-design-vue/es/vc-upload/interface.d.ts'\n\nimport type UploadImage from './upload-image.vue'\n\nexport const uploadImageProps = buildProps({\n value: {\n type: definePropType<string | string[]>([String, Array]),\n default: []\n },\n iconName: {\n type: String,\n default: 'icon-add'\n },\n maxCount: {\n type: Number,\n default: 1\n },\n accept: {\n type: String,\n default: '.jpg,.png,.jpeg,.svg'\n },\n imgSize: {\n type: Number,\n default: 2 * 1024 * 1024\n },\n tip: {\n type: [String, Boolean],\n default: true\n },\n beforeUpload: {\n type: definePropType<UploadProps['beforeUpload']>(Function),\n default: () => true\n },\n customRequest: {\n type: definePropType<\n (options: UploadRequestOption, base64: string) => void\n >(Function),\n default: (): void => {}\n }\n} as const)\n\nexport const uploadImageEmits = {\n change: (value: string | string[]) => !!value,\n 'update:value': (value: string | string[]) => !!value\n} as const\n\nexport type RcFileType = FileType\n\nexport type RcUploadRequestOption = UploadRequestOption\n\nexport type RcUploadProps = UploadProps\n\n// props\nexport type UploadImageProps = ExtractPropTypes<typeof uploadImageProps>\n\n// emits\nexport type UploadImageEmits = typeof uploadImageEmits\n\n// instance\nexport type UploadImageInstance = InstanceType<typeof UploadImage>\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;AAaO,MAAM,mBAAmBA,kBAAW,CAAA;AAAA,EACzC,KAAO,EAAA;AAAA,IACL,IAAM,EAAAC,sBAAA,CAAkC,CAAC,MAAA,EAAQ,KAAK,CAAC,CAAA;AAAA,IACvD,SAAS,EAAC;AAAA,GACZ;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,UAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,CAAA;AAAA,GACX;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,sBAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,OAAA,EAAS,IAAI,IAAO,GAAA,IAAA;AAAA,GACtB;AAAA,EACA,GAAK,EAAA;AAAA,IACH,IAAA,EAAM,CAAC,MAAA,EAAQ,OAAO,CAAA;AAAA,IACtB,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAA,EAAMA,uBAA4C,QAAQ,CAAA;AAAA,IAC1D,SAAS,MAAM,IAAA;AAAA,GACjB;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAA,EAAMA,uBAEJ,QAAQ,CAAA;AAAA,IACV,SAAS,MAAY;AAAA,KAAC;AAAA,GACxB;AACF,CAAU,EAAA;AAEH,MAAM,gBAAmB,GAAA;AAAA,EAC9B,MAAQ,EAAA,CAAC,KAA6B,KAAA,CAAC,CAAC,KAAA;AAAA,EACxC,cAAgB,EAAA,CAAC,KAA6B,KAAA,CAAC,CAAC,KAAA;AAClD;;;;;"}
1
+ {"version":3,"file":"upload-image.js","sources":["../../../../../packages/components/upload-image/src/upload-image.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\n\nimport type {\n UploadProps,\n FileType\n} from 'ant-design-vue/es/upload/interface.d.ts'\n\nimport type { UploadRequestOption } from 'ant-design-vue/es/vc-upload/interface.d.ts'\n\nimport type UploadImage from './upload-image.vue'\n\nexport const uploadImageProps = buildProps({\n value: {\n type: definePropType<string | string[]>([String, Array]),\n default: []\n },\n imgLoading: {\n type: Boolean,\n default: false\n },\n iconName: {\n type: String,\n default: 'icon-add'\n },\n maxCount: {\n type: Number,\n default: 1\n },\n accept: {\n type: String,\n default: '.jpg,.png,.jpeg,.svg'\n },\n imgSize: {\n type: Number,\n default: 2 * 1024 * 1024\n },\n tip: {\n type: [String, Boolean],\n default: true\n },\n beforeUpload: {\n type: definePropType<UploadProps['beforeUpload']>(Function),\n default: () => true\n },\n customRequest: {\n type: definePropType<\n (options: UploadRequestOption, base64: string) => void\n >(Function),\n default: (): void => {}\n }\n} as const)\n\nexport const uploadImageEmits = {\n change: (value: string | string[]) => !!value,\n 'update:value': (value: string | string[]) => !!value\n} as const\n\nexport type RcFileType = FileType\n\nexport type RcUploadRequestOption = UploadRequestOption\n\nexport type RcUploadProps = UploadProps\n\n// props\nexport type UploadImageProps = ExtractPropTypes<typeof uploadImageProps>\n\n// emits\nexport type UploadImageEmits = typeof uploadImageEmits\n\n// instance\nexport type UploadImageInstance = InstanceType<typeof UploadImage>\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;AAaO,MAAM,mBAAmBA,kBAAW,CAAA;AAAA,EACzC,KAAO,EAAA;AAAA,IACL,IAAM,EAAAC,sBAAA,CAAkC,CAAC,MAAA,EAAQ,KAAK,CAAC,CAAA;AAAA,IACvD,SAAS,EAAC;AAAA,GACZ;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,UAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,CAAA;AAAA,GACX;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,sBAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,OAAA,EAAS,IAAI,IAAO,GAAA,IAAA;AAAA,GACtB;AAAA,EACA,GAAK,EAAA;AAAA,IACH,IAAA,EAAM,CAAC,MAAA,EAAQ,OAAO,CAAA;AAAA,IACtB,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAA,EAAMA,uBAA4C,QAAQ,CAAA;AAAA,IAC1D,SAAS,MAAM,IAAA;AAAA,GACjB;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAA,EAAMA,uBAEJ,QAAQ,CAAA;AAAA,IACV,SAAS,MAAY;AAAA,KAAC;AAAA,GACxB;AACF,CAAU,EAAA;AAEH,MAAM,gBAAmB,GAAA;AAAA,EAC9B,MAAQ,EAAA,CAAC,KAA6B,KAAA,CAAC,CAAC,KAAA;AAAA,EACxC,cAAgB,EAAA,CAAC,KAA6B,KAAA,CAAC,CAAC,KAAA;AAClD;;;;;"}
@@ -1,6 +1,7 @@
1
1
  import type { FileType } from 'ant-design-vue/es/upload/interface.d.ts';
2
2
  declare const _default: import("vue").DefineComponent<{
3
3
  readonly value: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown, readonly [], boolean>;
4
+ readonly imgLoading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
4
5
  readonly iconName: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "icon-add", boolean>;
5
6
  readonly maxCount: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
6
7
  readonly accept: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ".jpg,.png,.jpeg,.svg", boolean>;
@@ -25,6 +26,7 @@ declare const _default: import("vue").DefineComponent<{
25
26
  readonly prototype: any;
26
27
  })[], unknown, unknown, () => void, boolean>;
27
28
  }, {
29
+ loading: import("vue").Ref<boolean>;
28
30
  props: import("@vue/shared").LooseRequired<{
29
31
  readonly value: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown>;
30
32
  readonly accept: string;
@@ -41,6 +43,7 @@ declare const _default: import("vue").DefineComponent<{
41
43
  readonly maxCount: number;
42
44
  readonly tip: import("ll-plus/es/utils").EpPropMergeType<readonly [StringConstructor, BooleanConstructor], unknown, unknown>;
43
45
  readonly iconName: string;
46
+ readonly imgLoading: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
44
47
  readonly imgSize: number;
45
48
  readonly onChange?: ((value: string | string[]) => any) | undefined;
46
49
  readonly "onUpdate:value"?: ((value: string | string[]) => any) | undefined;
@@ -78,6 +81,7 @@ declare const _default: import("vue").DefineComponent<{
78
81
  readonly 'update:value': (value: string | string[]) => boolean;
79
82
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
80
83
  readonly value: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown, readonly [], boolean>;
84
+ readonly imgLoading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
81
85
  readonly iconName: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "icon-add", boolean>;
82
86
  readonly maxCount: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
83
87
  readonly accept: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ".jpg,.png,.jpeg,.svg", boolean>;
@@ -120,6 +124,7 @@ declare const _default: import("vue").DefineComponent<{
120
124
  readonly maxCount: number;
121
125
  readonly tip: import("ll-plus/es/utils").EpPropMergeType<readonly [StringConstructor, BooleanConstructor], unknown, unknown>;
122
126
  readonly iconName: string;
127
+ readonly imgLoading: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
123
128
  readonly imgSize: number;
124
129
  }, {}>;
125
130
  export default _default;