@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,20 +1,234 @@
|
|
|
1
|
-
/*! VefFramework version: 1.0.
|
|
2
|
-
|
|
1
|
+
/*! VefFramework version: 1.0.64, build time: 2025-01-10T01:26:01.691Z, made by Venus. */
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
5
|
+
|
|
6
|
+
const jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
7
|
+
const react = require('@emotion/react');
|
|
8
|
+
const reactVirtual = require('@tanstack/react-virtual');
|
|
9
|
+
const hooks = require('@vef-framework/hooks');
|
|
10
|
+
const shared = require('@vef-framework/shared');
|
|
11
|
+
const react$1 = require('react');
|
|
12
|
+
const index$1 = require('../vef-auto-sizer/index.cjs');
|
|
13
|
+
const index = require('../vef-scroll-area/index.cjs');
|
|
14
|
+
|
|
15
|
+
const viewportStyle = {
|
|
16
|
+
willChange: "transform"
|
|
17
|
+
};
|
|
18
|
+
const containerStyle = react.css`
|
|
3
19
|
position: relative;
|
|
4
20
|
width: var(--vef-virtual-list-width, auto);
|
|
5
21
|
height: var(--vef-virtual-list-height, auto);
|
|
6
|
-
|
|
22
|
+
`;
|
|
23
|
+
const virtualItemStyle = react.css`
|
|
7
24
|
position: absolute;
|
|
8
25
|
top: var(--vef-virtual-list-item-top, 0);
|
|
9
26
|
left: var(--vef-virtual-list-item-left, 0);
|
|
10
27
|
width: var(--vef-virtual-list-item-width, auto);
|
|
11
28
|
height: var(--vef-virtual-list-item-height, auto);
|
|
12
29
|
transform: translateX(var(--vef-virtual-list-item-x, 0)) translateY(var(--vef-virtual-list-item-y, 0));
|
|
13
|
-
|
|
30
|
+
`;
|
|
31
|
+
const frameStyle = react.css`
|
|
14
32
|
position: absolute;
|
|
15
33
|
top: 0;
|
|
16
34
|
left: 0;
|
|
17
35
|
width: 100%;
|
|
18
36
|
transform: translateY(var(--vef-virtual-list-frame-y, 0));
|
|
19
|
-
`;
|
|
37
|
+
`;
|
|
38
|
+
function VefVirtualListBase({
|
|
39
|
+
className,
|
|
40
|
+
style,
|
|
41
|
+
items,
|
|
42
|
+
renderItem,
|
|
43
|
+
itemClassName,
|
|
44
|
+
itemStyle,
|
|
45
|
+
itemSize,
|
|
46
|
+
autoItemSize = false,
|
|
47
|
+
gap = 0,
|
|
48
|
+
lanes = 1,
|
|
49
|
+
itemKey,
|
|
50
|
+
...restProps
|
|
51
|
+
}) {
|
|
52
|
+
const ListItem = react$1.useMemo(() => react$1.memo(renderItem), [renderItem]);
|
|
53
|
+
const itemKeyToUse = react$1.useMemo(() => {
|
|
54
|
+
if (shared.isFunction(itemKey)) {
|
|
55
|
+
return (index) => itemKey({
|
|
56
|
+
index,
|
|
57
|
+
item: items[index]
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}, [itemKey, items]);
|
|
61
|
+
const itemSizeToUse = react$1.useMemo(() => {
|
|
62
|
+
if (shared.isFunction(itemSize)) {
|
|
63
|
+
return (index) => itemSize({
|
|
64
|
+
index,
|
|
65
|
+
item: items[index]
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
return () => itemSize;
|
|
69
|
+
}, [itemSize, items]);
|
|
70
|
+
const normalizedGap = hooks.useNormalizedGapSize(gap);
|
|
71
|
+
const viewportRef = react$1.useRef(null);
|
|
72
|
+
const { orientation } = restProps;
|
|
73
|
+
const virtualizer = reactVirtual.useVirtualizer({
|
|
74
|
+
horizontal: orientation === "horizontal",
|
|
75
|
+
count: items.length,
|
|
76
|
+
getScrollElement: () => viewportRef.current,
|
|
77
|
+
estimateSize: itemSizeToUse,
|
|
78
|
+
overscan: 2,
|
|
79
|
+
getItemKey: itemKeyToUse,
|
|
80
|
+
gap: normalizedGap,
|
|
81
|
+
lanes
|
|
82
|
+
});
|
|
83
|
+
const virtualItems = virtualizer.getVirtualItems();
|
|
84
|
+
const baseCrossSize = 100 / lanes;
|
|
85
|
+
const containerSizeStyle = react$1.useMemo(() => {
|
|
86
|
+
if (orientation === "horizontal") {
|
|
87
|
+
return {
|
|
88
|
+
"--vef-virtual-list-width": `${virtualizer.getTotalSize()}px`,
|
|
89
|
+
"--vef-virtual-list-height": "100%"
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
"--vef-virtual-list-height": `${virtualizer.getTotalSize()}px`,
|
|
94
|
+
"--vef-virtual-list-width": "100%"
|
|
95
|
+
};
|
|
96
|
+
}, [orientation, virtualizer.getTotalSize()]);
|
|
97
|
+
const mergedViewportStyle = react$1.useMemo(() => {
|
|
98
|
+
if (autoItemSize && orientation !== "horizontal") {
|
|
99
|
+
return {
|
|
100
|
+
...viewportStyle,
|
|
101
|
+
contain: "strict"
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
return viewportStyle;
|
|
105
|
+
}, [autoItemSize, orientation]);
|
|
106
|
+
const getVirtualListNode = (height, width) => {
|
|
107
|
+
if (autoItemSize) {
|
|
108
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
109
|
+
index.default,
|
|
110
|
+
{
|
|
111
|
+
className,
|
|
112
|
+
height,
|
|
113
|
+
scrollbarSize: "small",
|
|
114
|
+
style,
|
|
115
|
+
viewportRef,
|
|
116
|
+
viewportStyle: mergedViewportStyle,
|
|
117
|
+
width,
|
|
118
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { css: containerStyle, style: containerSizeStyle, children: orientation === "horizontal" ? virtualItems.map(
|
|
119
|
+
({
|
|
120
|
+
index,
|
|
121
|
+
key,
|
|
122
|
+
start
|
|
123
|
+
}) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
124
|
+
"div",
|
|
125
|
+
{
|
|
126
|
+
className: itemClassName,
|
|
127
|
+
css: virtualItemStyle,
|
|
128
|
+
style: {
|
|
129
|
+
"--vef-virtual-list-item-top": 0,
|
|
130
|
+
"--vef-virtual-list-item-left": 0,
|
|
131
|
+
"--vef-virtual-list-item-width": "auto",
|
|
132
|
+
"--vef-virtual-list-item-height": "100%",
|
|
133
|
+
"--vef-virtual-list-item-x": `${start}px`,
|
|
134
|
+
"--vef-virtual-list-item-y": 0
|
|
135
|
+
},
|
|
136
|
+
children: react$1.createElement(ListItem, {
|
|
137
|
+
index,
|
|
138
|
+
item: items[index]
|
|
139
|
+
})
|
|
140
|
+
},
|
|
141
|
+
key
|
|
142
|
+
)
|
|
143
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
144
|
+
"div",
|
|
145
|
+
{
|
|
146
|
+
css: frameStyle,
|
|
147
|
+
style: {
|
|
148
|
+
"--vef-virtual-list-frame-y": `${virtualItems[0]?.start ?? 0}px`
|
|
149
|
+
},
|
|
150
|
+
children: virtualItems.map(
|
|
151
|
+
({ index, key }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
152
|
+
"div",
|
|
153
|
+
{
|
|
154
|
+
ref: virtualizer.measureElement,
|
|
155
|
+
className: itemClassName,
|
|
156
|
+
"data-index": index,
|
|
157
|
+
style: itemStyle,
|
|
158
|
+
children: react$1.createElement(ListItem, {
|
|
159
|
+
index,
|
|
160
|
+
item: items[index]
|
|
161
|
+
})
|
|
162
|
+
},
|
|
163
|
+
key
|
|
164
|
+
)
|
|
165
|
+
)
|
|
166
|
+
}
|
|
167
|
+
) })
|
|
168
|
+
}
|
|
169
|
+
);
|
|
170
|
+
}
|
|
171
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
172
|
+
index.default,
|
|
173
|
+
{
|
|
174
|
+
className,
|
|
175
|
+
height,
|
|
176
|
+
scrollbarSize: "small",
|
|
177
|
+
style,
|
|
178
|
+
viewportRef,
|
|
179
|
+
viewportStyle: mergedViewportStyle,
|
|
180
|
+
width,
|
|
181
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { css: containerStyle, style: containerSizeStyle, children: virtualItems.map(
|
|
182
|
+
({
|
|
183
|
+
index,
|
|
184
|
+
key,
|
|
185
|
+
size,
|
|
186
|
+
start,
|
|
187
|
+
lane
|
|
188
|
+
}) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
189
|
+
"div",
|
|
190
|
+
{
|
|
191
|
+
className: itemClassName,
|
|
192
|
+
css: virtualItemStyle,
|
|
193
|
+
style: orientation === "horizontal" ? {
|
|
194
|
+
"--vef-virtual-list-item-top": lane === 0 ? 0 : `${lane * baseCrossSize}%`,
|
|
195
|
+
"--vef-virtual-list-item-left": 0,
|
|
196
|
+
"--vef-virtual-list-item-width": `${size}px`,
|
|
197
|
+
"--vef-virtual-list-item-height": `${baseCrossSize}%`,
|
|
198
|
+
"--vef-virtual-list-item-x": `${start}px`,
|
|
199
|
+
"--vef-virtual-list-item-y": 0
|
|
200
|
+
} : {
|
|
201
|
+
"--vef-virtual-list-item-top": 0,
|
|
202
|
+
"--vef-virtual-list-item-left": lane === 0 ? 0 : `${lane * baseCrossSize}%`,
|
|
203
|
+
"--vef-virtual-list-item-width": `${baseCrossSize}%`,
|
|
204
|
+
"--vef-virtual-list-item-height": `${size}px`,
|
|
205
|
+
"--vef-virtual-list-item-x": 0,
|
|
206
|
+
"--vef-virtual-list-item-y": `${start}px`
|
|
207
|
+
},
|
|
208
|
+
children: react$1.createElement(ListItem, {
|
|
209
|
+
index,
|
|
210
|
+
item: items[index]
|
|
211
|
+
})
|
|
212
|
+
},
|
|
213
|
+
key
|
|
214
|
+
)
|
|
215
|
+
) })
|
|
216
|
+
}
|
|
217
|
+
);
|
|
218
|
+
};
|
|
219
|
+
if (!restProps.autoSize) {
|
|
220
|
+
if (restProps.orientation === "horizontal") {
|
|
221
|
+
return getVirtualListNode("100%", restProps.width);
|
|
222
|
+
}
|
|
223
|
+
return getVirtualListNode(restProps.height, "100%");
|
|
224
|
+
}
|
|
225
|
+
if (restProps.orientation === "horizontal") {
|
|
226
|
+
return /* @__PURE__ */ jsxRuntime.jsx(index$1.default, { disableHeight: true, children: ({ width }) => getVirtualListNode("100%", width) });
|
|
227
|
+
}
|
|
228
|
+
return /* @__PURE__ */ jsxRuntime.jsx(index$1.default, { disableWidth: true, children: ({ height }) => getVirtualListNode(height, "100%") });
|
|
229
|
+
}
|
|
230
|
+
const VefVirtualList = react$1.memo(VefVirtualListBase);
|
|
231
|
+
VefVirtualList.displayName = "VefVirtualList";
|
|
232
|
+
|
|
233
|
+
exports.default = VefVirtualList;
|
|
20
234
|
/*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
/*! VefFramework version: 1.0.
|
|
2
|
-
|
|
1
|
+
/*! VefFramework version: 1.0.64, build time: 2025-01-10T01:26:01.691Z, made by Venus. */
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
|
|
3
5
|
/*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vef-framework/components",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.64",
|
|
5
5
|
"private": false,
|
|
6
6
|
"packageManager": "pnpm@9.15.0",
|
|
7
7
|
"description": "Components fundamental to the VEF framework",
|
|
@@ -41,9 +41,9 @@
|
|
|
41
41
|
"@dnd-kit/utilities": "3.2.2",
|
|
42
42
|
"@radix-ui/react-scroll-area": "1.2.2",
|
|
43
43
|
"@tanstack/react-virtual": "3.11.2",
|
|
44
|
-
"@vef-framework/core": "1.0.
|
|
45
|
-
"@vef-framework/hooks": "1.0.
|
|
46
|
-
"@vef-framework/shared": "1.0.
|
|
44
|
+
"@vef-framework/core": "1.0.64",
|
|
45
|
+
"@vef-framework/hooks": "1.0.64",
|
|
46
|
+
"@vef-framework/shared": "1.0.64",
|
|
47
47
|
"clsx": "2.1.1",
|
|
48
48
|
"dayjs": "1.11.13",
|
|
49
49
|
"lucide-react": "0.469.0",
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { ActionButton, ObjectType, QueryApi
|
|
1
|
+
import type { ActionButton, ObjectType, QueryApi } from "@vef-framework/shared";
|
|
2
2
|
import type { CrudContext, CrudFormApis, CrudSchema } from "../types";
|
|
3
3
|
/**
|
|
4
4
|
* The props of VefCrudActions component.
|
|
5
5
|
*/
|
|
6
|
-
export interface VefCrudActionsProps<
|
|
6
|
+
export interface VefCrudActionsProps<Model extends ObjectType, Params 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>> {
|
|
7
7
|
/**
|
|
8
8
|
* The api of the table.
|
|
9
9
|
*/
|
|
@@ -15,7 +15,7 @@ export interface VefCrudActionsProps<Record extends ObjectType, Params extends O
|
|
|
15
15
|
/**
|
|
16
16
|
* The action buttons of the crud page.
|
|
17
17
|
*/
|
|
18
|
-
actionButtons?: Array<ActionButton<CrudContext<Record,
|
|
18
|
+
actionButtons?: Array<ActionButton<CrudContext<Model, Record, Filter, Form, Result, Schema, FormApis>>>;
|
|
19
19
|
}
|
|
20
|
-
declare function VefCrudActions<Record extends ObjectType, Params extends ObjectType,
|
|
20
|
+
declare function VefCrudActions<Model extends ObjectType, Record extends ObjectType, Params 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>>({ tableApi, tableApiParams, actionButtons, }: VefCrudActionsProps<Model, Params, Record, Filter, Form, Result, Schema, FormApis>): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
21
21
|
export default VefCrudActions;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { ActionButton, ObjectType, QueryApi
|
|
1
|
+
import type { ActionButton, ObjectType, QueryApi } from "@vef-framework/shared";
|
|
2
2
|
import { type ReactNode } from "react";
|
|
3
3
|
import type { CrudContext, CrudFormApis, CrudSchema } from "../types";
|
|
4
4
|
import { type FilterSchema } from "../../vef-filter";
|
|
5
5
|
/**
|
|
6
6
|
* The props of VefCrudFilter component.
|
|
7
7
|
*/
|
|
8
|
-
export interface CrudFilterProps<
|
|
8
|
+
export interface CrudFilterProps<Model extends ObjectType, Params extends ObjectType, Record extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, 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>> {
|
|
9
9
|
/**
|
|
10
10
|
* The title of the crud page.
|
|
11
11
|
*/
|
|
@@ -21,11 +21,11 @@ export interface CrudFilterProps<Record extends ObjectType, Params extends Objec
|
|
|
21
21
|
/**
|
|
22
22
|
* The schema of the crud filter.
|
|
23
23
|
*/
|
|
24
|
-
filterSchema: FilterSchema<
|
|
24
|
+
filterSchema: FilterSchema<Filter>;
|
|
25
25
|
/**
|
|
26
26
|
* The action buttons of the crud page.
|
|
27
27
|
*/
|
|
28
|
-
actionButtons?: Array<ActionButton<CrudContext<Record,
|
|
28
|
+
actionButtons?: Array<ActionButton<CrudContext<Model, Record, Filter, Form, Result, Schema, FormApis>>>;
|
|
29
29
|
}
|
|
30
|
-
declare function VefCrudFilter<
|
|
30
|
+
declare function VefCrudFilter<Model extends ObjectType, Params extends ObjectType, Record extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, 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>>({ title, tableApi, tableApiParams, filterSchema, actionButtons, }: Readonly<CrudFilterProps<Model, Params, Record, Filter, Form, Result, Schema, FormApis>>): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
31
31
|
export default VefCrudFilter;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { type ActionButton, type Mapper, type MutationApi, type ObjectType, type QueryApi
|
|
1
|
+
import { type ActionButton, type Mapper, type MutationApi, type ObjectType, type QueryApi } from "@vef-framework/shared";
|
|
2
2
|
import { type ReactNode } from "react";
|
|
3
3
|
import type { BatchActionButtonContext, CrudFormApis, CrudSchema } from "../types";
|
|
4
4
|
/**
|
|
5
5
|
* The props of the VefCrudFooter component.
|
|
6
6
|
*/
|
|
7
|
-
export interface VefCrudFooterProps<Record extends ObjectType, Params extends ObjectType,
|
|
7
|
+
export interface VefCrudFooterProps<Model extends ObjectType, Record extends ObjectType, Params extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, 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>> {
|
|
8
8
|
/**
|
|
9
9
|
* The table api.
|
|
10
10
|
*/
|
|
@@ -20,12 +20,12 @@ export interface VefCrudFooterProps<Record extends ObjectType, Params extends Ob
|
|
|
20
20
|
/**
|
|
21
21
|
* The batch action buttons.
|
|
22
22
|
*/
|
|
23
|
-
batchActionButtons?: Array<ActionButton<BatchActionButtonContext<Record,
|
|
23
|
+
batchActionButtons?: Array<ActionButton<BatchActionButtonContext<Model, Record, Filter, Form, Result, Schema, FormApis>>>;
|
|
24
24
|
/**
|
|
25
25
|
* The mapper of the selection summary.
|
|
26
26
|
*/
|
|
27
27
|
selectionSummary?: Mapper<Record[], ReactNode>;
|
|
28
28
|
}
|
|
29
|
-
declare function VefCrudFooterBase<Record extends ObjectType, Params extends ObjectType,
|
|
29
|
+
declare function VefCrudFooterBase<Model extends ObjectType, Record extends ObjectType, Params 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>>({ tableApi, tableApiParams, batchDeletionApi, batchActionButtons, selectionSummary, }: Readonly<VefCrudFooterProps<Model, Record, Params, Filter, Form, Result, Schema, FormApis>>): import("@emotion/react/jsx-runtime").JSX.Element | null;
|
|
30
30
|
declare const VefCrudFooter: typeof VefCrudFooterBase;
|
|
31
31
|
export default VefCrudFooter;
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ObjectType } from "@vef-framework/shared";
|
|
2
2
|
import type { FormSchema } from "../../vef-form";
|
|
3
3
|
import type { CrudFormApis, CrudFormScene, CrudSchema } from "../types";
|
|
4
4
|
/**
|
|
5
5
|
* The props of VefCrudFormModal component.
|
|
6
6
|
*/
|
|
7
|
-
export interface CrudFormModalProps<
|
|
7
|
+
export interface CrudFormModalProps<Model extends ObjectType, Record extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, 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>> {
|
|
8
8
|
/**
|
|
9
9
|
* The schema of the form.
|
|
10
10
|
*/
|
|
11
|
-
formSchema: FormSchema<
|
|
11
|
+
formSchema: FormSchema<Form, CrudFormScene<FormApis>>;
|
|
12
12
|
/**
|
|
13
13
|
* The apis of the form.
|
|
14
14
|
*/
|
|
15
|
-
formApis: CrudFormApis<Record,
|
|
15
|
+
formApis: CrudFormApis<Model, Record, Filter, Form, Result, Schema>;
|
|
16
16
|
}
|
|
17
|
-
declare function VefCrudFormModal<
|
|
17
|
+
declare function VefCrudFormModal<Model extends ObjectType, Record extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, 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>>({ formSchema, formApis, }: Readonly<CrudFormModalProps<Model, Record, Filter, Form, Result, Schema, FormApis>>): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
18
18
|
export default VefCrudFormModal;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { ActionButton, ObjectType, QueryApi
|
|
1
|
+
import type { ActionButton, ObjectType, QueryApi } from "@vef-framework/shared";
|
|
2
2
|
import { type ReactNode } from "react";
|
|
3
3
|
import type { FilterItem } from "../../vef-filter";
|
|
4
4
|
import type { CrudContext, CrudFormApis, CrudSchema } from "../types";
|
|
5
5
|
/**
|
|
6
6
|
* The props of VefCrudHeader component.
|
|
7
7
|
*/
|
|
8
|
-
export interface VefCrudHeaderProps<
|
|
8
|
+
export interface VefCrudHeaderProps<Model extends ObjectType, Params 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>> {
|
|
9
9
|
/**
|
|
10
10
|
* The title of the crud page.
|
|
11
11
|
*/
|
|
@@ -21,12 +21,12 @@ export interface VefCrudHeaderProps<Record extends ObjectType, Params extends Ob
|
|
|
21
21
|
/**
|
|
22
22
|
* The schema of the crud filter.
|
|
23
23
|
*/
|
|
24
|
-
filterItems: Array<FilterItem<
|
|
24
|
+
filterItems: Array<FilterItem<Filter>>;
|
|
25
25
|
/**
|
|
26
26
|
* The action buttons of the crud page.
|
|
27
27
|
*/
|
|
28
|
-
actionButtons?: Array<ActionButton<CrudContext<Record,
|
|
28
|
+
actionButtons?: Array<ActionButton<CrudContext<Model, Record, Filter, Form, Result, Schema, FormApis>>>;
|
|
29
29
|
}
|
|
30
|
-
declare function VefCrudHeaderBase<Record extends ObjectType, Params extends ObjectType,
|
|
30
|
+
declare function VefCrudHeaderBase<Model extends ObjectType, Record extends ObjectType, Params 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>>({ title, tableApi, tableApiParams, filterItems, actionButtons, }: Readonly<VefCrudHeaderProps<Model, Params, Record, Filter, Form, Result, Schema, FormApis>>): import("@emotion/react/jsx-runtime").JSX.Element | null;
|
|
31
31
|
declare const VefCrudHeader: typeof VefCrudHeaderBase;
|
|
32
32
|
export default VefCrudHeader;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { Except, MutationApi, ObjectType, PaginationParams, PaginationResult, QueryApi, QueryConfig
|
|
1
|
+
import type { Except, MutationApi, ObjectType, PaginationParams, PaginationResult, QueryApi, QueryConfig } from "@vef-framework/shared";
|
|
2
2
|
import type { CrudContext, CrudFilterVirtualKey, CrudFormApis, CrudSchema } from "../types";
|
|
3
3
|
import { type TableSchema, type VefTableProps } from "../../vef-table";
|
|
4
4
|
/**
|
|
5
5
|
* The base props of VefCrudTable component.
|
|
6
6
|
*/
|
|
7
|
-
type BaseCrudTableProps<Record extends ObjectType, Params extends ObjectType,
|
|
7
|
+
type BaseCrudTableProps<Model extends ObjectType, Record extends ObjectType, Params extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, 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" | "multipleSelection" | "showSelectAllCheckbox" | "enableRowClick" | "enableRowClickForSelection" | "selectedKeys" | "defaultSelectedKeys" | "onRowSelectionChange" | "onRowSelect" | "onRowDeselect" | "onRowClick" | keyof QueryConfig> & {
|
|
8
8
|
/**
|
|
9
9
|
* The schema of the table.
|
|
10
10
|
*/
|
|
@@ -25,7 +25,7 @@ type BaseCrudTableProps<Record extends ObjectType, Params extends ObjectType, Fi
|
|
|
25
25
|
/**
|
|
26
26
|
* The props of VefCrudTable component without pagination.
|
|
27
27
|
*/
|
|
28
|
-
type DefaultCrudTableProps<Record extends ObjectType, Params extends ObjectType,
|
|
28
|
+
type DefaultCrudTableProps<Model extends ObjectType, Record extends ObjectType, Params extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, 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>> = BaseCrudTableProps<Model, Record, Params, Filter, Form, Result, Schema, FormApis> & {
|
|
29
29
|
/**
|
|
30
30
|
* Whether to allow pagination.
|
|
31
31
|
*/
|
|
@@ -33,12 +33,12 @@ type DefaultCrudTableProps<Record extends ObjectType, Params extends ObjectType,
|
|
|
33
33
|
/**
|
|
34
34
|
* The api of the table.
|
|
35
35
|
*/
|
|
36
|
-
api: Readonly<QueryApi<Params & Except<
|
|
36
|
+
api: Readonly<QueryApi<Params & Except<Filter, CrudFilterVirtualKey<Schema>>, Record[]>>;
|
|
37
37
|
};
|
|
38
38
|
/**
|
|
39
39
|
* The props of VefCrudTable component without pagination.
|
|
40
40
|
*/
|
|
41
|
-
type PaginatedCrudTableProps<Record extends ObjectType, Params extends ObjectType,
|
|
41
|
+
type PaginatedCrudTableProps<Model extends ObjectType, Record extends ObjectType, Params extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, 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>> = BaseCrudTableProps<Model, Record, Params, Filter, Form, Result, Schema, FormApis> & {
|
|
42
42
|
/**
|
|
43
43
|
* Whether to allow pagination.
|
|
44
44
|
*/
|
|
@@ -46,12 +46,12 @@ type PaginatedCrudTableProps<Record extends ObjectType, Params extends ObjectTyp
|
|
|
46
46
|
/**
|
|
47
47
|
* The api of the table.
|
|
48
48
|
*/
|
|
49
|
-
api: Readonly<QueryApi<Params & PaginationParams & Except<
|
|
49
|
+
api: Readonly<QueryApi<Params & PaginationParams & Except<Filter, CrudFilterVirtualKey<Schema>>, PaginationResult<Record>>>;
|
|
50
50
|
};
|
|
51
51
|
/**
|
|
52
52
|
* The props of VefCrudTable component.
|
|
53
53
|
*/
|
|
54
|
-
export type CrudTableProps<Record extends ObjectType, Params extends ObjectType,
|
|
55
|
-
declare function VefCrudTableBase<Record extends ObjectType, Params extends ObjectType,
|
|
54
|
+
export type CrudTableProps<Model extends ObjectType, Record extends ObjectType, Params extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, 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>> = DefaultCrudTableProps<Model, Record, Params, Filter, Form, Result, Schema, FormApis> | PaginatedCrudTableProps<Model, Record, Params, Filter, Form, Result, Schema, FormApis>;
|
|
55
|
+
declare function VefCrudTableBase<Model extends ObjectType, Record extends ObjectType, Params extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, 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>>({ api, apiParams, deletionApi, paginated, schema, selectable, operationButtons, ...tableProps }: CrudTableProps<Model, Record, Params, Filter, Form, Result, Schema, FormApis>): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
56
56
|
declare const VefCrudTable: typeof VefCrudTableBase;
|
|
57
57
|
export default VefCrudTable;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ActionButton, type ObjectType
|
|
1
|
+
import { type ActionButton, type ObjectType } from "@vef-framework/shared";
|
|
2
2
|
import type { CrudContext, CrudFormApis, CrudFormScene, CrudSchema } from "../types";
|
|
3
3
|
/**
|
|
4
4
|
* The hook to create the action buttons.
|
|
@@ -6,11 +6,11 @@ import type { CrudContext, CrudFormApis, CrudFormScene, CrudSchema } from "../ty
|
|
|
6
6
|
* @param actionButtons - The action buttons.
|
|
7
7
|
* @returns The action buttons.
|
|
8
8
|
*/
|
|
9
|
-
export declare function useActionButtons<Record extends ObjectType,
|
|
9
|
+
export declare function useActionButtons<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>>(actionButtons?: Array<ActionButton<CrudContext<Model, Record, Filter, Form, Result, Schema, FormApis>>>): (ActionButton<CrudContext<Model, Record, Filter, Form, Result, Schema, FormApis>> | {
|
|
10
10
|
label: string;
|
|
11
11
|
key: string;
|
|
12
12
|
icon: import("@emotion/react/jsx-runtime").JSX.Element;
|
|
13
13
|
color: "primary";
|
|
14
14
|
permissions: ("creation" extends infer T ? T extends "creation" ? T extends CrudFormScene<FormApis> ? { [K in CrudFormScene<FormApis>]: string; }[T] : any : never : never)[];
|
|
15
|
-
onClick: ({ openForm, refetch }: CrudContext<Record,
|
|
15
|
+
onClick: ({ openForm, refetch }: CrudContext<Model, Record, Filter, Form, Result, Schema, FormApis>) => void;
|
|
16
16
|
})[];
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { ObjectType
|
|
1
|
+
import type { ObjectType } from "@vef-framework/shared";
|
|
2
2
|
import type { CrudContext, CrudFormApis, CrudSchema } from "../types";
|
|
3
3
|
/**
|
|
4
4
|
* The hook to create the crud context.
|
|
5
5
|
*
|
|
6
6
|
* @returns The crud context.
|
|
7
7
|
*/
|
|
8
|
-
export declare function useCrudContext<Record extends ObjectType,
|
|
8
|
+
export declare function useCrudContext<Model extends ObjectType, Record extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, 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>>(): CrudContext<Model, Record, Filter, Form, Result, Schema, FormApis>;
|
|
@@ -9,9 +9,9 @@ import type { CrudSchema } from "../types";
|
|
|
9
9
|
* @param schema The crud schema
|
|
10
10
|
* @returns The table schema, filter schema and form schema
|
|
11
11
|
*/
|
|
12
|
-
export declare function useCrudSchema<T extends ObjectType,
|
|
12
|
+
export declare function useCrudSchema<Model extends ObjectType, T extends ObjectType, Filter extends ObjectType, Form extends ObjectType>(schema: CrudSchema<Model, T, Filter, Form>): {
|
|
13
13
|
tableSchema: TableSchema<T>;
|
|
14
|
-
filterItems: FilterItem<
|
|
15
|
-
formGroups: FormGroup<
|
|
16
|
-
filterValueAsDefaultKeys:
|
|
14
|
+
filterItems: FilterItem<Filter>[];
|
|
15
|
+
formGroups: FormGroup<Form, StringKey<Form>, import("../..").FormScene>[];
|
|
16
|
+
filterValueAsDefaultKeys: StringKey<Filter>[];
|
|
17
17
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ActionButton, type MutationApi, type ObjectType
|
|
1
|
+
import { type ActionButton, type MutationApi, type ObjectType } from "@vef-framework/shared";
|
|
2
2
|
import type { OperationButtonContext } from "../../vef-table";
|
|
3
3
|
import type { CrudContext, CrudFormApis, CrudSchema } from "../types";
|
|
4
4
|
/**
|
|
@@ -8,4 +8,4 @@ import type { CrudContext, CrudFormApis, CrudSchema } from "../types";
|
|
|
8
8
|
* @param operationButtons - The operation buttons.
|
|
9
9
|
* @returns The operation buttons.
|
|
10
10
|
*/
|
|
11
|
-
export declare function useOperationButtons<Record extends ObjectType,
|
|
11
|
+
export declare function useOperationButtons<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>>(deletionApi?: Readonly<MutationApi<Record, void>>, operationButtons?: Array<ActionButton<OperationButtonContext<Record, CrudContext<Model, Record, Filter, Form, Result, Schema, FormApis>>>>): ActionButton<OperationButtonContext<Record, CrudContext<Model, Record, Filter, Form, Result, Schema, FormApis>>>[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { type AnyValue, type EmptyObject, type ObjectType, type ObjectValue
|
|
1
|
+
import { type AnyValue, type EmptyObject, type ObjectType, type ObjectValue } from "@vef-framework/shared";
|
|
2
2
|
import type { VefCrudPageProps } from "./props";
|
|
3
3
|
import type { BatchActionButtonContext, CrudContext, CrudFormApis, CrudItem, CrudSchema } from "./types";
|
|
4
|
-
declare function VefCrudPage<Record extends ObjectType = ObjectValue, Params extends ObjectType = EmptyObject,
|
|
4
|
+
declare function VefCrudPage<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>>({ schema, formApis, onFormOpen, onBeforeSubmit, onSubmitSuccess, ...restProps }: VefCrudPageProps<Model, Params, Record, Filter, Form, Result, Schema, FormApis>): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
5
5
|
export type { BatchActionButtonContext, CrudContext, CrudItem, CrudSchema, VefCrudPageProps };
|
|
6
6
|
export default VefCrudPage;
|