villianjs-pro 1.0.0 → 1.0.3

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.
Files changed (119) hide show
  1. package/dist/{ProTable3 → Beyond}/index.d.ts +1 -1
  2. package/dist/Beyond/index.js +1 -0
  3. package/dist/Beyond/list.d.ts +5 -0
  4. package/dist/Beyond/list.js +1 -0
  5. package/dist/Beyond/styles/index.d.ts +8 -0
  6. package/dist/Beyond/styles/index.js +1 -0
  7. package/dist/Beyond/types.d.ts +26 -0
  8. package/dist/Button/types.d.ts +1 -1
  9. package/dist/ButtonGroup/styles.js +1 -1
  10. package/dist/Exports/exports.d.ts +3 -0
  11. package/dist/Exports/exports.js +1 -0
  12. package/dist/Exports/index.d.ts +2 -0
  13. package/dist/Exports/index.js +1 -0
  14. package/dist/Exports/types.d.ts +61 -0
  15. package/dist/List/index.d.ts +8 -0
  16. package/dist/List/index.js +1 -0
  17. package/dist/List/list-container.d.ts +37 -0
  18. package/dist/List/list-container.js +1 -0
  19. package/dist/ProTable/components/Container.d.ts +27 -0
  20. package/dist/ProTable/components/Container.js +1 -0
  21. package/dist/ProTable/components/form-content.d.ts +34 -0
  22. package/dist/ProTable/{update/update.js → components/form-content.js} +1 -1
  23. package/dist/ProTable/components/form-footer.d.ts +32 -0
  24. package/dist/ProTable/components/form-footer.js +1 -0
  25. package/dist/ProTable/components/grid-card.d.ts +27 -0
  26. package/dist/ProTable/components/grid-card.js +1 -0
  27. package/dist/ProTable/components/grid-view.d.ts +52 -0
  28. package/dist/ProTable/components/grid-view.js +1 -0
  29. package/dist/ProTable/components/header-buttons-wrapper.d.ts +10 -0
  30. package/dist/ProTable/components/header-buttons-wrapper.js +1 -0
  31. package/dist/ProTable/components/list/index.d.ts +19 -0
  32. package/dist/ProTable/components/list/index.js +1 -0
  33. package/dist/ProTable/components/operation-container.d.ts +39 -0
  34. package/dist/ProTable/components/operation-container.js +1 -0
  35. package/dist/ProTable/components/operation-content-router.d.ts +37 -0
  36. package/dist/ProTable/components/operation-content-router.js +1 -0
  37. package/dist/ProTable/components/operation-content.d.ts +35 -0
  38. package/dist/ProTable/components/operation-content.js +1 -0
  39. package/dist/ProTable/components/row-actions-router.d.ts +8 -0
  40. package/dist/{ProTable3/hooks/utils.js → ProTable/components/row-actions-router.js} +1 -1
  41. package/dist/ProTable/components/row-actions.d.ts +59 -0
  42. package/dist/ProTable/components/row-actions.js +1 -0
  43. package/dist/ProTable/components/search.d.ts +3 -0
  44. package/dist/{ProTable2 → ProTable}/components/search.js +1 -1
  45. package/dist/ProTable/context.d.ts +20 -58
  46. package/dist/ProTable/context.js +1 -1
  47. package/dist/ProTable/hooks/usePagination.js +1 -0
  48. package/dist/ProTable/hooks/useRouterNavigation.d.ts +10 -0
  49. package/dist/ProTable/hooks/useRouterNavigation.js +1 -0
  50. package/dist/ProTable/index.d.ts +3 -2
  51. package/dist/ProTable/index.js +1 -1
  52. package/dist/ProTable/styles.d.ts +1 -0
  53. package/dist/ProTable/styles.js +1 -1
  54. package/dist/ProTable/table.d.ts +2 -3
  55. package/dist/ProTable/table.js +1 -1
  56. package/dist/ProTable/types.d.ts +389 -90
  57. package/dist/ProTable/utils.d.ts +83 -0
  58. package/dist/ProTable/utils.js +1 -0
  59. package/dist/TabSelector/TabSelector.d.ts +3 -0
  60. package/dist/TabSelector/TabSelector.js +1 -0
  61. package/dist/TabSelector/index.d.ts +2 -0
  62. package/dist/TabSelector/index.js +1 -0
  63. package/dist/TabSelector/modal.d.ts +16 -0
  64. package/dist/TabSelector/modal.js +1 -0
  65. package/dist/TabSelector/selected-items-display.d.ts +11 -0
  66. package/dist/TabSelector/selected-items-display.js +1 -0
  67. package/dist/TabSelector/styles.d.ts +2 -0
  68. package/dist/TabSelector/styles.js +1 -0
  69. package/dist/TabSelector/types.d.ts +24 -0
  70. package/dist/index.d.ts +4 -0
  71. package/dist/index.js +1 -1
  72. package/dist/locale/langs/zh-cn/index.js +1 -1
  73. package/package.json +30 -17
  74. package/dist/ProTable/form-footer.d.ts +0 -26
  75. package/dist/ProTable/form-footer.js +0 -1
  76. package/dist/ProTable/list.d.ts +0 -5
  77. package/dist/ProTable/list.js +0 -1
  78. package/dist/ProTable/update/index.d.ts +0 -1
  79. package/dist/ProTable/update/index.js +0 -1
  80. package/dist/ProTable/update/update.d.ts +0 -3
  81. package/dist/ProTable2/components/search.d.ts +0 -2
  82. package/dist/ProTable2/index.d.ts +0 -2
  83. package/dist/ProTable2/index.js +0 -1
  84. package/dist/ProTable2/styles.d.ts +0 -7
  85. package/dist/ProTable2/styles.js +0 -1
  86. package/dist/ProTable2/table.d.ts +0 -2
  87. package/dist/ProTable2/table.js +0 -1
  88. package/dist/ProTable2/types.d.ts +0 -23
  89. package/dist/ProTable3/components/index.d.ts +0 -2
  90. package/dist/ProTable3/components/index.js +0 -1
  91. package/dist/ProTable3/components/list/index.d.ts +0 -19
  92. package/dist/ProTable3/components/list/index.js +0 -1
  93. package/dist/ProTable3/components/search/index.d.ts +0 -2
  94. package/dist/ProTable3/components/search/index.js +0 -1
  95. package/dist/ProTable3/container.d.ts +0 -3
  96. package/dist/ProTable3/container.js +0 -1
  97. package/dist/ProTable3/context.d.ts +0 -13
  98. package/dist/ProTable3/context.js +0 -1
  99. package/dist/ProTable3/hooks/types.d.ts +0 -72
  100. package/dist/ProTable3/hooks/useBatchRemoveButton.d.ts +0 -38
  101. package/dist/ProTable3/hooks/useBatchRemoveButton.js +0 -1
  102. package/dist/ProTable3/hooks/useCreateButton.d.ts +0 -34
  103. package/dist/ProTable3/hooks/useCreateButton.js +0 -1
  104. package/dist/ProTable3/hooks/useExtraButtons.d.ts +0 -26
  105. package/dist/ProTable3/hooks/useExtraButtons.js +0 -1
  106. package/dist/ProTable3/hooks/useOptionRender.d.ts +0 -30
  107. package/dist/ProTable3/hooks/useOptionRender.js +0 -1
  108. package/dist/ProTable3/hooks/usePagination.js +0 -1
  109. package/dist/ProTable3/hooks/utils.d.ts +0 -12
  110. package/dist/ProTable3/index.js +0 -1
  111. package/dist/ProTable3/styles.d.ts +0 -7
  112. package/dist/ProTable3/styles.js +0 -1
  113. package/dist/ProTable3/table.d.ts +0 -2
  114. package/dist/ProTable3/table.js +0 -1
  115. package/dist/ProTable3/types.d.ts +0 -106
  116. /package/dist/{ProTable2 → Beyond}/types.js +0 -0
  117. /package/dist/{ProTable3/hooks → Exports}/types.js +0 -0
  118. /package/dist/{ProTable3 → ProTable}/hooks/usePagination.d.ts +0 -0
  119. /package/dist/{ProTable3 → TabSelector}/types.js +0 -0
