# MUIText Button

A customizable text button by ModularUI with optional icons.

### Properties

* `text`: The Text to display inside the button.
* `onPressed`: On Pressed Function.
* `bgColor`: Background Color when the text button is pressed, default: grey.
* `textColor`: Text Color of the Text Button, default: black.
* `borderRadius`: Border Radius for Text Button, default: 10.
* `animationDuration`: Animation Duration in Milliseconds, default: 250 ms.
* `hapticsEnabled`: Enables Light Haptic Feedback.
* `widthFactor`: A double value which gets multiplied by the current screen width when the button is pressed, default: 0.04.
* `heightFactor`: A double value which gets multiplied by the current screen height when the button is pressed, default: 0.03.
* `maxHorizontalPadding`: A double value which determines maximum horizontal padding a button can accumulate. Play with this value if you want to use the button on a larger screen size, default: 70.
* `leadingIcon`: Optional leading icon for the button.
* `actionIcon`: Optional action icon for the button.
* `iconColor`: Icon color for both leading and action icons, default: white.

### Example Usage

{% embed url="https://sunny-cassata-dfe2d4.netlify.app/#/textbutton" %}
Text Button
{% endembed %}

```dart
MUITextButton(
  text: "Text Button",
  onPressed: () {},
)
```

### **Notes**

* This component uses a **`GestureDetector`** to handle tap events and provides customizable visual feedback.
* The button adjusts its appearance based on whether it is pressed or not, providing a visual indication of interaction.
* Icons can be added to the leading and action positions with customizable colors and sizes.
* Haptic feedback can be enabled for a subtle tactile response.
