Sha256: dd60b1eb596ab8472d6a0fbbb497bfe2cd35b8d6392fc031839868818e1a6332
Contents?: true
Size: 1.23 KB
Versions: 525
Compression:
Stored size: 1.23 KB
Contents
import React from "react"; import classnames from "classnames"; import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from "../utilities/props"; import { globalProps } from "../utilities/globalProps"; import DraggableContainer from "./subcomponents/DraggableContainer"; import DraggableItem from "./subcomponents/DraggableItem"; type DraggableProps = { aria?: { [key: string]: string }; className?: string; children?: React.ReactNode; data?: { [key: string]: string }; htmlOptions?: {[key: string]: string | number | boolean | (() => void)}, id?: string; }; const Draggable = (props: DraggableProps) => { const { aria = {}, className, children, data = {}, htmlOptions = {}, id, } = props; const ariaProps = buildAriaProps(aria); const dataProps = buildDataProps(data); const htmlProps = buildHtmlProps(htmlOptions); const classes = classnames( buildCss("pb_draggable"), globalProps(props), className ); return ( <div {...ariaProps} {...dataProps} {...htmlProps} className={classes} id={id} > {children} </div> ); }; Draggable.Container = DraggableContainer; Draggable.Item = DraggableItem; export default Draggable;
Version data entries
525 entries across 525 versions & 1 rubygems