@@ -1,34 +0,0 @@
1
- import { type Key } from "react";
2
- import { type ButtonGroupItem } from "../../ButtonGroup";
3
- import { type OptionButtonProps } from "./types";
4
- /**
5
- * 新增按钮配置
6
- */
7
- export interface UseCreateButtonProps {
8
- /**
9
- * @description 是否显示新增按钮
10
- */
11
- showCreateBtn?: boolean;
12
- /**
13
- * @description 新增按钮属性
14
- */
15
- createBtnProps?: OptionButtonProps | ((selectKeys: Key[]) => OptionButtonProps) | false;
16
- /**
17
- * @description 新增按钮点击回调
18
- */
19
- onCreate?: (selectKeys: Key[]) => void | Promise<void>;
20
- /**
21
- * @description 当前选中的行 keys
22
- */
23
- selectedRowKeys: Key[];
24
- /**
25
- * @description 全局 loading 状态
26
- */
27
- loading?: boolean;
28
- }
29
- /**
30
- * 新增按钮 Hook
31
- * @param props - 配置项
32
- * @returns 新增按钮的 ButtonGroupItem 或 null
33
- */
34
- export declare const useCreateButton: (props: UseCreateButtonProps) => ButtonGroupItem | null;
@@ -1 +0,0 @@
1
- function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}import{useCallback,useMemo}from"react";import{PlusOutlined}from"@ant-design/icons";import{useLocale}from"../../locale";import{convertToButtonItem}from"./utils";export var useCreateButton=function(props){var messages=useLocale().messages;var _props_showCreateBtn=props.showCreateBtn,showCreateBtn=_props_showCreateBtn===void 0?true:_props_showCreateBtn,createBtnProps=props.createBtnProps,onCreate=props.onCreate,selectedRowKeys=props.selectedRowKeys,_props_loading=props.loading,loading=_props_loading===void 0?false:_props_loading;var handleCreateClick=useCallback(function(selectKeys){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!onCreate)return[3,2];return[4,onCreate(selectKeys)];case 1:_state.sent();_state.label=2;case 2:return[2]}})})()},[onCreate]);var createButton=useMemo(function(){if(!showCreateBtn||createBtnProps===false){return null}var createBtnConfig=_object_spread({type:"primary"},createBtnProps||{});var createBtn=convertToButtonItem(createBtnConfig,selectedRowKeys,"$create",handleCreateClick);if(!createBtn){return null}if(!createBtn.icon){createBtn.icon=React.createElement(PlusOutlined,null)}if(createBtn.order===undefined){createBtn.order=1}if(!createBtn.label){createBtn.label=messages.table.createBtnText}return _object_spread_props(_object_spread({},createBtn),{loading:loading})},[showCreateBtn,createBtnProps,selectedRowKeys,handleCreateClick,messages,loading]);return createButton};
@@ -1,26 +0,0 @@
1
- import { type Key } from "react";
2
- import { type ButtonGroupItem } from "../../ButtonGroup";
3
- import { type OptionButtonProps } from "./types";
4
- /**
5
- * 其他操作按钮配置
6
- */
7
- export interface UseExtraButtonsProps {
8
- /**
9
- * @description 自定义操作按钮列表
10
- */
11
- optionExtra?: (OptionButtonProps | ((selectKeys: Key[]) => OptionButtonProps) | false | null)[];
12
- /**
13
- * @description 当前选中的行 keys
14
- */
15
- selectedRowKeys: Key[];
16
- /**
17
- * @description 全局 loading 状态
18
- */
19
- loading?: boolean;
20
- }
21
- /**
22
- * 其他操作按钮 Hook
23
- * @param props - 配置项
24
- * @returns 其他操作按钮的 ButtonGroupItem 数组
25
- */
26
- export declare const useExtraButtons: (props: UseExtraButtonsProps) => ButtonGroupItem[];
@@ -1 +0,0 @@
1
- function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}import{useMemo}from"react";import{convertToButtonItem}from"./utils";export var useExtraButtons=function(props){var _props_optionExtra=props.optionExtra,optionExtra=_props_optionExtra===void 0?[]:_props_optionExtra,selectedRowKeys=props.selectedRowKeys,_props_loading=props.loading,loading=_props_loading===void 0?false:_props_loading;var extraButtons=useMemo(function(){var items=[];optionExtra.forEach(function(extra,index){if(extra===false||extra===null||extra===undefined){return}var extraBtn=convertToButtonItem(extra,selectedRowKeys,"$extra-".concat(index));if(extraBtn){var order=extraBtn.order===undefined?10+index:extraBtn.order;var btnLoading=extraBtn.loading!==undefined?extraBtn.loading:loading;items.push(_object_spread_props(_object_spread({},extraBtn),{order:order,loading:btnLoading}))}});return items},[optionExtra,selectedRowKeys,loading]);return extraButtons};
@@ -1,30 +0,0 @@
1
- import { type ReactNode } from "react";
2
- import { type UseOptionRenderProps } from "./types";
3
- /**
4
- * 选项标题栏渲染 Hook
5
- * 用于生成 ProTable 的 headerTitle,显示操作按钮(新增、批量删除等)
6
- * 支持根据 props 和 selectedRowKeys 动态调整按钮状态
7
- *
8
- * @param props - 配置项
9
- * @returns headerTitle - ReactNode,可直接作为 ProTable 的 headerTitle
10
- *
11
- * @example
12
- * ```tsx
13
- * const { headerTitle } = useOptionRender({
14
- * showCreateBtn: true,
15
- * showBatchRemoveBtn: true,
16
- * onCreate: () => {
17
- * // 处理新增逻辑
18
- * },
19
- * onBatchRemove: (keys) => {
20
- * // 处理批量删除逻辑
21
- * }
22
- * });
23
- *
24
- * <ProTable headerTitle={headerTitle} ... />
25
- * ```
26
- */
27
- export declare const useOptionRender: (props?: UseOptionRenderProps) => {
28
- headerTitle: ReactNode;
29
- };
30
- export type { UseOptionRenderProps, OptionButtonProps } from "./types";
@@ -1 +0,0 @@
1
- function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _to_consumable_array(arr){return _array_without_holes(arr)||_iterable_to_array(arr)||_unsupported_iterable_to_array(arr)||_non_iterable_spread()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}import{useMemo}from"react";import{useContext}from"react";import{VlianTableContext}from"../context";import ButtonGroup from"../../ButtonGroup";import{useCreateButton}from"./useCreateButton";import{useBatchRemoveButton}from"./useBatchRemoveButton";import{useExtraButtons}from"./useExtraButtons";export var useOptionRender=function(){var props=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var _useContext=useContext(VlianTableContext),selectedRowKeys=_useContext.selectedRowKeys,loading=_useContext.loading;var _props_showCreateBtn=props.showCreateBtn,showCreateBtn=_props_showCreateBtn===void 0?true:_props_showCreateBtn,_props_showBatchRemoveBtn=props.showBatchRemoveBtn,showBatchRemoveBtn=_props_showBatchRemoveBtn===void 0?true:_props_showBatchRemoveBtn,createBtnProps=props.createBtnProps,onCreate=props.onCreate,batchRemoveBtnProps=props.batchRemoveBtnProps,onBatchRemove=props.onBatchRemove,_props_batchRemoveConfirmMode=props.batchRemoveConfirmMode,batchRemoveConfirmMode=_props_batchRemoveConfirmMode===void 0?"modal":_props_batchRemoveConfirmMode,_props_optionExtra=props.optionExtra,optionExtra=_props_optionExtra===void 0?[]:_props_optionExtra,_props_maxCount=props.maxCount,maxCount=_props_maxCount===void 0?3:_props_maxCount,className=props.headerClassName,style=props.headerStyle;var createButton=useCreateButton({showCreateBtn:showCreateBtn,createBtnProps:createBtnProps,onCreate:onCreate,selectedRowKeys:selectedRowKeys,loading:loading});var batchRemoveButton=useBatchRemoveButton({showBatchRemoveBtn:showBatchRemoveBtn,batchRemoveBtnProps:batchRemoveBtnProps,onBatchRemove:onBatchRemove,batchRemoveConfirmMode:batchRemoveConfirmMode,selectedRowKeys:selectedRowKeys,loading:loading});var extraButtons=useExtraButtons({optionExtra:optionExtra,selectedRowKeys:selectedRowKeys,loading:loading});var headerTitle=useMemo(function(){var _items;var items=[];if(createButton){items.push(createButton)}if(batchRemoveButton){items.push(batchRemoveButton)}(_items=items).push.apply(_items,_to_consumable_array(extraButtons));if(items.length===0){return null}return React.createElement(ButtonGroup,{items:items,maxCount:maxCount,className:className,style:style})},[createButton,batchRemoveButton,extraButtons,maxCount,className,style,loading]);return{headerTitle:headerTitle}};
@@ -1 +0,0 @@
1
- function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_destructuring_empty(o){if(o===null||o===void 0)throw new TypeError("Cannot destructure "+o);return o}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _to_consumable_array(arr){return _array_without_holes(arr)||_iterable_to_array(arr)||_unsupported_iterable_to_array(arr)||_non_iterable_spread()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}import{useState,useMemo,useRef}from"react";import{Button,Divider,Flex,Input}from"antd";import{DeleteOutlined}from"@ant-design/icons";import{useLocale}from"../../locale";import{Typography}from"../../Text";var DEFAULT_PAGE_SIZES=[10,15,20,25,30,50,80,100];export var usePagination=function(){var props=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var messages=useLocale().messages;var _props_openPageSizeCache=props.openPageSizeCache,openPageSizeCache=_props_openPageSizeCache===void 0?false:_props_openPageSizeCache,_props_tableProps=props.tableProps,tableProps=_props_tableProps===void 0?{}:_props_tableProps,_props_defaultPageSize=props.defaultPageSize,defaultPageSize=_props_defaultPageSize===void 0?10:_props_defaultPageSize;var pagination=tableProps.pagination;var inputRef=useRef(null);var _useState=_sliced_to_array(useState(""),2),name=_useState[0],setName=_useState[1];var _useState1=_sliced_to_array(useState(defaultPageSize),2),pageSize=_useState1[0],setPageSize=_useState1[1];var pageCacheKey="table-page-size-list";var localPageSizeStr=window.localStorage.getItem(pageCacheKey);var localPageSizeArr=[];try{if(!localPageSizeStr){localPageSizeArr=JSON.parse(JSON.stringify(DEFAULT_PAGE_SIZES));if(openPageSizeCache){window.localStorage.setItem(pageCacheKey,JSON.stringify(localPageSizeArr))}}else{localPageSizeArr=JSON.parse(localPageSizeStr)}}catch(e){localPageSizeArr=JSON.parse(JSON.stringify(DEFAULT_PAGE_SIZES));window.localStorage.setItem(pageCacheKey,JSON.stringify(localPageSizeArr));console.error(e)}var _useState2=_sliced_to_array(useState(localPageSizeArr||JSON.parse(JSON.stringify(DEFAULT_PAGE_SIZES))),2),items=_useState2[0],setItems=_useState2[1];var onNameChange=function(event){setName(event.target.value)};var addItem=function(e){e.preventDefault();setItems(function(prev){var newList=_to_consumable_array(new Set(_to_consumable_array(prev).concat([Number(name)])));newList.sort(function(a,b){return a-b});window.localStorage.setItem(pageCacheKey,JSON.stringify(newList));return newList});setName("");setTimeout(function(){var _inputRef_current;(_inputRef_current=inputRef.current)===null||_inputRef_current===void 0?void 0:_inputRef_current.focus()},0)};var removeItem=function(e,val){e.preventDefault();e.stopPropagation();setItems(function(prev){var newList=prev.filter(function(v){return v!==val});newList.sort(function(a,b){return a-b});window.localStorage.setItem(pageCacheKey,JSON.stringify(newList));if("".concat(val)==="".concat(pageSize)){setPageSize(newList[0])}return newList})};var currentPagination=useMemo(function(){if(pagination===false){return false}var otherPageInfo=_extends({},_object_destructuring_empty(pagination||{}));var selectProps={popupRender:function(menu){return React.createElement(React.Fragment,null,menu,React.createElement(Divider,{style:{margin:"8px 0"}}),React.createElement(Flex,{style:{padding:"0 8px 4px",width:"200px"},align:"center",gap:10},React.createElement(Input,{placeholder:messages.table.pagePt,ref:inputRef,value:name,type:"number",onChange:onNameChange,onKeyDown:function(e){return e.stopPropagation()},style:{flexGrow:1,width:0}}),React.createElement(Button,{style:{flexShrink:0},type:"text",size:"small",onClick:addItem},messages.table.pageAddText)))},optionRender:function(option){return React.createElement(Flex,{align:"center",gap:10},React.createElement(Typography.Text,{style:{width:0,flexGrow:1}},option.label),React.createElement(Button,{style:{flexShrink:0},type:"text",size:"small",onClick:function(e){removeItem(e,option.value)},icon:React.createElement(DeleteOutlined,null)}))}};return _object_spread_props(_object_spread({pageSize:pageSize,showSizeChanger:openPageSizeCache?selectProps:true,pageSizeOptions:items},otherPageInfo),{onShowSizeChange:function(current,size){var _otherPageInfo_onShowSizeChange;setPageSize(size);otherPageInfo===null||otherPageInfo===void 0?void 0:(_otherPageInfo_onShowSizeChange=otherPageInfo.onShowSizeChange)===null||_otherPageInfo_onShowSizeChange===void 0?void 0:_otherPageInfo_onShowSizeChange.call(otherPageInfo,current,size)}})},[pagination,openPageSizeCache,removeItem,items,defaultPageSize,addItem,pageSize]);return{currentPagination:currentPagination}};
@@ -1,12 +0,0 @@
1
- import { type Key } from "react";
2
- import { type ButtonGroupItem } from "../../ButtonGroup";
3
- import { type OptionButtonProps } from "./types";
4
- /**
5
- * 将按钮配置转换为 ButtonGroupItem
6
- * @param config - 按钮配置,可以是对象、函数或空对象
7
- * @param selectedRowKeys - 当前选中的行 keys
8
- * @param defaultKey - 默认 key
9
- * @param defaultHandler - 默认点击处理器
10
- * @returns ButtonGroupItem 或 null
11
- */
12
- export declare const convertToButtonItem: (config: OptionButtonProps | ((selectKeys: Key[]) => OptionButtonProps) | Record<string, any>, selectedRowKeys: Key[], defaultKey: string, defaultHandler?: (selectKeys: Key[]) => void | Promise<void>) => ButtonGroupItem | null;
@@ -1 +0,0 @@
1
- export*from"./types";export*from"./table";
@@ -1,7 +0,0 @@
1
- import type { FullToken, GenerateStyle, GetDefaultToken } from 'antd/es/theme/internal';
2
- type VlianTableToken = FullToken<'VlianTable'> & {};
3
- export declare const genBaseStyle: GenerateStyle<VlianTableToken>;
4
- export declare const genListStyle: GenerateStyle<VlianTableToken>;
5
- export declare const prepareComponentToken: GetDefaultToken<'VlianTable'>;
6
- declare const _default: (prefixCls: string, rootCls?: string) => readonly [(node: React.ReactElement) => React.ReactElement, string, string];
7
- export default _default;
@@ -1 +0,0 @@
1
- function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}import{genStyleHooks}from"antd/es/theme/internal";export var genBaseStyle=function(token){var componentCls=token.componentCls;return _define_property({},componentCls,{backgroundColor:token.colorBgContainer,"&&":{padding:token.paddingSM},".ant-pro-query-filter.ant-pro-query-filter":{padding:0}})};export var genListStyle=function(token){var componentCls=token.componentCls;return _define_property({},"".concat(componentCls,"-list"),{})};export var prepareComponentToken=function(){return{}};export default genStyleHooks("VlianTable",function(token){return[genBaseStyle(token),genListStyle(token)]},prepareComponentToken);
@@ -1,2 +0,0 @@
1
- import type { ProTableProps } from "./types";
2
- export declare const ProTable: <DataSource extends Record<string, any> = Record<string, any>, ParamsType extends Record<string, any> = Record<string, any>, FormData = Record<string, any>, ValueType = "text">(props: ProTableProps<DataSource, ParamsType, FormData, ValueType>) => import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}import React from"react";import{VlianTableContext}from"./context";import{Container}from"./container";export var ProTable=function(props){var _React_useState=_sliced_to_array(React.useState([]),2),selectedRowKeys=_React_useState[0],setSelectedRowKeys=_React_useState[1];var _React_useState1=_sliced_to_array(React.useState([]),2),selectedRows=_React_useState1[0],setSelectedRows=_React_useState1[1];var _React_useState2=_sliced_to_array(React.useState(false),2),loading=_React_useState2[0],setLoading=_React_useState2[1];var _React_useState3=_sliced_to_array(React.useState("list"),2),viewMode=_React_useState3[0],setViewMode=_React_useState3[1];var handleSelectedRowKeysChange=function(keys){setSelectedRowKeys(keys)};var handleSelectedRowsChange=function(rows){setSelectedRows(rows)};var handleSetLoading=function(val){setLoading(val)};var handleSetViewMode=function(mode){setViewMode(mode)};return React.createElement(VlianTableContext.Provider,{value:{selectedRowKeys:selectedRowKeys,setSelectedRowKeys:handleSelectedRowKeysChange,selectedRows:selectedRows,setSelectedRows:handleSelectedRowsChange,loading:loading,setLoading:handleSetLoading,viewMode:viewMode,setViewMode:handleSetViewMode}},React.createElement(Container,props))};
@@ -1,106 +0,0 @@
1
- import type { ConfirmMode } from "../ConfirmButton";
2
- import * as React from "react";
3
- import type { SizeType } from "antd/es/config-provider/SizeContext";
4
- import type { HasPermissionFn, TablePermissionMap } from "../ProTable/types.ts";
5
- import { type ProFormColumnsType, type ProTableProps as AntdProTableProps } from "@ant-design/pro-components";
6
- import type { FormSchema } from "@ant-design/pro-form/es/components/SchemaForm/typing";
7
- import type { UseOptionRenderProps } from "./hooks/types.ts";
8
- export type { ProFormColumnsType };
9
- /**
10
- * 视图模式类型(新增、编辑、查看、列表)
11
- */
12
- export type ViewMode = "create" | "update" | "view" | "list";
13
- /**
14
- * 弹窗类型
15
- */
16
- export type PopupType = "modal" | "drawer" | "router";
17
- /**
18
- * 搜索表单类型
19
- */
20
- export type SearchType = Extract<FormSchema["layoutType"], "QueryFilter" | "Form">;
21
- export type SearchProps<T = Record<string, any>, ValueType = 'text'> = Omit<FormSchema<T, ValueType>, "layoutType" | "submitter"> & {
22
- layoutType: Extract<FormSchema["layoutType"], "QueryFilter" | "Form">;
23
- };
24
- export type TableProps<DataSource = Record<string, any>, ParamsType = Record<string, any>, ValueType = "text"> = Omit<AntdProTableProps<DataSource, ParamsType, ValueType>, "search" | "columns" | "ghost"> & {
25
- resetAndSearch?: boolean;
26
- };
27
- /**
28
- * 公共属性
29
- */
30
- type ProTableCommonProps<DataSource = Record<string, any>, ParamsType = Record<string, any>, FormData = Record<string, any>, ValueType = "text"> = {
31
- /**
32
- * @description 删除二次确认方式
33
- * @default popconfirm
34
- */
35
- removeMode?: ConfirmMode;
36
- prefixCls?: string;
37
- className?: string;
38
- style?: React.CSSProperties;
39
- size?: SizeType;
40
- columns: ProFormColumnsType<DataSource>[];
41
- /**
42
- * 权限 Key
43
- */
44
- permissionKey?: string;
45
- /**
46
- * @description 权限
47
- */
48
- permission?: TablePermissionMap;
49
- /**
50
- * @description 判断权限
51
- */
52
- hasPermission?: HasPermissionFn;
53
- tableClassName?: string;
54
- tableStyle?: React.CSSProperties;
55
- /**
56
- * 表格属性
57
- */
58
- tableProps?: TableProps<DataSource, ParamsType, ValueType>;
59
- /**
60
- * 表单属性
61
- */
62
- formProps?: FormSchema<FormData, ValueType>;
63
- searchClassName?: string;
64
- searchStyle?: React.CSSProperties;
65
- /**
66
- * @description 搜索表单类型
67
- * @default QueryFilter
68
- */
69
- searchType?: SearchType;
70
- /**
71
- * 搜索表单属性
72
- */
73
- searchProps?: false | Omit<SearchProps, "columns" | "onFinish" | "onReset">;
74
- /**
75
- * 是否开启页面大小缓存
76
- */
77
- openPageSizeCache?: boolean;
78
- /**
79
- * 默认页面大小
80
- */
81
- defaultPageSize?: number;
82
- } & UseOptionRenderProps;
83
- export type ProTableRouterProps<DataSource = Record<string, any>, ParamsType = Record<string, any>, FormData = Record<string, any>, ValueType = "text"> = ProTableCommonProps<DataSource, ParamsType, FormData, ValueType> & {
84
- mode: "router";
85
- /**
86
- * @description 基础url
87
- */
88
- baseUrl: string;
89
- /**
90
- * 初始页面
91
- */
92
- initialEntries: string;
93
- };
94
- export type ProTablePopupProps<DataSource = Record<string, any>, ParamsType = Record<string, any>, FormData = Record<string, any>, ValueType = "text"> = ProTableCommonProps<DataSource, ParamsType, FormData, ValueType> & {
95
- /**
96
- * @description 弹窗类型
97
- * @default modal
98
- */
99
- mode?: Exclude<PopupType, "router">;
100
- baseUrl: never;
101
- initialEntries: never;
102
- };
103
- /**
104
- * ProTable 组件属性
105
- */
106
- export type ProTableProps<DataSource = Record<string, any>, ParamsType = Record<string, any>, FormData = Record<string, any>, ValueType = "text"> = ProTableRouterProps<DataSource, ParamsType, FormData, ValueType> | ProTablePopupProps<DataSource, ParamsType, FormData, ValueType>;
File without changes
File without changes
File without changes