@flatbiz/antd 5.0.15 → 5.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1865,6 +1865,8 @@ export type UploadWrapperProps<T extends TPlainObject = TPlainObject> = {
1865
1865
  uid: string;
1866
1866
  name?: string;
1867
1867
  url?: string;
1868
+ /** 文件大小 */
1869
+ size?: string | number;
1868
1870
  };
1869
1871
  /**
1870
1872
  * 接口响应数据适配器,如果配置了fieldNames,适配器返回值会再进过fieldNames转换
@@ -1881,6 +1883,10 @@ export type UploadWrapperProps<T extends TPlainObject = TPlainObject> = {
1881
1883
  * ```
1882
1884
  */
1883
1885
  autoSubmit?: boolean;
1886
+ /** 图片预览开关, 重写 onPreview 方法后失效 */
1887
+ imagePreviewSwitch?: boolean;
1888
+ /** 图片预览文件类型,默认:['png', 'jpg', 'jpeg', 'gif'] */
1889
+ imagePreviewAccept?: string[];
1884
1890
  } & Omit<UploadProps, "onChange" | "fileList">;
1885
1891
  /**
1886
1892
  * 文件上传
@@ -1910,7 +1916,15 @@ export type UploadWrapperProps<T extends TPlainObject = TPlainObject> = {
1910
1916
  * name(非必填): 'image.png',
1911
1917
  * url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',
1912
1918
  * }]
1913
- * 其中 uid、name、url 可为其他命名,通过 fieldNames 进行映射即可
1919
+ * 1. 其中 uid、name、url 可为其他命名,通过 fieldNames 进行映射即可,
1920
+ * 2. 其他需要的字段可在对象中添加 responseData 对象
1921
+ * 例如:
1922
+ * [{
1923
+ * uid: '唯一值',
1924
+ * name(非必填): 'image.png',
1925
+ * url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',
1926
+ * responseData: { 'xx':'xxx' }
1927
+ * }]
1914
1928
  * ```
1915
1929
  *
1916
1930
  */
@@ -4002,6 +4016,10 @@ export interface LocalLoadingProps {
4002
4016
  showRequiredError?: boolean;
4003
4017
  /** 自定义异常渲染处理 */
4004
4018
  errorRender?: (error?: TAny) => ReactElement;
4019
+ /** 设置内部滚动,需要设置 style.height 才能生效,@5.0.16 */
4020
+ contentScroll?: boolean;
4021
+ /** 设置高度 */
4022
+ height?: number | string;
4005
4023
  }
