{"version":3,"file":"tab-title.mjs","sources":["../../../../../../../packages/components/tab/src/tab-title.tsx"],"sourcesContent":["import { computed, defineComponent } from 'vue'\nimport { useNamespace } from '@xzx-design/hooks'\nimport { tabTitleProps } from './types/tab-title'\n\nimport type { CSSProperties } from 'vue'\n\nexport const TabTitle = defineComponent({\n  props: tabTitleProps,\n  setup(props, { slots }) {\n    const { b, e, em, m } = useNamespace('tab')\n\n    // const props = defineProps(tabTitleProps)\n    // const slots = useSlots()\n\n    const style = computed(() => {\n      const style: CSSProperties = {}\n      const { type, color, disabled, isActive, activeColor, inactiveColor } =\n        props\n\n      const isCard = type === 'card'\n\n      // card theme color\n      if (color && isCard) {\n        style.borderColor = color\n\n        if (!disabled) {\n          if (isActive) {\n            style.backgroundColor = color\n          } else {\n            style.color = color\n          }\n        }\n      }\n\n      const titleColor = isActive ? activeColor : inactiveColor\n      if (titleColor) {\n        style.color = titleColor\n      }\n\n      return style\n    })\n\n    const renderText = () => {\n      const Text = (\n        // bem('text', { ellipsis: !props.scrollable })\n        <span class={[e('text'), !props.scrollable && em('text', 'ellipsis')]}>\n          {slots.title ? slots.title() : props.title}\n        </span>\n      )\n\n      // if (props.dot || (isDef(props.badge) && props.badge !== '')) {\n      //   return (\n      //     <Badge\n      //       dot={props.dot}\n      //       content={props.badge}\n      //       showZero={props.showZeroBadge}\n      //     >\n      //       {Text}\n      //     </Badge>\n      //   )\n      // }\n\n      return Text\n    }\n\n    return () => (\n      <div\n        id={props.id}\n        role=\"tab\"\n        class={[\n          b(),\n          m(props.type),\n          props.scrollable && !props.shrink && m('grow'),\n          props.shrink && m('shrink'),\n          props.isActive && m('active'),\n          props.disabled && m('disabled'),\n        ]}\n        style={style.value}\n        tabindex={props.disabled ? undefined : props.isActive ? 0 : -1}\n        aria-selected={props.isActive}\n        aria-disabled={props.disabled || undefined}\n        aria-controls={props.controls}\n        data-allow-mismatch=\"attribute\"\n      >\n        {renderText()}\n      </div>\n    )\n  },\n})\n"],"names":["TabTitle","defineComponent","props","tabTitleProps","setup","slots","b","e","em","m","useNamespace","style","computed","type","color","disabled","isActive","activeColor","inactiveColor","isCard","borderColor","backgroundColor","titleColor","renderText","Text","_createVNode","scrollable","title","id","shrink","value","undefined","controls"],"mappings":"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"}