Skip to content

Releases: civictheme/monorepo-drupal

1.7.1

14 Apr 20:22
Compare
Choose a tag to compare

What's new since 1.7.0

Full Changelog: 1.7.0...1.7.1

@AlexSkrypnyk and @joshua-salsadigital

1.7.0

22 Mar 05:20
Compare
Choose a tag to compare

What's new since 1.6.2

New home for UI Kit

Starting from this release, the UI Kit is managed independently in its own repository. All UI Kit issues are now tracked there.

The inclusion method of the UIKit in the Drupal theme has changed: package.json is used to specify the version or commit of the UIKit. The update ensures only necessary UI Kit files are committed.

Issues moved to Drupal.org

Drupal theme issue management has transitioned to Drupal.org, with commits syncing to the default branch on Drupal.org each time code is merged into the develop branch on GitHub. This integration maintains commit history and the credit system while supporting robust CI pipelines for various Drupal implementations.

While we will try to keep the versioning of the Figma and UIKit to be aligned with the CMS-specific implementations, like this Drupal theme, those implementation versions could deviate in their versions.

New Features

Fixes

Other


🚨 Update notes:

Follow the update process described at https://docs.civictheme.io/update

For this release, regenerate the sub-theme manually from the starter kit and integrate your overrides into the new theme.

The "Quote" paragraph will be automatically removed after updates — ensure to re-export your site configuration.

Full Changelog: 1.6.2...1.7.0

@AlexSkrypnyk, @govindmaloo, @joshua-salsadigital, and Joshua Fernandes

1.6.2

19 Dec 08:50
Compare
Choose a tag to compare

🧩 UI Kit

New features

None

