| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | 
							- /* eslint-disable @typescript-eslint/ban-ts-comment */
 - import styled from "styles"
 - import React, { useEffect, useRef } from "react"
 - import state, { useSelector } from "state"
 - import { X, Code, PlayCircle } from "react-feather"
 - import { IconButton } from "components/shared"
 - import * as Panel from "../panel"
 - import Control from "./control"
 - import { deepCompareArrays } from "utils/utils"
 - 
 - export default function ControlPanel() {
 -   const rContainer = useRef<HTMLDivElement>(null)
 -   const codeControls = useSelector(
 -     (state) => Object.keys(state.data.codeControls),
 -     deepCompareArrays
 -   )
 -   const isOpen = useSelector((s) => Object.keys(s.data.codeControls).length > 0)
 - 
 -   return (
 -     <Panel.Root data-bp-desktop ref={rContainer} isOpen={isOpen}>
 -       {isOpen ? (
 -         <Panel.Layout>
 -           <Panel.Header>
 -             <IconButton onClick={() => state.send("CLOSED_CODE_PANEL")}>
 -               <X />
 -             </IconButton>
 -             <h3>Controls</h3>
 -           </Panel.Header>
 -           <ControlsList>
 -             {codeControls.map((id) => (
 -               <Control key={id} id={id} />
 -             ))}
 -           </ControlsList>
 -         </Panel.Layout>
 -       ) : (
 -         <IconButton onClick={() => state.send("OPENED_CODE_PANEL")}>
 -           <Code />
 -         </IconButton>
 -       )}
 -     </Panel.Root>
 -   )
 - }
 - 
 - const ControlsList = styled(Panel.Content, {
 -   padding: 12,
 -   display: "grid",
 -   gridTemplateColumns: "1fr 4fr",
 -   gridAutoRows: "24px",
 -   alignItems: "center",
 -   gridColumnGap: "8px",
 -   gridRowGap: "8px",
 - 
 -   "& input": {
 -     font: "$ui",
 -     fontSize: "$1",
 -     border: "1px solid $inputBorder",
 -     backgroundColor: "$input",
 -     color: "$text",
 -     height: "100%",
 -     padding: "0px 6px",
 -   },
 - })
 
 
  |