@silver-formily/element-plus 2.3.0 → 3.0.0
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.
- package/esm/__builtins__/index.mjs +20 -19
- package/esm/__builtins__/shared/index.mjs +11 -10
- package/esm/__builtins__/shared/transform-component.d.ts +1 -1
- package/esm/__builtins__/shared/utils.d.ts +1 -0
- package/esm/__builtins__/shared/utils.mjs +22 -18
- package/esm/__builtins__/shared/utils.mjs.map +1 -1
- package/esm/array-base/index.mjs +27 -27
- package/esm/array-base/index.mjs.map +1 -1
- package/esm/array-base/symbols.mjs +1 -1
- package/esm/array-base/symbols.mjs.map +1 -1
- package/esm/array-base/utils.d.ts +0 -1
- package/esm/array-base/utils.mjs +27 -35
- package/esm/array-base/utils.mjs.map +1 -1
- package/esm/array-cards/index.mjs +1 -1
- package/esm/array-cards/index.mjs.map +1 -1
- package/esm/array-collapse/index.mjs +2 -5
- package/esm/array-collapse/index.mjs.map +1 -1
- package/esm/array-items/index.mjs +1 -1
- package/esm/array-list-tabs/index.mjs +9 -9
- package/esm/array-table/index.mjs +7 -9
- package/esm/array-table/index.mjs.map +1 -1
- package/esm/array-tabs/index.mjs +1 -2
- package/esm/array-tabs/index.mjs.map +1 -1
- package/esm/autocomplete/autocomplete.d.ts +16 -16
- package/esm/autocomplete/index.d.ts +8 -8
- package/esm/autocomplete/index.mjs +2 -2
- package/esm/autocomplete/index.mjs.map +1 -1
- package/esm/cascader/index.mjs +2 -2
- package/esm/checkbox/index.d.ts +27 -27
- package/esm/checkbox/index.mjs +7 -12
- package/esm/checkbox/index.mjs.map +1 -1
- package/esm/editable/editable.d.ts +14 -12
- package/esm/editable/index.d.ts +7 -6
- package/esm/editable/index.mjs +57 -61
- package/esm/editable/index.mjs.map +1 -1
- package/esm/env.d.d.ts +1 -0
- package/esm/form/form.mjs +5 -5
- package/esm/form-button-group/form-button-group.d.ts +9 -0
- package/esm/form-button-group/index.d.ts +15 -0
- package/esm/form-button-group/index.mjs +33 -25
- package/esm/form-button-group/index.mjs.map +1 -1
- package/esm/form-collapse/index.mjs +1 -1
- package/esm/form-collapse/utils.mjs +0 -2
- package/esm/form-collapse/utils.mjs.map +1 -1
- package/esm/form-dialog/index.mjs +63 -70
- package/esm/form-dialog/index.mjs.map +1 -1
- package/esm/form-drawer/index.mjs +62 -69
- package/esm/form-drawer/index.mjs.map +1 -1
- package/esm/form-grid/form-grid.d.ts +2 -2
- package/esm/form-grid/hooks.d.ts +1 -2
- package/esm/form-grid/hooks.mjs +4 -11
- package/esm/form-grid/hooks.mjs.map +1 -1
- package/esm/form-grid/index.mjs +38 -35
- package/esm/form-grid/index.mjs.map +1 -1
- package/esm/form-item/index.d.ts +1 -0
- package/esm/form-item/index.mjs +102 -107
- package/esm/form-item/index.mjs.map +1 -1
- package/esm/form-item/types.d.ts +12 -6
- package/esm/form-layout/form-layout.mjs +2 -2
- package/esm/form-layout/utils.mjs +24 -24
- package/esm/form-layout/utils.mjs.map +1 -1
- package/esm/form-step/index.mjs +2 -2
- package/esm/form-step/utils.mjs +0 -3
- package/esm/form-step/utils.mjs.map +1 -1
- package/esm/form-tab/hooks.d.ts +2 -1
- package/esm/form-tab/hooks.mjs +13 -20
- package/esm/form-tab/hooks.mjs.map +1 -1
- package/esm/form-tab/index.mjs +38 -39
- package/esm/form-tab/index.mjs.map +1 -1
- package/esm/index.d.ts +2 -0
- package/esm/index.mjs +62 -58
- package/esm/index.mjs.map +1 -1
- package/esm/input/index.mjs +2 -2
- package/esm/input-number/index.d.ts +15 -15
- package/esm/input-tag/index.mjs +2 -2
- package/esm/mention/index.mjs +2 -2
- package/esm/pagination/pagination.mjs +1 -1
- package/esm/pagination/pagination.mjs.map +1 -1
- package/esm/preview-text/index.mjs +33 -42
- package/esm/preview-text/index.mjs.map +1 -1
- package/esm/preview-text/utils.mjs +1 -1
- package/esm/preview-text/utils.mjs.map +1 -1
- package/esm/query-form/default-components.d.ts +5 -0
- package/esm/query-form/default-components.mjs +47 -0
- package/esm/query-form/default-components.mjs.map +1 -0
- package/esm/query-form/hooks.d.ts +25 -0
- package/esm/query-form/hooks.mjs +29 -0
- package/esm/query-form/hooks.mjs.map +1 -0
- package/esm/query-form/index.d.ts +117 -0
- package/esm/query-form/index.mjs +331 -0
- package/esm/query-form/index.mjs.map +1 -0
- package/esm/query-form/query-form-light.d.ts +27 -0
- package/esm/query-form/query-form.d.ts +52 -0
- package/esm/query-form/types.d.ts +44 -0
- package/esm/query-form/types.mjs +2 -0
- package/esm/query-form/types.mjs.map +1 -0
- package/esm/query-form-item/index.d.ts +151 -0
- package/esm/query-form-item/index.mjs +181 -0
- package/esm/query-form-item/index.mjs.map +1 -0
- package/esm/query-form-item/query-form-item.d.ts +96 -0
- package/esm/query-form-item/types.d.ts +46 -0
- package/esm/query-form-item/types.mjs +2 -0
- package/esm/query-form-item/types.mjs.map +1 -0
- package/esm/radio/index.d.ts +18 -18
- package/esm/radio/index.mjs +7 -12
- package/esm/radio/index.mjs.map +1 -1
- package/esm/reset/index.mjs +2 -2
- package/esm/segmented/index.mjs +2 -2
- package/esm/select/index.d.ts +16 -16
- package/esm/select/index.mjs +1 -1
- package/esm/select-table/index.d.ts +6 -6
- package/esm/select-table/index.mjs +22 -24
- package/esm/select-table/index.mjs.map +1 -1
- package/esm/select-table/select-table.d.ts +2 -2
- package/esm/shared/overlay-elements.mjs +14 -11
- package/esm/shared/overlay-elements.mjs.map +1 -1
- package/esm/styles/form-button-group/index.css +1 -1
- package/esm/styles/form-grid/index.css +1 -1
- package/esm/styles/form-item/index.css +1 -1
- package/esm/styles/query-form/index.css +1 -0
- package/esm/styles/query-form-item/index.css +1 -0
- package/esm/submit/index.mjs +3 -3
- package/esm/submit/index.mjs.map +1 -1
- package/esm/switch/index.d.ts +9 -9
- package/esm/time-select/index.d.ts +12 -12
- package/esm/transfer/index.d.ts +12 -12
- package/esm/tree/index.mjs +3 -3
- package/esm/tree/utils.mjs +0 -2
- package/esm/tree/utils.mjs.map +1 -1
- package/esm/tree-select/index.mjs +2 -2
- package/esm/upload/index.d.ts +12 -12
- package/esm/upload/index.mjs +3 -3
- package/esm/upload/upload.d.ts +24 -24
- package/esm/vendor/icon.mjs.map +1 -1
- package/esm/vendor/lodash.mjs +777 -663
- package/esm/vendor/lodash.mjs.map +1 -1
- package/esm/vendor/runtime.mjs +23 -29
- package/esm/vendor/runtime.mjs.map +1 -1
- package/esm/vendor/shared.esm-bundler.mjs +2 -7
- package/esm/vendor/shared.esm-bundler.mjs.map +1 -1
- package/esm/vendor/sizes.mjs.map +1 -1
- package/esm/vendor/types.mjs +5 -5
- package/esm/vendor/types.mjs.map +1 -1
- package/package.json +89 -115
- package/LICENSE +0 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/autocomplete/autocomplete.vue","../../src/autocomplete/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { Field } from '@formily/core'\r\nimport type { AutocompleteInstance } from 'element-plus'\r\nimport type { AutocompleteData, AutocompleteFetchSuggestions } from 'element-plus/es/components/autocomplete'\r\nimport { useField } from '@silver-formily/vue'\r\nimport { ElAutocomplete } from 'element-plus'\r\nimport { computed, ref } from 'vue'\r\nimport { useCleanAttrs } from '../__builtins__'\r\n\r\ndefineOptions({\r\n name: 'FAutocomplete',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst props = defineProps<{\r\n options?: AutocompleteData\r\n}>()\r\n\r\nconst slots = defineSlots<{\r\n default?: (scope: { item: AutocompleteData[number], field: Field | undefined }) => any\r\n header?: (scope: { field: Field | undefined }) => any\r\n footer?: (scope: { field: Field | undefined }) => any\r\n loading?: () => any\r\n prefix?: () => any\r\n suffix?: () => any\r\n prepend?: () => any\r\n append?: () => any\r\n}>()\r\n\r\nconst { props: attrs } = useCleanAttrs()\r\nconst fieldRef = useField<Field>()\r\nconst autocompleteRef = ref<AutocompleteInstance>()\r\n\r\nfieldRef.value?.inject({\r\n getElAutocompleteRef: () => autocompleteRef,\r\n})\r\n\r\nconst normalizedFetchSuggestions = computed<AutocompleteFetchSuggestions | undefined>(() => {\r\n const attrFetch = attrs.value.fetchSuggestions as AutocompleteFetchSuggestions | undefined\r\n if (attrFetch) {\r\n return ((queryString, cb) => {\r\n return (attrFetch as (...args: any[]) => any)(queryString, cb, fieldRef.value)\r\n }) as AutocompleteFetchSuggestions\r\n }\r\n\r\n if (!props.options) {\r\n return\r\n }\r\n\r\n return (queryString: string, cb) => {\r\n fieldRef.value.loading = true\r\n const keyword = (queryString ?? '').toLowerCase()\r\n const valueKey = (attrs.value.valueKey ?? 'value') as string\r\n const results = keyword\r\n ? props.options!.filter(option => matchOption(option, valueKey, keyword))\r\n : props.options!\r\n cb(results)\r\n fieldRef.value.loading = false\r\n }\r\n})\r\n\r\nfunction matchOption(option: AutocompleteData[number], valueKey: string, keyword: string) {\r\n const target = option?.[valueKey]\r\n if (target === undefined || target === null) {\r\n return false\r\n }\r\n return String(target).toLowerCase().includes(keyword)\r\n}\r\n\r\nconst autocompleteProps = computed(() => ({\r\n ...attrs.value,\r\n loading: attrs.value.loading ?? fieldRef.value?.loading,\r\n fetchSuggestions: normalizedFetchSuggestions.value,\r\n}))\r\n</script>\r\n\r\n<template>\r\n <ElAutocomplete ref=\"autocompleteRef\" v-bind=\"autocompleteProps\">\r\n <template v-if=\"slots.default\" #default=\"slotProps\">\r\n <slot name=\"default\" v-bind=\"{ ...slotProps, field: fieldRef }\" />\r\n </template>\r\n <template v-if=\"slots.header\" #header>\r\n <slot name=\"header\" :field=\"fieldRef\" />\r\n </template>\r\n <template v-if=\"slots.footer\" #footer>\r\n <slot name=\"footer\" :field=\"fieldRef\" />\r\n </template>\r\n <template v-if=\"slots.prefix\" #prefix>\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template v-if=\"slots.suffix\" #suffix>\r\n <slot name=\"suffix\" />\r\n </template>\r\n <template v-if=\"slots.prepend\" #prepend>\r\n <slot name=\"prepend\" />\r\n </template>\r\n <template v-if=\"slots.append\" #append>\r\n <slot name=\"append\" />\r\n </template>\r\n <template v-if=\"slots.loading\" #loading>\r\n <slot name=\"loading\" />\r\n </template>\r\n </ElAutocomplete>\r\n</template>\r\n","import { connect, mapProps } from '@silver-formily/vue'\r\nimport { mapReadPretty } from '../__builtins__'\r\nimport { PreviewText } from '../preview-text'\r\nimport FAutocomplete from './autocomplete.vue'\r\n\r\nexport const Autocomplete = connect<typeof FAutocomplete>(\r\n FAutocomplete,\r\n mapProps({ dataSource: 'options', readOnly: 'readonly', disabled: true }),\r\n mapReadPretty(PreviewText.Input),\r\n)\r\n\r\nexport default Autocomplete\r\n"],"names":["props","__props","slots","_useSlots","attrs","useCleanAttrs","fieldRef","useField","autocompleteRef","ref","normalizedFetchSuggestions","computed","attrFetch","queryString","cb","keyword","valueKey","results","option","matchOption","target","autocompleteProps","_openBlock","_createBlock","_unref","_mergeProps","_createSlots","_withCtx","slotProps","_renderSlot","_ctx","_normalizeProps","_guardReactiveProps","Autocomplete","connect","FAutocomplete","mapProps","mapReadPretty","PreviewText"],"mappings":";;;;;;;;;;;;;;AAcA,UAAMA,IAAQC,GAIRC,IAAQC,EAAA,GAWR,EAAE,OAAOC,EAAA,IAAUC,EAAA,GACnBC,IAAWC,EAAA,GACXC,IAAkBC,EAAA;AAExB,IAAAH,EAAS,OAAO,OAAO;AAAA,MACrB,sBAAsB,MAAME;AAAA,IAAA,CAC7B;AAED,UAAME,IAA6BC,EAAmD,MAAM;AAC1F,YAAMC,IAAYR,EAAM,MAAM;AAC9B,UAAIQ;AACF,gBAAQ,CAACC,GAAaC,MACZF,EAAsCC,GAAaC,GAAIR,EAAS,KAAK;
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/autocomplete/autocomplete.vue","../../src/autocomplete/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { Field } from '@formily/core'\r\nimport type { AutocompleteInstance } from 'element-plus'\r\nimport type { AutocompleteData, AutocompleteFetchSuggestions } from 'element-plus/es/components/autocomplete'\r\nimport { useField } from '@silver-formily/vue'\r\nimport { ElAutocomplete } from 'element-plus'\r\nimport { computed, ref } from 'vue'\r\nimport { useCleanAttrs } from '../__builtins__'\r\n\r\ndefineOptions({\r\n name: 'FAutocomplete',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst props = defineProps<{\r\n options?: AutocompleteData\r\n}>()\r\n\r\nconst slots = defineSlots<{\r\n default?: (scope: { item: AutocompleteData[number], field: Field | undefined }) => any\r\n header?: (scope: { field: Field | undefined }) => any\r\n footer?: (scope: { field: Field | undefined }) => any\r\n loading?: () => any\r\n prefix?: () => any\r\n suffix?: () => any\r\n prepend?: () => any\r\n append?: () => any\r\n}>()\r\n\r\nconst { props: attrs } = useCleanAttrs()\r\nconst fieldRef = useField<Field>()\r\nconst autocompleteRef = ref<AutocompleteInstance>()\r\n\r\nfieldRef.value?.inject({\r\n getElAutocompleteRef: () => autocompleteRef,\r\n})\r\n\r\nconst normalizedFetchSuggestions = computed<AutocompleteFetchSuggestions | undefined>(() => {\r\n const attrFetch = attrs.value.fetchSuggestions as AutocompleteFetchSuggestions | undefined\r\n if (attrFetch) {\r\n return ((queryString, cb) => {\r\n return (attrFetch as (...args: any[]) => any)(queryString, cb, fieldRef.value)\r\n }) as AutocompleteFetchSuggestions\r\n }\r\n\r\n /* istanbul ignore next -- @preserve defensive: allow autocomplete to run without options and remote fetch */\r\n if (!props.options) {\r\n return\r\n }\r\n\r\n return (queryString: string, cb) => {\r\n fieldRef.value.loading = true\r\n const keyword = (queryString ?? '').toLowerCase()\r\n const valueKey = (attrs.value.valueKey ?? 'value') as string\r\n const results = keyword\r\n ? props.options!.filter(option => matchOption(option, valueKey, keyword))\r\n : props.options!\r\n cb(results)\r\n fieldRef.value.loading = false\r\n }\r\n})\r\n\r\nfunction matchOption(option: AutocompleteData[number], valueKey: string, keyword: string) {\r\n const target = option?.[valueKey]\r\n /* istanbul ignore next -- @preserve defensive: tolerate invalid option shape from external data source */\r\n if (target === undefined || target === null) {\r\n return false\r\n }\r\n return String(target).toLowerCase().includes(keyword)\r\n}\r\n\r\nconst autocompleteProps = computed(() => ({\r\n ...attrs.value,\r\n loading: attrs.value.loading ?? fieldRef.value?.loading,\r\n fetchSuggestions: normalizedFetchSuggestions.value,\r\n}))\r\n</script>\r\n\r\n<template>\r\n <ElAutocomplete ref=\"autocompleteRef\" v-bind=\"autocompleteProps\">\r\n <template v-if=\"slots.default\" #default=\"slotProps\">\r\n <slot name=\"default\" v-bind=\"{ ...slotProps, field: fieldRef }\" />\r\n </template>\r\n <template v-if=\"slots.header\" #header>\r\n <slot name=\"header\" :field=\"fieldRef\" />\r\n </template>\r\n <template v-if=\"slots.footer\" #footer>\r\n <slot name=\"footer\" :field=\"fieldRef\" />\r\n </template>\r\n <template v-if=\"slots.prefix\" #prefix>\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template v-if=\"slots.suffix\" #suffix>\r\n <slot name=\"suffix\" />\r\n </template>\r\n <template v-if=\"slots.prepend\" #prepend>\r\n <slot name=\"prepend\" />\r\n </template>\r\n <template v-if=\"slots.append\" #append>\r\n <slot name=\"append\" />\r\n </template>\r\n <template v-if=\"slots.loading\" #loading>\r\n <slot name=\"loading\" />\r\n </template>\r\n </ElAutocomplete>\r\n</template>\r\n","import { connect, mapProps } from '@silver-formily/vue'\r\nimport { mapReadPretty } from '../__builtins__'\r\nimport { PreviewText } from '../preview-text'\r\nimport FAutocomplete from './autocomplete.vue'\r\n\r\nexport const Autocomplete = connect<typeof FAutocomplete>(\r\n FAutocomplete,\r\n mapProps({ dataSource: 'options', readOnly: 'readonly', disabled: true }),\r\n mapReadPretty(PreviewText.Input),\r\n)\r\n\r\nexport default Autocomplete\r\n"],"names":["props","__props","slots","_useSlots","attrs","useCleanAttrs","fieldRef","useField","autocompleteRef","ref","normalizedFetchSuggestions","computed","attrFetch","queryString","cb","keyword","valueKey","results","option","matchOption","target","autocompleteProps","_openBlock","_createBlock","_unref","_mergeProps","_createSlots","_withCtx","slotProps","_renderSlot","_ctx","_normalizeProps","_guardReactiveProps","Autocomplete","connect","FAutocomplete","mapProps","mapReadPretty","PreviewText"],"mappings":";;;;;;;;;;;;;;AAcA,UAAMA,IAAQC,GAIRC,IAAQC,EAAA,GAWR,EAAE,OAAOC,EAAA,IAAUC,EAAA,GACnBC,IAAWC,EAAA,GACXC,IAAkBC,EAAA;AAExB,IAAAH,EAAS,OAAO,OAAO;AAAA,MACrB,sBAAsB,MAAME;AAAA,IAAA,CAC7B;AAED,UAAME,IAA6BC,EAAmD,MAAM;AAC1F,YAAMC,IAAYR,EAAM,MAAM;AAC9B,UAAIQ;AACF,gBAAQ,CAACC,GAAaC,MACZF,EAAsCC,GAAaC,GAAIR,EAAS,KAAK;AAKjF,UAAKN,EAAM;AAIX,eAAO,CAACa,GAAqBC,MAAO;AAClC,UAAAR,EAAS,MAAM,UAAU;AACzB,gBAAMS,KAAWF,KAAe,IAAI,YAAA,GAC9BG,IAAYZ,EAAM,MAAM,YAAY,SACpCa,IAAUF,IACZf,EAAM,QAAS,OAAO,CAAAkB,MAAUC,EAAYD,GAAQF,GAAUD,CAAO,CAAC,IACtEf,EAAM;AACV,UAAAc,EAAGG,CAAO,GACVX,EAAS,MAAM,UAAU;AAAA,QAC3B;AAAA,IACF,CAAC;AAED,aAASa,EAAYD,GAAkCF,GAAkBD,GAAiB;AACxF,YAAMK,IAASF,IAASF,CAAQ;AAEhC,aAA4BI,KAAW,OAC9B,KAEF,OAAOA,CAAM,EAAE,YAAA,EAAc,SAASL,CAAO;AAAA,IACtD;AAEA,UAAMM,IAAoBV,EAAS,OAAO;AAAA,MACxC,GAAGP,EAAM;AAAA,MACT,SAASA,EAAM,MAAM,WAAWE,EAAS,OAAO;AAAA,MAChD,kBAAkBI,EAA2B;AAAA,IAAA,EAC7C;sBAIAY,KAAAC,EAyBiBC,MAzBjBC,EAyBiB;AAAA,eAzBG;AAAA,MAAJ,KAAIjB;AAAA,IAAA,GAA0Ba,EAAA,KAAiB,GAAAK,EAAA,EAAA,GAAA,KAAA;AAAA,MAC7CxB,EAAM;cAAU;AAAA,QAC9B,IAAAyB,EAAA,CADuCC,MAAS;AAAA,UAChDC,EAAkEC,EAAA,QAAA,WAAAC,EAAAC,EAAA,EAAA,GAAhCJ,GAAS,OAASJ,EAAAlB,CAAA,EAAA,CAAQ,CAAA,CAAA;AAAA,QAAA;;;MAE9CJ,EAAM;cAAS;AAAA,cAC7B,MAAwC;AAAA,UAAxC2B,EAAwCC,EAAA,QAAA,UAAA,EAAnB,OAAON,EAAAlB,CAAA,EAAA,CAAQ;AAAA,QAAA;;;MAEtBJ,EAAM;cAAS;AAAA,cAC7B,MAAwC;AAAA,UAAxC2B,EAAwCC,EAAA,QAAA,UAAA,EAAnB,OAAON,EAAAlB,CAAA,EAAA,CAAQ;AAAA,QAAA;;;MAEtBJ,EAAM;cAAS;AAAA,cAC7B,MAAsB;AAAA,UAAtB2B,EAAsBC,EAAA,QAAA,QAAA;AAAA,QAAA;;;MAER5B,EAAM;cAAS;AAAA,cAC7B,MAAsB;AAAA,UAAtB2B,EAAsBC,EAAA,QAAA,QAAA;AAAA,QAAA;;;MAER5B,EAAM;cAAU;AAAA,cAC9B,MAAuB;AAAA,UAAvB2B,EAAuBC,EAAA,QAAA,SAAA;AAAA,QAAA;;;MAET5B,EAAM;cAAS;AAAA,cAC7B,MAAsB;AAAA,UAAtB2B,EAAsBC,EAAA,QAAA,QAAA;AAAA,QAAA;;;MAER5B,EAAM;cAAU;AAAA,cAC9B,MAAuB;AAAA,UAAvB2B,EAAuBC,EAAA,QAAA,SAAA;AAAA,QAAA;;;;;ICjGhBG,IAAeC;AAAA,EAC1BC;AAAAA,EACAC,EAAS,EAAE,YAAY,WAAW,UAAU,YAAY,UAAU,IAAM;AAAA,EACxEC,EAAcC,EAAY,KAAK;AACjC;"}
|
package/esm/cascader/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { connect as i, mapProps as c } from "@silver-formily/vue";
|
|
2
2
|
import { PreviewText as d } from "../preview-text/index.mjs";
|
|
3
|
-
import { defineComponent as f,
|
|
3
|
+
import { defineComponent as f, openBlock as l, createBlock as u, unref as o, mergeProps as C, createSlots as y, withCtx as t, renderSlot as r } from "vue";
|
|
4
4
|
import { ElCascader as P } from "element-plus";
|
|
5
5
|
import { useCleanAttrs as k } from "../__builtins__/shared/utils.mjs";
|
|
6
6
|
import { mapReadPretty as $ } from "../__builtins__/shared/transform-component.mjs";
|
|
@@ -13,7 +13,7 @@ const h = /* @__PURE__ */ f({
|
|
|
13
13
|
},
|
|
14
14
|
setup(s) {
|
|
15
15
|
const a = s, { props: p } = k();
|
|
16
|
-
return (e, v) => (
|
|
16
|
+
return (e, v) => (l(), u(o(P), C(o(p), {
|
|
17
17
|
options: a.options
|
|
18
18
|
}), y({ _: 2 }, [
|
|
19
19
|
e.$slots.default ? {
|
package/esm/checkbox/index.d.ts
CHANGED
|
@@ -542,12 +542,8 @@ export declare const Checkbox: {
|
|
|
542
542
|
max: {
|
|
543
543
|
type: import('vue').PropType<number>;
|
|
544
544
|
};
|
|
545
|
-
|
|
546
|
-
type: import('vue').PropType<
|
|
547
|
-
};
|
|
548
|
-
disabled: {
|
|
549
|
-
type: import('vue').PropType<boolean>;
|
|
550
|
-
default: undefined;
|
|
545
|
+
min: {
|
|
546
|
+
type: import('vue').PropType<number>;
|
|
551
547
|
};
|
|
552
548
|
props: {
|
|
553
549
|
type: import('vue').PropType<{
|
|
@@ -561,6 +557,13 @@ export declare const Checkbox: {
|
|
|
561
557
|
disabled?: string;
|
|
562
558
|
}>;
|
|
563
559
|
};
|
|
560
|
+
disabled: {
|
|
561
|
+
type: import('vue').PropType<boolean>;
|
|
562
|
+
default: undefined;
|
|
563
|
+
};
|
|
564
|
+
fill: {
|
|
565
|
+
type: import('vue').PropType<string>;
|
|
566
|
+
};
|
|
564
567
|
modelValue: {
|
|
565
568
|
type: import('vue').PropType<import('element-plus').CheckboxGroupValueType>;
|
|
566
569
|
default: () => never[];
|
|
@@ -576,9 +579,6 @@ export declare const Checkbox: {
|
|
|
576
579
|
type: import('vue').PropType<boolean>;
|
|
577
580
|
default: boolean;
|
|
578
581
|
};
|
|
579
|
-
min: {
|
|
580
|
-
type: import('vue').PropType<number>;
|
|
581
|
-
};
|
|
582
582
|
options: {
|
|
583
583
|
type: import('vue').PropType<import('element-plus').CheckboxOption[]>;
|
|
584
584
|
};
|
|
@@ -620,12 +620,8 @@ export declare const Checkbox: {
|
|
|
620
620
|
max: {
|
|
621
621
|
type: import('vue').PropType<number>;
|
|
622
622
|
};
|
|
623
|
-
|
|
624
|
-
type: import('vue').PropType<
|
|
625
|
-
};
|
|
626
|
-
disabled: {
|
|
627
|
-
type: import('vue').PropType<boolean>;
|
|
628
|
-
default: undefined;
|
|
623
|
+
min: {
|
|
624
|
+
type: import('vue').PropType<number>;
|
|
629
625
|
};
|
|
630
626
|
props: {
|
|
631
627
|
type: import('vue').PropType<{
|
|
@@ -639,6 +635,13 @@ export declare const Checkbox: {
|
|
|
639
635
|
disabled?: string;
|
|
640
636
|
}>;
|
|
641
637
|
};
|
|
638
|
+
disabled: {
|
|
639
|
+
type: import('vue').PropType<boolean>;
|
|
640
|
+
default: undefined;
|
|
641
|
+
};
|
|
642
|
+
fill: {
|
|
643
|
+
type: import('vue').PropType<string>;
|
|
644
|
+
};
|
|
642
645
|
modelValue: {
|
|
643
646
|
type: import('vue').PropType<import('element-plus').CheckboxGroupValueType>;
|
|
644
647
|
default: () => never[];
|
|
@@ -654,9 +657,6 @@ export declare const Checkbox: {
|
|
|
654
657
|
type: import('vue').PropType<boolean>;
|
|
655
658
|
default: boolean;
|
|
656
659
|
};
|
|
657
|
-
min: {
|
|
658
|
-
type: import('vue').PropType<number>;
|
|
659
|
-
};
|
|
660
660
|
options: {
|
|
661
661
|
type: import('vue').PropType<import('element-plus').CheckboxOption[]>;
|
|
662
662
|
};
|
|
@@ -692,12 +692,8 @@ export declare const Checkbox: {
|
|
|
692
692
|
max: {
|
|
693
693
|
type: import('vue').PropType<number>;
|
|
694
694
|
};
|
|
695
|
-
|
|
696
|
-
type: import('vue').PropType<
|
|
697
|
-
};
|
|
698
|
-
disabled: {
|
|
699
|
-
type: import('vue').PropType<boolean>;
|
|
700
|
-
default: undefined;
|
|
695
|
+
min: {
|
|
696
|
+
type: import('vue').PropType<number>;
|
|
701
697
|
};
|
|
702
698
|
props: {
|
|
703
699
|
type: import('vue').PropType<{
|
|
@@ -711,6 +707,13 @@ export declare const Checkbox: {
|
|
|
711
707
|
disabled?: string;
|
|
712
708
|
}>;
|
|
713
709
|
};
|
|
710
|
+
disabled: {
|
|
711
|
+
type: import('vue').PropType<boolean>;
|
|
712
|
+
default: undefined;
|
|
713
|
+
};
|
|
714
|
+
fill: {
|
|
715
|
+
type: import('vue').PropType<string>;
|
|
716
|
+
};
|
|
714
717
|
modelValue: {
|
|
715
718
|
type: import('vue').PropType<import('element-plus').CheckboxGroupValueType>;
|
|
716
719
|
default: () => never[];
|
|
@@ -726,9 +729,6 @@ export declare const Checkbox: {
|
|
|
726
729
|
type: import('vue').PropType<boolean>;
|
|
727
730
|
default: boolean;
|
|
728
731
|
};
|
|
729
|
-
min: {
|
|
730
|
-
type: import('vue').PropType<number>;
|
|
731
|
-
};
|
|
732
732
|
options: {
|
|
733
733
|
type: import('vue').PropType<import('element-plus').CheckboxOption[]>;
|
|
734
734
|
};
|
package/esm/checkbox/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { connect as _, mapProps as y } from "@silver-formily/vue";
|
|
2
2
|
import { ElCheckboxButton as S, ElCheckbox as h, ElCheckboxGroup as g, version as E } from "element-plus";
|
|
3
3
|
import { PreviewText as T } from "../preview-text/index.mjs";
|
|
4
|
-
import { defineComponent as A, computed as c, useSlots as B,
|
|
4
|
+
import { defineComponent as A, computed as c, useSlots as B, openBlock as o, createBlock as a, unref as p, normalizeProps as G, guardReactiveProps as w, withCtx as l, createElementBlock as m, Fragment as i, renderList as f, resolveDynamicComponent as b, mergeProps as d, createTextVNode as D, toDisplayString as F, renderSlot as I } from "vue";
|
|
5
5
|
import { isPlainObj as k } from "@formily/shared";
|
|
6
6
|
import { lt as L } from "../__builtins__/shared/simple-version-compare.mjs";
|
|
7
7
|
import { useCleanAttrs as N, composeExport as O } from "../__builtins__/shared/utils.mjs";
|
|
@@ -21,17 +21,12 @@ const j = /* @__PURE__ */ A({
|
|
|
21
21
|
}
|
|
22
22
|
},
|
|
23
23
|
setup(x) {
|
|
24
|
-
const n = x, s = c(() => n.optionType === "button" ? S : h), C = L(E, "2.6.0"), u = c(() => n.options.map((e) => {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
/* istanbul ignore if -- @preserve */
|
|
31
|
-
return C ? {
|
|
32
|
-
...e,
|
|
33
|
-
label: e.value
|
|
34
|
-
} : e;
|
|
24
|
+
const n = x, s = c(() => n.optionType === "button" ? S : h), C = L(E, "2.6.0"), u = c(() => n.options.map((e) => k(e) ? C ? {
|
|
25
|
+
...e,
|
|
26
|
+
label: e.value
|
|
27
|
+
} : e : {
|
|
28
|
+
label: e,
|
|
29
|
+
value: e
|
|
35
30
|
})), v = B(), { props: P } = N();
|
|
36
31
|
return (e, V) => (o(), a(p(g), G(w(p(P))), {
|
|
37
32
|
default: l(() => [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/checkbox/checkbox-group.vue","../../src/checkbox/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { CheckboxProps } from 'element-plus'\r\nimport type { PropType } from 'vue'\r\nimport { isPlainObj } from '@formily/shared'\r\nimport { ElCheckbox, ElCheckboxButton, ElCheckboxGroup, version } from 'element-plus'\r\nimport { computed, useSlots } from 'vue'\r\nimport { lt, useCleanAttrs } from '../__builtins__'\r\n\r\ndefineOptions({\r\n name: 'FCheckboxGroup',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst props = defineProps({\r\n options: {\r\n type: Array as PropType<Array<CheckboxProps>>,\r\n default: () => [],\r\n },\r\n optionType: {\r\n type: String as PropType<'default' | 'button'>,\r\n default: 'default',\r\n },\r\n})\r\n\r\nconst OptionType = computed(() => {\r\n return props.optionType === 'button' ? ElCheckboxButton : ElCheckbox\r\n})\r\nconst IS_LESS_THAN_2_6_0 = lt(version, '2.6.0')\r\nconst compatiableProps = computed(() => {\r\n return props.options.map((option) => {\r\n if (!isPlainObj(option)) {\r\n return {\r\n label: option,\r\n value: option,\r\n }\r\n }\r\n /* istanbul ignore if -- @preserve */\r\n if (IS_LESS_THAN_2_6_0) {\r\n return {\r\n ...option,\r\n label: option.value,\r\n }\r\n }\r\n return option\r\n })\r\n})\r\n\r\nconst slots = useSlots()\r\nconst { props: checkboxProps } = useCleanAttrs()\r\n</script>\r\n\r\n<template>\r\n <ElCheckboxGroup v-bind=\"checkboxProps\">\r\n <template v-if=\"!slots.option\">\r\n <component :is=\"OptionType\" v-for=\"(option, index) of compatiableProps\" :key=\"index\" v-bind=\"option\">\r\n {{ isPlainObj(props.options[index]) ? props.options[index]?.label : option.label }}\r\n </component>\r\n </template>\r\n <template v-else>\r\n <component :is=\"OptionType\" v-for=\"(option, index) of compatiableProps\" :key=\"index\" v-bind=\"option\">\r\n <slot name=\"option\" :option=\"option\" />\r\n </component>\r\n </template>\r\n </ElCheckboxGroup>\r\n</template>\r\n","import { connect, mapProps } from '@silver-formily/vue'\r\nimport { ElCheckbox } from 'element-plus'\r\nimport { composeExport, mapReadPretty } from '../__builtins__'\r\nimport { PreviewText } from '../preview-text'\r\nimport FCheckboxGroup from './checkbox-group.vue'\r\n\r\nconst CheckboxGroup = connect<typeof FCheckboxGroup>(\r\n FCheckboxGroup,\r\n mapProps({ dataSource: 'options', disabled: true }),\r\n mapReadPretty(PreviewText.Select, {\r\n multiple: true,\r\n }),\r\n)\r\n\r\nconst InnerCheckbox = connect<typeof ElCheckbox>(\r\n ElCheckbox,\r\n mapProps({\r\n disabled: true,\r\n }),\r\n)\r\n\r\nexport const Checkbox = composeExport(InnerCheckbox, {\r\n Group: CheckboxGroup,\r\n})\r\n\r\nexport default Checkbox\r\n"],"names":["props","__props","OptionType","computed","ElCheckboxButton","ElCheckbox","IS_LESS_THAN_2_6_0","lt","version","compatiableProps","option","isPlainObj","slots","useSlots","checkboxProps","useCleanAttrs","_openBlock","_createBlock","_unref","_createElementBlock","_Fragment","_renderList","index","_resolveDynamicComponent","_mergeProps","_renderSlot","_ctx","_createTextVNode","_toDisplayString","CheckboxGroup","connect","FCheckboxGroup","mapProps","mapReadPretty","PreviewText","InnerCheckbox","Checkbox","composeExport"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAaA,UAAMA,IAAQC,GAWRC,IAAaC,EAAS,MACnBH,EAAM,eAAe,WAAWI,IAAmBC,CAC3D,GACKC,IAAqBC,EAAGC,GAAS,OAAO,GACxCC,IAAmBN,EAAS,MACzBH,EAAM,QAAQ,IAAI,CAACU,
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/checkbox/checkbox-group.vue","../../src/checkbox/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { CheckboxProps } from 'element-plus'\r\nimport type { PropType } from 'vue'\r\nimport { isPlainObj } from '@formily/shared'\r\nimport { ElCheckbox, ElCheckboxButton, ElCheckboxGroup, version } from 'element-plus'\r\nimport { computed, useSlots } from 'vue'\r\nimport { lt, useCleanAttrs } from '../__builtins__'\r\n\r\ndefineOptions({\r\n name: 'FCheckboxGroup',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst props = defineProps({\r\n options: {\r\n type: Array as PropType<Array<CheckboxProps>>,\r\n default: () => [],\r\n },\r\n optionType: {\r\n type: String as PropType<'default' | 'button'>,\r\n default: 'default',\r\n },\r\n})\r\n\r\nconst OptionType = computed(() => {\r\n return props.optionType === 'button' ? ElCheckboxButton : ElCheckbox\r\n})\r\nconst IS_LESS_THAN_2_6_0 = lt(version, '2.6.0')\r\nconst compatiableProps = computed(() => {\r\n return props.options.map((option) => {\r\n if (!isPlainObj(option)) {\r\n return {\r\n label: option,\r\n value: option,\r\n }\r\n }\r\n /* istanbul ignore if -- @preserve */\r\n if (IS_LESS_THAN_2_6_0) {\r\n return {\r\n ...option,\r\n label: option.value,\r\n }\r\n }\r\n return option\r\n })\r\n})\r\n\r\nconst slots = useSlots()\r\nconst { props: checkboxProps } = useCleanAttrs()\r\n</script>\r\n\r\n<template>\r\n <ElCheckboxGroup v-bind=\"checkboxProps\">\r\n <template v-if=\"!slots.option\">\r\n <component :is=\"OptionType\" v-for=\"(option, index) of compatiableProps\" :key=\"index\" v-bind=\"option\">\r\n {{ isPlainObj(props.options[index]) ? props.options[index]?.label : option.label }}\r\n </component>\r\n </template>\r\n <template v-else>\r\n <component :is=\"OptionType\" v-for=\"(option, index) of compatiableProps\" :key=\"index\" v-bind=\"option\">\r\n <slot name=\"option\" :option=\"option\" />\r\n </component>\r\n </template>\r\n </ElCheckboxGroup>\r\n</template>\r\n","import { connect, mapProps } from '@silver-formily/vue'\r\nimport { ElCheckbox } from 'element-plus'\r\nimport { composeExport, mapReadPretty } from '../__builtins__'\r\nimport { PreviewText } from '../preview-text'\r\nimport FCheckboxGroup from './checkbox-group.vue'\r\n\r\nconst CheckboxGroup = connect<typeof FCheckboxGroup>(\r\n FCheckboxGroup,\r\n mapProps({ dataSource: 'options', disabled: true }),\r\n mapReadPretty(PreviewText.Select, {\r\n multiple: true,\r\n }),\r\n)\r\n\r\nconst InnerCheckbox = connect<typeof ElCheckbox>(\r\n ElCheckbox,\r\n mapProps({\r\n disabled: true,\r\n }),\r\n)\r\n\r\nexport const Checkbox = composeExport(InnerCheckbox, {\r\n Group: CheckboxGroup,\r\n})\r\n\r\nexport default Checkbox\r\n"],"names":["props","__props","OptionType","computed","ElCheckboxButton","ElCheckbox","IS_LESS_THAN_2_6_0","lt","version","compatiableProps","option","isPlainObj","slots","useSlots","checkboxProps","useCleanAttrs","_openBlock","_createBlock","_unref","_createElementBlock","_Fragment","_renderList","index","_resolveDynamicComponent","_mergeProps","_renderSlot","_ctx","_createTextVNode","_toDisplayString","CheckboxGroup","connect","FCheckboxGroup","mapProps","mapReadPretty","PreviewText","InnerCheckbox","Checkbox","composeExport"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAaA,UAAMA,IAAQC,GAWRC,IAAaC,EAAS,MACnBH,EAAM,eAAe,WAAWI,IAAmBC,CAC3D,GACKC,IAAqBC,EAAGC,GAAS,OAAO,GACxCC,IAAmBN,EAAS,MACzBH,EAAM,QAAQ,IAAI,CAACU,MACnBC,EAAWD,CAAM,IAOlBJ,IACK;AAAA,MACL,GAAGI;AAAA,MACH,OAAOA,EAAO;AAAA,IAAA,IAGXA,IAZE;AAAA,MACL,OAAOA;AAAA,MACP,OAAOA;AAAA,IAAA,CAWZ,CACF,GAEKE,IAAQC,EAAA,GACR,EAAE,OAAOC,EAAA,IAAkBC,EAAA;sBAI/BC,EAAA,GAAAC,EAWkBC,UAXOA,EAAAJ,CAAA,CAAa,CAAA,GAAA;AAAA,iBACpC,MAIW;AAAA,QAJMI,EAAAN,CAAA,EAAM,UAMrBI,EAAA,EAAA,GAAAG,EAEYC,GAAA,EAAA,KAAA,KAAAC,EAF0CZ,EAAA,OAAgB,CAAlCC,GAAQY,YAA5CL,EAEYM,EAFIrB,OAAU,GAA1BsB,EAEY,EAF6D,KAAKF,KAAK,EAAA,SAAA,GAAA,GAAUZ,CAAM,GAAA;AAAA,qBACjG,MAAuC;AAAA,YAAvCe,EAAuCC,EAAA,QAAA,UAAA,EAAlB,QAAAhB,GAAc;AAAA,UAAA;;6BANrCM,EAAA,EAAA,GAAAG,EAEYC,GAAA,EAAA,KAAA,KAAAC,EAF0CZ,EAAA,OAAgB,CAAlCC,GAAQY,YAA5CL,EAEYM,EAFIrB,OAAU,GAA1BsB,EAEY,EAF6D,KAAKF,KAAK,EAAA,SAAA,GAAA,GAAUZ,CAAM,GAAA;AAAA,qBACjG,MAAmF;AAAA,YAAhFiB,EAAAC,EAAAV,EAAAP,CAAA,EAAWX,EAAM,QAAQsB,CAAK,CAAA,IAAKtB,EAAM,QAAQsB,CAAK,GAAG,QAAQZ,EAAO,KAAK,GAAA,CAAA;AAAA,UAAA;;;;;;;ICjDlFmB,IAAgBC;AAAA,EACpBC;AAAAA,EACAC,EAAS,EAAE,YAAY,WAAW,UAAU,IAAM;AAAA,EAClDC,EAAcC,EAAY,QAAQ;AAAA,IAChC,UAAU;AAAA,EAAA,CACX;AACH,GAEMC,IAAgBL;AAAA,EACpBzB;AAAA,EACA2B,EAAS;AAAA,IACP,UAAU;AAAA,EAAA,CACX;AACH,GAEaI,IAAWC,EAAcF,GAAe;AAAA,EACnD,OAAON;AACT,CAAC;"}
|
|
@@ -19,13 +19,14 @@ declare function __VLS_template(): {
|
|
|
19
19
|
labelWrap: boolean;
|
|
20
20
|
fullness: boolean;
|
|
21
21
|
}> & Omit<{
|
|
22
|
-
readonly
|
|
22
|
+
readonly internalFormItemClass?: string;
|
|
23
|
+
readonly label?: import('../form-item/types').FormItemContent;
|
|
23
24
|
readonly for?: string;
|
|
24
|
-
readonly tooltip?:
|
|
25
|
-
readonly addonBefore?:
|
|
26
|
-
readonly addonAfter?:
|
|
27
|
-
readonly extra?:
|
|
28
|
-
readonly feedbackText?:
|
|
25
|
+
readonly tooltip?: import('../form-item/types').FormItemContent;
|
|
26
|
+
readonly addonBefore?: import('../form-item/types').FormItemContent;
|
|
27
|
+
readonly addonAfter?: import('../form-item/types').FormItemContent;
|
|
28
|
+
readonly extra?: import('../form-item/types').FormItemContent;
|
|
29
|
+
readonly feedbackText?: import('../form-item/types').FormItemContent;
|
|
29
30
|
readonly feedbackStatus?: "error" | "warning" | "success" | "pending";
|
|
30
31
|
readonly asterisk?: boolean;
|
|
31
32
|
readonly colon?: boolean;
|
|
@@ -109,13 +110,14 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}
|
|
|
109
110
|
labelWrap: boolean;
|
|
110
111
|
fullness: boolean;
|
|
111
112
|
}> & Omit<{
|
|
112
|
-
readonly
|
|
113
|
+
readonly internalFormItemClass?: string;
|
|
114
|
+
readonly label?: import('../form-item/types').FormItemContent;
|
|
113
115
|
readonly for?: string;
|
|
114
|
-
readonly tooltip?:
|
|
115
|
-
readonly addonBefore?:
|
|
116
|
-
readonly addonAfter?:
|
|
117
|
-
readonly extra?:
|
|
118
|
-
readonly feedbackText?:
|
|
116
|
+
readonly tooltip?: import('../form-item/types').FormItemContent;
|
|
117
|
+
readonly addonBefore?: import('../form-item/types').FormItemContent;
|
|
118
|
+
readonly addonAfter?: import('../form-item/types').FormItemContent;
|
|
119
|
+
readonly extra?: import('../form-item/types').FormItemContent;
|
|
120
|
+
readonly feedbackText?: import('../form-item/types').FormItemContent;
|
|
119
121
|
readonly feedbackStatus?: "error" | "warning" | "success" | "pending";
|
|
120
122
|
readonly asterisk?: boolean;
|
|
121
123
|
readonly colon?: boolean;
|
package/esm/editable/index.d.ts
CHANGED
|
@@ -19,13 +19,14 @@ export declare const Editable: {
|
|
|
19
19
|
labelWrap: boolean;
|
|
20
20
|
fullness: boolean;
|
|
21
21
|
}> & Omit<{
|
|
22
|
-
readonly
|
|
22
|
+
readonly internalFormItemClass?: string;
|
|
23
|
+
readonly label?: import('../form-item/types').FormItemContent;
|
|
23
24
|
readonly for?: string;
|
|
24
|
-
readonly tooltip?:
|
|
25
|
-
readonly addonBefore?:
|
|
26
|
-
readonly addonAfter?:
|
|
27
|
-
readonly extra?:
|
|
28
|
-
readonly feedbackText?:
|
|
25
|
+
readonly tooltip?: import('../form-item/types').FormItemContent;
|
|
26
|
+
readonly addonBefore?: import('../form-item/types').FormItemContent;
|
|
27
|
+
readonly addonAfter?: import('../form-item/types').FormItemContent;
|
|
28
|
+
readonly extra?: import('../form-item/types').FormItemContent;
|
|
29
|
+
readonly feedbackText?: import('../form-item/types').FormItemContent;
|
|
29
30
|
readonly feedbackStatus?: "error" | "warning" | "success" | "pending";
|
|
30
31
|
readonly asterisk?: boolean;
|
|
31
32
|
readonly colon?: boolean;
|
package/esm/editable/index.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { useField as E, connect as h, mapProps as w } from "@silver-formily/vue";
|
|
2
|
-
import { FormBaseItem as
|
|
3
|
-
import { defineComponent as z, ref as m,
|
|
4
|
-
import { Edit as
|
|
5
|
-
import { reaction as
|
|
2
|
+
import { FormBaseItem as f, fieldFeedbackMapper as R } from "../form-item/index.mjs";
|
|
3
|
+
import { defineComponent as z, ref as m, openBlock as n, createElementBlock as c, normalizeClass as i, createVNode as u, unref as t, mergeProps as P, withCtx as d, withDirectives as F, createBlock as C, createElementVNode as _, createTextVNode as W, toDisplayString as S, renderSlot as T, computed as g, Fragment as V, createCommentVNode as q, nextTick as x } from "vue";
|
|
4
|
+
import { Edit as A, Close as D } from "@element-plus/icons-vue";
|
|
5
|
+
import { reaction as N } from "@formily/reactive";
|
|
6
6
|
import { isValid as $, isPlainObj as M } from "@formily/shared";
|
|
7
|
-
import { ElPopover as j, ElText as G, ClickOutside as
|
|
8
|
-
import { stylePrefix as
|
|
7
|
+
import { ElPopover as j, ElText as G, ClickOutside as I } from "element-plus";
|
|
8
|
+
import { stylePrefix as L } from "../__builtins__/configs/index.mjs";
|
|
9
9
|
import { o as k } from "../vendor/lodash.mjs";
|
|
10
10
|
import { composeExport as H } from "../__builtins__/shared/utils.mjs";
|
|
11
11
|
import '../styles/editable/index.css';const J = /* @__PURE__ */ z({
|
|
@@ -13,6 +13,7 @@ import '../styles/editable/index.css';const J = /* @__PURE__ */ z({
|
|
|
13
13
|
inheritAttrs: !1,
|
|
14
14
|
__name: "editable-popover",
|
|
15
15
|
props: {
|
|
16
|
+
internalFormItemClass: {},
|
|
16
17
|
label: {},
|
|
17
18
|
for: {},
|
|
18
19
|
tooltip: {},
|
|
@@ -37,69 +38,63 @@ import '../styles/editable/index.css';const J = /* @__PURE__ */ z({
|
|
|
37
38
|
tooltipLayout: {}
|
|
38
39
|
},
|
|
39
40
|
setup(b) {
|
|
40
|
-
const a = b, e = E(),
|
|
41
|
-
|
|
42
|
-
/* istanbul ignore else -- @preserve */
|
|
43
|
-
$(e.value.data.readPretty) || (e.value.data.readPretty = !0);
|
|
44
|
-
} else
|
|
45
|
-
e.value.data = {}, e.value.data.readPretty = !0;
|
|
41
|
+
const a = b, e = E(), r = `${L}-editable`, s = m(), l = m(!1);
|
|
42
|
+
$(e.value.data) ? $(e.value.data.readPretty) || (e.value.data.readPretty = !0) : (e.value.data = {}, e.value.data.readPretty = !0);
|
|
46
43
|
function v(o) {
|
|
47
|
-
|
|
48
|
-
/* istanbul ignore else -- @preserve */
|
|
49
|
-
f.contains(o.target) || (r.value = !1);
|
|
44
|
+
s.value.parentElement.contains(o.target) || (l.value = !1);
|
|
50
45
|
}
|
|
51
46
|
function y() {
|
|
52
|
-
|
|
47
|
+
l.value = !0;
|
|
53
48
|
}
|
|
54
|
-
return
|
|
49
|
+
return N(
|
|
55
50
|
() => e.value.form.queryFeedbacks({
|
|
56
51
|
type: "error",
|
|
57
52
|
address: `${e.value.address.entire}.*`
|
|
58
53
|
}),
|
|
59
54
|
(o) => {
|
|
60
|
-
o.length > 0 && (
|
|
55
|
+
o.length > 0 && (l.value = !0);
|
|
61
56
|
}
|
|
62
|
-
), (o,
|
|
63
|
-
class: i(
|
|
57
|
+
), (o, p) => (n(), c("div", {
|
|
58
|
+
class: i(r)
|
|
64
59
|
}, [
|
|
65
60
|
u(t(j), P(o.$attrs, {
|
|
66
|
-
visible:
|
|
61
|
+
visible: l.value,
|
|
67
62
|
title: o.$attrs.title || t(e).title,
|
|
68
63
|
trigger: "click",
|
|
69
64
|
width: "auto"
|
|
70
65
|
}), {
|
|
71
|
-
default:
|
|
72
|
-
|
|
66
|
+
default: d(() => [
|
|
67
|
+
_("div", {
|
|
73
68
|
ref_key: "contentRef",
|
|
74
69
|
ref: s,
|
|
75
|
-
class: i(`${
|
|
70
|
+
class: i(`${r}-popover-wrapper`)
|
|
76
71
|
}, [
|
|
77
|
-
|
|
72
|
+
T(o.$slots, "default")
|
|
78
73
|
], 2)
|
|
79
74
|
]),
|
|
80
|
-
reference:
|
|
81
|
-
|
|
82
|
-
class: `${
|
|
75
|
+
reference: d(() => [
|
|
76
|
+
F((n(), C(t(f), P(a, {
|
|
77
|
+
class: `${r}-trigger`
|
|
83
78
|
}), {
|
|
84
|
-
default:
|
|
85
|
-
|
|
86
|
-
class: i(`${
|
|
79
|
+
default: d(() => [
|
|
80
|
+
_("div", {
|
|
81
|
+
class: i(`${r}-content`),
|
|
87
82
|
onClick: y
|
|
88
83
|
}, [
|
|
89
84
|
u(t(G), null, {
|
|
90
|
-
default:
|
|
91
|
-
S(
|
|
85
|
+
default: d(() => [
|
|
86
|
+
W(S(t(e).title), 1)
|
|
92
87
|
]),
|
|
93
88
|
_: 1
|
|
94
89
|
}),
|
|
95
|
-
u(t(
|
|
96
|
-
class: i(`${
|
|
90
|
+
u(t(A), {
|
|
91
|
+
class: i(`${r}-edit-btn`)
|
|
97
92
|
}, null, 8, ["class"])
|
|
98
93
|
], 2)
|
|
99
94
|
]),
|
|
100
95
|
_: 1
|
|
101
96
|
}, 16, ["class"])), [
|
|
102
|
-
[t(
|
|
97
|
+
[t(I), v]
|
|
103
98
|
])
|
|
104
99
|
]),
|
|
105
100
|
_: 3
|
|
@@ -110,6 +105,7 @@ import '../styles/editable/index.css';const J = /* @__PURE__ */ z({
|
|
|
110
105
|
name: "FEditable",
|
|
111
106
|
__name: "editable",
|
|
112
107
|
props: {
|
|
108
|
+
internalFormItemClass: {},
|
|
113
109
|
label: {},
|
|
114
110
|
for: {},
|
|
115
111
|
tooltip: {},
|
|
@@ -135,58 +131,58 @@ import '../styles/editable/index.css';const J = /* @__PURE__ */ z({
|
|
|
135
131
|
editProps: {}
|
|
136
132
|
},
|
|
137
133
|
setup(b) {
|
|
138
|
-
const a = b, e = E(),
|
|
134
|
+
const a = b, e = E(), r = m(null), s = `${L}-editable`, l = m(null), v = g(() => k(a, "editProps")), y = g(() => M(a.editProps) ? { ...k(a, "editProps"), ...a.editProps } : k(a, "editProps"));
|
|
139
135
|
function o() {
|
|
140
136
|
$(e.value.data) || (e.value.data = {});
|
|
141
137
|
}
|
|
142
138
|
o(), e.value.data.readPretty = !0;
|
|
143
|
-
async function
|
|
144
|
-
e.value.disabled || (o(), e.value.data.readPretty = !1, await x(),
|
|
139
|
+
async function p() {
|
|
140
|
+
e.value.disabled || (o(), e.value.data.readPretty = !1, await x(), l.value.feedbackTooltipRef.updatePopper(), r.value?.querySelector("input")?.focus());
|
|
145
141
|
}
|
|
146
142
|
function B() {
|
|
147
143
|
e.value.data?.readPretty !== !0 && (o(), setTimeout(async () => {
|
|
148
|
-
e.value.data.readPretty = !0, await x(),
|
|
144
|
+
e.value.data.readPretty = !0, await x(), l.value?.feedbackTooltipRef.updatePopper();
|
|
149
145
|
}, 0));
|
|
150
146
|
}
|
|
151
|
-
return (O, X) => (
|
|
147
|
+
return (O, X) => (n(), c("div", {
|
|
152
148
|
ref_key: "innerRef",
|
|
153
|
-
ref:
|
|
149
|
+
ref: r,
|
|
154
150
|
class: i([s, t(e).disabled && "is-disabled"])
|
|
155
151
|
}, [
|
|
156
|
-
|
|
152
|
+
F((n(), c("div", {
|
|
157
153
|
class: i(`${s}-content`)
|
|
158
154
|
}, [
|
|
159
|
-
u(t(
|
|
155
|
+
u(t(f), P({
|
|
160
156
|
ref_key: "formItemRef",
|
|
161
|
-
ref:
|
|
162
|
-
}, t(e).data?.readPretty === !1 ? y.value : v.value, { onClick:
|
|
163
|
-
default:
|
|
164
|
-
|
|
165
|
-
|
|
157
|
+
ref: l
|
|
158
|
+
}, t(e).data?.readPretty === !1 ? y.value : v.value, { onClick: p }), {
|
|
159
|
+
default: d(() => [
|
|
160
|
+
_("div", null, [
|
|
161
|
+
T(O.$slots, "default")
|
|
166
162
|
])
|
|
167
163
|
]),
|
|
168
164
|
_: 3
|
|
169
165
|
}, 16),
|
|
170
|
-
t(e).disabled ? q("", !0) : (
|
|
171
|
-
t(e).data?.readPretty === !0 ? (
|
|
166
|
+
t(e).disabled ? q("", !0) : (n(), c(V, { key: 0 }, [
|
|
167
|
+
t(e).data?.readPretty === !0 ? (n(), C(t(f), {
|
|
172
168
|
key: 0,
|
|
173
169
|
size: a.size,
|
|
174
170
|
"feedback-layout": a.feedbackLayout
|
|
175
171
|
}, {
|
|
176
|
-
default:
|
|
177
|
-
u(t(
|
|
172
|
+
default: d(() => [
|
|
173
|
+
u(t(A), {
|
|
178
174
|
class: i(`${s}-edit-btn`),
|
|
179
|
-
onClick:
|
|
175
|
+
onClick: p
|
|
180
176
|
}, null, 8, ["class"])
|
|
181
177
|
]),
|
|
182
178
|
_: 1
|
|
183
|
-
}, 8, ["size", "feedback-layout"])) : (
|
|
179
|
+
}, 8, ["size", "feedback-layout"])) : (n(), C(t(f), {
|
|
184
180
|
key: 1,
|
|
185
181
|
size: a.size,
|
|
186
182
|
"feedback-layout": a.feedbackLayout
|
|
187
183
|
}, {
|
|
188
|
-
default:
|
|
189
|
-
u(t(
|
|
184
|
+
default: d(() => [
|
|
185
|
+
u(t(D), {
|
|
190
186
|
class: i(`${s}-close-btn`),
|
|
191
187
|
onClick: B
|
|
192
188
|
}, null, 8, ["class"])
|
|
@@ -195,7 +191,7 @@ import '../styles/editable/index.css';const J = /* @__PURE__ */ z({
|
|
|
195
191
|
}, 8, ["size", "feedback-layout"]))
|
|
196
192
|
], 64))
|
|
197
193
|
], 2)), [
|
|
198
|
-
[t(
|
|
194
|
+
[t(I), B]
|
|
199
195
|
])
|
|
200
196
|
], 2));
|
|
201
197
|
}
|
|
@@ -211,11 +207,11 @@ import '../styles/editable/index.css';const J = /* @__PURE__ */ z({
|
|
|
211
207
|
description: "extra"
|
|
212
208
|
},
|
|
213
209
|
R
|
|
214
|
-
)),
|
|
210
|
+
)), ne = H(Q, {
|
|
215
211
|
Popover: U
|
|
216
212
|
});
|
|
217
213
|
export {
|
|
218
|
-
|
|
219
|
-
|
|
214
|
+
ne as Editable,
|
|
215
|
+
ne as default
|
|
220
216
|
};
|
|
221
217
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/editable/editable-popover.vue","../../src/editable/editable.vue","../../src/editable/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\r\nimport type { Field } from '@formily/core'\r\nimport type { IFormItemProps } from '../form-item/types'\r\nimport { Edit } from '@element-plus/icons-vue'\r\nimport { reaction } from '@formily/reactive'\r\nimport { isValid } from '@formily/shared'\r\nimport { useField } from '@silver-formily/vue'\r\nimport { ElPopover, ElText, ClickOutside as vClickOutside } from 'element-plus'\r\nimport { ref } from 'vue'\r\nimport { stylePrefix } from '../__builtins__/configs'\r\nimport { FormBaseItem } from '../form-item'\r\n\r\ndefineOptions({\r\n name: 'FEditablePopover',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst props = withDefaults(defineProps<IFormItemProps>(), {\r\n feedbackLayout: 'popover',\r\n size: 'default',\r\n})\r\n\r\nconst fieldRef = useField<Field>()\r\nconst prefixCls = `${stylePrefix}-editable`\r\nconst contentRef = ref<HTMLElement>()\r\nconst visible = ref(false)\r\n\r\nif (isValid(fieldRef.value.data)) {\r\n /* istanbul ignore else -- @preserve */\r\n if (!isValid(fieldRef.value.data.readPretty)) {\r\n fieldRef.value.data.readPretty = true\r\n }\r\n}\r\nelse {\r\n fieldRef.value.data = {}\r\n fieldRef.value.data.readPretty = true\r\n}\r\n\r\nfunction onClickOutside(e) {\r\n const popoverDOM = contentRef.value.parentElement\r\n /* istanbul ignore else -- @preserve */\r\n if (!popoverDOM.contains(e.target)) {\r\n visible.value = false\r\n }\r\n}\r\nfunction onClick() {\r\n visible.value = true\r\n}\r\n\r\nreaction(\r\n () => fieldRef.value.form.queryFeedbacks({\r\n type: 'error',\r\n address: `${fieldRef.value.address.entire}.*`,\r\n }),\r\n (errorList) => {\r\n if (errorList.length > 0) {\r\n visible.value = true\r\n }\r\n },\r\n)\r\n</script>\r\n\r\n<template>\r\n <div :class=\"prefixCls\">\r\n <ElPopover\r\n v-bind=\"$attrs\"\r\n :visible=\"visible\"\r\n :title=\"$attrs.title || fieldRef.title\" trigger=\"click\" width=\"auto\"\r\n >\r\n <template #default>\r\n <div ref=\"contentRef\" :class=\"`${prefixCls}-popover-wrapper`\">\r\n <slot />\r\n </div>\r\n </template>\r\n <template #reference>\r\n <FormBaseItem v-click-outside=\"onClickOutside\" v-bind=\"props\" :class=\"`${prefixCls}-trigger`\">\r\n <div :class=\"`${prefixCls}-content`\" @click=\"onClick\">\r\n <ElText>\r\n {{ fieldRef.title }}\r\n </ElText>\r\n <Edit :class=\"`${prefixCls}-edit-btn`\" />\r\n </div>\r\n </FormBaseItem>\r\n </template>\r\n </ElPopover>\r\n </div>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { Field } from '@formily/core'\r\nimport type { IFormItemProps } from '../form-item/types'\r\nimport { Close, Edit } from '@element-plus/icons-vue'\r\nimport { isPlainObj, isValid } from '@formily/shared'\r\nimport { useField } from '@silver-formily/vue'\r\nimport { ClickOutside as vClickOutside } from 'element-plus'\r\nimport { omit } from 'lodash-es'\r\nimport { computed, nextTick, ref } from 'vue'\r\nimport { stylePrefix } from '../__builtins__/configs'\r\nimport { FormBaseItem } from '../form-item'\r\n\r\ndefineOptions({\r\n name: 'FEditable',\r\n})\r\n\r\nconst props = withDefaults(defineProps<IFormItemProps & { editProps?: IFormItemProps }>(), {\r\n feedbackLayout: 'popover',\r\n size: 'default',\r\n})\r\n\r\nconst fieldRef = useField<Field>()\r\nconst innerRef = ref<HTMLElement>(null)\r\nconst prefixCls = `${stylePrefix}-editable`\r\nconst formItemRef = ref<InstanceType<typeof FormBaseItem>>(null)\r\n\r\nconst commonProps = computed(() => omit(props, 'editProps'))\r\nconst editProps = computed(() => {\r\n if (isPlainObj(props.editProps)) {\r\n return { ...omit(props, 'editProps'), ...props.editProps }\r\n }\r\n return omit(props, 'editProps')\r\n})\r\n\r\nfunction handleEnsureReadPretty() {\r\n if (!isValid(fieldRef.value.data)) {\r\n fieldRef.value.data = {}\r\n }\r\n}\r\n\r\nhandleEnsureReadPretty()\r\nfieldRef.value.data.readPretty = true\r\n\r\nasync function onClick() {\r\n if (fieldRef.value.disabled)\r\n return\r\n handleEnsureReadPretty()\r\n fieldRef.value.data.readPretty = false\r\n await nextTick()\r\n formItemRef.value.feedbackTooltipRef.updatePopper()\r\n innerRef.value?.querySelector('input')?.focus()\r\n}\r\n\r\nfunction onClickOutside() {\r\n if (fieldRef.value.data?.readPretty === true)\r\n return\r\n handleEnsureReadPretty()\r\n // 使用下拉菜单等触发的事件完成应有的操作\r\n setTimeout(async () => {\r\n fieldRef.value.data.readPretty = true\r\n await nextTick()\r\n formItemRef.value?.feedbackTooltipRef.updatePopper()\r\n }, 0)\r\n}\r\n</script>\r\n\r\n<template>\r\n <div ref=\"innerRef\" :class=\"[prefixCls, fieldRef.disabled && 'is-disabled']\">\r\n <div v-click-outside=\"onClickOutside\" :class=\"`${prefixCls}-content`\">\r\n <FormBaseItem ref=\"formItemRef\" v-bind=\"fieldRef.data?.readPretty === false ? editProps : commonProps\" @click=\"onClick\">\r\n <div>\r\n <slot />\r\n </div>\r\n </FormBaseItem>\r\n <template v-if=\"!fieldRef.disabled\">\r\n <template v-if=\"fieldRef.data?.readPretty === true\">\r\n <FormBaseItem :size=\"props.size\" :feedback-layout=\"props.feedbackLayout\">\r\n <Edit :class=\"`${prefixCls}-edit-btn`\" @click=\"onClick\" />\r\n </FormBaseItem>\r\n </template>\r\n <template v-else>\r\n <FormBaseItem :size=\"props.size\" :feedback-layout=\"props.feedbackLayout\">\r\n <Close :class=\"`${prefixCls}-close-btn`\" @click=\"onClickOutside\" />\r\n </FormBaseItem>\r\n </template>\r\n </template>\r\n </div>\r\n </div>\r\n</template>\r\n","import type { ElPopover } from 'element-plus'\r\nimport type { IFormItemProps } from '../form-item/types'\r\nimport { connect, mapProps } from '@silver-formily/vue'\r\nimport { composeExport } from '../__builtins__/shared'\r\nimport { fieldFeedbackMapper } from '../form-item'\r\nimport FEditablePopover from './editable-popover.vue'\r\nimport FEditable from './editable.vue'\r\nimport './style.scss'\r\n\r\nexport type EditableProps = IFormItemProps\r\nexport type EditablePopoverProps = typeof ElPopover\r\n\r\nconst EditableInner = connect<typeof FEditable>(FEditable, mapProps(\r\n {\r\n required: true,\r\n description: 'extra',\r\n },\r\n fieldFeedbackMapper,\r\n))\r\n\r\nconst EditablePopover = connect<typeof FEditablePopover>(FEditablePopover, mapProps(\r\n {\r\n required: true,\r\n description: 'extra',\r\n },\r\n fieldFeedbackMapper,\r\n))\r\n\r\nexport const Editable = composeExport(EditableInner, {\r\n Popover: EditablePopover,\r\n})\r\n\r\nexport default Editable\r\n"],"names":["props","__props","fieldRef","useField","prefixCls","stylePrefix","contentRef","ref","visible","isValid","onClickOutside","e","popoverDOM","onClick","reaction","errorList","_createElementBlock","_createVNode","_unref","ElPopover","_mergeProps","_ctx","$attrs","_createElementVNode","_renderSlot","_createBlock","FormBaseItem","ElText","_createTextVNode","_toDisplayString","Edit","innerRef","formItemRef","commonProps","computed","omit","editProps","isPlainObj","handleEnsureReadPretty","nextTick","_normalizeClass","_Fragment","Close","EditableInner","connect","FEditable","mapProps","fieldFeedbackMapper","EditablePopover","FEditablePopover","Editable","composeExport"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/editable/editable-popover.vue","../../src/editable/editable.vue","../../src/editable/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\r\nimport type { Field } from '@formily/core'\r\nimport type { IFormItemProps } from '../form-item/types'\r\nimport { Edit } from '@element-plus/icons-vue'\r\nimport { reaction } from '@formily/reactive'\r\nimport { isValid } from '@formily/shared'\r\nimport { useField } from '@silver-formily/vue'\r\nimport { ElPopover, ElText, ClickOutside as vClickOutside } from 'element-plus'\r\nimport { ref } from 'vue'\r\nimport { stylePrefix } from '../__builtins__/configs'\r\nimport { FormBaseItem } from '../form-item'\r\n\r\ndefineOptions({\r\n name: 'FEditablePopover',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst props = withDefaults(defineProps<IFormItemProps>(), {\r\n feedbackLayout: 'popover',\r\n size: 'default',\r\n})\r\n\r\nconst fieldRef = useField<Field>()\r\nconst prefixCls = `${stylePrefix}-editable`\r\nconst contentRef = ref<HTMLElement>()\r\nconst visible = ref(false)\r\n\r\nif (isValid(fieldRef.value.data)) {\r\n /* istanbul ignore else -- @preserve */\r\n if (!isValid(fieldRef.value.data.readPretty)) {\r\n fieldRef.value.data.readPretty = true\r\n }\r\n}\r\nelse {\r\n fieldRef.value.data = {}\r\n fieldRef.value.data.readPretty = true\r\n}\r\n\r\nfunction onClickOutside(e) {\r\n const popoverDOM = contentRef.value.parentElement\r\n /* istanbul ignore else -- @preserve */\r\n if (!popoverDOM.contains(e.target)) {\r\n visible.value = false\r\n }\r\n}\r\nfunction onClick() {\r\n visible.value = true\r\n}\r\n\r\nreaction(\r\n () => fieldRef.value.form.queryFeedbacks({\r\n type: 'error',\r\n address: `${fieldRef.value.address.entire}.*`,\r\n }),\r\n (errorList) => {\r\n if (errorList.length > 0) {\r\n visible.value = true\r\n }\r\n },\r\n)\r\n</script>\r\n\r\n<template>\r\n <div :class=\"prefixCls\">\r\n <ElPopover\r\n v-bind=\"$attrs\"\r\n :visible=\"visible\"\r\n :title=\"$attrs.title || fieldRef.title\" trigger=\"click\" width=\"auto\"\r\n >\r\n <template #default>\r\n <div ref=\"contentRef\" :class=\"`${prefixCls}-popover-wrapper`\">\r\n <slot />\r\n </div>\r\n </template>\r\n <template #reference>\r\n <FormBaseItem v-click-outside=\"onClickOutside\" v-bind=\"props\" :class=\"`${prefixCls}-trigger`\">\r\n <div :class=\"`${prefixCls}-content`\" @click=\"onClick\">\r\n <ElText>\r\n {{ fieldRef.title }}\r\n </ElText>\r\n <Edit :class=\"`${prefixCls}-edit-btn`\" />\r\n </div>\r\n </FormBaseItem>\r\n </template>\r\n </ElPopover>\r\n </div>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { Field } from '@formily/core'\r\nimport type { IFormItemProps } from '../form-item/types'\r\nimport { Close, Edit } from '@element-plus/icons-vue'\r\nimport { isPlainObj, isValid } from '@formily/shared'\r\nimport { useField } from '@silver-formily/vue'\r\nimport { ClickOutside as vClickOutside } from 'element-plus'\r\nimport { omit } from 'lodash-es'\r\nimport { computed, nextTick, ref } from 'vue'\r\nimport { stylePrefix } from '../__builtins__/configs'\r\nimport { FormBaseItem } from '../form-item'\r\n\r\ndefineOptions({\r\n name: 'FEditable',\r\n})\r\n\r\nconst props = withDefaults(defineProps<IFormItemProps & { editProps?: IFormItemProps }>(), {\r\n feedbackLayout: 'popover',\r\n size: 'default',\r\n})\r\n\r\nconst fieldRef = useField<Field>()\r\nconst innerRef = ref<HTMLElement>(null)\r\nconst prefixCls = `${stylePrefix}-editable`\r\nconst formItemRef = ref<InstanceType<typeof FormBaseItem>>(null)\r\n\r\nconst commonProps = computed(() => omit(props, 'editProps'))\r\nconst editProps = computed(() => {\r\n if (isPlainObj(props.editProps)) {\r\n return { ...omit(props, 'editProps'), ...props.editProps }\r\n }\r\n return omit(props, 'editProps')\r\n})\r\n\r\nfunction handleEnsureReadPretty() {\r\n if (!isValid(fieldRef.value.data)) {\r\n fieldRef.value.data = {}\r\n }\r\n}\r\n\r\nhandleEnsureReadPretty()\r\nfieldRef.value.data.readPretty = true\r\n\r\nasync function onClick() {\r\n if (fieldRef.value.disabled)\r\n return\r\n handleEnsureReadPretty()\r\n fieldRef.value.data.readPretty = false\r\n await nextTick()\r\n formItemRef.value.feedbackTooltipRef.updatePopper()\r\n innerRef.value?.querySelector('input')?.focus()\r\n}\r\n\r\nfunction onClickOutside() {\r\n if (fieldRef.value.data?.readPretty === true)\r\n return\r\n handleEnsureReadPretty()\r\n // 使用下拉菜单等触发的事件完成应有的操作\r\n setTimeout(async () => {\r\n fieldRef.value.data.readPretty = true\r\n await nextTick()\r\n formItemRef.value?.feedbackTooltipRef.updatePopper()\r\n }, 0)\r\n}\r\n</script>\r\n\r\n<template>\r\n <div ref=\"innerRef\" :class=\"[prefixCls, fieldRef.disabled && 'is-disabled']\">\r\n <div v-click-outside=\"onClickOutside\" :class=\"`${prefixCls}-content`\">\r\n <FormBaseItem ref=\"formItemRef\" v-bind=\"fieldRef.data?.readPretty === false ? editProps : commonProps\" @click=\"onClick\">\r\n <div>\r\n <slot />\r\n </div>\r\n </FormBaseItem>\r\n <template v-if=\"!fieldRef.disabled\">\r\n <template v-if=\"fieldRef.data?.readPretty === true\">\r\n <FormBaseItem :size=\"props.size\" :feedback-layout=\"props.feedbackLayout\">\r\n <Edit :class=\"`${prefixCls}-edit-btn`\" @click=\"onClick\" />\r\n </FormBaseItem>\r\n </template>\r\n <template v-else>\r\n <FormBaseItem :size=\"props.size\" :feedback-layout=\"props.feedbackLayout\">\r\n <Close :class=\"`${prefixCls}-close-btn`\" @click=\"onClickOutside\" />\r\n </FormBaseItem>\r\n </template>\r\n </template>\r\n </div>\r\n </div>\r\n</template>\r\n","import type { ElPopover } from 'element-plus'\r\nimport type { IFormItemProps } from '../form-item/types'\r\nimport { connect, mapProps } from '@silver-formily/vue'\r\nimport { composeExport } from '../__builtins__/shared'\r\nimport { fieldFeedbackMapper } from '../form-item'\r\nimport FEditablePopover from './editable-popover.vue'\r\nimport FEditable from './editable.vue'\r\nimport './style.scss'\r\n\r\nexport type EditableProps = IFormItemProps\r\nexport type EditablePopoverProps = typeof ElPopover\r\n\r\nconst EditableInner = connect<typeof FEditable>(FEditable, mapProps(\r\n {\r\n required: true,\r\n description: 'extra',\r\n },\r\n fieldFeedbackMapper,\r\n))\r\n\r\nconst EditablePopover = connect<typeof FEditablePopover>(FEditablePopover, mapProps(\r\n {\r\n required: true,\r\n description: 'extra',\r\n },\r\n fieldFeedbackMapper,\r\n))\r\n\r\nexport const Editable = composeExport(EditableInner, {\r\n Popover: EditablePopover,\r\n})\r\n\r\nexport default Editable\r\n"],"names":["props","__props","fieldRef","useField","prefixCls","stylePrefix","contentRef","ref","visible","isValid","onClickOutside","e","onClick","reaction","errorList","_createElementBlock","_createVNode","_unref","ElPopover","_mergeProps","_ctx","$attrs","_createElementVNode","_renderSlot","_createBlock","FormBaseItem","ElText","_createTextVNode","_toDisplayString","Edit","innerRef","formItemRef","commonProps","computed","omit","editProps","isPlainObj","handleEnsureReadPretty","nextTick","_normalizeClass","_Fragment","Close","EditableInner","connect","FEditable","mapProps","fieldFeedbackMapper","EditablePopover","FEditablePopover","Editable","composeExport"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,UAAMA,IAAQC,GAKRC,IAAWC,EAAA,GACXC,IAAY,GAAGC,CAAW,aAC1BC,IAAaC,EAAA,GACbC,IAAUD,EAAI,EAAK;AAEzB,IAAIE,EAAQP,EAAS,MAAM,IAAI,IAExBO,EAAQP,EAAS,MAAM,KAAK,UAAU,MACzCA,EAAS,MAAM,KAAK,aAAa,OAInCA,EAAS,MAAM,OAAO,CAAA,GACtBA,EAAS,MAAM,KAAK,aAAa;AAGnC,aAASQ,EAAeC,GAAG;AAGzB,MAFmBL,EAAW,MAAM,cAEpB,SAASK,EAAE,MAAM,MAC/BH,EAAQ,QAAQ;AAAA,IAEpB;AACA,aAASI,IAAU;AACjB,MAAAJ,EAAQ,QAAQ;AAAA,IAClB;AAEA,WAAAK;AAAA,MACE,MAAMX,EAAS,MAAM,KAAK,eAAe;AAAA,QACvC,MAAM;AAAA,QACN,SAAS,GAAGA,EAAS,MAAM,QAAQ,MAAM;AAAA,MAAA,CAC1C;AAAA,MACD,CAACY,MAAc;AACb,QAAIA,EAAU,SAAS,MACrBN,EAAQ,QAAQ;AAAA,MAEpB;AAAA,IAAA,mBAKAO,EAsBM,OAAA;AAAA,MAtBA,SAAOX,CAAS;AAAA,IAAA;MACpBY,EAoBYC,EAAAC,CAAA,GApBZC,EAoBYC,EAAA,QAnBI;AAAA,QACb,SAASZ,EAAA;AAAA,QACT,OAAOa,EAAAA,OAAO,SAASJ,EAAAf,CAAA,EAAS;AAAA,QAAO,SAAQ;AAAA,QAAQ,OAAM;AAAA,MAAA;QAEnD,WACT,MAEM;AAAA,UAFNoB,EAEM,OAAA;AAAA,qBAFG;AAAA,YAAJ,KAAIhB;AAAA,YAAc,YAAUF,CAAS,kBAAA;AAAA,UAAA;YACxCmB,EAAQH,EAAA,QAAA,SAAA;AAAA,UAAA;;QAGD,aACT,MAOe;AAAA,kBAPfI,EAOeP,EAAAQ,CAAA,GAPfN,EAOenB,GAP6C;AAAA,YAAG,UAAUI,CAAS;AAAA,UAAA;uBAChF,MAKM;AAAA,cALNkB,EAKM,OAAA;AAAA,gBALA,YAAUlB,CAAS,UAAA;AAAA,gBAAa,SAAAQ;AAAA,cAAA;gBACpCI,EAESC,EAAAS,CAAA,GAAA,MAAA;AAAA,6BADP,MAAoB;AAAA,oBAAjBC,EAAAC,EAAAX,EAAAf,CAAA,EAAS,KAAK,GAAA,CAAA;AAAA,kBAAA;;;gBAEnBc,EAAyCC,EAAAY,CAAA,GAAA;AAAA,kBAAlC,YAAUzB,CAAS,WAAA;AAAA,gBAAA;;;;;mBALCM,CAAc;AAAA,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3DrD,UAAMV,IAAQC,GAKRC,IAAWC,EAAA,GACX2B,IAAWvB,EAAiB,IAAI,GAChCH,IAAY,GAAGC,CAAW,aAC1B0B,IAAcxB,EAAuC,IAAI,GAEzDyB,IAAcC,EAAS,MAAMC,EAAKlC,GAAO,WAAW,CAAC,GACrDmC,IAAYF,EAAS,MACrBG,EAAWpC,EAAM,SAAS,IACrB,EAAE,GAAGkC,EAAKlC,GAAO,WAAW,GAAG,GAAGA,EAAM,UAAA,IAE1CkC,EAAKlC,GAAO,WAAW,CAC/B;AAED,aAASqC,IAAyB;AAChC,MAAK5B,EAAQP,EAAS,MAAM,IAAI,MAC9BA,EAAS,MAAM,OAAO,CAAA;AAAA,IAE1B;AAEA,IAAAmC,EAAA,GACAnC,EAAS,MAAM,KAAK,aAAa;AAEjC,mBAAeU,IAAU;AACvB,MAAIV,EAAS,MAAM,aAEnBmC,EAAA,GACAnC,EAAS,MAAM,KAAK,aAAa,IACjC,MAAMoC,EAAA,GACNP,EAAY,MAAM,mBAAmB,aAAA,GACrCD,EAAS,OAAO,cAAc,OAAO,GAAG,MAAA;AAAA,IAC1C;AAEA,aAASpB,IAAiB;AACxB,MAAIR,EAAS,MAAM,MAAM,eAAe,OAExCmC,EAAA,GAEA,WAAW,YAAY;AACrB,QAAAnC,EAAS,MAAM,KAAK,aAAa,IACjC,MAAMoC,EAAA,GACNP,EAAY,OAAO,mBAAmB,aAAA;AAAA,MACxC,GAAG,CAAC;AAAA,IACN;2BAIEhB,EAoBM,OAAA;AAAA,eApBG;AAAA,MAAJ,KAAIe;AAAA,MAAY,OAAKS,EAAA,CAAGnC,GAAWa,EAAAf,CAAA,EAAS,YAAQ,aAAA,CAAA;AAAA,IAAA;cACvDa,EAkBM,OAAA;AAAA,QAlBiC,YAAUX,CAAS,UAAA;AAAA,MAAA;QACxDY,EAIeC,MAJfE,EAIe;AAAA,mBAJG;AAAA,UAAJ,KAAIY;AAAA,QAAA,GAAsBd,EAAAf,CAAA,EAAS,MAAM,eAAU,KAAaiC,EAAA,QAAYH,EAAA,OAAW,EAAG,SAAApB,EAAA,CAAc,GAAA;AAAA,qBACpH,MAEM;AAAA,YAFNU,EAEM,OAAA,MAAA;AAAA,cADJC,EAAQH,EAAA,QAAA,SAAA;AAAA,YAAA;;;;QAGKH,EAAAf,CAAA,EAAS,6BAA1Ba,EAWWyB,GAAA,EAAA,KAAA,KAAA;AAAA,UAVOvB,EAAAf,CAAA,EAAS,MAAM,eAAU,WACvCsB,EAEeP,EAAAQ,CAAA,GAAA;AAAA;YAFA,MAAMzB,EAAM;AAAA,YAAO,mBAAiBA,EAAM;AAAA,UAAA;uBACvD,MAA0D;AAAA,cAA1DgB,EAA0DC,EAAAY,CAAA,GAAA;AAAA,gBAAnD,YAAUzB,CAAS,WAAA;AAAA,gBAAc,SAAAQ;AAAA,cAAA;;;sDAI1CY,EAEeP,EAAAQ,CAAA,GAAA;AAAA;YAFA,MAAMzB,EAAM;AAAA,YAAO,mBAAiBA,EAAM;AAAA,UAAA;uBACvD,MAAmE;AAAA,cAAnEgB,EAAmEC,EAAAwB,CAAA,GAAA;AAAA,gBAA3D,YAAUrC,CAAS,YAAA;AAAA,gBAAe,SAAOM;AAAA,cAAA;;;;;;eAdnCA,CAAc;AAAA,MAAA;;;ICxDlCgC,IAAgBC,EAA0BC,GAAWC;AAAA,EACzD;AAAA,IACE,UAAU;AAAA,IACV,aAAa;AAAA,EAAA;AAAA,EAEfC;AACF,CAAC,GAEKC,IAAkBJ,EAAiCK,GAAkBH;AAAA,EACzE;AAAA,IACE,UAAU;AAAA,IACV,aAAa;AAAA,EAAA;AAAA,EAEfC;AACF,CAAC,GAEYG,KAAWC,EAAcR,GAAe;AAAA,EACnD,SAASK;AACX,CAAC;"}
|
package/esm/env.d.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {}
|
package/esm/form/form.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as h,
|
|
1
|
+
import { defineComponent as h, openBlock as f, createBlock as p, unref as t, withCtx as i, createVNode as n, mergeProps as d, renderSlot as s, withModifiers as S, createCommentVNode as F } from "vue";
|
|
2
2
|
import { useForm as v, FormProvider as w } from "@silver-formily/vue";
|
|
3
3
|
import { PreviewText as c } from "../preview-text/index.mjs";
|
|
4
4
|
import { _ as b } from "../form-layout/form-layout.mjs";
|
|
@@ -25,7 +25,7 @@ const $ = /* @__PURE__ */ h({
|
|
|
25
25
|
function a(m, r) {
|
|
26
26
|
r.submit((e) => o.onAutoSubmit?.(e)).catch((e) => o.onAutoSubmitFailed?.(e));
|
|
27
27
|
}
|
|
28
|
-
return (m, r) => o.form ? (
|
|
28
|
+
return (m, r) => o.form ? (f(), p(t(w), {
|
|
29
29
|
key: 0,
|
|
30
30
|
form: o.form
|
|
31
31
|
}, {
|
|
@@ -47,13 +47,13 @@ const $ = /* @__PURE__ */ h({
|
|
|
47
47
|
}, 8, ["placeholder"])
|
|
48
48
|
]),
|
|
49
49
|
_: 3
|
|
50
|
-
}, 8, ["form"])) : t(u) ? (
|
|
50
|
+
}, 8, ["form"])) : t(u) ? (f(), p(t(c), {
|
|
51
51
|
key: 1,
|
|
52
52
|
placeholder: o.previewTextPlaceholder
|
|
53
53
|
}, {
|
|
54
54
|
default: i(() => [
|
|
55
55
|
n(t(b), d(m.$attrs, {
|
|
56
|
-
onSubmit: r[1] || (r[1] =
|
|
56
|
+
onSubmit: r[1] || (r[1] = S((e) => a(e, t(u)), ["prevent", "stop"]))
|
|
57
57
|
}), {
|
|
58
58
|
default: i(() => [
|
|
59
59
|
s(m.$slots, "default")
|
|
@@ -62,7 +62,7 @@ const $ = /* @__PURE__ */ h({
|
|
|
62
62
|
}, 16)
|
|
63
63
|
]),
|
|
64
64
|
_: 3
|
|
65
|
-
}, 8, ["placeholder"])) :
|
|
65
|
+
}, 8, ["placeholder"])) : F("", !0);
|
|
66
66
|
}
|
|
67
67
|
});
|
|
68
68
|
export {
|