import { makeComponentProps } from '@/composables/component'
import { makeTagProps } from '@/composables/tag'
import { genericComponent, propsFactory } from '@/utils'
import { ExtractPropTypes } from 'vue'

export const makeUTableCellTextProps = propsFactory(
  {
    ...makeComponentProps(),
    ...makeTagProps(),
  },
  'UTableCellText'
)

export type UTableCellTextProps = ExtractPropTypes<
  typeof makeUTableCellTextProps
>

export type UTableCellTextSlots = {
  default: never
}

export const UTableCellText = genericComponent<UTableCellTextSlots>()({
  name: 'UTableCellText',

  props: makeUTableCellTextProps(),

  emits: {
    //
  },

  setup(props, { emit, slots }) {
    //

    return () => (
      <span class="overflow-hidden overflow-ellipsis text-sm font-medium text-gray-900">
        {slots.default?.()}
      </span>
    )
  },
})

export type UTableCellText = InstanceType<typeof UTableCellText>
