@pungfe/element 0.0.1-alpha.28 → 0.0.1-alpha.29

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 (258) hide show
  1. package/README.md +151 -143
  2. package/dist/advance-CYfRZGwy.js +1892 -0
  3. package/dist/advance-DoIe6XpY.cjs +1 -0
  4. package/dist/advance.cjs +1 -0
  5. package/dist/advance.d.ts +23 -0
  6. package/dist/advance.js +2 -0
  7. package/dist/basic-BfqwJFE_.cjs +1 -0
  8. package/dist/basic-CZ74BN1R.js +1006 -0
  9. package/dist/basic.cjs +1 -0
  10. package/dist/basic.d.ts +33 -0
  11. package/dist/basic.js +2 -0
  12. package/dist/{types/src/components → components}/advance/XButtonAsync.vue.d.ts +1 -1
  13. package/dist/{types/src/components → components}/advance/XButtonConfirm.vue.d.ts +1 -1
  14. package/dist/{types/src/components → components}/advance/XCascaderRequest.vue.d.ts +2 -2
  15. package/dist/{types/src/components → components}/advance/XFormFlex.vue.d.ts +1 -1
  16. package/dist/{types/src/components → components}/advance/XFormRequestNext.vue.d.ts +1 -1
  17. package/dist/{types/src/components → components}/advance/XRequest.vue.d.ts +1 -1
  18. package/dist/{types/src/components → components}/advance/XSelectRequest.vue.d.ts +5 -5
  19. package/dist/{types/src/components → components}/advance/XTableFlex.vue.d.ts +1 -1
  20. package/dist/{types/src/components → components}/advance/XTableRequestConfigNext.vue.d.ts +2 -2
  21. package/dist/{types/src/components → components}/advance/XTableRequestNext.vue.d.ts +3 -3
  22. package/dist/{types/src/components → components}/advance/XUploadOssNext.vue.d.ts +1 -1
  23. package/dist/{types/src/components → components}/basic/DatePicker.vue.d.ts +3 -3
  24. package/dist/{types/src/components → components}/basic/Input.vue.d.ts +4 -4
  25. package/dist/{types/src/components → components}/basic/Select.vue.d.ts +4 -4
  26. package/dist/{types/src/components → components}/basic/Tabs.vue.d.ts +1 -1
  27. package/dist/{types/src/constants → constants}/index.d.ts +2 -2
  28. package/dist/index.cjs +1 -0
  29. package/dist/index.d.ts +4 -0
  30. package/dist/index.js +25 -0
  31. package/dist/{types/src/install.d.ts → install.d.ts} +2 -2
  32. package/dist/{es/zh-cn-Bkn9hgF7.js → locales-CPrLlnob.js} +200 -8
  33. package/dist/locales-fS7f5AIx.cjs +1 -0
  34. package/dist/locales.cjs +1 -0
  35. package/dist/locales.d.ts +2 -0
  36. package/dist/locales.js +2 -0
  37. package/dist/{cjs/resolver.cjs → resolver.cjs} +1 -2
  38. package/dist/{es/resolver.js → resolver.js} +1 -3
  39. package/dist/style.css +3 -0
  40. package/dist/types.d.ts +30 -0
  41. package/package.json +120 -105
  42. package/dist/cjs/Button-8c-6EPNG.cjs +0 -2
  43. package/dist/cjs/Button-8c-6EPNG.cjs.map +0 -1
  44. package/dist/cjs/Button.cjs +0 -1
  45. package/dist/cjs/Cascader-CwDh-TjU.cjs +0 -2
  46. package/dist/cjs/Cascader-CwDh-TjU.cjs.map +0 -1
  47. package/dist/cjs/Cascader.cjs +0 -1
  48. package/dist/cjs/Checkbox-CNcwptzq.cjs +0 -2
  49. package/dist/cjs/Checkbox-CNcwptzq.cjs.map +0 -1
  50. package/dist/cjs/Checkbox.cjs +0 -1
  51. package/dist/cjs/ConfigProvider-CyWiC5MP.cjs +0 -2
  52. package/dist/cjs/ConfigProvider-CyWiC5MP.cjs.map +0 -1
  53. package/dist/cjs/ConfigProvider.cjs +0 -1
  54. package/dist/cjs/DatePicker-pKtnPDXe.cjs +0 -2
  55. package/dist/cjs/DatePicker-pKtnPDXe.cjs.map +0 -1
  56. package/dist/cjs/DatePicker.cjs +0 -1
  57. package/dist/cjs/Dialog-BQzqL743.cjs +0 -2
  58. package/dist/cjs/Dialog-BQzqL743.cjs.map +0 -1
  59. package/dist/cjs/Dialog.cjs +0 -1
  60. package/dist/cjs/Form-DKzgN4am.cjs +0 -2
  61. package/dist/cjs/Form-DKzgN4am.cjs.map +0 -1
  62. package/dist/cjs/Form.cjs +0 -1
  63. package/dist/cjs/FormItem-BSXNuWjn.cjs +0 -2
  64. package/dist/cjs/FormItem-BSXNuWjn.cjs.map +0 -1
  65. package/dist/cjs/FormItem.cjs +0 -1
  66. package/dist/cjs/Input-Bnp7Ap0P.cjs +0 -2
  67. package/dist/cjs/Input-Bnp7Ap0P.cjs.map +0 -1
  68. package/dist/cjs/Input.cjs +0 -1
  69. package/dist/cjs/InputNumber-Ddow_hhd.cjs +0 -2
  70. package/dist/cjs/InputNumber-Ddow_hhd.cjs.map +0 -1
  71. package/dist/cjs/InputNumber.cjs +0 -1
  72. package/dist/cjs/Pagination-Cy3Y08FK.cjs +0 -2
  73. package/dist/cjs/Pagination-Cy3Y08FK.cjs.map +0 -1
  74. package/dist/cjs/Pagination.cjs +0 -1
  75. package/dist/cjs/Select-QOHpdjtL.cjs +0 -2
  76. package/dist/cjs/Select-QOHpdjtL.cjs.map +0 -1
  77. package/dist/cjs/Select.cjs +0 -1
  78. package/dist/cjs/TabPane-C2gWO5xN.cjs +0 -2
  79. package/dist/cjs/TabPane-C2gWO5xN.cjs.map +0 -1
  80. package/dist/cjs/TabPane.cjs +0 -1
  81. package/dist/cjs/Table-B3zf7ybj.cjs +0 -2
  82. package/dist/cjs/Table-B3zf7ybj.cjs.map +0 -1
  83. package/dist/cjs/Table.cjs +0 -1
  84. package/dist/cjs/Tabs-CQcXRrGf.cjs +0 -2
  85. package/dist/cjs/Tabs-CQcXRrGf.cjs.map +0 -1
  86. package/dist/cjs/Tabs.cjs +0 -1
  87. package/dist/cjs/Upload-Cw1DMO7y.cjs +0 -2
  88. package/dist/cjs/Upload-Cw1DMO7y.cjs.map +0 -1
  89. package/dist/cjs/Upload.cjs +0 -1
  90. package/dist/cjs/XButtonAsync-DxB_iRpa.cjs +0 -2
  91. package/dist/cjs/XButtonAsync-DxB_iRpa.cjs.map +0 -1
  92. package/dist/cjs/XButtonAsync.cjs +0 -1
  93. package/dist/cjs/XButtonConfirm-DMcr5_5A.cjs +0 -2
  94. package/dist/cjs/XButtonConfirm-DMcr5_5A.cjs.map +0 -1
  95. package/dist/cjs/XButtonConfirm.cjs +0 -1
  96. package/dist/cjs/XCascaderRequest-DKW_m3MY.cjs +0 -2
  97. package/dist/cjs/XCascaderRequest-DKW_m3MY.cjs.map +0 -1
  98. package/dist/cjs/XCascaderRequest.cjs +0 -1
  99. package/dist/cjs/XFormFlex-CAxHuPZj.cjs +0 -2
  100. package/dist/cjs/XFormFlex-CAxHuPZj.cjs.map +0 -1
  101. package/dist/cjs/XFormFlex.cjs +0 -1
  102. package/dist/cjs/XFormRequestNext-zfjnyv2v.cjs +0 -2
  103. package/dist/cjs/XFormRequestNext-zfjnyv2v.cjs.map +0 -1
  104. package/dist/cjs/XFormRequestNext.cjs +0 -1
  105. package/dist/cjs/XRequest-BNDHllWT.cjs +0 -2
  106. package/dist/cjs/XRequest-BNDHllWT.cjs.map +0 -1
  107. package/dist/cjs/XRequest.cjs +0 -1
  108. package/dist/cjs/XSelectRequest-B0uan46l.cjs +0 -2
  109. package/dist/cjs/XSelectRequest-B0uan46l.cjs.map +0 -1
  110. package/dist/cjs/XSelectRequest.cjs +0 -1
  111. package/dist/cjs/XTableFlex-D8d713CD.cjs +0 -2
  112. package/dist/cjs/XTableFlex-D8d713CD.cjs.map +0 -1
  113. package/dist/cjs/XTableFlex.cjs +0 -1
  114. package/dist/cjs/XTableRequestConfigNext.cjs +0 -1
  115. package/dist/cjs/XTableRequestNext.cjs +0 -1
  116. package/dist/cjs/XUploadOssNext-D174wiQw.cjs +0 -2
  117. package/dist/cjs/XUploadOssNext-D174wiQw.cjs.map +0 -1
  118. package/dist/cjs/XUploadOssNext.cjs +0 -1
  119. package/dist/cjs/advance-CXQH0k0U.cjs +0 -2
  120. package/dist/cjs/advance-CXQH0k0U.cjs.map +0 -1
  121. package/dist/cjs/advance.cjs +0 -1
  122. package/dist/cjs/basic-CKVDAV8Q.cjs +0 -2
  123. package/dist/cjs/basic-CKVDAV8Q.cjs.map +0 -1
  124. package/dist/cjs/constants-CYUPXiMy.cjs +0 -2
  125. package/dist/cjs/constants-CYUPXiMy.cjs.map +0 -1
  126. package/dist/cjs/dist-Dgq63FPm.cjs +0 -2
  127. package/dist/cjs/dist-Dgq63FPm.cjs.map +0 -1
  128. package/dist/cjs/element.css +0 -3
  129. package/dist/cjs/en-Da0_dekZ.cjs +0 -2
  130. package/dist/cjs/en-Da0_dekZ.cjs.map +0 -1
  131. package/dist/cjs/en.cjs +0 -1
  132. package/dist/cjs/index.cjs +0 -2
  133. package/dist/cjs/index.cjs.map +0 -1
  134. package/dist/cjs/index2.cjs +0 -1
  135. package/dist/cjs/resolver.cjs.map +0 -1
  136. package/dist/cjs/style.cjs +0 -1
  137. package/dist/cjs/zh-cn-CF-yyg2O.cjs +0 -2
  138. package/dist/cjs/zh-cn-CF-yyg2O.cjs.map +0 -1
  139. package/dist/cjs/zh-cn.cjs +0 -1
  140. package/dist/es/Button-DSKisAgZ.js +0 -40
  141. package/dist/es/Button-DSKisAgZ.js.map +0 -1
  142. package/dist/es/Button.js +0 -2
  143. package/dist/es/Cascader-Df1d0rtN.js +0 -55
  144. package/dist/es/Cascader-Df1d0rtN.js.map +0 -1
  145. package/dist/es/Cascader.js +0 -2
  146. package/dist/es/Checkbox-C5Z0Dqkx.js +0 -46
  147. package/dist/es/Checkbox-C5Z0Dqkx.js.map +0 -1
  148. package/dist/es/Checkbox.js +0 -2
  149. package/dist/es/ConfigProvider-Dd3Oqqvf.js +0 -17
  150. package/dist/es/ConfigProvider-Dd3Oqqvf.js.map +0 -1
  151. package/dist/es/ConfigProvider.js +0 -2
  152. package/dist/es/DatePicker-xJSFLg0Y.js +0 -70
  153. package/dist/es/DatePicker-xJSFLg0Y.js.map +0 -1
  154. package/dist/es/DatePicker.js +0 -2
  155. package/dist/es/Dialog-BvMeOAU9.js +0 -63
  156. package/dist/es/Dialog-BvMeOAU9.js.map +0 -1
  157. package/dist/es/Dialog.js +0 -2
  158. package/dist/es/Form-V7_olGHq.js +0 -52
  159. package/dist/es/Form-V7_olGHq.js.map +0 -1
  160. package/dist/es/Form.js +0 -2
  161. package/dist/es/FormItem-DCMMnSQO.js +0 -46
  162. package/dist/es/FormItem-DCMMnSQO.js.map +0 -1
  163. package/dist/es/FormItem.js +0 -2
  164. package/dist/es/Input-CQvLBbzQ.js +0 -86
  165. package/dist/es/Input-CQvLBbzQ.js.map +0 -1
  166. package/dist/es/Input.js +0 -2
  167. package/dist/es/InputNumber-DxMf5l3F.js +0 -70
  168. package/dist/es/InputNumber-DxMf5l3F.js.map +0 -1
  169. package/dist/es/InputNumber.js +0 -2
  170. package/dist/es/Pagination-BJEeN66O.js +0 -54
  171. package/dist/es/Pagination-BJEeN66O.js.map +0 -1
  172. package/dist/es/Pagination.js +0 -2
  173. package/dist/es/Select-BHgPcMvn.js +0 -120
  174. package/dist/es/Select-BHgPcMvn.js.map +0 -1
  175. package/dist/es/Select.js +0 -2
  176. package/dist/es/TabPane-B_fsTqWm.js +0 -34
  177. package/dist/es/TabPane-B_fsTqWm.js.map +0 -1
  178. package/dist/es/TabPane.js +0 -2
  179. package/dist/es/Table-Dz_FhW7c.js +0 -112
  180. package/dist/es/Table-Dz_FhW7c.js.map +0 -1
  181. package/dist/es/Table.js +0 -2
  182. package/dist/es/Tabs-COmnZvj1.js +0 -42
  183. package/dist/es/Tabs-COmnZvj1.js.map +0 -1
  184. package/dist/es/Tabs.js +0 -2
  185. package/dist/es/Upload-B9QtDZhT.js +0 -79
  186. package/dist/es/Upload-B9QtDZhT.js.map +0 -1
  187. package/dist/es/Upload.js +0 -2
  188. package/dist/es/XButtonAsync-DN6-j4VG.js +0 -46
  189. package/dist/es/XButtonAsync-DN6-j4VG.js.map +0 -1
  190. package/dist/es/XButtonAsync.js +0 -2
  191. package/dist/es/XButtonConfirm-D8UkJz_d.js +0 -64
  192. package/dist/es/XButtonConfirm-D8UkJz_d.js.map +0 -1
  193. package/dist/es/XButtonConfirm.js +0 -2
  194. package/dist/es/XCascaderRequest-Bsvfwf28.js +0 -54
  195. package/dist/es/XCascaderRequest-Bsvfwf28.js.map +0 -1
  196. package/dist/es/XCascaderRequest.js +0 -2
  197. package/dist/es/XFormFlex-CeKL-p1x.js +0 -36
  198. package/dist/es/XFormFlex-CeKL-p1x.js.map +0 -1
  199. package/dist/es/XFormFlex.js +0 -2
  200. package/dist/es/XFormRequestNext-ClKFsdRJ.js +0 -60
  201. package/dist/es/XFormRequestNext-ClKFsdRJ.js.map +0 -1
  202. package/dist/es/XFormRequestNext.js +0 -2
  203. package/dist/es/XRequest-qctTVADK.js +0 -47
  204. package/dist/es/XRequest-qctTVADK.js.map +0 -1
  205. package/dist/es/XRequest.js +0 -2
  206. package/dist/es/XSelectRequest-eDF112KU.js +0 -86
  207. package/dist/es/XSelectRequest-eDF112KU.js.map +0 -1
  208. package/dist/es/XSelectRequest.js +0 -2
  209. package/dist/es/XTableFlex-IiKO2YNg.js +0 -76
  210. package/dist/es/XTableFlex-IiKO2YNg.js.map +0 -1
  211. package/dist/es/XTableFlex.js +0 -2
  212. package/dist/es/XTableRequestConfigNext.js +0 -2
  213. package/dist/es/XTableRequestNext.js +0 -2
  214. package/dist/es/XUploadOssNext-yBI5Peoe.js +0 -70
  215. package/dist/es/XUploadOssNext-yBI5Peoe.js.map +0 -1
  216. package/dist/es/XUploadOssNext.js +0 -2
  217. package/dist/es/advance-9IP8swna.js +0 -1468
  218. package/dist/es/advance-9IP8swna.js.map +0 -1
  219. package/dist/es/advance.js +0 -11
  220. package/dist/es/basic-DvQGCOl7.js +0 -46
  221. package/dist/es/basic-DvQGCOl7.js.map +0 -1
  222. package/dist/es/constants-C_Llxhb6.js +0 -6
  223. package/dist/es/constants-C_Llxhb6.js.map +0 -1
  224. package/dist/es/dist-DQ3VOl3T.js +0 -151
  225. package/dist/es/dist-DQ3VOl3T.js.map +0 -1
  226. package/dist/es/element.css +0 -3
  227. package/dist/es/en-sGHBfmHX.js +0 -197
  228. package/dist/es/en-sGHBfmHX.js.map +0 -1
  229. package/dist/es/en.js +0 -2
  230. package/dist/es/index.js +0 -47
  231. package/dist/es/index.js.map +0 -1
  232. package/dist/es/index2.js +0 -3
  233. package/dist/es/resolver.js.map +0 -1
  234. package/dist/es/style.js +0 -0
  235. package/dist/es/zh-cn-Bkn9hgF7.js.map +0 -1
  236. package/dist/es/zh-cn.js +0 -2
  237. package/dist/types/src/advance.d.ts +0 -1
  238. package/dist/types/src/components/advance.d.ts +0 -38
  239. package/dist/types/src/components/basic.d.ts +0 -33
  240. package/dist/types/src/index.d.ts +0 -6
  241. package/dist/types/src/locales/index.d.ts +0 -2
  242. package/dist/types/src/style.d.ts +0 -0
  243. package/dist/types/src/types.d.ts +0 -57
  244. package/dist/{types/src/components → components}/basic/Button.vue.d.ts +0 -0
  245. package/dist/{types/src/components → components}/basic/Cascader.vue.d.ts +0 -0
  246. package/dist/{types/src/components → components}/basic/Checkbox.vue.d.ts +4 -4
  247. package/dist/{types/src/components → components}/basic/ConfigProvider.vue.d.ts +0 -0
  248. package/dist/{types/src/components → components}/basic/Dialog.vue.d.ts +0 -0
  249. package/dist/{types/src/components → components}/basic/Form.vue.d.ts +0 -0
  250. package/dist/{types/src/components → components}/basic/FormItem.vue.d.ts +0 -0
  251. package/dist/{types/src/components → components}/basic/InputNumber.vue.d.ts +4 -4
  252. /package/dist/{types/src/components → components}/basic/Pagination.vue.d.ts +0 -0
  253. /package/dist/{types/src/components → components}/basic/TabPane.vue.d.ts +0 -0
  254. /package/dist/{types/src/components → components}/basic/Table.vue.d.ts +0 -0
  255. /package/dist/{types/src/components → components}/basic/Upload.vue.d.ts +0 -0
  256. /package/dist/{types/src/locales → locales}/en.d.ts +0 -0
  257. /package/dist/{types/src/locales → locales}/zh-cn.d.ts +0 -0
  258. /package/dist/{types/src/resolver.d.ts → resolver.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"Table-Dz_FhW7c.js","names":[],"sources":["../../src/components/basic/Table.vue","../../src/components/basic/Table.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"D\">\r\nimport type { TableColumnCtx, TableProps } from 'element-plus'\r\nimport type { CSSProperties, VNode, VNodeChild } from 'vue'\r\n\r\nimport { ElConfigProvider, ElTable, ElTableColumn, useLocale } from 'element-plus'\r\nimport { defineComponent, inject, provide, useTemplateRef } from 'vue'\r\n\r\nimport { X_ELEMENT_CONFIG, X_ELEMENT_IN_TABLE, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XTableConfig {\r\n /**\r\n * 是否隐藏额外内容并在单元格悬停时使用 Tooltip 显示它们。这将影响全部列的展示\r\n * @default false\r\n */\r\n showOverflowTooltip?: boolean\r\n border?: boolean\r\n}\r\n\r\nexport interface XTableColumnProps<D> {\r\n content?: (scope: { index: number, row: D }) => VNodeChild\r\n fixed?: 'left' | 'right'\r\n header?: (scope: { column: XTableColumnProps<D> }) => VNodeChild\r\n label?: string\r\n prop?: string\r\n selectable?: (row: D, index: number) => boolean\r\n type?: 'index' | 'selection'\r\n width?: number\r\n columnKey?: string\r\n}\r\n\r\nexport interface XTableProps<D> {\r\n border?: TableProps<any>['border']\r\n cellClassName?: ((scope: { column: TableColumnCtx, columnIndex: number, row: D, rowIndex: number }) => string) | string\r\n cellStyle?: ((scope: { column: TableColumnCtx, columnIndex: number, row: D, rowIndex: number }) => CSSProperties) | CSSProperties\r\n columns?: XTableColumnProps<D>[]\r\n data?: D[]\r\n height?: TableProps<any>['height']\r\n emptyText?: TableProps<any>['emptyText']\r\n rowClassName?: ((scope: { row: D, rowIndex: number }) => string) | string\r\n rowStyle?: ((scope: { row: D, rowIndex: number }) => CSSProperties) | CSSProperties\r\n rowKey?: (scope: { row: D }) => string\r\n showOverflowTooltip?: TableProps<any>['showOverflowTooltip']\r\n showSummary?: TableProps<any>['showSummary']\r\n size?: TableProps<any>['size']\r\n fit?: TableProps<any>['fit']\r\n spanMethod?: (scope: { column: TableColumnCtx, columnIndex: number, row: D, rowIndex: number }) => number[] | undefined | { colspan: number, rowspan: number }\r\n summaryMethod?: (scope: { columns: TableColumnCtx[], data: D[] }) => (string | VNode)[]\r\n}\r\n\r\nexport interface XTableEvents<D> {\r\n headerDragend: [newWidth: number, oldWidth: number, column: TableColumnCtx]\r\n rowClick: [row: D]\r\n rowDblclick: [row: D]\r\n selectionChange: [rows: D[]]\r\n}\r\n\r\nconst { columns, data, showOverflowTooltip = undefined, border = undefined, fit = true } = defineProps<XTableProps<D>>()\r\nconst emit = defineEmits<XTableEvents<D>>()\r\nconst config = inject(X_ELEMENT_CONFIG)\r\nconst tableConfig = config?.table\r\n\r\nconst locale = inject(X_LOCALE_CONFIG, undefined)\r\nconst { t } = useLocale(locale)\r\n\r\nconst table = useTemplateRef('table')\r\n\r\ndefineExpose({\r\n clearSelection: () => table.value?.clearSelection(),\r\n getSelectionRows: () => table.value?.getSelectionRows(),\r\n scrollTo: (options: number | ScrollToOptions, yCoord?: number) => table.value?.scrollTo(options, yCoord),\r\n setCurrentRow: (row: D) => table.value?.setCurrentRow(row),\r\n setScrollLeft: (left: number) => table.value?.scrollTo(left),\r\n setScrollTop: (top: number) => table.value?.scrollTo(top),\r\n toggleRowSelection: (row: D, selected?: boolean, ignoreSelectable?: boolean) => table.value?.toggleRowSelection(row, selected, ignoreSelectable)\r\n})\r\n\r\nprovide(X_ELEMENT_IN_TABLE, true)\r\n\r\nconst XTableColumn = defineComponent((props: XTableColumnProps<D>) => {\r\n return () => (\r\n <ElTableColumn\r\n fixed={props.fixed}\r\n label={props.label}\r\n prop={props.prop}\r\n type={props.type}\r\n width={props.width}\r\n columnKey={props.columnKey}\r\n selectable={props.selectable}\r\n >\r\n {{\r\n default: ({ row, $index }: { row: D, $index: number }) => props.content?.({ row, index: $index }),\r\n header: () => props.header?.({ column: { ...props } })\r\n }}\r\n </ElTableColumn>\r\n )\r\n}, { props: ['content', 'fixed', 'header', 'label', 'prop', 'selectable', 'type', 'width'] })\r\n</script>\r\n\r\n<template>\r\n <ElConfigProvider :locale=\"locale\">\r\n <ElTable\r\n ref=\"table\"\r\n v-bind=\"{\r\n data,\r\n height,\r\n rowClassName,\r\n rowStyle,\r\n cellClassName,\r\n cellStyle,\r\n showSummary,\r\n showOverflowTooltip,\r\n spanMethod,\r\n summaryMethod,\r\n size,\r\n fit,\r\n rowKey,\r\n border: border ?? tableConfig?.border,\r\n emptyText: emptyText ?? t('el.table.emptyText'),\r\n }\"\r\n @row-click=\"(row: D) => emit('rowClick', row)\"\r\n @row-dblclick=\"(row: D) => emit('rowDblclick', row)\"\r\n @selection-change=\"(rows: D[]) => emit('selectionChange', rows)\"\r\n @header-dragend=\"(newWidth, oldWidth, column) => emit('headerDragend', newWidth, oldWidth, column)\"\r\n >\r\n <XTableColumn\r\n v-for=\"column of columns\"\r\n v-bind=\"column\"\r\n />\r\n </ElTable>\r\n </ElConfigProvider>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"D\">\r\nimport type { TableColumnCtx, TableProps } from 'element-plus'\r\nimport type { CSSProperties, VNode, VNodeChild } from 'vue'\r\n\r\nimport { ElConfigProvider, ElTable, ElTableColumn, useLocale } from 'element-plus'\r\nimport { defineComponent, inject, provide, useTemplateRef } from 'vue'\r\n\r\nimport { X_ELEMENT_CONFIG, X_ELEMENT_IN_TABLE, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XTableConfig {\r\n /**\r\n * 是否隐藏额外内容并在单元格悬停时使用 Tooltip 显示它们。这将影响全部列的展示\r\n * @default false\r\n */\r\n showOverflowTooltip?: boolean\r\n border?: boolean\r\n}\r\n\r\nexport interface XTableColumnProps<D> {\r\n content?: (scope: { index: number, row: D }) => VNodeChild\r\n fixed?: 'left' | 'right'\r\n header?: (scope: { column: XTableColumnProps<D> }) => VNodeChild\r\n label?: string\r\n prop?: string\r\n selectable?: (row: D, index: number) => boolean\r\n type?: 'index' | 'selection'\r\n width?: number\r\n columnKey?: string\r\n}\r\n\r\nexport interface XTableProps<D> {\r\n border?: TableProps<any>['border']\r\n cellClassName?: ((scope: { column: TableColumnCtx, columnIndex: number, row: D, rowIndex: number }) => string) | string\r\n cellStyle?: ((scope: { column: TableColumnCtx, columnIndex: number, row: D, rowIndex: number }) => CSSProperties) | CSSProperties\r\n columns?: XTableColumnProps<D>[]\r\n data?: D[]\r\n height?: TableProps<any>['height']\r\n emptyText?: TableProps<any>['emptyText']\r\n rowClassName?: ((scope: { row: D, rowIndex: number }) => string) | string\r\n rowStyle?: ((scope: { row: D, rowIndex: number }) => CSSProperties) | CSSProperties\r\n rowKey?: (scope: { row: D }) => string\r\n showOverflowTooltip?: TableProps<any>['showOverflowTooltip']\r\n showSummary?: TableProps<any>['showSummary']\r\n size?: TableProps<any>['size']\r\n fit?: TableProps<any>['fit']\r\n spanMethod?: (scope: { column: TableColumnCtx, columnIndex: number, row: D, rowIndex: number }) => number[] | undefined | { colspan: number, rowspan: number }\r\n summaryMethod?: (scope: { columns: TableColumnCtx[], data: D[] }) => (string | VNode)[]\r\n}\r\n\r\nexport interface XTableEvents<D> {\r\n headerDragend: [newWidth: number, oldWidth: number, column: TableColumnCtx]\r\n rowClick: [row: D]\r\n rowDblclick: [row: D]\r\n selectionChange: [rows: D[]]\r\n}\r\n\r\nconst { columns, data, showOverflowTooltip = undefined, border = undefined, fit = true } = defineProps<XTableProps<D>>()\r\nconst emit = defineEmits<XTableEvents<D>>()\r\nconst config = inject(X_ELEMENT_CONFIG)\r\nconst tableConfig = config?.table\r\n\r\nconst locale = inject(X_LOCALE_CONFIG, undefined)\r\nconst { t } = useLocale(locale)\r\n\r\nconst table = useTemplateRef('table')\r\n\r\ndefineExpose({\r\n clearSelection: () => table.value?.clearSelection(),\r\n getSelectionRows: () => table.value?.getSelectionRows(),\r\n scrollTo: (options: number | ScrollToOptions, yCoord?: number) => table.value?.scrollTo(options, yCoord),\r\n setCurrentRow: (row: D) => table.value?.setCurrentRow(row),\r\n setScrollLeft: (left: number) => table.value?.scrollTo(left),\r\n setScrollTop: (top: number) => table.value?.scrollTo(top),\r\n toggleRowSelection: (row: D, selected?: boolean, ignoreSelectable?: boolean) => table.value?.toggleRowSelection(row, selected, ignoreSelectable)\r\n})\r\n\r\nprovide(X_ELEMENT_IN_TABLE, true)\r\n\r\nconst XTableColumn = defineComponent((props: XTableColumnProps<D>) => {\r\n return () => (\r\n <ElTableColumn\r\n fixed={props.fixed}\r\n label={props.label}\r\n prop={props.prop}\r\n type={props.type}\r\n width={props.width}\r\n columnKey={props.columnKey}\r\n selectable={props.selectable}\r\n >\r\n {{\r\n default: ({ row, $index }: { row: D, $index: number }) => props.content?.({ row, index: $index }),\r\n header: () => props.header?.({ column: { ...props } })\r\n }}\r\n </ElTableColumn>\r\n )\r\n}, { props: ['content', 'fixed', 'header', 'label', 'prop', 'selectable', 'type', 'width'] })\r\n</script>\r\n\r\n<template>\r\n <ElConfigProvider :locale=\"locale\">\r\n <ElTable\r\n ref=\"table\"\r\n v-bind=\"{\r\n data,\r\n height,\r\n rowClassName,\r\n rowStyle,\r\n cellClassName,\r\n cellStyle,\r\n showSummary,\r\n showOverflowTooltip,\r\n spanMethod,\r\n summaryMethod,\r\n size,\r\n fit,\r\n rowKey,\r\n border: border ?? tableConfig?.border,\r\n emptyText: emptyText ?? t('el.table.emptyText'),\r\n }\"\r\n @row-click=\"(row: D) => emit('rowClick', row)\"\r\n @row-dblclick=\"(row: D) => emit('rowDblclick', row)\"\r\n @selection-change=\"(rows: D[]) => emit('selectionChange', rows)\"\r\n @header-dragend=\"(newWidth, oldWidth, column) => emit('headerDragend', newWidth, oldWidth, column)\"\r\n >\r\n <XTableColumn\r\n v-for=\"column of columns\"\r\n v-bind=\"column\"\r\n />\r\n </ElTable>\r\n </ElConfigProvider>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyDA,IAAM,IAAO,GAEP,IADS,EAAO,EAAiB,EACX,OAEtB,IAAS,EAAO,GAAiB,KAAA,EAAU,EAC3C,EAAE,SAAM,EAAU,EAAO,EAEzB,IAAQ,EAAe,QAAQ;AAYrC,EAVA,EAAa;GACX,sBAAsB,EAAM,OAAO,gBAAgB;GACnD,wBAAwB,EAAM,OAAO,kBAAkB;GACvD,WAAW,GAAmC,MAAoB,EAAM,OAAO,SAAS,GAAS,EAAO;GACxG,gBAAgB,MAAW,EAAM,OAAO,cAAc,EAAI;GAC1D,gBAAgB,MAAiB,EAAM,OAAO,SAAS,EAAK;GAC5D,eAAe,MAAgB,EAAM,OAAO,SAAS,EAAI;GACzD,qBAAqB,GAAQ,GAAoB,MAA+B,EAAM,OAAO,mBAAmB,GAAK,GAAU,EAAgB;GAChJ,CAAC,EAEF,EAAQ,GAAoB,GAAK;EAEjC,IAAM,IAAe,mBAAiB,YAC7B,EAAA,GAAA;GAAA,OAEI,EAAM;GAAK,OACX,EAAM;GAAK,MACZ,EAAM;GAAI,MACV,EAAM;GAAI,OACT,EAAM;GAAK,WACP,EAAM;GAAS,YACd,EAAM;GAAU,EAAA;GAG1B,UAAU,EAAE,QAAK,gBAAyC,EAAM,UAAU;IAAE;IAAK,OAAO;IAAQ,CAAC;GACjG,cAAc,EAAM,SAAS,EAAE,QAAQ,EAAE,GAAG,GAAM,EAAG,CAAA;GAAC,CAG3D,EACA,EAAE,OAAO;GAAC;GAAW;GAAS;GAAU;GAAS;GAAQ;GAAc;GAAQ;GAAO,EAAG,CAAC;yBAI3F,EA8BmB,EAAA,EAAA,EAAA,EA9BA,QAAQ,EAAA,EAAA,EAAM,EAAA;oBA6BrB,CA5BV,EA4BU,EAAA,EAAA,EA5BV,EA4BU;aA3BJ;IAAJ,KAAI;;UACe,EAAA;YAAe,EAAA;kBAAiB,EAAA;cAAuB,EAAA;mBAAmB,EAAA;eAAwB,EAAA;iBAAoB,EAAA;yBAAsB,EAAA;gBAA8B,EAAA;mBAAqB,EAAA;UAAwB,EAAA;SAAe,EAAA;YAAc,EAAA;YAAyB,EAAA,UAAU,EAAA,EAAW,EAAE;eAA4B,EAAA,aAAa,EAAA,EAAC,CAAA,qBAAA;;IAiBhW,YAAS,AAAA,EAAA,QAAG,MAAW,EAAI,YAAa,EAAG;IAC3C,eAAY,AAAA,EAAA,QAAG,MAAW,EAAI,eAAgB,EAAG;IACjD,mBAAgB,AAAA,EAAA,QAAG,MAAc,EAAI,mBAAoB,EAAI;IAC7D,iBAAc,AAAA,EAAA,QAAG,GAAU,GAAU,MAAW,EAAI,iBAAkB,GAAU,GAAU,EAAM;;qBAGtE,EAAA,EAAA,GAAA,EAD3B,EAGE,GAAA,MAAA,EAFiB,EAAA,UAAV,YADT,EAGE,EAAA,EAAA,EAHF,EAGE,EAAA,SAAA,IAAA,EADQ,EAAM,EAAA,MAAA,GAAA"}
package/dist/es/Table.js DELETED
@@ -1,2 +0,0 @@
1
- import { t as e } from "./Table-Dz_FhW7c.js";
2
- export { e as default };
@@ -1,42 +0,0 @@
1
- import { i as e } from "./dist-DQ3VOl3T.js";
2
- import { a as t, u as n } from "./constants-C_Llxhb6.js";
3
- import { ElTabs as r } from "element-plus";
4
- import { createBlock as i, defineComponent as a, mergeModels as o, mergeProps as s, openBlock as c, provide as l, renderSlot as u, unref as d, useModel as f, withCtx as p } from "vue";
5
- //#endregion
6
- //#region src/components/basic/Tabs.vue
7
- var m = /* @__PURE__ */ a({
8
- __name: "Tabs",
9
- props: /* @__PURE__ */ o({
10
- addable: { type: Boolean },
11
- editable: { type: Boolean },
12
- tabPosition: {},
13
- type: {}
14
- }, {
15
- modelValue: {},
16
- modelModifiers: {}
17
- }),
18
- emits: /* @__PURE__ */ o(["change", "remove"], ["update:modelValue"]),
19
- setup(a) {
20
- let o = f(a, "modelValue");
21
- l(t, !0);
22
- let m = e();
23
- return l(n, m), m.on((e) => o.value = e), (e, t) => (c(), i(d(r), s({
24
- addable: a.addable,
25
- editable: a.editable,
26
- tabPosition: a.tabPosition,
27
- type: a.type
28
- }, {
29
- modelValue: o.value,
30
- "onUpdate:modelValue": t[0] ||= (e) => o.value = e,
31
- onTabChange: t[1] ||= (t) => e.$emit("change", t),
32
- onTabRemove: t[2] ||= (t) => e.$emit("remove", t)
33
- }), {
34
- default: p(() => [u(e.$slots, "default")]),
35
- _: 3
36
- }, 16, ["modelValue"]));
37
- }
38
- });
39
- //#endregion
40
- export { m as t };
41
-
42
- //# sourceMappingURL=Tabs-COmnZvj1.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tabs-COmnZvj1.js","names":["$emit"],"sources":["../../src/components/basic/Tabs.vue","../../src/components/basic/Tabs.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"V extends string | number\">\r\nimport type { TabsProps } from 'element-plus'\r\nimport { createEventHook } from '@vueuse/core'\r\nimport { ElTabs } from 'element-plus'\r\nimport { provide } from 'vue'\r\nimport { X_ELEMENT_IN_TABS, X_TABS_MODEL_UPDATE_HOOK } from '@/constants'\r\n\r\nexport interface XTabsProps {\r\n addable?: TabsProps['addable']\r\n editable?: TabsProps['editable']\r\n tabPosition?: TabsProps['tabPosition']\r\n type?: TabsProps['type']\r\n}\r\nexport interface XTabsEvents<V> {\r\n change: [name: V]\r\n remove: [name: V]\r\n}\r\n\r\ndefineProps<XTabsProps>()\r\ndefineEmits<XTabsEvents<V>>()\r\n\r\nconst model = defineModel<V>()\r\nprovide(X_ELEMENT_IN_TABS, true)\r\n\r\nconst modelUpdateHook = createEventHook()\r\nprovide(X_TABS_MODEL_UPDATE_HOOK, modelUpdateHook)\r\nmodelUpdateHook.on(value => model.value = value)\r\n</script>\r\n\r\n<template>\r\n <ElTabs\r\n v-bind=\"{ addable, editable, tabPosition, type }\"\r\n v-model=\"model\"\r\n @tab-change=\"$emit('change', $event as V)\"\r\n @tab-remove=\"$emit('remove', $event as V)\"\r\n >\r\n <slot></slot>\r\n </ElTabs>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"V extends string | number\">\r\nimport type { TabsProps } from 'element-plus'\r\nimport { createEventHook } from '@vueuse/core'\r\nimport { ElTabs } from 'element-plus'\r\nimport { provide } from 'vue'\r\nimport { X_ELEMENT_IN_TABS, X_TABS_MODEL_UPDATE_HOOK } from '@/constants'\r\n\r\nexport interface XTabsProps {\r\n addable?: TabsProps['addable']\r\n editable?: TabsProps['editable']\r\n tabPosition?: TabsProps['tabPosition']\r\n type?: TabsProps['type']\r\n}\r\nexport interface XTabsEvents<V> {\r\n change: [name: V]\r\n remove: [name: V]\r\n}\r\n\r\ndefineProps<XTabsProps>()\r\ndefineEmits<XTabsEvents<V>>()\r\n\r\nconst model = defineModel<V>()\r\nprovide(X_ELEMENT_IN_TABS, true)\r\n\r\nconst modelUpdateHook = createEventHook()\r\nprovide(X_TABS_MODEL_UPDATE_HOOK, modelUpdateHook)\r\nmodelUpdateHook.on(value => model.value = value)\r\n</script>\r\n\r\n<template>\r\n <ElTabs\r\n v-bind=\"{ addable, editable, tabPosition, type }\"\r\n v-model=\"model\"\r\n @tab-change=\"$emit('change', $event as V)\"\r\n @tab-remove=\"$emit('remove', $event as V)\"\r\n >\r\n <slot></slot>\r\n </ElTabs>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;EAqBA,IAAM,IAAQ,EAAc,GAAA,aAAE;AAC9B,IAAQ,GAAmB,GAAK;EAEhC,IAAM,IAAkB,GAAiB;SACzC,EAAQ,GAA0B,EAAgB,EAClD,EAAgB,IAAG,MAAS,EAAM,QAAQ,EAAM,kBAI9C,EAOS,EAAA,EAAA,EAPT,EAOS;GAAA,SANG,EAAA;GAAO,UAAE,EAAA;GAAQ,aAAE,EAAA;GAAW,MAAE,EAAA;GAAI,EAAA;eACrC,EAAA;0CAAA,EAAK,QAAA;GACb,aAAU,AAAA,EAAA,QAAA,MAAEA,EAAAA,MAAK,UAAW,EAAM;GAClC,aAAU,AAAA,EAAA,QAAA,MAAEA,EAAAA,MAAK,UAAW,EAAM;;oBAEtB,CAAb,EAAa,EAAA,QAAA,UAAA,CAAA,CAAA"}
package/dist/es/Tabs.js DELETED
@@ -1,2 +0,0 @@
1
- import { t as e } from "./Tabs-COmnZvj1.js";
2
- export { e as default };
@@ -1,79 +0,0 @@
1
- import { s as e } from "./constants-C_Llxhb6.js";
2
- import { ElUpload as t } from "element-plus";
3
- import { createBlock as n, createSlots as r, defineComponent as i, guardReactiveProps as a, inject as o, normalizeProps as s, openBlock as c, renderSlot as l, unref as u, withCtx as d } from "vue";
4
- //#endregion
5
- //#region src/components/basic/Upload.vue
6
- var f = /* @__PURE__ */ i({
7
- __name: "Upload",
8
- props: {
9
- action: {},
10
- accept: {},
11
- data: { type: [Promise, Function] },
12
- disabled: { type: Boolean },
13
- limit: {},
14
- showFileList: {
15
- type: Boolean,
16
- default: () => void 0
17
- },
18
- fileList: {},
19
- multiple: { type: Boolean },
20
- beforeUpload: { type: Function },
21
- onSuccess: { type: Function },
22
- onRemove: { type: Function },
23
- onPreview: { type: Function }
24
- },
25
- setup(i) {
26
- let f = o(e, void 0);
27
- if (f?.required) {
28
- let { validator: e } = f;
29
- f.validator = () => e?.();
30
- }
31
- let p = (e, t, n) => {
32
- i.onSuccess?.(e, t, n);
33
- }, m = (e, t) => {
34
- i.onRemove?.(e, t);
35
- }, h = (e) => {
36
- i.onPreview?.(e);
37
- };
38
- return (e, o) => (c(), n(u(t), s(a({
39
- action: i.action,
40
- disabled: i.disabled,
41
- accept: i.accept,
42
- data: i.data,
43
- limit: i.limit,
44
- fileList: i.fileList,
45
- showFileList: i.showFileList,
46
- multiple: i.multiple,
47
- beforeUpload: i.beforeUpload,
48
- onPreview: h,
49
- onSuccess: p,
50
- onRemove: m
51
- })), r({
52
- default: d(() => [l(e.$slots, "default")]),
53
- _: 2
54
- }, [
55
- "file" in e.$slots ? {
56
- name: "file",
57
- fn: d(({ file: t, index: n }) => [l(e.$slots, "file", {
58
- file: t,
59
- index: n
60
- })]),
61
- key: "0"
62
- } : void 0,
63
- "tip" in e.$slots ? {
64
- name: "tip",
65
- fn: d(() => [l(e.$slots, "tip")]),
66
- key: "1"
67
- } : void 0,
68
- "trigger" in e.$slots ? {
69
- name: "trigger",
70
- fn: d(() => [l(e.$slots, "trigger")]),
71
- key: "2"
72
- } : void 0
73
- ]), 1040));
74
- }
75
- });
76
- //#endregion
77
- export { f as t };
78
-
79
- //# sourceMappingURL=Upload-B9QtDZhT.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Upload-B9QtDZhT.js","names":["$slots"],"sources":["../../src/components/basic/Upload.vue","../../src/components/basic/Upload.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { UploadFile, UploadProps } from 'element-plus'\r\n\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElUpload } from 'element-plus'\r\n\r\nimport { inject } from 'vue'\r\nimport { X_FORM_ITEM_VALIDATION } from '@/constants'\r\n\r\nexport interface XUploadProps {\r\n action?: UploadProps['action']\r\n accept?: UploadProps['accept']\r\n data?: UploadProps['data']\r\n disabled?: UploadProps['disabled']\r\n limit?: UploadProps['limit']\r\n showFileList?: UploadProps['showFileList']\r\n fileList?: UploadProps['fileList']\r\n multiple?: UploadProps['multiple']\r\n beforeUpload?: UploadProps['beforeUpload']\r\n onSuccess?: UploadProps['onSuccess']\r\n onRemove?: UploadProps['onRemove']\r\n onPreview?: UploadProps['onPreview']\r\n}\r\n\r\nconst { multiple, onSuccess, onRemove, onPreview, showFileList = undefined } = defineProps<XUploadProps>()\r\n\r\ndefineSlots<{\r\n default: () => VNodeChild\r\n file: (scope: { file: UploadFile, index: number }) => VNodeChild\r\n tip: () => VNodeChild\r\n trigger: () => VNodeChild\r\n}>()\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst success: UploadProps['onSuccess'] = (_, uploadFile, uploadFiles) => {\r\n onSuccess?.(_, uploadFile, uploadFiles)\r\n}\r\n\r\nconst remove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => {\r\n onRemove?.(uploadFile, uploadFiles)\r\n}\r\n\r\nconst preview: UploadProps['onPreview'] = (uploadFile) => {\r\n onPreview?.(uploadFile)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElUpload\r\n v-bind=\"{\r\n action,\r\n disabled,\r\n accept,\r\n data,\r\n limit,\r\n fileList,\r\n showFileList,\r\n multiple,\r\n beforeUpload,\r\n onPreview: preview,\r\n onSuccess: success,\r\n onRemove: remove,\r\n }\"\r\n >\r\n <slot />\r\n\r\n <template v-if=\"'file' in $slots\" #file=\"{ file, index }\">\r\n <slot name=\"file\" :file=\"file\" :index=\"index\" />\r\n </template>\r\n <template v-if=\"'tip' in $slots\" #tip>\r\n <slot name=\"tip\" />\r\n </template>\r\n <template v-if=\"'trigger' in $slots\" #trigger>\r\n <slot name=\"trigger\" />\r\n </template>\r\n </ElUpload>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { UploadFile, UploadProps } from 'element-plus'\r\n\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElUpload } from 'element-plus'\r\n\r\nimport { inject } from 'vue'\r\nimport { X_FORM_ITEM_VALIDATION } from '@/constants'\r\n\r\nexport interface XUploadProps {\r\n action?: UploadProps['action']\r\n accept?: UploadProps['accept']\r\n data?: UploadProps['data']\r\n disabled?: UploadProps['disabled']\r\n limit?: UploadProps['limit']\r\n showFileList?: UploadProps['showFileList']\r\n fileList?: UploadProps['fileList']\r\n multiple?: UploadProps['multiple']\r\n beforeUpload?: UploadProps['beforeUpload']\r\n onSuccess?: UploadProps['onSuccess']\r\n onRemove?: UploadProps['onRemove']\r\n onPreview?: UploadProps['onPreview']\r\n}\r\n\r\nconst { multiple, onSuccess, onRemove, onPreview, showFileList = undefined } = defineProps<XUploadProps>()\r\n\r\ndefineSlots<{\r\n default: () => VNodeChild\r\n file: (scope: { file: UploadFile, index: number }) => VNodeChild\r\n tip: () => VNodeChild\r\n trigger: () => VNodeChild\r\n}>()\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst success: UploadProps['onSuccess'] = (_, uploadFile, uploadFiles) => {\r\n onSuccess?.(_, uploadFile, uploadFiles)\r\n}\r\n\r\nconst remove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => {\r\n onRemove?.(uploadFile, uploadFiles)\r\n}\r\n\r\nconst preview: UploadProps['onPreview'] = (uploadFile) => {\r\n onPreview?.(uploadFile)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElUpload\r\n v-bind=\"{\r\n action,\r\n disabled,\r\n accept,\r\n data,\r\n limit,\r\n fileList,\r\n showFileList,\r\n multiple,\r\n beforeUpload,\r\n onPreview: preview,\r\n onSuccess: success,\r\n onRemove: remove,\r\n }\"\r\n >\r\n <slot />\r\n\r\n <template v-if=\"'file' in $slots\" #file=\"{ file, index }\">\r\n <slot name=\"file\" :file=\"file\" :index=\"index\" />\r\n </template>\r\n <template v-if=\"'tip' in $slots\" #tip>\r\n <slot name=\"tip\" />\r\n </template>\r\n <template v-if=\"'trigger' in $slots\" #trigger>\r\n <slot name=\"trigger\" />\r\n </template>\r\n </ElUpload>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;EAiCA,IAAM,IAAqB,EAAO,GAAwB,KAAA,EAAU;AACpE,MAAI,GAAoB,UAAU;GAChC,IAAM,EAAE,iBAAc;AACtB,KAAmB,kBACV,KAAa;;EAIxB,IAAM,KAAqC,GAAG,GAAY,MAAgB;AACxE,KAAA,YAAY,GAAG,GAAY,EAAY;KAGnC,KAAmC,GAAY,MAAgB;AACnE,KAAA,WAAW,GAAY,EAAY;KAG/B,KAAqC,MAAe;AACxD,KAAA,YAAY,EAAW;;yBAKvB,EA2BW,EAAA,EAAA,EAAA,EAAA,EAAA;WA1BQ,EAAA;aAAe,EAAA;WAAiB,EAAA;SAAe,EAAA;UAAa,EAAA;aAAc,EAAA;iBAAiB,EAAA;aAAqB,EAAA;iBAAiB,EAAA;cAAgC;cAA2B;aAA0B;;oBAe/N,CAAR,EAAQ,EAAA,QAAA,UAAA,CAAA,CAAA;;;aAEkBA,EAAAA,SAAAA;UAAS;WACe,EADP,SAAM,eAAK,CACpD,EAAgD,EAAA,QAAA,QAAA;KAAvB;KAAc;;;;YAEhBA,EAAAA,SAAAA;UAAS;gBACb,CAAnB,EAAmB,EAAA,QAAA,MAAA,CAAA,CAAA;;;gBAEQA,EAAAA,SAAAA;UAAS;gBACb,CAAvB,EAAuB,EAAA,QAAA,UAAA,CAAA,CAAA"}
package/dist/es/Upload.js DELETED
@@ -1,2 +0,0 @@
1
- import { t as e } from "./Upload-B9QtDZhT.js";
2
- export { e as default };
@@ -1,46 +0,0 @@
1
- import "./basic-DvQGCOl7.js";
2
- import { l as e } from "./dist-DQ3VOl3T.js";
3
- import { t } from "./Button-DSKisAgZ.js";
4
- import { i as n } from "./constants-C_Llxhb6.js";
5
- import { computed as r, createBlock as i, defineComponent as a, inject as o, mergeProps as s, openBlock as c, renderSlot as l, unref as u, withCtx as d } from "vue";
6
- //#endregion
7
- //#region src/components/advance/XButtonAsync.vue
8
- var f = /* @__PURE__ */ a({
9
- __name: "XButtonAsync",
10
- props: {
11
- action: { type: Function },
12
- disabled: { type: Boolean },
13
- link: {
14
- type: Boolean,
15
- default: () => void 0
16
- },
17
- size: {},
18
- text: { type: Boolean },
19
- type: { default: "primary" },
20
- icon: {}
21
- },
22
- setup(a) {
23
- let f = e(async () => {
24
- try {
25
- await a.action?.();
26
- } catch (e) {
27
- console.log(e);
28
- }
29
- }), p = o(n, void 0), m = r(() => a.link ?? p);
30
- return (e, n) => (c(), i(u(t), s({
31
- disabled: a.disabled,
32
- icon: a.icon,
33
- type: a.type,
34
- link: m.value,
35
- size: a.size,
36
- text: a.text
37
- }, { onClick: u(f) }), {
38
- default: d(() => [l(e.$slots, "default")]),
39
- _: 3
40
- }, 16, ["onClick"]));
41
- }
42
- });
43
- //#endregion
44
- export { f as t };
45
-
46
- //# sourceMappingURL=XButtonAsync-DN6-j4VG.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"XButtonAsync-DN6-j4VG.js","names":[],"sources":["../../src/components/advance/XButtonAsync.vue","../../src/components/advance/XButtonAsync.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { XButtonProps } from '@/components/basic'\r\nimport { useDebounceFn } from '@vueuse/core'\r\nimport { computed, inject } from 'vue'\r\nimport { XButton } from '@/components/basic'\r\nimport { X_ELEMENT_IN_TABLE } from '@/constants'\r\n\r\nexport interface XButtonAsyncProps extends XButtonProps {\r\n action?: () => PromiseLike<unknown> | unknown\r\n}\r\n\r\nconst { action, type = 'primary', link = undefined } = defineProps<XButtonAsyncProps>()\r\n\r\nconst click = useDebounceFn(async () => {\r\n try {\r\n await action?.()\r\n }\r\n catch (e) {\r\n console.log(e)\r\n }\r\n})\r\n\r\nconst inTable = inject(X_ELEMENT_IN_TABLE, undefined)\r\nconst _link = computed(() => link ?? inTable)\r\n</script>\r\n\r\n<template>\r\n <XButton v-bind=\"{ disabled, icon, type, link: _link, size, text }\" @click=\"click\">\r\n <slot></slot>\r\n </XButton>\r\n</template>\r\n","<script setup lang=\"ts\">\r\nimport type { XButtonProps } from '@/components/basic'\r\nimport { useDebounceFn } from '@vueuse/core'\r\nimport { computed, inject } from 'vue'\r\nimport { XButton } from '@/components/basic'\r\nimport { X_ELEMENT_IN_TABLE } from '@/constants'\r\n\r\nexport interface XButtonAsyncProps extends XButtonProps {\r\n action?: () => PromiseLike<unknown> | unknown\r\n}\r\n\r\nconst { action, type = 'primary', link = undefined } = defineProps<XButtonAsyncProps>()\r\n\r\nconst click = useDebounceFn(async () => {\r\n try {\r\n await action?.()\r\n }\r\n catch (e) {\r\n console.log(e)\r\n }\r\n})\r\n\r\nconst inTable = inject(X_ELEMENT_IN_TABLE, undefined)\r\nconst _link = computed(() => link ?? inTable)\r\n</script>\r\n\r\n<template>\r\n <XButton v-bind=\"{ disabled, icon, type, link: _link, size, text }\" @click=\"click\">\r\n <slot></slot>\r\n </XButton>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;EAaA,IAAM,IAAQ,EAAc,YAAY;AACtC,OAAI;AACF,UAAM,EAAA,UAAU;YAEX,GAAG;AACR,YAAQ,IAAI,EAAE;;IAEhB,EAEI,IAAU,EAAO,GAAoB,KAAA,EAAU,EAC/C,IAAQ,QAAe,EAAA,QAAQ,EAAQ;yBAI3C,EAEU,EAAA,EAAA,EAFV,EAEU;GAAA,UAFS,EAAA;GAAQ,MAAE,EAAA;GAAI,MAAE,EAAA;GAAI,MAAQ,EAAA;GAAK,MAAE,EAAA;GAAI,MAAE,EAAA;GAAI,EAAA,EAAK,SAAO,EAAA,EAAK,EAAA,CAAA,EAAA;oBAClE,CAAb,EAAa,EAAA,QAAA,UAAA,CAAA,CAAA"}
@@ -1,2 +0,0 @@
1
- import { t as e } from "./XButtonAsync-DN6-j4VG.js";
2
- export { e as default };
@@ -1,64 +0,0 @@
1
- import "./basic-DvQGCOl7.js";
2
- import { t as e } from "./Button-DSKisAgZ.js";
3
- import { i as t } from "./constants-C_Llxhb6.js";
4
- import { ElPopconfirm as n } from "element-plus";
5
- import { computed as r, createBlock as i, createTextVNode as a, createVNode as o, defineComponent as s, guardReactiveProps as c, inject as l, normalizeProps as u, openBlock as d, renderSlot as f, unref as p, withCtx as m } from "vue";
6
- //#endregion
7
- //#region src/components/advance/XButtonConfirm.vue
8
- var h = /* @__PURE__ */ s({
9
- __name: "XButtonConfirm",
10
- props: {
11
- title: { default: "是否执行?" },
12
- disabled: { type: Boolean },
13
- link: {
14
- type: Boolean,
15
- default: () => void 0
16
- },
17
- size: {},
18
- text: { type: Boolean },
19
- type: {},
20
- icon: {}
21
- },
22
- emits: ["cancel", "confirm"],
23
- setup(s, { emit: h }) {
24
- let g = h, _ = l(t, void 0), v = r(() => s.link ?? _);
25
- return (t, r) => (d(), i(p(n), {
26
- title: s.title,
27
- onCancel: r[0] ||= () => g("cancel"),
28
- onConfirm: r[1] ||= () => g("confirm")
29
- }, {
30
- reference: m(() => [o(p(e), u(c({
31
- disabled: s.disabled,
32
- icon: s.icon,
33
- type: s.type,
34
- link: v.value,
35
- size: s.size,
36
- text: s.text
37
- })), {
38
- default: m(() => [f(t.$slots, "default")]),
39
- _: 3
40
- }, 16)]),
41
- actions: m(({ confirm: t, cancel: n }) => [o(p(e), {
42
- size: "small",
43
- disabled: !1,
44
- onClick: n
45
- }, {
46
- default: m(() => [...r[2] ||= [a(" 取消 ", -1)]]),
47
- _: 1
48
- }, 8, ["onClick"]), o(p(e), {
49
- type: "danger",
50
- disabled: !1,
51
- size: "small",
52
- onClick: t
53
- }, {
54
- default: m(() => [...r[3] ||= [a(" 确定 ", -1)]]),
55
- _: 1
56
- }, 8, ["onClick"])]),
57
- _: 3
58
- }, 8, ["title"]));
59
- }
60
- });
61
- //#endregion
62
- export { h as t };
63
-
64
- //# sourceMappingURL=XButtonConfirm-D8UkJz_d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"XButtonConfirm-D8UkJz_d.js","names":[],"sources":["../../src/components/advance/XButtonConfirm.vue","../../src/components/advance/XButtonConfirm.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { XButtonProps } from '@/components/basic/Button.vue'\r\nimport { ElPopconfirm } from 'element-plus'\r\nimport { computed, inject } from 'vue'\r\nimport { XButton } from '@/components/basic'\r\n\r\nimport { X_ELEMENT_IN_TABLE } from '@/constants'\r\n\r\nexport interface XButtonConfirmProps extends XButtonProps {\r\n title?: string\r\n}\r\n\r\nconst { title = '是否执行?', link = undefined } = defineProps<XButtonConfirmProps>()\r\n\r\nconst emit = defineEmits<{\r\n cancel: []\r\n confirm: []\r\n}>()\r\n\r\nconst inTable = inject(X_ELEMENT_IN_TABLE, undefined)\r\nconst _link = computed(() => link ?? inTable)\r\n</script>\r\n\r\n<template>\r\n <ElPopconfirm\r\n :title=\"title\"\r\n @cancel=\"() => emit('cancel')\"\r\n @confirm=\"() => emit('confirm')\"\r\n >\r\n <template #reference>\r\n <XButton\r\n v-bind=\"{\r\n disabled,\r\n icon,\r\n type,\r\n link: _link,\r\n size,\r\n text,\r\n }\"\r\n >\r\n <slot></slot>\r\n </XButton>\r\n </template>\r\n <template #actions=\"{ confirm, cancel }\">\r\n <XButton size=\"small\" :disabled=\"false\" @click=\"cancel\">\r\n 取消\r\n </XButton>\r\n <XButton type=\"danger\" :disabled=\"false\" size=\"small\" @click=\"confirm\">\r\n 确定\r\n </XButton>\r\n </template>\r\n </ElPopconfirm>\r\n</template>\r\n","<script setup lang=\"ts\">\r\nimport type { XButtonProps } from '@/components/basic/Button.vue'\r\nimport { ElPopconfirm } from 'element-plus'\r\nimport { computed, inject } from 'vue'\r\nimport { XButton } from '@/components/basic'\r\n\r\nimport { X_ELEMENT_IN_TABLE } from '@/constants'\r\n\r\nexport interface XButtonConfirmProps extends XButtonProps {\r\n title?: string\r\n}\r\n\r\nconst { title = '是否执行?', link = undefined } = defineProps<XButtonConfirmProps>()\r\n\r\nconst emit = defineEmits<{\r\n cancel: []\r\n confirm: []\r\n}>()\r\n\r\nconst inTable = inject(X_ELEMENT_IN_TABLE, undefined)\r\nconst _link = computed(() => link ?? inTable)\r\n</script>\r\n\r\n<template>\r\n <ElPopconfirm\r\n :title=\"title\"\r\n @cancel=\"() => emit('cancel')\"\r\n @confirm=\"() => emit('confirm')\"\r\n >\r\n <template #reference>\r\n <XButton\r\n v-bind=\"{\r\n disabled,\r\n icon,\r\n type,\r\n link: _link,\r\n size,\r\n text,\r\n }\"\r\n >\r\n <slot></slot>\r\n </XButton>\r\n </template>\r\n <template #actions=\"{ confirm, cancel }\">\r\n <XButton size=\"small\" :disabled=\"false\" @click=\"cancel\">\r\n 取消\r\n </XButton>\r\n <XButton type=\"danger\" :disabled=\"false\" size=\"small\" @click=\"confirm\">\r\n 确定\r\n </XButton>\r\n </template>\r\n </ElPopconfirm>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;EAcA,IAAM,IAAO,GAKP,IAAU,EAAO,GAAoB,KAAA,EAAU,EAC/C,IAAQ,QAAe,EAAA,QAAQ,EAAQ;yBAI3C,EA2Be,EAAA,EAAA,EAAA;GA1BZ,OAAO,EAAA;GACP,UAAM,AAAA,EAAA,aAAQ,EAAI,SAAA;GAClB,WAAO,AAAA,EAAA,aAAQ,EAAI,UAAA;;GAET,WAAS,QAYR,CAXV,EAWU,EAAA,EAAA,EAAA,EAAA,EAAA;cAVa,EAAA;UAAqB,EAAA;UAAiB,EAAA;UAAuB,EAAA;UAAkB,EAAA;UAAiB,EAAA;;qBASxG,CAAb,EAAa,EAAA,QAAA,UAAA,CAAA,CAAA;;;GAGN,SAAO,GAGN,EAHU,YAAS,gBAAM,CACnC,EAEU,EAAA,EAAA,EAAA;IAFD,MAAK;IAAS,UAAU;IAAQ,SAAO;;qBAEhD,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAFwD,QAExD,GAAA,CAAA,CAAA,CAAA;;uBACA,EAEU,EAAA,EAAA,EAAA;IAFD,MAAK;IAAU,UAAU;IAAO,MAAK;IAAS,SAAO;;qBAE9D,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAFuE,QAEvE,GAAA,CAAA,CAAA,CAAA"}
@@ -1,2 +0,0 @@
1
- import { t as e } from "./XButtonConfirm-D8UkJz_d.js";
2
- export { e as default };
@@ -1,54 +0,0 @@
1
- import "./basic-DvQGCOl7.js";
2
- import { l as e } from "./dist-DQ3VOl3T.js";
3
- import { t } from "./Cascader-Df1d0rtN.js";
4
- import { createBlock as n, defineComponent as r, mergeModels as i, mergeProps as a, openBlock as o, unref as s, useModel as c } from "vue";
5
- //#endregion
6
- //#region src/components/advance/XCascaderRequest.vue
7
- var l = /* @__PURE__ */ r({
8
- __name: "XCascaderRequest",
9
- props: /* @__PURE__ */ i({
10
- request: { type: Function },
11
- clearable: { type: Boolean },
12
- disabled: {
13
- type: Boolean,
14
- default: () => void 0
15
- },
16
- filterable: { type: Boolean },
17
- size: {},
18
- placeholder: {},
19
- props: {}
20
- }, {
21
- modelValue: {},
22
- modelModifiers: {}
23
- }),
24
- emits: /* @__PURE__ */ i(["prepare", "change"], ["update:modelValue"]),
25
- setup(r, { expose: i, emit: l }) {
26
- let u = l, d = c(r, "modelValue"), { data: f, path: p, url: m, execute: h, query: g } = r.request();
27
- return i({
28
- search: e(async () => {
29
- u("prepare", {
30
- path: p.value,
31
- query: g.value
32
- }), h();
33
- }),
34
- data: f,
35
- path: p,
36
- url: m,
37
- execute: h,
38
- query: g
39
- }), (e, i) => (o(), n(s(t), a({
40
- modelValue: d.value,
41
- "onUpdate:modelValue": i[0] ||= (e) => d.value = e
42
- }, {
43
- clearable: r.clearable,
44
- disabled: r.disabled,
45
- filterable: r.filterable,
46
- data: s(f),
47
- props: r.props
48
- }), null, 16, ["modelValue"]));
49
- }
50
- });
51
- //#endregion
52
- export { l as t };
53
-
54
- //# sourceMappingURL=XCascaderRequest-Bsvfwf28.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"XCascaderRequest-Bsvfwf28.js","names":[],"sources":["../../src/components/advance/XCascaderRequest.vue","../../src/components/advance/XCascaderRequest.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"U, PT, QR, D, V, MV extends V | V[]\">\r\nimport type { CascaderComponentProps } from 'element-plus'\r\nimport type { Ref } from 'vue'\r\nimport type { XCascaderProps } from '@/components/basic'\r\nimport { useDebounceFn } from '@vueuse/core'\r\nimport { XCascader } from '@/components/basic'\r\n\r\nexport interface XCascaderRequestProps<U, PT, QR, D, V> extends Omit<XCascaderProps<D, V>, 'data' | 'factory'> {\r\n request: () => {\r\n data: Ref<D[]>\r\n execute: () => PromiseLike<unknown>\r\n isFetching: Ref<boolean>\r\n path: Ref<PT>\r\n query: Ref<QR>\r\n url: U\r\n }\r\n clearable?: CascaderComponentProps['clearable']\r\n disabled?: CascaderComponentProps['disabled']\r\n filterable?: CascaderComponentProps['filterable']\r\n}\r\n\r\nexport interface XCascaderRequestEvents<PT, QR, V> {\r\n prepare: [parameters: { path: PT, query: QR }]\r\n change: [value: V]\r\n}\r\n\r\nconst { request, disabled = undefined, props } = defineProps<XCascaderRequestProps<U, PT, QR, D, V>>()\r\n\r\nconst emit = defineEmits<XCascaderRequestEvents<PT, QR, V>>()\r\n\r\nconst model = defineModel<MV>()\r\n\r\nconst { data, path, url, execute, query } = request()\r\n\r\nconst search = useDebounceFn(async () => {\r\n emit('prepare', { path: path.value, query: query.value })\r\n execute()\r\n})\r\n\r\ndefineExpose({ search, data, path, url, execute, query })\r\n</script>\r\n\r\n<template>\r\n <XCascader v-model=\"model\" v-bind=\"{ clearable, disabled, filterable, data, props }\" />\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"U, PT, QR, D, V, MV extends V | V[]\">\r\nimport type { CascaderComponentProps } from 'element-plus'\r\nimport type { Ref } from 'vue'\r\nimport type { XCascaderProps } from '@/components/basic'\r\nimport { useDebounceFn } from '@vueuse/core'\r\nimport { XCascader } from '@/components/basic'\r\n\r\nexport interface XCascaderRequestProps<U, PT, QR, D, V> extends Omit<XCascaderProps<D, V>, 'data' | 'factory'> {\r\n request: () => {\r\n data: Ref<D[]>\r\n execute: () => PromiseLike<unknown>\r\n isFetching: Ref<boolean>\r\n path: Ref<PT>\r\n query: Ref<QR>\r\n url: U\r\n }\r\n clearable?: CascaderComponentProps['clearable']\r\n disabled?: CascaderComponentProps['disabled']\r\n filterable?: CascaderComponentProps['filterable']\r\n}\r\n\r\nexport interface XCascaderRequestEvents<PT, QR, V> {\r\n prepare: [parameters: { path: PT, query: QR }]\r\n change: [value: V]\r\n}\r\n\r\nconst { request, disabled = undefined, props } = defineProps<XCascaderRequestProps<U, PT, QR, D, V>>()\r\n\r\nconst emit = defineEmits<XCascaderRequestEvents<PT, QR, V>>()\r\n\r\nconst model = defineModel<MV>()\r\n\r\nconst { data, path, url, execute, query } = request()\r\n\r\nconst search = useDebounceFn(async () => {\r\n emit('prepare', { path: path.value, query: query.value })\r\n execute()\r\n})\r\n\r\ndefineExpose({ search, data, path, url, execute, query })\r\n</script>\r\n\r\n<template>\r\n <XCascader v-model=\"model\" v-bind=\"{ clearable, disabled, filterable, data, props }\" />\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;EA4BA,IAAM,IAAO,GAEP,IAAQ,EAAe,GAAA,aAAE,EAEzB,EAAE,SAAM,SAAM,QAAK,YAAS,aAAU,EAAA,SAAS;SAOrD,EAAa;GAAE,QALA,EAAc,YAAY;AAEvC,IADA,EAAK,WAAW;KAAE,MAAM,EAAK;KAAO,OAAO,EAAM;KAAO,CAAC,EACzD,GAAS;KACT;GAEqB;GAAM;GAAM;GAAK;GAAS;GAAO,CAAC,kBAIvD,EAAuF,EAAA,EAAA,EAAvF,EAAuF;eAAnE,EAAA;0CAAA,EAAK,QAAA;;cAAY,EAAA;GAAS,UAAE,EAAA;GAAQ,YAAE,EAAA;GAAU,MAAE,EAAA,EAAI;GAAA,OAAE,EAAA;GAAK,CAAA,EAAA,MAAA,IAAA,CAAA,aAAA,CAAA"}
@@ -1,2 +0,0 @@
1
- import { t as e } from "./XCascaderRequest-Bsvfwf28.js";
2
- export { e as default };
@@ -1,36 +0,0 @@
1
- import "./basic-DvQGCOl7.js";
2
- import { t as e } from "./Form-V7_olGHq.js";
3
- import { ElScrollbar as t } from "element-plus";
4
- import { createElementBlock as n, createVNode as r, defineComponent as i, mergeProps as a, openBlock as o, unref as s, useTemplateRef as c, withCtx as l } from "vue";
5
- //#region src/components/advance/XFormFlex.vue?vue&type=script&setup=true&lang.tsx
6
- var u = { class: "flex-1 overflow-hidden" }, d = /* @__PURE__ */ i({
7
- __name: "XFormFlex",
8
- props: {
9
- content: { type: Function },
10
- data: {},
11
- disabled: { type: Boolean },
12
- inline: { type: Boolean },
13
- labelPosition: {},
14
- labelSuffix: {},
15
- labelWidth: {}
16
- },
17
- setup(i, { expose: d }) {
18
- let f = c("form");
19
- d({
20
- validate: () => f.value?.validate(),
21
- clearValidate: () => f.value?.clearValidate()
22
- });
23
- let p = () => i.content?.({ data: i.data ?? {} });
24
- return (i, c) => (o(), n("div", u, [r(s(t), null, {
25
- default: l(() => [r(s(e), a({
26
- ref_key: "form",
27
- ref: f
28
- }, i.$props, { content: p }), null, 16)]),
29
- _: 1
30
- })]));
31
- }
32
- });
33
- //#endregion
34
- export { d as t };
35
-
36
- //# sourceMappingURL=XFormFlex-CeKL-p1x.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"XFormFlex-CeKL-p1x.js","names":["$props"],"sources":["../../src/components/advance/XFormFlex.vue","../../src/components/advance/XFormFlex.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"D extends object\">\r\nimport type { XFormProps } from '@/components/basic'\r\nimport { ElScrollbar } from 'element-plus'\r\nimport { useTemplateRef } from 'vue'\r\n\r\nimport { XForm } from '@/components/basic'\r\n\r\nexport interface XFormFlexProps<D> extends XFormProps<D> {}\r\n\r\nconst { content, data } = defineProps<XFormFlexProps<D>>()\r\n\r\nconst form = useTemplateRef('form')\r\n\r\nconst validate = () => form.value?.validate()\r\nconst clearValidate = () => form.value?.clearValidate()\r\n\r\ndefineExpose({ validate, clearValidate })\r\n\r\nconst Content = () => content?.({ data: data ?? {} } as { data: D })\r\n</script>\r\n\r\n<template>\r\n <div class=\"flex-1 overflow-hidden\">\r\n <ElScrollbar>\r\n <XForm ref=\"form\" v-bind=\"$props\" :content=\"Content\" />\r\n </ElScrollbar>\r\n </div>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"D extends object\">\r\nimport type { XFormProps } from '@/components/basic'\r\nimport { ElScrollbar } from 'element-plus'\r\nimport { useTemplateRef } from 'vue'\r\n\r\nimport { XForm } from '@/components/basic'\r\n\r\nexport interface XFormFlexProps<D> extends XFormProps<D> {}\r\n\r\nconst { content, data } = defineProps<XFormFlexProps<D>>()\r\n\r\nconst form = useTemplateRef('form')\r\n\r\nconst validate = () => form.value?.validate()\r\nconst clearValidate = () => form.value?.clearValidate()\r\n\r\ndefineExpose({ validate, clearValidate })\r\n\r\nconst Content = () => content?.({ data: data ?? {} } as { data: D })\r\n</script>\r\n\r\n<template>\r\n <div class=\"flex-1 overflow-hidden\">\r\n <ElScrollbar>\r\n <XForm ref=\"form\" v-bind=\"$props\" :content=\"Content\" />\r\n </ElScrollbar>\r\n </div>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;EAWA,IAAM,IAAO,EAAe,OAAO;AAKnC,IAAa;GAAE,gBAHQ,EAAK,OAAO,UAAU;GAGpB,qBAFG,EAAK,OAAO,eAAe;GAEf,CAAC;EAEzC,IAAM,UAAgB,EAAA,UAAU,EAAE,MAAM,EAAA,QAAQ,EAAC,EAAkB,CAAC;yBAIlE,EAIM,OAJN,GAIM,CAHJ,EAEc,EAAA,EAAA,EAAA,MAAA;oBAD2C,CAAvD,EAAuD,EAAA,EAAA,EAAvD,EAAuD;aAA5C;IAAJ,KAAI;MAAeA,EAAAA,QAAM,EAAG,SAAS,GAAO,CAAA,EAAA,MAAA,GAAA,CAAA,CAAA"}
@@ -1,2 +0,0 @@
1
- import { t as e } from "./XFormFlex-CeKL-p1x.js";
2
- export { e as default };
@@ -1,60 +0,0 @@
1
- import "./basic-DvQGCOl7.js";
2
- import { l as e } from "./dist-DQ3VOl3T.js";
3
- import { t } from "./Form-V7_olGHq.js";
4
- import { computed as n, createBlock as r, defineComponent as i, mergeProps as a, openBlock as o, resolveDirective as s, unref as c, useTemplateRef as l, withDirectives as u } from "vue";
5
- //#endregion
6
- //#region src/components/advance/XFormRequestNext.vue
7
- var d = /* @__PURE__ */ i({
8
- __name: "XFormRequestNext",
9
- props: {
10
- request: { type: Function },
11
- content: { type: Function },
12
- disabled: {
13
- type: [Function, Boolean],
14
- default: void 0
15
- },
16
- inline: { type: Boolean },
17
- labelPosition: {},
18
- labelSuffix: {},
19
- labelWidth: { default: "auto" }
20
- },
21
- emits: ["prepare"],
22
- setup(i, { expose: d, emit: f }) {
23
- let p = f, { data: m, isFetching: h, execute: g, path: _, url: v, query: y } = i.request(), b = JSON.stringify(m.value), x = n(() => h.value || (typeof i.disabled == "function" ? i.disabled({ data: m.value }) : i.disabled)), S = l("form"), C = () => m.value = JSON.parse(b), w = () => S.value?.validate(), T = () => S.value?.clearValidate(), E = () => {
24
- C(), S.value?.resetFields();
25
- }, D = e(async () => {
26
- p("prepare", {
27
- path: _.value,
28
- query: y.value
29
- }), g();
30
- }), O = () => i.content?.({ data: m.value });
31
- return d({
32
- data: m,
33
- url: v,
34
- search: D,
35
- validate: w,
36
- clearValidate: T,
37
- reset: C,
38
- resetFields: E
39
- }), (e, n) => {
40
- let l = s("loading");
41
- return u((o(), r(c(t), a({
42
- ref_key: "form",
43
- ref: S,
44
- class: "flex-1 overflow-hidden flex flex-col gap-2"
45
- }, {
46
- data: c(m),
47
- disabled: x.value,
48
- inline: i.inline,
49
- labelPosition: i.labelPosition,
50
- labelSuffix: i.labelSuffix,
51
- labelWidth: i.labelWidth,
52
- content: O
53
- }), null, 16)), [[l, c(h)]]);
54
- };
55
- }
56
- });
57
- //#endregion
58
- export { d as t };
59
-
60
- //# sourceMappingURL=XFormRequestNext-ClKFsdRJ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"XFormRequestNext-ClKFsdRJ.js","names":[],"sources":["../../src/components/advance/XFormRequestNext.vue","../../src/components/advance/XFormRequestNext.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"U, PT, QR, D extends object\">\r\nimport type { Ref, VNodeChild } from 'vue'\r\nimport type { XFormProps } from '@/components/basic'\r\nimport { useDebounceFn } from '@vueuse/core'\r\nimport { computed, useTemplateRef } from 'vue'\r\n\r\nimport { XForm } from '@/components/basic'\r\n\r\nexport interface XFormRequestProps<U, PT, QR, D> extends Omit<XFormProps<D>, 'disabled' | 'data'> {\r\n request: () => {\r\n data: Ref<D>\r\n execute: () => PromiseLike<unknown>\r\n isFetching: Ref<boolean>\r\n path: Ref<PT>\r\n query: Ref<QR>\r\n url: U\r\n }\r\n content?: (scope: { data: D }) => VNodeChild\r\n disabled?: ((scope: { data: D }) => boolean) | boolean\r\n}\r\n\r\nexport interface XFormRequestEvents<PT, QR> {\r\n prepare: [parameters: { path: PT, query: QR }]\r\n}\r\n\r\nconst { disabled = undefined, content, labelWidth = 'auto', request } = defineProps<XFormRequestProps<U, PT, QR, D>>()\r\nconst emit = defineEmits<XFormRequestEvents<PT, QR>>()\r\n\r\nconst { data, isFetching, execute, path, url, query } = request()\r\nconst _init = JSON.stringify(data.value)\r\n\r\nconst _disabled = computed(() => isFetching.value || (typeof disabled === 'function' ? disabled({ data: data.value }) : disabled))\r\n\r\nconst form = useTemplateRef('form')\r\n\r\nconst reset = () => data.value = JSON.parse(_init) as D\r\n\r\nconst validate = () => form.value?.validate()\r\nconst clearValidate = () => form.value?.clearValidate()\r\nconst resetFields = () => {\r\n reset()\r\n form.value?.resetFields()\r\n}\r\n\r\nconst search = useDebounceFn(async () => {\r\n emit('prepare', { path: path.value, query: query.value })\r\n execute()\r\n})\r\n\r\nconst _content = () => content?.({ data: data.value })\r\n\r\ndefineExpose({ data, url, search, validate, clearValidate, reset, resetFields })\r\n</script>\r\n\r\n<template>\r\n <XForm\r\n ref=\"form\"\r\n v-loading=\"isFetching\"\r\n class=\"flex-1 overflow-hidden flex flex-col gap-2\"\r\n v-bind=\"{\r\n data,\r\n disabled: _disabled,\r\n inline,\r\n labelPosition,\r\n labelSuffix,\r\n labelWidth,\r\n content: _content,\r\n }\"\r\n />\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"U, PT, QR, D extends object\">\r\nimport type { Ref, VNodeChild } from 'vue'\r\nimport type { XFormProps } from '@/components/basic'\r\nimport { useDebounceFn } from '@vueuse/core'\r\nimport { computed, useTemplateRef } from 'vue'\r\n\r\nimport { XForm } from '@/components/basic'\r\n\r\nexport interface XFormRequestProps<U, PT, QR, D> extends Omit<XFormProps<D>, 'disabled' | 'data'> {\r\n request: () => {\r\n data: Ref<D>\r\n execute: () => PromiseLike<unknown>\r\n isFetching: Ref<boolean>\r\n path: Ref<PT>\r\n query: Ref<QR>\r\n url: U\r\n }\r\n content?: (scope: { data: D }) => VNodeChild\r\n disabled?: ((scope: { data: D }) => boolean) | boolean\r\n}\r\n\r\nexport interface XFormRequestEvents<PT, QR> {\r\n prepare: [parameters: { path: PT, query: QR }]\r\n}\r\n\r\nconst { disabled = undefined, content, labelWidth = 'auto', request } = defineProps<XFormRequestProps<U, PT, QR, D>>()\r\nconst emit = defineEmits<XFormRequestEvents<PT, QR>>()\r\n\r\nconst { data, isFetching, execute, path, url, query } = request()\r\nconst _init = JSON.stringify(data.value)\r\n\r\nconst _disabled = computed(() => isFetching.value || (typeof disabled === 'function' ? disabled({ data: data.value }) : disabled))\r\n\r\nconst form = useTemplateRef('form')\r\n\r\nconst reset = () => data.value = JSON.parse(_init) as D\r\n\r\nconst validate = () => form.value?.validate()\r\nconst clearValidate = () => form.value?.clearValidate()\r\nconst resetFields = () => {\r\n reset()\r\n form.value?.resetFields()\r\n}\r\n\r\nconst search = useDebounceFn(async () => {\r\n emit('prepare', { path: path.value, query: query.value })\r\n execute()\r\n})\r\n\r\nconst _content = () => content?.({ data: data.value })\r\n\r\ndefineExpose({ data, url, search, validate, clearValidate, reset, resetFields })\r\n</script>\r\n\r\n<template>\r\n <XForm\r\n ref=\"form\"\r\n v-loading=\"isFetching\"\r\n class=\"flex-1 overflow-hidden flex flex-col gap-2\"\r\n v-bind=\"{\r\n data,\r\n disabled: _disabled,\r\n inline,\r\n labelPosition,\r\n labelSuffix,\r\n labelWidth,\r\n content: _content,\r\n }\"\r\n />\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;EA0BA,IAAM,IAAO,GAEP,EAAE,SAAM,eAAY,YAAS,SAAM,QAAK,aAAU,EAAA,SAAS,EAC3D,IAAQ,KAAK,UAAU,EAAK,MAAM,EAElC,IAAY,QAAe,EAAW,UAAU,OAAO,EAAA,YAAa,aAAa,EAAA,SAAS,EAAE,MAAM,EAAK,OAAO,CAAC,GAAG,EAAA,UAAU,EAE5H,IAAO,EAAe,OAAO,EAE7B,UAAc,EAAK,QAAQ,KAAK,MAAM,EAAW,EAEjD,UAAiB,EAAK,OAAO,UAAU,EACvC,UAAsB,EAAK,OAAO,eAAe,EACjD,UAAoB;AAExB,GADA,GAAO,EACP,EAAK,OAAO,aAAa;KAGrB,IAAS,EAAc,YAAY;AAEvC,GADA,EAAK,WAAW;IAAE,MAAM,EAAK;IAAO,OAAO,EAAM;IAAO,CAAC,EACzD,GAAS;IACT,EAEI,UAAiB,EAAA,UAAU,EAAE,MAAM,EAAK,OAAO,CAAC;SAEtD,EAAa;GAAE;GAAM;GAAK;GAAQ;GAAU;GAAe;GAAO;GAAa,CAAC;;kBAI9E,EAaE,EAAA,EAAA,EAbF,EAaE;aAZI;IAAJ,KAAI;IAEJ,OAAM;;UACW,EAAA,EAAI;cAAmB,EAAA;YAAkB,EAAA;mBAAe,EAAA;iBAAsB,EAAA;gBAAoB,EAAA;aAA4B;wBAFpI,EAAA,EAAU,CAAA,CAAA,CAAA"}
@@ -1,2 +0,0 @@
1
- import { t as e } from "./XFormRequestNext-ClKFsdRJ.js";
2
- export { e as default };
@@ -1,47 +0,0 @@
1
- import { l as e } from "./dist-DQ3VOl3T.js";
2
- import { createVNode as t, defineComponent as n, renderSlot as r, unref as i } from "vue";
3
- //#endregion
4
- //#region src/components/advance/XRequest.vue
5
- var a = /* @__PURE__ */ n({
6
- __name: "XRequest",
7
- props: {
8
- request: { type: Function },
9
- content: { type: Function }
10
- },
11
- emits: ["prepare"],
12
- setup(n, { expose: a, emit: o }) {
13
- let s = o, { data: c, paging: l, path: u, query: d, isFetching: f, url: p, execute: m } = n.request(), h = e(async () => {
14
- s("prepare", {
15
- path: u.value,
16
- query: d.value
17
- }), m();
18
- }), g = () => n.content?.({
19
- data: c.value,
20
- path: u.value,
21
- isFetching: f.value,
22
- query: d.value,
23
- paging: l.value
24
- });
25
- return a({
26
- data: c,
27
- paging: l,
28
- path: u,
29
- query: d,
30
- isFetching: f,
31
- url: p,
32
- execute: m,
33
- search: h
34
- }), (e, n) => r(e.$slots, "default", {
35
- data: i(c),
36
- paging: i(l),
37
- path: i(u),
38
- query: i(d),
39
- isFetching: i(f),
40
- execute: i(m)
41
- }, () => [t(g)]);
42
- }
43
- });
44
- //#endregion
45
- export { a as t };
46
-
47
- //# sourceMappingURL=XRequest-qctTVADK.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"XRequest-qctTVADK.js","names":[],"sources":["../../src/components/advance/XRequest.vue","../../src/components/advance/XRequest.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"U, PT, QR, D\">\r\nimport type { Ref, VNodeChild } from 'vue'\r\nimport type { Paging } from '@/types'\r\nimport { useDebounceFn } from '@vueuse/core'\r\n\r\nexport interface XRequestProps<U, PT, QR, D> {\r\n request: () => {\r\n data: Ref<D>\r\n execute: () => PromiseLike<unknown>\r\n isFetching: Ref<boolean>\r\n paging: Ref<Paging>\r\n path: Ref<PT>\r\n query: Ref<QR>\r\n url: U\r\n }\r\n content?: (scope: { data: D, query: QR, path: PT, isFetching: boolean, paging: Paging }) => VNodeChild\r\n}\r\n\r\nexport interface XRequestEvents<PT, QR> {\r\n prepare: [parameters: { path: PT, query: QR }]\r\n}\r\n\r\nconst { request, content } = defineProps<XRequestProps<U, PT, QR, D>>()\r\nconst emit = defineEmits<XRequestEvents<PT, QR>>()\r\ndefineSlots<{\r\n default: (\r\n scope: {\r\n data: D\r\n execute: () => PromiseLike<unknown>\r\n isFetching: boolean\r\n paging: Paging\r\n path: PT\r\n query: QR\r\n }\r\n ) => VNodeChild\r\n}>()\r\n\r\nconst { data, paging, path, query, isFetching, url, execute } = request()\r\n\r\nconst search = useDebounceFn(async () => {\r\n emit('prepare', { path: path.value, query: query.value })\r\n execute()\r\n})\r\nconst Content = () => content?.(\r\n {\r\n data: data.value,\r\n path: path.value,\r\n isFetching: isFetching.value,\r\n query: query.value,\r\n paging: paging.value\r\n }\r\n)\r\n\r\ndefineExpose({ data, paging, path, query, isFetching, url, execute, search })\r\n</script>\r\n\r\n<template>\r\n <slot\r\n :data=\"data\"\r\n :paging=\"paging\"\r\n :path=\"path\"\r\n :query=\"query\"\r\n :is-fetching=\"isFetching\"\r\n :execute=\"execute\"\r\n >\r\n <Content />\r\n </slot>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"U, PT, QR, D\">\r\nimport type { Ref, VNodeChild } from 'vue'\r\nimport type { Paging } from '@/types'\r\nimport { useDebounceFn } from '@vueuse/core'\r\n\r\nexport interface XRequestProps<U, PT, QR, D> {\r\n request: () => {\r\n data: Ref<D>\r\n execute: () => PromiseLike<unknown>\r\n isFetching: Ref<boolean>\r\n paging: Ref<Paging>\r\n path: Ref<PT>\r\n query: Ref<QR>\r\n url: U\r\n }\r\n content?: (scope: { data: D, query: QR, path: PT, isFetching: boolean, paging: Paging }) => VNodeChild\r\n}\r\n\r\nexport interface XRequestEvents<PT, QR> {\r\n prepare: [parameters: { path: PT, query: QR }]\r\n}\r\n\r\nconst { request, content } = defineProps<XRequestProps<U, PT, QR, D>>()\r\nconst emit = defineEmits<XRequestEvents<PT, QR>>()\r\ndefineSlots<{\r\n default: (\r\n scope: {\r\n data: D\r\n execute: () => PromiseLike<unknown>\r\n isFetching: boolean\r\n paging: Paging\r\n path: PT\r\n query: QR\r\n }\r\n ) => VNodeChild\r\n}>()\r\n\r\nconst { data, paging, path, query, isFetching, url, execute } = request()\r\n\r\nconst search = useDebounceFn(async () => {\r\n emit('prepare', { path: path.value, query: query.value })\r\n execute()\r\n})\r\nconst Content = () => content?.(\r\n {\r\n data: data.value,\r\n path: path.value,\r\n isFetching: isFetching.value,\r\n query: query.value,\r\n paging: paging.value\r\n }\r\n)\r\n\r\ndefineExpose({ data, paging, path, query, isFetching, url, execute, search })\r\n</script>\r\n\r\n<template>\r\n <slot\r\n :data=\"data\"\r\n :paging=\"paging\"\r\n :path=\"path\"\r\n :query=\"query\"\r\n :is-fetching=\"isFetching\"\r\n :execute=\"execute\"\r\n >\r\n <Content />\r\n </slot>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;EAuBA,IAAM,IAAO,GAcP,EAAE,SAAM,WAAQ,SAAM,UAAO,eAAY,QAAK,eAAY,EAAA,SAAS,EAEnE,IAAS,EAAc,YAAY;AAEvC,GADA,EAAK,WAAW;IAAE,MAAM,EAAK;IAAO,OAAO,EAAM;IAAO,CAAC,EACzD,GAAS;IACT,EACI,UAAgB,EAAA,UACpB;GACE,MAAM,EAAK;GACX,MAAM,EAAK;GACX,YAAY,EAAW;GACvB,OAAO,EAAM;GACb,QAAQ,EAAO;GAEnB,CAAC;SAED,EAAa;GAAE;GAAM;GAAQ;GAAM;GAAO;GAAY;GAAK;GAAS;GAAQ,CAAC,YAI3E,EASO,EAAA,QAAA,WAAA;GARJ,MAAM,EAAA,EAAI;GACV,QAAQ,EAAA,EAAM;GACd,MAAM,EAAA,EAAI;GACV,OAAO,EAAA,EAAK;GACZ,YAAa,EAAA,EAAU;GACvB,SAAS,EAAA,EAAA;WAGL,CADL,EAAW,EAAA,CAAA,CAAA"}
@@ -1,2 +0,0 @@
1
- import { t as e } from "./XRequest-qctTVADK.js";
2
- export { e as default };