Fixes

  • Fixed UI Kit version in package.json.
  • Fixed Group filter rendering incorrectly on mobile. Filters now will stack vertically.
  • Added slots prop for Group Filter Storybook story.
  • Fixed Item Grid calculating columns classes incorrectly for when the number of items is greater than the number of columns.
  • Removed incorrect, CMS-only Editor content component. This functionality is implementation-specific and is now handled in CMS.
  • [CIVIC-1244] Added a11y fixes for mobile menu. (#1149)

💧 Drupal theme

New features

  • Issue #3409009 by alex.skrypnyk: Add summary settings for Snippet component. This allows to set the number of characters for the Snippet's component Sunmary field.
  • [CIVIC-1295] Added content components support for CKEditor. (#1156) 🚨 See update notes below.

Fixes

  • Fixed double inclusion of assets during compilation. This was resulting if CSS styles applying in the incorrect order. 🚨 See update notes below.
  • Fixed Navigation card override example.
  • Removed CKEditor4 as a require dependency.
  • Updated CivicTheme dependencies versions to use the latest ones.
  • Added optional limit for the update helper. This allows to re-use the update helper with a set limit to avoid running of all updates in "lower" environments.
  • Issue #3404794 by Toby Wild, alex.skrypnyk: Documentation suggestions
  • [CIVIC-1521] Fixed issue #1147: catch InvalidArgumentException in civictheme_url_is_external() (#1167)
  • [CIVIC-1449] Fixed Automated list filters not being hidden when selected in UI. (#1157)

Other

  • Updated copyright year in the example demo content.
  • Updated demo generated content list to use Snippet component.
  • Updated containers to 23.12.0.
  • Updated Drush 12 and Search API 1.31

🚨 Update notes:

Follow the update process described at https://docs.civictheme.io/update

Additionally, if using a sub-theme:

  1. Copy file civictheme_starter_kit/assets/sass/theme.editor.scss to <yourtheme>/assets/sass/theme.editor.scss.
  2. Remove <yourtheme>/assets/sass/editor directory.
  3. Remove @import 'editor'; line from <yourtheme>/assets/sass/theme.scss.
  4. Replace in your sub-theme info file:
ckeditor_stylesheets:
  - dist/styles.editor.css

with

ckeditor5-stylesheets:
  - dist/styles.editor.css
  - dist/styles.variables.css
  1. Copy file (overwrite) civictheme_starter_kit/webpack/editor_css.js to webpack/editor_css.js.
  2. Copy file (overwrite) civictheme_starter_kit/webpack/assets.js to webpack/assets.js.
  3. npm run build
  4. drush cr

Full Changelog: 1.6.1...1.6.2

Drupal 10.1, GovCMS 3 and strict typing

10 Nov 04:22
Compare
Choose a tag to compare

This release is primarily focused on compatibility with Drupal 10.1, GovCMS 3 and strict typing.

🧩 UI Kit

New features

Fixes

💧 Drupal theme

New features

Fixes

🧨 Breaking changes:

This release introduces PHP strict typing.

This means that you will have to update your custom PHP code if you were using any of the CivicTheme functions. The updates only required for function arguments and return types.

Other


Full Changelog: 1.5.3...1.6.0

Search, automated updates, fixes

03 Aug 04:40
Compare
Choose a tag to compare

This release was primarily focused on addressing technical debt and enhancing the stability of the development platform.

We have also created a new documentation site https://docs.civictheme.io/.

🧩 UI Kit

New features

  • Updated NodeJS version requirement to 18. Make sure to use nvm use to switch to the correct version when working on the theme.
  • Added Snippet component.

Fixes

  • Fixed desktop primary navigation sub-menu items receive focus while visually hidden when tabbing through page links. (a11y)
  • Fixed List component's Storybook props not using random values.
  • Fixed Slider slide image position not being applied when it should appear right from the slide content.
  • Removed outdated whitespace/storybook-addon-html plugin from Storybook configuration. Consumer sites should do the same.

💧 Drupal theme

New features

  • Added SVG support for Logos. 🚀
  • Added new Snippet and Snippet reference paragraph components.
  • Added support for database search based on Search API. The results are displayed using Snippet component.
  • Added and ability for a user with Site Administrator role to update site slogan without having access to Basic site settings configuration page.
  • Added automated configuration schema and content updates system and updates for schema changes in previous CivicTheme versions. 🚀🚀🚀
  • Added tests for install with the following matrix (runs on every change in CI):
    • Drupal 9 and Drupal 10
    • fresh or previous versions
    • minimal and govcms profiles
    • with and without sub-theme

Fixes

  • Updated dependencies to be contained and fixed the namespace. 🚀
  • Fixed non-expanded menu item becomes expanded when active.
  • Fixed form element showing error on empty value.

🧨 Breaking changes:

Starting from this version, CivicTheme provides automated content updates for any schema changes.
This means that when the new version of CivicTheme is deployed, the content will be automatically updated to match the new schema.

Note that you must run this locally first to ensure that the update is successful.

  • Renamed Banner Blend mode field for nodes and blocks (an automated update is provided):
    • field_c_n_blend_mode -> field_c_n_banner_blend_mode
    • field_c_b_blend_mode -> field_c_b_banner_blend_mode

Other

  • Added GH action to send newly opened issues and comments to JIRA. This allows to keep the project truly open-source while still using JIRA for internal project management.
  • Moved to direct publishing from this monorepo to all repositories on every change to develop branch.
    Previously, only publishing on release. This allows to use development versions in code.
  • Enabled config linting in CI.
    This makes sure that all configuration shipped with the Drupal theme is consistent with the required dependencies.
  • Added support for building with and without optional Drupal modules (like Search API) that CivicTheme provides optional configuration for, but not depends on.
  • Added example composer.json for Drupal 10 consumer sites to use as a scaffold.
  • Removed in-code docs after they being moved to external docs site https://docs.civictheme.io/

A11y and link extraction fixes

06 Apr 04:24
Compare
Choose a tag to compare
  • Fixed [DEFECT] A11y: Invalid extra double quotes on side navigation aria-expanded attribute (#1047)
  • Fixed [DEFECT] Email links not converting correctly (#963)
  • Added [FEATURE] Opt-out system for features (currently includes only links and emails in links) which makes it possible to disable CivicTheme's features from UI without code changes. (#1054)

CivicTheme___CivicTheme_Source

Fixed issues with no-js class breaking Collapsible.

15 Feb 09:16
Compare
Choose a tag to compare

Major cleanup of components, lists and Drupal preprocessing

15 Feb 08:26
Compare
Choose a tag to compare

Major cleanup of components, lists and Drupal preprocessing.

This version brings stable API - all Drupal fields were re-assessed, renamed
and/or removed.

🧩 Component library

New features

  • Added Time base component. 🚀🚀🚀
  • Fully refactored all Cards from scratch to rely on other components. 🚀🚀🚀
  • Fully refactored Icon to support inline SVG icons: icons now inherit color and size of the container. 🚀🚀🚀
  • Refactored Popover to act as a dropdown container and have a trigger link
  • Refactored Single filtered and added Apply button. Added content slots
  • Simplified Group filter to bare minimum, Added Apply button and removed custom Ajax auto-submit support (still works with Ajax views).
  • Updated Primary navigation expand triggers to appear centred for when items are multi-lined.
  • Added Tag List component and added to Promo and Event cards.
  • Added Subtitle field to the Promo card.
  • Refactored Link to use Icon and allowed to be used as an icon-only component.
  • Added a size to the Item list.

Fixes

  • Removed grouping of components in Storybook. This makes it easier to navigate between components.
  • Fixed Chip properties to correctly handle multiple state
  • Fixed Chip example event export.
  • Fixed field mappings and styles for Form element
  • Fixed field mappings for Fieldset
  • Fixed input position in Radio
  • Fixed input position in Checkbox
  • Updated Collapsible to be always expanded when no JS.
  • Fixed above link button on List to be a regular size and added content slots.
  • Fixed bottom spacing of the last item of the last Basic content component.
  • Fixed Site section style in Banner.
  • Fixed stripe variables and Message and Alerts icon colours.
  • Fixed Icon sizes on components.
  • Updated Link and Content Link component’s CSS to use word-break to break content.
  • Fixed TOC jumping when clicked.
  • Removed broken storybook-addon-pseudo-states plugin.
  • Removed Description List component.
  • Removed DropdownFilter in favour of Popover
  • Refactored Campaign component.
  • Unified calls to ct-breakpoint() mixin.
  • Fixed missing attributes prop to the Item grid.
  • Fixed links direction in the Service card.
  • Fixed A11Y in mobile menu to communicate the state.
  • Created deprecations system and a SASS header to provide build information.
  • Updated CSS variables generation to support numeric values and opacity.
  • Added separate styles for Scrollspy.
  • Fixed typo in 'elipsis' in Pager.
  • Updated margin resets to happen in a single place for multiple components.
  • Added vertical highlight mixin and refactored components.

💧 Drupal theme

New features

  • Added Event content type layout and fixed view modes. Event is now a first-class citizen.
  • Added a list of Topics displayed by default on Page content. This can be hidden with Hide tags checkbox.
  • Added icon for external links in content.
  • Added a capability to expose internal properties as data attributes in DOM useful for migrations.
  • Added support for SVG in WYSIWYG.
  • Added centralised last preprocessor to convert CSS classes in attributes to modifier_class variable.
  • Added sorting by Promoted value in the Automated list.
  • Added 'none' value for Vertical Spacing and made it required for all components.
  • Added no-js CSS class to <html> attributes.
  • Added default minimal styling for all text in Drupal.
  • Added links processing to tables.
  • Added feature opt-out mechanism. Some of the features can be opted out to use standard Drupal functionality
  • Added drush civictheme:stylesheet Drush command to forcefully re-generate stylesheet (before, it would be lazy-generated only on the next page load).
  • Added Short Date and Time date formatter.

Fixes

  • Fixed color filters applied twice after being set via Drush. 🚀🚀🚀
  • Refactored Automated list, tests and generated content. 🚀🚀🚀
  • Refactored Automated list filters. 🚀🚀🚀
  • Refactored all Cards preprocessors. 🚀🚀🚀
  • Updated field mappings for all components (every field was checked for name, type, validity etc). 🚀🚀🚀
  • Replaced Summary field with Content on non-Cards paragraphs. This field should only be used on Cards paragraphs.
  • Removed Size field from cards.
  • Fixed fields processing on Manual list.
  • Fixed breadcrumb not listing the last item as a current page on non-GovCMS profile.
  • Fixed image as icon on Navigation card.
  • Fixed Accordion panels to be closed when editing.
  • Fixed Manual list to have cards closed when editing.
  • Fixed Tags list not having bottom vertical space by default.
  • Fixed Slider slides to be closed when editing.
  • Fixed Slider to allow multiple links and Date field.
  • Fixed 'Showing x of y' is not hidden for Automated list with limited results.
  • Removed obsolete node view modes.
  • Fixed theme config reset key stored in config.
  • Fixed <body> tag not having correct classes.
  • Fixed Basic Content component field mapping.
  • Fixed Image preprocessing.
  • Fixed Banner field mapping.
  • Added preprocessing for Content component.
  • Updated field mapping in Slider.
  • Replaced print_r with var_export in colour validation exception.
  • Updated Event card Image field to not be compulsory.
  • Updated Event card to use Topics (plural) field.
  • Updated Mobile Navigation block to make Trigger text a required field.
  • Fixed Slider Slide default image position value set to Left.
  • Removed obsolete Link field from Slider.
  • Fixed Next Step content field.
  • Updated Callout link title to be required.
  • Moved Hide tags into Appearance group on Page content type.
  • Removed obsolete Topic field from Subject reference card.
  • Fixed background color for Table, Attachment, Dropdown filter and Campaign components.
  • Updated Banner block component to add Type and Featured image fields.
  • Removed teaser view mode as it was never used.

⚙ Platform

  • Default content:

    • Fixed content profiles content.
    • Fixed Color Palettes in content profiles.
    • Fixed missing footer menus on Corporate profile.
  • Stack and workflow:

    • Updated config of PHPCS and PHPMD to lint super fast (3.5min to 15 seconds)
    • Refactored all existing Behat tests to remove obsolete tests and converted JS tests into non-JS for speed.
    • Updated some tests to be compatible with a sub-theme -> increased test coverage (they used to run only for a base theme).
    • Added content generation for Event
    • Fixed content generation for Page and added missing variations for some components (see https://nginx-php.master.civictheme-source.lagoon.salsa.hosting/generated-content/components).
    • Fixed phpcs exclusion script unit test to allow to be ran outside of docker.
    • Updated project readme to have only relevant information.
    • Removed Styleguide in favour of generated content.
  • CI:

    • Added Library test runner as GH action. This tests that each page of Storybook can load.
    • Included basetheme tests into subtheme tests runs.

🧨 Breaking changes:

  • Fields renamed:
    • field_c_p_fill_width -> field_c_p_list_fill_width
    • field_c_p_column_count -> field_c_p_list_column_count
  • Removed field_c_p_topic field in favour of existing field_c_p_topics (plural) field.
  • Replaced field_c_n_date with field_c_n_date_range in Event.
  • Replaced Summary field with Content on non-Cards paragraphs. This field should only be used on Cards paragraphs.
  • Replaced field_c_n_date with field_c_n_date_range in Event.
  • Removed Size field from cards.
  • Removed Topic field from Subject reference card.
  • Removed functionality:
    • Removed DropdownFilter component and mappings in Drupal. View filters now appear in Popover component).
    • Removed custom Drupal ajax views override that was providing AJAX autosubmit functionality as it was not working correctly with already broken Single and Group filters.
    • Removed exporting of colours CSV from the Library.
  • Topics now appear under content for Page unless Hide tags is checked. If Topics should be hidden within existing content such updated should be performed manually.

Updated Admin UI and lots of fixes

23 Nov 00:31
Compare
Choose a tag to compare

🧩 Component library

New features

None

Fixes

  • Fixed several components not using CSS variables:
    • Accordion
    • Attachment
    • Basic Content
    • Breadcrumbs
    • Callout
    • Campaign
    • Collapsible
    • Content Link
    • Dropdown Filter
    • Event card
    • Figure
    • Form Element
    • Layout
    • Link
    • Logo
    • Map
    • Navigation card
    • Next steps
    • Paragraph
    • Popover
    • Promo card
    • Publication card
    • Quote
    • Search
    • Service card
    • Subject card
    • Table
    • Table of Contents
    • Tabs
    • Tag
    • Tooltip
  • Fixed Alert icon to be inline with title.
  • Fixed Back to Top right spacing.
  • Fixed Banner title content wrap when feature image is not provided.
  • Fixed Content Link component not being used in content for links.
  • Fixed Dropdown Filter horizontal scroll.
  • Fixed Figure caption image.
  • Fixed Group Filter layout.
  • Fixed Header border color.
  • Fixed Icon sizes used in mobile not being as per design.
  • Fixed Layout vertical spacing added when a side navigation is present.
  • Fixed List component props and layout, including double vertical spacing.
  • Fixed Map component layout.
  • Fixed Map iFrame CSS class.
  • Fixed Mobile Navigation Trigger colors and icon.
  • Fixed Navigation spacing.
  • Fixed Pagination styling.
  • Fixed Promo and Footer background color for Dark theme.
  • Fixed Promo card arrow not being aligned to the right side.
  • Fixed Select not showing a dropdown icon.
  • Fixed Skip Link to use Link component.
  • Fixed Slider not respecting 'with background' setting.
  • Fixed Slider slide not having a background color applied.
  • Fixed Table of Contents border to be on all sides for an active state.
  • Fixed Table of Contents styles.
  • Fixed Tabs attribute "aria-controls".
  • Fixed visibility mixin not resetting dimensions on hover.

💧 Drupal theme

New features

  • Update editorial UI (form display) for Page and Event content types to be more-content oriented.
  • Added configurable summary character limit for cards.
  • Added Theme selection in config for Skip Link component.
  • Updated Navigation Card to have the image shown as an icon.
  • Added 'Use Color Selector' setting and additional information about colors. This allows to completely disable color injection.
  • Added general information section to theme settings.
  • Added schema, migration mapping and validation for Page fields in civictheme_migrate module.
  • Added centralised theme configuration manager. This is a first part of OOP-based approach to theme code.

Fixes

  • Event:
    • Fixed missing dates to the Event node view.
    • Fixed Locations on events to allow non-geographical locations and updated cardinality of Location field to allow multiple locations.
    • Fixed fields shown on Event content page.
  • Cards:
    • Fixed Navigation card not accepting Icon media.
    • Fixed Summary field to be optional in Promo, Event, Navigation and Publication cards.
  • Theme settings:
    • Fixed non-color fieldsets being overridden in theme settings.
    • Fixed CSS variables file exclusion for the sub-themes that do not implement 'libraries-override' in .info file.
    • Fixed Drush command not enabling Color Selector.
    • Fixed Logo upload and validation in theme settings.
    • Updated content provision logic to provision ether from module or theme config.
    • Improved performance of saving of the theme settings form and fixed erroneous configuration items being saved to the theme settings configuration.
    • Fixed default content provisioning for when civictheme is an active theme.
  • Fixed missing site branding block used for site slogan.
  • Fixed Manual List name to be Manual list.
  • Fixed Header theme applying to the Side navigation.
  • Fixed Banner not allowing to inherit values from the global block.
  • Added missing icon assets to the theme and starter kit.

⚙ Platform

  • Default content:
    • Added Government and Higher Education content profiles:
    • Updated Default and Corporate content profiles.
    • Refactored civictheme_content to read configuration from provided configuration files.
    • Fixed generated content being dependent on real content.
    • Fixed content export script not removing content before export and not exporting all media.
  • Stack and workflow:
    • Updated how DEV and MASTER are built to use Default content profile instead of provisioning from settings.
    • Updated SKIP_SUBTHEME_ACTIVATION variable to have a consistent name with all other SKIP_* variables.
    • Skip content generation in the PR env.
    • Removed Solr container.
    • Fixed names of generated entities to start with Generated.
  • CI:
    • Removed Renovate and disabled DLC in CI.
    • Added more jobs in CI to build 9 sites: D9 and D10 with different profiles.

Color mapper in Drupal

24 Oct 09:49
Compare
Choose a tag to compare

196074922-0b9ceaca-ccdb-45e1-a9a4-87d766d9462c

196075055-ce2cbb83-2f9e-4f84-aeee-d82c809b7bfe (1)

🧩 Component library

New features

  • Added support for color mapping via CSS variables.
  • Updated all components to use consistent color theme styles.
  • Added Campaign component.

Fixes

  • Fixed HTML lists numbering.
  • Fixed visuals in multiple components:
    • Attachment
    • Breadcrumbs
    • Callout
    • Event card
    • Group filter
    • List
    • Navigation card
    • Next steps
    • Next steps
    • Pager
    • Promo card
    • Publication card
    • Quote
    • Slider
    • Subject card
  • Fixed .visually-hidden not resetting width.
  • Fixed menu external link visuals.
  • Fixed TOC width on mobile.

💧 Drupal theme

New features

  • Added color configuration through theme settings or Drush command.
  • Resolved compatibility with Drupal 10.
  • Added civictheme_admin module used for editorial enhancements.
  • Added Campaign component integration.

Fixes

  • Fixed missing theme dependencies.
  • Removed editorial transitions as they were not used in content types.
  • Removed image field from Next steps component paragraph.
  • Removed Task card component paragraph.
  • Removed obsolete fields from Attachment component paragraph.
  • Removed obsolete fields from Manual list component paragraph.

⚙ Platform

  • Renamed cs_core to civictheme_dev an updated dependencies.
  • Removed stage_file_proxy.
  • Fixed theme install process to run in a correct order.
  • Added administrator role as an optional dependency.
  • Added smoke tests to all CI jobs.
  • Updated CI to run multiple profiles:

Cursor_and_Pipelines_-_salsadigitalauorg_civictheme_source