import 'package:flutter/foundation.dart' show immutable; import 'package:flutter/material.dart' show Colors, PopupMenuEntry; import 'package:flutter/widgets.dart' show Color, ValueChanged, EdgeInsetsGeometry, TextStyle, EdgeInsets, TextOverflow; import '../../../../../flutter_quill.dart'; @immutable class QuillToolbarFontFamilyButtonExtraOptions { const QuillToolbarFontFamilyButtonExtraOptions({ required this.defaultDisplayText, required this.currentValue, }); final String defaultDisplayText; final String currentValue; } class QuillToolbarFontFamilyButtonOptions extends QuillToolbarBaseButtonOptions< QuillToolbarFontFamilyButtonOptions, QuillToolbarFontFamilyButtonExtraOptions> { const QuillToolbarFontFamilyButtonOptions({ required this.attribute, this.rawItemsMap, super.controller, super.iconData, super.afterButtonPressed, super.tooltip, super.iconTheme, super.childBuilder, this.onSelected, this.padding, this.style, this.width, this.initialValue, this.labelOverflow = TextOverflow.visible, this.overrideTooltipByFontFamily = false, this.itemHeight, this.itemPadding, this.defaultItemColor = Colors.red, this.renderFontFamilies = true, @Deprecated('It is not required because of `rawItemsMap`') this.items, this.highlightElevation = 1, this.hoverElevation = 1, this.fillColor, this.iconSize, }); final Color? fillColor; final double hoverElevation; final double highlightElevation; @Deprecated('It is not required because of `rawItemsMap`') final List>? items; /// By default it will be [fontFamilyValues] from [QuillToolbarConfigurations] /// You can override this if you want final Map? rawItemsMap; final ValueChanged? onSelected; final Attribute attribute; final EdgeInsetsGeometry? padding; final TextStyle? style; final double? width; final bool renderFontFamilies; final String? initialValue; final TextOverflow labelOverflow; final bool overrideTooltipByFontFamily; final double? itemHeight; final EdgeInsets? itemPadding; final Color? defaultItemColor; /// By default will use [globalIconSize] final double? iconSize; }