import { css, cx } from "@linaria/core";
import { string } from "vue-types";
import { useCompData } from ".";
import { Text } from "../../../basicUI";
import { createUIComp } from "../../../defines/createUIComp";

export const Component = createUIComp({
  props: {
    compId: string().isRequired,
  },
  setup(props) {
    const { children } = useCompData(props.compId);

    return () => (
      <div class="flex items-center justify-center px-0.1rem">
        <div class={cx(border, "left w-0.5rem text-0.24rem text-right")}>
          &frasl; &frasl;
        </div>
        <Text.Component
          class="px-0.5rem max-w-4.8rem"
          compId={children.title}
        />
        <div class={cx(border, "right w-0.5rem text-0.24rem")}>
          &frasl; &frasl;
        </div>
      </div>
    );
  },
});

const border = css`
  position: relative;
  color: #999;
  &::after {
    content: "";
    position: absolute;
    bottom: 50%;
    width: 100%;
    height: 1px;
    background-color: currentColor;
  }
  &.left {
    &::after {
      left: 0.06rem;
    }
  }
  &.right {
    &::after {
      left: -0.06rem;
    }
  }
`;
