diff --git a/app/designer/breadcrumbs/Breadcrumbs.tsx b/app/designer/breadcrumbs/Breadcrumbs.tsx new file mode 100644 index 0000000000..27fe569e3c --- /dev/null +++ b/app/designer/breadcrumbs/Breadcrumbs.tsx @@ -0,0 +1,58 @@ +import { ChevronRightIcon } from "~/shared/icons"; +import { Button, Flex, Text } from "~/shared/design-system"; +import { useSelectedInstancePath } from "../instance/use-selected-instance-path"; +import { Instance } from "@webstudio-is/sdk"; +import { Publish } from "../canvas-iframe"; + +type BreadcrumbProps = { + component: Instance["component"]; + onClick: () => void; +}; + +const Breadcrumb = ({ component, onClick }: BreadcrumbProps) => { + return ( + + {" "} + + + ); +}; + +const EmptyState = () => ( + + No instance selected + +); + +type BreadcrumbsProps = { + publish: Publish; +}; +export const Breadcrumbs = ({ publish }: BreadcrumbsProps) => { + const selectedInstancePath = useSelectedInstancePath(); + return ( + + {selectedInstancePath.length === 0 ? ( + + ) : ( + selectedInstancePath.map((instance) => ( + { + publish<"focusElement", Instance["id"]>({ + type: "focusElement", + payload: instance.id, + }); + }} + /> + )) + )} + + ); +}; diff --git a/app/designer/breadcrumbs/index.ts b/app/designer/breadcrumbs/index.ts new file mode 100644 index 0000000000..c1874ecead --- /dev/null +++ b/app/designer/breadcrumbs/index.ts @@ -0,0 +1 @@ +export * from "./Breadcrumbs"; diff --git a/app/designer/canvas-iframe/canvas-iframe.tsx b/app/designer/canvas-iframe/canvas-iframe.tsx index e0b7fe46bb..273f2eec19 100644 --- a/app/designer/canvas-iframe/canvas-iframe.tsx +++ b/app/designer/canvas-iframe/canvas-iframe.tsx @@ -1,10 +1,7 @@ import { forwardRef } from "react"; -import { css } from "~/shared/design-system"; +import { CSS, css } from "~/shared/design-system"; const iframeStyle = css({ - gridArea: "canvas", - width: "100%", - height: "100%", border: "none", variants: { pointerEvents: { @@ -22,12 +19,17 @@ type CanvasIframeProps = { pointerEvents: "all" | "none"; src: string; title: string; + css: CSS; }; export const CanvasIframe = forwardRef( - ({ pointerEvents = "all", ...rest }, ref) => { + ({ pointerEvents = "all", css, ...rest }, ref) => { return ( -