import { Schema } from "effect";
import { h } from "vue";
import { Icon } from "@iconify/vue";
import { columnIdentityFields } from "../../../utils/shared.js";
export const type = "com.shwfed.table.column.drag-handle";
export const compatibilityDate = "2026-05-21";
export const metadata = {
  name: "\u62D6\u62FD",
  icon: "fluent:re-order-dots-vertical-20-regular"
};
export function schema(_configure) {
  return Schema.Struct({
    type: Schema.Literal(type),
    compatibilityDate: Schema.Literal(compatibilityDate),
    ...columnIdentityFields()
  }).annotations({ title: "DragHandleRenderer", description: "\u884C\u62D6\u62FD\u624B\u67C4\u5217" });
}
export function toColumnDef(_value) {
  return {
    header: () => h(Icon, {
      "icon": "fluent:re-order-dots-vertical-20-regular",
      "class": "size-3.5 text-zinc-400",
      "aria-hidden": "true"
    }),
    size: 40,
    enableSorting: false,
    enableResizing: false,
    enableHiding: false,
    meta: { grow: false }
  };
}
