Sha256: de8bf6aecebe652f31d79ba101a3353b660b1d3b81287ea47a0893cbc535642f
Contents?: true
Size: 1.4 KB
Versions: 525
Compression:
Stored size: 1.4 KB
Contents
import React from "react"; import classnames from "classnames"; import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from "../../utilities/props"; import { globalProps } from "../../utilities/globalProps"; import { DraggableContext } from "../context"; type DraggableContainerProps = { aria?: { [key: string]: string }; children?: React.ReactNode; className?: string; container?: any; data?: { [key: string]: string }; htmlOptions?: {[key: string]: string | number | boolean | (() => void)}, id?: string; }; const DraggableContainer = (props: DraggableContainerProps) => { const { aria = {}, children, className, container, data = {}, htmlOptions = {}, id } = props; const { handleDragOver, handleDrop, activeContainer } = DraggableContext(); const ariaProps = buildAriaProps(aria); const dataProps = buildDataProps(data); const htmlProps = buildHtmlProps(htmlOptions); const classes = classnames( buildCss("pb_draggable_container"), `${activeContainer === container ? "active" : ""}`, globalProps(props), className ); return ( <div {...ariaProps} {...dataProps} {...htmlProps} className={classes} id={id} key={container} onDragOver={(e) => handleDragOver(e, container)} onDrop={() => handleDrop(container)} > {children} </div> ); }; export default DraggableContainer;
Version data entries
525 entries across 525 versions & 1 rubygems