orion-design 0.1.58 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (262) hide show
  1. package/README.md +5 -5
  2. package/dist/LovInput.vue_vue_type_script_setup_true_lang-C__ELopU.js +400 -0
  3. package/dist/LovInput.vue_vue_type_script_setup_true_lang-C__ELopU.js.map +1 -0
  4. package/dist/TableSelect.vue_vue_type_script_setup_true_lang-0WMTwNxX.js +310 -0
  5. package/dist/TableSelect.vue_vue_type_script_setup_true_lang-0WMTwNxX.js.map +1 -0
  6. package/dist/Throne/hooks/use-throne-context.js.map +1 -1
  7. package/dist/components/Button/index.d.ts +2 -41
  8. package/dist/components/Button/index.js.map +1 -1
  9. package/dist/components/Card/index.d.ts +1 -3
  10. package/dist/components/Edittable/Edittable.d.ts +99 -0
  11. package/dist/components/Edittable/columns/EdittableCellButton.d.ts +13 -0
  12. package/dist/components/Edittable/columns/EdittableColumnButtongroup.d.ts +28 -0
  13. package/dist/components/Edittable/columns/EdittableColumnCheckbox.d.ts +35 -0
  14. package/dist/components/Edittable/columns/EdittableColumnDate.d.ts +51 -0
  15. package/dist/components/Edittable/columns/EdittableColumnDiy.d.ts +25 -0
  16. package/dist/components/Edittable/columns/EdittableColumnIndex.d.ts +5 -0
  17. package/dist/components/Edittable/columns/EdittableColumnLov.d.ts +46 -0
  18. package/dist/components/Edittable/columns/EdittableColumnMultiselect.d.ts +67 -0
  19. package/dist/components/Edittable/columns/EdittableColumnNumber.d.ts +87 -0
  20. package/dist/components/Edittable/columns/EdittableColumnSingleselect.d.ts +67 -0
  21. package/dist/components/Edittable/columns/EdittableColumnString.d.ts +41 -0
  22. package/dist/components/Edittable/columns/EdittableColumngroup.d.ts +14 -0
  23. package/dist/components/Edittable/hooks/useColumns.d.ts +1 -0
  24. package/dist/components/Edittable/hooks/useColumns.js +175 -0
  25. package/dist/components/Edittable/hooks/useColumns.js.map +1 -0
  26. package/dist/components/Edittable/index.d.ts +121 -0
  27. package/dist/components/Edittable/index.js +929 -0
  28. package/dist/components/Edittable/index.js.map +1 -0
  29. package/dist/components/Edittable/utils/index.d.ts +15 -0
  30. package/dist/components/Edittable/utils/index.js +66 -0
  31. package/dist/components/Edittable/utils/index.js.map +1 -0
  32. package/dist/components/Form/Checkbox/Checkbox.d.ts +3 -9
  33. package/dist/components/Form/Checkbox/Checkbox.vue.d.ts +2 -6
  34. package/dist/components/Form/CheckboxGroup/CheckboxGroup.d.ts +3 -14
  35. package/dist/components/Form/CheckboxGroup/CheckboxGroup.vue.d.ts +2 -2
  36. package/dist/components/Form/DateInput/DateInput.d.ts +3 -17
  37. package/dist/components/Form/DateInput/DateInput.vue.d.ts +2 -2
  38. package/dist/components/Form/DiyItem/DiyItem.d.ts +1 -1
  39. package/dist/components/Form/FileInput/FileInput.d.ts +3 -10
  40. package/dist/components/Form/FileInput/FileInput.vue.d.ts +2 -468
  41. package/dist/components/Form/Form.d.ts +8 -0
  42. package/dist/components/Form/Form.js.map +1 -1
  43. package/dist/components/Form/Form.vue.d.ts +4 -72
  44. package/dist/components/Form/LovInput/LovInput.d.ts +4 -21
  45. package/dist/components/Form/LovInput/LovInput.js +1 -4
  46. package/dist/components/Form/LovInput/LovInput.js.map +1 -1
  47. package/dist/components/Form/LovInput/LovInput.vue.d.ts +3 -26795
  48. package/dist/components/Form/LovInput/index.d.ts +0 -1
  49. package/dist/components/Form/LovInput/index.js +1 -6
  50. package/dist/components/Form/LovInput/index.js.map +1 -1
  51. package/dist/components/Form/MultiSelect/MultiSelect.d.ts +3 -17
  52. package/dist/components/Form/MultiSelect/MultiSelect.vue.d.ts +2 -2
  53. package/dist/components/Form/NumberInput/NumberInput.d.ts +3 -19
  54. package/dist/components/Form/NumberInput/NumberInput.vue.d.ts +2 -2
  55. package/dist/components/Form/PasswordInput/PasswordInput.d.ts +3 -13
  56. package/dist/components/Form/PasswordInput/PasswordInput.vue.d.ts +2 -2
  57. package/dist/components/Form/RadioGroup/RadioGroup.d.ts +3 -14
  58. package/dist/components/Form/RadioGroup/RadioGroup.vue.d.ts +2 -2
  59. package/dist/components/Form/SingleSelect/SingleSelect.d.ts +3 -17
  60. package/dist/components/Form/SingleSelect/SingleSelect.vue.d.ts +2 -2
  61. package/dist/components/Form/StringInput/StringInput.d.ts +3 -13
  62. package/dist/components/Form/StringInput/StringInput.vue.d.ts +2 -2
  63. package/dist/components/Form/Switch/Switch.d.ts +3 -9
  64. package/dist/components/Form/Switch/Switch.vue.d.ts +2 -6
  65. package/dist/components/Form/TableSelect/TableSelect.d.ts +3 -26
  66. package/dist/components/Form/TableSelect/TableSelect.js +1 -4
  67. package/dist/components/Form/TableSelect/TableSelect.js.map +1 -1
  68. package/dist/components/Form/TableSelect/TableSelect.vue.d.ts +3 -26799
  69. package/dist/components/Form/TableSelect/index.d.ts +0 -1
  70. package/dist/components/Form/TableSelect/index.js +1 -6
  71. package/dist/components/Form/TableSelect/index.js.map +1 -1
  72. package/dist/components/Form/Textarea/Textarea.d.ts +3 -14
  73. package/dist/components/Form/Textarea/Textarea.vue.d.ts +2 -2
  74. package/dist/components/Form/hooks/index.d.ts +2 -6
  75. package/dist/components/Form/hooks/index.js +31 -79
  76. package/dist/components/Form/hooks/index.js.map +1 -1
  77. package/dist/components/Form/index.d.ts +3 -39
  78. package/dist/components/Form/index.js +391 -628
  79. package/dist/components/Form/index.js.map +1 -1
  80. package/dist/components/Icon/Icon.vue.d.ts +15 -1
  81. package/dist/components/Icon/index.d.ts +22 -4
  82. package/dist/components/Icon/index.js +24 -15
  83. package/dist/components/Icon/index.js.map +1 -1
  84. package/dist/components/Input/Checkbox/Checkbox.d.ts +3 -0
  85. package/dist/components/Input/Checkbox/Checkbox.js +2 -0
  86. package/dist/components/Input/Checkbox/Checkbox.js.map +1 -0
  87. package/dist/components/Input/Checkbox/Checkbox.vue.d.ts +14 -0
  88. package/dist/components/Input/Checkbox/index.d.ts +1 -0
  89. package/dist/components/Input/Checkbox/index.js +2 -0
  90. package/dist/components/Input/Checkbox/index.js.map +1 -0
  91. package/dist/components/Input/CheckboxGroup/CheckboxGroup.d.ts +7 -0
  92. package/dist/components/Input/CheckboxGroup/CheckboxGroup.js +2 -0
  93. package/dist/components/Input/CheckboxGroup/CheckboxGroup.js.map +1 -0
  94. package/dist/components/Input/CheckboxGroup/CheckboxGroup.vue.d.ts +14 -0
  95. package/dist/components/Input/CheckboxGroup/index.d.ts +1 -0
  96. package/dist/components/Input/CheckboxGroup/index.js +2 -0
  97. package/dist/components/Input/CheckboxGroup/index.js.map +1 -0
  98. package/dist/components/Input/DateInput/DateInput.d.ts +10 -0
  99. package/dist/components/Input/DateInput/DateInput.js +2 -0
  100. package/dist/components/Input/DateInput/DateInput.js.map +1 -0
  101. package/dist/components/Input/DateInput/DateInput.vue.d.ts +11 -0
  102. package/dist/components/Input/DateInput/index.d.ts +1 -0
  103. package/dist/components/Input/DateInput/index.js +2 -0
  104. package/dist/components/Input/DateInput/index.js.map +1 -0
  105. package/dist/components/Input/FileInput/FileInput.d.ts +3 -0
  106. package/dist/components/Input/FileInput/FileInput.js +2 -0
  107. package/dist/components/Input/FileInput/FileInput.js.map +1 -0
  108. package/dist/components/Input/FileInput/FileInput.vue.d.ts +380 -0
  109. package/dist/components/Input/FileInput/index.d.ts +1 -0
  110. package/dist/components/Input/FileInput/index.js +2 -0
  111. package/dist/components/Input/FileInput/index.js.map +1 -0
  112. package/dist/components/Input/LovInput/LovInput.d.ts +14 -0
  113. package/dist/components/Input/LovInput/LovInput.js +5 -0
  114. package/dist/components/Input/LovInput/LovInput.js.map +1 -0
  115. package/dist/components/Input/LovInput/LovInput.vue.d.ts +26548 -0
  116. package/dist/components/Input/LovInput/hooks/useLov.js.map +1 -0
  117. package/dist/components/Input/LovInput/index.d.ts +2 -0
  118. package/dist/components/Input/LovInput/index.js +7 -0
  119. package/dist/components/Input/LovInput/index.js.map +1 -0
  120. package/dist/components/Input/MultiSelect/MultiSelect.d.ts +10 -0
  121. package/dist/components/Input/MultiSelect/MultiSelect.js +2 -0
  122. package/dist/components/Input/MultiSelect/MultiSelect.js.map +1 -0
  123. package/dist/components/Input/MultiSelect/MultiSelect.vue.d.ts +14 -0
  124. package/dist/components/Input/MultiSelect/index.d.ts +1 -0
  125. package/dist/components/Input/MultiSelect/index.js +2 -0
  126. package/dist/components/Input/MultiSelect/index.js.map +1 -0
  127. package/dist/components/Input/NumberInput/NumberInput.d.ts +12 -0
  128. package/dist/components/Input/NumberInput/NumberInput.js +2 -0
  129. package/dist/components/Input/NumberInput/NumberInput.js.map +1 -0
  130. package/dist/components/Input/NumberInput/NumberInput.vue.d.ts +28 -0
  131. package/dist/components/Input/NumberInput/index.d.ts +1 -0
  132. package/dist/components/Input/NumberInput/index.js +2 -0
  133. package/dist/components/Input/NumberInput/index.js.map +1 -0
  134. package/dist/components/Input/PasswordInput/PasswordInput.d.ts +6 -0
  135. package/dist/components/Input/PasswordInput/PasswordInput.js +2 -0
  136. package/dist/components/Input/PasswordInput/PasswordInput.js.map +1 -0
  137. package/dist/components/Input/PasswordInput/PasswordInput.vue.d.ts +11 -0
  138. package/dist/components/Input/PasswordInput/index.d.ts +1 -0
  139. package/dist/components/Input/PasswordInput/index.js +2 -0
  140. package/dist/components/Input/PasswordInput/index.js.map +1 -0
  141. package/dist/components/Input/RadioGroup/RadioGroup.d.ts +7 -0
  142. package/dist/components/Input/RadioGroup/RadioGroup.js +2 -0
  143. package/dist/components/Input/RadioGroup/RadioGroup.js.map +1 -0
  144. package/dist/components/Input/RadioGroup/RadioGroup.vue.d.ts +14 -0
  145. package/dist/components/Input/RadioGroup/index.d.ts +1 -0
  146. package/dist/components/Input/RadioGroup/index.js +2 -0
  147. package/dist/components/Input/RadioGroup/index.js.map +1 -0
  148. package/dist/components/Input/SingleSelect/SingleSelect.d.ts +10 -0
  149. package/dist/components/Input/SingleSelect/SingleSelect.js +2 -0
  150. package/dist/components/Input/SingleSelect/SingleSelect.js.map +1 -0
  151. package/dist/components/Input/SingleSelect/SingleSelect.vue.d.ts +14 -0
  152. package/dist/components/Input/SingleSelect/index.d.ts +1 -0
  153. package/dist/components/Input/SingleSelect/index.js +2 -0
  154. package/dist/components/Input/SingleSelect/index.js.map +1 -0
  155. package/dist/components/Input/StringInput/StringInput.d.ts +6 -0
  156. package/dist/components/Input/StringInput/StringInput.js +2 -0
  157. package/dist/components/Input/StringInput/StringInput.js.map +1 -0
  158. package/dist/components/Input/StringInput/StringInput.vue.d.ts +28 -0
  159. package/dist/components/Input/StringInput/index.d.ts +1 -0
  160. package/dist/components/Input/StringInput/index.js +2 -0
  161. package/dist/components/Input/StringInput/index.js.map +1 -0
  162. package/dist/components/Input/Switch/Switch.d.ts +3 -0
  163. package/dist/components/Input/Switch/Switch.js +2 -0
  164. package/dist/components/Input/Switch/Switch.js.map +1 -0
  165. package/dist/components/Input/Switch/Switch.vue.d.ts +14 -0
  166. package/dist/components/Input/Switch/index.d.ts +1 -0
  167. package/dist/components/Input/Switch/index.js +2 -0
  168. package/dist/components/Input/Switch/index.js.map +1 -0
  169. package/dist/components/Input/TableSelect/TableSelect.d.ts +19 -0
  170. package/dist/components/Input/TableSelect/TableSelect.js +5 -0
  171. package/dist/components/Input/TableSelect/TableSelect.js.map +1 -0
  172. package/dist/components/Input/TableSelect/TableSelect.vue.d.ts +26546 -0
  173. package/dist/components/Input/TableSelect/hooks/useTableSelect.js.map +1 -0
  174. package/dist/components/Input/TableSelect/index.d.ts +2 -0
  175. package/dist/components/Input/TableSelect/index.js +7 -0
  176. package/dist/components/Input/TableSelect/index.js.map +1 -0
  177. package/dist/components/Input/Textarea/Textarea.d.ts +7 -0
  178. package/dist/components/Input/Textarea/Textarea.js +2 -0
  179. package/dist/components/Input/Textarea/Textarea.js.map +1 -0
  180. package/dist/components/Input/Textarea/Textarea.vue.d.ts +11 -0
  181. package/dist/components/Input/Textarea/index.d.ts +1 -0
  182. package/dist/components/Input/Textarea/index.js +2 -0
  183. package/dist/components/Input/Textarea/index.js.map +1 -0
  184. package/dist/components/Input/hooks/index.d.ts +3 -0
  185. package/dist/components/Input/hooks/index.js +25 -0
  186. package/dist/components/Input/hooks/index.js.map +1 -0
  187. package/dist/components/Input/index.d.ts +27166 -0
  188. package/dist/components/Input/index.js +32 -0
  189. package/dist/components/Input/index.js.map +1 -0
  190. package/dist/components/Input/utils/index.js.map +1 -0
  191. package/dist/components/LovTable/LovPagetable.vue.d.ts +2 -154
  192. package/dist/components/LovTable/LovQuerytable.vue.d.ts +2 -98
  193. package/dist/components/LovTable/index.d.ts +4 -139
  194. package/dist/components/LovTable/index.js +4 -3
  195. package/dist/components/LovTable/index.js.map +1 -1
  196. package/dist/components/Pagetable/hooks/useColumns.js +33 -29
  197. package/dist/components/Pagetable/hooks/useColumns.js.map +1 -1
  198. package/dist/components/Pagetable/index.js +347 -314
  199. package/dist/components/Pagetable/index.js.map +1 -1
  200. package/dist/components/Querytable/hooks/useColumns.js +12 -8
  201. package/dist/components/Querytable/hooks/useColumns.js.map +1 -1
  202. package/dist/components/Querytable/index.js +276 -243
  203. package/dist/components/Querytable/index.js.map +1 -1
  204. package/dist/components/TableSelectPagetable/TableSelectPagetable.vue.d.ts +2 -154
  205. package/dist/components/TableSelectPagetable/index.d.ts +2 -82
  206. package/dist/components/TableSelectPagetable/index.js +28 -26
  207. package/dist/components/TableSelectPagetable/index.js.map +1 -1
  208. package/dist/components/Tabs/index.js +2 -2
  209. package/dist/components/Tooltip/index.d.ts +8993 -0
  210. package/dist/components/Tooltip/index.js +12 -0
  211. package/dist/components/Tooltip/index.js.map +1 -0
  212. package/dist/components/Tree/Tree.vue.d.ts +2 -160
  213. package/dist/components/Tree/index.d.ts +2 -84
  214. package/dist/components/_util/dom/element.js +1 -1
  215. package/dist/components/_util/dom/style.js +1 -1
  216. package/dist/components/_util/error.js +1 -1
  217. package/dist/components/_util/functions.js +1 -1
  218. package/dist/components/_util/index.js +1 -1
  219. package/dist/components/_util/objects.js +1 -1
  220. package/dist/components/_util/strings.js +2 -2
  221. package/dist/components/_util/types.js +2 -2
  222. package/dist/components/_util/vue/icon.js +10 -10
  223. package/dist/components/_util/vue/install.js +1 -1
  224. package/dist/components/_util/vue/props/runtime.js +1 -1
  225. package/dist/components/_util/vue/refs.js +1 -1
  226. package/dist/components/_util/vue/vnode.js +1 -1
  227. package/dist/components/components.d.ts +3 -0
  228. package/dist/components/components.js +48 -29
  229. package/dist/components/components.js.map +1 -1
  230. package/dist/components/index.d.ts +1 -0
  231. package/dist/components/index.js +66 -47
  232. package/dist/components/index.js.map +1 -1
  233. package/dist/components-D1sXVvN9.js +73 -0
  234. package/dist/components-D1sXVvN9.js.map +1 -0
  235. package/dist/{functions-DzLqXvGt.js → functions-LOH6x_02.js} +2 -2
  236. package/dist/functions-LOH6x_02.js.map +1 -0
  237. package/dist/icon/index.d.ts +1 -0
  238. package/dist/icon/index.js +297 -0
  239. package/dist/icon/index.js.map +1 -0
  240. package/dist/index-CIR6wX_E.js +4885 -0
  241. package/dist/{index-Bm0F5NQQ.js.map → index-CIR6wX_E.js.map} +1 -1
  242. package/dist/index.css +1 -1
  243. package/dist/index.js +69 -50
  244. package/dist/index.js.map +1 -1
  245. package/dist/utils/functions.js +1 -1
  246. package/dist/version/version.d.ts +1 -1
  247. package/dist/version/version.js +1 -1
  248. package/dist/version/version.js.map +1 -1
  249. package/package.json +1 -1
  250. package/dist/components/Form/LovInput/hooks/useLov.js.map +0 -1
  251. package/dist/components/Form/TableSelect/hooks/useTableSelect.js.map +0 -1
  252. package/dist/components/Form/utils/index.js.map +0 -1
  253. package/dist/components-BZKLgLQx.js +0 -54
  254. package/dist/components-BZKLgLQx.js.map +0 -1
  255. package/dist/functions-DzLqXvGt.js.map +0 -1
  256. package/dist/index-Bm0F5NQQ.js +0 -224
  257. /package/dist/components/{Form → Input}/LovInput/hooks/useLov.d.ts +0 -0
  258. /package/dist/components/{Form → Input}/LovInput/hooks/useLov.js +0 -0
  259. /package/dist/components/{Form → Input}/TableSelect/hooks/useTableSelect.d.ts +0 -0
  260. /package/dist/components/{Form → Input}/TableSelect/hooks/useTableSelect.js +0 -0
  261. /package/dist/components/{Form → Input}/utils/index.d.ts +0 -0
  262. /package/dist/components/{Form → Input}/utils/index.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/Form/Form.vue","../../../src/components/Form/StringInput/StringInput.vue","../../../src/components/Form/PasswordInput/PasswordInput.vue","../../../src/components/Form/Textarea/Textarea.vue","../../../src/components/Form/SingleSelect/SingleSelect.vue","../../../src/components/Form/MultiSelect/MultiSelect.vue","../../../src/components/Form/RadioGroup/RadioGroup.vue","../../../src/components/Form/CheckboxGroup/CheckboxGroup.vue","../../../src/components/Form/Checkbox/Checkbox.vue","../../../src/components/Form/Switch/Switch.vue","../../../src/components/Form/DateInput/DateInput.vue","../../../src/components/Form/FileInput/FileInput.vue","../../../src/components/Form/ButtonGroup/ButtonGroup.vue","../../../src/components/Form/DiyItem/DiyItem.vue","../../../src/components/Form/LovInput/LovInput.vue","../../../src/components/Form/NumberInput/NumberInput.vue","../../../src/components/Form/TableSelect/TableSelect.vue","../../../src/components/Form/index.ts"],"sourcesContent":["<template>\r\n <el-form ref=\"form\" :model=\"modelValue\" :rules=\"rules\" :label-width=\"itemLabelWidth\" :disabled=\"disabled\" class=\"orion-form\">\r\n <el-row :gutter=\"16\">\r\n <slot></slot>\r\n </el-row>\r\n </el-form>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { provide, reactive, toRef, useTemplateRef } from 'vue'\r\nimport { ElForm, ElRow } from 'element-plus'\r\nimport { type FormProps, type FormExpose, formContextKey } from './Form'\r\nimport OrionError from '../../error/OrionError'\r\nimport { difference, isEmpty } from 'lodash-es'\r\n\r\ndefineOptions({ name: 'OForm', inheritAttrs: false })\r\n\r\nconst { rules, itemSpan = 6, itemLabelWidth = 'auto', disabled = false, modelValue } = defineProps<FormProps>()\r\n\r\nconst emit = defineEmits(['update:modelValue'])\r\n\r\nconst updateModelValue = (name: string, value: any) => {\r\n if (!Object.keys(modelValue).includes(name)) {\r\n throw new OrionError(`modelValue中不存在[${name}]`)\r\n }\r\n emit('update:modelValue', { ...modelValue, [name]: value })\r\n}\r\n\r\nconst updateModelValueMulti = (data: Record<string, any>) => {\r\n const modelKeys = Object.keys(modelValue)\r\n const dataKeys = Object.keys(data)\r\n const diff = difference(dataKeys, modelKeys)\r\n if (!isEmpty(diff)) {\r\n throw new OrionError(`modelValue中不存在[${diff.join(',')}]`)\r\n }\r\n emit('update:modelValue', { ...modelValue, ...data })\r\n}\r\n\r\nconst formRef = useTemplateRef('form')\r\n\r\nconst validate: FormExpose['validate'] = async () => {\r\n return await formRef.value!.validate()\r\n}\r\n\r\ndefineExpose({\r\n validate,\r\n})\r\n\r\nprovide(\r\n formContextKey,\r\n reactive({\r\n modelValue: toRef(() => modelValue),\r\n updateModelValue,\r\n updateModelValueMulti,\r\n rules: toRef(() => rules),\r\n itemSpan: toRef(() => itemSpan),\r\n disabled: toRef(() => disabled),\r\n })\r\n)\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-input v-model=\"elModel\" :maxlength=\"maxlength\" :placeholder=\"placeholder\" :disabled=\"disabled\"\r\n :readonly=\"readonly\">\r\n <template v-if=\"slots.prefix\" #prefix>\r\n <slot name=\"prefix\"></slot>\r\n </template>\r\n <template v-if=\"slots.suffix\" #suffix>\r\n <slot name=\"suffix\"></slot>\r\n </template>\r\n <template v-if=\"slots.prepend\" #prepend>\r\n <slot name=\"prepend\"></slot>\r\n </template>\r\n <template v-if=\"slots.append\" #append>\r\n <slot name=\"append\"></slot>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElInput } from 'element-plus'\r\nimport type { StringInputProps } from './StringInput'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemStringModel } from '../hooks'\r\nimport { useSlots } from 'vue';\r\n\r\ndefineOptions({ name: 'OFormString', inheritAttrs: false })\r\nconst slots = useSlots()\r\n\r\nconst { name, label, labelWidth, required, maxlength, placeholder, disabled, readonly } = defineProps<StringInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst elModel = useFormItemStringModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-input v-model=\"elModel\" :maxlength=\"maxlength\" :placeholder=\"placeholder\" :disabled=\"disabled\" :readonly=\"readonly\" type=\"password\" />\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElInput } from 'element-plus'\r\nimport type { PasswordInputProps } from './PasswordInput'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemStringModel } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormPassword', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required, maxlength, placeholder, disabled, readonly } = defineProps<PasswordInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst elModel = useFormItemStringModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-input\r\n v-model=\"elModel\"\r\n :maxlength=\"maxlength\"\r\n :placeholder=\"placeholder\"\r\n :disabled=\"disabled\"\r\n :readonly=\"readonly\"\r\n type=\"textarea\"\r\n :rows=\"rows\"\r\n :resize=\"'none'\"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElInput } from 'element-plus'\r\nimport type { TextareaProps } from './Textarea'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemStringModel } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormTextarea', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required, maxlength, placeholder, disabled, readonly, rows } = defineProps<TextareaProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst elModel = useFormItemStringModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-input v-if=\"normalizedDisabled\" :model-value=\"content\" :placeholder=\"placeholder\" :disabled=\"true\"\r\n :readonly=\"true\" />\r\n <el-select v-else v-model=\"elModel\" :placeholder=\"placeholder\" :clearable=\"clearable\" :filterable=\"filterable\"\r\n @change=\"(attrs.onChange)\">\r\n <el-option v-for=\"codeItem in normalizedCode\" :key=\"codeItem.value\" :label=\"codeItem.content\"\r\n :value=\"codeItem.value\" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, useAttrs } from 'vue'\r\nimport { ElCol, ElFormItem, ElInput, ElSelect, ElOption } from 'element-plus'\r\nimport type { SingleSelectProps } from './SingleSelect'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemDisabled, useFormItemCode, useFormItemStringModel } from '../hooks'\r\nimport { getSingleCodeContent } from '../utils'\r\n\r\ndefineOptions({ name: 'OFormSingleselect', inheritAttrs: false })\r\nconst attrs = useAttrs()\r\n\r\nconst { name, label, labelWidth, required, placeholder, clearable, filterable } = defineProps<SingleSelectProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedDisabled = useFormItemDisabled()\r\nconst normalizedCode = useFormItemCode()\r\nconst elModel = useFormItemStringModel()\r\nconst content = computed(() => getSingleCodeContent(normalizedCode.value, elModel.value))\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-input v-if=\"normalizedDisabled\" :model-value=\"content\" :placeholder=\"placeholder\" :disabled=\"true\"\r\n :readonly=\"true\" />\r\n <el-select v-else v-model=\"elModel\" :placeholder=\"placeholder\" multiple :collapse-tags=\"collapseTags\"\r\n :collapse-tags-tooltip=\"collapseTagsTooltip\" @change=\"(attrs.onChange)\">\r\n <el-option v-for=\"codeItem in normalizedCode\" :key=\"codeItem.value\" :label=\"codeItem.content\"\r\n :value=\"codeItem.value\" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, useAttrs } from 'vue'\r\nimport { ElCol, ElFormItem, ElInput, ElSelect, ElOption } from 'element-plus'\r\nimport type { MultiSelectProps } from './MultiSelect'\r\nimport { useFormContext, useFormItemSpan, useFormItemRules, useFormItemDisabled, useFormItemCode, useFormItemMultiModel } from '../hooks'\r\nimport { getMultiCodeContent } from '../utils'\r\n\r\ndefineOptions({ name: 'OFormMultiselect', inheritAttrs: false })\r\nconst attrs = useAttrs()\r\n\r\nconst { name, label, labelWidth, required, placeholder, collapseTags, collapseTagsTooltip } = defineProps<MultiSelectProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedDisabled = useFormItemDisabled()\r\nconst normalizedCode = useFormItemCode()\r\nconst elModel = useFormItemMultiModel()\r\nconst formContext = useFormContext()!\r\nconst content = computed(() => getMultiCodeContent(normalizedCode.value, formContext.modelValue[name]))\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-radio-group v-model=\"elModel\" :disabled=\"disabled\" @change=\"(attrs.onChange)\">\r\n <el-radio v-for=\"codeItem in normalizedCode\" :key=\"codeItem.value\" :value=\"codeItem.value\">\r\n {{ codeItem.content }}\r\n </el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElRadioGroup, ElRadio } from 'element-plus'\r\nimport type { RadioGroupProps } from './RadioGroup'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemCode, useFormItemStringModel } from '../hooks'\r\nimport { useAttrs } from 'vue';\r\n\r\ndefineOptions({ name: 'OFormRadiogroup', inheritAttrs: false })\r\nconst attrs = useAttrs()\r\n\r\nconst { name, label, labelWidth, required, disabled } = defineProps<RadioGroupProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedCode = useFormItemCode()\r\nconst elModel = useFormItemStringModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-checkbox-group v-model=\"elModel\" :disabled=\"disabled\" @change=\"(attrs.onChange)\">\r\n <el-checkbox v-for=\"codeItem in normalizedCode\" :key=\"codeItem.value\" :label=\"codeItem.content\"\r\n :value=\"codeItem.value\" />\r\n </el-checkbox-group>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElCheckboxGroup, ElCheckbox } from 'element-plus'\r\nimport type { CheckboxGroupProps } from './CheckboxGroup'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemCode, useFormItemMultiModel } from '../hooks'\r\nimport { useAttrs } from 'vue';\r\n\r\ndefineOptions({ name: 'OFormCheckboxgroup', inheritAttrs: false })\r\nconst attrs = useAttrs()\r\n\r\nconst { name, label, labelWidth, required, disabled } = defineProps<CheckboxGroupProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedCode = useFormItemCode()\r\nconst elModel = useFormItemMultiModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :rules=\"rules\">\r\n <el-checkbox v-model=\"elModel\" :disabled=\"disabled\" @change=\"onChange\"></el-checkbox>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElCheckbox } from 'element-plus'\r\nimport type { CheckboxProps } from './Checkbox'\r\nimport { useFormItemBooleanModel, useFormItemSpan } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormCheckbox', inheritAttrs: false })\r\nconst emit = defineEmits(['change'])\r\nconst onChange = (value: any) => {\r\n emit('change', value ? '1' : '0')\r\n}\r\n\r\nconst { name, label, labelWidth, rules, disabled } = defineProps<CheckboxProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst elModel = useFormItemBooleanModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :rules=\"rules\">\r\n <el-switch v-model=\"elModel\" :disabled=\"disabled\" @change=\"onChange\" />\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElSwitch } from 'element-plus'\r\nimport type { SwitchProps } from './Switch'\r\nimport { useFormItemBooleanModel, useFormItemSpan } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormSwitch', inheritAttrs: false })\r\nconst emit = defineEmits(['change'])\r\nconst onChange = (value: any) => {\r\n emit('change', value ? '1' : '0')\r\n}\r\n\r\nconst { name, label, labelWidth, rules, disabled } = defineProps<SwitchProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst elModel = useFormItemBooleanModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-time-picker\r\n v-if=\"isTimePicker\"\r\n v-model=\"elModel\"\r\n :placeholder=\"placeholder\"\r\n :disabled=\"disabled\"\r\n :readonly=\"readonly\"\r\n :editable=\"editable\"\r\n :clearable=\"clearable\"\r\n :format=\"normalizedSourceFormat\"\r\n arrow-control\r\n style=\"width: 100%\"\r\n />\r\n <el-date-picker\r\n v-else\r\n v-model=\"elModel\"\r\n :placeholder=\"placeholder\"\r\n :disabled=\"disabled\"\r\n :readonly=\"readonly\"\r\n :editable=\"editable\"\r\n :clearable=\"clearable\"\r\n :type=\"dateType\"\r\n :format=\"normalizedSourceFormat\"\r\n style=\"width: 100%\"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed } from 'vue'\r\nimport { ElCol, ElFormItem, ElDatePicker, ElTimePicker, dayjs } from 'element-plus'\r\nimport type { DateInputProps } from './DateInput'\r\nimport { useFormContext, useFormItemSpan, useFormItemRules } from '../hooks'\r\nimport { isDate, isString } from 'lodash-es'\r\nimport OrionError from '../../../error/OrionError'\r\n\r\ndefineOptions({ name: 'OFormDate', inheritAttrs: false })\r\n\r\nconst {\r\n name,\r\n label,\r\n labelWidth,\r\n required,\r\n placeholder,\r\n disabled,\r\n readonly,\r\n editable = true,\r\n clearable = true,\r\n format = 'YYYY-MM-DD',\r\n sourceFormat,\r\n} = defineProps<DateInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\n\r\nconst isTimePicker = computed(() => format.startsWith('H') || format.startsWith('h') || format.startsWith('m') || format.startsWith('s'))\r\n\r\nconst normalizedSourceFormat = computed(() => {\r\n if (sourceFormat) {\r\n return sourceFormat\r\n }\r\n if (isTimePicker.value) {\r\n return 'HH:mm:ss'\r\n } else {\r\n return 'YYYY-MM-DD'\r\n }\r\n})\r\n\r\nconst dateType = computed(() => {\r\n let picker: 'date' | 'year' | 'month' | 'datetime' = 'date'\r\n\r\n // 配置年 yyyy指年 YYYY指周年,年末年初的值可能有所变化\r\n if (format.indexOf('y') > -1 || format.indexOf('Y') > -1) {\r\n picker = 'year'\r\n }\r\n\r\n // 配置月,M指月份,m指分钟\r\n if (format.indexOf('M') > -1) {\r\n picker = 'month'\r\n }\r\n\r\n // 配置日,d指星期,D指月的天,DDD指年的天\r\n if (format.indexOf('d') > -1 || format.indexOf('D') > -1) {\r\n picker = 'date'\r\n }\r\n\r\n // 配置小时,H指24小时制(0~23),k指24小时制(1~24),h指12小时制,m指分钟,s指秒,S指小数秒\r\n if (\r\n format.indexOf('H') > -1 ||\r\n format.indexOf('h') > -1 ||\r\n format.indexOf('k') > -1 ||\r\n format.indexOf('m') > -1 ||\r\n format.indexOf('s') > -1 ||\r\n format.indexOf('S') > -1\r\n ) {\r\n picker = 'datetime'\r\n }\r\n\r\n return picker\r\n})\r\n\r\nconst formContext = useFormContext()!\r\nconst elModel = computed<Date | undefined>({\r\n get: () => {\r\n const value = formContext.modelValue[name]\r\n if (!value) {\r\n return undefined\r\n }\r\n if (isDate(value)) {\r\n return value as Date\r\n } else if (isString(value)) {\r\n const dayjsObj = dayjs(value, normalizedSourceFormat.value, true)\r\n if (!dayjsObj.isValid()) {\r\n throw new OrionError(`日期输入框的值无效,不符合${normalizedSourceFormat.value}格式`)\r\n }\r\n return dayjsObj.toDate()\r\n } else {\r\n throw new OrionError('日期输入框的值只能为字符串或日期类型')\r\n }\r\n },\r\n set: (newValue) => {\r\n if (sourceFormat) {\r\n if (!newValue) {\r\n formContext.updateModelValue(name, '')\r\n } else {\r\n formContext.updateModelValue(name, dayjs(newValue).format(normalizedSourceFormat.value))\r\n }\r\n } else {\r\n if (!newValue) {\r\n formContext.updateModelValue(name, undefined)\r\n } else {\r\n formContext.updateModelValue(name, newValue)\r\n }\r\n }\r\n },\r\n})\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-input ref=\"inputRef\" v-model=\"file\" :disabled=\"disabled\" type=\"file\" :validate-event=\"false\" />\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { onMounted, ref, useTemplateRef, watch } from 'vue'\r\nimport { ElCol, ElFormItem, ElInput } from 'element-plus'\r\nimport type { FileInputProps } from './FileInput'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemStringModel } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormFile', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required, disabled } = defineProps<FileInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst elModel = useFormItemStringModel()\r\nwatch(elModel, () => {\r\n if (!elModel.value) {\r\n file.value = ''\r\n }\r\n})\r\n\r\nconst file = ref('')\r\nconst fileRef = useTemplateRef('inputRef')\r\nonMounted(() => {\r\n fileRef.value!.input!.onchange = (event) => {\r\n //@ts-ignore\r\n elModel.value = event?.target?.files[0]\r\n }\r\n file.value = ''\r\n})\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\" :style=\"style\">\r\n <space :gutter=\"gutter\" style=\"margin-bottom: var(--orion-form-validation-message-height)\"> <slot></slot> </space>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol } from 'element-plus'\r\nimport type { ButtonGroupProps } from './ButtonGroup'\r\nimport Space from '../../Space'\r\nimport { useFormItemSpan } from '../hooks'\r\nimport { computed, CSSProperties } from 'vue'\r\n\r\ndefineOptions({ name: 'OFormButtongroup', inheritAttrs: false })\r\n\r\nconst { gutter, align = 'right' } = defineProps<ButtonGroupProps>()\r\nconst style = computed<CSSProperties>(() => {\r\n return {\r\n textAlign: align,\r\n }\r\n})\r\n\r\nconst normalizedSpan = useFormItemSpan()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <slot></slot>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem } from 'element-plus'\r\nimport type { DiyItemProps } from './DiyItem'\r\nimport { useFormItemSpan, useFormItemRules } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormDiy', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required } = defineProps<DiyItemProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-dropdown ref=\"dropdown\" :trigger=\"'click'\" @visible-change=\"onVisibleChange\" style=\"width: 100%\">\r\n <el-input ref=\"input\" v-model=\"elModel\" :maxlength=\"maxlength\" :placeholder=\"placeholder\" :disabled=\"disabled\"\r\n :readonly=\"readonly\" @input=\"onInput\" @keydown=\"onKeydown\" @blur=\"onBlur\" :suffix-icon=\"Search\" />\r\n <template #dropdown>\r\n <slot></slot>\r\n </template>\r\n </el-dropdown>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElInput, ElDropdown } from 'element-plus'\r\nimport { Search } from '@element-plus/icons-vue'\r\nimport { KeydownHandler, LovContext, lovContextKey, type LovInputProps } from './LovInput'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemStringModel, useFormContext } from '../hooks'\r\nimport { provide, reactive, ref, useTemplateRef } from 'vue'\r\nimport { isString } from 'lodash-es'\r\n\r\ndefineOptions({ name: 'OFormLov', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required, maxlength, placeholder, disabled, readonly, fillMapping } = defineProps<LovInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst elModel = useFormItemStringModel()\r\nconst formContext = useFormContext()!\r\n\r\nconst visible = ref(false)\r\nconst onVisibleChange = (val: boolean) => {\r\n visible.value = val\r\n}\r\n\r\nconst changed = ref(false)\r\nconst onInput = () => {\r\n if (!changed.value) {\r\n changed.value = true\r\n }\r\n\r\n if (!visible.value) {\r\n dropdownRef.value!.handleOpen()\r\n }\r\n}\r\n\r\nlet keydownHandler: KeydownHandler | undefined\r\nconst registerKeydownHandler: LovContext['registerKeydownHandler'] = (handler) => {\r\n keydownHandler = handler\r\n}\r\n\r\nconst onKeydown = (e: any) => {\r\n const fallthroughCodes = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Enter', 'Space']\r\n\r\n if (fallthroughCodes.indexOf(e.code) > -1) {\r\n if (visible.value) {\r\n keydownHandler && keydownHandler(e.code)\r\n }\r\n e.stopPropagation()\r\n }\r\n\r\n const triggerCodes = ['ArrowUp', 'ArrowDown']\r\n if (triggerCodes.indexOf(e.code) > -1 && !visible.value) {\r\n dropdownRef.value!.handleOpen()\r\n }\r\n}\r\n\r\nconst inputRef = useTemplateRef('input')\r\nconst onBlur = async (e: FocusEvent) => {\r\n if (visible.value) {\r\n inputRef.value!.focus()\r\n }\r\n\r\n if (e.relatedTarget) {\r\n const target = e.relatedTarget as HTMLElement\r\n if (target.closest('.el-popper')) {\r\n return\r\n }\r\n }\r\n\r\n onChange()\r\n}\r\n\r\nconst onChange = () => {\r\n if (!changed.value) {\r\n return\r\n }\r\n\r\n if (isString(fillMapping)) {\r\n const data: Record<string, any> = {}\r\n\r\n const pairs = fillMapping.split(',')\r\n for (let i = 0; i < pairs.length; i++) {\r\n const dstName = pairs[i].split(':')[0].trim()\r\n data[dstName] = undefined\r\n }\r\n\r\n formContext.updateModelValueMulti(data)\r\n }\r\n}\r\n\r\nconst dropdownRef = useTemplateRef('dropdown')\r\nconst backfill: LovContext['backfill'] = (params) => {\r\n dropdownRef.value!.handleClose()\r\n\r\n if (isString(fillMapping)) {\r\n const data: Record<string, any> = {}\r\n\r\n const pairs = fillMapping.split(',')\r\n for (let i = 0; i < pairs.length; i++) {\r\n const dstName = pairs[i].split(':')[0].trim()\r\n const srcName = pairs[i].split(':')[1].trim()\r\n const srcValue = params[srcName]\r\n data[dstName] = srcValue\r\n }\r\n\r\n formContext.updateModelValueMulti(data)\r\n } else {\r\n fillMapping && fillMapping(params)\r\n }\r\n\r\n if (changed.value) {\r\n changed.value = false\r\n }\r\n}\r\n\r\nprovide(\r\n lovContextKey,\r\n reactive({\r\n lovValue: elModel,\r\n backfill,\r\n registerKeydownHandler,\r\n })\r\n)\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-input-number v-model=\"elModel\" :placeholder=\"placeholder\" :disabled=\"disabled\" :readonly=\"readonly\" :min=\"min\"\r\n :max=\"max\" :step=\"step\" :step-strictly=\"stepStrictly\" :precision=\"precision\" :controls=\"controls\"\r\n :controls-position=\"controlsPosition\" style=\"width: 100%\">\r\n <template v-if=\"slots['decrease-icon']\" #decrease-icon>\r\n <slot name=\"decrease-icon\"></slot>\r\n </template>\r\n <template v-if=\"slots['increase-icon']\" #increase-icon>\r\n <slot name=\"increase-icon\"></slot>\r\n </template>\r\n <template v-if=\"slots['prefix']\" #prefix>\r\n <slot name=\"prefix\"></slot>\r\n </template>\r\n <template v-if=\"slots['suffix']\" #suffix>\r\n <slot name=\"suffix\"></slot>\r\n </template>\r\n </el-input-number>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElInputNumber } from 'element-plus'\r\nimport type { NumberInputProps } from './NumberInput'\r\nimport { useFormItemSpan, useFormItemRules, useFormContext } from '../hooks'\r\nimport { computed, useSlots } from 'vue'\r\nimport { isNumber, isString, toNumber } from 'lodash-es'\r\nimport OrionError from '../../../error/OrionError'\r\n\r\ndefineOptions({ name: 'OFormNumber', inheritAttrs: false })\r\nconst slots = useSlots()\r\n\r\nconst {\r\n name,\r\n label,\r\n labelWidth,\r\n required,\r\n placeholder,\r\n disabled,\r\n readonly,\r\n min,\r\n max,\r\n step,\r\n stepStrictly,\r\n precision,\r\n controls = true,\r\n controlsPosition,\r\n} = defineProps<NumberInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\n\r\nconst formContext = useFormContext()!\r\nconst elModel = computed<number | undefined>({\r\n get: () => {\r\n const value = formContext.modelValue[name]\r\n if (!value) {\r\n return undefined\r\n }\r\n if (isNumber(value)) {\r\n return value\r\n } else if (isString(value)) {\r\n return toNumber(value)\r\n } else {\r\n throw new OrionError('数字输入框的值只能为字符串或数字类型')\r\n }\r\n },\r\n set: (newValue) => {\r\n if (!newValue) {\r\n formContext.updateModelValue(name, undefined)\r\n } else {\r\n formContext.updateModelValue(name, newValue)\r\n }\r\n },\r\n})\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-dropdown ref=\"dropdown\" :trigger=\"'click'\" @visible-change=\"onVisibleChange\" style=\"width: 100%;\">\r\n <div @focus=\"onFocus\" :style=\"{ position: 'relative', width: '100%', height: '100%' }\">\r\n <el-input ref=\"input\" v-model=\"inputValue\" :maxlength=\"maxlength\" :placeholder=\"placeholder\"\r\n :disabled=\"disabled\" :readonly=\"readonly\" @input=\"onInput\" @keydown=\"onKeydown\" @blur=\"onBlur\"\r\n :suffix-icon=\"visible ? ArrowUp : ArrowDown\" />\r\n <div v-if=\"!visible\"\r\n :style=\"{ position: 'absolute', inset: '4px 30px 4px 4px', overflow: 'hidden', pointerEvents: 'none' }\">\r\n <o-space>\r\n <el-tag v-for=\"tag in tags\" type=\"info\">{{ tag }}</el-tag>\r\n </o-space>\r\n </div>\r\n </div>\r\n <template #dropdown>\r\n <slot></slot>\r\n </template>\r\n </el-dropdown>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElInput, ElDropdown, ElTag } from 'element-plus'\r\nimport { ArrowDown, ArrowUp } from '@element-plus/icons-vue'\r\nimport { RowCompletionProvider, TableSelectContext, tableSelectContext, type TableSelectProps } from './TableSelect'\r\nimport { useFormItemSpan, useFormItemRules, useFormContext } from '../hooks'\r\nimport { computed, onMounted, provide, reactive, ref, useTemplateRef, watch } from 'vue'\r\nimport { isArray, pick } from 'lodash-es'\r\nimport OrionError from '../../../error/OrionError'\r\n\r\ndefineOptions({ name: 'OFormTableselect', inheritAttrs: false })\r\n\r\nconst emit = defineEmits(['change'])\r\nconst { name, label, labelWidth, required, maxlength, placeholder, disabled, readonly, pick: pickup, tag } = defineProps<TableSelectProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\n\r\nconst inputValue = ref('')\r\nconst modifyByForm = ref(false)\r\nconst formContext = useFormContext()!\r\nconst elModel = computed<any[] | undefined>({\r\n get: () => {\r\n const value = formContext.modelValue[name]\r\n if (!value) {\r\n return undefined\r\n }\r\n if (!isArray(value)) {\r\n throw new OrionError('表格下拉框的值只能为数组类型')\r\n }\r\n return value\r\n },\r\n set: (newValue) => {\r\n modifyByForm.value = false\r\n if (!newValue) {\r\n formContext.updateModelValue(name, undefined)\r\n } else {\r\n formContext.updateModelValue(name, newValue)\r\n }\r\n },\r\n})\r\n\r\nconst selection = ref<any[] | undefined>([])\r\nonMounted(async () => {\r\n if (completionItemProvider) {\r\n selection.value = await completionItemProvider(elModel.value)\r\n if (selection.value) {\r\n tags.value = selection.value.map((item) => tag(item))\r\n }\r\n }\r\n})\r\nwatch(elModel, async () => {\r\n if (modifyByForm.value) {\r\n if (completionItemProvider) {\r\n selection.value = await completionItemProvider(elModel.value)\r\n if (selection.value) {\r\n tags.value = selection.value.map((item) => tag(item))\r\n }\r\n }\r\n } else {\r\n modifyByForm.value = true\r\n }\r\n})\r\n\r\nconst visible = ref(false)\r\nconst onVisibleChange = (val: boolean) => {\r\n visible.value = val\r\n}\r\nconst onInput = () => {\r\n if (!visible.value) {\r\n dropdownRef.value!.handleOpen()\r\n }\r\n}\r\n\r\nconst inputRef = useTemplateRef('input')\r\nconst onFocus = () => {\r\n inputRef.value!.focus()\r\n}\r\n\r\nconst onKeydown = (e: any) => {\r\n if (visible.value) {\r\n if (['Enter', 'Escape'].indexOf(e.code) > -1) {\r\n dropdownRef.value!.handleClose()\r\n } else if ('ArrowDown' == e.code) {\r\n e.stopPropagation()\r\n } else if ('Tab' == e.code) {\r\n visible.value = false\r\n dropdownRef.value!.handleClose()\r\n }\r\n } else {\r\n if (['ArrowUp', 'ArrowDown'].indexOf(e.code) > -1) {\r\n dropdownRef.value!.handleOpen()\r\n e.stopPropagation()\r\n }\r\n }\r\n}\r\n\r\nconst onBlur = async (e: any) => {\r\n if (visible.value) {\r\n inputRef.value!.focus()\r\n } else {\r\n inputValue.value = ''\r\n }\r\n}\r\n\r\nconst tags = ref<string[]>([])\r\nconst dropdownRef = useTemplateRef('dropdown')\r\nconst onSelect: TableSelectContext['onSelect'] = (selection, clear) => {\r\n elModel.value = selection.map((item) => pick(item, pickup))\r\n tags.value = selection.map((item) => tag(item))\r\n if (clear) {\r\n inputValue.value = ''\r\n }\r\n emit('change', selection)\r\n}\r\nconst selectDone: TableSelectContext['selectDone'] = () => {\r\n dropdownRef.value!.handleClose()\r\n}\r\n\r\nlet completionItemProvider: RowCompletionProvider | undefined\r\nconst registerRowCompletionProvider: TableSelectContext['registerRowCompletionProvider'] = (provider) => {\r\n completionItemProvider = provider\r\n}\r\n\r\nprovide(\r\n tableSelectContext,\r\n reactive({\r\n inputValue,\r\n selection,\r\n onSelect,\r\n selectDone,\r\n tag,\r\n registerRowCompletionProvider\r\n })\r\n)\r\n</script>","import { withInstall } from '../_util'\r\n\r\nimport Form from './Form.vue'\r\nimport StringInput from './StringInput/StringInput.vue'\r\nimport PasswordInput from './PasswordInput/PasswordInput.vue'\r\nimport Textarea from './Textarea/Textarea.vue'\r\nimport SingleSelect from './SingleSelect/SingleSelect.vue'\r\nimport MultiSelect from './MultiSelect/MultiSelect.vue'\r\nimport RadioGroup from './RadioGroup/RadioGroup.vue'\r\nimport CheckboxGroup from './CheckboxGroup/CheckboxGroup.vue'\r\nimport Checkbox from './Checkbox/Checkbox.vue'\r\nimport Switch from './Switch/Switch.vue'\r\nimport DateInput from './DateInput/DateInput.vue'\r\nimport FileInput from './FileInput/FileInput.vue'\r\nimport ButtonGroup from './ButtonGroup/ButtonGroup.vue'\r\nimport DiyItem from './DiyItem/DiyItem.vue'\r\nimport LovInput from './LovInput/LovInput.vue'\r\nimport NumberInput from './NumberInput/NumberInput.vue'\r\nimport TableSelect from './TableSelect/TableSelect.vue'\r\n\r\nexport default withInstall<\r\n typeof Form,\r\n {\r\n StringInput: typeof StringInput\r\n PasswordInput: typeof PasswordInput\r\n Textarea: typeof Textarea\r\n SingleSelect: typeof SingleSelect\r\n MultiSelect: typeof MultiSelect\r\n RadioGroup: typeof RadioGroup\r\n CheckboxGroup: typeof CheckboxGroup\r\n Checkbox: typeof Checkbox\r\n Switch: typeof Switch\r\n DateInput: typeof DateInput\r\n FileInput: typeof FileInput\r\n ButtonGroup: typeof ButtonGroup\r\n DiyItem: typeof DiyItem\r\n LovInput: typeof LovInput\r\n NumberInput: typeof NumberInput\r\n TableSelect: typeof TableSelect\r\n }\r\n>(Form, {\r\n StringInput,\r\n PasswordInput,\r\n Textarea,\r\n SingleSelect,\r\n MultiSelect,\r\n RadioGroup,\r\n CheckboxGroup,\r\n Checkbox,\r\n Switch,\r\n DateInput,\r\n FileInput,\r\n ButtonGroup,\r\n DiyItem,\r\n LovInput,\r\n NumberInput,\r\n TableSelect,\r\n})\r\n\r\nexport * from './Form'\r\nexport * from './StringInput'\r\nexport * from './PasswordInput'\r\nexport * from './Textarea'\r\nexport * from './SingleSelect'\r\nexport * from './MultiSelect'\r\nexport * from './RadioGroup'\r\nexport * from './CheckboxGroup'\r\nexport * from './Checkbox'\r\nexport * from './Switch'\r\nexport * from './DateInput'\r\nexport * from './FileInput'\r\nexport * from './ButtonGroup'\r\nexport * from './DiyItem'\r\nexport * from './LovInput'\r\nexport * from './NumberInput'\r\nexport * from './TableSelect'\r\n"],"names":["emit","__emit","updateModelValue","name","value","__props","OrionError","updateModelValueMulti","data","modelKeys","dataKeys","diff","difference","isEmpty","formRef","useTemplateRef","__expose","provide","formContextKey","reactive","toRef","slots","useSlots","normalizedSpan","useFormItemSpan","normalizedRules","useFormItemRules","elModel","useFormItemStringModel","attrs","useAttrs","normalizedDisabled","useFormItemDisabled","normalizedCode","useFormItemCode","content","computed","getSingleCodeContent","useFormItemMultiModel","formContext","useFormContext","getMultiCodeContent","onChange","useFormItemBooleanModel","isTimePicker","normalizedSourceFormat","dateType","picker","isDate","isString","dayjsObj","dayjs","newValue","watch","file","ref","fileRef","onMounted","event","_a","style","visible","onVisibleChange","val","changed","onInput","dropdownRef","keydownHandler","registerKeydownHandler","handler","onKeydown","e","inputRef","onBlur","pairs","i","dstName","lovContextKey","params","srcName","srcValue","isNumber","toNumber","inputValue","modifyByForm","isArray","selection","completionItemProvider","tags","item","onFocus","onSelect","clear","pick","selectDone","registerRowCompletionProvider","provider","tableSelectContext","index","withInstall","Form","StringInput","PasswordInput","Textarea","SingleSelect","MultiSelect","RadioGroup","CheckboxGroup","Checkbox","Switch","DateInput","FileInput","ButtonGroup","DiyItem","LovInput","NumberInput","TableSelect"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Form/Form.vue","../../../src/components/Form/StringInput/StringInput.vue","../../../src/components/Form/PasswordInput/PasswordInput.vue","../../../src/components/Form/Textarea/Textarea.vue","../../../src/components/Form/SingleSelect/SingleSelect.vue","../../../src/components/Form/MultiSelect/MultiSelect.vue","../../../src/components/Form/RadioGroup/RadioGroup.vue","../../../src/components/Form/CheckboxGroup/CheckboxGroup.vue","../../../src/components/Form/Checkbox/Checkbox.vue","../../../src/components/Form/Switch/Switch.vue","../../../src/components/Form/DateInput/DateInput.vue","../../../src/components/Form/FileInput/FileInput.vue","../../../src/components/Form/ButtonGroup/ButtonGroup.vue","../../../src/components/Form/DiyItem/DiyItem.vue","../../../src/components/Form/LovInput/LovInput.vue","../../../src/components/Form/NumberInput/NumberInput.vue","../../../src/components/Form/TableSelect/TableSelect.vue","../../../src/components/Form/index.ts"],"sourcesContent":["<template>\r\n <el-form ref=\"form\" :model=\"modelValue\" :rules=\"rules\" :label-width=\"itemLabelWidth\" :disabled=\"disabled\" class=\"orion-form\">\r\n <el-row :gutter=\"16\">\r\n <slot></slot>\r\n </el-row>\r\n </el-form>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { provide, reactive, toRef, useTemplateRef } from 'vue'\r\nimport { ElForm, ElRow } from 'element-plus'\r\nimport { type FormProps, type FormExpose, formContextKey } from './Form'\r\nimport OrionError from '../../error/OrionError'\r\nimport { difference, isEmpty } from 'lodash-es'\r\n\r\ndefineOptions({ name: 'OForm', inheritAttrs: false })\r\n\r\nconst { rules, itemSpan = 6, itemLabelWidth = 'auto', disabled = false, modelValue } = defineProps<FormProps>()\r\n\r\nconst emit = defineEmits(['update:modelValue'])\r\n\r\nconst updateModelValue = (name: string, value: any) => {\r\n if (!Object.keys(modelValue).includes(name)) {\r\n throw new OrionError(`modelValue中不存在[${name}]`)\r\n }\r\n emit('update:modelValue', { ...modelValue, [name]: value })\r\n}\r\n\r\nconst updateModelValueMulti = (data: Record<string, any>) => {\r\n const modelKeys = Object.keys(modelValue)\r\n const dataKeys = Object.keys(data)\r\n const diff = difference(dataKeys, modelKeys)\r\n if (!isEmpty(diff)) {\r\n throw new OrionError(`modelValue中不存在[${diff.join(',')}]`)\r\n }\r\n emit('update:modelValue', { ...modelValue, ...data })\r\n}\r\n\r\nconst formRef = useTemplateRef('form')\r\n\r\nconst validate: FormExpose['validate'] = async () => {\r\n return await formRef.value!.validate()\r\n}\r\n\r\ndefineExpose({\r\n validate,\r\n})\r\n\r\nprovide(\r\n formContextKey,\r\n reactive({\r\n modelValue: toRef(() => modelValue),\r\n updateModelValue,\r\n updateModelValueMulti,\r\n rules: toRef(() => rules),\r\n itemSpan: toRef(() => itemSpan),\r\n disabled: toRef(() => disabled),\r\n })\r\n)\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <OStringInput v-model=\"model\" :maxlength=\"maxlength\" :placeholder=\"placeholder\" :disabled=\"normalizedDisabled\"\r\n :readonly=\"readonly\">\r\n <template v-if=\"slots.prefix\" #prefix>\r\n <slot name=\"prefix\"></slot>\r\n </template>\r\n <template v-if=\"slots.suffix\" #suffix>\r\n <slot name=\"suffix\"></slot>\r\n </template>\r\n <template v-if=\"slots.prepend\" #prepend>\r\n <slot name=\"prepend\"></slot>\r\n </template>\r\n <template v-if=\"slots.append\" #append>\r\n <slot name=\"append\"></slot>\r\n </template>\r\n </OStringInput>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem } from 'element-plus'\r\nimport type { FormStringInputProps } from './StringInput'\r\nimport OStringInput from '../../Input/StringInput/StringInput.vue'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemModel, useFormItemDisabled } from '../hooks'\r\nimport { useSlots } from 'vue'\r\n\r\ndefineOptions({ name: 'OFormString', inheritAttrs: false })\r\nconst slots = useSlots()\r\n\r\nconst { name, label, labelWidth, required, maxlength, placeholder, readonly } = defineProps<FormStringInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedDisabled = useFormItemDisabled()\r\nconst model = useFormItemModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <OPasswordInput v-model=\"model\" :maxlength=\"maxlength\" :placeholder=\"placeholder\" :disabled=\"normalizedDisabled\"\r\n :readonly=\"readonly\"></OPasswordInput>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem } from 'element-plus'\r\nimport type { FormPasswordInputProps } from './PasswordInput'\r\nimport OPasswordInput from '../../Input/PasswordInput/PasswordInput.vue'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemModel, useFormItemDisabled } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormPassword', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required, maxlength, placeholder, readonly } = defineProps<FormPasswordInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedDisabled = useFormItemDisabled()\r\nconst model = useFormItemModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <OTextarea v-model=\"model\" :maxlength=\"maxlength\" :placeholder=\"placeholder\" :disabled=\"normalizedDisabled\"\r\n :readonly=\"readonly\" :rows=\"rows\"></OTextarea>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem } from 'element-plus'\r\nimport type { FormTextareaProps } from './Textarea'\r\nimport OTextarea from '../../Input/Textarea/Textarea.vue'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemModel, useFormItemDisabled } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormTextarea', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required, maxlength, placeholder, readonly, rows } = defineProps<FormTextareaProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedDisabled = useFormItemDisabled()\r\nconst model = useFormItemModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <OSingleSelect v-model=\"model\" :placeholder=\"placeholder\" :disabled=\"normalizedDisabled\" :code=\"code\"\r\n :clearable=\"clearable\" :filterable=\"filterable\" @change=\"(attrs.onChange)\"></OSingleSelect>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { useAttrs } from 'vue'\r\nimport { ElCol, ElFormItem } from 'element-plus'\r\nimport type { FormSingleSelectProps } from './SingleSelect'\r\nimport OSingleSelect from '../../Input/SingleSelect/SingleSelect.vue'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemModel, useFormItemDisabled } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormSingleselect', inheritAttrs: false })\r\nconst attrs = useAttrs()\r\n\r\nconst { name, label, labelWidth, required, placeholder, code, clearable, filterable } = defineProps<FormSingleSelectProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedDisabled = useFormItemDisabled()\r\nconst model = useFormItemModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <OMultiSelect v-model=\"model\" :placeholder=\"placeholder\" :disabled=\"normalizedDisabled\" :code=\"code\" multiple\r\n :collapse-tags=\"collapseTags\" :collapse-tags-tooltip=\"collapseTagsTooltip\" @change=\"(attrs.onChange)\">\r\n </OMultiSelect>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { useAttrs } from 'vue'\r\nimport { ElCol, ElFormItem } from 'element-plus'\r\nimport type { FormMultiSelectProps } from './MultiSelect'\r\nimport OMultiSelect from '../../Input/MultiSelect/MultiSelect.vue'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemModel, useFormItemDisabled } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormMultiselect', inheritAttrs: false })\r\nconst attrs = useAttrs()\r\n\r\nconst { name, label, labelWidth, required, placeholder, code, collapseTags, collapseTagsTooltip } = defineProps<FormMultiSelectProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedDisabled = useFormItemDisabled()\r\nconst model = useFormItemModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <ORadioGroup v-model=\"model\" :disabled=\"normalizedDisabled\" :code=\"code\" @change=\"(attrs.onChange)\"></ORadioGroup>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem } from 'element-plus'\r\nimport type { FormRadioGroupProps } from './RadioGroup'\r\nimport ORadioGroup from '../../Input/RadioGroup/RadioGroup.vue'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemModel, useFormItemDisabled } from '../hooks'\r\nimport { useAttrs } from 'vue'\r\n\r\ndefineOptions({ name: 'OFormRadiogroup', inheritAttrs: false })\r\nconst attrs = useAttrs()\r\n\r\nconst { name, label, labelWidth, required, code } = defineProps<FormRadioGroupProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedDisabled = useFormItemDisabled()\r\nconst model = useFormItemModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <OCheckboxGroup v-model=\"model\" :disabled=\"normalizedDisabled\" :code=\"code\" @change=\"(attrs.onChange)\">\r\n </OCheckboxGroup>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem } from 'element-plus'\r\nimport type { FormCheckboxGroupProps } from './CheckboxGroup'\r\nimport OCheckboxGroup from '../../Input/CheckboxGroup/CheckboxGroup.vue'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemModel, useFormItemDisabled } from '../hooks'\r\nimport { useAttrs } from 'vue'\r\n\r\ndefineOptions({ name: 'OFormCheckboxgroup', inheritAttrs: false })\r\nconst attrs = useAttrs()\r\n\r\nconst { name, label, labelWidth, required, code } = defineProps<FormCheckboxGroupProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedDisabled = useFormItemDisabled()\r\nconst model = useFormItemModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :rules=\"rules\">\r\n <OCheckbox v-model=\"model\" :disabled=\"normalizedDisabled\" @change=\"(attrs.onChange)\"></OCheckbox>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem } from 'element-plus'\r\nimport type { FormCheckboxProps } from './Checkbox'\r\nimport OCheckbox from '../../Input/Checkbox/Checkbox.vue'\r\nimport { useFormItemDisabled, useFormItemModel, useFormItemSpan } from '../hooks'\r\nimport { useAttrs } from 'vue'\r\n\r\ndefineOptions({ name: 'OFormCheckbox', inheritAttrs: false })\r\nconst attrs = useAttrs()\r\n\r\nconst { name, label, labelWidth, rules } = defineProps<FormCheckboxProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedDisabled = useFormItemDisabled()\r\nconst model = useFormItemModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :rules=\"normalizedRules\">\r\n <OSwitch v-model=\"model\" :disabled=\"normalizedDisabled\" @change=\"(attrs.onChange)\"></OSwitch>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem } from 'element-plus'\r\nimport type { FormSwitchProps } from './Switch'\r\nimport OSwitch from '../../Input/Switch/Switch.vue'\r\nimport { useFormItemDisabled, useFormItemModel, useFormItemRules, useFormItemSpan } from '../hooks'\r\nimport { useAttrs } from 'vue'\r\n\r\ndefineOptions({ name: 'OFormSwitch', inheritAttrs: false })\r\nconst attrs = useAttrs()\r\n\r\nconst { name, label, labelWidth } = defineProps<FormSwitchProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedDisabled = useFormItemDisabled()\r\nconst model = useFormItemModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <ODateInput v-model=\"model\" :placeholder=\"placeholder\" :disabled=\"normalizedDisabled\" :readonly=\"readonly\"\r\n :editable=\"editable\" :clearable=\"clearable\" :format=\"format\" :sourceFormat=\"sourceFormat\"></ODateInput>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem } from 'element-plus'\r\nimport type { FormDateInputProps } from './DateInput'\r\nimport ODateInput from '../../Input/DateInput/DateInput.vue'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemModel, useFormItemDisabled } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormDate', inheritAttrs: false })\r\n\r\nconst {\r\n name,\r\n label,\r\n labelWidth,\r\n required,\r\n placeholder,\r\n readonly,\r\n editable = true,\r\n clearable = true,\r\n format = 'YYYY-MM-DD',\r\n sourceFormat,\r\n} = defineProps<FormDateInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedDisabled = useFormItemDisabled()\r\nconst model = useFormItemModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <OFileInput v-model=\"model\" :disabled=\"normalizedDisabled\" />\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem } from 'element-plus'\r\nimport type { FormFileInputProps } from './FileInput'\r\nimport OFileInput from '../../Input/FileInput/FileInput.vue'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemModel, useFormItemDisabled } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormFile', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required, disabled } = defineProps<FormFileInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedDisabled = useFormItemDisabled()\r\nconst model = useFormItemModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\" :style=\"style\">\r\n <space :gutter=\"gutter\" style=\"margin-bottom: var(--orion-form-validation-message-height)\"> <slot></slot> </space>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol } from 'element-plus'\r\nimport type { ButtonGroupProps } from './ButtonGroup'\r\nimport Space from '../../Space'\r\nimport { useFormItemSpan } from '../hooks'\r\nimport { computed, CSSProperties } from 'vue'\r\n\r\ndefineOptions({ name: 'OFormButtongroup', inheritAttrs: false })\r\n\r\nconst { gutter, align = 'right' } = defineProps<ButtonGroupProps>()\r\nconst style = computed<CSSProperties>(() => {\r\n return {\r\n textAlign: align,\r\n }\r\n})\r\n\r\nconst normalizedSpan = useFormItemSpan()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <slot></slot>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem } from 'element-plus'\r\nimport type { DiyItemProps } from './DiyItem'\r\nimport { useFormItemSpan, useFormItemRules } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormDiy', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required } = defineProps<DiyItemProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <OLovInput v-model=\"model\" :maxlength=\"maxlength\" :placeholder=\"placeholder\" :disabled=\"normalizedDisabled\"\r\n :readonly=\"readonly\" @clear=\"onClear\" @select=\"onSelect\">\r\n <slot></slot>\r\n </OLovInput>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem } from 'element-plus'\r\nimport type { FormLovInputProps } from './LovInput'\r\nimport OLovInput from '../../Input/LovInput/LovInput.vue'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemModel, useFormContext, useFormItemDisabled } from '../hooks'\r\nimport { isString } from 'lodash-es'\r\n\r\ndefineOptions({ name: 'OFormLov', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required, maxlength, placeholder, readonly, fillMapping } = defineProps<FormLovInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedDisabled = useFormItemDisabled()\r\nconst model = useFormItemModel()\r\nconst formContext = useFormContext()!\r\n\r\nconst onClear = () => {\r\n if (isString(fillMapping)) {\r\n const data: Record<string, any> = {}\r\n\r\n const pairs = fillMapping.split(',')\r\n for (let i = 0; i < pairs.length; i++) {\r\n const dstName = pairs[i].split(':')[0].trim()\r\n data[dstName] = undefined\r\n }\r\n\r\n formContext.updateModelValueMulti(data)\r\n }\r\n}\r\n\r\nconst onSelect = (params: Record<string, any>) => {\r\n if (isString(fillMapping)) {\r\n const data: Record<string, any> = {}\r\n\r\n const pairs = fillMapping.split(',')\r\n for (let i = 0; i < pairs.length; i++) {\r\n const dstName = pairs[i].split(':')[0].trim()\r\n const srcName = pairs[i].split(':')[1].trim()\r\n const srcValue = params[srcName]\r\n data[dstName] = srcValue\r\n }\r\n\r\n formContext.updateModelValueMulti(data)\r\n } else {\r\n fillMapping && fillMapping(params)\r\n }\r\n}\r\n\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <ONumberInput v-model=\"model\" :placeholder=\"placeholder\" :disabled=\"normalizedDisabled\" :readonly=\"readonly\"\r\n :min=\"min\" :max=\"max\" :step=\"step\" :step-strictly=\"stepStrictly\" :precision=\"precision\" :controls=\"controls\"\r\n :controls-position=\"controlsPosition\">\r\n <template v-if=\"slots['decrease-icon']\" #decrease-icon>\r\n <slot name=\"decrease-icon\"></slot>\r\n </template>\r\n <template v-if=\"slots['increase-icon']\" #increase-icon>\r\n <slot name=\"increase-icon\"></slot>\r\n </template>\r\n <template v-if=\"slots['prefix']\" #prefix>\r\n <slot name=\"prefix\"></slot>\r\n </template>\r\n <template v-if=\"slots['suffix']\" #suffix>\r\n <slot name=\"suffix\"></slot>\r\n </template>\r\n </ONumberInput>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem } from 'element-plus'\r\nimport type { FormNumberInputProps } from './NumberInput'\r\nimport ONumberInput from '../../Input/NumberInput/NumberInput.vue'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemModel, useFormItemDisabled } from '../hooks'\r\nimport { useSlots } from 'vue'\r\n\r\ndefineOptions({ name: 'OFormNumber', inheritAttrs: false })\r\nconst slots = useSlots()\r\n\r\nconst {\r\n name,\r\n label,\r\n labelWidth,\r\n required,\r\n placeholder,\r\n readonly,\r\n min,\r\n max,\r\n step,\r\n stepStrictly,\r\n precision,\r\n controls = true,\r\n controlsPosition,\r\n} = defineProps<FormNumberInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedDisabled = useFormItemDisabled()\r\nconst model = useFormItemModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <OTableSelect v-model=\"model\" :maxlength=\"maxlength\" :placeholder=\"placeholder\" :disabled=\"normalizedDisabled\"\r\n :readonly=\"readonly\" :pick=\"pick\" :tag=\"tag\" @change=\"(attrs.onChange)\">\r\n <slot></slot>\r\n </OTableSelect>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem } from 'element-plus'\r\nimport type { FormTableSelectProps } from './TableSelect'\r\nimport OTableSelect from '../../Input/TableSelect/TableSelect.vue'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemModel, useFormItemDisabled } from '../hooks'\r\nimport { useAttrs } from 'vue'\r\n\r\ndefineOptions({ name: 'OFormTableselect', inheritAttrs: false })\r\nconst attrs = useAttrs()\r\n\r\nconst { name, label, labelWidth, required, maxlength, placeholder, readonly, pick, tag } = defineProps<FormTableSelectProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedDisabled = useFormItemDisabled()\r\nconst model = useFormItemModel()\r\n</script>","import { withInstall } from '../_util'\r\n\r\nimport Form from './Form.vue'\r\nimport StringInput from './StringInput/StringInput.vue'\r\nimport PasswordInput from './PasswordInput/PasswordInput.vue'\r\nimport Textarea from './Textarea/Textarea.vue'\r\nimport SingleSelect from './SingleSelect/SingleSelect.vue'\r\nimport MultiSelect from './MultiSelect/MultiSelect.vue'\r\nimport RadioGroup from './RadioGroup/RadioGroup.vue'\r\nimport CheckboxGroup from './CheckboxGroup/CheckboxGroup.vue'\r\nimport Checkbox from './Checkbox/Checkbox.vue'\r\nimport Switch from './Switch/Switch.vue'\r\nimport DateInput from './DateInput/DateInput.vue'\r\nimport FileInput from './FileInput/FileInput.vue'\r\nimport ButtonGroup from './ButtonGroup/ButtonGroup.vue'\r\nimport DiyItem from './DiyItem/DiyItem.vue'\r\nimport LovInput from './LovInput/LovInput.vue'\r\nimport NumberInput from './NumberInput/NumberInput.vue'\r\nimport TableSelect from './TableSelect/TableSelect.vue'\r\n\r\nexport default withInstall<\r\n typeof Form,\r\n {\r\n StringInput: typeof StringInput\r\n PasswordInput: typeof PasswordInput\r\n Textarea: typeof Textarea\r\n SingleSelect: typeof SingleSelect\r\n MultiSelect: typeof MultiSelect\r\n RadioGroup: typeof RadioGroup\r\n CheckboxGroup: typeof CheckboxGroup\r\n Checkbox: typeof Checkbox\r\n Switch: typeof Switch\r\n DateInput: typeof DateInput\r\n FileInput: typeof FileInput\r\n ButtonGroup: typeof ButtonGroup\r\n DiyItem: typeof DiyItem\r\n LovInput: typeof LovInput\r\n NumberInput: typeof NumberInput\r\n TableSelect: typeof TableSelect\r\n }\r\n>(Form, {\r\n StringInput,\r\n PasswordInput,\r\n Textarea,\r\n SingleSelect,\r\n MultiSelect,\r\n RadioGroup,\r\n CheckboxGroup,\r\n Checkbox,\r\n Switch,\r\n DateInput,\r\n FileInput,\r\n ButtonGroup,\r\n DiyItem,\r\n LovInput,\r\n NumberInput,\r\n TableSelect,\r\n})\r\n\r\nexport * from './Form'\r\nexport * from './StringInput'\r\nexport * from './PasswordInput'\r\nexport * from './Textarea'\r\nexport * from './SingleSelect'\r\nexport * from './MultiSelect'\r\nexport * from './RadioGroup'\r\nexport * from './CheckboxGroup'\r\nexport * from './Checkbox'\r\nexport * from './Switch'\r\nexport * from './DateInput'\r\nexport * from './FileInput'\r\nexport * from './ButtonGroup'\r\nexport * from './DiyItem'\r\nexport * from './LovInput'\r\nexport * from './NumberInput'\r\nexport * from './TableSelect'\r\n"],"names":["emit","__emit","updateModelValue","name","value","__props","OrionError","updateModelValueMulti","data","modelKeys","dataKeys","diff","difference","isEmpty","formRef","useTemplateRef","__expose","provide","formContextKey","reactive","toRef","slots","useSlots","normalizedSpan","useFormItemSpan","normalizedRules","useFormItemRules","normalizedDisabled","useFormItemDisabled","model","useFormItemModel","attrs","useAttrs","style","computed","formContext","useFormContext","onClear","isString","pairs","i","dstName","onSelect","params","srcName","srcValue","index","withInstall","Form","StringInput","PasswordInput","Textarea","SingleSelect","MultiSelect","RadioGroup","CheckboxGroup","Checkbox","Switch","DateInput","FileInput","ButtonGroup","DiyItem","LovInput","NumberInput","TableSelect"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAmBA,UAAMA,IAAOC,GAEPC,IAAmB,CAACC,GAAcC,MAAe;AACjD,UAAA,CAAC,OAAO,KAAKC,EAAA,UAAU,EAAE,SAASF,CAAI;AACxC,cAAM,IAAIG,EAAW,kBAAkBH,CAAI,GAAG;AAE3C,MAAAH,EAAA,qBAAqB,EAAE,GAAGK,cAAY,CAACF,CAAI,GAAGC,EAAA,CAAO;AAAA,IAAA,GAGtDG,IAAwB,CAACC,MAA8B;AAC3D,YAAMC,IAAY,OAAO,KAAKJ,EAAA,UAAU,GAClCK,IAAW,OAAO,KAAKF,CAAI,GAC3BG,IAAOC,EAAWF,GAAUD,CAAS;AACvC,UAAA,CAACI,EAAQF,CAAI;AACf,cAAM,IAAIL,EAAW,kBAAkBK,EAAK,KAAK,GAAG,CAAC,GAAG;AAE1D,MAAAX,EAAK,qBAAqB,EAAE,GAAGK,EAAU,YAAE,GAAGG,GAAM;AAAA,IAAA,GAGhDM,IAAUC,EAAe,MAAM;AAMxB,WAAAC,EAAA;AAAA,MACX,UALuC,YAChC,MAAMF,EAAQ,MAAO;IAI5B,CACD,GAEDG;AAAA,MACEC;AAAA,MACAC,EAAS;AAAA,QACP,YAAYC,EAAM,MAAMf,EAAU,UAAA;AAAA,QAClC,kBAAAH;AAAA,QACA,uBAAAK;AAAA,QACA,OAAOa,EAAM,MAAMf,EAAA,KAAK;AAAA,QACxB,UAAUe,EAAM,MAAMf,EAAA,QAAQ;AAAA,QAC9B,UAAUe,EAAM,MAAMf,EAAA,QAAQ;AAAA,MAAA,CAC/B;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3BH,UAAMgB,IAAQC,KAGRC,IAAiBC,KACjBC,IAAkBC,KAClBC,IAAqBC,KACrBC,IAAQC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBd,UAAMP,IAAiBC,KACjBC,IAAkBC,KAClBC,IAAqBC,KACrBC,IAAQC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHd,UAAMP,IAAiBC,KACjBC,IAAkBC,KAClBC,IAAqBC,KACrBC,IAAQC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJd,UAAMC,IAAQC,KAGRT,IAAiBC,KACjBC,IAAkBC,KAClBC,IAAqBC,KACrBC,IAAQC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLd,UAAMC,IAAQC,KAGRT,IAAiBC,KACjBC,IAAkBC,KAClBC,IAAqBC,KACrBC,IAAQC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRd,UAAMC,IAAQC,KAGRT,IAAiBC,KACjBC,IAAkBC,KAClBC,IAAqBC,KACrBC,IAAQC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLd,UAAMC,IAAQC,KAGRT,IAAiBC,KACjBC,IAAkBC,KAClBC,IAAqBC,KACrBC,IAAQC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPd,UAAMC,IAAQC,KAGRT,IAAiBC,KACjBG,IAAqBC,KACrBC,IAAQC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLd,UAAMC,IAAQC,KAGRT,IAAiBC,KACjBC,IAAkBC,KAClBC,IAAqBC,KACrBC,IAAQC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACOd,UAAMP,IAAiBC,KACjBC,IAAkBC,KAClBC,IAAqBC,KACrBC,IAAQC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfd,UAAMP,IAAiBC,KACjBC,IAAkBC,KAClBC,IAAqBC,KACrBC,IAAQC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJR,UAAAG,IAAQC,EAAwB,OAC7B;AAAA,MACL,WAAW7B,EAAA;AAAA,IAAA,EAEd,GAEKkB,IAAiBC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNvB,UAAMD,IAAiBC,KACjBC,IAAkBC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACIxB,UAAMH,IAAiBC,KACjBC,IAAkBC,KAClBC,IAAqBC,KACrBC,IAAQC,KACRK,IAAcC,KAEdC,IAAU,MAAM;AAChB,UAAAC,EAASjC,EAAA,WAAW,GAAG;AACzB,cAAMG,IAA4B,CAAA,GAE5B+B,IAAQlC,EAAA,YAAY,MAAM,GAAG;AACnC,iBAASmC,IAAI,GAAGA,IAAID,EAAM,QAAQC,KAAK;AAC/B,gBAAAC,IAAUF,EAAMC,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,EAAE;AACvC,UAAAhC,EAAKiC,CAAO,IAAI;AAAA,QAClB;AAEA,QAAAN,EAAY,sBAAsB3B,CAAI;AAAA,MACxC;AAAA,IAAA,GAGIkC,IAAW,CAACC,MAAgC;AAC5C,UAAAL,EAASjC,EAAA,WAAW,GAAG;AACzB,cAAMG,IAA4B,CAAA,GAE5B+B,IAAQlC,EAAA,YAAY,MAAM,GAAG;AACnC,iBAASmC,IAAI,GAAGA,IAAID,EAAM,QAAQC,KAAK;AAC/B,gBAAAC,IAAUF,EAAMC,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,EAAE,QACjCI,IAAUL,EAAMC,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,EAAE,QACjCK,IAAWF,EAAOC,CAAO;AAC/B,UAAApC,EAAKiC,CAAO,IAAII;AAAA,QAClB;AAEA,QAAAV,EAAY,sBAAsB3B,CAAI;AAAA,MAAA;AAE3B,QAAAH,EAAA,eAAIA,EAAW,YAACsC,CAAM;AAAA,IACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBF,UAAMtB,IAAQC,KAiBRC,IAAiBC,KACjBC,IAAkBC,KAClBC,IAAqBC,KACrBC,IAAQC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChCd,UAAMC,IAAQC,KAGRT,IAAiBC,KACjBC,IAAkBC,KAClBC,IAAqBC,KACrBC,IAAQC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICLCgB,KAAAC,EAoBbC,IAAM;AAAA,EAAA,aACNC;AAAAA,EAAA,eACAC;AAAAA,EAAA,UACAC;AAAAA,EAAA,cACAC;AAAAA,EAAA,aACAC;AAAAA,EAAA,YACAC;AAAAA,EAAA,eACAC;AAAAA,EAAA,UACAC;AAAAA,EAAA,QACAC;AAAAA,EAAA,WACAC;AAAAA,EAAA,WACAC;AAAAA,EAAA,aACAC;AAAAA,EAAA,SACAC;AAAAA,EAAA,UACAC;AAAAA,EAAA,aACAC;AAAAA,EAAA,aACAC;AACF,CAAC;"}
@@ -1,6 +1,20 @@
1
- declare const _default: import('vue').DefineComponent<{
1
+ declare function __VLS_template(): {
2
+ slots: {
3
+ default?(_: {}): any;
4
+ };
5
+ refs: {};
6
+ attrs: Partial<{}>;
7
+ };
8
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
9
+ declare const __VLS_component: import('vue').DefineComponent<{
2
10
  name: string;
3
11
  }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
4
12
  name: string;
5
13
  }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
14
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
6
15
  export default _default;
16
+ type __VLS_WithTemplateSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
@@ -1,6 +1,24 @@
1
- declare const _default: import('../_util').SFCWithInstall<import('vue').DefineComponent<{
1
+ declare const _default: import('../_util').SFCWithInstall<{
2
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
3
+ name: string;
4
+ }> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
5
+ P: {};
6
+ B: {};
7
+ D: {};
8
+ C: {};
9
+ M: {};
10
+ Defaults: {};
11
+ }, Readonly<{
12
+ name: string;
13
+ }> & Readonly<{}>, {}, {}, {}, {}, {}>;
14
+ __isFragment?: never;
15
+ __isTeleport?: never;
16
+ __isSuspense?: never;
17
+ } & import('vue').ComponentOptionsBase<Readonly<{
2
18
  name: string;
3
- }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
4
- name: string;
5
- }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>> & {};
19
+ }> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
20
+ $slots: {
21
+ default?(_: {}): any;
22
+ };
23
+ })> & {};
6
24
  export default _default;
