import 'dart:ui';

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:markdown_widget/widget/markdown_block.dart';
import 'package:markdown_widget/markdown_widget.dart';


class MarkdownSelectableText extends StatelessWidget {
  final String data;
  final TextStyle style;

  const MarkdownSelectableText(
      this.data, {
        Key? key,
        TextStyle? style,
      })  : style = style ?? const TextStyle(),
        super(key: key);


  @override
  Widget build(BuildContext context) {
    return MarkdownBlock(
      data: data,
      selectable: true,
      config: MarkdownConfig(configs:
      [
        // 段落
        PConfig(textStyle:style),

        // 标题 H1..H6（保留原始大小/粗细，但强制颜色）
        H1Config(style: style),
        H2Config(style: style),
        H3Config(style: style),
        H4Config(style: style),
        H5Config(style: style),
        H6Config(style: style),

        // 链接（去掉下划线的话加 decoration: TextDecoration.none）
        LinkConfig(style: style),

        // 行内代码 / 代码块
        CodeConfig(style: style),
        PreConfig(
          textStyle: style,
          styleNotMatched:style,

        ),

        // 引用块：它用单独的 textColor 字段
        BlockquoteConfig(textColor: style.color??Colors.black),

        // 表格头/体
        TableConfig(headerStyle: style, bodyStyle: style),
      ]),
    );
  }
}
