From 433755a5344661ff6939ca8e9838855ed61af43d Mon Sep 17 00:00:00 2001 From: Pamela Barone <pam@technocrat.com.au> Date: Thu, 19 Dec 2024 18:13:32 +1000 Subject: [PATCH 01/10] Update default display for theming --- ...entity_view_display.node.event.default.yml | 410 ++++++++++++++++-- 1 file changed, 378 insertions(+), 32 deletions(-) diff --git a/recipes/drupal_cms_events/config/core.entity_view_display.node.event.default.yml b/recipes/drupal_cms_events/config/core.entity_view_display.node.event.default.yml index 322f03af9..afb684151 100644 --- a/recipes/drupal_cms_events/config/core.entity_view_display.node.event.default.yml +++ b/recipes/drupal_cms_events/config/core.entity_view_display.node.event.default.yml @@ -3,37 +3,352 @@ status: true dependencies: config: - field.field.node.event.field_content - - field.field.node.event.field_event__date - field.field.node.event.field_description - - field.field.node.event.field_featured_image + - field.field.node.event.field_event__date - field.field.node.event.field_event__file - - field.field.node.event.field_geofield - field.field.node.event.field_event__link - field.field.node.event.field_event__location_address + - field.field.node.event.field_event__location_name + - field.field.node.event.field_featured_image + - field.field.node.event.field_geofield - field.field.node.event.field_tags - node.type.event module: - address + - date_augmenter + - layout_builder + - leaflet - link - - media - smart_date - text - user +third_party_settings: + layout_builder: + enabled: true + allow_custom: false + sections: + - + layout_id: layout_onecol + layout_settings: + label: '' + components: + f5b85d4d-8778-4f04-b8dc-10a8bc93a0da: + uuid: f5b85d4d-8778-4f04-b8dc-10a8bc93a0da + region: content + configuration: + id: 'extra_field_block:node:event:content_moderation_control' + label_display: '0' + context_mapping: + entity: layout_builder.entity + weight: 0 + additional: { } + 9e37902f-f63b-4b61-8d77-5150c2410269: + uuid: 9e37902f-f63b-4b61-8d77-5150c2410269 + region: content + configuration: + id: 'field_block:node:event:field_featured_image' + label_display: '0' + context_mapping: + entity: layout_builder.entity + formatter: + type: entity_reference_entity_view + label: hidden + settings: + view_mode: 16_9_wide + link: false + third_party_settings: { } + weight: 1 + additional: { } + c871a72e-ca57-411e-958c-539fec3529e1: + uuid: c871a72e-ca57-411e-958c-539fec3529e1 + region: content + configuration: + id: 'field_block:node:event:field_event__date' + label_display: '0' + context_mapping: + entity: layout_builder.entity + formatter: + type: smartdate_default + label: hidden + settings: + timezone_override: '' + format_type: medium + format: default + force_chronological: false + add_classes: false + time_wrapper: true + localize: false + parts: + start: start + end: end + duration: '0' + duration: + separator: ' | ' + unit: '' + decimals: 2 + suffix: h + third_party_settings: + date_augmenter: + instances: + status: + addtocal: false + weights: + order: + addtocal: + weight: 0 + settings: + addtocal: + label: 'Add to calendar' + event_title: '' + location: '' + description: '' + retain_spacing: false + icons: true + max_desc: 60 + ellipsis: true + past_events: false + target: '' + ignore_timezone_if_UTC: true + augmenter_settings: + fields__field_event__date__settings_edit_form__third_party_settings__date_augmenter__instances__augmenter_settings__active_tab: '' + weight: 2 + additional: { } + b7c7acc3-674f-4137-94ff-200371a54d3c: + uuid: b7c7acc3-674f-4137-94ff-200371a54d3c + region: content + configuration: + id: 'field_block:node:event:field_event__location_name' + label_display: '0' + context_mapping: + entity: layout_builder.entity + formatter: + type: string + label: hidden + settings: + link_to_entity: false + third_party_settings: { } + weight: 3 + additional: { } + 9158e8c8-7578-48c1-a8f2-659d8e80706e: + uuid: 9158e8c8-7578-48c1-a8f2-659d8e80706e + region: content + configuration: + id: 'field_block:node:event:field_event__location_address' + label_display: '0' + context_mapping: + entity: layout_builder.entity + formatter: + type: address_default + label: hidden + settings: { } + third_party_settings: { } + weight: 4 + additional: { } + 0561765a-b1af-4ce8-a01e-cd1f75d3e4aa: + uuid: 0561765a-b1af-4ce8-a01e-cd1f75d3e4aa + region: content + configuration: + id: 'field_block:node:event:field_geofield' + label_display: '0' + context_mapping: + entity: layout_builder.entity + formatter: + type: leaflet_formatter_default + label: hidden + settings: + multiple_map: false + leaflet_map: 'OSM Mapnik' + height: 400 + height_unit: px + hide_empty_map: true + disable_wheel: false + gesture_handling: false + fitbounds_options: '{"padding":[0,0]}' + reset_map: + control: false + options: '{"position":"topleft","title":"Reset View"}' + map_scale: + control: false + options: '{"position":"bottomright","maxWidth":100,"metric":true,"imperial":false,"updateWhenIdle":false}' + locate: + control: false + options: '{"position":"topright","setView":"untilPanOrZoom","returnToPrevBounds":true,"keepCurrentZoomLevel":true,"strings":{"title":"Locate my position"}}' + automatic: false + leaflet_tooltip: + value: '' + options: '{"permanent":false,"direction":"center"}' + popup: false + popup_content: '' + leaflet_popup: + control: '0' + content: '' + options: '{"maxWidth":"300","minWidth":"50","autoPan":true}' + map_position: + force: false + center: + lat: 0.0 + lon: 0.0 + zoomControlPosition: topleft + zoom: 12 + minZoom: 1 + maxZoom: 20 + zoomFiner: 0 + icon: + iconType: marker + iconUrl: '' + shadowUrl: '' + className: '' + iconSize: + x: '' + 'y': '' + iconAnchor: + x: '' + 'y': '' + shadowSize: + x: '' + 'y': '' + shadowAnchor: + x: '' + 'y': '' + popupAnchor: + x: '' + 'y': '' + html: '<div></div>' + html_class: leaflet-map-divicon + circle_marker_options: '{"radius":100,"color":"red","fillColor":"#f03","fillOpacity":0.5}' + leaflet_markercluster: + control: false + options: '{"spiderfyOnMaxZoom":true,"showCoverageOnHover":true,"removeOutsideVisibleBounds": false}' + excluded: '' + include_path: false + fullscreen: + control: false + options: '{"position":"topleft","pseudoFullscreen":false}' + path: '{"color":"#3388ff","opacity":"1.0","stroke":true,"weight":3,"fill":"depends","fillColor":"*","fillOpacity":"0.2","radius":"6"}' + feature_properties: + values: '' + geocoder: + control: false + settings: + autocomplete: + placeholder: 'Search Address' + title: 'Search an Address on the Map' + position: topright + input_size: 20 + providers: + nominatim: + weight: 0 + checked: false + min_terms: 4 + delay: 800 + zoom: 16 + popup: false + options: '' + map_lazy_load: + lazy_load: true + weight: 0 + third_party_settings: { } + weight: 5 + additional: { } + 91e4b920-2499-4e9f-8e36-2aa11774306e: + uuid: 91e4b920-2499-4e9f-8e36-2aa11774306e + region: content + configuration: + id: 'field_block:node:event:field_content' + label_display: '0' + context_mapping: + entity: layout_builder.entity + formatter: + type: text_default + label: hidden + settings: { } + third_party_settings: { } + weight: 6 + additional: { } + dc70d8af-07f7-45ce-82f6-31b1efecbb8f: + uuid: dc70d8af-07f7-45ce-82f6-31b1efecbb8f + region: content + configuration: + id: 'field_block:node:event:field_event__link' + label_display: '0' + context_mapping: + entity: layout_builder.entity + formatter: + type: link + label: hidden + settings: + trim_length: 80 + url_only: false + url_plain: false + rel: '' + target: '' + third_party_settings: { } + weight: 7 + additional: { } + d33af099-0948-4a26-ade1-c9c981606e2f: + uuid: d33af099-0948-4a26-ade1-c9c981606e2f + region: content + configuration: + id: 'field_block:node:event:field_event__file' + label_display: '0' + context_mapping: + entity: layout_builder.entity + formatter: + type: entity_reference_entity_view + label: hidden + settings: + view_mode: default + link: false + third_party_settings: { } + weight: 8 + additional: { } + a6267978-afeb-4ea9-8d3f-f96aa64d58ab: + uuid: a6267978-afeb-4ea9-8d3f-f96aa64d58ab + region: content + configuration: + id: 'field_block:node:event:field_tags' + label_display: '0' + context_mapping: + entity: layout_builder.entity + formatter: + type: entity_reference_label + label: inline + settings: + link: true + third_party_settings: { } + weight: 9 + additional: { } + 84ed9f13-a48e-4f70-b52b-da53c0f45335: + uuid: 84ed9f13-a48e-4f70-b52b-da53c0f45335 + region: content + configuration: + id: 'extra_field_block:node:event:links' + label_display: '0' + context_mapping: + entity: layout_builder.entity + weight: 10 + additional: { } + third_party_settings: { } id: node.event.default targetEntityType: node bundle: event mode: default content: + content_moderation_control: + settings: { } + third_party_settings: { } + weight: 0 + region: content field_content: type: text_default label: hidden settings: { } third_party_settings: { } - weight: 0 + weight: 6 region: content field_event__date: type: smartdate_default - label: above + label: hidden settings: timezone_override: '' format_type: medium @@ -43,27 +358,40 @@ content: time_wrapper: true localize: false parts: - - start - - end + start: start + end: end + duration: '0' duration: separator: ' | ' unit: '' decimals: 2 suffix: h - third_party_settings: { } + third_party_settings: + date_augmenter: + instances: + status: + addtocal: false + weights: + order: + addtocal: + weight: 0 + settings: + addtocal: + label: 'Add to calendar' + event_title: '' + location: '' + description: '' + retain_spacing: false + icons: true + max_desc: 60 + ellipsis: true + past_events: false + target: '' + ignore_timezone_if_UTC: true + augmenter_settings: + fields__field_event__date__settings_edit_form__third_party_settings__date_augmenter__instances__augmenter_settings__active_tab: '' weight: 2 region: content - field_featured_image: - type: media_thumbnail - label: hidden - settings: - image_link: '' - image_style: '' - image_loading: - attribute: eager - third_party_settings: { } - weight: 0 - region: content field_event__file: type: entity_reference_entity_view label: hidden @@ -71,7 +399,7 @@ content: view_mode: default link: false third_party_settings: { } - weight: 5 + weight: 8 region: content field_event__link: type: link @@ -83,7 +411,31 @@ content: rel: '' target: '' third_party_settings: { } - weight: 6 + weight: 7 + region: content + field_event__location_address: + type: address_default + label: hidden + settings: { } + third_party_settings: { } + weight: 4 + region: content + field_event__location_name: + type: string + label: hidden + settings: + link_to_entity: false + third_party_settings: { } + weight: 3 + region: content + field_featured_image: + type: entity_reference_entity_view + label: hidden + settings: + view_mode: 16_9_wide + link: false + third_party_settings: { } + weight: 1 region: content field_geofield: type: leaflet_formatter_default @@ -179,15 +531,9 @@ content: options: '' map_lazy_load: lazy_load: true + weight: 0 third_party_settings: { } - weight: 3 - region: content - field_event__location_address: - type: address_default - label: above - settings: { } - third_party_settings: { } - weight: 3 + weight: 5 region: content field_tags: type: entity_reference_label @@ -195,7 +541,7 @@ content: settings: link: true third_party_settings: { } - weight: 7 + weight: 9 region: content field_when: type: smartdate_default @@ -238,7 +584,7 @@ content: links: settings: { } third_party_settings: { } - weight: 100 + weight: 10 region: content hidden: field_description: true -- GitLab From 27be6cc202e85fca541d7ada6b7d295149bbd86a Mon Sep 17 00:00:00 2001 From: Pamela Barone <pam@technocrat.com.au> Date: Thu, 19 Dec 2024 18:26:16 +1000 Subject: [PATCH 02/10] Update default zoom --- .../config/core.entity_view_display.node.event.default.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/drupal_cms_events/config/core.entity_view_display.node.event.default.yml b/recipes/drupal_cms_events/config/core.entity_view_display.node.event.default.yml index afb684151..6272ecbbf 100644 --- a/recipes/drupal_cms_events/config/core.entity_view_display.node.event.default.yml +++ b/recipes/drupal_cms_events/config/core.entity_view_display.node.event.default.yml @@ -474,7 +474,7 @@ content: lat: 0.0 lon: 0.0 zoomControlPosition: topleft - zoom: 12 + zoom: 14 minZoom: 1 maxZoom: 20 zoomFiner: 0 -- GitLab From c5bdd4506521039f9aad1d2d751c32c117ed42b3 Mon Sep 17 00:00:00 2001 From: Pamela Barone <pam@technocrat.com.au> Date: Thu, 19 Dec 2024 18:35:43 +1000 Subject: [PATCH 03/10] Update smart date formats to be international-friendly --- .../smart_date.smart_date_format.compact.yml | 17 +++++++++++++++++ .../smart_date.smart_date_format.date_only.yml | 17 +++++++++++++++++ .../smart_date.smart_date_format.default.yml | 17 +++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 recipes/drupal_cms_events/config/smart_date.smart_date_format.compact.yml create mode 100644 recipes/drupal_cms_events/config/smart_date.smart_date_format.date_only.yml create mode 100644 recipes/drupal_cms_events/config/smart_date.smart_date_format.default.yml diff --git a/recipes/drupal_cms_events/config/smart_date.smart_date_format.compact.yml b/recipes/drupal_cms_events/config/smart_date.smart_date_format.compact.yml new file mode 100644 index 000000000..0b291ca23 --- /dev/null +++ b/recipes/drupal_cms_events/config/smart_date.smart_date_format.compact.yml @@ -0,0 +1,17 @@ +uuid: ac73ed37-e984-4a23-a6b8-6a921030a9a4 +langcode: en +status: true +dependencies: { } +_core: + default_config_hash: 3k0ojgMLZae-f358WLWxfKYddQPSaQSnIdAKiYw2wnY +id: compact +label: Compact +date_format: 'j M Y' +time_format: 'g:ia' +time_hour_format: ga +allday_label: '' +separator: ' - ' +join: ' | ' +ampm_reduce: '1' +date_first: '1' +site_time_toggle: '1' diff --git a/recipes/drupal_cms_events/config/smart_date.smart_date_format.date_only.yml b/recipes/drupal_cms_events/config/smart_date.smart_date_format.date_only.yml new file mode 100644 index 000000000..b52e31e08 --- /dev/null +++ b/recipes/drupal_cms_events/config/smart_date.smart_date_format.date_only.yml @@ -0,0 +1,17 @@ +uuid: 4eddf36a-265e-4139-b4ef-36bba3b5bc5f +langcode: en +status: true +dependencies: { } +_core: + default_config_hash: 7nuRA2AaypQtPD_xr-tJAwYM67JCE408LQngMZ9rKWw +id: date_only +label: 'Date Only' +date_format: 'D, j M Y' +time_format: '' +time_hour_format: '' +allday_label: '' +separator: ' - ' +join: ', ' +ampm_reduce: '1' +date_first: '1' +site_time_toggle: '1' diff --git a/recipes/drupal_cms_events/config/smart_date.smart_date_format.default.yml b/recipes/drupal_cms_events/config/smart_date.smart_date_format.default.yml new file mode 100644 index 000000000..e78cd61c3 --- /dev/null +++ b/recipes/drupal_cms_events/config/smart_date.smart_date_format.default.yml @@ -0,0 +1,17 @@ +uuid: c81b1d57-0753-4a3d-bf2d-36b64526babb +langcode: en +status: true +dependencies: { } +_core: + default_config_hash: QOzaA8j2871_aWBJyVZm_LqREilQnXZqRuk3HNANrEo +id: default +label: Default +date_format: 'D, j M Y' +time_format: 'g:ia' +time_hour_format: ga +allday_label: '' +separator: ' - ' +join: ', ' +ampm_reduce: '1' +date_first: '1' +site_time_toggle: '1' -- GitLab From 76cb0d3dc8be3a4b53b1bbba107eee583143b3d3 Mon Sep 17 00:00:00 2001 From: Pamela Barone <pam@technocrat.com.au> Date: Thu, 19 Dec 2024 18:37:03 +1000 Subject: [PATCH 04/10] Oops remove uuids --- .../config/smart_date.smart_date_format.compact.yml | 3 --- .../config/smart_date.smart_date_format.date_only.yml | 3 --- .../config/smart_date.smart_date_format.default.yml | 3 --- 3 files changed, 9 deletions(-) diff --git a/recipes/drupal_cms_events/config/smart_date.smart_date_format.compact.yml b/recipes/drupal_cms_events/config/smart_date.smart_date_format.compact.yml index 0b291ca23..b6a873918 100644 --- a/recipes/drupal_cms_events/config/smart_date.smart_date_format.compact.yml +++ b/recipes/drupal_cms_events/config/smart_date.smart_date_format.compact.yml @@ -1,9 +1,6 @@ -uuid: ac73ed37-e984-4a23-a6b8-6a921030a9a4 langcode: en status: true dependencies: { } -_core: - default_config_hash: 3k0ojgMLZae-f358WLWxfKYddQPSaQSnIdAKiYw2wnY id: compact label: Compact date_format: 'j M Y' diff --git a/recipes/drupal_cms_events/config/smart_date.smart_date_format.date_only.yml b/recipes/drupal_cms_events/config/smart_date.smart_date_format.date_only.yml index b52e31e08..90da542ba 100644 --- a/recipes/drupal_cms_events/config/smart_date.smart_date_format.date_only.yml +++ b/recipes/drupal_cms_events/config/smart_date.smart_date_format.date_only.yml @@ -1,9 +1,6 @@ -uuid: 4eddf36a-265e-4139-b4ef-36bba3b5bc5f langcode: en status: true dependencies: { } -_core: - default_config_hash: 7nuRA2AaypQtPD_xr-tJAwYM67JCE408LQngMZ9rKWw id: date_only label: 'Date Only' date_format: 'D, j M Y' diff --git a/recipes/drupal_cms_events/config/smart_date.smart_date_format.default.yml b/recipes/drupal_cms_events/config/smart_date.smart_date_format.default.yml index e78cd61c3..99ec3137a 100644 --- a/recipes/drupal_cms_events/config/smart_date.smart_date_format.default.yml +++ b/recipes/drupal_cms_events/config/smart_date.smart_date_format.default.yml @@ -1,9 +1,6 @@ -uuid: c81b1d57-0753-4a3d-bf2d-36b64526babb langcode: en status: true dependencies: { } -_core: - default_config_hash: QOzaA8j2871_aWBJyVZm_LqREilQnXZqRuk3HNANrEo id: default label: Default date_format: 'D, j M Y' -- GitLab From a0095650f0dba598d5c329712060ff81ae8bf9dd Mon Sep 17 00:00:00 2001 From: Pamela Barone <pam@technocrat.com.au> Date: Tue, 7 Jan 2025 16:36:26 +1000 Subject: [PATCH 05/10] Merge 1.x and fix smart_date import --- .../config/core.entity_view_display.node.event.default.yml | 4 ++-- recipes/drupal_cms_events/recipe.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/drupal_cms_events/config/core.entity_view_display.node.event.default.yml b/recipes/drupal_cms_events/config/core.entity_view_display.node.event.default.yml index 6272ecbbf..46ad49b41 100644 --- a/recipes/drupal_cms_events/config/core.entity_view_display.node.event.default.yml +++ b/recipes/drupal_cms_events/config/core.entity_view_display.node.event.default.yml @@ -54,7 +54,7 @@ third_party_settings: type: entity_reference_entity_view label: hidden settings: - view_mode: 16_9_wide + view_mode: hero link: false third_party_settings: { } weight: 1 @@ -158,7 +158,7 @@ third_party_settings: settings: multiple_map: false leaflet_map: 'OSM Mapnik' - height: 400 + height: 280 height_unit: px hide_empty_map: true disable_wheel: false diff --git a/recipes/drupal_cms_events/recipe.yml b/recipes/drupal_cms_events/recipe.yml index 3b589f4aa..795ffc3a1 100644 --- a/recipes/drupal_cms_events/recipe.yml +++ b/recipes/drupal_cms_events/recipe.yml @@ -28,7 +28,7 @@ config: - field.storage.node.field_location_address import: geofield: '*' - smart_date: "*" + smart_date: '*' system: - system.menu.main actions: -- GitLab From 4fd1a05c5a5c4da0aa5870f1c663d1cb2b4dc4cb Mon Sep 17 00:00:00 2001 From: Mike Herchel <mike@herchel.com> Date: Tue, 7 Jan 2025 20:00:14 -0500 Subject: [PATCH 06/10] Styling for event content type. --- drupal_cms_olivero/css/base/buttons.css | 27 ++++++++ drupal_cms_olivero/css/base/typography.css | 68 +++++++++++++++++++ .../css/components/event-full.css | 58 ++++++++++++++++ .../drupal_cms_olivero.libraries.yml | 7 ++ drupal_cms_olivero/images/download.svg | 3 + drupal_cms_olivero/images/external.svg | 3 + ...ield-event--date--event--default.html.twig | 39 +++++++++++ ...--node--field-event--link--event.html.twig | 37 ++++++++++ ...t--location-name--event--default.html.twig | 37 ++++++++++ 9 files changed, 279 insertions(+) create mode 100644 drupal_cms_olivero/css/base/buttons.css create mode 100644 drupal_cms_olivero/css/base/typography.css create mode 100644 drupal_cms_olivero/css/components/event-full.css create mode 100644 drupal_cms_olivero/images/download.svg create mode 100644 drupal_cms_olivero/images/external.svg create mode 100644 drupal_cms_olivero/templates/field/field--node--field-event--date--event--default.html.twig create mode 100644 drupal_cms_olivero/templates/field/field--node--field-event--link--event.html.twig create mode 100644 drupal_cms_olivero/templates/field/field--node--field-event--location-name--event--default.html.twig diff --git a/drupal_cms_olivero/css/base/buttons.css b/drupal_cms_olivero/css/base/buttons.css new file mode 100644 index 000000000..77e60e07b --- /dev/null +++ b/drupal_cms_olivero/css/base/buttons.css @@ -0,0 +1,27 @@ +/** + * @file + * Extra button styles. + */ + +.button--external { + gap: 8px; + + &:after { + content: ""; + width: 15px; + height: 15px; + -webkit-mask-image: url('../../images/external.svg'); + mask-image: url('../../images/external.svg'); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; + -webkit-mask-position: center; + mask-position: center; + background: currentColor; + + @media (forced-colors: active) { + background: buttonText; + } + } +} diff --git a/drupal_cms_olivero/css/base/typography.css b/drupal_cms_olivero/css/base/typography.css new file mode 100644 index 000000000..09630adeb --- /dev/null +++ b/drupal_cms_olivero/css/base/typography.css @@ -0,0 +1,68 @@ +/** + * @file + * Extra typography styles. These are based off of the standard Olivero heading + * styles. + */ + +.h1 { + letter-spacing: -0.01em; + font-size: 28px; + line-height: var(--sp2); + + @media (width > 700px) { + font-size: 60px; + line-height: var(--sp4); + } +} + +.h2 { + letter-spacing: -0.01em; + font-size: 24px; + line-height: var(--sp2); + + @media (width > 700px) { + font-size: 36px; + line-height: var(--sp3); + } +} + +.h3 { + font-size: 20px; + line-height: var(--sp1-5); + + @media (width > 700px) { + font-size: 24px; + line-height: var(--sp2); + } +} + +.h4 { + font-size: 18px; + line-height: var(--sp1-5); +} + +.h5 { + font-size: 16px; + line-height: var(--sp1-5); +} + +.h6 { + font-size: 14px; + line-height: var(--sp); +} + +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + margin-block: var(--sp); + color: var(--color-text-neutral-loud); + font-family: var(--font-sans); + font-weight: bold; + + @media (width > 700px) { + margin-block: var(--sp2); + } +} diff --git a/drupal_cms_olivero/css/components/event-full.css b/drupal_cms_olivero/css/components/event-full.css new file mode 100644 index 000000000..d3ae68425 --- /dev/null +++ b/drupal_cms_olivero/css/components/event-full.css @@ -0,0 +1,58 @@ +/** + * @file + * Styles for event content type. + */ + +.field--name-field-event__location-address { + font-size: 18px; + + .address { + margin-block: var(--sp0-5); + } +} + +.field--name-field-event__location-name { + margin-bottom: var(--sp0-5); +} + +.node--type-event:where(.node--view-mode-full) { + .field--name-field-geofield { + margin-block: var(--sp2); + } + + .field--name-field-event__link { + margin-block: var(--sp2); + } + + .field--name-field-event__file { + a { + display: inline-flex; + align-items: center; + gap: 8px; + margin-right: 8px; + font-weight: bold; + text-decoration: none; + font-size: 18px; + + &:after { + display: block; + content: ""; + width: 15px; + height: 15px; + -webkit-mask-image: url('../../images/download.svg'); + mask-image: url('../../images/download.svg'); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; + -webkit-mask-position: center; + mask-position: center; + background: currentColor; + + @media (forced-colors: active) { + background: buttonText; + } + } + } + } +} diff --git a/drupal_cms_olivero/drupal_cms_olivero.libraries.yml b/drupal_cms_olivero/drupal_cms_olivero.libraries.yml index e1e12f368..895b91825 100644 --- a/drupal_cms_olivero/drupal_cms_olivero.libraries.yml +++ b/drupal_cms_olivero/drupal_cms_olivero.libraries.yml @@ -1,5 +1,8 @@ global-styling: css: + base: + css/base/buttons.css: {} + css/base/typography.css: {} component: css/components/form.css: {} views: @@ -15,3 +18,7 @@ search-api-autocomplete: css: component: css/components/search-api-autocomplete:.css: {} +event-full: + css: + component: + css/components/event-full.css: {} diff --git a/drupal_cms_olivero/images/download.svg b/drupal_cms_olivero/images/download.svg new file mode 100644 index 000000000..6de3731df --- /dev/null +++ b/drupal_cms_olivero/images/download.svg @@ -0,0 +1,3 @@ +<svg width="16" height="15" viewBox="0 0 16 15" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M15.0312 9.125V13.625C15.0312 13.8488 14.9424 14.0634 14.7841 14.2216C14.6259 14.3799 14.4113 14.4688 14.1875 14.4688H1.8125C1.58872 14.4688 1.37411 14.3799 1.21588 14.2216C1.05764 14.0634 0.96875 13.8488 0.96875 13.625V9.125C0.96875 8.90122 1.05764 8.68661 1.21588 8.52838C1.37411 8.37015 1.58872 8.28125 1.8125 8.28125C2.03628 8.28125 2.25089 8.37015 2.40912 8.52838C2.56736 8.68661 2.65625 8.90122 2.65625 9.125V12.7812H13.3438V9.125C13.3438 8.90122 13.4326 8.68661 13.5909 8.52838C13.7491 8.37015 13.9637 8.28125 14.1875 8.28125C14.4113 8.28125 14.6259 8.37015 14.7841 8.52838C14.9424 8.68661 15.0312 8.90122 15.0312 9.125ZM7.40305 9.72195C7.48143 9.80061 7.57458 9.86302 7.67714 9.90561C7.7797 9.9482 7.88965 9.97012 8.0007 9.97012C8.11175 9.97012 8.22171 9.9482 8.32427 9.90561C8.42683 9.86302 8.51997 9.80061 8.59836 9.72195L11.4109 6.90945C11.5694 6.75094 11.6584 6.53596 11.6584 6.3118C11.6584 6.08763 11.5694 5.87265 11.4109 5.71414C11.2524 5.55563 11.0374 5.46658 10.8132 5.46658C10.589 5.46658 10.3741 5.55563 10.2155 5.71414L8.84375 7.08594V1.25C8.84375 1.02622 8.75485 0.811612 8.59662 0.653379C8.43839 0.495145 8.22378 0.40625 8 0.40625C7.77622 0.40625 7.56161 0.495145 7.40338 0.653379C7.24514 0.811612 7.15625 1.02622 7.15625 1.25V7.08594L5.78445 5.71555C5.70597 5.63706 5.61279 5.5748 5.51025 5.53233C5.4077 5.48985 5.29779 5.46799 5.1868 5.46799C4.96263 5.46799 4.74765 5.55704 4.58914 5.71555C4.51066 5.79403 4.4484 5.88721 4.40592 5.98975C4.36345 6.0923 4.34158 6.20221 4.34158 6.3132C4.34158 6.53737 4.43063 6.75235 4.58914 6.91086L7.40305 9.72195Z" fill="#0D77B5"/> +</svg> diff --git a/drupal_cms_olivero/images/external.svg b/drupal_cms_olivero/images/external.svg new file mode 100644 index 000000000..12eca9600 --- /dev/null +++ b/drupal_cms_olivero/images/external.svg @@ -0,0 +1,3 @@ +<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M15.0312 6.3125C15.0312 6.53628 14.9424 6.75089 14.7841 6.90912C14.6259 7.06736 14.4113 7.15625 14.1875 7.15625C13.9637 7.15625 13.7491 7.06736 13.5909 6.90912C13.4326 6.75089 13.3438 6.53628 13.3438 6.3125V3.85156L9.15945 8.03586C9.00095 8.19437 8.78596 8.28342 8.5618 8.28342C8.33763 8.28342 8.12265 8.19437 7.96414 8.03586C7.80563 7.87735 7.71658 7.66237 7.71658 7.4382C7.71658 7.21404 7.80563 6.99906 7.96414 6.84055L12.1484 2.65625H9.6875C9.46372 2.65625 9.24911 2.56736 9.09088 2.40912C8.93265 2.25089 8.84375 2.03628 8.84375 1.8125C8.84375 1.58872 8.93265 1.37411 9.09088 1.21588C9.24911 1.05764 9.46372 0.96875 9.6875 0.96875H14.1875C14.4113 0.96875 14.6259 1.05764 14.7841 1.21588C14.9424 1.37411 15.0312 1.58872 15.0312 1.8125V6.3125ZM11.9375 8C11.7137 8 11.4991 8.0889 11.3409 8.24713C11.1826 8.40536 11.0938 8.61997 11.0938 8.84375V13.3438H2.65625V4.90625H7.15625C7.38003 4.90625 7.59464 4.81736 7.75287 4.65912C7.91111 4.50089 8 4.28628 8 4.0625C8 3.83872 7.91111 3.62411 7.75287 3.46588C7.59464 3.30764 7.38003 3.21875 7.15625 3.21875H2.375C2.00204 3.21875 1.64435 3.36691 1.38063 3.63063C1.11691 3.89435 0.96875 4.25204 0.96875 4.625V13.625C0.96875 13.998 1.11691 14.3556 1.38063 14.6194C1.64435 14.8831 2.00204 15.0312 2.375 15.0312H11.375C11.748 15.0312 12.1056 14.8831 12.3694 14.6194C12.6331 14.3556 12.7812 13.998 12.7812 13.625V8.84375C12.7812 8.61997 12.6924 8.40536 12.5341 8.24713C12.3759 8.0889 12.1613 8 11.9375 8Z" fill="currentColor"/> +</svg> diff --git a/drupal_cms_olivero/templates/field/field--node--field-event--date--event--default.html.twig b/drupal_cms_olivero/templates/field/field--node--field-event--date--event--default.html.twig new file mode 100644 index 000000000..d0a433a88 --- /dev/null +++ b/drupal_cms_olivero/templates/field/field--node--field-event--date--event--default.html.twig @@ -0,0 +1,39 @@ +{# +/** + * @file + * Theme override for the event content type's date field. + * + * Available variables: + * - attributes: HTML attributes for the containing element. + * - label_hidden: Whether to show the field label or not. + * - title_attributes: HTML attributes for the title. + * - label: The label for the field. + * - multiple: TRUE if a field can contain multiple items. + * - items: List of all the field items. Each item contains: + * - attributes: List of HTML attributes for each item. + * - content: The field item's content. + * - entity_type: The entity type to which the field belongs. + * - field_name: The name of the field. + * - field_type: The type of the field. + * - label_display: The display settings for the label. + * + * + * @see template_preprocess_field() + */ +#} + +{{ attach_library('drupal_cms_olivero/event-full') }} + +{% + set classes = [ + 'field', + 'field--name-' ~ field_name|clean_class, + 'field--type-' ~ field_type|clean_class, + 'field--label-' ~ label_display, + label_display == 'inline' ? 'clearfix', + ] +%} + +{% for item in items %} + <h2{{ item.attributes.addClass(classes, 'h3') }}>{{ item.content }}</h2> +{% endfor %} diff --git a/drupal_cms_olivero/templates/field/field--node--field-event--link--event.html.twig b/drupal_cms_olivero/templates/field/field--node--field-event--link--event.html.twig new file mode 100644 index 000000000..1427ec738 --- /dev/null +++ b/drupal_cms_olivero/templates/field/field--node--field-event--link--event.html.twig @@ -0,0 +1,37 @@ +{# +/** + * @file + * Theme override for the event content type's link field. + * + * Available variables: + * - attributes: HTML attributes for the containing element. + * - label_hidden: Whether to show the field label or not. + * - title_attributes: HTML attributes for the title. + * - label: The label for the field. + * - multiple: TRUE if a field can contain multiple items. + * - items: List of all the field items. Each item contains: + * - attributes: List of HTML attributes for each item. + * - content: The field item's content. + * - entity_type: The entity type to which the field belongs. + * - field_name: The name of the field. + * - field_type: The type of the field. + * - label_display: The display settings for the label. + * + * + * @see template_preprocess_field() + */ +#} + +{% + set classes = [ + 'field', + 'field--name-' ~ field_name|clean_class, + 'field--type-' ~ field_type|clean_class, + 'field--label-' ~ label_display, + label_display == 'inline' ? 'clearfix', + ] +%} + +{% for item in items %} + <div{{ item.attributes.addClass(classes) }}>{{ item.content|add_class('button button--primary button--external') }}</div> +{% endfor %} diff --git a/drupal_cms_olivero/templates/field/field--node--field-event--location-name--event--default.html.twig b/drupal_cms_olivero/templates/field/field--node--field-event--location-name--event--default.html.twig new file mode 100644 index 000000000..72daa52f1 --- /dev/null +++ b/drupal_cms_olivero/templates/field/field--node--field-event--location-name--event--default.html.twig @@ -0,0 +1,37 @@ +{# +/** + * @file + * Theme override for the event content type's event name field. + * + * Available variables: + * - attributes: HTML attributes for the containing element. + * - label_hidden: Whether to show the field label or not. + * - title_attributes: HTML attributes for the title. + * - label: The label for the field. + * - multiple: TRUE if a field can contain multiple items. + * - items: List of all the field items. Each item contains: + * - attributes: List of HTML attributes for each item. + * - content: The field item's content. + * - entity_type: The entity type to which the field belongs. + * - field_name: The name of the field. + * - field_type: The type of the field. + * - label_display: The display settings for the label. + * + * + * @see template_preprocess_field() + */ +#} + +{% + set classes = [ + 'field', + 'field--name-' ~ field_name|clean_class, + 'field--type-' ~ field_type|clean_class, + 'field--label-' ~ label_display, + label_display == 'inline' ? 'clearfix', + ] +%} + +{% for item in items %} + <h2{{ item.attributes.addClass(classes, 'h3') }}>{{ item.content }}</h2> +{% endfor %} -- GitLab From 2bda9c33914127d549661e72af651a52f3a08c0c Mon Sep 17 00:00:00 2001 From: Mike Herchel <mike@herchel.com> Date: Tue, 7 Jan 2025 20:08:43 -0500 Subject: [PATCH 07/10] Attach library via preprocess. --- drupal_cms_olivero/drupal_cms_olivero.theme | 7 +++++++ ...ield--node--field-event--date--event--default.html.twig | 2 -- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/drupal_cms_olivero/drupal_cms_olivero.theme b/drupal_cms_olivero/drupal_cms_olivero.theme index f5ab7377e..f4e5d066d 100644 --- a/drupal_cms_olivero/drupal_cms_olivero.theme +++ b/drupal_cms_olivero/drupal_cms_olivero.theme @@ -33,6 +33,13 @@ function drupal_cms_olivero_preprocess_node(array &$variables): void { } } +/** + * Implements hook_preprocess_node__event__full(). + */ +function drupal_cms_olivero_preprocess_node__event__full(array &$variables): void { + $variables['#attached']['library'][] = 'drupal_cms_olivero/event-full'; +} + /** * Implements hook_preprocess_block(). */ diff --git a/drupal_cms_olivero/templates/field/field--node--field-event--date--event--default.html.twig b/drupal_cms_olivero/templates/field/field--node--field-event--date--event--default.html.twig index d0a433a88..677a23e6a 100644 --- a/drupal_cms_olivero/templates/field/field--node--field-event--date--event--default.html.twig +++ b/drupal_cms_olivero/templates/field/field--node--field-event--date--event--default.html.twig @@ -22,8 +22,6 @@ */ #} -{{ attach_library('drupal_cms_olivero/event-full') }} - {% set classes = [ 'field', -- GitLab From ada967b9b06fb3b2d5e7edf9fed4984e151a2fa9 Mon Sep 17 00:00:00 2001 From: Mike Herchel <mike@herchel.com> Date: Tue, 7 Jan 2025 20:17:54 -0500 Subject: [PATCH 08/10] Remove the colon. --- drupal_cms_olivero/drupal_cms_olivero.libraries.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drupal_cms_olivero/drupal_cms_olivero.libraries.yml b/drupal_cms_olivero/drupal_cms_olivero.libraries.yml index 74c8d6d0b..33a11d328 100644 --- a/drupal_cms_olivero/drupal_cms_olivero.libraries.yml +++ b/drupal_cms_olivero/drupal_cms_olivero.libraries.yml @@ -18,7 +18,7 @@ view-search: search-api-autocomplete: css: component: - css/components/search-api-autocomplete:.css: {} + css/components/search-api-autocomplete.css: {} event-full: css: component: -- GitLab From 5f125bcffc6b48d58bc1f7a0f7985dbcf1250f8e Mon Sep 17 00:00:00 2001 From: Mike Herchel <mike@herchel.com> Date: Tue, 7 Jan 2025 20:18:44 -0500 Subject: [PATCH 09/10] Remove unneeded reference introduced during merge. --- drupal_cms_olivero/drupal_cms_olivero.libraries.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/drupal_cms_olivero/drupal_cms_olivero.libraries.yml b/drupal_cms_olivero/drupal_cms_olivero.libraries.yml index 33a11d328..c85573eae 100644 --- a/drupal_cms_olivero/drupal_cms_olivero.libraries.yml +++ b/drupal_cms_olivero/drupal_cms_olivero.libraries.yml @@ -23,4 +23,3 @@ event-full: css: component: css/components/event-full.css: {} - css/components/search-api-autocomplete.css: {} -- GitLab From f23688fb36e11e3f038616f3d3887c094e35152a Mon Sep 17 00:00:00 2001 From: Pamela Barone <31375-pameeela@users.noreply.drupalcode.org> Date: Wed, 8 Jan 2025 02:59:09 +0000 Subject: [PATCH 10/10] Remove bogus config --- .../config/core.entity_view_display.node.event.default.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/recipes/drupal_cms_events/config/core.entity_view_display.node.event.default.yml b/recipes/drupal_cms_events/config/core.entity_view_display.node.event.default.yml index 46ad49b41..6bf21f492 100644 --- a/recipes/drupal_cms_events/config/core.entity_view_display.node.event.default.yml +++ b/recipes/drupal_cms_events/config/core.entity_view_display.node.event.default.yml @@ -246,7 +246,6 @@ third_party_settings: options: '' map_lazy_load: lazy_load: true - weight: 0 third_party_settings: { } weight: 5 additional: { } @@ -531,7 +530,6 @@ content: options: '' map_lazy_load: lazy_load: true - weight: 0 third_party_settings: { } weight: 5 region: content -- GitLab