From 446d99369133906b187dd3e7f1addadafc6c1a4c Mon Sep 17 00:00:00 2001
From: Eric Bremner <ebremner@uwaterloo.ca>
Date: Mon, 3 Oct 2022 14:40:37 -0400
Subject: [PATCH] ISTWCMS-5789: adding templates for media

---
 templates/content/media.html.twig             | 42 +++++++++++++++++++
 ...nt--field-uw-image--uw-cbl-image.html.twig |  3 ++
 ...--field-media-image--uw-mt-image.html.twig |  3 ++
 templates/fields/field.html.twig              | 38 +++++++++++++++++
 templates/fields/responsive-image.html.twig   | 20 +++++++++
 5 files changed, 106 insertions(+)
 create mode 100644 templates/content/media.html.twig
 create mode 100644 templates/fields/field--block-content--field-uw-image--uw-cbl-image.html.twig
 create mode 100644 templates/fields/field--media--field-media-image--uw-mt-image.html.twig
 create mode 100644 templates/fields/field.html.twig
 create mode 100644 templates/fields/responsive-image.html.twig

diff --git a/templates/content/media.html.twig b/templates/content/media.html.twig
new file mode 100644
index 00000000..31f1b5c0
--- /dev/null
+++ b/templates/content/media.html.twig
@@ -0,0 +1,42 @@
+{#
+/**
+ * @file
+ * Theme override to display a media item.
+ *
+ * Available variables:
+ * - name: Name of the media.
+ * - content: Media content.
+ *
+ * @see template_preprocess_media()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+  set classes = [
+  'media',
+  'media--type-' ~ media.bundle()|clean_class,
+  not media.isPublished() ? 'media--unpublished',
+  view_mode ? 'media--view-mode-' ~ view_mode|clean_class,
+]
+%}
+
+{% set modifier_classes = '' %}
+
+{% if attributes.class %}
+  {% set classes = classes | merge(attributes.class) %}
+{% endif %}
+
+{% for class in classes %}
+  {% set modifier_classes = modifier_classes ~ ' ' ~ class %}
+{% endfor %}
+
+{% embed '@layouts/media/media.twig' with {
+  'modifier_classes': modifier_classes
+}%}
+
+  {% block content %}
+    {{ content }}
+  {% endblock %}
+
+{% endembed %}
diff --git a/templates/fields/field--block-content--field-uw-image--uw-cbl-image.html.twig b/templates/fields/field--block-content--field-uw-image--uw-cbl-image.html.twig
new file mode 100644
index 00000000..18e9f3ea
--- /dev/null
+++ b/templates/fields/field--block-content--field-uw-image--uw-cbl-image.html.twig
@@ -0,0 +1,3 @@
+{% for item in items %}
+  {{ item.content }}
+{% endfor %}
diff --git a/templates/fields/field--media--field-media-image--uw-mt-image.html.twig b/templates/fields/field--media--field-media-image--uw-mt-image.html.twig
new file mode 100644
index 00000000..18e9f3ea
--- /dev/null
+++ b/templates/fields/field--media--field-media-image--uw-mt-image.html.twig
@@ -0,0 +1,3 @@
+{% for item in items %}
+  {{ item.content }}
+{% endfor %}
diff --git a/templates/fields/field.html.twig b/templates/fields/field.html.twig
new file mode 100644
index 00000000..29cd42c1
--- /dev/null
+++ b/templates/fields/field.html.twig
@@ -0,0 +1,38 @@
+{#
+/**
+ * @file
+ * Theme override for a field.
+ */
+#}
+{%
+  set classes = [
+  'uw-field',
+  'uw-field--name-' ~ field_name|clean_class,
+  'uw-field--type-' ~ field_type|clean_class,
+  'uw-field--label-' ~ label_display,
+]
+%}
+{%
+  set title_classes = [
+  'uw-field__label',
+  label_display == 'visually_hidden' ? 'visually-hidden',
+]
+%}
+{% if display_field_tag %}
+  <{{ field_tag|default('div') }}{{ attributes.addClass(classes, 'uw-field__items') }}>
+{% endif %}
+  {% if not label_hidden and display_label_tag %}
+    <{{ label_tag|default('div') }}{{ title_attributes.addClass(title_classes) }}>{{ label }}</{{ label_tag|default('div') }}>
+  {% endif %}
+  {% for item in items %}
+    {% if display_item_tag %}
+      <{{ field_item_tag|default('div') }}{{ item.attributes.addClass('uw-field__item') }}>
+    {% endif %}
+    {{ item.content }}
+    {% if display_item_tag %}
+      </{{ field_item_tag|default('div') }}>
+    {% endif %}
+  {% endfor %}
+{% if display_field_tag %}
+  </{{ field_tag|default('div') }}>
+{% endif %}
diff --git a/templates/fields/responsive-image.html.twig b/templates/fields/responsive-image.html.twig
new file mode 100644
index 00000000..1e684d5a
--- /dev/null
+++ b/templates/fields/responsive-image.html.twig
@@ -0,0 +1,20 @@
+{#
+/**
+ * @file
+ * Theme override of a responsive image.
+ *
+ * Available variables:
+ * - sources: The attributes of the <source> tags for this <picture> tag.
+ * - img_element: The controlling image, with the fallback image in srcset.
+ * - output_image_tag: Whether or not to output an <img> tag instead of a
+ *   <picture> tag.
+ *
+ * @see template_preprocess()
+ * @see template_preprocess_responsive_image()
+ */
+#}
+{% include "@components/responsive-image/responsive-image.twig" with {
+  "sources": sources,
+  "img_element": img_element['#uri'],
+  "alt": img_element['#alt']
+} %}
-- 
GitLab