tagSolid method

Widget tagSolid(
  1. BuildContext context,
  2. String? text, {
  3. IconData? icon,
  4. BadgeColor color = BadgeColor.primary,
  5. BadgeHierarchy? hierarchy = BadgeHierarchy.primary,
  6. Function? onDelete,
  7. Function? onTap,
})

Implementation

Widget tagSolid(BuildContext context, String? text,
    {IconData? icon,
    BadgeColor color = BadgeColor.primary,
    BadgeHierarchy? hierarchy = BadgeHierarchy.primary,
    Function? onDelete,
    Function? onTap}) {
  Color bgColor = _getBGColor(context, color);

  return GestureDetector(
    onTap: () {
      if (onTap != null) {
        onTap();
      }
    },
    child: Chip(
      side: BorderSide(
          color: hierarchy == BadgeHierarchy.primary
              ? bgColor
              : bgColor.withOpacity(0.1),
          width: 1.5),
      materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
      labelPadding: EdgeInsets.zero,
      padding: EdgeInsets.only(
          left: DUI.spacing.lateralPaddingValue,
          right: DUI.spacing.lateralPaddingValue,
          top: DUI.spacing.lateralPaddingValue / 2 + 2,
          bottom: DUI.spacing.lateralPaddingValue / 2),
      backgroundColor:
          bgColor.withOpacity(hierarchy == BadgeHierarchy.primary ? 1 : 0.1),
      label: Row(
        mainAxisSize: MainAxisSize.min,
        children: [
          icon != null
              ? Icon(icon, size: 12, color: bgColor.calculateLuminance())
              : const SizedBox.shrink(),
          icon != null && text != null
              ? DUI.spacing.hSpacer(small: true)
              : const SizedBox.shrink(),
          text == null
              ? SizedBox.shrink()
              : DUI.text.xs(context, text,
                  bold: true, color: bgColor.calculateLuminance())
        ],
      ),
      onDeleted: onDelete != null
          ? () {
              onDelete();
            }
          : null,
      deleteIconColor: bgColor.calculateLuminance(),
      deleteIcon: Padding(
        padding: EdgeInsets.only(
            left: DUI.spacing.lateralPaddingValue / 2, bottom: 2),
        child:
            Icon(Icons.clear, size: 12, color: bgColor.calculateLuminance()),
      ),
    ),
  );
}