el-plus 0.0.29 → 0.0.30

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.
@@ -1,4 +1,4 @@
1
- /*! ElPlus v0.0.29 */
1
+ /*! ElPlus v0.0.30 */
2
2
 
3
3
  import { useAttrs, getCurrentInstance, inject, provide, ref, nextTick, defineComponent, computed, createVNode, Fragment, withDirectives, resolveComponent, mergeProps, resolveDirective, useTemplateRef, createTextVNode, h, mergeModels, useModel, createElementBlock, openBlock, normalizeStyle, normalizeClass, unref, createCommentVNode, withCtx, renderSlot, renderList, createBlock, vShow, toDisplayString, reactive, useSlots, watch, onMounted, createSlots, normalizeProps, guardReactiveProps, markRaw, Transition, shallowReactive, isVNode, render, createElementVNode, toRaw } from 'vue';
4
4
  import { buttonProps, useLocale as useLocale$1, ElLoading, ElMessage, ElMessageBox, formProps as formProps$1, formEmits as formEmits$1, ElTooltip, formItemProps as formItemProps$1, ElFormItem, ElForm, ElRow, ElCol, inputProps as inputProps$1, inputEmits as inputEmits$1, configProviderContextKey, ElConfigProvider, ElDialog, ElButton, ElTable, ElIcon, selectProps as selectProps$1, selectEmits as selectEmits$1, ElPageHeader, datePickerProps, linkProps as linkProps$1 } from 'element-plus';
@@ -3539,7 +3539,7 @@ var components = [
3539
3539
  EpLink
3540
3540
  ];
3541
3541
 
3542
- var version = "0.0.29";
3542
+ var version = "0.0.30";
3543
3543
 