@@ -1,34 +1,43 @@
1
1
  import "lodash-es";
2
- import { defineComponent as r, useAttrs as o, computed as s, openBlock as l, createElementBlock as i, normalizeStyle as a, normalizeClass as m, unref as c, createElementVNode as u } from "vue";
3
- import { withInstall as p } from "../_util/vue/install.js";
4
- import "element-plus";
5
- const f = ["xlink:href"], d = /* @__PURE__ */ r({
2
+ import { defineComponent as a, useAttrs as i, computed as c, useSlots as m, unref as t, openBlock as o, createBlock as u, normalizeStyle as r, withCtx as f, renderSlot as d, createElementBlock as p, normalizeClass as h, createElementVNode as y } from "vue";
3
+ import { withInstall as _ } from "../_util/vue/install.js";
4
+ import { ElIcon as k } from "element-plus";
5
+ const v = ["xlink:href"], x = /* @__PURE__ */ a({
6
6
  name: "OIcon",
7
7
  inheritAttrs: !1,
8
8
  __name: "Icon",
9
9
  props: {
10
10
  name: {}
11
11
  },
12
- setup(h) {
13
- const e = o(), t = s(() => {
12
+ setup(C) {
13
+ const e = i(), l = c(() => {
14
14
  if (e.style)
15
15
  return e.style;
16
- });
17
- return (n, _) => (l(), i("svg", {
16
+ }), n = m();
17
+ return (s, I) => t(n).default ? (o(), u(t(k), {
18
+ key: 0,
19
+ style: r(l.value)
20
+ }, {
21
+ default: f(() => [
22
+ d(s.$slots, "default")
23
+ ]),
24
+ _: 3
25
+ }, 8, ["style"])) : (o(), p("svg", {
26
+ key: 1,
18
27
  "aria-hidden": "true",
19
28
  width: "1em",
20
29
  height: "1em",
21
- style: a(t.value),
22
- class: m(c(e).class)
30
+ style: r(l.value),
31
+ class: h(t(e).class)
23
32
  }, [
24
- u("use", {
25
- "xlink:href": `#${n.name}`,
33
+ y("use", {
34
+ "xlink:href": `#${s.name}`,
26
35
  fill: "currentColor"
27
- }, null, 8, f)
36
+ }, null, 8, v)
28
37
  ], 6));
29
38
  }
30
- }), C = p(d, {});
39
+ }), g = _(x, {});
31
40
  export {
32
- C as default
41
+ g as default
33
42
  };
34
43
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/Icon/Icon.vue","../../../src/components/Icon/index.ts"],"sourcesContent":["<template>\r\n <svg aria-hidden=\"true\" width=\"1em\" height=\"1em\" :style=\"style\" :class=\"attrs.class\">\r\n <use :xlink:href=\"`#${name}`\" fill=\"currentColor\" />\r\n </svg>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { computed, useAttrs, type CSSProperties } from 'vue'\r\n\r\ndefineOptions({ name: 'OIcon', inheritAttrs: false })\r\n\r\nconst { name } = defineProps<{ name: string }>()\r\nconst attrs = useAttrs()\r\nconst style = computed(() => {\r\n if (attrs.style) {\r\n return attrs.style as CSSProperties\r\n }\r\n return undefined\r\n})\r\n</script>","import { withInstall } from '../_util'\r\n\r\nimport Icon from './Icon.vue'\r\nexport default withInstall<typeof Icon, {}>(Icon, {})\r\n"],"names":["attrs","useAttrs","style","computed","index","withInstall","Icon"],"mappings":";;;;;;;;;;;;AAWA,UAAMA,IAAQC,KACRC,IAAQC,EAAS,MAAM;AACzB,UAAIH,EAAM;AACN,eAAOA,EAAM;AAAA,IAEV,CACV;;;;;;;;;;;;;;ICdDI,IAAeC,EAA6BC,GAAM,EAAE;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Icon/Icon.vue","../../../src/components/Icon/index.ts"],"sourcesContent":["<template>\r\n <el-icon v-if=\"slots.default\" :style=\"style\">\r\n <slot></slot>\r\n </el-icon>\r\n <svg v-else aria-hidden=\"true\" width=\"1em\" height=\"1em\" :style=\"style\" :class=\"attrs.class\">\r\n <use :xlink:href=\"`#${name}`\" fill=\"currentColor\" />\r\n </svg>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { computed, useAttrs, useSlots, type CSSProperties } from 'vue'\r\nimport { ElIcon } from 'element-plus';\r\n\r\ndefineOptions({ name: 'OIcon', inheritAttrs: false })\r\n\r\nconst { name } = defineProps<{ name: string }>()\r\nconst attrs = useAttrs()\r\nconst style = computed(() => {\r\n if (attrs.style) {\r\n return attrs.style as CSSProperties\r\n }\r\n return undefined\r\n})\r\nconst slots = useSlots()\r\n</script>","import { withInstall } from '../_util'\r\n\r\nimport Icon from './Icon.vue'\r\nexport default withInstall<typeof Icon, {}>(Icon, {})\r\n"],"names":["attrs","useAttrs","style","computed","slots","useSlots","index","withInstall","Icon"],"mappings":";;;;;;;;;;;;AAeA,UAAMA,IAAQC,KACRC,IAAQC,EAAS,MAAM;AACzB,UAAIH,EAAM;AACN,eAAOA,EAAM;AAAA,IAEV,CACV,GACKI,IAAQC;;;;;;;;;;;;;;;;;;;;;;;ICnBdC,IAAeC,EAA6BC,GAAM,EAAE;"}
@@ -0,0 +1,3 @@
1
+ export interface CheckboxProps {
2
+ disabled?: boolean;
3
+ }
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=Checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { CheckboxProps } from './Checkbox';
2
+ declare let __VLS_typeProps: CheckboxProps;
3
+ type __VLS_PublicProps = {
4
+ modelValue?: string;
5
+ } & typeof __VLS_typeProps;
6
+ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
+ "update:modelValue": (modelValue: string) => any;
8
+ } & {
9
+ change: (value: "0" | "1") => any;
10
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
11
+ "onUpdate:modelValue"?: ((modelValue: string) => any) | undefined;
12
+ onChange?: ((value: "0" | "1") => any) | undefined;
13
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
14
+ export default _default;
@@ -0,0 +1 @@
1
+ export * from './Checkbox';
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export interface CheckboxGroupProps {
2
+ disabled?: boolean;
3
+ code?: string | Array<{
4
+ value: string;
5
+ content: string;
6
+ }>;
7
+ }
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=CheckboxGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxGroup.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { CheckboxGroupProps } from './CheckboxGroup';
2
+ declare let __VLS_typeProps: CheckboxGroupProps;
3
+ type __VLS_PublicProps = {
4
+ modelValue?: string;
5
+ } & typeof __VLS_typeProps;
6
+ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
+ "update:modelValue": (modelValue: string) => any;
8
+ } & {
9
+ change: (value: string) => any;
10
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
11
+ "onUpdate:modelValue"?: ((modelValue: string) => any) | undefined;
12
+ onChange?: ((value: string) => any) | undefined;
13
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
14
+ export default _default;
@@ -0,0 +1 @@
1
+ export * from './CheckboxGroup';
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ export interface DateInputProps {
2
+ maxlength?: string | number;
3
+ placeholder?: string;
4
+ disabled?: boolean;
5
+ readonly?: boolean;
6
+ editable?: boolean;
7
+ clearable?: boolean;
8
+ format?: string;
9
+ sourceFormat?: string;
10
+ }
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=DateInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateInput.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { DateInputProps } from './DateInput';
2
+ declare let __VLS_typeProps: DateInputProps;
3
+ type __VLS_PublicProps = {
4
+ modelValue?: Date | string;
5
+ } & typeof __VLS_typeProps;
6
+ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
+ "update:modelValue": (modelValue: string | Date) => any;
8
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
9
+ "onUpdate:modelValue"?: ((modelValue: string | Date) => any) | undefined;
10
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
11
+ export default _default;
@@ -0,0 +1 @@
1
+ export * from './DateInput';
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export interface FileInputProps {
2
+ disabled?: boolean;
3
+ }
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=FileInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileInput.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}