@flatbiz/antd 4.2.94 → 4.2.95

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 (63) hide show
  1. package/esm/button-operate/index.js +1 -1
  2. package/esm/button-operate/index.js.map +1 -1
  3. package/esm/button-wrapper/index.js +1 -1
  4. package/esm/button-wrapper/index.js.map +1 -1
  5. package/esm/color-picker-wrapper/index.js +2 -1
  6. package/esm/color-picker-wrapper/index.js.map +1 -1
  7. package/esm/config-provider-wrapper/index.js +1 -1
  8. package/esm/config-provider-wrapper/index.js.map +1 -1
  9. package/esm/date-range-picker-wrapper-form-item/index.js +2 -1
  10. package/esm/date-range-picker-wrapper-form-item/index.js.map +1 -1
  11. package/esm/dialog-alert/index.js +1 -1
  12. package/esm/dialog-alert/index.js.map +1 -1
  13. package/esm/dialog-confirm/index.js +1 -1
  14. package/esm/dialog-confirm/index.js.map +1 -1
  15. package/esm/dialog-drawer/index.js +1 -1
  16. package/esm/dialog-drawer/index.js.map +1 -1
  17. package/esm/dialog-drawer-content/index.js +1 -1
  18. package/esm/dialog-drawer-content/index.js.map +1 -1
  19. package/esm/dialog-modal/index.js +1 -1
  20. package/esm/dialog-modal/index.js.map +1 -1
  21. package/esm/drag-collapse-form-list/index.js +1 -1
  22. package/esm/drag-collapse-form-list/index.js.map +1 -1
  23. package/esm/drag-form-list/index.js +6 -1
  24. package/esm/drag-form-list/index.js.map +1 -1
  25. package/esm/drag-table/index.js +2 -1
  26. package/esm/drag-table/index.js.map +1 -1
  27. package/esm/dropdown-menu-wrapper/index.js +1 -1
  28. package/esm/dropdown-menu-wrapper/index.js.map +1 -1
  29. package/esm/easy-table/index.js +1 -1
  30. package/esm/easy-table/index.js.map +1 -1
  31. package/esm/editable-table/index.js +1 -1
  32. package/esm/editable-table/index.js.map +1 -1
  33. package/esm/error-boundary-wrapper/index.js +2 -1
  34. package/esm/error-boundary-wrapper/index.js.map +1 -1
  35. package/esm/fba-app/index.js +5 -2
  36. package/esm/fba-app/index.js.map +1 -1
  37. package/esm/form-item-hidden/index.js.map +1 -1
  38. package/esm/form-item-text/index.css +1 -1
  39. package/esm/form-item-text/index.js +5 -1
  40. package/esm/form-item-text/index.js.map +1 -1
  41. package/esm/form-list-wrapper/index.js +6 -1
  42. package/esm/form-list-wrapper/index.js.map +1 -1
  43. package/esm/index-34027e61.js +3 -0
  44. package/esm/index-34027e61.js.map +1 -0
  45. package/esm/index.js +5 -4
  46. package/esm/search-menu/index.css +1 -0
  47. package/esm/search-menu/index.js +1 -1
  48. package/esm/search-menu/index.js.map +1 -1
  49. package/esm/table-cell-render/index.js +1 -1
  50. package/esm/table-cell-render/index.js.map +1 -1
  51. package/esm/text-css-ellipsis/index.js +2 -1
  52. package/esm/text-css-ellipsis/index.js.map +1 -1
  53. package/esm/text-overflow-render/index.js +1 -1
  54. package/esm/text-overflow-render/index.js.map +1 -1
  55. package/esm/text-symbol-wrapper/index.css +1 -0
  56. package/esm/text-symbol-wrapper/index.js +5 -0
  57. package/esm/text-symbol-wrapper/index.js.map +1 -0
  58. package/esm/tree-wrapper/index.js +1 -1
  59. package/esm/tree-wrapper/index.js.map +1 -1
  60. package/index.d.ts +129 -39
  61. package/package.json +1 -1
  62. package/esm/index-ac189a77.js +0 -3
  63. package/esm/index-ac189a77.js.map +0 -1
@@ -1,5 +1,9 @@
1
1
  /* eslint-disable */
2
+ import './../text-css-ellipsis/index.css';
3
+ import './../fba-hooks/index.css';
4
+ import './../form-item-wrapper/index.css';
5
+ import './../form-item-hidden/index.css';
2
6
  import './index.css';
