@vef-framework-react/components 2.3.0 → 2.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/dist/cjs/_base/constants/common.cjs +1 -1
- package/dist/cjs/_base/constants/index.cjs +1 -1
- package/dist/cjs/_base/globals.cjs +1 -1
- package/dist/cjs/_base/helpers/breakpoints.cjs +1 -1
- package/dist/cjs/_base/helpers/color.cjs +1 -1
- package/dist/cjs/_base/helpers/common.cjs +1 -1
- package/dist/cjs/_base/helpers/event.cjs +1 -1
- package/dist/cjs/_base/helpers/index.cjs +1 -1
- package/dist/cjs/_base/helpers/message.cjs +1 -1
- package/dist/cjs/_base/helpers/modal.cjs +1 -1
- package/dist/cjs/_base/helpers/notification.cjs +1 -1
- package/dist/cjs/_base/helpers/props.cjs +1 -1
- package/dist/cjs/_base/helpers/react.cjs +1 -1
- package/dist/cjs/_base/hooks/index.cjs +1 -1
- package/dist/cjs/_base/hooks/use-theme-tokens.cjs +1 -1
- package/dist/cjs/_base/index.cjs +1 -1
- package/dist/cjs/_base/styles/common.cjs +1 -1
- package/dist/cjs/action-button/index.cjs +1 -1
- package/dist/cjs/action-button/use-action-button.cjs +1 -1
- package/dist/cjs/action-group/index.cjs +1 -1
- package/dist/cjs/action-group/use-action-group.cjs +1 -1
- package/dist/cjs/action-group/use-computed-action-buttons.cjs +1 -1
- package/dist/cjs/affix/index.cjs +1 -1
- package/dist/cjs/alert/index.cjs +1 -1
- package/dist/cjs/anchor/index.cjs +1 -1
- package/dist/cjs/auto-complete/index.cjs +1 -1
- package/dist/cjs/avatar/index.cjs +1 -1
- package/dist/cjs/badge/index.cjs +1 -1
- package/dist/cjs/bool/index.cjs +1 -1
- package/dist/cjs/border-beam/index.cjs +1 -1
- package/dist/cjs/breadcrumb/index.cjs +1 -1
- package/dist/cjs/button/index.cjs +1 -1
- package/dist/cjs/calendar/index.cjs +1 -1
- package/dist/cjs/card/index.cjs +1 -1
- package/dist/cjs/carousel/index.cjs +1 -1
- package/dist/cjs/cascader/index.cjs +1 -1
- package/dist/cjs/center/index.cjs +1 -1
- package/dist/cjs/charts/chart.cjs +1 -1
- package/dist/cjs/charts/helpers/group.cjs +1 -1
- package/dist/cjs/charts/helpers/index.cjs +1 -1
- package/dist/cjs/charts/hooks/index.cjs +1 -1
- package/dist/cjs/charts/hooks/use-chart.cjs +1 -1
- package/dist/cjs/charts/index.cjs +1 -1
- package/dist/cjs/charts/themes/index.cjs +1 -1
- package/dist/cjs/charts/themes/walden-dark.cjs +1 -1
- package/dist/cjs/charts/themes/walden.cjs +1 -1
- package/dist/cjs/charts/themes/wonderland-dark.cjs +1 -1
- package/dist/cjs/charts/themes/wonderland.cjs +1 -1
- package/dist/cjs/checkbox/index.cjs +1 -1
- package/dist/cjs/code-editor/index.cjs +1 -0
- package/dist/cjs/code-highlighter/index.cjs +1 -1
- package/dist/cjs/col/index.cjs +1 -1
- package/dist/cjs/collapse/index.cjs +1 -1
- package/dist/cjs/color-picker/index.cjs +1 -1
- package/dist/cjs/compact/index.cjs +1 -1
- package/dist/cjs/config-provider/app.cjs +1 -1
- package/dist/cjs/config-provider/constants.cjs +1 -1
- package/dist/cjs/config-provider/context-holder.cjs +1 -1
- package/dist/cjs/config-provider/css-vars.cjs +1 -1
- package/dist/cjs/config-provider/dark-mode-context.cjs +1 -1
- package/dist/cjs/config-provider/error-fallback.cjs +1 -1
- package/dist/cjs/config-provider/global-style.cjs +1 -1
- package/dist/cjs/config-provider/index.cjs +1 -1
- package/dist/cjs/config-provider/theme-config.cjs +1 -1
- package/dist/cjs/config-provider/use-config-provider.cjs +1 -1
- package/dist/cjs/crud/components/action-button-group.cjs +1 -1
- package/dist/cjs/crud/components/index.cjs +1 -1
- package/dist/cjs/crud/components/main.cjs +1 -1
- package/dist/cjs/crud/components/mutation-holder.cjs +1 -1
- package/dist/cjs/crud/components/operation-button-group.cjs +1 -1
- package/dist/cjs/crud/components/scene-form.cjs +1 -1
- package/dist/cjs/crud/components/selection-indicator.cjs +1 -1
- package/dist/cjs/crud/components/toolbar-actions.cjs +1 -1
- package/dist/cjs/crud/components/toolbar.cjs +1 -1
- package/dist/cjs/crud/event.cjs +1 -1
- package/dist/cjs/crud/helpers.cjs +1 -1
- package/dist/cjs/crud/hooks/index.cjs +1 -1
- package/dist/cjs/crud/hooks/use-query-observer.cjs +1 -1
- package/dist/cjs/crud/hooks/use-search-values.cjs +1 -1
- package/dist/cjs/crud/hooks/use-selected-rows.cjs +1 -1
- package/dist/cjs/crud/index.cjs +1 -1
- package/dist/cjs/crud/store.cjs +1 -1
- package/dist/cjs/crud/styles.cjs +1 -1
- package/dist/cjs/crud-page/index.cjs +1 -1
- package/dist/cjs/date-picker/index.cjs +1 -1
- package/dist/cjs/descriptions/index.cjs +1 -1
- package/dist/cjs/divider/index.cjs +1 -1
- package/dist/cjs/drawer/index.cjs +1 -1
- package/dist/cjs/dropdown/index.cjs +1 -1
- package/dist/cjs/dynamic-icon/index.cjs +1 -1
- package/dist/cjs/dynamic-icon/load-icon-node.cjs +1 -0
- package/dist/cjs/dynamic-icon/placeholder-icon.cjs +1 -1
- package/dist/cjs/dynamic-icon/unknown-icon.cjs +1 -1
- package/dist/cjs/editable-table/components/add-row-button.cjs +1 -0
- package/dist/cjs/editable-table/components/editable-cell.cjs +1 -0
- package/dist/cjs/editable-table/components/editable-row-actions.cjs +1 -0
- package/dist/cjs/editable-table/components/index.cjs +1 -0
- package/dist/cjs/editable-table/helpers.cjs +1 -0
- package/dist/cjs/editable-table/hooks/index.cjs +1 -0
- package/dist/cjs/editable-table/hooks/use-editable-actions.cjs +1 -0
- package/dist/cjs/editable-table/hooks/use-editable-columns.cjs +1 -0
- package/dist/cjs/editable-table/index.cjs +1 -0
- package/dist/cjs/editable-table/store.cjs +1 -0
- package/dist/cjs/empty/empty.cjs +1 -1
- package/dist/cjs/empty/index.cjs +1 -1
- package/dist/cjs/file-upload/index.cjs +1 -1
- package/dist/cjs/flex/index.cjs +1 -1
- package/dist/cjs/flex-card/index.cjs +1 -1
- package/dist/cjs/flex-card/styles.cjs +1 -1
- package/dist/cjs/flip-text/index.cjs +1 -1
- package/dist/cjs/float-button/index.cjs +1 -1
- package/dist/cjs/form/components/form.cjs +1 -1
- package/dist/cjs/form/components/index.cjs +1 -1
- package/dist/cjs/form/components/reset-button.cjs +1 -1
- package/dist/cjs/form/components/submit-button.cjs +1 -1
- package/dist/cjs/form/contexts/form-context.cjs +1 -1
- package/dist/cjs/form/contexts/form-layout.cjs +1 -1
- package/dist/cjs/form/contexts/index.cjs +1 -1
- package/dist/cjs/form/fields/auto-complete/index.cjs +1 -1
- package/dist/cjs/form/fields/bool/index.cjs +1 -1
- package/dist/cjs/form/fields/cascader/index.cjs +1 -1
- package/dist/cjs/form/fields/checkbox/index.cjs +1 -1
- package/dist/cjs/form/fields/code-editor/index.cjs +1 -0
- package/dist/cjs/form/fields/color-picker/index.cjs +1 -1
- package/dist/cjs/form/fields/date-picker/index.cjs +1 -1
- package/dist/cjs/form/fields/date-range-picker/index.cjs +1 -1
- package/dist/cjs/form/fields/icon-picker/index.cjs +1 -0
- package/dist/cjs/form/fields/index.cjs +1 -1
- package/dist/cjs/form/fields/input/index.cjs +1 -1
- package/dist/cjs/form/fields/input-number/index.cjs +1 -1
- package/dist/cjs/form/fields/mentions/index.cjs +1 -1
- package/dist/cjs/form/fields/password/index.cjs +1 -1
- package/dist/cjs/form/fields/radio/index.cjs +1 -1
- package/dist/cjs/form/fields/rate/index.cjs +1 -1
- package/dist/cjs/form/fields/select/index.cjs +1 -1
- package/dist/cjs/form/fields/slider/index.cjs +1 -1
- package/dist/cjs/form/fields/textarea/index.cjs +1 -1
- package/dist/cjs/form/fields/time-picker/index.cjs +1 -1
- package/dist/cjs/form/fields/time-range-picker/index.cjs +1 -1
- package/dist/cjs/form/fields/transfer/index.cjs +1 -1
- package/dist/cjs/form/fields/tree-select/index.cjs +1 -1
- package/dist/cjs/form/fields/upload/index.cjs +1 -1
- package/dist/cjs/form/form-actions.cjs +1 -1
- package/dist/cjs/form/form.cjs +1 -1
- package/dist/cjs/form/helpers/index.cjs +1 -1
- package/dist/cjs/form/helpers/with-form-item.cjs +1 -1
- package/dist/cjs/form/hooks/use-form-item-props.cjs +1 -1
- package/dist/cjs/form/hooks/use-label-width.cjs +1 -1
- package/dist/cjs/form/index.cjs +1 -1
- package/dist/cjs/form/use-form.cjs +1 -1
- package/dist/cjs/form-drawer/index.cjs +1 -1
- package/dist/cjs/form-modal/index.cjs +1 -1
- package/dist/cjs/generic-select/index.cjs +1 -0
- package/dist/cjs/grid/context.cjs +1 -1
- package/dist/cjs/grid/grid-item.cjs +1 -1
- package/dist/cjs/grid/hooks/index.cjs +1 -1
- package/dist/cjs/grid/hooks/use-container-breakpoints.cjs +1 -1
- package/dist/cjs/grid/hooks/use-container-width.cjs +1 -1
- package/dist/cjs/grid/hooks/use-grid-collapsed.cjs +1 -1
- package/dist/cjs/grid/hooks/use-normalized-gap.cjs +1 -1
- package/dist/cjs/grid/hooks/use-responsive-breakpoint.cjs +1 -1
- package/dist/cjs/grid/hooks/use-responsive-value.cjs +1 -1
- package/dist/cjs/grid/index.cjs +1 -1
- package/dist/cjs/grid/styles.cjs +1 -1
- package/dist/cjs/group/index.cjs +1 -1
- package/dist/cjs/icon/index.cjs +1 -1
- package/dist/cjs/icon-button/index.cjs +1 -1
- package/dist/cjs/icon-picker/icon-grid.cjs +1 -0
- package/dist/cjs/icon-picker/index.cjs +1 -0
- package/dist/cjs/image/index.cjs +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/input/index.cjs +1 -1
- package/dist/cjs/input-number/index.cjs +1 -1
- package/dist/cjs/keyboard/index.cjs +1 -1
- package/dist/cjs/list/index.cjs +1 -1
- package/dist/cjs/loader/index.cjs +1 -1
- package/dist/cjs/logo-icon/index.cjs +1 -1
- package/dist/cjs/mentions/index.cjs +1 -1
- package/dist/cjs/menu/index.cjs +1 -1
- package/dist/cjs/modal/index.cjs +1 -1
- package/dist/cjs/modal/modal.cjs +1 -1
- package/dist/cjs/operation-button/index.cjs +1 -1
- package/dist/cjs/page/components/aside-panel.cjs +1 -1
- package/dist/cjs/page/components/index.cjs +1 -1
- package/dist/cjs/page/components/resize-handle.cjs +1 -1
- package/dist/cjs/page/components/scroll-content.cjs +1 -1
- package/dist/cjs/page/entrance.cjs +1 -0
- package/dist/cjs/page/hooks/index.cjs +1 -1
- package/dist/cjs/page/hooks/use-page-key.cjs +1 -1
- package/dist/cjs/page/hooks/use-resize.cjs +1 -1
- package/dist/cjs/page/index.cjs +1 -1
- package/dist/cjs/page/styles.cjs +1 -1
- package/dist/cjs/page/viewport-context.cjs +1 -1
- package/dist/cjs/pagination/index.cjs +1 -1
- package/dist/cjs/permission-gate/index.cjs +1 -1
- package/dist/cjs/popconfirm/index.cjs +1 -1
- package/dist/cjs/popover/index.cjs +1 -1
- package/dist/cjs/pro-search/components/advanced-search-toggler.cjs +1 -1
- package/dist/cjs/pro-search/components/advanced-search.cjs +1 -1
- package/dist/cjs/pro-search/components/index.cjs +1 -1
- package/dist/cjs/pro-search/components/search-actions.cjs +1 -1
- package/dist/cjs/pro-search/index.cjs +1 -1
- package/dist/cjs/pro-search/styles.cjs +1 -1
- package/dist/cjs/pro-table/components/column-setting-item.cjs +1 -1
- package/dist/cjs/pro-table/components/column-settings-panel.cjs +1 -1
- package/dist/cjs/pro-table/components/column-settings.cjs +1 -1
- package/dist/cjs/pro-table/components/index.cjs +1 -1
- package/dist/cjs/pro-table/components/operation-button-group.cjs +1 -1
- package/dist/cjs/pro-table/components/ref.cjs +1 -1
- package/dist/cjs/pro-table/components/table-subscriber.cjs +1 -1
- package/dist/cjs/pro-table/components/table-summary.cjs +1 -1
- package/dist/cjs/pro-table/components/table-title.cjs +1 -1
- package/dist/cjs/pro-table/components/table.cjs +1 -1
- package/dist/cjs/pro-table/components/width-popover.cjs +1 -1
- package/dist/cjs/pro-table/context.cjs +1 -1
- package/dist/cjs/pro-table/event.cjs +1 -1
- package/dist/cjs/pro-table/hooks/index.cjs +1 -1
- package/dist/cjs/pro-table/hooks/use-column-settings-persistence.cjs +1 -1
- package/dist/cjs/pro-table/hooks/use-row-selection.cjs +1 -1
- package/dist/cjs/pro-table/hooks/use-table-columns.cjs +1 -1
- package/dist/cjs/pro-table/index.cjs +1 -1
- package/dist/cjs/pro-table/store.cjs +1 -1
- package/dist/cjs/progress/index.cjs +1 -1
- package/dist/cjs/qrcode/index.cjs +1 -1
- package/dist/cjs/radio/index.cjs +1 -1
- package/dist/cjs/rate/index.cjs +1 -1
- package/dist/cjs/result/index.cjs +1 -1
- package/dist/cjs/row/index.cjs +1 -1
- package/dist/cjs/scroll-area/index.cjs +1 -1
- package/dist/cjs/scroll-area/styles.cjs +1 -1
- package/dist/cjs/segmented/index.cjs +1 -1
- package/dist/cjs/select/hooks/index.cjs +1 -1
- package/dist/cjs/select/hooks/use-data-options-select.cjs +1 -1
- package/dist/cjs/select/hooks/use-dictionary-options-select.cjs +1 -1
- package/dist/cjs/select/index.cjs +1 -1
- package/dist/cjs/skeleton/index.cjs +1 -1
- package/dist/cjs/slider/index.cjs +1 -1
- package/dist/cjs/space/index.cjs +1 -1
- package/dist/cjs/space/space.cjs +1 -1
- package/dist/cjs/sparkles-text/index.cjs +1 -1
- package/dist/cjs/sparkles-text/sparkle.cjs +1 -1
- package/dist/cjs/spin/index.cjs +1 -1
- package/dist/cjs/split-text/index.cjs +1 -1
- package/dist/cjs/splitter/index.cjs +1 -1
- package/dist/cjs/stack/index.cjs +1 -1
- package/dist/cjs/statistic/index.cjs +1 -1
- package/dist/cjs/steps/index.cjs +1 -1
- package/dist/cjs/switch/index.cjs +1 -1
- package/dist/cjs/table/index.cjs +1 -1
- package/dist/cjs/table/use-pagination-props.cjs +1 -1
- package/dist/cjs/tabs/index.cjs +1 -1
- package/dist/cjs/tag/index.cjs +1 -1
- package/dist/cjs/time-picker/index.cjs +1 -1
- package/dist/cjs/timeline/index.cjs +1 -1
- package/dist/cjs/tooltip/index.cjs +1 -1
- package/dist/cjs/tour/index.cjs +1 -1
- package/dist/cjs/transfer/index.cjs +1 -1
- package/dist/cjs/tree/hooks/index.cjs +1 -1
- package/dist/cjs/tree/hooks/use-data-options-tree.cjs +1 -1
- package/dist/cjs/tree/index.cjs +1 -1
- package/dist/cjs/tree-select/hooks/index.cjs +1 -1
- package/dist/cjs/tree-select/hooks/use-data-options-tree-select.cjs +1 -1
- package/dist/cjs/tree-select/index.cjs +1 -1
- package/dist/cjs/typing-animation/index.cjs +1 -1
- package/dist/cjs/typography/index.cjs +1 -1
- package/dist/cjs/upload/index.cjs +1 -1
- package/dist/cjs/watermark/index.cjs +1 -1
- package/dist/es/_base/constants/breakpoints.js +1 -1
- package/dist/es/_base/constants/common.js +1 -1
- package/dist/es/_base/constants/css-vars.js +1 -1
- package/dist/es/_base/constants/event.js +1 -1
- package/dist/es/_base/constants/index.js +1 -1
- package/dist/es/_base/constants/symbols.js +1 -1
- package/dist/es/_base/constants/theme.js +1 -1
- package/dist/es/_base/globals.js +8 -12
- package/dist/es/_base/helpers/breakpoints.js +1 -1
- package/dist/es/_base/helpers/color.js +1 -1
- package/dist/es/_base/helpers/common.js +2 -5
- package/dist/es/_base/helpers/event.js +1 -1
- package/dist/es/_base/helpers/index.js +1 -1
- package/dist/es/_base/helpers/message.js +1 -1
- package/dist/es/_base/helpers/modal.js +1 -1
- package/dist/es/_base/helpers/notification.js +1 -1
- package/dist/es/_base/helpers/props.js +1 -1
- package/dist/es/_base/helpers/react.js +1 -1
- package/dist/es/_base/hooks/index.js +1 -1
- package/dist/es/_base/hooks/use-theme-tokens.js +1 -1
- package/dist/es/_base/index.js +1 -1
- package/dist/es/_base/styles/common.js +1 -1
- package/dist/es/_base/styles/index.js +1 -1
- package/dist/es/_base/types/breakpoints.js +1 -1
- package/dist/es/_base/types/common.js +1 -1
- package/dist/es/_base/types/index.js +1 -1
- package/dist/es/action-button/index.js +1 -1
- package/dist/es/action-button/use-action-button.js +1 -1
- package/dist/es/action-group/index.js +1 -1
- package/dist/es/action-group/use-action-group.js +1 -1
- package/dist/es/action-group/use-computed-action-buttons.js +1 -1
- package/dist/es/affix/index.js +1 -1
- package/dist/es/alert/index.js +1 -1
- package/dist/es/anchor/index.js +1 -1
- package/dist/es/auto-complete/index.js +1 -1
- package/dist/es/avatar/index.js +1 -1
- package/dist/es/badge/index.js +1 -1
- package/dist/es/bool/index.js +49 -50
- package/dist/es/border-beam/index.js +1 -1
- package/dist/es/breadcrumb/index.js +1 -1
- package/dist/es/button/index.js +1 -1
- package/dist/es/calendar/index.js +1 -1
- package/dist/es/card/index.js +1 -1
- package/dist/es/carousel/index.js +1 -1
- package/dist/es/cascader/index.js +1 -1
- package/dist/es/center/index.js +1 -1
- package/dist/es/charts/chart.js +1 -1
- package/dist/es/charts/helpers/group.js +1 -1
- package/dist/es/charts/helpers/index.js +1 -1
- package/dist/es/charts/hooks/index.js +1 -1
- package/dist/es/charts/hooks/use-chart.js +1 -1
- package/dist/es/charts/index.js +1 -1
- package/dist/es/charts/themes/index.js +1 -1
- package/dist/es/charts/themes/walden-dark.js +1 -1
- package/dist/es/charts/themes/walden.js +1 -1
- package/dist/es/charts/themes/wonderland-dark.js +1 -1
- package/dist/es/charts/themes/wonderland.js +1 -1
- package/dist/es/checkbox/index.js +1 -1
- package/dist/es/code-editor/index.js +219 -0
- package/dist/es/code-highlighter/index.js +1 -1
- package/dist/es/col/index.js +1 -1
- package/dist/es/collapse/index.js +1 -1
- package/dist/es/color-picker/index.js +1 -1
- package/dist/es/compact/index.js +1 -1
- package/dist/es/config-provider/app.js +1 -1
- package/dist/es/config-provider/constants.js +1 -1
- package/dist/es/config-provider/context-holder.js +1 -1
- package/dist/es/config-provider/css-vars.js +1 -1
- package/dist/es/config-provider/dark-mode-context.js +1 -1
- package/dist/es/config-provider/error-fallback.js +1 -1
- package/dist/es/config-provider/global-style.js +2 -2
- package/dist/es/config-provider/index.js +3 -3
- package/dist/es/config-provider/theme-config.js +1 -1
- package/dist/es/config-provider/use-config-provider.js +2 -2
- package/dist/es/crud/components/action-button-group.js +1 -1
- package/dist/es/crud/components/index.js +1 -1
- package/dist/es/crud/components/main.js +1 -1
- package/dist/es/crud/components/mutation-holder.js +1 -1
- package/dist/es/crud/components/operation-button-group.js +1 -1
- package/dist/es/crud/components/scene-form.js +1 -1
- package/dist/es/crud/components/selection-indicator.js +3 -3
- package/dist/es/crud/components/toolbar-actions.js +1 -1
- package/dist/es/crud/components/toolbar.js +1 -1
- package/dist/es/crud/event.js +1 -1
- package/dist/es/crud/helpers.js +1 -1
- package/dist/es/crud/hooks/index.js +1 -1
- package/dist/es/crud/hooks/use-query-observer.js +1 -1
- package/dist/es/crud/hooks/use-search-values.js +1 -1
- package/dist/es/crud/hooks/use-selected-rows.js +1 -1
- package/dist/es/crud/index.js +1 -1
- package/dist/es/crud/store.js +1 -1
- package/dist/es/crud/styles.js +2 -2
- package/dist/es/crud-page/index.js +1 -1
- package/dist/es/date-picker/index.js +1 -1
- package/dist/es/descriptions/index.js +1 -1
- package/dist/es/divider/index.js +1 -1
- package/dist/es/drawer/index.js +1 -1
- package/dist/es/dropdown/index.js +1 -1
- package/dist/es/dynamic-icon/index.js +26 -29
- package/dist/es/dynamic-icon/load-icon-node.js +32 -0
- package/dist/es/dynamic-icon/placeholder-icon.js +1 -1
- package/dist/es/dynamic-icon/unknown-icon.js +1 -1
- package/dist/es/editable-table/components/add-row-button.js +24 -0
- package/dist/es/editable-table/components/editable-cell.js +27 -0
- package/dist/es/editable-table/components/editable-row-actions.js +53 -0
- package/dist/es/editable-table/components/index.js +4 -0
- package/dist/es/editable-table/helpers.js +22 -0
- package/dist/es/editable-table/hooks/index.js +3 -0
- package/dist/es/editable-table/hooks/use-editable-actions.js +69 -0
- package/dist/es/editable-table/hooks/use-editable-columns.js +49 -0
- package/dist/es/editable-table/index.js +61 -0
- package/dist/es/editable-table/store.js +19 -0
- package/dist/es/empty/empty.js +1 -1
- package/dist/es/empty/index.js +1 -1
- package/dist/es/file-upload/index.js +1 -1
- package/dist/es/flex/index.js +1 -1
- package/dist/es/flex-card/index.js +1 -1
- package/dist/es/flex-card/styles.js +2 -2
- package/dist/es/flip-text/index.js +1 -1
- package/dist/es/float-button/index.js +1 -1
- package/dist/es/form/components/form.js +4 -2
- package/dist/es/form/components/index.js +1 -1
- package/dist/es/form/components/reset-button.js +1 -1
- package/dist/es/form/components/submit-button.js +1 -1
- package/dist/es/form/contexts/form-context.js +1 -1
- package/dist/es/form/contexts/form-layout.js +1 -1
- package/dist/es/form/contexts/index.js +1 -1
- package/dist/es/form/fields/auto-complete/index.js +1 -1
- package/dist/es/form/fields/bool/index.js +1 -1
- package/dist/es/form/fields/cascader/index.js +1 -1
- package/dist/es/form/fields/checkbox/index.js +1 -1
- package/dist/es/form/fields/code-editor/index.js +23 -0
- package/dist/es/form/fields/color-picker/index.js +1 -1
- package/dist/es/form/fields/date-picker/index.js +1 -1
- package/dist/es/form/fields/date-range-picker/index.js +1 -1
- package/dist/es/form/fields/icon-picker/index.js +20 -0
- package/dist/es/form/fields/index.js +41 -37
- package/dist/es/form/fields/input/index.js +1 -1
- package/dist/es/form/fields/input-number/index.js +1 -1
- package/dist/es/form/fields/mentions/index.js +1 -1
- package/dist/es/form/fields/password/index.js +1 -1
- package/dist/es/form/fields/radio/index.js +1 -1
- package/dist/es/form/fields/rate/index.js +1 -1
- package/dist/es/form/fields/select/index.js +1 -1
- package/dist/es/form/fields/slider/index.js +1 -1
- package/dist/es/form/fields/textarea/index.js +1 -1
- package/dist/es/form/fields/time-picker/index.js +1 -1
- package/dist/es/form/fields/time-range-picker/index.js +1 -1
- package/dist/es/form/fields/transfer/index.js +1 -1
- package/dist/es/form/fields/tree-select/index.js +1 -1
- package/dist/es/form/fields/upload/index.js +1 -1
- package/dist/es/form/form-actions.js +1 -1
- package/dist/es/form/form.js +1 -1
- package/dist/es/form/helpers/create-field.js +1 -1
- package/dist/es/form/helpers/index.js +1 -1
- package/dist/es/form/helpers/with-form-item.js +28 -18
- package/dist/es/form/hooks/use-form-item-props.js +1 -1
- package/dist/es/form/hooks/use-label-width.js +1 -1
- package/dist/es/form/index.js +1 -1
- package/dist/es/form/use-form.js +1 -1
- package/dist/es/form-drawer/index.js +13 -13
- package/dist/es/form-modal/index.js +12 -11
- package/dist/es/generic-select/index.js +57 -0
- package/dist/es/grid/context.js +1 -1
- package/dist/es/grid/grid-item.js +1 -1
- package/dist/es/grid/hooks/index.js +1 -1
- package/dist/es/grid/hooks/use-container-breakpoints.js +1 -1
- package/dist/es/grid/hooks/use-container-width.js +1 -1
- package/dist/es/grid/hooks/use-grid-collapsed.js +1 -1
- package/dist/es/grid/hooks/use-normalized-gap.js +1 -1
- package/dist/es/grid/hooks/use-responsive-breakpoint.js +1 -1
- package/dist/es/grid/hooks/use-responsive-value.js +1 -1
- package/dist/es/grid/index.js +1 -1
- package/dist/es/grid/styles.js +2 -2
- package/dist/es/group/index.js +1 -1
- package/dist/es/icon/index.js +1 -1
- package/dist/es/icon-button/index.js +2 -2
- package/dist/es/icon-picker/icon-grid.js +112 -0
- package/dist/es/icon-picker/index.js +76 -0
- package/dist/es/image/index.js +1 -1
- package/dist/es/index.js +110 -104
- package/dist/es/input/index.js +1 -1
- package/dist/es/input-number/index.js +1 -1
- package/dist/es/keyboard/index.js +2 -2
- package/dist/es/list/index.js +1 -1
- package/dist/es/loader/index.js +1 -1
- package/dist/es/logo-icon/index.js +1 -1
- package/dist/es/mentions/index.js +1 -1
- package/dist/es/menu/index.js +1 -1
- package/dist/es/modal/index.js +1 -1
- package/dist/es/modal/modal.js +1 -1
- package/dist/es/operation-button/index.js +2 -2
- package/dist/es/page/components/aside-panel.js +1 -1
- package/dist/es/page/components/index.js +1 -1
- package/dist/es/page/components/resize-handle.js +2 -3
- package/dist/es/page/components/scroll-content.js +8 -8
- package/dist/es/page/entrance.js +51 -0
- package/dist/es/page/hooks/index.js +1 -1
- package/dist/es/page/hooks/use-page-key.js +1 -1
- package/dist/es/page/hooks/use-resize.js +1 -1
- package/dist/es/page/index.js +100 -86
- package/dist/es/page/styles.js +3 -3
- package/dist/es/page/viewport-context.js +1 -1
- package/dist/es/pagination/index.js +1 -1
- package/dist/es/permission-gate/index.js +1 -1
- package/dist/es/popconfirm/index.js +1 -1
- package/dist/es/popover/index.js +1 -1
- package/dist/es/pro-search/components/advanced-search-toggler.js +1 -1
- package/dist/es/pro-search/components/advanced-search.js +1 -1
- package/dist/es/pro-search/components/index.js +1 -1
- package/dist/es/pro-search/components/search-actions.js +1 -1
- package/dist/es/pro-search/index.js +1 -1
- package/dist/es/pro-search/styles.js +5 -5
- package/dist/es/pro-table/components/column-setting-item.js +8 -8
- package/dist/es/pro-table/components/column-settings-panel.js +3 -3
- package/dist/es/pro-table/components/column-settings.js +1 -1
- package/dist/es/pro-table/components/index.js +1 -1
- package/dist/es/pro-table/components/operation-button-group.js +1 -1
- package/dist/es/pro-table/components/ref.js +1 -1
- package/dist/es/pro-table/components/table-subscriber.js +1 -1
- package/dist/es/pro-table/components/table-summary.js +1 -1
- package/dist/es/pro-table/components/table-title.js +1 -1
- package/dist/es/pro-table/components/table.js +72 -49
- package/dist/es/pro-table/components/width-popover.js +2 -2
- package/dist/es/pro-table/context.js +1 -1
- package/dist/es/pro-table/event.js +1 -1
- package/dist/es/pro-table/hooks/index.js +1 -1
- package/dist/es/pro-table/hooks/use-column-settings-persistence.js +1 -1
- package/dist/es/pro-table/hooks/use-row-selection.js +1 -1
- package/dist/es/pro-table/hooks/use-table-columns.js +35 -34
- package/dist/es/pro-table/index.js +17 -15
- package/dist/es/pro-table/store.js +1 -1
- package/dist/es/progress/index.js +1 -1
- package/dist/es/qrcode/index.js +1 -1
- package/dist/es/radio/index.js +1 -1
- package/dist/es/rate/index.js +1 -1
- package/dist/es/result/index.js +1 -1
- package/dist/es/row/index.js +1 -1
- package/dist/es/scroll-area/index.js +23 -23
- package/dist/es/scroll-area/styles.js +1 -1
- package/dist/es/segmented/index.js +1 -1
- package/dist/es/select/hooks/index.js +1 -1
- package/dist/es/select/hooks/use-data-options-select.js +2 -2
- package/dist/es/select/hooks/use-dictionary-options-select.js +2 -2
- package/dist/es/select/index.js +1 -1
- package/dist/es/skeleton/index.js +1 -1
- package/dist/es/slider/index.js +1 -1
- package/dist/es/space/index.js +1 -1
- package/dist/es/space/space.js +1 -1
- package/dist/es/sparkles-text/index.js +1 -1
- package/dist/es/sparkles-text/sparkle.js +1 -1
- package/dist/es/spin/index.js +1 -1
- package/dist/es/split-text/index.js +1 -1
- package/dist/es/splitter/index.js +1 -1
- package/dist/es/stack/index.js +1 -1
- package/dist/es/statistic/index.js +1 -1
- package/dist/es/steps/index.js +1 -1
- package/dist/es/switch/index.js +1 -1
- package/dist/es/table/index.js +54 -37
- package/dist/es/table/use-pagination-props.js +2 -2
- package/dist/es/tabs/index.js +1 -1
- package/dist/es/tag/index.js +1 -1
- package/dist/es/time-picker/index.js +1 -1
- package/dist/es/timeline/index.js +1 -1
- package/dist/es/tooltip/index.js +1 -1
- package/dist/es/tour/index.js +1 -1
- package/dist/es/transfer/index.js +1 -1
- package/dist/es/tree/hooks/index.js +1 -1
- package/dist/es/tree/hooks/use-data-options-tree.js +1 -1
- package/dist/es/tree/index.js +1 -1
- package/dist/es/tree-select/hooks/index.js +1 -1
- package/dist/es/tree-select/hooks/use-data-options-tree-select.js +2 -2
- package/dist/es/tree-select/index.js +1 -1
- package/dist/es/typing-animation/index.js +1 -1
- package/dist/es/typography/index.js +1 -1
- package/dist/es/upload/index.js +1 -1
- package/dist/es/watermark/index.js +1 -1
- package/dist/types/_base/globals.d.ts +14 -22
- package/dist/types/_base/helpers/common.d.ts +1 -7
- package/dist/types/_base/index.d.ts +1 -1
- package/dist/types/code-editor/index.d.ts +4 -0
- package/dist/types/code-editor/props.d.ts +197 -0
- package/dist/types/crud/props.d.ts +14 -1
- package/dist/types/dropdown/index.d.ts +1 -0
- package/dist/types/dynamic-icon/index.d.ts +1 -1
- package/dist/types/dynamic-icon/load-icon-node.d.ts +14 -0
- package/dist/types/editable-table/components/add-row-button.d.ts +6 -0
- package/dist/types/editable-table/components/editable-cell.d.ts +18 -0
- package/dist/types/editable-table/components/editable-row-actions.d.ts +31 -0
- package/dist/types/editable-table/components/index.d.ts +3 -0
- package/dist/types/editable-table/helpers.d.ts +10 -0
- package/dist/types/editable-table/hooks/index.d.ts +2 -0
- package/dist/types/editable-table/hooks/use-editable-actions.d.ts +29 -0
- package/dist/types/editable-table/hooks/use-editable-columns.d.ts +25 -0
- package/dist/types/editable-table/index.d.ts +14 -0
- package/dist/types/editable-table/props.d.ts +73 -0
- package/dist/types/editable-table/store.d.ts +38 -0
- package/dist/types/editable-table/types.d.ts +76 -0
- package/dist/types/form/fields/code-editor/index.d.ts +5 -0
- package/dist/types/form/fields/code-editor/props.d.ts +15 -0
- package/dist/types/form/fields/icon-picker/index.d.ts +5 -0
- package/dist/types/form/fields/icon-picker/props.d.ts +10 -0
- package/dist/types/form/fields/index.d.ts +6 -0
- package/dist/types/form/form.d.ts +13 -1
- package/dist/types/generic-select/index.d.ts +15 -0
- package/dist/types/generic-select/props.d.ts +181 -0
- package/dist/types/icon-picker/icon-grid.d.ts +37 -0
- package/dist/types/icon-picker/index.d.ts +13 -0
- package/dist/types/icon-picker/props.d.ts +86 -0
- package/dist/types/index.d.ts +8 -4
- package/dist/types/page/components/resize-handle.d.ts +1 -1
- package/dist/types/page/entrance.d.ts +56 -0
- package/dist/types/page/index.d.ts +1 -0
- package/dist/types/pro-table/components/table.d.ts +4 -4
- package/dist/types/pro-table/hooks/index.d.ts +1 -1
- package/dist/types/pro-table/hooks/use-table-columns.d.ts +6 -0
- package/dist/types/pro-table/props.d.ts +15 -1
- package/dist/types/scroll-area/index.d.ts +2 -2
- package/dist/types/scroll-area/props.d.ts +7 -0
- package/dist/types/table/index.d.ts +1 -1
- package/dist/types/table/props.d.ts +8 -0
- package/package.json +27 -13
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { AnyObject } from '@vef-framework-react/shared';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Custom labels for the built-in row action buttons.
|
|
5
|
+
*/
|
|
6
|
+
export interface EditableRowActionsTexts {
|
|
7
|
+
edit?: ReactNode;
|
|
8
|
+
save?: ReactNode;
|
|
9
|
+
cancel?: ReactNode;
|
|
10
|
+
delete?: ReactNode;
|
|
11
|
+
}
|
|
12
|
+
interface EditableRowActionsProps<TRow extends AnyObject> {
|
|
13
|
+
row: TRow;
|
|
14
|
+
index: number;
|
|
15
|
+
rowKey: string;
|
|
16
|
+
editable: boolean;
|
|
17
|
+
deletable: boolean;
|
|
18
|
+
texts?: EditableRowActionsTexts;
|
|
19
|
+
extra?: (row: TRow, index: number) => ReactNode;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Operation-column body. Subscribes to `editingKey` to render either the
|
|
23
|
+
* read-mode actions (caller extras + Edit/Delete) or the edit-mode actions
|
|
24
|
+
* (Save/Cancel). While any row is editing, the other rows' buttons are disabled
|
|
25
|
+
* to enforce the one-row-at-a-time contract. Save runs through ActionButton, so
|
|
26
|
+
* its async work (validation) drives the loading state automatically. Buttons
|
|
27
|
+
* are color-coded filled: primary for Edit/Save, danger for Delete, default for
|
|
28
|
+
* Cancel.
|
|
29
|
+
*/
|
|
30
|
+
export declare function EditableRowActions<TRow extends AnyObject>({ row, index, rowKey, editable, deletable, texts, extra }: EditableRowActionsProps<TRow>): ReactNode;
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AnyObject, DeepKeys } from '@vef-framework-react/shared';
|
|
2
|
+
import { EditableColumn, EditableColumnOptions } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Type-safe factory for an {@link EditableColumn}. Splits the input into the
|
|
5
|
+
* display/slot fields and the `<form.AppField>` options (validators, listeners,
|
|
6
|
+
* …), erasing the latter into an opaque {@link ErasedFieldOptions} so a
|
|
7
|
+
* heterogeneous `EditableColumn<TRow>[]` stays a single, well-typed array.
|
|
8
|
+
* `restoreFieldOptions` (from the form module) reverses this at the render site.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createEditableColumn<TRow extends AnyObject>(dataIndex: DeepKeys<TRow>, options?: EditableColumnOptions<TRow>): EditableColumn<TRow>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { AnyObject } from '@vef-framework-react/shared';
|
|
2
|
+
/**
|
|
3
|
+
* Minimal view of the draft form needed to drive row editing. Kept narrow so
|
|
4
|
+
* the concrete `FormApi` (with its many validator generics) is assignable
|
|
5
|
+
* without variance friction.
|
|
6
|
+
*/
|
|
7
|
+
interface DraftForm<TRow> {
|
|
8
|
+
reset: (values?: TRow) => void;
|
|
9
|
+
validateAllFields: (cause: "submit") => Promise<unknown[]>;
|
|
10
|
+
state: {
|
|
11
|
+
values: TRow;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
interface UseEditableActionsParams<TRow extends AnyObject> {
|
|
15
|
+
value: TRow[];
|
|
16
|
+
onChange?: (value: TRow[]) => void;
|
|
17
|
+
form: DraftForm<TRow>;
|
|
18
|
+
getKey: (row: TRow) => string;
|
|
19
|
+
rowKeyField: string | null;
|
|
20
|
+
createRecord?: () => Partial<TRow>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Owns the row-editing behavior and injects it into the store. The host holds
|
|
24
|
+
* `value` / `onChange` / the draft form; cells and row actions invoke these
|
|
25
|
+
* slots through the store. Latest `value`/`onChange` are read via refs so the
|
|
26
|
+
* slots stay stable without re-injecting on every data change.
|
|
27
|
+
*/
|
|
28
|
+
export declare function useEditableActions<TRow extends AnyObject>({ value, onChange, form, getKey, rowKeyField, createRecord }: UseEditableActionsParams<TRow>): void;
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { AnyObject } from '@vef-framework-react/shared';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { Length } from '../../_base';
|
|
4
|
+
import { TableColumn } from '../../table';
|
|
5
|
+
import { EditableRowActionsTexts } from '../components';
|
|
6
|
+
import { EditableColumn } from '../types';
|
|
7
|
+
/**
|
|
8
|
+
* Operation-column configuration resolved by EditableTable.
|
|
9
|
+
*/
|
|
10
|
+
export interface EditableOperationConfig<TRow extends AnyObject> {
|
|
11
|
+
enabled: boolean;
|
|
12
|
+
title?: ReactNode;
|
|
13
|
+
width?: Length;
|
|
14
|
+
texts?: EditableRowActionsTexts;
|
|
15
|
+
editable: (row: TRow) => boolean;
|
|
16
|
+
deletable: (row: TRow) => boolean;
|
|
17
|
+
extra?: (row: TRow, index: number) => ReactNode;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Compile `EditableColumn<TRow>[]` into antd columns. Each data column's render
|
|
21
|
+
* returns a store-subscribed `<EditableCell>`; an operation column with the row
|
|
22
|
+
* actions is appended when enabled. Memoized on stable inputs (never on
|
|
23
|
+
* `editingKey`) so the column array reference stays stable across edit toggles.
|
|
24
|
+
*/
|
|
25
|
+
export declare function useEditableColumns<TRow extends AnyObject>(columns: Array<EditableColumn<TRow>>, getKey: (row: TRow) => string, operation: EditableOperationConfig<TRow>): Array<TableColumn<TRow>>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AnyObject } from '@vef-framework-react/shared';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { EditableTableProps } from './props';
|
|
4
|
+
/**
|
|
5
|
+
* Controlled, inline-editable table. One row edits at a time; editing, adding
|
|
6
|
+
* and deleting rows are operations on the controlled `value` array surfaced
|
|
7
|
+
* through `onChange`. Built on the base `Table` and the form module — no
|
|
8
|
+
* query / mutation involved.
|
|
9
|
+
*/
|
|
10
|
+
export declare function EditableTable<TRow extends AnyObject>(props: EditableTableProps<TRow>): ReactNode;
|
|
11
|
+
export type { EditableRowActionsTexts } from './components';
|
|
12
|
+
export { createEditableColumn } from './helpers';
|
|
13
|
+
export type { EditableOperationColumnConfig, EditableTableProps } from './props';
|
|
14
|
+
export type * from './types';
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { AnyObject, DeepKeys, Key } from '@vef-framework-react/shared';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { Length } from '../_base';
|
|
4
|
+
import { TableProps } from '../table';
|
|
5
|
+
import { EditableRowActionsTexts } from './components';
|
|
6
|
+
import { EditableColumn } from './types';
|
|
7
|
+
/**
|
|
8
|
+
* Overrides for the appended operation column.
|
|
9
|
+
*/
|
|
10
|
+
export interface EditableOperationColumnConfig {
|
|
11
|
+
title?: ReactNode;
|
|
12
|
+
width?: Length;
|
|
13
|
+
texts?: EditableRowActionsTexts;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Props for {@link EditableTable}. The component is a controlled form control:
|
|
17
|
+
* `value` is the full row array, and every edit / add / delete is just an
|
|
18
|
+
* operation on that array surfaced through `onChange` — there is no query or
|
|
19
|
+
* mutation involved.
|
|
20
|
+
*/
|
|
21
|
+
export interface EditableTableProps<TRow extends AnyObject> {
|
|
22
|
+
/**
|
|
23
|
+
* Controlled row data.
|
|
24
|
+
*/
|
|
25
|
+
value: TRow[];
|
|
26
|
+
/**
|
|
27
|
+
* Emitted with the next array on every edit / add / delete.
|
|
28
|
+
*/
|
|
29
|
+
onChange?: (value: TRow[]) => void;
|
|
30
|
+
/**
|
|
31
|
+
* Column definitions with read (`renderView`) and edit (`renderEditor`) slots.
|
|
32
|
+
*/
|
|
33
|
+
columns: Array<EditableColumn<NoInfer<TRow>>>;
|
|
34
|
+
/**
|
|
35
|
+
* Row identity: a field name or a function; defaults to the `key` field.
|
|
36
|
+
* Provides stable identity for the editing row.
|
|
37
|
+
*/
|
|
38
|
+
rowKey?: DeepKeys<NoInfer<TRow>> | ((row: NoInfer<TRow>) => Key);
|
|
39
|
+
/**
|
|
40
|
+
* Whether a row can enter edit mode. Accepts a boolean or a per-row
|
|
41
|
+
* predicate. Defaults to `true`.
|
|
42
|
+
*/
|
|
43
|
+
canEdit?: boolean | ((row: NoInfer<TRow>) => boolean);
|
|
44
|
+
/**
|
|
45
|
+
* Whether a row can be deleted. Accepts a boolean or a per-row predicate.
|
|
46
|
+
* Defaults to `false`.
|
|
47
|
+
*/
|
|
48
|
+
canDelete?: boolean | ((row: NoInfer<TRow>) => boolean);
|
|
49
|
+
/**
|
|
50
|
+
* Show the add-row button below the table.
|
|
51
|
+
*/
|
|
52
|
+
creatable?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Factory for a new row's default values when adding.
|
|
55
|
+
*/
|
|
56
|
+
createRecord?: () => Partial<TRow>;
|
|
57
|
+
/**
|
|
58
|
+
* Extra read-mode actions rendered before the built-in Edit / Delete buttons.
|
|
59
|
+
*/
|
|
60
|
+
renderRowActions?: (row: NoInfer<TRow>, index: number) => ReactNode;
|
|
61
|
+
/**
|
|
62
|
+
* Operation column overrides (title / width / button labels).
|
|
63
|
+
*/
|
|
64
|
+
operationColumn?: EditableOperationColumnConfig;
|
|
65
|
+
/**
|
|
66
|
+
* Table density, forwarded to the underlying table.
|
|
67
|
+
*/
|
|
68
|
+
size?: TableProps<NoInfer<TRow>>["size"];
|
|
69
|
+
/**
|
|
70
|
+
* Client-side pagination config, forwarded to the underlying table. Off by default.
|
|
71
|
+
*/
|
|
72
|
+
pagination?: TableProps<NoInfer<TRow>>["pagination"];
|
|
73
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { AnyObject } from '@vef-framework-react/shared';
|
|
2
|
+
import { ComponentType } from 'react';
|
|
3
|
+
import { StoreProviderProps, UseStore, UnboundStore } from '@vef-framework-react/core';
|
|
4
|
+
/**
|
|
5
|
+
* State for the EditableTable component. Holds the single editing-row key and
|
|
6
|
+
* a set of behavior slots whose real implementations are injected by the host
|
|
7
|
+
* component (which owns `value` / `onChange` / the draft form). Leaf cells and
|
|
8
|
+
* row actions subscribe to `editingKey` to toggle their own render, so the top
|
|
9
|
+
* level never has to.
|
|
10
|
+
*/
|
|
11
|
+
export interface EditableTableState {
|
|
12
|
+
/**
|
|
13
|
+
* Key of the row currently being edited, or `null` when none.
|
|
14
|
+
*/
|
|
15
|
+
editingKey: string | null;
|
|
16
|
+
setEditingKey: (key: string | null) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Enter edit mode for a row (resets the draft form to the row's values).
|
|
19
|
+
*/
|
|
20
|
+
startEdit: (rowKey: string, row: AnyObject) => void;
|
|
21
|
+
/**
|
|
22
|
+
* Validate the editing row and, on success, write it back via `onChange`.
|
|
23
|
+
*/
|
|
24
|
+
save: () => Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Leave edit mode, discarding the draft.
|
|
27
|
+
*/
|
|
28
|
+
cancel: () => void;
|
|
29
|
+
/**
|
|
30
|
+
* Append a new row and enter edit mode for it.
|
|
31
|
+
*/
|
|
32
|
+
addRow: () => void;
|
|
33
|
+
/**
|
|
34
|
+
* Remove a row by key via `onChange`.
|
|
35
|
+
*/
|
|
36
|
+
deleteRow: (rowKey: string) => void;
|
|
37
|
+
}
|
|
38
|
+
export declare const EditableTableStoreProvider: ComponentType<StoreProviderProps<never>>, useEditableTableStore: UseStore<EditableTableState>, useEditableTableStoreApi: <TStrictState extends EditableTableState = EditableTableState>() => UnboundStore<TStrictState>;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { AnyObject, DeepKeys, Key } from '@vef-framework-react/shared';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { fieldComponents } from '../form/fields';
|
|
4
|
+
import { CreateFieldFn, ErasedFieldOptions } from '../form/helpers';
|
|
5
|
+
import { TableColumn } from '../table';
|
|
6
|
+
/**
|
|
7
|
+
* Render context handed to a column's editor slot, carrying the row identity
|
|
8
|
+
* so the slot can branch on the concrete record without re-deriving it.
|
|
9
|
+
*/
|
|
10
|
+
export interface EditFieldContext<TRow extends AnyObject> {
|
|
11
|
+
row: TRow;
|
|
12
|
+
index: number;
|
|
13
|
+
rowKey: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Read-only display slot. Renders the cell content while the row is not being
|
|
17
|
+
* edited. Falls back to the raw value when omitted.
|
|
18
|
+
*/
|
|
19
|
+
export type RenderView<TRow extends AnyObject> = (value: unknown, row: TRow, index: number) => ReactNode;
|
|
20
|
+
/**
|
|
21
|
+
* Editor slot. Renders a form control bound to the row's draft form while the
|
|
22
|
+
* row is being edited. `field` is the injected field-component dictionary
|
|
23
|
+
* (`field.Input`, `field.Select`, …), matching `createField`'s render shape.
|
|
24
|
+
* The column is treated as read-only when omitted.
|
|
25
|
+
*/
|
|
26
|
+
export type RenderEditor<TRow extends AnyObject> = (field: typeof fieldComponents, context: EditFieldContext<TRow>) => ReactNode;
|
|
27
|
+
/**
|
|
28
|
+
* Display-only column properties forwarded verbatim to the underlying antd column.
|
|
29
|
+
*/
|
|
30
|
+
type EditableColumnDisplay<TRow extends AnyObject> = Pick<TableColumn<TRow>, "title" | "width" | "minWidth" | "align" | "fixed" | "ellipsis" | "className">;
|
|
31
|
+
/**
|
|
32
|
+
* Column definition for {@link EditableTable}. Replaces antd's single `render`
|
|
33
|
+
* with two slots: {@link RenderView} (read mode) and {@link RenderEditor} (edit
|
|
34
|
+
* mode). Use {@link createEditableColumn} to attach type-safe validators.
|
|
35
|
+
*/
|
|
36
|
+
export interface EditableColumn<TRow extends AnyObject> extends EditableColumnDisplay<TRow> {
|
|
37
|
+
/**
|
|
38
|
+
* Data key of the column; doubles as the form field name while editing.
|
|
39
|
+
*/
|
|
40
|
+
dataIndex: DeepKeys<TRow>;
|
|
41
|
+
/**
|
|
42
|
+
* Stable column identity; defaults to `dataIndex`.
|
|
43
|
+
*/
|
|
44
|
+
key?: Key;
|
|
45
|
+
/**
|
|
46
|
+
* Whether this column participates in editing. Defaults to `true`.
|
|
47
|
+
*/
|
|
48
|
+
editable?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Read-only display slot; falls back to the raw value when omitted.
|
|
51
|
+
*/
|
|
52
|
+
renderView?: RenderView<TRow>;
|
|
53
|
+
/**
|
|
54
|
+
* Editor slot; the column stays read-only when omitted.
|
|
55
|
+
*/
|
|
56
|
+
renderEditor?: RenderEditor<TRow>;
|
|
57
|
+
/**
|
|
58
|
+
* Erased `<form.AppField>` options (validators, listeners…) from `createEditableColumn`.
|
|
59
|
+
*/
|
|
60
|
+
fieldOptions?: ErasedFieldOptions<TRow>;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Field-level options forwarded to `<form.AppField>` (validators, listeners,
|
|
64
|
+
* defaultValue…), mirroring `createField`'s input minus its render slots.
|
|
65
|
+
*/
|
|
66
|
+
type EditableFieldOptions<TRow extends AnyObject> = Omit<Parameters<CreateFieldFn<TRow>>[1], "render" | "renderMeta">;
|
|
67
|
+
/**
|
|
68
|
+
* Input accepted by {@link createEditableColumn}: field options plus display and slot fields.
|
|
69
|
+
*/
|
|
70
|
+
export type EditableColumnOptions<TRow extends AnyObject> = EditableFieldOptions<TRow> & EditableColumnDisplay<TRow> & {
|
|
71
|
+
key?: Key;
|
|
72
|
+
editable?: boolean;
|
|
73
|
+
renderView?: RenderView<TRow>;
|
|
74
|
+
renderEditor?: RenderEditor<TRow>;
|
|
75
|
+
};
|
|
76
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Except } from '@vef-framework-react/shared';
|
|
2
|
+
import { CodeEditorProps } from '../../../code-editor';
|
|
3
|
+
export interface CodeEditorFieldProps extends Except<CodeEditorProps, "value" | "defaultValue" | "onChange" | "onBlur"> {
|
|
4
|
+
/**
|
|
5
|
+
* Disable editing through the form context. Maps to `readOnly` on the
|
|
6
|
+
* underlying CodeEditor so the user can still focus and copy text.
|
|
7
|
+
*/
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Whether to preserve empty string instead of converting to null
|
|
11
|
+
*
|
|
12
|
+
* @default false - Empty strings will be converted to null
|
|
13
|
+
*/
|
|
14
|
+
preserveEmptyString?: boolean;
|
|
15
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Except } from '@vef-framework-react/shared';
|
|
2
|
+
import { IconPickerProps } from '../../../icon-picker';
|
|
3
|
+
/**
|
|
4
|
+
* Props for `IconPickerField` — the {@link IconPickerProps} surface minus the
|
|
5
|
+
* value/change wiring the form owns: `value`, `defaultValue`, `onChange`, and
|
|
6
|
+
* `onBlur` all come from the field state, so they are not part of the public
|
|
7
|
+
* field props.
|
|
8
|
+
*/
|
|
9
|
+
export interface IconPickerFieldProps extends Except<IconPickerProps, "value" | "defaultValue" | "onChange" | "onBlur"> {
|
|
10
|
+
}
|
|
@@ -4,9 +4,11 @@ import { AutoCompleteFieldProps } from './auto-complete';
|
|
|
4
4
|
import { BoolFieldProps } from './bool';
|
|
5
5
|
import { CascaderFieldProps } from './cascader';
|
|
6
6
|
import { CheckboxFieldProps, CheckboxGroupFieldProps } from './checkbox';
|
|
7
|
+
import { CodeEditorFieldProps } from './code-editor';
|
|
7
8
|
import { ColorPickerFieldProps } from './color-picker';
|
|
8
9
|
import { DatePickerFieldProps } from './date-picker';
|
|
9
10
|
import { DateRangePickerFieldProps } from './date-range-picker';
|
|
11
|
+
import { IconPickerFieldProps } from './icon-picker';
|
|
10
12
|
import { InputFieldProps } from './input';
|
|
11
13
|
import { InputNumberFieldProps } from './input-number';
|
|
12
14
|
import { MentionsFieldProps } from './mentions';
|
|
@@ -26,9 +28,11 @@ export type { AutoCompleteFieldProps } from './auto-complete';
|
|
|
26
28
|
export type { BoolFieldProps } from './bool';
|
|
27
29
|
export type { CascaderFieldProps } from './cascader';
|
|
28
30
|
export type { CheckboxFieldProps, CheckboxGroupFieldProps } from './checkbox';
|
|
31
|
+
export type { CodeEditorFieldProps } from './code-editor';
|
|
29
32
|
export type { ColorPickerFieldProps } from './color-picker';
|
|
30
33
|
export type { DatePickerFieldProps } from './date-picker';
|
|
31
34
|
export type { DateRangePickerFieldProps } from './date-range-picker';
|
|
35
|
+
export type { IconPickerFieldProps } from './icon-picker';
|
|
32
36
|
export type { InputFieldProps } from './input';
|
|
33
37
|
export type { InputNumberFieldProps } from './input-number';
|
|
34
38
|
export type { MentionsFieldProps } from './mentions';
|
|
@@ -48,9 +52,11 @@ export declare const fieldComponents: {
|
|
|
48
52
|
readonly Cascader: FC<FieldComponentProps<CascaderFieldProps>>;
|
|
49
53
|
readonly Checkbox: FC<FieldComponentProps<CheckboxFieldProps>>;
|
|
50
54
|
readonly CheckboxGroup: FC<FieldComponentProps<CheckboxGroupFieldProps>>;
|
|
55
|
+
readonly CodeEditor: FC<FieldComponentProps<CodeEditorFieldProps>>;
|
|
51
56
|
readonly ColorPicker: FC<FieldComponentProps<ColorPickerFieldProps>>;
|
|
52
57
|
readonly DatePicker: <TValueAsObject extends boolean = false>(props: FieldComponentProps<DatePickerFieldProps<TValueAsObject>>) => ReactNode;
|
|
53
58
|
readonly DateRangePicker: <TValueAsObject extends boolean = false>(props: FieldComponentProps<DateRangePickerFieldProps<TValueAsObject>>) => ReactNode;
|
|
59
|
+
readonly IconPicker: FC<FieldComponentProps<IconPickerFieldProps>>;
|
|
54
60
|
readonly Input: FC<FieldComponentProps<InputFieldProps>>;
|
|
55
61
|
readonly InputNumber: FC<FieldComponentProps<InputNumberFieldProps>>;
|
|
56
62
|
readonly Mentions: FC<FieldComponentProps<MentionsFieldProps>>;
|
|
@@ -2,7 +2,7 @@ import { FormAsyncValidateOrFn, FormValidateOrFn, FormOptions, AppFieldExtendedR
|
|
|
2
2
|
import { MaybeUndefined } from '@vef-framework-react/shared';
|
|
3
3
|
import { FormApi, FieldComponentProps } from './types';
|
|
4
4
|
import { FC, ReactNode, FunctionComponent, PropsWithChildren } from 'react';
|
|
5
|
-
import { AutoCompleteFieldProps, BoolFieldProps, CascaderFieldProps, CheckboxFieldProps, CheckboxGroupFieldProps, ColorPickerFieldProps, DatePickerFieldProps, DateRangePickerFieldProps, InputFieldProps, InputNumberFieldProps, MentionsFieldProps, RadioFieldProps, RateFieldProps, SelectFieldProps, SliderFieldProps, TextAreaFieldProps, TimePickerFieldProps, TimeRangePickerFieldProps, TransferFieldProps, TreeSelectFieldProps, UploadFieldProps } from './fields';
|
|
5
|
+
import { AutoCompleteFieldProps, BoolFieldProps, CascaderFieldProps, CheckboxFieldProps, CheckboxGroupFieldProps, CodeEditorFieldProps, ColorPickerFieldProps, DatePickerFieldProps, DateRangePickerFieldProps, IconPickerFieldProps, InputFieldProps, InputNumberFieldProps, MentionsFieldProps, RadioFieldProps, RateFieldProps, SelectFieldProps, SliderFieldProps, TextAreaFieldProps, TimePickerFieldProps, TimeRangePickerFieldProps, TransferFieldProps, TreeSelectFieldProps, UploadFieldProps } from './fields';
|
|
6
6
|
import { PasswordFieldProps } from './fields/password';
|
|
7
7
|
import { DataOption } from '@vef-framework-react/core';
|
|
8
8
|
import { Form } from './components/form';
|
|
@@ -14,9 +14,11 @@ declare const useAppForm: <TFormData, TOnMount extends FormValidateOrFn<TFormDat
|
|
|
14
14
|
readonly Cascader: FC<FieldComponentProps<CascaderFieldProps>>;
|
|
15
15
|
readonly Checkbox: FC<FieldComponentProps<CheckboxFieldProps>>;
|
|
16
16
|
readonly CheckboxGroup: FC<FieldComponentProps<CheckboxGroupFieldProps>>;
|
|
17
|
+
readonly CodeEditor: FC<FieldComponentProps<CodeEditorFieldProps>>;
|
|
17
18
|
readonly ColorPicker: FC<FieldComponentProps<ColorPickerFieldProps>>;
|
|
18
19
|
readonly DatePicker: <TValueAsObject extends boolean = false>(props: FieldComponentProps<DatePickerFieldProps<TValueAsObject>>) => ReactNode;
|
|
19
20
|
readonly DateRangePicker: <TValueAsObject extends boolean = false>(props: FieldComponentProps<DateRangePickerFieldProps<TValueAsObject>>) => ReactNode;
|
|
21
|
+
readonly IconPicker: FC<FieldComponentProps<IconPickerFieldProps>>;
|
|
20
22
|
readonly Input: FC<FieldComponentProps<InputFieldProps>>;
|
|
21
23
|
readonly InputNumber: FC<FieldComponentProps<InputNumberFieldProps>>;
|
|
22
24
|
readonly Mentions: FC<FieldComponentProps<MentionsFieldProps>>;
|
|
@@ -41,9 +43,11 @@ declare const useAppForm: <TFormData, TOnMount extends FormValidateOrFn<TFormDat
|
|
|
41
43
|
readonly Cascader: FC<FieldComponentProps<CascaderFieldProps>>;
|
|
42
44
|
readonly Checkbox: FC<FieldComponentProps<CheckboxFieldProps>>;
|
|
43
45
|
readonly CheckboxGroup: FC<FieldComponentProps<CheckboxGroupFieldProps>>;
|
|
46
|
+
readonly CodeEditor: FC<FieldComponentProps<CodeEditorFieldProps>>;
|
|
44
47
|
readonly ColorPicker: FC<FieldComponentProps<ColorPickerFieldProps>>;
|
|
45
48
|
readonly DatePicker: <TValueAsObject extends boolean = false>(props: FieldComponentProps<DatePickerFieldProps<TValueAsObject>>) => ReactNode;
|
|
46
49
|
readonly DateRangePicker: <TValueAsObject extends boolean = false>(props: FieldComponentProps<DateRangePickerFieldProps<TValueAsObject>>) => ReactNode;
|
|
50
|
+
readonly IconPicker: FC<FieldComponentProps<IconPickerFieldProps>>;
|
|
47
51
|
readonly Input: FC<FieldComponentProps<InputFieldProps>>;
|
|
48
52
|
readonly InputNumber: FC<FieldComponentProps<InputNumberFieldProps>>;
|
|
49
53
|
readonly Mentions: FC<FieldComponentProps<MentionsFieldProps>>;
|
|
@@ -69,9 +73,11 @@ declare const useAppForm: <TFormData, TOnMount extends FormValidateOrFn<TFormDat
|
|
|
69
73
|
readonly Cascader: FC<FieldComponentProps<CascaderFieldProps>>;
|
|
70
74
|
readonly Checkbox: FC<FieldComponentProps<CheckboxFieldProps>>;
|
|
71
75
|
readonly CheckboxGroup: FC<FieldComponentProps<CheckboxGroupFieldProps>>;
|
|
76
|
+
readonly CodeEditor: FC<FieldComponentProps<CodeEditorFieldProps>>;
|
|
72
77
|
readonly ColorPicker: FC<FieldComponentProps<ColorPickerFieldProps>>;
|
|
73
78
|
readonly DatePicker: <TValueAsObject extends boolean = false>(props: FieldComponentProps<DatePickerFieldProps<TValueAsObject>>) => ReactNode;
|
|
74
79
|
readonly DateRangePicker: <TValueAsObject extends boolean = false>(props: FieldComponentProps<DateRangePickerFieldProps<TValueAsObject>>) => ReactNode;
|
|
80
|
+
readonly IconPicker: FC<FieldComponentProps<IconPickerFieldProps>>;
|
|
75
81
|
readonly Input: FC<FieldComponentProps<InputFieldProps>>;
|
|
76
82
|
readonly InputNumber: FC<FieldComponentProps<InputNumberFieldProps>>;
|
|
77
83
|
readonly Mentions: FC<FieldComponentProps<MentionsFieldProps>>;
|
|
@@ -97,9 +103,11 @@ declare const useAppForm: <TFormData, TOnMount extends FormValidateOrFn<TFormDat
|
|
|
97
103
|
readonly Cascader: FC<FieldComponentProps<CascaderFieldProps>>;
|
|
98
104
|
readonly Checkbox: FC<FieldComponentProps<CheckboxFieldProps>>;
|
|
99
105
|
readonly CheckboxGroup: FC<FieldComponentProps<CheckboxGroupFieldProps>>;
|
|
106
|
+
readonly CodeEditor: FC<FieldComponentProps<CodeEditorFieldProps>>;
|
|
100
107
|
readonly ColorPicker: FC<FieldComponentProps<ColorPickerFieldProps>>;
|
|
101
108
|
readonly DatePicker: <TValueAsObject extends boolean = false>(props: FieldComponentProps<DatePickerFieldProps<TValueAsObject>>) => ReactNode;
|
|
102
109
|
readonly DateRangePicker: <TValueAsObject extends boolean = false>(props: FieldComponentProps<DateRangePickerFieldProps<TValueAsObject>>) => ReactNode;
|
|
110
|
+
readonly IconPicker: FC<FieldComponentProps<IconPickerFieldProps>>;
|
|
103
111
|
readonly Input: FC<FieldComponentProps<InputFieldProps>>;
|
|
104
112
|
readonly InputNumber: FC<FieldComponentProps<InputNumberFieldProps>>;
|
|
105
113
|
readonly Mentions: FC<FieldComponentProps<MentionsFieldProps>>;
|
|
@@ -125,9 +133,11 @@ declare const useAppForm: <TFormData, TOnMount extends FormValidateOrFn<TFormDat
|
|
|
125
133
|
readonly Cascader: FC<FieldComponentProps<CascaderFieldProps>>;
|
|
126
134
|
readonly Checkbox: FC<FieldComponentProps<CheckboxFieldProps>>;
|
|
127
135
|
readonly CheckboxGroup: FC<FieldComponentProps<CheckboxGroupFieldProps>>;
|
|
136
|
+
readonly CodeEditor: FC<FieldComponentProps<CodeEditorFieldProps>>;
|
|
128
137
|
readonly ColorPicker: FC<FieldComponentProps<ColorPickerFieldProps>>;
|
|
129
138
|
readonly DatePicker: <TValueAsObject extends boolean = false>(props: FieldComponentProps<DatePickerFieldProps<TValueAsObject>>) => ReactNode;
|
|
130
139
|
readonly DateRangePicker: <TValueAsObject extends boolean = false>(props: FieldComponentProps<DateRangePickerFieldProps<TValueAsObject>>) => ReactNode;
|
|
140
|
+
readonly IconPicker: FC<FieldComponentProps<IconPickerFieldProps>>;
|
|
131
141
|
readonly Input: FC<FieldComponentProps<InputFieldProps>>;
|
|
132
142
|
readonly InputNumber: FC<FieldComponentProps<InputNumberFieldProps>>;
|
|
133
143
|
readonly Mentions: FC<FieldComponentProps<MentionsFieldProps>>;
|
|
@@ -152,9 +162,11 @@ declare const useAppForm: <TFormData, TOnMount extends FormValidateOrFn<TFormDat
|
|
|
152
162
|
readonly Cascader: FC<FieldComponentProps<CascaderFieldProps>>;
|
|
153
163
|
readonly Checkbox: FC<FieldComponentProps<CheckboxFieldProps>>;
|
|
154
164
|
readonly CheckboxGroup: FC<FieldComponentProps<CheckboxGroupFieldProps>>;
|
|
165
|
+
readonly CodeEditor: FC<FieldComponentProps<CodeEditorFieldProps>>;
|
|
155
166
|
readonly ColorPicker: FC<FieldComponentProps<ColorPickerFieldProps>>;
|
|
156
167
|
readonly DatePicker: <TValueAsObject extends boolean = false>(props: FieldComponentProps<DatePickerFieldProps<TValueAsObject>>) => ReactNode;
|
|
157
168
|
readonly DateRangePicker: <TValueAsObject extends boolean = false>(props: FieldComponentProps<DateRangePickerFieldProps<TValueAsObject>>) => ReactNode;
|
|
169
|
+
readonly IconPicker: FC<FieldComponentProps<IconPickerFieldProps>>;
|
|
158
170
|
readonly Input: FC<FieldComponentProps<InputFieldProps>>;
|
|
159
171
|
readonly InputNumber: FC<FieldComponentProps<InputNumberFieldProps>>;
|
|
160
172
|
readonly Mentions: FC<FieldComponentProps<MentionsFieldProps>>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { PropsWithRef } from '../_base';
|
|
2
|
+
import { GenericSelectProps, GenericSelectRef } from './props';
|
|
3
|
+
/**
|
|
4
|
+
* The abstract base for popup-driven selection controls — the antd `Select`
|
|
5
|
+
* trigger with its dropdown body swapped for an arbitrary surface. It owns the
|
|
6
|
+
* styled trigger (selected-value display, size/status/variant/clear/disabled),
|
|
7
|
+
* the controlled open state, the in-trigger search box, and the popup container;
|
|
8
|
+
* concrete components supply only {@link GenericSelectProps.renderPopup} (the
|
|
9
|
+
* popup body) and {@link GenericSelectProps.renderLabel} (how a value renders).
|
|
10
|
+
*
|
|
11
|
+
* It is the foundation the {@link IconPicker} builds on, and is published so
|
|
12
|
+
* downstream code can build its own popup selects (e.g. a dropdown data table).
|
|
13
|
+
*/
|
|
14
|
+
export declare function GenericSelect<TValue extends string | number = string>({ ref, value, onChange, onBlur, open, defaultOpen, onOpenChange, renderPopup, renderLabel, searchable, placeholder, size, status, variant, disabled, allowClear, loading, suffixIcon, prefix, getPopupContainer, popupMatchSelectWidth, popupClassName, className, style }: PropsWithRef<GenericSelectRef, GenericSelectProps<TValue>>): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
15
|
+
export type { GenericSelectPopupApi, GenericSelectProps, GenericSelectRef, GenericSelectStatus, GenericSelectVariant } from './props';
|