AbdulElahGwaith's picture
Upload folder using huggingface_hub
cf86710 verified
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the LICENSE file
* in the root directory of this source tree.
*/
import React, { type CSSProperties, type ReactNode } from "react";
import styles from "./BrowserWindow.module.css";
import { ShadowDomWrapper } from "./ShadowDomWrapper";
interface Props {
children: ReactNode;
minHeight?: number;
url?: string;
style?: CSSProperties;
styleStr?: string;
bodyStyle?: CSSProperties;
shadow?: boolean;
sourceUrl?: string;
sourceLabel?: string;
}
export function BrowserWindow({
children,
minHeight,
style,
bodyStyle,
shadow = true,
styleStr,
url,
sourceUrl,
sourceLabel = "View source",
}: Props) {
return (
<div className={styles.browserWindow} style={{ ...style, minHeight }}>
<div className={styles.browserWindowHeader}>
<div className={styles.buttons}>
<span className={styles.dot} style={{ background: "#f25f58" }} />
<span className={styles.dot} style={{ background: "#fbbe3c" }} />
<span className={styles.dot} style={{ background: "#58cb42" }} />
</div>
{url ? (
<div className={styles.browserWindowAddressBar}>{url}</div>
) : null}
{sourceUrl ? (
<a
className={styles.sourceLink}
href={sourceUrl}
rel="noreferrer"
target="_blank"
>
{sourceLabel}
</a>
) : null}
</div>
<div className={`${styles.browserWindowBody} rdp-demo`} style={bodyStyle}>
{shadow ? (
<ShadowDomWrapper styleStr={styleStr}>{children}</ShadowDomWrapper>
) : (
children
)}
</div>
</div>
);
}