Body
diff --git a/core/modules/text/templates/field--text-long.html.twig b/core/modules/text/templates/field--text-long.html.twig
new file mode 100644
index 0000000..5f201f0
--- /dev/null
+++ b/core/modules/text/templates/field--text-long.html.twig
@@ -0,0 +1 @@
+{% extends "@text/field--text.html.twig" %}
diff --git a/core/modules/text/templates/field--text-with-summary.html.twig b/core/modules/text/templates/field--text-with-summary.html.twig
new file mode 100644
index 0000000..5f201f0
--- /dev/null
+++ b/core/modules/text/templates/field--text-with-summary.html.twig
@@ -0,0 +1 @@
+{% extends "@text/field--text.html.twig" %}
diff --git a/core/modules/text/templates/field--text.html.twig b/core/modules/text/templates/field--text.html.twig
new file mode 100644
index 0000000..e9f9aca
--- /dev/null
+++ b/core/modules/text/templates/field--text.html.twig
@@ -0,0 +1,20 @@
+{% extends "@system/field.html.twig" %}
+{#
+/**
+ * @file
+ * Default theme implementation for a text field.
+ *
+ * A 'clearfix' class is added, because 'text' fields have a 'format' property
+ * that allows a Text Format to be associated with the entered text, which then
+ * applies filtering on output.
+ * A common use case is to align images to the left or right, and without this
+ * 'clearfix' class, such aligned images may be rendered outside of the 'text'
+ * field formatter's boundaries, and hence overlap with other fields.
+ * By setting the 'clearfix' class on all 'text' fields, we prevent that.
+ *
+ * @see https://www.drupal.org/node/2358529
+ *
+ * @ingroup themeable
+ */
+#}
+{% set attributes = attributes.addClass('clearfix') %}
diff --git a/core/modules/text/text.module b/core/modules/text/text.module
index 02140fe..233418a 100644
--- a/core/modules/text/text.module
+++ b/core/modules/text/text.module
@@ -39,6 +39,29 @@ function text_help($route_name, RouteMatchInterface $route_match) {
}
/**
+ * Implements hook_theme().
+ */
+function text_theme() {
+ return [
+ // Normally theme suggestion templates are only picked up when they are in
+ // themes. We explicitly define theme suggestions here so that the text
+ // field templates in core/modules/text/templates are picked up.
+ 'field__text' => [
+ 'render element' => 'elements',
+ 'base hook' => 'field',
+ ],
+ 'field__text_long' => [
+ 'render element' => 'elements',
+ 'base hook' => 'field',
+ ],
+ 'field__text_with_summary' => [
+ 'render element' => 'elements',
+ 'base hook' => 'field',
+ ],
+ ];
+}
+
+/**
* Generates a trimmed, formatted version of a text field value.
*
* If the end of the summary is not indicated using the delimiter