PromucFlow_constructor/app/client/src/components/designSystems/appsmith/PositionedContainer.tsx

35 lines
1.0 KiB
TypeScript
Raw Normal View History

import React from "react";
import { BaseStyle } from "widgets/BaseWidget";
import { WIDGET_PADDING } from "constants/WidgetConstants";
import { theme } from "constants/DefaultTheme";
type PositionedContainerProps = {
style: BaseStyle;
children: JSX.Element | JSX.Element[];
2020-01-16 11:46:21 +00:00
isMainContainer?: boolean;
};
export const PositionedContainer = (props: PositionedContainerProps) => {
2020-03-04 08:10:40 +00:00
const x = props.style.xPosition + (props.style.xPositionUnit || "px");
const y = props.isMainContainer
? theme.spaces[9]
: props.style.yPosition + (props.style.yPositionUnit || "px");
return (
<div
style={{
position: "absolute",
left: x,
top: y,
height: props.style.componentHeight + (props.style.heightUnit || "px"),
width: props.style.componentWidth + (props.style.widthUnit || "px"),
2020-01-16 11:46:21 +00:00
padding: props.isMainContainer ? 0 : WIDGET_PADDING + "px",
}}
>
{props.children}
</div>
);
};
2020-01-16 11:46:21 +00:00
PositionedContainer.padding = WIDGET_PADDING;
export default PositionedContainer;