import { _objectSpread2 } from "../../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectSpread2.js";
import { _objectWithoutProperties } from "../../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectWithoutProperties.js";
import { Action } from "../Action/Action.js";
import { Handle } from "../Handle/Handle.js";
import { Remove } from "../Remove/Remove.js";
import React, { forwardRef } from "react";
import classNames from "classnames";
import "./TreeItem.less";
//#region src/components/pisellDraggable/components/TreeItem/TreeItem.tsx
const _excluded = [
	"childCount",
	"clone",
	"depth",
	"disableSelection",
	"disableInteraction",
	"ghost",
	"handleProps",
	"indentationWidth",
	"indicator",
	"collapsed",
	"onCollapse",
	"onRemove",
	"style",
	"wrapperRef",
	"item",
	"renderItem",
	"isBlocked",
	"__designMode"
];
const TreeItem = forwardRef((props, ref) => {
	const { childCount, clone, depth, disableSelection, disableInteraction, ghost, handleProps, indentationWidth, indicator, collapsed, onCollapse, onRemove, style, wrapperRef, item, renderItem, isBlocked, __designMode } = props, otherProps = _objectWithoutProperties(props, _excluded);
	if (renderItem) return renderItem(props, ref);
	return /* @__PURE__ */ React.createElement("li", _objectSpread2({
		className: classNames("Wrapper", clone && "clone", ghost && "ghost", indicator && "indicator", disableSelection && "disableSelection", disableInteraction && "disableInteraction"),
		ref: wrapperRef,
		style: { "--spacing": `${indentationWidth * depth}px` }
	}, otherProps), /* @__PURE__ */ React.createElement("div", {
		className: "TreeItem",
		ref,
		style
	}, /* @__PURE__ */ React.createElement(Handle, __designMode === "design" ? {} : _objectSpread2({}, handleProps)), onCollapse && /* @__PURE__ */ React.createElement(Action, {
		onClick: onCollapse,
		className: classNames("Collapse", collapsed && "collapsed")
	}, collapseIcon), /* @__PURE__ */ React.createElement("span", { className: "Text" }, item.id), !clone && onRemove && /* @__PURE__ */ React.createElement(Remove, { onClick: onRemove }), clone && childCount && childCount > 1 ? /* @__PURE__ */ React.createElement("span", { className: "Count" }, childCount) : null));
});
const collapseIcon = /* @__PURE__ */ React.createElement("svg", {
	width: "10",
	xmlns: "http://www.w3.org/2000/svg",
	viewBox: "0 0 70 41"
}, /* @__PURE__ */ React.createElement("path", { d: "M30.76 39.2402C31.885 40.3638 33.41 40.995 35 40.995C36.59 40.995 38.115 40.3638 39.24 39.2402L68.24 10.2402C69.2998 9.10284 69.8768 7.59846 69.8494 6.04406C69.822 4.48965 69.1923 3.00657 68.093 1.90726C66.9937 0.807959 65.5106 0.178263 63.9562 0.150837C62.4018 0.123411 60.8974 0.700397 59.76 1.76024L35 26.5102L10.24 1.76024C9.10259 0.700397 7.59822 0.123411 6.04381 0.150837C4.4894 0.178263 3.00632 0.807959 1.90702 1.90726C0.807714 3.00657 0.178019 4.48965 0.150593 6.04406C0.123167 7.59846 0.700153 9.10284 1.75999 10.2402L30.76 39.2402Z" }));
//#endregion
export { TreeItem };
