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

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 (178) hide show
  1. package/README.md +124 -3
  2. package/dist/cjs/Button-8c-6EPNG.cjs.map +1 -1
  3. package/dist/cjs/Cascader-CwDh-TjU.cjs.map +1 -1
  4. package/dist/cjs/Checkbox-CNcwptzq.cjs.map +1 -1
  5. package/dist/cjs/ConfigProvider-CyWiC5MP.cjs +2 -0
  6. package/dist/cjs/{ConfigProvider-BWSlnOEd.cjs.map → ConfigProvider-CyWiC5MP.cjs.map} +1 -1
  7. package/dist/cjs/ConfigProvider.cjs +1 -1
  8. package/dist/cjs/DatePicker-pKtnPDXe.cjs.map +1 -1
  9. package/dist/cjs/Dialog-BQzqL743.cjs.map +1 -1
  10. package/dist/cjs/Form-DKzgN4am.cjs.map +1 -1
  11. package/dist/cjs/FormItem-BSXNuWjn.cjs +2 -0
  12. package/dist/cjs/FormItem-BSXNuWjn.cjs.map +1 -0
  13. package/dist/cjs/FormItem.cjs +1 -1
  14. package/dist/cjs/Input-Bnp7Ap0P.cjs.map +1 -1
  15. package/dist/cjs/InputNumber-Ddow_hhd.cjs.map +1 -1
  16. package/dist/cjs/Pagination-Cy3Y08FK.cjs.map +1 -1
  17. package/dist/cjs/{Select-CbFsXS-J.cjs → Select-QOHpdjtL.cjs} +2 -2
  18. package/dist/cjs/Select-QOHpdjtL.cjs.map +1 -0
  19. package/dist/cjs/Select.cjs +1 -1
  20. package/dist/cjs/TabPane-C2gWO5xN.cjs.map +1 -1
  21. package/dist/cjs/Table-B3zf7ybj.cjs.map +1 -1
  22. package/dist/cjs/Tabs-CQcXRrGf.cjs.map +1 -1
  23. package/dist/cjs/Upload-Cw1DMO7y.cjs.map +1 -1
  24. package/dist/cjs/XButtonAsync-DxB_iRpa.cjs +2 -0
  25. package/dist/cjs/{XButtonAsync-CYYCezyy.cjs.map → XButtonAsync-DxB_iRpa.cjs.map} +1 -1
  26. package/dist/cjs/XButtonAsync.cjs +1 -1
  27. package/dist/cjs/XButtonConfirm-DMcr5_5A.cjs +2 -0
  28. package/dist/cjs/XButtonConfirm-DMcr5_5A.cjs.map +1 -0
  29. package/dist/cjs/XButtonConfirm.cjs +1 -1
  30. package/dist/cjs/XCascaderRequest-DKW_m3MY.cjs +2 -0
  31. package/dist/cjs/{XCascaderRequest-CEJzu7XX.cjs.map → XCascaderRequest-DKW_m3MY.cjs.map} +1 -1
  32. package/dist/cjs/XCascaderRequest.cjs +1 -1
  33. package/dist/cjs/XFormFlex-CAxHuPZj.cjs +2 -0
  34. package/dist/cjs/{XFormFlex-DsCIkIQO.cjs.map → XFormFlex-CAxHuPZj.cjs.map} +1 -1
  35. package/dist/cjs/XFormFlex.cjs +1 -1
  36. package/dist/cjs/XFormRequestNext-zfjnyv2v.cjs +2 -0
  37. package/dist/cjs/{XFormRequestNext-DWe3ZGx1.cjs.map → XFormRequestNext-zfjnyv2v.cjs.map} +1 -1
  38. package/dist/cjs/XFormRequestNext.cjs +1 -1
  39. package/dist/cjs/XRequest-BNDHllWT.cjs.map +1 -1
  40. package/dist/cjs/XSelectRequest-B0uan46l.cjs +2 -0
  41. package/dist/cjs/{XSelectRequest-Dcfq8af2.cjs.map → XSelectRequest-B0uan46l.cjs.map} +1 -1
  42. package/dist/cjs/XSelectRequest.cjs +1 -1
  43. package/dist/cjs/XTableFlex-D8d713CD.cjs +2 -0
  44. package/dist/cjs/{XTableFlex-CI8kSati.cjs.map → XTableFlex-D8d713CD.cjs.map} +1 -1
  45. package/dist/cjs/XTableFlex.cjs +1 -1
  46. package/dist/cjs/XTableRequestConfigNext.cjs +1 -1
  47. package/dist/cjs/XTableRequestNext.cjs +1 -1
  48. package/dist/cjs/XUploadOssNext-D174wiQw.cjs +2 -0
  49. package/dist/cjs/{XUploadOssNext-WuvoSDF9.cjs.map → XUploadOssNext-D174wiQw.cjs.map} +1 -1
  50. package/dist/cjs/XUploadOssNext.cjs +1 -1
  51. package/dist/cjs/{advance-uvToKVES.cjs → advance-CXQH0k0U.cjs} +2 -2
  52. package/dist/cjs/{advance-uvToKVES.cjs.map → advance-CXQH0k0U.cjs.map} +1 -1
  53. package/dist/cjs/advance.cjs +1 -1
  54. package/dist/cjs/{basic-zYGNGrBr.cjs → basic-CKVDAV8Q.cjs} +2 -2
  55. package/dist/cjs/{basic-zYGNGrBr.cjs.map → basic-CKVDAV8Q.cjs.map} +1 -1
  56. package/dist/cjs/element.css +3 -0
  57. package/dist/cjs/index.cjs +1 -1
  58. package/dist/cjs/index.cjs.map +1 -1
  59. package/dist/cjs/style.cjs +1 -0
  60. package/dist/es/Button-DSKisAgZ.js.map +1 -1
  61. package/dist/es/Cascader-Df1d0rtN.js.map +1 -1
  62. package/dist/es/Checkbox-C5Z0Dqkx.js.map +1 -1
  63. package/dist/es/{ConfigProvider-BxTuabDa.js → ConfigProvider-Dd3Oqqvf.js} +2 -1
  64. package/dist/es/{ConfigProvider-BxTuabDa.js.map → ConfigProvider-Dd3Oqqvf.js.map} +1 -1
  65. package/dist/es/ConfigProvider.js +1 -3
  66. package/dist/es/DatePicker-xJSFLg0Y.js.map +1 -1
  67. package/dist/es/Dialog-BvMeOAU9.js.map +1 -1
  68. package/dist/es/Form-V7_olGHq.js.map +1 -1
  69. package/dist/es/FormItem-DCMMnSQO.js +46 -0
  70. package/dist/es/FormItem-DCMMnSQO.js.map +1 -0
  71. package/dist/es/FormItem.js +1 -1
  72. package/dist/es/Input-CQvLBbzQ.js.map +1 -1
  73. package/dist/es/InputNumber-DxMf5l3F.js.map +1 -1
  74. package/dist/es/Pagination-BJEeN66O.js.map +1 -1
  75. package/dist/es/{Select-j0p9vu45.js → Select-BHgPcMvn.js} +9 -5
  76. package/dist/es/Select-BHgPcMvn.js.map +1 -0
  77. package/dist/es/Select.js +1 -1
  78. package/dist/es/TabPane-B_fsTqWm.js.map +1 -1
  79. package/dist/es/Table-Dz_FhW7c.js.map +1 -1
  80. package/dist/es/Tabs-COmnZvj1.js.map +1 -1
  81. package/dist/es/Upload-B9QtDZhT.js.map +1 -1
  82. package/dist/es/{XButtonAsync-BviM8veU.js → XButtonAsync-DN6-j4VG.js} +2 -1
  83. package/dist/es/{XButtonAsync-BviM8veU.js.map → XButtonAsync-DN6-j4VG.js.map} +1 -1
  84. package/dist/es/XButtonAsync.js +1 -20
  85. package/dist/es/{XButtonConfirm-DSM0d3kM.js → XButtonConfirm-D8UkJz_d.js} +4 -1
  86. package/dist/es/XButtonConfirm-D8UkJz_d.js.map +1 -0
  87. package/dist/es/XButtonConfirm.js +1 -20
  88. package/dist/es/{XCascaderRequest-BEEB6g1U.js → XCascaderRequest-Bsvfwf28.js} +2 -1
  89. package/dist/es/{XCascaderRequest-BEEB6g1U.js.map → XCascaderRequest-Bsvfwf28.js.map} +1 -1
  90. package/dist/es/XCascaderRequest.js +1 -20
  91. package/dist/es/{XFormFlex-9D3LLGS3.js → XFormFlex-CeKL-p1x.js} +2 -1
  92. package/dist/es/{XFormFlex-9D3LLGS3.js.map → XFormFlex-CeKL-p1x.js.map} +1 -1
  93. package/dist/es/XFormFlex.js +1 -20
  94. package/dist/es/{XFormRequestNext-r2w94D_g.js → XFormRequestNext-ClKFsdRJ.js} +2 -1
  95. package/dist/es/{XFormRequestNext-r2w94D_g.js.map → XFormRequestNext-ClKFsdRJ.js.map} +1 -1
  96. package/dist/es/XFormRequestNext.js +1 -20
  97. package/dist/es/XRequest-qctTVADK.js.map +1 -1
  98. package/dist/es/{XSelectRequest-D_GWLwZd.js → XSelectRequest-eDF112KU.js} +3 -2
  99. package/dist/es/{XSelectRequest-D_GWLwZd.js.map → XSelectRequest-eDF112KU.js.map} +1 -1
  100. package/dist/es/XSelectRequest.js +1 -20
  101. package/dist/es/{XTableFlex-BS4kHV1U.js → XTableFlex-IiKO2YNg.js} +2 -1
  102. package/dist/es/{XTableFlex-BS4kHV1U.js.map → XTableFlex-IiKO2YNg.js.map} +1 -1
  103. package/dist/es/XTableFlex.js +1 -20
  104. package/dist/es/XTableRequestConfigNext.js +1 -29
  105. package/dist/es/XTableRequestNext.js +1 -29
  106. package/dist/es/{XUploadOssNext-CrgzDukP.js → XUploadOssNext-yBI5Peoe.js} +2 -1
  107. package/dist/es/{XUploadOssNext-CrgzDukP.js.map → XUploadOssNext-yBI5Peoe.js.map} +1 -1
  108. package/dist/es/XUploadOssNext.js +1 -20
  109. package/dist/es/{advance-DR8SJkbS.js → advance-9IP8swna.js} +11 -11
  110. package/dist/es/{advance-DR8SJkbS.js.map → advance-9IP8swna.js.map} +1 -1
  111. package/dist/es/advance.js +9 -28
  112. package/dist/es/{basic-D15p93oi.js → basic-DvQGCOl7.js} +4 -4
  113. package/dist/es/{basic-D15p93oi.js.map → basic-DvQGCOl7.js.map} +1 -1
  114. package/dist/es/element.css +3 -0
  115. package/dist/es/index.js +5 -14
  116. package/dist/es/index.js.map +1 -1
  117. package/dist/es/style.js +0 -0
  118. package/dist/types/src/advance.d.ts +1 -0
  119. package/dist/types/{components → src/components}/advance/XButtonAsync.vue.d.ts +1 -1
  120. package/dist/types/{components → src/components}/advance/XButtonConfirm.vue.d.ts +1 -1
  121. package/dist/types/{components → src/components}/advance/XCascaderRequest.vue.d.ts +2 -2
  122. package/dist/types/{components → src/components}/advance/XFormFlex.vue.d.ts +1 -1
  123. package/dist/types/{components → src/components}/advance/XFormRequestNext.vue.d.ts +1 -1
  124. package/dist/types/{components → src/components}/advance/XRequest.vue.d.ts +1 -1
  125. package/dist/types/{components → src/components}/advance/XSelectRequest.vue.d.ts +2 -2
  126. package/dist/types/{components → src/components}/advance/XTableFlex.vue.d.ts +1 -1
  127. package/dist/types/{components → src/components}/advance/XTableRequestConfigNext.vue.d.ts +2 -2
  128. package/dist/types/{components → src/components}/advance/XTableRequestNext.vue.d.ts +3 -3
  129. package/dist/types/{components → src/components}/advance/XUploadOssNext.vue.d.ts +1 -1
  130. package/dist/types/src/components/advance.d.ts +38 -0
  131. package/dist/types/{components → src/components}/basic/DatePicker.vue.d.ts +1 -1
  132. package/dist/types/{components → src/components}/basic/FormItem.vue.d.ts +1 -0
  133. package/dist/types/{components → src/components}/basic/Input.vue.d.ts +1 -1
  134. package/dist/types/{components → src/components}/basic/Select.vue.d.ts +1 -1
  135. package/dist/types/{components → src/components}/basic/Tabs.vue.d.ts +1 -1
  136. package/dist/types/src/components/basic.d.ts +33 -0
  137. package/dist/types/{constants → src/constants}/index.d.ts +2 -2
  138. package/dist/types/src/index.d.ts +6 -0
  139. package/dist/types/{install.d.ts → src/install.d.ts} +2 -2
  140. package/dist/types/src/style.d.ts +0 -0
  141. package/dist/types/{types.d.ts → src/types.d.ts} +1 -1
  142. package/package.json +18 -11
  143. package/dist/cjs/ConfigProvider-BWSlnOEd.cjs +0 -2
  144. package/dist/cjs/FormItem-DhNzkWS8.cjs +0 -2
  145. package/dist/cjs/FormItem-DhNzkWS8.cjs.map +0 -1
  146. package/dist/cjs/Select-CbFsXS-J.cjs.map +0 -1
  147. package/dist/cjs/XButtonAsync-CYYCezyy.cjs +0 -2
  148. package/dist/cjs/XButtonConfirm-EMbf8Yjy.cjs +0 -2
  149. package/dist/cjs/XButtonConfirm-EMbf8Yjy.cjs.map +0 -1
  150. package/dist/cjs/XCascaderRequest-CEJzu7XX.cjs +0 -2
  151. package/dist/cjs/XFormFlex-DsCIkIQO.cjs +0 -2
  152. package/dist/cjs/XFormRequestNext-DWe3ZGx1.cjs +0 -2
  153. package/dist/cjs/XSelectRequest-Dcfq8af2.cjs +0 -2
  154. package/dist/cjs/XTableFlex-CI8kSati.cjs +0 -2
  155. package/dist/cjs/XUploadOssNext-WuvoSDF9.cjs +0 -2
  156. package/dist/es/FormItem-Cv-aJSKR.js +0 -41
  157. package/dist/es/FormItem-Cv-aJSKR.js.map +0 -1
  158. package/dist/es/Select-j0p9vu45.js.map +0 -1
  159. package/dist/es/XButtonConfirm-DSM0d3kM.js.map +0 -1
  160. package/dist/types/advance.d.ts +0 -1
  161. package/dist/types/components/advance.d.ts +0 -38
  162. package/dist/types/components/basic.d.ts +0 -33
  163. package/dist/types/index.d.ts +0 -6
  164. /package/dist/types/{components → src/components}/basic/Button.vue.d.ts +0 -0
  165. /package/dist/types/{components → src/components}/basic/Cascader.vue.d.ts +0 -0
  166. /package/dist/types/{components → src/components}/basic/Checkbox.vue.d.ts +0 -0
  167. /package/dist/types/{components → src/components}/basic/ConfigProvider.vue.d.ts +0 -0
  168. /package/dist/types/{components → src/components}/basic/Dialog.vue.d.ts +0 -0
  169. /package/dist/types/{components → src/components}/basic/Form.vue.d.ts +0 -0
  170. /package/dist/types/{components → src/components}/basic/InputNumber.vue.d.ts +0 -0
  171. /package/dist/types/{components → src/components}/basic/Pagination.vue.d.ts +0 -0
  172. /package/dist/types/{components → src/components}/basic/TabPane.vue.d.ts +0 -0
  173. /package/dist/types/{components → src/components}/basic/Table.vue.d.ts +0 -0
  174. /package/dist/types/{components → src/components}/basic/Upload.vue.d.ts +0 -0
  175. /package/dist/types/{locales → src/locales}/en.d.ts +0 -0
  176. /package/dist/types/{locales → src/locales}/index.d.ts +0 -0
  177. /package/dist/types/{locales → src/locales}/zh-cn.d.ts +0 -0
  178. /package/dist/types/{resolver.d.ts → src/resolver.d.ts} +0 -0
package/README.md CHANGED
@@ -1,15 +1,136 @@
1
1
  # @pungfe/element
2
+
2
3
  [![npm version][npm-version-src]][npm-version-href]
3
4
  [![npm downloads][npm-downloads-src]][npm-downloads-href]
4
5
 