3
7
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{a as r,_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as a}from"@dimjs/utils/cjs/class-names";import{TextCssEllipsis as t}from"@flatbiz/antd";import{Form as l}from"antd";import{jsx as n}from"react/jsx-runtime";var o=["wrap","render","placeholderValue"];var m=function r(e){var a=typeof e.value==="string"?e.value:JSON.stringify(e.value);var l=(e.render?e.render(e.value):a)||e.placeholderValue;return n("span",{className:"form-item-text-content",children:e.wrap?l:n(t,{text:l||""})})};var s=function t(s){var i=s.wrap,p=s.render,u=s.placeholderValue,c=r(s,o);return n(l.Item,e({},c,{className:a("form-item-text",s.className),children:n(m,{wrap:i,render:p,placeholderValue:u})}))};export{s as FormItemText};
8
+ import{classNames as e}from"@dimjs/utils/cjs/class-names";import{_ as r,a as n}from"../_rollupPluginBabelHelpers-a0769acd.js";import{useState as a,useMemo as i,Fragment as t}from"react";import{isUndefinedOrNull as l,toArray as o}from"@flatbiz/utils";import{Spin as s,Form as u,message as m}from"antd";import{TextCssEllipsis as d}from"../text-css-ellipsis/index.js";import{jsx as c,jsxs as f}from"react/jsx-runtime";import{FormItemWrapper as v}from"../form-item-wrapper/index.js";import{isDeepEqual as p}from"@dimjs/lang/cjs/is-deep-equal";import{fbaHooks as h}from"../fba-hooks/index.js";import{FormItemHidden as g}from"../form-item-hidden/index.js";import"ahooks";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";var y=function e(r){var n=function(){if(l(r.value))return r.placeholderValue;return typeof r.value==="string"?r.value:JSON.stringify(r.value)}();var a=r.wrap?n:c(d,{text:n||""});if(r.loading){return c("span",{className:"form-item-text-content fitc-loading",style:r.style,children:c(s,{spinning:r.loading,size:"small",children:c("span",{style:{textIndent:"-9999px",display:"inline-block"},children:"Loading"})})})}return c("span",{className:"form-item-text-content",style:r.style,children:r.render?r.render(r.value):a})};var j=function e(n){var t=n.serviceConfig;var s=a(false),d=s[0],c=s[1];var f=a(),v=f[0],g=f[1];var y=h.usePrevious(t==null?void 0:t.params);var j=a("init"),x=j[0],w=j[1];var P=u.useFormInstance();var V=i((function(){var e;if(!(t!=null&&t.params)||o(t==null?void 0:t.invalidParamKey).length===0){return t==null?void 0:t.params}var n=r({},t==null?void 0:t.params);t==null||(e=t.invalidParamKey)==null?void 0:e.forEach((function(e){n[e]=undefined}));return n}),[t==null?void 0:t.invalidParamKey,t==null?void 0:t.params]);var N=function e(a){return new Promise((function(e,i){var o=function(e){return function(r){try{c(false);return e&&e.call(this,r)}catch(e){return i(e)}}.bind(this)}.bind(this);var s,u,f,v,p,h;if(!t)return e();u=r({},V,a);if(t!=null&&(s=t.requiredParamsKeys)!=null&&s.length){f=t==null?void 0:t.requiredParamsKeys.find((function(e){return l(u[e])}));if(f){console.warn("FormItemText组件:参数:"+(t==null?void 0:t.requiredParamsKeys.join("、"))+"不能为空");return e()}}var y=function(){try{return e()}catch(e){return i(e)}};var j=function(e){try{console.error(e);w("error");void m.error((e==null?void 0:e.message)||"接口调用异常");return o(y)()}catch(e){return o(i)(e)}};try{if(!d)c(true);return Promise.resolve(t.onRequest(u)).then((function(e){try{v=e;p=n.name?P.getFieldValue(n.name):undefined;h=t.onResponseAdapter?t.onResponseAdapter(v,p):v;g(h);w("success");return o(y)()}catch(e){return j(e)}}),j)}catch(e){j(e)}}))};h.useEffectCustomAsync(N,[]);h.useEffectCustom((function(){if(!t)return;if(y){if(!p(t.params,y)){void N()}}}),[y,t==null?void 0:t.params]);if(!t){return undefined}return{loading:d,status:x,viewValue:v}};var x=["wrap","render","placeholderValue"];var w=function a(i){var t=i.wrap,l=i.render,o=i.placeholderValue,s=n(i,x);var u=j({serviceConfig:i.serviceConfig,name:i.name});return c(v,r({},s,{name:undefined,className:e("form-item-text",i.className),children:c(y,{loading:u==null?void 0:u.loading,wrap:t,render:l,placeholderValue:o,value:u==null?void 0:u.viewValue})}))};var P=["wrap","render","placeholderValue"];var V=function a(i){var l=i.wrap,o=i.render,s=i.placeholderValue,u=n(i,P);if(i.serviceConfig){return f(t,{children:[c(g,{name:i.name}),c(w,r({},i))]})}return c(v,r({},u,{className:e("form-item-text",i.className),children:c(y,{wrap:l,render:o,placeholderValue:s})}))};export{V as FormItemText};
5
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-item-text/form-item-text.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { TextCssEllipsis } from '@flatbiz/antd';\nimport { type TAny } from '@flatbiz/utils';\nimport { Form, type FormItemProps } from 'antd';\nimport './style.less';\n\ntype FormItemTextProps = FormItemProps & {\n /** 是否换行,默认不换行,超出省略(鼠标悬浮可显示) */\n wrap?: boolean;\n /** 自定义数据显示 */\n render?: (value?: TAny) => string;\n /** 占位值,当 value 为 ''、undefined、null时显示 */\n placeholderValue?: string;\n};\n\nconst FormItemTextContent = (\n props: Pick<FormItemTextProps, 'render' | 'wrap' | 'placeholderValue'> & { value?: string },\n) => {\n const originalValue = typeof props.value === 'string' ? props.value : JSON.stringify(props.value);\n const value = (props.render ? props.render(props.value) : originalValue) || props.placeholderValue;\n\n return (\n <span className=\"form-item-text-content\">\n {props.wrap ? value : <TextCssEllipsis text={value || ''} />}\n </span>\n );\n};\n\n/**\n * FormItem 文本显示,默认不换行,超出省略(鼠标悬浮可显示)\n * @param props\n * @returns\n */\nexport const FormItemText = (props: FormItemTextProps) => {\n const { wrap, render, placeholderValue, ...otherProps } = props;\n\n return (\n <Form.Item {...otherProps} className={classNames('form-item-text', props.className)}>\n <FormItemTextContent wrap={wrap} render={render} placeholderValue={placeholderValue} />\n </Form.Item>\n );\n};\n"],"names":["FormItemTextContent","props","originalValue","value","JSON","stringify","render","placeholderValue","_jsx","className","children","wrap","TextCssEllipsis","text","FormItemText","otherProps","_objectWithoutPropertiesLoose","_excluded","Form","Item","_extends","_classNames"],"mappings":";6RAeA,IAAMA,EAAsB,SAAtBA,EACJC,GAEA,IAAMC,SAAuBD,EAAME,QAAU,SAAWF,EAAME,MAAQC,KAAKC,UAAUJ,EAAME,OAC3F,IAAMA,GAASF,EAAMK,OAASL,EAAMK,OAAOL,EAAME,OAASD,IAAkBD,EAAMM,iBAElF,OACEC,EAAA,OAAA,CAAMC,UAAU,yBAAwBC,SACrCT,EAAMU,KAAOR,EAAQK,EAACI,EAAe,CAACC,KAAMV,GAAS,MAG5D,MAOaW,EAAe,SAAfA,EAAgBb,GAC3B,IAAQU,EAAkDV,EAAlDU,KAAML,EAA4CL,EAA5CK,OAAQC,EAAoCN,EAApCM,iBAAqBQ,EAAUC,EAAKf,EAAKgB,GAE/D,OACET,EAACU,EAAKC,KAAIC,KAAKL,EAAU,CAAEN,UAAWY,EAAW,iBAAkBpB,EAAMQ,WAAWC,SAClFF,EAACR,EAAmB,CAACW,KAAMA,EAAML,OAAQA,EAAQC,iBAAkBA,MAGzE"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-item-text/content.tsx","@flatbiz/antd/src/form-item-text/use-request.tsx","@flatbiz/antd/src/form-item-text/request-text.tsx","@flatbiz/antd/src/form-item-text/form-item-text.tsx"],"sourcesContent":["import { isUndefinedOrNull } from '@flatbiz/utils';\nimport { Spin } from 'antd';\nimport { type CSSProperties } from 'react';\nimport { TextCssEllipsis } from '../text-css-ellipsis';\nimport { type FormItemTextProps } from './types';\n\nexport const FormItemTextContent = (\n props: Pick<FormItemTextProps, 'render' | 'wrap' | 'placeholderValue'> & {\n value?: string;\n style?: CSSProperties;\n loading?: boolean;\n },\n) => {\n const originalValue = (function () {\n if (isUndefinedOrNull(props.value)) return props.placeholderValue;\n return typeof props.value === 'string' ? props.value : JSON.stringify(props.value);\n })();\n const valueFt = props.wrap ? originalValue : <TextCssEllipsis text={originalValue || ''} />;\n if (props.loading) {\n return (\n <span className=\"form-item-text-content fitc-loading\" style={props.style}>\n <Spin spinning={props.loading} size=\"small\">\n <span style={{ textIndent: '-9999px', display: 'inline-block' }}>Loading</span>\n </Spin>\n </span>\n );\n }\n return (\n <span className=\"form-item-text-content\" style={props.style}>\n {props.render ? props.render(props.value) : valueFt}\n </span>\n );\n};\n","import { isDeepEqual } from '@dimjs/lang';\nimport { isUndefinedOrNull, toArray, type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { Form, message } from 'antd';\nimport { useMemo, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { FormItemWrapperProps } from '../form-item-wrapper';\nimport { type FormItemTextServiceConfig } from './types';\n\nexport const useRequestFormItemText = (props: {\n serviceConfig?: FormItemTextServiceConfig;\n name?: FormItemWrapperProps['name'];\n}) => {\n const serviceConfig = props.serviceConfig;\n const [loading, setLoading] = useState(false);\n const [respData, setRespData] = useState<TAny>();\n const prevParams = fbaHooks.usePrevious(serviceConfig?.params);\n const [status, setStatus] = useState<'success' | 'error' | 'init'>('init');\n const form = Form.useFormInstance();\n\n // 用于直接发起接口调用,不能用于比较\n const serviceParams = useMemo(() => {\n if (!serviceConfig?.params || toArray(serviceConfig?.invalidParamKey).length === 0) {\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?.invalidParamKey, serviceConfig?.params]);\n\n const onInnerRequest = async (params?: TPlainObject) => {\n if (!serviceConfig) return;\n const mergeProps = { ...serviceParams, ...params };\n if (serviceConfig?.requiredParamsKeys?.length) {\n const target = serviceConfig?.requiredParamsKeys.find((item) => {\n return isUndefinedOrNull(mergeProps[item]);\n });\n if (target) {\n console.warn(`FormItemText组件:参数:${serviceConfig?.requiredParamsKeys.join('、')}不能为空`);\n return;\n }\n }\n try {\n if (!loading) setLoading(true);\n const respData = await serviceConfig.onRequest(mergeProps);\n const value = props.name ? form.getFieldValue(props.name) : undefined;\n const respDataFt = serviceConfig.onResponseAdapter\n ? serviceConfig.onResponseAdapter(respData, value)\n : respData;\n setRespData(respDataFt);\n setStatus('success');\n } catch (error: TAny) {\n console.error(error);\n setStatus('error');\n void message.error(error?.message || '接口调用异常');\n } finally {\n setLoading(false);\n }\n };\n\n fbaHooks.useEffectCustomAsync(onInnerRequest, []);\n\n fbaHooks.useEffectCustom(() => {\n if (!serviceConfig) return;\n if (prevParams) {\n if (!isDeepEqual(serviceConfig.params, prevParams)) {\n void onInnerRequest();\n }\n }\n }, [prevParams, serviceConfig?.params]);\n\n if (!serviceConfig) {\n return undefined;\n }\n\n return { loading, status, viewValue: respData };\n};\n","import { classNames } from '@dimjs/utils';\n\nimport { FormItemWrapper } from '../form-item-wrapper';\nimport { FormItemTextContent } from './content';\nimport { type FormItemTextProps } from './types';\nimport { useRequestFormItemText } from './use-request';\n\n/**\n * FormItem 文本显示,默认不换行,超出省略(鼠标悬浮可显示)\n * @param props\n * @returns\n */\nexport const RequestText = (props: FormItemTextProps) => {\n const { wrap, render, placeholderValue, ...otherProps } = props;\n\n const requestResult = useRequestFormItemText({\n serviceConfig: props.serviceConfig,\n name: props.name,\n });\n\n return (\n <FormItemWrapper\n {...otherProps}\n name={undefined}\n className={classNames('form-item-text', props.className)}\n >\n <FormItemTextContent\n loading={requestResult?.loading}\n wrap={wrap}\n render={render}\n placeholderValue={placeholderValue}\n value={requestResult?.viewValue}\n />\n </FormItemWrapper>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Fragment } from 'react';\n\nimport { FormItemTextContent } from './content';\nimport { RequestText } from './request-text';\nimport { type FormItemTextProps } from './types';\n\nimport { FormItemHidden } from '../form-item-hidden';\nimport { FormItemWrapper } from '../form-item-wrapper';\nimport './style.less';\n/**\n * FormItem 文本显示,默认不换行,超出省略(鼠标悬浮可显示)\n * ```\n * 可通过配置 serviceConfig 通过接口获取数据,一般用于 Select 数据显示\n *\n * 例如:\n * 1. 基本数据渲染\n * <FormItemText name=\"xxx\" label=\"xxx\" />\n * 2. 对象数据渲染\n * <FormItemText\n * name=\"xxx\"\n * label=\"xxx\"\n * render={(value) => {\n * const target = [].find(\n * (item) => item.value === value,\n * );\n * return target ? (\n * <Tag color={target['color']}>{target.label}</Tag>\n * ) : null;\n * }}\n * />\n * 3. 接口数据渲染\n * <FormItemText\n * name=\"xxx\"\n * label=\"xxx\"\n * serviceConfig={{\n * onRequest: () => {\n * return serviceHandle.request('/random/api9468', {}, 'post');\n * },\n * onResponseAdapter: (dataList: TPlainObject[], value) => {\n * return dataList?.find((item) => item.value === value);\n * },\n * }}\n * render={(dataItem) => {\n * return dataItem ? (\n * <Tag style={{ margin: 0 }} color={dataItem['color']}>\n * {dataItem.label}\n * </Tag>\n * ) : null;\n * }}\n * />\n * ```\n */\nexport const FormItemText = (props: FormItemTextProps) => {\n const { wrap, render, placeholderValue, ...otherProps } = props;\n\n if (props.serviceConfig) {\n return (\n <Fragment>\n <FormItemHidden name={props.name} />\n <RequestText {...props} />\n </Fragment>\n );\n }\n\n return (\n <FormItemWrapper {...otherProps} className={classNames('form-item-text', props.className)}>\n <FormItemTextContent wrap={wrap} render={render} placeholderValue={placeholderValue} />\n </FormItemWrapper>\n );\n};\n"],"names":["FormItemTextContent","props","originalValue","isUndefinedOrNull","value","placeholderValue","JSON","stringify","valueFt","wrap","_jsx","TextCssEllipsis","text","loading","className","style","children","Spin","spinning","size","textIndent","display","render","useRequestFormItemText","serviceConfig","_useState","useState","setLoading","_useState2","respData","setRespData","prevParams","fbaHooks","usePrevious","params","_useState3","status","setStatus","form","Form","useFormInstance","serviceParams","useMemo","_serviceConfig$invali","toArray","invalidParamKey","length","newParams","_extends","forEach","key","undefined","onInnerRequest","Promise","$return","$error","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","call","this","$boundEx","bind","_serviceConfig$requir","mergeProps","target","_respData","respDataFt","requiredParamsKeys","find","item","console","warn","join","$Try_1_Post","$Try_1_Catch","error","message","resolve","onRequest","then","$await_2","name","getFieldValue","onResponseAdapter","useEffectCustomAsync","useEffectCustom","_isDeepEqual","viewValue","RequestText","otherProps","_objectWithoutPropertiesLoose","_excluded","requestResult","FormItemWrapper","_classNames","FormItemText","_jsxs","Fragment","FormItemHidden"],"mappings":"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"}
@@ -1,5 +1,10 @@
1
1
  /* eslint-disable */
2
+ import './../button-wrapper/index.css';
3
+ import './../config-provider-wrapper/index.css';
4
+ import './../fba-hooks/index.css';
5
+ import './../types/index.css';
6
+ import './../fba-utils/index.css';
2
7
  import './index.css';
3
8
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{ButtonWrapper as t}from"@flatbiz/antd";import{toArray as n,getUuid as a}from"@flatbiz/utils";import{Form as i,Empty as o}from"antd";import{useRef as l,Fragment as m}from"react";import{jsxs as d,jsx as u}from"react/jsx-runtime";var s=function e(r){if(r.wrapper)return r.wrapper({children:r.children});return r.children};var c=function c(p){var f=[].concat(p.prevCompleteName,n(p.name));var h=i.useFormInstance();var v=l([]);var g=p.uidFieldName||"uid";var w=i.useWatch(f,h);return d("div",{className:r("form-list-wrapper",p.className),style:p.style,children:[!p.hiddenEmptyRender&&!(w!=null&&w.length)?u(o,{image:o.PRESENTED_IMAGE_SIMPLE,style:{margin:"15px 0"}}):null,u(i.List,{name:p.name,rules:p.rules,children:function r(n,i){v.current=n;return u(s,{wrapper:p.formListChildrenWrapper,children:d(m,{children:[n.map((function(e,r){var t=[].concat(f,[e.name]);return u(m,{children:p.children({formListFieldData:e,operation:i,formStageCompleteName:t,prevCompleteName:f,index:r,getInsideFormItemName:function r(t){return[e.name,t]},getInsideFormItemData:function e(){return h.getFieldValue(t)},uidKey:g})},e.key)})),p.onCustomAddRowButton?p.onCustomAddRowButton(i):u(t,{hidden:p.hiddenAddRowButton,type:"dashed",block:true,onClick:function r(){var t;return i.add(e((t={},t[g]=a(),t),p.getAddRowDefaultValues==null?void 0:p.getAddRowDefaultValues()))},children:"添加"})]})})}})]})};export{c as FormListWrapper};
9
+ import{_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{toArray as t,getUuid as i}from"@flatbiz/utils";import{Form as n,Empty as a}from"antd";import{useRef as o,Fragment as m}from"react";import{ButtonWrapper as s}from"../button-wrapper/index.js";import{jsxs as d,jsx as l}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"../index-34027e61.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";var p=function e(r){if(r.wrapper)return r.wrapper({children:r.children});return r.children};var u=function u(c){var j=[].concat(c.prevCompleteName,t(c.name));var f=n.useFormInstance();var g=o([]);var h=c.uidFieldName||"uid";var y=n.useWatch(j,f);return d("div",{className:r("form-list-wrapper",c.className),style:c.style,children:[!c.hiddenEmptyRender&&!(y!=null&&y.length)?l(a,{image:a.PRESENTED_IMAGE_SIMPLE,style:{margin:"15px 0"}}):null,l(n.List,{name:c.name,rules:c.rules,children:function r(t,n){g.current=t;return l(p,{wrapper:c.formListChildrenWrapper,children:d(m,{children:[t.map((function(e,r){var t=[].concat(j,[e.name]);return l(m,{children:c.children({formListFieldData:e,operation:n,formStageCompleteName:t,prevCompleteName:j,index:r,getInsideFormItemName:function r(t){return[e.name,t]},getInsideFormItemData:function e(){return f.getFieldValue(t)},uidKey:h})},e.key)})),c.onCustomAddRowButton?c.onCustomAddRowButton(n):l(s,{hidden:c.hiddenAddRowButton,type:"dashed",block:true,onClick:function r(){var t;return n.add(e((t={},t[h]=i(),t),c.getAddRowDefaultValues==null?void 0:c.getAddRowDefaultValues()))},children:"添加"})]})})}})]})};export{u as FormListWrapper};
5
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-list-wrapper/form-list-wrapper.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { ButtonWrapper } from '@flatbiz/antd';\nimport { getUuid, toArray } from '@flatbiz/utils';\nimport { Empty, Form, type FormListFieldData } from 'antd';\nimport { Fragment, useRef, type ReactElement } from 'react';\nimport './style.less';\nimport { type FormListWrapperProps } from './types';\ntype FormListChildrenWrapperProps = {\n wrapper?: FormListWrapperProps['formListChildrenWrapper'];\n children: ReactElement;\n};\nconst FormListChildrenWrapper = (props: FormListChildrenWrapperProps) => {\n if (props.wrapper) return props.wrapper({ children: props.children });\n return props.children;\n};\n\n/**\n * FormList\n * ```\n * 1. FormList数组中必须要有唯一值字段,默认值字段名称uid,可通过uidFieldName自定义设置\n * 2. Demo: https://fex.qa.tcshuke.com/docs/admin/main/form/list\n * ```\n */\nexport const FormListWrapper = (props: FormListWrapperProps) => {\n const stageCompleteName = [...props.prevCompleteName, ...toArray(props.name)] as Array<string | number>;\n const form = Form.useFormInstance();\n const formListOperationRef = useRef<FormListFieldData[]>([]);\n const uidFieldName = props.uidFieldName || 'uid';\n const formListValue = Form.useWatch(stageCompleteName, form);\n\n return (\n <div className={classNames('form-list-wrapper', props.className)} style={props.style}>\n {!props.hiddenEmptyRender && !formListValue?.length ? (\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} style={{ margin: '15px 0' }} />\n ) : null}\n <Form.List name={props.name} rules={props.rules}>\n {(fields, operation) => {\n formListOperationRef.current = fields;\n return (\n <FormListChildrenWrapper wrapper={props.formListChildrenWrapper}>\n <Fragment>\n {fields.map((field, index) => {\n const formStageCompleteName = [...stageCompleteName, field.name];\n return (\n <Fragment key={field.key}>\n {props.children({\n formListFieldData: field,\n operation: operation,\n formStageCompleteName,\n prevCompleteName: stageCompleteName,\n index,\n getInsideFormItemName: (key: string) => {\n return [field.name, key];\n },\n getInsideFormItemData: () => {\n return form.getFieldValue(formStageCompleteName);\n },\n uidKey: uidFieldName,\n })}\n </Fragment>\n );\n })}\n {props.onCustomAddRowButton ? (\n props.onCustomAddRowButton(operation)\n ) : (\n <ButtonWrapper\n hidden={props.hiddenAddRowButton}\n type=\"dashed\"\n block\n onClick={() =>\n operation.add({ [uidFieldName]: getUuid(), ...props.getAddRowDefaultValues?.() })\n }\n >\n 添加\n </ButtonWrapper>\n )}\n </Fragment>\n </FormListChildrenWrapper>\n );\n }}\n </Form.List>\n </div>\n );\n};\n"],"names":["FormListChildrenWrapper","props","wrapper","children","FormListWrapper","stageCompleteName","concat","prevCompleteName","toArray","name","form","Form","useFormInstance","formListOperationRef","useRef","uidFieldName","formListValue","useWatch","_jsxs","className","_classNames","style","hiddenEmptyRender","length","_jsx","Empty","image","PRESENTED_IMAGE_SIMPLE","margin","List","rules","fields","operation","current","formListChildrenWrapper","Fragment","map","field","index","formStageCompleteName","formListFieldData","getInsideFormItemName","key","getInsideFormItemData","getFieldValue","uidKey","onCustomAddRowButton","ButtonWrapper","hidden","hiddenAddRowButton","type","block","onClick","_extends2","add","_extends","getUuid","getAddRowDefaultValues"],"mappings":";iWAWA,IAAMA,EAA0B,SAA1BA,EAA2BC,GAC/B,GAAIA,EAAMC,QAAS,OAAOD,EAAMC,QAAQ,CAAEC,SAAUF,EAAME,WAC1D,OAAOF,EAAME,QACf,MASaC,EAAkB,SAAlBA,EAAmBH,GAC9B,IAAMI,EAAiB,GAAAC,OAAOL,EAAMM,iBAAqBC,EAAQP,EAAMQ,OACvE,IAAMC,EAAOC,EAAKC,kBAClB,IAAMC,EAAuBC,EAA4B,IACzD,IAAMC,EAAed,EAAMc,cAAgB,MAC3C,IAAMC,EAAgBL,EAAKM,SAASZ,EAAmBK,GAEvD,OACEQ,EAAA,MAAA,CAAKC,UAAWC,EAAW,oBAAqBnB,EAAMkB,WAAYE,MAAOpB,EAAMoB,MAAMlB,SAClF,EAACF,EAAMqB,qBAAsBN,GAAa,MAAbA,EAAeO,QAC3CC,EAACC,EAAK,CAACC,MAAOD,EAAME,uBAAwBN,MAAO,CAAEO,OAAQ,YAC3D,KACJJ,EAACb,EAAKkB,KAAI,CAACpB,KAAMR,EAAMQ,KAAMqB,MAAO7B,EAAM6B,MAAM3B,SAC7C,SAAAA,EAAC4B,EAAQC,GACRnB,EAAqBoB,QAAUF,EAC/B,OACEP,EAACxB,EAAuB,CAACE,QAASD,EAAMiC,wBAAwB/B,SAC9De,EAACiB,EAAQ,CAAAhC,SAAA,CACN4B,EAAOK,KAAI,SAACC,EAAOC,GAClB,IAAMC,KAAqBjC,OAAOD,EAAmBgC,CAAAA,EAAM5B,OAC3D,OACEe,EAACW,EAAQ,CAAAhC,SACNF,EAAME,SAAS,CACdqC,kBAAmBH,EACnBL,UAAWA,EACXO,sBAAAA,EACAhC,iBAAkBF,EAClBiC,MAAAA,EACAG,sBAAuB,SAAAA,EAACC,GACtB,MAAO,CAACL,EAAM5B,KAAMiC,EACrB,EACDC,sBAAuB,SAAAA,IACrB,OAAOjC,EAAKkC,cAAcL,EAC3B,EACDM,OAAQ9B,KAbGsB,EAAMK,IAiBzB,IACCzC,EAAM6C,qBACL7C,EAAM6C,qBAAqBd,GAE3BR,EAACuB,EAAa,CACZC,OAAQ/C,EAAMgD,mBACdC,KAAK,SACLC,MAAK,KACLC,QAAS,SAAAA,IAAA,IAAAC,EAAA,OACPrB,EAAUsB,IAAGC,GAAAF,EAAA,CAAA,EAAAA,EAAItC,GAAeyC,IAASH,GAAKpD,EAAMwD,wBAAsB,UAAA,EAA5BxD,EAAMwD,0BACrD,EAAAtD,SACF,WAOX,MAIR"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-list-wrapper/form-list-wrapper.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { getUuid, toArray } from '@flatbiz/utils';\nimport { Empty, Form, type FormListFieldData } from 'antd';\nimport { Fragment, useRef, type ReactElement } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport './style.less';\nimport { type FormListWrapperProps } from './types';\ntype FormListChildrenWrapperProps = {\n wrapper?: FormListWrapperProps['formListChildrenWrapper'];\n children: ReactElement;\n};\nconst FormListChildrenWrapper = (props: FormListChildrenWrapperProps) => {\n if (props.wrapper) return props.wrapper({ children: props.children });\n return props.children;\n};\n\n/**\n * FormList\n * ```\n * 1. FormList数组中必须要有唯一值字段,默认值字段名称uid,可通过uidFieldName自定义设置\n * 2. Demo: https://fex.qa.tcshuke.com/docs/admin/main/form/list\n * ```\n */\nexport const FormListWrapper = (props: FormListWrapperProps) => {\n const stageCompleteName = [...props.prevCompleteName, ...toArray(props.name)] as Array<string | number>;\n const form = Form.useFormInstance();\n const formListOperationRef = useRef<FormListFieldData[]>([]);\n const uidFieldName = props.uidFieldName || 'uid';\n const formListValue = Form.useWatch(stageCompleteName, form);\n\n return (\n <div className={classNames('form-list-wrapper', props.className)} style={props.style}>\n {!props.hiddenEmptyRender && !formListValue?.length ? (\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} style={{ margin: '15px 0' }} />\n ) : null}\n <Form.List name={props.name} rules={props.rules}>\n {(fields, operation) => {\n formListOperationRef.current = fields;\n return (\n <FormListChildrenWrapper wrapper={props.formListChildrenWrapper}>\n <Fragment>\n {fields.map((field, index) => {\n const formStageCompleteName = [...stageCompleteName, field.name];\n return (\n <Fragment key={field.key}>\n {props.children({\n formListFieldData: field,\n operation: operation,\n formStageCompleteName,\n prevCompleteName: stageCompleteName,\n index,\n getInsideFormItemName: (key: string) => {\n return [field.name, key];\n },\n getInsideFormItemData: () => {\n return form.getFieldValue(formStageCompleteName);\n },\n uidKey: uidFieldName,\n })}\n </Fragment>\n );\n })}\n {props.onCustomAddRowButton ? (\n props.onCustomAddRowButton(operation)\n ) : (\n <ButtonWrapper\n hidden={props.hiddenAddRowButton}\n type=\"dashed\"\n block\n onClick={() =>\n operation.add({ [uidFieldName]: getUuid(), ...props.getAddRowDefaultValues?.() })\n }\n >\n 添加\n </ButtonWrapper>\n )}\n </Fragment>\n </FormListChildrenWrapper>\n );\n }}\n </Form.List>\n </div>\n );\n};\n"],"names":["FormListChildrenWrapper","props","wrapper","children","FormListWrapper","stageCompleteName","concat","prevCompleteName","toArray","name","form","Form","useFormInstance","formListOperationRef","useRef","uidFieldName","formListValue","useWatch","_jsxs","className","_classNames","style","hiddenEmptyRender","length","_jsx","Empty","image","PRESENTED_IMAGE_SIMPLE","margin","List","rules","fields","operation","current","formListChildrenWrapper","Fragment","map","field","index","formStageCompleteName","formListFieldData","getInsideFormItemName","key","getInsideFormItemData","getFieldValue","uidKey","onCustomAddRowButton","ButtonWrapper","hidden","hiddenAddRowButton","type","block","onClick","_extends2","add","_extends","getUuid","getAddRowDefaultValues"],"mappings":";kgCAWA,IAAMA,EAA0B,SAA1BA,EAA2BC,GAC/B,GAAIA,EAAMC,QAAS,OAAOD,EAAMC,QAAQ,CAAEC,SAAUF,EAAME,WAC1D,OAAOF,EAAME,QACf,MASaC,EAAkB,SAAlBA,EAAmBH,GAC9B,IAAMI,EAAiB,GAAAC,OAAOL,EAAMM,iBAAqBC,EAAQP,EAAMQ,OACvE,IAAMC,EAAOC,EAAKC,kBAClB,IAAMC,EAAuBC,EAA4B,IACzD,IAAMC,EAAed,EAAMc,cAAgB,MAC3C,IAAMC,EAAgBL,EAAKM,SAASZ,EAAmBK,GAEvD,OACEQ,EAAA,MAAA,CAAKC,UAAWC,EAAW,oBAAqBnB,EAAMkB,WAAYE,MAAOpB,EAAMoB,MAAMlB,SAClF,EAACF,EAAMqB,qBAAsBN,GAAa,MAAbA,EAAeO,QAC3CC,EAACC,EAAK,CAACC,MAAOD,EAAME,uBAAwBN,MAAO,CAAEO,OAAQ,YAC3D,KACJJ,EAACb,EAAKkB,KAAI,CAACpB,KAAMR,EAAMQ,KAAMqB,MAAO7B,EAAM6B,MAAM3B,SAC7C,SAAAA,EAAC4B,EAAQC,GACRnB,EAAqBoB,QAAUF,EAC/B,OACEP,EAACxB,EAAuB,CAACE,QAASD,EAAMiC,wBAAwB/B,SAC9De,EAACiB,EAAQ,CAAAhC,SAAA,CACN4B,EAAOK,KAAI,SAACC,EAAOC,GAClB,IAAMC,KAAqBjC,OAAOD,EAAmBgC,CAAAA,EAAM5B,OAC3D,OACEe,EAACW,EAAQ,CAAAhC,SACNF,EAAME,SAAS,CACdqC,kBAAmBH,EACnBL,UAAWA,EACXO,sBAAAA,EACAhC,iBAAkBF,EAClBiC,MAAAA,EACAG,sBAAuB,SAAAA,EAACC,GACtB,MAAO,CAACL,EAAM5B,KAAMiC,EACrB,EACDC,sBAAuB,SAAAA,IACrB,OAAOjC,EAAKkC,cAAcL,EAC3B,EACDM,OAAQ9B,KAbGsB,EAAMK,IAiBzB,IACCzC,EAAM6C,qBACL7C,EAAM6C,qBAAqBd,GAE3BR,EAACuB,EAAa,CACZC,OAAQ/C,EAAMgD,mBACdC,KAAK,SACLC,MAAK,KACLC,QAAS,SAAAA,IAAA,IAAAC,EAAA,OACPrB,EAAUsB,IAAGC,GAAAF,EAAA,CAAA,EAAAA,EAAItC,GAAeyC,IAASH,GAAKpD,EAAMwD,wBAAsB,UAAA,EAA5BxD,EAAMwD,0BACrD,EAAAtD,SACF,WAOX,MAIR"}
@@ -0,0 +1,3 @@
1
+ /*! @flatjs/forge MIT @flatbiz/antd */
2
+ import{a as e,_ as a}from"./_rollupPluginBabelHelpers-a0769acd.js";import{ConfigProvider as r}from"antd";import o from"antd/es/locale/en_US";import n from"antd/es/locale/zh_CN";import t from"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import l from"dayjs/plugin/advancedFormat";import d from"dayjs/plugin/customParseFormat";import i from"dayjs/plugin/localeData";import m from"dayjs/plugin/utc";import s from"dayjs/plugin/weekday";import c from"dayjs/plugin/weekOfYear";import p from"dayjs/plugin/weekYear";import{fbaHooks as f}from"./fba-hooks/index.js";import{extend as u}from"@dimjs/utils/cjs/extend";import{jsx as j}from"react/jsx-runtime";var y={TreeWrapper:{requestError:"数据加载异常..."},FbaDialogModal:{cancelText:"cancel"}};var g={TreeWrapper:{requestError:"数据加载异常..."},FbaDialogModal:{cancelText:"取消"}};var x=function e(a,r){var o=g;if(a==="en"){o=y}window["__fba_locale_message"]=u(true,{},o,r)};var v=function e(){var a=window["__fba_locale_message"];return a||{}};var _=["locale"];t.extend(d);t.extend(l);t.extend(s);t.extend(i);t.extend(c);t.extend(p);t.extend(m);var h={en:{dayjs:"en",antd:o},"zh-cn":{dayjs:"zh-cn",antd:n}};var z=function o(n){var l=n.locale,d=e(n,_);var i=l||"zh-cn";f.useEffectCustom((function(){x(i,n.customLocaleMessage);t.locale(h[i].dayjs||h["zh-cn"].dayjs)}),[]);return j(r,a({componentSize:"middle",space:{size:"middle"}},d,{locale:h[i].antd||h["zh-cn"].antd,children:n.children}))};export{z as C,v as g};
3
+ //# sourceMappingURL=index-34027e61.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-34027e61.js","sources":["@flatbiz/antd/src/_utils/i18n/en.ts","@flatbiz/antd/src/_utils/i18n/zh-cn.ts","@flatbiz/antd/src/_utils/i18n/index.ts","@flatbiz/antd/src/config-provider-wrapper/config-provider-wrapper.tsx"],"sourcesContent":["import { TFbaLocale } from '../../types';\n\nexport const en: TFbaLocale = {\n TreeWrapper: {\n /** 数据加载异常,默认文案 */\n requestError: '数据加载异常...',\n },\n FbaDialogModal: {\n cancelText: 'cancel',\n },\n};\n","import { TFbaLocale } from '../../types';\n\nexport const zhCn: TFbaLocale = {\n TreeWrapper: {\n /** 数据加载异常,默认文案 */\n requestError: '数据加载异常...',\n },\n FbaDialogModal: {\n cancelText: '取消',\n },\n};\n","import { extend } from '@dimjs/utils';\nimport { TFbaLocale, TLocale } from '../../types';\nimport { en } from './en';\nimport { zhCn } from './zh-cn';\n\n/**\n * 设置 @flatbiz/antd中的国际化语言\n * @param locale\n * @param customLocaleMessage\n */\nexport const setFbaLocaleMessage = (locale: TLocale, customLocaleMessage?: Partial<TFbaLocale>) => {\n let localeMessage = zhCn;\n if (locale === 'en') {\n localeMessage = en;\n }\n window['__fba_locale_message'] = extend(true, {}, localeMessage, customLocaleMessage);\n};\n\n/**\n * 读取 @flatbiz/antd中的国际化语言\n * @param key\n * @returns\n */\nexport const getFbaLocaleMessage = () => {\n const localeMessage = window['__fba_locale_message'] as TFbaLocale;\n return localeMessage || {};\n};\n","import { ConfigProvider } from 'antd';\nimport { ConfigProviderProps } from 'antd/es/config-provider';\nimport enUS from 'antd/es/locale/en_US';\nimport zhCN from 'antd/es/locale/zh_CN';\nimport dayjs from 'dayjs';\nimport 'dayjs/locale/en';\nimport 'dayjs/locale/zh-cn';\nimport advancedFormat from 'dayjs/plugin/advancedFormat';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport localeData from 'dayjs/plugin/localeData';\nimport dayjsUtc from 'dayjs/plugin/utc';\nimport weekday from 'dayjs/plugin/weekday';\nimport weekOfYear from 'dayjs/plugin/weekOfYear';\nimport weekYear from 'dayjs/plugin/weekYear';\nimport { fbaHooks } from '../fba-hooks';\nimport { TFbaLocale, TLocale } from '../types';\nimport { setFbaLocaleMessage } from '../_utils/i18n';\ndayjs.extend(customParseFormat);\ndayjs.extend(advancedFormat);\ndayjs.extend(weekday);\ndayjs.extend(localeData);\ndayjs.extend(weekOfYear);\ndayjs.extend(weekYear);\ndayjs.extend(dayjsUtc);\n\nexport type ConfigProviderWrapperProps = Omit<ConfigProviderProps, 'locale'> & {\n locale?: TLocale;\n /** 自定义国际化数据 */\n customLocaleMessage?: Partial<TFbaLocale>;\n};\n\nconst localeMap = {\n en: {\n dayjs: 'en',\n antd: enUS,\n },\n 'zh-cn': {\n dayjs: 'zh-cn',\n antd: zhCN,\n },\n};\n\nexport const ConfigProviderWrapper = (props: ConfigProviderWrapperProps) => {\n const { locale, ...otherProps } = props;\n const localeNew = locale || 'zh-cn';\n fbaHooks.useEffectCustom(() => {\n setFbaLocaleMessage(localeNew, props.customLocaleMessage);\n dayjs.locale(localeMap[localeNew].dayjs || localeMap['zh-cn'].dayjs);\n }, []);\n return (\n <ConfigProvider\n componentSize={'middle'}\n space={{ size: 'middle' }}\n {...otherProps}\n locale={localeMap[localeNew].antd || localeMap['zh-cn'].antd}\n >\n {props.children}\n </ConfigProvider>\n );\n};\n"],"names":["en","TreeWrapper","requestError","FbaDialogModal","cancelText","zhCn","setFbaLocaleMessage","locale","customLocaleMessage","localeMessage","window","_extend","getFbaLocaleMessage","dayjs","extend","customParseFormat","advancedFormat","weekday","localeData","weekOfYear","weekYear","dayjsUtc","localeMap","antd","enUS","zhCN","ConfigProviderWrapper","props","otherProps","_objectWithoutPropertiesLoose","_excluded","localeNew","fbaHooks","useEffectCustom","_jsx","ConfigProvider","_extends","componentSize","space","size","children"],"mappings":";kpBAEO,IAAMA,EAAiB,CAC5BC,YAAa,CAEXC,aAAc,aAEhBC,eAAgB,CACdC,WAAY,WCNT,IAAMC,EAAmB,CAC9BJ,YAAa,CAEXC,aAAc,aAEhBC,eAAgB,CACdC,WAAY,OCET,IAAME,EAAsB,SAAtBA,EAAuBC,EAAiBC,GACnD,IAAIC,EAAgBJ,EACpB,GAAIE,IAAW,KAAM,CACnBE,EAAgBT,CAClB,CACAU,OAAO,wBAA0BC,EAAO,KAAM,GAAIF,EAAeD,EACnE,MAOaI,EAAsB,SAAtBA,IACX,IAAMH,EAAgBC,OAAO,wBAC7B,OAAOD,GAAiB,CAAA,CAC1B,mBCTAI,EAAMC,OAAOC,GACbF,EAAMC,OAAOE,GACbH,EAAMC,OAAOG,GACbJ,EAAMC,OAAOI,GACbL,EAAMC,OAAOK,GACbN,EAAMC,OAAOM,GACbP,EAAMC,OAAOO,GAQb,IAAMC,EAAY,CAChBtB,GAAI,CACFa,MAAO,KACPU,KAAMC,GAER,QAAS,CACPX,MAAO,QACPU,KAAME,QAIGC,EAAwB,SAAxBA,EAAyBC,GACpC,IAAQpB,EAA0BoB,EAA1BpB,OAAWqB,EAAUC,EAAKF,EAAKG,GACvC,IAAMC,EAAYxB,GAAU,QAC5ByB,EAASC,iBAAgB,WACvB3B,EAAoByB,EAAWJ,EAAMnB,qBACrCK,EAAMN,OAAOe,EAAUS,GAAWlB,OAASS,EAAU,SAAST,MAC/D,GAAE,IACH,OACEqB,EAACC,EAAcC,EAAA,CACbC,cAAe,SACfC,MAAO,CAAEC,KAAM,WACXX,EAAU,CACdrB,OAAQe,EAAUS,GAAWR,MAAQD,EAAU,SAASC,KAAKiB,SAE5Db,EAAMa,WAGb"}
package/esm/index.js CHANGED
@@ -20,6 +20,7 @@ import './request-status/index.css';
20
20
  import './check-list/index.css';
21
21
  import './checkbox-wrapper/index.css';
22
22
  import './color-picker-wrapper/index.css';
23
+ import './icon-wrapper/index.css';
23
24
  import './create-drawer-wrapper-model/index.css';
24
25
  import './create-modal-wrapper-model/index.css';
25
26
  import './css-node-hover/index.css';
@@ -27,6 +28,7 @@ import './data-render/index.css';
27
28
  import './date-picker-wrapper/index.css';
28
29
  import './date-range-picker-wrapper/index.css';
29
30
  import './date-range-picker-wrapper-form-item/index.css';
31
+ import './form-item-wrapper/index.css';
30
32
  import './dialog-alert/index.css';
31
33
  import './dialog-drawer/index.css';
32
34
  import './dialog-drawer-content/index.css';
@@ -45,7 +47,6 @@ import './table-scrollbar/index.css';
45
47
  import './table-title-tooltip/index.css';
46
48
  import './tips-wrapper/index.css';
47
49
  import './editable-field/index.css';
48
- import './icon-wrapper/index.css';
49
50
  import './editable-field-provider/index.css';
50
51
  import './editable-table/index.css';
51
52
  import './selector-wrapper/index.css';
@@ -63,7 +64,7 @@ import './file-select/index.css';
63
64
  import './form-item-group/index.css';
64
65
  import './form-item-hidden/index.css';
65
66
  import './form-item-text/index.css';
66
- import './form-item-wrapper/index.css';
67
+ import './text-css-ellipsis/index.css';
67
68
  import './form-list-wrapper/index.css';
68
69
  import './input-search-wrapper/index.css';
69
70
  import './label-value-layout/index.css';
@@ -91,8 +92,8 @@ import './switch-confirm-wrapper/index.css';
91
92
  import './tabs-wrapper/index.css';
92
93
  import './tag-group/index.css';
93
94
  import './tag-wrapper/index.css';
94
- import './text-css-ellipsis/index.css';
95
95
  import './text-overflow-render/index.css';
96
+ import './text-symbol-wrapper/index.css';
96
97
  import './time-picker-wrapper/index.css';
97
98
  import './time-range-picker-wrapper/index.css';
98
99
  import './time-range-picker-wrapper-form-item/index.css';
@@ -101,5 +102,5 @@ import './tree-selector-wrapper/index.css';
101
102
  import './tree-wrapper/index.css';
102
103
  import './index.css';
103
104
  /*! @flatjs/forge MIT @flatbiz/antd */
104
- export{AlertWrapper}from"./alert-wrapper/index.js";export{AmountFenInput}from"./amount-fen-input/index.js";export{AmountFenInputFormItem}from"./amount-fen-input-form-item/index.js";export{AnchorSteps}from"./anchor-steps/index.js";export{ButtonOperate,ButtonOperateItemContent}from"./button-operate/index.js";export{ButtonWrapper}from"./button-wrapper/index.js";export{CardWrapper}from"./card-wrapper/index.js";export{CascaderWrapper}from"./cascader-wrapper/index.js";export{CheckList}from"./check-list/index.js";export{CheckboxWrapper}from"./checkbox-wrapper/index.js";export{ColorPickerWrapper}from"./color-picker-wrapper/index.js";export{ConfigProviderWrapper}from"./config-provider-wrapper/index.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{CssNodeHover}from"./css-node-hover/index.js";export{DataRender}from"./data-render/index.js";export{DatePickerWrapper}from"./date-picker-wrapper/index.js";export{DateRangePickerWrapper}from"./date-range-picker-wrapper/index.js";export{DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item/index.js";export{dialogAlert}from"./dialog-alert/index.js";export{dialogConfirm}from"./dialog-confirm/index.js";export{dialogDrawer}from"./dialog-drawer/index.js";export{DialogDrawerContent}from"./dialog-drawer-content/index.js";export{dialogLoading}from"./dialog-loading/index.js";export{dialogModal}from"./dialog-modal/index.js";export{DragCollapse}from"./drag-collapse/index.js";export{DragCollapseFormList}from"./drag-collapse-form-list/index.js";export{DragFormList}from"./drag-form-list/index.js";export{DragTable}from"./drag-table/index.js";export{DrawerWrapper}from"./drawer-wrapper/index.js";export{DropdownMenuWrapper}from"./dropdown-menu-wrapper/index.js";export{dynamicNode}from"./dynamic-node/index.js";export{EasyTable}from"./easy-table/index.js";export{EditableField}from"./editable-field/index.js";export{EditableFieldProvider}from"./editable-field-provider/index.js";export{EditableTable}from"./editable-table/index.js";export{EditorWrapper}from"./editor-wrapper/index.js";export{ErrorBoundaryWrapper}from"./error-boundary-wrapper/index.js";export{FbaApp}from"./fba-app/index.js";export{fbaHooks}from"./fba-hooks/index.js";export{fbaUtils}from"./fba-utils/index.js";export{FileImport}from"./file-import/index.js";export{FileSelect}from"./file-select/index.js";export{FlexLayout}from"./flex-layout/index.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{FormItemHidden}from"./form-item-hidden/index.js";export{FormItemText}from"./form-item-text/index.js";export{FormItemWrapper}from"./form-item-wrapper/index.js";export{FormListWrapper}from"./form-list-wrapper/index.js";export{Gap}from"./gap/index.js";export{IconWrapper}from"./icon-wrapper/index.js";export{InputSearchWrapper}from"./input-search-wrapper/index.js";export{InputTextAreaWrapper}from"./input-text-area-wrapper/index.js";export{InputWrapper}from"./input-wrapper/index.js";export{LabelValueLayout}from"./label-value-layout/index.js";export{LocalLoading}from"./local-loading/index.js";export{ModalAction}from"./modal-action/index.js";export{ModalWrapper}from"./modal-wrapper/index.js";export{PageFixedFooter}from"./page-fixed-footer/index.js";export{Page404}from"./page404/index.js";export{P as PaginationWrapper}from"./index-6677fbfc.js";export{Permission}from"./permission/index.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{RadioGroupWrapper}from"./radio-group-wrapper/index.js";export{RelationTree}from"./relation-tree/index.js";export{RequestStatus}from"./request-status/index.js";export{RichTextEditor}from"./rich-text-editor/index.js";export{RichTextViewer}from"./rich-text-viewer/index.js";export{RollLocationCenter}from"./roll-location-center/index.js";export{RollLocationInView}from"./roll-location-in-view/index.js";export{RuleDescribe}from"./rule-describe/index.js";export{SearchMenu}from"./search-menu/index.js";export{SelectorWrapper}from"./selector-wrapper/index.js";export{SelectorWrapperSearch}from"./selector-wrapper-search/index.js";export{SelectorWrapperSimple}from"./selector-wrapper-simple/index.js";export{SimpleLayout}from"./simple-layout/index.js";export{SmsCountDown}from"./sms-count-down/index.js";export{SplitWrapper}from"./split-wrapper/index.js";export{styles}from"./styles/index.js";export{SwitchConfirmWrapper}from"./switch-confirm-wrapper/index.js";export{SwitchWrapper}from"./switch-wrapper/index.js";export{tableCellRender}from"./table-cell-render/index.js";export{TableScrollbar}from"./table-scrollbar/index.js";export{TableTitleTooltip}from"./table-title-tooltip/index.js";export{TabsWrapper}from"./tabs-wrapper/index.js";export{TagGroup}from"./tag-group/index.js";export{TagListSelect}from"./tag-list-select/index.js";export{TagWrapper}from"./tag-wrapper/index.js";export{TextCssEllipsis}from"./text-css-ellipsis/index.js";export{TextOverflowRender}from"./text-overflow-render/index.js";export{TimePickerWrapper}from"./time-picker-wrapper/index.js";export{TimeRangePickerWrapper}from"./time-range-picker-wrapper/index.js";export{TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item/index.js";export{TipsTitle}from"./tips-title/index.js";export{TipsWrapper}from"./tips-wrapper/index.js";export{TreeSelectorWrapper}from"./tree-selector-wrapper/index.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{UploadWrapper}from"./upload-wrapper/index.js";import"./_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/utils/cjs/class-names";import"@flatbiz/utils";import"antd";import"react/jsx-runtime";import"react";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@ant-design/icons/es/icons/LoadingOutlined";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/get";import"@dimjs/utils/cjs/extend";import"@dimjs/model";import"@dimjs/model-react";import"@wove/react/cjs/create-ctx";import"@ant-design/icons/es/icons/CloseCircleOutlined";import"@flatbiz/antd";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"./index-ac189a77.js";import"./time-53b3f55f.js";import"react-dom/client";import"./dom-4d04aa64.js";import"./context-1f2093c6.js";import"ahooks";import"@dimjs/utils/cjs/array";import"@dnd-kit/core";import"@dnd-kit/sortable";import"@ant-design/icons/es/icons/DragOutlined";import"@dnd-kit/utilities";import"@dnd-kit/modifiers";import"@ant-design/icons/es/icons/SaveOutlined";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"@ant-design/icons/es/icons/DownOutlined";import"@ant-design/icons/es/icons/UpOutlined";import"react-is";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@dimjs/lang/cjs/is-number";import"@ant-design/icons/es/icons/EditOutlined";import"./context-25d0b686.js";import"@ant-design/icons/es/icons/PlusOutlined";import"@dimjs/lang/cjs/is-boolean";import"@ant-design/icons/es/icons/DeleteOutlined";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@dimjs/lang/cjs/is-deep-equal";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/json";import"pubsub-js";import"@dimjs/lang/cjs/is-object";import"react-split";import"@dimjs/lang/cjs/is-empty";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"dayjs/plugin/isSameOrAfter";import"dayjs/plugin/isSameOrBefore";import"@ant-design/icons/es/icons/CaretDownFilled";import"dequal";import"@dimjs/utils/cjs/tree";import"react-dom";
105
+ export{AlertWrapper}from"./alert-wrapper/index.js";export{AmountFenInput}from"./amount-fen-input/index.js";export{AmountFenInputFormItem}from"./amount-fen-input-form-item/index.js";export{AnchorSteps}from"./anchor-steps/index.js";export{ButtonOperate,ButtonOperateItemContent}from"./button-operate/index.js";export{ButtonWrapper}from"./button-wrapper/index.js";export{CardWrapper}from"./card-wrapper/index.js";export{CascaderWrapper}from"./cascader-wrapper/index.js";export{CheckList}from"./check-list/index.js";export{CheckboxWrapper}from"./checkbox-wrapper/index.js";export{ColorPickerWrapper}from"./color-picker-wrapper/index.js";export{C as ConfigProviderWrapper}from"./index-34027e61.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{CssNodeHover}from"./css-node-hover/index.js";export{DataRender}from"./data-render/index.js";export{DatePickerWrapper}from"./date-picker-wrapper/index.js";export{DateRangePickerWrapper}from"./date-range-picker-wrapper/index.js";export{DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item/index.js";export{dialogAlert}from"./dialog-alert/index.js";export{dialogConfirm}from"./dialog-confirm/index.js";export{dialogDrawer}from"./dialog-drawer/index.js";export{DialogDrawerContent}from"./dialog-drawer-content/index.js";export{dialogLoading}from"./dialog-loading/index.js";export{dialogModal}from"./dialog-modal/index.js";export{DragCollapse}from"./drag-collapse/index.js";export{DragCollapseFormList}from"./drag-collapse-form-list/index.js";export{DragFormList}from"./drag-form-list/index.js";export{DragTable}from"./drag-table/index.js";export{DrawerWrapper}from"./drawer-wrapper/index.js";export{DropdownMenuWrapper}from"./dropdown-menu-wrapper/index.js";export{dynamicNode}from"./dynamic-node/index.js";export{EasyTable}from"./easy-table/index.js";export{EditableField}from"./editable-field/index.js";export{EditableFieldProvider}from"./editable-field-provider/index.js";export{EditableTable}from"./editable-table/index.js";export{EditorWrapper}from"./editor-wrapper/index.js";export{ErrorBoundaryWrapper}from"./error-boundary-wrapper/index.js";export{FbaApp}from"./fba-app/index.js";export{fbaHooks}from"./fba-hooks/index.js";export{fbaUtils}from"./fba-utils/index.js";export{FileImport}from"./file-import/index.js";export{FileSelect}from"./file-select/index.js";export{FlexLayout}from"./flex-layout/index.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{FormItemHidden}from"./form-item-hidden/index.js";export{FormItemText}from"./form-item-text/index.js";export{FormItemWrapper}from"./form-item-wrapper/index.js";export{FormListWrapper}from"./form-list-wrapper/index.js";export{Gap}from"./gap/index.js";export{IconWrapper}from"./icon-wrapper/index.js";export{InputSearchWrapper}from"./input-search-wrapper/index.js";export{InputTextAreaWrapper}from"./input-text-area-wrapper/index.js";export{InputWrapper}from"./input-wrapper/index.js";export{LabelValueLayout}from"./label-value-layout/index.js";export{LocalLoading}from"./local-loading/index.js";export{ModalAction}from"./modal-action/index.js";export{ModalWrapper}from"./modal-wrapper/index.js";export{PageFixedFooter}from"./page-fixed-footer/index.js";export{Page404}from"./page404/index.js";export{P as PaginationWrapper}from"./index-6677fbfc.js";export{Permission}from"./permission/index.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{RadioGroupWrapper}from"./radio-group-wrapper/index.js";export{RelationTree}from"./relation-tree/index.js";export{RequestStatus}from"./request-status/index.js";export{RichTextEditor}from"./rich-text-editor/index.js";export{RichTextViewer}from"./rich-text-viewer/index.js";export{RollLocationCenter}from"./roll-location-center/index.js";export{RollLocationInView}from"./roll-location-in-view/index.js";export{RuleDescribe}from"./rule-describe/index.js";export{SearchMenu}from"./search-menu/index.js";export{SelectorWrapper}from"./selector-wrapper/index.js";export{SelectorWrapperSearch}from"./selector-wrapper-search/index.js";export{SelectorWrapperSimple}from"./selector-wrapper-simple/index.js";export{SimpleLayout}from"./simple-layout/index.js";export{SmsCountDown}from"./sms-count-down/index.js";export{SplitWrapper}from"./split-wrapper/index.js";export{styles}from"./styles/index.js";export{SwitchConfirmWrapper}from"./switch-confirm-wrapper/index.js";export{SwitchWrapper}from"./switch-wrapper/index.js";export{tableCellRender}from"./table-cell-render/index.js";export{TableScrollbar}from"./table-scrollbar/index.js";export{TableTitleTooltip}from"./table-title-tooltip/index.js";export{TabsWrapper}from"./tabs-wrapper/index.js";export{TagGroup}from"./tag-group/index.js";export{TagListSelect}from"./tag-list-select/index.js";export{TagWrapper}from"./tag-wrapper/index.js";export{TextCssEllipsis}from"./text-css-ellipsis/index.js";export{TextOverflowRender}from"./text-overflow-render/index.js";export{TextSymbolWrapper}from"./text-symbol-wrapper/index.js";export{TimePickerWrapper}from"./time-picker-wrapper/index.js";export{TimeRangePickerWrapper}from"./time-range-picker-wrapper/index.js";export{TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item/index.js";export{TipsTitle}from"./tips-title/index.js";export{TipsWrapper}from"./tips-wrapper/index.js";export{TreeSelectorWrapper}from"./tree-selector-wrapper/index.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{UploadWrapper}from"./upload-wrapper/index.js";import"./_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/utils/cjs/class-names";import"@flatbiz/utils";import"antd";import"react/jsx-runtime";import"react";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@ant-design/icons/es/icons/LoadingOutlined";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/get";import"@dimjs/utils/cjs/extend";import"@dimjs/model";import"@dimjs/model-react";import"@wove/react/cjs/create-ctx";import"@ant-design/icons/es/icons/CloseCircleOutlined";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"./time-53b3f55f.js";import"react-dom/client";import"./dom-4d04aa64.js";import"./context-1f2093c6.js";import"ahooks";import"@dimjs/utils/cjs/array";import"@dnd-kit/core";import"@dnd-kit/sortable";import"@ant-design/icons/es/icons/DragOutlined";import"@dnd-kit/utilities";import"@dnd-kit/modifiers";import"@ant-design/icons/es/icons/SaveOutlined";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"@ant-design/icons/es/icons/DownOutlined";import"@ant-design/icons/es/icons/UpOutlined";import"react-is";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@dimjs/lang/cjs/is-number";import"@ant-design/icons/es/icons/EditOutlined";import"./context-25d0b686.js";import"@ant-design/icons/es/icons/PlusOutlined";import"@dimjs/lang/cjs/is-boolean";import"@ant-design/icons/es/icons/DeleteOutlined";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@dimjs/lang/cjs/is-deep-equal";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/json";import"pubsub-js";import"@dimjs/lang/cjs/is-object";import"react-split";import"@dimjs/lang/cjs/is-empty";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"dayjs/plugin/isSameOrAfter";import"dayjs/plugin/isSameOrBefore";import"@ant-design/icons/es/icons/CaretDownFilled";import"dequal";import"@dimjs/utils/cjs/tree";import"react-dom";
105
106
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ .v-search-menu-wrapper-list-view{list-style:none}.v-search-menu-wrapper-list-view-item{align-items:center;border-radius:4px;display:flex;font-size:var(--ant-font-size);margin:4px 0;min-height:40px;padding:0 8px;transition:all .3s ease}.v-search-menu-wrapper-list-view-item:hover{background-color:var(--v-search-menu-item-hover-bg);cursor:pointer}.v-search-menu-wrapper-list-view-item-active{color:var(--v-search-menu-active)}.v-search-menu-wrapper-list-view-item-active,.v-search-menu-wrapper-list-view-item-active:hover{background-color:var(--v-search-menu-active-bg)}.v-search-menu-wrapper{--v-search-menu-active:#1677ff;--v-search-menu-active-bg:#e6f4ff;--v-search-menu-item-hover-bg:rgba(0,0,0,.06);--ant-font-size:14px}.v-search-menu-wrapper-search-area{align-items:center;display:flex;margin-bottom:12px}.v-search-menu-wrapper-search-area .ant-input-search{flex:1}.v-search-menu-wrapper-search-extra{margin-left:12px}
@@ -3,5 +3,5 @@ import './../fba-hooks/index.css';
3
3
  import './../input-search-wrapper/index.css';
4
4
  import './index.css';
5
5
  /*! @flatjs/forge MIT @flatbiz/antd */
6
- import{hooks as e}from"@wove/react/cjs/hooks";import{_ as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{cloneState as n}from"@dimjs/model";import{treeFieldNameChangeAdapter as l,treeFilter as i,treeToArray as o,valueIsEqual as t}from"@flatbiz/utils";import{Menu as a}from"antd";import{useState as u,useRef as c,useMemo as d}from"react";import{fbaHooks as s}from"../fba-hooks/index.js";import{InputSearchWrapper as f}from"../input-search-wrapper/index.js";import{jsxs as m,jsx as p}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";function v(v){var h=v.value,y=v.onChange,k=v.dataSource,b=v.searchKeyList,j=v.wrapStyle,g=v.style,C=v.placeholder,w=v.fieldNames,S=v.renderItem,x=v.lazySearch,N=v.className;var K=u([]),z=K[0],E=K[1];var I=c();var P=d((function(){return r({label:"label",key:"key",children:"children"},w)}),[w]);var _=b!=null&&b.length?b:[P.label];var B=d((function(){var e=P.label,n=P.key,i=P.children;return l(z,(function(l){return r({},l,{label:S?S(l):l==null?void 0:l[e],key:l==null?void 0:l[n],children:l==null?void 0:l[i]})}))}),[z,P,S]);s.useEffectCustom((function(){H("")}),[k]);var H=function e(r){if(!r){I.current=undefined;E(n(k)||[]);return}var l=i(n(k),(function(e){return!!(_!=null&&_.find((function(n){var l;return(l=e[n])==null?void 0:l.includes(r)})))}),{childrenName:P.children});I.current=o(l,P.children).map((function(e){return String(e[P.key])}));E(l)};var L=function e(r){H(r.target.value)};var R=e.useCallbackRef((function(e){var r=o(k,P.children).find((function(r){return t(e.key,r[P.key])}));y==null?void 0:y(e.key,e.keyPath,r)}));return m("div",{style:j,className:N,children:[p(f,{onSearch:x?H:undefined,onChange:!x?L:undefined,placeholder:C||"请输入搜索关键词",allowClear:true}),p(a,{openKeys:I.current,mode:"inline",items:B,selectedKeys:h?[h]:undefined,onClick:R,style:r({overflowY:"auto",borderInlineEnd:"none"},g)})]})}export{v as SearchMenu};
6
+ import{classNames as e}from"@dimjs/utils/cjs/class-names";import{hooks as r}from"@wove/react/cjs/hooks";import{_ as a}from"../_rollupPluginBabelHelpers-a0769acd.js";import{valueIsEqual as n}from"@flatbiz/utils";import{useState as l,useMemo as t}from"react";import{fbaHooks as i}from"../fba-hooks/index.js";import{InputSearchWrapper as s}from"../input-search-wrapper/index.js";import{Empty as o}from"antd";import{jsx as u,Fragment as c,jsxs as m}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";var p=function r(a){var n=a.value,l=a.dataList,t=a.onChange,i=a.style,s=a.emptyView;if(!(l!=null&&l.length)){return s?u(c,{children:s}):u(o,{style:{marginTop:"40px"},description:"暂无数据"})}return u("ul",{className:"v-search-menu-wrapper-list-view",style:i,children:l.map((function(r){return u("li",{className:e("v-search-menu-wrapper-list-view-item",{"v-search-menu-wrapper-list-view-item-active":n==r.key}),onClick:t==null?void 0:t.bind(null,r.key,r),children:r.label},r.key)}))})};function v(o){var c=o.value,v=o.onChange,d=o.dataSource,f=o.searchKeyList,h=o.wrapStyle,y=o.style,w=o.placeholder,k=o.fieldNames,b=o.renderItem,g=o.lazySearch,j=o.className,x=o.searchStyle,C=o.emptyView;var N=l([]),E=N[0],S=N[1];var L=t((function(){return a({label:"label",key:"key"},k)}),[k]);var V=f!=null&&f.length?f:[L.label];var z=t((function(){var e=L.label,r=L.key;return E==null?void 0:E.map((function(n){return a({},n,{label:b?b(n):n==null?void 0:n[e],key:n==null?void 0:n[r]})}))}),[E,L,b]);i.useEffectCustom((function(){_("")}),[d]);var _=function e(r){if(!r){S(d);return}var a=d.filter((function(e){return!!(V!=null&&V.find((function(a){var n;return(n=e[a])==null?void 0:n.includes(r)})))}));S(a)};var B=function e(r){_(r.target.value)};var H=r.useCallbackRef((function(e){var r=d.find((function(r){return n(e,r[L.key])}));v==null?void 0:v(e,r)}));return m("div",{style:h,className:e(j,"v-search-menu-wrapper"),children:[m("div",{className:"v-search-menu-wrapper-search-area",style:x,children:[u(s,{onSearch:g?_:undefined,onChange:!g?B:undefined,placeholder:w||"请输入搜索关键词",allowClear:true}),!!o.searchExtraElement&&u("div",{className:"v-search-menu-wrapper-search-extra",children:o.searchExtraElement})]}),u(p,{style:y,value:c,dataList:z,onChange:H,emptyView:C})]})}export{v as SearchMenu};
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/search-menu/search-menu.tsx"],"sourcesContent":["import { cloneState } from '@dimjs/model';\nimport { PlainObject } from '@dimjs/utils';\nimport {\n TAny,\n TPlainObject,\n treeFieldNameChangeAdapter,\n treeFilter,\n treeToArray,\n valueIsEqual,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Menu } from 'antd';\nimport { ItemType, MenuItemType } from 'antd/es/menu/hooks/useItems';\nimport { FC, useMemo, useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { InputSearchWrapper, InputSearchWrapperProps } from '../input-search-wrapper';\n\nexport interface ISearchMenuProps {\n /**\n * 如果传了value,就变成受控组件\n * 目前只支持单选\n */\n value?: string;\n onChange?: (key: string, keyPath: string[], targetItem?: PlainObject) => void;\n /** 树型源数据 */\n dataSource: TPlainObject[];\n /** 惰性搜索 */\n lazySearch?: boolean;\n /** 搜索目标字段 */\n searchKeyList?: string[];\n /** 格式化参数 */\n fieldNames?: {\n label?: string;\n key?: string;\n children?: string;\n };\n /** 自定义渲染条目 */\n renderItem?: FC<TAny>;\n /** 搜索框参数 */\n inputProps?: InputSearchWrapperProps;\n placeholder?: string;\n className?: string;\n wrapStyle?: React.CSSProperties;\n style?: React.CSSProperties;\n}\n\n/**\n * 列表搜索\n * @param props\n * @returns\n */\nexport function SearchMenu(props: ISearchMenuProps) {\n const {\n value,\n onChange,\n dataSource,\n searchKeyList,\n wrapStyle,\n style,\n placeholder,\n fieldNames,\n renderItem,\n lazySearch,\n className,\n } = props;\n const [listFilter, setListFilter] = useState<TPlainObject[]>([]);\n const openKeysRef = useRef<string[]>();\n\n /** 格式化对象 */\n const mergeFormatOption = useMemo(() => {\n return {\n label: 'label',\n key: 'key',\n children: 'children',\n ...fieldNames,\n };\n }, [fieldNames]);\n\n /** 可搜索的字段值 */\n const targetSearchKeyList = searchKeyList?.length ? searchKeyList : [mergeFormatOption.label];\n\n /** 生成菜单列表 */\n const menuList = useMemo(() => {\n const { label, key, children } = mergeFormatOption;\n return treeFieldNameChangeAdapter(listFilter, (item) => {\n return {\n ...item,\n label: renderItem ? renderItem(item) : item?.[label],\n key: item?.[key],\n children: item?.[children],\n };\n }) as ItemType<MenuItemType>[];\n }, [listFilter, mergeFormatOption, renderItem]);\n\n /**\n * 数据格式化\n */\n fbaHooks.useEffectCustom(() => {\n handleSearch('');\n }, [dataSource]);\n\n /** 搜索 */\n const handleSearch = (searchWord: string) => {\n if (!searchWord) {\n // 清空搜索词还原列表\n openKeysRef.current = undefined;\n setListFilter(cloneState(dataSource) || []);\n return;\n }\n const resList = treeFilter(\n cloneState(dataSource),\n (item) => {\n return !!targetSearchKeyList?.find((key) => {\n return item[key]?.includes(searchWord);\n });\n },\n {\n childrenName: mergeFormatOption.children,\n },\n ) as TPlainObject[];\n openKeysRef.current = treeToArray(resList, mergeFormatOption.children).map((item) =>\n String(item[mergeFormatOption.key]),\n );\n setListFilter(resList);\n };\n\n /**\n * 搜索词变换\n * @param e\n */\n const handleWordChange = (e) => {\n handleSearch(e.target.value);\n };\n\n /**\n * 点击菜单\n */\n const onClick = hooks.useCallbackRef((data) => {\n const targetItem = treeToArray(dataSource, mergeFormatOption.children).find((item) =>\n valueIsEqual(data.key, item[mergeFormatOption.key]),\n );\n onChange?.(data.key, data.keyPath, targetItem);\n });\n\n return (\n <div style={wrapStyle} className={className}>\n <InputSearchWrapper\n onSearch={lazySearch ? handleSearch : undefined}\n onChange={!lazySearch ? handleWordChange : undefined}\n placeholder={placeholder || '请输入搜索关键词'}\n allowClear\n />\n <Menu\n openKeys={openKeysRef.current}\n mode=\"inline\"\n items={menuList}\n selectedKeys={value ? [value] : undefined}\n onClick={onClick}\n style={{\n overflowY: 'auto',\n borderInlineEnd: 'none',\n ...style,\n }}\n />\n </div>\n );\n}\n"],"names":["SearchMenu","props","value","onChange","dataSource","searchKeyList","wrapStyle","style","placeholder","fieldNames","renderItem","lazySearch","className","_useState","useState","listFilter","setListFilter","openKeysRef","useRef","mergeFormatOption","useMemo","_extends","label","key","children","targetSearchKeyList","length","menuList","treeFieldNameChangeAdapter","item","fbaHooks","useEffectCustom","handleSearch","searchWord","current","undefined","cloneState","resList","treeFilter","find","_item$key","includes","childrenName","treeToArray","map","String","handleWordChange","e","target","onClick","_hooks","useCallbackRef","data","targetItem","valueIsEqual","keyPath","_jsxs","_jsx","InputSearchWrapper","onSearch","allowClear","Menu","openKeys","mode","items","selectedKeys","overflowY","borderInlineEnd"],"mappings":";glBAmDO,SAASA,EAAWC,GACzB,IACEC,EAWED,EAXFC,MACAC,EAUEF,EAVFE,SACAC,EASEH,EATFG,WACAC,EAQEJ,EARFI,cACAC,EAOEL,EAPFK,UACAC,EAMEN,EANFM,MACAC,EAKEP,EALFO,YACAC,EAIER,EAJFQ,WACAC,EAGET,EAHFS,WACAC,EAEEV,EAFFU,WACAC,EACEX,EADFW,UAEF,IAAAC,EAAoCC,EAAyB,IAAtDC,EAAUF,EAAA,GAAEG,EAAaH,EAAA,GAChC,IAAMI,EAAcC,IAGpB,IAAMC,EAAoBC,GAAQ,WAChC,OAAAC,EAAA,CACEC,MAAO,QACPC,IAAK,MACLC,SAAU,YACPf,EAEP,GAAG,CAACA,IAGJ,IAAMgB,EAAsBpB,GAAa,MAAbA,EAAeqB,OAASrB,EAAgB,CAACc,EAAkBG,OAGvF,IAAMK,EAAWP,GAAQ,WACvB,IAAQE,EAAyBH,EAAzBG,MAAOC,EAAkBJ,EAAlBI,IAAKC,EAAaL,EAAbK,SACpB,OAAOI,EAA2Bb,GAAY,SAACc,GAC7C,OAAAR,KACKQ,EAAI,CACPP,MAAOZ,EAAaA,EAAWmB,GAAQA,GAAI,UAAA,EAAJA,EAAOP,GAC9CC,IAAKM,GAAI,UAAA,EAAJA,EAAON,GACZC,SAAUK,GAAAA,UAAAA,EAAAA,EAAOL,IAErB,GACD,GAAE,CAACT,EAAYI,EAAmBT,IAKnCoB,EAASC,iBAAgB,WACvBC,EAAa,GACf,GAAG,CAAC5B,IAGJ,IAAM4B,EAAe,SAAfA,EAAgBC,GACpB,IAAKA,EAAY,CAEfhB,EAAYiB,QAAUC,UACtBnB,EAAcoB,EAAWhC,IAAe,IACxC,MACF,CACA,IAAMiC,EAAUC,EACdF,EAAWhC,IACX,SAACyB,GACC,SAASJ,GAAAA,MAAAA,EAAqBc,MAAK,SAAChB,GAAQ,IAAAiB,EAC1C,OAAAA,EAAOX,EAAKN,KAALiB,UAAAA,EAAAA,EAAWC,SAASR,EAC5B,IACH,GACA,CACES,aAAcvB,EAAkBK,WAGpCP,EAAYiB,QAAUS,EAAYN,EAASlB,EAAkBK,UAAUoB,KAAI,SAACf,GAAI,OAC9EgB,OAAOhB,EAAKV,EAAkBI,KAAK,IAErCP,EAAcqB,IAOhB,IAAMS,EAAmB,SAAnBA,EAAoBC,GACxBf,EAAae,EAAEC,OAAO9C,QAMxB,IAAM+C,EAAUC,EAAMC,gBAAe,SAACC,GACpC,IAAMC,EAAaV,EAAYvC,EAAYe,EAAkBK,UAAUe,MAAK,SAACV,GAAI,OAC/EyB,EAAaF,EAAK7B,IAAKM,EAAKV,EAAkBI,KAAK,IAErDpB,GAAAA,UAAAA,EAAAA,EAAWiD,EAAK7B,IAAK6B,EAAKG,QAASF,EACrC,IAEA,OACEG,EAAA,MAAA,CAAKjD,MAAOD,EAAWM,UAAWA,EAAUY,SAAA,CAC1CiC,EAACC,EAAkB,CACjBC,SAAUhD,EAAaqB,EAAeG,UACtChC,UAAWQ,EAAamC,EAAmBX,UAC3C3B,YAAaA,GAAe,WAC5BoD,WAAU,OAEZH,EAACI,EAAI,CACHC,SAAU7C,EAAYiB,QACtB6B,KAAK,SACLC,MAAOrC,EACPsC,aAAc/D,EAAQ,CAACA,GAASiC,UAChCc,QAASA,EACT1C,MAAKc,EAAA,CACH6C,UAAW,OACXC,gBAAiB,QACd5D,OAKb"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/search-menu/list-view/index.tsx","@flatbiz/antd/src/search-menu/search-menu.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { Empty } from 'antd';\nimport { CSSProperties, FC, ReactElement } from 'react';\nimport { IListViewItem } from '../type';\nimport './style.less';\n\nexport interface IListViewProps {\n dataList: IListViewItem[];\n value?: string;\n onChange?: (key: string, item: IListViewItem) => void;\n style?: CSSProperties;\n /** 自定义空数据提示 */\n emptyView?: ReactElement;\n}\n\n/**\n * 搜索列表\n * @param props\n * @returns search menu list view\n */\nexport const ListView: FC<IListViewProps> = (props) => {\n const { value, dataList, onChange, style, emptyView } = props;\n\n // 数据判空提示\n if (!dataList?.length) {\n return emptyView ? (\n <>{emptyView}</>\n ) : (\n <Empty\n style={{\n marginTop: '40px',\n }}\n description=\"暂无数据\"\n />\n );\n }\n\n return (\n <ul className=\"v-search-menu-wrapper-list-view\" style={style}>\n {dataList.map((item) => {\n return (\n <li\n className={classNames('v-search-menu-wrapper-list-view-item', {\n 'v-search-menu-wrapper-list-view-item-active': value == item.key,\n })}\n key={item.key}\n onClick={onChange?.bind(null, item.key, item)}\n >\n {item.label}\n </li>\n );\n })}\n </ul>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { TPlainObject, valueIsEqual } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useMemo, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { InputSearchWrapper } from '../input-search-wrapper';\nimport { IListViewProps, ListView } from './list-view';\nimport './style.less';\nimport { ISearchMenuProps } from './type';\n\n/**\n * 列表搜索\n * @param props\n * @returns\n */\nexport function SearchMenu(props: ISearchMenuProps & Pick<IListViewProps, 'emptyView'>) {\n const {\n value,\n onChange,\n dataSource,\n searchKeyList,\n wrapStyle,\n style,\n placeholder,\n fieldNames,\n renderItem,\n lazySearch,\n className,\n searchStyle,\n emptyView,\n } = props;\n const [listFilter, setListFilter] = useState<TPlainObject[]>([]);\n\n /** 格式化对象 */\n const mergeFormatOption = useMemo(() => {\n return {\n label: 'label',\n key: 'key',\n ...fieldNames,\n };\n }, [fieldNames]);\n\n /** 可搜索的字段值 */\n const targetSearchKeyList = searchKeyList?.length ? searchKeyList : [mergeFormatOption.label];\n\n /** 生成菜单列表 */\n const listViewData = useMemo(() => {\n const { label, key } = mergeFormatOption;\n return listFilter?.map((item) => {\n return {\n ...item,\n label: renderItem ? renderItem(item) : item?.[label],\n key: item?.[key],\n };\n });\n }, [listFilter, mergeFormatOption, renderItem]);\n\n /**\n * 数据格式化\n */\n fbaHooks.useEffectCustom(() => {\n handleSearch('');\n }, [dataSource]);\n\n /** 搜索 */\n const handleSearch = (searchWord: string) => {\n if (!searchWord) {\n // 还原列表\n setListFilter(dataSource);\n return;\n }\n // 根据搜索次过滤\n const resList = dataSource.filter((item) => {\n return !!targetSearchKeyList?.find((key) => {\n return item[key]?.includes(searchWord);\n });\n });\n setListFilter(resList);\n };\n\n /**\n * 搜索词变换\n * @param e\n */\n const handleWordChange = (e) => {\n handleSearch(e.target.value);\n };\n\n /**\n * 点击条目\n */\n const onClick = hooks.useCallbackRef((key) => {\n const targetItem = dataSource.find((item) => valueIsEqual(key, item[mergeFormatOption.key]));\n onChange?.(key, targetItem);\n });\n\n return (\n <div style={wrapStyle} className={classNames(className, 'v-search-menu-wrapper')}>\n <div className=\"v-search-menu-wrapper-search-area\" style={searchStyle}>\n <InputSearchWrapper\n onSearch={lazySearch ? handleSearch : undefined}\n onChange={!lazySearch ? handleWordChange : undefined}\n placeholder={placeholder || '请输入搜索关键词'}\n allowClear\n />\n {!!props.searchExtraElement && (\n <div className=\"v-search-menu-wrapper-search-extra\">{props.searchExtraElement}</div>\n )}\n </div>\n <ListView\n style={style}\n value={value}\n dataList={listViewData}\n onChange={onClick}\n emptyView={emptyView}\n />\n </div>\n );\n}\n"],"names":["ListView","props","value","dataList","onChange","style","emptyView","length","_jsx","_Fragment","children","Empty","marginTop","description","className","map","item","_classNames","key","onClick","bind","label","SearchMenu","dataSource","searchKeyList","wrapStyle","placeholder","fieldNames","renderItem","lazySearch","searchStyle","_useState","useState","listFilter","setListFilter","mergeFormatOption","useMemo","_extends","targetSearchKeyList","listViewData","fbaHooks","useEffectCustom","handleSearch","searchWord","resList","filter","find","_item$key","includes","handleWordChange","e","target","_hooks","useCallbackRef","targetItem","valueIsEqual","_jsxs","InputSearchWrapper","onSearch","undefined","allowClear","searchExtraElement"],"mappings":"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"}
@@ -12,5 +12,5 @@ import './../flex-layout/index.css';
12
12
  import './../tag-list-select/index.css';
13
13
  import './index.css';
14
14
  /*! @flatjs/forge MIT @flatbiz/antd */
15
- import{isString as r}from"@dimjs/lang/cjs/is-string";import{isObject as e}from"@dimjs/lang/cjs/is-object";import{get as n}from"@dimjs/utils/cjs/get";import{isPlainObject as t}from"@dimjs/lang/cjs/is-plain-object";import{_ as i}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isEmpty as o}from"@dimjs/lang/cjs/is-empty";import{isNumber as a,isUndefinedOrNull as l,getStrByteLen as u,cutString as s,flatbizDate as c,flatbizPrice as d}from"@flatbiz/utils";import{Tooltip as m,Space as f,Badge as p}from"antd";import{Fragment as j}from"react";import{ButtonOperate as v}from"../button-operate/index.js";import{TagListSelect as g}from"../tag-list-select/index.js";import{jsx as x}from"react/jsx-runtime";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../config-provider-wrapper/index.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"../index-ac189a77.js";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"../dropdown-menu-wrapper/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";var h=function r(e,n){return function(r){if(o(r)||r==="")return n;if(a(r))return r;var t=r.toString();var i=l(e)?10:e;var c=u(t);if(c<=i*2){return t}return x(m,{placement:"topLeft",title:t,children:s(t,i*2)})}};var b=function r(e){return function(r,n,t){var o=e(n,t);return x(v,i({},o))}};var y=function r(e,n){return function(r){if(o(r)||r==="")return n;try{return c.format(new Date(r),e)}catch(e){return r||n}}};var w=function r(e,n){return function(r,t,i){if(n&&e){return(e-1)*n+i+1}return i+1}};var C=function r(e){return function(r,n,t){var i=(e==null?void 0:e())||{},o=i.pageNo,a=i.pageSize;if(a&&o){return(o-1)*a+t+1}return t+1}};var k=function r(e,n){return function(r){if(l(r))return null;return x(g,{dataList:e,colorMap:n,value:r,forceMatch:false})}};var N=function r(i,o){return function(r){if(t(r)){var a=n(r,i,o);if(!a)return"";if(e(a))return JSON.stringify(a);return a}return r||o}};var O=function r(e){return function(r){if(l(r)||r===""){if(l(e==null?void 0:e.defaultValue))return undefined;if(a(e==null?void 0:e.defaultValue)){return x("span",{className:"table-fen-color",children:d.format(e==null?void 0:e.defaultValue)})}return x("span",{className:"table-fen-color",children:e==null?void 0:e.defaultValue})}if(!a(r))return r;var n=d.fen2yuan(r);return x("span",{className:"table-fen-color",children:d.format(n,e==null?void 0:e.defaultValue,{separator:(e==null?void 0:e.separator)||false})})}};var S=function e(n){return function(e,t){var i=n==null?void 0:n(t);if(!i)return x(j,{children:e});var o=l(i.showData)?true:i.showData;var a=l(i.notOverflowShowExtra)?true:i.notOverflowShowExtra;var u=l(i.showMaxNumber)?10:i.showMaxNumber;var c=i.extraPosition?i.extraPosition:"after";var d=r(e)?s(e,u*2):e;if(i.extra&&o){if(d===e&&!a){return e}var m=[x("span",{children:d},"1"),x(j,{children:i.extra},"2")];var p=c==="before"?m.reverse():m;return x(f,{onClick:i.onClick,style:{cursor:i.onClick?"pointer":undefined},size:5,children:p.map((function(r,e){return x(j,{children:r},e)}))})}return x("span",{onClick:i.onClick,children:i.extra})}};var z=function r(e,n){return function(r){if(!r)return null;var t=e.find((function(e){return e.value===r}));if(t)return x(p,{color:(t==null?void 0:t.color)||(n==null?void 0:n[r])||"rgba(0, 0, 0, 0.25)",text:t==null?void 0:t.label});return r}};var M={extraContentRender:S,indexCell:w,serialNumberCell:C,dateCell:y,operateCell:b,tooltipCell:h,selectorCell:k,objectCell:N,fen2yuanCell:O,badgeCell:z};export{M as tableCellRender};
15
+ import{isString as r}from"@dimjs/lang/cjs/is-string";import{isObject as e}from"@dimjs/lang/cjs/is-object";import{get as n}from"@dimjs/utils/cjs/get";import{isPlainObject as t}from"@dimjs/lang/cjs/is-plain-object";import{_ as i}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isEmpty as o}from"@dimjs/lang/cjs/is-empty";import{isNumber as a,isUndefinedOrNull as l,getStrByteLen as u,cutString as s,flatbizDate as c,flatbizPrice as m}from"@flatbiz/utils";import{Tooltip as d,Space as f,Badge as p}from"antd";import{Fragment as j}from"react";import{ButtonOperate as v}from"../button-operate/index.js";import{TagListSelect as g}from"../tag-list-select/index.js";import{jsx as x}from"react/jsx-runtime";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-34027e61.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"../dropdown-menu-wrapper/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";var h=function r(e,n){return function(r){if(o(r)||r==="")return n;if(a(r))return r;var t=r.toString();var i=l(e)?10:e;var c=u(t);if(c<=i*2){return t}return x(d,{placement:"topLeft",title:t,children:s(t,i*2)})}};var b=function r(e){return function(r,n,t){var o=e(n,t);return x(v,i({},o))}};var y=function r(e,n){return function(r){if(o(r)||r==="")return n;try{return c.format(new Date(r),e)}catch(e){return r||n}}};var C=function r(e,n){return function(r,t,i){if(n&&e){return(e-1)*n+i+1}return i+1}};var w=function r(e){return function(r,n,t){var i=(e==null?void 0:e())||{},o=i.pageNo,a=i.pageSize;if(a&&o){return(o-1)*a+t+1}return t+1}};var k=function r(e,n){return function(r){if(l(r))return null;return x(g,{dataList:e,colorMap:n,value:r,forceMatch:false})}};var N=function r(i,o){return function(r){if(t(r)){var a=n(r,i,o);if(!a)return"";if(e(a))return JSON.stringify(a);return a}return r||o}};var O=function r(e){return function(r){if(l(r)||r===""){if(l(e==null?void 0:e.defaultValue))return undefined;if(a(e==null?void 0:e.defaultValue)){return x("span",{className:"table-fen-color",children:m.format(e==null?void 0:e.defaultValue)})}return x("span",{className:"table-fen-color",children:e==null?void 0:e.defaultValue})}if(!a(r))return r;var n=m.fen2yuan(r);return x("span",{className:"table-fen-color",children:m.format(n,e==null?void 0:e.defaultValue,{separator:(e==null?void 0:e.separator)||false})})}};var S=function e(n){return function(e,t){var i=n==null?void 0:n(t);if(!i)return x(j,{children:e});var o=l(i.showData)?true:i.showData;var a=l(i.notOverflowShowExtra)?true:i.notOverflowShowExtra;var u=l(i.showMaxNumber)?10:i.showMaxNumber;var c=i.extraPosition?i.extraPosition:"after";var m=r(e)?s(e,u*2):e;if(i.extra&&o){if(m===e&&!a){return e}var d=[x("span",{children:m},"1"),x(j,{children:i.extra},"2")];var p=c==="before"?d.reverse():d;return x(f,{onClick:i.onClick,style:{cursor:i.onClick?"pointer":undefined},size:5,children:p.map((function(r,e){return x(j,{children:r},e)}))})}return x("span",{onClick:i.onClick,children:i.extra})}};var z=function r(e,n){return function(r){if(!r)return null;var t=e.find((function(e){return e.value===r}));if(t)return x(p,{color:(t==null?void 0:t.color)||(n==null?void 0:n[r])||"rgba(0, 0, 0, 0.25)",text:t==null?void 0:t.label});return r}};var M={extraContentRender:S,indexCell:C,serialNumberCell:w,dateCell:y,operateCell:b,tooltipCell:h,selectorCell:k,objectCell:N,fen2yuanCell:O,badgeCell:z};export{M as tableCellRender};
16
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/table-cell-render/cell-render.tsx"],"sourcesContent":["import { isEmpty, isObject, isPlainObject, isString } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport {\n cutString,\n DateFormatType,\n flatbizDate,\n flatbizPrice,\n getStrByteLen,\n isNumber,\n isUndefinedOrNull,\n TAny,\n TPlainObject,\n} from '@flatbiz/utils';\nimport { Badge, Space, Tooltip } from 'antd';\nimport { Fragment, ReactElement } from 'react';\nimport { ButtonOperate, ButtonOperateProps } from '../button-operate';\nimport { TagListSelect, TagListSelectProps, TagListSelectValue } from '../tag-list-select';\nimport './style.less';\n\nconst tableColumnTooltipRender = (showMaxNumber?: number, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n if (isNumber(value)) return value;\n const colunmText = value.toString();\n const maxNumber = (isUndefinedOrNull(showMaxNumber) ? 10 : showMaxNumber) as number;\n const strByteLen = getStrByteLen(colunmText);\n if (strByteLen <= maxNumber * 2) {\n return colunmText;\n }\n return (\n <Tooltip placement=\"topLeft\" title={colunmText}>\n {cutString(colunmText, maxNumber * 2)}\n </Tooltip>\n );\n };\n};\n\nconst tableColumnOperateRender = (options: (item: TAny, index: number) => ButtonOperateProps) => {\n return (_value: string | number, record, index: number) => {\n const operateProps = options(record, index);\n return <ButtonOperate {...operateProps} />;\n };\n};\n\nconst tableColumnDateRender = (dateFormatType?: DateFormatType, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n try {\n return flatbizDate.format(new Date(value), dateFormatType);\n } catch (error) {\n return value || defaultValue;\n }\n };\n};\n\n/**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @param pageSize\n * @param pageNo\n * @returns\n */\nconst tableColumnIndexRender = (pageNo?: number, pageSize?: number) => {\n return (_value, _record, index: number) => {\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\nconst tableColumnIndexRender2 = (method?: () => { pageNo?: number; pageSize?: number }) => {\n return (_value, _record, index: number) => {\n const { pageNo, pageSize } = method?.() || {};\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\n\nconst tableColumnSelectorRender = (\n selectorList: TagListSelectProps['dataList'],\n colorMap?: TagListSelectProps['colorMap'],\n) => {\n return (value?: TAny) => {\n if (isUndefinedOrNull(value)) return null;\n return <TagListSelect dataList={selectorList} colorMap={colorMap} value={value} forceMatch={false} />;\n };\n};\n\nconst tableColumnObjectRender = (key: string, defaultValue?: string) => {\n return (value?: TPlainObject) => {\n if (isPlainObject(value)) {\n const target = get(value, key, defaultValue);\n if (!target) return '';\n if (isObject(target)) return JSON.stringify(target);\n return target;\n }\n return value || defaultValue;\n };\n};\n\nconst tableColumnFen2yuanCellRender = (options?: {\n /** 是否显示分隔符,默认值:false */\n separator?: boolean;\n defaultValue?: string | number;\n}) => {\n return (value?: string | number) => {\n if (isUndefinedOrNull(value) || value === '') {\n if (isUndefinedOrNull(options?.defaultValue)) return undefined;\n if (isNumber(options?.defaultValue as string | number)) {\n return <span className=\"table-fen-color\">{flatbizPrice.format(options?.defaultValue)}</span>;\n }\n return <span className=\"table-fen-color\">{options?.defaultValue}</span>;\n }\n if (!isNumber(value as number | string)) return value;\n const amount = flatbizPrice.fen2yuan(value);\n return (\n <span className=\"table-fen-color\">\n {flatbizPrice.format(amount, options?.defaultValue, { separator: options?.separator || false })}\n </span>\n );\n };\n};\n\ntype TableColumnIconRenderProps = {\n /** 额外内容,一般为Icon */\n extra: ReactElement;\n extraPosition?: 'before' | 'after';\n onClick?: (e) => void;\n /** 是否显示原单元格数据,默认值:true */\n showData?: boolean;\n /** 溢出显示【...】, 最大长度(默认:20个字节) */\n showMaxNumber?: number;\n /** 未溢出显示【extra】配置,默认值:true */\n notOverflowShowExtra?: boolean;\n};\n\nconst tableColumnExtraContentRender = (handle: (item: TPlainObject) => TableColumnIconRenderProps) => {\n return (value: TAny, item: TPlainObject) => {\n const options = handle?.(item);\n if (!options) return <Fragment>{value}</Fragment>;\n const showData = isUndefinedOrNull(options.showData) ? true : options.showData;\n const notOverflowShowExtra = isUndefinedOrNull(options.notOverflowShowExtra)\n ? true\n : options.notOverflowShowExtra;\n const showMaxNumber = isUndefinedOrNull(options.showMaxNumber) ? 10 : (options.showMaxNumber as number);\n const extraPosition = options.extraPosition ? options.extraPosition : 'after';\n const renderValue = isString(value) ? cutString(value, showMaxNumber * 2) : value;\n\n if (options.extra && showData) {\n if (renderValue === value && !notOverflowShowExtra) {\n return value;\n }\n const spaceContent = [<span key=\"1\">{renderValue}</span>, <Fragment key=\"2\">{options.extra}</Fragment>];\n const spaceContentRender = extraPosition === 'before' ? spaceContent.reverse() : spaceContent;\n return (\n <Space onClick={options.onClick} style={{ cursor: options.onClick ? 'pointer' : undefined }} size={5}>\n {spaceContentRender.map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n );\n }\n return <span onClick={options.onClick}>{options.extra}</span>;\n };\n};\n\nconst tableColumnBadgeRender = (\n selectorList: { label: string; value: TagListSelectValue; color?: string }[],\n colorMap?: Record<string | string, string>,\n) => {\n return (value?: TAny) => {\n if (!value) return null;\n const target = selectorList.find((item) => item.value === value);\n if (target)\n return (\n <Badge color={target?.color || colorMap?.[value] || 'rgba(0, 0, 0, 0.25)'} text={target?.label} />\n );\n return value;\n };\n};\n\nexport const tableCellRender = {\n /**\n * 表格单元格 拼接额外内容渲染\n * ```\n * 1. extra 额外内容\n * 2. showData 是否显示原单元格数据,默认值:true\n * 3. showMaxNumber 显示最大长度,作用于原单元格字符串数据\n * ```\n */\n extraContentRender: tableColumnExtraContentRender,\n /**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @deprecated 已过时 4.3.0版本移除,请使用 serialNumberCell\n */\n indexCell: tableColumnIndexRender,\n /**\n * table 序号展示,如果存在pageSize、pageNo参数可分页展示累加序号,否则每页都从1开始\n * ```\n * render: tableCellRender.serialNumberCell(() => {\n * return { pageNo,pageSize };\n * }),\n * ```\n */\n serialNumberCell: tableColumnIndexRender2,\n /**\n * 表格日期格式数据渲染,默认格式:YYYY-MM-DD\n * ```\n * dateFormatType: 日期格式\n * ```\n */\n dateCell: tableColumnDateRender,\n /**\n * table操作栏目渲染\n * ```\n * 使用方式\n * tableCellRender.operateCell((item) => ({\n * operateList: [\n * {\n * text: '编辑',\n * onClick: onItemOperate.bind(null, 'update', item),\n * permission: SystemAdminPermissionEnum.system_admin_edit,\n * },\n * {\n * text: '删除',\n * needConfirm: true,\n * confirmMessage: '确定要删除吗?',\n * onClick: onItemOperate.bind(null, 'delete', item),\n * permission: SystemAdminPermissionEnum.system_admin_delete,\n * },\n * ],\n * }))\n * ```\n */\n operateCell: tableColumnOperateRender,\n /**\n * 实现字段超出隐藏,默认长度10个字符\n * ```\n * 1. showMaxNumber: 显示最大长度\n * 2. 会讲字符转出字节进行计算显示\n * ```\n */\n tooltipCell: tableColumnTooltipRender,\n /**\n * ```\n * 独立使用\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }])(value)\n * tableCellRender.selectorCell([{ label: '已开启', value: 1, color: '#108ee9' }])(value)\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })(value)\n *\n * 结合table column render 使用\n * render: tableCellRender.selectorCell([{ label: '已开启', value: 1 ])\n * render: (value) => {\n * return tableCellRender.selectorCell([{ label: '已开启', value: 1 ])(value)\n * }\n *\n * 其中value值可以是单个值或者数组;例如:'1' 或者 ['1', '2']\n * ```\n */\n selectorCell: tableColumnSelectorRender,\n /**\n * 单元格对象数据处理,支持多级处理\n * ```\n * tableCellRender.objectCell('a.b.c')\n * ```\n */\n objectCell: tableColumnObjectRender,\n /**\n * 分金额展示,入参分,显示元(默认添加千分位)\n * ```\n * 可配置\n * 1. separator:是否显示千分位分隔符,默认值:false\n * 2. defaultValue:当值为空默认展示\n *\n * 例如:\n * fen2yuanCell()(100090) => 1000.90\n * fen2yuanCell({separator: true})(100090) => 1,000.90\n * fen2yuanCell()('abc') => abc\n * fen2yuanCell({defaultValue: '--'})('') => --\n * fen2yuanCell()('') => undefined\n * fen2yuanCell({ defaultValue: 0 })('') => 0.00\n * ```\n */\n fen2yuanCell: tableColumnFen2yuanCellRender,\n /**\n * 单元格徽标展示数据\n * ```\n * 1. badge 默认颜色:灰色rgba(0, 0, 0, 0.25)\n *\n * 独立使用\n * tableCellRender.badgeCell([{ label: '已开启', value: 1 ])(value)\n * tableCellRender.badgeCell([{ label: '已开启', value: 1, color: '#108ee9' }])(value)\n * tableCellRender.badgeCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })(value)\n *\n * 结合table column render 使用\n * render: tableCellRender.badgeCell([{ label: '已开启', value: 1 ])\n * render: (value) => {\n * return tableCellRender.badgeCell([{ label: '已开启', value: 1 ])(value)\n * }\n * ```\n */\n badgeCell: tableColumnBadgeRender,\n};\n"],"names":["tableColumnTooltipRender","showMaxNumber","defaultValue","value","_isEmpty","isNumber","colunmText","toString","maxNumber","isUndefinedOrNull","strByteLen","getStrByteLen","_jsx","Tooltip","placement","title","children","cutString","tableColumnOperateRender","options","_value","record","index","operateProps","ButtonOperate","_extends","tableColumnDateRender","dateFormatType","flatbizDate","format","Date","error","tableColumnIndexRender","pageNo","pageSize","_record","tableColumnIndexRender2","method","_ref","tableColumnSelectorRender","selectorList","colorMap","TagListSelect","dataList","forceMatch","tableColumnObjectRender","key","_isPlainObject","target","_get","_isObject","JSON","stringify","tableColumnFen2yuanCellRender","undefined","className","flatbizPrice","amount","fen2yuan","separator","tableColumnExtraContentRender","handle","item","Fragment","showData","notOverflowShowExtra","extraPosition","renderValue","_isString","extra","spaceContent","spaceContentRender","reverse","Space","onClick","style","cursor","size","map","tableColumnBadgeRender","find","Badge","color","text","label","tableCellRender","extraContentRender","indexCell","serialNumberCell","dateCell","operateCell","tooltipCell","selectorCell","objectCell","fen2yuanCell","badgeCell"],"mappings":";8wDAmBA,IAAMA,EAA2B,SAA3BA,EAA4BC,EAAwBC,GACxD,OAAO,SAACC,GACN,GAAIC,EAAQD,IAAUA,IAAU,GAAI,OAAOD,EAC3C,GAAIG,EAASF,GAAQ,OAAOA,EAC5B,IAAMG,EAAaH,EAAMI,WACzB,IAAMC,EAAaC,EAAkBR,GAAiB,GAAKA,EAC3D,IAAMS,EAAaC,EAAcL,GACjC,GAAII,GAAcF,EAAY,EAAG,CAC/B,OAAOF,CACT,CACA,OACEM,EAACC,EAAO,CAACC,UAAU,UAAUC,MAAOT,EAAWU,SAC5CC,EAAUX,EAAYE,EAAY,KAI3C,EAEA,IAAMU,EAA2B,SAA3BA,EAA4BC,GAChC,OAAO,SAACC,EAAyBC,EAAQC,GACvC,IAAMC,EAAeJ,EAAQE,EAAQC,GACrC,OAAOV,EAACY,EAAaC,EAAKF,CAAAA,EAAAA,IAE9B,EAEA,IAAMG,EAAwB,SAAxBA,EAAyBC,EAAiCzB,GAC9D,OAAO,SAACC,GACN,GAAIC,EAAQD,IAAUA,IAAU,GAAI,OAAOD,EAC3C,IACE,OAAO0B,EAAYC,OAAO,IAAIC,KAAK3B,GAAQwB,EAC5C,CAAC,MAAOI,GACP,OAAO5B,GAASD,CAClB,EAEJ,EAQA,IAAM8B,EAAyB,SAAzBA,EAA0BC,EAAiBC,GAC/C,OAAO,SAACd,EAAQe,EAASb,GACvB,GAAIY,GAAYD,EAAQ,CACtB,OAAQA,EAAS,GAAKC,EAAWZ,EAAQ,CAC3C,CACA,OAAOA,EAAQ,EAEnB,EACA,IAAMc,EAA0B,SAA1BA,EAA2BC,GAC/B,OAAO,SAACjB,EAAQe,EAASb,GACvB,IAAAgB,GAA6BD,GAAM,UAAA,EAANA,MAAc,CAAE,EAArCJ,EAAMK,EAANL,OAAQC,EAAQI,EAARJ,SAChB,GAAIA,GAAYD,EAAQ,CACtB,OAAQA,EAAS,GAAKC,EAAWZ,EAAQ,CAC3C,CACA,OAAOA,EAAQ,EAEnB,EAEA,IAAMiB,EAA4B,SAA5BA,EACJC,EACAC,GAEA,OAAO,SAACtC,GACN,GAAIM,EAAkBN,GAAQ,OAAO,KACrC,OAAOS,EAAC8B,EAAa,CAACC,SAAUH,EAAcC,SAAUA,EAAUtC,MAAOA,EAAOyC,WAAY,QAEhG,EAEA,IAAMC,EAA0B,SAA1BA,EAA2BC,EAAa5C,GAC5C,OAAO,SAACC,GACN,GAAI4C,EAAc5C,GAAQ,CACxB,IAAM6C,EAASC,EAAI9C,EAAO2C,EAAK5C,GAC/B,IAAK8C,EAAQ,MAAO,GACpB,GAAIE,EAASF,GAAS,OAAOG,KAAKC,UAAUJ,GAC5C,OAAOA,CACT,CACA,OAAO7C,GAASD,EAEpB,EAEA,IAAMmD,EAAgC,SAAhCA,EAAiClC,GAKrC,OAAO,SAAChB,GACN,GAAIM,EAAkBN,IAAUA,IAAU,GAAI,CAC5C,GAAIM,EAAkBU,GAAAA,UAAAA,EAAAA,EAASjB,cAAe,OAAOoD,UACrD,GAAIjD,EAASc,GAAO,UAAA,EAAPA,EAASjB,cAAkC,CACtD,OAAOU,EAAA,OAAA,CAAM2C,UAAU,kBAAiBvC,SAAEwC,EAAa3B,OAAOV,GAAO,UAAA,EAAPA,EAASjB,eACzE,CACA,OAAOU,EAAA,OAAA,CAAM2C,UAAU,kBAAiBvC,SAAEG,GAAAA,UAAAA,EAAAA,EAASjB,cACrD,CACA,IAAKG,EAASF,GAA2B,OAAOA,EAChD,IAAMsD,EAASD,EAAaE,SAASvD,GACrC,OACES,EAAA,OAAA,CAAM2C,UAAU,kBAAiBvC,SAC9BwC,EAAa3B,OAAO4B,EAAQtC,GAAAA,UAAAA,EAAAA,EAASjB,aAAc,CAAEyD,WAAWxC,eAAAA,EAASwC,YAAa,UAI/F,EAeA,IAAMC,EAAgC,SAAhCA,EAAiCC,GACrC,OAAO,SAAC1D,EAAa2D,GACnB,IAAM3C,EAAU0C,eAAAA,EAASC,GACzB,IAAK3C,EAAS,OAAOP,EAACmD,EAAQ,CAAA/C,SAAEb,IAChC,IAAM6D,EAAWvD,EAAkBU,EAAQ6C,UAAY,KAAO7C,EAAQ6C,SACtE,IAAMC,EAAuBxD,EAAkBU,EAAQ8C,sBACnD,KACA9C,EAAQ8C,qBACZ,IAAMhE,EAAgBQ,EAAkBU,EAAQlB,eAAiB,GAAMkB,EAAQlB,cAC/E,IAAMiE,EAAgB/C,EAAQ+C,cAAgB/C,EAAQ+C,cAAgB,QACtE,IAAMC,EAAcC,EAASjE,GAASc,EAAUd,EAAOF,EAAgB,GAAKE,EAE5E,GAAIgB,EAAQkD,OAASL,EAAU,CAC7B,GAAIG,IAAgBhE,IAAU8D,EAAsB,CAClD,OAAO9D,CACT,CACA,IAAMmE,EAAe,CAAC1D,EAAA,OAAA,CAAAI,SAAemD,GAAL,KAA0BvD,EAACmD,EAAQ,CAAA/C,SAAUG,EAAQkD,OAAb,MACxE,IAAME,EAAqBL,IAAkB,SAAWI,EAAaE,UAAYF,EACjF,OACE1D,EAAC6D,EAAK,CAACC,QAASvD,EAAQuD,QAASC,MAAO,CAAEC,OAAQzD,EAAQuD,QAAU,UAAYpB,WAAauB,KAAM,EAAE7D,SAClGuD,EAAmBO,KAAI,SAAChB,EAAMxC,GAC7B,OAAOV,EAACmD,EAAQ,CAAA/C,SAAc8C,GAARxC,OAI9B,CACA,OAAOV,EAAA,OAAA,CAAM8D,QAASvD,EAAQuD,QAAQ1D,SAAEG,EAAQkD,QAEpD,EAEA,IAAMU,EAAyB,SAAzBA,EACJvC,EACAC,GAEA,OAAO,SAACtC,GACN,IAAKA,EAAO,OAAO,KACnB,IAAM6C,EAASR,EAAawC,MAAK,SAAClB,GAAI,OAAKA,EAAK3D,QAAUA,KAC1D,GAAI6C,EACF,OACEpC,EAACqE,EAAK,CAACC,OAAOlC,GAAM,UAAA,EAANA,EAAQkC,SAASzC,eAAAA,EAAWtC,KAAU,sBAAuBgF,KAAMnC,GAAAA,UAAAA,EAAAA,EAAQoC,QAE7F,OAAOjF,EAEX,EAEO,IAAMkF,EAAkB,CAS7BC,mBAAoB1B,EAKpB2B,UAAWvD,EASXwD,iBAAkBpD,EAOlBqD,SAAU/D,EAuBVgE,YAAaxE,EAQbyE,YAAa3F,EAiBb4F,aAAcrD,EAOdsD,WAAYhD,EAiBZiD,aAAczC,EAkBd0C,UAAWhB"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/table-cell-render/cell-render.tsx"],"sourcesContent":["import { isEmpty, isObject, isPlainObject, isString } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport {\n cutString,\n DateFormatType,\n flatbizDate,\n flatbizPrice,\n getStrByteLen,\n isNumber,\n isUndefinedOrNull,\n TAny,\n TPlainObject,\n} from '@flatbiz/utils';\nimport { Badge, Space, Tooltip } from 'antd';\nimport { Fragment, ReactElement } from 'react';\nimport { ButtonOperate, ButtonOperateProps } from '../button-operate';\nimport { TagListSelect, TagListSelectProps, TagListSelectValue } from '../tag-list-select';\nimport './style.less';\n\nconst tableColumnTooltipRender = (showMaxNumber?: number, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n if (isNumber(value)) return value;\n const colunmText = value.toString();\n const maxNumber = (isUndefinedOrNull(showMaxNumber) ? 10 : showMaxNumber) as number;\n const strByteLen = getStrByteLen(colunmText);\n if (strByteLen <= maxNumber * 2) {\n return colunmText;\n }\n return (\n <Tooltip placement=\"topLeft\" title={colunmText}>\n {cutString(colunmText, maxNumber * 2)}\n </Tooltip>\n );\n };\n};\n\nconst tableColumnOperateRender = (options: (item: TAny, index: number) => ButtonOperateProps) => {\n return (_value: string | number, record, index: number) => {\n const operateProps = options(record, index);\n return <ButtonOperate {...operateProps} />;\n };\n};\n\nconst tableColumnDateRender = (dateFormatType?: DateFormatType, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n try {\n return flatbizDate.format(new Date(value), dateFormatType);\n } catch (error) {\n return value || defaultValue;\n }\n };\n};\n\n/**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @param pageSize\n * @param pageNo\n * @returns\n */\nconst tableColumnIndexRender = (pageNo?: number, pageSize?: number) => {\n return (_value, _record, index: number) => {\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\nconst tableColumnIndexRender2 = (method?: () => { pageNo?: number; pageSize?: number }) => {\n return (_value, _record, index: number) => {\n const { pageNo, pageSize } = method?.() || {};\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\n\nconst tableColumnSelectorRender = (\n selectorList: TagListSelectProps['dataList'],\n colorMap?: TagListSelectProps['colorMap'],\n) => {\n return (value?: TAny) => {\n if (isUndefinedOrNull(value)) return null;\n return <TagListSelect dataList={selectorList} colorMap={colorMap} value={value} forceMatch={false} />;\n };\n};\n\nconst tableColumnObjectRender = (key: string, defaultValue?: string) => {\n return (value?: TPlainObject) => {\n if (isPlainObject(value)) {\n const target = get(value, key, defaultValue);\n if (!target) return '';\n if (isObject(target)) return JSON.stringify(target);\n return target;\n }\n return value || defaultValue;\n };\n};\n\nconst tableColumnFen2yuanCellRender = (options?: {\n /** 是否显示分隔符,默认值:false */\n separator?: boolean;\n defaultValue?: string | number;\n}) => {\n return (value?: string | number) => {\n if (isUndefinedOrNull(value) || value === '') {\n if (isUndefinedOrNull(options?.defaultValue)) return undefined;\n if (isNumber(options?.defaultValue as string | number)) {\n return <span className=\"table-fen-color\">{flatbizPrice.format(options?.defaultValue)}</span>;\n }\n return <span className=\"table-fen-color\">{options?.defaultValue}</span>;\n }\n if (!isNumber(value as number | string)) return value;\n const amount = flatbizPrice.fen2yuan(value);\n return (\n <span className=\"table-fen-color\">\n {flatbizPrice.format(amount, options?.defaultValue, { separator: options?.separator || false })}\n </span>\n );\n };\n};\n\ntype TableColumnIconRenderProps = {\n /** 额外内容,一般为Icon */\n extra: ReactElement;\n extraPosition?: 'before' | 'after';\n onClick?: (e) => void;\n /** 是否显示原单元格数据,默认值:true */\n showData?: boolean;\n /** 溢出显示【...】, 最大长度(默认:20个字节) */\n showMaxNumber?: number;\n /** 未溢出显示【extra】配置,默认值:true */\n notOverflowShowExtra?: boolean;\n};\n\nconst tableColumnExtraContentRender = (handle: (item: TPlainObject) => TableColumnIconRenderProps) => {\n return (value: TAny, item: TPlainObject) => {\n const options = handle?.(item);\n if (!options) return <Fragment>{value}</Fragment>;\n const showData = isUndefinedOrNull(options.showData) ? true : options.showData;\n const notOverflowShowExtra = isUndefinedOrNull(options.notOverflowShowExtra)\n ? true\n : options.notOverflowShowExtra;\n const showMaxNumber = isUndefinedOrNull(options.showMaxNumber) ? 10 : (options.showMaxNumber as number);\n const extraPosition = options.extraPosition ? options.extraPosition : 'after';\n const renderValue = isString(value) ? cutString(value, showMaxNumber * 2) : value;\n\n if (options.extra && showData) {\n if (renderValue === value && !notOverflowShowExtra) {\n return value;\n }\n const spaceContent = [<span key=\"1\">{renderValue}</span>, <Fragment key=\"2\">{options.extra}</Fragment>];\n const spaceContentRender = extraPosition === 'before' ? spaceContent.reverse() : spaceContent;\n return (\n <Space onClick={options.onClick} style={{ cursor: options.onClick ? 'pointer' : undefined }} size={5}>\n {spaceContentRender.map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n );\n }\n return <span onClick={options.onClick}>{options.extra}</span>;\n };\n};\n\nconst tableColumnBadgeRender = (\n selectorList: { label: string; value: TagListSelectValue; color?: string }[],\n colorMap?: Record<string | string, string>,\n) => {\n return (value?: TAny) => {\n if (!value) return null;\n const target = selectorList.find((item) => item.value === value);\n if (target)\n return (\n <Badge color={target?.color || colorMap?.[value] || 'rgba(0, 0, 0, 0.25)'} text={target?.label} />\n );\n return value;\n };\n};\n\nexport const tableCellRender = {\n /**\n * 表格单元格 拼接额外内容渲染\n * ```\n * 1. extra 额外内容\n * 2. showData 是否显示原单元格数据,默认值:true\n * 3. showMaxNumber 显示最大长度,作用于原单元格字符串数据\n * ```\n */\n extraContentRender: tableColumnExtraContentRender,\n /**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @deprecated 已过时 4.3.0版本移除,请使用 serialNumberCell\n */\n indexCell: tableColumnIndexRender,\n /**\n * table 序号展示,如果存在pageSize、pageNo参数可分页展示累加序号,否则每页都从1开始\n * ```\n * render: tableCellRender.serialNumberCell(() => {\n * return { pageNo,pageSize };\n * }),\n * ```\n */\n serialNumberCell: tableColumnIndexRender2,\n /**\n * 表格日期格式数据渲染,默认格式:YYYY-MM-DD\n * ```\n * dateFormatType: 日期格式\n * ```\n */\n dateCell: tableColumnDateRender,\n /**\n * table操作栏目渲染\n * ```\n * 使用方式\n * tableCellRender.operateCell((item) => ({\n * operateList: [\n * {\n * text: '编辑',\n * onClick: onItemOperate.bind(null, 'update', item),\n * permission: SystemAdminPermissionEnum.system_admin_edit,\n * },\n * {\n * text: '删除',\n * needConfirm: true,\n * confirmMessage: '确定要删除吗?',\n * onClick: onItemOperate.bind(null, 'delete', item),\n * permission: SystemAdminPermissionEnum.system_admin_delete,\n * },\n * ],\n * }))\n * ```\n */\n operateCell: tableColumnOperateRender,\n /**\n * 实现字段超出隐藏,默认长度10个字符\n * ```\n * 1. showMaxNumber: 显示最大长度\n * 2. 会讲字符转出字节进行计算显示\n * ```\n */\n tooltipCell: tableColumnTooltipRender,\n /**\n * ```\n * 独立使用\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }])(value)\n * tableCellRender.selectorCell([{ label: '已开启', value: 1, color: '#108ee9' }])(value)\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })(value)\n *\n * 结合table column render 使用\n * render: tableCellRender.selectorCell([{ label: '已开启', value: 1 ])\n * render: (value) => {\n * return tableCellRender.selectorCell([{ label: '已开启', value: 1 ])(value)\n * }\n *\n * 其中value值可以是单个值或者数组;例如:'1' 或者 ['1', '2']\n * ```\n */\n selectorCell: tableColumnSelectorRender,\n /**\n * 单元格对象数据处理,支持多级处理\n * ```\n * tableCellRender.objectCell('a.b.c')\n * ```\n */\n objectCell: tableColumnObjectRender,\n /**\n * 分金额展示,入参分,显示元(默认添加千分位)\n * ```\n * 可配置\n * 1. separator:是否显示千分位分隔符,默认值:false\n * 2. defaultValue:当值为空默认展示\n *\n * 例如:\n * fen2yuanCell()(100090) => 1000.90\n * fen2yuanCell({separator: true})(100090) => 1,000.90\n * fen2yuanCell()('abc') => abc\n * fen2yuanCell({defaultValue: '--'})('') => --\n * fen2yuanCell()('') => undefined\n * fen2yuanCell({ defaultValue: 0 })('') => 0.00\n * ```\n */\n fen2yuanCell: tableColumnFen2yuanCellRender,\n /**\n * 单元格徽标展示数据\n * ```\n * 1. badge 默认颜色:灰色rgba(0, 0, 0, 0.25)\n *\n * 独立使用\n * tableCellRender.badgeCell([{ label: '已开启', value: 1 ])(value)\n * tableCellRender.badgeCell([{ label: '已开启', value: 1, color: '#108ee9' }])(value)\n * tableCellRender.badgeCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })(value)\n *\n * 结合table column render 使用\n * render: tableCellRender.badgeCell([{ label: '已开启', value: 1 ])\n * render: (value) => {\n * return tableCellRender.badgeCell([{ label: '已开启', value: 1 ])(value)\n * }\n * ```\n */\n badgeCell: tableColumnBadgeRender,\n};\n"],"names":["tableColumnTooltipRender","showMaxNumber","defaultValue","value","_isEmpty","isNumber","colunmText","toString","maxNumber","isUndefinedOrNull","strByteLen","getStrByteLen","_jsx","Tooltip","placement","title","children","cutString","tableColumnOperateRender","options","_value","record","index","operateProps","ButtonOperate","_extends","tableColumnDateRender","dateFormatType","flatbizDate","format","Date","error","tableColumnIndexRender","pageNo","pageSize","_record","tableColumnIndexRender2","method","_ref","tableColumnSelectorRender","selectorList","colorMap","TagListSelect","dataList","forceMatch","tableColumnObjectRender","key","_isPlainObject","target","_get","_isObject","JSON","stringify","tableColumnFen2yuanCellRender","undefined","className","flatbizPrice","amount","fen2yuan","separator","tableColumnExtraContentRender","handle","item","Fragment","showData","notOverflowShowExtra","extraPosition","renderValue","_isString","extra","spaceContent","spaceContentRender","reverse","Space","onClick","style","cursor","size","map","tableColumnBadgeRender","find","Badge","color","text","label","tableCellRender","extraContentRender","indexCell","serialNumberCell","dateCell","operateCell","tooltipCell","selectorCell","objectCell","fen2yuanCell","badgeCell"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  /* eslint-disable */
2
+ import './../fba-hooks/index.css';
2
3
  import './index.css';
3
4
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{Tooltip as t}from"antd";import{useState as e,useMemo as i}from"react";import{jsx as n,jsxs as r}from"react/jsx-runtime";var d=function d(f){var s=e(0),a=s[0],l=s[1];var h=e(0),c=h[0],o=h[1];var u=i((function(){if(f.hideTips)return false;if(f.width!==undefined){return c>f.width}return c>a}),[a,f.hideTips,f.width,c]);return n(t,{title:u?f.text:undefined,children:r("span",{className:"text-css-ellipsis",style:f.width?{width:f.width}:{},ref:function t(e){if(e){var i;l((e==null||(i=e.parentElement)==null?void 0:i.offsetWidth)||0)}},children:[n("span",{className:"tce-hidden",children:n("span",{ref:function t(e){if(e){o(e.offsetWidth)}},children:f.text})}),f.text]})})};export{d as TextCssEllipsis};
5
+ import{useSize as t}from"ahooks";import{Tooltip as e}from"antd";import{useRef as r,useState as i}from"react";import{fbaHooks as n}from"../fba-hooks/index.js";import{jsx as o,jsxs as s}from"react/jsx-runtime";import"../_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";var a=function a(d){var l=r();var f=i(0),m=f[0],p=f[1];var u=t(l);var c=n.useMemoCustom((function(){var t;if(d.hideTips)return false;if(d.width!==undefined){return m>d.width}var e=((t=l.current)==null||(t=t.parentElement)==null?void 0:t.offsetWidth)||0;return m>e}),[d.hideTips,d.width,m,u==null?void 0:u.width]);return o(e,{title:c?d.text:undefined,children:s("span",{className:"text-css-ellipsis",style:d.width?{width:d.width}:{},ref:function t(e){if(e){l.current=e}},children:[o("span",{className:"tce-hidden",children:o("span",{ref:function t(e){if(e){p(e.offsetWidth)}},children:d.text})}),d.text]})})};export{a as TextCssEllipsis};
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-css-ellipsis/text-css-ellipsis.tsx"],"sourcesContent":["import { Tooltip } from 'antd';\nimport { useMemo, useState } from 'react';\nimport './style.less';\n\nexport type CssTextEllipsisProps = {\n text: string;\n width?: number;\n /** 隐藏tips */\n hideTips?: boolean;\n};\n\n/**\n * 内容超过宽度截取,并在尾部添加...,被截取的添加Tooltip显示完整数据\n * ```\n * 1. 如果配置 width,则使用文本长度与width进行比较\n * 2. 如果没有配置 width,则使用文本长度与当前节点父节点宽度进行比较\n *\n * 注意:\n * 1. 当前节点父节点可能需要添加 overflow-x: hidden;\n * 2. 如果父节点设置flex-shrink会有影响,可复写flex-shrink: initial;\n * ```\n */\nexport const TextCssEllipsis = (props: CssTextEllipsisProps) => {\n const [parentNodeWidth, setParentNodeWidth] = useState(0);\n const [textNodeWidth, setTextNodeWidth] = useState(0);\n\n const showTips = useMemo(() => {\n if (props.hideTips) return false;\n if (props.width !== undefined) {\n return textNodeWidth > props.width;\n }\n return textNodeWidth > parentNodeWidth;\n }, [parentNodeWidth, props.hideTips, props.width, textNodeWidth]);\n\n return (\n <Tooltip title={showTips ? props.text : undefined}>\n <span\n className=\"text-css-ellipsis\"\n style={props.width ? { width: props.width } : {}}\n ref={(node) => {\n if (node) {\n setParentNodeWidth(node?.parentElement?.offsetWidth || 0);\n }\n }}\n >\n <span className=\"tce-hidden\">\n <span\n ref={(node) => {\n if (node) {\n setTextNodeWidth(node.offsetWidth);\n }\n }}\n >\n {props.text}\n </span>\n </span>\n {props.text}\n </span>\n </Tooltip>\n );\n};\n"],"names":["TextCssEllipsis","props","_useState","useState","parentNodeWidth","setParentNodeWidth","_useState2","textNodeWidth","setTextNodeWidth","showTips","useMemo","hideTips","width","undefined","_jsx","Tooltip","title","text","children","_jsxs","className","style","ref","node","_node$parentElement","parentElement","offsetWidth"],"mappings":";mIAsBaA,EAAkB,SAAlBA,EAAmBC,GAC9B,IAAAC,EAA8CC,EAAS,GAAhDC,EAAeF,EAAA,GAAEG,EAAkBH,EAAA,GAC1C,IAAAI,EAA0CH,EAAS,GAA5CI,EAAaD,EAAA,GAAEE,EAAgBF,EAAA,GAEtC,IAAMG,EAAWC,GAAQ,WACvB,GAAIT,EAAMU,SAAU,OAAO,MAC3B,GAAIV,EAAMW,QAAUC,UAAW,CAC7B,OAAON,EAAgBN,EAAMW,KAC/B,CACA,OAAOL,EAAgBH,CACzB,GAAG,CAACA,EAAiBH,EAAMU,SAAUV,EAAMW,MAAOL,IAElD,OACEO,EAACC,EAAO,CAACC,MAAOP,EAAWR,EAAMgB,KAAOJ,UAAUK,SAChDC,EAAA,OAAA,CACEC,UAAU,oBACVC,MAAOpB,EAAMW,MAAQ,CAAEA,MAAOX,EAAMW,OAAU,CAAG,EACjDU,IAAK,SAAAA,EAACC,GACJ,GAAIA,EAAM,CAAA,IAAAC,EACRnB,GAAmBkB,GAAI,OAAAC,EAAJD,EAAME,4BAAND,EAAqBE,cAAe,EACzD,CACA,EAAAR,UAEFJ,EAAA,OAAA,CAAMM,UAAU,aAAYF,SAC1BJ,EAAA,OAAA,CACEQ,IAAK,SAAAA,EAACC,GACJ,GAAIA,EAAM,CACRf,EAAiBe,EAAKG,YACxB,CACA,EAAAR,SAEDjB,EAAMgB,SAGVhB,EAAMgB,SAIf"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-css-ellipsis/text-css-ellipsis.tsx"],"sourcesContent":["import { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type CssTextEllipsisProps = {\n text: string;\n width?: number;\n /** 隐藏tips */\n hideTips?: boolean;\n};\n\n/**\n * 内容超过宽度截取,并在尾部添加...,被截取的添加Tooltip显示完整数据\n * ```\n * 1. 如果配置 width,则使用文本长度与width进行比较\n * 2. 如果没有配置 width,则使用文本长度与当前节点父节点宽度进行比较\n *\n * 注意:\n * 1. 当前节点父节点可能需要添加 overflow-x: hidden;\n * 2. 如果父节点设置flex-shrink会有影响,可复写flex-shrink: initial;\n * ```\n */\nexport const TextCssEllipsis = (props: CssTextEllipsisProps) => {\n const rootRef = useRef<HTMLSpanElement>();\n const [textNodeWidth, setTextNodeWidth] = useState(0);\n const size = useSize(rootRef);\n\n const showTips = fbaHooks.useMemoCustom(() => {\n if (props.hideTips) return false;\n if (props.width !== undefined) {\n return textNodeWidth > props.width;\n }\n const parentNodeWidth = rootRef.current?.parentElement?.offsetWidth || 0;\n return textNodeWidth > parentNodeWidth;\n }, [props.hideTips, props.width, textNodeWidth, size?.width]);\n\n return (\n <Tooltip title={showTips ? props.text : undefined}>\n <span\n className=\"text-css-ellipsis\"\n style={props.width ? { width: props.width } : {}}\n ref={(node) => {\n if (node) {\n rootRef.current = node;\n }\n }}\n >\n <span className=\"tce-hidden\">\n <span\n ref={(node) => {\n if (node) {\n setTextNodeWidth(node.offsetWidth);\n }\n }}\n >\n {props.text}\n </span>\n </span>\n {props.text}\n </span>\n </Tooltip>\n );\n};\n"],"names":["TextCssEllipsis","props","rootRef","useRef","_useState","useState","textNodeWidth","setTextNodeWidth","size","useSize","showTips","fbaHooks","useMemoCustom","_rootRef$current","hideTips","width","undefined","parentNodeWidth","current","parentElement","offsetWidth","_jsx","Tooltip","title","text","children","_jsxs","className","style","ref","node"],"mappings":";gXAwBaA,EAAkB,SAAlBA,EAAmBC,GAC9B,IAAMC,EAAUC,IAChB,IAAAC,EAA0CC,EAAS,GAA5CC,EAAaF,EAAA,GAAEG,EAAgBH,EAAA,GACtC,IAAMI,EAAOC,EAAQP,GAErB,IAAMQ,EAAWC,EAASC,eAAc,WAAM,IAAAC,EAC5C,GAAIZ,EAAMa,SAAU,OAAO,MAC3B,GAAIb,EAAMc,QAAUC,UAAW,CAC7B,OAAOV,EAAgBL,EAAMc,KAC/B,CACA,IAAME,IAAkBJ,EAAAX,EAAQgB,UAAO,OAAAL,EAAfA,EAAiBM,gBAAa,UAAA,EAA9BN,EAAgCO,cAAe,EACvE,OAAOd,EAAgBW,CACxB,GAAE,CAAChB,EAAMa,SAAUb,EAAMc,MAAOT,EAAeE,GAAI,UAAA,EAAJA,EAAMO,QAEtD,OACEM,EAACC,EAAO,CAACC,MAAOb,EAAWT,EAAMuB,KAAOR,UAAUS,SAChDC,EAAA,OAAA,CACEC,UAAU,oBACVC,MAAO3B,EAAMc,MAAQ,CAAEA,MAAOd,EAAMc,OAAU,CAAG,EACjDc,IAAK,SAAAA,EAACC,GACJ,GAAIA,EAAM,CACR5B,EAAQgB,QAAUY,CACpB,CACA,EAAAL,UAEFJ,EAAA,OAAA,CAAMM,UAAU,aAAYF,SAC1BJ,EAAA,OAAA,CACEQ,IAAK,SAAAA,EAACC,GACJ,GAAIA,EAAM,CACRvB,EAAiBuB,EAAKV,YACxB,CACA,EAAAK,SAEDxB,EAAMuB,SAGVvB,EAAMuB,SAIf"}
@@ -7,5 +7,5 @@ import './../fba-utils/index.css';
7
7
  import './../text-css-ellipsis/index.css';
8
8
  import './index.css';
9
9
  /*! @flatjs/forge MIT @flatbiz/antd */
10
- import{isEmpty as i}from"@dimjs/lang/cjs/is-empty";import{a as r,_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{getStrByteLen as t,cutString as n}from"@flatbiz/utils";import{Tooltip as l}from"antd";import{Fragment as o}from"react";import{ButtonWrapper as s}from"../button-wrapper/index.js";import{TextCssEllipsis as a}from"../text-css-ellipsis/index.js";import{jsx as p,jsxs as m}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@dimjs/utils/cjs/class-names";import"../config-provider-wrapper/index.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"../index-ac189a77.js";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";var d=["onClick","children","prefix"];var c=function i(t){var n=t.onClick,l=t.children,o=t.prefix,a=r(t,d);if(!!n){return m(s,e({type:"link",onClick:n,style:{padding:0,height:"initial",display:"inline-flex",alignItems:"center"}},a,{children:[o?p("span",{style:{marginRight:5},children:o}):null,l]}))}return m("span",e({},a,{style:e({display:"inline-flex"},a["style"]),children:[o?p("span",{style:{marginRight:5},children:o}):null,l]}))};var f=function r(e){var s=e.text,m=e.maxLength,d=e.placeholder,f=e.onClick,j=e.prefix;if(!s||i(s)||s==="")return p(o,{children:d});if(!!m){var u=t(s);if(u<=m*2){return p(c,{onClick:f,prefix:j,children:s})}else{var h=n(s,m*2);return p(l,{placement:"topLeft",title:s,children:p(c,{onClick:f,prefix:j,children:h})})}}if(e.width){return p(c,{onClick:f,prefix:j,children:p(a,{text:s,width:e.width})})}return p(c,{onClick:f,prefix:j,children:e.text})};export{f as TextOverflowRender};
10
+ import{isEmpty as i}from"@dimjs/lang/cjs/is-empty";import{a as r,_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{getStrByteLen as t,cutString as n}from"@flatbiz/utils";import{Tooltip as l}from"antd";import{Fragment as o}from"react";import{ButtonWrapper as s}from"../button-wrapper/index.js";import{TextCssEllipsis as a}from"../text-css-ellipsis/index.js";import{jsx as p,jsxs as m}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@dimjs/utils/cjs/class-names";import"../index-34027e61.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"ahooks";var d=["onClick","children","prefix"];var c=function i(t){var n=t.onClick,l=t.children,o=t.prefix,a=r(t,d);if(!!n){return m(s,e({type:"link",onClick:n,style:{padding:0,height:"initial",display:"inline-flex",alignItems:"center"}},a,{children:[o?p("span",{style:{marginRight:5},children:o}):null,l]}))}return m("span",e({},a,{style:e({display:"inline-flex"},a["style"]),children:[o?p("span",{style:{marginRight:5},children:o}):null,l]}))};var u=function r(e){var s=e.text,m=e.maxLength,d=e.placeholder,u=e.onClick,f=e.prefix;if(!s||i(s)||s==="")return p(o,{children:d});if(!!m){var j=t(s);if(j<=m*2){return p(c,{onClick:u,prefix:f,children:s})}else{var h=n(s,m*2);return p(l,{placement:"topLeft",title:s,children:p(c,{onClick:u,prefix:f,children:h})})}}if(e.width){return p(c,{onClick:u,prefix:f,children:p(a,{text:s,width:e.width})})}return p(c,{onClick:u,prefix:f,children:e.text})};export{u as TextOverflowRender};
11
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-overflow-render/text-overflow-render.tsx"],"sourcesContent":["import { isEmpty } from '@dimjs/lang';\nimport { cutString, getStrByteLen } from '@flatbiz/utils';\nimport { Tooltip } from 'antd';\nimport { Fragment, ReactElement } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { TextCssEllipsis } from '../text-css-ellipsis';\n\nconst LinkRender = (props: {\n onClick?: (e) => void;\n children?: ReactElement | string;\n prefix?: string | ReactElement;\n}) => {\n const { onClick, children, prefix, ...otherProps } = props;\n if (!!onClick) {\n return (\n <ButtonWrapper\n type=\"link\"\n onClick={onClick}\n style={{ padding: 0, height: 'initial', display: 'inline-flex', alignItems: 'center' }}\n {...otherProps}\n >\n {prefix ? <span style={{ marginRight: 5 }}>{prefix}</span> : null}\n {children}\n </ButtonWrapper>\n );\n }\n return (\n <span {...otherProps} style={{ display: 'inline-flex', ...otherProps['style'] }}>\n {prefix ? <span style={{ marginRight: 5 }}>{prefix}</span> : null}\n {children}\n </span>\n );\n};\n\nexport type TextOverflowRenderProps = {\n /** width 宽度控制超长 */\n width?: number;\n /** maxLength 数字控制超长 */\n maxLength?: number;\n /** 完整文本 */\n text?: string;\n /** 文本前缀显示 */\n prefix?: string | ReactElement;\n /** 数据不存在时,占位符 */\n placeholder?: ReactElement | string;\n onClick?: (e) => void;\n};\n\n/**\n * 文本显示超出截取,被截取的添加Tooltip显示完整数据\n * ```\n * 控制文本显示两种方式\n * 1. 通过 maxLength 控制超长\n * 2. 通过 width 控制超长\n *\n * 3. maxLength 与 width 互斥,优先级:maxLength > width\n * ```\n * @param props\n * @returns\n */\nexport const TextOverflowRender = (props: TextOverflowRenderProps) => {\n const { text, maxLength, placeholder, onClick, prefix } = props;\n\n if (!text || isEmpty(text) || text === '') return <Fragment>{placeholder}</Fragment>;\n if (!!maxLength) {\n const strByteLen = getStrByteLen(text);\n if (strByteLen <= maxLength * 2) {\n return (\n <LinkRender onClick={onClick} prefix={prefix}>\n {text}\n </LinkRender>\n );\n } else {\n const resultTitle = cutString(text, maxLength * 2);\n return (\n <Tooltip placement=\"topLeft\" title={text}>\n <LinkRender onClick={onClick} prefix={prefix}>\n {resultTitle}\n </LinkRender>\n </Tooltip>\n );\n }\n }\n if (props.width) {\n return (\n <LinkRender onClick={onClick} prefix={prefix}>\n <TextCssEllipsis text={text} width={props.width} />\n </LinkRender>\n );\n }\n return (\n <LinkRender onClick={onClick} prefix={prefix}>\n {props.text}\n </LinkRender>\n );\n};\n"],"names":["LinkRender","props","onClick","children","prefix","otherProps","_objectWithoutPropertiesLoose","_excluded","_jsxs","ButtonWrapper","_extends","type","style","padding","height","display","alignItems","_jsx","marginRight","TextOverflowRender","text","maxLength","placeholder","_isEmpty","Fragment","strByteLen","getStrByteLen","resultTitle","cutString","Tooltip","placement","title","width","TextCssEllipsis"],"mappings":";6qCAOA,IAAMA,EAAa,SAAbA,EAAcC,GAKlB,IAAQC,EAA6CD,EAA7CC,QAASC,EAAoCF,EAApCE,SAAUC,EAA0BH,EAA1BG,OAAWC,EAAUC,EAAKL,EAAKM,GAC1D,KAAML,EAAS,CACb,OACEM,EAACC,EAAaC,EAAA,CACZC,KAAK,OACLT,QAASA,EACTU,MAAO,CAAEC,QAAS,EAAGC,OAAQ,UAAWC,QAAS,cAAeC,WAAY,WACxEX,EAAU,CAAAF,SAAA,CAEbC,EAASa,EAAA,OAAA,CAAML,MAAO,CAAEM,YAAa,GAAIf,SAAEC,IAAiB,KAC5DD,KAGP,CACA,OACEK,EAAA,OAAAE,EAAA,CAAA,EAAUL,EAAU,CAAEO,MAAKF,EAAA,CAAIK,QAAS,eAAkBV,EAAW,UAAWF,SAAA,CAC7EC,EAASa,EAAA,OAAA,CAAML,MAAO,CAAEM,YAAa,GAAIf,SAAEC,IAAiB,KAC5DD,KAGP,MA4BagB,EAAqB,SAArBA,EAAsBlB,GACjC,IAAQmB,EAAkDnB,EAAlDmB,KAAMC,EAA4CpB,EAA5CoB,UAAWC,EAAiCrB,EAAjCqB,YAAapB,EAAoBD,EAApBC,QAASE,EAAWH,EAAXG,OAE/C,IAAKgB,GAAQG,EAAQH,IAASA,IAAS,GAAI,OAAOH,EAACO,EAAQ,CAAArB,SAAEmB,IAC7D,KAAMD,EAAW,CACf,IAAMI,EAAaC,EAAcN,GACjC,GAAIK,GAAcJ,EAAY,EAAG,CAC/B,OACEJ,EAACjB,EAAU,CAACE,QAASA,EAASE,OAAQA,EAAOD,SAC1CiB,GAGP,KAAO,CACL,IAAMO,EAAcC,EAAUR,EAAMC,EAAY,GAChD,OACEJ,EAACY,EAAO,CAACC,UAAU,UAAUC,MAAOX,EAAKjB,SACvCc,EAACjB,EAAU,CAACE,QAASA,EAASE,OAAQA,EAAOD,SAC1CwB,KAIT,CACF,CACA,GAAI1B,EAAM+B,MAAO,CACf,OACEf,EAACjB,EAAU,CAACE,QAASA,EAASE,OAAQA,EAAOD,SAC3Cc,EAACgB,EAAe,CAACb,KAAMA,EAAMY,MAAO/B,EAAM+B,SAGhD,CACA,OACEf,EAACjB,EAAU,CAACE,QAASA,EAASE,OAAQA,EAAOD,SAC1CF,EAAMmB,MAGb"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-overflow-render/text-overflow-render.tsx"],"sourcesContent":["import { isEmpty } from '@dimjs/lang';\nimport { cutString, getStrByteLen } from '@flatbiz/utils';\nimport { Tooltip } from 'antd';\nimport { Fragment, ReactElement } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { TextCssEllipsis } from '../text-css-ellipsis';\n\nconst LinkRender = (props: {\n onClick?: (e) => void;\n children?: ReactElement | string;\n prefix?: string | ReactElement;\n}) => {\n const { onClick, children, prefix, ...otherProps } = props;\n if (!!onClick) {\n return (\n <ButtonWrapper\n type=\"link\"\n onClick={onClick}\n style={{ padding: 0, height: 'initial', display: 'inline-flex', alignItems: 'center' }}\n {...otherProps}\n >\n {prefix ? <span style={{ marginRight: 5 }}>{prefix}</span> : null}\n {children}\n </ButtonWrapper>\n );\n }\n return (\n <span {...otherProps} style={{ display: 'inline-flex', ...otherProps['style'] }}>\n {prefix ? <span style={{ marginRight: 5 }}>{prefix}</span> : null}\n {children}\n </span>\n );\n};\n\nexport type TextOverflowRenderProps = {\n /** width 宽度控制超长 */\n width?: number;\n /** maxLength 数字控制超长 */\n maxLength?: number;\n /** 完整文本 */\n text?: string;\n /** 文本前缀显示 */\n prefix?: string | ReactElement;\n /** 数据不存在时,占位符 */\n placeholder?: ReactElement | string;\n onClick?: (e) => void;\n};\n\n/**\n * 文本显示超出截取,被截取的添加Tooltip显示完整数据\n * ```\n * 控制文本显示两种方式\n * 1. 通过 maxLength 控制超长\n * 2. 通过 width 控制超长\n *\n * 3. maxLength 与 width 互斥,优先级:maxLength > width\n * ```\n * @param props\n * @returns\n */\nexport const TextOverflowRender = (props: TextOverflowRenderProps) => {\n const { text, maxLength, placeholder, onClick, prefix } = props;\n\n if (!text || isEmpty(text) || text === '') return <Fragment>{placeholder}</Fragment>;\n if (!!maxLength) {\n const strByteLen = getStrByteLen(text);\n if (strByteLen <= maxLength * 2) {\n return (\n <LinkRender onClick={onClick} prefix={prefix}>\n {text}\n </LinkRender>\n );\n } else {\n const resultTitle = cutString(text, maxLength * 2);\n return (\n <Tooltip placement=\"topLeft\" title={text}>\n <LinkRender onClick={onClick} prefix={prefix}>\n {resultTitle}\n </LinkRender>\n </Tooltip>\n );\n }\n }\n if (props.width) {\n return (\n <LinkRender onClick={onClick} prefix={prefix}>\n <TextCssEllipsis text={text} width={props.width} />\n </LinkRender>\n );\n }\n return (\n <LinkRender onClick={onClick} prefix={prefix}>\n {props.text}\n </LinkRender>\n );\n};\n"],"names":["LinkRender","props","onClick","children","prefix","otherProps","_objectWithoutPropertiesLoose","_excluded","_jsxs","ButtonWrapper","_extends","type","style","padding","height","display","alignItems","_jsx","marginRight","TextOverflowRender","text","maxLength","placeholder","_isEmpty","Fragment","strByteLen","getStrByteLen","resultTitle","cutString","Tooltip","placement","title","width","TextCssEllipsis"],"mappings":";gpCAOA,IAAMA,EAAa,SAAbA,EAAcC,GAKlB,IAAQC,EAA6CD,EAA7CC,QAASC,EAAoCF,EAApCE,SAAUC,EAA0BH,EAA1BG,OAAWC,EAAUC,EAAKL,EAAKM,GAC1D,KAAML,EAAS,CACb,OACEM,EAACC,EAAaC,EAAA,CACZC,KAAK,OACLT,QAASA,EACTU,MAAO,CAAEC,QAAS,EAAGC,OAAQ,UAAWC,QAAS,cAAeC,WAAY,WACxEX,EAAU,CAAAF,SAAA,CAEbC,EAASa,EAAA,OAAA,CAAML,MAAO,CAAEM,YAAa,GAAIf,SAAEC,IAAiB,KAC5DD,KAGP,CACA,OACEK,EAAA,OAAAE,EAAA,CAAA,EAAUL,EAAU,CAAEO,MAAKF,EAAA,CAAIK,QAAS,eAAkBV,EAAW,UAAWF,SAAA,CAC7EC,EAASa,EAAA,OAAA,CAAML,MAAO,CAAEM,YAAa,GAAIf,SAAEC,IAAiB,KAC5DD,KAGP,MA4BagB,EAAqB,SAArBA,EAAsBlB,GACjC,IAAQmB,EAAkDnB,EAAlDmB,KAAMC,EAA4CpB,EAA5CoB,UAAWC,EAAiCrB,EAAjCqB,YAAapB,EAAoBD,EAApBC,QAASE,EAAWH,EAAXG,OAE/C,IAAKgB,GAAQG,EAAQH,IAASA,IAAS,GAAI,OAAOH,EAACO,EAAQ,CAAArB,SAAEmB,IAC7D,KAAMD,EAAW,CACf,IAAMI,EAAaC,EAAcN,GACjC,GAAIK,GAAcJ,EAAY,EAAG,CAC/B,OACEJ,EAACjB,EAAU,CAACE,QAASA,EAASE,OAAQA,EAAOD,SAC1CiB,GAGP,KAAO,CACL,IAAMO,EAAcC,EAAUR,EAAMC,EAAY,GAChD,OACEJ,EAACY,EAAO,CAACC,UAAU,UAAUC,MAAOX,EAAKjB,SACvCc,EAACjB,EAAU,CAACE,QAASA,EAASE,OAAQA,EAAOD,SAC1CwB,KAIT,CACF,CACA,GAAI1B,EAAM+B,MAAO,CACf,OACEf,EAACjB,EAAU,CAACE,QAASA,EAASE,OAAQA,EAAOD,SAC3Cc,EAACgB,EAAe,CAACb,KAAMA,EAAMY,MAAO/B,EAAM+B,SAGhD,CACA,OACEf,EAACjB,EAAU,CAACE,QAASA,EAASE,OAAQA,EAAOD,SAC1CF,EAAMmB,MAGb"}
@@ -0,0 +1 @@
1
+ .text-symbol-wrapper{position:relative}.tsw-symbol{font-size:14px;line-height:normal;position:absolute;top:50%}.tsw-symbol-before{left:-3px;transform:translate(-100%,-50%)}.tsw-symbol-after{right:-3px;transform:translate(100%,-50%)}.tsw-required .tsw-symbol{color:#ff4d4f}
@@ -0,0 +1,5 @@
1
+ /* eslint-disable */
2
+ import './index.css';
3
+ /*! @flatjs/forge MIT @flatbiz/antd */
4
+ import{classNames as e}from"@dimjs/utils/cjs/class-names";import{useMemo as s}from"react";import{jsx as r,jsxs as l}from"react/jsx-runtime";var t=function t(m){var o=s((function(){if(m.symbol){return m.symbol}if(m.symbolType==="required"){return"*"}return undefined}),[m.symbolType,m.symbol]);var n=m.position||"before";if(m.hiddenSymbol){return r("span",{className:e("text-symbol-wrapper",m.className),style:m.style,children:m.text})}var a=e("text-symbol-wrapper",{"tsw-required":m.symbolType},m.className);return l("span",{className:a,style:m.style,children:[o?r("span",{className:e("tsw-symbol","tsw-symbol-"+n),style:m.symbolStyle,onClick:m.onSymbolClick,children:o}):null,m.text]})};export{t as TextSymbolWrapper};
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-symbol-wrapper/symbol.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { useMemo, type CSSProperties, type ReactElement } from 'react';\nimport './style.less';\n\nexport type TextSymbolWrapperProps = {\n symbolType?: 'required';\n /** 自定义标记符号,优先级大于 symbolType */\n symbol?: string;\n /** 标记位置,默认:brefore */\n position?: 'before' | 'after';\n text?: string | ReactElement;\n symbolStyle?: CSSProperties;\n onSymbolClick?: (event) => void;\n className?: string;\n style?: CSSProperties;\n /** 只隐藏符号,不隐藏文案 */\n hiddenSymbol?: boolean;\n};\n\n/**\n * 为文字添加符号,例如:必填符号\n * ```\n * 例如: <TextSymbolWrapper text={'用户名'} symbolType=\"required\" />\n * ```\n */\nexport const TextSymbolWrapper = (props: TextSymbolWrapperProps) => {\n const symbol = useMemo(() => {\n if (props.symbol) {\n return props.symbol;\n }\n if (props.symbolType === 'required') {\n return '*';\n }\n return undefined;\n }, [props.symbolType, props.symbol]);\n\n const position = props.position || 'before';\n\n if (props.hiddenSymbol) {\n return (\n <span className={classNames('text-symbol-wrapper', props.className)} style={props.style}>\n {props.text}\n </span>\n );\n }\n\n const cn = classNames('text-symbol-wrapper', { 'tsw-required': props.symbolType }, props.className);\n return (\n <span className={cn} style={props.style}>\n {symbol ? (\n <span\n className={classNames('tsw-symbol', `tsw-symbol-${position}`)}\n style={props.symbolStyle}\n onClick={props.onSymbolClick}\n >\n {symbol}\n </span>\n ) : null}\n\n {props.text}\n </span>\n );\n};\n"],"names":["TextSymbolWrapper","props","symbol","useMemo","symbolType","undefined","position","hiddenSymbol","_jsx","className","_classNames","style","children","text","cn","_jsxs","symbolStyle","onClick","onSymbolClick"],"mappings":";gJAyBaA,EAAoB,SAApBA,EAAqBC,GAChC,IAAMC,EAASC,GAAQ,WACrB,GAAIF,EAAMC,OAAQ,CAChB,OAAOD,EAAMC,MACf,CACA,GAAID,EAAMG,aAAe,WAAY,CACnC,MAAO,GACT,CACA,OAAOC,SACR,GAAE,CAACJ,EAAMG,WAAYH,EAAMC,SAE5B,IAAMI,EAAWL,EAAMK,UAAY,SAEnC,GAAIL,EAAMM,aAAc,CACtB,OACEC,EAAA,OAAA,CAAMC,UAAWC,EAAW,sBAAuBT,EAAMQ,WAAYE,MAAOV,EAAMU,MAAMC,SACrFX,EAAMY,MAGb,CAEA,IAAMC,EAAKJ,EAAW,sBAAuB,CAAE,eAAgBT,EAAMG,YAAcH,EAAMQ,WACzF,OACEM,EAAA,OAAA,CAAMN,UAAWK,EAAIH,MAAOV,EAAMU,MAAMC,SAAA,CACrCV,EACCM,EAAA,OAAA,CACEC,UAAWC,EAAW,aAAY,cAAgBJ,GAClDK,MAAOV,EAAMe,YACbC,QAAShB,EAAMiB,cAAcN,SAE5BV,IAED,KAEHD,EAAMY,OAGb"}