cosey 0.4.36 → 0.4.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -34,7 +34,10 @@ export declare const defaultFormItemProps: {
34
34
  disabled: boolean;
35
35
  readonly: boolean;
36
36
  };
37
- export interface ElFormItemSlots {
37
+ export declare const exlucdeFieldSlotNames: readonly ["error", "label", "default", "tooltip", "extra"];
38
+ type ExlucdeFieldSlotNames = (typeof exlucdeFieldSlotNames)[number];
39
+ type OptionExlucdeFieldSlotNames = `field-${ExlucdeFieldSlotNames}`;
40
+ export type ElFormItemSlots = {
38
41
  default?: (props: Record<string, any>) => any;
39
42
  label?: (props: {
40
43
  label: string;
@@ -44,7 +47,9 @@ export interface ElFormItemSlots {
44
47
  }) => any;
45
48
  tooltip?: (props: Record<string, any>) => any;
46
49
  extra?: (props: Record<string, any>) => any;
47
- }
50
+ } & {
51
+ [K in OptionExlucdeFieldSlotNames]?: (...args: any[]) => any;
52
+ };
48
53
  export type FormItemSlots<T extends FieldType> = NonNullable<MapFieldTypeComponentProps[T]['componentSlots']> & ElFormItemSlots;
49
54
  export declare const formItemProps: {
50
55
  fieldType: {
@@ -132,3 +137,4 @@ export interface FormItemEmits {
132
137
  export declare const formItemExposeKeys: string[];
133
138
  export interface FormItemExpose extends FormItemInstance {
134
139
  }
140
+ export {};
@@ -15,6 +15,7 @@ const defaultFormItemProps = {
15
15
  disabled: false,
16
16
  readonly: false
17
17
  };
18
+ const exlucdeFieldSlotNames = ["error", "label", "default", "tooltip", "extra"];
18
19
  const formItemProps = {
19
20
  ...formItemProps$1,
20
21
  fieldType: {
@@ -39,4 +40,4 @@ const elFormItemExposeKeys = [
39
40
  ];
40
41
  const formItemExposeKeys = [...elFormItemExposeKeys];
41
42
 
42
- export { defaultFormItemProps, formItemExposeKeys, formItemProps, formItemPropsKeys, mapFormItemWidth };
43
+ export { defaultFormItemProps, exlucdeFieldSlotNames, formItemExposeKeys, formItemProps, formItemPropsKeys, mapFormItemWidth };
@@ -1,5 +1,5 @@
1
- import { defineComponent, mergeDefaults, useAttrs, inject, useTemplateRef, computed, mergeProps, resolveComponent, createBlock, openBlock, unref, withCtx, createVNode, createSlots, createElementVNode, normalizeStyle, normalizeClass, renderSlot, createElementBlock, createCommentVNode, resolveDynamicComponent, renderList, normalizeProps, guardReactiveProps } from 'vue';
2
- import { defaultFormItemProps, formItemExposeKeys } from './form-item.js';
1
+ import { defineComponent, mergeDefaults, useAttrs, useSlots, inject, useTemplateRef, computed, mergeProps, resolveComponent, createBlock, openBlock, unref, withCtx, createVNode, createSlots, createElementVNode, normalizeStyle, normalizeClass, renderSlot, createElementBlock, createCommentVNode, resolveDynamicComponent, renderList, normalizeProps, guardReactiveProps } from 'vue';
2
+ import { exlucdeFieldSlotNames, defaultFormItemProps, formItemExposeKeys } from './form-item.js';
3
3
  import { formContextSymbol } from './form.js';
4
4
  import { Field as _Field } from '../field/index.js';
5
5
  import { formQueryContextSymbol } from '../form-query/form-query.js';
@@ -10,6 +10,7 @@ import { useFormItemWidth } from './useFormItemWidth.js';
10
10
  import { ElFormItem } from 'element-plus';
11
11
  import { reactiveOmit } from '@vueuse/core';
12
12
  import { useToken } from '../theme/util/useToken.js';
13
+ import { omit } from 'lodash-es';
13
14
  import { omitUndefined } from '../../utils/object.js';
14
15
  import { useComponentConfig } from '../config-provider/config-provider.js';
15
16
  import { useLocale } from '../../hooks/useLocale.js';
@@ -144,6 +145,7 @@ var stdin_default = /* @__PURE__ */defineComponent({
144
145
  } = useLocale();
145
146
  const formItemProps = reactiveOmit(props, "colProps", "width", "fieldType", "fieldProps", "fieldRef", "modelValue", "placeholder", "disabled", "readonly");
146
147
  const attrs = useAttrs();
148
+ const slots = useSlots();
147
149
  const emit = __emit;
148
150
  const formContext = inject(formContextSymbol, null);
149
151
  const formItemRef = useTemplateRef("form-item");
@@ -218,6 +220,13 @@ var stdin_default = /* @__PURE__ */defineComponent({
218
220
  return formContext?.readonly || props.readonly;
219
221
  });
220
222
  const formItemSlotNames = ["error"];
223
+ const fieldSlots = computed(() => {
224
+ return {
225
+ ...Object.fromEntries(exlucdeFieldSlotNames.map(name => [name, slots[`field-${name}`]])),
226
+ ...omit(slots, exlucdeFieldSlotNames),
227
+ ...props.fieldSlots
228
+ };
229
+ });
221
230
  const labelTemplate = defineTemplate(() => props.label);
222
231
  const tooptipTemplate = defineTemplate(() => props.tooltip);
223
232
  const extraTemplate = defineTemplate(() => props.extra);
@@ -239,7 +248,7 @@ var stdin_default = /* @__PURE__ */defineComponent({
239
248
  readonly: mergedReadonly.value,
240
249
  type: _ctx.fieldType,
241
250
  "component-props": mergedFieldProps.value,
242
- "component-slots": _ctx.fieldSlots,
251
+ "component-slots": fieldSlots.value,
243
252
  "component-ref": _ctx.fieldRef
244
253
  }, null, 8, ["readonly", "type", "component-props", "component-slots", "component-ref"])]), _ctx.extra || _ctx.$slots.extra ? (openBlock(), createElementBlock("div", {
245
254
  key: 0,
@@ -5,7 +5,7 @@ export { useBubbleTemplate } from './useBubbleTemplate.js';
5
5
  export { useFormTemplate } from './useFormTemplate.js';
6
6
  export { getFormItemWidth, useFormItemWidth } from './useFormItemWidth.js';
7
7
  export { formBubbleContextSymbol, formContextSymbol, formExposeKeys, formProps, formPropsOmit } from './form.js';
8
- export { defaultFormItemProps, formItemExposeKeys, formItemProps, formItemPropsKeys, mapFormItemWidth } from './form-item.js';
8
+ export { defaultFormItemProps, exlucdeFieldSlotNames, formItemExposeKeys, formItemProps, formItemPropsKeys, mapFormItemWidth } from './form-item.js';
9
9
 
10
10
  const _Form = withInstall(stdin_default$1);
11
11
  const _FormItem = withInstall(stdin_default$2);
@@ -61,7 +61,7 @@ export { defaultEditorProps } from './editor/editor.js';
61
61
  export { mapFieldTypeComponent } from './field/field.js';
62
62
  export { defaultFileCardProps } from './file-card/file-card.js';
63
63
  export { formBubbleContextSymbol, formContextSymbol, formExposeKeys, formProps, formPropsOmit } from './form/form.js';
64
- export { defaultFormItemProps, formItemExposeKeys, formItemProps, formItemPropsKeys, mapFormItemWidth } from './form/form-item.js';
64
+ export { defaultFormItemProps, exlucdeFieldSlotNames, formItemExposeKeys, formItemProps, formItemPropsKeys, mapFormItemWidth } from './form/form-item.js';
65
65
  export { getFormItemWidth, useFormItemWidth } from './form/useFormItemWidth.js';
66
66
  export { useBubbleTemplate } from './form/useBubbleTemplate.js';
67
67
  export { useFormTemplate } from './form/useFormTemplate.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cosey",
3
- "version": "0.4.36",
3
+ "version": "0.4.38",
4
4
  "description": "基于 Vue3 + vite 的后台管理系统框架",
5
5
  "type": "module",
6
6
  "main": "index.js",