5
- ## Features
6
+ 基于 [Vue 3](https://vuejs.org/) 与 [Element Plus](https://element-plus.org/) 的组件库:在 Element Plus 之上提供带 **X** 前缀的封装组件(如 `XButton`、`XForm`、`XTable`),并可选注册一组进阶组件(请求表格、异步按钮、OSS 上传等)。
7
+
8
+ ## 特性
9
+
10
+ - **与 Element Plus 对齐**:封装层透传常用 Props / 事件,默认行为可通过全局配置微调(如按钮中文空格、表格溢出提示)。
11
+ - **基础组件**:表单、表格、上传、分页等常用控件的 X 系列封装,开箱即用。
12
+ - **进阶组件(可选)**:通过 `install` 的 `advance: true` 注册,适合列表请求、表单提交、OSS 等场景。
13
+ - **按需样式**:提供 `unplugin-vue-components` 解析器,自动解析组件并引入对应 Element Plus 的 CSS 副作用路径。
14
+ - **TypeScript**:导出类型声明;为全局组件提供类型补充。
15
+ - **国际化**:内置在 Element Plus 语言包上扩展的 `en`、`zhCn` 文案。
16
+
17
+ ## 环境要求
18
+
19
+ 请与下列 **peerDependencies** 版本保持一致(或兼容范围):
20
+
21
+ | 包 | 版本 |
22
+ | --- | --- |
23
+ | `vue` | `^3.5.27` |
24
+ | `element-plus` | `^2.13.1` |
25
+
26
+ ## 安装
27
+
28
+ ```bash
29
+ npm i @pungfe/element element-plus vue
30
+ ```
31
+
32
+ ## 快速开始
33
+
34
+ 全局注册插件(默认只注册**基础组件**);同时引入本库样式(内含 Tailwind 等构建产物):
35
+
36
+ ```ts
37
+ import Element from '@pungfe/element'
38
+ import { createApp } from 'vue'
39
+ import App from './App.vue'
40
+ import '@pungfe/element/style.css'
41
+
42
+ const app = createApp(App)
43
+
44
+ app.use(Element)
45
+ ```
46
+
47
+ ### 注册进阶组件
48
+
49
+ 进阶组件包含如 `XTableRequestNext`、`XFormRequestNext`、`XUploadOssNext` 等,需显式开启:
50
+
51
+ ```ts
52
+ app.use(Element, { advance: true })
53
+ ```
54
+
55
+ ### 全局配置 `ElementConfig`
56
+
57
+ 安装时可传入 `config`,用于合并默认的按钮、表格等全局行为(具体字段见包内导出的 `ElementConfig` 类型):
58
+
59
+ ```ts
60
+ app.use(Element, {
61
+ config: {
62
+ button: { autoInsertSpace: false },
63
+ table: { showOverflowTooltip: false }
64
+ // oss: { ... } // 供上传等进阶能力使用
65
+ }
66
+ })
67
+ ```
68
+
69
+ ### 国际化(Element Plus)
70
+
71
+ 从本库导出扩展后的语言包,配合 `el-config-provider` 使用:
72
+
73
+ ```ts
74
+ import { zhCn } from '@pungfe/element'
75
+
76
+ // 在模板中:<el-config-provider :locale="zhCn">...</el-config-provider>
77
+ ```
78
+
79
+ 英文为 `en`。
80
+
81
+ ## 按需引入(推荐)
82
+
83
+ 使用 [unplugin-vue-components](https://github.com/antfu/unplugin-vue-components) 时,可引入解析器,自动处理组件与 Element Plus 样式副作用:
84
+
85
+ ```ts
86
+ import ElementResolver from '@pungfe/element/resolver'
87
+ import Components from 'unplugin-vue-components/vite'
88
+
89
+ // vite.config.ts 示例
90
+ export default defineConfig({
91
+ plugins: [
92
+ Components({
93
+ resolvers: [
94
+ ElementResolver()
95
+ // 若使用进阶组件:
96
+ // ElementResolver({ advance: true })
97
+ ]
98
+ })
99
+ ]
100
+ })
101
+ ```
102
+
103
+ 模板中直接使用 `XButton`、`XTable` 等即可;进阶组件解析需 `ElementResolver({ advance: true })`。
104
+
105
+ ## 子路径导出
106
+
107
+ | 路径 | 说明 |
108
+ | --- | --- |
109
+ | `@pungfe/element` | 默认入口:`install`、基础组件、类型、语言包 |
110
+ | `@pungfe/element/advance` | 仅进阶组件(按需静态导入时使用) |
111
+ | `@pungfe/element/resolver` | `unplugin-vue-components` 解析器 |
112
+ | `@pungfe/element/style.css` | 本库样式 |
113
+
114
+ ## 组件一览
115
+
116
+ **基础**:`XButton`、`XCascader`、`XCheckbox`、`XConfigProvider`、`XDatePicker`、`XDialog`、`XForm`、`XFormItem`、`XInput`、`XInputNumber`、`XPagination`、`XSelect`、`XTable`、`XTabs`、`XTabPane`、`XUpload`。
117
+
118
+ **进阶**(`advance: true`):`XButtonAsync`、`XButtonConfirm`、`XCascaderRequest`、`XFormFlex`、`XFormRequestNext`、`XRequest`、`XSelectRequest`、`XTableFlex`、`XTableRequestNext`、`XTableRequestConfigNext`、`XUploadOssNext`。
119
+
120
+ ## 本地开发
6
121
 
7
- ## Install
8
122
  ```bash
9
- npm i @pungfe/element
123
+ npm ci
124
+ npm run build # 输出 dist/(es、cjs、types)
125
+ npm run lint # ESLint
126
+ npm run typecheck
127
+ npm run test # Vitest
10
128
  ```
11
129
 
130
+ 发布流程可通过 `npm run release`(先构建再使用 bumpp 升版)完成;CI 在指向 `main` 的 Push / PR 上会执行 lint、typecheck 与 build。
131
+
12
132
  ## License
133
+
13
134
  [MIT](./LICENSE) License 2026 [FP](https://github.com/pungfe)
14
135
 
15
136
  <!-- Badges -->
@@ -1 +1 @@
1
- {"version":3,"file":"Button-8c-6EPNG.cjs","names":[],"sources":["../../src/components/basic/Button.vue","../../src/components/basic/Button.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { ButtonProps } from 'element-plus'\r\n\r\nimport { ElButton } from 'element-plus'\r\n\r\nexport interface XButtonConfig {\r\n /**\r\n * 两个中文字符之间自动插入空格(仅当文本长度为 2 且所有字符均为中文时才生效)\r\n * @default false\r\n */\r\n autoInsertSpace?: boolean\r\n}\r\n\r\nexport interface XButtonProps {\r\n disabled?: ButtonProps['disabled']\r\n link?: ButtonProps['link']\r\n size?: ButtonProps['size']\r\n text?: ButtonProps['text']\r\n type?: ButtonProps['type']\r\n icon?: ButtonProps['icon']\r\n}\r\n\r\nconst { disabled = undefined, link = undefined } = defineProps<XButtonProps>()\r\n\r\nconst emit = defineEmits<{\r\n click: [e: MouseEvent]\r\n}>()\r\n</script>\r\n\r\n<template>\r\n <ElButton\r\n v-bind=\"{ type, text, link, disabled, size, icon }\"\r\n @click=\"emit('click', $event)\"\r\n >\r\n <slot />\r\n </ElButton>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { ButtonProps } from 'element-plus'\r\n\r\nimport { ElButton } from 'element-plus'\r\n\r\nexport interface XButtonConfig {\r\n /**\r\n * 两个中文字符之间自动插入空格(仅当文本长度为 2 且所有字符均为中文时才生效)\r\n * @default false\r\n */\r\n autoInsertSpace?: boolean\r\n}\r\n\r\nexport interface XButtonProps {\r\n disabled?: ButtonProps['disabled']\r\n link?: ButtonProps['link']\r\n size?: ButtonProps['size']\r\n text?: ButtonProps['text']\r\n type?: ButtonProps['type']\r\n icon?: ButtonProps['icon']\r\n}\r\n\r\nconst { disabled = undefined, link = undefined } = defineProps<XButtonProps>()\r\n\r\nconst emit = defineEmits<{\r\n click: [e: MouseEvent]\r\n}>()\r\n</script>\r\n\r\n<template>\r\n <ElButton\r\n v-bind=\"{ type, text, link, disabled, size, icon }\"\r\n @click=\"emit('click', $event)\"\r\n >\r\n <slot />\r\n </ElButton>\r\n</template>\r\n"],"mappings":"oQCwBA,IAAM,EAAO,gEAWA,EAAA,SAAA,EAAA,EAAA,EAAA,YAAA,CAAA,KAJC,EAAA,KAAI,KAAE,EAAA,KAAI,KAAE,EAAA,KAAI,SAAE,EAAA,SAAQ,KAAE,EAAA,KAAI,KAAE,EAAA,KAAI,CAAA,CAC/C,QAAK,AAAA,EAAA,KAAA,GAAE,EAAI,QAAU,EAAM,CAAA,CAAA,CAAA,2BAEpB,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"Button-8c-6EPNG.cjs","names":[],"sources":["../../src/components/basic/Button.vue","../../src/components/basic/Button.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { ButtonProps } from 'element-plus'\r\n\r\nimport { ElButton } from 'element-plus'\r\n\r\nexport interface XButtonConfig {\r\n /**\r\n * 两个中文字符之间自动插入空格(仅当文本长度为 2 且所有字符均为中文时才生效)\r\n * @default false\r\n */\r\n autoInsertSpace?: boolean\r\n}\r\n\r\nexport interface XButtonProps {\r\n disabled?: ButtonProps['disabled']\r\n link?: ButtonProps['link']\r\n size?: ButtonProps['size']\r\n text?: ButtonProps['text']\r\n type?: ButtonProps['type']\r\n icon?: ButtonProps['icon']\r\n}\r\n\r\nconst { disabled = undefined, link = undefined } = defineProps<XButtonProps>()\r\n\r\nconst emit = defineEmits<{\r\n click: [e: MouseEvent]\r\n}>()\r\n</script>\r\n\r\n<template>\r\n <ElButton\r\n v-bind=\"{ type, text, link, disabled, size, icon }\"\r\n @click=\"emit('click', $event)\"\r\n >\r\n <slot />\r\n </ElButton>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { ButtonProps } from 'element-plus'\r\n\r\nimport { ElButton } from 'element-plus'\r\n\r\nexport interface XButtonConfig {\r\n /**\r\n * 两个中文字符之间自动插入空格(仅当文本长度为 2 且所有字符均为中文时才生效)\r\n * @default false\r\n */\r\n autoInsertSpace?: boolean\r\n}\r\n\r\nexport interface XButtonProps {\r\n disabled?: ButtonProps['disabled']\r\n link?: ButtonProps['link']\r\n size?: ButtonProps['size']\r\n text?: ButtonProps['text']\r\n type?: ButtonProps['type']\r\n icon?: ButtonProps['icon']\r\n}\r\n\r\nconst { disabled = undefined, link = undefined } = defineProps<XButtonProps>()\r\n\r\nconst emit = defineEmits<{\r\n click: [e: MouseEvent]\r\n}>()\r\n</script>\r\n\r\n<template>\r\n <ElButton\r\n v-bind=\"{ type, text, link, disabled, size, icon }\"\r\n @click=\"emit('click', $event)\"\r\n >\r\n <slot />\r\n </ElButton>\r\n</template>\r\n"],"mappings":"oQAwBA,IAAM,EAAO,gEAWA,EAAA,SAAA,EAAA,EAAA,EAAA,YAAA,CAAA,KAJC,EAAA,KAAI,KAAE,EAAA,KAAI,KAAE,EAAA,KAAI,SAAE,EAAA,SAAQ,KAAE,EAAA,KAAI,KAAE,EAAA,KAAI,CAAA,CAC/C,QAAK,AAAA,EAAA,KAAA,GAAE,EAAI,QAAU,EAAM,CAAA,CAAA,CAAA,2BAEpB,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Cascader-CwDh-TjU.cjs","names":[],"sources":["../../src/components/basic/Cascader.vue","../../src/components/basic/Cascader.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"D, V, MV extends V | V[]\">\r\nimport type { CascaderComponentProps, CascaderNodeValue, CascaderOption } from 'element-plus'\r\n\r\nimport { ElCascader, useLocale } from 'element-plus'\r\nimport { computed, inject, watchEffect } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XCascaderOptionProps<D, V> {\r\n children?: D[]\r\n disabled?: boolean\r\n label?: number | string\r\n value: V\r\n leaf?: boolean\r\n}\r\n\r\nexport interface XCascaderProps<D, V> {\r\n data?: D[]\r\n factory?: (option: D, level: number) => XCascaderOptionProps<D, V>\r\n\r\n clearable?: CascaderComponentProps['clearable']\r\n disabled?: CascaderComponentProps['disabled']\r\n filterable?: CascaderComponentProps['filterable']\r\n size?: CascaderComponentProps['size']\r\n placeholder?: CascaderComponentProps['placeholder']\r\n props?: CascaderComponentProps['props']\r\n}\r\n\r\nconst { data, disabled = undefined } = defineProps<XCascaderProps<D, V>>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst model = defineModel<MV>()\r\n\r\nconst options = computed(() => (data ?? []) as CascaderOption[])\r\n\r\nconst localModel = computed({\r\n get: () => model.value as CascaderNodeValue,\r\n set: (value) => {\r\n model.value = value as MV\r\n }\r\n})\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value || (Array.isArray(model.value) && model.value.length === 0)) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nwatchEffect(() => {\r\n console.log(options.value)\r\n})\r\n</script>\r\n\r\n<template>\r\n <ElCascader v-model=\"localModel\" v-bind=\"{ clearable, disabled, filterable, size, options, props, placeholder: placeholder ?? t('el.select.placeholder') }\" />\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"D, V, MV extends V | V[]\">\r\nimport type { CascaderComponentProps, CascaderNodeValue, CascaderOption } from 'element-plus'\r\n\r\nimport { ElCascader, useLocale } from 'element-plus'\r\nimport { computed, inject, watchEffect } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XCascaderOptionProps<D, V> {\r\n children?: D[]\r\n disabled?: boolean\r\n label?: number | string\r\n value: V\r\n leaf?: boolean\r\n}\r\n\r\nexport interface XCascaderProps<D, V> {\r\n data?: D[]\r\n factory?: (option: D, level: number) => XCascaderOptionProps<D, V>\r\n\r\n clearable?: CascaderComponentProps['clearable']\r\n disabled?: CascaderComponentProps['disabled']\r\n filterable?: CascaderComponentProps['filterable']\r\n size?: CascaderComponentProps['size']\r\n placeholder?: CascaderComponentProps['placeholder']\r\n props?: CascaderComponentProps['props']\r\n}\r\n\r\nconst { data, disabled = undefined } = defineProps<XCascaderProps<D, V>>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst model = defineModel<MV>()\r\n\r\nconst options = computed(() => (data ?? []) as CascaderOption[])\r\n\r\nconst localModel = computed({\r\n get: () => model.value as CascaderNodeValue,\r\n set: (value) => {\r\n model.value = value as MV\r\n }\r\n})\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value || (Array.isArray(model.value) && model.value.length === 0)) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nwatchEffect(() => {\r\n console.log(options.value)\r\n})\r\n</script>\r\n\r\n<template>\r\n <ElCascader v-model=\"localModel\" v-bind=\"{ clearable, disabled, filterable, size, options, props, placeholder: placeholder ?? t('el.select.placeholder') }\" />\r\n</template>\r\n"],"mappings":"0YC+BA,GAAM,CAAE,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,QADc,EAAA,EAAgB,CACP,CAEzB,GAAA,EAAA,EAAA,UAAuB,EAAA,aAAE,CAEzB,GAAA,EAAA,EAAA,cAA0B,EAAA,MAAQ,EAAuB,CAAC,CAE1D,GAAA,EAAA,EAAA,UAAsB,CAC1B,QAAW,EAAM,MACjB,IAAM,GAAU,CACd,EAAM,MAAQ,GAEjB,CAAC,CAEI,GAAA,EAAA,EAAA,QAA4B,EAAA,EAAwB,IAAA,GAAU,CACpE,GAAI,GAAoB,SAAU,CAChC,GAAM,CAAE,QAAO,aAAc,EAC7B,EAAmB,cACb,CAAC,EAAM,OAAU,MAAM,QAAQ,EAAM,MAAM,EAAI,EAAM,MAAM,SAAW,EACjE,MAAM,IAER,KAAa,QAIxB,EAAA,EAAA,iBAAkB,CAChB,QAAQ,IAAI,EAAQ,MAAM,EAC1B,yDAI8J,EAAA,WAAA,EAAA,EAAA,EAAA,YAAA,YAAzI,EAAA,sCAAA,EAAU,MAAA,cAAY,EAAA,UAAS,SAAE,EAAA,SAAQ,WAAE,EAAA,WAAU,KAAE,EAAA,KAAI,QAAE,EAAA,MAAO,MAAE,EAAA,MAAK,YAAe,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,wBAAA,CAAA,CAAA,CAAA,KAAA,GAAA,CAAA,aAAA,CAAA"}
1
+ {"version":3,"file":"Cascader-CwDh-TjU.cjs","names":[],"sources":["../../src/components/basic/Cascader.vue","../../src/components/basic/Cascader.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"D, V, MV extends V | V[]\">\r\nimport type { CascaderComponentProps, CascaderNodeValue, CascaderOption } from 'element-plus'\r\n\r\nimport { ElCascader, useLocale } from 'element-plus'\r\nimport { computed, inject, watchEffect } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XCascaderOptionProps<D, V> {\r\n children?: D[]\r\n disabled?: boolean\r\n label?: number | string\r\n value: V\r\n leaf?: boolean\r\n}\r\n\r\nexport interface XCascaderProps<D, V> {\r\n data?: D[]\r\n factory?: (option: D, level: number) => XCascaderOptionProps<D, V>\r\n\r\n clearable?: CascaderComponentProps['clearable']\r\n disabled?: CascaderComponentProps['disabled']\r\n filterable?: CascaderComponentProps['filterable']\r\n size?: CascaderComponentProps['size']\r\n placeholder?: CascaderComponentProps['placeholder']\r\n props?: CascaderComponentProps['props']\r\n}\r\n\r\nconst { data, disabled = undefined } = defineProps<XCascaderProps<D, V>>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst model = defineModel<MV>()\r\n\r\nconst options = computed(() => (data ?? []) as CascaderOption[])\r\n\r\nconst localModel = computed({\r\n get: () => model.value as CascaderNodeValue,\r\n set: (value) => {\r\n model.value = value as MV\r\n }\r\n})\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value || (Array.isArray(model.value) && model.value.length === 0)) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nwatchEffect(() => {\r\n console.log(options.value)\r\n})\r\n</script>\r\n\r\n<template>\r\n <ElCascader v-model=\"localModel\" v-bind=\"{ clearable, disabled, filterable, size, options, props, placeholder: placeholder ?? t('el.select.placeholder') }\" />\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"D, V, MV extends V | V[]\">\r\nimport type { CascaderComponentProps, CascaderNodeValue, CascaderOption } from 'element-plus'\r\n\r\nimport { ElCascader, useLocale } from 'element-plus'\r\nimport { computed, inject, watchEffect } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XCascaderOptionProps<D, V> {\r\n children?: D[]\r\n disabled?: boolean\r\n label?: number | string\r\n value: V\r\n leaf?: boolean\r\n}\r\n\r\nexport interface XCascaderProps<D, V> {\r\n data?: D[]\r\n factory?: (option: D, level: number) => XCascaderOptionProps<D, V>\r\n\r\n clearable?: CascaderComponentProps['clearable']\r\n disabled?: CascaderComponentProps['disabled']\r\n filterable?: CascaderComponentProps['filterable']\r\n size?: CascaderComponentProps['size']\r\n placeholder?: CascaderComponentProps['placeholder']\r\n props?: CascaderComponentProps['props']\r\n}\r\n\r\nconst { data, disabled = undefined } = defineProps<XCascaderProps<D, V>>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst model = defineModel<MV>()\r\n\r\nconst options = computed(() => (data ?? []) as CascaderOption[])\r\n\r\nconst localModel = computed({\r\n get: () => model.value as CascaderNodeValue,\r\n set: (value) => {\r\n model.value = value as MV\r\n }\r\n})\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value || (Array.isArray(model.value) && model.value.length === 0)) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nwatchEffect(() => {\r\n console.log(options.value)\r\n})\r\n</script>\r\n\r\n<template>\r\n <ElCascader v-model=\"localModel\" v-bind=\"{ clearable, disabled, filterable, size, options, props, placeholder: placeholder ?? t('el.select.placeholder') }\" />\r\n</template>\r\n"],"mappings":"0YA+BA,GAAM,CAAE,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,QADc,EAAA,EAAgB,CACP,CAEzB,GAAA,EAAA,EAAA,UAAuB,EAAA,aAAE,CAEzB,GAAA,EAAA,EAAA,cAA0B,EAAA,MAAQ,EAAuB,CAAC,CAE1D,GAAA,EAAA,EAAA,UAAsB,CAC1B,QAAW,EAAM,MACjB,IAAM,GAAU,CACd,EAAM,MAAQ,GAEjB,CAAC,CAEI,GAAA,EAAA,EAAA,QAA4B,EAAA,EAAwB,IAAA,GAAU,CACpE,GAAI,GAAoB,SAAU,CAChC,GAAM,CAAE,QAAO,aAAc,EAC7B,EAAmB,cACb,CAAC,EAAM,OAAU,MAAM,QAAQ,EAAM,MAAM,EAAI,EAAM,MAAM,SAAW,EACjE,MAAM,IAER,KAAa,QAIxB,EAAA,EAAA,iBAAkB,CAChB,QAAQ,IAAI,EAAQ,MAAM,EAC1B,yDAI8J,EAAA,WAAA,EAAA,EAAA,EAAA,YAAA,YAAzI,EAAA,sCAAA,EAAU,MAAA,cAAY,EAAA,UAAS,SAAE,EAAA,SAAQ,WAAE,EAAA,WAAU,KAAE,EAAA,KAAI,QAAE,EAAA,MAAO,MAAE,EAAA,MAAK,YAAe,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,wBAAA,CAAA,CAAA,CAAA,KAAA,GAAA,CAAA,aAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox-CNcwptzq.cjs","names":[],"sources":["../../src/components/basic/Checkbox.vue","../../src/components/basic/Checkbox.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { CheckboxProps, CheckboxValueType } from 'element-plus'\r\nimport { ElCheckbox } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION } from '@/constants'\r\n\r\nexport interface XCheckboxProps {\r\n disabled?: boolean\r\n size?: CheckboxProps['size']\r\n label?: CheckboxProps['label']\r\n trueValue?: CheckboxProps['trueValue']\r\n falseValue?: CheckboxProps['falseValue']\r\n}\r\n\r\nconst { disabled = undefined } = defineProps<XCheckboxProps>()\r\n\r\ndefineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\n\r\nconst model = defineModel<CheckboxValueType>()\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElCheckbox v-bind=\"{ disabled }\" v-model=\"model\" />\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { CheckboxProps, CheckboxValueType } from 'element-plus'\r\nimport { ElCheckbox } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION } from '@/constants'\r\n\r\nexport interface XCheckboxProps {\r\n disabled?: boolean\r\n size?: CheckboxProps['size']\r\n label?: CheckboxProps['label']\r\n trueValue?: CheckboxProps['trueValue']\r\n falseValue?: CheckboxProps['falseValue']\r\n}\r\n\r\nconst { disabled = undefined } = defineProps<XCheckboxProps>()\r\n\r\ndefineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\n\r\nconst model = defineModel<CheckboxValueType>()\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElCheckbox v-bind=\"{ disabled }\" v-model=\"model\" />\r\n</template>\r\n"],"mappings":"saCsBA,IAAM,GAAA,EAAA,EAAA,UAAsC,EAAA,aAAE,CAExC,GAAA,EAAA,EAAA,QAA4B,EAAA,EAAwB,IAAA,GAAU,CACpE,GAAI,GAAoB,SAAU,CAChC,GAAM,CAAE,QAAO,aAAc,EAC7B,EAAmB,cACZ,EAAM,MAGJ,KAAa,CAFX,MAAM,kEAQmC,EAAA,WAAA,EAAA,EAAA,EAAA,YAAA,CAAA,SAA9B,EAAA,SAAQ,CAAA,YAAa,EAAA,sCAAA,EAAK,MAAA"}
1
+ {"version":3,"file":"Checkbox-CNcwptzq.cjs","names":[],"sources":["../../src/components/basic/Checkbox.vue","../../src/components/basic/Checkbox.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { CheckboxProps, CheckboxValueType } from 'element-plus'\r\nimport { ElCheckbox } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION } from '@/constants'\r\n\r\nexport interface XCheckboxProps {\r\n disabled?: boolean\r\n size?: CheckboxProps['size']\r\n label?: CheckboxProps['label']\r\n trueValue?: CheckboxProps['trueValue']\r\n falseValue?: CheckboxProps['falseValue']\r\n}\r\n\r\nconst { disabled = undefined } = defineProps<XCheckboxProps>()\r\n\r\ndefineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\n\r\nconst model = defineModel<CheckboxValueType>()\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElCheckbox v-bind=\"{ disabled }\" v-model=\"model\" />\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { CheckboxProps, CheckboxValueType } from 'element-plus'\r\nimport { ElCheckbox } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION } from '@/constants'\r\n\r\nexport interface XCheckboxProps {\r\n disabled?: boolean\r\n size?: CheckboxProps['size']\r\n label?: CheckboxProps['label']\r\n trueValue?: CheckboxProps['trueValue']\r\n falseValue?: CheckboxProps['falseValue']\r\n}\r\n\r\nconst { disabled = undefined } = defineProps<XCheckboxProps>()\r\n\r\ndefineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\n\r\nconst model = defineModel<CheckboxValueType>()\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElCheckbox v-bind=\"{ disabled }\" v-model=\"model\" />\r\n</template>\r\n"],"mappings":"saAsBA,IAAM,GAAA,EAAA,EAAA,UAAsC,EAAA,aAAE,CAExC,GAAA,EAAA,EAAA,QAA4B,EAAA,EAAwB,IAAA,GAAU,CACpE,GAAI,GAAoB,SAAU,CAChC,GAAM,CAAE,QAAO,aAAc,EAC7B,EAAmB,cACZ,EAAM,MAGJ,KAAa,CAFX,MAAM,kEAQmC,EAAA,WAAA,EAAA,EAAA,EAAA,YAAA,CAAA,SAA9B,EAAA,SAAQ,CAAA,YAAa,EAAA,sCAAA,EAAK,MAAA"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./constants-CYUPXiMy.cjs`),t=require(`./zh-cn-CF-yyg2O.cjs`);require(`./index2.cjs`);let n=require(`vue`);var r=(0,n.defineComponent)({__name:`ConfigProvider`,props:{locale:{}},setup(r){return(0,n.provide)(e.l,(0,n.computed)(()=>r.locale??t.t)),(e,t)=>(0,n.renderSlot)(e.$slots,`default`)}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
2
+ //# sourceMappingURL=ConfigProvider-CyWiC5MP.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigProvider-BWSlnOEd.cjs","names":[],"sources":["../../src/components/basic/ConfigProvider.vue","../../src/components/basic/ConfigProvider.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { ConfigProviderProps } from 'element-plus'\r\nimport { computed, provide } from 'vue'\r\nimport { X_LOCALE_CONFIG } from '@/constants'\r\n\r\nimport { zhCn } from '@/locales'\r\n\r\nconst { locale } = defineProps<XConfigProviderProps>()\r\n\r\nexport interface XConfigProviderProps {\r\n locale?: ConfigProviderProps['locale']\r\n}\r\n\r\nconst localLocale = computed(() => locale ?? zhCn)\r\n\r\nprovide(X_LOCALE_CONFIG, localLocale)\r\n</script>\r\n\r\n<template>\r\n <slot></slot>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { ConfigProviderProps } from 'element-plus'\r\nimport { computed, provide } from 'vue'\r\nimport { X_LOCALE_CONFIG } from '@/constants'\r\n\r\nimport { zhCn } from '@/locales'\r\n\r\nconst { locale } = defineProps<XConfigProviderProps>()\r\n\r\nexport interface XConfigProviderProps {\r\n locale?: ConfigProviderProps['locale']\r\n}\r\n\r\nconst localLocale = computed(() => locale ?? zhCn)\r\n\r\nprovide(X_LOCALE_CONFIG, localLocale)\r\n</script>\r\n\r\n<template>\r\n <slot></slot>\r\n</template>\r\n"],"mappings":"0LCeA,EAAA,EAAA,SAAQ,EAAA,GAAA,EAAA,EAAA,cAF2B,EAAA,QAAU,EAAA,EAAK,CAEb,yBAItB,EAAA,OAAA,UAAA"}
1
+ {"version":3,"file":"ConfigProvider-CyWiC5MP.cjs","names":[],"sources":["../../src/components/basic/ConfigProvider.vue","../../src/components/basic/ConfigProvider.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { ConfigProviderProps } from 'element-plus'\r\nimport { computed, provide } from 'vue'\r\nimport { X_LOCALE_CONFIG } from '@/constants'\r\n\r\nimport { zhCn } from '@/locales'\r\n\r\nconst { locale } = defineProps<XConfigProviderProps>()\r\n\r\nexport interface XConfigProviderProps {\r\n locale?: ConfigProviderProps['locale']\r\n}\r\n\r\nconst localLocale = computed(() => locale ?? zhCn)\r\n\r\nprovide(X_LOCALE_CONFIG, localLocale)\r\n</script>\r\n\r\n<template>\r\n <slot></slot>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { ConfigProviderProps } from 'element-plus'\r\nimport { computed, provide } from 'vue'\r\nimport { X_LOCALE_CONFIG } from '@/constants'\r\n\r\nimport { zhCn } from '@/locales'\r\n\r\nconst { locale } = defineProps<XConfigProviderProps>()\r\n\r\nexport interface XConfigProviderProps {\r\n locale?: ConfigProviderProps['locale']\r\n}\r\n\r\nconst localLocale = computed(() => locale ?? zhCn)\r\n\r\nprovide(X_LOCALE_CONFIG, localLocale)\r\n</script>\r\n\r\n<template>\r\n <slot></slot>\r\n</template>\r\n"],"mappings":"kNAeA,EAAA,EAAA,SAAQ,EAAA,GAAA,EAAA,EAAA,cAF2B,EAAA,QAAU,EAAA,EAAK,CAEb,yBAItB,EAAA,OAAA,UAAA"}
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`./en-Da0_dekZ.cjs`),require(`./zh-cn-CF-yyg2O.cjs`);const e=require(`./ConfigProvider-BWSlnOEd.cjs`);exports.default=e.t;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./ConfigProvider-CyWiC5MP.cjs`);exports.default=e.t;
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker-pKtnPDXe.cjs","names":["$emit"],"sources":["../../src/components/basic/DatePicker.vue","../../src/components/basic/DatePicker.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"V extends string\">\r\nimport type { DatePickerProps } from 'element-plus'\r\nimport { ElConfigProvider, ElDatePicker, useLocale } from 'element-plus'\r\nimport { computed, inject, useAttrs } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XDatePickerProps {\r\n disabled?: boolean\r\n disabledDate?: DatePickerProps['disabledDate']\r\n endPlaceholder?: DatePickerProps['endPlaceholder']\r\n placeholder?: DatePickerProps['placeholder']\r\n shortcuts?: DatePickerProps['shortcuts']\r\n startPlaceholder?: DatePickerProps['startPlaceholder']\r\n type?: DatePickerProps['type']\r\n valueFormat?: DatePickerProps['valueFormat']\r\n}\r\n\r\nconst { type = 'date', disabled = undefined } = defineProps<XDatePickerProps>()\r\n\r\ndefineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\n\r\nconst attrs = useAttrs()\r\nconst model = defineModel<V>()\r\nconst start = defineModel<V>('start')\r\nconst end = defineModel<V>('end')\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst modelValue = computed({\r\n get() {\r\n if (type.includes('range') && start.value && end.value) {\r\n return [start.value, end.value]\r\n }\r\n else if (!type.includes('range')) {\r\n return model.value\r\n }\r\n return null\r\n },\r\n set(value) {\r\n if (type.includes('range') && Array.isArray(value)) {\r\n start.value = value?.[0] as V\r\n end.value = value?.[1] as V\r\n }\r\n else {\r\n model.value = value as V\r\n }\r\n }\r\n})\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (type.includes('range') && (!start.value || !end.value)) {\r\n return `请选择${label}`\r\n }\r\n else if (!model.value) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElConfigProvider :locale=\"locale\">\r\n <ElDatePicker\r\n v-bind=\"{\r\n disabled,\r\n disabledDate,\r\n type,\r\n valueFormat,\r\n placeholder: placeholder ?? t('el.datepicker.placeholder'),\r\n startPlaceholder: placeholder ?? t('el.datepicker.startPlaceholder'),\r\n endPlaceholder: placeholder ?? t('el.datepicker.endPlaceholder'),\r\n shortcuts,\r\n ...attrs,\r\n }\"\r\n v-model=\"modelValue\"\r\n @blur=\"$emit('blur', $event)\"\r\n @focus=\"$emit('focus', $event)\"\r\n />\r\n </ElConfigProvider>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"V extends string\">\r\nimport type { DatePickerProps } from 'element-plus'\r\nimport { ElConfigProvider, ElDatePicker, useLocale } from 'element-plus'\r\nimport { computed, inject, useAttrs } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XDatePickerProps {\r\n disabled?: boolean\r\n disabledDate?: DatePickerProps['disabledDate']\r\n endPlaceholder?: DatePickerProps['endPlaceholder']\r\n placeholder?: DatePickerProps['placeholder']\r\n shortcuts?: DatePickerProps['shortcuts']\r\n startPlaceholder?: DatePickerProps['startPlaceholder']\r\n type?: DatePickerProps['type']\r\n valueFormat?: DatePickerProps['valueFormat']\r\n}\r\n\r\nconst { type = 'date', disabled = undefined } = defineProps<XDatePickerProps>()\r\n\r\ndefineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\n\r\nconst attrs = useAttrs()\r\nconst model = defineModel<V>()\r\nconst start = defineModel<V>('start')\r\nconst end = defineModel<V>('end')\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst modelValue = computed({\r\n get() {\r\n if (type.includes('range') && start.value && end.value) {\r\n return [start.value, end.value]\r\n }\r\n else if (!type.includes('range')) {\r\n return model.value\r\n }\r\n return null\r\n },\r\n set(value) {\r\n if (type.includes('range') && Array.isArray(value)) {\r\n start.value = value?.[0] as V\r\n end.value = value?.[1] as V\r\n }\r\n else {\r\n model.value = value as V\r\n }\r\n }\r\n})\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (type.includes('range') && (!start.value || !end.value)) {\r\n return `请选择${label}`\r\n }\r\n else if (!model.value) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElConfigProvider :locale=\"locale\">\r\n <ElDatePicker\r\n v-bind=\"{\r\n disabled,\r\n disabledDate,\r\n type,\r\n valueFormat,\r\n placeholder: placeholder ?? t('el.datepicker.placeholder'),\r\n startPlaceholder: placeholder ?? t('el.datepicker.startPlaceholder'),\r\n endPlaceholder: placeholder ?? t('el.datepicker.endPlaceholder'),\r\n shortcuts,\r\n ...attrs,\r\n }\"\r\n v-model=\"modelValue\"\r\n @blur=\"$emit('blur', $event)\"\r\n @focus=\"$emit('focus', $event)\"\r\n />\r\n </ElConfigProvider>\r\n</template>\r\n"],"mappings":"kgBCyBA,IAAM,GAAA,EAAA,EAAA,WAAkB,CAClB,GAAA,EAAA,EAAA,UAAsB,EAAA,aAAE,CACxB,GAAA,EAAA,EAAA,UAAsB,EAAC,QAAQ,CAC/B,GAAA,EAAA,EAAA,UAAoB,EAAC,MAAM,CAE3B,GAAA,EAAA,EAAA,QAAgB,EAAA,EAAgB,CAChC,CAAE,MAAA,EAAA,EAAA,WAAgB,EAAO,CAEzB,GAAA,EAAA,EAAA,UAAsB,CAC1B,KAAM,CAOJ,OANI,EAAA,KAAK,SAAS,QAAQ,EAAI,EAAM,OAAS,EAAI,MACxC,CAAC,EAAM,MAAO,EAAI,MAAM,CAEvB,EAAA,KAAK,SAAS,QAAQ,CAGzB,KAFE,EAAM,OAIjB,IAAI,EAAO,CACL,EAAA,KAAK,SAAS,QAAQ,EAAI,MAAM,QAAQ,EAAM,EAChD,EAAM,MAAQ,IAAQ,GACtB,EAAI,MAAQ,IAAQ,IAGpB,EAAM,MAAQ,GAGnB,CAAC,CAEI,GAAA,EAAA,EAAA,QAA4B,EAAA,EAAwB,IAAA,GAAU,CACpE,GAAI,GAAoB,SAAU,CAChC,GAAM,CAAE,QAAO,aAAc,EAC7B,EAAmB,cACb,EAAA,KAAK,SAAS,QAAQ,GAAK,CAAC,EAAM,OAAS,CAAC,EAAI,OAC3C,MAAM,IAEL,EAAM,MAGT,KAAa,CAFX,MAAM,kEAyBE,EAAA,iBAAA,CAAA,CAjBA,QAAA,EAAA,EAAA,OAAQ,EAAA,CAAM,CAAA,2BAgB7B,EAAA,EAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,aAAA,EAAA,EAAA,EAAA,YAAA,UAdmB,EAAA,sBAAmB,EAAA,kBAAuB,EAAA,iBAAe,EAAA,wBAAmC,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,4BAAA,kBAA0D,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,iCAAA,gBAA6D,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,+BAAA,WAA2C,EAAA,yBAAuB,EAAA,cAW/U,EAAA,sCAAA,EAAU,MAAA,EAClB,OAAI,AAAA,EAAA,KAAA,GAAEA,EAAAA,MAAK,OAAS,EAAM,CAC1B,QAAK,AAAA,EAAA,KAAA,GAAEA,EAAAA,MAAK,QAAU,EAAM"}
1
+ {"version":3,"file":"DatePicker-pKtnPDXe.cjs","names":["$emit"],"sources":["../../src/components/basic/DatePicker.vue","../../src/components/basic/DatePicker.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"V extends string\">\r\nimport type { DatePickerProps } from 'element-plus'\r\nimport { ElConfigProvider, ElDatePicker, useLocale } from 'element-plus'\r\nimport { computed, inject, useAttrs } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XDatePickerProps {\r\n disabled?: boolean\r\n disabledDate?: DatePickerProps['disabledDate']\r\n endPlaceholder?: DatePickerProps['endPlaceholder']\r\n placeholder?: DatePickerProps['placeholder']\r\n shortcuts?: DatePickerProps['shortcuts']\r\n startPlaceholder?: DatePickerProps['startPlaceholder']\r\n type?: DatePickerProps['type']\r\n valueFormat?: DatePickerProps['valueFormat']\r\n}\r\n\r\nconst { type = 'date', disabled = undefined } = defineProps<XDatePickerProps>()\r\n\r\ndefineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\n\r\nconst attrs = useAttrs()\r\nconst model = defineModel<V>()\r\nconst start = defineModel<V>('start')\r\nconst end = defineModel<V>('end')\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst modelValue = computed({\r\n get() {\r\n if (type.includes('range') && start.value && end.value) {\r\n return [start.value, end.value]\r\n }\r\n else if (!type.includes('range')) {\r\n return model.value\r\n }\r\n return null\r\n },\r\n set(value) {\r\n if (type.includes('range') && Array.isArray(value)) {\r\n start.value = value?.[0] as V\r\n end.value = value?.[1] as V\r\n }\r\n else {\r\n model.value = value as V\r\n }\r\n }\r\n})\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (type.includes('range') && (!start.value || !end.value)) {\r\n return `请选择${label}`\r\n }\r\n else if (!model.value) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElConfigProvider :locale=\"locale\">\r\n <ElDatePicker\r\n v-bind=\"{\r\n disabled,\r\n disabledDate,\r\n type,\r\n valueFormat,\r\n placeholder: placeholder ?? t('el.datepicker.placeholder'),\r\n startPlaceholder: placeholder ?? t('el.datepicker.startPlaceholder'),\r\n endPlaceholder: placeholder ?? t('el.datepicker.endPlaceholder'),\r\n shortcuts,\r\n ...attrs,\r\n }\"\r\n v-model=\"modelValue\"\r\n @blur=\"$emit('blur', $event)\"\r\n @focus=\"$emit('focus', $event)\"\r\n />\r\n </ElConfigProvider>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"V extends string\">\r\nimport type { DatePickerProps } from 'element-plus'\r\nimport { ElConfigProvider, ElDatePicker, useLocale } from 'element-plus'\r\nimport { computed, inject, useAttrs } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XDatePickerProps {\r\n disabled?: boolean\r\n disabledDate?: DatePickerProps['disabledDate']\r\n endPlaceholder?: DatePickerProps['endPlaceholder']\r\n placeholder?: DatePickerProps['placeholder']\r\n shortcuts?: DatePickerProps['shortcuts']\r\n startPlaceholder?: DatePickerProps['startPlaceholder']\r\n type?: DatePickerProps['type']\r\n valueFormat?: DatePickerProps['valueFormat']\r\n}\r\n\r\nconst { type = 'date', disabled = undefined } = defineProps<XDatePickerProps>()\r\n\r\ndefineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\n\r\nconst attrs = useAttrs()\r\nconst model = defineModel<V>()\r\nconst start = defineModel<V>('start')\r\nconst end = defineModel<V>('end')\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst modelValue = computed({\r\n get() {\r\n if (type.includes('range') && start.value && end.value) {\r\n return [start.value, end.value]\r\n }\r\n else if (!type.includes('range')) {\r\n return model.value\r\n }\r\n return null\r\n },\r\n set(value) {\r\n if (type.includes('range') && Array.isArray(value)) {\r\n start.value = value?.[0] as V\r\n end.value = value?.[1] as V\r\n }\r\n else {\r\n model.value = value as V\r\n }\r\n }\r\n})\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (type.includes('range') && (!start.value || !end.value)) {\r\n return `请选择${label}`\r\n }\r\n else if (!model.value) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElConfigProvider :locale=\"locale\">\r\n <ElDatePicker\r\n v-bind=\"{\r\n disabled,\r\n disabledDate,\r\n type,\r\n valueFormat,\r\n placeholder: placeholder ?? t('el.datepicker.placeholder'),\r\n startPlaceholder: placeholder ?? t('el.datepicker.startPlaceholder'),\r\n endPlaceholder: placeholder ?? t('el.datepicker.endPlaceholder'),\r\n shortcuts,\r\n ...attrs,\r\n }\"\r\n v-model=\"modelValue\"\r\n @blur=\"$emit('blur', $event)\"\r\n @focus=\"$emit('focus', $event)\"\r\n />\r\n </ElConfigProvider>\r\n</template>\r\n"],"mappings":"kgBAyBA,IAAM,GAAA,EAAA,EAAA,WAAkB,CAClB,GAAA,EAAA,EAAA,UAAsB,EAAA,aAAE,CACxB,GAAA,EAAA,EAAA,UAAsB,EAAC,QAAQ,CAC/B,GAAA,EAAA,EAAA,UAAoB,EAAC,MAAM,CAE3B,GAAA,EAAA,EAAA,QAAgB,EAAA,EAAgB,CAChC,CAAE,MAAA,EAAA,EAAA,WAAgB,EAAO,CAEzB,GAAA,EAAA,EAAA,UAAsB,CAC1B,KAAM,CAOJ,OANI,EAAA,KAAK,SAAS,QAAQ,EAAI,EAAM,OAAS,EAAI,MACxC,CAAC,EAAM,MAAO,EAAI,MAAM,CAEvB,EAAA,KAAK,SAAS,QAAQ,CAGzB,KAFE,EAAM,OAIjB,IAAI,EAAO,CACL,EAAA,KAAK,SAAS,QAAQ,EAAI,MAAM,QAAQ,EAAM,EAChD,EAAM,MAAQ,IAAQ,GACtB,EAAI,MAAQ,IAAQ,IAGpB,EAAM,MAAQ,GAGnB,CAAC,CAEI,GAAA,EAAA,EAAA,QAA4B,EAAA,EAAwB,IAAA,GAAU,CACpE,GAAI,GAAoB,SAAU,CAChC,GAAM,CAAE,QAAO,aAAc,EAC7B,EAAmB,cACb,EAAA,KAAK,SAAS,QAAQ,GAAK,CAAC,EAAM,OAAS,CAAC,EAAI,OAC3C,MAAM,IAEL,EAAM,MAGT,KAAa,CAFX,MAAM,kEAyBE,EAAA,iBAAA,CAAA,CAjBA,QAAA,EAAA,EAAA,OAAQ,EAAA,CAAM,CAAA,2BAgB7B,EAAA,EAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,aAAA,EAAA,EAAA,EAAA,YAAA,UAdmB,EAAA,sBAAmB,EAAA,kBAAuB,EAAA,iBAAe,EAAA,wBAAmC,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,4BAAA,kBAA0D,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,iCAAA,gBAA6D,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,+BAAA,WAA2C,EAAA,yBAAuB,EAAA,cAW/U,EAAA,sCAAA,EAAU,MAAA,EAClB,OAAI,AAAA,EAAA,KAAA,GAAEA,EAAAA,MAAK,OAAS,EAAM,CAC1B,QAAK,AAAA,EAAA,KAAA,GAAEA,EAAAA,MAAK,QAAU,EAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog-BQzqL743.cjs","names":["$slots"],"sources":["../../src/components/basic/Dialog.vue","../../src/components/basic/Dialog.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { DialogProps } from 'element-plus'\r\n\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElDialog } from 'element-plus'\r\n\r\nexport interface XDialogProps {\r\n bodyClass?: DialogProps['bodyClass']\r\n width?: DialogProps['width']\r\n showClose?: DialogProps['showClose']\r\n title?: DialogProps['title']\r\n center?: DialogProps['center']\r\n alignCenter?: DialogProps['alignCenter']\r\n draggable?: DialogProps['draggable']\r\n closeOnClickModal?: DialogProps['closeOnClickModal']\r\n closeOnPressEscape?: DialogProps['closeOnPressEscape']\r\n}\r\n\r\nconst {\r\n showClose = undefined,\r\n closeOnClickModal = undefined,\r\n closeOnPressEscape = undefined\r\n} = defineProps<XDialogProps>()\r\ndefineSlots<{\r\n default?: () => VNodeChild\r\n header?: () => VNodeChild\r\n footer?: () => VNodeChild\r\n}>()\r\nconst visible = defineModel<boolean>()\r\n</script>\r\n\r\n<template>\r\n <ElDialog\r\n v-model=\"visible\"\r\n v-bind=\"{\r\n bodyClass,\r\n width,\r\n showClose,\r\n title,\r\n center,\r\n alignCenter,\r\n draggable,\r\n closeOnClickModal,\r\n closeOnPressEscape,\r\n }\"\r\n >\r\n <template v-if=\"'header' in $slots\" #header>\r\n <slot name=\"header\"></slot>\r\n </template>\r\n <slot></slot>\r\n <template v-if=\"'footer' in $slots\" #footer>\r\n <slot name=\"footer\"></slot>\r\n </template>\r\n </ElDialog>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { DialogProps } from 'element-plus'\r\n\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElDialog } from 'element-plus'\r\n\r\nexport interface XDialogProps {\r\n bodyClass?: DialogProps['bodyClass']\r\n width?: DialogProps['width']\r\n showClose?: DialogProps['showClose']\r\n title?: DialogProps['title']\r\n center?: DialogProps['center']\r\n alignCenter?: DialogProps['alignCenter']\r\n draggable?: DialogProps['draggable']\r\n closeOnClickModal?: DialogProps['closeOnClickModal']\r\n closeOnPressEscape?: DialogProps['closeOnPressEscape']\r\n}\r\n\r\nconst {\r\n showClose = undefined,\r\n closeOnClickModal = undefined,\r\n closeOnPressEscape = undefined\r\n} = defineProps<XDialogProps>()\r\ndefineSlots<{\r\n default?: () => VNodeChild\r\n header?: () => VNodeChild\r\n footer?: () => VNodeChild\r\n}>()\r\nconst visible = defineModel<boolean>()\r\n</script>\r\n\r\n<template>\r\n <ElDialog\r\n v-model=\"visible\"\r\n v-bind=\"{\r\n bodyClass,\r\n width,\r\n showClose,\r\n title,\r\n center,\r\n alignCenter,\r\n draggable,\r\n closeOnClickModal,\r\n closeOnPressEscape,\r\n }\"\r\n >\r\n <template v-if=\"'header' in $slots\" #header>\r\n <slot name=\"header\"></slot>\r\n </template>\r\n <slot></slot>\r\n <template v-if=\"'footer' in $slots\" #footer>\r\n <slot name=\"footer\"></slot>\r\n </template>\r\n </ElDialog>\r\n</template>\r\n"],"mappings":"wcC4BA,IAAM,GAAA,EAAA,EAAA,UAA8B,EAAA,aAAE,+DAyBzB,EAAA,SAAA,EAAA,EAAA,EAAA,YAAA,YApBA,EAAA,sCAAA,EAAO,MAAA,cACC,EAAA,gBAAkB,EAAA,gBAAc,EAAA,gBAAkB,EAAA,aAAc,EAAA,mBAAe,EAAA,sBAAoB,EAAA,4BAAkB,EAAA,qCAA0B,EAAA,kEAenJ,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA,kBAHeA,EAAAA,OAAAA,MAAS,8BACR,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA,4BAGDA,EAAAA,OAAAA,MAAS,8BACR,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"Dialog-BQzqL743.cjs","names":["$slots"],"sources":["../../src/components/basic/Dialog.vue","../../src/components/basic/Dialog.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { DialogProps } from 'element-plus'\r\n\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElDialog } from 'element-plus'\r\n\r\nexport interface XDialogProps {\r\n bodyClass?: DialogProps['bodyClass']\r\n width?: DialogProps['width']\r\n showClose?: DialogProps['showClose']\r\n title?: DialogProps['title']\r\n center?: DialogProps['center']\r\n alignCenter?: DialogProps['alignCenter']\r\n draggable?: DialogProps['draggable']\r\n closeOnClickModal?: DialogProps['closeOnClickModal']\r\n closeOnPressEscape?: DialogProps['closeOnPressEscape']\r\n}\r\n\r\nconst {\r\n showClose = undefined,\r\n closeOnClickModal = undefined,\r\n closeOnPressEscape = undefined\r\n} = defineProps<XDialogProps>()\r\ndefineSlots<{\r\n default?: () => VNodeChild\r\n header?: () => VNodeChild\r\n footer?: () => VNodeChild\r\n}>()\r\nconst visible = defineModel<boolean>()\r\n</script>\r\n\r\n<template>\r\n <ElDialog\r\n v-model=\"visible\"\r\n v-bind=\"{\r\n bodyClass,\r\n width,\r\n showClose,\r\n title,\r\n center,\r\n alignCenter,\r\n draggable,\r\n closeOnClickModal,\r\n closeOnPressEscape,\r\n }\"\r\n >\r\n <template v-if=\"'header' in $slots\" #header>\r\n <slot name=\"header\"></slot>\r\n </template>\r\n <slot></slot>\r\n <template v-if=\"'footer' in $slots\" #footer>\r\n <slot name=\"footer\"></slot>\r\n </template>\r\n </ElDialog>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { DialogProps } from 'element-plus'\r\n\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElDialog } from 'element-plus'\r\n\r\nexport interface XDialogProps {\r\n bodyClass?: DialogProps['bodyClass']\r\n width?: DialogProps['width']\r\n showClose?: DialogProps['showClose']\r\n title?: DialogProps['title']\r\n center?: DialogProps['center']\r\n alignCenter?: DialogProps['alignCenter']\r\n draggable?: DialogProps['draggable']\r\n closeOnClickModal?: DialogProps['closeOnClickModal']\r\n closeOnPressEscape?: DialogProps['closeOnPressEscape']\r\n}\r\n\r\nconst {\r\n showClose = undefined,\r\n closeOnClickModal = undefined,\r\n closeOnPressEscape = undefined\r\n} = defineProps<XDialogProps>()\r\ndefineSlots<{\r\n default?: () => VNodeChild\r\n header?: () => VNodeChild\r\n footer?: () => VNodeChild\r\n}>()\r\nconst visible = defineModel<boolean>()\r\n</script>\r\n\r\n<template>\r\n <ElDialog\r\n v-model=\"visible\"\r\n v-bind=\"{\r\n bodyClass,\r\n width,\r\n showClose,\r\n title,\r\n center,\r\n alignCenter,\r\n draggable,\r\n closeOnClickModal,\r\n closeOnPressEscape,\r\n }\"\r\n >\r\n <template v-if=\"'header' in $slots\" #header>\r\n <slot name=\"header\"></slot>\r\n </template>\r\n <slot></slot>\r\n <template v-if=\"'footer' in $slots\" #footer>\r\n <slot name=\"footer\"></slot>\r\n </template>\r\n </ElDialog>\r\n</template>\r\n"],"mappings":"wcA4BA,IAAM,GAAA,EAAA,EAAA,UAA8B,EAAA,aAAE,+DAyBzB,EAAA,SAAA,EAAA,EAAA,EAAA,YAAA,YApBA,EAAA,sCAAA,EAAO,MAAA,cACC,EAAA,gBAAkB,EAAA,gBAAc,EAAA,gBAAkB,EAAA,aAAc,EAAA,mBAAe,EAAA,sBAAoB,EAAA,4BAAkB,EAAA,qCAA0B,EAAA,kEAenJ,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA,kBAHeA,EAAAA,OAAAA,MAAS,8BACR,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA,4BAGDA,EAAAA,OAAAA,MAAS,8BACR,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Form-DKzgN4am.cjs","names":[],"sources":["../../src/components/basic/Form.vue","../../src/components/basic/Form.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"D extends object\">\r\nimport type { VNodeChild } from 'vue'\r\nimport type { XFormItemValidation } from './FormItem.vue'\r\nimport { ElForm } from 'element-plus'\r\nimport { provide, useTemplateRef } from 'vue'\r\nimport { X_ELEMENT_IN_FORM, X_FORM_VALIDATIONS } from '@/constants'\r\n\r\nexport interface XFormProps<D> {\r\n content?: (scope: { data: D }) => VNodeChild\r\n data?: D\r\n disabled?: boolean\r\n inline?: boolean\r\n labelPosition?: 'left' | 'right' | 'top'\r\n labelSuffix?: string\r\n labelWidth?: number | string\r\n}\r\n\r\nconst { content, data, disabled = undefined } = defineProps<XFormProps<D>>()\r\n\r\nconst form = useTemplateRef('form')\r\n\r\nconst Content = () => content?.({ data: data ?? {} } as { data: D })\r\n\r\nprovide(X_ELEMENT_IN_FORM, true)\r\n\r\nconst validations = [] as XFormItemValidation[]\r\nprovide(X_FORM_VALIDATIONS, validations)\r\nconst validate = () => validations.every(item => item.validate())\r\nconst clearValidate = () => validations.forEach(it => it.clearValidate())\r\nconst resetFields = () => {\r\n clearValidate()\r\n form.value?.resetFields()\r\n}\r\n\r\ndefineExpose({ clearValidate, data, validate, resetFields })\r\n</script>\r\n\r\n<template>\r\n <ElForm\r\n ref=\"form\"\r\n v-bind=\"{\r\n model: data,\r\n disabled,\r\n inline,\r\n labelPosition,\r\n labelWidth,\r\n labelSuffix,\r\n }\"\r\n >\r\n <Content />\r\n </ElForm>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"D extends object\">\r\nimport type { VNodeChild } from 'vue'\r\nimport type { XFormItemValidation } from './FormItem.vue'\r\nimport { ElForm } from 'element-plus'\r\nimport { provide, useTemplateRef } from 'vue'\r\nimport { X_ELEMENT_IN_FORM, X_FORM_VALIDATIONS } from '@/constants'\r\n\r\nexport interface XFormProps<D> {\r\n content?: (scope: { data: D }) => VNodeChild\r\n data?: D\r\n disabled?: boolean\r\n inline?: boolean\r\n labelPosition?: 'left' | 'right' | 'top'\r\n labelSuffix?: string\r\n labelWidth?: number | string\r\n}\r\n\r\nconst { content, data, disabled = undefined } = defineProps<XFormProps<D>>()\r\n\r\nconst form = useTemplateRef('form')\r\n\r\nconst Content = () => content?.({ data: data ?? {} } as { data: D })\r\n\r\nprovide(X_ELEMENT_IN_FORM, true)\r\n\r\nconst validations = [] as XFormItemValidation[]\r\nprovide(X_FORM_VALIDATIONS, validations)\r\nconst validate = () => validations.every(item => item.validate())\r\nconst clearValidate = () => validations.forEach(it => it.clearValidate())\r\nconst resetFields = () => {\r\n clearValidate()\r\n form.value?.resetFields()\r\n}\r\n\r\ndefineExpose({ clearValidate, data, validate, resetFields })\r\n</script>\r\n\r\n<template>\r\n <ElForm\r\n ref=\"form\"\r\n v-bind=\"{\r\n model: data,\r\n disabled,\r\n inline,\r\n labelPosition,\r\n labelWidth,\r\n labelSuffix,\r\n }\"\r\n >\r\n <Content />\r\n </ElForm>\r\n</template>\r\n"],"mappings":"iTCmBA,IAAM,GAAA,EAAA,EAAA,gBAAsB,OAAO,CAE7B,MAAgB,EAAA,UAAU,CAAE,KAAM,EAAA,MAAQ,EAAC,CAAkB,CAAC,EAEpE,EAAA,EAAA,SAAQ,EAAA,EAAmB,GAAK,CAEhC,IAAM,EAAc,EAA2B,EAC/C,EAAA,EAAA,SAAQ,EAAA,EAAoB,EAAY,CACxC,IAAM,MAAiB,EAAY,MAAM,GAAQ,EAAK,UAAU,CAAC,CAC3D,MAAsB,EAAY,QAAQ,GAAM,EAAG,eAAe,CAAC,QAMzE,EAAa,CAAE,gBAAe,KAAG,EAAA,KAAG,WAAU,gBALpB,CACxB,GAAe,CACf,EAAK,OAAO,aAAa,EAGgC,CAAC,yDAgBjD,EAAA,OAAA,EAAA,EAAA,EAAA,YAAA,SAXH,OAAJ,IAAI,UACoB,EAAA,cAAa,EAAA,gBAAiB,EAAA,qBAAe,EAAA,yBAAsB,EAAA,uBAAmB,EAAA,yCASnG,EAAA,EAAA,EAAA,aAAA,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"Form-DKzgN4am.cjs","names":[],"sources":["../../src/components/basic/Form.vue","../../src/components/basic/Form.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"D extends object\">\r\nimport type { VNodeChild } from 'vue'\r\nimport type { XFormItemValidation } from './FormItem.vue'\r\nimport { ElForm } from 'element-plus'\r\nimport { provide, useTemplateRef } from 'vue'\r\nimport { X_ELEMENT_IN_FORM, X_FORM_VALIDATIONS } from '@/constants'\r\n\r\nexport interface XFormProps<D> {\r\n content?: (scope: { data: D }) => VNodeChild\r\n data?: D\r\n disabled?: boolean\r\n inline?: boolean\r\n labelPosition?: 'left' | 'right' | 'top'\r\n labelSuffix?: string\r\n labelWidth?: number | string\r\n}\r\n\r\nconst { content, data, disabled = undefined } = defineProps<XFormProps<D>>()\r\n\r\nconst form = useTemplateRef('form')\r\n\r\nconst Content = () => content?.({ data: data ?? {} } as { data: D })\r\n\r\nprovide(X_ELEMENT_IN_FORM, true)\r\n\r\nconst validations = [] as XFormItemValidation[]\r\nprovide(X_FORM_VALIDATIONS, validations)\r\nconst validate = () => validations.every(item => item.validate())\r\nconst clearValidate = () => validations.forEach(it => it.clearValidate())\r\nconst resetFields = () => {\r\n clearValidate()\r\n form.value?.resetFields()\r\n}\r\n\r\ndefineExpose({ clearValidate, data, validate, resetFields })\r\n</script>\r\n\r\n<template>\r\n <ElForm\r\n ref=\"form\"\r\n v-bind=\"{\r\n model: data,\r\n disabled,\r\n inline,\r\n labelPosition,\r\n labelWidth,\r\n labelSuffix,\r\n }\"\r\n >\r\n <Content />\r\n </ElForm>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"D extends object\">\r\nimport type { VNodeChild } from 'vue'\r\nimport type { XFormItemValidation } from './FormItem.vue'\r\nimport { ElForm } from 'element-plus'\r\nimport { provide, useTemplateRef } from 'vue'\r\nimport { X_ELEMENT_IN_FORM, X_FORM_VALIDATIONS } from '@/constants'\r\n\r\nexport interface XFormProps<D> {\r\n content?: (scope: { data: D }) => VNodeChild\r\n data?: D\r\n disabled?: boolean\r\n inline?: boolean\r\n labelPosition?: 'left' | 'right' | 'top'\r\n labelSuffix?: string\r\n labelWidth?: number | string\r\n}\r\n\r\nconst { content, data, disabled = undefined } = defineProps<XFormProps<D>>()\r\n\r\nconst form = useTemplateRef('form')\r\n\r\nconst Content = () => content?.({ data: data ?? {} } as { data: D })\r\n\r\nprovide(X_ELEMENT_IN_FORM, true)\r\n\r\nconst validations = [] as XFormItemValidation[]\r\nprovide(X_FORM_VALIDATIONS, validations)\r\nconst validate = () => validations.every(item => item.validate())\r\nconst clearValidate = () => validations.forEach(it => it.clearValidate())\r\nconst resetFields = () => {\r\n clearValidate()\r\n form.value?.resetFields()\r\n}\r\n\r\ndefineExpose({ clearValidate, data, validate, resetFields })\r\n</script>\r\n\r\n<template>\r\n <ElForm\r\n ref=\"form\"\r\n v-bind=\"{\r\n model: data,\r\n disabled,\r\n inline,\r\n labelPosition,\r\n labelWidth,\r\n labelSuffix,\r\n }\"\r\n >\r\n <Content />\r\n </ElForm>\r\n</template>\r\n"],"mappings":"iTAmBA,IAAM,GAAA,EAAA,EAAA,gBAAsB,OAAO,CAE7B,MAAgB,EAAA,UAAU,CAAE,KAAM,EAAA,MAAQ,EAAC,CAAkB,CAAC,EAEpE,EAAA,EAAA,SAAQ,EAAA,EAAmB,GAAK,CAEhC,IAAM,EAAc,EAA2B,EAC/C,EAAA,EAAA,SAAQ,EAAA,EAAoB,EAAY,CACxC,IAAM,MAAiB,EAAY,MAAM,GAAQ,EAAK,UAAU,CAAC,CAC3D,MAAsB,EAAY,QAAQ,GAAM,EAAG,eAAe,CAAC,QAMzE,EAAa,CAAE,gBAAe,KAAG,EAAA,KAAG,WAAU,gBALpB,CACxB,GAAe,CACf,EAAK,OAAO,aAAa,EAGgC,CAAC,yDAgBjD,EAAA,OAAA,EAAA,EAAA,EAAA,YAAA,SAXH,OAAJ,IAAI,UACoB,EAAA,cAAa,EAAA,gBAAiB,EAAA,qBAAe,EAAA,yBAAsB,EAAA,uBAAmB,EAAA,yCASnG,EAAA,EAAA,EAAA,aAAA,EAAA,CAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./constants-CYUPXiMy.cjs`);let t=require(`element-plus`),n=require(`vue`);var r=(0,n.defineComponent)({__name:`FormItem`,props:{content:{type:Function},label:{},required:{type:Boolean},validator:{type:Function}},setup(r){let i=(0,n.inject)(e.c,void 0),a=(0,n.inject)(e.a,void 0),o=(0,n.inject)(e.o,void 0),s=(0,n.inject)(e.d,void 0),c=(0,n.inject)(e.u,void 0),l=(0,n.ref)(),u=(0,n.useId)(),d={id:u,clearValidate:()=>l.value=void 0,label:r.label,required:r.required,validate:()=>(l.value=d.validator?.()??void 0,l.value&&a&&o&&s&&c?.trigger(s),!l.value)};(0,n.provide)(e.s,d),(0,n.onMounted)(()=>{i?.some(e=>e.id===u)||i?.push(d)}),(0,n.onUnmounted)(()=>{let e=i?.findIndex(e=>e.id===u);e&&e>-1&&i?.splice(e,1)});let f=()=>r.content?.();return(e,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(t.ElFormItem),{label:r.label,required:r.required,error:l.value},{default:(0,n.withCtx)(()=>[(0,n.createVNode)(f)]),_:1},8,[`label`,`required`,`error`]))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
2
+ //# sourceMappingURL=FormItem-BSXNuWjn.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormItem-BSXNuWjn.cjs","names":[],"sources":["../../src/components/basic/FormItem.vue","../../src/components/basic/FormItem.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"D extends object\">\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElFormItem } from 'element-plus'\r\nimport { inject, onMounted, onUnmounted, provide, ref, useId } from 'vue'\r\nimport { X_ELEMENT_IN_TAB_PANE, X_ELEMENT_IN_TABS, X_FORM_ITEM_VALIDATION, X_FORM_VALIDATIONS, X_TAB_PANE_NAME, X_TABS_MODEL_UPDATE_HOOK } from '@/constants'\r\n\r\nexport interface XFormItemProps {\r\n content?: () => VNodeChild\r\n label?: string\r\n required?: boolean\r\n validator?: () => string | void\r\n}\r\n\r\nexport interface XFormItemValidation {\r\n id?: string\r\n clearValidate: () => void\r\n label?: string\r\n required?: boolean\r\n validate: () => boolean\r\n validator?: () => string | void\r\n}\r\n\r\nconst { content, label, required } = defineProps<XFormItemProps>()\r\n\r\ndefineSlots<{\r\n default: () => VNodeChild\r\n label: () => VNodeChild\r\n}>()\r\n\r\nconst validations = inject(X_FORM_VALIDATIONS, undefined)\r\nconst inTabs = inject(X_ELEMENT_IN_TABS, undefined)\r\nconst inTabPane = inject(X_ELEMENT_IN_TAB_PANE, undefined)\r\nconst tabPaneName = inject(X_TAB_PANE_NAME, undefined)\r\nconst tabsUpdateModelHook = inject(X_TABS_MODEL_UPDATE_HOOK, undefined)\r\n\r\nconst error = ref<string | undefined>()\r\n\r\nconst id = useId()\r\nconst validation: XFormItemValidation = {\r\n id,\r\n clearValidate: () => error.value = undefined,\r\n label,\r\n required,\r\n validate: () => {\r\n error.value = validation.validator?.() ?? undefined\r\n\r\n if (error.value && inTabs && inTabPane && tabPaneName) {\r\n tabsUpdateModelHook?.trigger(tabPaneName)\r\n }\r\n\r\n return !error.value\r\n }\r\n}\r\nprovide(X_FORM_ITEM_VALIDATION, validation)\r\n\r\nonMounted(() => {\r\n const exist = validations?.some(it => it.id === id)\r\n if (!exist) {\r\n validations?.push(validation)\r\n }\r\n})\r\n\r\nonUnmounted(() => {\r\n const index = validations?.findIndex(it => it.id === id)\r\n if (index && index > -1) {\r\n validations?.splice(index, 1)\r\n }\r\n})\r\n\r\nconst Content = () => content?.()\r\n</script>\r\n\r\n<template>\r\n <ElFormItem :label=\"label\" :required=\"required\" :error=\"error\">\r\n <Content />\r\n </ElFormItem>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"D extends object\">\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElFormItem } from 'element-plus'\r\nimport { inject, onMounted, onUnmounted, provide, ref, useId } from 'vue'\r\nimport { X_ELEMENT_IN_TAB_PANE, X_ELEMENT_IN_TABS, X_FORM_ITEM_VALIDATION, X_FORM_VALIDATIONS, X_TAB_PANE_NAME, X_TABS_MODEL_UPDATE_HOOK } from '@/constants'\r\n\r\nexport interface XFormItemProps {\r\n content?: () => VNodeChild\r\n label?: string\r\n required?: boolean\r\n validator?: () => string | void\r\n}\r\n\r\nexport interface XFormItemValidation {\r\n id?: string\r\n clearValidate: () => void\r\n label?: string\r\n required?: boolean\r\n validate: () => boolean\r\n validator?: () => string | void\r\n}\r\n\r\nconst { content, label, required } = defineProps<XFormItemProps>()\r\n\r\ndefineSlots<{\r\n default: () => VNodeChild\r\n label: () => VNodeChild\r\n}>()\r\n\r\nconst validations = inject(X_FORM_VALIDATIONS, undefined)\r\nconst inTabs = inject(X_ELEMENT_IN_TABS, undefined)\r\nconst inTabPane = inject(X_ELEMENT_IN_TAB_PANE, undefined)\r\nconst tabPaneName = inject(X_TAB_PANE_NAME, undefined)\r\nconst tabsUpdateModelHook = inject(X_TABS_MODEL_UPDATE_HOOK, undefined)\r\n\r\nconst error = ref<string | undefined>()\r\n\r\nconst id = useId()\r\nconst validation: XFormItemValidation = {\r\n id,\r\n clearValidate: () => error.value = undefined,\r\n label,\r\n required,\r\n validate: () => {\r\n error.value = validation.validator?.() ?? undefined\r\n\r\n if (error.value && inTabs && inTabPane && tabPaneName) {\r\n tabsUpdateModelHook?.trigger(tabPaneName)\r\n }\r\n\r\n return !error.value\r\n }\r\n}\r\nprovide(X_FORM_ITEM_VALIDATION, validation)\r\n\r\nonMounted(() => {\r\n const exist = validations?.some(it => it.id === id)\r\n if (!exist) {\r\n validations?.push(validation)\r\n }\r\n})\r\n\r\nonUnmounted(() => {\r\n const index = validations?.findIndex(it => it.id === id)\r\n if (index && index > -1) {\r\n validations?.splice(index, 1)\r\n }\r\n})\r\n\r\nconst Content = () => content?.()\r\n</script>\r\n\r\n<template>\r\n <ElFormItem :label=\"label\" :required=\"required\" :error=\"error\">\r\n <Content />\r\n </ElFormItem>\r\n</template>\r\n"],"mappings":"8OA6BA,IAAM,GAAA,EAAA,EAAA,QAAqB,EAAA,EAAoB,IAAA,GAAU,CACnD,GAAA,EAAA,EAAA,QAAgB,EAAA,EAAmB,IAAA,GAAU,CAC7C,GAAA,EAAA,EAAA,QAAmB,EAAA,EAAuB,IAAA,GAAU,CACpD,GAAA,EAAA,EAAA,QAAqB,EAAA,EAAiB,IAAA,GAAU,CAChD,GAAA,EAAA,EAAA,QAA6B,EAAA,EAA0B,IAAA,GAAU,CAEjE,GAAA,EAAA,EAAA,MAAiC,CAEjC,GAAA,EAAA,EAAA,QAAY,CACZ,EAAkC,CACtC,KACA,kBAAqB,EAAM,MAAQ,IAAA,GACnC,MAAI,EAAA,MACJ,SAAO,EAAA,SACP,cACE,EAAM,MAAQ,EAAW,aAAa,EAAI,IAAA,GAEtC,EAAM,OAAS,GAAU,GAAa,GACxC,GAAqB,QAAQ,EAAY,CAGpC,CAAC,EAAM,OAEjB,EACD,EAAA,EAAA,SAAQ,EAAA,EAAwB,EAAW,EAE3C,EAAA,EAAA,eAAgB,CACA,GAAa,KAAK,GAAM,EAAG,KAAO,EAAG,EAEjD,GAAa,KAAK,EAAW,EAE/B,EAEF,EAAA,EAAA,iBAAkB,CAChB,IAAM,EAAQ,GAAa,UAAU,GAAM,EAAG,KAAO,EAAG,CACpD,GAAS,EAAQ,IACnB,GAAa,OAAO,EAAO,EAAE,EAE/B,CAEF,IAAM,MAAgB,EAAA,WAAW,+DAMlB,EAAA,WAAA,CAAA,CAFA,MAAO,EAAA,MAAQ,SAAU,EAAA,SAAW,MAAO,EAAA,kCAC3C,EAAA,EAAA,EAAA,aAAA,EAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./FormItem-DhNzkWS8.cjs`);exports.default=e.t;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./FormItem-BSXNuWjn.cjs`);exports.default=e.t;
@@ -1 +1 @@
1
- {"version":3,"file":"Input-Bnp7Ap0P.cjs","names":["$slots"],"sources":["../../src/components/basic/Input.vue","../../src/components/basic/Input.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"MV extends string | number\">\r\nimport type { InputProps } from 'element-plus'\r\nimport type { VNode } from 'vue'\r\nimport { ElInput, useLocale } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XInputProps {\r\n clearable?: InputProps['clearable']\r\n disabled?: InputProps['disabled']\r\n size?: InputProps['size']\r\n type?: InputProps['type']\r\n showPassword?: InputProps['showPassword']\r\n autocomplete?: InputProps['autocomplete']\r\n autosize?: InputProps['autosize']\r\n placeholder?: InputProps['placeholder']\r\n prefixIcon?: InputProps['prefixIcon']\r\n suffixIcon?: InputProps['suffixIcon']\r\n}\r\n\r\nconst { disabled = undefined } = defineProps<XInputProps>()\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n change: [e: MV]\r\n}>()\r\ndefineSlots<{\r\n append: () => VNode\r\n prefix: () => VNode\r\n prepend: () => VNode\r\n suffix: () => VNode\r\n}>()\r\nconst model = defineModel<MV>()\r\n\r\n// const inTable = inject(X_ELEMENT_IN_TABLE, false)\r\n// const inTableColumn = inject(X_ELEMENT_IN_TABLE_COLUMN, false)\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\n\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请输入${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n emit('blur', e)\r\n formItemValidation?.validate?.()\r\n}\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\nconst change = (value: string) => {\r\n emit('change', value as MV)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElInput\r\n v-bind=\"{\r\n disabled,\r\n type,\r\n size,\r\n clearable,\r\n showPassword,\r\n autocomplete,\r\n autosize,\r\n placeholder: placeholder ?? t('el.input.placeholder'),\r\n }\"\r\n v-model=\"model\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n @change=\"change\"\r\n >\r\n <template v-if=\"'append' in $slots\" #append>\r\n <slot name=\"append\" />\r\n </template>\r\n <template v-if=\"'prepend' in $slots\" #prepend>\r\n <slot name=\"prepend\" />\r\n </template>\r\n <template v-if=\"'prefix' in $slots\" #prefix>\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template v-if=\"'suffix' in $slots\" #suffix>\r\n <slot name=\"suffix\" />\r\n </template>\r\n </ElInput>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"MV extends string | number\">\r\nimport type { InputProps } from 'element-plus'\r\nimport type { VNode } from 'vue'\r\nimport { ElInput, useLocale } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XInputProps {\r\n clearable?: InputProps['clearable']\r\n disabled?: InputProps['disabled']\r\n size?: InputProps['size']\r\n type?: InputProps['type']\r\n showPassword?: InputProps['showPassword']\r\n autocomplete?: InputProps['autocomplete']\r\n autosize?: InputProps['autosize']\r\n placeholder?: InputProps['placeholder']\r\n prefixIcon?: InputProps['prefixIcon']\r\n suffixIcon?: InputProps['suffixIcon']\r\n}\r\n\r\nconst { disabled = undefined } = defineProps<XInputProps>()\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n change: [e: MV]\r\n}>()\r\ndefineSlots<{\r\n append: () => VNode\r\n prefix: () => VNode\r\n prepend: () => VNode\r\n suffix: () => VNode\r\n}>()\r\nconst model = defineModel<MV>()\r\n\r\n// const inTable = inject(X_ELEMENT_IN_TABLE, false)\r\n// const inTableColumn = inject(X_ELEMENT_IN_TABLE_COLUMN, false)\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\n\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请输入${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n emit('blur', e)\r\n formItemValidation?.validate?.()\r\n}\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\nconst change = (value: string) => {\r\n emit('change', value as MV)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElInput\r\n v-bind=\"{\r\n disabled,\r\n type,\r\n size,\r\n clearable,\r\n showPassword,\r\n autocomplete,\r\n autosize,\r\n placeholder: placeholder ?? t('el.input.placeholder'),\r\n }\"\r\n v-model=\"model\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n @change=\"change\"\r\n >\r\n <template v-if=\"'append' in $slots\" #append>\r\n <slot name=\"append\" />\r\n </template>\r\n <template v-if=\"'prepend' in $slots\" #prepend>\r\n <slot name=\"prepend\" />\r\n </template>\r\n <template v-if=\"'prefix' in $slots\" #prefix>\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template v-if=\"'suffix' in $slots\" #suffix>\r\n <slot name=\"suffix\" />\r\n </template>\r\n </ElInput>\r\n</template>\r\n"],"mappings":"2eCsBA,IAAM,EAAO,EAWP,GAAA,EAAA,EAAA,UAAuB,EAAA,aAAE,CAMzB,CAAE,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,QADc,EAAA,EAAgB,CACP,CAEzB,GAAA,EAAA,EAAA,QAA4B,EAAA,EAAwB,IAAA,GAAU,CAEpE,GAAI,GAAoB,SAAU,CAChC,GAAM,CAAE,QAAO,aAAc,EAC7B,EAAmB,cACZ,EAAM,MAGJ,KAAa,CAFX,MAAM,IAMnB,IAAM,EAAQ,GAAkB,CAC9B,EAAK,OAAQ,EAAE,CACf,GAAoB,YAAY,EAE5B,EAAS,GAAkB,CAC/B,EAAK,QAAS,EAAE,EAEZ,EAAU,GAAkB,CAChC,EAAK,SAAU,EAAY,gEAiCjB,EAAA,QAAA,EAAA,EAAA,EAAA,YAAA,UA3BS,EAAA,cAAiB,EAAA,UAAa,EAAA,eAAa,EAAA,uBAAkB,EAAA,0BAAqB,EAAA,sBAAqB,EAAA,qBAA8B,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,uBAAA,cAU7J,EAAA,sCAAA,EAAK,MAAA,EACb,OAAM,EACN,QAAO,EACP,SAAQ,wCAEmBA,EAAAA,OAAAA,MAAS,8BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA,6BAEKA,EAAAA,OAAAA,MAAS,+BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA,4BAEGA,EAAAA,OAAAA,MAAS,8BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA,4BAEIA,EAAAA,OAAAA,MAAS,8BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"Input-Bnp7Ap0P.cjs","names":["$slots"],"sources":["../../src/components/basic/Input.vue","../../src/components/basic/Input.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"MV extends string | number\">\r\nimport type { InputProps } from 'element-plus'\r\nimport type { VNode } from 'vue'\r\nimport { ElInput, useLocale } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XInputProps {\r\n clearable?: InputProps['clearable']\r\n disabled?: InputProps['disabled']\r\n size?: InputProps['size']\r\n type?: InputProps['type']\r\n showPassword?: InputProps['showPassword']\r\n autocomplete?: InputProps['autocomplete']\r\n autosize?: InputProps['autosize']\r\n placeholder?: InputProps['placeholder']\r\n prefixIcon?: InputProps['prefixIcon']\r\n suffixIcon?: InputProps['suffixIcon']\r\n}\r\n\r\nconst { disabled = undefined } = defineProps<XInputProps>()\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n change: [e: MV]\r\n}>()\r\ndefineSlots<{\r\n append: () => VNode\r\n prefix: () => VNode\r\n prepend: () => VNode\r\n suffix: () => VNode\r\n}>()\r\nconst model = defineModel<MV>()\r\n\r\n// const inTable = inject(X_ELEMENT_IN_TABLE, false)\r\n// const inTableColumn = inject(X_ELEMENT_IN_TABLE_COLUMN, false)\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\n\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请输入${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n emit('blur', e)\r\n formItemValidation?.validate?.()\r\n}\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\nconst change = (value: string) => {\r\n emit('change', value as MV)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElInput\r\n v-bind=\"{\r\n disabled,\r\n type,\r\n size,\r\n clearable,\r\n showPassword,\r\n autocomplete,\r\n autosize,\r\n placeholder: placeholder ?? t('el.input.placeholder'),\r\n }\"\r\n v-model=\"model\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n @change=\"change\"\r\n >\r\n <template v-if=\"'append' in $slots\" #append>\r\n <slot name=\"append\" />\r\n </template>\r\n <template v-if=\"'prepend' in $slots\" #prepend>\r\n <slot name=\"prepend\" />\r\n </template>\r\n <template v-if=\"'prefix' in $slots\" #prefix>\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template v-if=\"'suffix' in $slots\" #suffix>\r\n <slot name=\"suffix\" />\r\n </template>\r\n </ElInput>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"MV extends string | number\">\r\nimport type { InputProps } from 'element-plus'\r\nimport type { VNode } from 'vue'\r\nimport { ElInput, useLocale } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XInputProps {\r\n clearable?: InputProps['clearable']\r\n disabled?: InputProps['disabled']\r\n size?: InputProps['size']\r\n type?: InputProps['type']\r\n showPassword?: InputProps['showPassword']\r\n autocomplete?: InputProps['autocomplete']\r\n autosize?: InputProps['autosize']\r\n placeholder?: InputProps['placeholder']\r\n prefixIcon?: InputProps['prefixIcon']\r\n suffixIcon?: InputProps['suffixIcon']\r\n}\r\n\r\nconst { disabled = undefined } = defineProps<XInputProps>()\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n change: [e: MV]\r\n}>()\r\ndefineSlots<{\r\n append: () => VNode\r\n prefix: () => VNode\r\n prepend: () => VNode\r\n suffix: () => VNode\r\n}>()\r\nconst model = defineModel<MV>()\r\n\r\n// const inTable = inject(X_ELEMENT_IN_TABLE, false)\r\n// const inTableColumn = inject(X_ELEMENT_IN_TABLE_COLUMN, false)\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\n\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请输入${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n emit('blur', e)\r\n formItemValidation?.validate?.()\r\n}\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\nconst change = (value: string) => {\r\n emit('change', value as MV)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElInput\r\n v-bind=\"{\r\n disabled,\r\n type,\r\n size,\r\n clearable,\r\n showPassword,\r\n autocomplete,\r\n autosize,\r\n placeholder: placeholder ?? t('el.input.placeholder'),\r\n }\"\r\n v-model=\"model\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n @change=\"change\"\r\n >\r\n <template v-if=\"'append' in $slots\" #append>\r\n <slot name=\"append\" />\r\n </template>\r\n <template v-if=\"'prepend' in $slots\" #prepend>\r\n <slot name=\"prepend\" />\r\n </template>\r\n <template v-if=\"'prefix' in $slots\" #prefix>\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template v-if=\"'suffix' in $slots\" #suffix>\r\n <slot name=\"suffix\" />\r\n </template>\r\n </ElInput>\r\n</template>\r\n"],"mappings":"2eAsBA,IAAM,EAAO,EAWP,GAAA,EAAA,EAAA,UAAuB,EAAA,aAAE,CAMzB,CAAE,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,QADc,EAAA,EAAgB,CACP,CAEzB,GAAA,EAAA,EAAA,QAA4B,EAAA,EAAwB,IAAA,GAAU,CAEpE,GAAI,GAAoB,SAAU,CAChC,GAAM,CAAE,QAAO,aAAc,EAC7B,EAAmB,cACZ,EAAM,MAGJ,KAAa,CAFX,MAAM,IAMnB,IAAM,EAAQ,GAAkB,CAC9B,EAAK,OAAQ,EAAE,CACf,GAAoB,YAAY,EAE5B,EAAS,GAAkB,CAC/B,EAAK,QAAS,EAAE,EAEZ,EAAU,GAAkB,CAChC,EAAK,SAAU,EAAY,gEAiCjB,EAAA,QAAA,EAAA,EAAA,EAAA,YAAA,UA3BS,EAAA,cAAiB,EAAA,UAAa,EAAA,eAAa,EAAA,uBAAkB,EAAA,0BAAqB,EAAA,sBAAqB,EAAA,qBAA8B,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,uBAAA,cAU7J,EAAA,sCAAA,EAAK,MAAA,EACb,OAAM,EACN,QAAO,EACP,SAAQ,wCAEmBA,EAAAA,OAAAA,MAAS,8BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA,6BAEKA,EAAAA,OAAAA,MAAS,+BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA,4BAEGA,EAAAA,OAAAA,MAAS,8BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA,4BAEIA,EAAAA,OAAAA,MAAS,8BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber-Ddow_hhd.cjs","names":["$slots"],"sources":["../../src/components/basic/InputNumber.vue","../../src/components/basic/InputNumber.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { InputNumberProps } from 'element-plus'\r\nimport type { VNode } from 'vue'\r\nimport { ElInputNumber, useLocale } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XInputNumberProps {\r\n align?: InputNumberProps['align']\r\n controls?: InputNumberProps['controls']\r\n disabled?: InputNumberProps['disabled']\r\n inputmode?: InputNumberProps['inputmode']\r\n max?: InputNumberProps['max']\r\n min?: InputNumberProps['min']\r\n placeholder?: InputNumberProps['placeholder']\r\n precision?: InputNumberProps['precision']\r\n size?: InputNumberProps['size']\r\n step?: InputNumberProps['step']\r\n stepStrictly?: InputNumberProps['stepStrictly']\r\n}\r\n\r\nconst { disabled = undefined } = defineProps<XInputNumberProps>()\r\n\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\n\r\ndefineSlots<{\r\n prefix: () => VNode\r\n suffix: () => VNode\r\n}>()\r\n\r\nconst model = defineModel<number>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请输入${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n emit('blur', e)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElInputNumber\r\n v-bind=\"{\r\n align,\r\n controls,\r\n disabled,\r\n inputmode,\r\n max,\r\n min,\r\n placeholder: placeholder ?? t('el.inputNumber.placeholder'),\r\n precision,\r\n size,\r\n step,\r\n stepStrictly,\r\n }\"\r\n v-model=\"model\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n >\r\n <template\r\n v-if=\"'prefix' in $slots\"\r\n #prefix\r\n >\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template\r\n v-if=\"'suffix' in $slots\"\r\n #suffix\r\n >\r\n <slot name=\"suffix\" />\r\n </template>\r\n </ElInputNumber>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { InputNumberProps } from 'element-plus'\r\nimport type { VNode } from 'vue'\r\nimport { ElInputNumber, useLocale } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XInputNumberProps {\r\n align?: InputNumberProps['align']\r\n controls?: InputNumberProps['controls']\r\n disabled?: InputNumberProps['disabled']\r\n inputmode?: InputNumberProps['inputmode']\r\n max?: InputNumberProps['max']\r\n min?: InputNumberProps['min']\r\n placeholder?: InputNumberProps['placeholder']\r\n precision?: InputNumberProps['precision']\r\n size?: InputNumberProps['size']\r\n step?: InputNumberProps['step']\r\n stepStrictly?: InputNumberProps['stepStrictly']\r\n}\r\n\r\nconst { disabled = undefined } = defineProps<XInputNumberProps>()\r\n\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\n\r\ndefineSlots<{\r\n prefix: () => VNode\r\n suffix: () => VNode\r\n}>()\r\n\r\nconst model = defineModel<number>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请输入${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n emit('blur', e)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElInputNumber\r\n v-bind=\"{\r\n align,\r\n controls,\r\n disabled,\r\n inputmode,\r\n max,\r\n min,\r\n placeholder: placeholder ?? t('el.inputNumber.placeholder'),\r\n precision,\r\n size,\r\n step,\r\n stepStrictly,\r\n }\"\r\n v-model=\"model\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n >\r\n <template\r\n v-if=\"'prefix' in $slots\"\r\n #prefix\r\n >\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template\r\n v-if=\"'suffix' in $slots\"\r\n #suffix\r\n >\r\n <slot name=\"suffix\" />\r\n </template>\r\n </ElInputNumber>\r\n</template>\r\n"],"mappings":"2cCwBA,IAAM,EAAO,EAUP,GAAA,EAAA,EAAA,UAA2B,EAAA,aAAE,CAG7B,CAAE,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,QADc,EAAA,EAAgB,CACP,CAEzB,GAAA,EAAA,EAAA,QAA4B,EAAA,EAAwB,IAAA,GAAU,CACpE,GAAI,GAAoB,SAAU,CAChC,GAAM,CAAE,QAAO,aAAc,EAC7B,EAAmB,cACZ,EAAM,MAGJ,KAAa,CAFX,MAAM,IAMnB,IAAM,EAAS,GAAkB,CAC/B,EAAK,QAAS,EAAE,EAGZ,EAAQ,GAAkB,CAC9B,EAAK,OAAQ,EAAE,gEAmCC,EAAA,cAAA,EAAA,EAAA,EAAA,YAAA,OA7BG,EAAA,eAAc,EAAA,kBAAiB,EAAA,mBAAiB,EAAA,cAAkB,EAAA,QAAY,EAAA,gBAAyB,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,6BAAA,WAAuC,EAAA,eAAkB,EAAA,UAAa,EAAA,kBAAa,EAAA,0BAalN,EAAA,sCAAA,EAAK,MAAA,EACb,OAAM,EACN,QAAO,wCAGYA,EAAAA,OAAAA,MACjB,8BAEqB,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA,4BAGJA,EAAAA,OAAAA,MACjB,8BAEqB,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"InputNumber-Ddow_hhd.cjs","names":["$slots"],"sources":["../../src/components/basic/InputNumber.vue","../../src/components/basic/InputNumber.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { InputNumberProps } from 'element-plus'\r\nimport type { VNode } from 'vue'\r\nimport { ElInputNumber, useLocale } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XInputNumberProps {\r\n align?: InputNumberProps['align']\r\n controls?: InputNumberProps['controls']\r\n disabled?: InputNumberProps['disabled']\r\n inputmode?: InputNumberProps['inputmode']\r\n max?: InputNumberProps['max']\r\n min?: InputNumberProps['min']\r\n placeholder?: InputNumberProps['placeholder']\r\n precision?: InputNumberProps['precision']\r\n size?: InputNumberProps['size']\r\n step?: InputNumberProps['step']\r\n stepStrictly?: InputNumberProps['stepStrictly']\r\n}\r\n\r\nconst { disabled = undefined } = defineProps<XInputNumberProps>()\r\n\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\n\r\ndefineSlots<{\r\n prefix: () => VNode\r\n suffix: () => VNode\r\n}>()\r\n\r\nconst model = defineModel<number>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请输入${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n emit('blur', e)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElInputNumber\r\n v-bind=\"{\r\n align,\r\n controls,\r\n disabled,\r\n inputmode,\r\n max,\r\n min,\r\n placeholder: placeholder ?? t('el.inputNumber.placeholder'),\r\n precision,\r\n size,\r\n step,\r\n stepStrictly,\r\n }\"\r\n v-model=\"model\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n >\r\n <template\r\n v-if=\"'prefix' in $slots\"\r\n #prefix\r\n >\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template\r\n v-if=\"'suffix' in $slots\"\r\n #suffix\r\n >\r\n <slot name=\"suffix\" />\r\n </template>\r\n </ElInputNumber>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { InputNumberProps } from 'element-plus'\r\nimport type { VNode } from 'vue'\r\nimport { ElInputNumber, useLocale } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XInputNumberProps {\r\n align?: InputNumberProps['align']\r\n controls?: InputNumberProps['controls']\r\n disabled?: InputNumberProps['disabled']\r\n inputmode?: InputNumberProps['inputmode']\r\n max?: InputNumberProps['max']\r\n min?: InputNumberProps['min']\r\n placeholder?: InputNumberProps['placeholder']\r\n precision?: InputNumberProps['precision']\r\n size?: InputNumberProps['size']\r\n step?: InputNumberProps['step']\r\n stepStrictly?: InputNumberProps['stepStrictly']\r\n}\r\n\r\nconst { disabled = undefined } = defineProps<XInputNumberProps>()\r\n\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\n\r\ndefineSlots<{\r\n prefix: () => VNode\r\n suffix: () => VNode\r\n}>()\r\n\r\nconst model = defineModel<number>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请输入${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n emit('blur', e)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElInputNumber\r\n v-bind=\"{\r\n align,\r\n controls,\r\n disabled,\r\n inputmode,\r\n max,\r\n min,\r\n placeholder: placeholder ?? t('el.inputNumber.placeholder'),\r\n precision,\r\n size,\r\n step,\r\n stepStrictly,\r\n }\"\r\n v-model=\"model\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n >\r\n <template\r\n v-if=\"'prefix' in $slots\"\r\n #prefix\r\n >\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template\r\n v-if=\"'suffix' in $slots\"\r\n #suffix\r\n >\r\n <slot name=\"suffix\" />\r\n </template>\r\n </ElInputNumber>\r\n</template>\r\n"],"mappings":"2cAwBA,IAAM,EAAO,EAUP,GAAA,EAAA,EAAA,UAA2B,EAAA,aAAE,CAG7B,CAAE,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,QADc,EAAA,EAAgB,CACP,CAEzB,GAAA,EAAA,EAAA,QAA4B,EAAA,EAAwB,IAAA,GAAU,CACpE,GAAI,GAAoB,SAAU,CAChC,GAAM,CAAE,QAAO,aAAc,EAC7B,EAAmB,cACZ,EAAM,MAGJ,KAAa,CAFX,MAAM,IAMnB,IAAM,EAAS,GAAkB,CAC/B,EAAK,QAAS,EAAE,EAGZ,EAAQ,GAAkB,CAC9B,EAAK,OAAQ,EAAE,gEAmCC,EAAA,cAAA,EAAA,EAAA,EAAA,YAAA,OA7BG,EAAA,eAAc,EAAA,kBAAiB,EAAA,mBAAiB,EAAA,cAAkB,EAAA,QAAY,EAAA,gBAAyB,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,6BAAA,WAAuC,EAAA,eAAkB,EAAA,UAAa,EAAA,kBAAa,EAAA,0BAalN,EAAA,sCAAA,EAAK,MAAA,EACb,OAAM,EACN,QAAO,wCAGYA,EAAAA,OAAAA,MACjB,8BAEqB,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA,4BAGJA,EAAAA,OAAAA,MACjB,8BAEqB,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination-Cy3Y08FK.cjs","names":[],"sources":["../../src/components/basic/Pagination.vue","../../src/components/basic/Pagination.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { PaginationProps } from 'element-plus'\r\nimport { ElConfigProvider, ElPagination, useLocale } from 'element-plus'\r\n\r\nimport { inject } from 'vue'\r\nimport { X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XPaginationProps {\r\n pageSizes?: PaginationProps['pageSizes']\r\n background?: PaginationProps['background']\r\n size?: PaginationProps['size']\r\n layout?: PaginationProps['layout']\r\n total?: PaginationProps['total']\r\n defaultPageSize?: PaginationProps['defaultPageSize']\r\n}\r\n\r\nconst { defaultPageSize = 20, layout = 'prev, pager, next, sizes, jumper, ->, total' } = defineProps<XPaginationProps>()\r\n\r\nconst emit = defineEmits<{\r\n sizeChange: [size: number]\r\n currentChange: [current: number]\r\n}>()\r\nconst currentPage = defineModel<number>('currentPage')\r\nconst pageSize = defineModel<number>('pageSize')\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nuseLocale(locale)\r\n</script>\r\n\r\n<template>\r\n <ElConfigProvider :locale=\"locale\">\r\n <ElPagination\r\n v-bind=\"{ size, total, pageSizes, background, layout }\"\r\n v-model:current-page=\"currentPage\"\r\n v-model:page-size=\"pageSize\"\r\n :default-page-size=\"defaultPageSize\"\r\n @size-change=\"emit('sizeChange', $event)\"\r\n @current-change=\"emit('currentChange', $event)\"\r\n >\r\n <slot />\r\n </ElPagination>\r\n </ElConfigProvider>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { PaginationProps } from 'element-plus'\r\nimport { ElConfigProvider, ElPagination, useLocale } from 'element-plus'\r\n\r\nimport { inject } from 'vue'\r\nimport { X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XPaginationProps {\r\n pageSizes?: PaginationProps['pageSizes']\r\n background?: PaginationProps['background']\r\n size?: PaginationProps['size']\r\n layout?: PaginationProps['layout']\r\n total?: PaginationProps['total']\r\n defaultPageSize?: PaginationProps['defaultPageSize']\r\n}\r\n\r\nconst { defaultPageSize = 20, layout = 'prev, pager, next, sizes, jumper, ->, total' } = defineProps<XPaginationProps>()\r\n\r\nconst emit = defineEmits<{\r\n sizeChange: [size: number]\r\n currentChange: [current: number]\r\n}>()\r\nconst currentPage = defineModel<number>('currentPage')\r\nconst pageSize = defineModel<number>('pageSize')\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nuseLocale(locale)\r\n</script>\r\n\r\n<template>\r\n <ElConfigProvider :locale=\"locale\">\r\n <ElPagination\r\n v-bind=\"{ size, total, pageSizes, background, layout }\"\r\n v-model:current-page=\"currentPage\"\r\n v-model:page-size=\"pageSize\"\r\n :default-page-size=\"defaultPageSize\"\r\n @size-change=\"emit('sizeChange', $event)\"\r\n @current-change=\"emit('currentChange', $event)\"\r\n >\r\n <slot />\r\n </ElPagination>\r\n </ElConfigProvider>\r\n</template>\r\n"],"mappings":"wfCkBA,IAAM,EAAO,EAIP,GAAA,EAAA,EAAA,UAAiC,EAAC,cAAc,CAChD,GAAA,EAAA,EAAA,UAA8B,EAAC,WAAW,CAE1C,GAAA,EAAA,EAAA,QAAgB,EAAA,EAAgB,QACtC,EAAA,EAAA,WAAU,EAAO,yDAeI,EAAA,iBAAA,CAAA,CAXA,QAAA,EAAA,EAAA,OAAQ,EAAA,CAAM,CAAA,2BAUhB,EAAA,EAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,aAAA,EAAA,EAAA,EAAA,YAAA,CAAA,KARH,EAAA,KAAI,MAAE,EAAA,MAAK,UAAE,EAAA,UAAS,WAAE,EAAA,WAAU,OAAE,EAAA,OAAM,CAAA,CAC5C,eAAc,EAAA,uCAAA,EAAW,MAAA,EACzB,YAAW,EAAA,oCAAA,EAAQ,MAAA,EAC1B,oBAAmB,EAAA,gBACnB,aAAW,AAAA,EAAA,KAAA,GAAE,EAAI,aAAe,EAAM,CACtC,gBAAc,AAAA,EAAA,KAAA,GAAE,EAAI,gBAAkB,EAAM,8BAErC,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"Pagination-Cy3Y08FK.cjs","names":[],"sources":["../../src/components/basic/Pagination.vue","../../src/components/basic/Pagination.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { PaginationProps } from 'element-plus'\r\nimport { ElConfigProvider, ElPagination, useLocale } from 'element-plus'\r\n\r\nimport { inject } from 'vue'\r\nimport { X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XPaginationProps {\r\n pageSizes?: PaginationProps['pageSizes']\r\n background?: PaginationProps['background']\r\n size?: PaginationProps['size']\r\n layout?: PaginationProps['layout']\r\n total?: PaginationProps['total']\r\n defaultPageSize?: PaginationProps['defaultPageSize']\r\n}\r\n\r\nconst { defaultPageSize = 20, layout = 'prev, pager, next, sizes, jumper, ->, total' } = defineProps<XPaginationProps>()\r\n\r\nconst emit = defineEmits<{\r\n sizeChange: [size: number]\r\n currentChange: [current: number]\r\n}>()\r\nconst currentPage = defineModel<number>('currentPage')\r\nconst pageSize = defineModel<number>('pageSize')\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nuseLocale(locale)\r\n</script>\r\n\r\n<template>\r\n <ElConfigProvider :locale=\"locale\">\r\n <ElPagination\r\n v-bind=\"{ size, total, pageSizes, background, layout }\"\r\n v-model:current-page=\"currentPage\"\r\n v-model:page-size=\"pageSize\"\r\n :default-page-size=\"defaultPageSize\"\r\n @size-change=\"emit('sizeChange', $event)\"\r\n @current-change=\"emit('currentChange', $event)\"\r\n >\r\n <slot />\r\n </ElPagination>\r\n </ElConfigProvider>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { PaginationProps } from 'element-plus'\r\nimport { ElConfigProvider, ElPagination, useLocale } from 'element-plus'\r\n\r\nimport { inject } from 'vue'\r\nimport { X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XPaginationProps {\r\n pageSizes?: PaginationProps['pageSizes']\r\n background?: PaginationProps['background']\r\n size?: PaginationProps['size']\r\n layout?: PaginationProps['layout']\r\n total?: PaginationProps['total']\r\n defaultPageSize?: PaginationProps['defaultPageSize']\r\n}\r\n\r\nconst { defaultPageSize = 20, layout = 'prev, pager, next, sizes, jumper, ->, total' } = defineProps<XPaginationProps>()\r\n\r\nconst emit = defineEmits<{\r\n sizeChange: [size: number]\r\n currentChange: [current: number]\r\n}>()\r\nconst currentPage = defineModel<number>('currentPage')\r\nconst pageSize = defineModel<number>('pageSize')\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nuseLocale(locale)\r\n</script>\r\n\r\n<template>\r\n <ElConfigProvider :locale=\"locale\">\r\n <ElPagination\r\n v-bind=\"{ size, total, pageSizes, background, layout }\"\r\n v-model:current-page=\"currentPage\"\r\n v-model:page-size=\"pageSize\"\r\n :default-page-size=\"defaultPageSize\"\r\n @size-change=\"emit('sizeChange', $event)\"\r\n @current-change=\"emit('currentChange', $event)\"\r\n >\r\n <slot />\r\n </ElPagination>\r\n </ElConfigProvider>\r\n</template>\r\n"],"mappings":"wfAkBA,IAAM,EAAO,EAIP,GAAA,EAAA,EAAA,UAAiC,EAAC,cAAc,CAChD,GAAA,EAAA,EAAA,UAA8B,EAAC,WAAW,CAE1C,GAAA,EAAA,EAAA,QAAgB,EAAA,EAAgB,QACtC,EAAA,EAAA,WAAU,EAAO,yDAeI,EAAA,iBAAA,CAAA,CAXA,QAAA,EAAA,EAAA,OAAQ,EAAA,CAAM,CAAA,2BAUhB,EAAA,EAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,aAAA,EAAA,EAAA,EAAA,YAAA,CAAA,KARH,EAAA,KAAI,MAAE,EAAA,MAAK,UAAE,EAAA,UAAS,WAAE,EAAA,WAAU,OAAE,EAAA,OAAM,CAAA,CAC5C,eAAc,EAAA,uCAAA,EAAW,MAAA,EACzB,YAAW,EAAA,oCAAA,EAAQ,MAAA,EAC1B,oBAAmB,EAAA,gBACnB,aAAW,AAAA,EAAA,KAAA,GAAE,EAAI,aAAe,EAAM,CACtC,gBAAc,AAAA,EAAA,KAAA,GAAE,EAAI,gBAAkB,EAAM,8BAErC,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA"}
@@ -1,2 +1,2 @@
1
- const e=require(`./dist-Dgq63FPm.cjs`),t=require(`./constants-CYUPXiMy.cjs`);let n=require(`element-plus`),r=require(`vue`);var i=(0,r.defineComponent)({__name:`Select`,props:(0,r.mergeModels)({collapseTagsTooltip:{type:Boolean},defaultFirstOption:{type:Boolean},clearable:{type:Boolean},allowCreate:{type:Boolean},collapseTags:{type:Boolean},data:{},disabled:{type:Boolean,default:()=>void 0},factory:{type:Function},filterable:{type:Boolean},identify:{type:Function},loading:{type:Boolean},multiple:{type:Boolean},remote:{type:Boolean},remoteMethod:{type:Function},size:{},supplement:{type:Function},placeholder:{},noDataText:{}},{modelValue:{},modelModifiers:{}}),emits:(0,r.mergeModels)([`blur`,`change`,`focus`],[`update:modelValue`]),setup(i,{emit:a}){let o=a,s=(0,r.useModel)(i,`modelValue`),{t:c}=(0,n.useLocale)((0,r.inject)(t.l)),l=(0,r.ref)([]),u=e.c(()=>i.data??[],i.factory),d=(0,r.computed)(()=>[...e.c(l,i.factory).value,...u.value]),f=e=>{if(typeof e==`object`){if(i.identify)return i.identify(e);throw Error("`identify` is required when value's type extends `object` or `object[]`")}else return e},p=e=>d.value.map(e=>e.value).find(t=>f(t)===e),m=0;(0,r.watch)([s,u],async()=>{if(m++,s.value){let e=[...[],...Array.isArray(s.value)?s.value:[s.value]].filter(e=>!u.value.map(e=>f(e.value)).includes(f(e))),t=m,n=await i.supplement?.(e);t===m&&n&&(l.value=n)}else l.value=[]},{immediate:!0});let h=(0,r.computed)(()=>d.value.map(e=>{let t=f(e.value);return{disabled:e.disabled,key:t,label:e.label,value:t}})),g=(0,r.computed)({get:()=>s.value&&(Array.isArray(s.value)?s.value.map(f):f(s.value)),set:e=>{Array.isArray(e)?s.value=e.map(e=>p(e)):s.value=e===void 0?void 0:p(e)??(i.allowCreate?e:void 0)}}),_=(0,r.inject)(t.s,void 0);if(_?.required){let{label:e,validator:t}=_;_.validator=()=>!s.value||Array.isArray(s.value)&&s.value.length===0?`请选择${e}`:t?.()}let v=e=>{o(`change`,e),_?.validate?.()};return(e,t)=>((0,r.openBlock)(),(0,r.createBlock)((0,r.unref)(n.ElSelect),(0,r.mergeProps)({placeholder:i.placeholder??(0,r.unref)(c)(`el.select.placeholder`),noDataText:i.noDataText??(0,r.unref)(c)(`el.select.noDataText`),disabled:i.disabled,allowCreate:i.allowCreate,remote:i.remote,filterable:i.filterable||i.remote,clearable:i.clearable,remoteMethod:i.remoteMethod,multiple:i.multiple,loading:i.loading,size:i.size,collapseTags:i.collapseTags,collapseTagsTooltip:i.collapseTagsTooltip,defaultFirstOption:i.defaultFirstOption||i.allowCreate},{modelValue:g.value,"onUpdate:modelValue":t[0]||=e=>g.value=e,onBlur:t[1]||=e=>o(`blur`,e),onFocus:t[2]||=e=>o(`focus`,e),onChange:v}),{default:(0,r.withCtx)(()=>[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(h.value,e=>((0,r.openBlock)(),(0,r.createBlock)((0,r.unref)(n.ElOption),{key:e.key,label:e.label,value:e.value,disabled:e.disabled},{default:(0,r.withCtx)(()=>[(0,r.createTextVNode)((0,r.toDisplayString)(e.label),1)]),_:2},1032,[`label`,`value`,`disabled`]))),128))]),_:1},16,[`modelValue`]))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
2
- //# sourceMappingURL=Select-CbFsXS-J.cjs.map
1
+ const e=require(`./dist-Dgq63FPm.cjs`),t=require(`./constants-CYUPXiMy.cjs`);let n=require(`element-plus`),r=require(`vue`);var i=(0,r.defineComponent)({__name:`Select`,props:(0,r.mergeModels)({collapseTagsTooltip:{type:Boolean},defaultFirstOption:{type:Boolean},clearable:{type:Boolean},allowCreate:{type:Boolean},collapseTags:{type:Boolean},data:{},disabled:{type:Boolean,default:()=>void 0},factory:{type:Function},filterable:{type:Boolean},identify:{type:Function},loading:{type:Boolean},multiple:{type:Boolean},remote:{type:Boolean},remoteMethod:{type:Function},size:{},supplement:{type:Function},placeholder:{},noDataText:{}},{modelValue:{},modelModifiers:{}}),emits:(0,r.mergeModels)([`blur`,`change`,`focus`],[`update:modelValue`]),setup(i,{emit:a}){let o=a,s=(0,r.useModel)(i,`modelValue`),{t:c}=(0,n.useLocale)((0,r.inject)(t.l)),l=(0,r.ref)([]),u=e.c(()=>i.data??[],i.factory),d=(0,r.computed)(()=>[...e.c(l,i.factory).value,...u.value]),f=e=>{if(typeof e==`object`){if(i.identify)return i.identify(e);throw Error("`identify` is required when value's type extends `object` or `object[]`")}else return e},p=e=>d.value.map(e=>e.value).find(t=>f(t)===e),m=0;(0,r.watch)([s,u],async()=>{if(m++,s.value){let e=[...[],...Array.isArray(s.value)?s.value:[s.value]].filter(e=>!u.value.map(e=>f(e.value)).includes(f(e))),t=m,n=await i.supplement?.(e);t===m&&n&&(l.value=n)}else l.value=[]},{immediate:!0});let h=(0,r.computed)(()=>d.value.map(e=>{let t=f(e.value);return{disabled:e.disabled,key:t,label:e.label,value:t}})),g=(0,r.computed)({get:()=>s.value&&(Array.isArray(s.value)?s.value.map(f):f(s.value)),set:e=>{Array.isArray(e)?s.value=e.map(e=>p(e)):s.value=e===void 0?void 0:p(e)??(i.allowCreate?e:void 0)}}),_=(0,r.inject)(t.s,void 0);if(_?.required){let{label:e,validator:t}=_;_.validator=()=>!s.value||Array.isArray(s.value)&&s.value.length===0?`请选择${e}`:t?.()}let v=e=>{o(`blur`,e),_?.validate?.()},y=e=>{o(`focus`,e)},b=e=>{o(`change`,e)};return(e,t)=>((0,r.openBlock)(),(0,r.createBlock)((0,r.unref)(n.ElSelect),(0,r.mergeProps)({placeholder:i.placeholder??(0,r.unref)(c)(`el.select.placeholder`),noDataText:i.noDataText??(0,r.unref)(c)(`el.select.noDataText`),disabled:i.disabled,allowCreate:i.allowCreate,remote:i.remote,filterable:i.filterable||i.remote,clearable:i.clearable,remoteMethod:i.remoteMethod,multiple:i.multiple,loading:i.loading,size:i.size,collapseTags:i.collapseTags,collapseTagsTooltip:i.collapseTagsTooltip,defaultFirstOption:i.defaultFirstOption||i.allowCreate},{modelValue:g.value,"onUpdate:modelValue":t[0]||=e=>g.value=e,onBlur:v,onFocus:y,onChange:b}),{default:(0,r.withCtx)(()=>[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(h.value,e=>((0,r.openBlock)(),(0,r.createBlock)((0,r.unref)(n.ElOption),{key:e.key,label:e.label,value:e.value,disabled:e.disabled},{default:(0,r.withCtx)(()=>[(0,r.createTextVNode)((0,r.toDisplayString)(e.label),1)]),_:2},1032,[`label`,`value`,`disabled`]))),128))]),_:1},16,[`modelValue`]))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
2
+ //# sourceMappingURL=Select-QOHpdjtL.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select-QOHpdjtL.cjs","names":[],"sources":["../../src/components/basic/Select.vue","../../src/components/basic/Select.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"D, V, MV extends V | V[]\">\r\nimport type { SelectProps } from 'element-plus'\r\nimport type { Ref } from 'vue'\r\n\r\nimport { useArrayMap } from '@vueuse/core'\r\nimport { ElOption, ElSelect, useLocale } from 'element-plus'\r\nimport { computed, inject, ref, watch } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XSelectOptionProps<V> {\r\n disabled?: boolean\r\n label?: number | string\r\n value: V\r\n}\r\n\r\nexport interface XSelectProps<D, V> {\r\n collapseTagsTooltip?: SelectProps['collapseTagsTooltip']\r\n defaultFirstOption?: SelectProps['defaultFirstOption']\r\n clearable?: SelectProps['clearable']\r\n allowCreate?: SelectProps['allowCreate']\r\n collapseTags?: SelectProps['collapseTags']\r\n data?: D[]\r\n disabled?: SelectProps['disabled']\r\n factory: (option: D) => XSelectOptionProps<V>\r\n\r\n filterable?: SelectProps['filterable']\r\n identify?: (value: V) => number | string\r\n loading?: SelectProps['loading']\r\n multiple?: SelectProps['multiple']\r\n remote?: SelectProps['remote']\r\n\r\n remoteMethod?: (query: string) => void\r\n size?: SelectProps['size']\r\n\r\n supplement?: (lacks: V[]) => D[] | PromiseLike<D[]>\r\n placeholder?: SelectProps['placeholder']\r\n noDataText?: SelectProps['noDataText']\r\n}\r\n\r\nexport interface XSelectEvents<V> {\r\n blur: [e: FocusEvent]\r\n change: [value: V]\r\n focus: [e: FocusEvent]\r\n}\r\n\r\nconst {\r\n allowCreate,\r\n data,\r\n disabled = undefined,\r\n factory,\r\n identify,\r\n supplement\r\n} = defineProps<XSelectProps<D, V>>()\r\n\r\nconst emit = defineEmits<XSelectEvents<V>>()\r\n\r\nconst model = defineModel<MV>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst supplements = ref([]) as Ref<D[]>\r\nconst init = useArrayMap(() => data ?? [], factory)\r\nconst options = computed(() => [...useArrayMap(supplements, factory).value, ...init.value])\r\n\r\nconst forward = (value: V) => {\r\n if (typeof value === 'object') {\r\n if (identify) {\r\n return identify(value)\r\n }\r\n else {\r\n throw new Error('`identify` is required when value\\'s type extends `object` or `object[]`')\r\n }\r\n }\r\n else {\r\n return value as number | string\r\n }\r\n}\r\nconst backward = (key: number | string) => options.value.map(item => item.value).find(item => forward(item) === key)\r\n\r\nlet no = 0\r\nwatch(\r\n [model, init],\r\n async () => {\r\n no++\r\n if (model.value) {\r\n const lacks = [...[] as V[], ...Array.isArray(model.value) ? model.value : [model.value]]\r\n .filter(item => !init.value.map(it => forward(it.value)).includes(forward(item)))\r\n const _no = no\r\n const _data = await supplement?.(lacks)\r\n if (_no === no && _data) {\r\n supplements.value = _data\r\n }\r\n }\r\n else {\r\n supplements.value = []\r\n }\r\n },\r\n { immediate: true }\r\n)\r\n\r\nconst localOptions = computed(() =>\r\n options.value.map((item) => {\r\n const key = forward(item.value)\r\n return { disabled: item.disabled, key, label: item.label, value: key }\r\n })\r\n)\r\n\r\nconst localModel = computed({\r\n get: () => model.value && (Array.isArray(model.value) ? model.value.map(forward) : forward(model.value as V)),\r\n set: (value) => {\r\n if (Array.isArray(value)) {\r\n model.value = value.map(item => backward(item)!) as MV\r\n }\r\n else {\r\n model.value\r\n = value === undefined\r\n ? undefined\r\n : ((backward(value) ?? (allowCreate ? value : undefined)) as MV)\r\n }\r\n }\r\n})\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value || (Array.isArray(model.value) && model.value.length === 0)) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n emit('blur', e)\r\n formItemValidation?.validate?.()\r\n}\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\nconst change = (value: V) => {\r\n emit('change', value)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElSelect\r\n v-bind=\"{\r\n placeholder: placeholder ?? t('el.select.placeholder'),\r\n noDataText: noDataText ?? t('el.select.noDataText'),\r\n disabled,\r\n allowCreate,\r\n remote,\r\n filterable: filterable || remote,\r\n clearable,\r\n remoteMethod,\r\n multiple,\r\n loading,\r\n size,\r\n collapseTags,\r\n collapseTagsTooltip,\r\n defaultFirstOption: defaultFirstOption || allowCreate,\r\n }\"\r\n v-model=\"localModel\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n @change=\"change\"\r\n >\r\n <ElOption\r\n v-for=\"option of localOptions\"\r\n :key=\"option.key\"\r\n :label=\"option.label\"\r\n :value=\"option.value\"\r\n :disabled=\"option.disabled\"\r\n >\r\n {{ option.label }}\r\n </ElOption>\r\n </ElSelect>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"D, V, MV extends V | V[]\">\r\nimport type { SelectProps } from 'element-plus'\r\nimport type { Ref } from 'vue'\r\n\r\nimport { useArrayMap } from '@vueuse/core'\r\nimport { ElOption, ElSelect, useLocale } from 'element-plus'\r\nimport { computed, inject, ref, watch } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XSelectOptionProps<V> {\r\n disabled?: boolean\r\n label?: number | string\r\n value: V\r\n}\r\n\r\nexport interface XSelectProps<D, V> {\r\n collapseTagsTooltip?: SelectProps['collapseTagsTooltip']\r\n defaultFirstOption?: SelectProps['defaultFirstOption']\r\n clearable?: SelectProps['clearable']\r\n allowCreate?: SelectProps['allowCreate']\r\n collapseTags?: SelectProps['collapseTags']\r\n data?: D[]\r\n disabled?: SelectProps['disabled']\r\n factory: (option: D) => XSelectOptionProps<V>\r\n\r\n filterable?: SelectProps['filterable']\r\n identify?: (value: V) => number | string\r\n loading?: SelectProps['loading']\r\n multiple?: SelectProps['multiple']\r\n remote?: SelectProps['remote']\r\n\r\n remoteMethod?: (query: string) => void\r\n size?: SelectProps['size']\r\n\r\n supplement?: (lacks: V[]) => D[] | PromiseLike<D[]>\r\n placeholder?: SelectProps['placeholder']\r\n noDataText?: SelectProps['noDataText']\r\n}\r\n\r\nexport interface XSelectEvents<V> {\r\n blur: [e: FocusEvent]\r\n change: [value: V]\r\n focus: [e: FocusEvent]\r\n}\r\n\r\nconst {\r\n allowCreate,\r\n data,\r\n disabled = undefined,\r\n factory,\r\n identify,\r\n supplement\r\n} = defineProps<XSelectProps<D, V>>()\r\n\r\nconst emit = defineEmits<XSelectEvents<V>>()\r\n\r\nconst model = defineModel<MV>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst supplements = ref([]) as Ref<D[]>\r\nconst init = useArrayMap(() => data ?? [], factory)\r\nconst options = computed(() => [...useArrayMap(supplements, factory).value, ...init.value])\r\n\r\nconst forward = (value: V) => {\r\n if (typeof value === 'object') {\r\n if (identify) {\r\n return identify(value)\r\n }\r\n else {\r\n throw new Error('`identify` is required when value\\'s type extends `object` or `object[]`')\r\n }\r\n }\r\n else {\r\n return value as number | string\r\n }\r\n}\r\nconst backward = (key: number | string) => options.value.map(item => item.value).find(item => forward(item) === key)\r\n\r\nlet no = 0\r\nwatch(\r\n [model, init],\r\n async () => {\r\n no++\r\n if (model.value) {\r\n const lacks = [...[] as V[], ...Array.isArray(model.value) ? model.value : [model.value]]\r\n .filter(item => !init.value.map(it => forward(it.value)).includes(forward(item)))\r\n const _no = no\r\n const _data = await supplement?.(lacks)\r\n if (_no === no && _data) {\r\n supplements.value = _data\r\n }\r\n }\r\n else {\r\n supplements.value = []\r\n }\r\n },\r\n { immediate: true }\r\n)\r\n\r\nconst localOptions = computed(() =>\r\n options.value.map((item) => {\r\n const key = forward(item.value)\r\n return { disabled: item.disabled, key, label: item.label, value: key }\r\n })\r\n)\r\n\r\nconst localModel = computed({\r\n get: () => model.value && (Array.isArray(model.value) ? model.value.map(forward) : forward(model.value as V)),\r\n set: (value) => {\r\n if (Array.isArray(value)) {\r\n model.value = value.map(item => backward(item)!) as MV\r\n }\r\n else {\r\n model.value\r\n = value === undefined\r\n ? undefined\r\n : ((backward(value) ?? (allowCreate ? value : undefined)) as MV)\r\n }\r\n }\r\n})\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value || (Array.isArray(model.value) && model.value.length === 0)) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n emit('blur', e)\r\n formItemValidation?.validate?.()\r\n}\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\nconst change = (value: V) => {\r\n emit('change', value)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElSelect\r\n v-bind=\"{\r\n placeholder: placeholder ?? t('el.select.placeholder'),\r\n noDataText: noDataText ?? t('el.select.noDataText'),\r\n disabled,\r\n allowCreate,\r\n remote,\r\n filterable: filterable || remote,\r\n clearable,\r\n remoteMethod,\r\n multiple,\r\n loading,\r\n size,\r\n collapseTags,\r\n collapseTagsTooltip,\r\n defaultFirstOption: defaultFirstOption || allowCreate,\r\n }\"\r\n v-model=\"localModel\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n @change=\"change\"\r\n >\r\n <ElOption\r\n v-for=\"option of localOptions\"\r\n :key=\"option.key\"\r\n :label=\"option.label\"\r\n :value=\"option.value\"\r\n :disabled=\"option.disabled\"\r\n >\r\n {{ option.label }}\r\n </ElOption>\r\n </ElSelect>\r\n</template>\r\n"],"mappings":"svBAuDA,IAAM,EAAO,EAEP,GAAA,EAAA,EAAA,UAAuB,EAAA,aAAE,CAGzB,CAAE,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,QADc,EAAA,EAAgB,CACP,CAEzB,GAAA,EAAA,EAAA,KAAkB,EAAE,CAAa,CACjC,EAAO,EAAA,MAAkB,EAAA,MAAQ,EAAE,CAAE,EAAA,QAAQ,CAC7C,GAAA,EAAA,EAAA,cAAyB,CAAC,GAAG,EAAA,EAAY,EAAa,EAAA,QAAQ,CAAC,MAAO,GAAG,EAAK,MAAM,CAAC,CAErF,EAAW,GAAa,CAC5B,GAAI,OAAO,GAAU,SACnB,IAAI,EAAA,SACF,OAAO,EAAA,SAAS,EAAM,CAGtB,MAAU,MAAM,0EAA2E,MAI7F,OAAO,GAGL,EAAY,GAAyB,EAAQ,MAAM,IAAI,GAAQ,EAAK,MAAM,CAAC,KAAK,GAAQ,EAAQ,EAAK,GAAK,EAAI,CAEhH,EAAK,GACT,EAAA,EAAA,OACE,CAAC,EAAO,EAAK,CACb,SAAY,CAEV,GADA,IACI,EAAM,MAAO,CACf,IAAM,EAAQ,CAAC,GAAG,EAAS,CAAE,GAAG,MAAM,QAAQ,EAAM,MAAM,CAAG,EAAM,MAAQ,CAAC,EAAM,MAAM,CAAC,CACtF,OAAO,GAAQ,CAAC,EAAK,MAAM,IAAI,GAAM,EAAQ,EAAG,MAAM,CAAC,CAAC,SAAS,EAAQ,EAAK,CAAC,CAAC,CAC7E,EAAM,EACN,EAAQ,MAAM,EAAA,aAAa,EAAM,CACnC,IAAQ,GAAM,IAChB,EAAY,MAAQ,QAItB,EAAY,MAAQ,EAAE,EAG1B,CAAE,UAAW,GACf,CAAC,CAED,IAAM,GAAA,EAAA,EAAA,cACJ,EAAQ,MAAM,IAAK,GAAS,CAC1B,IAAM,EAAM,EAAQ,EAAK,MAAM,CAC/B,MAAO,CAAE,SAAU,EAAK,SAAU,MAAK,MAAO,EAAK,MAAO,MAAO,EAAK,EAE1E,CAAC,CAEK,GAAA,EAAA,EAAA,UAAsB,CAC1B,QAAW,EAAM,QAAU,MAAM,QAAQ,EAAM,MAAM,CAAG,EAAM,MAAM,IAAI,EAAQ,CAAG,EAAQ,EAAM,MAAW,EAC5G,IAAM,GAAU,CACV,MAAM,QAAQ,EAAM,CACtB,EAAM,MAAQ,EAAM,IAAI,GAAQ,EAAS,EAAM,CAAO,CAGtD,EAAM,MACF,IAAU,IAAA,GACR,IAAA,GACE,EAAS,EAAM,GAAK,EAAA,YAAc,EAAQ,IAAA,KAGvD,CAAC,CAEI,GAAA,EAAA,EAAA,QAA4B,EAAA,EAAwB,IAAA,GAAU,CACpE,GAAI,GAAoB,SAAU,CAChC,GAAM,CAAE,QAAO,aAAc,EAC7B,EAAmB,cACb,CAAC,EAAM,OAAU,MAAM,QAAQ,EAAM,MAAM,EAAI,EAAM,MAAM,SAAW,EACjE,MAAM,IAER,KAAa,CAIxB,IAAM,EAAQ,GAAkB,CAC9B,EAAK,OAAQ,EAAE,CACf,GAAoB,YAAY,EAE5B,EAAS,GAAkB,CAC/B,EAAK,QAAS,EAAE,EAEZ,EAAU,GAAa,CAC3B,EAAK,SAAU,EAAM,gEAoCV,EAAA,SAAA,EAAA,EAAA,EAAA,YAAA,aA9BqB,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,wBAAA,YAA8C,EAAA,aAAA,EAAA,EAAA,OAAc,EAAC,CAAA,uBAAA,UAAiC,EAAA,qBAAiB,EAAA,mBAAoB,EAAA,kBAA2B,EAAA,YAAc,EAAA,iBAAe,EAAA,uBAAkB,EAAA,sBAAqB,EAAA,iBAAiB,EAAA,aAAgB,EAAA,kBAAa,EAAA,iCAAqB,EAAA,uCAAgD,EAAA,oBAAsB,EAAA,yBAgBhZ,EAAA,sCAAA,EAAU,MAAA,EAClB,OAAM,EACN,QAAO,EACP,SAAQ,+BAGuB,GAAA,EAAA,EAAA,WAAA,GAAA,EAAA,EAAA,EAAA,oBAOrB,EAAA,SAAA,MAAA,EAAA,EAAA,YAPQ,EAAA,MAAV,oDAOE,EAAA,SAAA,CAAA,CANR,IAAK,EAAO,IACZ,MAAO,EAAO,MACd,MAAO,EAAO,MACd,SAAU,EAAO,qCAEA,EAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAf,EAAO,MAAK,CAAA,EAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./Select-CbFsXS-J.cjs`);exports.default=e.t;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./Select-QOHpdjtL.cjs`);exports.default=e.t;
@@ -1 +1 @@
1
- {"version":3,"file":"TabPane-C2gWO5xN.cjs","names":[],"sources":["../../src/components/basic/TabPane.vue","../../src/components/basic/TabPane.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { TabPaneProps } from 'element-plus'\r\nimport { ElTabPane } from 'element-plus'\r\nimport { provide } from 'vue'\r\nimport { X_ELEMENT_IN_TAB_PANE, X_TAB_PANE_NAME } from '@/constants'\r\n\r\nexport interface XTabPaneConfig {\r\n label?: string\r\n name?: number | string\r\n}\r\n\r\nexport interface XTabPaneProps {\r\n closable?: TabPaneProps['closable']\r\n disabled?: TabPaneProps['disabled']\r\n label?: TabPaneProps['label']\r\n lazy?: TabPaneProps['lazy']\r\n name?: TabPaneProps['name']\r\n}\r\n\r\nconst { label, name } = defineProps<XTabPaneProps>()\r\n\r\nconst pane = { label, name }\r\n\r\ndefineExpose({ ...pane })\r\n\r\nprovide(X_ELEMENT_IN_TAB_PANE, true)\r\nprovide(X_TAB_PANE_NAME, name)\r\n</script>\r\n\r\n<template>\r\n <ElTabPane\r\n v-bind=\"{ label, name, disabled, closable, lazy }\"\r\n >\r\n <slot />\r\n </ElTabPane>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { TabPaneProps } from 'element-plus'\r\nimport { ElTabPane } from 'element-plus'\r\nimport { provide } from 'vue'\r\nimport { X_ELEMENT_IN_TAB_PANE, X_TAB_PANE_NAME } from '@/constants'\r\n\r\nexport interface XTabPaneConfig {\r\n label?: string\r\n name?: number | string\r\n}\r\n\r\nexport interface XTabPaneProps {\r\n closable?: TabPaneProps['closable']\r\n disabled?: TabPaneProps['disabled']\r\n label?: TabPaneProps['label']\r\n lazy?: TabPaneProps['lazy']\r\n name?: TabPaneProps['name']\r\n}\r\n\r\nconst { label, name } = defineProps<XTabPaneProps>()\r\n\r\nconst pane = { label, name }\r\n\r\ndefineExpose({ ...pane })\r\n\r\nprovide(X_ELEMENT_IN_TAB_PANE, true)\r\nprovide(X_TAB_PANE_NAME, name)\r\n</script>\r\n\r\n<template>\r\n <ElTabPane\r\n v-bind=\"{ label, name, disabled, closable, lazy }\"\r\n >\r\n <slot />\r\n </ElTabPane>\r\n</template>\r\n"],"mappings":"iQCuBA,EAAa,CAFE,MAAI,EAAA,MAAG,KAAG,EAAA,KAED,CAAC,EAEzB,EAAA,EAAA,SAAQ,EAAA,EAAuB,GAAK,EACpC,EAAA,EAAA,SAAQ,EAAA,EAAiB,EAAA,KAAK,yDAQhB,EAAA,UAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,oBAAA,CAAA,MAHA,EAAA,MAAK,KAAE,EAAA,KAAI,SAAE,EAAA,SAAQ,SAAE,EAAA,SAAQ,KAAE,EAAA,KAAI,CAAA,CAAA,CAAA,2BAEvC,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"TabPane-C2gWO5xN.cjs","names":[],"sources":["../../src/components/basic/TabPane.vue","../../src/components/basic/TabPane.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { TabPaneProps } from 'element-plus'\r\nimport { ElTabPane } from 'element-plus'\r\nimport { provide } from 'vue'\r\nimport { X_ELEMENT_IN_TAB_PANE, X_TAB_PANE_NAME } from '@/constants'\r\n\r\nexport interface XTabPaneConfig {\r\n label?: string\r\n name?: number | string\r\n}\r\n\r\nexport interface XTabPaneProps {\r\n closable?: TabPaneProps['closable']\r\n disabled?: TabPaneProps['disabled']\r\n label?: TabPaneProps['label']\r\n lazy?: TabPaneProps['lazy']\r\n name?: TabPaneProps['name']\r\n}\r\n\r\nconst { label, name } = defineProps<XTabPaneProps>()\r\n\r\nconst pane = { label, name }\r\n\r\ndefineExpose({ ...pane })\r\n\r\nprovide(X_ELEMENT_IN_TAB_PANE, true)\r\nprovide(X_TAB_PANE_NAME, name)\r\n</script>\r\n\r\n<template>\r\n <ElTabPane\r\n v-bind=\"{ label, name, disabled, closable, lazy }\"\r\n >\r\n <slot />\r\n </ElTabPane>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { TabPaneProps } from 'element-plus'\r\nimport { ElTabPane } from 'element-plus'\r\nimport { provide } from 'vue'\r\nimport { X_ELEMENT_IN_TAB_PANE, X_TAB_PANE_NAME } from '@/constants'\r\n\r\nexport interface XTabPaneConfig {\r\n label?: string\r\n name?: number | string\r\n}\r\n\r\nexport interface XTabPaneProps {\r\n closable?: TabPaneProps['closable']\r\n disabled?: TabPaneProps['disabled']\r\n label?: TabPaneProps['label']\r\n lazy?: TabPaneProps['lazy']\r\n name?: TabPaneProps['name']\r\n}\r\n\r\nconst { label, name } = defineProps<XTabPaneProps>()\r\n\r\nconst pane = { label, name }\r\n\r\ndefineExpose({ ...pane })\r\n\r\nprovide(X_ELEMENT_IN_TAB_PANE, true)\r\nprovide(X_TAB_PANE_NAME, name)\r\n</script>\r\n\r\n<template>\r\n <ElTabPane\r\n v-bind=\"{ label, name, disabled, closable, lazy }\"\r\n >\r\n <slot />\r\n </ElTabPane>\r\n</template>\r\n"],"mappings":"iQAuBA,EAAa,CAFE,MAAI,EAAA,MAAG,KAAG,EAAA,KAED,CAAC,EAEzB,EAAA,EAAA,SAAQ,EAAA,EAAuB,GAAK,EACpC,EAAA,EAAA,SAAQ,EAAA,EAAiB,EAAA,KAAK,yDAQhB,EAAA,UAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,oBAAA,CAAA,MAHA,EAAA,MAAK,KAAE,EAAA,KAAI,SAAE,EAAA,SAAQ,SAAE,EAAA,SAAQ,KAAE,EAAA,KAAI,CAAA,CAAA,CAAA,2BAEvC,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Table-B3zf7ybj.cjs","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":"kqBCyDA,IAAM,EAAO,EAEP,GAAA,EAAA,EAAA,QADgB,EAAA,EAAiB,EACX,MAEtB,GAAA,EAAA,EAAA,QAAgB,EAAA,EAAiB,IAAA,GAAU,CAC3C,CAAE,MAAA,EAAA,EAAA,WAAgB,EAAO,CAEzB,GAAA,EAAA,EAAA,gBAAuB,QAAQ,CAErC,EAAa,CACX,mBAAsB,EAAM,OAAO,gBAAgB,CACnD,qBAAwB,EAAM,OAAO,kBAAkB,CACvD,UAAW,EAAmC,IAAoB,EAAM,OAAO,SAAS,EAAS,EAAO,CACxG,cAAgB,GAAW,EAAM,OAAO,cAAc,EAAI,CAC1D,cAAgB,GAAiB,EAAM,OAAO,SAAS,EAAK,CAC5D,aAAe,GAAgB,EAAM,OAAO,SAAS,EAAI,CACzD,oBAAqB,EAAQ,EAAoB,IAA+B,EAAM,OAAO,mBAAmB,EAAK,EAAU,EAAgB,CAChJ,CAAC,EAEF,EAAA,EAAA,SAAQ,EAAA,EAAoB,GAAK,CAEjC,IAAM,GAAA,EAAA,EAAA,iBAAgC,QACpC,EAAA,EAAA,aAAO,EAAA,cAAA,CAAA,MAEI,EAAM,MAAK,MACX,EAAM,MAAK,KACZ,EAAM,KAAI,KACV,EAAM,KAAI,MACT,EAAM,MAAK,UACP,EAAM,UAAS,WACd,EAAM,WAAU,CAAA,CAG1B,SAAU,CAAE,MAAK,YAAyC,EAAM,UAAU,CAAE,MAAK,MAAO,EAAQ,CAAC,CACjG,WAAc,EAAM,SAAS,CAAE,OAAQ,CAAE,GAAG,EAAM,CAAG,CAAA,CAAC,CAG3D,CACA,CAAE,MAAO,CAAC,UAAW,QAAS,SAAU,QAAS,OAAQ,aAAc,OAAQ,QAAO,CAAG,CAAC,+DAkCxE,EAAA,iBAAA,CAAA,CA9BA,QAAA,EAAA,EAAA,OAAQ,EAAA,CAAM,CAAA,2BA6BrB,EAAA,EAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,QAAA,EAAA,EAAA,EAAA,YAAA,SA3BJ,QAAJ,IAAI,SACe,EAAA,YAAe,EAAA,oBAAiB,EAAA,sBAAuB,EAAA,uBAAmB,EAAA,wBAAwB,EAAA,sBAAoB,EAAA,gCAAsB,EAAA,+BAA8B,EAAA,yBAAqB,EAAA,mBAAwB,EAAA,SAAe,EAAA,WAAc,EAAA,cAAyB,EAAA,SAAA,EAAA,EAAA,OAAU,EAAW,EAAE,iBAA4B,EAAA,YAAA,EAAA,EAAA,OAAa,EAAC,CAAA,qBAAA,GAiBhW,WAAS,AAAA,EAAA,KAAG,GAAW,EAAI,WAAa,EAAG,CAC3C,cAAY,AAAA,EAAA,KAAG,GAAW,EAAI,cAAgB,EAAG,CACjD,kBAAgB,AAAA,EAAA,KAAG,GAAc,EAAI,kBAAoB,EAAI,CAC7D,gBAAc,AAAA,EAAA,MAAG,EAAU,EAAU,IAAW,EAAI,gBAAkB,EAAU,EAAU,EAAM,8BAGtE,GAAA,EAAA,EAAA,WAAA,GAAA,EAAA,EAAA,EAAA,oBAEzB,EAAA,SAAA,MAAA,EAAA,EAAA,YAFiB,EAAA,QAAV,oDAEP,EAAA,EAAA,EAAA,EAAA,YAAA,CAAA,QAAA,GAAA,CADQ,EAAM,CAAA,KAAA,GAAA"}
1
+ {"version":3,"file":"Table-B3zf7ybj.cjs","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":"kqBAyDA,IAAM,EAAO,EAEP,GAAA,EAAA,EAAA,QADgB,EAAA,EAAiB,EACX,MAEtB,GAAA,EAAA,EAAA,QAAgB,EAAA,EAAiB,IAAA,GAAU,CAC3C,CAAE,MAAA,EAAA,EAAA,WAAgB,EAAO,CAEzB,GAAA,EAAA,EAAA,gBAAuB,QAAQ,CAErC,EAAa,CACX,mBAAsB,EAAM,OAAO,gBAAgB,CACnD,qBAAwB,EAAM,OAAO,kBAAkB,CACvD,UAAW,EAAmC,IAAoB,EAAM,OAAO,SAAS,EAAS,EAAO,CACxG,cAAgB,GAAW,EAAM,OAAO,cAAc,EAAI,CAC1D,cAAgB,GAAiB,EAAM,OAAO,SAAS,EAAK,CAC5D,aAAe,GAAgB,EAAM,OAAO,SAAS,EAAI,CACzD,oBAAqB,EAAQ,EAAoB,IAA+B,EAAM,OAAO,mBAAmB,EAAK,EAAU,EAAgB,CAChJ,CAAC,EAEF,EAAA,EAAA,SAAQ,EAAA,EAAoB,GAAK,CAEjC,IAAM,GAAe,EAAA,EAAA,iBAAiB,QACpC,EAAA,EAAA,aAAO,EAAA,cAAA,CAAA,MAEI,EAAM,MAAK,MACX,EAAM,MAAK,KACZ,EAAM,KAAI,KACV,EAAM,KAAI,MACT,EAAM,MAAK,UACP,EAAM,UAAS,WACd,EAAM,WAAU,CAAA,CAG1B,SAAU,CAAE,MAAK,YAAyC,EAAM,UAAU,CAAE,MAAK,MAAO,EAAQ,CAAC,CACjG,WAAc,EAAM,SAAS,CAAE,OAAQ,CAAE,GAAG,EAAM,CAAG,CAAA,CAAC,CAG3D,CACA,CAAE,MAAO,CAAC,UAAW,QAAS,SAAU,QAAS,OAAQ,aAAc,OAAQ,QAAO,CAAG,CAAC,+DAkCxE,EAAA,iBAAA,CAAA,CA9BA,QAAA,EAAA,EAAA,OAAQ,EAAA,CAAM,CAAA,2BA6BrB,EAAA,EAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,QAAA,EAAA,EAAA,EAAA,YAAA,SA3BJ,QAAJ,IAAI,SACe,EAAA,YAAe,EAAA,oBAAiB,EAAA,sBAAuB,EAAA,uBAAmB,EAAA,wBAAwB,EAAA,sBAAoB,EAAA,gCAAsB,EAAA,+BAA8B,EAAA,yBAAqB,EAAA,mBAAwB,EAAA,SAAe,EAAA,WAAc,EAAA,cAAyB,EAAA,SAAA,EAAA,EAAA,OAAU,EAAW,EAAE,iBAA4B,EAAA,YAAA,EAAA,EAAA,OAAa,EAAC,CAAA,qBAAA,GAiBhW,WAAS,AAAA,EAAA,KAAG,GAAW,EAAI,WAAa,EAAG,CAC3C,cAAY,AAAA,EAAA,KAAG,GAAW,EAAI,cAAgB,EAAG,CACjD,kBAAgB,AAAA,EAAA,KAAG,GAAc,EAAI,kBAAoB,EAAI,CAC7D,gBAAc,AAAA,EAAA,MAAG,EAAU,EAAU,IAAW,EAAI,gBAAkB,EAAU,EAAU,EAAM,8BAGtE,GAAA,EAAA,EAAA,WAAA,GAAA,EAAA,EAAA,EAAA,oBAEzB,EAAA,SAAA,MAAA,EAAA,EAAA,YAFiB,EAAA,QAAV,oDAEP,EAAA,EAAA,EAAA,EAAA,YAAA,CAAA,QAAA,GAAA,CADQ,EAAM,CAAA,KAAA,GAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs-CQcXRrGf.cjs","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":"sXCqBA,IAAM,GAAA,EAAA,EAAA,UAAsB,EAAA,aAAE,EAC9B,EAAA,EAAA,SAAQ,EAAA,EAAmB,GAAK,CAEhC,IAAM,EAAkB,EAAA,GAAiB,QACzC,EAAA,EAAA,SAAQ,EAAA,EAA0B,EAAgB,CAClD,EAAgB,GAAG,GAAS,EAAM,MAAQ,EAAM,yDAWrC,EAAA,OAAA,EAAA,EAAA,EAAA,YAAA,CAAA,QANG,EAAA,QAAO,SAAE,EAAA,SAAQ,YAAE,EAAA,YAAW,KAAE,EAAA,KAAI,CAAA,YACrC,EAAA,sCAAA,EAAK,MAAA,EACb,YAAU,AAAA,EAAA,KAAA,GAAEA,EAAAA,MAAK,SAAW,EAAM,CAClC,YAAU,AAAA,EAAA,KAAA,GAAEA,EAAAA,MAAK,SAAW,EAAM,8BAEtB,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"Tabs-CQcXRrGf.cjs","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":"sXAqBA,IAAM,GAAA,EAAA,EAAA,UAAsB,EAAA,aAAE,EAC9B,EAAA,EAAA,SAAQ,EAAA,EAAmB,GAAK,CAEhC,IAAM,EAAkB,EAAA,GAAiB,QACzC,EAAA,EAAA,SAAQ,EAAA,EAA0B,EAAgB,CAClD,EAAgB,GAAG,GAAS,EAAM,MAAQ,EAAM,yDAWrC,EAAA,OAAA,EAAA,EAAA,EAAA,YAAA,CAAA,QANG,EAAA,QAAO,SAAE,EAAA,SAAQ,YAAE,EAAA,YAAW,KAAE,EAAA,KAAI,CAAA,YACrC,EAAA,sCAAA,EAAK,MAAA,EACb,YAAU,AAAA,EAAA,KAAA,GAAEA,EAAAA,MAAK,SAAW,EAAM,CAClC,YAAU,AAAA,EAAA,KAAA,GAAEA,EAAAA,MAAK,SAAW,EAAM,8BAEtB,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA"}