import "root:/modules/common" import "root:/modules/common/functions/color_utils.js" as ColorUtils import QtQuick import QtQuick.Controls.Material import QtQuick.Controls /** * Material 3 styled TextArea (filled style) * https://m3.material.io/components/text-fields/overview * Note: We don't use NativeRendering because it makes the small placeholder text look weird */ TextArea { id: root Material.theme: Material.System Material.accent: Appearance.m3colors.m3primary Material.primary: Appearance.m3colors.m3primary Material.background: Appearance.m3colors.m3surface Material.foreground: Appearance.m3colors.m3onSurface Material.containerStyle: Material.Filled renderType: Text.QtRendering selectedTextColor: Appearance.m3colors.m3onSecondaryContainer selectionColor: Appearance.colors.colSecondaryContainer placeholderTextColor: Appearance.m3colors.m3outline background: Rectangle { implicitHeight: 56 color: Appearance.m3colors.m3surface topLeftRadius: 4 topRightRadius: 4 Rectangle { anchors { left: parent.left right: parent.right bottom: parent.bottom } height: 1 color: root.focus ? Appearance.m3colors.m3primary : root.hovered ? Appearance.m3colors.m3outline : Appearance.m3colors.m3outlineVariant Behavior on color { animation: Appearance.animation.elementMoveFast.colorAnimation.createObject(this) } } } font { family: Appearance?.font.family.main ?? "sans-serif" pixelSize: Appearance?.font.pixelSize.small ?? 15 hintingPreference: Font.PreferFullHinting } wrapMode: TextEdit.Wrap }