microsoft/typespec

Public

mirrored fromhttps://github.com/microsoft/typespecAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
61ba17d2d29dedf4553b21a055aa6b442a304688

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

packages/html-program-viewer/src/common.tsx

61lines · modecode

1import { css } from "@emotion/react";
2import { FunctionComponent, PropsWithChildren, ReactElement } from "react";
3import { Colors } from "./constants.js";
4
5export interface ItemProps {
6 title: string;
7 id?: string;
8 hide?: boolean;
9}
10
11const ItemStyles = css({
12 border: "1px solid #c5c5c5",
13});
14
15const ItemTitleStyles = css({
16 border: "1px solid #c5c5c5",
17 backgroundColor: "#dedede",
18 padding: "2px 5px",
19});
20
21const ItemContentStyles = css({
22 padding: "1rem",
23});
24
25export const Item: FunctionComponent<PropsWithChildren<ItemProps>> = ({
26 id,
27 title,
28 hide,
29 children,
30}) => {
31 if (hide) {
32 return <div></div>;
33 }
34 return (
35 <div css={ItemStyles} id={id}>
36 <div css={ItemTitleStyles}>{title}</div>
37 <div css={ItemContentStyles}>{children}</div>
38 </div>
39 );
40};
41
42export const Literal: FunctionComponent<{ children: any }> = ({ children }) => (
43 <div css={{ color: "#5da713", display: "inline" }}>{children}</div>
44);
45
46export const KeyValueSection: FunctionComponent<{ children: ReactElement | ReactElement[] }> = ({
47 children,
48}) => {
49 return (
50 <ul
51 css={{
52 margin: 0,
53 padding: "0 0 0 16px",
54 borderLeft: `1px dashed ${Colors.indentationGuide}`,
55 overflow: "auto",
56 }}
57 >
58 {children}
59 </ul>
60 );
61};
62