@flatbiz/antd 4.2.56 → 4.2.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/esm/button-operate/index.css +1 -1
  2. package/esm/button-operate/index.js +1 -1
  3. package/esm/button-operate-81d86480.js +3 -0
  4. package/esm/button-operate-81d86480.js.map +1 -0
  5. package/esm/{cell-render-2a3743af.js → cell-render-927ade58.js} +2 -2
  6. package/esm/{cell-render-2a3743af.js.map → cell-render-927ade58.js.map} +1 -1
  7. package/esm/create-drawer-wrapper-model/index.js.map +1 -1
  8. package/esm/create-modal-wrapper-model/index.js.map +1 -1
  9. package/esm/drag-collapse/index.js +2 -1
  10. package/esm/drag-collapse-24ccfe8c.js +3 -0
  11. package/esm/drag-collapse-24ccfe8c.js.map +1 -0
  12. package/esm/drag-collapse-433fb1e0.js +3 -0
  13. package/esm/drag-collapse-433fb1e0.js.map +1 -0
  14. package/esm/drag-collapse-form-list/index.js +2 -1
  15. package/esm/drawer-wrapper-9af2f178.js.map +1 -1
  16. package/esm/dropdown-menu-wrapper/index.css +1 -0
  17. package/esm/dropdown-menu-wrapper/index.js +1 -1
  18. package/esm/dropdown-menu-wrapper-016a83b6.js +3 -0
  19. package/esm/dropdown-menu-wrapper-016a83b6.js.map +1 -0
  20. package/esm/easy-table/index.js.map +1 -1
  21. package/esm/editor-wrapper-ff6e75b7.js.map +1 -1
  22. package/esm/index.js +1 -1
  23. package/esm/modal-wrapper-ff8df98b.js.map +1 -1
  24. package/esm/table-cell-render/index.js +1 -1
  25. package/esm/tabs-wrapper-0a2da713.js.map +1 -1
  26. package/esm/tree-wrapper/index.js +1 -1
  27. package/esm/tree-wrapper/index.js.map +1 -1
  28. package/index.d.ts +67 -43
  29. package/package.json +1 -1
  30. package/esm/button-operate-fb40320e.js +0 -3
  31. package/esm/button-operate-fb40320e.js.map +0 -1
  32. package/esm/drag-collapse-3c346eb4.js +0 -3
  33. package/esm/drag-collapse-3c346eb4.js.map +0 -1
  34. package/esm/drag-collapse-e3c99c6d.js +0 -3
  35. package/esm/drag-collapse-e3c99c6d.js.map +0 -1
  36. package/esm/dropdown-menu-wrapper-98347af8.js +0 -3
  37. package/esm/dropdown-menu-wrapper-98347af8.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"drag-collapse-3c346eb4.js","sources":["@flatbiz/antd/src/drag-collapse/sortable-item.tsx","@flatbiz/antd/src/drag-collapse/drag-collapse.tsx"],"sourcesContent":["import { DragOutlined } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { Collapse } from 'antd';\nimport { CSSProperties, Fragment } from 'react';\nimport { DragCollapseItem, DragCollapseItemKey, DragCollapseProps } from './types';\ntype SortableItemProps = {\n openKeys: DragCollapseItemKey[];\n style?: CSSProperties;\n item: DragCollapseItem;\n collapsible?: DragCollapseProps['collapsible'];\n expandIcon?: DragCollapseProps['expandIcon'];\n expandIconPosition?: DragCollapseProps['expandIconPosition'];\n size?: DragCollapseProps['size'];\n dragIcon?: DragCollapseProps['dragIcon'];\n hideDragIcon?: DragCollapseProps['hideDragIcon'];\n onChange: (activeKey: DragCollapseItemKey) => void;\n isGray?: boolean;\n className?: string;\n isLast?: boolean;\n};\nexport function SortableItem(props: SortableItemProps) {\n const { listeners, setNodeRef, transform, transition } = useSortable({\n id: props.item.key,\n });\n\n const header = (item: DragCollapseItem) => {\n const dragIcon = props.dragIcon ? props.dragIcon : <DragOutlined />;\n return props.hideDragIcon ? (\n item.content\n ) : (\n <Fragment>\n <span className=\"dc-drag-trigger\" {...listeners}>\n {dragIcon}\n </span>\n <span className=\"dc-drag-header-content\">{item.content}</span>\n </Fragment>\n );\n };\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n ...props.style,\n };\n\n const isActive = props.openKeys.includes(props.item.key);\n const cname = classNames(\n 'drag-collapse',\n { 'drag-collapse-grap': props.isGray, 'drag-collapse-last': props.isLast },\n props.className,\n );\n return (\n <Collapse\n activeKey={isActive ? props.item.key : undefined}\n accordion\n className={cname}\n collapsible={props.collapsible}\n expandIcon={props.expandIcon}\n expandIconPosition={props.expandIconPosition}\n size={props.size}\n onChange={props.onChange?.bind(null, props.item.key)}\n style={{ ...style }}\n ref={setNodeRef}\n >\n <Collapse.Panel header={header(props.item)} key={props.item.key}>\n {props.item.content}\n </Collapse.Panel>\n </Collapse>\n );\n}\n","import { array, classNames } from '@dimjs/utils';\nimport { closestCenter, DndContext, DragOverlay } from '@dnd-kit/core';\nimport { arrayMove, SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { fbaHooks } from '@flatbiz/antd';\nimport { toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useState } from 'react';\nimport { SortableItem } from './sortable-item';\nimport './style.less';\nimport { DragCollapseItemKey, DragCollapseProps } from './types';\n\n/**\n * 可拖拽 折叠面板\n * @param props\n * @returns\n */\nexport const DragCollapse = (props: DragCollapseProps) => {\n const [dragActiveId, setDragActiveId] = useState<string | number>();\n const [openKeys, setOpenKeys] = useState<DragCollapseItemKey[]>([]);\n\n fbaHooks.useEffectCustom(() => {\n const defaultActiveKeys = toArray<string | number>(props.defaultActiveKey);\n if (!props.activeKey && defaultActiveKeys.length > 0) {\n setOpenKeys(defaultActiveKeys);\n } else {\n setOpenKeys(toArray(props.activeKey));\n }\n }, []);\n\n hooks.useUpdateEffect(() => {\n setOpenKeys(toArray(props.activeKey));\n }, [props.activeKey]);\n\n const onChange = hooks.useCallbackRef((key: DragCollapseItemKey) => {\n let openKeysNew: DragCollapseItemKey[] = [];\n if (props.accordion) {\n if (openKeys[0] && openKeys[0] === key) {\n openKeysNew = [];\n } else {\n openKeysNew = [key];\n }\n } else {\n const has = openKeys.includes(key);\n if (has) {\n array.arrayRemove(openKeys, key);\n openKeysNew = [...openKeys];\n } else {\n openKeysNew = openKeys.concat(key);\n }\n }\n setOpenKeys(openKeysNew);\n if (props.accordion) {\n props.onChange?.(openKeysNew.length ? openKeysNew[0] : undefined);\n } else {\n props.onChange?.(openKeysNew.length ? openKeysNew : undefined);\n }\n });\n\n function handleDragStart(event) {\n const { active } = event;\n setDragActiveId(active.id);\n }\n\n function handleDragEnd(event) {\n const { active, over } = event;\n if (active.id !== over.id) {\n const oldIndex = props.items.findIndex((item) => item.key === active.id);\n const newIndex = props.items.findIndex((item) => item.key === over.id);\n const newList = arrayMove(props.items, oldIndex, newIndex);\n props.onDropChange(newList);\n }\n setDragActiveId(undefined);\n }\n\n return (\n <div className={classNames('drag-collapse-wrapper', props.className)} style={props.style}>\n <DndContext collisionDetection={closestCenter} onDragStart={handleDragStart} onDragEnd={handleDragEnd}>\n <SortableContext items={props.items.map((item) => item.key)} strategy={verticalListSortingStrategy}>\n {props.items.map((item, index) => (\n <SortableItem\n key={item.key}\n item={item}\n openKeys={openKeys}\n collapsible={props.collapsible}\n expandIcon={props.expandIcon}\n expandIconPosition={props.expandIconPosition}\n size={props.size}\n dragIcon={props.dragIcon}\n hideDragIcon={props.hideDragIcon}\n onChange={onChange}\n isGray={item.key === dragActiveId}\n isLast={index === props.items.length - 1}\n />\n ))}\n </SortableContext>\n\n <DragOverlay dropAnimation={{ duration: 0 }}>\n {dragActiveId ? (\n <SortableItem\n className=\"overlay-sortable-item\"\n key={dragActiveId}\n item={props.items.filter((item) => item.key === dragActiveId)[0]}\n openKeys={openKeys}\n collapsible={props.collapsible}\n expandIcon={props.expandIcon}\n expandIconPosition={props.expandIconPosition}\n size={props.size}\n dragIcon={props.dragIcon}\n hideDragIcon={props.hideDragIcon}\n onChange={onChange}\n />\n ) : null}\n </DragOverlay>\n </DndContext>\n </div>\n );\n};\n"],"names":["SortableItem","props","_props$onChange","_useSortable","useSortable","id","item","key","listeners","setNodeRef","transform","transition","header","dragIcon","_jsx","_DragOutlined","hideDragIcon","content","_jsxs","Fragment","children","_extends","className","style","CSS","Transform","toString","isActive","openKeys","includes","cname","_classNames","isGray","isLast","Collapse","activeKey","undefined","accordion","collapsible","expandIcon","expandIconPosition","size","onChange","bind","ref","Panel","DragCollapse","_useState","useState","dragActiveId","setDragActiveId","_useState2","setOpenKeys","fbaHooks","useEffectCustom","defaultActiveKeys","toArray","defaultActiveKey","length","_hooks","useUpdateEffect","useCallbackRef","openKeysNew","has","_array","arrayRemove","concat","handleDragStart","event","active","handleDragEnd","over","oldIndex","items","findIndex","newIndex","newList","arrayMove","onDropChange","DndContext","collisionDetection","closestCenter","onDragStart","onDragEnd","SortableContext","map","strategy","verticalListSortingStrategy","index","DragOverlay","dropAnimation","duration","filter"],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- /*! @flatjs/forge MIT @flatbiz/antd */
