@done-coding/admin-core 0.27.0 → 0.27.1-alpha.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/es/bridge/index.mjs +11 -3
- package/es/components/app-layout/AppBody.vue.mjs +1 -1
- package/es/components/app-layout/AppBody.vue2.mjs +14 -5
- package/es/components/app-layout/AppHeader.vue.mjs +1 -1
- package/es/components/app-layout/AppHeader.vue2.mjs +7 -5
- package/es/components/app-layout/AppLayout.vue.mjs +1 -1
- package/es/components/app-layout/AppLayout.vue2.mjs +2 -1
- package/es/components/app-layout/AppPage.vue.mjs +1 -1
- package/es/components/app-layout/AppPage.vue2.mjs +35 -32
- package/es/components/app-layout/app-page-geometry.mjs +16 -16
- package/es/components/app-layout/app-page-recommended.mjs +10 -0
- package/es/components/data-view/DataGridView.vue.mjs +1 -1
- package/es/components/data-view/DataGridView.vue2.mjs +29 -17
- package/es/components/data-view/DataListView.vue.mjs +1 -1
- package/es/components/data-view/DataListView.vue2.mjs +10 -0
- package/es/components/data-view/InfiniteListView.vue.mjs +1 -1
- package/es/components/data-view/InfiniteListView.vue2.mjs +9 -3
- package/es/components/data-view/use-active-scroll.mjs +15 -0
- package/es/components/display/DragFloat.vue.mjs +7 -0
- package/es/components/display/DragFloat.vue2.mjs +109 -0
- package/es/components/display/TabsHeader.vue.mjs +1 -1
- package/es/components/display/TabsHeader.vue2.mjs +9 -10
- package/es/components/display/TabsMain.vue.mjs +22 -7
- package/es/components/display/tabs-variant.mjs +14 -0
- package/es/components/form/FormDivider.vue.mjs +7 -0
- package/es/components/form/FormDivider.vue2.mjs +14 -0
- package/es/components/form/FormGroupTitle.vue.mjs +7 -0
- package/es/components/form/FormGroupTitle.vue2.mjs +59 -0
- package/es/components/form/FormItemNestForm.vue.mjs +1 -1
- package/es/components/form/FormItemNestFormList.vue.mjs +1 -1
- package/es/components/form/FormMain.vue.mjs +1 -1
- package/es/components/form/FormMain.vue2.mjs +69 -9
- package/es/components/form/FormSearch.vue.mjs +1 -1
- package/es/components/form/FormSearch.vue2.mjs +15 -3
- package/es/components/form/FormSubmitPanel.vue.mjs +1 -1
- package/es/components/form/FormSubmitPanel.vue2.mjs +14 -1
- package/es/components/form/ai-schema.mjs +139 -0
- package/es/components/form/group.mjs +81 -0
- package/es/components/form/use-ai-fill.mjs +71 -0
- package/es/components/form/utils.mjs +15 -4
- package/es/components/list-layout/ListLayout.vue.mjs +1 -1
- package/es/components/list-layout/ListLayout.vue2.mjs +103 -62
- package/es/components/modal/ImagePreviewTrigger.vue.mjs +5 -1
- package/es/components/modal/ModalConfirm.vue.mjs +1 -1
- package/es/components/modal/ModalConfirm.vue2.mjs +8 -5
- package/es/components/modal/VideoPreviewTrigger.vue.mjs +1 -1
- package/es/components/modal/VideoPreviewTrigger.vue2.mjs +2 -1
- package/es/components/page-layout/AppPageDetail.vue.mjs +1 -1
- package/es/components/page-layout/AppPageDetail.vue2.mjs +17 -13
- package/es/components/page-layout/AppPageListDetailLayout.vue.mjs +7 -4
- package/es/components/page-layout/AppPageListDetailSheet.vue.mjs +12 -4
- package/es/components/page-layout/AppPageListDetailSplit.vue.mjs +1 -1
- package/es/components/page-layout/AppPageListDetailSplit.vue2.mjs +10 -3
- package/es/components/table/TableMain.vue.mjs +1 -1
- package/es/components/table/TableMain.vue2.mjs +45 -25
- package/es/components/view-layout/ViewLayout.vue.mjs +1 -1
- package/es/components/view-layout/ViewLayout.vue2.mjs +46 -15
- package/es/config/slot-region.mjs +1 -0
- package/es/hooks/use-active-record.mjs +5 -1
- package/es/hooks/use-surface.mjs +27 -0
- package/es/hooks/use-theme-apply.mjs +52 -18
- package/es/index.mjs +81 -59
- package/es/inject/key.mjs +4 -0
- package/es/store/app.mjs +51 -17
- package/es/style.css +361 -184
- package/es/utils/dom.mjs +7 -1
- package/es/utils/gap-scale.mjs +25 -0
- package/es/utils/theme-scale.mjs +27 -0
- package/package.json +2 -2
- package/src/bridge/docs/README.md +30 -0
- package/src/components/app-layout/docs/README-AppBody.md +21 -0
- package/src/components/app-layout/docs/README-AppPage.md +20 -3
- package/src/components/data-view/docs/README-DataGridView.md +15 -0
- package/src/components/data-view/docs/README-DataListView.md +13 -0
- package/src/components/data-view/docs/README-InfiniteListView.md +15 -0
- package/src/components/display/README.md +1 -0
- package/src/components/display/docs/README-DragFloat.md +68 -0
- package/src/components/form/README.md +4 -2
- package/src/components/form/docs/README-FormItemNestForm.md +5 -3
- package/src/components/form/docs/README-FormItemNestFormList.md +7 -1
- package/src/components/form/docs/README-FormMain.md +102 -1
- package/src/components/form/docs/README-FormSearch.md +5 -0
- package/src/components/list-layout/docs/README-ListLayout.md +61 -1
- package/src/components/modal/docs/README-ImagePreviewTrigger.md +2 -0
- package/src/components/modal/docs/README-VideoPreviewTrigger.md +4 -1
- package/src/components/page-layout/docs/README-AppPageDetail.md +11 -1
- package/src/components/page-layout/docs/README-AppPageListDetailLayout.md +64 -6
- package/src/components/table/docs/README-TableMain.md +22 -0
- package/src/components/view-layout/docs/README-ViewLayout.md +27 -2
- package/src/hooks/docs/README.md +30 -1
- package/types/bridge/index.d.ts +69 -10
- package/types/components/app-layout/AppPage.vue.d.ts +15 -7
- package/types/components/app-layout/app-page-geometry.d.ts +19 -10
- package/types/components/app-layout/app-page-recommended.d.ts +12 -0
- package/types/components/app-layout/index.d.ts +1 -0
- package/types/components/data-view/types.d.ts +18 -0
- package/types/components/data-view/use-active-scroll.d.ts +30 -0
- package/types/components/display/BadgeMark.vue.d.ts +2 -2
- package/types/components/display/DragFloat.vue.d.ts +35 -0
- package/types/components/display/TabsHeader.vue.d.ts +7 -0
- package/types/components/display/index.d.ts +8 -1
- package/types/components/display/tabs-variant.d.ts +17 -0
- package/types/components/display/types.d.ts +6 -0
- package/types/components/form/FormDivider.vue.d.ts +2 -0
- package/types/components/form/FormGroupTitle.vue.d.ts +22 -0
- package/types/components/form/FormItemNestForm.vue.d.ts +2 -0
- package/types/components/form/ai-schema.d.ts +24 -0
- package/types/components/form/group.d.ts +36 -0
- package/types/components/form/index.d.ts +2 -0
- package/types/components/form/types.d.ts +94 -3
- package/types/components/form/use-ai-fill.d.ts +59 -0
- package/types/components/form/utils.d.ts +19 -0
- package/types/components/list-layout/ListLayout.vue.d.ts +3 -0
- package/types/components/list-layout/types.d.ts +28 -0
- package/types/components/modal/ModalConfirm.vue.d.ts +1 -1
- package/types/components/modal/VideoPreviewTrigger.vue.d.ts +1 -1
- package/types/components/page-layout/AppPageDetail.vue.d.ts +2 -2
- package/types/components/page-layout/AppPageListDetailLayout.vue.d.ts +3 -7
- package/types/components/page-layout/AppPageListDetailSheet.vue.d.ts +4 -8
- package/types/components/page-layout/AppPageListDetailSplit.vue.d.ts +4 -8
- package/types/components/page-layout/types.d.ts +42 -0
- package/types/components/panel/PanelItemNestForm.vue.d.ts +2 -0
- package/types/components/table/types.d.ts +9 -0
- package/types/components/view-layout/ViewLayout.vue.d.ts +18 -0
- package/types/components/view-layout/types.d.ts +15 -0
- package/types/config/slot-region.d.ts +10 -1
- package/types/hooks/use-surface.d.ts +34 -0
- package/types/inject/key.d.ts +10 -0
- package/types/injectInfo.json.d.ts +1 -1
- package/types/store/app.d.ts +3 -0
- package/types/utils/dom.d.ts +31 -0
- package/types/utils/gap-scale.d.ts +46 -0
- package/types/utils/index.d.ts +1 -0
- package/types/utils/theme-scale.d.ts +33 -0
package/es/index.mjs
CHANGED
|
@@ -31,7 +31,8 @@ import { default as default32 } from "./components/misc/TriggerAutoImport.vue.mj
|
|
|
31
31
|
import { default as default33 } from "./components/display/WatchSize.vue.mjs";
|
|
32
32
|
import { APP_API_LIST_MODEL_KEY_CONFIG } from "./config/list-model.mjs";
|
|
33
33
|
import { APP_GLOBAL_IMAGE_PREVIEW_KEY, APP_GLOBAL_VIDEO_PREVIEW_KEY, GLOBAL_MODAL_REMOTE_KEY } from "./components/modal/modal-global-keys.mjs";
|
|
34
|
-
import { APP_LAYOUT_APP_STORE_KEY, APP_LAYOUT_BRIDGE_KEY, APP_LAYOUT_USER_STORE_KEY, APP_PAGE_CONTENT_INSET, APP_PAGE_LIST_DETAIL_CONTEXT, BODY_CONTENT_VIEWPORT_HEIGHT, BODY_CONTENT_VIEWPORT_INSET, BODY_CONTENT_VIEWPORT_RECT, CORE_BRIDGE_KEY, FORM_NEST_REGISTRY_KEY, NEST_LAYOUT_SCALE_KEY, SCOPE_VIEWPORT_MAX_HEIGHT, TABS_MAIN_VISUAL_LEVEL, getModalShelfInjectionKey } from "./inject/key.mjs";
|
|
34
|
+
import { APP_LAYOUT_APP_STORE_KEY, APP_LAYOUT_BRIDGE_KEY, APP_LAYOUT_USER_STORE_KEY, APP_PAGE_CONTENT_INSET, APP_PAGE_LIST_DETAIL_CONTEXT, BODY_CONTENT_VIEWPORT_HEIGHT, BODY_CONTENT_VIEWPORT_INSET, BODY_CONTENT_VIEWPORT_RECT, CORE_BRIDGE_KEY, FORM_NEST_REGISTRY_KEY, FORM_VALIDATE_ERROR_KEYS, NEST_LAYOUT_SCALE_KEY, SCOPE_VIEWPORT_MAX_HEIGHT, TABS_MAIN_VISUAL_LEVEL, getModalShelfInjectionKey } from "./inject/key.mjs";
|
|
35
|
+
import { APP_PAGE_LIST_LAYOUT_RECOMMENDED } from "./components/app-layout/app-page-recommended.mjs";
|
|
35
36
|
import { APP_PAGE_SLOT_Z_INDEX, computeAppPageContentInset, computeAppPageReducedViewportHeight, computeAppPageReducedViewportWidth, computeAppPageSlotShimStyles, computeAppPageSlotStyles } from "./components/app-layout/app-page-geometry.mjs";
|
|
36
37
|
import { default as default34 } from "./components/display/ActionConfirm.vue.mjs";
|
|
37
38
|
import { default as default35 } from "./components/app-layout/AppAside.vue.mjs";
|
|
@@ -48,42 +49,45 @@ import { default as default45 } from "./components/misc/AutoRefresh.vue.mjs";
|
|
|
48
49
|
import { default as default46 } from "./components/misc/AutoRefreshGroup.vue.mjs";
|
|
49
50
|
import { BADGE_MASK_KINDS } from "./bridge/badge.mjs";
|
|
50
51
|
import { default as default47 } from "./components/display/BadgeMark.vue.mjs";
|
|
52
|
+
import { COLLAPSED_CLASS, swiftFormItemDivider, swiftFormItemGroup } from "./components/form/group.mjs";
|
|
51
53
|
import { CORE_VIEWPORT_DECOR_ZINDEX_ABOVE, CORE_VIEWPORT_DECOR_ZINDEX_BELOW } from "./components/app-layout/viewport.mjs";
|
|
52
54
|
import { default as default48, default as default49 } from "./components/modal/ModalConfirm.vue.mjs";
|
|
53
55
|
import { DC_SLOT_ATTR, SlotRegion, parseSlotRegion } from "./config/slot-region.mjs";
|
|
54
56
|
import { default as default50 } from "./components/data-view/DataGridView.vue.mjs";
|
|
57
|
+
import { default as default51 } from "./components/display/DragFloat.vue.mjs";
|
|
55
58
|
import { EXPORT_MAX_LIMIT, OPERATE_COLUMN_PROP, exportCSV, pickExportColumns } from "./utils/export.mjs";
|
|
56
59
|
import { FORM_CONFIG_SELECT_ALL_VALUE, getConfirmPasswordRule, passwordRule, setFormComponentType } from "./helpers/form.mjs";
|
|
57
|
-
import { FORM_ITEM_CHANGE_LOADING, NEST_LAYOUT_TIERS, ceilToTier, generateFormData, getBlurSubmit, getChangeSubmit, getDatePickerShortcuts, getEnterSubmit, getPlaceholder, getVModelSugar, parseFormData, resolveFormLayout, resolveLayoutSpan, setInputComponent, setSelectComponent, stringifyFormData, swiftFormItemConfig } from "./components/form/utils.mjs";
|
|
58
|
-
import { default as
|
|
59
|
-
import { default as
|
|
60
|
-
import { default as
|
|
61
|
-
import { default as
|
|
62
|
-
import { default as
|
|
63
|
-
import { default as
|
|
64
|
-
import { default as
|
|
65
|
-
import { default as
|
|
66
|
-
import { default as
|
|
67
|
-
import { default as
|
|
68
|
-
import { default as
|
|
69
|
-
import { default as
|
|
70
|
-
import { default as
|
|
71
|
-
import { default as
|
|
72
|
-
import {
|
|
73
|
-
import { default as default66
|
|
74
|
-
import { default as default68 } from "./components/
|
|
75
|
-
import { default as default69 } from "./components/
|
|
76
|
-
import { default as default70 } from "./components/panel/
|
|
77
|
-
import { default as default71 } from "./components/panel/
|
|
78
|
-
import { default as default72 } from "./components/panel/
|
|
60
|
+
import { FORM_ITEM_CHANGE_LOADING, NEST_LAYOUT_TIERS, ceilToTier, checkFormItemIsIgnore, generateFormData, getBlurSubmit, getChangeSubmit, getDatePickerShortcuts, getEnterSubmit, getPlaceholder, getVModelSugar, parseFormData, patchFormData, resolveFormLayout, resolveLayoutSpan, setInputComponent, setSelectComponent, stringifyFormData, swiftFormItemConfig } from "./components/form/utils.mjs";
|
|
61
|
+
import { default as default52 } from "./components/form/FormActiveFilter.vue.mjs";
|
|
62
|
+
import { default as default53 } from "./components/form/FormItemNestForm.vue.mjs";
|
|
63
|
+
import { default as default54 } from "./components/form/FormItemNestFormList.vue.mjs";
|
|
64
|
+
import { default as default55 } from "./components/form/FormMain.vue.mjs";
|
|
65
|
+
import { default as default56 } from "./components/form/FormSearch.vue.mjs";
|
|
66
|
+
import { default as default57 } from "./components/form/FormShadowCloneDispatch.vue.mjs";
|
|
67
|
+
import { default as default58 } from "./components/form/FormSortSwitch.vue.mjs";
|
|
68
|
+
import { default as default59 } from "./components/form/FormSortSwitchGroup.vue.mjs";
|
|
69
|
+
import { default as default60 } from "./components/form/FormSubmitPanel.vue.mjs";
|
|
70
|
+
import { default as default61 } from "./components/form/FormUpload.vue.mjs";
|
|
71
|
+
import { default as default62 } from "./components/form/FormUploadAudio.vue.mjs";
|
|
72
|
+
import { default as default63 } from "./components/form/FormUploadImage.vue.mjs";
|
|
73
|
+
import { default as default64 } from "./components/form/FormUploadVideo.vue.mjs";
|
|
74
|
+
import { default as default65 } from "./components/form/FormVerifyImage.vue.mjs";
|
|
75
|
+
import { GAP_SCALE_RUNG, gapScaleBase, gapScaleValue } from "./utils/gap-scale.mjs";
|
|
76
|
+
import { default as default66 } from "./components/data-view/InfiniteListView.vue.mjs";
|
|
77
|
+
import { default as default67, default as default68 } from "./components/list-layout/ListLayout.vue.mjs";
|
|
78
|
+
import { default as default69 } from "./components/modal/ModalVideoPreview.vue.mjs";
|
|
79
|
+
import { default as default70 } from "./components/panel/PanelEditSwitch.vue.mjs";
|
|
80
|
+
import { default as default71 } from "./components/panel/PanelItem.vue.mjs";
|
|
81
|
+
import { default as default72 } from "./components/panel/PanelItemNestForm.vue.mjs";
|
|
82
|
+
import { default as default73 } from "./components/panel/PanelMain.vue.mjs";
|
|
79
83
|
import { ROUTE_MODULE_LEVEL, TabsMainReplaceQueryKey } from "./config/route.mjs";
|
|
80
|
-
import { default as
|
|
84
|
+
import { default as default74 } from "./components/slot-layout/SlotLayoutFlowAside.vue.mjs";
|
|
81
85
|
import { TABLE_COLUMN_KEY_OPERATE, TABLE_COLUMN_KEY_SELECTION } from "./components/table/constants.mjs";
|
|
82
|
-
import { default as
|
|
83
|
-
import { default as
|
|
84
|
-
import { default as
|
|
85
|
-
import { default as
|
|
86
|
-
import { default as
|
|
86
|
+
import { default as default75 } from "./components/table/TableMain.vue.mjs";
|
|
87
|
+
import { default as default76 } from "./components/table/TableSkeleton.vue.mjs";
|
|
88
|
+
import { default as default77 } from "./components/table/TableToolbar.vue.mjs";
|
|
89
|
+
import { default as default78 } from "./components/modal/VideoPreviewTrigger.vue.mjs";
|
|
90
|
+
import { default as default79 } from "./components/view-layout/ViewLayout.vue.mjs";
|
|
87
91
|
import { buildRhythmCss, useCoreThemeApply } from "./hooks/use-theme-apply.mjs";
|
|
88
92
|
import { checkLogin } from "./router/guard/login.mjs";
|
|
89
93
|
import { checkPermission } from "./router/guard/permission.mjs";
|
|
@@ -96,15 +100,16 @@ import { createRoutePermissionStore } from "./store/router-permission.mjs";
|
|
|
96
100
|
import { createStorageWithNamespace } from "./bridge/storage.mjs";
|
|
97
101
|
import { createUseState } from "./bridge/state.mjs";
|
|
98
102
|
import { createUserStore } from "./store/user.mjs";
|
|
99
|
-
import { domClosestScrollableAncestor, domClosestStickyScrollport } from "./utils/dom.mjs";
|
|
103
|
+
import { domClosestScrollableAncestor, domClosestStickyScrollport, domScrollIntoViewport } from "./utils/dom.mjs";
|
|
100
104
|
import { flatRouteMetaResolveRaw, getRoutePermissionKey } from "./utils/router.mjs";
|
|
105
|
+
import { getFormAiSchema, resolveFormAiFormDescription } from "./components/form/ai-schema.mjs";
|
|
101
106
|
import { getId } from "./utils/id.mjs";
|
|
102
107
|
import { nestFormItem } from "./components/form/nest-form-item.mjs";
|
|
103
108
|
import { nestFormItemList } from "./components/form/nest-form-item-list.mjs";
|
|
104
109
|
import { nestPanelForm } from "./components/panel/nest-panel-form.mjs";
|
|
105
110
|
import { nestPanelItem } from "./components/panel/nest-panel-item.mjs";
|
|
106
111
|
import { resolveBreakpointByWidth, resolveRootEl, useCustomBreakpoint } from "./hooks/use-custom-breakpoint.mjs";
|
|
107
|
-
import { themeScaleDerive, themeScaleMix, themeScaleParseHex, themeScaleToRgba } from "./utils/theme-scale.mjs";
|
|
112
|
+
import { themeScaleDerive, themeScaleIsNearBlack, themeScaleMix, themeScalePageColor, themeScaleParseHex, themeScaleSurfaceColor, themeScaleToRgba } from "./utils/theme-scale.mjs";
|
|
108
113
|
import { timeCountDown } from "./utils/time.mjs";
|
|
109
114
|
import { useActivated, useActivatedEvent, useActivatedExec } from "./hooks/activated.mjs";
|
|
110
115
|
import { useBreakpoint } from "./hooks/use-breakpoint.mjs";
|
|
@@ -127,6 +132,7 @@ export {
|
|
|
127
132
|
APP_LAYOUT_USER_STORE_KEY,
|
|
128
133
|
APP_PAGE_CONTENT_INSET,
|
|
129
134
|
APP_PAGE_LIST_DETAIL_CONTEXT,
|
|
135
|
+
APP_PAGE_LIST_LAYOUT_RECOMMENDED,
|
|
130
136
|
APP_PAGE_SLOT_Z_INDEX,
|
|
131
137
|
default2 as ActionBtn,
|
|
132
138
|
default3 as ActionBtnGroup,
|
|
@@ -150,6 +156,7 @@ export {
|
|
|
150
156
|
BODY_CONTENT_VIEWPORT_RECT,
|
|
151
157
|
default47 as BadgeMark,
|
|
152
158
|
default5 as BooleanTag,
|
|
159
|
+
COLLAPSED_CLASS,
|
|
153
160
|
CORE_BRIDGE_KEY,
|
|
154
161
|
CORE_VIEWPORT_DECOR_ZINDEX_ABOVE,
|
|
155
162
|
CORE_VIEWPORT_DECOR_ZINDEX_BELOW,
|
|
@@ -157,40 +164,43 @@ export {
|
|
|
157
164
|
DC_SLOT_ATTR,
|
|
158
165
|
default50 as DataGridView,
|
|
159
166
|
default6 as DetailModal,
|
|
167
|
+
default51 as DragFloat,
|
|
160
168
|
EXPORT_MAX_LIMIT,
|
|
161
169
|
FORM_CONFIG_SELECT_ALL_VALUE,
|
|
162
170
|
FORM_ITEM_CHANGE_LOADING,
|
|
163
171
|
FORM_NEST_REGISTRY_KEY,
|
|
164
|
-
|
|
172
|
+
FORM_VALIDATE_ERROR_KEYS,
|
|
173
|
+
default52 as FormActiveFilter,
|
|
165
174
|
default8 as FormInput,
|
|
166
175
|
default9 as FormInputShadowClone,
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
176
|
+
default53 as FormItemNestForm,
|
|
177
|
+
default54 as FormItemNestFormList,
|
|
178
|
+
default55 as FormMain,
|
|
170
179
|
default10 as FormModal,
|
|
171
180
|
default12 as FormRadioGroup,
|
|
172
|
-
|
|
181
|
+
default56 as FormSearch,
|
|
173
182
|
default13 as FormSelect,
|
|
174
183
|
default14 as FormSelectShadowClone,
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
184
|
+
default57 as FormShadowCloneDispatch,
|
|
185
|
+
default58 as FormSortSwitch,
|
|
186
|
+
default59 as FormSortSwitchGroup,
|
|
178
187
|
default15 as FormSubmitBtn,
|
|
179
|
-
|
|
188
|
+
default60 as FormSubmitPanel,
|
|
180
189
|
default16 as FormTree,
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
190
|
+
default61 as FormUpload,
|
|
191
|
+
default62 as FormUploadAudio,
|
|
192
|
+
default63 as FormUploadImage,
|
|
193
|
+
default64 as FormUploadVideo,
|
|
185
194
|
default17 as FormVerifyCode,
|
|
186
|
-
|
|
195
|
+
default65 as FormVerifyImage,
|
|
196
|
+
GAP_SCALE_RUNG,
|
|
187
197
|
GLOBAL_MODAL_REMOTE_KEY,
|
|
188
198
|
default18 as HeightProvider,
|
|
189
199
|
default19 as IconHammer,
|
|
190
200
|
default20 as ImagePreviewTrigger,
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
201
|
+
default66 as InfiniteListView,
|
|
202
|
+
default67 as ListLayout,
|
|
203
|
+
default68 as ListPage,
|
|
194
204
|
default21 as MenuItemSub,
|
|
195
205
|
default22 as MenuTree,
|
|
196
206
|
default49 as ModalConfirm,
|
|
@@ -199,37 +209,38 @@ export {
|
|
|
199
209
|
default23 as ModalImagePreview,
|
|
200
210
|
default24 as ModalPorter,
|
|
201
211
|
default25 as ModalShelf,
|
|
202
|
-
|
|
212
|
+
default69 as ModalVideoPreview,
|
|
203
213
|
NEST_LAYOUT_SCALE_KEY,
|
|
204
214
|
NEST_LAYOUT_TIERS,
|
|
205
215
|
OPERATE_COLUMN_PROP,
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
216
|
+
default70 as PanelEditSwitch,
|
|
217
|
+
default71 as PanelItem,
|
|
218
|
+
default72 as PanelItemNestForm,
|
|
209
219
|
default26 as PanelItemNestPanel,
|
|
210
|
-
|
|
220
|
+
default73 as PanelMain,
|
|
211
221
|
ROUTE_MODULE_LEVEL,
|
|
212
222
|
SCOPE_VIEWPORT_MAX_HEIGHT,
|
|
213
223
|
default27 as SelectModule,
|
|
214
224
|
default28 as ShadowClone,
|
|
215
|
-
|
|
225
|
+
default74 as SlotLayoutFlowAside,
|
|
216
226
|
default29 as SlotLayoutTemplate,
|
|
217
227
|
SlotRegion,
|
|
218
228
|
TABLE_COLUMN_KEY_OPERATE,
|
|
219
229
|
TABLE_COLUMN_KEY_SELECTION,
|
|
220
230
|
TABS_MAIN_VISUAL_LEVEL,
|
|
221
231
|
default30 as TableEmpty,
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
232
|
+
default75 as TableMain,
|
|
233
|
+
default76 as TableSkeleton,
|
|
234
|
+
default77 as TableToolbar,
|
|
225
235
|
default31 as TabsMain,
|
|
226
236
|
TabsMainReplaceQueryKey,
|
|
227
237
|
default32 as TriggerAutoImport,
|
|
228
|
-
|
|
229
|
-
|
|
238
|
+
default78 as VideoPreviewTrigger,
|
|
239
|
+
default79 as ViewLayout,
|
|
230
240
|
default33 as WatchSize,
|
|
231
241
|
buildRhythmCss,
|
|
232
242
|
ceilToTier,
|
|
243
|
+
checkFormItemIsIgnore,
|
|
233
244
|
checkLogin,
|
|
234
245
|
checkPermission,
|
|
235
246
|
computeAppPageContentInset,
|
|
@@ -250,15 +261,19 @@ export {
|
|
|
250
261
|
createUserStore,
|
|
251
262
|
domClosestScrollableAncestor,
|
|
252
263
|
domClosestStickyScrollport,
|
|
264
|
+
domScrollIntoViewport,
|
|
253
265
|
exportCSV,
|
|
254
266
|
fetchListAll,
|
|
255
267
|
flatRouteMetaResolveRaw,
|
|
268
|
+
gapScaleBase,
|
|
269
|
+
gapScaleValue,
|
|
256
270
|
generateFormData,
|
|
257
271
|
getBlurSubmit,
|
|
258
272
|
getChangeSubmit,
|
|
259
273
|
getConfirmPasswordRule,
|
|
260
274
|
getDatePickerShortcuts,
|
|
261
275
|
getEnterSubmit,
|
|
276
|
+
getFormAiSchema,
|
|
262
277
|
getId,
|
|
263
278
|
getModalShelfInjectionKey,
|
|
264
279
|
getPlaceholder,
|
|
@@ -271,8 +286,10 @@ export {
|
|
|
271
286
|
parseFormData,
|
|
272
287
|
parseSlotRegion,
|
|
273
288
|
passwordRule,
|
|
289
|
+
patchFormData,
|
|
274
290
|
pickExportColumns,
|
|
275
291
|
resolveBreakpointByWidth,
|
|
292
|
+
resolveFormAiFormDescription,
|
|
276
293
|
resolveFormLayout,
|
|
277
294
|
resolveLayoutSpan,
|
|
278
295
|
resolveRootEl,
|
|
@@ -281,9 +298,14 @@ export {
|
|
|
281
298
|
setSelectComponent,
|
|
282
299
|
stringifyFormData,
|
|
283
300
|
swiftFormItemConfig,
|
|
301
|
+
swiftFormItemDivider,
|
|
302
|
+
swiftFormItemGroup,
|
|
284
303
|
themeScaleDerive,
|
|
304
|
+
themeScaleIsNearBlack,
|
|
285
305
|
themeScaleMix,
|
|
306
|
+
themeScalePageColor,
|
|
286
307
|
themeScaleParseHex,
|
|
308
|
+
themeScaleSurfaceColor,
|
|
287
309
|
themeScaleToRgba,
|
|
288
310
|
timeCountDown,
|
|
289
311
|
useActivated,
|
package/es/inject/key.mjs
CHANGED
|
@@ -35,6 +35,9 @@ const APP_LAYOUT_BRIDGE_KEY = Symbol.for(
|
|
|
35
35
|
const CORE_BRIDGE_KEY = Symbol.for(
|
|
36
36
|
nsKey("CORE_BRIDGE_KEY")
|
|
37
37
|
);
|
|
38
|
+
const FORM_VALIDATE_ERROR_KEYS = Symbol.for(
|
|
39
|
+
nsKey("FORM_VALIDATE_ERROR_KEYS")
|
|
40
|
+
);
|
|
38
41
|
const FORM_NEST_REGISTRY_KEY = Symbol.for(
|
|
39
42
|
nsKey("FORM_NEST_REGISTRY")
|
|
40
43
|
);
|
|
@@ -55,6 +58,7 @@ export {
|
|
|
55
58
|
BODY_CONTENT_VIEWPORT_RECT,
|
|
56
59
|
CORE_BRIDGE_KEY,
|
|
57
60
|
FORM_NEST_REGISTRY_KEY,
|
|
61
|
+
FORM_VALIDATE_ERROR_KEYS,
|
|
58
62
|
NEST_LAYOUT_SCALE_KEY,
|
|
59
63
|
SCOPE_VIEWPORT_MAX_HEIGHT,
|
|
60
64
|
TABS_MAIN_VISUAL_LEVEL,
|
package/es/store/app.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { defineStore } from "pinia";
|
|
2
2
|
import { useRoute } from "vue-router";
|
|
3
3
|
import { computed, ref } from "vue";
|
|
4
|
+
import { gapScaleValue } from "../utils/gap-scale.mjs";
|
|
4
5
|
function createAppStore(deps) {
|
|
5
6
|
const { bridge } = deps;
|
|
6
7
|
const storeSetup = () => {
|
|
@@ -59,7 +60,7 @@ function createAppStore(deps) {
|
|
|
59
60
|
const bodyShimPadding = computed(
|
|
60
61
|
() => {
|
|
61
62
|
var _a;
|
|
62
|
-
return ((_a = pageLayout.value) == null ? void 0 : _a.bodyShimPadding) ?? bridge.APP_LAYOUT_BODY_CONFIG.shimPadding;
|
|
63
|
+
return ((_a = pageLayout.value) == null ? void 0 : _a.bodyShimPadding) ?? bridge.APP_LAYOUT_BODY_CONFIG.shimPadding ?? 0;
|
|
63
64
|
}
|
|
64
65
|
);
|
|
65
66
|
const viewportConfigEffective = computed(
|
|
@@ -78,8 +79,22 @@ function createAppStore(deps) {
|
|
|
78
79
|
var _a;
|
|
79
80
|
return ((_a = pageLayout.value) == null ? void 0 : _a.noAnimation) ?? false;
|
|
80
81
|
});
|
|
81
|
-
const gapV = computed(
|
|
82
|
+
const gapV = computed(
|
|
83
|
+
() => gapScaleValue(
|
|
84
|
+
bridge.APP_LAYOUT_GAP_CONFIG.size,
|
|
85
|
+
"module",
|
|
86
|
+
bridge.themeDensity.value
|
|
87
|
+
)
|
|
88
|
+
);
|
|
89
|
+
const outerV = computed(
|
|
90
|
+
() => gapScaleValue(
|
|
91
|
+
bridge.APP_LAYOUT_GAP_CONFIG.size,
|
|
92
|
+
"outer",
|
|
93
|
+
bridge.themeDensity.value
|
|
94
|
+
)
|
|
95
|
+
);
|
|
82
96
|
const gpx = computed(() => `${gapV.value}px`);
|
|
97
|
+
const outerPx = computed(() => `${outerV.value}px`);
|
|
83
98
|
const headerStyle = computed(() => {
|
|
84
99
|
const cfg = bridge.APP_LAYOUT_HEADER_CONFIG;
|
|
85
100
|
return {
|
|
@@ -97,6 +112,9 @@ function createAppStore(deps) {
|
|
|
97
112
|
const contentRowTop = computed(
|
|
98
113
|
() => hasHeader.value ? `calc(${viewportPadding.value.top} + ${gpx.value} + ${headerStyle.value.height} + ${gpx.value})` : `calc(${viewportPadding.value.top} + ${gpx.value})`
|
|
99
114
|
);
|
|
115
|
+
const contentTop = computed(
|
|
116
|
+
() => hasHeader.value ? `calc(${viewportPadding.value.top} + ${gpx.value} + ${headerStyle.value.height} + ${outerPx.value})` : `calc(${viewportPadding.value.top} + ${outerPx.value})`
|
|
117
|
+
);
|
|
100
118
|
const footerStyle = computed(() => {
|
|
101
119
|
const cfg = bridge.APP_LAYOUT_FOOTER_CONFIG;
|
|
102
120
|
return {
|
|
@@ -143,34 +161,50 @@ function createAppStore(deps) {
|
|
|
143
161
|
});
|
|
144
162
|
const bodyStyle = computed(() => {
|
|
145
163
|
return {
|
|
146
|
-
//
|
|
147
|
-
|
|
148
|
-
//
|
|
149
|
-
|
|
150
|
-
//
|
|
151
|
-
|
|
152
|
-
//
|
|
153
|
-
|
|
154
|
-
|
|
164
|
+
// 🔴 内容四边一律让**外圈档**(huhyx7):内容 ↔ chrome、内容 ↔ viewport 边
|
|
165
|
+
// 都是「内容对外」的那一档,比 chrome 模块彼此的 ×1 多一档。
|
|
166
|
+
// 它同时**接替了已废弃的 shimPadding** —— 此前这段留白由
|
|
167
|
+
// `gap + shimPadding` 两处各给一半,同一段空白两个来源正是要消除的冗余。
|
|
168
|
+
// 内容左让位:外框左 + 外圈;有 sidebar 再加 sidebar 宽(sidebar 自身左边已让模块档)。
|
|
169
|
+
paddingLeft: showSidebar.value ? `calc(${viewportPadding.value.left} + ${gpx.value} + ${sidebarStyle.value.width} + ${outerPx.value})` : `calc(${viewportPadding.value.left} + ${outerPx.value})`,
|
|
170
|
+
// 顶让位 = 内容行顶(与 sidebar/aside 同行,但内容对 header 让外圈档)。
|
|
171
|
+
paddingTop: contentTop.value,
|
|
172
|
+
// 右让位(对称左):外框右 + 外圈;有 aside 再加 aside 宽。
|
|
173
|
+
paddingRight: showAside.value ? `calc(${viewportPadding.value.right} + ${gpx.value} + ${asideStyle.value.width} + ${outerPx.value})` : `calc(${viewportPadding.value.right} + ${outerPx.value})`,
|
|
174
|
+
// 底让位:外框下 + 外圈(footer 在流内,其底悬浮由此承担)。
|
|
175
|
+
paddingBottom: `calc(${viewportPadding.value.bottom} + ${outerPx.value})`,
|
|
176
|
+
// 底色:**缺省不铺**(akw76r)——.app-body 是容器,容器一律透明,布局底由全局
|
|
177
|
+
// html 一处铺(use-theme-apply 的 :root{} 挂 background: var(--el-bg-color-page)),
|
|
178
|
+
// 一路透到这里。gap 缝与 header 上方滚动遮挡条露出的都是那一层。
|
|
179
|
+
// 🔴 [MUST NOT] 回补「与全局底同色」的缺省——那是把一个会变的值复制到第二处,
|
|
180
|
+
// 换底 / 换主题即成实色补丁(不报错、不红、只是变丑)。要改底色改主题 bodyColor。
|
|
181
|
+
// cfg.background 仍是逃生口:显式给值即在本层铺一块面(色 / 渐变 / 背景图皆可)。
|
|
182
|
+
// [MUST] 用 `background` 而非 `backgroundColor`:口子要容得下 image / gradient。
|
|
183
|
+
...bridge.APP_LAYOUT_BODY_CONFIG.background === void 0 ? {} : { background: bridge.APP_LAYOUT_BODY_CONFIG.background }
|
|
155
184
|
};
|
|
156
185
|
});
|
|
157
186
|
const contentViewportInset = computed(() => {
|
|
158
187
|
const g = gapV.value;
|
|
188
|
+
const o = outerV.value;
|
|
159
189
|
const vpCfg = bridge.APP_LAYOUT_VIEWPORT_CONFIG;
|
|
160
190
|
const asideEffWidth = showAside.value && !bridge.layout.asideCollapsed.value ? bridge.APP_LAYOUT_ASIDE_CONFIG.width : 0;
|
|
161
191
|
return {
|
|
162
|
-
top: hasHeader.value ? vpCfg.paddingTop + g + headerHeight.value +
|
|
163
|
-
bottom: hasFooter.value ? vpCfg.paddingBottom + g + footerHeight.value +
|
|
164
|
-
left: showSidebar.value ? vpCfg.paddingLeft + g + sidebarWidth.value +
|
|
165
|
-
right: showAside.value ? vpCfg.paddingRight + g + asideEffWidth +
|
|
192
|
+
top: hasHeader.value ? vpCfg.paddingTop + g + headerHeight.value + o : vpCfg.paddingTop + o,
|
|
193
|
+
bottom: hasFooter.value ? vpCfg.paddingBottom + g + footerHeight.value + o : vpCfg.paddingBottom + o,
|
|
194
|
+
left: showSidebar.value ? vpCfg.paddingLeft + g + sidebarWidth.value + o : vpCfg.paddingLeft + o,
|
|
195
|
+
right: showAside.value ? vpCfg.paddingRight + g + asideEffWidth + o : vpCfg.paddingRight + o
|
|
166
196
|
};
|
|
167
197
|
});
|
|
168
198
|
const bodyShimStyle = computed(() => {
|
|
169
199
|
const headerSub = hasHeader.value ? ` - ${headerStyle.value.height} - ${gpx.value}` : "";
|
|
170
200
|
const footerSub = hasFooter.value ? ` - ${footerStyle.value.height} - ${gpx.value}` : "";
|
|
171
201
|
return {
|
|
172
|
-
|
|
173
|
-
|
|
202
|
+
// 上下两处从 gap 改**外圈档**:与 bodyStyle 的 paddingTop/Bottom 逐项同式
|
|
203
|
+
// (内容对外恒让外圈),[MUST] 一起改,否则可用高与实际内容盒对不上。
|
|
204
|
+
minHeight: `calc(100vh - ${viewportPadding.value.top} - ${viewportPadding.value.bottom} - ${outerPx.value} - ${outerPx.value}${headerSub}${footerSub})`
|
|
205
|
+
// 🔴 **不铺 padding**(huhyx7 A 条):四周留白已由 bodyStyle 的外圈档给过,
|
|
206
|
+
// 这里再铺一层就是同一段空白两个来源 —— 那正是本批要消除的冗余。
|
|
207
|
+
// 原 `shimPadding` 已废弃(见 APP_LAYOUT_BODY_CONFIG.shimPadding 的 @deprecated)。
|
|
174
208
|
};
|
|
175
209
|
});
|
|
176
210
|
const changeSidebarCollapseStatus = (status) => {
|