4006
4024
  export type LocalLoadingRefApi = {
4007
4025
  onRefresh: (params?: TPlainObject) => void;
@@ -4017,6 +4035,7 @@ export type LocalLoadingRefApi = {
4017
4035
  * 5. 子组件通过下面方式主动发起服务调用
4018
4036
  * const localLoadingApi = LocalLoading.useLocalLoading();
4019
4037
  * localLoadingApi.onRequest();
4038
+ * 6. 如果内部需要滚动条,可设置 contentScroll = true (外部有高度或者设置style.height 才能生效)
4020
4039
  * ```
4021
4040
  */
4022
4041
  export declare const LocalLoading: import("react").ForwardRefExoticComponent<LocalLoadingProps & import("react").RefAttributes<LocalLoadingRefApi>> & {
@@ -5291,6 +5310,8 @@ export type TabsStickyProps = {
5291
5310
  headerRender?: ReactElement;
5292
5311
  /** 点击tabItem后,tab跳到顶部吸顶效果;默认值true */
5293
5312
  clickTabToTop?: boolean;
5313
+ /** 设置tabItem 内容包裹元素的样式 */
5314
+ tabItemContentWrapperStyle?: (key: string) => CSSProperties;
5294
5315
  };
5295
5316
  /**
5296
5317
  * Tabs吸顶组件
package/dist/index.js CHANGED
@@ -166,7 +166,7 @@ export { d as dialogModal } from './dialog-modal-xt2uoEa-.js';
166
166
  export { D as DragCollapse } from './drag-collapse-wL7wIgVO.js';
167
167
  export { D as DragCollapseFormList } from './drag-collapse-DU_JhQTz.js';
168
168
  export { D as DragEditableCard } from './editable-card-Dc_9h_Qf.js';
169
- export { D as DragEditableTable } from './drag-CYnGqWKf.js';
169
+ export { D as DragEditableTable } from './drag-CSVvyXEN.js';
170
170
  export { D as DragEditableTablePro } from './drag-CBosXqSQ.js';
171
171
  export { D as DragFormList } from './drag-form-list-BGqbBKJM.js';
172
172
  export { D as DragTable } from './drag-table-By85hEGF.js';
@@ -177,7 +177,7 @@ export { EasyTable } from './easy-table/index.js';
177
177
  export { E as EditableCard } from './editable-card-D-JIgLVg.js';
178
178
  export { E as EditableField } from './editable-field-XVZ1Rqdm.js';
179
179
  export { E as EditableFieldProvider } from './editable-field-provider-DqKcZQYP.js';
180
- export { E as EditableTable } from './editable-table-Ccuxddfl.js';
180
+ export { E as EditableTable } from './editable-table-BDjZl2ZY.js';
181
181
  export { E as EditableTablePro } from './editable-table-pro-D8Vt535W.js';
182
182
  export { E as ErrorBoundaryWrapper } from './error-boundary-DtShAEtQ.js';
183
183
  export { FbaApp } from './fba-app/index.js';
@@ -238,7 +238,7 @@ export { S as SwitchWrapper } from './switch-wrapper-CfxaLAKg.js';
238
238
  export { t as tableCellRender } from './cell-render-D4e6I9eI.js';
239
239
  export { T as TableScrollbar } from './table-scrollbar-CBqQ4pYQ.js';
240
240
  export { T as TableTitleTooltip } from './title-render-DGYUo6yV.js';
241
- export { T as TabsSticky } from './tabs-D2IfpmxW.js';
241
+ export { T as TabsSticky } from './tabs-CbMuUsXN.js';
242
242
  export { T as TabsWrapper } from './tabs-wrapper-CAj9ErGH.js';
243
243
  export { T as TagGroup } from './tag-group-BInmv_6s.js';
244
244
  export { _ as TagListRender } from './tag-list-C9_bM06E.js';
@@ -256,7 +256,7 @@ export { T as TreeModalSelector } from './selector-dbYimxeI.js';
256
256
  export { T as TreeSelectorWrapper } from './selector-D4LbM5wD.js';
257
257
  export { TreeWrapper } from './tree-wrapper/index.js';
258
258
  export { types } from './types/index.js';
259
- export { U as UploadWrapper } from './upload-wrapper-CSmbSn4P.js';
259
+ export { U as UploadWrapper } from './upload-wrapper-DarS_SOE.js';
260
260
  export { X as XMindPreview } from './x-mind-preview-BxHDc_lA.js';
261
261
  import './_rollupPluginBabelHelpers-BYm17lo8.js';
262
262
  import '@dimjs/utils/class-names/class-names';
@@ -1 +1 @@
1
- .label-value-render .label-value-label{color:#8e8e8e;font-weight:400}.label-value-render .label-value-value{overflow:hidden}.label-value-render .text-symbol-wrapper{display:inline-block;max-width:100%}.label-value-render .tips-wrapper{max-width:100%}.label-value-render .tips-wrapper .tips-wrapper-text{flex:initial}.label-value-render.lvr-border .label-value-value{border-radius:0}.label-value-render:not(.lvr-hidden-hover) .label-value-value:hover{background-color:rgba(0,0,0,.04);border-radius:5px}.lvr-label-left .label-value-label{text-align:left}.lvr-label-center .label-value-label{text-align:center}.lvr-label-right .label-value-label{text-align:right}.lvr-horizontal .label-value-tr{display:flex}.lvr-horizontal .label-value-label{flex-shrink:0;width:var(--lvr-label-width)}.lvr-horizontal .label-value-value{flex:1;padding-left:5px}.lvr-horizontal.lvr-size-default:not(.lvr-border) .label-value-label,.lvr-horizontal.lvr-size-default:not(.lvr-border) .label-value-value{padding:8px}.lvr-horizontal.lvr-size-small:not(.lvr-border){font-size:12px}.lvr-horizontal.lvr-size-small:not(.lvr-border) .label-value-label,.lvr-horizontal.lvr-size-small:not(.lvr-border) .label-value-value{padding:5px}.lvr-horizontal.lvr-border .box-grad-row{border-bottom:1px solid rgba(5,5,5,.06);border-left:1px solid rgba(5,5,5,.06);border-radius:6px;border-top:1px solid rgba(5,5,5,.06);overflow:hidden}.lvr-horizontal.lvr-border .box-grad-col:not(.label-value-last-tr){border-bottom:1px solid rgba(5,5,5,.06)}.lvr-horizontal.lvr-border .label-value-label{align-items:center;background-color:rgba(0,0,0,.03);display:flex;font-weight:400}.lvr-horizontal.lvr-border .label-value-value{align-items:center;border-left:1px solid rgba(5,5,5,.06);border-right:1px solid rgba(5,5,5,.06);display:flex;margin-left:0}.lvr-horizontal.lvr-border.lvr-size-default .label-value-label,.lvr-horizontal.lvr-border.lvr-size-default .label-value-value{padding:8px 10px}.lvr-horizontal.lvr-border.lvr-size-small{font-size:12px}.lvr-horizontal.lvr-border.lvr-size-small .label-value-label,.lvr-horizontal.lvr-border.lvr-size-small .label-value-value{padding:5px 10px}.lvr-vertical .label-value-tr{display:flex;flex-direction:column}.lvr-vertical .label-value-value{flex:1;padding-left:5px}.lvr-vertical.lvr-size-default:not(.lvr-border) .label-value-label,.lvr-vertical.lvr-size-default:not(.lvr-border) .label-value-value{padding:5px}.lvr-vertical.lvr-size-small:not(.lvr-border){font-size:12px}.lvr-vertical.lvr-size-small:not(.lvr-border) .label-value-label,.lvr-vertical.lvr-size-small:not(.lvr-border) .label-value-value{padding:3px}.lvr-vertical.lvr-border .box-grad-row{border-bottom:1px solid rgba(5,5,5,.06);border-left:1px solid rgba(5,5,5,.06);border-radius:6px;border-top:1px solid rgba(5,5,5,.06);overflow:hidden}.lvr-vertical.lvr-border .label-value-tr{border-right:1px solid rgba(5,5,5,.06)}.lvr-vertical.lvr-border .box-grad-col:not(.label-value-last-tr){border-bottom:1px solid rgba(5,5,5,.06)}.lvr-vertical.lvr-border .label-value-label{align-items:center;background-color:rgba(0,0,0,.02);border-bottom:1px solid rgba(5,5,5,.06);display:flex;font-weight:400}.lvr-vertical.lvr-border .label-value-value{align-items:center;display:flex}.lvr-vertical.lvr-border.lvr-size-default .label-value-label,.lvr-vertical.lvr-border.lvr-size-default .label-value-value{padding:8px 10px}.lvr-vertical.lvr-border.lvr-size-small{font-size:12px}.lvr-vertical.lvr-border.lvr-size-small .label-value-label,.lvr-vertical.lvr-border.lvr-size-small .label-value-value{padding:5px 10px}.dark-theme .label-value-render.lvr-border .label-value-label{background-color:#232323}.dark-theme .label-value-render .label-value-value:hover{background-color:#191919}.dark-theme .lvr-vertical.lvr-border .box-grad-row{border-bottom:1px solid #2e2e2e;border-left:1px solid #2e2e2e;border-top:1px solid #2e2e2e}.dark-theme .lvr-vertical.lvr-border .label-value-tr{border-right:1px solid #2e2e2e}.dark-theme .lvr-vertical.lvr-border .box-grad-col:not(.label-value-last-tr),.dark-theme .lvr-vertical.lvr-border .label-value-label{border-bottom:1px solid #2e2e2e}.dark-theme .lvr-horizontal.lvr-border .box-grad-row{border-bottom:1px solid #2e2e2e;border-left:1px solid #2e2e2e;border-top:1px solid #2e2e2e}.dark-theme .lvr-horizontal.lvr-border .box-grad-col:not(.label-value-last-tr){border-bottom:1px solid #2e2e2e}.dark-theme .lvr-horizontal.lvr-border .label-value-value{border-left:1px solid #2e2e2e;border-right:1px solid #2e2e2e}.text-symbol-wrapper{display:inline-block;position:relative}.tsw-symbol{font-size:14px;line-height:normal;position:absolute;top:50%}.tsw-symbol-before{transform:translate(-100%,-50%)}.tsw-symbol-after{transform:translate(100%,-50%)}.tsw-required .tsw-symbol{color:#ff4d4f}
1
+ .label-value-render .label-value-label{color:#8e8e8e;font-weight:400}.label-value-render .label-value-value{overflow:hidden}.label-value-render .text-symbol-wrapper{display:inline-block;max-width:100%}.label-value-render .tips-wrapper{max-width:100%}.label-value-render .tips-wrapper .tips-wrapper-text{flex:initial}.label-value-render.lvr-border .label-value-value{border-radius:0}.label-value-render:not(.lvr-hidden-hover) .label-value-value:hover{background-color:rgba(0,0,0,.04)}.lvr-label-left .label-value-label{text-align:left}.lvr-label-center .label-value-label{text-align:center}.lvr-label-right .label-value-label{text-align:right}.lvr-horizontal .label-value-tr{display:flex}.lvr-horizontal .label-value-label{flex-shrink:0;width:var(--lvr-label-width)}.lvr-horizontal .label-value-value{flex:1;padding-left:5px}.lvr-horizontal.lvr-size-default:not(.lvr-border) .label-value-label,.lvr-horizontal.lvr-size-default:not(.lvr-border) .label-value-value{padding:8px}.lvr-horizontal.lvr-size-small:not(.lvr-border){font-size:12px}.lvr-horizontal.lvr-size-small:not(.lvr-border) .label-value-label,.lvr-horizontal.lvr-size-small:not(.lvr-border) .label-value-value{padding:5px}.lvr-horizontal.lvr-border .box-grad-row{border-bottom:1px solid rgba(5,5,5,.06);border-left:1px solid rgba(5,5,5,.06);border-radius:6px;border-top:1px solid rgba(5,5,5,.06);overflow:hidden}.lvr-horizontal.lvr-border .box-grad-col:not(.label-value-last-tr){border-bottom:1px solid rgba(5,5,5,.06)}.lvr-horizontal.lvr-border .label-value-label{align-items:center;background-color:rgba(0,0,0,.03);display:flex;font-weight:400}.lvr-horizontal.lvr-border .label-value-value{align-items:center;border-left:1px solid rgba(5,5,5,.06);border-right:1px solid rgba(5,5,5,.06);display:flex;margin-left:0}.lvr-horizontal.lvr-border.lvr-size-default .label-value-label,.lvr-horizontal.lvr-border.lvr-size-default .label-value-value{padding:8px 10px}.lvr-horizontal.lvr-border.lvr-size-small{font-size:12px}.lvr-horizontal.lvr-border.lvr-size-small .label-value-label,.lvr-horizontal.lvr-border.lvr-size-small .label-value-value{padding:5px 10px}.lvr-vertical .label-value-tr{display:flex;flex-direction:column}.lvr-vertical .label-value-value{flex:1;padding-left:5px}.lvr-vertical.lvr-size-default:not(.lvr-border) .label-value-label,.lvr-vertical.lvr-size-default:not(.lvr-border) .label-value-value{padding:5px}.lvr-vertical.lvr-size-small:not(.lvr-border){font-size:12px}.lvr-vertical.lvr-size-small:not(.lvr-border) .label-value-label,.lvr-vertical.lvr-size-small:not(.lvr-border) .label-value-value{padding:3px}.lvr-vertical.lvr-border .box-grad-row{border-bottom:1px solid rgba(5,5,5,.06);border-left:1px solid rgba(5,5,5,.06);border-radius:6px;border-top:1px solid rgba(5,5,5,.06);overflow:hidden}.lvr-vertical.lvr-border .label-value-tr{border-right:1px solid rgba(5,5,5,.06)}.lvr-vertical.lvr-border .box-grad-col:not(.label-value-last-tr){border-bottom:1px solid rgba(5,5,5,.06)}.lvr-vertical.lvr-border .label-value-label{align-items:center;background-color:rgba(0,0,0,.02);border-bottom:1px solid rgba(5,5,5,.06);display:flex;font-weight:400}.lvr-vertical.lvr-border .label-value-value{align-items:center;display:flex}.lvr-vertical.lvr-border.lvr-size-default .label-value-label,.lvr-vertical.lvr-border.lvr-size-default .label-value-value{padding:8px 10px}.lvr-vertical.lvr-border.lvr-size-small{font-size:12px}.lvr-vertical.lvr-border.lvr-size-small .label-value-label,.lvr-vertical.lvr-border.lvr-size-small .label-value-value{padding:5px 10px}.dark-theme .label-value-render.lvr-border .label-value-label{background-color:#232323}.dark-theme .label-value-render .label-value-value:hover{background-color:#191919}.dark-theme .lvr-vertical.lvr-border .box-grad-row{border-bottom:1px solid #2e2e2e;border-left:1px solid #2e2e2e;border-top:1px solid #2e2e2e}.dark-theme .lvr-vertical.lvr-border .label-value-tr{border-right:1px solid #2e2e2e}.dark-theme .lvr-vertical.lvr-border .box-grad-col:not(.label-value-last-tr),.dark-theme .lvr-vertical.lvr-border .label-value-label{border-bottom:1px solid #2e2e2e}.dark-theme .lvr-horizontal.lvr-border .box-grad-row{border-bottom:1px solid #2e2e2e;border-left:1px solid #2e2e2e;border-top:1px solid #2e2e2e}.dark-theme .lvr-horizontal.lvr-border .box-grad-col:not(.label-value-last-tr){border-bottom:1px solid #2e2e2e}.dark-theme .lvr-horizontal.lvr-border .label-value-value{border-left:1px solid #2e2e2e;border-right:1px solid #2e2e2e}.text-symbol-wrapper{display:inline-block;position:relative}.tsw-symbol{font-size:14px;line-height:normal;position:absolute;top:50%}.tsw-symbol-before{transform:translate(-100%,-50%)}.tsw-symbol-after{transform:translate(100%,-50%)}.tsw-required .tsw-symbol{color:#ff4d4f}
@@ -1 +1 @@
1
- .local-loading-error{align-items:center;display:flex;height:100%;justify-content:center;position:relative}.local-loading-error .ant-result-icon{margin-bottom:10px!important}.local-loading-error .ant-result-icon .anticon{font-size:30px!important}.local-loading-error .ant-result-title{font-size:16px!important}.local-loading-error .ant-result-extra{margin-top:10px!important}.local-loading-error .ant-result-error{padding:24px 16px!important}.local-loading-area{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:9}.fba-local-loading{overflow:hidden;position:relative}.local-loading-content{height:100%;overflow-y:auto}.local-loading-spin,.local-loading-spin-wrapper{align-items:center;background-color:var(--local-loading-spin-bgColor);border-radius:5px;display:flex;height:100%;justify-content:center;position:absolute;width:100%}
1
+ .local-loading-error{align-items:center;display:flex;height:100%;justify-content:center;position:relative}.local-loading-error .ant-result-icon{margin-bottom:10px!important}.local-loading-error .ant-result-icon .anticon{font-size:30px!important}.local-loading-error .ant-result-title{font-size:16px!important}.local-loading-error .ant-result-extra{margin-top:10px!important}.local-loading-error .ant-result-error{padding:24px 16px!important}.local-loading-area{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:9}.fba-local-loading{position:relative}.local-loading-spin,.local-loading-spin-wrapper{align-items:center;background-color:var(--local-loading-spin-bgColor);border-radius:5px;display:flex;height:100%;justify-content:center;position:absolute;width:100%}.local-loading-content{height:100%}.fll-content-scroll{height:100%;overflow:hidden}.fll-content-scroll .local-loading-content{overflow-y:auto}
@@ -44,6 +44,10 @@ export interface LocalLoadingProps {
44
44
  showRequiredError?: boolean;
45
45
  /** 自定义异常渲染处理 */
46
46
  errorRender?: (error?: TAny) => ReactElement;
47
+ /** 设置内部滚动,需要设置 style.height 才能生效,@5.0.16 */
48
+ contentScroll?: boolean;
49
+ /** 设置高度 */
50
+ height?: number | string;
47
51
  }
48
52
  export type LocalLoadingRefApi = {
49
53
  onRefresh: (params?: TPlainObject) => void;
@@ -59,6 +63,7 @@ export type LocalLoadingRefApi = {
59
63
  * 5. 子组件通过下面方式主动发起服务调用
60
64
  * const localLoadingApi = LocalLoading.useLocalLoading();
61
65
  * localLoadingApi.onRequest();
66
+ * 6. 如果内部需要滚动条,可设置 contentScroll = true (外部有高度或者设置style.height 才能生效)
62
67
  * ```
63
68
  */
64
69
  export declare const LocalLoading: import("react").ForwardRefExoticComponent<LocalLoadingProps & import("react").RefAttributes<LocalLoadingRefApi>> & {
@@ -34,6 +34,7 @@ var _createCtx = createCtx(),
34
34
  * 5. 子组件通过下面方式主动发起服务调用
35
35
  * const localLoadingApi = LocalLoading.useLocalLoading();
36
36
  * localLoadingApi.onRequest();
37
+ * 6. 如果内部需要滚动条,可设置 contentScroll = true (外部有高度或者设置style.height 才能生效)
37
38
  * ```
38
39
  */
39
40
  var LocalLoadingInner = /*#__PURE__*/forwardRef(function (props, ref) {
@@ -43,7 +44,10 @@ var LocalLoadingInner = /*#__PURE__*/forwardRef(function (props, ref) {
43
44
  errorRender = props.errorRender,
44
45
  loadingSpinProps = props.loadingSpinProps,
45
46
  textConfigs = props.textConfigs,
46
- showRequiredError = props.showRequiredError;
47
+ showRequiredError = props.showRequiredError,
48
+ contentScroll = props.contentScroll,
49
+ contentStyle = props.contentStyle,
50
+ height = props.height;
47
51
  var _useState = useState('init'),
48
52
  _useState2 = _slicedToArray(_useState, 2),
49
53
  status = _useState2[0],
@@ -255,13 +259,19 @@ var LocalLoadingInner = /*#__PURE__*/forwardRef(function (props, ref) {
255
259
  })
256
260
  });
257
261
  }
262
+ var className = classNames('fba-local-loading', {
263
+ 'fll-content-scroll': contentScroll
264
+ }, props.className);
265
+ var rootStyle = _objectSpread2({
266
+ height: height
267
+ }, props.style);
258
268
  return /*#__PURE__*/jsx(LocalLoadingCtxProvider, {
259
269
  value: {
260
270
  onRequest: onInitRequest
261
271
  },
262
272
  children: /*#__PURE__*/jsxs("div", {
263
- className: classNames('fba-local-loading', props.className),
264
- style: props.style,
273
+ className: className,
274
+ style: rootStyle,
265
275
  children: [loading ? /*#__PURE__*/jsx(Spin, {
266
276
  spinning: loading,
267
277
  tip: loadingSpinTip,
@@ -273,7 +283,7 @@ var LocalLoadingInner = /*#__PURE__*/forwardRef(function (props, ref) {
273
283
  children: loadingSpinContent
274
284
  }) : null, /*#__PURE__*/jsx("div", {
275
285
  className: "local-loading-content",
276
- style: props.contentStyle,
286
+ style: contentStyle,
277
287
  children: children(respData)
278
288
  })]
279
289
  })
@@ -291,6 +301,7 @@ var LocalLoadingInner = /*#__PURE__*/forwardRef(function (props, ref) {
291
301
  * 5. 子组件通过下面方式主动发起服务调用
292
302
  * const localLoadingApi = LocalLoading.useLocalLoading();
293
303
  * localLoadingApi.onRequest();
304
+ * 6. 如果内部需要滚动条,可设置 contentScroll = true (外部有高度或者设置style.height 才能生效)
294
305
  * ```
295
306
  */
296
307
  var LocalLoading = fbaUtils.attachPropertiesToComponent(LocalLoadingInner, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/local-loading/context.ts","@flatbiz/antd/src/local-loading/local-loading.tsx","@flatbiz/antd/src/local-loading/index.ts"],"sourcesContent":["import type { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useLocalLoadingCtx, LocalLoadingCtxProvider] = createCtx<{\n onRequest: (params?: TPlainObject) => void;\n}>();\n","import type { CSSProperties, ReactElement } from 'react';\nimport {\n forwardRef,\n Fragment,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Button, Result, Spin } from 'antd';\nimport { isDeepEqual } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { getValueOrDefault, isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { LocalLoadingCtxProvider } from './context.js';\nimport './style.less';\n\nexport type LocalLoadingServiceConfig = {\n onRequest: (params?: TAny) => Promise<TAny>;\n params?: TPlainObject;\n /** 标记serviceConfig.params中无效参数,被设置的params key 不传入服务接口入参 */\n invalidParamKey?: string[];\n /** 必填字段设置 */\n requiredParamsKeys?: string[];\n};\n\nexport interface LocalLoadingProps {\n className?: string;\n style?: CSSProperties;\n contentStyle?: CSSProperties;\n /** 接口数据配置 */\n serviceConfig: LocalLoadingServiceConfig;\n /** children 为函数,参数【respData】为接口返回数据 */\n children: (respData?: TAny) => ReactElement;\n /**\n * 是否异步,默认:false\n * ```\n * true(异步):onRequest、react dom渲染同步执行\n * false(同步):onRequest有结果了才渲染 react dom\n * ```\n */\n isAsync?: boolean;\n /** loading高度,默认值:100;isAsync = true 无效 */\n loadingHeight?: number | string;\n /** loading spin 属性设置 */\n loadingSpinProps?: {\n /** loading tip,默认值:Loading */\n tip?: string;\n /** loading 内容 */\n content?: ReactElement;\n /** 背景色,默认值:rgba(0,0,0,0.01) */\n bgColor?: string;\n };\n textConfigs?: {\n /** 必填异常文本 */\n requiredErrorText?: string;\n };\n /** 是否显示必填异常 */\n showRequiredError?: boolean;\n /** 自定义异常渲染处理 */\n errorRender?: (error?: TAny) => ReactElement;\n}\n\nexport type LocalLoadingRefApi = {\n onRefresh: (params?: TPlainObject) => void;\n};\n\n/**\n * 局部加载,包含接口数据处理逻辑\n * ```\n * 包括\n * 1. loading显示效果、error显示效果、获取服务数据\n * 2. 当 serviceConfig.params 值与上一次值不相等时,会主动发起服务调用\n * 3. 通过 serviceConfig.requiredParamsKeys 设置服务调用必填字段\n * 4. 通过 ref.onRequest 可主动发起服务调用\n * 5. 子组件通过下面方式主动发起服务调用\n * const localLoadingApi = LocalLoading.useLocalLoading();\n * localLoadingApi.onRequest();\n * ```\n */\nexport const LocalLoadingInner = forwardRef<\n LocalLoadingRefApi,\n LocalLoadingProps\n>((props, ref) => {\n const {\n serviceConfig,\n isAsync,\n children,\n errorRender,\n loadingSpinProps,\n textConfigs,\n showRequiredError,\n } = props;\n const [status, setStatus] = useState<\n 'success' | 'error' | 'required_error' | 'init'\n >('init');\n const [respData, setRespData] = useState<TAny>();\n const loadingHeight =\n props.loadingHeight === undefined ? 100 : props.loadingHeight;\n const [loading, setLoading] = useState<boolean>(false);\n const errorRef = useRef<string>();\n const hiddenRequiredErrorRenderRef = useRef(true);\n\n const prevParams = fbaHooks.usePrevious(serviceConfig.params);\n\n const loadingSpinContent = getValueOrDefault(\n loadingSpinProps?.content,\n <span />\n );\n const loadingSpinBgColor = getValueOrDefault(\n loadingSpinProps?.bgColor,\n 'rgba(0,0,0,0.01)'\n );\n const loadingSpinTip = getValueOrDefault(loadingSpinProps?.tip, 'Loading');\n\n const requiredErrorText = textConfigs?.requiredErrorText;\n\n // 用于直接发起接口调用,不能用于比较\n const serviceParams = useMemo(() => {\n if (\n !serviceConfig.params ||\n toArray(serviceConfig.invalidParamKey).length === 0\n ) {\n return serviceConfig.params;\n }\n const newParams = { ...serviceConfig.params };\n serviceConfig.invalidParamKey?.forEach((key) => {\n newParams[key] = undefined;\n });\n return newParams;\n }, [serviceConfig]);\n\n // 判断必要参数是否完整\n const validateRequiredParamsComplete = hooks.useCallbackRef(\n (params?: TPlainObject) => {\n const keys = serviceConfig?.requiredParamsKeys;\n if (keys?.length) {\n const target = keys.find((item) => {\n return isUndefinedOrNull(params?.[item]);\n });\n if (target) {\n return {\n complete: false,\n message:\n requiredErrorText ||\n `LocalLoading渲染缺少必填参数:${keys.join('、')}`,\n };\n }\n }\n return { complete: true };\n }\n );\n\n const completeResult = useMemo(() => {\n return validateRequiredParamsComplete(serviceConfig.params);\n }, [validateRequiredParamsComplete, serviceConfig.params]);\n\n const onInitRequest = async (params?: TPlainObject) => {\n try {\n const mergeProps = { ...serviceParams, ...params };\n setLoading(true);\n const respData = await serviceConfig.onRequest(mergeProps);\n setStatus('success');\n setRespData(respData);\n hiddenRequiredErrorRenderRef.current = false;\n } catch (error: TAny) {\n console.error(error);\n setStatus('error');\n errorRef.current = error.message;\n hiddenRequiredErrorRenderRef.current = false;\n } finally {\n setLoading(false);\n }\n };\n\n fbaHooks.useEffectCustomAsync(async () => {\n if (completeResult.complete) {\n await onInitRequest();\n }\n }, []);\n\n fbaHooks.useEffectCustom(() => {\n if (completeResult.complete) {\n if (prevParams) {\n if (!isDeepEqual(serviceConfig.params, prevParams)) {\n if (status === 'error') {\n setStatus('init');\n }\n void onInitRequest();\n }\n }\n }\n }, [prevParams, serviceConfig.params]);\n\n useImperativeHandle(ref, () => {\n return { onRefresh: onInitRequest };\n });\n\n if (!completeResult.complete) {\n if (hiddenRequiredErrorRenderRef.current || !showRequiredError) {\n return <Fragment />;\n }\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={classNames('local-loading-error', props.className)}>\n <div className=\"local-loading-area\"></div>\n <Result status=\"error\" subTitle={completeResult.message} />\n </div>\n </LocalLoadingCtxProvider>\n );\n }\n\n if (status === 'error') {\n if (errorRender) {\n return errorRender({ message: errorRef.current });\n }\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={classNames('local-loading-error', props.className)}>\n <div className=\"local-loading-area\"></div>\n <Result\n status=\"error\"\n subTitle={errorRef.current || '数据处理异常'}\n extra={[\n <Button\n type=\"primary\"\n ghost\n key=\"console\"\n size=\"small\"\n onClick={() => {\n setStatus('init');\n void onInitRequest();\n }}\n >\n 重新获取\n </Button>,\n ]}\n />\n </div>\n </LocalLoadingCtxProvider>\n );\n }\n\n if (status !== 'success' && !isAsync) {\n return (\n <div\n className={classNames('fba-local-loading-process', props.className)}\n style={{\n height: loadingHeight,\n display: 'flex',\n justifyContent: 'center',\n position: 'relative',\n backgroundColor: 'var(--block-bg-color)',\n }}\n >\n <Spin\n spinning={loading}\n tip={loadingSpinTip}\n wrapperClassName=\"local-loading-spin-wrapper\"\n className=\"local-loading-spin\"\n style={\n {\n '--local-loading-spin-bgColor': loadingSpinBgColor,\n } as CSSProperties\n }\n >\n {loadingSpinContent}\n </Spin>\n </div>\n );\n }\n\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div\n className={classNames('fba-local-loading', props.className)}\n style={props.style}\n >\n {loading ? (\n <Spin\n spinning={loading}\n tip={loadingSpinTip}\n wrapperClassName=\"local-loading-spin-wrapper\"\n className=\"local-loading-spin\"\n style={\n {\n '--local-loading-spin-bgColor': loadingSpinBgColor,\n } as CSSProperties\n }\n >\n {loadingSpinContent}\n </Spin>\n ) : null}\n <div className=\"local-loading-content\" style={props.contentStyle}>\n {children(respData)}\n </div>\n </div>\n </LocalLoadingCtxProvider>\n );\n});\n","import type { TPlainObject } from '@flatbiz/utils';\nimport { fbaUtils } from '../fba-utils/fba-utils.js';\nimport { useLocalLoadingCtx } from './context.js';\nimport { LocalLoadingInner } from './local-loading.jsx';\n\n/**\n * 局部加载,包含接口数据处理逻辑\n * ```\n * 包括\n * 1. loading显示效果、error显示效果、获取服务数据\n * 2. 当 serviceConfig.params 值与上一次值不相等时,会主动发起服务调用\n * 3. 通过 serviceConfig.requiredParamsKeys 设置服务调用必填字段\n * 4. 通过 ref.onRequest 可主动发起服务调用\n * 5. 子组件通过下面方式主动发起服务调用\n * const localLoadingApi = LocalLoading.useLocalLoading();\n * localLoadingApi.onRequest();\n * ```\n */\nexport const LocalLoading = fbaUtils.attachPropertiesToComponent(\n LocalLoadingInner,\n {\n useLocalLoading: () => {\n const ctx = useLocalLoadingCtx();\n return {\n onRequest: (params?: TPlainObject) => {\n ctx.onRequest(params);\n },\n };\n },\n }\n);\n"],"names":["_createCtx","_createCtx3","_createCtx2","_slicedToArray","useLocalLoadingCtx","LocalLoadingCtxProvider","LocalLoadingInner","forwardRef","props","ref","serviceConfig","isAsync","children","errorRender","loadingSpinProps","textConfigs","showRequiredError","_useState","useState","_useState2","status","setStatus","_useState3","_useState4","respData","setRespData","loadingHeight","undefined","_useState5","_useState6","loading","setLoading","errorRef","useRef","hiddenRequiredErrorRenderRef","prevParams","fbaHooks","usePrevious","params","loadingSpinContent","getValueOrDefault","content","_jsx","loadingSpinBgColor","bgColor","loadingSpinTip","tip","requiredErrorText","serviceParams","useMemo","_serviceConfig$invali","toArray","invalidParamKey","length","newParams","_objectSpread","forEach","key","validateRequiredParamsComplete","_hooks","useCallbackRef","keys","requiredParamsKeys","target","find","item","isUndefinedOrNull","complete","message","concat","join","completeResult","onInitRequest","Promise","$return","$error","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","call","$boundEx","bind","mergeProps","_respData","$Try_1_Post","$Try_1_Catch","error","console","current","resolve","onRequest","then","$await_3","useEffectCustomAsync","$await_4","$If_2","useEffectCustom","_isDeepEqual","useImperativeHandle","onRefresh","Fragment","value","_jsxs","className","_classNames","Result","subTitle","extra","Button","type","ghost","size","onClick","style","height","display","justifyContent","position","backgroundColor","Spin","spinning","wrapperClassName","contentStyle","LocalLoading","fbaUtils","attachPropertiesToComponent","useLocalLoading","ctx"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/local-loading/context.ts","@flatbiz/antd/src/local-loading/local-loading.tsx","@flatbiz/antd/src/local-loading/index.ts"],"sourcesContent":["import type { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useLocalLoadingCtx, LocalLoadingCtxProvider] = createCtx<{\n onRequest: (params?: TPlainObject) => void;\n}>();\n","import type { CSSProperties, ReactElement } from 'react';\nimport {\n forwardRef,\n Fragment,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Button, Result, Spin } from 'antd';\nimport { isDeepEqual } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { getValueOrDefault, isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { LocalLoadingCtxProvider } from './context.js';\nimport './style.less';\n\nexport type LocalLoadingServiceConfig = {\n onRequest: (params?: TAny) => Promise<TAny>;\n params?: TPlainObject;\n /** 标记serviceConfig.params中无效参数,被设置的params key 不传入服务接口入参 */\n invalidParamKey?: string[];\n /** 必填字段设置 */\n requiredParamsKeys?: string[];\n};\n\nexport interface LocalLoadingProps {\n className?: string;\n style?: CSSProperties;\n contentStyle?: CSSProperties;\n /** 接口数据配置 */\n serviceConfig: LocalLoadingServiceConfig;\n /** children 为函数,参数【respData】为接口返回数据 */\n children: (respData?: TAny) => ReactElement;\n /**\n * 是否异步,默认:false\n * ```\n * true(异步):onRequest、react dom渲染同步执行\n * false(同步):onRequest有结果了才渲染 react dom\n * ```\n */\n isAsync?: boolean;\n /** loading高度,默认值:100;isAsync = true 无效 */\n loadingHeight?: number | string;\n /** loading spin 属性设置 */\n loadingSpinProps?: {\n /** loading tip,默认值:Loading */\n tip?: string;\n /** loading 内容 */\n content?: ReactElement;\n /** 背景色,默认值:rgba(0,0,0,0.01) */\n bgColor?: string;\n };\n textConfigs?: {\n /** 必填异常文本 */\n requiredErrorText?: string;\n };\n /** 是否显示必填异常 */\n showRequiredError?: boolean;\n /** 自定义异常渲染处理 */\n errorRender?: (error?: TAny) => ReactElement;\n /** 设置内部滚动,需要设置 style.height 才能生效,@5.0.16 */\n contentScroll?: boolean;\n /** 设置高度 */\n height?: number | string;\n}\n\nexport type LocalLoadingRefApi = {\n onRefresh: (params?: TPlainObject) => void;\n};\n\n/**\n * 局部加载,包含接口数据处理逻辑\n * ```\n * 包括\n * 1. loading显示效果、error显示效果、获取服务数据\n * 2. 当 serviceConfig.params 值与上一次值不相等时,会主动发起服务调用\n * 3. 通过 serviceConfig.requiredParamsKeys 设置服务调用必填字段\n * 4. 通过 ref.onRequest 可主动发起服务调用\n * 5. 子组件通过下面方式主动发起服务调用\n * const localLoadingApi = LocalLoading.useLocalLoading();\n * localLoadingApi.onRequest();\n * 6. 如果内部需要滚动条,可设置 contentScroll = true (外部有高度或者设置style.height 才能生效)\n * ```\n */\nexport const LocalLoadingInner = forwardRef<\n LocalLoadingRefApi,\n LocalLoadingProps\n>((props, ref) => {\n const {\n serviceConfig,\n isAsync,\n children,\n errorRender,\n loadingSpinProps,\n textConfigs,\n showRequiredError,\n contentScroll,\n contentStyle,\n height,\n } = props;\n const [status, setStatus] = useState<\n 'success' | 'error' | 'required_error' | 'init'\n >('init');\n const [respData, setRespData] = useState<TAny>();\n const loadingHeight =\n props.loadingHeight === undefined ? 100 : props.loadingHeight;\n const [loading, setLoading] = useState<boolean>(false);\n const errorRef = useRef<string>();\n const hiddenRequiredErrorRenderRef = useRef(true);\n\n const prevParams = fbaHooks.usePrevious(serviceConfig.params);\n\n const loadingSpinContent = getValueOrDefault(\n loadingSpinProps?.content,\n <span />\n );\n const loadingSpinBgColor = getValueOrDefault(\n loadingSpinProps?.bgColor,\n 'rgba(0,0,0,0.01)'\n );\n const loadingSpinTip = getValueOrDefault(loadingSpinProps?.tip, 'Loading');\n\n const requiredErrorText = textConfigs?.requiredErrorText;\n\n // 用于直接发起接口调用,不能用于比较\n const serviceParams = useMemo(() => {\n if (\n !serviceConfig.params ||\n toArray(serviceConfig.invalidParamKey).length === 0\n ) {\n return serviceConfig.params;\n }\n const newParams = { ...serviceConfig.params };\n serviceConfig.invalidParamKey?.forEach((key) => {\n newParams[key] = undefined;\n });\n return newParams;\n }, [serviceConfig]);\n\n // 判断必要参数是否完整\n const validateRequiredParamsComplete = hooks.useCallbackRef(\n (params?: TPlainObject) => {\n const keys = serviceConfig?.requiredParamsKeys;\n if (keys?.length) {\n const target = keys.find((item) => {\n return isUndefinedOrNull(params?.[item]);\n });\n if (target) {\n return {\n complete: false,\n message:\n requiredErrorText ||\n `LocalLoading渲染缺少必填参数:${keys.join('、')}`,\n };\n }\n }\n return { complete: true };\n }\n );\n\n const completeResult = useMemo(() => {\n return validateRequiredParamsComplete(serviceConfig.params);\n }, [validateRequiredParamsComplete, serviceConfig.params]);\n\n const onInitRequest = async (params?: TPlainObject) => {\n try {\n const mergeProps = { ...serviceParams, ...params };\n setLoading(true);\n const respData = await serviceConfig.onRequest(mergeProps);\n setStatus('success');\n setRespData(respData);\n hiddenRequiredErrorRenderRef.current = false;\n } catch (error: TAny) {\n console.error(error);\n setStatus('error');\n errorRef.current = error.message;\n hiddenRequiredErrorRenderRef.current = false;\n } finally {\n setLoading(false);\n }\n };\n\n fbaHooks.useEffectCustomAsync(async () => {\n if (completeResult.complete) {\n await onInitRequest();\n }\n }, []);\n\n fbaHooks.useEffectCustom(() => {\n if (completeResult.complete) {\n if (prevParams) {\n if (!isDeepEqual(serviceConfig.params, prevParams)) {\n if (status === 'error') {\n setStatus('init');\n }\n void onInitRequest();\n }\n }\n }\n }, [prevParams, serviceConfig.params]);\n\n useImperativeHandle(ref, () => {\n return { onRefresh: onInitRequest };\n });\n\n if (!completeResult.complete) {\n if (hiddenRequiredErrorRenderRef.current || !showRequiredError) {\n return <Fragment />;\n }\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={classNames('local-loading-error', props.className)}>\n <div className=\"local-loading-area\"></div>\n <Result status=\"error\" subTitle={completeResult.message} />\n </div>\n </LocalLoadingCtxProvider>\n );\n }\n\n if (status === 'error') {\n if (errorRender) {\n return errorRender({ message: errorRef.current });\n }\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={classNames('local-loading-error', props.className)}>\n <div className=\"local-loading-area\"></div>\n <Result\n status=\"error\"\n subTitle={errorRef.current || '数据处理异常'}\n extra={[\n <Button\n type=\"primary\"\n ghost\n key=\"console\"\n size=\"small\"\n onClick={() => {\n setStatus('init');\n void onInitRequest();\n }}\n >\n 重新获取\n </Button>,\n ]}\n />\n </div>\n </LocalLoadingCtxProvider>\n );\n }\n\n if (status !== 'success' && !isAsync) {\n return (\n <div\n className={classNames('fba-local-loading-process', props.className)}\n style={{\n height: loadingHeight,\n display: 'flex',\n justifyContent: 'center',\n position: 'relative',\n backgroundColor: 'var(--block-bg-color)',\n }}\n >\n <Spin\n spinning={loading}\n tip={loadingSpinTip}\n wrapperClassName=\"local-loading-spin-wrapper\"\n className=\"local-loading-spin\"\n style={\n {\n '--local-loading-spin-bgColor': loadingSpinBgColor,\n } as CSSProperties\n }\n >\n {loadingSpinContent}\n </Spin>\n </div>\n );\n }\n\n const className = classNames(\n 'fba-local-loading',\n { 'fll-content-scroll': contentScroll },\n props.className\n );\n\n const rootStyle = { height, ...props.style };\n\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={className} style={rootStyle}>\n {loading ? (\n <Spin\n spinning={loading}\n tip={loadingSpinTip}\n wrapperClassName=\"local-loading-spin-wrapper\"\n className=\"local-loading-spin\"\n style={\n {\n '--local-loading-spin-bgColor': loadingSpinBgColor,\n } as CSSProperties\n }\n >\n {loadingSpinContent}\n </Spin>\n ) : null}\n <div className=\"local-loading-content\" style={contentStyle}>\n {children(respData)}\n </div>\n </div>\n </LocalLoadingCtxProvider>\n );\n});\n","import type { TPlainObject } from '@flatbiz/utils';\nimport { fbaUtils } from '../fba-utils/fba-utils.js';\nimport { useLocalLoadingCtx } from './context.js';\nimport { LocalLoadingInner } from './local-loading.jsx';\n\n/**\n * 局部加载,包含接口数据处理逻辑\n * ```\n * 包括\n * 1. loading显示效果、error显示效果、获取服务数据\n * 2. 当 serviceConfig.params 值与上一次值不相等时,会主动发起服务调用\n * 3. 通过 serviceConfig.requiredParamsKeys 设置服务调用必填字段\n * 4. 通过 ref.onRequest 可主动发起服务调用\n * 5. 子组件通过下面方式主动发起服务调用\n * const localLoadingApi = LocalLoading.useLocalLoading();\n * localLoadingApi.onRequest();\n * 6. 如果内部需要滚动条,可设置 contentScroll = true (外部有高度或者设置style.height 才能生效)\n * ```\n */\nexport const LocalLoading = fbaUtils.attachPropertiesToComponent(\n LocalLoadingInner,\n {\n useLocalLoading: () => {\n const ctx = useLocalLoadingCtx();\n return {\n onRequest: (params?: TPlainObject) => {\n ctx.onRequest(params);\n },\n };\n },\n }\n);\n"],"names":["_createCtx","_createCtx3","_createCtx2","_slicedToArray","useLocalLoadingCtx","LocalLoadingCtxProvider","LocalLoadingInner","forwardRef","props","ref","serviceConfig","isAsync","children","errorRender","loadingSpinProps","textConfigs","showRequiredError","contentScroll","contentStyle","height","_useState","useState","_useState2","status","setStatus","_useState3","_useState4","respData","setRespData","loadingHeight","undefined","_useState5","_useState6","loading","setLoading","errorRef","useRef","hiddenRequiredErrorRenderRef","prevParams","fbaHooks","usePrevious","params","loadingSpinContent","getValueOrDefault","content","_jsx","loadingSpinBgColor","bgColor","loadingSpinTip","tip","requiredErrorText","serviceParams","useMemo","_serviceConfig$invali","toArray","invalidParamKey","length","newParams","_objectSpread","forEach","key","validateRequiredParamsComplete","_hooks","useCallbackRef","keys","requiredParamsKeys","target","find","item","isUndefinedOrNull","complete","message","concat","join","completeResult","onInitRequest","Promise","$return","$error","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","call","$boundEx","bind","mergeProps","_respData","$Try_1_Post","$Try_1_Catch","error","console","current","resolve","onRequest","then","$await_3","useEffectCustomAsync","$await_4","$If_2","useEffectCustom","_isDeepEqual","useImperativeHandle","onRefresh","Fragment","value","_jsxs","className","_classNames","Result","subTitle","extra","Button","type","ghost","size","onClick","style","display","justifyContent","position","backgroundColor","Spin","spinning","wrapperClassName","rootStyle","LocalLoading","fbaUtils","attachPropertiesToComponent","useLocalLoading","ctx"],"mappings":"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"}
@@ -63,11 +63,13 @@ var TabsSticky = function TabsSticky(props) {
63
63
  var contentTabItems = useMemo(function () {
64
64
  var _tabsProps$items2;
65
65
  return (_tabsProps$items2 = tabsProps.items) === null || _tabsProps$items2 === void 0 ? void 0 : _tabsProps$items2.map(function (item) {
66
+ var _props$tabItemContent;
67
+ var wrapperStyle = (_props$tabItemContent = props.tabItemContentWrapperStyle) === null || _props$tabItemContent === void 0 ? void 0 : _props$tabItemContent.call(props, item.key);
66
68
  return _objectSpread2(_objectSpread2({}, item), {}, {
67
69
  children: /*#__PURE__*/jsx("div", {
68
- style: {
70
+ style: _objectSpread2({
69
71
  minHeight: minHeight
70
- },
72
+ }, wrapperStyle),
71
73
  children: item.children
72
74
  })
73
75
  });
@@ -113,4 +115,4 @@ var TabsSticky = function TabsSticky(props) {
113
115
  };
114
116
 
115
117
  export { TabsSticky as T };
116
- //# sourceMappingURL=tabs-D2IfpmxW.js.map
118
+ //# sourceMappingURL=tabs-CbMuUsXN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs-CbMuUsXN.js","sources":["@flatbiz/antd/src/tabs-sticky/tabs.tsx"],"sourcesContent":["import {\n type CSSProperties,\n type ReactElement,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useSize } from 'ahooks';\nimport { Affix, type GetProps, Tabs } from 'antd';\nimport './style.less';\n\ntype TabsType = GetProps<typeof Tabs>;\n\nexport type TabsStickyProps = {\n tabsProps: Omit<TabsType, 'tabPosition'>;\n /** tabs头部布局 */\n headerRender?: ReactElement;\n /** 点击tabItem后,tab跳到顶部吸顶效果;默认值true */\n clickTabToTop?: boolean;\n /** 设置tabItem 内容包裹元素的样式 */\n tabItemContentWrapperStyle?: (key: string) => CSSProperties;\n};\n\n/**\n * Tabs吸顶组件\n * ```\n * 1. 组件根节点设置了 height: 100%、overflow: auto;所以外部包裹元素必须要有高度\n * ```\n */\nexport const TabsSticky = (props: TabsStickyProps) => {\n const tabsProps = props.tabsProps;\n\n const [activeKey, setActiveKey] = useState(tabsProps.defaultActiveKey);\n const headerRef = useRef<HTMLDivElement>(null);\n const affixRef = useRef<any>(null);\n const affixedFlagRef = useRef<boolean>();\n\n const headerSize = useSize(headerRef);\n\n const scollNodeRef = useRef<any>(null);\n\n const scollNodeSize = useSize(scollNodeRef);\n const affixRefSize = useSize(affixRef);\n\n useEffect(() => {\n if (tabsProps.activeKey) {\n setActiveKey(tabsProps.activeKey);\n }\n }, [tabsProps.activeKey]);\n\n const onChange = (activeKey) => {\n if (!tabsProps.activeKey) {\n setActiveKey(activeKey);\n }\n tabsProps.onChange?.(activeKey);\n const top = headerSize?.height || 0;\n if (affixedFlagRef.current) {\n scollNodeRef.current?.scrollTo({\n top,\n });\n } else {\n if (props.clickTabToTop !== false) {\n scollNodeRef.current?.scrollTo({\n top,\n });\n }\n }\n };\n\n const minHeight = (scollNodeSize?.height || 0) - (affixRefSize?.height || 0);\n\n const stickyTabItems = useMemo(() => {\n return tabsProps.items?.map((item) => {\n return {\n ...item,\n children: null,\n };\n });\n }, [tabsProps.items]);\n\n const contentTabItems = useMemo(() => {\n return tabsProps.items?.map((item) => {\n const wrapperStyle = props.tabItemContentWrapperStyle?.(item.key);\n return {\n ...item,\n children: (\n <div style={{ minHeight, ...wrapperStyle }}>{item.children}</div>\n ),\n };\n });\n }, [tabsProps.items, minHeight]);\n\n return (\n <div ref={scollNodeRef} style={{ height: '100%', overflowY: 'auto' }}>\n <div ref={headerRef}>{props.headerRender}</div>\n <Affix\n offsetTop={0}\n target={() => scollNodeRef.current as HTMLElement}\n onChange={(affixed) => {\n affixedFlagRef.current = affixed;\n }}\n >\n <div ref={affixRef}>\n <Tabs\n {...tabsProps}\n activeKey={activeKey}\n items={stickyTabItems}\n tabBarStyle={{ ...tabsProps.tabBarStyle, margin: 0 }}\n style={{\n backgroundColor: 'var(--block-bg-color)',\n ...tabsProps.style,\n }}\n onChange={onChange}\n />\n </div>\n </Affix>\n <Tabs\n activeKey={activeKey}\n className=\"tabs-sticky-contents\"\n items={contentTabItems}\n />\n </div>\n );\n};\n"],"names":["TabsSticky","props","tabsProps","_useState","useState","defaultActiveKey","_useState2","_slicedToArray","activeKey","setActiveKey","headerRef","useRef","affixRef","affixedFlagRef","headerSize","useSize","scollNodeRef","scollNodeSize","affixRefSize","useEffect","onChange","_tabsProps$onChange","call","top","height","current","_scollNodeRef$current","scrollTo","clickTabToTop","_scollNodeRef$current2","minHeight","stickyTabItems","useMemo","_tabsProps$items","items","map","item","_objectSpread","children","contentTabItems","_tabsProps$items2","_props$tabItemContent","wrapperStyle","tabItemContentWrapperStyle","key","_jsx","style","_jsxs","ref","overflowY","headerRender","Affix","offsetTop","target","affixed","Tabs","tabBarStyle","margin","backgroundColor","className"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { GetProps, Tabs } from 'antd';
2
- import { ReactElement } from 'react';
2
+ import { CSSProperties, ReactElement } from 'react';
3
3
 
4
4
  export type TabsType = GetProps<typeof Tabs>;
5
5
  export type TabsStickyProps = {
@@ -8,6 +8,8 @@ export type TabsStickyProps = {
8
8
  headerRender?: ReactElement;
9
9
  /** 点击tabItem后,tab跳到顶部吸顶效果;默认值true */
10
10
  clickTabToTop?: boolean;
11
+ /** 设置tabItem 内容包裹元素的样式 */
12
+ tabItemContentWrapperStyle?: (key: string) => CSSProperties;
11
13
  };
12
14
  /**
13
15
  * Tabs吸顶组件
@@ -2,7 +2,7 @@
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
4
 
5
- export { T as TabsSticky } from '../tabs-D2IfpmxW.js';
5
+ export { T as TabsSticky } from '../tabs-CbMuUsXN.js';
6
6
  import '../_rollupPluginBabelHelpers-BYm17lo8.js';
7
7
  import 'react';
8
8
  import 'ahooks';
@@ -20,6 +20,8 @@ export type UploadWrapperProps<T extends TPlainObject = TPlainObject> = {
20
20
  uid: string;
21
21
  name?: string;
22
22
  url?: string;
23
+ /** 文件大小 */
24
+ size?: string | number;
23
25
  };
24
26
  /**
25
27
  * 接口响应数据适配器,如果配置了fieldNames,适配器返回值会再进过fieldNames转换
@@ -36,6 +38,10 @@ export type UploadWrapperProps<T extends TPlainObject = TPlainObject> = {
36
38
  * ```
37
39
  */
38
40
  autoSubmit?: boolean;
41
+ /** 图片预览开关, 重写 onPreview 方法后失效 */
42
+ imagePreviewSwitch?: boolean;
43
+ /** 图片预览文件类型,默认:['png', 'jpg', 'jpeg', 'gif'] */
44
+ imagePreviewAccept?: string[];
39
45
  } & Omit<UploadProps, "onChange" | "fileList">;
40
46
  /**
41
47
  * 文件上传
@@ -65,7 +71,15 @@ export type UploadWrapperProps<T extends TPlainObject = TPlainObject> = {
65
71
  * name(非必填): 'image.png',
66
72
  * url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',
67
73
  * }]
68
- * 其中 uid、name、url 可为其他命名,通过 fieldNames 进行映射即可
74
+ * 1. 其中 uid、name、url 可为其他命名,通过 fieldNames 进行映射即可,
75
+ * 2. 其他需要的字段可在对象中添加 responseData 对象
76
+ * 例如:
77
+ * [{
78
+ * uid: '唯一值',
79
+ * name(非必填): 'image.png',
80
+ * url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',
81
+ * responseData: { 'xx':'xxx' }
82
+ * }]
69
83
  * ```
70
84
  *
71
85
  */
@@ -3,11 +3,11 @@ import './../fba-hooks/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
5
 
6
- export { U as UploadWrapper } from '../upload-wrapper-CSmbSn4P.js';
6
+ export { U as UploadWrapper } from '../upload-wrapper-DarS_SOE.js';
7
7
  import '@ant-design/icons/es/icons/PlusOutlined.js';
8
- import '../_rollupPluginBabelHelpers-BYm17lo8.js';
9
8
  import '@dimjs/utils/class-names/class-names';
10
9
  import '@wove/react/hooks';
10
+ import '../_rollupPluginBabelHelpers-BYm17lo8.js';
11
11
  import '@dimjs/lang/is-plain-object';
12
12
  import '@dimjs/utils/extend/extend';
13
13
  import 'react';