2
- import{classNames as e}from"@dimjs/utils/cjs/class-names";import{array as n}from"@dimjs/utils/cjs/array";import{hooks as i}from"@wove/react/cjs/hooks";import{DndContext as a,closestCenter as r,DragOverlay as t}from"@dnd-kit/core";import{useSortable as o,SortableContext as d,verticalListSortingStrategy as s,arrayMove as l}from"@dnd-kit/sortable";import{fbaHooks as c}from"@flatbiz/antd";import{toArray as u}from"@flatbiz/utils";import{Collapse as f,Form as m}from"antd";import{Fragment as p,useState as v,useRef as g,useMemo as h}from"react";import{a as I}from"./_rollupPluginBabelHelpers-1f4d8910.js";import b from"@ant-design/icons/es/icons/DragOutlined";import{CSS as y}from"@dnd-kit/utilities";import{jsx as x,jsxs as D}from"react/jsx-runtime";function C(n){var i;var a=n.isOverlay?false:n.getItemDragDisabled==null?void 0:n.getItemDragDisabled(n.uid,n.index);var r=o({id:n.uid,disabled:a}),t=r.listeners,d=r.setNodeRef,s=r.transform,l=r.transition;var c=function e(){var i=n.dragIcon?n.dragIcon:x(b,{});var a=n.header(n.item,n.formListOperate,n.uid);return n.dragDisabled?a:D(p,{children:[x("span",I({className:"dc-drag-trigger"},t,{children:i})),x("span",{className:"dc-drag-header-content",style:n.headerStyle,children:a})]})};var u=I({transform:y.Transform.toString(s),transition:l},n.style);var m=e("drag-collapse",{"drag-collapse-grap":n.isGray,"drag-collapse-last":n.isLast,"drag-collapse-drag-disabled":a},n.className);return x(f,{activeKey:n.isActive?n.uid:undefined,accordion:true,className:m,collapsible:n.collapsible,expandIcon:n.expandIcon,expandIconPosition:n.expandIconPosition,size:n.size,onChange:(i=n.onChange)==null?void 0:i.bind(null,n.uid),style:I({},u),ref:d,children:x(f.Panel,{header:c(),children:n.content(n.item,n.formListOperate,n.uid)},n.uid)})}var L=function o(f){var I=v(),b=I[0],y=I[1];var L=v([]),N=L[0],z=L[1];var P=m.useFormInstance();var j=g([]);c.useEffectCustom((function(){var e=u(f.defaultActiveKey);if(!f.activeKey&&e.length>0){z(e)}else{z(u(f.activeKey))}}),[]);i.useUpdateEffect((function(){z(u(f.activeKey))}),[f.activeKey]);var O=function e(i){var a=[];if(f.accordion){if(N[0]&&N[0]===i){a=[]}else{a=[i]}}else{var r=N.includes(i);if(r){n.arrayRemove(N,i);a=[].concat(N)}else{a=N.concat(i)}}z(a);if(f.accordion){f.onChange==null?void 0:f.onChange(a.length?a[0]:undefined)}else{f.onChange==null?void 0:f.onChange(a.length?a:undefined)}};function k(e){var n=e.active;y(n.id)}var K=i.useCallbackRef((function(){return P.getFieldValue(f.formListName)||[]}));function A(e){var n=e.active,i=e.over;var a=K();if(n.id!==i.id){var r=a.findIndex((function(e){return e.uid===n.id}));var t=a.findIndex((function(e){return e.uid===i.id}));var o=l(a,r,t);P.setFieldsValue({collapseList:o});f.onDropChange==null?void 0:f.onDropChange(o)}y(undefined)}var E=h((function(){if(!b)return undefined;var e=K();var n=e.findIndex((function(e){return e.uid===b}));return j.current.find((function(e){return e.name===n}))}),[b,K]);return x("div",{className:e("drag-collapse-formlist-wrapper",f.className),style:f.style,children:x(a,{collisionDetection:r,onDragStart:k,onDragEnd:A,children:x(m.List,{name:f.formListName,children:function e(n,i){j.current=n;return D(p,{children:[x(d,{items:K().map((function(e){return e.uid})),strategy:s,children:x(p,{children:n.map((function(e,n){var a=K()[n].uid;return x(C,{formListOperate:i,item:e,uid:a,isActive:N.includes(a),collapsible:f.collapsible,expandIcon:f.expandIcon,expandIconPosition:f.expandIconPosition,size:f.size,dragIcon:f.dragIcon,getItemDragDisabled:f.getItemDragDisabled,dragDisabled:f.dragDisabled,onChange:O,isGray:a===b,isLast:n===K().length-1,header:f.header,content:f.content,index:n},a+"-"+e.key)}))})}),x(t,{dropAnimation:{duration:0},children:b&&E?x(C,{isOverlay:true,uid:b,className:"overlay-sortable-item",item:E,isActive:N.includes(b),collapsible:f.collapsible,expandIcon:f.expandIcon,expandIconPosition:f.expandIconPosition,size:f.size,dragIcon:f.dragIcon,onChange:O,header:f.header,content:f.content,formListOperate:null,index:0},b):null})]})}})})})};export{L as D};
3
- //# sourceMappingURL=drag-collapse-e3c99c6d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drag-collapse-e3c99c6d.js","sources":["@flatbiz/antd/src/drag-collapse-form-list/sortable-item.tsx","@flatbiz/antd/src/drag-collapse-form-list/drag-collapse.tsx"],"sourcesContent":["import { DragOutlined } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { Collapse, FormListFieldData, FormListOperation } from 'antd';\nimport { CSSProperties, Fragment } from 'react';\nimport { DragCollapseFormListProps } from './types';\nexport type SortableItemProps = {\n item: FormListFieldData;\n formListOperate: FormListOperation;\n onChange: (activeKey: number | string) => void;\n header: DragCollapseFormListProps['header'];\n content: DragCollapseFormListProps['content'];\n collapsible?: DragCollapseFormListProps['collapsible'];\n expandIcon?: DragCollapseFormListProps['expandIcon'];\n expandIconPosition?: DragCollapseFormListProps['expandIconPosition'];\n size?: DragCollapseFormListProps['size'];\n dragIcon?: DragCollapseFormListProps['dragIcon'];\n getItemDragDisabled?: DragCollapseFormListProps['getItemDragDisabled'];\n dragDisabled?: DragCollapseFormListProps['dragDisabled'];\n isGray?: boolean;\n isLast?: boolean;\n className?: string;\n style?: CSSProperties;\n uid: string | number;\n isActive?: boolean;\n headerStyle?: CSSProperties;\n index: number;\n isOverlay?: boolean;\n};\nexport function SortableItem(props: SortableItemProps) {\n const isDisabled = props.isOverlay ? false : props.getItemDragDisabled?.(props.uid, props.index);\n const { listeners, setNodeRef, transform, transition } = useSortable({\n id: props.uid,\n disabled: isDisabled,\n });\n\n const header = () => {\n const dragIcon = props.dragIcon ? props.dragIcon : <DragOutlined />;\n const headerContent = props.header(props.item, props.formListOperate, props.uid);\n return props.dragDisabled ? (\n headerContent\n ) : (\n <Fragment>\n <span className=\"dc-drag-trigger\" {...listeners}>\n {dragIcon}\n </span>\n <span className=\"dc-drag-header-content\" style={props.headerStyle}>\n {headerContent}\n </span>\n </Fragment>\n );\n };\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n ...props.style,\n };\n\n const cname = classNames(\n 'drag-collapse',\n {\n 'drag-collapse-grap': props.isGray,\n 'drag-collapse-last': props.isLast,\n 'drag-collapse-drag-disabled': isDisabled,\n },\n props.className,\n );\n return (\n <Collapse\n activeKey={props.isActive ? props.uid : undefined}\n accordion\n className={cname}\n collapsible={props.collapsible}\n expandIcon={props.expandIcon}\n expandIconPosition={props.expandIconPosition}\n size={props.size}\n onChange={props.onChange?.bind(null, props.uid)}\n style={{ ...style }}\n ref={setNodeRef}\n >\n <Collapse.Panel header={header()} key={props.uid}>\n {props.content(props.item, props.formListOperate, props.uid)}\n </Collapse.Panel>\n </Collapse>\n );\n}\n","import { array, classNames } from '@dimjs/utils';\nimport { closestCenter, DndContext, DragOverlay } from '@dnd-kit/core';\nimport { arrayMove, SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { fbaHooks } from '@flatbiz/antd';\nimport { TAny, toArray, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, FormListFieldData } from 'antd';\nimport { Fragment, useMemo, useRef, useState } from 'react';\nimport { SortableItem } from './sortable-item';\nimport './style.less';\nimport { DragCollapseFormListProps } from './types';\n\n/**\n * 可拖拽+折叠面板+FormList\n * ```\n * 1. FormList数组中必须要有 uid 唯一值字段\n * ```\n */\nexport const DragCollapseFormList = (props: DragCollapseFormListProps) => {\n const [dragActiveId, setDragActiveId] = useState<string | number>();\n const [openKeys, setOpenKeys] = useState<(number | string)[]>([]);\n const form = Form.useFormInstance();\n const formListOperationRef = useRef<FormListFieldData[]>([]);\n\n fbaHooks.useEffectCustom(() => {\n const defaultActiveKeys = toArray<string | number>(props.defaultActiveKey);\n if (!props.activeKey && defaultActiveKeys.length > 0) {\n setOpenKeys(defaultActiveKeys);\n } else {\n setOpenKeys(toArray(props.activeKey));\n }\n }, []);\n\n hooks.useUpdateEffect(() => {\n setOpenKeys(toArray(props.activeKey));\n }, [props.activeKey]);\n\n const onChange = (key: number | string) => {\n let openKeysNew: (number | string)[] = [];\n if (props.accordion) {\n if (openKeys[0] && openKeys[0] === key) {\n openKeysNew = [];\n } else {\n openKeysNew = [key];\n }\n } else {\n const has = openKeys.includes(key);\n if (has) {\n array.arrayRemove(openKeys, key);\n openKeysNew = [...openKeys];\n } else {\n openKeysNew = openKeys.concat(key);\n }\n }\n setOpenKeys(openKeysNew);\n if (props.accordion) {\n props.onChange?.(openKeysNew.length ? openKeysNew[0] : undefined);\n } else {\n props.onChange?.(openKeysNew.length ? openKeysNew : undefined);\n }\n };\n\n function handleDragStart(event) {\n const { active } = event;\n setDragActiveId(active.id);\n }\n\n const getItems = hooks.useCallbackRef(() => {\n return (form.getFieldValue(props.formListName) || []) as TPlainObject[];\n });\n\n function handleDragEnd(event) {\n const { active, over } = event;\n const items = getItems();\n if (active.id !== over.id) {\n const oldIndex = items.findIndex((item) => item.uid === active.id);\n const newIndex = items.findIndex((item) => item.uid === over.id);\n const newList = arrayMove<TPlainObject>(items, oldIndex, newIndex);\n form.setFieldsValue({ collapseList: newList });\n props.onDropChange?.(newList);\n }\n setDragActiveId(undefined);\n }\n\n const dragOverlayItem = useMemo(() => {\n if (!dragActiveId) return undefined;\n const items = getItems();\n const targetIndex = items.findIndex((item) => item.uid === dragActiveId);\n return formListOperationRef.current.find((item) => item.name === targetIndex);\n }, [dragActiveId, getItems]);\n\n return (\n <div className={classNames('drag-collapse-formlist-wrapper', props.className)} style={props.style}>\n <DndContext collisionDetection={closestCenter} onDragStart={handleDragStart} onDragEnd={handleDragEnd}>\n <Form.List name={props.formListName}>\n {(fields, operate) => {\n formListOperationRef.current = fields;\n return (\n <Fragment>\n <SortableContext\n items={getItems().map((temp) => temp.uid)}\n strategy={verticalListSortingStrategy}\n >\n <Fragment>\n {fields.map((item, index) => {\n const uid = getItems()[index].uid;\n return (\n <SortableItem\n formListOperate={operate}\n item={item}\n uid={uid}\n key={`${uid}-${item.key}`}\n isActive={openKeys.includes(uid)}\n collapsible={props.collapsible}\n expandIcon={props.expandIcon}\n expandIconPosition={props.expandIconPosition}\n size={props.size}\n dragIcon={props.dragIcon}\n getItemDragDisabled={props.getItemDragDisabled}\n dragDisabled={props.dragDisabled}\n onChange={onChange}\n isGray={uid === dragActiveId}\n isLast={index === getItems().length - 1}\n header={props.header}\n content={props.content}\n index={index}\n />\n );\n })}\n </Fragment>\n </SortableContext>\n <DragOverlay dropAnimation={{ duration: 0 }}>\n {dragActiveId && dragOverlayItem ? (\n <SortableItem\n isOverlay={true}\n uid={dragActiveId}\n key={dragActiveId}\n className=\"overlay-sortable-item\"\n item={dragOverlayItem}\n isActive={openKeys.includes(dragActiveId)}\n collapsible={props.collapsible}\n expandIcon={props.expandIcon}\n expandIconPosition={props.expandIconPosition}\n size={props.size}\n dragIcon={props.dragIcon}\n onChange={onChange}\n header={props.header}\n content={props.content}\n formListOperate={null as TAny}\n index={0}\n />\n ) : null}\n </DragOverlay>\n </Fragment>\n );\n }}\n </Form.List>\n </DndContext>\n </div>\n );\n};\n"],"names":["SortableItem","props","_props$onChange","isDisabled","isOverlay","getItemDragDisabled","uid","index","_useSortable","useSortable","id","disabled","listeners","setNodeRef","transform","transition","header","dragIcon","_jsx","_DragOutlined","headerContent","item","formListOperate","dragDisabled","_jsxs","Fragment","children","_extends","className","style","headerStyle","CSS","Transform","toString","cname","_classNames","isGray","isLast","Collapse","activeKey","isActive","undefined","accordion","collapsible","expandIcon","expandIconPosition","size","onChange","bind","ref","Panel","content","DragCollapseFormList","_useState","useState","dragActiveId","setDragActiveId","_useState2","openKeys","setOpenKeys","form","Form","useFormInstance","formListOperationRef","useRef","fbaHooks","useEffectCustom","defaultActiveKeys","toArray","defaultActiveKey","length","_hooks","useUpdateEffect","key","openKeysNew","has","includes","_array","arrayRemove","concat","handleDragStart","event","active","getItems","useCallbackRef","getFieldValue","formListName","handleDragEnd","over","items","oldIndex","findIndex","newIndex","newList","arrayMove","setFieldsValue","collapseList","onDropChange","dragOverlayItem","useMemo","targetIndex","current","find","name","DndContext","collisionDetection","closestCenter","onDragStart","onDragEnd","List","fields","operate","SortableContext","map","temp","strategy","verticalListSortingStrategy","DragOverlay","dropAnimation","duration"],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- /*! @flatjs/forge MIT @flatbiz/antd */
2
- import e from"@ant-design/icons/es/icons/ExclamationCircleFilled";import{_ as r,a as o}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{hooks as n}from"@wove/react/cjs/hooks";import{Dropdown as i}from"antd";import{Fragment as t,useMemo as a,createElement as l}from"react";import{B as s}from"./button-wrapper-125fce50.js";import{d as f}from"./dialog-confirm-74fc9337.js";import{f as d}from"./fba-utils-f9e11d02.js";import{F as m}from"./flex-layout-8d2b668b.js";import{jsxs as c,jsx as u}from"react/jsx-runtime";function p(e){var r=true;var o=false;while(r){if(e.tagName==="HTML"||e.tagName==="BODY"){r=false;o=false}else{var n=window.getComputedStyle(e),i=n.position;if(i==="sticky"){o=true;r=false}else{if(!e||!e.parentNode){r=false}else{e=e.parentNode}}}}return o}var v=["menuList"],g=["text","color","permission","needConfirm","confirmMessage","hidden","type","style","confirmModalProps"];var y=function y(h){var C=h.menuList,k=r(h,v);var P=n.useId(undefined,"DropdownMenuWrapper");var x=n.useCallbackRef((function(r,n){n.stopPropagation();if(r.needConfirm){var i;f.open(o({title:c(m,{direction:"horizontal",fullIndex:1,gap:8,children:[u(e,{style:{color:"#faad14"}}),u("span",{children:r.text})]}),content:u(t,{children:r.confirmMessage}),onOk:(i=r.onClick)==null?void 0:i.bind(null,n),okButtonProps:{loadingPosition:"center"}},r.confirmModalProps));return Promise.resolve()}return r.onClick==null?void 0:r.onClick(n)}));var M=document.querySelector("."+P);var b=a((function(){if(h.isFixed||M&&p(M)){return undefined}return M}),[h.isFixed,M]);var j=a((function(){var e=[];C.filter(Boolean).forEach((function(n,i){if(!n)return;var t=n.text,a=n.color,f=n.permission,m=n.needConfirm,c=n.confirmMessage,u=n.hidden,p=n.type,v=n.style,y=n.confirmModalProps,h=r(n,g);if(u)return;if(f&&!d.hasPermission(f))return;var C=a?o({color:a},v):v;var k=p||"link";e.push({key:i,label:l(s,o({loadingPosition:"center",size:"small"},h,{type:k,style:C,key:i,onClick:x.bind(null,o({},n,{needConfirm:m,confirmMessage:c,confirmModalProps:y}))}),t)})}));return e}),[C,x]);return u("div",{className:P,style:{position:"relative"},children:u(i,o({trigger:(k==null?void 0:k.trigger)||["hover"],getPopupContainer:b?function(){return M}:undefined,arrow:{pointAtCenter:true}},k,{overlayStyle:o({zIndex:9},k.overlayStyle),menu:{items:j},children:h.children}))})};export{y as D};
3
- //# sourceMappingURL=dropdown-menu-wrapper-98347af8.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dropdown-menu-wrapper-98347af8.js","sources":["@flatbiz/antd/src/dropdown-menu-wrapper/utils.ts","@flatbiz/antd/src/dropdown-menu-wrapper/dropdown-menu-wrapper.tsx"],"sourcesContent":["export function parentsHasSticky(node: Element) {\n let condition = true;\n let result = false;\n while (condition) {\n if (node.tagName === 'HTML' || node.tagName === 'BODY') {\n condition = false;\n result = false;\n } else {\n const { position } = window.getComputedStyle(node);\n if (position === 'sticky') {\n result = true;\n condition = false;\n } else {\n if (!node || !node.parentNode) {\n condition = false;\n } else {\n node = node.parentNode as Element;\n }\n }\n }\n }\n return result;\n}\n","import { ExclamationCircleFilled } from '@ant-design/icons';\nimport { hooks } from '@wove/react';\nimport { ButtonProps, Dropdown, DropdownProps } from 'antd';\nimport { ItemType } from 'antd/lib/menu/hooks/useItems';\nimport { Fragment, ReactElement, useMemo } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { dialogConfirm } from '../dialog-confirm';\nimport { DialogModalProps } from '../dialog-modal';\nimport { fbaUtils } from '../fba-utils';\nimport { FlexLayout } from '../flex-layout';\nimport { parentsHasSticky } from './utils';\n\nexport interface DropdownMenuItem extends ButtonProps {\n text?: string | ReactElement;\n color?: string;\n onClick?: (event: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n permission?: string;\n needConfirm?: boolean;\n confirmMessage?: string;\n hidden?: boolean;\n confirmModalProps?: DialogModalProps;\n}\n\nexport interface DropdownMenuWrapperProps extends Omit<DropdownProps, 'menu'> {\n menuList: Array<DropdownMenuItem | null>;\n isFixed?: boolean;\n}\n\n/**\n * DropdownMenuWrapper\n * 升级 antd 5.5.1 后,Dropdown 中 Popconfirm弹框使用存在问题,所以在 @flatbiz/antd@4.2.49版本修改为使用dialogConfirm组件实现二次弹框确认功能\n * @param props\n * @returns\n */\nexport const DropdownMenuWrapper = (props: DropdownMenuWrapperProps) => {\n const { menuList, ...dropdownOtherProps } = props;\n const clsName = hooks.useId(undefined, 'DropdownMenuWrapper');\n\n const onClick = hooks.useCallbackRef((item: DropdownMenuItem, event) => {\n event.stopPropagation();\n if (item.needConfirm) {\n dialogConfirm.open({\n title: (\n <FlexLayout direction=\"horizontal\" fullIndex={1} gap={8}>\n <ExclamationCircleFilled style={{ color: '#faad14' }} />\n <span>{item.text}</span>\n </FlexLayout>\n ),\n content: <Fragment>{item.confirmMessage}</Fragment>,\n onOk: item.onClick?.bind(null, event),\n okButtonProps: {\n loadingPosition: 'center',\n },\n ...item.confirmModalProps,\n });\n return Promise.resolve();\n }\n return item.onClick?.(event);\n });\n\n const target = document.querySelector(`.${clsName}`);\n const container = useMemo(() => {\n if (props.isFixed || (target && parentsHasSticky(target))) {\n return undefined;\n }\n return target;\n }, [props.isFixed, target]);\n\n const menuItems = useMemo(() => {\n const menuItemsNew: ItemType[] = [];\n menuList.filter(Boolean).forEach((item, index) => {\n if (!item) return;\n const {\n text,\n color,\n permission,\n needConfirm,\n confirmMessage,\n hidden,\n type,\n style,\n confirmModalProps,\n ...otherProps\n } = item;\n if (hidden) return;\n if (permission && !fbaUtils.hasPermission(permission)) return;\n const newStyle = color ? { color, ...style } : style;\n const buttonType = type || 'link';\n menuItemsNew.push({\n key: index,\n label: (\n <ButtonWrapper\n loadingPosition=\"center\"\n size=\"small\"\n {...otherProps}\n type={buttonType}\n style={newStyle}\n key={index}\n onClick={onClick.bind(null, {\n ...item,\n needConfirm,\n confirmMessage,\n confirmModalProps,\n })}\n >\n {text}\n </ButtonWrapper>\n ),\n });\n });\n return menuItemsNew;\n }, [menuList, onClick]);\n\n return (\n <div className={clsName} style={{ position: 'relative' }}>\n <Dropdown\n trigger={dropdownOtherProps?.trigger || ['hover']}\n getPopupContainer={container ? () => target as HTMLElement : undefined}\n arrow={{ pointAtCenter: true }}\n {...dropdownOtherProps}\n overlayStyle={{ zIndex: 9, ...dropdownOtherProps.overlayStyle }}\n menu={{ items: menuItems }}\n >\n {props.children}\n </Dropdown>\n </div>\n );\n};\n"],"names":["parentsHasSticky","node","condition","result","tagName","_window$getComputedSt","window","getComputedStyle","position","parentNode","DropdownMenuWrapper","props","menuList","dropdownOtherProps","_objectWithoutPropertiesLoose","_excluded","clsName","_hooks","useId","undefined","onClick","useCallbackRef","item","event","stopPropagation","needConfirm","_item$onClick","dialogConfirm","open","_extends","title","_jsxs","FlexLayout","direction","fullIndex","gap","children","_jsx","_ExclamationCircleFilled","style","color","text","content","Fragment","confirmMessage","onOk","bind","okButtonProps","loadingPosition","confirmModalProps","Promise","resolve","target","document","querySelector","container","useMemo","isFixed","menuItems","menuItemsNew","filter","Boolean","forEach","index","permission","hidden","type","otherProps","_excluded2","fbaUtils","hasPermission","newStyle","buttonType","push","key","label","_createElement","ButtonWrapper","size","className","Dropdown","trigger","getPopupContainer","arrow","pointAtCenter","overlayStyle","zIndex","menu","items"],"mappings":"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"}