Files
outline/app/components/Subheading.tsx
Tom Moor db73879918 Assorted cleanup, minor bug fixes, styling fixes, eslint rules (#5165
* fix: Logic error in toast
fix: Remove useless component

* fix: Logout not clearing all stores

* Add icons to notification settings

* Add eslint rule to enforce spaced comment

* Add eslint rule for arrow-body-style

* Add eslint rule to enforce self-closing components

* Add menu to api key settings
Fix: Deleting webhook subscription does not remove from UI
Split webhook subscriptions into active and inactive
Styling updates
2023-04-08 05:25:20 -07:00

46 lines
1.1 KiB
TypeScript

import * as React from "react";
import styled from "styled-components";
import { s } from "@shared/styles";
type Props = {
sticky?: boolean;
};
const H3 = styled.h3`
border-bottom: 1px solid ${s("divider")};
margin: 12px 0;
line-height: 1;
`;
const Underline = styled.div`
display: inline-block;
font-weight: 500;
font-size: 14px;
line-height: 1.5;
color: ${s("textSecondary")};
padding-top: 6px;
padding-bottom: 6px;
`;
// When sticky we need extra background coverage around the sides otherwise
// items that scroll past can "stick out" the sides of the heading
const Background = styled.div<{ sticky?: boolean }>`
position: ${(props) => (props.sticky ? "sticky" : "relative")};
${(props) => (props.sticky ? "top: 54px;" : "")}
margin: 0 -8px;
padding: 0 8px;
background: ${s("background")};
transition: ${s("backgroundTransition")};
z-index: 1;
`;
const Subheading: React.FC<Props> = ({ children, sticky, ...rest }) => (
<Background sticky={sticky}>
<H3 {...rest}>
<Underline>{children}</Underline>
</H3>
</Background>
);
export default Subheading;