@silver-formily/element-plus 3.0.2 → 4.0.1
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/README.en-US.md +3 -1
- package/README.md +3 -1
- package/esm/__builtins__/configs/index.mjs +6 -5
- package/esm/__builtins__/configs/index.mjs.map +1 -1
- package/esm/__builtins__/shared/load-config-provider.mjs +19 -11
- package/esm/__builtins__/shared/load-config-provider.mjs.map +1 -1
- package/esm/__builtins__/shared/loading.mjs +50 -46
- package/esm/__builtins__/shared/loading.mjs.map +1 -1
- package/esm/__builtins__/shared/simple-version-compare.mjs +16 -15
- package/esm/__builtins__/shared/simple-version-compare.mjs.map +1 -1
- package/esm/__builtins__/shared/transform-component.mjs +30 -31
- package/esm/__builtins__/shared/transform-component.mjs.map +1 -1
- package/esm/__builtins__/shared/use-enter-submit.mjs +74 -62
- package/esm/__builtins__/shared/use-enter-submit.mjs.map +1 -1
- package/esm/__builtins__/shared/utils.mjs +44 -32
- package/esm/__builtins__/shared/utils.mjs.map +1 -1
- package/esm/_virtual/_/plugin-vue/export-helper.mjs +8 -0
- package/esm/array-base/array-base-addition.mjs +53 -0
- package/esm/array-base/array-base-addition.mjs.map +1 -0
- package/esm/array-base/array-base-index.mjs +17 -0
- package/esm/array-base/array-base-index.mjs.map +1 -0
- package/esm/array-base/array-base-inner.mjs +30 -0
- package/esm/array-base/array-base-inner.mjs.map +1 -0
- package/esm/array-base/array-base-item.mjs +21 -0
- package/esm/array-base/array-base-item.mjs.map +1 -0
- package/esm/array-base/array-base-move-down.mjs +45 -0
- package/esm/array-base/array-base-move-down.mjs.map +1 -0
- package/esm/array-base/array-base-move-up.mjs +45 -0
- package/esm/array-base/array-base-move-up.mjs.map +1 -0
- package/esm/array-base/array-base-remove.mjs +45 -0
- package/esm/array-base/array-base-remove.mjs.map +1 -0
- package/esm/array-base/array-base-sort-handle.mjs +33 -0
- package/esm/array-base/array-base-sort-handle.mjs.map +1 -0
- package/esm/array-base/index.mjs +28 -208
- package/esm/array-base/index.mjs.map +1 -1
- package/esm/array-base/style.css +36 -0
- package/esm/array-base/symbols.mjs +7 -6
- package/esm/array-base/symbols.mjs.map +1 -1
- package/esm/array-base/types.d.ts +23 -24
- package/esm/array-base/utils.d.ts +11 -17
- package/esm/array-base/utils.mjs +58 -60
- package/esm/array-base/utils.mjs.map +1 -1
- package/esm/array-cards/array-cards.mjs +109 -0
- package/esm/array-cards/array-cards.mjs.map +1 -0
- package/esm/array-cards/index.d.ts +120 -113
- package/esm/array-cards/index.mjs +19 -118
- package/esm/array-cards/index.mjs.map +1 -1
- package/esm/array-cards/style.css +20 -0
- package/esm/array-collapse/array-collapse-item.mjs +74 -0
- package/esm/array-collapse/array-collapse-item.mjs.map +1 -0
- package/esm/array-collapse/array-collapse.mjs +117 -0
- package/esm/array-collapse/array-collapse.mjs.map +1 -0
- package/esm/array-collapse/index.d.ts +137 -129
- package/esm/array-collapse/index.mjs +21 -174
- package/esm/array-collapse/index.mjs.map +1 -1
- package/esm/array-collapse/style.css +20 -0
- package/esm/array-collapse/utils.mjs +7 -12
- package/esm/array-collapse/utils.mjs.map +1 -1
- package/esm/array-items/array-items-item.mjs +22 -0
- package/esm/array-items/array-items-item.mjs.map +1 -0
- package/esm/array-items/array-items.mjs +88 -0
- package/esm/array-items/array-items.mjs.map +1 -0
- package/esm/array-items/index.d.ts +132 -125
- package/esm/array-items/index.mjs +21 -107
- package/esm/array-items/index.mjs.map +1 -1
- package/esm/array-items/style.css +22 -0
- package/esm/array-list-tabs/array-list-tabs.mjs +191 -0
- package/esm/array-list-tabs/array-list-tabs.mjs.map +1 -0
- package/esm/array-list-tabs/index.d.ts +80 -74
- package/esm/array-list-tabs/index.mjs +12 -186
- package/esm/array-list-tabs/index.mjs.map +1 -1
- package/esm/array-list-tabs/style.css +90 -0
- package/esm/array-list-tabs/utils.mjs +11 -15
- package/esm/array-list-tabs/utils.mjs.map +1 -1
- package/esm/array-table/array-table.mjs +236 -0
- package/esm/array-table/array-table.mjs.map +1 -0
- package/esm/array-table/index.d.ts +106 -1597
- package/esm/array-table/index.mjs +24 -223
- package/esm/array-table/index.mjs.map +1 -1
- package/esm/array-table/style.css +23 -0
- package/esm/array-table/types.d.ts +11 -6
- package/esm/array-table/utils.mjs +14 -22
- package/esm/array-table/utils.mjs.map +1 -1
- package/esm/array-tabs/array-tabs.mjs +92 -0
- package/esm/array-tabs/array-tabs.mjs.map +1 -0
- package/esm/array-tabs/index.d.ts +7 -2
- package/esm/array-tabs/index.mjs +8 -84
- package/esm/array-tabs/index.mjs.map +1 -1
- package/esm/array-tabs/style.css +7 -0
- package/esm/autocomplete/autocomplete.mjs +99 -0
- package/esm/autocomplete/autocomplete.mjs.map +1 -0
- package/esm/autocomplete/index.d.ts +44 -638
- package/esm/autocomplete/index.mjs +14 -113
- package/esm/autocomplete/index.mjs.map +1 -1
- package/esm/cascader/cascader.mjs +32 -0
- package/esm/cascader/cascader.mjs.map +1 -0
- package/esm/cascader/index.d.ts +34 -27
- package/esm/cascader/index.mjs +13 -50
- package/esm/cascader/index.mjs.map +1 -1
- package/esm/checkbox/checkbox-group.mjs +64 -0
- package/esm/checkbox/checkbox-group.mjs.map +1 -0
- package/esm/checkbox/index.d.ts +772 -766
- package/esm/checkbox/index.mjs +16 -69
- package/esm/checkbox/index.mjs.map +1 -1
- package/esm/color-picker/index.d.ts +214 -207
- package/esm/color-picker/index.mjs +13 -17
- package/esm/color-picker/index.mjs.map +1 -1
- package/esm/color-picker-panel/index.d.ts +118 -110
- package/esm/color-picker-panel/index.mjs +16 -25
- package/esm/color-picker-panel/index.mjs.map +1 -1
- package/esm/date-picker/index.d.ts +449 -441
- package/esm/date-picker/index.mjs +21 -29
- package/esm/date-picker/index.mjs.map +1 -1
- package/esm/date-picker/utils.mjs +21 -26
- package/esm/date-picker/utils.mjs.map +1 -1
- package/esm/date-picker-panel/index.d.ts +149 -141
- package/esm/date-picker-panel/index.mjs +23 -30
- package/esm/date-picker-panel/index.mjs.map +1 -1
- package/esm/editable/editable-popover.mjs +95 -0
- package/esm/editable/editable-popover.mjs.map +1 -0
- package/esm/editable/editable.mjs +113 -0
- package/esm/editable/editable.mjs.map +1 -0
- package/esm/editable/index.d.ts +60 -141
- package/esm/editable/index.mjs +17 -219
- package/esm/editable/index.mjs.map +1 -1
- package/esm/editable/style.css +29 -0
- package/esm/form/form.mjs +50 -70
- package/esm/form/form.mjs.map +1 -1
- package/esm/form/form.vue.d.ts +48 -0
- package/esm/form/index.d.ts +1 -1
- package/esm/form-button-group/form-button-group-sticky.mjs +37 -0
- package/esm/form-button-group/form-button-group-sticky.mjs.map +1 -0
- package/esm/form-button-group/form-button-group.mjs +71 -0
- package/esm/form-button-group/form-button-group.mjs.map +1 -0
- package/esm/form-button-group/index.d.ts +94 -87
- package/esm/form-button-group/index.mjs +10 -96
- package/esm/form-button-group/index.mjs.map +1 -1
- package/esm/form-button-group/style.css +281 -0
- package/esm/form-button-group/utils.mjs +7 -12
- package/esm/form-button-group/utils.mjs.map +1 -1
- package/esm/form-collapse/form-collapse.mjs +74 -0
- package/esm/form-collapse/form-collapse.mjs.map +1 -0
- package/esm/form-collapse/index.d.ts +43 -39
- package/esm/form-collapse/index.mjs +20 -86
- package/esm/form-collapse/index.mjs.map +1 -1
- package/esm/form-collapse/style.css +7 -0
- package/esm/form-collapse/utils.d.ts +21 -27
- package/esm/form-collapse/utils.mjs +48 -46
- package/esm/form-collapse/utils.mjs.map +1 -1
- package/esm/form-dialog/dialog-content.mjs +118 -0
- package/esm/form-dialog/dialog-content.mjs.map +1 -0
- package/esm/form-dialog/index.d.ts +8 -4
- package/esm/form-dialog/index.mjs +142 -211
- package/esm/form-dialog/index.mjs.map +1 -1
- package/esm/form-dialog/types.d.ts +38 -32
- package/esm/form-drawer/drawer-content.mjs +118 -0
- package/esm/form-drawer/drawer-content.mjs.map +1 -0
- package/esm/form-drawer/index.d.ts +8 -4
- package/esm/form-drawer/index.mjs +142 -204
- package/esm/form-drawer/index.mjs.map +1 -1
- package/esm/form-drawer/types.d.ts +38 -32
- package/esm/form-grid/form-grid-column.mjs +28 -0
- package/esm/form-grid/form-grid-column.mjs.map +1 -0
- package/esm/form-grid/form-grid.mjs +69 -0
- package/esm/form-grid/form-grid.mjs.map +1 -0
- package/esm/form-grid/hooks.mjs +7 -7
- package/esm/form-grid/hooks.mjs.map +1 -1
- package/esm/form-grid/index.d.ts +5 -2
- package/esm/form-grid/index.mjs +10 -109
- package/esm/form-grid/index.mjs.map +1 -1
- package/esm/form-grid/style.css +128 -0
- package/esm/form-item/form-item.mjs +308 -0
- package/esm/form-item/form-item.mjs.map +1 -0
- package/esm/form-item/form-item.vue.d.ts +29 -0
- package/esm/form-item/index.d.ts +81 -67
- package/esm/form-item/index.mjs +28 -332
- package/esm/form-item/index.mjs.map +1 -1
- package/esm/form-item/style.css +263 -0
- package/esm/form-item/types.d.ts +34 -29
- package/esm/form-item/utils.mjs +15 -15
- package/esm/form-item/utils.mjs.map +1 -1
- package/esm/form-layout/form-layout.mjs +103 -83
- package/esm/form-layout/form-layout.mjs.map +1 -1
- package/esm/form-layout/form-layout.vue.d.ts +28 -0
- package/esm/form-layout/index.d.ts +1 -1
- package/esm/form-layout/types.d.ts +24 -40
- package/esm/form-layout/utils.mjs +73 -99
- package/esm/form-layout/utils.mjs.map +1 -1
- package/esm/form-step/form-step-pane.mjs +15 -0
- package/esm/form-step/form-step-pane.mjs.map +1 -0
- package/esm/form-step/form-step.mjs +63 -0
- package/esm/form-step/form-step.mjs.map +1 -0
- package/esm/form-step/index.d.ts +29 -23
- package/esm/form-step/index.mjs +12 -93
- package/esm/form-step/index.mjs.map +1 -1
- package/esm/form-step/types.d.ts +19 -19
- package/esm/form-step/utils.d.ts +14 -10
- package/esm/form-step/utils.mjs +75 -59
- package/esm/form-step/utils.mjs.map +1 -1
- package/esm/form-tab/form-tab.mjs +79 -0
- package/esm/form-tab/form-tab.mjs.map +1 -0
- package/esm/form-tab/hooks.mjs +18 -16
- package/esm/form-tab/hooks.mjs.map +1 -1
- package/esm/form-tab/index.d.ts +5 -3
- package/esm/form-tab/index.mjs +10 -76
- package/esm/form-tab/index.mjs.map +1 -1
- package/esm/form-tab/style.css +4 -0
- package/esm/form-tab/utils.mjs +14 -13
- package/esm/form-tab/utils.mjs.map +1 -1
- package/esm/index.d.ts +55 -48
- package/esm/index.mjs +51 -103
- package/esm/input/index.d.ts +41 -46
- package/esm/input/index.mjs +16 -68
- package/esm/input/index.mjs.map +1 -1
- package/esm/input/input.mjs +41 -0
- package/esm/input/input.mjs.map +1 -0
- package/esm/input-number/index.d.ts +281 -275
- package/esm/input-number/index.mjs +12 -24
- package/esm/input-number/index.mjs.map +1 -1
- package/esm/input-tag/index.d.ts +29 -31
- package/esm/input-tag/index.mjs +13 -49
- package/esm/input-tag/index.mjs.map +1 -1
- package/esm/input-tag/input-tag.mjs +41 -0
- package/esm/input-tag/input-tag.mjs.map +1 -0
- package/esm/mention/index.d.ts +39 -49
- package/esm/mention/index.mjs +15 -96
- package/esm/mention/index.mjs.map +1 -1
- package/esm/mention/mention.mjs +77 -0
- package/esm/mention/mention.mjs.map +1 -0
- package/esm/pagination/components/jumper.mjs +11 -12
- package/esm/pagination/components/jumper.mjs.map +1 -1
- package/esm/pagination/components/jumper2.mjs +59 -0
- package/esm/pagination/components/jumper2.mjs.map +1 -0
- package/esm/pagination/components/next.mjs +18 -22
- package/esm/pagination/components/next.mjs.map +1 -1
- package/esm/pagination/components/next2.mjs +38 -0
- package/esm/pagination/components/next2.mjs.map +1 -0
- package/esm/pagination/components/pager.mjs +21 -22
- package/esm/pagination/components/pager.mjs.map +1 -1
- package/esm/pagination/components/pager2.mjs +229 -0
- package/esm/pagination/components/pager2.mjs.map +1 -0
- package/esm/pagination/components/prev.mjs +16 -22
- package/esm/pagination/components/prev.mjs.map +1 -1
- package/esm/pagination/components/prev2.mjs +38 -0
- package/esm/pagination/components/prev2.mjs.map +1 -0
- package/esm/pagination/components/sizes.mjs +32 -7
- package/esm/pagination/components/sizes.mjs.map +1 -1
- package/esm/pagination/components/sizes2.mjs +66 -0
- package/esm/pagination/components/sizes2.mjs.map +1 -0
- package/esm/pagination/components/total.mjs +10 -11
- package/esm/pagination/components/total.mjs.map +1 -1
- package/esm/pagination/components/total2.mjs +26 -0
- package/esm/pagination/components/total2.mjs.map +1 -0
- package/esm/pagination/pagination.mjs +271 -626
- package/esm/pagination/pagination.mjs.map +1 -1
- package/esm/password/index.d.ts +43 -48
- package/esm/password/index.mjs +11 -14
- package/esm/password/index.mjs.map +1 -1
- package/esm/picker-select/index.d.ts +47 -0
- package/esm/picker-select/index.mjs +14 -0
- package/esm/picker-select/index.mjs.map +1 -0
- package/esm/picker-select/picker-select.mjs +186 -0
- package/esm/picker-select/picker-select.mjs.map +1 -0
- package/esm/picker-select/types.d.ts +23 -0
- package/esm/preview-text/cascader.mjs +51 -0
- package/esm/preview-text/cascader.mjs.map +1 -0
- package/esm/preview-text/color-picker.mjs +37 -0
- package/esm/preview-text/color-picker.mjs.map +1 -0
- package/esm/preview-text/date-picker.mjs +61 -0
- package/esm/preview-text/date-picker.mjs.map +1 -0
- package/esm/preview-text/index.d.ts +107 -106
- package/esm/preview-text/index.mjs +25 -363
- package/esm/preview-text/index.mjs.map +1 -1
- package/esm/preview-text/input.mjs +39 -0
- package/esm/preview-text/input.mjs.map +1 -0
- package/esm/preview-text/preview.mjs +30 -0
- package/esm/preview-text/preview.mjs.map +1 -0
- package/esm/preview-text/rate.mjs +32 -0
- package/esm/preview-text/rate.mjs.map +1 -0
- package/esm/preview-text/select.mjs +42 -0
- package/esm/preview-text/select.mjs.map +1 -0
- package/esm/preview-text/style.css +16 -0
- package/esm/preview-text/time-picker.mjs +39 -0
- package/esm/preview-text/time-picker.mjs.map +1 -0
- package/esm/preview-text/tree.mjs +73 -0
- package/esm/preview-text/tree.mjs.map +1 -0
- package/esm/preview-text/utils.d.ts +10 -13
- package/esm/preview-text/utils.mjs +15 -15
- package/esm/preview-text/utils.mjs.map +1 -1
- package/esm/query-form/default-components.mjs +45 -45
- package/esm/query-form/default-components.mjs.map +1 -1
- package/esm/query-form/hooks.mjs +31 -26
- package/esm/query-form/hooks.mjs.map +1 -1
- package/esm/query-form/index.d.ts +115 -105
- package/esm/query-form/index.mjs +10 -333
- package/esm/query-form/index.mjs.map +1 -1
- package/esm/query-form/query-form-light.mjs +86 -0
- package/esm/query-form/query-form-light.mjs.map +1 -0
- package/esm/query-form/query-form.mjs +263 -0
- package/esm/query-form/query-form.mjs.map +1 -0
- package/esm/query-form/style.css +27 -0
- package/esm/query-form/types.d.ts +42 -41
- package/esm/query-form-item/index.d.ts +138 -131
- package/esm/query-form-item/index.mjs +15 -183
- package/esm/query-form-item/index.mjs.map +1 -1
- package/esm/query-form-item/query-form-item.mjs +195 -0
- package/esm/query-form-item/query-form-item.mjs.map +1 -0
- package/esm/query-form-item/style.css +12 -0
- package/esm/query-form-item/types.d.ts +42 -38
- package/esm/radio/index.d.ts +482 -472
- package/esm/radio/index.mjs +15 -68
- package/esm/radio/index.mjs.map +1 -1
- package/esm/radio/radio-group.mjs +70 -0
- package/esm/radio/radio-group.mjs.map +1 -0
- package/esm/{styles/radio/index.css → radio/style.css} +3 -1
- package/esm/rate/index.d.ts +190 -184
- package/esm/rate/index.mjs +13 -17
- package/esm/rate/index.mjs.map +1 -1
- package/esm/reset/index.d.ts +5 -2
- package/esm/reset/index.mjs +8 -44
- package/esm/reset/index.mjs.map +1 -1
- package/esm/reset/reset.mjs +42 -0
- package/esm/reset/reset.mjs.map +1 -0
- package/esm/segmented/index.d.ts +31 -25
- package/esm/segmented/index.mjs +13 -40
- package/esm/segmented/index.mjs.map +1 -1
- package/esm/segmented/segmented.mjs +26 -0
- package/esm/segmented/segmented.mjs.map +1 -0
- package/esm/select/index.d.ts +108 -121
- package/esm/select/index.mjs +14 -127
- package/esm/select/index.mjs.map +1 -1
- package/esm/select/select.mjs +95 -0
- package/esm/select/select.mjs.map +1 -0
- package/esm/select-table/index.d.ts +53 -1546
- package/esm/select-table/index.mjs +12 -204
- package/esm/select-table/index.mjs.map +1 -1
- package/esm/select-table/select-table.mjs +202 -0
- package/esm/select-table/select-table.mjs.map +1 -0
- package/esm/select-table/style.css +14 -0
- package/esm/select-table/types.d.ts +21 -16
- package/esm/shared/overlay-elements.mjs +15 -16
- package/esm/shared/overlay-elements.mjs.map +1 -1
- package/esm/shared/url-change-listener.mjs +50 -0
- package/esm/shared/url-change-listener.mjs.map +1 -0
- package/esm/slider/index.d.ts +182 -174
- package/esm/slider/index.mjs +13 -17
- package/esm/slider/index.mjs.map +1 -1
- package/esm/space/index.d.ts +2 -1
- package/esm/space/index.mjs +2 -6
- package/esm/submit/index.d.ts +5 -2
- package/esm/submit/index.mjs +8 -40
- package/esm/submit/index.mjs.map +1 -1
- package/esm/submit/submit.mjs +41 -0
- package/esm/submit/submit.mjs.map +1 -0
- package/esm/switch/index.d.ts +255 -249
- package/esm/switch/index.mjs +8 -13
- package/esm/switch/index.mjs.map +1 -1
- package/esm/time-picker/index.d.ts +451 -443
- package/esm/time-picker/index.mjs +10 -17
- package/esm/time-picker/index.mjs.map +1 -1
- package/esm/time-select/index.d.ts +189 -182
- package/esm/time-select/index.mjs +13 -17
- package/esm/time-select/index.mjs.map +1 -1
- package/esm/transfer/index.d.ts +246 -238
- package/esm/transfer/index.mjs +8 -11
- package/esm/transfer/index.mjs.map +1 -1
- package/esm/tree/index.d.ts +40 -33
- package/esm/tree/index.mjs +14 -104
- package/esm/tree/index.mjs.map +1 -1
- package/esm/tree/tree.mjs +127 -0
- package/esm/tree/tree.mjs.map +1 -0
- package/esm/tree/types.d.ts +17 -12
- package/esm/tree/utils.mjs +157 -149
- package/esm/tree/utils.mjs.map +1 -1
- package/esm/tree-select/index.d.ts +22 -15
- package/esm/tree-select/index.mjs +13 -40
- package/esm/tree-select/index.mjs.map +1 -1
- package/esm/tree-select/tree-select.mjs +38 -0
- package/esm/tree-select/tree-select.mjs.map +1 -0
- package/esm/upload/index.d.ts +117 -696
- package/esm/upload/index.mjs +11 -172
- package/esm/upload/index.mjs.map +1 -1
- package/esm/upload/upload.mjs +176 -0
- package/esm/upload/upload.mjs.map +1 -0
- package/package.json +24 -25
- package/esm/__builtins__/configs/index.d.ts +0 -1
- package/esm/__builtins__/index.d.ts +0 -2
- package/esm/__builtins__/index.mjs +0 -23
- package/esm/__builtins__/index.mjs.map +0 -1
- package/esm/__builtins__/shared/index.d.ts +0 -6
- package/esm/__builtins__/shared/index.mjs +0 -21
- package/esm/__builtins__/shared/index.mjs.map +0 -1
- package/esm/__builtins__/shared/load-config-provider.d.ts +0 -2
- package/esm/__builtins__/shared/loading.d.ts +0 -12
- package/esm/__builtins__/shared/simple-version-compare.d.ts +0 -2
- package/esm/__builtins__/shared/transform-component.d.ts +0 -3
- package/esm/__builtins__/shared/types.d.ts +0 -2
- package/esm/__builtins__/shared/types.mjs +0 -2
- package/esm/__builtins__/shared/types.mjs.map +0 -1
- package/esm/__builtins__/shared/use-enter-submit.d.ts +0 -9
- package/esm/__builtins__/shared/utils.d.ts +0 -9
- package/esm/array-base/array-base-addition.d.ts +0 -5
- package/esm/array-base/array-base-index.d.ts +0 -19
- package/esm/array-base/array-base-inner.d.ts +0 -18
- package/esm/array-base/array-base-item.d.ts +0 -18
- package/esm/array-base/array-base-move-down.d.ts +0 -18
- package/esm/array-base/array-base-move-up.d.ts +0 -18
- package/esm/array-base/array-base-remove.d.ts +0 -18
- package/esm/array-base/array-base-sort-handle.d.ts +0 -2
- package/esm/array-base/index.d.ts +0 -114
- package/esm/array-base/symbols.d.ts +0 -4
- package/esm/array-base/types.mjs +0 -2
- package/esm/array-base/types.mjs.map +0 -1
- package/esm/array-cards/array-cards.d.ts +0 -13
- package/esm/array-collapse/array-collapse-item.d.ts +0 -18
- package/esm/array-collapse/array-collapse.d.ts +0 -16
- package/esm/array-collapse/utils.d.ts +0 -1
- package/esm/array-items/array-items-item.d.ts +0 -30
- package/esm/array-items/array-items.d.ts +0 -2
- package/esm/array-list-tabs/array-list-tabs.d.ts +0 -31
- package/esm/array-list-tabs/utils.d.ts +0 -3
- package/esm/array-table/array-table.d.ts +0 -1505
- package/esm/array-table/types.mjs +0 -2
- package/esm/array-table/types.mjs.map +0 -1
- package/esm/array-table/utils.d.ts +0 -5
- package/esm/array-tabs/array-tabs.d.ts +0 -2
- package/esm/autocomplete/autocomplete.d.ts +0 -1222
- package/esm/cascader/cascader.d.ts +0 -25
- package/esm/checkbox/checkbox-group.d.ts +0 -42
- package/esm/date-picker/utils.d.ts +0 -4
- package/esm/editable/editable-popover.d.ts +0 -25
- package/esm/editable/editable.d.ts +0 -193
- package/esm/env.d.d.ts +0 -1
- package/esm/env.d.mjs +0 -2
- package/esm/env.d.mjs.map +0 -1
- package/esm/form/form.d.ts +0 -46
- package/esm/form/index.mjs +0 -6
- package/esm/form/index.mjs.map +0 -1
- package/esm/form-button-group/form-button-group-sticky.d.ts +0 -17
- package/esm/form-button-group/form-button-group.d.ts +0 -57
- package/esm/form-button-group/utils.d.ts +0 -1
- package/esm/form-collapse/form-collapse.d.ts +0 -18
- package/esm/form-dialog/dialog-content.d.ts +0 -846
- package/esm/form-dialog/types.mjs +0 -2
- package/esm/form-dialog/types.mjs.map +0 -1
- package/esm/form-drawer/drawer-content.d.ts +0 -976
- package/esm/form-drawer/types.mjs +0 -2
- package/esm/form-drawer/types.mjs.map +0 -1
- package/esm/form-grid/form-grid-column.d.ts +0 -29
- package/esm/form-grid/form-grid.d.ts +0 -101
- package/esm/form-grid/hooks.d.ts +0 -4
- package/esm/form-item/form-item.d.ts +0 -19
- package/esm/form-item/types.mjs +0 -2
- package/esm/form-item/types.mjs.map +0 -1
- package/esm/form-item/utils.d.ts +0 -3
- package/esm/form-layout/form-layout.d.ts +0 -31
- package/esm/form-layout/index.mjs +0 -6
- package/esm/form-layout/index.mjs.map +0 -1
- package/esm/form-layout/types.mjs +0 -2
- package/esm/form-layout/types.mjs.map +0 -1
- package/esm/form-layout/utils.d.ts +0 -57
- package/esm/form-step/form-step-pane.d.ts +0 -2
- package/esm/form-step/form-step.d.ts +0 -5
- package/esm/form-step/types.mjs +0 -2
- package/esm/form-step/types.mjs.map +0 -1
- package/esm/form-tab/form-tab.d.ts +0 -7
- package/esm/form-tab/hooks.d.ts +0 -8
- package/esm/form-tab/types.d.ts +0 -12
- package/esm/form-tab/types.mjs +0 -2
- package/esm/form-tab/types.mjs.map +0 -1
- package/esm/form-tab/utils.d.ts +0 -4
- package/esm/index.mjs.map +0 -1
- package/esm/input/input.d.ts +0 -25
- package/esm/input-tag/input-tag.d.ts +0 -32
- package/esm/mention/mention.d.ts +0 -51
- package/esm/pagination/components/jumper.d.ts +0 -16
- package/esm/pagination/components/next.d.ts +0 -42
- package/esm/pagination/components/pager.d.ts +0 -42
- package/esm/pagination/components/prev.d.ts +0 -39
- package/esm/pagination/components/sizes.d.ts +0 -56
- package/esm/pagination/components/total.d.ts +0 -8
- package/esm/pagination/pagination.d.ts +0 -128
- package/esm/preview-text/cascader.d.ts +0 -5
- package/esm/preview-text/color-picker.d.ts +0 -5
- package/esm/preview-text/date-picker.d.ts +0 -5
- package/esm/preview-text/input.d.ts +0 -28
- package/esm/preview-text/preview.d.ts +0 -18
- package/esm/preview-text/rate.d.ts +0 -5
- package/esm/preview-text/select.d.ts +0 -5
- package/esm/preview-text/time-picker.d.ts +0 -5
- package/esm/preview-text/tree.d.ts +0 -22
- package/esm/query-form/default-components.d.ts +0 -5
- package/esm/query-form/hooks.d.ts +0 -25
- package/esm/query-form/query-form-light.d.ts +0 -27
- package/esm/query-form/query-form.d.ts +0 -52
- package/esm/query-form/types.mjs +0 -2
- package/esm/query-form/types.mjs.map +0 -1
- package/esm/query-form-item/query-form-item.d.ts +0 -96
- package/esm/query-form-item/types.mjs +0 -2
- package/esm/query-form-item/types.mjs.map +0 -1
- package/esm/radio/radio-group.d.ts +0 -33
- package/esm/reset/reset.d.ts +0 -45
- package/esm/segmented/segmented.d.ts +0 -25
- package/esm/select/select.d.ts +0 -45
- package/esm/select-table/select-table.d.ts +0 -3030
- package/esm/select-table/types.mjs +0 -2
- package/esm/select-table/types.mjs.map +0 -1
- package/esm/shared/overlay-elements.d.ts +0 -6
- package/esm/space/index.mjs.map +0 -1
- package/esm/styles/array-base/index.css +0 -1
- package/esm/styles/array-cards/index.css +0 -1
- package/esm/styles/array-collapse/index.css +0 -1
- package/esm/styles/array-items/index.css +0 -1
- package/esm/styles/array-list-tabs/index.css +0 -1
- package/esm/styles/array-table/index.css +0 -1
- package/esm/styles/array-tabs/index.css +0 -1
- package/esm/styles/editable/index.css +0 -1
- package/esm/styles/form-button-group/index.css +0 -1
- package/esm/styles/form-collapse/index.css +0 -1
- package/esm/styles/form-grid/index.css +0 -1
- package/esm/styles/form-item/index.css +0 -1
- package/esm/styles/form-tab/index.css +0 -1
- package/esm/styles/preview-text/index.css +0 -1
- package/esm/styles/query-form/index.css +0 -1
- package/esm/styles/query-form-item/index.css +0 -1
- package/esm/styles/select-table/index.css +0 -1
- package/esm/submit/submit.d.ts +0 -36
- package/esm/tree/tree.d.ts +0 -20
- package/esm/tree/types.mjs +0 -2
- package/esm/tree/types.mjs.map +0 -1
- package/esm/tree/utils.d.ts +0 -45
- package/esm/tree-select/tree-select.d.ts +0 -10
- package/esm/upload/upload.d.ts +0 -1259
- package/esm/vendor/icon.mjs +0 -11
- package/esm/vendor/icon.mjs.map +0 -1
- package/esm/vendor/lodash.mjs +0 -1506
- package/esm/vendor/lodash.mjs.map +0 -1
- package/esm/vendor/runtime.mjs +0 -34
- package/esm/vendor/runtime.mjs.map +0 -1
- package/esm/vendor/shared.esm-bundler.mjs +0 -9
- package/esm/vendor/shared.esm-bundler.mjs.map +0 -1
- package/esm/vendor/sizes.mjs +0 -27
- package/esm/vendor/sizes.mjs.map +0 -1
- package/esm/vendor/types.mjs +0 -19
- package/esm/vendor/types.mjs.map +0 -1
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { FormDrawerSlotContent, IFormDrawer, IFormDrawerProps } from "./types.js";
|
|
2
|
+
import { Component } from "vue";
|
|
3
|
+
|
|
4
|
+
//#region src/form-drawer/index.d.ts
|
|
5
|
+
declare function FormDrawer<T extends object = any, const DynamicMiddlewareNames extends readonly string[] = []>(title: IFormDrawerProps | string, content?: Component | FormDrawerSlotContent<T, DynamicMiddlewareNames[number]>, dynamicMiddlewareNames?: DynamicMiddlewareNames): IFormDrawer<T, DynamicMiddlewareNames[number]>;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { FormDrawer };
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,205 +1,143 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
throw new Error(`for${S(t)} is presved`);
|
|
140
|
-
e[`${t}Middlewares`] = [];
|
|
141
|
-
}
|
|
142
|
-
document.body.append(e.root);
|
|
143
|
-
const u = E(o) ? { title: o } : o;
|
|
144
|
-
function d(r, t, i) {
|
|
145
|
-
const a = ee(s) ? { default: () => x(s) } : s;
|
|
146
|
-
if (!e.instance) {
|
|
147
|
-
const v = N({
|
|
148
|
-
setup(le, { expose: T }) {
|
|
149
|
-
const P = B(!1);
|
|
150
|
-
return T({
|
|
151
|
-
visible: P
|
|
152
|
-
}), () => x(se, {
|
|
153
|
-
drawerProps: u,
|
|
154
|
-
form: e.form,
|
|
155
|
-
resolve: t,
|
|
156
|
-
reject: i,
|
|
157
|
-
visible: P.value
|
|
158
|
-
}, a);
|
|
159
|
-
}
|
|
160
|
-
});
|
|
161
|
-
e.app = Q(v), e.instance = e.app.mount(e.root);
|
|
162
|
-
}
|
|
163
|
-
e.instance.visible = r;
|
|
164
|
-
}
|
|
165
|
-
function m() {
|
|
166
|
-
const r = Z();
|
|
167
|
-
setTimeout(() => {
|
|
168
|
-
e.app?.unmount?.(), e.app = null, e.instance = null, e.root?.remove(), e.root = void 0;
|
|
169
|
-
}, r);
|
|
170
|
-
}
|
|
171
|
-
const l = {
|
|
172
|
-
forOpen: (r) => (p(r) && e.openMiddlewares.push(r), l),
|
|
173
|
-
forConfirm: (r) => (p(r) && e.confirmMiddlewares.push(r), l),
|
|
174
|
-
forCancel: (r) => (p(r) && e.cancelMiddlewares.push(r), l),
|
|
175
|
-
open: (r) => (e.promise || (e.promise = new Promise((t, i) => {
|
|
176
|
-
M(u.loadingText, () => w(r, e.openMiddlewares)).then((a) => {
|
|
177
|
-
e.form = e.form || V(a), d(!0, (v) => {
|
|
178
|
-
e.form.submit(async () => {
|
|
179
|
-
await (z(v) ? w(e.form, e[`${v}Middlewares`]) : w(e.form, e.confirmMiddlewares)), t(q(e.form.values)), l.close(), m();
|
|
180
|
-
}).catch(() => {
|
|
181
|
-
});
|
|
182
|
-
}, async () => {
|
|
183
|
-
await M(u.loadingText, () => w(e.form, e.cancelMiddlewares)), l.close(), m(), i(new Error("cancel"));
|
|
184
|
-
});
|
|
185
|
-
}).catch(
|
|
186
|
-
/* istanbul ignore next -- @preserve */
|
|
187
|
-
(a) => i(a)
|
|
188
|
-
);
|
|
189
|
-
})), e.promise),
|
|
190
|
-
close: () => {
|
|
191
|
-
e.root && d(!1);
|
|
192
|
-
}
|
|
193
|
-
};
|
|
194
|
-
if (y(f))
|
|
195
|
-
for (const r of f) {
|
|
196
|
-
const t = F(r);
|
|
197
|
-
l[`for${S(t)}`] = (i) => (p(i) && e[`${t}Middlewares`].push(i), l);
|
|
198
|
-
}
|
|
199
|
-
return l;
|
|
1
|
+
import { getTransitionDuration, loading } from "../__builtins__/shared/loading.mjs";
|
|
2
|
+
import { isVueOptions } from "../__builtins__/shared/utils.mjs";
|
|
3
|
+
import { onUrlChange } from "../shared/url-change-listener.mjs";
|
|
4
|
+
import _sfc_main from "./drawer-content.mjs";
|
|
5
|
+
import { observer } from "@silver-formily/reactive-vue";
|
|
6
|
+
import { createApp, h, ref } from "vue";
|
|
7
|
+
import { createForm } from "@formily/core";
|
|
8
|
+
import { applyMiddleware, isArr, isFn, isStr, isValid, pascalCase } from "@formily/shared";
|
|
9
|
+
import { camelCase } from "lodash-es";
|
|
10
|
+
import { toJS } from "@formily/reactive";
|
|
11
|
+
//#region src/form-drawer/index.ts
|
|
12
|
+
function FormDrawer(title, content, dynamicMiddlewareNames) {
|
|
13
|
+
const env = {
|
|
14
|
+
root: document.createElement("div"),
|
|
15
|
+
form: null,
|
|
16
|
+
promise: null,
|
|
17
|
+
app: null,
|
|
18
|
+
instance: null,
|
|
19
|
+
stopUrlChangeListener: void 0,
|
|
20
|
+
settled: false,
|
|
21
|
+
openMiddlewares: [],
|
|
22
|
+
confirmMiddlewares: [],
|
|
23
|
+
cancelMiddlewares: []
|
|
24
|
+
};
|
|
25
|
+
if (isArr(dynamicMiddlewareNames)) for (const middlewareName of dynamicMiddlewareNames) {
|
|
26
|
+
/* istanbul ignore if -- @preserve */
|
|
27
|
+
if (!isStr(middlewareName)) return;
|
|
28
|
+
const _middlewareName = camelCase(middlewareName);
|
|
29
|
+
/* istanbul ignore if -- @preserve */
|
|
30
|
+
if ([
|
|
31
|
+
"open",
|
|
32
|
+
"cancel",
|
|
33
|
+
"confirm"
|
|
34
|
+
].includes(_middlewareName)) throw new Error(`for${pascalCase(_middlewareName)} is presved`);
|
|
35
|
+
env[`${_middlewareName}Middlewares`] = [];
|
|
36
|
+
}
|
|
37
|
+
document.body.append(env.root);
|
|
38
|
+
const rawProps = isStr(title) ? { title } : title;
|
|
39
|
+
const props = {
|
|
40
|
+
...rawProps,
|
|
41
|
+
closeOnUrlChange: rawProps.closeOnUrlChange ?? true
|
|
42
|
+
};
|
|
43
|
+
function render(visible, resolve, reject) {
|
|
44
|
+
const _content = isVueOptions(content) ? { default: () => h(content) } : isFn(content) ? { default: content } : content;
|
|
45
|
+
if (!env.instance) {
|
|
46
|
+
env.app = createApp(observer({ setup(_, { expose }) {
|
|
47
|
+
const visible = ref(false);
|
|
48
|
+
expose({ visible });
|
|
49
|
+
return () => h(_sfc_main, {
|
|
50
|
+
drawerProps: props,
|
|
51
|
+
form: env.form,
|
|
52
|
+
resolve,
|
|
53
|
+
reject,
|
|
54
|
+
visible: visible.value
|
|
55
|
+
}, _content);
|
|
56
|
+
} }));
|
|
57
|
+
env.instance = env.app.mount(env.root);
|
|
58
|
+
}
|
|
59
|
+
env.instance.visible = visible;
|
|
60
|
+
}
|
|
61
|
+
function disposeDrawer() {
|
|
62
|
+
env.stopUrlChangeListener?.();
|
|
63
|
+
env.stopUrlChangeListener = void 0;
|
|
64
|
+
const animationDuration = getTransitionDuration();
|
|
65
|
+
setTimeout(() => {
|
|
66
|
+
env.app?.unmount?.();
|
|
67
|
+
env.app = null;
|
|
68
|
+
env.instance = null;
|
|
69
|
+
env.root?.remove();
|
|
70
|
+
env.root = void 0;
|
|
71
|
+
}, animationDuration);
|
|
72
|
+
}
|
|
73
|
+
async function rejectDrawer(reject) {
|
|
74
|
+
if (env.settled) return;
|
|
75
|
+
env.settled = true;
|
|
76
|
+
env.stopUrlChangeListener?.();
|
|
77
|
+
env.stopUrlChangeListener = void 0;
|
|
78
|
+
await loading(props.loadingText, () => applyMiddleware(env.form, env.cancelMiddlewares));
|
|
79
|
+
render(false);
|
|
80
|
+
disposeDrawer();
|
|
81
|
+
reject?.();
|
|
82
|
+
}
|
|
83
|
+
const formDrawer = {
|
|
84
|
+
forOpen: (middleware) => {
|
|
85
|
+
isFn(middleware) && env.openMiddlewares.push(middleware);
|
|
86
|
+
return formDrawer;
|
|
87
|
+
},
|
|
88
|
+
forConfirm: (middleware) => {
|
|
89
|
+
isFn(middleware) && env.confirmMiddlewares.push(middleware);
|
|
90
|
+
return formDrawer;
|
|
91
|
+
},
|
|
92
|
+
forCancel: (middleware) => {
|
|
93
|
+
isFn(middleware) && env.cancelMiddlewares.push(middleware);
|
|
94
|
+
return formDrawer;
|
|
95
|
+
},
|
|
96
|
+
open: (payload) => {
|
|
97
|
+
/* istanbul ignore if -- @preserve */
|
|
98
|
+
if (env.promise) return env.promise;
|
|
99
|
+
env.settled = false;
|
|
100
|
+
env.promise = new Promise((res, rej) => {
|
|
101
|
+
loading(props.loadingText, () => applyMiddleware(payload, env.openMiddlewares)).then((resPayload) => {
|
|
102
|
+
env.form = env.form || createForm(resPayload);
|
|
103
|
+
render(true, (type) => {
|
|
104
|
+
env.form.submit(async () => {
|
|
105
|
+
if (env.settled) return;
|
|
106
|
+
env.settled = true;
|
|
107
|
+
env.stopUrlChangeListener?.();
|
|
108
|
+
env.stopUrlChangeListener = void 0;
|
|
109
|
+
await (isValid(type) ? applyMiddleware(env.form, env[`${type}Middlewares`]) : applyMiddleware(env.form, env.confirmMiddlewares));
|
|
110
|
+
res(toJS(env.form.values));
|
|
111
|
+
formDrawer.close();
|
|
112
|
+
disposeDrawer();
|
|
113
|
+
}).catch(() => void 0);
|
|
114
|
+
}, () => rejectDrawer(() => rej(/* @__PURE__ */ new Error("cancel"))));
|
|
115
|
+
if (props.closeOnUrlChange) env.stopUrlChangeListener = onUrlChange(() => {
|
|
116
|
+
rejectDrawer(() => rej(/* @__PURE__ */ new Error("cancel")));
|
|
117
|
+
});
|
|
118
|
+
}).catch(
|
|
119
|
+
/* istanbul ignore next -- @preserve */
|
|
120
|
+
(error) => rej(error)
|
|
121
|
+
);
|
|
122
|
+
});
|
|
123
|
+
return env.promise;
|
|
124
|
+
},
|
|
125
|
+
close: () => {
|
|
126
|
+
/* istanbul ignore if -- @preserve */
|
|
127
|
+
if (!env.root) return;
|
|
128
|
+
render(false);
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
if (isArr(dynamicMiddlewareNames)) for (const middlewareName of dynamicMiddlewareNames) {
|
|
132
|
+
const _middlewareName = camelCase(middlewareName);
|
|
133
|
+
formDrawer[`for${pascalCase(_middlewareName)}`] = (middleware) => {
|
|
134
|
+
isFn(middleware) && env[`${_middlewareName}Middlewares`].push(middleware);
|
|
135
|
+
return formDrawer;
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
return formDrawer;
|
|
200
139
|
}
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
//# sourceMappingURL=index.mjs.map
|
|
140
|
+
//#endregion
|
|
141
|
+
export { FormDrawer as default };
|
|
142
|
+
|
|
143
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/form-drawer/drawer-content.vue","../../src/form-drawer/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Form } from '@formily/core'\nimport type { ComponentPublicInstance, PropType } from 'vue'\nimport type { FormDrawerSlots, IFormDrawerProps } from './types'\nimport { isFn } from '@formily/shared'\nimport { FormProvider } from '@silver-formily/vue'\nimport { ElButton, ElConfigProvider, ElDrawer } from 'element-plus'\nimport { omit } from 'lodash-es'\nimport { computed, ref } from 'vue'\nimport { loadElConfigProvider, stylePrefix, useDebonceSubmitting } from '../__builtins__'\nimport { useEnterSubmit } from '../__builtins__/shared/use-enter-submit'\nimport { resolveDrawerElement } from '../shared/overlay-elements'\n\ndefineOptions({\n name: 'FormDrawerContent',\n})\n\nconst props = defineProps({\n drawerProps: {\n type: Object as PropType<IFormDrawerProps>,\n required: true,\n },\n visible: {\n type: Boolean,\n required: true,\n },\n form: {\n type: Object as PropType<Form>,\n required: true,\n },\n resolve: {\n type: Function as PropType<(type?: string) => void>,\n required: true,\n },\n reject: {\n type: Function as PropType<() => void>,\n required: true,\n },\n})\nconst slots = defineSlots<FormDrawerSlots>()\nconst prefixCls = `${stylePrefix}-form-drawer`\nconst elConfig = loadElConfigProvider()\n\nconst { internalSubmitting } = useDebonceSubmitting(props.form)\nconst _drawerProps = omit(props.drawerProps, ['modelValue', 'onUpdate:modelValue', 'beforeClose', 'enterSubmit'])\nconst drawerRef = ref<ComponentPublicInstance | null>(null)\nconst enableEnterSubmit = computed(() => props.drawerProps.enterSubmit !== false)\n\nuseEnterSubmit({\n visible: computed(() => props.visible),\n resolve: () => props.resolve(),\n submitting: internalSubmitting,\n getContainer: () => resolveDrawerElement(drawerRef.value),\n enabled: enableEnterSubmit,\n})\n</script>\n\n<template>\n <ElDrawer\n ref=\"drawerRef\"\n :class=\"prefixCls\"\n :z-index=\"elConfig.zIndex\"\n v-bind=\"_drawerProps\"\n :model-value=\"visible\"\n :before-close=\"(done) => {\n reject()\n if (isFn(props.drawerProps.beforeClose)) {\n props.drawerProps.beforeClose(done)\n }\n else {\n done()\n }\n }\"\n >\n <template v-if=\"slots.header\" #header>\n <slot name=\"header\" :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\n </template>\n\n <template #default>\n <FormProvider :form=\"form\">\n <ElConfigProvider v-bind=\"elConfig\">\n <slot :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\n </ElConfigProvider>\n </FormProvider>\n </template>\n\n <template #footer>\n <div :class=\"`${prefixCls}-footer`\">\n <template v-if=\"slots.footer\">\n <slot name=\"footer\" :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\n </template>\n <template v-else>\n <ElButton\n v-bind=\"_drawerProps.cancelButtonProps\"\n @click=\"reject()\"\n >\n {{ _drawerProps.cancelText || '取消' }}\n </ElButton>\n <ElButton\n type=\"primary\"\n v-bind=\"_drawerProps.okButtonProps\"\n :loading=\"internalSubmitting\"\n @click=\"resolve()\"\n >\n {{ _drawerProps.okText || '确定' }}\n </ElButton>\n </template>\n </div>\n </template>\n </ElDrawer>\n</template>\n","import type { Form, IFormProps } from '@formily/core'\nimport type { IMiddleware } from '@formily/shared'\nimport type { App, Component } from 'vue'\nimport type { FormDrawerSlotContent, IFormDrawer, IFormDrawerProps } from './types'\nimport { createForm } from '@formily/core'\nimport { toJS } from '@formily/reactive'\nimport { applyMiddleware, isArr, isFn, isStr, isValid, pascalCase } from '@formily/shared'\nimport { observer } from '@silver-formily/reactive-vue'\nimport { camelCase } from 'lodash-es'\nimport { createApp, h, ref } from 'vue'\nimport { getTransitionDuration, isVueOptions, loading } from '../__builtins__'\nimport DrawerContent from './drawer-content.vue'\n\nexport function FormDrawer<\n T extends object = any,\n const DynamicMiddlewareNames extends readonly string[] = [],\n>(\n title: IFormDrawerProps | string,\n content?: Component | FormDrawerSlotContent,\n dynamicMiddlewareNames?: DynamicMiddlewareNames,\n): IFormDrawer<T, DynamicMiddlewareNames[number]> {\n const env: {\n root?: HTMLElement\n form?: Form<T>\n promise?: Promise<any>\n instance?: any\n app?: App<Element>\n openMiddlewares: IMiddleware<IFormProps<T>>[]\n confirmMiddlewares: IMiddleware<Form<T>>[]\n cancelMiddlewares: IMiddleware<Form<T>>[]\n [key: `${string}Middlewares`]: IMiddleware<Form<T>>[] | IMiddleware<IFormProps<T>>[] | undefined\n } = {\n root: document.createElement('div'),\n form: null,\n promise: null,\n app: null,\n instance: null,\n openMiddlewares: [],\n confirmMiddlewares: [],\n cancelMiddlewares: [],\n }\n\n if (isArr(dynamicMiddlewareNames)) {\n for (const middlewareName of dynamicMiddlewareNames) {\n /* istanbul ignore if -- @preserve */\n if (!isStr(middlewareName))\n return\n const _middlewareName = camelCase(middlewareName)\n /* istanbul ignore if -- @preserve */\n if (['open', 'cancel', 'confirm'].includes(_middlewareName)) {\n throw new Error(`for${pascalCase(_middlewareName)} is presved`)\n }\n (env[`${_middlewareName}Middlewares`] = [])\n }\n }\n\n document.body.append(env.root)\n\n const props = (isStr(title) ? ({ title }) : title) as IFormDrawerProps\n\n function render(visible: boolean, resolve?: (type?: string) => any, reject?: () => any) {\n const _content = isVueOptions(content) ? { default: () => h(content) } : content\n if (!env.instance) {\n const ComponentConstructor = observer({\n setup(_, { expose }) {\n const visible = ref(false)\n expose({\n visible,\n })\n return () => h(DrawerContent, {\n drawerProps: props,\n form: env.form,\n resolve,\n reject,\n visible: visible.value,\n }, _content)\n },\n })\n env.app = createApp(ComponentConstructor)\n env.instance = env.app.mount(env.root)\n }\n env.instance.visible = visible\n }\n\n function disposeDrawer() {\n const animationDuration = getTransitionDuration()\n setTimeout(() => {\n env.app?.unmount?.()\n env.app = null\n env.instance = null\n env.root?.remove()\n env.root = undefined\n }, animationDuration)\n }\n\n const formDrawer = {\n forOpen: (middleware: IMiddleware<IFormProps<T>>) => {\n isFn(middleware) && env.openMiddlewares.push(middleware)\n return formDrawer\n },\n forConfirm: (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env.confirmMiddlewares.push(middleware)\n return formDrawer\n },\n forCancel: (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env.cancelMiddlewares.push(middleware)\n return formDrawer\n },\n open: (payload: IFormProps<T>) => {\n /* istanbul ignore if -- @preserve */\n if (env.promise)\n return env.promise\n\n env.promise = new Promise((res, rej) => {\n loading(props.loadingText, () => applyMiddleware(payload, env.openMiddlewares))\n .then((resPayload) => {\n env.form = env.form || createForm(resPayload as IFormProps<T>)\n render(true, (type: string) => {\n env.form.submit(async () => {\n await (isValid(type) ? applyMiddleware(env.form, env[`${type}Middlewares`]) : applyMiddleware(env.form, env.confirmMiddlewares))\n res(toJS(env.form.values))\n formDrawer.close()\n disposeDrawer()\n }).catch(() => undefined)\n }, async () => {\n await loading(props.loadingText, () =>\n applyMiddleware(env.form, env.cancelMiddlewares))\n formDrawer.close()\n disposeDrawer()\n rej(new Error('cancel'))\n })\n })\n .catch(/* istanbul ignore next -- @preserve */ error => rej(error))\n })\n return env.promise\n },\n close: () => {\n /* istanbul ignore if -- @preserve */\n if (!env.root)\n return\n render(false)\n },\n }\n\n if (isArr(dynamicMiddlewareNames)) {\n for (const middlewareName of dynamicMiddlewareNames) {\n const _middlewareName = camelCase(middlewareName)\n formDrawer[`for${pascalCase(_middlewareName)}`] = (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env[`${_middlewareName}Middlewares`].push(middleware)\n return formDrawer\n }\n }\n }\n\n return formDrawer as IFormDrawer<T, DynamicMiddlewareNames[number]>\n}\n\nexport default FormDrawer\n"],"names":["props","__props","slots","_useSlots","prefixCls","stylePrefix","elConfig","loadElConfigProvider","internalSubmitting","useDebonceSubmitting","_drawerProps","omit","drawerRef","ref","enableEnterSubmit","computed","useEnterSubmit","resolveDrawerElement","_openBlock","_createBlock","_unref","_mergeProps","done","isFn","_createVNode","FormProvider","_renderSlot","_ctx","_createElementVNode","_createElementBlock","_Fragment","ElButton","_createTextVNode","_toDisplayString","FormDrawer","title","content","dynamicMiddlewareNames","env","isArr","middlewareName","isStr","_middlewareName","camelCase","pascalCase","render","visible","resolve","reject","_content","isVueOptions","h","ComponentConstructor","observer","_","expose","DrawerContent","createApp","disposeDrawer","animationDuration","getTransitionDuration","formDrawer","middleware","payload","res","rej","loading","applyMiddleware","resPayload","createForm","type","isValid","toJS","error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["DrawerContent"],"sources":["../../src/form-drawer/index.ts"],"sourcesContent":["import type { Form, IFormProps } from '@formily/core'\nimport type { IMiddleware } from '@formily/shared'\nimport type { App, Component } from 'vue'\nimport type { FormDrawerSlotContent, IFormDrawer, IFormDrawerProps } from './types'\nimport { createForm } from '@formily/core'\nimport { toJS } from '@formily/reactive'\nimport { applyMiddleware, isArr, isFn, isStr, isValid, pascalCase } from '@formily/shared'\nimport { observer } from '@silver-formily/reactive-vue'\nimport { camelCase } from 'lodash-es'\nimport { createApp, h, ref } from 'vue'\nimport { getTransitionDuration, isVueOptions, loading } from '../__builtins__'\nimport { onUrlChange } from '../shared/url-change-listener'\nimport DrawerContent from './drawer-content.vue'\n\nexport function FormDrawer<\n T extends object = any,\n const DynamicMiddlewareNames extends readonly string[] = [],\n>(\n title: IFormDrawerProps | string,\n content?: Component | FormDrawerSlotContent<T, DynamicMiddlewareNames[number]>,\n dynamicMiddlewareNames?: DynamicMiddlewareNames,\n): IFormDrawer<T, DynamicMiddlewareNames[number]> {\n const env: {\n root?: HTMLElement\n form?: Form<T>\n promise?: Promise<any>\n instance?: any\n app?: App<Element>\n stopUrlChangeListener?: () => void\n settled?: boolean\n openMiddlewares: IMiddleware<IFormProps<T>>[]\n confirmMiddlewares: IMiddleware<Form<T>>[]\n cancelMiddlewares: IMiddleware<Form<T>>[]\n [key: `${string}Middlewares`]: IMiddleware<Form<T>>[] | IMiddleware<IFormProps<T>>[] | undefined\n } = {\n root: document.createElement('div'),\n form: null,\n promise: null,\n app: null,\n instance: null,\n stopUrlChangeListener: undefined,\n settled: false,\n openMiddlewares: [],\n confirmMiddlewares: [],\n cancelMiddlewares: [],\n }\n\n if (isArr(dynamicMiddlewareNames)) {\n for (const middlewareName of dynamicMiddlewareNames) {\n /* istanbul ignore if -- @preserve */\n if (!isStr(middlewareName))\n return\n const _middlewareName = camelCase(middlewareName)\n /* istanbul ignore if -- @preserve */\n if (['open', 'cancel', 'confirm'].includes(_middlewareName)) {\n throw new Error(`for${pascalCase(_middlewareName)} is presved`)\n }\n (env[`${_middlewareName}Middlewares`] = [])\n }\n }\n\n document.body.append(env.root)\n\n const rawProps = (isStr(title) ? { title } : title) as IFormDrawerProps\n const props = {\n ...rawProps,\n closeOnUrlChange: rawProps.closeOnUrlChange ?? true,\n } as IFormDrawerProps\n\n function render(visible: boolean, resolve?: (type?: string) => any, reject?: () => any) {\n const _content = isVueOptions(content)\n ? { default: () => h(content) }\n : isFn(content)\n ? { default: content }\n : content\n if (!env.instance) {\n const ComponentConstructor = observer({\n setup(_, { expose }) {\n const visible = ref(false)\n expose({\n visible,\n })\n return () => h(DrawerContent, {\n drawerProps: props,\n form: env.form,\n resolve,\n reject,\n visible: visible.value,\n }, _content)\n },\n })\n env.app = createApp(ComponentConstructor)\n env.instance = env.app.mount(env.root)\n }\n env.instance.visible = visible\n }\n\n function disposeDrawer() {\n env.stopUrlChangeListener?.()\n env.stopUrlChangeListener = undefined\n const animationDuration = getTransitionDuration()\n setTimeout(() => {\n env.app?.unmount?.()\n env.app = null\n env.instance = null\n env.root?.remove()\n env.root = undefined\n }, animationDuration)\n }\n\n async function rejectDrawer(reject?: () => any) {\n if (env.settled)\n return\n\n env.settled = true\n env.stopUrlChangeListener?.()\n env.stopUrlChangeListener = undefined\n await loading(props.loadingText, () =>\n applyMiddleware(env.form, env.cancelMiddlewares))\n render(false)\n disposeDrawer()\n reject?.()\n }\n\n const formDrawer = {\n forOpen: (middleware: IMiddleware<IFormProps<T>>) => {\n isFn(middleware) && env.openMiddlewares.push(middleware)\n return formDrawer\n },\n forConfirm: (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env.confirmMiddlewares.push(middleware)\n return formDrawer\n },\n forCancel: (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env.cancelMiddlewares.push(middleware)\n return formDrawer\n },\n open: (payload: IFormProps<T>) => {\n /* istanbul ignore if -- @preserve */\n if (env.promise)\n return env.promise\n\n env.settled = false\n env.promise = new Promise((res, rej) => {\n loading(props.loadingText, () => applyMiddleware(payload, env.openMiddlewares))\n .then((resPayload) => {\n env.form = env.form || createForm(resPayload as IFormProps<T>)\n render(true, (type: string) => {\n env.form.submit(async () => {\n if (env.settled)\n return\n\n env.settled = true\n env.stopUrlChangeListener?.()\n env.stopUrlChangeListener = undefined\n await (isValid(type) ? applyMiddleware(env.form, env[`${type}Middlewares`]) : applyMiddleware(env.form, env.confirmMiddlewares))\n res(toJS(env.form.values))\n formDrawer.close()\n disposeDrawer()\n }).catch(() => undefined)\n }, () => rejectDrawer(() => rej(new Error('cancel'))))\n if (props.closeOnUrlChange) {\n env.stopUrlChangeListener = onUrlChange(() => {\n void rejectDrawer(() => rej(new Error('cancel')))\n })\n }\n })\n .catch(/* istanbul ignore next -- @preserve */ error => rej(error))\n })\n return env.promise\n },\n close: () => {\n /* istanbul ignore if -- @preserve */\n if (!env.root)\n return\n render(false)\n },\n }\n\n if (isArr(dynamicMiddlewareNames)) {\n for (const middlewareName of dynamicMiddlewareNames) {\n const _middlewareName = camelCase(middlewareName)\n formDrawer[`for${pascalCase(_middlewareName)}`] = (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env[`${_middlewareName}Middlewares`].push(middleware)\n return formDrawer\n }\n }\n }\n\n return formDrawer as IFormDrawer<T, DynamicMiddlewareNames[number]>\n}\n\nexport default FormDrawer\n"],"mappings":"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"}
|
|
@@ -1,41 +1,47 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { ButtonProps, DrawerProps } from "element-plus";
|
|
2
|
+
import { SlotsType, VNode } from "vue";
|
|
3
|
+
import { Form, IFormProps } from "@formily/core";
|
|
4
|
+
import { IMiddleware } from "@formily/shared";
|
|
5
|
+
|
|
6
|
+
//#region src/form-drawer/types.d.ts
|
|
7
|
+
type IFormDrawerProps = Partial<DrawerProps> & {
|
|
8
|
+
cancelText?: string;
|
|
9
|
+
cancelButtonProps?: ButtonProps;
|
|
10
|
+
okText?: string;
|
|
11
|
+
okButtonProps?: ButtonProps;
|
|
12
|
+
loadingText?: string;
|
|
13
|
+
enterSubmit?: boolean;
|
|
14
|
+
closeOnUrlChange?: boolean;
|
|
12
15
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
reject: () => void;
|
|
16
|
-
form: Form;
|
|
16
|
+
interface FormDrawerResolve {
|
|
17
|
+
(type?: string): void;
|
|
17
18
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
interface FormDrawerBaseSlotProps<T extends object = any> {
|
|
20
|
+
resolve: FormDrawerResolve;
|
|
21
|
+
reject: () => void;
|
|
22
|
+
form: Form<T>;
|
|
22
23
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
type FormDrawerSlotProps<T extends object = any> = FormDrawerBaseSlotProps<T> & Record<string, any>;
|
|
25
|
+
interface FormDrawerSlots<T extends object = any, _DynamicMiddlewareName extends string = never> {
|
|
26
|
+
header?: (props: FormDrawerSlotProps<T>) => VNode | VNode[];
|
|
27
|
+
default?: (props: FormDrawerSlotProps<T>) => VNode | VNode[];
|
|
28
|
+
footer?: (props: FormDrawerSlotProps<T>) => VNode | VNode[];
|
|
29
|
+
}
|
|
30
|
+
type FormDrawerDefaultSlot<T extends object = any, DynamicMiddlewareName extends string = never> = FormDrawerSlots<T, DynamicMiddlewareName>['default'];
|
|
31
|
+
type FormDrawerSlotContent<T extends object = any, DynamicMiddlewareName extends string = never> = FormDrawerDefaultSlot<T, DynamicMiddlewareName> | SlotsType<FormDrawerSlots<T, DynamicMiddlewareName>> | { [key in keyof FormDrawerSlots<T, DynamicMiddlewareName>]?: FormDrawerSlots<T, DynamicMiddlewareName>[key] };
|
|
26
32
|
type ReservedFormDrawerMiddlewareName = 'open' | 'confirm' | 'cancel';
|
|
27
33
|
type ReservedFormDrawerMiddlewareMethodName = `for${Capitalize<ReservedFormDrawerMiddlewareName>}`;
|
|
28
34
|
type NormalizeFormDrawerDynamicMiddlewareName<T extends string> = string extends T ? string : T extends `${infer Head}-${infer Tail}` ? `${Lowercase<Head>}${Capitalize<NormalizeFormDrawerDynamicMiddlewareName<Tail>>}` : T extends `${infer Head}_${infer Tail}` ? `${Lowercase<Head>}${Capitalize<NormalizeFormDrawerDynamicMiddlewareName<Tail>>}` : T extends `${infer Head} ${infer Tail}` ? `${Lowercase<Head>}${Capitalize<NormalizeFormDrawerDynamicMiddlewareName<Tail>>}` : T;
|
|
29
35
|
type FormDrawerDynamicMiddlewareMethodName<T extends string> = `for${Capitalize<NormalizeFormDrawerDynamicMiddlewareName<T>>}`;
|
|
30
|
-
type FormDrawerDynamicMiddlewareMethods<T extends object, DynamicMiddlewareName extends string> = {
|
|
31
|
-
[K in FormDrawerDynamicMiddlewareMethodName<DynamicMiddlewareName> as K extends ReservedFormDrawerMiddlewareMethodName ? never : K]: (middleware: IMiddleware<Form<T>>) => IFormDrawer<T, DynamicMiddlewareName>;
|
|
32
|
-
};
|
|
36
|
+
type FormDrawerDynamicMiddlewareMethods<T extends object, DynamicMiddlewareName extends string> = { [K in FormDrawerDynamicMiddlewareMethodName<DynamicMiddlewareName> as K extends ReservedFormDrawerMiddlewareMethodName ? never : K]: (middleware: IMiddleware<Form<T>>) => IFormDrawer<T, DynamicMiddlewareName> };
|
|
33
37
|
interface IFormDrawerBase<T extends object = any, DynamicMiddlewareName extends string = never> {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
forOpen: (middleware: IMiddleware<IFormProps<T>>) => IFormDrawer<T, DynamicMiddlewareName>;
|
|
39
|
+
forConfirm: (middleware: IMiddleware<Form<T>>) => IFormDrawer<T, DynamicMiddlewareName>;
|
|
40
|
+
forCancel: (middleware: IMiddleware<Form<T>>) => IFormDrawer<T, DynamicMiddlewareName>;
|
|
41
|
+
open: (props?: IFormProps<T>) => Promise<any>;
|
|
42
|
+
close: () => void;
|
|
39
43
|
}
|
|
40
|
-
|
|
41
|
-
|
|
44
|
+
type IFormDrawer<T extends object = any, DynamicMiddlewareName extends string = never> = IFormDrawerBase<T, DynamicMiddlewareName> & FormDrawerDynamicMiddlewareMethods<T, DynamicMiddlewareName>;
|
|
45
|
+
//#endregion
|
|
46
|
+
export { FormDrawerSlotContent, IFormDrawer, IFormDrawerProps };
|
|
47
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, defineComponent, normalizeStyle, openBlock, renderSlot } from "vue";
|
|
2
|
+
//#region src/form-grid/form-grid-column.vue
|
|
3
|
+
const _hoisted_1 = ["data-grid-span"];
|
|
4
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
5
|
+
name: "FFormGridColumn",
|
|
6
|
+
__name: "form-grid-column",
|
|
7
|
+
props: { gridSpan: {
|
|
8
|
+
type: Number,
|
|
9
|
+
default: 1
|
|
10
|
+
} },
|
|
11
|
+
setup(__props) {
|
|
12
|
+
const props = __props;
|
|
13
|
+
const gridColumnStyle = computed(() => {
|
|
14
|
+
if (props.gridSpan === -1) return {};
|
|
15
|
+
return { gridColumn: `span ${props.gridSpan} / auto` };
|
|
16
|
+
});
|
|
17
|
+
return (_ctx, _cache) => {
|
|
18
|
+
return openBlock(), createElementBlock(Fragment, null, [createCommentVNode(" @silver-formily/grid 会优先使用这个值,如果没有会自动生成 "), createElementVNode("div", {
|
|
19
|
+
"data-grid-span": props.gridSpan,
|
|
20
|
+
style: normalizeStyle(gridColumnStyle.value)
|
|
21
|
+
}, [renderSlot(_ctx.$slots, "default")], 12, _hoisted_1)], 2112);
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
//#endregion
|
|
26
|
+
export { _sfc_main as default };
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=form-grid-column.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-grid-column.mjs","names":[],"sources":["../../src/form-grid/form-grid-column.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\n\ndefineOptions({\n name: 'FFormGridColumn',\n})\n\nconst props = defineProps({\n gridSpan: {\n type: Number,\n default: 1,\n },\n})\n\nconst gridColumnStyle = computed(() => {\n if (props.gridSpan === -1) {\n // gridSpan=-1 means \"fill remaining columns in current row\".\n // Leave gridColumn unset so @silver-formily/grid can manage it dynamically.\n return {}\n }\n return {\n gridColumn: `span ${props.gridSpan} / auto`,\n }\n})\n</script>\n\n<template>\n <!-- @silver-formily/grid 会优先使用这个值,如果没有会自动生成 -->\n <div :data-grid-span=\"props.gridSpan\" :style=\"gridColumnStyle\">\n <slot />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;EAOA,MAAM,QAAQ;EAOd,MAAM,kBAAkB,eAAe;AACrC,OAAI,MAAM,aAAa,GAGrB,QAAO,EAAC;AAEV,UAAO,EACL,YAAY,QAAQ,MAAM,SAAS,UACrC;IACD;;2DAIC,mBAAA,4CAAgD,EAChD,mBAEM,OAAA;IAFA,kBAAgB,MAAM;IAAW,OAAK,eAAE,gBAAA,MAAe;OAC3D,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,IAAA,WAAA,CAAA,EAAA,KAAA"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { stylePrefix } from "../__builtins__/configs/index.mjs";
|
|
2
|
+
import { FormGridSymbol } from "./hooks.mjs";
|
|
3
|
+
import { computed, createElementBlock, defineComponent, normalizeClass, normalizeStyle, openBlock, provide, ref, renderSlot, watchEffect } from "vue";
|
|
4
|
+
import { createGrid } from "@silver-formily/grid";
|
|
5
|
+
//#region src/form-grid/form-grid.vue
|
|
6
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
7
|
+
name: "FFormGrid",
|
|
8
|
+
__name: "form-grid",
|
|
9
|
+
props: {
|
|
10
|
+
columnGap: { type: Number },
|
|
11
|
+
rowGap: { type: Number },
|
|
12
|
+
minColumns: { type: [Number, Array] },
|
|
13
|
+
minWidth: { type: [Number, Array] },
|
|
14
|
+
maxColumns: { type: [Number, Array] },
|
|
15
|
+
maxWidth: { type: [Number, Array] },
|
|
16
|
+
breakpoints: { type: Array },
|
|
17
|
+
colWrap: {
|
|
18
|
+
type: Boolean,
|
|
19
|
+
default: true
|
|
20
|
+
},
|
|
21
|
+
strictAutoFit: {
|
|
22
|
+
type: Boolean,
|
|
23
|
+
default: false
|
|
24
|
+
},
|
|
25
|
+
shouldVisible: {
|
|
26
|
+
type: Function,
|
|
27
|
+
default() {
|
|
28
|
+
return () => true;
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
grid: { type: Object }
|
|
32
|
+
},
|
|
33
|
+
setup(__props) {
|
|
34
|
+
const props = __props;
|
|
35
|
+
const prefixCls = `${stylePrefix}-form-grid`;
|
|
36
|
+
const rootRef = ref();
|
|
37
|
+
const gridInstance = computed(() => {
|
|
38
|
+
const { grid, ...restProps } = props;
|
|
39
|
+
const options = {
|
|
40
|
+
columnGap: props?.columnGap ?? 8,
|
|
41
|
+
rowGap: props.rowGap ?? 4,
|
|
42
|
+
...Object.fromEntries(Object.entries(restProps).filter(([_, v]) => v !== void 0).map(([k, v]) => [k, v]))
|
|
43
|
+
};
|
|
44
|
+
return grid ?? createGrid(options);
|
|
45
|
+
});
|
|
46
|
+
provide(FormGridSymbol, gridInstance);
|
|
47
|
+
watchEffect((onInvalidate) => {
|
|
48
|
+
const dispose = gridInstance.value.connect(rootRef.value);
|
|
49
|
+
onInvalidate(() => {
|
|
50
|
+
dispose();
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
return (_ctx, _cache) => {
|
|
54
|
+
return openBlock(), createElementBlock("div", {
|
|
55
|
+
ref_key: "rootRef",
|
|
56
|
+
ref: rootRef,
|
|
57
|
+
class: normalizeClass(prefixCls),
|
|
58
|
+
style: normalizeStyle({
|
|
59
|
+
gridTemplateColumns: gridInstance.value.templateColumns,
|
|
60
|
+
gap: gridInstance.value.gap
|
|
61
|
+
})
|
|
62
|
+
}, [renderSlot(_ctx.$slots, "default")], 4);
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
//#endregion
|
|
67
|
+
export { _sfc_main as default };
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=form-grid.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-grid.mjs","names":[],"sources":["../../src/form-grid/form-grid.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { Grid, IGridOptions } from '@silver-formily/grid'\nimport type { PropType } from 'vue'\nimport { createGrid } from '@silver-formily/grid'\nimport { computed, provide, ref, watchEffect } from 'vue'\nimport { stylePrefix } from '../__builtins__'\nimport { FormGridSymbol } from './hooks'\n\ndefineOptions({\n name: 'FFormGrid',\n})\n\nconst props = defineProps({\n columnGap: {\n type: Number,\n },\n rowGap: {\n type: Number,\n },\n minColumns: {\n type: [Number, Array],\n },\n minWidth: {\n type: [Number, Array],\n },\n maxColumns: {\n type: [Number, Array],\n },\n maxWidth: {\n type: [Number, Array],\n },\n breakpoints: {\n type: Array as PropType<number[]>,\n },\n colWrap: {\n type: Boolean,\n default: true,\n },\n strictAutoFit: {\n type: Boolean,\n default: false,\n },\n shouldVisible: {\n type: Function as PropType<IGridOptions['shouldVisible']>,\n default() {\n return () => true\n },\n },\n grid: {\n type: Object as PropType<Grid<HTMLElement>>,\n },\n})\n\nconst prefixCls = `${stylePrefix}-form-grid`\nconst rootRef = ref<HTMLElement>()\n\nconst gridInstance = computed(() => {\n const { grid, ...restProps } = props\n const options = {\n columnGap: props?.columnGap ?? 8,\n rowGap: props.rowGap ?? 4,\n ...Object.fromEntries(\n Object.entries(restProps)\n .filter(([_, v]) => v !== undefined)\n .map(([k, v]) => [k, v]),\n ),\n }\n return grid ?? createGrid(options)\n})\n\nprovide(FormGridSymbol, gridInstance)\n\nwatchEffect((onInvalidate) => {\n const dispose = gridInstance.value.connect(rootRef.value)\n onInvalidate(() => {\n dispose()\n })\n})\n</script>\n\n<template>\n <div\n ref=\"rootRef\"\n :class=\"prefixCls\"\n :style=\"{\n gridTemplateColumns: gridInstance.templateColumns,\n gap: gridInstance.gap,\n }\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYA,MAAM,QAAQ;EAyCd,MAAM,YAAY,GAAG,YAAY;EACjC,MAAM,UAAU,KAAiB;EAEjC,MAAM,eAAe,eAAe;GAClC,MAAM,EAAE,MAAM,GAAG,cAAc;GAC/B,MAAM,UAAU;IACd,WAAW,OAAO,aAAa;IAC/B,QAAQ,MAAM,UAAU;IACxB,GAAG,OAAO,YACR,OAAO,QAAQ,UAAS,CACrB,QAAQ,CAAC,GAAG,OAAO,MAAM,KAAA,EAAS,CAClC,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAC3B;IACH;AACA,UAAO,QAAQ,WAAW,QAAO;IAClC;AAED,UAAQ,gBAAgB,aAAY;AAEpC,eAAa,iBAAiB;GAC5B,MAAM,UAAU,aAAa,MAAM,QAAQ,QAAQ,MAAK;AACxD,sBAAmB;AACjB,aAAQ;KACT;IACF;;uBAIC,mBASM,OAAA;aARA;IAAJ,KAAI;IACH,OAAK,eAAE,UAAS;IAChB,OAAK,eAAA;0BAA+B,aAAA,MAAa;UAA4B,aAAA,MAAa;;OAK3F,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA"}
|