import React, { FC } from 'react'; import clsx from 'classnames'; import { x, SystemProps } from '@xstyled/emotion'; import { css } from '@emotion/css'; import { Group, GroupProps } from '@/components'; interface PageFormProps extends SystemProps { children: React.ReactNode; } /** * Page form layout. * @returns {React.ReactNode} */ export const PageForm = ({ children, ...props }: PageFormProps) => { return ( {children} ); }; PageForm.displayName = 'PageFormBody'; /** * Page form body layout, by default the content body is scrollable. * @returns {React.ReactNode} */ const PageFormBody: FC<{ children: React.ReactNode } & SystemProps> = ({ children, ...props }) => { return ( {children} ); }; PageFormBody.displayName = 'PageFormBody'; const PageFormHeader: FC = ({ className, ...props }) => { return ( ); }; const pageFormHeaderStyle = ` --color-invoice-form-header-background: #fff; --color-invoice-form-header-border: #d2dce2; .bp4-dark & { --color-invoice-form-header-background: var(--color-dark-gray1); --color-invoice-form-header-border: rgba(255, 255, 255, 0.1); } border-bottom: 1px solid var(--color-invoice-form-header-border); background-color: var(--color-invoice-form-header-background); `; /** * Page form footer. * @returns {React.ReactNode} */ const PageFormFooter: FC<{ children: React.ReactNode } & SystemProps> = ({ children, }) => { return {children} ; }; PageFormFooter.displayName = 'PageFormFooter'; const footerActionsStyle = ` --x-color-background: #fff; --x-color-border: rgb(210, 221, 226); .bp4-dark & { --x-color-background: var(--color-dark-gray1); --x-color-border: rgba(255, 255, 255, 0.1); } width: 100%; background: var(--x-color-background); padding: 14px 20px; border-top: 1px solid var(--x-color-border); box-shadow: 0px -1px 4px 0px rgba(0, 0, 0, 0.05); .bp4-button-group{ .bp4-button{ &:not(:last-child), &.bp4-popover-wrapper:not(:last-child) { border-right: 1px solid rgba(92, 112, 127, 0.3); margin-right: 0; &.bp4-intent-primary{ border-right: 1px solid rgba(255, 255, 255, 0.3); } } } } `; const PageFormFooterActions: FC = ({ children, className, ...restProps }) => { return ( {children} ); }; PageFormFooterActions.displayName = 'PageFormFooterActions'; PageForm.Body = PageFormBody; PageForm.Footer = PageFormFooter; PageForm.FooterActions = PageFormFooterActions; PageForm.Header = PageFormHeader;