3544
3544
  var globalProperties = {
3545
3545
  install(app) {
@@ -3563,7 +3563,7 @@ const useChooseDialog = (options = {}) => {
3563
3563
  multiple,
3564
3564
  ...rest
3565
3565
  } = options;
3566
- let selections = ref([]);
3566
+ const selections = ref([]);
3567
3567
  const showSingleSelectionCol = !multiple;
3568
3568
  const scopedSlots = {};
3569
3569
  if (!showSingleSelectionCol) {
@@ -64,6 +64,6 @@ export declare const formItemProps: {
64
64
  };
65
65
  };
66
66
  export type FormItemProps = ExtractPublicPropTypes<typeof formItemProps> & {
67
- [key: `on${string}`]: (...args: any[]) => any;
67
+ [key: `on${string}`]: ((...args: any[]) => any) | undefined;
68
68
  };
69
69
  export declare const expandFormItemPropsKeys: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"form-item.mjs","sources":["../../../../../../packages/components/form/src/form-item.ts"],"sourcesContent":["import { formItemProps as elFormItemProps } from 'element-plus'\nimport { visibleProps, disabledProps } from '@el-plus/utils/props'\nimport { CSSProperties } from 'vue'\nimport type {\n VNode,\n PropType,\n ExtractPropTypes,\n ExtractPublicPropTypes,\n} from 'vue'\nconst expandFormItemProps = {\n type: {\n type: String,\n default: 'EpInput',\n },\n col: Number,\n render: Function as PropType<(...args: any[]) => VNode>,\n labelRender: Function as PropType<\n ({ label }: { label: string | undefined }) => VNode\n >,\n props: Object,\n ...visibleProps,\n ...disabledProps,\n class: String,\n style: {\n type: [String, Object] as PropType<string | CSSProperties>,\n },\n isShowLabel: {\n type: Boolean,\n default: true,\n },\n hideRequiredAsterisk: Boolean,\n tableProp: String, // 用于table里的表单需要绑定的prop\n}\nexport const formItemProps = {\n ...elFormItemProps,\n ...expandFormItemProps,\n prop: String,\n} as const\nexport type FormItemProps = ExtractPublicPropTypes<typeof formItemProps> & {\n [key: `on${string}`]: (...args: any[]) => any\n}\nexport const expandFormItemPropsKeys = Object.keys(expandFormItemProps)\n"],"names":["elFormItemProps"],"mappings":";;;AASA,MAAM,mBAAA,GAAsB;AAAA,EAC1B,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,GAAA,EAAK,MAAA;AAAA,EACL,MAAA,EAAQ,QAAA;AAAA,EACR,WAAA,EAAa,QAAA;AAAA,EAGb,KAAA,EAAO,MAAA;AAAA,EACP,GAAG,YAAA;AAAA,EACH,GAAG,aAAA;AAAA,EACH,KAAA,EAAO,MAAA;AAAA,EACP,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM;AAAA,GACvB;AAAA,EACA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,oBAAA,EAAsB,OAAA;AAAA,EACtB,SAAA,EAAW;AAAA;AACb,CAAA;AACO,MAAM,aAAA,GAAgB;AAAA,EAC3B,GAAGA,eAAA;AAAA,EACH,GAAG,mBAAA;AAAA,EACH,IAAA,EAAM;AACR;AAIO,MAAM,uBAAA,GAA0B,MAAA,CAAO,IAAA,CAAK,mBAAmB;;;;"}
1
+ {"version":3,"file":"form-item.mjs","sources":["../../../../../../packages/components/form/src/form-item.ts"],"sourcesContent":["import { formItemProps as elFormItemProps } from 'element-plus'\nimport { visibleProps, disabledProps } from '@el-plus/utils/props'\nimport { CSSProperties } from 'vue'\nimport type {\n VNode,\n PropType,\n ExtractPropTypes,\n ExtractPublicPropTypes,\n} from 'vue'\nconst expandFormItemProps = {\n type: {\n type: String,\n default: 'EpInput',\n },\n col: Number,\n render: Function as PropType<(...args: any[]) => VNode>,\n labelRender: Function as PropType<\n ({ label }: { label: string | undefined }) => VNode\n >,\n props: Object,\n ...visibleProps,\n ...disabledProps,\n class: String,\n style: {\n type: [String, Object] as PropType<string | CSSProperties>,\n },\n isShowLabel: {\n type: Boolean,\n default: true,\n },\n hideRequiredAsterisk: Boolean,\n tableProp: String, // 用于table里的表单需要绑定的prop\n}\nexport const formItemProps = {\n ...elFormItemProps,\n ...expandFormItemProps,\n prop: String,\n} as const\nexport type FormItemProps = ExtractPublicPropTypes<typeof formItemProps> & {\n [key: `on${string}`]: ((...args: any[]) => any) | undefined\n}\nexport const expandFormItemPropsKeys = Object.keys(expandFormItemProps)\n"],"names":["elFormItemProps"],"mappings":";;;AASA,MAAM,mBAAA,GAAsB;AAAA,EAC1B,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,GAAA,EAAK,MAAA;AAAA,EACL,MAAA,EAAQ,QAAA;AAAA,EACR,WAAA,EAAa,QAAA;AAAA,EAGb,KAAA,EAAO,MAAA;AAAA,EACP,GAAG,YAAA;AAAA,EACH,GAAG,aAAA;AAAA,EACH,KAAA,EAAO,MAAA;AAAA,EACP,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM;AAAA,GACvB;AAAA,EACA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,oBAAA,EAAsB,OAAA;AAAA,EACtB,SAAA,EAAW;AAAA;AACb,CAAA;AACO,MAAM,aAAA,GAAgB;AAAA,EAC3B,GAAGA,eAAA;AAAA,EACH,GAAG,mBAAA;AAAA,EACH,IAAA,EAAM;AACR;AAIO,MAAM,uBAAA,GAA0B,MAAA,CAAO,IAAA,CAAK,mBAAmB;;;;"}
@@ -5,5 +5,5 @@ type Options = {
5
5
  dialogProps?: DialogOptions;
6
6
  multiple?: boolean;
7
7
  } & SearchListPageProps;
8
- export declare const useChooseDialog: (options?: Options) => import("el-plus/es").TemplatePromise<unknown, []>;
8
+ export declare const useChooseDialog: (options?: Options) => import("el-plus/es").TemplatePromise<any, []>;
9
9
  export {};
@@ -15,7 +15,7 @@ const useChooseDialog = (options = {}) => {
15
15
  multiple,
16
16
  ...rest
17
17
  } = options;
18
- let selections = ref([]);
18
+ const selections = ref([]);
19
19
  const showSingleSelectionCol = !multiple;
20
20
  const scopedSlots = {};
21
21
  if (!showSingleSelectionCol) {
@@ -1 +1 @@
1
- {"version":3,"file":"use-choose-dialog.mjs","sources":["../../../../../packages/hooks/dialog/use-choose-dialog.tsx"],"sourcesContent":["import { useDialog } from './use-dialog'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { EpSearchListPage } from '@el-plus/components/search-list-page'\nimport type { DialogOptions } from './use-dialog'\nimport type { SearchListPageProps } from '@el-plus/components/search-list-page'\nimport { reactive, ref, toRaw } from 'vue'\nconst bem = createNameSpace('choose-dialog')\nimport { useLocale } from '@el-plus/hooks/use-locale'\n\ntype Options = {\n title?: string\n dialogProps?: DialogOptions\n multiple?: boolean\n} & SearchListPageProps\nexport const useChooseDialog = (options: Options = {}) => {\n const { t } = useLocale()\n const { dialogProps, title, multiple, ...rest } = options\n let selections = ref([])\n const showSingleSelectionCol = !multiple\n const scopedSlots: DialogOptions['scopedSlots'] = {}\n if (!showSingleSelectionCol) {\n scopedSlots.footerPrepend = () => {\n return (\n <span class={bem.e('selected-count')}>\n {t('ep.chooseDialog.selected')}\n {selections.value.length}\n {t('ep.chooseDialog.unit')}\n </span>\n )\n }\n }\n return useDialog({\n class: bem.b(),\n width: '80%',\n showFooter: !showSingleSelectionCol,\n scopedSlots,\n title,\n onConfirm: (resolve) => {\n resolve(JSON.parse(JSON.stringify(selections)))\n },\n render: ({ resolve }) => {\n const formData = rest.formData || reactive({})\n return (\n <EpSearchListPage\n {...{\n showSelectionCol: multiple,\n showSingleSelectionCol,\n formData,\n ...rest,\n formProps: {\n col: 3,\n ...rest.formProps,\n },\n tableProps: {\n height: 300,\n onSelectionChange: (newSel) => {\n selections.value = newSel\n },\n onSingleSelectionChange: (newSel) => {\n selections.value = newSel\n resolve(toRaw(selections))\n },\n },\n }}\n />\n )\n },\n ...dialogProps,\n })\n}\n"],"names":["bem","createNameSpace","useChooseDialog","options","t","useLocale","dialogProps","title","multiple","rest","selections","ref","showSingleSelectionCol","scopedSlots","footerPrepend","_createVNode","e","value","length","useDialog","class","b","width","showFooter","onConfirm","resolve","JSON","parse","stringify","render","formData","reactive","EpSearchListPage","showSelectionCol","formProps","col","tableProps","height","onSelectionChange","newSel","onSingleSelectionChange","toRaw"],"mappings":";;;;;;AAMA,MAAMA,GAAAA,GAAMC,gBAAgB,eAAe,CAAA;AAQpC,MAAMC,eAAAA,GAAkBA,CAACC,OAAAA,GAAmB,EAAC,KAAM;AACxD,EAAA,MAAM;AAAA,IAAEC;AAAAA,MAAMC,SAAAA,EAAU;AACxB,EAAA,MAAM;AAAA,IAAEC,WAAAA;AAAAA,IAAaC,KAAAA;AAAAA,IAAOC,QAAAA;AAAAA,IAAU,GAAGC;AAAAA,GAAK,GAAIN,OAAAA;AAClD,EAAA,IAAIO,UAAAA,GAAaC,GAAAA,CAAI,EAAE,CAAA;AACvB,EAAA,MAAMC,yBAAyB,CAACJ,QAAAA;AAChC,EAAA,MAAMK,cAA4C,EAAC;AACnD,EAAA,IAAI,CAACD,sBAAAA,EAAwB;AAC3BC,IAAAA,WAAAA,CAAYC,gBAAgB,MAAM;AAChC,MAAA,OAAAC,YAAA,MAAA,EAAA;AAAA,QAAA,OAAA,EACef,GAAAA,CAAIgB,CAAAA,CAAE,gBAAgB;AAAA,OAAC,EAAA,CACjCZ,CAAAA,CAAE,0BAA0B,CAAA,EAC5BM,UAAAA,CAAWO,KAAAA,CAAMC,MAAAA,EACjBd,CAAAA,CAAE,sBAAsB,CAAC,CAAA,CAAA;AAAA,IAGhC,CAAA;AAAA,EACF;AACA,EAAA,OAAOe,SAAAA,CAAU;AAAA,IACfC,KAAAA,EAAOpB,IAAIqB,CAAAA,EAAE;AAAA,IACbC,KAAAA,EAAO,KAAA;AAAA,IACPC,YAAY,CAACX,sBAAAA;AAAAA,IACbC,WAAAA;AAAAA,IACAN,KAAAA;AAAAA,IACAiB,WAAYC,CAAAA,OAAAA,KAAY;AACtBA,MAAAA,OAAAA,CAAQC,KAAKC,KAAAA,CAAMD,IAAAA,CAAKE,SAAAA,CAAUlB,UAAU,CAAC,CAAC,CAAA;AAAA,IAChD,CAAA;AAAA,IACAmB,QAAQA,CAAC;AAAA,MAAEJ;AAAAA,KAAQ,KAAM;AACvB,MAAA,MAAMK,QAAAA,GAAWrB,IAAAA,CAAKqB,QAAAA,IAAYC,QAAAA,CAAS,EAAE,CAAA;AAC7C,MAAA,OAAAhB,YAAAiB,gBAAAA,EAAA;AAAA,QAGMC,gBAAAA,EAAkBzB,QAAAA;AAAAA,QAClBI,sBAAAA;AAAAA,QACAkB,QAAAA;AAAAA,QACA,GAAGrB,IAAAA;AAAAA,QACHyB,SAAAA,EAAW;AAAA,UACTC,GAAAA,EAAK,CAAA;AAAA,UACL,GAAG1B,IAAAA,CAAKyB;AAAAA,SACV;AAAA,QACAE,UAAAA,EAAY;AAAA,UACVC,MAAAA,EAAQ,GAAA;AAAA,UACRC,mBAAoBC,CAAAA,MAAAA,KAAW;AAC7B7B,YAAAA,UAAAA,CAAWO,KAAAA,GAAQsB,MAAAA;AAAAA,UACrB,CAAA;AAAA,UACAC,yBAA0BD,CAAAA,MAAAA,KAAW;AACnC7B,YAAAA,UAAAA,CAAWO,KAAAA,GAAQsB,MAAAA;AACnBd,YAAAA,OAAAA,CAAQgB,KAAAA,CAAM/B,UAAU,CAAC,CAAA;AAAA,UAC3B;AAAA;AACF,SAAC,IAAA,CAAA;AAAA,IAIT,CAAA;AAAA,IACA,GAAGJ;AAAAA,GACJ,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"use-choose-dialog.mjs","sources":["../../../../../packages/hooks/dialog/use-choose-dialog.tsx"],"sourcesContent":["import { useDialog } from './use-dialog'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { EpSearchListPage } from '@el-plus/components/search-list-page'\nimport type { DialogOptions } from './use-dialog'\nimport type { SearchListPageProps } from '@el-plus/components/search-list-page'\nimport { reactive, ref, toRaw } from 'vue'\nconst bem = createNameSpace('choose-dialog')\nimport { useLocale } from '@el-plus/hooks/use-locale'\n\ntype Options = {\n title?: string\n dialogProps?: DialogOptions\n multiple?: boolean\n} & SearchListPageProps\nexport const useChooseDialog = (options: Options = {}) => {\n const { t } = useLocale()\n const { dialogProps, title, multiple, ...rest } = options\n const selections = ref([])\n const showSingleSelectionCol = !multiple\n const scopedSlots: DialogOptions['scopedSlots'] = {}\n if (!showSingleSelectionCol) {\n scopedSlots.footerPrepend = () => {\n return (\n <span class={bem.e('selected-count')}>\n {t('ep.chooseDialog.selected')}\n {selections.value.length}\n {t('ep.chooseDialog.unit')}\n </span>\n )\n }\n }\n return useDialog({\n class: bem.b(),\n width: '80%',\n showFooter: !showSingleSelectionCol,\n scopedSlots,\n title,\n onConfirm: (resolve) => {\n resolve(JSON.parse(JSON.stringify(selections)))\n },\n render: ({ resolve }) => {\n const formData = rest.formData || reactive({})\n return (\n <EpSearchListPage\n {...{\n showSelectionCol: multiple,\n showSingleSelectionCol,\n formData,\n ...rest,\n formProps: {\n col: 3,\n ...rest.formProps,\n },\n tableProps: {\n height: 300,\n onSelectionChange: (newSel) => {\n selections.value = newSel\n },\n onSingleSelectionChange: (newSel) => {\n selections.value = newSel\n resolve(toRaw(selections))\n },\n },\n }}\n />\n )\n },\n ...dialogProps,\n })\n}\n"],"names":["bem","createNameSpace","useChooseDialog","options","t","useLocale","dialogProps","title","multiple","rest","selections","ref","showSingleSelectionCol","scopedSlots","footerPrepend","_createVNode","e","value","length","useDialog","class","b","width","showFooter","onConfirm","resolve","JSON","parse","stringify","render","formData","reactive","EpSearchListPage","showSelectionCol","formProps","col","tableProps","height","onSelectionChange","newSel","onSingleSelectionChange","toRaw"],"mappings":";;;;;;AAMA,MAAMA,GAAAA,GAAMC,gBAAgB,eAAe,CAAA;AAQpC,MAAMC,eAAAA,GAAkBA,CAACC,OAAAA,GAAmB,EAAC,KAAM;AACxD,EAAA,MAAM;AAAA,IAAEC;AAAAA,MAAMC,SAAAA,EAAU;AACxB,EAAA,MAAM;AAAA,IAAEC,WAAAA;AAAAA,IAAaC,KAAAA;AAAAA,IAAOC,QAAAA;AAAAA,IAAU,GAAGC;AAAAA,GAAK,GAAIN,OAAAA;AAClD,EAAA,MAAMO,UAAAA,GAAaC,GAAAA,CAAI,EAAE,CAAA;AACzB,EAAA,MAAMC,yBAAyB,CAACJ,QAAAA;AAChC,EAAA,MAAMK,cAA4C,EAAC;AACnD,EAAA,IAAI,CAACD,sBAAAA,EAAwB;AAC3BC,IAAAA,WAAAA,CAAYC,gBAAgB,MAAM;AAChC,MAAA,OAAAC,YAAA,MAAA,EAAA;AAAA,QAAA,OAAA,EACef,GAAAA,CAAIgB,CAAAA,CAAE,gBAAgB;AAAA,OAAC,EAAA,CACjCZ,CAAAA,CAAE,0BAA0B,CAAA,EAC5BM,UAAAA,CAAWO,KAAAA,CAAMC,MAAAA,EACjBd,CAAAA,CAAE,sBAAsB,CAAC,CAAA,CAAA;AAAA,IAGhC,CAAA;AAAA,EACF;AACA,EAAA,OAAOe,SAAAA,CAAU;AAAA,IACfC,KAAAA,EAAOpB,IAAIqB,CAAAA,EAAE;AAAA,IACbC,KAAAA,EAAO,KAAA;AAAA,IACPC,YAAY,CAACX,sBAAAA;AAAAA,IACbC,WAAAA;AAAAA,IACAN,KAAAA;AAAAA,IACAiB,WAAYC,CAAAA,OAAAA,KAAY;AACtBA,MAAAA,OAAAA,CAAQC,KAAKC,KAAAA,CAAMD,IAAAA,CAAKE,SAAAA,CAAUlB,UAAU,CAAC,CAAC,CAAA;AAAA,IAChD,CAAA;AAAA,IACAmB,QAAQA,CAAC;AAAA,MAAEJ;AAAAA,KAAQ,KAAM;AACvB,MAAA,MAAMK,QAAAA,GAAWrB,IAAAA,CAAKqB,QAAAA,IAAYC,QAAAA,CAAS,EAAE,CAAA;AAC7C,MAAA,OAAAhB,YAAAiB,gBAAAA,EAAA;AAAA,QAGMC,gBAAAA,EAAkBzB,QAAAA;AAAAA,QAClBI,sBAAAA;AAAAA,QACAkB,QAAAA;AAAAA,QACA,GAAGrB,IAAAA;AAAAA,QACHyB,SAAAA,EAAW;AAAA,UACTC,GAAAA,EAAK,CAAA;AAAA,UACL,GAAG1B,IAAAA,CAAKyB;AAAAA,SACV;AAAA,QACAE,UAAAA,EAAY;AAAA,UACVC,MAAAA,EAAQ,GAAA;AAAA,UACRC,mBAAoBC,CAAAA,MAAAA,KAAW;AAC7B7B,YAAAA,UAAAA,CAAWO,KAAAA,GAAQsB,MAAAA;AAAAA,UACrB,CAAA;AAAA,UACAC,yBAA0BD,CAAAA,MAAAA,KAAW;AACnC7B,YAAAA,UAAAA,CAAWO,KAAAA,GAAQsB,MAAAA;AACnBd,YAAAA,OAAAA,CAAQgB,KAAAA,CAAM/B,UAAU,CAAC,CAAA;AAAA,UAC3B;AAAA;AACF,SAAC,IAAA,CAAA;AAAA,IAIT,CAAA;AAAA,IACA,GAAGJ;AAAAA,GACJ,CAAA;AACH;;;;"}
@@ -14,4 +14,4 @@ export type ExpandDialogOptions = {
14
14
  title?: string;
15
15
  dialogProps?: DialogOptions;
16
16
  };
17
- export declare const useDialog: (options?: DialogOptions) => import("../use-template-promise").TemplatePromise<unknown, []>;
17
+ export declare const useDialog: (options?: DialogOptions) => import("../use-template-promise").TemplatePromise<any, []>;
@@ -1 +1 @@
1
- {"version":3,"file":"use-dialog.mjs","sources":["../../../../../packages/hooks/dialog/use-dialog.tsx"],"sourcesContent":["import { useTemplatePromise } from '../use-template-promise'\nimport {\n h,\n getCurrentInstance,\n render as vRender,\n markRaw,\n ref,\n useTemplateRef,\n inject,\n} from 'vue'\nimport type { ComponentInternalInstance } from 'vue'\nimport {\n ElDialog,\n ElButton,\n configProviderContextKey,\n ElConfigProvider,\n} from 'element-plus'\nimport type { AppContext, VNode } from 'vue'\nimport type { DialogProps } from 'element-plus'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport EpForm from '@el-plus/components/form'\nimport type { FormProps } from '@el-plus/components/form'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { useLocale } from '../use-locale'\n\nexport type DialogOptions = Partial<\n DialogProps & {\n instance: ComponentInternalInstance | null\n render: (props) => VNode\n scopedSlots: Record<string, (props) => VNode>\n class: string\n onCancel: (reject) => void\n onConfirm: (resolve) => void\n showFooter: boolean\n }\n>\nexport type ExpandDialogOptions = {\n title?: string\n dialogProps?: DialogOptions\n}\nconst bem = createNameSpace('dialog')\n\nexport const useDialog = (options: DialogOptions = {}) => {\n const { t } = useLocale()\n const {\n scopedSlots = {},\n instance,\n render,\n destroyOnClose,\n onConfirm,\n onCancel,\n showFooter = true,\n ...dialogProps\n } = options\n\n const Dialog = useTemplatePromise({\n destroy: destroyOnClose,\n render: (promiseOptions, ctx) => {\n // 插槽参数增加promiseOptions\n for (const key in scopedSlots) {\n scopedSlots[key] = scopedSlots[key].bind(null, promiseOptions)\n }\n const { resolve, reject, isResolving } = promiseOptions\n const renderFunc = () => {\n return render\n ? render(promiseOptions)\n : ctx.slots.default?.(promiseOptions)\n }\n const slots: DialogOptions['scopedSlots'] = {}\n if (showFooter) {\n slots.footer = () => (\n <div class={bem.e('footer')}>\n {scopedSlots.footerPrepend?.(promiseOptions)}\n <ElButton\n size=\"default\"\n onClick={() => {\n if (onCancel) {\n onCancel(reject)\n } else {\n reject('cancel')\n }\n }}\n >\n {t('ep.dialog.cancel')}\n </ElButton>\n {scopedSlots.footerInner?.(promiseOptions)}\n <ElButton\n type=\"primary\"\n onClick={async () => {\n if (onConfirm) {\n onConfirm(resolve)\n } else {\n resolve('confirm')\n }\n }}\n loading={isResolving}\n >\n {t('ep.dialog.confirm')}\n </ElButton>\n {scopedSlots.footerAppend?.(promiseOptions)}\n </div>\n )\n }\n return (\n <ElDialog\n class={bem.b()}\n modelValue={true}\n {...{\n closeOnClickModal: false,\n closeOnPressEscape: false,\n title: t('ep.dialog.title'),\n center: false,\n // 'append-to-body': true,\n beforeClose: () => {\n reject('cancel')\n },\n ...prepareProps(dialogProps, ['modelValue']),\n }}\n v-slots={{\n ...slots,\n ...scopedSlots,\n }}\n >\n {renderFunc()}\n </ElDialog>\n )\n },\n })\n if (render) {\n // const app = createApp(component)\n // Object.assign(app._context, parentInstance.appContext)\n // app.mount(container)\n const container = document.createElement('div')\n // container.setAttribute('id', 'ep-dialog-container')\n const newInstance = instance || getCurrentInstance()\n const config = inject(configProviderContextKey) as any\n // const parentConfig =\n // newInstance?.provides[configProviderContextKey] ||\n // newInstance?.appContext?.provides[configProviderContextKey]\n // const vnode = h(Dialog)\n const vnode = h(\n ElConfigProvider,\n { locale: config?.locale },\n { default: () => h(Dialog) },\n )\n if (newInstance && newInstance.appContext) {\n // 强制继承父应用的全局组件、指令和插件\n vnode.appContext = newInstance.appContext\n }\n vRender(vnode, container)\n document.body.appendChild(container)\n }\n\n return Dialog\n}\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","bem","createNameSpace","useDialog","options","t","useLocale","scopedSlots","instance","render","destroyOnClose","onConfirm","onCancel","showFooter","dialogProps","Dialog","useTemplatePromise","destroy","promiseOptions","ctx","key","bind","resolve","reject","isResolving","renderFunc","slots","default","footer","_slot","_slot2","_createVNode","e","footerPrepend","ElButton","onClick","footerInner","footerAppend","ElDialog","_mergeProps","b","closeOnClickModal","closeOnPressEscape","title","center","beforeClose","prepareProps","container","document","createElement","newInstance","getCurrentInstance","config","inject","configProviderContextKey","vnode","h","ElConfigProvider","locale","appContext","vRender","body","appendChild"],"mappings":"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"}
1
+ {"version":3,"file":"use-dialog.mjs","sources":["../../../../../packages/hooks/dialog/use-dialog.tsx"],"sourcesContent":["import { useTemplatePromise } from '../use-template-promise'\nimport {\n h,\n getCurrentInstance,\n render as vRender,\n markRaw,\n ref,\n useTemplateRef,\n inject,\n} from 'vue'\nimport type { ComponentInternalInstance } from 'vue'\nimport {\n ElDialog,\n ElButton,\n configProviderContextKey,\n ElConfigProvider,\n} from 'element-plus'\nimport type { AppContext, VNode } from 'vue'\nimport type { DialogProps } from 'element-plus'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport EpForm from '@el-plus/components/form'\nimport type { FormProps } from '@el-plus/components/form'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { useLocale } from '../use-locale'\n\nexport type DialogOptions = Partial<\n DialogProps & {\n instance: ComponentInternalInstance | null\n render: (props) => VNode\n scopedSlots: Record<string, (props) => VNode>\n class: string\n onCancel: (reject) => void\n onConfirm: (resolve) => void\n showFooter: boolean\n }\n>\nexport type ExpandDialogOptions = {\n title?: string\n dialogProps?: DialogOptions\n}\nconst bem = createNameSpace('dialog')\n\nexport const useDialog = (options: DialogOptions = {}) => {\n const { t } = useLocale()\n const {\n scopedSlots = {},\n instance,\n render,\n destroyOnClose,\n onConfirm,\n onCancel,\n showFooter = true,\n ...dialogProps\n } = options\n\n const Dialog = useTemplatePromise<any>({\n destroy: destroyOnClose,\n render: (promiseOptions, ctx) => {\n // 插槽参数增加promiseOptions\n for (const key in scopedSlots) {\n scopedSlots[key] = scopedSlots[key].bind(null, promiseOptions)\n }\n const { resolve, reject, isResolving } = promiseOptions\n const renderFunc = () => {\n return render\n ? render(promiseOptions)\n : ctx.slots.default?.(promiseOptions)\n }\n const slots: DialogOptions['scopedSlots'] = {}\n if (showFooter) {\n slots.footer = () => (\n <div class={bem.e('footer')}>\n {scopedSlots.footerPrepend?.(promiseOptions)}\n <ElButton\n size=\"default\"\n onClick={() => {\n if (onCancel) {\n onCancel(reject)\n } else {\n reject('cancel')\n }\n }}\n >\n {t('ep.dialog.cancel')}\n </ElButton>\n {scopedSlots.footerInner?.(promiseOptions)}\n <ElButton\n type=\"primary\"\n onClick={async () => {\n if (onConfirm) {\n onConfirm(resolve)\n } else {\n resolve('confirm')\n }\n }}\n loading={isResolving}\n >\n {t('ep.dialog.confirm')}\n </ElButton>\n {scopedSlots.footerAppend?.(promiseOptions)}\n </div>\n )\n }\n return (\n <ElDialog\n class={bem.b()}\n modelValue={true}\n {...{\n closeOnClickModal: false,\n closeOnPressEscape: false,\n title: t('ep.dialog.title'),\n center: false,\n // 'append-to-body': true,\n beforeClose: () => {\n reject('cancel')\n },\n ...prepareProps(dialogProps, ['modelValue']),\n }}\n v-slots={{\n ...slots,\n ...scopedSlots,\n }}\n >\n {renderFunc()}\n </ElDialog>\n )\n },\n })\n if (render) {\n // const app = createApp(component)\n // Object.assign(app._context, parentInstance.appContext)\n // app.mount(container)\n const container = document.createElement('div')\n // container.setAttribute('id', 'ep-dialog-container')\n const newInstance = instance || getCurrentInstance()\n const config = inject(configProviderContextKey) as any\n // const parentConfig =\n // newInstance?.provides[configProviderContextKey] ||\n // newInstance?.appContext?.provides[configProviderContextKey]\n // const vnode = h(Dialog)\n const vnode = h(\n ElConfigProvider,\n { locale: config?.locale },\n { default: () => h(Dialog) },\n )\n if (newInstance && newInstance.appContext) {\n // 强制继承父应用的全局组件、指令和插件\n vnode.appContext = newInstance.appContext\n }\n vRender(vnode, container)\n document.body.appendChild(container)\n }\n\n return Dialog\n}\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","bem","createNameSpace","useDialog","options","t","useLocale","scopedSlots","instance","render","destroyOnClose","onConfirm","onCancel","showFooter","dialogProps","Dialog","useTemplatePromise","destroy","promiseOptions","ctx","key","bind","resolve","reject","isResolving","renderFunc","slots","default","footer","_slot","_slot2","_createVNode","e","footerPrepend","ElButton","onClick","footerInner","footerAppend","ElDialog","_mergeProps","b","closeOnClickModal","closeOnPressEscape","title","center","beforeClose","prepareProps","container","document","createElement","newInstance","getCurrentInstance","config","inject","configProviderContextKey","vnode","h","ElConfigProvider","locale","appContext","vRender","body","appendChild"],"mappings":"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"}
@@ -5,5 +5,5 @@ type Options = {
5
5
  dialogProps?: DialogOptions;
6
6
  formData?: FormProps['model'];
7
7
  } & FormProps;
8
- export declare const useFormDialog: (options?: Options) => import("el-plus/es").TemplatePromise<unknown, []>;
8
+ export declare const useFormDialog: (options?: Options) => import("el-plus/es").TemplatePromise<any, []>;
9
9
  export {};
@@ -1,4 +1,4 @@
1
- var version = "0.0.29";
1
+ var version = "0.0.30";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=package.json.mjs.map
@@ -64,6 +64,6 @@ export declare const formItemProps: {
64
64
  };
65
65
  };
66
66
  export type FormItemProps = ExtractPublicPropTypes<typeof formItemProps> & {
67
- [key: `on${string}`]: (...args: any[]) => any;
67
+ [key: `on${string}`]: ((...args: any[]) => any) | undefined;
68
68
  };
69
69
  export declare const expandFormItemPropsKeys: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"form-item.js","sources":["../../../../../../packages/components/form/src/form-item.ts"],"sourcesContent":["import { formItemProps as elFormItemProps } from 'element-plus'\nimport { visibleProps, disabledProps } from '@el-plus/utils/props'\nimport { CSSProperties } from 'vue'\nimport type {\n VNode,\n PropType,\n ExtractPropTypes,\n ExtractPublicPropTypes,\n} from 'vue'\nconst expandFormItemProps = {\n type: {\n type: String,\n default: 'EpInput',\n },\n col: Number,\n render: Function as PropType<(...args: any[]) => VNode>,\n labelRender: Function as PropType<\n ({ label }: { label: string | undefined }) => VNode\n >,\n props: Object,\n ...visibleProps,\n ...disabledProps,\n class: String,\n style: {\n type: [String, Object] as PropType<string | CSSProperties>,\n },\n isShowLabel: {\n type: Boolean,\n default: true,\n },\n hideRequiredAsterisk: Boolean,\n tableProp: String, // 用于table里的表单需要绑定的prop\n}\nexport const formItemProps = {\n ...elFormItemProps,\n ...expandFormItemProps,\n prop: String,\n} as const\nexport type FormItemProps = ExtractPublicPropTypes<typeof formItemProps> & {\n [key: `on${string}`]: (...args: any[]) => any\n}\nexport const expandFormItemPropsKeys = Object.keys(expandFormItemProps)\n"],"names":["visibleProps","disabledProps","elFormItemProps"],"mappings":";;;;;AASA,MAAM,mBAAA,GAAsB;AAAA,EAC1B,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,GAAA,EAAK,MAAA;AAAA,EACL,MAAA,EAAQ,QAAA;AAAA,EACR,WAAA,EAAa,QAAA;AAAA,EAGb,KAAA,EAAO,MAAA;AAAA,EACP,GAAGA,kBAAA;AAAA,EACH,GAAGC,mBAAA;AAAA,EACH,KAAA,EAAO,MAAA;AAAA,EACP,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM;AAAA,GACvB;AAAA,EACA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,oBAAA,EAAsB,OAAA;AAAA,EACtB,SAAA,EAAW;AAAA;AACb,CAAA;AACO,MAAM,aAAA,GAAgB;AAAA,EAC3B,GAAGC,yBAAA;AAAA,EACH,GAAG,mBAAA;AAAA,EACH,IAAA,EAAM;AACR;AAIO,MAAM,uBAAA,GAA0B,MAAA,CAAO,IAAA,CAAK,mBAAmB;;;;;"}
1
+ {"version":3,"file":"form-item.js","sources":["../../../../../../packages/components/form/src/form-item.ts"],"sourcesContent":["import { formItemProps as elFormItemProps } from 'element-plus'\nimport { visibleProps, disabledProps } from '@el-plus/utils/props'\nimport { CSSProperties } from 'vue'\nimport type {\n VNode,\n PropType,\n ExtractPropTypes,\n ExtractPublicPropTypes,\n} from 'vue'\nconst expandFormItemProps = {\n type: {\n type: String,\n default: 'EpInput',\n },\n col: Number,\n render: Function as PropType<(...args: any[]) => VNode>,\n labelRender: Function as PropType<\n ({ label }: { label: string | undefined }) => VNode\n >,\n props: Object,\n ...visibleProps,\n ...disabledProps,\n class: String,\n style: {\n type: [String, Object] as PropType<string | CSSProperties>,\n },\n isShowLabel: {\n type: Boolean,\n default: true,\n },\n hideRequiredAsterisk: Boolean,\n tableProp: String, // 用于table里的表单需要绑定的prop\n}\nexport const formItemProps = {\n ...elFormItemProps,\n ...expandFormItemProps,\n prop: String,\n} as const\nexport type FormItemProps = ExtractPublicPropTypes<typeof formItemProps> & {\n [key: `on${string}`]: ((...args: any[]) => any) | undefined\n}\nexport const expandFormItemPropsKeys = Object.keys(expandFormItemProps)\n"],"names":["visibleProps","disabledProps","elFormItemProps"],"mappings":";;;;;AASA,MAAM,mBAAA,GAAsB;AAAA,EAC1B,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,GAAA,EAAK,MAAA;AAAA,EACL,MAAA,EAAQ,QAAA;AAAA,EACR,WAAA,EAAa,QAAA;AAAA,EAGb,KAAA,EAAO,MAAA;AAAA,EACP,GAAGA,kBAAA;AAAA,EACH,GAAGC,mBAAA;AAAA,EACH,KAAA,EAAO,MAAA;AAAA,EACP,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM;AAAA,GACvB;AAAA,EACA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,oBAAA,EAAsB,OAAA;AAAA,EACtB,SAAA,EAAW;AAAA;AACb,CAAA;AACO,MAAM,aAAA,GAAgB;AAAA,EAC3B,GAAGC,yBAAA;AAAA,EACH,GAAG,mBAAA;AAAA,EACH,IAAA,EAAM;AACR;AAIO,MAAM,uBAAA,GAA0B,MAAA,CAAO,IAAA,CAAK,mBAAmB;;;;;"}
@@ -5,5 +5,5 @@ type Options = {
5
5
  dialogProps?: DialogOptions;
6
6
  multiple?: boolean;
7
7
  } & SearchListPageProps;
8
- export declare const useChooseDialog: (options?: Options) => import("el-plus/es").TemplatePromise<unknown, []>;
8
+ export declare const useChooseDialog: (options?: Options) => import("el-plus/es").TemplatePromise<any, []>;
9
9
  export {};
@@ -17,7 +17,7 @@ const useChooseDialog = (options = {}) => {
17
17
  multiple,
18
18
  ...rest
19
19
  } = options;
20
- let selections = vue.ref([]);
20
+ const selections = vue.ref([]);
21
21
  const showSingleSelectionCol = !multiple;
22
22
  const scopedSlots = {};
23
23
  if (!showSingleSelectionCol) {
@@ -1 +1 @@
1
- {"version":3,"file":"use-choose-dialog.js","sources":["../../../../../packages/hooks/dialog/use-choose-dialog.tsx"],"sourcesContent":["import { useDialog } from './use-dialog'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { EpSearchListPage } from '@el-plus/components/search-list-page'\nimport type { DialogOptions } from './use-dialog'\nimport type { SearchListPageProps } from '@el-plus/components/search-list-page'\nimport { reactive, ref, toRaw } from 'vue'\nconst bem = createNameSpace('choose-dialog')\nimport { useLocale } from '@el-plus/hooks/use-locale'\n\ntype Options = {\n title?: string\n dialogProps?: DialogOptions\n multiple?: boolean\n} & SearchListPageProps\nexport const useChooseDialog = (options: Options = {}) => {\n const { t } = useLocale()\n const { dialogProps, title, multiple, ...rest } = options\n let selections = ref([])\n const showSingleSelectionCol = !multiple\n const scopedSlots: DialogOptions['scopedSlots'] = {}\n if (!showSingleSelectionCol) {\n scopedSlots.footerPrepend = () => {\n return (\n <span class={bem.e('selected-count')}>\n {t('ep.chooseDialog.selected')}\n {selections.value.length}\n {t('ep.chooseDialog.unit')}\n </span>\n )\n }\n }\n return useDialog({\n class: bem.b(),\n width: '80%',\n showFooter: !showSingleSelectionCol,\n scopedSlots,\n title,\n onConfirm: (resolve) => {\n resolve(JSON.parse(JSON.stringify(selections)))\n },\n render: ({ resolve }) => {\n const formData = rest.formData || reactive({})\n return (\n <EpSearchListPage\n {...{\n showSelectionCol: multiple,\n showSingleSelectionCol,\n formData,\n ...rest,\n formProps: {\n col: 3,\n ...rest.formProps,\n },\n tableProps: {\n height: 300,\n onSelectionChange: (newSel) => {\n selections.value = newSel\n },\n onSingleSelectionChange: (newSel) => {\n selections.value = newSel\n resolve(toRaw(selections))\n },\n },\n }}\n />\n )\n },\n ...dialogProps,\n })\n}\n"],"names":["bem","createNameSpace","useChooseDialog","options","t","useLocale","dialogProps","title","multiple","rest","selections","ref","showSingleSelectionCol","scopedSlots","footerPrepend","_createVNode","e","value","length","useDialog","class","b","width","showFooter","onConfirm","resolve","JSON","parse","stringify","render","formData","reactive","EpSearchListPage","showSelectionCol","formProps","col","tableProps","height","onSelectionChange","newSel","onSingleSelectionChange","toRaw"],"mappings":";;;;;;;;AAMA,MAAMA,GAAAA,GAAMC,sBAAgB,eAAe,CAAA;AAQpC,MAAMC,eAAAA,GAAkBA,CAACC,OAAAA,GAAmB,EAAC,KAAM;AACxD,EAAA,MAAM;AAAA,IAAEC;AAAAA,MAAMC,mBAAAA,EAAU;AACxB,EAAA,MAAM;AAAA,IAAEC,WAAAA;AAAAA,IAAaC,KAAAA;AAAAA,IAAOC,QAAAA;AAAAA,IAAU,GAAGC;AAAAA,GAAK,GAAIN,OAAAA;AAClD,EAAA,IAAIO,UAAAA,GAAaC,OAAAA,CAAI,EAAE,CAAA;AACvB,EAAA,MAAMC,yBAAyB,CAACJ,QAAAA;AAChC,EAAA,MAAMK,cAA4C,EAAC;AACnD,EAAA,IAAI,CAACD,sBAAAA,EAAwB;AAC3BC,IAAAA,WAAAA,CAAYC,gBAAgB,MAAM;AAChC,MAAA,OAAAC,gBAAA,MAAA,EAAA;AAAA,QAAA,OAAA,EACef,GAAAA,CAAIgB,CAAAA,CAAE,gBAAgB;AAAA,OAAC,EAAA,CACjCZ,CAAAA,CAAE,0BAA0B,CAAA,EAC5BM,UAAAA,CAAWO,KAAAA,CAAMC,MAAAA,EACjBd,CAAAA,CAAE,sBAAsB,CAAC,CAAA,CAAA;AAAA,IAGhC,CAAA;AAAA,EACF;AACA,EAAA,OAAOe,mBAAAA,CAAU;AAAA,IACfC,KAAAA,EAAOpB,IAAIqB,CAAAA,EAAE;AAAA,IACbC,KAAAA,EAAO,KAAA;AAAA,IACPC,YAAY,CAACX,sBAAAA;AAAAA,IACbC,WAAAA;AAAAA,IACAN,KAAAA;AAAAA,IACAiB,WAAYC,CAAAA,OAAAA,KAAY;AACtBA,MAAAA,OAAAA,CAAQC,KAAKC,KAAAA,CAAMD,IAAAA,CAAKE,SAAAA,CAAUlB,UAAU,CAAC,CAAC,CAAA;AAAA,IAChD,CAAA;AAAA,IACAmB,QAAQA,CAAC;AAAA,MAAEJ;AAAAA,KAAQ,KAAM;AACvB,MAAA,MAAMK,QAAAA,GAAWrB,IAAAA,CAAKqB,QAAAA,IAAYC,YAAAA,CAAS,EAAE,CAAA;AAC7C,MAAA,OAAAhB,gBAAAiB,sBAAAA,EAAA;AAAA,QAGMC,gBAAAA,EAAkBzB,QAAAA;AAAAA,QAClBI,sBAAAA;AAAAA,QACAkB,QAAAA;AAAAA,QACA,GAAGrB,IAAAA;AAAAA,QACHyB,SAAAA,EAAW;AAAA,UACTC,GAAAA,EAAK,CAAA;AAAA,UACL,GAAG1B,IAAAA,CAAKyB;AAAAA,SACV;AAAA,QACAE,UAAAA,EAAY;AAAA,UACVC,MAAAA,EAAQ,GAAA;AAAA,UACRC,mBAAoBC,CAAAA,MAAAA,KAAW;AAC7B7B,YAAAA,UAAAA,CAAWO,KAAAA,GAAQsB,MAAAA;AAAAA,UACrB,CAAA;AAAA,UACAC,yBAA0BD,CAAAA,MAAAA,KAAW;AACnC7B,YAAAA,UAAAA,CAAWO,KAAAA,GAAQsB,MAAAA;AACnBd,YAAAA,OAAAA,CAAQgB,SAAAA,CAAM/B,UAAU,CAAC,CAAA;AAAA,UAC3B;AAAA;AACF,SAAC,IAAA,CAAA;AAAA,IAIT,CAAA;AAAA,IACA,GAAGJ;AAAAA,GACJ,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"use-choose-dialog.js","sources":["../../../../../packages/hooks/dialog/use-choose-dialog.tsx"],"sourcesContent":["import { useDialog } from './use-dialog'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { EpSearchListPage } from '@el-plus/components/search-list-page'\nimport type { DialogOptions } from './use-dialog'\nimport type { SearchListPageProps } from '@el-plus/components/search-list-page'\nimport { reactive, ref, toRaw } from 'vue'\nconst bem = createNameSpace('choose-dialog')\nimport { useLocale } from '@el-plus/hooks/use-locale'\n\ntype Options = {\n title?: string\n dialogProps?: DialogOptions\n multiple?: boolean\n} & SearchListPageProps\nexport const useChooseDialog = (options: Options = {}) => {\n const { t } = useLocale()\n const { dialogProps, title, multiple, ...rest } = options\n const selections = ref([])\n const showSingleSelectionCol = !multiple\n const scopedSlots: DialogOptions['scopedSlots'] = {}\n if (!showSingleSelectionCol) {\n scopedSlots.footerPrepend = () => {\n return (\n <span class={bem.e('selected-count')}>\n {t('ep.chooseDialog.selected')}\n {selections.value.length}\n {t('ep.chooseDialog.unit')}\n </span>\n )\n }\n }\n return useDialog({\n class: bem.b(),\n width: '80%',\n showFooter: !showSingleSelectionCol,\n scopedSlots,\n title,\n onConfirm: (resolve) => {\n resolve(JSON.parse(JSON.stringify(selections)))\n },\n render: ({ resolve }) => {\n const formData = rest.formData || reactive({})\n return (\n <EpSearchListPage\n {...{\n showSelectionCol: multiple,\n showSingleSelectionCol,\n formData,\n ...rest,\n formProps: {\n col: 3,\n ...rest.formProps,\n },\n tableProps: {\n height: 300,\n onSelectionChange: (newSel) => {\n selections.value = newSel\n },\n onSingleSelectionChange: (newSel) => {\n selections.value = newSel\n resolve(toRaw(selections))\n },\n },\n }}\n />\n )\n },\n ...dialogProps,\n })\n}\n"],"names":["bem","createNameSpace","useChooseDialog","options","t","useLocale","dialogProps","title","multiple","rest","selections","ref","showSingleSelectionCol","scopedSlots","footerPrepend","_createVNode","e","value","length","useDialog","class","b","width","showFooter","onConfirm","resolve","JSON","parse","stringify","render","formData","reactive","EpSearchListPage","showSelectionCol","formProps","col","tableProps","height","onSelectionChange","newSel","onSingleSelectionChange","toRaw"],"mappings":";;;;;;;;AAMA,MAAMA,GAAAA,GAAMC,sBAAgB,eAAe,CAAA;AAQpC,MAAMC,eAAAA,GAAkBA,CAACC,OAAAA,GAAmB,EAAC,KAAM;AACxD,EAAA,MAAM;AAAA,IAAEC;AAAAA,MAAMC,mBAAAA,EAAU;AACxB,EAAA,MAAM;AAAA,IAAEC,WAAAA;AAAAA,IAAaC,KAAAA;AAAAA,IAAOC,QAAAA;AAAAA,IAAU,GAAGC;AAAAA,GAAK,GAAIN,OAAAA;AAClD,EAAA,MAAMO,UAAAA,GAAaC,OAAAA,CAAI,EAAE,CAAA;AACzB,EAAA,MAAMC,yBAAyB,CAACJ,QAAAA;AAChC,EAAA,MAAMK,cAA4C,EAAC;AACnD,EAAA,IAAI,CAACD,sBAAAA,EAAwB;AAC3BC,IAAAA,WAAAA,CAAYC,gBAAgB,MAAM;AAChC,MAAA,OAAAC,gBAAA,MAAA,EAAA;AAAA,QAAA,OAAA,EACef,GAAAA,CAAIgB,CAAAA,CAAE,gBAAgB;AAAA,OAAC,EAAA,CACjCZ,CAAAA,CAAE,0BAA0B,CAAA,EAC5BM,UAAAA,CAAWO,KAAAA,CAAMC,MAAAA,EACjBd,CAAAA,CAAE,sBAAsB,CAAC,CAAA,CAAA;AAAA,IAGhC,CAAA;AAAA,EACF;AACA,EAAA,OAAOe,mBAAAA,CAAU;AAAA,IACfC,KAAAA,EAAOpB,IAAIqB,CAAAA,EAAE;AAAA,IACbC,KAAAA,EAAO,KAAA;AAAA,IACPC,YAAY,CAACX,sBAAAA;AAAAA,IACbC,WAAAA;AAAAA,IACAN,KAAAA;AAAAA,IACAiB,WAAYC,CAAAA,OAAAA,KAAY;AACtBA,MAAAA,OAAAA,CAAQC,KAAKC,KAAAA,CAAMD,IAAAA,CAAKE,SAAAA,CAAUlB,UAAU,CAAC,CAAC,CAAA;AAAA,IAChD,CAAA;AAAA,IACAmB,QAAQA,CAAC;AAAA,MAAEJ;AAAAA,KAAQ,KAAM;AACvB,MAAA,MAAMK,QAAAA,GAAWrB,IAAAA,CAAKqB,QAAAA,IAAYC,YAAAA,CAAS,EAAE,CAAA;AAC7C,MAAA,OAAAhB,gBAAAiB,sBAAAA,EAAA;AAAA,QAGMC,gBAAAA,EAAkBzB,QAAAA;AAAAA,QAClBI,sBAAAA;AAAAA,QACAkB,QAAAA;AAAAA,QACA,GAAGrB,IAAAA;AAAAA,QACHyB,SAAAA,EAAW;AAAA,UACTC,GAAAA,EAAK,CAAA;AAAA,UACL,GAAG1B,IAAAA,CAAKyB;AAAAA,SACV;AAAA,QACAE,UAAAA,EAAY;AAAA,UACVC,MAAAA,EAAQ,GAAA;AAAA,UACRC,mBAAoBC,CAAAA,MAAAA,KAAW;AAC7B7B,YAAAA,UAAAA,CAAWO,KAAAA,GAAQsB,MAAAA;AAAAA,UACrB,CAAA;AAAA,UACAC,yBAA0BD,CAAAA,MAAAA,KAAW;AACnC7B,YAAAA,UAAAA,CAAWO,KAAAA,GAAQsB,MAAAA;AACnBd,YAAAA,OAAAA,CAAQgB,SAAAA,CAAM/B,UAAU,CAAC,CAAA;AAAA,UAC3B;AAAA;AACF,SAAC,IAAA,CAAA;AAAA,IAIT,CAAA;AAAA,IACA,GAAGJ;AAAAA,GACJ,CAAA;AACH;;;;"}
@@ -14,4 +14,4 @@ export type ExpandDialogOptions = {
14
14
  title?: string;
15
15
  dialogProps?: DialogOptions;
16
16
  };
17
- export declare const useDialog: (options?: DialogOptions) => import("../use-template-promise").TemplatePromise<unknown, []>;
17
+ export declare const useDialog: (options?: DialogOptions) => import("../use-template-promise").TemplatePromise<any, []>;
@@ -1 +1 @@
1
- {"version":3,"file":"use-dialog.js","sources":["../../../../../packages/hooks/dialog/use-dialog.tsx"],"sourcesContent":["import { useTemplatePromise } from '../use-template-promise'\nimport {\n h,\n getCurrentInstance,\n render as vRender,\n markRaw,\n ref,\n useTemplateRef,\n inject,\n} from 'vue'\nimport type { ComponentInternalInstance } from 'vue'\nimport {\n ElDialog,\n ElButton,\n configProviderContextKey,\n ElConfigProvider,\n} from 'element-plus'\nimport type { AppContext, VNode } from 'vue'\nimport type { DialogProps } from 'element-plus'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport EpForm from '@el-plus/components/form'\nimport type { FormProps } from '@el-plus/components/form'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { useLocale } from '../use-locale'\n\nexport type DialogOptions = Partial<\n DialogProps & {\n instance: ComponentInternalInstance | null\n render: (props) => VNode\n scopedSlots: Record<string, (props) => VNode>\n class: string\n onCancel: (reject) => void\n onConfirm: (resolve) => void\n showFooter: boolean\n }\n>\nexport type ExpandDialogOptions = {\n title?: string\n dialogProps?: DialogOptions\n}\nconst bem = createNameSpace('dialog')\n\nexport const useDialog = (options: DialogOptions = {}) => {\n const { t } = useLocale()\n const {\n scopedSlots = {},\n instance,\n render,\n destroyOnClose,\n onConfirm,\n onCancel,\n showFooter = true,\n ...dialogProps\n } = options\n\n const Dialog = useTemplatePromise({\n destroy: destroyOnClose,\n render: (promiseOptions, ctx) => {\n // 插槽参数增加promiseOptions\n for (const key in scopedSlots) {\n scopedSlots[key] = scopedSlots[key].bind(null, promiseOptions)\n }\n const { resolve, reject, isResolving } = promiseOptions\n const renderFunc = () => {\n return render\n ? render(promiseOptions)\n : ctx.slots.default?.(promiseOptions)\n }\n const slots: DialogOptions['scopedSlots'] = {}\n if (showFooter) {\n slots.footer = () => (\n <div class={bem.e('footer')}>\n {scopedSlots.footerPrepend?.(promiseOptions)}\n <ElButton\n size=\"default\"\n onClick={() => {\n if (onCancel) {\n onCancel(reject)\n } else {\n reject('cancel')\n }\n }}\n >\n {t('ep.dialog.cancel')}\n </ElButton>\n {scopedSlots.footerInner?.(promiseOptions)}\n <ElButton\n type=\"primary\"\n onClick={async () => {\n if (onConfirm) {\n onConfirm(resolve)\n } else {\n resolve('confirm')\n }\n }}\n loading={isResolving}\n >\n {t('ep.dialog.confirm')}\n </ElButton>\n {scopedSlots.footerAppend?.(promiseOptions)}\n </div>\n )\n }\n return (\n <ElDialog\n class={bem.b()}\n modelValue={true}\n {...{\n closeOnClickModal: false,\n closeOnPressEscape: false,\n title: t('ep.dialog.title'),\n center: false,\n // 'append-to-body': true,\n beforeClose: () => {\n reject('cancel')\n },\n ...prepareProps(dialogProps, ['modelValue']),\n }}\n v-slots={{\n ...slots,\n ...scopedSlots,\n }}\n >\n {renderFunc()}\n </ElDialog>\n )\n },\n })\n if (render) {\n // const app = createApp(component)\n // Object.assign(app._context, parentInstance.appContext)\n // app.mount(container)\n const container = document.createElement('div')\n // container.setAttribute('id', 'ep-dialog-container')\n const newInstance = instance || getCurrentInstance()\n const config = inject(configProviderContextKey) as any\n // const parentConfig =\n // newInstance?.provides[configProviderContextKey] ||\n // newInstance?.appContext?.provides[configProviderContextKey]\n // const vnode = h(Dialog)\n const vnode = h(\n ElConfigProvider,\n { locale: config?.locale },\n { default: () => h(Dialog) },\n )\n if (newInstance && newInstance.appContext) {\n // 强制继承父应用的全局组件、指令和插件\n vnode.appContext = newInstance.appContext\n }\n vRender(vnode, container)\n document.body.appendChild(container)\n }\n\n return Dialog\n}\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","bem","createNameSpace","useDialog","options","t","useLocale","scopedSlots","instance","render","destroyOnClose","onConfirm","onCancel","showFooter","dialogProps","Dialog","useTemplatePromise","destroy","promiseOptions","ctx","key","bind","resolve","reject","isResolving","renderFunc","slots","default","footer","_slot","_slot2","_createVNode","e","footerPrepend","ElButton","onClick","footerInner","footerAppend","ElDialog","_mergeProps","b","closeOnClickModal","closeOnPressEscape","title","center","beforeClose","prepareProps","container","document","createElement","newInstance","getCurrentInstance","config","inject","configProviderContextKey","vnode","h","ElConfigProvider","locale","appContext","vRender","body","appendChild"],"mappings":"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"}
1
+ {"version":3,"file":"use-dialog.js","sources":["../../../../../packages/hooks/dialog/use-dialog.tsx"],"sourcesContent":["import { useTemplatePromise } from '../use-template-promise'\nimport {\n h,\n getCurrentInstance,\n render as vRender,\n markRaw,\n ref,\n useTemplateRef,\n inject,\n} from 'vue'\nimport type { ComponentInternalInstance } from 'vue'\nimport {\n ElDialog,\n ElButton,\n configProviderContextKey,\n ElConfigProvider,\n} from 'element-plus'\nimport type { AppContext, VNode } from 'vue'\nimport type { DialogProps } from 'element-plus'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport EpForm from '@el-plus/components/form'\nimport type { FormProps } from '@el-plus/components/form'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { useLocale } from '../use-locale'\n\nexport type DialogOptions = Partial<\n DialogProps & {\n instance: ComponentInternalInstance | null\n render: (props) => VNode\n scopedSlots: Record<string, (props) => VNode>\n class: string\n onCancel: (reject) => void\n onConfirm: (resolve) => void\n showFooter: boolean\n }\n>\nexport type ExpandDialogOptions = {\n title?: string\n dialogProps?: DialogOptions\n}\nconst bem = createNameSpace('dialog')\n\nexport const useDialog = (options: DialogOptions = {}) => {\n const { t } = useLocale()\n const {\n scopedSlots = {},\n instance,\n render,\n destroyOnClose,\n onConfirm,\n onCancel,\n showFooter = true,\n ...dialogProps\n } = options\n\n const Dialog = useTemplatePromise<any>({\n destroy: destroyOnClose,\n render: (promiseOptions, ctx) => {\n // 插槽参数增加promiseOptions\n for (const key in scopedSlots) {\n scopedSlots[key] = scopedSlots[key].bind(null, promiseOptions)\n }\n const { resolve, reject, isResolving } = promiseOptions\n const renderFunc = () => {\n return render\n ? render(promiseOptions)\n : ctx.slots.default?.(promiseOptions)\n }\n const slots: DialogOptions['scopedSlots'] = {}\n if (showFooter) {\n slots.footer = () => (\n <div class={bem.e('footer')}>\n {scopedSlots.footerPrepend?.(promiseOptions)}\n <ElButton\n size=\"default\"\n onClick={() => {\n if (onCancel) {\n onCancel(reject)\n } else {\n reject('cancel')\n }\n }}\n >\n {t('ep.dialog.cancel')}\n </ElButton>\n {scopedSlots.footerInner?.(promiseOptions)}\n <ElButton\n type=\"primary\"\n onClick={async () => {\n if (onConfirm) {\n onConfirm(resolve)\n } else {\n resolve('confirm')\n }\n }}\n loading={isResolving}\n >\n {t('ep.dialog.confirm')}\n </ElButton>\n {scopedSlots.footerAppend?.(promiseOptions)}\n </div>\n )\n }\n return (\n <ElDialog\n class={bem.b()}\n modelValue={true}\n {...{\n closeOnClickModal: false,\n closeOnPressEscape: false,\n title: t('ep.dialog.title'),\n center: false,\n // 'append-to-body': true,\n beforeClose: () => {\n reject('cancel')\n },\n ...prepareProps(dialogProps, ['modelValue']),\n }}\n v-slots={{\n ...slots,\n ...scopedSlots,\n }}\n >\n {renderFunc()}\n </ElDialog>\n )\n },\n })\n if (render) {\n // const app = createApp(component)\n // Object.assign(app._context, parentInstance.appContext)\n // app.mount(container)\n const container = document.createElement('div')\n // container.setAttribute('id', 'ep-dialog-container')\n const newInstance = instance || getCurrentInstance()\n const config = inject(configProviderContextKey) as any\n // const parentConfig =\n // newInstance?.provides[configProviderContextKey] ||\n // newInstance?.appContext?.provides[configProviderContextKey]\n // const vnode = h(Dialog)\n const vnode = h(\n ElConfigProvider,\n { locale: config?.locale },\n { default: () => h(Dialog) },\n )\n if (newInstance && newInstance.appContext) {\n // 强制继承父应用的全局组件、指令和插件\n vnode.appContext = newInstance.appContext\n }\n vRender(vnode, container)\n document.body.appendChild(container)\n }\n\n return Dialog\n}\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","bem","createNameSpace","useDialog","options","t","useLocale","scopedSlots","instance","render","destroyOnClose","onConfirm","onCancel","showFooter","dialogProps","Dialog","useTemplatePromise","destroy","promiseOptions","ctx","key","bind","resolve","reject","isResolving","renderFunc","slots","default","footer","_slot","_slot2","_createVNode","e","footerPrepend","ElButton","onClick","footerInner","footerAppend","ElDialog","_mergeProps","b","closeOnClickModal","closeOnPressEscape","title","center","beforeClose","prepareProps","container","document","createElement","newInstance","getCurrentInstance","config","inject","configProviderContextKey","vnode","h","ElConfigProvider","locale","appContext","vRender","body","appendChild"],"mappings":"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"}
@@ -5,5 +5,5 @@ type Options = {
5
5
  dialogProps?: DialogOptions;
6
6
  formData?: FormProps['model'];
7
7
  } & FormProps;
8
- export declare const useFormDialog: (options?: Options) => import("el-plus/es").TemplatePromise<unknown, []>;
8
+ export declare const useFormDialog: (options?: Options) => import("el-plus/es").TemplatePromise<any, []>;
9
9
  export {};
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.0.29";
3
+ var version = "0.0.30";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "el-plus",
3
- "version": "0.0.29",
3
+ "version": "0.0.30",
4
4
  "description": "pro base on element-plus",
5
5
  "module": "./es/index.mjs",
6
6
  "keywords": [