@stratakit/react
Version:
A React component library for StrataKit
45 lines (44 loc) • 1.43 kB
JavaScript
import { jsx, jsxs } from "react/jsx-runtime";
import * as React from "react";
import { Icon } from "@stratakit/foundations";
import { unstable_AccordionItem as SkAccordionItem } from "@stratakit/structures";
import { useCompatProps } from "./~utils.js";
const ExpandableBlock = React.forwardRef((props, forwardedRef) => {
const {
isExpanded,
onToggle,
children,
title,
endIcon,
// PARTIALLY IMPLEMENTED
disabled,
// PARTIALLY IMPLEMENTED
// biome-ignore-start lint/correctness/noUnusedVariables: NOT IMPLEMENTED
status,
size,
styleType,
caption,
// biome-ignore-end lint/correctness/noUnusedVariables: NOT IMPLEMENTED
...rest
} = useCompatProps(props);
return /* @__PURE__ */ jsxs(
SkAccordionItem.Root,
{
...rest,
ref: forwardedRef,
open: isExpanded,
setOpen: onToggle,
children: [
/* @__PURE__ */ jsxs(SkAccordionItem.Header, { children: [
/* @__PURE__ */ jsx(SkAccordionItem.Marker, {}),
/* @__PURE__ */ jsx(SkAccordionItem.Button, { disabled, children: /* @__PURE__ */ jsx(SkAccordionItem.Label, { children: title }) }),
endIcon ? /* @__PURE__ */ jsx(SkAccordionItem.Decoration, { children: /* @__PURE__ */ jsx(Icon, { render: endIcon }) }) : null
] }),
/* @__PURE__ */ jsx(SkAccordionItem.Content, { children })
]
}
);
});
export {
ExpandableBlock
};