@vef-framework/starter 2.0.10 → 2.1.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/dist/cjs/_internal/_rolldown/runtime.cjs +1 -0
- package/dist/cjs/components/access-denied/access-denied-icon.cjs +1 -1
- package/dist/cjs/components/access-denied/index.cjs +1 -1
- package/dist/cjs/components/app/index.cjs +1 -1
- package/dist/cjs/components/base-layout/index.cjs +1 -1
- package/dist/cjs/components/base-layout/styles.cjs +1 -1
- package/dist/cjs/components/base-layout/use-base-layout.cjs +1 -1
- package/dist/cjs/components/crud/components/action-button-group.cjs +1 -1
- package/dist/cjs/components/crud/components/index.cjs +1 -1
- package/dist/cjs/components/crud/components/main.cjs +1 -1
- package/dist/cjs/components/crud/components/mutation-holder.cjs +1 -1
- package/dist/cjs/components/crud/components/operation-button-group.cjs +1 -1
- package/dist/cjs/components/crud/components/scene-form.cjs +1 -1
- package/dist/cjs/components/crud/components/selection-indicator.cjs +1 -1
- package/dist/cjs/components/crud/components/toolbar-actions.cjs +1 -1
- package/dist/cjs/components/crud/components/toolbar.cjs +1 -1
- package/dist/cjs/components/crud/event.cjs +1 -1
- package/dist/cjs/components/crud/helpers.cjs +1 -1
- package/dist/cjs/components/crud/hooks/index.cjs +1 -1
- package/dist/cjs/components/crud/hooks/use-query-observer.cjs +1 -1
- package/dist/cjs/components/crud/hooks/use-search-values.cjs +1 -1
- package/dist/cjs/components/crud/hooks/use-selected-rows.cjs +1 -1
- package/dist/cjs/components/crud/index.cjs +1 -1
- package/dist/cjs/components/crud/store.cjs +1 -1
- package/dist/cjs/components/crud/styles.cjs +1 -1
- package/dist/cjs/components/crud-page/index.cjs +1 -1
- package/dist/cjs/components/error/error-icon.cjs +1 -1
- package/dist/cjs/components/error/index.cjs +1 -1
- package/dist/cjs/components/flex-card/index.cjs +1 -1
- package/dist/cjs/components/flex-card/styles.cjs +1 -1
- package/dist/cjs/components/form-drawer/components/form-actions.cjs +1 -1
- package/dist/cjs/components/form-drawer/components/index.cjs +1 -1
- package/dist/cjs/components/form-drawer/index.cjs +1 -1
- package/dist/cjs/components/form-modal/components/draggable-wrapper.cjs +1 -0
- package/dist/cjs/components/form-modal/components/form-actions.cjs +1 -1
- package/dist/cjs/components/form-modal/components/index.cjs +1 -1
- package/dist/cjs/components/form-modal/index.cjs +1 -1
- package/dist/cjs/components/index.cjs +1 -1
- package/dist/cjs/components/layout/components/footer.cjs +1 -1
- package/dist/cjs/components/layout/components/header/boy-icon.cjs +1 -1
- package/dist/cjs/components/layout/components/header/breadcrumb-navigation.cjs +1 -1
- package/dist/cjs/components/layout/components/header/color-scheme.cjs +1 -1
- package/dist/cjs/components/layout/components/header/fullscreen.cjs +1 -1
- package/dist/cjs/components/layout/components/header/girl-icon.cjs +1 -1
- package/dist/cjs/components/layout/components/header/index.cjs +1 -1
- package/dist/cjs/components/layout/components/header/menu-burger.cjs +1 -1
- package/dist/cjs/components/layout/components/header/menu-fold-left-icon.cjs +1 -1
- package/dist/cjs/components/layout/components/header/menu-unfold-left-icon.cjs +1 -1
- package/dist/cjs/components/layout/components/header/search.cjs +1 -1
- package/dist/cjs/components/layout/components/header/theme-config.cjs +1 -1
- package/dist/cjs/components/layout/components/header/user-avatar.cjs +1 -1
- package/dist/cjs/components/layout/components/honeycomb-pattern.cjs +1 -1
- package/dist/cjs/components/layout/components/index.cjs +1 -1
- package/dist/cjs/components/layout/components/logo.cjs +1 -1
- package/dist/cjs/components/layout/components/menu.cjs +1 -1
- package/dist/cjs/components/layout/components/search/index.cjs +1 -1
- package/dist/cjs/components/layout/components/search/keyboard-arrow-down-icon.cjs +1 -1
- package/dist/cjs/components/layout/components/search/keyboard-arrow-up-icon.cjs +1 -1
- package/dist/cjs/components/layout/components/search/keyboard-control-icon.cjs +1 -1
- package/dist/cjs/components/layout/components/search/keyboard-esc-icon.cjs +1 -1
- package/dist/cjs/components/layout/components/search/keyboard-help.cjs +1 -1
- package/dist/cjs/components/layout/components/search/keyboard-return-icon.cjs +1 -1
- package/dist/cjs/components/layout/components/search/keyboard-shift-icon.cjs +1 -1
- package/dist/cjs/components/layout/components/search/keyboard.cjs +1 -1
- package/dist/cjs/components/layout/components/search/letter-s-icon.cjs +1 -1
- package/dist/cjs/components/layout/components/search/search-result-item.cjs +1 -1
- package/dist/cjs/components/layout/components/search/search-result.cjs +1 -1
- package/dist/cjs/components/layout/components/sidebar.cjs +1 -1
- package/dist/cjs/components/layout/components/tabs/context-menu.cjs +1 -1
- package/dist/cjs/components/layout/components/tabs/index.cjs +1 -1
- package/dist/cjs/components/layout/components/tabs/main-content-maximum.cjs +1 -1
- package/dist/cjs/components/layout/components/tabs/reload.cjs +1 -1
- package/dist/cjs/components/layout/components/tabs/tab-item.cjs +1 -1
- package/dist/cjs/components/layout/components/tabs/tab-list.cjs +1 -1
- package/dist/cjs/components/layout/components/tabs/tabs-container.cjs +1 -1
- package/dist/cjs/components/layout/components/theme-config/color-scheme-switcher.cjs +1 -1
- package/dist/cjs/components/layout/components/theme-config/color-scheme.cjs +1 -1
- package/dist/cjs/components/layout/components/theme-config/config-item.cjs +1 -1
- package/dist/cjs/components/layout/components/theme-config/index.cjs +1 -1
- package/dist/cjs/components/layout/components/theme-config/menu-layout-card.cjs +1 -1
- package/dist/cjs/components/layout/components/theme-config/menu-layout.cjs +1 -1
- package/dist/cjs/components/layout/components/theme-config/operations.cjs +1 -1
- package/dist/cjs/components/layout/components/theme-config/theme-color-picker.cjs +1 -1
- package/dist/cjs/components/layout/components/theme-config/theme-colors.cjs +1 -1
- package/dist/cjs/components/layout/hooks/index.cjs +1 -1
- package/dist/cjs/components/layout/hooks/use-color-scheme-updater.cjs +1 -1
- package/dist/cjs/components/layout/hooks/use-menu-navigate.cjs +1 -1
- package/dist/cjs/components/layout/hooks/use-tab-navigate.cjs +1 -1
- package/dist/cjs/components/layout/index.cjs +1 -1
- package/dist/cjs/components/layout/store.cjs +1 -1
- package/dist/cjs/components/layout/styles.cjs +1 -1
- package/dist/cjs/components/login/icon-login.cjs +1 -1
- package/dist/cjs/components/login/index.cjs +1 -1
- package/dist/cjs/components/login/styles.cjs +61 -1
- package/dist/cjs/components/login/welcome-messages.cjs +1 -1
- package/dist/cjs/components/logo-icon/index.cjs +1 -1
- package/dist/cjs/components/n-progress/components/bar.cjs +10 -10
- package/dist/cjs/components/n-progress/components/container.cjs +1 -1
- package/dist/cjs/components/n-progress/components/index.cjs +1 -1
- package/dist/cjs/components/n-progress/event.cjs +1 -1
- package/dist/cjs/components/n-progress/index.cjs +1 -1
- package/dist/cjs/components/not-found/index.cjs +1 -1
- package/dist/cjs/components/not-found/not-found-icon.cjs +1 -1
- package/dist/cjs/components/page/components/aside-panel.cjs +1 -0
- package/dist/cjs/components/page/components/index.cjs +1 -0
- package/dist/cjs/components/page/components/resize-handle.cjs +1 -0
- package/dist/cjs/components/page/components/scroll-content.cjs +1 -0
- package/dist/cjs/components/page/hooks/index.cjs +1 -0
- package/dist/cjs/components/page/hooks/use-page-key.cjs +1 -0
- package/dist/cjs/components/page/hooks/use-resize.cjs +1 -0
- package/dist/cjs/components/page/index.cjs +1 -1
- package/dist/cjs/components/page/styles.cjs +1 -1
- package/dist/cjs/components/page/viewport-context.cjs +1 -1
- package/dist/cjs/components/pro-search/components/advanced-search-toggler.cjs +1 -1
- package/dist/cjs/components/pro-search/components/advanced-search.cjs +1 -1
- package/dist/cjs/components/pro-search/components/index.cjs +1 -1
- package/dist/cjs/components/pro-search/components/search-actions.cjs +1 -1
- package/dist/cjs/components/pro-search/index.cjs +1 -1
- package/dist/cjs/components/pro-search/styles.cjs +1 -1
- package/dist/cjs/components/pro-table/components/column-setting-item.cjs +1 -0
- package/dist/cjs/components/pro-table/components/column-settings-panel.cjs +1 -0
- package/dist/cjs/components/pro-table/components/column-settings.cjs +1 -0
- package/dist/cjs/components/pro-table/components/index.cjs +1 -1
- package/dist/cjs/components/pro-table/components/operation-button-group.cjs +1 -1
- package/dist/cjs/components/pro-table/components/ref.cjs +1 -1
- package/dist/cjs/components/pro-table/components/table-subscriber.cjs +1 -1
- package/dist/cjs/components/pro-table/components/table-summary.cjs +1 -1
- package/dist/cjs/components/pro-table/components/table-title.cjs +1 -1
- package/dist/cjs/components/pro-table/components/table.cjs +1 -1
- package/dist/cjs/components/pro-table/components/width-popover.cjs +1 -0
- package/dist/cjs/components/pro-table/context.cjs +1 -1
- package/dist/cjs/components/pro-table/event.cjs +1 -1
- package/dist/cjs/components/pro-table/hooks/index.cjs +1 -1
- package/dist/cjs/components/pro-table/hooks/use-column-settings-persistence.cjs +1 -0
- package/dist/cjs/components/pro-table/hooks/use-row-selection.cjs +1 -1
- package/dist/cjs/components/pro-table/hooks/use-table-columns.cjs +1 -1
- package/dist/cjs/components/pro-table/index.cjs +1 -1
- package/dist/cjs/components/pro-table/store.cjs +1 -1
- package/dist/cjs/components/router-provider/context.cjs +1 -1
- package/dist/cjs/components/router-provider/index.cjs +1 -1
- package/dist/cjs/components/theme-config-provider/global-style.cjs +3 -3
- package/dist/cjs/components/theme-config-provider/index.cjs +1 -1
- package/dist/cjs/components/theme-config-provider/use-color-mode-effect.cjs +1 -1
- package/dist/cjs/components/theme-config-provider/use-theme-config.cjs +1 -1
- package/dist/cjs/constants/event.cjs +1 -1
- package/dist/cjs/constants/index.cjs +1 -1
- package/dist/cjs/constants/router.cjs +1 -1
- package/dist/cjs/constants/storage.cjs +1 -1
- package/dist/cjs/constants/symbols.cjs +1 -1
- package/dist/cjs/helpers/api.cjs +1 -1
- package/dist/cjs/helpers/app-version.cjs +1 -1
- package/dist/cjs/helpers/app.cjs +1 -1
- package/dist/cjs/helpers/auth.cjs +1 -1
- package/dist/cjs/helpers/event.cjs +1 -1
- package/dist/cjs/helpers/index.cjs +1 -1
- package/dist/cjs/helpers/query.cjs +1 -1
- package/dist/cjs/helpers/router.cjs +1 -1
- package/dist/cjs/hooks/index.cjs +1 -1
- package/dist/cjs/hooks/use-route-full-path.cjs +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/routes/access-denied.cjs +1 -1
- package/dist/cjs/routes/index.cjs +1 -1
- package/dist/cjs/routes/layout.cjs +1 -1
- package/dist/cjs/routes/login.cjs +1 -1
- package/dist/cjs/routes/root.cjs +1 -1
- package/dist/cjs/stores/app.cjs +1 -1
- package/dist/cjs/stores/index.cjs +1 -1
- package/dist/cjs/stores/tab.cjs +1 -1
- package/dist/cjs/stores/theme.cjs +1 -1
- package/dist/es/components/access-denied/access-denied-icon.js +804 -204
- package/dist/es/components/access-denied/index.js +65 -37
- package/dist/es/components/app/index.js +33 -34
- package/dist/es/components/base-layout/index.js +40 -33
- package/dist/es/components/base-layout/styles.js +30 -42
- package/dist/es/components/base-layout/use-base-layout.js +26 -31
- package/dist/es/components/crud/components/action-button-group.js +12 -14
- package/dist/es/components/crud/components/index.js +7 -14
- package/dist/es/components/crud/components/main.js +41 -45
- package/dist/es/components/crud/components/mutation-holder.js +31 -31
- package/dist/es/components/crud/components/operation-button-group.js +17 -16
- package/dist/es/components/crud/components/scene-form.js +46 -70
- package/dist/es/components/crud/components/selection-indicator.js +69 -63
- package/dist/es/components/crud/components/toolbar-actions.js +12 -13
- package/dist/es/components/crud/components/toolbar.js +28 -32
- package/dist/es/components/crud/event.js +7 -6
- package/dist/es/components/crud/helpers.js +16 -19
- package/dist/es/components/crud/hooks/index.js +4 -8
- package/dist/es/components/crud/hooks/use-query-observer.js +27 -27
- package/dist/es/components/crud/hooks/use-search-values.js +7 -6
- package/dist/es/components/crud/hooks/use-selected-rows.js +6 -5
- package/dist/es/components/crud/index.js +43 -40
- package/dist/es/components/crud/store.js +65 -77
- package/dist/es/components/crud/styles.js +18 -25
- package/dist/es/components/crud-page/index.js +22 -13
- package/dist/es/components/error/error-icon.js +681 -173
- package/dist/es/components/error/index.js +81 -50
- package/dist/es/components/flex-card/index.js +12 -11
- package/dist/es/components/flex-card/styles.js +20 -21
- package/dist/es/components/form-drawer/components/form-actions.js +25 -30
- package/dist/es/components/form-drawer/components/index.js +2 -4
- package/dist/es/components/form-drawer/index.js +75 -76
- package/dist/es/components/form-modal/components/draggable-wrapper.js +52 -0
- package/dist/es/components/form-modal/components/form-actions.js +25 -30
- package/dist/es/components/form-modal/components/index.js +3 -4
- package/dist/es/components/form-modal/index.js +68 -60
- package/dist/es/components/index.js +25 -39
- package/dist/es/components/layout/components/footer.js +7 -22
- package/dist/es/components/layout/components/header/boy-icon.js +42 -14
- package/dist/es/components/layout/components/header/breadcrumb-navigation.js +65 -62
- package/dist/es/components/layout/components/header/color-scheme.js +32 -31
- package/dist/es/components/layout/components/header/fullscreen.js +16 -14
- package/dist/es/components/layout/components/header/girl-icon.js +46 -15
- package/dist/es/components/layout/components/header/index.js +82 -71
- package/dist/es/components/layout/components/header/menu-burger.js +22 -17
- package/dist/es/components/layout/components/header/menu-fold-left-icon.js +69 -14
- package/dist/es/components/layout/components/header/menu-unfold-left-icon.js +69 -14
- package/dist/es/components/layout/components/header/search.js +21 -14
- package/dist/es/components/layout/components/header/theme-config.js +20 -16
- package/dist/es/components/layout/components/header/user-avatar.js +68 -70
- package/dist/es/components/layout/components/honeycomb-pattern.js +52 -27
- package/dist/es/components/layout/components/index.js +6 -14
- package/dist/es/components/layout/components/logo.js +50 -50
- package/dist/es/components/layout/components/menu.js +70 -57
- package/dist/es/components/layout/components/search/index.js +78 -61
- package/dist/es/components/layout/components/search/keyboard-arrow-down-icon.js +17 -9
- package/dist/es/components/layout/components/search/keyboard-arrow-up-icon.js +17 -9
- package/dist/es/components/layout/components/search/keyboard-control-icon.js +17 -9
- package/dist/es/components/layout/components/search/keyboard-esc-icon.js +17 -9
- package/dist/es/components/layout/components/search/keyboard-help.js +64 -39
- package/dist/es/components/layout/components/search/keyboard-return-icon.js +17 -9
- package/dist/es/components/layout/components/search/keyboard-shift-icon.js +17 -9
- package/dist/es/components/layout/components/search/keyboard.js +18 -21
- package/dist/es/components/layout/components/search/letter-s-icon.js +17 -9
- package/dist/es/components/layout/components/search/search-result-item.js +61 -58
- package/dist/es/components/layout/components/search/search-result.js +99 -108
- package/dist/es/components/layout/components/sidebar.js +48 -39
- package/dist/es/components/layout/components/tabs/context-menu.js +72 -86
- package/dist/es/components/layout/components/tabs/index.js +34 -33
- package/dist/es/components/layout/components/tabs/main-content-maximum.js +22 -17
- package/dist/es/components/layout/components/tabs/reload.js +21 -15
- package/dist/es/components/layout/components/tabs/tab-item.js +80 -72
- package/dist/es/components/layout/components/tabs/tab-list.js +77 -73
- package/dist/es/components/layout/components/tabs/tabs-container.js +72 -70
- package/dist/es/components/layout/components/theme-config/color-scheme-switcher.js +57 -40
- package/dist/es/components/layout/components/theme-config/color-scheme.js +64 -51
- package/dist/es/components/layout/components/theme-config/config-item.js +19 -21
- package/dist/es/components/layout/components/theme-config/index.js +53 -48
- package/dist/es/components/layout/components/theme-config/menu-layout-card.js +63 -66
- package/dist/es/components/layout/components/theme-config/menu-layout.js +41 -27
- package/dist/es/components/layout/components/theme-config/operations.js +22 -15
- package/dist/es/components/layout/components/theme-config/theme-color-picker.js +28 -26
- package/dist/es/components/layout/components/theme-config/theme-colors.js +27 -21
- package/dist/es/components/layout/hooks/index.js +4 -8
- package/dist/es/components/layout/hooks/use-color-scheme-updater.js +52 -57
- package/dist/es/components/layout/hooks/use-menu-navigate.js +18 -23
- package/dist/es/components/layout/hooks/use-tab-navigate.js +24 -26
- package/dist/es/components/layout/index.js +62 -62
- package/dist/es/components/layout/store.js +12 -15
- package/dist/es/components/layout/styles.js +12 -11
- package/dist/es/components/login/icon-login.js +618 -143
- package/dist/es/components/login/index.js +185 -143
- package/dist/es/components/login/styles.js +314 -79
- package/dist/es/components/login/welcome-messages.js +7 -130
- package/dist/es/components/logo-icon/index.js +23 -16
- package/dist/es/components/n-progress/components/bar.js +46 -45
- package/dist/es/components/n-progress/components/container.js +25 -18
- package/dist/es/components/n-progress/components/index.js +3 -6
- package/dist/es/components/n-progress/event.js +6 -5
- package/dist/es/components/n-progress/index.js +16 -23
- package/dist/es/components/not-found/index.js +64 -36
- package/dist/es/components/not-found/not-found-icon.js +788 -199
- package/dist/es/components/page/components/aside-panel.js +49 -0
- package/dist/es/components/page/components/index.js +4 -0
- package/dist/es/components/page/components/resize-handle.js +18 -0
- package/dist/es/components/page/components/scroll-content.js +55 -0
- package/dist/es/components/page/hooks/index.js +3 -0
- package/dist/es/components/page/hooks/use-page-key.js +14 -0
- package/dist/es/components/page/hooks/use-resize.js +32 -0
- package/dist/es/components/page/index.js +123 -48
- package/dist/es/components/page/styles.js +115 -65
- package/dist/es/components/page/viewport-context.js +11 -12
- package/dist/es/components/pro-search/components/advanced-search-toggler.js +27 -18
- package/dist/es/components/pro-search/components/advanced-search.js +32 -23
- package/dist/es/components/pro-search/components/index.js +4 -8
- package/dist/es/components/pro-search/components/search-actions.js +23 -28
- package/dist/es/components/pro-search/index.js +56 -55
- package/dist/es/components/pro-search/styles.js +41 -54
- package/dist/es/components/pro-table/components/column-setting-item.js +166 -0
- package/dist/es/components/pro-table/components/column-settings-panel.js +90 -0
- package/dist/es/components/pro-table/components/column-settings.js +29 -0
- package/dist/es/components/pro-table/components/index.js +9 -11
- package/dist/es/components/pro-table/components/operation-button-group.js +17 -16
- package/dist/es/components/pro-table/components/ref.js +13 -14
- package/dist/es/components/pro-table/components/table-subscriber.js +16 -18
- package/dist/es/components/pro-table/components/table-summary.js +12 -10
- package/dist/es/components/pro-table/components/table-title.js +12 -10
- package/dist/es/components/pro-table/components/table.js +99 -102
- package/dist/es/components/pro-table/components/width-popover.js +73 -0
- package/dist/es/components/pro-table/context.js +12 -8
- package/dist/es/components/pro-table/event.js +7 -6
- package/dist/es/components/pro-table/hooks/index.js +4 -6
- package/dist/es/components/pro-table/hooks/use-column-settings-persistence.js +60 -0
- package/dist/es/components/pro-table/hooks/use-row-selection.js +28 -32
- package/dist/es/components/pro-table/hooks/use-table-columns.js +107 -41
- package/dist/es/components/pro-table/index.js +67 -44
- package/dist/es/components/pro-table/store.js +93 -32
- package/dist/es/components/router-provider/context.js +9 -9
- package/dist/es/components/router-provider/index.js +27 -27
- package/dist/es/components/theme-config-provider/global-style.js +12 -79
- package/dist/es/components/theme-config-provider/index.js +14 -12
- package/dist/es/components/theme-config-provider/use-color-mode-effect.js +15 -19
- package/dist/es/components/theme-config-provider/use-theme-config.js +42 -38
- package/dist/es/constants/event.js +5 -6
- package/dist/es/constants/index.js +5 -19
- package/dist/es/constants/router.js +5 -9
- package/dist/es/constants/storage.js +5 -5
- package/dist/es/constants/symbols.js +5 -5
- package/dist/es/helpers/api.js +28 -37
- package/dist/es/helpers/app-version.js +137 -154
- package/dist/es/helpers/app.js +26 -25
- package/dist/es/helpers/auth.js +11 -16
- package/dist/es/helpers/event.js +17 -22
- package/dist/es/helpers/index.js +8 -19
- package/dist/es/helpers/query.js +15 -20
- package/dist/es/helpers/router.js +80 -99
- package/dist/es/hooks/index.js +2 -4
- package/dist/es/hooks/use-route-full-path.js +19 -19
- package/dist/es/index.js +31 -78
- package/dist/es/routes/access-denied.js +13 -21
- package/dist/es/routes/index.js +5 -10
- package/dist/es/routes/layout.js +81 -113
- package/dist/es/routes/login.js +24 -35
- package/dist/es/routes/root.js +20 -24
- package/dist/es/stores/app.js +12 -17
- package/dist/es/stores/index.js +4 -8
- package/dist/es/stores/tab.js +68 -77
- package/dist/es/stores/theme.js +27 -23
- package/dist/types/components/access-denied/index.d.ts +1 -1
- package/dist/types/components/app/index.d.ts +1 -1
- package/dist/types/components/app/props.d.ts +2 -15
- package/dist/types/components/base-layout/index.d.ts +1 -1
- package/dist/types/components/base-layout/use-base-layout.d.ts +4 -2
- package/dist/types/components/crud/components/action-button-group.d.ts +3 -3
- package/dist/types/components/crud/components/scene-form.d.ts +1 -1
- package/dist/types/components/crud/components/selection-indicator.d.ts +2 -2
- package/dist/types/components/crud/helpers.d.ts +8 -6
- package/dist/types/components/crud/hooks/use-query-observer.d.ts +1 -6
- package/dist/types/components/crud/index.d.ts +3 -2
- package/dist/types/components/crud/props.d.ts +20 -2
- package/dist/types/components/crud/store.d.ts +1 -0
- package/dist/types/components/crud/styles.d.ts +0 -1
- package/dist/types/components/crud/types.d.ts +10 -4
- package/dist/types/components/crud-page/index.d.ts +2 -2
- package/dist/types/components/crud-page/props.d.ts +41 -4
- package/dist/types/components/error/index.d.ts +1 -1
- package/dist/types/components/flex-card/index.d.ts +3 -3
- package/dist/types/components/flex-card/props.d.ts +1 -2
- package/dist/types/components/form-drawer/components/form-actions.d.ts +3 -2
- package/dist/types/components/form-drawer/props.d.ts +13 -5
- package/dist/types/components/form-modal/components/draggable-wrapper.d.ts +9 -0
- package/dist/types/components/form-modal/components/form-actions.d.ts +3 -2
- package/dist/types/components/form-modal/components/index.d.ts +1 -0
- package/dist/types/components/form-modal/props.d.ts +19 -5
- package/dist/types/components/index.d.ts +1 -1
- package/dist/types/components/layout/components/footer.d.ts +1 -1
- package/dist/types/components/layout/components/header/color-scheme.d.ts +1 -1
- package/dist/types/components/layout/components/header/fullscreen.d.ts +1 -1
- package/dist/types/components/layout/components/header/menu-burger.d.ts +1 -1
- package/dist/types/components/layout/components/header/search.d.ts +1 -1
- package/dist/types/components/layout/components/header/theme-config.d.ts +1 -1
- package/dist/types/components/layout/components/honeycomb-pattern.d.ts +1 -1
- package/dist/types/components/layout/components/logo.d.ts +1 -1
- package/dist/types/components/layout/components/search/keyboard.d.ts +2 -2
- package/dist/types/components/layout/components/sidebar.d.ts +1 -1
- package/dist/types/components/layout/components/tabs/index.d.ts +1 -1
- package/dist/types/components/layout/components/tabs/main-content-maximum.d.ts +1 -1
- package/dist/types/components/layout/components/tabs/reload.d.ts +1 -1
- package/dist/types/components/layout/components/tabs/tabs-container.d.ts +1 -1
- package/dist/types/components/layout/components/theme-config/color-scheme-switcher.d.ts +1 -1
- package/dist/types/components/layout/components/theme-config/color-scheme.d.ts +1 -1
- package/dist/types/components/layout/components/theme-config/config-item.d.ts +1 -1
- package/dist/types/components/layout/components/theme-config/index.d.ts +1 -1
- package/dist/types/components/layout/components/theme-config/menu-layout-card.d.ts +1 -1
- package/dist/types/components/layout/components/theme-config/menu-layout.d.ts +1 -1
- package/dist/types/components/layout/components/theme-config/operations.d.ts +1 -1
- package/dist/types/components/layout/components/theme-config/theme-color-picker.d.ts +1 -1
- package/dist/types/components/layout/components/theme-config/theme-colors.d.ts +1 -1
- package/dist/types/components/layout/hooks/use-color-scheme-updater.d.ts +1 -1
- package/dist/types/components/login/index.d.ts +1 -1
- package/dist/types/components/login/payload.d.ts +4 -4
- package/dist/types/components/login/styles.d.ts +11 -0
- package/dist/types/components/logo-icon/index.d.ts +3 -3
- package/dist/types/components/logo-icon/props.d.ts +0 -6
- package/dist/types/components/n-progress/components/bar.d.ts +1 -1
- package/dist/types/components/n-progress/components/container.d.ts +1 -1
- package/dist/types/components/n-progress/event.d.ts +3 -3
- package/dist/types/components/n-progress/index.d.ts +1 -1
- package/dist/types/components/not-found/index.d.ts +1 -1
- package/dist/types/components/page/components/aside-panel.d.ts +11 -0
- package/dist/types/components/page/components/index.d.ts +3 -0
- package/dist/types/components/page/components/resize-handle.d.ts +7 -0
- package/dist/types/components/page/{scroll-content.d.ts → components/scroll-content.d.ts} +1 -1
- package/dist/types/components/page/hooks/index.d.ts +2 -0
- package/dist/types/components/page/hooks/use-resize.d.ts +15 -0
- package/dist/types/components/page/index.d.ts +2 -2
- package/dist/types/components/page/props.d.ts +96 -7
- package/dist/types/components/page/styles.d.ts +8 -2
- package/dist/types/components/pro-search/components/search-actions.d.ts +0 -12
- package/dist/types/components/pro-table/components/column-setting-item.d.ts +12 -0
- package/dist/types/components/pro-table/components/column-settings-panel.d.ts +2 -0
- package/dist/types/components/pro-table/components/column-settings.d.ts +6 -0
- package/dist/types/components/pro-table/components/index.d.ts +4 -0
- package/dist/types/components/pro-table/components/table.d.ts +10 -4
- package/dist/types/components/pro-table/components/width-popover.d.ts +9 -0
- package/dist/types/components/pro-table/context.d.ts +2 -0
- package/dist/types/components/pro-table/hooks/index.d.ts +1 -0
- package/dist/types/components/pro-table/hooks/use-column-settings-persistence.d.ts +7 -0
- package/dist/types/components/pro-table/hooks/use-row-selection.d.ts +2 -7
- package/dist/types/components/pro-table/hooks/use-table-columns.d.ts +4 -2
- package/dist/types/components/pro-table/index.d.ts +3 -3
- package/dist/types/components/pro-table/props.d.ts +21 -12
- package/dist/types/components/pro-table/store.d.ts +73 -3
- package/dist/types/components/pro-table/types.d.ts +17 -0
- package/dist/types/components/router-provider/context.d.ts +3 -2
- package/dist/types/components/router-provider/index.d.ts +2 -2
- package/dist/types/components/theme-config-provider/index.d.ts +1 -1
- package/dist/types/constants/event.d.ts +0 -9
- package/dist/types/constants/router.d.ts +0 -18
- package/dist/types/constants/storage.d.ts +0 -6
- package/dist/types/constants/symbols.d.ts +0 -6
- package/dist/types/helpers/app-version.d.ts +0 -69
- package/dist/types/helpers/app.d.ts +6 -19
- package/dist/types/helpers/auth.d.ts +0 -5
- package/dist/types/helpers/event.d.ts +1 -17
- package/dist/types/helpers/query.d.ts +3 -23
- package/dist/types/helpers/router.d.ts +0 -18
- package/dist/types/hooks/use-route-full-path.d.ts +0 -5
- package/dist/types/index.d.ts +1 -1
- package/dist/types/routes/access-denied.d.ts +0 -5
- package/dist/types/routes/layout.d.ts +4 -7
- package/dist/types/routes/login.d.ts +0 -5
- package/dist/types/routes/root.d.ts +0 -5
- package/dist/types/src/components/access-denied/access-denied-icon.d.ts +2 -0
- package/dist/types/src/components/access-denied/index.d.ts +1 -0
- package/dist/types/src/components/app/index.d.ts +4 -0
- package/dist/types/src/components/app/props.d.ts +8 -0
- package/dist/types/src/components/base-layout/index.d.ts +3 -0
- package/dist/types/src/components/base-layout/props.d.ts +70 -0
- package/dist/types/src/components/base-layout/styles.d.ts +8 -0
- package/dist/types/src/components/base-layout/use-base-layout.d.ts +11 -0
- package/dist/types/src/components/crud/components/action-button-group.d.ts +8 -0
- package/dist/types/src/components/crud/components/index.d.ts +6 -0
- package/dist/types/src/components/crud/components/main.d.ts +6 -0
- package/dist/types/src/components/crud/components/mutation-holder.d.ts +10 -0
- package/dist/types/src/components/crud/components/operation-button-group.d.ts +8 -0
- package/dist/types/src/components/crud/components/scene-form.d.ts +7 -0
- package/dist/types/src/components/crud/components/selection-indicator.d.ts +6 -0
- package/dist/types/src/components/crud/components/toolbar-actions.d.ts +6 -0
- package/dist/types/src/components/crud/components/toolbar.d.ts +8 -0
- package/dist/types/src/components/crud/event.d.ts +3 -0
- package/dist/types/src/components/crud/helpers.d.ts +20 -0
- package/dist/types/src/components/crud/hooks/index.d.ts +3 -0
- package/dist/types/src/components/crud/hooks/use-query-observer.d.ts +6 -0
- package/dist/types/src/components/crud/hooks/use-search-values.d.ts +2 -0
- package/dist/types/src/components/crud/hooks/use-selected-rows.d.ts +2 -0
- package/dist/types/src/components/crud/index.d.ts +8 -0
- package/dist/types/src/components/crud/props.d.ts +171 -0
- package/dist/types/src/components/crud/store.d.ts +146 -0
- package/dist/types/src/components/crud/styles.d.ts +3 -0
- package/dist/types/src/components/crud/types.d.ts +54 -0
- package/dist/types/src/components/crud-page/index.d.ts +3 -0
- package/dist/types/src/components/crud-page/props.d.ts +57 -0
- package/dist/types/src/components/error/error-icon.d.ts +2 -0
- package/dist/types/src/components/error/index.d.ts +2 -0
- package/dist/types/src/components/error/props.d.ts +6 -0
- package/dist/types/src/components/flex-card/index.d.ts +3 -0
- package/dist/types/src/components/flex-card/props.d.ts +2 -0
- package/dist/types/src/components/flex-card/styles.d.ts +2 -0
- package/dist/types/src/components/form-drawer/components/form-actions.d.ts +19 -0
- package/dist/types/src/components/form-drawer/components/index.d.ts +1 -0
- package/dist/types/src/components/form-drawer/index.d.ts +5 -0
- package/dist/types/src/components/form-drawer/props.d.ts +78 -0
- package/dist/types/src/components/form-modal/components/draggable-wrapper.d.ts +9 -0
- package/dist/types/src/components/form-modal/components/form-actions.d.ts +19 -0
- package/dist/types/src/components/form-modal/components/index.d.ts +2 -0
- package/dist/types/src/components/form-modal/index.d.ts +5 -0
- package/dist/types/src/components/form-modal/props.d.ts +80 -0
- package/dist/types/src/components/index.d.ts +19 -0
- package/dist/types/src/components/layout/components/footer.d.ts +1 -0
- package/dist/types/src/components/layout/components/header/boy-icon.d.ts +2 -0
- package/dist/types/src/components/layout/components/header/breadcrumb-navigation.d.ts +2 -0
- package/dist/types/src/components/layout/components/header/color-scheme.d.ts +5 -0
- package/dist/types/src/components/layout/components/header/fullscreen.d.ts +5 -0
- package/dist/types/src/components/layout/components/header/girl-icon.d.ts +2 -0
- package/dist/types/src/components/layout/components/header/index.d.ts +5 -0
- package/dist/types/src/components/layout/components/header/menu-burger.d.ts +5 -0
- package/dist/types/src/components/layout/components/header/menu-fold-left-icon.d.ts +2 -0
- package/dist/types/src/components/layout/components/header/menu-unfold-left-icon.d.ts +2 -0
- package/dist/types/src/components/layout/components/header/search.d.ts +5 -0
- package/dist/types/src/components/layout/components/header/theme-config.d.ts +5 -0
- package/dist/types/src/components/layout/components/header/user-avatar.d.ts +6 -0
- package/dist/types/src/components/layout/components/honeycomb-pattern.d.ts +1 -0
- package/dist/types/src/components/layout/components/index.d.ts +6 -0
- package/dist/types/src/components/layout/components/logo.d.ts +8 -0
- package/dist/types/src/components/layout/components/menu.d.ts +7 -0
- package/dist/types/src/components/layout/components/search/index.d.ts +1 -0
- package/dist/types/src/components/layout/components/search/keyboard-arrow-down-icon.d.ts +2 -0
- package/dist/types/src/components/layout/components/search/keyboard-arrow-up-icon.d.ts +2 -0
- package/dist/types/src/components/layout/components/search/keyboard-control-icon.d.ts +2 -0
- package/dist/types/src/components/layout/components/search/keyboard-esc-icon.d.ts +2 -0
- package/dist/types/src/components/layout/components/search/keyboard-help.d.ts +1 -0
- package/dist/types/src/components/layout/components/search/keyboard-return-icon.d.ts +2 -0
- package/dist/types/src/components/layout/components/search/keyboard-shift-icon.d.ts +2 -0
- package/dist/types/src/components/layout/components/search/keyboard.d.ts +6 -0
- package/dist/types/src/components/layout/components/search/letter-s-icon.d.ts +2 -0
- package/dist/types/src/components/layout/components/search/search-result-item.d.ts +8 -0
- package/dist/types/src/components/layout/components/search/search-result.d.ts +5 -0
- package/dist/types/src/components/layout/components/sidebar.d.ts +6 -0
- package/dist/types/src/components/layout/components/tabs/context-menu.d.ts +6 -0
- package/dist/types/src/components/layout/components/tabs/index.d.ts +1 -0
- package/dist/types/src/components/layout/components/tabs/main-content-maximum.d.ts +5 -0
- package/dist/types/src/components/layout/components/tabs/reload.d.ts +5 -0
- package/dist/types/src/components/layout/components/tabs/tab-item.d.ts +10 -0
- package/dist/types/src/components/layout/components/tabs/tab-list.d.ts +1 -0
- package/dist/types/src/components/layout/components/tabs/tabs-container.d.ts +1 -0
- package/dist/types/src/components/layout/components/theme-config/color-scheme-switcher.d.ts +1 -0
- package/dist/types/src/components/layout/components/theme-config/color-scheme.d.ts +1 -0
- package/dist/types/src/components/layout/components/theme-config/config-item.d.ts +7 -0
- package/dist/types/src/components/layout/components/theme-config/index.d.ts +1 -0
- package/dist/types/src/components/layout/components/theme-config/menu-layout-card.d.ts +7 -0
- package/dist/types/src/components/layout/components/theme-config/menu-layout.d.ts +1 -0
- package/dist/types/src/components/layout/components/theme-config/operations.d.ts +1 -0
- package/dist/types/src/components/layout/components/theme-config/theme-color-picker.d.ts +6 -0
- package/dist/types/src/components/layout/components/theme-config/theme-colors.d.ts +1 -0
- package/dist/types/src/components/layout/hooks/index.d.ts +3 -0
- package/dist/types/src/components/layout/hooks/use-color-scheme-updater.d.ts +13 -0
- package/dist/types/src/components/layout/hooks/use-menu-navigate.d.ts +7 -0
- package/dist/types/src/components/layout/hooks/use-tab-navigate.d.ts +11 -0
- package/dist/types/src/components/layout/index.d.ts +3 -0
- package/dist/types/src/components/layout/props.d.ts +28 -0
- package/dist/types/src/components/layout/store.d.ts +17 -0
- package/dist/types/src/components/layout/styles.d.ts +2 -0
- package/dist/types/src/components/login/icon-login.d.ts +2 -0
- package/dist/types/src/components/login/index.d.ts +4 -0
- package/dist/types/src/components/login/payload.d.ts +45 -0
- package/dist/types/src/components/login/props.d.ts +27 -0
- package/dist/types/src/components/login/styles.d.ts +21 -0
- package/dist/types/src/components/login/welcome-messages.d.ts +11 -0
- package/dist/types/src/components/logo-icon/index.d.ts +3 -0
- package/dist/types/src/components/logo-icon/props.d.ts +4 -0
- package/dist/types/src/components/n-progress/components/bar.d.ts +5 -0
- package/dist/types/src/components/n-progress/components/container.d.ts +7 -0
- package/dist/types/src/components/n-progress/components/index.d.ts +2 -0
- package/dist/types/src/components/n-progress/event.d.ts +7 -0
- package/dist/types/src/components/n-progress/index.d.ts +2 -0
- package/dist/types/src/components/not-found/index.d.ts +1 -0
- package/dist/types/src/components/not-found/not-found-icon.d.ts +2 -0
- package/dist/types/src/components/page/components/aside-panel.d.ts +11 -0
- package/dist/types/src/components/page/components/index.d.ts +3 -0
- package/dist/types/src/components/page/components/resize-handle.d.ts +7 -0
- package/dist/types/src/components/page/components/scroll-content.d.ts +8 -0
- package/dist/types/src/components/page/hooks/index.d.ts +2 -0
- package/dist/types/src/components/page/hooks/use-page-key.d.ts +1 -0
- package/dist/types/src/components/page/hooks/use-resize.d.ts +15 -0
- package/dist/types/src/components/page/index.d.ts +4 -0
- package/dist/types/src/components/page/props.d.ts +140 -0
- package/dist/types/src/components/page/styles.d.ts +17 -0
- package/dist/types/src/components/page/viewport-context.d.ts +7 -0
- package/dist/types/src/components/pro-search/components/advanced-search-toggler.d.ts +7 -0
- package/dist/types/src/components/pro-search/components/advanced-search.d.ts +6 -0
- package/dist/types/src/components/pro-search/components/index.d.ts +3 -0
- package/dist/types/src/components/pro-search/components/search-actions.d.ts +10 -0
- package/dist/types/src/components/pro-search/index.d.ts +5 -0
- package/dist/types/src/components/pro-search/props.d.ts +66 -0
- package/dist/types/src/components/pro-search/styles.d.ts +6 -0
- package/dist/types/src/components/pro-table/components/column-setting-item.d.ts +12 -0
- package/dist/types/src/components/pro-table/components/column-settings-panel.d.ts +2 -0
- package/dist/types/src/components/pro-table/components/column-settings.d.ts +6 -0
- package/dist/types/src/components/pro-table/components/index.d.ts +8 -0
- package/dist/types/src/components/pro-table/components/operation-button-group.d.ts +7 -0
- package/dist/types/src/components/pro-table/components/ref.d.ts +3 -0
- package/dist/types/src/components/pro-table/components/table-subscriber.d.ts +9 -0
- package/dist/types/src/components/pro-table/components/table-summary.d.ts +7 -0
- package/dist/types/src/components/pro-table/components/table-title.d.ts +7 -0
- package/dist/types/src/components/pro-table/components/table.d.ts +12 -0
- package/dist/types/src/components/pro-table/components/width-popover.d.ts +9 -0
- package/dist/types/src/components/pro-table/context.d.ts +5 -0
- package/dist/types/src/components/pro-table/event.d.ts +16 -0
- package/dist/types/src/components/pro-table/hooks/index.d.ts +3 -0
- package/dist/types/src/components/pro-table/hooks/use-column-settings-persistence.d.ts +7 -0
- package/dist/types/src/components/pro-table/hooks/use-row-selection.d.ts +7 -0
- package/dist/types/src/components/pro-table/hooks/use-table-columns.d.ts +13 -0
- package/dist/types/src/components/pro-table/index.d.ts +11 -0
- package/dist/types/src/components/pro-table/props.d.ts +127 -0
- package/dist/types/src/components/pro-table/store.d.ts +105 -0
- package/dist/types/src/components/pro-table/types.d.ts +103 -0
- package/dist/types/src/components/router-provider/context.d.ts +7 -0
- package/dist/types/src/components/router-provider/index.d.ts +5 -0
- package/dist/types/src/components/router-provider/props.d.ts +7 -0
- package/dist/types/src/components/theme-config-provider/global-style.d.ts +2 -0
- package/dist/types/src/components/theme-config-provider/index.d.ts +2 -0
- package/dist/types/src/components/theme-config-provider/use-color-mode-effect.d.ts +1 -0
- package/dist/types/src/components/theme-config-provider/use-theme-config.d.ts +2 -0
- package/dist/types/src/constants/event.d.ts +3 -0
- package/dist/types/src/constants/index.d.ts +4 -0
- package/dist/types/src/constants/router.d.ts +6 -0
- package/dist/types/src/constants/storage.d.ts +2 -0
- package/dist/types/src/constants/symbols.d.ts +2 -0
- package/dist/types/src/helpers/api.d.ts +6 -0
- package/dist/types/src/helpers/app-version.d.ts +19 -0
- package/dist/types/src/helpers/app.d.ts +11 -0
- package/dist/types/src/helpers/auth.d.ts +2 -0
- package/dist/types/src/helpers/event.d.ts +10 -0
- package/dist/types/src/helpers/index.d.ts +7 -0
- package/dist/types/src/helpers/query.d.ts +13 -0
- package/dist/types/src/helpers/router.d.ts +10 -0
- package/dist/types/src/hooks/index.d.ts +1 -0
- package/dist/types/src/hooks/use-route-full-path.d.ts +1 -0
- package/dist/types/src/index.d.ts +6 -0
- package/dist/types/src/models/index.d.ts +1 -0
- package/dist/types/src/routes/access-denied.d.ts +11 -0
- package/dist/types/src/routes/index.d.ts +4 -0
- package/dist/types/src/routes/layout.d.ts +22 -0
- package/dist/types/src/routes/login.d.ts +13 -0
- package/dist/types/src/routes/root.d.ts +8 -0
- package/dist/types/src/stores/app.d.ts +14 -0
- package/dist/types/src/stores/index.d.ts +6 -0
- package/dist/types/src/stores/tab.d.ts +22 -0
- package/dist/types/src/stores/theme.d.ts +16 -0
- package/dist/types/src/types/api.d.ts +74 -0
- package/dist/types/src/types/common.d.ts +23 -0
- package/dist/types/src/types/index.d.ts +3 -0
- package/dist/types/src/types/router.d.ts +5 -0
- package/dist/types/stores/app.d.ts +0 -24
- package/dist/types/stores/tab.d.ts +0 -51
- package/dist/types/stores/theme.d.ts +0 -30
- package/dist/types/types/api.d.ts +49 -42
- package/dist/types/types/common.d.ts +0 -58
- package/dist/types/types/router.d.ts +0 -9
- package/package.json +12 -12
- package/dist/cjs/components/app/props.cjs +0 -1
- package/dist/cjs/components/base-layout/props.cjs +0 -1
- package/dist/cjs/components/crud/props.cjs +0 -1
- package/dist/cjs/components/crud-page/props.cjs +0 -1
- package/dist/cjs/components/flex-card/props.cjs +0 -1
- package/dist/cjs/components/layout/props.cjs +0 -1
- package/dist/cjs/components/login/payload.cjs +0 -1
- package/dist/cjs/components/login/props.cjs +0 -1
- package/dist/cjs/components/logo-icon/props.cjs +0 -1
- package/dist/cjs/components/page/props.cjs +0 -1
- package/dist/cjs/components/page/scroll-content.cjs +0 -1
- package/dist/cjs/components/page/use-page-key.cjs +0 -1
- package/dist/cjs/components/router-provider/props.cjs +0 -1
- package/dist/es/components/app/props.js +0 -1
- package/dist/es/components/base-layout/props.js +0 -1
- package/dist/es/components/crud/props.js +0 -1
- package/dist/es/components/crud-page/props.js +0 -1
- package/dist/es/components/flex-card/props.js +0 -1
- package/dist/es/components/layout/props.js +0 -1
- package/dist/es/components/login/payload.js +0 -1
- package/dist/es/components/login/props.js +0 -1
- package/dist/es/components/logo-icon/props.js +0 -1
- package/dist/es/components/page/props.js +0 -1
- package/dist/es/components/page/scroll-content.js +0 -58
- package/dist/es/components/page/use-page-key.js +0 -15
- package/dist/es/components/router-provider/props.js +0 -1
- /package/dist/types/components/page/{use-page-key.d.ts → hooks/use-page-key.d.ts} +0 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AnyObject } from '@vef-framework/shared';
|
|
2
|
+
import { CrudProps } from './props';
|
|
3
|
+
export declare function Crud<TRow extends AnyObject, TSearchValues extends AnyObject, TSceneFormValues extends AnyObject, TParams extends AnyObject = never>({ defaultSearchValues, advancedSearch, sceneDefaultFormValues, renderForm, formMutationFns, formActionsRenderers, beforeFormSubmit, afterFormSubmit, deleteMutationFn, deleteManyMutationFn, mutationMeta, rowSelection, ...bodyProps }: CrudProps<TRow, TSearchValues, TSceneFormValues, TParams>): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
4
|
+
export type { ActionButtonGroupProps as CrudActionButtonGroupProps, OperationButtonGroupProps as CrudOperationButtonGroupProps } from './components';
|
|
5
|
+
export { createCrudKit } from './helpers';
|
|
6
|
+
export type { CrudKit } from './helpers';
|
|
7
|
+
export type { CrudProps } from './props';
|
|
8
|
+
export type * from './types';
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { TableColumn } from '@vef-framework/components';
|
|
2
|
+
import { ApiResult, MutationFunction, MutationMeta, PaginationResult, QueryFunction } from '@vef-framework/core';
|
|
3
|
+
import { AnyObject, Awaitable, DeepKeys, EmptyObject, If, IsNever, Key, MaybeUndefined, PartialDeep } from '@vef-framework/shared';
|
|
4
|
+
import { ReactNode } from 'react';
|
|
5
|
+
import { ColumnSettingsProp, OperationColumnConfig, ProTableProps, RowSelectionConfig } from '../pro-table';
|
|
6
|
+
import { CrudFormActionsRenderers, CrudFormMutationFns, CrudFormScene, PaginatedQueryParams, QueryParams } from './types';
|
|
7
|
+
/**
|
|
8
|
+
* Base props for the Crud component.
|
|
9
|
+
*
|
|
10
|
+
* @template TRow - Table row model type
|
|
11
|
+
* @template TSearchValues - Search/filters form values type
|
|
12
|
+
* @template TSceneFormValues - A map of scene key to its form values type
|
|
13
|
+
* @template TParams - Additional query parameters type
|
|
14
|
+
*/
|
|
15
|
+
export interface BaseCrudProps<TRow extends AnyObject, TSearchValues extends AnyObject, TSceneFormValues extends AnyObject, TParams extends AnyObject> {
|
|
16
|
+
/**
|
|
17
|
+
* Table size
|
|
18
|
+
*/
|
|
19
|
+
tableSize?: ProTableProps<TRow, TParams>["size"];
|
|
20
|
+
/**
|
|
21
|
+
* Table column definitions
|
|
22
|
+
*/
|
|
23
|
+
tableColumns: Array<TableColumn<NoInfer<TRow>>>;
|
|
24
|
+
/**
|
|
25
|
+
* Column settings configuration.
|
|
26
|
+
* - `false`: Disable column settings feature
|
|
27
|
+
* - `{ storageKey?: string }`: Enable with optional localStorage persistence
|
|
28
|
+
*
|
|
29
|
+
* @default {}
|
|
30
|
+
*/
|
|
31
|
+
columnSettings?: ColumnSettingsProp;
|
|
32
|
+
/**
|
|
33
|
+
* Operation column configuration for per-row actions
|
|
34
|
+
*/
|
|
35
|
+
operationColumn?: OperationColumnConfig<NoInfer<TRow>>;
|
|
36
|
+
/**
|
|
37
|
+
* Whether to show the sequence (row number) column. Default is true.
|
|
38
|
+
*/
|
|
39
|
+
showSequenceColumn?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Row key extractor: either a deep key of the row model or a function
|
|
42
|
+
*/
|
|
43
|
+
rowKey?: DeepKeys<NoInfer<TRow>> | ((row: NoInfer<TRow>) => Key);
|
|
44
|
+
/**
|
|
45
|
+
* Enable virtual scrolling for the table to improve performance with large datasets
|
|
46
|
+
*
|
|
47
|
+
* @default false
|
|
48
|
+
*/
|
|
49
|
+
virtual?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Title to be displayed above the table
|
|
52
|
+
*/
|
|
53
|
+
title?: ReactNode;
|
|
54
|
+
/**
|
|
55
|
+
* Summary to be displayed below the table
|
|
56
|
+
*/
|
|
57
|
+
summary?: ReactNode;
|
|
58
|
+
/**
|
|
59
|
+
* Row selection configuration.
|
|
60
|
+
* - `true`: Enable row selection with default configuration
|
|
61
|
+
* - `RowSelectionConfig<TRow>`: Enable row selection with custom configuration
|
|
62
|
+
* - `undefined`: Disable row selection (default)
|
|
63
|
+
*/
|
|
64
|
+
rowSelection?: RowSelectionConfig<NoInfer<TRow>> | true;
|
|
65
|
+
/**
|
|
66
|
+
* Default search values for initializing the search forms
|
|
67
|
+
*/
|
|
68
|
+
defaultSearchValues?: Partial<NoInfer<TSearchValues>>;
|
|
69
|
+
/**
|
|
70
|
+
* Node to render as the basic (inline) search area
|
|
71
|
+
*/
|
|
72
|
+
basicSearch?: ReactNode;
|
|
73
|
+
/**
|
|
74
|
+
* Node to render as the advanced search panel
|
|
75
|
+
*/
|
|
76
|
+
advancedSearch?: ReactNode;
|
|
77
|
+
/**
|
|
78
|
+
* Default form values map for scenes
|
|
79
|
+
*/
|
|
80
|
+
sceneDefaultFormValues?: PartialDeep<NoInfer<TSceneFormValues>>;
|
|
81
|
+
/**
|
|
82
|
+
* Render function to provide a form for the specified scene
|
|
83
|
+
*/
|
|
84
|
+
renderForm?: (scene: CrudFormScene<NoInfer<TSceneFormValues>>) => ReactNode;
|
|
85
|
+
/**
|
|
86
|
+
* Optional hook before submitting the form. Can transform values.
|
|
87
|
+
*/
|
|
88
|
+
beforeFormSubmit?: (scene: CrudFormScene<NoInfer<TSceneFormValues>>, formValues: TSceneFormValues[CrudFormScene<NoInfer<TSceneFormValues>>]) => Awaitable<TSceneFormValues[CrudFormScene<NoInfer<TSceneFormValues>>]>;
|
|
89
|
+
/**
|
|
90
|
+
* Optional hook after submitting the form. Can be used for side effects.
|
|
91
|
+
*/
|
|
92
|
+
afterFormSubmit?: (scene: CrudFormScene<NoInfer<TSceneFormValues>>, formValues: TSceneFormValues[CrudFormScene<NoInfer<TSceneFormValues>>], result: unknown) => Awaitable<void>;
|
|
93
|
+
/**
|
|
94
|
+
* Mutation functions for submitting different scenes
|
|
95
|
+
*/
|
|
96
|
+
formMutationFns?: CrudFormMutationFns<TSceneFormValues>;
|
|
97
|
+
/**
|
|
98
|
+
* Custom render functions for form actions in different scenes
|
|
99
|
+
* Allows customization of footer action buttons for each form scene
|
|
100
|
+
*/
|
|
101
|
+
formActionsRenderers?: CrudFormActionsRenderers<NoInfer<TSceneFormValues>>;
|
|
102
|
+
/**
|
|
103
|
+
* Mutation function to delete a single row
|
|
104
|
+
*/
|
|
105
|
+
deleteMutationFn?: MutationFunction<ApiResult<unknown>, NoInfer<TRow>>;
|
|
106
|
+
/**
|
|
107
|
+
* Mutation function to delete multiple rows
|
|
108
|
+
*/
|
|
109
|
+
deleteManyMutationFn?: MutationFunction<ApiResult<unknown>, Array<NoInfer<TRow>>>;
|
|
110
|
+
/**
|
|
111
|
+
* Meta information provider for mutations
|
|
112
|
+
*/
|
|
113
|
+
mutationMeta?: (mutationKey: string) => MaybeUndefined<MutationMeta>;
|
|
114
|
+
/**
|
|
115
|
+
* Actions displayed on the table toolbar area
|
|
116
|
+
*/
|
|
117
|
+
toolbarActions?: ReactNode;
|
|
118
|
+
/**
|
|
119
|
+
* Function to determine whether the query should be enabled
|
|
120
|
+
*/
|
|
121
|
+
queryEnabled?: (params?: NoInfer<TSearchValues> & If<IsNever<TParams>, EmptyObject, NoInfer<TParams>>) => boolean;
|
|
122
|
+
/**
|
|
123
|
+
* Additional query parameters that trigger re-fetching when changed.
|
|
124
|
+
* These are merged with search, pagination, and sort parameters in the query function.
|
|
125
|
+
*/
|
|
126
|
+
queryParams?: NoInfer<TParams>;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Props for paginated Crud.
|
|
130
|
+
*
|
|
131
|
+
* When `isPaginated` is true or omitted, the data source is fetched with pagination parameters.
|
|
132
|
+
*
|
|
133
|
+
* @template TRow - Table row model type
|
|
134
|
+
* @template TSearchValues - Search/filters form values type
|
|
135
|
+
* @template TSceneFormValues - A map of scene key to its form values type
|
|
136
|
+
* @template TParams - Additional query parameters type
|
|
137
|
+
*/
|
|
138
|
+
export interface PaginatedCrudProps<TRow extends AnyObject, TSearchValues extends AnyObject, TSceneFormValues extends AnyObject, TParams extends AnyObject = never> extends BaseCrudProps<TRow, TSearchValues, TSceneFormValues, TParams> {
|
|
139
|
+
/**
|
|
140
|
+
* Enable pagination mode. Default is true.
|
|
141
|
+
*/
|
|
142
|
+
isPaginated?: true;
|
|
143
|
+
/**
|
|
144
|
+
* Query function for fetching paginated data
|
|
145
|
+
*/
|
|
146
|
+
queryFn: QueryFunction<PaginationResult<TRow>, PaginatedQueryParams<TSearchValues, TParams>>;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Props for non-paginated Crud.
|
|
150
|
+
*
|
|
151
|
+
* When `isPaginated` is false, the entire dataset is returned without pagination.
|
|
152
|
+
*
|
|
153
|
+
* @template TRow - Table row model type
|
|
154
|
+
* @template TSearchValues - Search/filters form values type
|
|
155
|
+
* @template TSceneFormValues - A map of scene key to its form values type
|
|
156
|
+
* @template TParams - Additional query parameters type
|
|
157
|
+
*/
|
|
158
|
+
export interface NonPaginatedCrudProps<TRow extends AnyObject, TSearchValues extends AnyObject, TSceneFormValues extends AnyObject, TParams extends AnyObject = never> extends BaseCrudProps<TRow, TSearchValues, TSceneFormValues, TParams> {
|
|
159
|
+
/**
|
|
160
|
+
* Disable pagination mode for this variant
|
|
161
|
+
*/
|
|
162
|
+
isPaginated: false;
|
|
163
|
+
/**
|
|
164
|
+
* Query function for fetching the full list data
|
|
165
|
+
*/
|
|
166
|
+
queryFn: QueryFunction<TRow[], QueryParams<TSearchValues, TParams>>;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Discriminated union of paginated and non-paginated Crud props
|
|
170
|
+
*/
|
|
171
|
+
export type CrudProps<TRow extends AnyObject, TSearchValues extends AnyObject, TSceneFormValues extends AnyObject, TParams extends AnyObject = never> = PaginatedCrudProps<TRow, TSearchValues, TSceneFormValues, TParams> | NonPaginatedCrudProps<TRow, TSearchValues, TSceneFormValues, TParams>;
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { Breakpoint, Length } from '@vef-framework/components';
|
|
2
|
+
import { ApiResult, StoreProviderProps, UseStore, UnboundStore } from '@vef-framework/core';
|
|
3
|
+
import { AnyObject, Awaitable, Key, EventEmitter } from '@vef-framework/shared';
|
|
4
|
+
import { ReactNode, ComponentType } from 'react';
|
|
5
|
+
import { CrudEvents } from './event';
|
|
6
|
+
import { CrudFormDrawerConfig, CrudFormMode, CrudFormScene } from './types';
|
|
7
|
+
/**
|
|
8
|
+
* Options to open a scene form.
|
|
9
|
+
*
|
|
10
|
+
* TScene: the specific scene key to be opened
|
|
11
|
+
* TSceneFormValues: the map type for all scene form values
|
|
12
|
+
*/
|
|
13
|
+
export interface OpenFormOptions<TScene extends CrudFormScene<TSceneFormValues>, TSceneFormValues extends AnyObject> {
|
|
14
|
+
/**
|
|
15
|
+
* Target scene key to open.
|
|
16
|
+
*/
|
|
17
|
+
scene: TScene;
|
|
18
|
+
/**
|
|
19
|
+
* Initial values for the target scene form.
|
|
20
|
+
*/
|
|
21
|
+
values?: Partial<TSceneFormValues[TScene]>;
|
|
22
|
+
/**
|
|
23
|
+
* Custom form title. If omitted, a default title will be used.
|
|
24
|
+
*/
|
|
25
|
+
title?: ReactNode;
|
|
26
|
+
/**
|
|
27
|
+
* Custom form width. If omitted, a default responsive width will be used.
|
|
28
|
+
*/
|
|
29
|
+
width?: Length | Partial<Record<Breakpoint, Length>>;
|
|
30
|
+
/**
|
|
31
|
+
* Form display mode.
|
|
32
|
+
*
|
|
33
|
+
* @default "modal"
|
|
34
|
+
*/
|
|
35
|
+
mode?: CrudFormMode;
|
|
36
|
+
/**
|
|
37
|
+
* Drawer-specific configuration when mode is "drawer".
|
|
38
|
+
*/
|
|
39
|
+
drawerConfig?: CrudFormDrawerConfig;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* State shape for the Crud component store.
|
|
43
|
+
*
|
|
44
|
+
* TRow: the row model type displayed in the table
|
|
45
|
+
* TSearchValues: the type of the search/filters form values
|
|
46
|
+
* TSceneFormValues: a map of scene key to its form values type
|
|
47
|
+
*/
|
|
48
|
+
export interface CrudState<TRow extends AnyObject = AnyObject, TSearchValues extends AnyObject = AnyObject, TSceneFormValues extends AnyObject = AnyObject> {
|
|
49
|
+
/**
|
|
50
|
+
* Internal event bus used for cross-part communication within Crud.
|
|
51
|
+
*/
|
|
52
|
+
eventEmitter: EventEmitter<CrudEvents>;
|
|
53
|
+
/**
|
|
54
|
+
* Whether the advanced search panel is visible.
|
|
55
|
+
*/
|
|
56
|
+
isAdvancedSearchVisible: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Toggle the visibility of the advanced search panel.
|
|
59
|
+
*/
|
|
60
|
+
setIsAdvancedSearchVisible: (isAdvancedSearchVisible: boolean) => void;
|
|
61
|
+
/**
|
|
62
|
+
* Default search form values (initial state).
|
|
63
|
+
*/
|
|
64
|
+
defaultSearchValues?: TSearchValues;
|
|
65
|
+
/**
|
|
66
|
+
* Current basic/advanced search form values.
|
|
67
|
+
*/
|
|
68
|
+
searchValues?: TSearchValues;
|
|
69
|
+
/**
|
|
70
|
+
* Update the current search form values.
|
|
71
|
+
*/
|
|
72
|
+
setSearchValues: (values?: TSearchValues) => void;
|
|
73
|
+
/**
|
|
74
|
+
* Whether the scene form (create/update or custom) is visible.
|
|
75
|
+
*/
|
|
76
|
+
formVisible: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Current active form scene key.
|
|
79
|
+
*/
|
|
80
|
+
formScene: CrudFormScene<TSceneFormValues>;
|
|
81
|
+
/**
|
|
82
|
+
* Title displayed on the scene form.
|
|
83
|
+
*/
|
|
84
|
+
formTitle: ReactNode;
|
|
85
|
+
/**
|
|
86
|
+
* Width of the scene form. Can be a fixed length or responsive map by breakpoint.
|
|
87
|
+
*/
|
|
88
|
+
formWidth: Length | Partial<Record<Breakpoint, Length>>;
|
|
89
|
+
/**
|
|
90
|
+
* Form display mode (modal or drawer).
|
|
91
|
+
*/
|
|
92
|
+
formMode: CrudFormMode;
|
|
93
|
+
/**
|
|
94
|
+
* Drawer-specific configuration when formMode is "drawer".
|
|
95
|
+
*/
|
|
96
|
+
drawerConfig?: CrudFormDrawerConfig;
|
|
97
|
+
/**
|
|
98
|
+
* Open the scene form with optional initial values, custom title and width.
|
|
99
|
+
*/
|
|
100
|
+
openForm: <const TScene extends CrudFormScene<TSceneFormValues>>(options: OpenFormOptions<TScene, TSceneFormValues>) => void;
|
|
101
|
+
/**
|
|
102
|
+
* Close the scene form.
|
|
103
|
+
*/
|
|
104
|
+
closeForm: () => void;
|
|
105
|
+
/**
|
|
106
|
+
* Default form values map for all scenes, usually provided by the component.
|
|
107
|
+
*/
|
|
108
|
+
sceneDefaultFormValues: Partial<TSceneFormValues>;
|
|
109
|
+
/**
|
|
110
|
+
* Resolved default values for the currently active scene.
|
|
111
|
+
*/
|
|
112
|
+
defaultFormValues: TSceneFormValues[CrudFormScene<TSceneFormValues>];
|
|
113
|
+
/**
|
|
114
|
+
* Delete a single row.
|
|
115
|
+
*/
|
|
116
|
+
delete: (row: TRow) => Awaitable<ApiResult<unknown>>;
|
|
117
|
+
/**
|
|
118
|
+
* Delete multiple rows in batch.
|
|
119
|
+
*/
|
|
120
|
+
deleteMany: (rows: TRow[]) => Awaitable<ApiResult<unknown>>;
|
|
121
|
+
/**
|
|
122
|
+
* Whether the list query is being fetched.
|
|
123
|
+
*/
|
|
124
|
+
isQueryFetching: boolean;
|
|
125
|
+
/**
|
|
126
|
+
* Re-trigger the list query.
|
|
127
|
+
*/
|
|
128
|
+
refetchQuery: () => void;
|
|
129
|
+
/**
|
|
130
|
+
* Currently selected row keys.
|
|
131
|
+
*/
|
|
132
|
+
selectedRowKeys: Key[];
|
|
133
|
+
/**
|
|
134
|
+
* Update selected row keys.
|
|
135
|
+
*/
|
|
136
|
+
setSelectedRowKeys: (selectedRowKeys: Key[]) => void;
|
|
137
|
+
/**
|
|
138
|
+
* Currently selected row models.
|
|
139
|
+
*/
|
|
140
|
+
selectedRows: TRow[];
|
|
141
|
+
/**
|
|
142
|
+
* Update selected row models.
|
|
143
|
+
*/
|
|
144
|
+
setSelectedRows: (selectedRows: TRow[]) => void;
|
|
145
|
+
}
|
|
146
|
+
export declare const CrudStoreProvider: ComponentType<StoreProviderProps<Pick<CrudState<AnyObject, AnyObject, AnyObject>, "selectedRowKeys" | "defaultSearchValues" | "sceneDefaultFormValues">>>, useCrudStore: UseStore<CrudState<AnyObject, AnyObject, AnyObject>>, useCrudStoreApi: <TStrictState extends CrudState<AnyObject, AnyObject, AnyObject> = CrudState<AnyObject, AnyObject, AnyObject>>() => UnboundStore<TStrictState>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { DrawerProps, FormApi } from '@vef-framework/components';
|
|
2
|
+
import { ApiResult, MutationFunction } from '@vef-framework/core';
|
|
3
|
+
import { AnyObject, EmptyObject, If, IsNever } from '@vef-framework/shared';
|
|
4
|
+
import { ReactNode } from 'react';
|
|
5
|
+
import { ParamsWithPagination, ParamsWithSort } from '../pro-table';
|
|
6
|
+
export type CrudBasicFormScene = "create" | "update";
|
|
7
|
+
export interface CrudBasicSceneFormValues<TCreateFormValues extends AnyObject, TUpdateFormValues extends AnyObject> {
|
|
8
|
+
create: TCreateFormValues;
|
|
9
|
+
update: TUpdateFormValues;
|
|
10
|
+
}
|
|
11
|
+
export type CrudFormScene<TSceneFormValues extends AnyObject> = keyof TSceneFormValues & string;
|
|
12
|
+
export type CrudFormMutationFns<TSceneFormValues extends AnyObject> = {
|
|
13
|
+
[Scene in CrudFormScene<TSceneFormValues>]: MutationFunction<ApiResult<unknown>, TSceneFormValues[Scene]>;
|
|
14
|
+
};
|
|
15
|
+
export type CrudFormActionsRenderers<TSceneFormValues extends AnyObject> = {
|
|
16
|
+
[Scene in CrudFormScene<TSceneFormValues>]?: (formApi: FormApi<TSceneFormValues[Scene]>) => ReactNode;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Query parameters wrapper type for non-paginated queries.
|
|
20
|
+
*
|
|
21
|
+
* This type helps TypeScript correctly infer generic parameters by wrapping
|
|
22
|
+
* the intersection type in a named generic type constructor.
|
|
23
|
+
*
|
|
24
|
+
* @template TSearch - The search parameters type from user interactions
|
|
25
|
+
* @template TParams - Additional query parameters (defaults to never, which becomes EmptyObject)
|
|
26
|
+
*/
|
|
27
|
+
export type QueryParams<TSearch extends AnyObject, TParams extends AnyObject = never> = ParamsWithSort<TSearch & If<IsNever<TParams>, EmptyObject, TParams>>;
|
|
28
|
+
/**
|
|
29
|
+
* Query parameters wrapper type for paginated queries.
|
|
30
|
+
*
|
|
31
|
+
* This type helps TypeScript correctly infer generic parameters by wrapping
|
|
32
|
+
* the intersection type in a named generic type constructor.
|
|
33
|
+
*
|
|
34
|
+
* @template TSearch - The search parameters type from user interactions
|
|
35
|
+
* @template TParams - Additional query parameters (defaults to never, which becomes EmptyObject)
|
|
36
|
+
*/
|
|
37
|
+
export type PaginatedQueryParams<TSearch extends AnyObject, TParams extends AnyObject = never> = ParamsWithPagination<ParamsWithSort<TSearch & If<IsNever<TParams>, EmptyObject, TParams>>>;
|
|
38
|
+
/**
|
|
39
|
+
* Form display mode for CRUD operations.
|
|
40
|
+
* - "modal": Display form in a modal dialog (default)
|
|
41
|
+
* - "drawer": Display form in a drawer panel
|
|
42
|
+
*/
|
|
43
|
+
export type CrudFormMode = "modal" | "drawer";
|
|
44
|
+
/**
|
|
45
|
+
* Configuration for drawer-specific properties when form mode is "drawer".
|
|
46
|
+
*/
|
|
47
|
+
export interface CrudFormDrawerConfig {
|
|
48
|
+
/**
|
|
49
|
+
* Placement of the drawer.
|
|
50
|
+
*
|
|
51
|
+
* @default "right"
|
|
52
|
+
*/
|
|
53
|
+
placement?: DrawerProps["placement"];
|
|
54
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { CrudPageProps } from './props';
|
|
2
|
+
export declare function CrudPage<TRow extends object, TSearchValues extends object, TSceneFormValues extends Record<string, object>, TParams extends object = never>({ leftAside, leftAsideWidth, rightAside, rightAsideWidth, header, headerClassName, headerPosition, footer, footerClassName, footerPosition, ...crudProps }: CrudPageProps<TRow, TSearchValues, TSceneFormValues, TParams>): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
3
|
+
export type { CrudPageProps } from './props';
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { CrudProps } from '../crud';
|
|
3
|
+
import { AsideWidth, Position } from '../page';
|
|
4
|
+
/**
|
|
5
|
+
* Props for the CrudPage component, supporting both paginated and non-paginated modes.
|
|
6
|
+
*
|
|
7
|
+
* @template TRow - Table row model type
|
|
8
|
+
* @template TSearchValues - Search/filters form values type
|
|
9
|
+
* @template TSceneFormValues - A map of scene key to its form values type
|
|
10
|
+
* @template TParams - Additional query parameters type
|
|
11
|
+
*/
|
|
12
|
+
export type CrudPageProps<TRow extends object, TSearchValues extends object, TSceneFormValues extends Record<string, object>, TParams extends object = never> = CrudProps<TRow, TSearchValues, TSceneFormValues, TParams> & {
|
|
13
|
+
/**
|
|
14
|
+
* The left aside content of the page
|
|
15
|
+
*/
|
|
16
|
+
leftAside?: ReactNode;
|
|
17
|
+
/**
|
|
18
|
+
* The width of the left aside
|
|
19
|
+
*/
|
|
20
|
+
leftAsideWidth?: AsideWidth;
|
|
21
|
+
/**
|
|
22
|
+
* The right aside content of the page
|
|
23
|
+
*/
|
|
24
|
+
rightAside?: ReactNode;
|
|
25
|
+
/**
|
|
26
|
+
* The width of the right aside
|
|
27
|
+
*/
|
|
28
|
+
rightAsideWidth?: AsideWidth;
|
|
29
|
+
/**
|
|
30
|
+
* The header of the page
|
|
31
|
+
*/
|
|
32
|
+
header?: ReactNode;
|
|
33
|
+
/**
|
|
34
|
+
* The class name of the header
|
|
35
|
+
*/
|
|
36
|
+
headerClassName?: string;
|
|
37
|
+
/**
|
|
38
|
+
* The position of the header
|
|
39
|
+
*
|
|
40
|
+
* @default "inside"
|
|
41
|
+
*/
|
|
42
|
+
headerPosition?: Position;
|
|
43
|
+
/**
|
|
44
|
+
* The footer of the page
|
|
45
|
+
*/
|
|
46
|
+
footer?: ReactNode;
|
|
47
|
+
/**
|
|
48
|
+
* The class name of the footer
|
|
49
|
+
*/
|
|
50
|
+
footerClassName?: string;
|
|
51
|
+
/**
|
|
52
|
+
* The position of the footer
|
|
53
|
+
*
|
|
54
|
+
* @default "inside"
|
|
55
|
+
*/
|
|
56
|
+
footerPosition?: Position;
|
|
57
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ReactNode, MemoExoticComponent } from 'react';
|
|
2
|
+
import { FormDrawerProps } from '../props';
|
|
3
|
+
interface FormActionsProps {
|
|
4
|
+
/**
|
|
5
|
+
* Submit button props
|
|
6
|
+
*/
|
|
7
|
+
submitButtonProps?: FormDrawerProps<never>["submitButtonProps"];
|
|
8
|
+
/**
|
|
9
|
+
* Reset button props, or false to hide the reset button
|
|
10
|
+
*/
|
|
11
|
+
resetButtonProps?: FormDrawerProps<never>["resetButtonProps"];
|
|
12
|
+
/**
|
|
13
|
+
* Callback when reset is triggered
|
|
14
|
+
*/
|
|
15
|
+
onReset?: () => void;
|
|
16
|
+
}
|
|
17
|
+
declare function FormActionsBase({ submitButtonProps, resetButtonProps, onReset }: FormActionsProps): ReactNode;
|
|
18
|
+
export declare const FormActions: MemoExoticComponent<typeof FormActionsBase>;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FormActions } from './form-actions';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Awaitable } from '@vef-framework/shared';
|
|
2
|
+
import { FC, ReactNode } from 'react';
|
|
3
|
+
import { FormDrawerProps } from './props';
|
|
4
|
+
export declare const FormDrawer: (<TValues extends object, TData = unknown>(props: FormDrawerProps<TValues, TData>) => Awaitable<ReactNode>) & Pick<FC, "displayName">;
|
|
5
|
+
export type { FormDrawerProps } from './props';
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { DrawerProps, FormApi, Length, ResetButtonProps, SubmitButtonProps } from '@vef-framework/components';
|
|
2
|
+
import { ApiResult, MutationFunction, MutationMeta } from '@vef-framework/core';
|
|
3
|
+
import { Awaitable, Except } from '@vef-framework/shared';
|
|
4
|
+
import { ReactNode } from 'react';
|
|
5
|
+
/**
|
|
6
|
+
* Props for the FormDrawer component
|
|
7
|
+
*
|
|
8
|
+
* @template TValues - The type of the form values
|
|
9
|
+
* @template TData - The type of the mutation response data
|
|
10
|
+
*/
|
|
11
|
+
export interface FormDrawerProps<TValues extends object, TData = unknown> extends Pick<DrawerProps, "title" | "placement" | "resizable"> {
|
|
12
|
+
/**
|
|
13
|
+
* Whether the form drawer is visible
|
|
14
|
+
*
|
|
15
|
+
* @default false
|
|
16
|
+
*/
|
|
17
|
+
open?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Width of the form drawer
|
|
20
|
+
*/
|
|
21
|
+
width?: Length;
|
|
22
|
+
/**
|
|
23
|
+
* Default form values
|
|
24
|
+
*/
|
|
25
|
+
defaultValues?: TValues;
|
|
26
|
+
/**
|
|
27
|
+
* Whether to disable the form
|
|
28
|
+
*
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
31
|
+
disabled?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Custom render function for footer actions
|
|
34
|
+
* Return null to hide the footer entirely
|
|
35
|
+
* If not provided, will render default submit and reset buttons
|
|
36
|
+
*/
|
|
37
|
+
renderActions?: (formApi: FormApi<TValues>) => ReactNode;
|
|
38
|
+
/**
|
|
39
|
+
* Submit button props (only used when renderActions is not provided)
|
|
40
|
+
*/
|
|
41
|
+
submitButtonProps?: Except<SubmitButtonProps, "onSubmit" | "disabled" | "loading">;
|
|
42
|
+
/**
|
|
43
|
+
* Reset button props, or false to hide the reset button (only used when renderActions is not provided)
|
|
44
|
+
*/
|
|
45
|
+
resetButtonProps?: Except<ResetButtonProps, "onReset" | "disabled" | "loading"> | false;
|
|
46
|
+
/**
|
|
47
|
+
* Mutation function to execute on submit
|
|
48
|
+
*/
|
|
49
|
+
mutationFn?: MutationFunction<ApiResult<TData>, TValues>;
|
|
50
|
+
/**
|
|
51
|
+
* Mutation metadata
|
|
52
|
+
*/
|
|
53
|
+
mutationMeta?: MutationMeta;
|
|
54
|
+
/**
|
|
55
|
+
* Form content, can be a ReactNode or a function that receives form API
|
|
56
|
+
*/
|
|
57
|
+
children?: ReactNode | ((formApi: FormApi<TValues>) => ReactNode);
|
|
58
|
+
/**
|
|
59
|
+
* Callback before form submission
|
|
60
|
+
*/
|
|
61
|
+
beforeSubmit?: (values: TValues) => Awaitable<TValues>;
|
|
62
|
+
/**
|
|
63
|
+
* Callback after successful submission
|
|
64
|
+
*/
|
|
65
|
+
afterSubmit?: (values: TValues, data: TData) => Awaitable<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Callback on form submit
|
|
68
|
+
*/
|
|
69
|
+
onSubmit?: (values: TValues) => Awaitable<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Callback on form reset
|
|
72
|
+
*/
|
|
73
|
+
onReset?: (defaultValues?: TValues) => void;
|
|
74
|
+
/**
|
|
75
|
+
* Callback when drawer is closed
|
|
76
|
+
*/
|
|
77
|
+
onClose?: () => void;
|
|
78
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ModalProps } from '@vef-framework/components';
|
|
2
|
+
import { ReactElement, ReactNode, MemoExoticComponent } from 'react';
|
|
3
|
+
interface DraggableWrapperProps {
|
|
4
|
+
title: ReactNode;
|
|
5
|
+
children: ReactElement<ModalProps>;
|
|
6
|
+
}
|
|
7
|
+
declare function DraggableWrapperBase({ title, children }: DraggableWrapperProps): ReactElement;
|
|
8
|
+
export declare const DraggableWrapper: MemoExoticComponent<typeof DraggableWrapperBase>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ReactNode, MemoExoticComponent } from 'react';
|
|
2
|
+
import { FormModalProps } from '../props';
|
|
3
|
+
interface FormActionsProps {
|
|
4
|
+
/**
|
|
5
|
+
* Submit button props
|
|
6
|
+
*/
|
|
7
|
+
submitButtonProps?: FormModalProps<never>["submitButtonProps"];
|
|
8
|
+
/**
|
|
9
|
+
* Reset button props, or false to hide the reset button
|
|
10
|
+
*/
|
|
11
|
+
resetButtonProps?: FormModalProps<never>["resetButtonProps"];
|
|
12
|
+
/**
|
|
13
|
+
* Callback when reset is triggered
|
|
14
|
+
*/
|
|
15
|
+
onReset?: () => void;
|
|
16
|
+
}
|
|
17
|
+
declare function FormActionsBase({ submitButtonProps, resetButtonProps, onReset }: FormActionsProps): ReactNode;
|
|
18
|
+
export declare const FormActions: MemoExoticComponent<typeof FormActionsBase>;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Awaitable } from '@vef-framework/shared';
|
|
2
|
+
import { FC, ReactNode } from 'react';
|
|
3
|
+
import { FormModalProps } from './props';
|
|
4
|
+
export declare const FormModal: (<TValues extends object, TData = unknown>(props: FormModalProps<TValues, TData>) => Awaitable<ReactNode>) & Pick<FC, "displayName">;
|
|
5
|
+
export type { FormModalProps } from './props';
|