attach method

  1. @override
Widget? attach(
  1. BuildContext context,
  2. T controller
)
override

Implementation

@override
Widget? attach(BuildContext context, T controller) {
  if (controller.iconOnly) {
    return _Icon(
      controller: controller,
      visible: controller.icon != null,
    );
  }
  return controller.isCenterText
      ? Stack(
          alignment: Alignment.center,
          children: [
            _Text(controller: controller),
            _Icon(
              controller: controller,
              visible: controller.icon != null,
            ),
          ],
        )
      : Row(
          mainAxisSize: MainAxisSize.min,
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            _Icon(
              controller: controller,
              visible: controller.isStartIconVisible,
            ),
            if (controller.isStartIconFlex) const Spacer(),
            _Text(controller: controller),
            if (controller.isEndIconFlex) const Spacer(),
            _Icon(
              controller: controller,
              visible: controller.isEndIconVisible,
            ),
          ],
        );
}