@vef-framework/components 1.0.62 → 1.0.64
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/index.js +81 -2
- package/es/internal/index.js +2 -2
- package/es/internal/modern-normalize.css.js +4 -2
- package/es/internal/utils.js +6 -2
- package/es/vef-access-denied/access-denied-icon.js +928 -2
- package/es/vef-access-denied/index.js +45 -10
- package/es/vef-action-buttons/index.js +75 -2
- package/es/vef-auto-sizer/index.js +6 -2
- package/es/vef-avatar/index.js +20 -2
- package/es/vef-avatar-group/index.js +25 -2
- package/es/vef-badge/index.js +47 -2
- package/es/vef-bool/hooks/use-bool-instance.js +34 -2
- package/es/vef-bool/index.js +60 -2
- package/es/vef-breadcrumb/index.js +48 -2
- package/es/vef-button/components/base-button.js +73 -2
- package/es/vef-button/index.js +151 -2
- package/es/vef-card/index.js +25 -2
- package/es/vef-card-meta/index.js +12 -2
- package/es/vef-checkbox/hooks/use-checkbox-instance.js +20 -2
- package/es/vef-checkbox/hooks/use-data-options.js +40 -2
- package/es/vef-checkbox/index.js +88 -4
- package/es/vef-col/index.js +11 -2
- package/es/vef-color-picker/index.js +46 -2
- package/es/vef-compact/index.js +15 -2
- package/es/vef-config-provider/global-style.js +23 -16
- package/es/vef-config-provider/hooks/use-ui-config.js +125 -2
- package/es/vef-config-provider/index.js +121 -4
- package/es/vef-config-provider/store.js +21 -2
- package/es/vef-container/index.js +18 -2
- package/es/vef-crud-page/components/crud-actions.js +32 -2
- package/es/vef-crud-page/components/crud-filter.js +54 -2
- package/es/vef-crud-page/components/crud-footer.js +116 -4
- package/es/vef-crud-page/components/crud-form-modal.js +53 -2
- package/es/vef-crud-page/components/crud-header.js +29 -2
- package/es/vef-crud-page/components/crud-table.js +76 -2
- package/es/vef-crud-page/hooks/use-action-buttons.js +37 -2
- package/es/vef-crud-page/hooks/use-crud-context.js +20 -2
- package/es/vef-crud-page/hooks/use-crud-schema.js +114 -2
- package/es/vef-crud-page/hooks/use-operation-buttons.js +60 -2
- package/es/vef-crud-page/index.js +150 -2
- package/es/vef-crud-page/store.js +142 -2
- package/es/vef-divider/index.js +24 -2
- package/es/vef-drawer/components/action-button-wrapper.js +49 -2
- package/es/vef-drawer/components/button-props.js +2 -1
- package/es/vef-drawer/components/cancel-action-button.js +21 -2
- package/es/vef-drawer/components/ok-action-button.js +20 -2
- package/es/vef-drawer/context.js +15 -2
- package/es/vef-drawer/index.js +154 -4
- package/es/vef-dropdown/index.js +92 -2
- package/es/vef-dynamic-icon/index.js +46 -2
- package/es/vef-dynamic-icon/props.js +6 -2
- package/es/vef-empty/index.js +37 -2
- package/es/vef-empty-placeholder/index.js +19 -5
- package/es/vef-error/error-icon.js +757 -2
- package/es/vef-error/index.js +48 -10
- package/es/vef-filter/components/action-buttons.js +119 -6
- package/es/vef-filter/components/advanced-filter.js +71 -9
- package/es/vef-filter/components/basic-filter.js +35 -5
- package/es/vef-filter/components/fields/index.js +11 -2
- package/es/vef-filter/components/fields/input-number.js +90 -2
- package/es/vef-filter/components/fields/input.js +67 -2
- package/es/vef-filter/components/filter-field.js +19 -2
- package/es/vef-filter/components/filter-item.js +112 -2
- package/es/vef-filter/event.js +44 -2
- package/es/vef-filter/helper.js +15 -2
- package/es/vef-filter/hooks/use-action-handlers.js +70 -2
- package/es/vef-filter/hooks/use-computed-values.js +55 -2
- package/es/vef-filter/hooks/use-filter-context.js +18 -2
- package/es/vef-filter/hooks/use-filter-initialization.js +37 -2
- package/es/vef-filter/hooks/use-filter-instance.js +26 -2
- package/es/vef-filter/hooks/use-filter-items.js +23 -2
- package/es/vef-filter/hooks/use-filter-values-change.js +30 -2
- package/es/vef-filter/hooks/use-label-config.js +27 -2
- package/es/vef-filter/index.js +141 -3
- package/es/vef-filter/store.js +71 -2
- package/es/vef-flex/index.js +31 -2
- package/es/vef-float-button/index.js +49 -2
- package/es/vef-float-button-group/index.js +20 -2
- package/es/vef-form/components/fields/index.js +11 -2
- package/es/vef-form/components/fields/input-number.js +123 -2
- package/es/vef-form/components/fields/input.js +132 -2
- package/es/vef-form/components/form-actions.js +58 -4
- package/es/vef-form/components/form-content.js +144 -3
- package/es/vef-form/components/form-field.js +22 -2
- package/es/vef-form/components/form-group.js +64 -4
- package/es/vef-form/components/form-hidden-item.js +36 -2
- package/es/vef-form/components/form-item.js +79 -2
- package/es/vef-form/components/form-row.js +98 -2
- package/es/vef-form/event.js +44 -2
- package/es/vef-form/helper.js +15 -2
- package/es/vef-form/hooks/use-action-handlers.js +130 -2
- package/es/vef-form/hooks/use-columns-layout.js +122 -2
- package/es/vef-form/hooks/use-computed-values.js +55 -2
- package/es/vef-form/hooks/use-form-context.js +14 -2
- package/es/vef-form/hooks/use-form-initialization.js +45 -2
- package/es/vef-form/hooks/use-form-instance.js +26 -2
- package/es/vef-form/hooks/use-form-values-change.js +30 -2
- package/es/vef-form/hooks/use-label-width.js +18 -2
- package/es/vef-form/index.js +174 -4
- package/es/vef-form/store.js +65 -2
- package/es/vef-form/validation-rules.js +286 -2
- package/es/vef-form-drawer/index.js +98 -2
- package/es/vef-form-modal/index.js +95 -2
- package/es/vef-generic-select/index.js +81 -2
- package/es/vef-grid/index.js +83 -7
- package/es/vef-grid/props.js +4 -2
- package/es/vef-grid-item/index.js +52 -2
- package/es/vef-icon/index.js +45 -2
- package/es/vef-icon-select/index.js +146 -12
- package/es/vef-input/hooks/use-input-instance.js +15 -2
- package/es/vef-input/index.js +64 -2
- package/es/vef-input-number/hooks/use-input-number-instance.js +13 -2
- package/es/vef-input-number/index.js +148 -2
- package/es/vef-layout/common-styles.js +10 -5
- package/es/vef-layout/components/content.js +13 -2
- package/es/vef-layout/components/font-size.js +68 -2
- package/es/vef-layout/components/fullscreen.js +23 -2
- package/es/vef-layout/components/header-action-icons.js +29 -7
- package/es/vef-layout/components/header-content.js +19 -2
- package/es/vef-layout/components/header.js +69 -7
- package/es/vef-layout/components/icon-boy.js +69 -2
- package/es/vef-layout/components/icon-girl.js +76 -2
- package/es/vef-layout/components/icon-menu-fold-left.js +23 -2
- package/es/vef-layout/components/icon-menu-unfold-left.js +23 -2
- package/es/vef-layout/components/menu-groups.js +123 -16
- package/es/vef-layout/components/message.js +11 -2
- package/es/vef-layout/components/search.js +11 -2
- package/es/vef-layout/components/sider.js +54 -6
- package/es/vef-layout/components/title.js +53 -9
- package/es/vef-layout/components/user-avatar.js +80 -10
- package/es/vef-layout/hooks/use-layout-context.js +10 -2
- package/es/vef-layout/index.js +33 -3
- package/es/vef-layout/logo.svg.js +4 -2
- package/es/vef-layout/store.js +16 -2
- package/es/vef-loading-placeholder/index.js +42 -6
- package/es/vef-login/index.js +152 -22
- package/es/vef-login/login-icon.js +668 -2
- package/es/vef-menu/index.js +77 -5
- package/es/vef-modal/components/action-button-wrapper.js +49 -2
- package/es/vef-modal/components/button-props.js +2 -1
- package/es/vef-modal/components/cancel-action-button.js +18 -2
- package/es/vef-modal/components/ok-action-button.js +20 -2
- package/es/vef-modal/context.js +15 -2
- package/es/vef-modal/index.js +239 -3
- package/es/vef-not-found/index.js +45 -10
- package/es/vef-not-found/not-found-icon.js +844 -2
- package/es/vef-page/index.js +87 -11
- package/es/vef-pagination/index.js +57 -2
- package/es/vef-pagination/props.js +13 -2
- package/es/vef-paragraph/index.js +89 -2
- package/es/vef-password/hooks/use-password-instance.js +13 -2
- package/es/vef-password/index.js +67 -2
- package/es/vef-popconfirm/index.js +56 -2
- package/es/vef-popover/index.js +29 -2
- package/es/vef-radio/hooks/use-data-options.js +40 -2
- package/es/vef-radio/hooks/use-radio-instance.js +20 -2
- package/es/vef-radio/index.js +88 -4
- package/es/vef-rate/hooks/use-rate-instance.js +13 -2
- package/es/vef-rate/index.js +30 -2
- package/es/vef-responsive-container/index.js +54 -3
- package/es/vef-responsive-item/index.js +23 -3
- package/es/vef-ribbon/index.js +38 -2
- package/es/vef-row/index.js +12 -2
- package/es/vef-scroll-area/components/scrollbar.js +34 -8
- package/es/vef-scroll-area/index.js +69 -4
- package/es/vef-select/components/option.js +23 -4
- package/es/vef-select/hooks/use-data-options.js +47 -2
- package/es/vef-select/hooks/use-field-names.js +21 -2
- package/es/vef-select/hooks/use-render-label.js +23 -3
- package/es/vef-select/hooks/use-render-option.js +19 -2
- package/es/vef-select/hooks/use-select-instance.js +20 -2
- package/es/vef-select/index.js +100 -2
- package/es/vef-slider/hooks/use-slider-instance.js +13 -2
- package/es/vef-slider/index.js +34 -2
- package/es/vef-sortable-list/components/overlay-item.js +31 -3
- package/es/vef-sortable-list/components/sortable-item.js +75 -3
- package/es/vef-sortable-list/hooks/use-merged-items.js +21 -2
- package/es/vef-sortable-list/index.js +114 -2
- package/es/vef-space/index.js +25 -2
- package/es/vef-spin/index.js +12 -2
- package/es/vef-splitter/index.js +20 -2
- package/es/vef-splitter-panel/index.js +12 -2
- package/es/vef-status/index.js +37 -2
- package/es/vef-table/components/columns/bool.js +91 -2
- package/es/vef-table/components/columns/code.js +10 -2
- package/es/vef-table/components/columns/data-dictionary.js +92 -2
- package/es/vef-table/components/columns/enum.js +101 -2
- package/es/vef-table/components/columns/file.js +10 -2
- package/es/vef-table/components/columns/icon.js +10 -2
- package/es/vef-table/components/columns/id.js +82 -2
- package/es/vef-table/components/columns/image.js +11 -2
- package/es/vef-table/components/columns/index.js +33 -2
- package/es/vef-table/components/columns/markdown.js +10 -2
- package/es/vef-table/components/columns/number.js +83 -2
- package/es/vef-table/components/columns/render.js +28 -2
- package/es/vef-table/components/columns/rich-text.js +10 -2
- package/es/vef-table/components/columns/text.js +88 -2
- package/es/vef-table/components/columns-settings.js +195 -11
- package/es/vef-table/components/operation-buttons.js +230 -3
- package/es/vef-table/components/settings-icon.js +19 -4
- package/es/vef-table/components/table-footer.js +102 -4
- package/es/vef-table/helper.js +15 -2
- package/es/vef-table/hooks/use-computed-batch-buttons.js +33 -2
- package/es/vef-table/hooks/use-computed-columns.js +20 -2
- package/es/vef-table/hooks/use-computed-values.js +38 -2
- package/es/vef-table/hooks/use-data.js +53 -2
- package/es/vef-table/hooks/use-default-column-configs.js +27 -2
- package/es/vef-table/hooks/use-display-value.js +36 -2
- package/es/vef-table/hooks/use-helper-columns.js +67 -2
- package/es/vef-table/hooks/use-operation-column-width.js +50 -2
- package/es/vef-table/hooks/use-pagination-props.js +44 -2
- package/es/vef-table/hooks/use-row-props.js +39 -2
- package/es/vef-table/hooks/use-row-selection-config.js +112 -2
- package/es/vef-table/hooks/use-selected-rows.js +26 -2
- package/es/vef-table/hooks/use-table-columns.js +56 -2
- package/es/vef-table/hooks/use-table-context.js +21 -2
- package/es/vef-table/hooks/use-table-instance.js +15 -2
- package/es/vef-table/hooks/use-table-summary.js +42 -2
- package/es/vef-table/hooks/use-table-width.js +13 -2
- package/es/vef-table/index.js +227 -6
- package/es/vef-table/store.js +17 -2
- package/es/vef-tabs/index.js +25 -2
- package/es/vef-tag/index.js +28 -2
- package/es/vef-temporal-picker/helper.js +57 -2
- package/es/vef-temporal-picker/hooks/use-dayjs-value.js +18 -2
- package/es/vef-temporal-picker/hooks/use-temporal-limit.js +34 -2
- package/es/vef-temporal-picker/hooks/use-temporal-picker-instance.js +19 -2
- package/es/vef-temporal-picker/index.js +125 -2
- package/es/vef-temporal-range-picker/helper.js +57 -2
- package/es/vef-temporal-range-picker/hooks/use-dayjs-values.js +23 -2
- package/es/vef-temporal-range-picker/hooks/use-temporal-limit.js +34 -2
- package/es/vef-temporal-range-picker/hooks/use-temporal-range-picker-instance.js +19 -2
- package/es/vef-temporal-range-picker/index.js +128 -2
- package/es/vef-temporal-range-picker/props.js +4 -2
- package/es/vef-text/index.js +80 -2
- package/es/vef-textarea/hooks/use-textarea-instance.js +13 -2
- package/es/vef-textarea/index.js +67 -2
- package/es/vef-title/index.js +89 -7
- package/es/vef-tooltip/index.js +35 -2
- package/es/vef-tree-select/hooks/use-change-handler.js +33 -2
- package/es/vef-tree-select/hooks/use-data-options.js +45 -2
- package/es/vef-tree-select/hooks/use-tree-select-instance.js +20 -2
- package/es/vef-tree-select/index.js +86 -2
- package/es/vef-virtual-grid/index.js +107 -4
- package/es/vef-virtual-list/index.js +215 -5
- package/lib/index.cjs +168 -2
- package/lib/internal/index.cjs +10 -2
- package/lib/internal/modern-normalize.css.cjs +8 -2
- package/lib/internal/utils.cjs +10 -2
- package/lib/vef-access-denied/access-denied-icon.cjs +932 -2
- package/lib/vef-access-denied/index.cjs +49 -10
- package/lib/vef-access-denied/props.cjs +4 -2
- package/lib/vef-action-buttons/index.cjs +79 -2
- package/lib/vef-action-buttons/props.cjs +4 -2
- package/lib/vef-auto-sizer/index.cjs +10 -2
- package/lib/vef-auto-sizer/props.cjs +4 -2
- package/lib/vef-avatar/index.cjs +24 -2
- package/lib/vef-avatar/props.cjs +4 -2
- package/lib/vef-avatar-group/index.cjs +29 -2
- package/lib/vef-avatar-group/props.cjs +4 -2
- package/lib/vef-badge/index.cjs +51 -2
- package/lib/vef-badge/props.cjs +4 -2
- package/lib/vef-bool/hooks/use-bool-instance.cjs +38 -2
- package/lib/vef-bool/index.cjs +64 -2
- package/lib/vef-bool/props.cjs +4 -2
- package/lib/vef-breadcrumb/index.cjs +52 -2
- package/lib/vef-breadcrumb/props.cjs +4 -2
- package/lib/vef-button/components/base-button.cjs +77 -2
- package/lib/vef-button/index.cjs +155 -2
- package/lib/vef-button/props.cjs +4 -2
- package/lib/vef-card/index.cjs +29 -2
- package/lib/vef-card/props.cjs +4 -2
- package/lib/vef-card-meta/index.cjs +16 -2
- package/lib/vef-card-meta/props.cjs +4 -2
- package/lib/vef-checkbox/hooks/use-checkbox-instance.cjs +24 -2
- package/lib/vef-checkbox/hooks/use-data-options.cjs +44 -2
- package/lib/vef-checkbox/index.cjs +92 -4
- package/lib/vef-checkbox/props.cjs +4 -2
- package/lib/vef-col/index.cjs +15 -2
- package/lib/vef-col/props.cjs +4 -2
- package/lib/vef-color-picker/index.cjs +50 -2
- package/lib/vef-color-picker/props.cjs +4 -2
- package/lib/vef-compact/index.cjs +19 -2
- package/lib/vef-compact/props.cjs +4 -2
- package/lib/vef-config-provider/global-style.cjs +28 -16
- package/lib/vef-config-provider/hooks/use-ui-config.cjs +129 -2
- package/lib/vef-config-provider/index.cjs +125 -4
- package/lib/vef-config-provider/props.cjs +4 -2
- package/lib/vef-config-provider/store.cjs +27 -2
- package/lib/vef-container/index.cjs +22 -2
- package/lib/vef-container/props.cjs +4 -2
- package/lib/vef-crud-page/components/crud-actions.cjs +36 -2
- package/lib/vef-crud-page/components/crud-filter.cjs +58 -2
- package/lib/vef-crud-page/components/crud-footer.cjs +120 -4
- package/lib/vef-crud-page/components/crud-form-modal.cjs +57 -2
- package/lib/vef-crud-page/components/crud-header.cjs +33 -2
- package/lib/vef-crud-page/components/crud-table.cjs +80 -2
- package/lib/vef-crud-page/hooks/use-action-buttons.cjs +41 -2
- package/lib/vef-crud-page/hooks/use-crud-context.cjs +24 -2
- package/lib/vef-crud-page/hooks/use-crud-schema.cjs +118 -2
- package/lib/vef-crud-page/hooks/use-operation-buttons.cjs +64 -2
- package/lib/vef-crud-page/index.cjs +154 -2
- package/lib/vef-crud-page/props.cjs +4 -2
- package/lib/vef-crud-page/store.cjs +148 -2
- package/lib/vef-crud-page/types.cjs +4 -2
- package/lib/vef-divider/index.cjs +28 -2
- package/lib/vef-divider/props.cjs +4 -2
- package/lib/vef-drawer/components/action-button-wrapper.cjs +53 -2
- package/lib/vef-drawer/components/button-props.cjs +4 -2
- package/lib/vef-drawer/components/cancel-action-button.cjs +25 -2
- package/lib/vef-drawer/components/ok-action-button.cjs +24 -2
- package/lib/vef-drawer/context.cjs +21 -2
- package/lib/vef-drawer/index.cjs +159 -4
- package/lib/vef-drawer/props.cjs +4 -2
- package/lib/vef-dropdown/index.cjs +96 -2
- package/lib/vef-dropdown/props.cjs +4 -2
- package/lib/vef-dynamic-icon/index.cjs +50 -2
- package/lib/vef-dynamic-icon/props.cjs +10 -2
- package/lib/vef-empty/index.cjs +41 -2
- package/lib/vef-empty/props.cjs +4 -2
- package/lib/vef-empty-placeholder/index.cjs +23 -5
- package/lib/vef-empty-placeholder/props.cjs +4 -2
- package/lib/vef-error/error-icon.cjs +761 -2
- package/lib/vef-error/index.cjs +52 -10
- package/lib/vef-error/props.cjs +4 -2
- package/lib/vef-filter/components/action-buttons.cjs +123 -6
- package/lib/vef-filter/components/advanced-filter.cjs +75 -9
- package/lib/vef-filter/components/basic-filter.cjs +39 -5
- package/lib/vef-filter/components/fields/index.cjs +15 -2
- package/lib/vef-filter/components/fields/input-number.cjs +94 -2
- package/lib/vef-filter/components/fields/input.cjs +71 -2
- package/lib/vef-filter/components/fields/props.cjs +4 -2
- package/lib/vef-filter/components/filter-field.cjs +23 -2
- package/lib/vef-filter/components/filter-item.cjs +116 -2
- package/lib/vef-filter/event.cjs +48 -2
- package/lib/vef-filter/helper.cjs +19 -2
- package/lib/vef-filter/hooks/use-action-handlers.cjs +74 -2
- package/lib/vef-filter/hooks/use-computed-values.cjs +59 -2
- package/lib/vef-filter/hooks/use-filter-context.cjs +24 -2
- package/lib/vef-filter/hooks/use-filter-initialization.cjs +41 -2
- package/lib/vef-filter/hooks/use-filter-instance.cjs +30 -2
- package/lib/vef-filter/hooks/use-filter-items.cjs +27 -2
- package/lib/vef-filter/hooks/use-filter-values-change.cjs +34 -2
- package/lib/vef-filter/hooks/use-label-config.cjs +31 -2
- package/lib/vef-filter/index.cjs +145 -3
- package/lib/vef-filter/props.cjs +4 -2
- package/lib/vef-filter/store.cjs +77 -2
- package/lib/vef-filter/types.cjs +4 -2
- package/lib/vef-flex/index.cjs +35 -2
- package/lib/vef-flex/props.cjs +4 -2
- package/lib/vef-float-button/index.cjs +53 -2
- package/lib/vef-float-button/props.cjs +4 -2
- package/lib/vef-float-button-group/index.cjs +24 -2
- package/lib/vef-float-button-group/props.cjs +4 -2
- package/lib/vef-form/components/fields/index.cjs +15 -2
- package/lib/vef-form/components/fields/input-number.cjs +127 -2
- package/lib/vef-form/components/fields/input.cjs +136 -2
- package/lib/vef-form/components/fields/props.cjs +4 -2
- package/lib/vef-form/components/form-actions.cjs +62 -4
- package/lib/vef-form/components/form-content.cjs +148 -3
- package/lib/vef-form/components/form-field.cjs +26 -2
- package/lib/vef-form/components/form-group.cjs +68 -4
- package/lib/vef-form/components/form-hidden-item.cjs +40 -2
- package/lib/vef-form/components/form-item.cjs +83 -2
- package/lib/vef-form/components/form-row.cjs +102 -2
- package/lib/vef-form/event.cjs +48 -2
- package/lib/vef-form/helper.cjs +19 -2
- package/lib/vef-form/hooks/use-action-handlers.cjs +134 -2
- package/lib/vef-form/hooks/use-columns-layout.cjs +126 -2
- package/lib/vef-form/hooks/use-computed-values.cjs +59 -2
- package/lib/vef-form/hooks/use-form-context.cjs +20 -2
- package/lib/vef-form/hooks/use-form-initialization.cjs +49 -2
- package/lib/vef-form/hooks/use-form-instance.cjs +30 -2
- package/lib/vef-form/hooks/use-form-values-change.cjs +34 -2
- package/lib/vef-form/hooks/use-label-width.cjs +22 -2
- package/lib/vef-form/index.cjs +178 -4
- package/lib/vef-form/props.cjs +4 -2
- package/lib/vef-form/store.cjs +71 -2
- package/lib/vef-form/types.cjs +4 -2
- package/lib/vef-form/validation-rules.cjs +312 -2
- package/lib/vef-form-drawer/index.cjs +102 -2
- package/lib/vef-form-drawer/props.cjs +4 -2
- package/lib/vef-form-modal/index.cjs +99 -2
- package/lib/vef-form-modal/props.cjs +4 -2
- package/lib/vef-generic-select/index.cjs +85 -2
- package/lib/vef-generic-select/props.cjs +4 -2
- package/lib/vef-grid/index.cjs +87 -7
- package/lib/vef-grid/props.cjs +8 -2
- package/lib/vef-grid-item/index.cjs +56 -2
- package/lib/vef-grid-item/props.cjs +4 -2
- package/lib/vef-icon/index.cjs +49 -2
- package/lib/vef-icon/props.cjs +4 -2
- package/lib/vef-icon-select/index.cjs +150 -12
- package/lib/vef-icon-select/props.cjs +4 -2
- package/lib/vef-input/hooks/use-input-instance.cjs +19 -2
- package/lib/vef-input/index.cjs +68 -2
- package/lib/vef-input/props.cjs +4 -2
- package/lib/vef-input-number/hooks/use-input-number-instance.cjs +17 -2
- package/lib/vef-input-number/index.cjs +152 -2
- package/lib/vef-input-number/props.cjs +4 -2
- package/lib/vef-layout/common-styles.cjs +14 -5
- package/lib/vef-layout/components/content.cjs +17 -2
- package/lib/vef-layout/components/font-size.cjs +72 -2
- package/lib/vef-layout/components/fullscreen.cjs +27 -2
- package/lib/vef-layout/components/header-action-icons.cjs +33 -7
- package/lib/vef-layout/components/header-content.cjs +23 -2
- package/lib/vef-layout/components/header.cjs +73 -7
- package/lib/vef-layout/components/icon-boy.cjs +73 -2
- package/lib/vef-layout/components/icon-girl.cjs +80 -2
- package/lib/vef-layout/components/icon-menu-fold-left.cjs +27 -2
- package/lib/vef-layout/components/icon-menu-unfold-left.cjs +27 -2
- package/lib/vef-layout/components/menu-groups.cjs +127 -16
- package/lib/vef-layout/components/message.cjs +15 -2
- package/lib/vef-layout/components/search.cjs +15 -2
- package/lib/vef-layout/components/sider.cjs +58 -6
- package/lib/vef-layout/components/title.cjs +57 -9
- package/lib/vef-layout/components/user-avatar.cjs +84 -10
- package/lib/vef-layout/hooks/use-layout-context.cjs +16 -2
- package/lib/vef-layout/index.cjs +37 -3
- package/lib/vef-layout/logo.svg.cjs +8 -2
- package/lib/vef-layout/props.cjs +4 -2
- package/lib/vef-layout/store.cjs +22 -2
- package/lib/vef-loading-placeholder/index.cjs +46 -6
- package/lib/vef-loading-placeholder/props.cjs +4 -2
- package/lib/vef-login/index.cjs +156 -22
- package/lib/vef-login/login-icon.cjs +672 -2
- package/lib/vef-login/props.cjs +4 -2
- package/lib/vef-menu/index.cjs +81 -5
- package/lib/vef-menu/props.cjs +4 -2
- package/lib/vef-modal/components/action-button-wrapper.cjs +53 -2
- package/lib/vef-modal/components/button-props.cjs +4 -2
- package/lib/vef-modal/components/cancel-action-button.cjs +22 -2
- package/lib/vef-modal/components/ok-action-button.cjs +24 -2
- package/lib/vef-modal/context.cjs +21 -2
- package/lib/vef-modal/index.cjs +244 -3
- package/lib/vef-modal/props.cjs +4 -2
- package/lib/vef-not-found/index.cjs +49 -10
- package/lib/vef-not-found/not-found-icon.cjs +848 -2
- package/lib/vef-not-found/props.cjs +4 -2
- package/lib/vef-page/index.cjs +91 -11
- package/lib/vef-page/props.cjs +4 -2
- package/lib/vef-pagination/index.cjs +61 -2
- package/lib/vef-pagination/props.cjs +17 -2
- package/lib/vef-paragraph/index.cjs +93 -2
- package/lib/vef-paragraph/props.cjs +4 -2
- package/lib/vef-password/hooks/use-password-instance.cjs +17 -2
- package/lib/vef-password/index.cjs +71 -2
- package/lib/vef-password/props.cjs +4 -2
- package/lib/vef-popconfirm/index.cjs +60 -2
- package/lib/vef-popconfirm/props.cjs +4 -2
- package/lib/vef-popover/index.cjs +33 -2
- package/lib/vef-popover/props.cjs +4 -2
- package/lib/vef-radio/hooks/use-data-options.cjs +44 -2
- package/lib/vef-radio/hooks/use-radio-instance.cjs +24 -2
- package/lib/vef-radio/index.cjs +92 -4
- package/lib/vef-radio/props.cjs +4 -2
- package/lib/vef-rate/hooks/use-rate-instance.cjs +17 -2
- package/lib/vef-rate/index.cjs +34 -2
- package/lib/vef-rate/props.cjs +4 -2
- package/lib/vef-responsive-container/index.cjs +58 -3
- package/lib/vef-responsive-container/props.cjs +4 -2
- package/lib/vef-responsive-item/index.cjs +27 -3
- package/lib/vef-responsive-item/props.cjs +4 -2
- package/lib/vef-ribbon/index.cjs +42 -2
- package/lib/vef-ribbon/props.cjs +4 -2
- package/lib/vef-row/index.cjs +16 -2
- package/lib/vef-row/props.cjs +4 -2
- package/lib/vef-scroll-area/components/scrollbar.cjs +38 -8
- package/lib/vef-scroll-area/index.cjs +73 -4
- package/lib/vef-scroll-area/props.cjs +4 -2
- package/lib/vef-select/components/option.cjs +27 -4
- package/lib/vef-select/hooks/use-data-options.cjs +51 -2
- package/lib/vef-select/hooks/use-field-names.cjs +25 -2
- package/lib/vef-select/hooks/use-render-label.cjs +27 -3
- package/lib/vef-select/hooks/use-render-option.cjs +23 -2
- package/lib/vef-select/hooks/use-select-instance.cjs +24 -2
- package/lib/vef-select/index.cjs +104 -2
- package/lib/vef-select/props.cjs +4 -2
- package/lib/vef-slider/hooks/use-slider-instance.cjs +17 -2
- package/lib/vef-slider/index.cjs +38 -2
- package/lib/vef-slider/props.cjs +4 -2
- package/lib/vef-sortable-list/components/overlay-item.cjs +35 -3
- package/lib/vef-sortable-list/components/sortable-item.cjs +79 -3
- package/lib/vef-sortable-list/hooks/use-merged-items.cjs +25 -2
- package/lib/vef-sortable-list/index.cjs +118 -2
- package/lib/vef-sortable-list/props.cjs +4 -2
- package/lib/vef-space/index.cjs +29 -2
- package/lib/vef-space/props.cjs +4 -2
- package/lib/vef-spin/index.cjs +16 -2
- package/lib/vef-spin/props.cjs +4 -2
- package/lib/vef-splitter/index.cjs +24 -2
- package/lib/vef-splitter/props.cjs +4 -2
- package/lib/vef-splitter-panel/index.cjs +16 -2
- package/lib/vef-splitter-panel/props.cjs +4 -2
- package/lib/vef-status/index.cjs +41 -2
- package/lib/vef-status/props.cjs +4 -2
- package/lib/vef-table/components/columns/bool.cjs +95 -2
- package/lib/vef-table/components/columns/code.cjs +14 -2
- package/lib/vef-table/components/columns/data-dictionary.cjs +96 -2
- package/lib/vef-table/components/columns/enum.cjs +105 -2
- package/lib/vef-table/components/columns/file.cjs +14 -2
- package/lib/vef-table/components/columns/icon.cjs +14 -2
- package/lib/vef-table/components/columns/id.cjs +86 -2
- package/lib/vef-table/components/columns/image.cjs +15 -2
- package/lib/vef-table/components/columns/index.cjs +37 -2
- package/lib/vef-table/components/columns/markdown.cjs +14 -2
- package/lib/vef-table/components/columns/number.cjs +87 -2
- package/lib/vef-table/components/columns/props.cjs +4 -2
- package/lib/vef-table/components/columns/render.cjs +32 -2
- package/lib/vef-table/components/columns/rich-text.cjs +14 -2
- package/lib/vef-table/components/columns/text.cjs +92 -2
- package/lib/vef-table/components/columns-settings.cjs +199 -11
- package/lib/vef-table/components/operation-buttons.cjs +234 -3
- package/lib/vef-table/components/settings-icon.cjs +23 -4
- package/lib/vef-table/components/table-footer.cjs +106 -4
- package/lib/vef-table/helper.cjs +19 -2
- package/lib/vef-table/hooks/use-computed-batch-buttons.cjs +37 -2
- package/lib/vef-table/hooks/use-computed-columns.cjs +24 -2
- package/lib/vef-table/hooks/use-computed-values.cjs +42 -2
- package/lib/vef-table/hooks/use-data.cjs +57 -2
- package/lib/vef-table/hooks/use-default-column-configs.cjs +31 -2
- package/lib/vef-table/hooks/use-display-value.cjs +40 -2
- package/lib/vef-table/hooks/use-helper-columns.cjs +71 -2
- package/lib/vef-table/hooks/use-operation-column-width.cjs +54 -2
- package/lib/vef-table/hooks/use-pagination-props.cjs +48 -2
- package/lib/vef-table/hooks/use-row-props.cjs +43 -2
- package/lib/vef-table/hooks/use-row-selection-config.cjs +116 -2
- package/lib/vef-table/hooks/use-selected-rows.cjs +30 -2
- package/lib/vef-table/hooks/use-table-columns.cjs +60 -2
- package/lib/vef-table/hooks/use-table-context.cjs +27 -2
- package/lib/vef-table/hooks/use-table-instance.cjs +19 -2
- package/lib/vef-table/hooks/use-table-summary.cjs +46 -2
- package/lib/vef-table/hooks/use-table-width.cjs +17 -2
- package/lib/vef-table/index.cjs +231 -6
- package/lib/vef-table/props.cjs +4 -2
- package/lib/vef-table/store.cjs +23 -2
- package/lib/vef-table/types.cjs +4 -2
- package/lib/vef-tabs/index.cjs +29 -2
- package/lib/vef-tabs/props.cjs +4 -2
- package/lib/vef-tag/index.cjs +32 -2
- package/lib/vef-tag/props.cjs +4 -2
- package/lib/vef-temporal-picker/helper.cjs +61 -2
- package/lib/vef-temporal-picker/hooks/use-dayjs-value.cjs +22 -2
- package/lib/vef-temporal-picker/hooks/use-temporal-limit.cjs +38 -2
- package/lib/vef-temporal-picker/hooks/use-temporal-picker-instance.cjs +23 -2
- package/lib/vef-temporal-picker/index.cjs +129 -2
- package/lib/vef-temporal-picker/props.cjs +4 -2
- package/lib/vef-temporal-range-picker/helper.cjs +61 -2
- package/lib/vef-temporal-range-picker/hooks/use-dayjs-values.cjs +27 -2
- package/lib/vef-temporal-range-picker/hooks/use-temporal-limit.cjs +38 -2
- package/lib/vef-temporal-range-picker/hooks/use-temporal-range-picker-instance.cjs +23 -2
- package/lib/vef-temporal-range-picker/index.cjs +132 -2
- package/lib/vef-temporal-range-picker/props.cjs +8 -2
- package/lib/vef-text/index.cjs +84 -2
- package/lib/vef-text/props.cjs +4 -2
- package/lib/vef-textarea/hooks/use-textarea-instance.cjs +17 -2
- package/lib/vef-textarea/index.cjs +71 -2
- package/lib/vef-textarea/props.cjs +4 -2
- package/lib/vef-title/index.cjs +93 -7
- package/lib/vef-title/props.cjs +4 -2
- package/lib/vef-tooltip/index.cjs +39 -2
- package/lib/vef-tooltip/props.cjs +4 -2
- package/lib/vef-tree-select/hooks/use-change-handler.cjs +37 -2
- package/lib/vef-tree-select/hooks/use-data-options.cjs +49 -2
- package/lib/vef-tree-select/hooks/use-tree-select-instance.cjs +24 -2
- package/lib/vef-tree-select/index.cjs +90 -2
- package/lib/vef-tree-select/props.cjs +4 -2
- package/lib/vef-virtual-grid/index.cjs +111 -4
- package/lib/vef-virtual-grid/props.cjs +4 -2
- package/lib/vef-virtual-list/index.cjs +219 -5
- package/lib/vef-virtual-list/props.cjs +4 -2
- package/package.json +4 -4
- package/types/vef-crud-page/components/crud-actions.d.ts +4 -4
- package/types/vef-crud-page/components/crud-filter.d.ts +5 -5
- package/types/vef-crud-page/components/crud-footer.d.ts +4 -4
- package/types/vef-crud-page/components/crud-form-modal.d.ts +5 -5
- package/types/vef-crud-page/components/crud-header.d.ts +5 -5
- package/types/vef-crud-page/components/crud-table.d.ts +8 -8
- package/types/vef-crud-page/hooks/use-action-buttons.d.ts +3 -3
- package/types/vef-crud-page/hooks/use-crud-context.d.ts +2 -2
- package/types/vef-crud-page/hooks/use-crud-schema.d.ts +4 -4
- package/types/vef-crud-page/hooks/use-operation-buttons.d.ts +2 -2
- package/types/vef-crud-page/index.d.ts +2 -2
- package/types/vef-crud-page/props.d.ts +10 -10
- package/types/vef-crud-page/store.d.ts +13 -13
- package/types/vef-crud-page/types.d.ts +24 -19
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ActionButton, AnyValue, EmptyObject, Except, Mapper, MaybePromise, MutationApi, ObjectType, ObjectValue, PaginationParams, PaginationResult, QueryApi, QueryConfig,
|
|
1
|
+
import type { ActionButton, AnyValue, EmptyObject, Except, Mapper, MaybePromise, MutationApi, ObjectType, ObjectValue, PaginationParams, PaginationResult, QueryApi, QueryConfig, TriMapper } from "@vef-framework/shared";
|
|
2
2
|
import type { ReactNode } from "react";
|
|
3
3
|
import type { FilterValues } from "../vef-filter/types";
|
|
4
4
|
import type { VefTableProps } from "../vef-table";
|
|
@@ -6,11 +6,11 @@ import type { BatchActionButtonContext, CrudContext, CrudFilterVirtualKey, CrudF
|
|
|
6
6
|
/**
|
|
7
7
|
* The props of VefCrudPage component.
|
|
8
8
|
*/
|
|
9
|
-
export type VefCrudPageProps<
|
|
9
|
+
export type VefCrudPageProps<Model extends ObjectType = ObjectValue, Params extends ObjectType = EmptyObject, Record extends ObjectType = ObjectValue, Filter extends ObjectType = ObjectValue, Form extends ObjectType = ObjectValue, Result = AnyValue, Schema extends CrudSchema<Model, Record, Filter, Form> = CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema> = CrudFormApis<Model, Record, Filter, Form, Result, Schema>> = VefDefaultCrudPageProps<Model, Record, Params, Filter, Form, Result, Schema, FormApis> | VefPaginatedCrudPageProps<Model, Record, Params, Filter, Form, Result, Schema, FormApis>;
|
|
10
10
|
/**
|
|
11
11
|
* The base props of VefCrudPage component.
|
|
12
12
|
*/
|
|
13
|
-
type VefBaseCrudPageProps<Record extends ObjectType = ObjectValue, Params extends ObjectType = EmptyObject,
|
|
13
|
+
type VefBaseCrudPageProps<Model extends ObjectType = ObjectValue, Record extends ObjectType = ObjectValue, Params extends ObjectType = EmptyObject, Filter extends ObjectType = ObjectValue, Form extends ObjectType = ObjectValue, Result = AnyValue, Schema extends CrudSchema<Model, Record, Filter, Form> = CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema> = CrudFormApis<Model, Record, Filter, Form, Result, Schema>> = Except<VefTableProps<Record, Params, Record, CrudContext<Model, Record, Filter, Form, Result, Schema, FormApis>>, "schema" | "paginated" | "selectable" | "multipleSelection" | "showSelectAllCheckbox" | "enableRowClick" | "enableRowClickForSelection" | "selectionSummary" | "selectedKeys" | "defaultSelectedKeys" | "batchActionButtons" | "onRowSelectionChange" | "onRowSelect" | "onRowDeselect" | "onRowClick" | keyof QueryConfig> & FormEventHandlers<Form, Result, CrudFormScene<FormApis>> & {
|
|
14
14
|
/**
|
|
15
15
|
* The schema of the crud page.
|
|
16
16
|
*/
|
|
@@ -22,11 +22,11 @@ type VefBaseCrudPageProps<Record extends ObjectType = ObjectValue, Params extend
|
|
|
22
22
|
/**
|
|
23
23
|
* The action buttons of the crud page.
|
|
24
24
|
*/
|
|
25
|
-
actionButtons?: Array<ActionButton<CrudContext<Record,
|
|
25
|
+
actionButtons?: Array<ActionButton<CrudContext<Model, Record, Filter, Form, Result, Schema, FormApis>>>;
|
|
26
26
|
/**
|
|
27
27
|
* The batch action buttons of the crud page.
|
|
28
28
|
*/
|
|
29
|
-
batchActionButtons?: Array<ActionButton<BatchActionButtonContext<Record,
|
|
29
|
+
batchActionButtons?: Array<ActionButton<BatchActionButtonContext<Model, Record, Filter, Form, Result, Schema, FormApis>>>;
|
|
30
30
|
/**
|
|
31
31
|
* The params of the table api.
|
|
32
32
|
*/
|
|
@@ -51,12 +51,12 @@ type VefBaseCrudPageProps<Record extends ObjectType = ObjectValue, Params extend
|
|
|
51
51
|
* The function to handle the form open event.
|
|
52
52
|
* Typically used to pre-fill or initialize the initial form values.
|
|
53
53
|
*/
|
|
54
|
-
onFormOpen?: TriMapper<Partial<
|
|
54
|
+
onFormOpen?: TriMapper<Partial<Form>, FilterValues<Filter>, CrudFormScene<FormApis>, MaybePromise<Partial<Form>>>;
|
|
55
55
|
};
|
|
56
56
|
/**
|
|
57
57
|
* The default props of VefCrudPage component.
|
|
58
58
|
*/
|
|
59
|
-
type VefDefaultCrudPageProps<Record extends ObjectType = ObjectValue, Params extends ObjectType = EmptyObject,
|
|
59
|
+
type VefDefaultCrudPageProps<Model extends ObjectType = ObjectValue, Record extends ObjectType = ObjectValue, Params extends ObjectType = EmptyObject, Filter extends ObjectType = ObjectValue, Form extends ObjectType = ObjectValue, Result = AnyValue, Schema extends CrudSchema<Model, Record, Filter, Form> = CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema> = CrudFormApis<Model, Record, Filter, Form, Result, Schema>> = VefBaseCrudPageProps<Model, Record, Params, Filter, Form, Result, Schema, FormApis> & {
|
|
60
60
|
/**
|
|
61
61
|
* Whether the table is paginated.
|
|
62
62
|
* @default false
|
|
@@ -65,12 +65,12 @@ type VefDefaultCrudPageProps<Record extends ObjectType = ObjectValue, Params ext
|
|
|
65
65
|
/**
|
|
66
66
|
* The api of the table.
|
|
67
67
|
*/
|
|
68
|
-
tableApi: Readonly<QueryApi<Params & Except<
|
|
68
|
+
tableApi: Readonly<QueryApi<Params & Except<Filter, CrudFilterVirtualKey<Schema>>, Record[]>>;
|
|
69
69
|
};
|
|
70
70
|
/**
|
|
71
71
|
* The paginated props of VefCrudPage component.
|
|
72
72
|
*/
|
|
73
|
-
type VefPaginatedCrudPageProps<Record extends ObjectType = ObjectValue, Params extends ObjectType = EmptyObject,
|
|
73
|
+
type VefPaginatedCrudPageProps<Model extends ObjectType = ObjectValue, Record extends ObjectType = ObjectValue, Params extends ObjectType = EmptyObject, Filter extends ObjectType = ObjectValue, Form extends ObjectType = ObjectValue, Result = AnyValue, Schema extends CrudSchema<Model, Record, Filter, Form> = CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema> = CrudFormApis<Model, Record, Filter, Form, Result, Schema>> = VefBaseCrudPageProps<Model, Record, Params, Filter, Form, Result, Schema, FormApis> & {
|
|
74
74
|
/**
|
|
75
75
|
* Whether the table is paginated.
|
|
76
76
|
* @default false
|
|
@@ -79,6 +79,6 @@ type VefPaginatedCrudPageProps<Record extends ObjectType = ObjectValue, Params e
|
|
|
79
79
|
/**
|
|
80
80
|
* The api of the table.
|
|
81
81
|
*/
|
|
82
|
-
tableApi: Readonly<QueryApi<Params & PaginationParams & Except<
|
|
82
|
+
tableApi: Readonly<QueryApi<Params & PaginationParams & Except<Filter, CrudFilterVirtualKey<Schema>>, PaginationResult<Record>>>;
|
|
83
83
|
};
|
|
84
84
|
export {};
|
|
@@ -19,12 +19,12 @@ interface SelectedInfo<Record extends ObjectType> {
|
|
|
19
19
|
/**
|
|
20
20
|
* The crud state.
|
|
21
21
|
*/
|
|
22
|
-
export interface CrudState<
|
|
22
|
+
export interface CrudState<Model extends ObjectType, Record extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result = AnyValue, Schema extends CrudSchema<Model, Record, Filter, Form> = CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema> = CrudFormApis<Model, Record, Filter, Form, Result, Schema>> extends FormEventHandlers<Form, Result, CrudFormScene<FormApis>> {
|
|
23
23
|
/**
|
|
24
24
|
* The function to handle the form open event.
|
|
25
25
|
* Typically used to pre-fill or initialize the initial form values.
|
|
26
26
|
*/
|
|
27
|
-
onFormOpen?: TriMapper<Partial<
|
|
27
|
+
onFormOpen?: TriMapper<Partial<Form>, FilterValues<Filter>, CrudFormScene<FormApis>, MaybePromise<Partial<Form>>>;
|
|
28
28
|
/**
|
|
29
29
|
* The current form info.
|
|
30
30
|
*/
|
|
@@ -32,11 +32,11 @@ export interface CrudState<Record extends ObjectType, FilterKeys extends Readonl
|
|
|
32
32
|
/**
|
|
33
33
|
* The event handlers of the current form.
|
|
34
34
|
*/
|
|
35
|
-
currentFormEventHandlers: FormEventHandlers<
|
|
35
|
+
currentFormEventHandlers: FormEventHandlers<Form, Result, CrudFormScene<FormApis>>;
|
|
36
36
|
/**
|
|
37
37
|
* The initial values of the current form.
|
|
38
38
|
*/
|
|
39
|
-
currentFormInitialValues: Partial<
|
|
39
|
+
currentFormInitialValues: Partial<Form>;
|
|
40
40
|
/**
|
|
41
41
|
* Whether the form is open.
|
|
42
42
|
*/
|
|
@@ -44,8 +44,8 @@ export interface CrudState<Record extends ObjectType, FilterKeys extends Readonl
|
|
|
44
44
|
/**
|
|
45
45
|
* The function to open the form.
|
|
46
46
|
*/
|
|
47
|
-
openForm: Mapper<FormInfo<CrudFormScene<FormApis>> & FormEventHandlers<
|
|
48
|
-
initialValues?: Partial<
|
|
47
|
+
openForm: Mapper<FormInfo<CrudFormScene<FormApis>> & FormEventHandlers<Form, Result, CrudFormScene<FormApis>> & FormBehaviorConfig & {
|
|
48
|
+
initialValues?: Partial<Form>;
|
|
49
49
|
}, Promise<void>>;
|
|
50
50
|
/**
|
|
51
51
|
* The function to close the form.
|
|
@@ -62,23 +62,23 @@ export interface CrudState<Record extends ObjectType, FilterKeys extends Readonl
|
|
|
62
62
|
/**
|
|
63
63
|
* The keys of the filter values that are used as default values of the form.
|
|
64
64
|
*/
|
|
65
|
-
filterValueAsDefaultKeys: Array<
|
|
65
|
+
filterValueAsDefaultKeys: Array<StringKey<Filter>>;
|
|
66
66
|
/**
|
|
67
67
|
* The values of the filter.
|
|
68
68
|
*/
|
|
69
|
-
filterValues: FilterValues<
|
|
69
|
+
filterValues: FilterValues<Filter>;
|
|
70
70
|
/**
|
|
71
71
|
* The function to set the values of the filter.
|
|
72
72
|
*/
|
|
73
|
-
setFilterValues: Consumer<FilterValues<
|
|
73
|
+
setFilterValues: Consumer<FilterValues<Filter>>;
|
|
74
74
|
/**
|
|
75
75
|
* The confirmed values of the filter.
|
|
76
76
|
*/
|
|
77
|
-
confirmedFilterValues: MaybeNull<Except<
|
|
77
|
+
confirmedFilterValues: MaybeNull<Except<Filter, CrudFilterVirtualKey<Schema>>>;
|
|
78
78
|
/**
|
|
79
79
|
* The function to set the confirmed values of the filter.
|
|
80
80
|
*/
|
|
81
|
-
setConfirmedFilterValues: Consumer<MaybeNull<Except<
|
|
81
|
+
setConfirmedFilterValues: Consumer<MaybeNull<Except<Filter, CrudFilterVirtualKey<Schema>>>>;
|
|
82
82
|
/**
|
|
83
83
|
* The selected info.
|
|
84
84
|
*/
|
|
@@ -101,9 +101,9 @@ export interface CrudState<Record extends ObjectType, FilterKeys extends Readonl
|
|
|
101
101
|
/**
|
|
102
102
|
* The props of the crud store provider
|
|
103
103
|
*/
|
|
104
|
-
export interface CrudStoreProviderProps<Record extends ObjectType,
|
|
104
|
+
export interface CrudStoreProviderProps<Model extends ObjectType, Record extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, Schema extends CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema>> extends Pick<CrudState<Model, Record, Filter, Form, Result, Schema, FormApis>, "filterValueAsDefaultKeys" | "formApiKeys" | "onFormOpen" | "onBeforeSubmit" | "onSubmitSuccess">, ChildrenProps {
|
|
105
105
|
}
|
|
106
|
-
declare const CrudStoreProvider: import("react").FC<import("@vef-framework/shared").StoreProviderProps<CrudStoreProviderProps<any, any, any, any, any, any>>>, useCrudStore: <State extends CrudState<any, any, any, any, any, any>, U>(selector: Mapper<State, U>) => U, useCrudStoreApi: <State extends CrudState<any, any, any, any, any, any>>() => Omit<import("zustand").StoreApi<State>, "subscribe"> & {
|
|
106
|
+
declare const CrudStoreProvider: import("react").FC<import("@vef-framework/shared").StoreProviderProps<CrudStoreProviderProps<any, any, any, any, any, any, any>>>, useCrudStore: <State extends CrudState<any, any, any, any, any, any, any>, U>(selector: Mapper<State, U>) => U, useCrudStoreApi: <State extends CrudState<any, any, any, any, any, any, any>>() => Omit<import("zustand").StoreApi<State>, "subscribe"> & {
|
|
107
107
|
subscribe: {
|
|
108
108
|
(listener: (selectedState: State, previousSelectedState: State) => void): () => void;
|
|
109
109
|
<U>(selector: (state: State) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
|
|
@@ -8,17 +8,17 @@ import type { TableColumn } from "../vef-table";
|
|
|
8
8
|
/**
|
|
9
9
|
* The crud context.
|
|
10
10
|
*/
|
|
11
|
-
export interface CrudContext<Record extends ObjectType,
|
|
11
|
+
export interface CrudContext<Model extends ObjectType, Record extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result = AnyValue, Schema extends CrudSchema<Model, Record, Filter, Form> = CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema> = CrudFormApis<Model, Record, Filter, Form, Result, Schema>> {
|
|
12
12
|
/**
|
|
13
13
|
* The function to open the form.
|
|
14
14
|
*/
|
|
15
|
-
openForm: Consumer<FormInfo<CrudFormScene<FormApis>> & FormEventHandlers<
|
|
16
|
-
initialValues?: Partial<
|
|
15
|
+
openForm: Consumer<FormInfo<CrudFormScene<FormApis>> & FormEventHandlers<Form, Result, CrudFormScene<FormApis>> & FormBehaviorConfig & {
|
|
16
|
+
initialValues?: Partial<Form>;
|
|
17
17
|
}>;
|
|
18
18
|
/**
|
|
19
19
|
* The filter values.
|
|
20
20
|
*/
|
|
21
|
-
filterValues: FilterValues<
|
|
21
|
+
filterValues: FilterValues<Filter>;
|
|
22
22
|
/**
|
|
23
23
|
* The function to refetch the table data of the crud page.
|
|
24
24
|
*/
|
|
@@ -27,7 +27,7 @@ export interface CrudContext<Record extends ObjectType, FilterKeys extends Reado
|
|
|
27
27
|
/**
|
|
28
28
|
* The batch action button context.
|
|
29
29
|
*/
|
|
30
|
-
export interface BatchActionButtonContext<Record extends ObjectType,
|
|
30
|
+
export interface BatchActionButtonContext<Model extends ObjectType, Record extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result = AnyValue, Schema extends CrudSchema<Model, Record, Filter, Form> = CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema> = CrudFormApis<Model, Record, Filter, Form, Result, Schema>> extends CrudContext<Model, Record, Filter, Form, Result, Schema, FormApis> {
|
|
31
31
|
/**
|
|
32
32
|
* The selected keys.
|
|
33
33
|
*/
|
|
@@ -99,43 +99,48 @@ interface FormItemCoordinate {
|
|
|
99
99
|
*/
|
|
100
100
|
column?: KeyValue;
|
|
101
101
|
}
|
|
102
|
-
type FilterCrudItem<
|
|
103
|
-
filter: Except<FilterItem<
|
|
102
|
+
type FilterCrudItem<Model extends ObjectType, Filter extends ObjectType, Key extends StringKey<Model>> = Key extends StringKey<Filter> ? {
|
|
103
|
+
filter: Except<FilterItem<Filter>, "name">;
|
|
104
104
|
} : unknown;
|
|
105
|
-
type FormCrudItem<
|
|
106
|
-
form: Except<FormItem<
|
|
105
|
+
type FormCrudItem<Model extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Key extends StringKey<Model>> = Key extends StringKey<Form> ? {
|
|
106
|
+
form: Except<FormItem<Form>, "name"> & FormItemCoordinate & (Key extends StringKey<Filter> ? {
|
|
107
107
|
filterValueAsDefault?: boolean;
|
|
108
108
|
} : unknown);
|
|
109
109
|
} : unknown;
|
|
110
110
|
/**
|
|
111
111
|
* The crud item.
|
|
112
112
|
*/
|
|
113
|
-
export type CrudItem<
|
|
113
|
+
export type CrudItem<Model extends ObjectType, Record extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Key extends StringKey<Model>> = (Key extends StringKey<Record> ? TableColumn<Record, Key> : {
|
|
114
|
+
name: Key;
|
|
115
|
+
show: false;
|
|
116
|
+
type: "Text";
|
|
117
|
+
title?: ReactNode;
|
|
118
|
+
}) & FilterCrudItem<Model, Filter, Key> & FormCrudItem<Model, Filter, Form, Key>;
|
|
114
119
|
/**
|
|
115
120
|
* The internal crud item.
|
|
116
121
|
*/
|
|
117
|
-
export type InternalCrudItem<Record extends ObjectType
|
|
122
|
+
export type InternalCrudItem<Record extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Key extends StringKey<Record> = StringKey<Record>> = TableColumn<Record, Key> & {
|
|
118
123
|
/**
|
|
119
124
|
* The filter of the item.
|
|
120
125
|
*/
|
|
121
|
-
filter?: Except<FilterItem<
|
|
126
|
+
filter?: Except<FilterItem<Filter>, "name">;
|
|
122
127
|
/**
|
|
123
128
|
* The form of the item.
|
|
124
129
|
*/
|
|
125
|
-
form?: Except<FormItem<
|
|
130
|
+
form?: Except<FormItem<Form>, "name"> & FormItemCoordinate & {
|
|
126
131
|
filterValueAsDefault?: boolean;
|
|
127
132
|
};
|
|
128
133
|
};
|
|
129
134
|
/**
|
|
130
135
|
* The union of the crud items.
|
|
131
136
|
*/
|
|
132
|
-
type CrudItemUnion<Record extends ObjectType,
|
|
133
|
-
[K in keyof Keys]: CrudItem<Record,
|
|
137
|
+
type CrudItemUnion<Model extends ObjectType, Record extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Keys extends UnionToTuple<StringKey<Model>>> = {
|
|
138
|
+
[K in keyof Keys]: CrudItem<Model, Record, Filter, Form, Keys[K] & string>;
|
|
134
139
|
}[number];
|
|
135
140
|
/**
|
|
136
141
|
* The crud schema.
|
|
137
142
|
*/
|
|
138
|
-
export type CrudSchema<Record extends ObjectType = ObjectValue,
|
|
143
|
+
export type CrudSchema<Model extends ObjectType = ObjectValue, Record extends ObjectType = ObjectValue, Filter extends ObjectType = ObjectValue, Form extends ObjectType = ObjectValue> = NonEmptyTuple<CrudItemUnion<Model, Record, Filter, Form, UnionToTuple<StringKey<Model>>>>;
|
|
139
144
|
/**
|
|
140
145
|
* The virtual key of the crud filter.
|
|
141
146
|
*/
|
|
@@ -161,13 +166,13 @@ export type CrudFormVirtualKey<T extends readonly unknown[]> = {
|
|
|
161
166
|
/**
|
|
162
167
|
* The apis of the form.
|
|
163
168
|
*/
|
|
164
|
-
export type CrudFormApis<Record extends ObjectType,
|
|
165
|
-
[K in FormScene]?: Readonly<MutationApi<Except<
|
|
169
|
+
export type CrudFormApis<Model extends ObjectType, Record extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, Schema extends CrudSchema<Model, Record, Filter, Form>> = {
|
|
170
|
+
[K in FormScene]?: Readonly<MutationApi<Except<Form, CrudFormVirtualKey<Schema>>, Result>>;
|
|
166
171
|
};
|
|
167
172
|
/**
|
|
168
173
|
* The form scene of the crud.
|
|
169
174
|
*/
|
|
170
|
-
export type CrudFormScene<FormApis extends CrudFormApis<any, any, any, any>> = keyof {
|
|
175
|
+
export type CrudFormScene<FormApis extends CrudFormApis<any, any, any, any, any, any>> = keyof {
|
|
171
176
|
[K in keyof FormApis as FormApis[K] extends MutationApi ? K : never]: FormApis[K];
|
|
172
177
|
} & string;
|
|
173
178
|
export {};
|