@flatbiz/antd 4.2.106 → 4.3.0

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.
@@ -24,5 +24,5 @@ import './../input-text-area-wrapper/index.css';
24
24
  import './../icon-wrapper/index.css';
25
25
  import './index.css';
26
26
  /*! @flatjs/forge MIT @flatbiz/antd */
27
- import{a as i,_ as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{useSensors as e,useSensor as o,PointerSensor as t,DndContext as n}from"@dnd-kit/core";import{restrictToVerticalAxis as s}from"@dnd-kit/modifiers";import{useSortable as a,SortableContext as d,verticalListSortingStrategy as p,arrayMove as m}from"@dnd-kit/sortable";import{Form as l}from"antd";import{Children as c,cloneElement as u,forwardRef as j,useRef as g,useImperativeHandle as f}from"react";import{EditableTable as v}from"../editable-table/index.js";import x from"@ant-design/icons/es/icons/DragOutlined";import{CSS as b}from"@dnd-kit/utilities";import{noop as y}from"@flatbiz/utils";import{IconWrapper as w}from"../icon-wrapper/index.js";import{jsx as h}from"react/jsx-runtime";import"@ant-design/icons/es/icons/PlusOutlined";import"../button-wrapper/index.js";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-7f4ad045.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"../table-title-tooltip/index.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"../tips-wrapper/index.js";import"../table-cell-render/index.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-object";import"@dimjs/utils/cjs/get";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-empty";import"../button-operate/index.js";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";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";import"../tag-list-select/index.js";import"../date-picker-wrapper/index.js";import"../time-53b3f55f.js";import"../date-range-picker-wrapper/index.js";import"../input-wrapper/index.js";import"../selector-wrapper/index.js";import"@ant-design/icons/es/icons/RedoOutlined";import"../request-status/index.js";import"@dimjs/lang/cjs/is-deep-equal";import"@dimjs/utils/cjs/json";import"pubsub-js";import"../switch-wrapper/index.js";import"@dimjs/lang/cjs/is-boolean";import"@dimjs/lang/cjs/is-number";import"../input-text-area-wrapper/index.js";import"../upload-wrapper/index.js";import"react-dom";import"@ant-design/icons/es/icons/DeleteOutlined";var k=["dragIcon"];var I=function e(o){var t=o.dragIcon,n=i(o,k);var s=n["data-row-key"];var d=a({id:s}),p=d.setActivatorNodeRef,m=d.listeners,l=d.setNodeRef,j=d.transform,g=d.transition,f=d.isDragging;if(!s){return h("tr",r({},n))}var v=r({},n.style,{transform:b.Transform.toString(j&&r({},j,{scaleY:1})),transition:g,cursor:"move"},f?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)",backgroundColor:"#fff"}:{});var I=t||h(x,{});return h("tr",r({},n,{ref:l,style:v,children:c.map(o.children,(function(i){if(i.key==="sort"){return u(i,{children:h("span",r({ref:p,style:{touchAction:"none",cursor:"move"}},m,{children:h(w,{style:{touchAction:"none",cursor:"move",padding:"1px 0px",margin:0,justifyContent:"center",color:"#787878"},icon:I,onClick:y})}))})}return i}))}))};var C=["dragIcon","uidFieldKey","onDragChange","disabledDrag"];var D=j((function(a,c){var u,j;var x=a.dragIcon,b=a.uidFieldKey,y=a.onDragChange,w=a.disabledDrag,k=i(a,C);var D=l.useFormInstance();var O=l.useWatch(a.name,D);var _=g(null);f(c,(function(){return _.current}));var F=e(o(t,{activationConstraint:{delay:0,tolerance:0}}));var P=function i(r){var e=r.active,o=r.over;if(e.id!==(o==null?void 0:o.id)){var t=O.findIndex((function(i){return i[b]===e.id}));var n=O.findIndex((function(i){return i[b]===(o==null?void 0:o.id)}));var s=m(O,t,n);D.setFields([{name:a.name,value:s}]);y==null?void 0:y(s,{activeId:e.id,activeIndex:t,overIndex:n})}};var z=w?k.columns:[{dataIndex:"__sort",width:50,key:"__sort"}].concat(k.columns||[]);return h(n,{sensors:F,modifiers:[s],onDragEnd:P,children:h(d,{items:(O==null?void 0:O.map((function(i){return i[b]})))||[],strategy:p,children:h(v,r({ref:_},k,{columns:z,tableProps:r({},k.tableProps,{components:r({},(u=k.tableProps)==null?void 0:u.components,{body:r({},(j=k.tableProps)==null||(j=j.components)==null?void 0:j.body,{row:w?undefined:function(i){return h(I,r({},i,{dragIcon:x}))}})})})}))})})}));export{D as DragEditableTable};
27
+ import{a as i,_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{useSensors as r,useSensor as t,PointerSensor as o,DndContext as n}from"@dnd-kit/core";import{restrictToVerticalAxis as s}from"@dnd-kit/modifiers";import{useSortable as a,SortableContext as d,verticalListSortingStrategy as m,arrayMove as p}from"@dnd-kit/sortable";import{Form as l}from"antd";import{useMemo as c,createElement as u,Children as j,cloneElement as g,forwardRef as f,useRef as v,useImperativeHandle as x}from"react";import{EditableTable as y}from"../editable-table/index.js";import{createCtx as b}from"@wove/react/cjs/create-ctx";import I from"@ant-design/icons/es/icons/DragOutlined";import{CSS as w}from"@dnd-kit/utilities";import{isUndefinedOrNull as h,noop as k}from"@flatbiz/utils";import{IconWrapper as F}from"../icon-wrapper/index.js";import{jsx as D}from"react/jsx-runtime";import"@ant-design/icons/es/icons/PlusOutlined";import"../button-wrapper/index.js";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-7f4ad045.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"../table-title-tooltip/index.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"../tips-wrapper/index.js";import"../table-cell-render/index.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-object";import"@dimjs/utils/cjs/get";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-empty";import"../button-operate/index.js";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";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";import"../tag-list-select/index.js";import"../date-picker-wrapper/index.js";import"../time-53b3f55f.js";import"../date-range-picker-wrapper/index.js";import"../input-wrapper/index.js";import"../selector-wrapper/index.js";import"@ant-design/icons/es/icons/RedoOutlined";import"../request-status/index.js";import"@dimjs/lang/cjs/is-deep-equal";import"@dimjs/utils/cjs/json";import"pubsub-js";import"../switch-wrapper/index.js";import"@dimjs/lang/cjs/is-boolean";import"@dimjs/lang/cjs/is-number";import"../input-text-area-wrapper/index.js";import"../upload-wrapper/index.js";import"react-dom";import"@ant-design/icons/es/icons/DeleteOutlined";var K=b(),_=K[0],C=K[1];var O=["dragIcon"];var P=function r(t){var o=t.dragIcon,n=i(t,O);var s=n["data-row-key"];var d=c((function(){var i;return!h(s)?(i=t.getTableItemDataByFormListItemKey(s))==null?void 0:i[t.uidFieldKey]:undefined}),[t,s]);var m=a({id:d}),p=m.setActivatorNodeRef,l=m.listeners,f=m.setNodeRef,v=m.transform,x=m.transition,y=m.isDragging;if(h(d)){return D("tr",e({},n))}var b=e({},n.style,{transform:w.Transform.toString(v&&e({},v,{scaleY:1})),transition:x,cursor:"move"},y?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)",backgroundColor:"#fff"}:{});var K=o||D(I,{});return u("tr",e({},n,{ref:f,style:b,key:d}),j.map(t.children,(function(i){if(i.key==="__sort"){return g(i,{children:D("span",e({ref:p,style:{touchAction:"none",cursor:"move"}},l,{children:D(F,{style:{touchAction:"none",cursor:"move",padding:"1px 0px",margin:0,justifyContent:"center",color:"#787878"},icon:K,onClick:k})}))})}return i})))};var B=function i(r){var t=_();return D(P,e({},r,{dragIcon:t.dragIcon,uidFieldKey:t.uidFieldKey,getTableItemDataByFormListItemKey:t.getTableItemDataByFormListItemKey}))};var L=["dragIcon","uidFieldKey","onDragChange","disabledDrag"];var T=f((function(a,c){var u,j,g;var f=a.dragIcon,b=a.uidFieldKey,I=a.onDragChange,w=a.disabledDrag,h=i(a,L);var k=l.useFormInstance();var F=l.useWatch(a.name,k);var K=v(null);x(c,(function(){return K.current}));var _=r(t(o,{activationConstraint:{delay:0,tolerance:0}}));var O=function i(e){var r=e.active,t=e.over;if(r.id!==(t==null?void 0:t.id)){var o=F.findIndex((function(i){return i[b]===r.id}));var n=F.findIndex((function(i){return i[b]===(t==null?void 0:t.id)}));var s=p(F,o,n);k.setFields([{name:a.name,value:s}]);I==null?void 0:I(s,{activeId:r.id,activeIndex:o,overIndex:n})}};var P=w?h.columns:[{dataIndex:"__sort",width:50,key:"__sort"}].concat(h.columns||[]);return D(C,{value:{dragIcon:f,uidFieldKey:b,getTableItemDataByFormListItemKey:(u=K.current)==null?void 0:u.getTableItemDataByFormListItemKey},children:D(n,{sensors:_,modifiers:[s],onDragEnd:O,children:D(d,{items:(F==null?void 0:F.map((function(i){return i[b]})))||[],strategy:m,children:D(y,e({ref:K},h,{columns:P,tableProps:e({},h.tableProps,{components:e({},(j=h.tableProps)==null?void 0:j.components,{body:e({},(g=h.tableProps)==null||(g=g.components)==null?void 0:g.body,{row:w?undefined:B})})})}))})})})}));export{T as DragEditableTable};
28
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/drag-editable-table/table-tr-handle.tsx","@flatbiz/antd/src/drag-editable-table/drag.tsx"],"sourcesContent":["import { DragOutlined } from '@ant-design/icons';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { noop } from '@flatbiz/utils';\nimport { RowProps } from 'antd';\nimport { Children, cloneElement, ReactElement } from 'react';\nimport { IconWrapper } from '../icon-wrapper';\n\ntype TableTrHandleProps = RowProps & {\n dragIcon?: ReactElement;\n};\nexport const TableTrHandle = (props: TableTrHandleProps) => {\n const { dragIcon, ...innerProps } = props;\n const rowId = innerProps['data-row-key'];\n const { setActivatorNodeRef, listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: rowId,\n });\n\n if (!rowId) {\n return <tr {...innerProps} />;\n }\n const style: React.CSSProperties = {\n ...innerProps.style,\n transform: CSS.Transform.toString(transform && { ...transform, scaleY: 1 }),\n transition,\n cursor: 'move',\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n boxShadow: ' 0px 0px 12px 4px rgba(34, 33, 81, 0.1)',\n backgroundColor: '#fff',\n }\n : {}),\n };\n const iconElement = dragIcon || <DragOutlined />;\n return (\n <tr {...innerProps} ref={setNodeRef} style={style}>\n {Children.map(props.children, (child) => {\n if ((child as React.ReactElement).key === 'sort') {\n return cloneElement(child as React.ReactElement, {\n children: (\n <span ref={setActivatorNodeRef} style={{ touchAction: 'none', cursor: 'move' }} {...listeners}>\n <IconWrapper\n style={{\n touchAction: 'none',\n cursor: 'move',\n padding: '1px 0px',\n margin: 0,\n justifyContent: 'center',\n color: '#787878',\n }}\n icon={iconElement}\n onClick={noop}\n />\n </span>\n ),\n });\n }\n return child;\n })}\n </tr>\n );\n};\n","import { DndContext, PointerSensor, useSensor, useSensors, type DragEndEvent } from '@dnd-kit/core';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\nimport { arrayMove, SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\nimport { Form } from 'antd';\nimport { forwardRef, ReactElement, useImperativeHandle, useRef } from 'react';\nimport { EditableTable, EditableTableProps, EditableTableRefApi } from '../editable-table';\nimport { TableTrHandle } from './table-tr-handle';\n\nexport type DragEditableTableProps = EditableTableProps & {\n /**\n * 拖拽图标自定义,默认使用 DragOutlined 图标\n */\n dragIcon?: ReactElement;\n\n /** 禁用拖拽 */\n disabledDrag?: boolean;\n /**\n * 表格数据唯一值字段Key\n * ```\n * ```\n */\n uidFieldKey: string;\n /**\n * 拖拽结束事件\n * ```\n * dataSource: 拖拽完成后的数据源\n * dragData\n * 1. activeId 拖拽ID\n * 2. activeIndex 拖拽起始表格数组索引值\n * 3. overIndex 拖拽结束表格数组索引值\n * ```\n */\n onDragChange?: (\n dataSource: TPlainObject[],\n dragData: {\n activeId: string | number;\n activeIndex: number;\n overIndex: number;\n },\n ) => void;\n};\n\n/**\n * 可拖拽编辑表格\n * ```\n * 1. 表格数据必须要有唯一值字段,通过参数 uidFieldKey 告诉组件\n * 2. Table 参数 components.body.row 被组件内部使用\n * ```\n */\nexport const DragEditableTable = forwardRef<EditableTableRefApi, DragEditableTableProps>((props, ref) => {\n const { dragIcon, uidFieldKey, onDragChange, disabledDrag, ...otherProps } = props;\n const form = Form.useFormInstance();\n const dataList = Form.useWatch(props.name, form);\n\n const editableTableRef = useRef<EditableTableRefApi>(null);\n\n useImperativeHandle(ref, () => {\n return editableTableRef.current as EditableTableRefApi;\n });\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n // 当拖拽触发区域有其他点击事件时,需要延迟触发拖拽动作\n delay: 0,\n tolerance: 0,\n },\n }),\n );\n\n const onDragEnd = ({ active, over }: DragEndEvent) => {\n if (active.id !== over?.id) {\n const activeIndex = dataList.findIndex((i) => i[uidFieldKey] === active.id);\n const overIndex = dataList.findIndex((i) => i[uidFieldKey] === over?.id);\n const dataListNew = arrayMove(dataList, activeIndex, overIndex);\n form.setFields([\n {\n name: props.name,\n value: dataListNew,\n },\n ]);\n onDragChange?.(dataListNew as TPlainObject[], {\n activeId: active.id,\n activeIndex,\n overIndex,\n });\n }\n };\n\n const columns = disabledDrag\n ? otherProps.columns\n : [{ dataIndex: '__sort', width: 50, key: '__sort' }].concat((otherProps.columns || []) as TAny[]);\n\n return (\n <DndContext sensors={sensors} modifiers={[restrictToVerticalAxis]} onDragEnd={onDragEnd}>\n <SortableContext\n items={dataList?.map((i) => i[uidFieldKey]) || []}\n strategy={verticalListSortingStrategy}\n >\n <EditableTable\n ref={editableTableRef}\n {...otherProps}\n columns={columns}\n tableProps={{\n ...otherProps.tableProps,\n components: {\n ...otherProps.tableProps?.components,\n body: {\n ...otherProps.tableProps?.components?.body,\n row: disabledDrag\n ? undefined\n : (props) => {\n return <TableTrHandle {...props} dragIcon={dragIcon} />;\n },\n },\n },\n }}\n />\n </SortableContext>\n </DndContext>\n );\n});\n"],"names":["TableTrHandle","props","dragIcon","innerProps","_objectWithoutPropertiesLoose","_excluded","rowId","_useSortable","useSortable","id","setActivatorNodeRef","listeners","setNodeRef","transform","transition","isDragging","_jsx","_extends","style","CSS","Transform","toString","scaleY","cursor","position","zIndex","boxShadow","backgroundColor","iconElement","_DragOutlined","ref","children","Children","map","child","key","cloneElement","touchAction","IconWrapper","padding","margin","justifyContent","color","icon","onClick","noop","DragEditableTable","forwardRef","_otherProps$tableProp","_otherProps$tableProp2","uidFieldKey","onDragChange","disabledDrag","otherProps","form","Form","useFormInstance","dataList","useWatch","name","editableTableRef","useRef","useImperativeHandle","current","sensors","useSensors","useSensor","PointerSensor","activationConstraint","delay","tolerance","onDragEnd","_ref","active","over","activeIndex","findIndex","i","overIndex","dataListNew","arrayMove","setFields","value","activeId","columns","dataIndex","width","concat","DndContext","modifiers","restrictToVerticalAxis","SortableContext","items","strategy","verticalListSortingStrategy","EditableTable","tableProps","components","body","row","undefined"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/drag-editable-table/context.ts","@flatbiz/antd/src/drag-editable-table/table-tr-handle.tsx","@flatbiz/antd/src/drag-editable-table/row.tsx","@flatbiz/antd/src/drag-editable-table/drag.tsx"],"sourcesContent":["import { type TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\nimport { type ReactElement } from 'react';\n\nexport const [getCtx, CtxProvider] = createCtx<{\n dragIcon?: ReactElement;\n getTableItemDataByFormListItemKey?: (key: number) => TPlainObject;\n uidFieldKey: string;\n}>();\n","import { DragOutlined } from '@ant-design/icons';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { isUndefinedOrNull, noop, type TPlainObject } from '@flatbiz/utils';\nimport { type RowProps } from 'antd';\nimport { Children, cloneElement, useMemo, type ReactElement } from 'react';\nimport { IconWrapper } from '../icon-wrapper';\n\ntype TableTrHandleProps = RowProps & {\n dragIcon?: ReactElement;\n getTableItemDataByFormListItemKey: (key: number) => TPlainObject;\n uidFieldKey: string;\n};\nexport const TableTrHandle = (props: TableTrHandleProps) => {\n const { dragIcon, ...innerProps } = props;\n const rowId = innerProps['data-row-key'] as number;\n\n const uidValue = useMemo(() => {\n return !isUndefinedOrNull(rowId)\n ? props.getTableItemDataByFormListItemKey(rowId)?.[props.uidFieldKey]\n : undefined;\n }, [props, rowId]);\n\n const { setActivatorNodeRef, listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: uidValue,\n });\n\n if (isUndefinedOrNull(uidValue)) {\n return <tr {...innerProps} />;\n }\n const style: React.CSSProperties = {\n ...innerProps.style,\n transform: CSS.Transform.toString(transform && { ...transform, scaleY: 1 }),\n transition,\n cursor: 'move',\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n boxShadow: ' 0px 0px 12px 4px rgba(34, 33, 81, 0.1)',\n backgroundColor: '#fff',\n }\n : {}),\n };\n const iconElement = dragIcon || <DragOutlined />;\n return (\n <tr {...innerProps} ref={setNodeRef} style={style} key={uidValue}>\n {Children.map(props.children, (child) => {\n if ((child as React.ReactElement).key === '__sort') {\n return cloneElement(child as React.ReactElement, {\n children: (\n <span ref={setActivatorNodeRef} style={{ touchAction: 'none', cursor: 'move' }} {...listeners}>\n <IconWrapper\n style={{\n touchAction: 'none',\n cursor: 'move',\n padding: '1px 0px',\n margin: 0,\n justifyContent: 'center',\n color: '#787878',\n }}\n icon={iconElement}\n onClick={noop}\n />\n </span>\n ),\n });\n }\n return child;\n })}\n </tr>\n );\n};\n","import { getCtx } from './context';\nimport { TableTrHandle } from './table-tr-handle';\n\nexport const Row = (props) => {\n const ctx = getCtx();\n return (\n <TableTrHandle\n {...props}\n dragIcon={ctx.dragIcon}\n uidFieldKey={ctx.uidFieldKey}\n getTableItemDataByFormListItemKey={ctx.getTableItemDataByFormListItemKey}\n />\n );\n};\n","import { DndContext, PointerSensor, useSensor, useSensors, type DragEndEvent } from '@dnd-kit/core';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\nimport { arrayMove, SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { Form } from 'antd';\nimport { forwardRef, useImperativeHandle, useRef, type ReactElement } from 'react';\nimport { EditableTable, EditableTableProps, EditableTableRefApi } from '../editable-table';\nimport { CtxProvider } from './context';\nimport { Row } from './row';\n\nexport type DragEditableTableProps = EditableTableProps & {\n /**\n * 拖拽图标自定义,默认使用 DragOutlined 图标\n */\n dragIcon?: ReactElement;\n\n /** 禁用拖拽 */\n disabledDrag?: boolean;\n /**\n * 表格数据唯一值字段Key\n * ```\n * ```\n */\n uidFieldKey: string;\n /**\n * 拖拽结束事件\n * ```\n * dataSource: 拖拽完成后的数据源\n * dragData\n * 1. activeId 拖拽ID\n * 2. activeIndex 拖拽起始表格数组索引值\n * 3. overIndex 拖拽结束表格数组索引值\n * ```\n */\n onDragChange?: (\n dataSource: TPlainObject[],\n dragData: {\n activeId: string | number;\n activeIndex: number;\n overIndex: number;\n },\n ) => void;\n};\n\n/**\n * 可拖拽编辑表格\n * ```\n * 1. 表格数据必须要有唯一值字段,通过参数 uidFieldKey 告诉组件\n * 2. Table 参数 components.body.row 被组件内部使用\n * ```\n */\nexport const DragEditableTable = forwardRef<EditableTableRefApi, DragEditableTableProps>((props, ref) => {\n const { dragIcon, uidFieldKey, onDragChange, disabledDrag, ...otherProps } = props;\n const form = Form.useFormInstance();\n const dataList = Form.useWatch(props.name, form);\n\n const editableTableRef = useRef<EditableTableRefApi>(null);\n\n useImperativeHandle(ref, () => {\n return editableTableRef.current as EditableTableRefApi;\n });\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n // 当拖拽触发区域有其他点击事件时,需要延迟触发拖拽动作\n delay: 0,\n tolerance: 0,\n },\n }),\n );\n\n const onDragEnd = ({ active, over }: DragEndEvent) => {\n if (active.id !== over?.id) {\n const activeIndex = dataList.findIndex((i) => i[uidFieldKey] === active.id);\n const overIndex = dataList.findIndex((i) => i[uidFieldKey] === over?.id);\n const dataListNew = arrayMove(dataList, activeIndex, overIndex);\n form.setFields([\n {\n name: props.name,\n value: dataListNew,\n },\n ]);\n onDragChange?.(dataListNew as TPlainObject[], {\n activeId: active.id,\n activeIndex,\n overIndex,\n });\n }\n };\n\n const columns = disabledDrag\n ? otherProps.columns\n : [{ dataIndex: '__sort', width: 50, key: '__sort' }].concat((otherProps.columns || []) as TAny[]);\n\n return (\n <CtxProvider\n value={{\n dragIcon,\n uidFieldKey,\n getTableItemDataByFormListItemKey: editableTableRef.current?.getTableItemDataByFormListItemKey,\n }}\n >\n <DndContext sensors={sensors} modifiers={[restrictToVerticalAxis]} onDragEnd={onDragEnd}>\n <SortableContext\n items={dataList?.map((i) => i[uidFieldKey]) || []}\n strategy={verticalListSortingStrategy}\n >\n <EditableTable\n ref={editableTableRef}\n {...otherProps}\n columns={columns}\n tableProps={{\n ...otherProps.tableProps,\n components: {\n ...otherProps.tableProps?.components,\n body: {\n ...otherProps.tableProps?.components?.body,\n row: disabledDrag ? undefined : Row,\n },\n },\n }}\n />\n </SortableContext>\n </DndContext>\n </CtxProvider>\n );\n});\n"],"names":["_createCtx","_createCtx2","getCtx","CtxProvider","TableTrHandle","props","dragIcon","innerProps","_objectWithoutPropertiesLoose","_excluded","rowId","uidValue","useMemo","_props$getTableItemDa","isUndefinedOrNull","getTableItemDataByFormListItemKey","uidFieldKey","undefined","_useSortable","useSortable","id","setActivatorNodeRef","listeners","setNodeRef","transform","transition","isDragging","_jsx","_extends","style","CSS","Transform","toString","scaleY","cursor","position","zIndex","boxShadow","backgroundColor","iconElement","_DragOutlined","_createElement","ref","key","Children","map","children","child","cloneElement","touchAction","IconWrapper","padding","margin","justifyContent","color","icon","onClick","noop","Row","ctx","DragEditableTable","forwardRef","_editableTableRef$cur","_otherProps$tableProp","_otherProps$tableProp2","onDragChange","disabledDrag","otherProps","form","Form","useFormInstance","dataList","useWatch","name","editableTableRef","useRef","useImperativeHandle","current","sensors","useSensors","useSensor","PointerSensor","activationConstraint","delay","tolerance","onDragEnd","_ref","active","over","activeIndex","findIndex","i","overIndex","dataListNew","arrayMove","setFields","value","activeId","columns","dataIndex","width","concat","DndContext","modifiers","restrictToVerticalAxis","SortableContext","items","strategy","verticalListSortingStrategy","EditableTable","tableProps","components","body","row"],"mappings":"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"}
@@ -2,5 +2,5 @@
2
2
  import './../icon-wrapper/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
- import{_ as r,a as n}from"../_rollupPluginBabelHelpers-a0769acd.js";import{useSensors as o,useSensor as t,PointerSensor as e,DndContext as i}from"@dnd-kit/core";import{restrictToVerticalAxis as a}from"@dnd-kit/modifiers";import{useSortable as d,SortableContext as s,verticalListSortingStrategy as c,arrayMove as l}from"@dnd-kit/sortable";import{Table as f}from"antd";import{Children as u,cloneElement as m,isValidElement as v,useState as p,useEffect as g,useMemo as x}from"react";import{CSS as y}from"@dnd-kit/utilities";import{jsx as I}from"react/jsx-runtime";import b from"@ant-design/icons/es/icons/DragOutlined";import{noop as h}from"@flatbiz/utils";import{IconWrapper as k}from"../icon-wrapper/index.js";import"@dimjs/utils/cjs/class-names";var w=function n(o){var t=d({id:o["data-row-key"]}),e=t.listeners,i=t.setNodeRef,a=t.transform,s=t.transition,c=t.isDragging;var l=r({},o.style,{transform:y.Transform.toString(a&&r({},a,{scaleY:1})),transition:s,cursor:"move"},c?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)"}:{});return I("tr",r({},o,{ref:i,style:l},e))};var D=["dragIcon"];var S=function o(t){var e=t.dragIcon,i=n(t,D);var a=i["data-row-key"];var s=d({id:a}),c=s.setActivatorNodeRef,l=s.listeners,f=s.setNodeRef,p=s.transform,g=s.transition,x=s.isDragging;if(!a){return I("tr",r({},i))}var w=r({},i.style,{transform:y.Transform.toString(p&&r({},p,{scaleY:1})),transition:g,cursor:e===false?"move":undefined},x?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)",backgroundColor:"#fff"}:{});var S=v(e)?e:I(b,{});return I("tr",r({},i,{ref:f,style:w,children:u.map(t.children,(function(n){if(n.key==="sort"){return m(n,{children:I("span",r({ref:c,style:{touchAction:"none",cursor:"move"}},l,{children:I(k,{style:{touchAction:"none",cursor:"move",padding:"1px 0px",margin:0,justifyContent:"center",color:"#787878"},icon:S,onClick:h})}))})}return n}))}))};var j=["dragIcon","uidFieldKey","columns","dataSource","onDragChange","disabledDrag"];var C=function d(u){var m;var v=u.dragIcon,y=u.uidFieldKey,b=u.columns,h=u.dataSource,k=u.onDragChange,D=u.disabledDrag,C=n(u,j);var z=p([]),A=z[0],K=z[1];g((function(){K(h||[])}),[h]);var N=function r(n){var o=n.active,t=n.over;if(o.id!==(t==null?void 0:t.id)){var e=A.findIndex((function(r){return r[y]===o.id}));var i=A.findIndex((function(r){return r[y]===(t==null?void 0:t.id)}));var a=l(A,e,i);K([].concat(a));k==null?void 0:k(a,{activeId:o.id,activeIndex:e,overIndex:i})}};var R=x((function(){if(v===false)return b;return[{key:"sort",dataIndex:"sort",align:"center",width:50}].concat(b||[])}),[b,v]);var F=o(t(e,{activationConstraint:{delay:v===false?150:0,tolerance:0}}));return I(i,{sensors:F,modifiers:[a],onDragEnd:N,children:I(s,{items:A.map((function(r){return r[y]})),strategy:c,children:I(f,r({pagination:false,rowKey:y,bordered:true,components:r({},C.components,{body:r({row:D?undefined:function(n){return n.dragIcon===false?I(w,r({},n,{dragIcon:v})):I(S,r({},n,{dragIcon:v}))}},(m=C.components)==null?void 0:m.body)})},C,{dataSource:A,columns:R}))})})};export{C as DragTable};
5
+ import{_ as r,a as n}from"../_rollupPluginBabelHelpers-a0769acd.js";import{useSensors as o,useSensor as e,PointerSensor as t,DndContext as i}from"@dnd-kit/core";import{restrictToVerticalAxis as a}from"@dnd-kit/modifiers";import{useSortable as d,SortableContext as s,verticalListSortingStrategy as c,arrayMove as l}from"@dnd-kit/sortable";import{Table as f}from"antd";import{Children as u,cloneElement as m,isValidElement as v,useState as p,useEffect as g,useMemo as x}from"react";import{createCtx as y}from"@wove/react/cjs/create-ctx";import{CSS as I}from"@dnd-kit/utilities";import{jsx as h}from"react/jsx-runtime";import b from"@ant-design/icons/es/icons/DragOutlined";import{noop as k}from"@flatbiz/utils";import{IconWrapper as w}from"../icon-wrapper/index.js";import"@dimjs/utils/cjs/class-names";var D=y(),j=D[0],S=D[1];var C=function n(o){var e=d({id:o["data-row-key"]}),t=e.listeners,i=e.setNodeRef,a=e.transform,s=e.transition,c=e.isDragging;var l=r({},o.style,{transform:I.Transform.toString(a&&r({},a,{scaleY:1})),transition:s,cursor:"move"},c?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)"}:{});return h("tr",r({},o,{ref:i,style:l},t))};var z=["dragIcon"];var A=function o(e){var t=e.dragIcon,i=n(e,z);var a=i["data-row-key"];var s=d({id:a}),c=s.setActivatorNodeRef,l=s.listeners,f=s.setNodeRef,p=s.transform,g=s.transition,x=s.isDragging;if(!a){return h("tr",r({},i))}var y=r({},i.style,{transform:I.Transform.toString(p&&r({},p,{scaleY:1})),transition:g,cursor:t===false?"move":undefined},x?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)",backgroundColor:"#fff"}:{});var D=v(t)?t:h(b,{});return h("tr",r({},i,{ref:f,style:y,children:u.map(e.children,(function(n){if(n.key==="sort"){return m(n,{children:h("span",r({ref:c,style:{touchAction:"none",cursor:"move"}},l,{children:h(w,{style:{touchAction:"none",cursor:"move",padding:"1px 0px",margin:0,justifyContent:"center",color:"#787878"},icon:D,onClick:k})}))})}return n}))}))};var K=function n(o){var e=j();return e.dragIcon===false?h(C,r({},o,{dragIcon:e.dragIcon})):h(A,r({},o,{dragIcon:e.dragIcon}))};var N=["dragIcon","uidFieldKey","columns","dataSource","onDragChange","disabledDrag"];var R=function d(u){var m;var v=u.dragIcon,y=u.uidFieldKey,I=u.columns,b=u.dataSource,k=u.onDragChange,w=u.disabledDrag,D=n(u,N);var j=p([]),C=j[0],z=j[1];g((function(){z(b||[])}),[b]);var A=function r(n){var o=n.active,e=n.over;if(o.id!==(e==null?void 0:e.id)){var t=C.findIndex((function(r){return r[y]===o.id}));var i=C.findIndex((function(r){return r[y]===(e==null?void 0:e.id)}));var a=l(C,t,i);z([].concat(a));k==null?void 0:k(a,{activeId:o.id,activeIndex:t,overIndex:i})}};var R=x((function(){if(v===false)return I;return[{key:"sort",dataIndex:"sort",align:"center",width:50}].concat(I||[])}),[I,v]);var F=o(e(t,{activationConstraint:{delay:v===false?150:0,tolerance:0}}));return h(S,{value:{dragIcon:v},children:h(i,{sensors:F,modifiers:[a],onDragEnd:A,children:h(s,{items:C.map((function(r){return r[y]})),strategy:c,children:h(f,r({pagination:false,rowKey:y,bordered:true,components:r({},D.components,{body:r({},(m=D.components)==null?void 0:m.body,{row:w?undefined:K})})},D,{dataSource:C,columns:R}))})})})};export{R as DragTable};
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/drag-table/table-tr.tsx","@flatbiz/antd/src/drag-table/table-tr-handle.tsx","@flatbiz/antd/src/drag-table/drag-table.tsx"],"sourcesContent":["import { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\n\nexport const TableTr = (props) => {\n const { listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: props['data-row-key'],\n });\n\n const style: React.CSSProperties = {\n ...props.style,\n transform: CSS.Transform.toString(transform && { ...transform, scaleY: 1 }),\n transition,\n cursor: 'move',\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n boxShadow: ' 0px 0px 12px 4px rgba(34, 33, 81, 0.1)',\n }\n : {}),\n };\n\n return <tr {...props} ref={setNodeRef} style={style} {...listeners} />;\n};\n","import { DragOutlined } from '@ant-design/icons';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { noop } from '@flatbiz/utils';\nimport { RowProps } from 'antd';\nimport { Children, cloneElement, isValidElement, ReactElement } from 'react';\nimport { IconWrapper } from '../icon-wrapper';\ntype TableTrHandleProps = RowProps & {\n dragIcon?: false | ReactElement;\n};\nexport const TableTrHandle = (props: TableTrHandleProps) => {\n const { dragIcon, ...innerProps } = props;\n const rowId = innerProps['data-row-key'];\n const { setActivatorNodeRef, listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: rowId,\n });\n\n if (!rowId) {\n return <tr {...innerProps} />;\n }\n const style: React.CSSProperties = {\n ...innerProps.style,\n transform: CSS.Transform.toString(transform && { ...transform, scaleY: 1 }),\n transition,\n cursor: dragIcon === false ? 'move' : undefined,\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n boxShadow: ' 0px 0px 12px 4px rgba(34, 33, 81, 0.1)',\n backgroundColor: '#fff',\n }\n : {}),\n };\n const iconElement = isValidElement(dragIcon) ? dragIcon : <DragOutlined />;\n return (\n <tr {...innerProps} ref={setNodeRef} style={style}>\n {Children.map(props.children, (child) => {\n if ((child as React.ReactElement).key === 'sort') {\n return cloneElement(child as React.ReactElement, {\n children: (\n <span ref={setActivatorNodeRef} style={{ touchAction: 'none', cursor: 'move' }} {...listeners}>\n <IconWrapper\n style={{\n touchAction: 'none',\n cursor: 'move',\n padding: '1px 0px',\n margin: 0,\n justifyContent: 'center',\n color: '#787878',\n }}\n icon={iconElement}\n onClick={noop}\n />\n </span>\n ),\n });\n }\n return child;\n })}\n </tr>\n );\n};\n","import { DndContext, PointerSensor, useSensor, useSensors, type DragEndEvent } from '@dnd-kit/core';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\nimport { arrayMove, SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { Table, type TableProps } from 'antd';\nimport { useEffect, useMemo, useState, type ReactElement } from 'react';\nimport { TableTr } from './table-tr';\nimport { TableTrHandle } from './table-tr-handle';\n\ntype DragTableProps = Omit<TableProps<TPlainObject>, 'dataSource'> & {\n /**\n * ```\n * 1. 可自定义拖拽图标\n * 2. dragIcon = false,可设置表格行拖拽\n * ```\n */\n dragIcon?: false | ReactElement;\n /** 表格数据唯一值字段Key,未填或者无法唯一,都不能拖拽能力 */\n uidFieldKey: string;\n dataSource?: TPlainObject[];\n /** 禁用拖拽 */\n disabledDrag?: boolean;\n /**\n * 拖拽结束事件\n * ```\n * dataSource: 拖拽完成后的数据源\n * dragData\n * 1. activeId 拖拽ID\n * 2. activeIndex 拖拽起始表格数组索引值\n * 3. overIndex 拖拽结束表格数组索引值\n * ```\n */\n onDragChange?: (\n dataSource: TPlainObject[],\n dragData: {\n activeId: string | number;\n activeIndex: number;\n overIndex: number;\n },\n ) => void;\n};\n\n/**\n * 可拖拽表格\n * ```\n * 1. 必须设置唯一值字段 uidFieldKey\n * 2. 如果拖拽显示异常,请检查 uidFieldKey 是否正确\n * 3. Table 参数 components.body.row 被组件内部使用\n * ```\n */\nexport const DragTable = (props: DragTableProps) => {\n const { dragIcon, uidFieldKey, columns, dataSource, onDragChange, disabledDrag, ...otherProps } = props;\n const [dataList, setDataList] = useState<TAny[]>([]);\n\n useEffect(() => {\n setDataList(dataSource || []);\n }, [dataSource]);\n\n const onDragEnd = ({ active, over }: DragEndEvent) => {\n if (active.id !== over?.id) {\n const activeIndex = dataList.findIndex((i) => i[uidFieldKey] === active.id);\n const overIndex = dataList.findIndex((i) => i[uidFieldKey] === over?.id);\n const dataListNew = arrayMove(dataList, activeIndex, overIndex);\n setDataList([...dataListNew]);\n onDragChange?.(dataListNew, {\n activeId: active.id,\n activeIndex,\n overIndex,\n });\n }\n };\n\n const columnsList = useMemo(() => {\n if (dragIcon === false) return columns;\n return [\n {\n key: 'sort',\n dataIndex: 'sort',\n align: 'center',\n width: 50,\n } as TAny,\n ].concat(columns || []);\n }, [columns, dragIcon]);\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n // 当拖拽触发区域有其他点击事件时,需要延迟触发拖拽动作\n delay: dragIcon === false ? 150 : 0,\n tolerance: 0,\n },\n }),\n );\n\n return (\n <DndContext sensors={sensors} modifiers={[restrictToVerticalAxis]} onDragEnd={onDragEnd}>\n <SortableContext items={dataList.map((i) => i[uidFieldKey])} strategy={verticalListSortingStrategy}>\n <Table\n pagination={false}\n rowKey={uidFieldKey}\n bordered\n components={{\n ...otherProps.components,\n body: {\n row: disabledDrag\n ? undefined\n : (props) => {\n return props.dragIcon === false ? (\n <TableTr {...props} dragIcon={dragIcon} />\n ) : (\n <TableTrHandle {...props} dragIcon={dragIcon} />\n );\n },\n ...otherProps.components?.body,\n },\n }}\n {...otherProps}\n dataSource={dataList}\n columns={columnsList}\n />\n </SortableContext>\n </DndContext>\n );\n};\n"],"names":["TableTr","props","_useSortable","useSortable","id","listeners","setNodeRef","transform","transition","isDragging","style","_extends","CSS","Transform","toString","scaleY","cursor","position","zIndex","boxShadow","_jsx","ref","TableTrHandle","dragIcon","innerProps","_objectWithoutPropertiesLoose","_excluded","rowId","setActivatorNodeRef","undefined","backgroundColor","iconElement","isValidElement","_DragOutlined","children","Children","map","child","key","cloneElement","touchAction","IconWrapper","padding","margin","justifyContent","color","icon","onClick","noop","DragTable","_otherProps$component","uidFieldKey","columns","dataSource","onDragChange","disabledDrag","otherProps","_useState","useState","dataList","setDataList","useEffect","onDragEnd","_ref","active","over","activeIndex","findIndex","i","overIndex","dataListNew","arrayMove","concat","activeId","columnsList","useMemo","dataIndex","align","width","sensors","useSensors","useSensor","PointerSensor","activationConstraint","delay","tolerance","DndContext","modifiers","restrictToVerticalAxis","SortableContext","items","strategy","verticalListSortingStrategy","Table","pagination","rowKey","bordered","components","body","row"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/drag-table/context.ts","@flatbiz/antd/src/drag-table/table-tr.tsx","@flatbiz/antd/src/drag-table/table-tr-handle.tsx","@flatbiz/antd/src/drag-table/row.tsx","@flatbiz/antd/src/drag-table/drag-table.tsx"],"sourcesContent":["import { createCtx } from '@wove/react';\nimport { type ReactElement } from 'react';\n\nexport const [getCtx, CtxProvider] = createCtx<{\n dragIcon?: false | ReactElement;\n}>();\n","import { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\n\nexport const TableTr = (props) => {\n const { listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: props['data-row-key'],\n });\n\n const style: React.CSSProperties = {\n ...props.style,\n transform: CSS.Transform.toString(transform && { ...transform, scaleY: 1 }),\n transition,\n cursor: 'move',\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n boxShadow: ' 0px 0px 12px 4px rgba(34, 33, 81, 0.1)',\n }\n : {}),\n };\n\n return <tr {...props} ref={setNodeRef} style={style} {...listeners} />;\n};\n","import { DragOutlined } from '@ant-design/icons';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { noop } from '@flatbiz/utils';\nimport { type RowProps } from 'antd';\nimport { Children, cloneElement, isValidElement, type ReactElement } from 'react';\nimport { IconWrapper } from '../icon-wrapper';\ntype TableTrHandleProps = RowProps & {\n dragIcon?: false | ReactElement;\n};\nexport const TableTrHandle = (props: TableTrHandleProps) => {\n const { dragIcon, ...innerProps } = props;\n const rowId = innerProps['data-row-key'];\n const { setActivatorNodeRef, listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: rowId,\n });\n\n if (!rowId) {\n return <tr {...innerProps} />;\n }\n const style: React.CSSProperties = {\n ...innerProps.style,\n transform: CSS.Transform.toString(transform && { ...transform, scaleY: 1 }),\n transition,\n cursor: dragIcon === false ? 'move' : undefined,\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n boxShadow: ' 0px 0px 12px 4px rgba(34, 33, 81, 0.1)',\n backgroundColor: '#fff',\n }\n : {}),\n };\n const iconElement = isValidElement(dragIcon) ? dragIcon : <DragOutlined />;\n return (\n <tr {...innerProps} ref={setNodeRef} style={style}>\n {Children.map(props.children, (child) => {\n if ((child as React.ReactElement).key === 'sort') {\n return cloneElement(child as React.ReactElement, {\n children: (\n <span ref={setActivatorNodeRef} style={{ touchAction: 'none', cursor: 'move' }} {...listeners}>\n <IconWrapper\n style={{\n touchAction: 'none',\n cursor: 'move',\n padding: '1px 0px',\n margin: 0,\n justifyContent: 'center',\n color: '#787878',\n }}\n icon={iconElement}\n onClick={noop}\n />\n </span>\n ),\n });\n }\n return child;\n })}\n </tr>\n );\n};\n","import { getCtx } from './context';\nimport { TableTr } from './table-tr';\nimport { TableTrHandle } from './table-tr-handle';\n\nexport const Row = (props) => {\n const ctx = getCtx();\n return ctx.dragIcon === false ? (\n <TableTr {...props} dragIcon={ctx.dragIcon} />\n ) : (\n <TableTrHandle {...props} dragIcon={ctx.dragIcon} />\n );\n};\n","import { DndContext, PointerSensor, useSensor, useSensors, type DragEndEvent } from '@dnd-kit/core';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\nimport { arrayMove, SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { Table, type TableProps } from 'antd';\nimport { useEffect, useMemo, useState, type ReactElement } from 'react';\nimport { CtxProvider } from './context';\nimport { Row } from './row';\n\ntype DragTableProps = Omit<TableProps<TPlainObject>, 'dataSource'> & {\n /**\n * ```\n * 1. 可自定义拖拽图标\n * 2. dragIcon = false,可设置表格行拖拽\n * ```\n */\n dragIcon?: false | ReactElement;\n /** 表格数据唯一值字段Key,未填或者无法唯一,都不能拖拽能力 */\n uidFieldKey: string;\n dataSource?: TPlainObject[];\n /** 禁用拖拽 */\n disabledDrag?: boolean;\n /**\n * 拖拽结束事件\n * ```\n * dataSource: 拖拽完成后的数据源\n * dragData\n * 1. activeId 拖拽ID\n * 2. activeIndex 拖拽起始表格数组索引值\n * 3. overIndex 拖拽结束表格数组索引值\n * ```\n */\n onDragChange?: (\n dataSource: TPlainObject[],\n dragData: {\n activeId: string | number;\n activeIndex: number;\n overIndex: number;\n },\n ) => void;\n};\n\n/**\n * 可拖拽表格\n * ```\n * 1. 必须设置唯一值字段 uidFieldKey\n * 2. 如果拖拽显示异常,请检查 uidFieldKey 是否正确\n * 3. Table 参数 components.body.row 被组件内部使用\n * ```\n */\nexport const DragTable = (props: DragTableProps) => {\n const { dragIcon, uidFieldKey, columns, dataSource, onDragChange, disabledDrag, ...otherProps } = props;\n const [dataList, setDataList] = useState<TAny[]>([]);\n\n useEffect(() => {\n setDataList(dataSource || []);\n }, [dataSource]);\n\n const onDragEnd = ({ active, over }: DragEndEvent) => {\n if (active.id !== over?.id) {\n const activeIndex = dataList.findIndex((i) => i[uidFieldKey] === active.id);\n const overIndex = dataList.findIndex((i) => i[uidFieldKey] === over?.id);\n const dataListNew = arrayMove(dataList, activeIndex, overIndex);\n setDataList([...dataListNew]);\n onDragChange?.(dataListNew, {\n activeId: active.id,\n activeIndex,\n overIndex,\n });\n }\n };\n\n const columnsList = useMemo(() => {\n if (dragIcon === false) return columns;\n return [\n {\n key: 'sort',\n dataIndex: 'sort',\n align: 'center',\n width: 50,\n } as TAny,\n ].concat(columns || []);\n }, [columns, dragIcon]);\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n // 当拖拽触发区域有其他点击事件时,需要延迟触发拖拽动作\n delay: dragIcon === false ? 150 : 0,\n tolerance: 0,\n },\n }),\n );\n\n return (\n <CtxProvider value={{ dragIcon }}>\n <DndContext sensors={sensors} modifiers={[restrictToVerticalAxis]} onDragEnd={onDragEnd}>\n <SortableContext items={dataList.map((i) => i[uidFieldKey])} strategy={verticalListSortingStrategy}>\n <Table\n pagination={false}\n rowKey={uidFieldKey}\n bordered\n components={{\n ...otherProps.components,\n body: {\n ...otherProps.components?.body,\n row: disabledDrag ? undefined : Row,\n },\n }}\n {...otherProps}\n dataSource={dataList}\n columns={columnsList}\n />\n </SortableContext>\n </DndContext>\n </CtxProvider>\n );\n};\n"],"names":["_createCtx","_createCtx2","getCtx","CtxProvider","TableTr","props","_useSortable","useSortable","id","listeners","setNodeRef","transform","transition","isDragging","style","_extends","CSS","Transform","toString","scaleY","cursor","position","zIndex","boxShadow","_jsx","ref","TableTrHandle","dragIcon","innerProps","_objectWithoutPropertiesLoose","_excluded","rowId","setActivatorNodeRef","undefined","backgroundColor","iconElement","isValidElement","_DragOutlined","children","Children","map","child","key","cloneElement","touchAction","IconWrapper","padding","margin","justifyContent","color","icon","onClick","noop","Row","ctx","DragTable","_otherProps$component","uidFieldKey","columns","dataSource","onDragChange","disabledDrag","otherProps","_useState","useState","dataList","setDataList","useEffect","onDragEnd","_ref","active","over","activeIndex","findIndex","i","overIndex","dataListNew","arrayMove","concat","activeId","columnsList","useMemo","dataIndex","align","width","sensors","useSensors","useSensor","PointerSensor","activationConstraint","delay","tolerance","value","DndContext","modifiers","restrictToVerticalAxis","SortableContext","items","strategy","verticalListSortingStrategy","Table","pagination","rowKey","bordered","components","body","row"],"mappings":"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"}
@@ -1 +1 @@
1
- .fba-dialog-modal .ant-modal-body{overflow-x:hidden;overflow-y:auto;padding:10px 24px 20px!important}.fba-dialog-modal .ant-modal-content{padding:20px 0!important}.fba-dialog-modal .ant-modal-footer,.fba-dialog-modal .ant-modal-header{padding:0 24px!important}.fba-dialog-modal .ant-modal-footer{margin:0!important}.fba-dialog-modal-title-extra .ant-modal-close{right:5px;top:5px}.fba-dialog-confirm .ant-modal-header{margin:0!important}.fba-dialog-confirm .ant-modal-body{color:rgba(0,0,0,.78)!important;font-size:14px;font-weight:400}.fba-dialog-confirm .ant-modal-footer>button:nth-child(2){margin-left:15px!important}.fba-dialog-loading .ant-modal-content{background-color:transparent!important;box-shadow:none!important;padding:0!important}.fba-dialog-loading .ant-modal-body{text-align:center!important}.fba-dialog-loading-content{background-color:#fff;border-radius:8px;display:inline-block;padding:20px 30px;text-align:center}.fba-dialog-loading-content .loader-inner{animation:dialog-spinner .6s linear infinite;border:2px solid rgba(0,128,227,.08);border-left:2px solid var(--fba-loading-color);border-radius:50%;height:30px;margin:0 auto;text-indent:-12345px;width:30px;z-index:100001}.fba-dialog-loading-content .loader-text{color:#606060;font-size:12px;font-size:16px;font-weight:500;letter-spacing:2px;margin-top:15px;text-align:left}@keyframes dialog-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
1
+ .fba-dialog-modal .ant-modal-body{overflow-x:hidden;overflow-y:auto;padding:10px 24px 20px}.fba-dialog-modal .ant-modal-content{padding:20px 0}.fba-dialog-modal .ant-modal-footer,.fba-dialog-modal .ant-modal-header{padding:0 24px}.fba-dialog-modal .ant-modal-footer{margin:0}.fba-dialog-modal-title-extra .ant-modal-close{right:5px;top:5px}.fba-dialog-modal.fba-dialog-confirm .ant-modal-header{margin:0}.fba-dialog-modal.fba-dialog-confirm .ant-modal-body{color:rgba(0,0,0,.78);font-size:14px;font-weight:400}.fba-dialog-modal.fba-dialog-confirm .ant-modal-footer>button:nth-child(2){margin-left:15px}.fba-dialog-loading .ant-modal-content{background-color:transparent!important;box-shadow:none!important;padding:0!important}.fba-dialog-loading .ant-modal-body{text-align:center!important}.fba-dialog-loading-content{background-color:#fff;border-radius:8px;display:inline-block;padding:20px 30px;text-align:center}.fba-dialog-loading-content .loader-inner{animation:dialog-spinner .6s linear infinite;border:2px solid rgba(0,128,227,.08);border-left:2px solid var(--fba-loading-color);border-radius:50%;height:30px;margin:0 auto;text-indent:-12345px;width:30px;z-index:100001}.fba-dialog-loading-content .loader-text{color:#606060;font-size:12px;font-size:16px;font-weight:500;letter-spacing:2px;margin-top:15px;text-align:left}@keyframes dialog-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
@@ -7,5 +7,5 @@ import './../types/index.css';
7
7
  import './../flex-layout/index.css';
8
8
  import './index.css';
9
9
  /*! @flatjs/forge MIT @flatbiz/antd */
10
- import{fbaUtils as o}from"../fba-utils/index.js";import{a as e,_ as n}from"../_rollupPluginBabelHelpers-a0769acd.js";import{getUuid as l}from"@flatbiz/utils";import{createContext as a,useMemo as r,useContext as i,useState as t,createElement as s}from"react";import{classNames as d}from"@dimjs/utils/cjs/class-names";import{isPromise as u}from"@dimjs/lang/cjs/is-promise";import{hooks as c}from"@wove/react/cjs/hooks";import{useSize as p}from"ahooks";import{Form as f,Modal as v,Space as m,Drawer as g,theme as C}from"antd";import{ButtonWrapper as h}from"../button-wrapper/index.js";import{FlexLayout as k}from"../flex-layout/index.js";import{g as y}from"../index-7f4ad045.js";import{jsx as x,jsxs as D}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@ant-design/icons/es/icons/LoadingOutlined";import"../fba-hooks/index.js";import"../use-responsive-point-21b8c601.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"@dimjs/utils/cjs/extend";var O=a({});var b=["titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","bodyHeightPercent"];var j=function o(l){var a;var i=l.titleExtra,t=l.title,s=l.onOk,m=l.onCancel,g=l.okButtonProps,C=l.cancelButtonProps,O=l.content,j=l.className,w=l.okHidden,P=l.cancelHidden,T=l.footer,M=l.cancelText,H=l.okText,N=l.bodyHeightPercent,B=e(l,b);var L=f.useForm(),A=L[0];var R=p(document.querySelector("html"));var E=y();var F=c.useCallbackRef((function(){l.onClose==null?void 0:l.onClose()}));var S=c.useCallbackRef((function(o){if(m){var e=m(A,o);if(e&&u(e)){return e.then(F)}}F();return Promise.resolve()}));var z=c.useCallbackRef((function(o){if(s){var e=s(A,o);if(e&&u(e)){return e.then(F)}}F();return Promise.resolve()}));var _=[x(h,n({},C,{onClick:S,hidden:P,children:M||((a=E.FbaDialogModal)==null?void 0:a.cancelText)}),"0"),x(h,n({type:"primary"},g,{onClick:z,hidden:w,children:H||"提交"}),"1")];var W=T||_;var Y=r((function(){if(!(R!=null&&R.height)||!N){return"auto"}return(R==null?void 0:R.height)*(N/100)}),[N,R==null?void 0:R.height]);return x(v,n({maskClosable:true,title:i?D(k,{direction:"horizontal",fullIndex:0,children:[x("span",{children:t}),i]}):t,centered:true,onCancel:F,destroyOnClose:true},B,{bodyStyle:n({height:Y,maxHeight:R!=null&&R.height?(R==null?void 0:R.height)*.8:"calc(100vh - 200px)"},B.bodyStyle),className:d("fba-dialog-modal",{"fba-dialog-modal-title-extra":!!i},j),open:l.open,footer:W,children:typeof O==="function"?O(A,{onClose:F}):O}))};var w=function o(e){var l=d("fba-dialog-confirm",e.className);return x(j,n({okText:"确定",width:350,cancelText:"取消",maskClosable:true},e,{className:l}))};var P=function o(e){return x(w,n({okText:"确定",cancelHidden:true,maskClosable:false},e,{onOk:function o(n,l){return e.onClick==null?void 0:e.onClick(l)}}))};var T=["onOk","onCancel","content","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden","extra"];var M=function o(l){var a=l.onOk,r=l.onCancel,i=l.content,t=l.okText,s=l.cancelText,d=l.okButtonExtraProps,p=l.cancelButtonExtraProps,v=l.operatePosition,C=v===void 0?"footer":v,k=l.operateRender,y=l.width,O=y===void 0?600:y,b=l.okHidden,j=l.cancelHidden,w=l.extra,P=e(l,T);var M=f.useForm(),H=M[0];var N=c.useCallbackRef((function(o){l.onClose==null?void 0:l.onClose(o)}));var B=c.useCallbackRef((function(o){if(r){var e=r(H,o);if(e&&u(e)){return e.then(N)}}N(o);return Promise.resolve()}));var L=c.useCallbackRef((function(o){if(a){var e=a(H,o);if(e&&u(e)){return e.then(N)}}N(o);return Promise.resolve()}));var A=D(m,{children:[j||p!=null&&p.hidden?null:x(h,n({},p,{onClick:B,children:s||"取消"})),b||d!=null&&d.hidden?null:x(h,n({type:"primary"},d,{onClick:L,children:t||"提交"}))]});var R=function o(){if(k){return k(H)}if(!b||!j){return A}return null};var E=typeof w==="function"?w(H):w;return x(g,n({maskClosable:true,destroyOnClose:true,width:"80%",contentWrapperStyle:{maxWidth:O},footer:C==="footer"?R():null},P,{extra:C==="header"?R():E,open:l.open,onClose:N,children:typeof i==="function"?i(H,{onClose:N}):i}))};var H=function o(e){var n=e.className,l=e.message,a=e.mask;var r=C.useToken(),i=r.token;var t=i.colorPrimary;return x(v,{maskClosable:false,centered:true,destroyOnClose:true,className:d("fba-dialog-loading",n),open:e.open,footer:null,closable:false,style:{"--fba-loading-color":t},mask:a,children:x("div",{className:d("fba-dialog-loading-content"),children:D("div",{className:"loader-wrapper",children:[x("div",{className:"loader-inner"}),x("div",{className:"loader-text",children:l||"处理中"})]})})})};var N=function o(){var e=i(O);var l=function o(){e.dialogDrawerClose==null?void 0:e.dialogDrawerClose()};return{appDialogDrawer:{open:function o(a){e.dialogDrawerOpen==null?void 0:e.dialogDrawerOpen(n({},a,{open:true}));return{onClose:l}},close:l}}};var B=function o(){var e=i(O);var l=function o(){e.dialogDrawerClose2==null?void 0:e.dialogDrawerClose2()};return{appDialogDrawer2:{open:function o(a){e.dialogDrawerOpen2==null?void 0:e.dialogDrawerOpen2(n({},a,{open:true}));return{onClose:l}},close:l}}};var L=function o(){var e=i(O);var l=function o(){e.dialogModalClose==null?void 0:e.dialogModalClose()};return{appDialogModal:{open:function o(a){e.dialogModalOpen==null?void 0:e.dialogModalOpen(n({},a,{open:true}));return{onClose:l}},close:l}}};var A=function o(){var e=i(O);var l=function o(){e.dialogModalClose2==null?void 0:e.dialogModalClose2()};return{appDialogModal2:{open:function o(a){e.dialogModalOpen2==null?void 0:e.dialogModalOpen2(n({},a,{open:true}));return{onClose:l}},close:l}}};var R=function o(){var e=i(O);var l=function o(){e.dialogAlertClose==null?void 0:e.dialogAlertClose()};return{appDialogAlert:{open:function o(a){e.dialogAlertOpen==null?void 0:e.dialogAlertOpen(n({},a,{open:true}));return{onClose:l}},close:l}}};var E=function o(){var e=i(O);var l=function o(){e.dialogConfirmClose==null?void 0:e.dialogConfirmClose()};return{appDialogConfirm:{open:function o(a){e.dialogConfirmOpen==null?void 0:e.dialogConfirmOpen(n({},a,{open:true}));return{onClose:l}},close:l}}};var F=function o(){var e=i(O);var l=function o(){e.dialogLoadingClose==null?void 0:e.dialogLoadingClose()};return{appDialogLoading:{open:function o(a){e.dialogLoadingOpen==null?void 0:e.dialogLoadingOpen(n({},a,{open:true}));return{onClose:l}},close:l}}};var S=function o(e){var a=t({}),r=a[0],i=a[1];var d=t(l()),u=d[0],c=d[1];var p=t({}),f=p[0],v=p[1];var m=t(l()),g=m[0],C=m[1];var h=t({}),k=h[0],y=h[1];var x=t(l()),b=x[0],T=x[1];var N=t({}),B=N[0],L=N[1];var A=t(l()),R=A[0],E=A[1];var F=t({}),S=F[0],z=F[1];var _=t({}),W=_[0],Y=_[1];var q=t(),I=q[0],U=q[1];var G=t(l()),J=G[0],K=G[1];var Q=t(l()),V=Q[0],X=Q[1];var Z=t(l()),$=Z[0],oo=Z[1];var eo=function o(e){i(e)};var no=function o(e){i(n({},r,{open:false}));r.onClose==null?void 0:r.onClose(e);setTimeout((function(){c(l())}),200)};var lo=function o(e){v(e)};var ao=function o(e){v(n({},f,{open:false}));f.onClose==null?void 0:f.onClose(e);setTimeout((function(){C(l())}),200)};var ro=function o(e){y(e)};var io=function o(){y(n({},k,{open:false}));k.onClose==null?void 0:k.onClose();setTimeout((function(){T(l())}),200)};var to=function o(e){L(e)};var so=function o(){L(n({},B,{open:false}));B.onClose==null?void 0:B.onClose();setTimeout((function(){E(l())}),200)};var uo=function o(e){z(e)};var co=function o(){z(n({},S,{open:false}));S.onClose==null?void 0:S.onClose();setTimeout((function(){K(l())}),200)};var po=function o(e){Y(e)};var fo=function o(){Y(n({},W,{open:false}));W.onClose==null?void 0:W.onClose();setTimeout((function(){X(l())}),200)};var vo=function o(e){U(e)};var mo=function o(){U(n({},I,{open:false}));setTimeout((function(){oo(l())}),200)};return D(O.Provider,{value:{dialogDrawerOpen:eo,dialogDrawerClose:no,dialogDrawerOpen2:lo,dialogDrawerClose2:ao,dialogModalOpen:ro,dialogModalClose:io,dialogModalOpen2:to,dialogModalClose2:so,dialogAlertOpen:uo,dialogAlertClose:co,dialogConfirmOpen:po,dialogConfirmClose:fo,dialogLoadingOpen:vo,dialogLoadingClose:mo},children:[s(M,n({},r,{onClose:no,key:u})),s(M,n({},f,{onClose:ao,key:g})),s(j,n({},k,{onClose:io,key:b})),s(j,n({},B,{onClose:so,key:R})),s(P,n({},S,{onClose:co,key:J})),s(w,n({},W,{onClose:fo,key:V})),s(H,n({},I,{key:$})),e.children]})};var z=o.attachPropertiesToComponent(S,{useDialogDrawer:N,useDialogDrawer2:B,useDialogModal:L,useDialogModal2:A,useDialogConfirm:E,useDialogAlert:R,useDialogLoading:F});export{z as FbaApp};
10
+ import{fbaUtils as o}from"../fba-utils/index.js";import{hooks as e}from"@wove/react/cjs/hooks";import{a as n,_ as l}from"../_rollupPluginBabelHelpers-a0769acd.js";import{getUuid as a}from"@flatbiz/utils";import{createContext as r,useMemo as i,useContext as t,useState as s,createElement as u}from"react";import{classNames as d}from"@dimjs/utils/cjs/class-names";import{isPromise as c}from"@dimjs/lang/cjs/is-promise";import{useSize as f}from"ahooks";import{Form as p,Modal as v,Space as m,Drawer as C,theme as g}from"antd";import{ButtonWrapper as k}from"../button-wrapper/index.js";import{FlexLayout as h}from"../flex-layout/index.js";import{g as b}from"../index-7f4ad045.js";import{jsx as y,jsxs as x}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@ant-design/icons/es/icons/LoadingOutlined";import"../fba-hooks/index.js";import"../use-responsive-point-21b8c601.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"@dimjs/utils/cjs/extend";var D=r({});var O=["titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","bodyHeightPercent"];var j=function o(a){var r;var t=a.titleExtra,s=a.title,u=a.onOk,m=a.onCancel,C=a.okButtonProps,g=a.cancelButtonProps,D=a.content,j=a.className,w=a.okHidden,R=a.cancelHidden,P=a.footer,T=a.cancelText,M=a.okText,H=a.bodyHeightPercent,N=n(a,O);var B=p.useForm(),L=B[0];var A=f(document.querySelector("html"));var E=b();var F=e.useCallbackRef((function(){a.onClose==null?void 0:a.onClose()}));var S=e.useCallbackRef((function(o){if(m){var e=m(L,o);if(e&&c(e)){return e.then(F)}}F();return Promise.resolve()}));var z=e.useCallbackRef((function(o){if(u){var e=u(L,o);if(e&&c(e)){return e.then(F)}}F();return Promise.resolve()}));var _=[y(k,l({},g,{onClick:S,hidden:R,children:T||((r=E.FbaDialogModal)==null?void 0:r.cancelText)}),"0"),y(k,l({type:"primary"},C,{onClick:z,hidden:w,children:M||"提交"}),"1")];var W=P||_;var Y=i((function(){if(!(A!=null&&A.height)||!H){return"auto"}return(A==null?void 0:A.height)*(H/100)}),[H,A==null?void 0:A.height]);return y(v,l({maskClosable:true,title:t?x(h,{direction:"horizontal",fullIndex:0,children:[y("span",{children:s}),t]}):s,centered:true,onCancel:F,destroyOnClose:true},N,{bodyStyle:l({height:Y,maxHeight:A!=null&&A.height?(A==null?void 0:A.height)*.8:"calc(100vh - 200px)"},N.bodyStyle),className:d("fba-dialog-modal",{"fba-dialog-modal-title-extra":!!t},j),open:a.open,footer:W,children:typeof D==="function"?D(L,{onClose:F}):D}))};var w=function o(e){var n=d("fba-dialog-confirm",e.className);return y(j,l({okText:"确定",width:350,cancelText:"取消",maskClosable:true},e,{className:n}))};var R=function o(e){return y(w,l({okText:"确定",cancelHidden:true,maskClosable:false},e,{onOk:function o(n,l){return e.onClick==null?void 0:e.onClick(l)}}))};var P=["onOk","onCancel","content","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden","extra"];var T=function o(a){var r=a.onOk,i=a.onCancel,t=a.content,s=a.okText,u=a.cancelText,d=a.okButtonExtraProps,f=a.cancelButtonExtraProps,v=a.operatePosition,g=v===void 0?"footer":v,h=a.operateRender,b=a.width,D=b===void 0?600:b,O=a.okHidden,j=a.cancelHidden,w=a.extra,R=n(a,P);var T=p.useForm(),M=T[0];var H=e.useCallbackRef((function(o){a.onClose==null?void 0:a.onClose(o)}));var N=e.useCallbackRef((function(o){if(i){var e=i(M,o);if(e&&c(e)){return e.then(H)}}H(o);return Promise.resolve()}));var B=e.useCallbackRef((function(o){if(r){var e=r(M,o);if(e&&c(e)){return e.then(H)}}H(o);return Promise.resolve()}));var L=x(m,{children:[j||f!=null&&f.hidden?null:y(k,l({},f,{onClick:N,children:u||"取消"})),O||d!=null&&d.hidden?null:y(k,l({type:"primary"},d,{onClick:B,children:s||"提交"}))]});var A=function o(){if(h){return h(M)}if(!O||!j){return L}return null};var E=typeof w==="function"?w(M):w;return y(C,l({maskClosable:true,destroyOnClose:true,width:"80%",contentWrapperStyle:{maxWidth:D},footer:g==="footer"?A():null},R,{extra:g==="header"?A():E,open:a.open,onClose:H,children:typeof t==="function"?t(M,{onClose:H}):t}))};var M=function o(e){var n=e.className,l=e.message,a=e.mask;var r=g.useToken(),i=r.token;var t=i.colorPrimary;return y(v,{maskClosable:false,centered:true,destroyOnClose:true,className:d("fba-dialog-loading",n),open:e.open,footer:null,closable:false,style:{"--fba-loading-color":t},mask:a,children:y("div",{className:d("fba-dialog-loading-content"),children:x("div",{className:"loader-wrapper",children:[y("div",{className:"loader-inner"}),y("div",{className:"loader-text",children:l||"处理中"})]})})})};var H=function o(){var e=t(D);var n=function o(){e.dialogDrawerClose==null?void 0:e.dialogDrawerClose()};return{appDialogDrawer:{open:function o(a){e.dialogDrawerOpen==null?void 0:e.dialogDrawerOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var N=function o(){var e=t(D);var n=function o(){e.dialogDrawerClose2==null?void 0:e.dialogDrawerClose2()};return{appDialogDrawer2:{open:function o(a){e.dialogDrawerOpen2==null?void 0:e.dialogDrawerOpen2(l({},a,{open:true}));return{onClose:n}},close:n}}};var B=function o(){var e=t(D);var n=function o(){e.dialogModalClose==null?void 0:e.dialogModalClose()};return{appDialogModal:{open:function o(a){e.dialogModalOpen==null?void 0:e.dialogModalOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var L=function o(){var e=t(D);var n=function o(){e.dialogModalClose2==null?void 0:e.dialogModalClose2()};return{appDialogModal2:{open:function o(a){e.dialogModalOpen2==null?void 0:e.dialogModalOpen2(l({},a,{open:true}));return{onClose:n}},close:n}}};var A=function o(){var e=t(D);var n=function o(){e.dialogAlertClose==null?void 0:e.dialogAlertClose()};return{appDialogAlert:{open:function o(a){e.dialogAlertOpen==null?void 0:e.dialogAlertOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var E=function o(){var e=t(D);var n=function o(){e.dialogConfirmClose==null?void 0:e.dialogConfirmClose()};return{appDialogConfirm:{open:function o(a){e.dialogConfirmOpen==null?void 0:e.dialogConfirmOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var F=function o(){var e=t(D);var n=function o(){e.dialogLoadingClose==null?void 0:e.dialogLoadingClose()};return{appDialogLoading:{open:function o(a){e.dialogLoadingOpen==null?void 0:e.dialogLoadingOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var S=function o(n){var r=s({}),i=r[0],t=r[1];var d=s(a()),c=d[0],f=d[1];var p=s({}),v=p[0],m=p[1];var C=s(a()),g=C[0],k=C[1];var h=s({}),b=h[0],y=h[1];var O=s(a()),P=O[0],H=O[1];var N=s({}),B=N[0],L=N[1];var A=s(a()),E=A[0],F=A[1];var S=s({}),z=S[0],_=S[1];var W=s({}),Y=W[0],q=W[1];var I=s(),U=I[0],G=I[1];var J=s(a()),K=J[0],Q=J[1];var V=s(a()),X=V[0],Z=V[1];var $=s(a()),oo=$[0],eo=$[1];var no=e.useCallbackRef((function(o){t(o)}));var lo=e.useCallbackRef((function(o){t(l({},i,{open:false}));i.onClose==null?void 0:i.onClose(o);setTimeout((function(){f(a())}),200)}));var ao=e.useCallbackRef((function(o){m(o)}));var ro=e.useCallbackRef((function(o){m(l({},v,{open:false}));v.onClose==null?void 0:v.onClose(o);setTimeout((function(){k(a())}),200)}));var io=e.useCallbackRef((function(o){y(o)}));var to=e.useCallbackRef((function(){y(l({},b,{open:false}));b.onClose==null?void 0:b.onClose();setTimeout((function(){H(a())}),200)}));var so=e.useCallbackRef((function(o){L(o)}));var uo=e.useCallbackRef((function(){L(l({},B,{open:false}));B.onClose==null?void 0:B.onClose();setTimeout((function(){F(a())}),200)}));var co=e.useCallbackRef((function(o){_(o)}));var fo=e.useCallbackRef((function(){_(l({},z,{open:false}));z.onClose==null?void 0:z.onClose();setTimeout((function(){Q(a())}),200)}));var po=e.useCallbackRef((function(o){q(o)}));var vo=e.useCallbackRef((function(){q(l({},Y,{open:false}));Y.onClose==null?void 0:Y.onClose();setTimeout((function(){Z(a())}),200)}));var mo=e.useCallbackRef((function(o){G(o)}));var Co=e.useCallbackRef((function(){G(l({},U,{open:false}));setTimeout((function(){eo(a())}),200)}));return x(D.Provider,{value:{dialogDrawerOpen:no,dialogDrawerClose:lo,dialogDrawerOpen2:ao,dialogDrawerClose2:ro,dialogModalOpen:io,dialogModalClose:to,dialogModalOpen2:so,dialogModalClose2:uo,dialogAlertOpen:co,dialogAlertClose:fo,dialogConfirmOpen:po,dialogConfirmClose:vo,dialogLoadingOpen:mo,dialogLoadingClose:Co},children:[u(T,l({},i,{onClose:lo,key:c})),u(T,l({},v,{onClose:ro,key:g})),u(j,l({},b,{onClose:to,key:P})),u(j,l({},B,{onClose:uo,key:E})),u(R,l({},z,{onClose:fo,key:K})),u(w,l({},Y,{onClose:vo,key:X})),u(M,l({},U,{key:oo})),n.children]})};var z=o.attachPropertiesToComponent(S,{useDialogDrawer:H,useDialogDrawer2:N,useDialogModal:B,useDialogModal2:L,useDialogConfirm:E,useDialogAlert:A,useDialogLoading:F});export{z as FbaApp};
11
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/fba-app/context.ts","@flatbiz/antd/src/fba-app/dialog-modal/index.tsx","@flatbiz/antd/src/fba-app/dialog-confirm/index.tsx","@flatbiz/antd/src/fba-app/dialog-alert/index.tsx","@flatbiz/antd/src/fba-app/dialog-drawer/index.tsx","@flatbiz/antd/src/fba-app/dialog-loading/index.tsx","@flatbiz/antd/src/fba-app/fba-app.tsx","@flatbiz/antd/src/fba-app/index.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { FbaAppAlertProps } from './dialog-alert';\nimport { FbaAppConfirmProps } from './dialog-confirm';\nimport { FbaAppDrawerProps } from './dialog-drawer';\nimport { FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModalProps } from './dialog-modal';\n\nexport type FbaAppContextApi = {\n dialogDrawerOpen?: (data: FbaAppDrawerProps) => void;\n dialogDrawerClose?: (e?) => void;\n\n dialogDrawerOpen2?: (data: FbaAppDrawerProps) => void;\n dialogDrawerClose2?: (e?) => void;\n\n dialogModalOpen?: (data: FbaAppModalProps) => void;\n dialogModalClose?: () => void;\n\n dialogModalOpen2?: (data: FbaAppModalProps) => void;\n dialogModalClose2?: () => void;\n\n dialogAlertOpen?: (data: FbaAppAlertProps) => void;\n dialogAlertClose?: () => void;\n\n dialogConfirmOpen?: (data: FbaAppConfirmProps) => void;\n dialogConfirmClose?: () => void;\n\n dialogLoadingOpen?: (data?: FbaAppLoadingProps & { open?: boolean }) => void;\n dialogLoadingClose?: () => void;\n};\n\nexport const FbaAppContext = createContext<FbaAppContextApi>({});\n","import { isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { TNoopDefine } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useMemo } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\nimport { FlexLayout } from '../../flex-layout';\nimport { getFbaLocaleMessage } from '../../_utils/i18n';\nimport './style.less';\n\nexport type FbaAppModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'okButtonProps' | 'cancelButtonProps'\n> & {\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onClose?: () => void;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n cancelButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n /**\n * 设置modal body height 为当前窗口height的百分比,例如:30\n * ```\n * 1. 最大值:80\n * 1. 设置bodyStyle.height 后,bodyHeightPercent失效\n * ```\n */\n bodyHeightPercent?: number;\n\n titleExtra?: ReactElement;\n};\n\nexport const FbaAppModal = (props: FbaAppModalProps) => {\n const {\n titleExtra,\n title,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n content,\n className,\n okHidden,\n cancelHidden,\n footer,\n cancelText,\n okText,\n bodyHeightPercent,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n const size = useSize(document.querySelector('html'));\n const localMessage = getFbaLocaleMessage();\n\n const onClose = hooks.useCallbackRef(() => {\n props.onClose?.();\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const operateGroup = [\n <ButtonWrapper key=\"0\" {...cancelButtonProps} onClick={onCancelHandle} hidden={cancelHidden}>\n {cancelText || localMessage.FbaDialogModal?.cancelText}\n </ButtonWrapper>,\n <ButtonWrapper key=\"1\" type=\"primary\" {...okButtonProps} onClick={onOkHandle} hidden={okHidden}>\n {okText || '提交'}\n </ButtonWrapper>,\n ];\n\n const footerNew = footer || operateGroup;\n\n const height = useMemo(() => {\n if (!size?.height || !bodyHeightPercent) {\n return 'auto';\n }\n return size?.height * (bodyHeightPercent / 100);\n }, [bodyHeightPercent, size?.height]);\n\n return (\n <Modal\n maskClosable={true}\n title={\n titleExtra ? (\n <FlexLayout direction=\"horizontal\" fullIndex={0}>\n <span>{title}</span>\n {titleExtra}\n </FlexLayout>\n ) : (\n title\n )\n }\n centered={true}\n onCancel={onClose}\n destroyOnClose\n {...otherProps}\n bodyStyle={{\n height,\n maxHeight: size?.height ? size?.height * 0.8 : 'calc(100vh - 200px)',\n ...otherProps.bodyStyle,\n }}\n className={classNames('fba-dialog-modal', { 'fba-dialog-modal-title-extra': !!titleExtra }, className)}\n open={props.open}\n footer={footerNew}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Modal>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { FbaAppModal, FbaAppModalProps } from '../dialog-modal';\nimport './style.less';\n\nexport type FbaAppConfirmProps = FbaAppModalProps;\n\nexport const FbaAppConfirm = (props: FbaAppConfirmProps) => {\n const className = classNames('fba-dialog-confirm', props.className);\n return (\n <FbaAppModal\n okText=\"确定\"\n width={350}\n cancelText=\"取消\"\n maskClosable={true}\n {...props}\n className={className}\n />\n );\n};\n","import { FbaAppConfirm } from '../dialog-confirm';\nimport { FbaAppModalProps } from '../dialog-modal';\n\n// export type DialogAlertProps = Omit<\n// DialogModalProps,\n// 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n// > & {\n// onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n// };\n\n// export const dialogAlert = {\n// open: (props: DialogAlertProps) => {\n// return dialogConfirm.open({\n// okText: '确定',\n// cancelHidden: true,\n// maskClosable: false,\n// ...props,\n// onOk: props.onClick,\n// } as DialogModalProps);\n// },\n// };\n\nexport type FbaAppAlertProps = Omit<\n FbaAppModalProps,\n 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n> & {\n onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n};\n\nexport const FbaAppAlert = (props: FbaAppAlertProps) => {\n return (\n <FbaAppConfirm\n okText=\"确定\"\n cancelHidden={true}\n maskClosable={false}\n {...props}\n onOk={(_form, e) => {\n return props.onClick?.(e);\n }}\n />\n );\n};\n","import { isPromise } from '@dimjs/lang';\nimport { hooks } from '@wove/react';\nimport { Drawer, DrawerProps, Form, FormInstance, Space } from 'antd';\nimport { ReactElement, ReactNode } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\n\nexport type FbaAppDrawerProps = Omit<\n DrawerProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'footer' | 'extra'\n> & {\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content:\n | string\n | ReactElement\n | ((form: FormInstance, operate: { onClose: DrawerProps['onClose'] }) => ReactElement);\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children'>;\n operatePosition?: 'header' | 'footer';\n operateRender?: (form: FormInstance) => ReactElement;\n okHidden?: boolean;\n cancelHidden?: boolean;\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n};\n\nexport const FbaAppDrawer = (props: FbaAppDrawerProps) => {\n const {\n onOk,\n onCancel,\n content,\n okText,\n cancelText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n operatePosition = 'footer',\n operateRender,\n width = 600,\n okHidden,\n cancelHidden,\n extra,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n\n const onClose = hooks.useCallbackRef((e) => {\n props.onClose?.(e);\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n const operateGroup = (\n <Space>\n {cancelHidden || cancelButtonExtraProps?.hidden ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHidden || okButtonExtraProps?.hidden ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n\n const operateRenderHandle = () => {\n if (operateRender) {\n return operateRender(form);\n }\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n };\n\n const extraRender = typeof extra === 'function' ? extra(form) : extra;\n return (\n <Drawer\n maskClosable={true}\n destroyOnClose\n width={'80%'}\n contentWrapperStyle={{ maxWidth: width }}\n footer={operatePosition === 'footer' ? operateRenderHandle() : null}\n {...otherProps}\n extra={operatePosition === 'header' ? operateRenderHandle() : extraRender}\n open={props.open}\n onClose={onClose}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Drawer>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Modal, theme } from 'antd';\nimport { CSSProperties } from 'react';\nimport './style.less';\n\nexport type FbaAppLoadingProps = {\n className?: string;\n message?: string;\n mask?: boolean;\n};\n\nexport const FbaAppLoading = (props: FbaAppLoadingProps & { open?: boolean }) => {\n const { className, message, mask } = props;\n const { token } = theme.useToken();\n const colorPrimary = token.colorPrimary;\n\n return (\n <Modal\n maskClosable={false}\n centered={true}\n destroyOnClose\n className={classNames('fba-dialog-loading', className)}\n open={props.open}\n footer={null}\n closable={false}\n style={{ '--fba-loading-color': colorPrimary } as CSSProperties}\n mask={mask}\n >\n <div className={classNames('fba-dialog-loading-content')}>\n <div className=\"loader-wrapper\">\n <div className=\"loader-inner\" />\n <div className=\"loader-text\">{message || '处理中'}</div>\n </div>\n </div>\n </Modal>\n );\n};\n","import { getUuid } from '@flatbiz/utils';\nimport { ReactNode, useContext, useState } from 'react';\nimport { FbaAppContext, FbaAppContextApi } from './context';\nimport { FbaAppAlert, FbaAppAlertProps } from './dialog-alert';\nimport { FbaAppConfirm, FbaAppConfirmProps } from './dialog-confirm';\nimport { FbaAppDrawer, FbaAppDrawerProps } from './dialog-drawer';\nimport { FbaAppLoading, FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModal, FbaAppModalProps } from './dialog-modal';\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogDrawer2\n * @returns\n */\nexport const useDialogDrawer = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogDrawerClose?.();\n };\n\n return {\n appDialogDrawer: {\n open: (data: FbaAppDrawerProps) => {\n ctx.dialogDrawerOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\nexport const useDialogDrawer2 = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogDrawerClose2?.();\n };\n\n return {\n appDialogDrawer2: {\n open: (data: FbaAppDrawerProps) => {\n ctx.dialogDrawerOpen2?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogModal2\n * @returns\n */\nexport const useDialogModal = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogModalClose?.();\n };\n\n return {\n appDialogModal: {\n open: (data: FbaAppModalProps) => {\n ctx.dialogModalOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogModal2 = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogModalClose2?.();\n };\n\n return {\n appDialogModal2: {\n open: (data: FbaAppModalProps) => {\n ctx.dialogModalOpen2?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogAlert = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogAlertClose?.();\n };\n\n return {\n appDialogAlert: {\n open: (data: FbaAppAlertProps) => {\n ctx.dialogAlertOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogConfirm = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogConfirmClose?.();\n };\n\n return {\n appDialogConfirm: {\n open: (data: FbaAppConfirmProps) => {\n ctx.dialogConfirmOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogLoading = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogLoadingClose?.();\n };\n\n return {\n appDialogLoading: {\n open: (data?: FbaAppLoadingProps) => {\n ctx.dialogLoadingOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\nexport const FbaApp = (props: { children: ReactNode }) => {\n const [drawerProps, setDrawerProps] = useState<FbaAppDrawerProps>({} as FbaAppDrawerProps);\n const [drawerKey, setDrawerKey] = useState(getUuid());\n\n const [drawerProps2, setDrawerProps2] = useState<FbaAppDrawerProps>({} as FbaAppDrawerProps);\n const [drawerKey2, setDrawerKey2] = useState(getUuid());\n\n const [modalProps, setModalProps] = useState<FbaAppModalProps>({} as FbaAppModalProps);\n const [modalKey, setModalKey] = useState(getUuid());\n\n const [modalProps2, setModalProps2] = useState<FbaAppModalProps>({} as FbaAppModalProps);\n const [modalKey2, setModalKey2] = useState(getUuid());\n\n const [alertProps, setAlertProps] = useState<FbaAppAlertProps>({} as FbaAppAlertProps);\n const [confirmProps, setConfirmProps] = useState<FbaAppConfirmProps>({} as FbaAppConfirmProps);\n const [loadingProps, setLoadingProps] = useState<FbaAppLoadingProps>();\n\n const [alertKey, setAlertKey] = useState(getUuid());\n const [confirmKey, setConfirmKey] = useState(getUuid());\n const [loadingKey, setLoadingKey] = useState(getUuid());\n\n const dialogDrawerOpen: FbaAppContextApi['dialogDrawerOpen'] = (data) => {\n setDrawerProps(data);\n };\n\n const dialogDrawerClose = (e) => {\n setDrawerProps({ ...drawerProps, open: false } as FbaAppDrawerProps);\n drawerProps.onClose?.(e);\n setTimeout(() => {\n setDrawerKey(getUuid());\n }, 200);\n };\n\n const dialogDrawerOpen2: FbaAppContextApi['dialogDrawerOpen2'] = (data) => {\n setDrawerProps2(data);\n };\n\n const dialogDrawerClose2 = (e) => {\n setDrawerProps2({ ...drawerProps2, open: false } as FbaAppDrawerProps);\n drawerProps2.onClose?.(e);\n setTimeout(() => {\n setDrawerKey2(getUuid());\n }, 200);\n };\n\n const dialogModalOpen: FbaAppContextApi['dialogModalOpen'] = (data) => {\n setModalProps(data);\n };\n\n const dialogModalClose = () => {\n setModalProps({ ...modalProps, open: false } as FbaAppModalProps);\n modalProps.onClose?.();\n setTimeout(() => {\n setModalKey(getUuid());\n }, 200);\n };\n\n const dialogModalOpen2: FbaAppContextApi['dialogModalOpen2'] = (data) => {\n setModalProps2(data);\n };\n\n const dialogModalClose2 = () => {\n setModalProps2({ ...modalProps2, open: false } as FbaAppModalProps);\n modalProps2.onClose?.();\n setTimeout(() => {\n setModalKey2(getUuid());\n }, 200);\n };\n\n const dialogAlertOpen: FbaAppContextApi['dialogAlertOpen'] = (data) => {\n setAlertProps(data);\n };\n\n const dialogAlertClose = () => {\n setAlertProps({ ...alertProps, open: false } as FbaAppAlertProps);\n alertProps.onClose?.();\n setTimeout(() => {\n setAlertKey(getUuid());\n }, 200);\n };\n\n const dialogConfirmOpen: FbaAppContextApi['dialogConfirmOpen'] = (data) => {\n setConfirmProps(data);\n };\n\n const dialogConfirmClose = () => {\n setConfirmProps({ ...confirmProps, open: false } as FbaAppConfirmProps);\n confirmProps.onClose?.();\n setTimeout(() => {\n setConfirmKey(getUuid());\n }, 200);\n };\n\n const dialogLoadingOpen: FbaAppContextApi['dialogLoadingOpen'] = (data) => {\n setLoadingProps(data);\n };\n\n const dialogLoadingClose = () => {\n setLoadingProps({ ...loadingProps, open: false } as FbaAppLoadingProps);\n setTimeout(() => {\n setLoadingKey(getUuid());\n }, 200);\n };\n\n return (\n <FbaAppContext.Provider\n value={{\n dialogDrawerOpen,\n dialogDrawerClose,\n dialogDrawerOpen2,\n dialogDrawerClose2,\n dialogModalOpen,\n dialogModalClose,\n dialogModalOpen2,\n dialogModalClose2,\n dialogAlertOpen,\n dialogAlertClose,\n dialogConfirmOpen,\n dialogConfirmClose,\n dialogLoadingOpen,\n dialogLoadingClose,\n }}\n >\n <FbaAppDrawer {...drawerProps} onClose={dialogDrawerClose} key={drawerKey}></FbaAppDrawer>\n <FbaAppDrawer {...drawerProps2} onClose={dialogDrawerClose2} key={drawerKey2}></FbaAppDrawer>\n <FbaAppModal {...modalProps} onClose={dialogModalClose} key={modalKey}></FbaAppModal>\n <FbaAppModal {...modalProps2} onClose={dialogModalClose2} key={modalKey2}></FbaAppModal>\n <FbaAppAlert {...alertProps} onClose={dialogAlertClose} key={alertKey}></FbaAppAlert>\n <FbaAppConfirm {...confirmProps} onClose={dialogConfirmClose} key={confirmKey}></FbaAppConfirm>\n <FbaAppLoading {...loadingProps} key={loadingKey}></FbaAppLoading>\n {props.children}\n </FbaAppContext.Provider>\n );\n};\n","import { fbaUtils } from '../fba-utils';\nimport {\n FbaApp as FbaAppInner,\n useDialogAlert,\n useDialogConfirm,\n useDialogDrawer,\n useDialogDrawer2,\n useDialogLoading,\n useDialogModal,\n useDialogModal2,\n} from './fba-app';\n\nexport const FbaApp = fbaUtils.attachPropertiesToComponent(FbaAppInner, {\n /** 不支持多次弹框,第二个弹框可使用useDialogDrawer2 */\n useDialogDrawer,\n useDialogDrawer2,\n /** 不支持多次弹框,第二个弹框可使用useDialogModal2 */\n useDialogModal,\n useDialogModal2,\n /** 不支持多次弹框 */\n useDialogConfirm,\n /** 不支持多次弹框 */\n useDialogAlert,\n /** 不支持多次弹框 */\n useDialogLoading,\n});\n"],"names":["FbaAppContext","createContext","FbaAppModal","props","_localMessage$FbaDial","titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","bodyHeightPercent","otherProps","_objectWithoutPropertiesLoose","_excluded","_Form$useForm","Form","useForm","form","size","useSize","document","querySelector","localMessage","getFbaLocaleMessage","onClose","_hooks","useCallbackRef","onCancelHandle","e","response","_isPromise","then","Promise","resolve","onOkHandle","operateGroup","_jsx","ButtonWrapper","_extends","onClick","hidden","children","FbaDialogModal","type","footerNew","height","useMemo","Modal","maskClosable","_jsxs","FlexLayout","direction","fullIndex","centered","destroyOnClose","bodyStyle","maxHeight","_classNames","open","FbaAppConfirm","width","FbaAppAlert","_form","FbaAppDrawer","okButtonExtraProps","cancelButtonExtraProps","_props$operatePositio","operatePosition","operateRender","_props$width","extra","Space","operateRenderHandle","extraRender","Drawer","contentWrapperStyle","maxWidth","FbaAppLoading","message","mask","_theme$useToken","theme","useToken","token","colorPrimary","closable","style","useDialogDrawer","ctx","useContext","dialogDrawerClose","appDialogDrawer","data","dialogDrawerOpen","close","useDialogDrawer2","dialogDrawerClose2","appDialogDrawer2","dialogDrawerOpen2","useDialogModal","dialogModalClose","appDialogModal","dialogModalOpen","useDialogModal2","dialogModalClose2","appDialogModal2","dialogModalOpen2","useDialogAlert","dialogAlertClose","appDialogAlert","dialogAlertOpen","useDialogConfirm","dialogConfirmClose","appDialogConfirm","dialogConfirmOpen","useDialogLoading","dialogLoadingClose","appDialogLoading","dialogLoadingOpen","FbaApp","_useState","useState","drawerProps","setDrawerProps","_useState2","getUuid","drawerKey","setDrawerKey","_useState3","drawerProps2","setDrawerProps2","_useState4","drawerKey2","setDrawerKey2","_useState5","modalProps","setModalProps","_useState6","modalKey","setModalKey","_useState7","modalProps2","setModalProps2","_useState8","modalKey2","setModalKey2","_useState9","alertProps","setAlertProps","_useState10","confirmProps","setConfirmProps","_useState11","loadingProps","setLoadingProps","_useState12","alertKey","setAlertKey","_useState13","confirmKey","setConfirmKey","_useState14","loadingKey","setLoadingKey","setTimeout","Provider","value","_createElement","key","fbaUtils","attachPropertiesToComponent","FbaAppInner"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/fba-app/context.ts","@flatbiz/antd/src/fba-app/dialog-modal/index.tsx","@flatbiz/antd/src/fba-app/dialog-confirm/index.tsx","@flatbiz/antd/src/fba-app/dialog-alert/index.tsx","@flatbiz/antd/src/fba-app/dialog-drawer/index.tsx","@flatbiz/antd/src/fba-app/dialog-loading/index.tsx","@flatbiz/antd/src/fba-app/fba-app.tsx","@flatbiz/antd/src/fba-app/index.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { FbaAppAlertProps } from './dialog-alert';\nimport { FbaAppConfirmProps } from './dialog-confirm';\nimport { FbaAppDrawerProps } from './dialog-drawer';\nimport { FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModalProps } from './dialog-modal';\n\nexport type FbaAppContextApi = {\n dialogDrawerOpen?: (data: FbaAppDrawerProps) => void;\n dialogDrawerClose?: (e?) => void;\n\n dialogDrawerOpen2?: (data: FbaAppDrawerProps) => void;\n dialogDrawerClose2?: (e?) => void;\n\n dialogModalOpen?: (data: FbaAppModalProps) => void;\n dialogModalClose?: () => void;\n\n dialogModalOpen2?: (data: FbaAppModalProps) => void;\n dialogModalClose2?: () => void;\n\n dialogAlertOpen?: (data: FbaAppAlertProps) => void;\n dialogAlertClose?: () => void;\n\n dialogConfirmOpen?: (data: FbaAppConfirmProps) => void;\n dialogConfirmClose?: () => void;\n\n dialogLoadingOpen?: (data?: FbaAppLoadingProps & { open?: boolean }) => void;\n dialogLoadingClose?: () => void;\n};\n\nexport const FbaAppContext = createContext<FbaAppContextApi>({});\n","import { isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { TNoopDefine } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useMemo } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\nimport { FlexLayout } from '../../flex-layout';\nimport { getFbaLocaleMessage } from '../../_utils/i18n';\nimport './style.less';\n\nexport type FbaAppModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'okButtonProps' | 'cancelButtonProps'\n> & {\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onClose?: () => void;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n cancelButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n /**\n * 设置modal body height 为当前窗口height的百分比,例如:30\n * ```\n * 1. 最大值:80\n * 1. 设置bodyStyle.height 后,bodyHeightPercent失效\n * ```\n */\n bodyHeightPercent?: number;\n\n titleExtra?: ReactElement;\n};\n\nexport const FbaAppModal = (props: FbaAppModalProps) => {\n const {\n titleExtra,\n title,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n content,\n className,\n okHidden,\n cancelHidden,\n footer,\n cancelText,\n okText,\n bodyHeightPercent,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n const size = useSize(document.querySelector('html'));\n const localMessage = getFbaLocaleMessage();\n\n const onClose = hooks.useCallbackRef(() => {\n props.onClose?.();\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const operateGroup = [\n <ButtonWrapper key=\"0\" {...cancelButtonProps} onClick={onCancelHandle} hidden={cancelHidden}>\n {cancelText || localMessage.FbaDialogModal?.cancelText}\n </ButtonWrapper>,\n <ButtonWrapper key=\"1\" type=\"primary\" {...okButtonProps} onClick={onOkHandle} hidden={okHidden}>\n {okText || '提交'}\n </ButtonWrapper>,\n ];\n\n const footerNew = footer || operateGroup;\n\n const height = useMemo(() => {\n if (!size?.height || !bodyHeightPercent) {\n return 'auto';\n }\n return size?.height * (bodyHeightPercent / 100);\n }, [bodyHeightPercent, size?.height]);\n\n return (\n <Modal\n maskClosable={true}\n title={\n titleExtra ? (\n <FlexLayout direction=\"horizontal\" fullIndex={0}>\n <span>{title}</span>\n {titleExtra}\n </FlexLayout>\n ) : (\n title\n )\n }\n centered={true}\n onCancel={onClose}\n destroyOnClose\n {...otherProps}\n bodyStyle={{\n height,\n maxHeight: size?.height ? size?.height * 0.8 : 'calc(100vh - 200px)',\n ...otherProps.bodyStyle,\n }}\n className={classNames('fba-dialog-modal', { 'fba-dialog-modal-title-extra': !!titleExtra }, className)}\n open={props.open}\n footer={footerNew}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Modal>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { FbaAppModal, FbaAppModalProps } from '../dialog-modal';\nimport './style.less';\n\nexport type FbaAppConfirmProps = FbaAppModalProps;\n\nexport const FbaAppConfirm = (props: FbaAppConfirmProps) => {\n const className = classNames('fba-dialog-confirm', props.className);\n return (\n <FbaAppModal\n okText=\"确定\"\n width={350}\n cancelText=\"取消\"\n maskClosable={true}\n {...props}\n className={className}\n />\n );\n};\n","import { FbaAppConfirm } from '../dialog-confirm';\nimport { FbaAppModalProps } from '../dialog-modal';\n\n// export type DialogAlertProps = Omit<\n// DialogModalProps,\n// 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n// > & {\n// onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n// };\n\n// export const dialogAlert = {\n// open: (props: DialogAlertProps) => {\n// return dialogConfirm.open({\n// okText: '确定',\n// cancelHidden: true,\n// maskClosable: false,\n// ...props,\n// onOk: props.onClick,\n// } as DialogModalProps);\n// },\n// };\n\nexport type FbaAppAlertProps = Omit<\n FbaAppModalProps,\n 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n> & {\n onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n};\n\nexport const FbaAppAlert = (props: FbaAppAlertProps) => {\n return (\n <FbaAppConfirm\n okText=\"确定\"\n cancelHidden={true}\n maskClosable={false}\n {...props}\n onOk={(_form, e) => {\n return props.onClick?.(e);\n }}\n />\n );\n};\n","import { isPromise } from '@dimjs/lang';\nimport { hooks } from '@wove/react';\nimport { Drawer, DrawerProps, Form, FormInstance, Space } from 'antd';\nimport { ReactElement, ReactNode } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\n\nexport type FbaAppDrawerProps = Omit<\n DrawerProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'footer' | 'extra'\n> & {\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content:\n | string\n | ReactElement\n | ((form: FormInstance, operate: { onClose: DrawerProps['onClose'] }) => ReactElement);\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children'>;\n operatePosition?: 'header' | 'footer';\n operateRender?: (form: FormInstance) => ReactElement;\n okHidden?: boolean;\n cancelHidden?: boolean;\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n};\n\nexport const FbaAppDrawer = (props: FbaAppDrawerProps) => {\n const {\n onOk,\n onCancel,\n content,\n okText,\n cancelText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n operatePosition = 'footer',\n operateRender,\n width = 600,\n okHidden,\n cancelHidden,\n extra,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n\n const onClose = hooks.useCallbackRef((e) => {\n props.onClose?.(e);\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n const operateGroup = (\n <Space>\n {cancelHidden || cancelButtonExtraProps?.hidden ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHidden || okButtonExtraProps?.hidden ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n\n const operateRenderHandle = () => {\n if (operateRender) {\n return operateRender(form);\n }\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n };\n\n const extraRender = typeof extra === 'function' ? extra(form) : extra;\n return (\n <Drawer\n maskClosable={true}\n destroyOnClose\n width={'80%'}\n contentWrapperStyle={{ maxWidth: width }}\n footer={operatePosition === 'footer' ? operateRenderHandle() : null}\n {...otherProps}\n extra={operatePosition === 'header' ? operateRenderHandle() : extraRender}\n open={props.open}\n onClose={onClose}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Drawer>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Modal, theme } from 'antd';\nimport { CSSProperties } from 'react';\nimport './style.less';\n\nexport type FbaAppLoadingProps = {\n className?: string;\n message?: string;\n mask?: boolean;\n};\n\nexport const FbaAppLoading = (props: FbaAppLoadingProps & { open?: boolean }) => {\n const { className, message, mask } = props;\n const { token } = theme.useToken();\n const colorPrimary = token.colorPrimary;\n\n return (\n <Modal\n maskClosable={false}\n centered={true}\n destroyOnClose\n className={classNames('fba-dialog-loading', className)}\n open={props.open}\n footer={null}\n closable={false}\n style={{ '--fba-loading-color': colorPrimary } as CSSProperties}\n mask={mask}\n >\n <div className={classNames('fba-dialog-loading-content')}>\n <div className=\"loader-wrapper\">\n <div className=\"loader-inner\" />\n <div className=\"loader-text\">{message || '处理中'}</div>\n </div>\n </div>\n </Modal>\n );\n};\n","import { getUuid } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ReactNode, useContext, useState } from 'react';\nimport { FbaAppContext, FbaAppContextApi } from './context';\nimport { FbaAppAlert, FbaAppAlertProps } from './dialog-alert';\nimport { FbaAppConfirm, FbaAppConfirmProps } from './dialog-confirm';\nimport { FbaAppDrawer, FbaAppDrawerProps } from './dialog-drawer';\nimport { FbaAppLoading, FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModal, FbaAppModalProps } from './dialog-modal';\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogDrawer2\n * @returns\n */\nexport const useDialogDrawer = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogDrawerClose?.();\n };\n\n return {\n appDialogDrawer: {\n open: (data: FbaAppDrawerProps) => {\n ctx.dialogDrawerOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\nexport const useDialogDrawer2 = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogDrawerClose2?.();\n };\n\n return {\n appDialogDrawer2: {\n open: (data: FbaAppDrawerProps) => {\n ctx.dialogDrawerOpen2?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogModal2\n * @returns\n */\nexport const useDialogModal = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogModalClose?.();\n };\n\n return {\n appDialogModal: {\n open: (data: FbaAppModalProps) => {\n ctx.dialogModalOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogModal2 = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogModalClose2?.();\n };\n\n return {\n appDialogModal2: {\n open: (data: FbaAppModalProps) => {\n ctx.dialogModalOpen2?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogAlert = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogAlertClose?.();\n };\n\n return {\n appDialogAlert: {\n open: (data: FbaAppAlertProps) => {\n ctx.dialogAlertOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogConfirm = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogConfirmClose?.();\n };\n\n return {\n appDialogConfirm: {\n open: (data: FbaAppConfirmProps) => {\n ctx.dialogConfirmOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogLoading = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogLoadingClose?.();\n };\n\n return {\n appDialogLoading: {\n open: (data?: FbaAppLoadingProps) => {\n ctx.dialogLoadingOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\nexport const FbaApp = (props: { children: ReactNode }) => {\n const [drawerProps, setDrawerProps] = useState<FbaAppDrawerProps>({} as FbaAppDrawerProps);\n const [drawerKey, setDrawerKey] = useState(getUuid());\n\n const [drawerProps2, setDrawerProps2] = useState<FbaAppDrawerProps>({} as FbaAppDrawerProps);\n const [drawerKey2, setDrawerKey2] = useState(getUuid());\n\n const [modalProps, setModalProps] = useState<FbaAppModalProps>({} as FbaAppModalProps);\n const [modalKey, setModalKey] = useState(getUuid());\n\n const [modalProps2, setModalProps2] = useState<FbaAppModalProps>({} as FbaAppModalProps);\n const [modalKey2, setModalKey2] = useState(getUuid());\n\n const [alertProps, setAlertProps] = useState<FbaAppAlertProps>({} as FbaAppAlertProps);\n const [confirmProps, setConfirmProps] = useState<FbaAppConfirmProps>({} as FbaAppConfirmProps);\n const [loadingProps, setLoadingProps] = useState<FbaAppLoadingProps>();\n\n const [alertKey, setAlertKey] = useState(getUuid());\n const [confirmKey, setConfirmKey] = useState(getUuid());\n const [loadingKey, setLoadingKey] = useState(getUuid());\n\n const dialogDrawerOpen: FbaAppContextApi['dialogDrawerOpen'] = hooks.useCallbackRef((data) => {\n setDrawerProps(data);\n });\n const dialogDrawerClose = hooks.useCallbackRef((e) => {\n setDrawerProps({ ...drawerProps, open: false } as FbaAppDrawerProps);\n drawerProps.onClose?.(e);\n setTimeout(() => {\n setDrawerKey(getUuid());\n }, 200);\n });\n\n const dialogDrawerOpen2: FbaAppContextApi['dialogDrawerOpen2'] = hooks.useCallbackRef((data) => {\n setDrawerProps2(data);\n });\n\n const dialogDrawerClose2 = hooks.useCallbackRef((e) => {\n setDrawerProps2({ ...drawerProps2, open: false } as FbaAppDrawerProps);\n drawerProps2.onClose?.(e);\n setTimeout(() => {\n setDrawerKey2(getUuid());\n }, 200);\n });\n\n const dialogModalOpen: FbaAppContextApi['dialogModalOpen'] = hooks.useCallbackRef((data) => {\n setModalProps(data);\n });\n\n const dialogModalClose = hooks.useCallbackRef(() => {\n setModalProps({ ...modalProps, open: false } as FbaAppModalProps);\n modalProps.onClose?.();\n setTimeout(() => {\n setModalKey(getUuid());\n }, 200);\n });\n\n const dialogModalOpen2: FbaAppContextApi['dialogModalOpen2'] = hooks.useCallbackRef((data) => {\n setModalProps2(data);\n });\n\n const dialogModalClose2 = hooks.useCallbackRef(() => {\n setModalProps2({ ...modalProps2, open: false } as FbaAppModalProps);\n modalProps2.onClose?.();\n setTimeout(() => {\n setModalKey2(getUuid());\n }, 200);\n });\n\n const dialogAlertOpen: FbaAppContextApi['dialogAlertOpen'] = hooks.useCallbackRef((data) => {\n setAlertProps(data);\n });\n\n const dialogAlertClose = hooks.useCallbackRef(() => {\n setAlertProps({ ...alertProps, open: false } as FbaAppAlertProps);\n alertProps.onClose?.();\n setTimeout(() => {\n setAlertKey(getUuid());\n }, 200);\n });\n\n const dialogConfirmOpen: FbaAppContextApi['dialogConfirmOpen'] = hooks.useCallbackRef((data) => {\n setConfirmProps(data);\n });\n\n const dialogConfirmClose = hooks.useCallbackRef(() => {\n setConfirmProps({ ...confirmProps, open: false } as FbaAppConfirmProps);\n confirmProps.onClose?.();\n setTimeout(() => {\n setConfirmKey(getUuid());\n }, 200);\n });\n\n const dialogLoadingOpen: FbaAppContextApi['dialogLoadingOpen'] = hooks.useCallbackRef((data) => {\n setLoadingProps(data);\n });\n\n const dialogLoadingClose = hooks.useCallbackRef(() => {\n setLoadingProps({ ...loadingProps, open: false } as FbaAppLoadingProps);\n setTimeout(() => {\n setLoadingKey(getUuid());\n }, 200);\n });\n\n return (\n <FbaAppContext.Provider\n value={{\n dialogDrawerOpen,\n dialogDrawerClose,\n dialogDrawerOpen2,\n dialogDrawerClose2,\n dialogModalOpen,\n dialogModalClose,\n dialogModalOpen2,\n dialogModalClose2,\n dialogAlertOpen,\n dialogAlertClose,\n dialogConfirmOpen,\n dialogConfirmClose,\n dialogLoadingOpen,\n dialogLoadingClose,\n }}\n >\n <FbaAppDrawer {...drawerProps} onClose={dialogDrawerClose} key={drawerKey}></FbaAppDrawer>\n <FbaAppDrawer {...drawerProps2} onClose={dialogDrawerClose2} key={drawerKey2}></FbaAppDrawer>\n <FbaAppModal {...modalProps} onClose={dialogModalClose} key={modalKey}></FbaAppModal>\n <FbaAppModal {...modalProps2} onClose={dialogModalClose2} key={modalKey2}></FbaAppModal>\n <FbaAppAlert {...alertProps} onClose={dialogAlertClose} key={alertKey}></FbaAppAlert>\n <FbaAppConfirm {...confirmProps} onClose={dialogConfirmClose} key={confirmKey}></FbaAppConfirm>\n <FbaAppLoading {...loadingProps} key={loadingKey}></FbaAppLoading>\n {props.children}\n </FbaAppContext.Provider>\n );\n};\n","import { fbaUtils } from '../fba-utils';\nimport {\n FbaApp as FbaAppInner,\n useDialogAlert,\n useDialogConfirm,\n useDialogDrawer,\n useDialogDrawer2,\n useDialogLoading,\n useDialogModal,\n useDialogModal2,\n} from './fba-app';\n\nexport const FbaApp = fbaUtils.attachPropertiesToComponent(FbaAppInner, {\n /** 不支持多次弹框,第二个弹框可使用useDialogDrawer2 */\n useDialogDrawer,\n useDialogDrawer2,\n /** 不支持多次弹框,第二个弹框可使用useDialogModal2 */\n useDialogModal,\n useDialogModal2,\n /** 不支持多次弹框 */\n useDialogConfirm,\n /** 不支持多次弹框 */\n useDialogAlert,\n /** 不支持多次弹框 */\n useDialogLoading,\n});\n"],"names":["FbaAppContext","createContext","FbaAppModal","props","_localMessage$FbaDial","titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","bodyHeightPercent","otherProps","_objectWithoutPropertiesLoose","_excluded","_Form$useForm","Form","useForm","form","size","useSize","document","querySelector","localMessage","getFbaLocaleMessage","onClose","_hooks","useCallbackRef","onCancelHandle","e","response","_isPromise","then","Promise","resolve","onOkHandle","operateGroup","_jsx","ButtonWrapper","_extends","onClick","hidden","children","FbaDialogModal","type","footerNew","height","useMemo","Modal","maskClosable","_jsxs","FlexLayout","direction","fullIndex","centered","destroyOnClose","bodyStyle","maxHeight","_classNames","open","FbaAppConfirm","width","FbaAppAlert","_form","FbaAppDrawer","okButtonExtraProps","cancelButtonExtraProps","_props$operatePositio","operatePosition","operateRender","_props$width","extra","Space","operateRenderHandle","extraRender","Drawer","contentWrapperStyle","maxWidth","FbaAppLoading","message","mask","_theme$useToken","theme","useToken","token","colorPrimary","closable","style","useDialogDrawer","ctx","useContext","dialogDrawerClose","appDialogDrawer","data","dialogDrawerOpen","close","useDialogDrawer2","dialogDrawerClose2","appDialogDrawer2","dialogDrawerOpen2","useDialogModal","dialogModalClose","appDialogModal","dialogModalOpen","useDialogModal2","dialogModalClose2","appDialogModal2","dialogModalOpen2","useDialogAlert","dialogAlertClose","appDialogAlert","dialogAlertOpen","useDialogConfirm","dialogConfirmClose","appDialogConfirm","dialogConfirmOpen","useDialogLoading","dialogLoadingClose","appDialogLoading","dialogLoadingOpen","FbaApp","_useState","useState","drawerProps","setDrawerProps","_useState2","getUuid","drawerKey","setDrawerKey","_useState3","drawerProps2","setDrawerProps2","_useState4","drawerKey2","setDrawerKey2","_useState5","modalProps","setModalProps","_useState6","modalKey","setModalKey","_useState7","modalProps2","setModalProps2","_useState8","modalKey2","setModalKey2","_useState9","alertProps","setAlertProps","_useState10","confirmProps","setConfirmProps","_useState11","loadingProps","setLoadingProps","_useState12","alertKey","setAlertKey","_useState13","confirmKey","setConfirmKey","_useState14","loadingKey","setLoadingKey","setTimeout","Provider","value","_createElement","key","fbaUtils","attachPropertiesToComponent","FbaAppInner"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isArray as r}from"@dimjs/lang/cjs/is-array";import{hooks as t}from"@wove/react/cjs/hooks";import{useRef as n,useEffect as u,useMemo as o,useState as a}from"react";import{trim as c}from"@flatbiz/utils";import{u as i}from"../use-responsive-point-21b8c601.js";import{theme as s}from"antd";var f=function u(o,a){if(a===void 0){a=true}var c=n(o);var i=t.useForceUpdate();var s={add:t.useCallbackRef((function(e,t){if(t){var n=r(e)?e:[e];c.current=[].concat(n,c.current)}else{c.current=c.current.concat(e)}a&&i()})),update:t.useCallbackRef((function(r,t){var n=c.current[r];if(n){c.current[r]=e({},n,t)}a&&i()})),delete:t.useCallbackRef((function(e){var r=c.current.splice(e,1);a&&i();return r})),resetList:t.useCallbackRef((function(e){c.current=e;a&&i()})),getList:t.useCallbackRef((function(){return c.current}))};return[c.current,s]};var v=["ace_editor","tox-tinymce","cnacel-flatbiz-antd-copy"];var l=function e(r){var t=v.concat((r==null?void 0:r.ignoreClass)||[]);var n=(r==null||r.target==null?void 0:r.target())||window.document;k.useEffectCustom((function(){var e=function e(r){try{var n=r.target;var u=false;while(n!=null){var o=t.find((function(e){var r;return(r=n.classList)==null?void 0:r.contains(e)}));if(o){u=true;break}n=n.parentNode}if(u)return;var a="";var i=window;try{a=window["document"]["selection"].createRange().text}catch(e){a=i.getSelection().toString()}var s=i.clipboardData;if(!s){s=r["clipboardData"]}var f=c(a,true);s.setData("Text",f);r.preventDefault();if(f!==a){console.log("useCopyRemoveSpace 已操作移除复制文本中前后空格")}}catch(e){console.warn(e==null?void 0:e.message)}};n.addEventListener("copy",e);return function(){n.removeEventListener("copy",e)}}),[JSON.stringify(t)])};var m=function e(r,t){return u(r,t)};var d=function e(r,t){u((function(){function e(){return new Promise((function(e,t){return Promise.resolve(r()).then((function(r){try{return e()}catch(e){return t(e)}}),t)}))}void e()}),t)};var p=function e(r,t){return o(r,t)};var g=function e(r,t){return!Object.is(r,t)};function y(e,r){if(r===void 0){r=g}var t=n();var u=n();if(r(u.current,e)){t.current=u.current;u.current=e}return t.current}var C=function e(r){var n=a(r),u=n[0],o=n[1];var c=t.useIsMounted();return[u,function(e){if(c.current){return o(e)}}]};var b=function e(){var r=s.useToken(),t=r.token;return t};var k={useEffectCustom:m,useEffectCustomAsync:d,useThemeToken:b,useArrayChange:f,usePrevious:y,useResponsivePoint:i,useSafeState:C,useMemoCustom:p,useCopyRemoveSpace:l};export{k as fbaHooks};
4
+ import{_ as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isArray as e}from"@dimjs/lang/cjs/is-array";import{hooks as t}from"@wove/react/cjs/hooks";import{useRef as n,useEffect as o,useMemo as u,useState as a}from"react";import{trim as c}from"@flatbiz/utils";import{u as i}from"../use-responsive-point-21b8c601.js";import{theme as s}from"antd";var f=function o(u,a){if(a===void 0){a=true}var c=n(u);var i=t.useForceUpdate();var s={add:t.useCallbackRef((function(r,t){if(t){var n=e(r)?r:[r];c.current=[].concat(n,c.current)}else{c.current=c.current.concat(r)}a&&i()})),update:t.useCallbackRef((function(e,t){var n=c.current[e];if(n){c.current[e]=r({},n,t)}a&&i()})),delete:t.useCallbackRef((function(r){var e=c.current.splice(r,1);a&&i();return e})),resetList:t.useCallbackRef((function(r){c.current=r;a&&i()})),getList:t.useCallbackRef((function(){return c.current}))};return[c.current,s]};var v=function r(e,t){return o(e,t)};var l=["ace_editor","tox-tinymce","cnacel-flatbiz-antd-copy"];var m=function r(e){var t=l.concat((e==null?void 0:e.ignoreClass)||[]);var n=(e==null||e.target==null?void 0:e.target())||window.document;v((function(){var r=function r(e){try{var n=e.target;var o=false;while(n!=null){var u=t.find((function(r){var e;return(e=n.classList)==null?void 0:e.contains(r)}));if(u){o=true;break}n=n.parentNode}if(o)return;var a="";var i=window;try{a=window["document"]["selection"].createRange().text}catch(r){a=i.getSelection().toString()}var s=i.clipboardData;if(!s){s=e["clipboardData"]}var f=c(a,true);s.setData("Text",f);e.preventDefault();if(f!==a){console.log("useCopyRemoveSpace 已操作移除复制文本中前后空格")}}catch(r){console.warn(r==null?void 0:r.message)}};n.addEventListener("copy",r);return function(){n.removeEventListener("copy",r)}}),[JSON.stringify(t)])};var d=function r(e,t){o((function(){function r(){return new Promise((function(r,t){return Promise.resolve(e()).then((function(e){try{return r()}catch(r){return t(r)}}),t)}))}void r()}),t)};var p=function r(e,t){return u(e,t)};var g=function r(e,t){return!Object.is(e,t)};function y(r,e){if(e===void 0){e=g}var t=n();var o=n();if(e(o.current,r)){t.current=o.current;o.current=r}return t.current}var b=function r(e){var n=a(e),o=n[0],u=n[1];var c=t.useIsMounted();return[o,function(r){if(c.current){return u(r)}}]};var C=function r(){var e=s.useToken(),t=e.token;return t};var k={useEffectCustom:v,useEffectCustomAsync:d,useThemeToken:C,useArrayChange:f,usePrevious:y,useResponsivePoint:i,useSafeState:b,useMemoCustom:p,useCopyRemoveSpace:m};export{k as fbaHooks};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/fba-hooks/use-array-change.ts","@flatbiz/antd/src/fba-hooks/use-copy-remove-space.ts","@flatbiz/antd/src/fba-hooks/use-effect-custom.ts","@flatbiz/antd/src/fba-hooks/use-effect-custom-async.ts","@flatbiz/antd/src/fba-hooks/use-memo-custom.ts","@flatbiz/antd/src/fba-hooks/use-previous.ts","@flatbiz/antd/src/fba-hooks/use-safe-state.ts","@flatbiz/antd/src/fba-hooks/use-theme.ts","@flatbiz/antd/src/fba-hooks/index.ts"],"sourcesContent":["import { isArray } from '@dimjs/lang';\nimport { hooks } from '@wove/react';\nimport { useRef } from 'react';\n\nexport const useArrayChange = <T>(defautDataList: Array<T>, forceUpdate = true) => {\n const changeListRef = useRef<Array<T>>(defautDataList);\n const update = hooks.useForceUpdate();\n const arrayOperate = {\n add: hooks.useCallbackRef((dataItem: T | Array<T>, isUnshift?: boolean) => {\n if (isUnshift) {\n const targetList = isArray(dataItem) ? dataItem : [dataItem];\n changeListRef.current = [...targetList, ...changeListRef.current];\n } else {\n changeListRef.current = changeListRef.current.concat(dataItem);\n }\n forceUpdate && update();\n }),\n update: hooks.useCallbackRef((index: number, dataItem: T) => {\n const target = changeListRef.current[index];\n if (target) {\n changeListRef.current[index] = { ...target, ...dataItem };\n }\n forceUpdate && update();\n }),\n delete: hooks.useCallbackRef((index: number) => {\n const deleteItem = changeListRef.current.splice(index, 1);\n forceUpdate && update();\n return deleteItem;\n }),\n resetList: hooks.useCallbackRef((dataList: Array<T>) => {\n changeListRef.current = dataList;\n forceUpdate && update();\n }),\n getList: hooks.useCallbackRef(() => {\n return changeListRef.current;\n }),\n };\n return [changeListRef.current, arrayOperate] as const;\n};\n","import { TAny, trim } from '@flatbiz/utils';\nimport { fbaHooks } from '../fba-hooks';\n\nconst innerIgnoreClass = ['ace_editor', 'tox-tinymce', 'cnacel-flatbiz-antd-copy'];\n\nexport type CopyRemoveSpaceProps = {\n /** 设置监听复制范围,如果不设置则监听全局 */\n target?: () => Element;\n /**\n * 忽略的class配置(不参与copy逻辑处理的class),例如:['ace_editor']\n * ```\n * 1. 某些控件(例如:ace编辑器、富文本等)内部自定义处理copy逻辑,此处不能进行拦截,通过配置class属性来忽略\n * 2. ignoreClass可配置操作目标class、以及层层父节点class,通过目标节点以及层层父节点的class与ignoreClass匹配成功后,取消后续copy文案处理逻辑\n * ```\n */\n ignoreClass?: string[];\n};\n\n/**\n * 移除复制文本中前后空格\n * ```\n * 1. target 设置监听复制范围,如果不设置则监听全局,例如\n * export const Demo = () => {\n * const ref = useRef<any>();\n * useCopyRemoveSpace({\n * target: () => ref.current,\n * });\n * return (\n * <div ref={ref}>\n * <QueryTable />\n * </div>\n * );\n * };\n * 2. 某些控件(例如:ace编辑器、富文本等)内部自定义处理copy逻辑,此处不能进行拦截,通过配置class属性来忽略\n * 3. ignoreClass包括操作目标class、以及层层父节点class,通过目标节点层层父节点的class匹配成功后,取消后续copy文案处理逻辑\n * 3. ignoreClass 内置有 ['ace_editor', 'tox-tinymce', 'cancel-flatbiz-antd-copy']\n * ```\n */\nexport const useCopyRemoveSpace = (props?: CopyRemoveSpaceProps) => {\n const ignoreClass = innerIgnoreClass.concat(props?.ignoreClass || []);\n const target = props?.target?.() || window.document;\n\n fbaHooks.useEffectCustom(() => {\n const handle = (oEvent) => {\n try {\n let parentNode = oEvent.target as HTMLElement;\n let isIgnore = false;\n while (parentNode != null) {\n const target = ignoreClass.find((item) => parentNode.classList?.contains(item));\n if (target) {\n isIgnore = true;\n break;\n }\n parentNode = parentNode.parentNode as HTMLElement;\n }\n if (isIgnore) return;\n let copyInfo = '';\n // 获取复制信息\n const _window = window as TAny;\n try {\n copyInfo = window['document']['selection'].createRange().text;\n } catch (ex) {\n copyInfo = _window.getSelection().toString();\n }\n let clipboardData = _window.clipboardData; // for IE\n if (!clipboardData) {\n clipboardData = oEvent['clipboardData'];\n }\n const nextValue = trim(copyInfo, true);\n // 修改剪贴板中的内容\n clipboardData.setData('Text', nextValue);\n // 必须禁用原copy方法才能生效\n oEvent.preventDefault();\n if (nextValue !== copyInfo) {\n console.log('useCopyRemoveSpace 已操作移除复制文本中前后空格');\n }\n } catch (error: TAny) {\n console.warn(error?.message);\n }\n };\n target.addEventListener('copy', handle);\n return () => {\n target.removeEventListener('copy', handle);\n };\n }, [JSON.stringify(ignoreClass)]);\n};\n","import { DependencyList, EffectCallback, useEffect } from 'react';\n\nexport const useEffectCustom = (fn: EffectCallback, deps: DependencyList) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useEffect(fn, deps);\n};\n","import { DependencyList, useEffect } from 'react';\n\nexport const useEffectCustomAsync = (fn: () => Promise<void>, deps: DependencyList) => {\n useEffect(() => {\n async function asyncFunction() {\n await fn();\n }\n void asyncFunction();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n};\n","import { DependencyList, useMemo } from 'react';\n/**\n * 自定义控制 useMemo 依赖\n */\nexport const useMemoCustom = <T>(fn: () => T, deps?: DependencyList) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useMemo<T>(fn, deps);\n};\n","import { useRef } from 'react';\n\nexport type ShouldUpdateFunc<T> = (prev: T | undefined, next: T) => boolean;\n\nconst defaultShouldUpdate = <T>(a?: T, b?: T) => !Object.is(a, b);\n\nexport function usePrevious<T>(\n state: T,\n shouldUpdate: ShouldUpdateFunc<T> = defaultShouldUpdate,\n): T | undefined {\n const prevRef = useRef<T>();\n const curRef = useRef<T>();\n\n if (shouldUpdate(curRef.current, state)) {\n prevRef.current = curRef.current;\n curRef.current = state;\n }\n\n return prevRef.current;\n}\n","import { hooks } from '@wove/react';\nimport { Dispatch, SetStateAction, useState } from 'react';\n\nexport const useSafeState = <S extends undefined | unknown>(\n initialState?: S | (() => S),\n): [S, Dispatch<SetStateAction<S>>] => {\n const [state, setState] = useState(initialState as S);\n const isMounted = hooks.useIsMounted();\n\n return [\n state,\n (value) => {\n if (isMounted.current) {\n return setState(value);\n }\n },\n ];\n};\n","import { theme } from 'antd';\n\nexport const useThemeToken = () => {\n const { token } = theme.useToken();\n return token;\n};\n","import { useArrayChange } from './use-array-change';\nimport { useCopyRemoveSpace } from './use-copy-remove-space';\nimport { useEffectCustom } from './use-effect-custom';\nimport { useEffectCustomAsync } from './use-effect-custom-async';\nimport { useMemoCustom } from './use-memo-custom';\nimport { usePrevious } from './use-previous';\nimport { useResponsivePoint } from './use-responsive-point';\nimport { useSafeState } from './use-safe-state';\nimport { useThemeToken } from './use-theme';\n\nexport const fbaHooks = {\n useEffectCustom: useEffectCustom,\n useEffectCustomAsync: useEffectCustomAsync,\n useThemeToken: useThemeToken,\n useArrayChange: useArrayChange,\n usePrevious: usePrevious,\n useResponsivePoint: useResponsivePoint,\n useSafeState: useSafeState,\n useMemoCustom: useMemoCustom,\n useCopyRemoveSpace: useCopyRemoveSpace,\n};\n"],"names":["useArrayChange","defautDataList","forceUpdate","changeListRef","useRef","update","_hooks","useForceUpdate","arrayOperate","add","useCallbackRef","dataItem","isUnshift","targetList","_isArray","current","concat","index","target","_extends","delete","deleteItem","splice","resetList","dataList","getList","innerIgnoreClass","useCopyRemoveSpace","props","ignoreClass","window","document","fbaHooks","useEffectCustom","handle","oEvent","parentNode","isIgnore","find","item","_parentNode$classList","classList","contains","copyInfo","_window","createRange","text","ex","getSelection","toString","clipboardData","nextValue","trim","setData","preventDefault","console","log","error","warn","message","addEventListener","removeEventListener","JSON","stringify","fn","deps","useEffect","useEffectCustomAsync","asyncFunction","Promise","$return","$error","resolve","then","$await_1","$boundEx","useMemoCustom","useMemo","defaultShouldUpdate","a","b","Object","is","usePrevious","state","shouldUpdate","prevRef","curRef","useSafeState","initialState","_useState","useState","setState","isMounted","useIsMounted","value","useThemeToken","_theme$useToken","theme","useToken","token","useResponsivePoint"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/fba-hooks/use-array-change.ts","@flatbiz/antd/src/fba-hooks/use-effect-custom.ts","@flatbiz/antd/src/fba-hooks/use-copy-remove-space.ts","@flatbiz/antd/src/fba-hooks/use-effect-custom-async.ts","@flatbiz/antd/src/fba-hooks/use-memo-custom.ts","@flatbiz/antd/src/fba-hooks/use-previous.ts","@flatbiz/antd/src/fba-hooks/use-safe-state.ts","@flatbiz/antd/src/fba-hooks/use-theme.ts","@flatbiz/antd/src/fba-hooks/index.ts"],"sourcesContent":["import { isArray } from '@dimjs/lang';\nimport { hooks } from '@wove/react';\nimport { useRef } from 'react';\n\nexport const useArrayChange = <T>(defautDataList: Array<T>, forceUpdate = true) => {\n const changeListRef = useRef<Array<T>>(defautDataList);\n const update = hooks.useForceUpdate();\n const arrayOperate = {\n add: hooks.useCallbackRef((dataItem: T | Array<T>, isUnshift?: boolean) => {\n if (isUnshift) {\n const targetList = isArray(dataItem) ? dataItem : [dataItem];\n changeListRef.current = [...targetList, ...changeListRef.current];\n } else {\n changeListRef.current = changeListRef.current.concat(dataItem);\n }\n forceUpdate && update();\n }),\n update: hooks.useCallbackRef((index: number, dataItem: T) => {\n const target = changeListRef.current[index];\n if (target) {\n changeListRef.current[index] = { ...target, ...dataItem };\n }\n forceUpdate && update();\n }),\n delete: hooks.useCallbackRef((index: number) => {\n const deleteItem = changeListRef.current.splice(index, 1);\n forceUpdate && update();\n return deleteItem;\n }),\n resetList: hooks.useCallbackRef((dataList: Array<T>) => {\n changeListRef.current = dataList;\n forceUpdate && update();\n }),\n getList: hooks.useCallbackRef(() => {\n return changeListRef.current;\n }),\n };\n return [changeListRef.current, arrayOperate] as const;\n};\n","import { DependencyList, EffectCallback, useEffect } from 'react';\n\nexport const useEffectCustom = (fn: EffectCallback, deps: DependencyList) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useEffect(fn, deps);\n};\n","import { TAny, trim } from '@flatbiz/utils';\nimport { useEffectCustom } from './use-effect-custom';\n\nconst innerIgnoreClass = ['ace_editor', 'tox-tinymce', 'cnacel-flatbiz-antd-copy'];\n\nexport type CopyRemoveSpaceProps = {\n /** 设置监听复制范围,如果不设置则监听全局 */\n target?: () => Element;\n /**\n * 忽略的class配置(不参与copy逻辑处理的class),例如:['ace_editor']\n * ```\n * 1. 某些控件(例如:ace编辑器、富文本等)内部自定义处理copy逻辑,此处不能进行拦截,通过配置class属性来忽略\n * 2. ignoreClass可配置操作目标class、以及层层父节点class,通过目标节点以及层层父节点的class与ignoreClass匹配成功后,取消后续copy文案处理逻辑\n * ```\n */\n ignoreClass?: string[];\n};\n\n/**\n * 移除复制文本中前后空格\n * ```\n * 1. target 设置监听复制范围,如果不设置则监听全局,例如\n * export const Demo = () => {\n * const ref = useRef<any>();\n * useCopyRemoveSpace({\n * target: () => ref.current,\n * });\n * return (\n * <div ref={ref}>\n * <QueryTable />\n * </div>\n * );\n * };\n * 2. 某些控件(例如:ace编辑器、富文本等)内部自定义处理copy逻辑,此处不能进行拦截,通过配置class属性来忽略\n * 3. ignoreClass包括操作目标class、以及层层父节点class,通过目标节点层层父节点的class匹配成功后,取消后续copy文案处理逻辑\n * 3. ignoreClass 内置有 ['ace_editor', 'tox-tinymce', 'cancel-flatbiz-antd-copy']\n * ```\n */\nexport const useCopyRemoveSpace = (props?: CopyRemoveSpaceProps) => {\n const ignoreClass = innerIgnoreClass.concat(props?.ignoreClass || []);\n const target = props?.target?.() || window.document;\n\n useEffectCustom(() => {\n const handle = (oEvent) => {\n try {\n let parentNode = oEvent.target as HTMLElement;\n let isIgnore = false;\n while (parentNode != null) {\n const target = ignoreClass.find((item) => parentNode.classList?.contains(item));\n if (target) {\n isIgnore = true;\n break;\n }\n parentNode = parentNode.parentNode as HTMLElement;\n }\n if (isIgnore) return;\n let copyInfo = '';\n // 获取复制信息\n const _window = window as TAny;\n try {\n copyInfo = window['document']['selection'].createRange().text;\n } catch (ex) {\n copyInfo = _window.getSelection().toString();\n }\n let clipboardData = _window.clipboardData; // for IE\n if (!clipboardData) {\n clipboardData = oEvent['clipboardData'];\n }\n const nextValue = trim(copyInfo, true);\n // 修改剪贴板中的内容\n clipboardData.setData('Text', nextValue);\n // 必须禁用原copy方法才能生效\n oEvent.preventDefault();\n if (nextValue !== copyInfo) {\n console.log('useCopyRemoveSpace 已操作移除复制文本中前后空格');\n }\n } catch (error: TAny) {\n console.warn(error?.message);\n }\n };\n target.addEventListener('copy', handle);\n return () => {\n target.removeEventListener('copy', handle);\n };\n }, [JSON.stringify(ignoreClass)]);\n};\n","import { DependencyList, useEffect } from 'react';\n\nexport const useEffectCustomAsync = (fn: () => Promise<void>, deps: DependencyList) => {\n useEffect(() => {\n async function asyncFunction() {\n await fn();\n }\n void asyncFunction();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n};\n","import { DependencyList, useMemo } from 'react';\n/**\n * 自定义控制 useMemo 依赖\n */\nexport const useMemoCustom = <T>(fn: () => T, deps?: DependencyList) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useMemo<T>(fn, deps);\n};\n","import { useRef } from 'react';\n\nexport type ShouldUpdateFunc<T> = (prev: T | undefined, next: T) => boolean;\n\nconst defaultShouldUpdate = <T>(a?: T, b?: T) => !Object.is(a, b);\n\nexport function usePrevious<T>(\n state: T,\n shouldUpdate: ShouldUpdateFunc<T> = defaultShouldUpdate,\n): T | undefined {\n const prevRef = useRef<T>();\n const curRef = useRef<T>();\n\n if (shouldUpdate(curRef.current, state)) {\n prevRef.current = curRef.current;\n curRef.current = state;\n }\n\n return prevRef.current;\n}\n","import { hooks } from '@wove/react';\nimport { Dispatch, SetStateAction, useState } from 'react';\n\nexport const useSafeState = <S extends undefined | unknown>(\n initialState?: S | (() => S),\n): [S, Dispatch<SetStateAction<S>>] => {\n const [state, setState] = useState(initialState as S);\n const isMounted = hooks.useIsMounted();\n\n return [\n state,\n (value) => {\n if (isMounted.current) {\n return setState(value);\n }\n },\n ];\n};\n","import { theme } from 'antd';\n\nexport const useThemeToken = () => {\n const { token } = theme.useToken();\n return token;\n};\n","import { useArrayChange } from './use-array-change';\nimport { useCopyRemoveSpace } from './use-copy-remove-space';\nimport { useEffectCustom } from './use-effect-custom';\nimport { useEffectCustomAsync } from './use-effect-custom-async';\nimport { useMemoCustom } from './use-memo-custom';\nimport { usePrevious } from './use-previous';\nimport { useResponsivePoint } from './use-responsive-point';\nimport { useSafeState } from './use-safe-state';\nimport { useThemeToken } from './use-theme';\n\nexport const fbaHooks = {\n useEffectCustom: useEffectCustom,\n useEffectCustomAsync: useEffectCustomAsync,\n useThemeToken: useThemeToken,\n useArrayChange: useArrayChange,\n usePrevious: usePrevious,\n useResponsivePoint: useResponsivePoint,\n useSafeState: useSafeState,\n useMemoCustom: useMemoCustom,\n useCopyRemoveSpace: useCopyRemoveSpace,\n};\n"],"names":["useArrayChange","defautDataList","forceUpdate","changeListRef","useRef","update","_hooks","useForceUpdate","arrayOperate","add","useCallbackRef","dataItem","isUnshift","targetList","_isArray","current","concat","index","target","_extends","delete","deleteItem","splice","resetList","dataList","getList","useEffectCustom","fn","deps","useEffect","innerIgnoreClass","useCopyRemoveSpace","props","ignoreClass","window","document","handle","oEvent","parentNode","isIgnore","find","item","_parentNode$classList","classList","contains","copyInfo","_window","createRange","text","ex","getSelection","toString","clipboardData","nextValue","trim","setData","preventDefault","console","log","error","warn","message","addEventListener","removeEventListener","JSON","stringify","useEffectCustomAsync","asyncFunction","Promise","$return","$error","resolve","then","$await_1","$boundEx","useMemoCustom","useMemo","defaultShouldUpdate","a","b","Object","is","usePrevious","state","shouldUpdate","prevRef","curRef","useSafeState","initialState","_useState","useState","setState","isMounted","useIsMounted","value","useThemeToken","_theme$useToken","theme","useToken","token","fbaHooks","useResponsivePoint"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{a as r,_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{Col as t,Form as n,Row as i,Space as o}from"antd";import{jsx as a,jsxs as l}from"react/jsx-runtime";import{classNames as u}from"@dimjs/utils/cjs/class-names";import{useMemo as s,isValidElement as f,cloneElement as d}from"react";import{toArray as p,valueIsEqual as v}from"@flatbiz/utils";import{u as m}from"../use-responsive-point-21b8c601.js";var c=["forceAloneRow","hidden"];var h={xs:24,sm:24,md:24,lg:24,xl:24,xxl:24};var g=function n(i){var o=i.forceAloneRow,l=i.hidden,u=r(i,c);var s=o?h:u;if(l)return null;return a(t,e({},s,{children:i.children}))};g["domTypeName"]="FormCol";var x=["leftList","rightList","rowColTotal","justify","forceAloneRow","hidden","leftSpaceProps","rightSpaceProps"];var y={xs:24,sm:24,md:24,lg:24,xl:24,xxl:24};var L=function f(d){var p=d,v=p.leftList,m=p.rightList,c=p.rowColTotal,h=p.justify,g=p.forceAloneRow,L=p.hidden,w=p.leftSpaceProps,C=p.rightSpaceProps,N=r(p,x);var T=(v||[]).filter(Boolean);var j=(m||[]).filter(Boolean);var F=T.length>0&&j.length>0;var S=g||F?y:{};var G=s((function(){if(h)return h;if(F)return"space-between";if(g)return"end";if(c===1)return"start";return"end"}),[g,F,h,c]);var O=u(d.className,"v-form-col-operate");if(L)return null;return a(t,e({},N,S,{className:O,children:a(n.Item,{children:l(i,{justify:G,wrap:false,children:[a(o,e({},w,{className:u("v-form-col-operate-left",w==null?void 0:w.className),children:T.map((function(r){return r}))})),a(o,e({},C,{style:e({overflowX:"auto"},C==null?void 0:C.style),className:u("v-form-col-operate-right",w==null?void 0:w.className),children:j==null?void 0:j.map((function(r){return r}))}))]})})}))};L["domTypeName"]="FormOperateCol";var w=function r(e,t){try{var n=[];var i=function r(t){var n=e[t];return{index:t,value:n>24?24:n}};var o=true;var a=[];var l=0;var u=0;while(o){var s=e[l];a.push(i(l));if(s>=24){n.push(a);a=[];u=0}else if(l===e.length-1){n.push(a)}else{u+=s;if(u>=24){n.push(a);a=[];u=0}}l=l+1;if(l>=e.length){o=false}}var f=n.find((function(r){return!!r.find((function(r){return r.index===t}))}))||[];var d=0;var p=0;f.forEach((function(r,e){if(r.index===t)p=e;if(r.index<t){d=d+r.value}}));if(d===24||d===0){f[p].value=24}else{f[p].value=24-d}return{gridList:n.reduce((function(r,e){return r.concat(e)})).map((function(r){return r.value})),gridGroupList:n}}catch(r){return{gridList:e,gridGroupList:[]}}};var C=["gridSize"];var N={xs:24,sm:12,md:12,lg:8,xl:8,xxl:6};var T={xs:24,sm:12,md:8,lg:6,xl:6,xxl:6};var j=function t(n){var o=n.gridSize,l=r(n,C);var u=m()||"md";var c=p(n.children).filter((function(r){if(!r||!f(r))return false;return v(r.type["domTypeName"],["FormOperateCol","FormCol"])}));var h=o==="small"?T:N;console.log("screenType",u,h[u]);var g=s((function(){var r=c.findIndex((function(r){return r.type["domTypeName"]==="FormOperateCol"}));if(u===undefined){return{gridList:[],gridGroupList:[]}}var e=c.map((function(e,t){var n,i;if(t===r)return 0;if(["md","sm","xs"].includes(u)){var o;return((o=e.props)==null?void 0:o[u])||h[u]}var a=(n=e.props)==null?void 0:n.span;return((i=e.props)==null?void 0:i[u])||a||h[u]}));if(r<0){return{gridList:e,gridGroupList:[]}}return w(e,r)}),[c,h,u]),x=g.gridList,y=g.gridGroupList;return a(i,e({},l,{children:c.map((function(r,t){var n;var i=e({},h,r.props);var o=e({key:t},i,(n={},n[u]=x[t]||i[u],n));if(r.type["domTypeName"]==="FormOperateCol"){o["rowColTotal"]=y.length}return d(r,o)}))}))};var F={Row:j,Col:g,OperateCol:L};export{F as FormGrid};
4
+ import{a as r,_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{Col as t,Form as n,Row as i,Space as o}from"antd";import{jsx as a,jsxs as l}from"react/jsx-runtime";import{classNames as u}from"@dimjs/utils/cjs/class-names";import{useMemo as s,isValidElement as f,cloneElement as d}from"react";import{toArray as p,valueIsEqual as v}from"@flatbiz/utils";import{u as m}from"../use-responsive-point-21b8c601.js";var c=["forceAloneRow","hidden"];var h={xs:24,sm:24,md:24,lg:24,xl:24,xxl:24};var g=function n(i){var o=i.forceAloneRow,l=i.hidden,u=r(i,c);var s=o?h:u;if(l)return null;return a(t,e({},s,{children:i.children}))};g["domTypeName"]="FormCol";var x=["leftList","rightList","rowColTotal","justify","forceAloneRow","hidden","leftSpaceProps","rightSpaceProps"];var y={xs:24,sm:24,md:24,lg:24,xl:24,xxl:24};var L=function f(d){var p=d,v=p.leftList,m=p.rightList,c=p.rowColTotal,h=p.justify,g=p.forceAloneRow,L=p.hidden,w=p.leftSpaceProps,C=p.rightSpaceProps,N=r(p,x);var T=(v||[]).filter(Boolean);var j=(m||[]).filter(Boolean);var F=T.length>0&&j.length>0;var S=g||F?y:{};var G=s((function(){if(h)return h;if(F)return"space-between";if(g)return"end";if(c===1)return"start";return"end"}),[g,F,h,c]);var O=u(d.className,"v-form-col-operate");if(L)return null;return a(t,e({},N,S,{className:O,children:a(n.Item,{children:l(i,{justify:G,wrap:false,children:[a(o,e({},w,{className:u("v-form-col-operate-left",w==null?void 0:w.className),children:T.map((function(r){return r}))})),a(o,e({},C,{style:e({overflowX:"auto"},C==null?void 0:C.style),className:u("v-form-col-operate-right",C==null?void 0:C.className),children:j==null?void 0:j.map((function(r){return r}))}))]})})}))};L["domTypeName"]="FormOperateCol";var w=function r(e,t){try{var n=[];var i=function r(t){var n=e[t];return{index:t,value:n>24?24:n}};var o=true;var a=[];var l=0;var u=0;while(o){var s=e[l];a.push(i(l));if(s>=24){n.push(a);a=[];u=0}else if(l===e.length-1){n.push(a)}else{u+=s;if(u>=24){n.push(a);a=[];u=0}}l=l+1;if(l>=e.length){o=false}}var f=n.find((function(r){return!!r.find((function(r){return r.index===t}))}))||[];var d=0;var p=0;f.forEach((function(r,e){if(r.index===t)p=e;if(r.index<t){d=d+r.value}}));if(d===24||d===0){f[p].value=24}else{f[p].value=24-d}return{gridList:n.reduce((function(r,e){return r.concat(e)})).map((function(r){return r.value})),gridGroupList:n}}catch(r){return{gridList:e,gridGroupList:[]}}};var C=["gridSize"];var N={xs:24,sm:12,md:12,lg:8,xl:8,xxl:6};var T={xs:24,sm:12,md:8,lg:6,xl:6,xxl:6};var j=function t(n){var o=n.gridSize,l=r(n,C);var u=m()||"md";var c=p(n.children).filter((function(r){if(!r||!f(r))return false;return v(r.type["domTypeName"],["FormOperateCol","FormCol"])}));var h=o==="small"?T:N;console.log("screenType",u,h[u]);var g=s((function(){var r=c.findIndex((function(r){return r.type["domTypeName"]==="FormOperateCol"}));if(u===undefined){return{gridList:[],gridGroupList:[]}}var e=c.map((function(e,t){var n,i;if(t===r)return 0;if(["md","sm","xs"].includes(u)){var o;return((o=e.props)==null?void 0:o[u])||h[u]}var a=(n=e.props)==null?void 0:n.span;return((i=e.props)==null?void 0:i[u])||a||h[u]}));if(r<0){return{gridList:e,gridGroupList:[]}}return w(e,r)}),[c,h,u]),x=g.gridList,y=g.gridGroupList;return a(i,e({},l,{children:c.map((function(r,t){var n;var i=e({},h,r.props);var o=e({key:t},i,(n={},n[u]=x[t]||i[u],n));if(r.type["domTypeName"]==="FormOperateCol"){o["rowColTotal"]=y.length}return d(r,o)}))}))};var F={Row:j,Col:g,OperateCol:L};export{F as FormGrid};
5
5
  //# sourceMappingURL=index.js.map