import { css } from '@emotion/css'; import { observer, RecursionField, SchemaExpressionScopeContext, useField, useFieldSchema } from '@formily/react'; import React, { useContext } from 'react'; import { createPortal } from 'react-dom'; import { useActionContext } from '.'; import { ComposedActionDrawer } from './types'; const useScope = (key: string) => { const scope = useContext(SchemaExpressionScopeContext); return scope[key]; }; export const ActionPage: ComposedActionDrawer = observer((props: any) => { const { footerNodeName = 'Action.Page.Footer', ...others } = props; const { containerRefKey, visible, setVisible } = useActionContext(); const containerRef = useScope(containerRefKey); const schema = useFieldSchema(); const field = useField(); const footerSchema = schema.reduceProperties((buf, s) => { if (s['x-component'] === footerNodeName) { return s; } return buf; }); return ( <> {containerRef?.current && visible && createPortal(