[WEB-2273] Chore: page alignments (#5505)
* chore: headers + common containers * fix: filters code splitting * fix: home header * fix: header changes * chore: page alignments fixed * fix: uncommented filters * fix: used enums * fix: cards + filters * fix: enum changes * fix: reverted package changes * fix: reverted package changes * fix: Card + tags seperated + naming fixed * fix: card + tags seperated + naming fixed * fix: mobile headers fixed partially * fix: build errors + minor css * fix: checkbox spacing * fix: review changes * fix: lint errors * fix: minor review changes
This commit is contained in:
parent
c78b2344b8
commit
87dbb9b888
181 changed files with 1323 additions and 1122 deletions
|
|
@ -1,39 +1,51 @@
|
|||
import * as React from "react";
|
||||
import { cn } from "../../helpers";
|
||||
import { EHeaderVariant, getHeaderStyle, THeaderVariant } from "./helper";
|
||||
import { ERowVariant, CustomRow } from "../row";
|
||||
import { ERowVariant, Row } from "../row";
|
||||
|
||||
export interface CustomHeaderProps {
|
||||
export interface HeaderProps {
|
||||
variant?: THeaderVariant;
|
||||
setHeight?: boolean;
|
||||
className?: string;
|
||||
children: React.ReactNode;
|
||||
showOnMobile?: boolean;
|
||||
}
|
||||
|
||||
const CustomHeader = (props: CustomHeaderProps) => {
|
||||
const { variant = EHeaderVariant.PRIMARY, className = "", setHeight = true, children, ...rest } = props;
|
||||
const Header = (props: HeaderProps) => {
|
||||
const {
|
||||
variant = EHeaderVariant.PRIMARY,
|
||||
className = "",
|
||||
showOnMobile = true,
|
||||
setHeight = true,
|
||||
children,
|
||||
...rest
|
||||
} = props;
|
||||
|
||||
const style = getHeaderStyle(variant, setHeight);
|
||||
const style = getHeaderStyle(variant, setHeight, showOnMobile);
|
||||
return (
|
||||
<CustomRow
|
||||
<Row
|
||||
variant={variant === EHeaderVariant.PRIMARY ? ERowVariant.HUGGING : ERowVariant.REGULAR}
|
||||
className={cn(style, className)}
|
||||
{...rest}
|
||||
>
|
||||
{children}
|
||||
</CustomRow>
|
||||
</Row>
|
||||
);
|
||||
};
|
||||
|
||||
const LeftItem = (props: CustomHeaderProps) => (
|
||||
<div className="flex flex-grow items-center gap-2 overflow-ellipsis whitespace-nowrap">{props.children}</div>
|
||||
const LeftItem = (props: HeaderProps) => (
|
||||
<div
|
||||
className={cn("flex flex-wrap items-center gap-2 overflow-ellipsis whitespace-nowrap max-w-[80%]", props.className)}
|
||||
>
|
||||
{props.children}
|
||||
</div>
|
||||
);
|
||||
const RightItem = (props: CustomHeaderProps) => (
|
||||
<div className="w-full flex items-center justify-end gap-3">{props.children}</div>
|
||||
const RightItem = (props: HeaderProps) => (
|
||||
<div className={cn("flex justify-end gap-3 w-auto items-baseline", props.className)}>{props.children}</div>
|
||||
);
|
||||
|
||||
CustomHeader.LeftItem = LeftItem;
|
||||
CustomHeader.RightItem = RightItem;
|
||||
CustomHeader.displayName = "plane-ui-header";
|
||||
Header.LeftItem = LeftItem;
|
||||
Header.RightItem = RightItem;
|
||||
Header.displayName = "plane-ui-header";
|
||||
|
||||
export { CustomHeader, EHeaderVariant };
|
||||
export { Header, EHeaderVariant };
|
||||
|
|
|
|||
|
|
@ -11,15 +11,16 @@ export interface IHeaderProperties {
|
|||
export const headerStyle: IHeaderProperties = {
|
||||
[EHeaderVariant.PRIMARY]:
|
||||
"relative flex w-full flex-shrink-0 flex-row items-center justify-between gap-x-2 gap-y-4 bg-custom-sidebar-background-100",
|
||||
[EHeaderVariant.SECONDARY]: "block !py-0 overflow-y-hidden border-b border-custom-border-200",
|
||||
[EHeaderVariant.TERNARY]: "flex justify-between py-2 border-b border-custom-border-200",
|
||||
[EHeaderVariant.SECONDARY]: "!py-0 overflow-y-hidden border-b border-custom-border-200 justify-between",
|
||||
[EHeaderVariant.TERNARY]: "flex flex-wrap justify-between py-2 border-b border-custom-border-200 gap-2",
|
||||
};
|
||||
export const minHeights: IHeaderProperties = {
|
||||
[EHeaderVariant.PRIMARY]: "",
|
||||
[EHeaderVariant.SECONDARY]: "min-h-[52px]",
|
||||
[EHeaderVariant.TERNARY]: "",
|
||||
};
|
||||
export const getHeaderStyle = (variant: THeaderVariant, setMinHeight: boolean) => {
|
||||
export const getHeaderStyle = (variant: THeaderVariant, setMinHeight: boolean, showOnMobile: boolean) => {
|
||||
const height = setMinHeight ? minHeights[variant] : "";
|
||||
return headerStyle[variant] + " " + height;
|
||||
const display = variant === EHeaderVariant.SECONDARY ? (showOnMobile ? "flex" : "hidden md:flex") : "";
|
||||
return " " + headerStyle[variant] + " " + height + " " + display;
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue