import { Schema } from "effect";
export { getStructFieldDescription, getStructFieldTitle } from "../../../../table/utils/schema-meta.js";
export const type = "com.shwfed.block.icon";
export const compatibilityDate = "2026-06-02";
export const metadata = {
  name: "\u56FE\u6807",
  icon: "fluent:emoji-20-regular",
  w: { initial: 4, min: 1, max: Infinity },
  h: { initial: 4, min: 1, max: Infinity }
};
export function schema(_configure, _blockRef) {
  return Schema.Struct({
    id: Schema.UUID.annotations({ description: "\u5757\u552F\u4E00\u6807\u8BC6" }),
    type: Schema.tag(type),
    compatibilityDate: Schema.tag(compatibilityDate),
    displayName: Schema.optional(Schema.String.annotations({
      title: "\u5185\u90E8\u540D\u79F0",
      description: "\u4EC5\u5728\u7F16\u8F91\u5668\u5185\u53EF\u89C1\u7684\u5757\u540D\uFF0C\u7528\u4E8E\u5728\u4FA7\u8FB9\u680F\u548C\u5E03\u5C40\u7F16\u8F91\u5668\u4E2D\u8BC6\u522B\u5757\uFF1B\u8FD0\u884C\u65F6\u4E0D\u5C55\u793A"
    })),
    icon: Schema.String.pipe(Schema.minLength(1)).annotations({
      title: "\u56FE\u6807",
      description: "Iconify \u56FE\u6807\u6807\u8BC6\u7B26\uFF0C\u5982 `fluent:add-20-regular`\uFF1B\u53EF\u5728\u56FE\u6807\u6D4F\u89C8\u5668\u4E2D\u67E5\u627E"
    }),
    color: Schema.optional(Schema.String.annotations({
      title: "\u989C\u8272",
      description: "\u56FE\u6807\u989C\u8272\uFF08\u4EFB\u610F CSS \u989C\u8272\uFF0C\u5982 `#4f46e5`\uFF09\uFF1B\u7559\u7A7A\u5219\u7EE7\u627F\u6587\u672C\u989C\u8272\u3002\u5F00\u542F\u5706\u73AF\u65F6\u5706\u73AF\u80CC\u666F\u4E3A\u8BE5\u989C\u8272\u4E0E\u767D\u8272\u6309 2:8 \u6DF7\u5408"
    })),
    size: Schema.optional(
      Schema.Number.pipe(Schema.int(), Schema.positive()).annotations({
        title: "\u5927\u5C0F",
        description: "\u56FE\u6807\u5C3A\u5BF8\uFF0C\u5355\u4F4D\u4E3A `0.25rem`\uFF08\u540C Tailwind \u95F4\u8DDD\u523B\u5EA6\uFF0C\u5B9E\u9645\u5C3A\u5BF8\u4E3A `calc(n * 0.25rem)`\uFF09\uFF0C\u6B63\u6574\u6570\uFF1B\u7559\u7A7A\u5219\u4F7F\u7528\u9ED8\u8BA4 8\uFF08\u5373 `2rem`\uFF09"
      })
    ),
    circle: Schema.optional(Schema.Boolean.annotations({
      title: "\u5706\u73AF",
      description: "\u5F00\u542F\u540E\u5C06\u56FE\u6807\u5305\u88F9\u5728\u4E00\u4E2A\u5706\u5F62\u80CC\u666F\u4E2D\uFF08\u80CC\u666F\u8272\u4E3A\u56FE\u6807\u989C\u8272\u4E0E\u767D\u8272\u6309 2:8 \u6DF7\u5408\uFF09"
    }))
  }).annotations({
    title: "\u56FE\u6807\u5757",
    description: "\u6E32\u67D3\u5355\u4E2A Iconify \u56FE\u6807\u4F5C\u4E3A\u9875\u9762\u5757"
  });
}
export function defaultBody() {
  return { icon: "" };
}
