/* eslint-disable react/no-multi-comp */ import classnames from 'classnames' import React, { useContext } from 'react' import { buildCss } from '../../utilities/props' import { globalProps } from '../../utilities/globalProps' import Flex from '../../pb_flex/_flex' import FlexItem from '../../pb_flex/_flex_item' import Icon, { IconSizes } from "../../pb_icon/_icon" import CollapsibleContext from '../context' type colorMap = { default: string, light: string, lighter: string, link: string, error: string, success: string } const colorMap = { default: "#242B42", light: "#687887", lighter: "#C1CDD6", link: "#0056CF", error: "#FF2229", success: "#00CA74", } type CollapsibleMainProps = { children: React.ReactNode[] | React.ReactNode, className?: string, cursor?: string, } type IconColors = "default" | "light" | "lighter" | "link" | "error" | "success" type IconProps = { collapsed: boolean | (()=> void) icon?: string[] | string iconColor?: IconColors iconSize?: IconSizes } const ToggleIcon = ({ collapsed, icon, iconSize, iconColor }: IconProps) => { const color = colorMap[iconColor] const showIcon = (icon: string |string[]) => { if (typeof icon === "string") { return [icon, icon] } return icon } return ( <> {collapsed ? (