From 25d8736a117b618c76d519d84c6735719b7a953e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ph=C3=A9na=20Proxima?= <adam@phenaproxima.net> Date: Thu, 20 Feb 2025 10:49:52 -0500 Subject: [PATCH 1/3] Completely remove Project Browser integration --- .tugboat/config.yml | 4 - dist/css/components/project_browser.css | 515 ------------------------ gin.info.yml | 2 - gin.libraries.yml | 5 - styles/components/project_browser.scss | 504 ----------------------- webpack.config.js | 1 - 6 files changed, 1031 deletions(-) delete mode 100644 dist/css/components/project_browser.css delete mode 100644 styles/components/project_browser.scss diff --git a/.tugboat/config.yml b/.tugboat/config.yml index 0ebef8f52..23e835b48 100644 --- a/.tugboat/config.yml +++ b/.tugboat/config.yml @@ -30,8 +30,6 @@ services: composer require 'drupal/gin_login:^2.1' # Require Admin Toolbar composer require 'drupal/admin_toolbar:^3.0' - # Require Project Browser - composer require 'drupal/project_browser:^1.0@beta' # Now we can require Gin, specifing the branch name we created # above that uses the $TUGBOAT_REPO_ID environment variable. composer require drupal/gin:dev-$TUGBOAT_REPO_ID @@ -57,8 +55,6 @@ services: vendor/bin/drush --yes en gin_toolbar # Enable gin_login Module. vendor/bin/drush --yes en gin_login - # Enable project_browser Module. - vendor/bin/drush --yes en project_browser build: | set -eux # Delete and re-check out this branch in case this is built from a Base Preview. diff --git a/dist/css/components/project_browser.css b/dist/css/components/project_browser.css deleted file mode 100644 index 6839ab663..000000000 --- a/dist/css/components/project_browser.css +++ /dev/null @@ -1,515 +0,0 @@ -#project-browser .search__form-container, -#project-browser .pb-layout, -#project-browser .pb-module-page { - padding: var(--gin-spacing-s); - margin-block-start: 0; - background: var(--gin-bg-layer); - border: 1px solid var(--gin-border-color-layer); - box-shadow: var(--gin-shadow-l1); - border-radius: var(--gin-border-l); -} - -@media (min-width: 48em) { - #project-browser .search__form-container, - #project-browser .pb-layout, - #project-browser .pb-module-page { - padding: var(--gin-spacing-l); - } -} - -.gin--dark-mode #project-browser .search__form-container, -.gin--dark-mode #project-browser .pb-layout, -.gin--dark-mode #project-browser .pb-module-page { - box-shadow: 0 6px 16px var(--gin-border-color-layer); -} - -.gin--high-contrast-mode #project-browser .search__form-container, -.gin--high-contrast-mode #project-browser .pb-layout, -.gin--high-contrast-mode #project-browser .pb-module-page { - box-shadow: none; -} - -#project-browser .search__form-container { - margin-block-start: var(--gin-spacing-l); -} - -#project-browser .search__search-bar { - background: none; - border: none; -} - -#project-browser .search__search-bar .search__search_term { - padding: var(--gin-spacing-m); - border: 1px solid var(--gin-border-color-form-element); -} - -#project-browser .search__search-icon { - width: 1rem; - height: 1rem; - inset-inline-end: 20px; - inset-block-end: 20px; -} - -#project-browser .search__search-clear { - width: 1.5rem; - height: 1.5rem; - padding: 0; - inset-block-start: 17px; - inset-inline-end: 56px; - z-index: 2; - display: flex; - align-items: center; - justify-content: center; - background: var(--gin-status-bg); - border-radius: 50%; -} - -#project-browser .search__search-clear img { - width: 12px; - height: 12px; -} - -.gin--dark-mode #project-browser .search__search-clear img { - filter: brightness(0) invert(1); -} - -#project-browser .search__search-clear + .search__search-icon { - display: none; -} - -#project-browser .search__search-submit { - padding: 0 16px; -} - -#project-browser .search__form-item { - margin-block-start: 0; - margin-block-end: var(--gin-spacing-s); -} - -#project-browser .search__results-count { - display: flex; - flex-wrap: wrap; - gap: var(--gin-spacing-xs); -} - -#project-browser .search__form-filters-container { - padding: var(--gin-spacing-m); - background: none; - border: 1px solid var(--gin-border-color); - border-radius: var(--gin-border-m); -} - -#project-browser .search__form-filters { - align-items: baseline; -} - -#project-browser .search__form-filters .form-item { - padding-block-start: 0; - margin-block: 0 var(--gin-spacing-s); -} - -#project-browser .search__grid-container, #project-browser .search__dropdown.dropdown-filters { - background-color: transparent; - border: none; -} - -#project-browser .search__grid-container { - grid-gap: 0; - padding: 0; -} - -#project-browser .search__filters { - margin-block-start: 0; - padding: 0; - background: none; -} - -#project-browser .search__filter-wrapper { - gap: var(--gin-spacing-s); - margin-block-start: var(--gin-spacing-s); -} - -@media (min-width: 48em) { - #project-browser .search__filter-wrapper { - margin-block-start: 0; - } -} - -#project-browser .search__filter__toggle-container { - margin-inline-end: 0; -} - -#project-browser .search__filter-button { - font-size: var(--gin-font-size-xs); - color: var(--gin-color-primary); -} - -#project-browser .search__filter__toggle.form-element, #project-browser .search__sort-select.form-element { - color: var(--gin-color-text); - text-decoration: none; - margin-block-start: 0; - margin-inline-start: 0; - background-color: var(--gin-bg-input); - border: 1px solid var(--gin-border-color-form-element); - border-radius: var(--gin-border-m); - transition: var(--gin-transition); -} - -#project-browser .search__checkbox-label { - font-size: var(--gin-font-size-s); -} - -#project-browser .search__filter__toggle.form-element .search__filter__toggle-img { - padding: 0; -} - -.gin--dark-mode #project-browser .search__filter__toggle.form-element .search__filter__toggle-img { - filter: invert(1); -} - -#project-browser .search__sort { - display: flex; - align-items: center; - gap: var(--gin-spacing-xs); -} - -#project-browser .search__sort label { - flex-shrink: 0; -} - -#project-browser .pb-display__button, -#project-browser .select_button { - font-size: var(--gin-font-size-s); - color: var(--gin-color-primary); - background: transparent; - padding: var(--gin-spacing-xs) var(--gin-spacing-s); - border-color: inherit; - border-radius: var(--gin-border-s); - box-shadow: none; -} - -#project-browser .pb-display__button:hover, -#project-browser .select_button:hover { - z-index: 2; - color: var(--gin-color-primary); - background: var(--gin-color-primary-light); -} - -#project-browser .pb-display__button:active, #project-browser .pb-display__button:focus, #project-browser .pb-display__button--selected, -#project-browser .select_button:active, -#project-browser .select_button:focus, -#project-browser .select_button--selected { - z-index: 2; - color: var(--gin-color-button-text); - background: var(--gin-color-primary); -} - -#project-browser .pb-display__button:active img, #project-browser .pb-display__button:focus img, #project-browser .pb-display__button--selected img, -#project-browser .select_button:active img, -#project-browser .select_button:focus img, -#project-browser .select_button--selected img { - filter: invert(1); -} - -.gin--dark-mode #project-browser .pb-display__button:active img, .gin--dark-mode #project-browser .pb-display__button:focus img, .gin--dark-mode #project-browser .pb-display__button--selected img, -.gin--dark-mode #project-browser .select_button:active img, -.gin--dark-mode #project-browser .select_button:focus img, -.gin--dark-mode #project-browser .select_button--selected img { - filter: none; -} - -#project-browser .pb-display__button:focus, -#project-browser .select_button:focus { - box-shadow: 0 0 0 1px var(--gin-color-focus-border), 0 0 0 4px var(--gin-color-focus); -} - -#project-browser .pb-display { - gap: var(--gin-spacing-xxxs); - padding: var(--gin-spacing-xxs); - margin-inline-end: 0; - margin-block-end: 0; - background: var(--gin-bg-layer); - border: 1px solid var(--gin-border-color); - border-radius: var(--gin-spacing-xl); -} - -#project-browser .pb-display__button { - color: var(--gin-color-text); - background: var(--gin-bg-layer); - border-radius: var(--gin-border-xl); -} - -.gin--dark-mode #project-browser .pb-display__button-icon { - filter: invert(1); -} - -#project-browser .pb-layout__header { - align-items: baseline; - margin-block: var(--gin-spacing-l) var(--gin-spacing-s); - border-block-end: none; -} - -#project-browser .filter-group__title-wrapper, -#project-browser .pb-filter__heading { - font-size: var(--gin-font-size-s); - font-weight: var(--gin-font-weight-bold); - color: var(--gin-color-title); - margin-block-end: 0; -} - -#project-browser .pb-filter__heading { - display: inline-flex; -} - -@media (min-width: 61em) { - #project-browser .pb-filter__heading { - margin-block-end: var(--gin-spacing-s); - } -} - -#project-browser .pb-filter__summary { - padding: var(--gin-spacing-s); - background: var(--gin-bg-layer2); - border-radius: var(--gin-border-m); -} - -#project-browser .pb-filter__checkbox-label { - font-size: var(--gin-font-size-s); - padding-block-start: 0; -} - -#project-browser .filter-applied { - font-size: var(--gin-font-size-xs); - font-weight: var(--gin-font-weight-semibold); - color: var(--gin-color-primary-active); - background: var(--gin-color-primary-light); - padding-block: 0; - padding-inline: var(--gin-spacing-s) var(--gin-spacing-xs); - margin: 0; - min-height: 2rem; -} - -.gin--dark-mode #project-browser .filter-applied img { - filter: invert(1); -} - -.pb-project.pb-project--grid, -.pb-project.pb-project--list { - background: transparent; - border: 1px solid var(--gin-border-color-layer2); - border-radius: var(--gin-border-m); - box-shadow: none; -} - -.gin--dark-mode .pb-project.pb-project--grid, -.gin--dark-mode .pb-project.pb-project--list { - background: var(--gin-bg-layer2); -} - -.pb-project.pb-project--grid .pb-project__logo, -.pb-project.pb-project--list .pb-project__logo { - line-height: 0; -} - -.pb-project.pb-project--grid .pb-project__logo-image, -.pb-project.pb-project--list .pb-project__logo-image { - width: 64px; -} - -.pb-project.pb-project--grid .pb-project__title, -.pb-project.pb-project--list .pb-project__title { - font-size: var(--gin-font-size-l); - font-weight: var(--gin-font-weight-bold); - margin-block-end: var(--gin-spacing-xxs); -} - -.pb-project.pb-project--grid .pb-project__title .pb-project__link, -.pb-project.pb-project--list .pb-project__title .pb-project__link { - color: var(--gin-color-primary); - text-decoration: none; -} - -.pb-project.pb-project--grid .pb-project__body, -.pb-project.pb-project--list .pb-project__body { - font-size: var(--gin-font-size-s); -} - -.pb-project.pb-project--grid .project__action_button, -.pb-project.pb-project--list .project__action_button { - font-size: var(--gin-font-size-xxs); - padding-block: calc(var(--gin-spacing-xxs) + 2px); - padding-inline: var(--gin-spacing-s); - border-radius: var(--gin-border-s); -} - -.pb-project--list { - grid-template-columns: 64px 1fr; -} - -.pb-project__image--list { - padding-inline-start: 0; -} - -.pb-project__project-usage-container { - gap: var(--gin-spacing-xxxs); -} - -.pb-project__status-icon, .pb-project__maintenance-icon { - margin-top: .25rem; -} - -.pb-project__status-icon img, .pb-project__maintenance-icon img { - width: 24px; -} - -.pb-search-results { - font-size: var(--gin-font-size-h3); - font-weight: var(--gin-font-weight-bold); - margin: 0; - margin-block-start: var(--gin-spacing-xs); -} - -.pb-actions .project_status-indicator { - display: inline-flex; - gap: var(--gin-spacing-xs); - padding-block: var(--gin-spacing-xxs); - padding-inline: var(--gin-spacing-xs) var(--gin-spacing-s); - font-size: var(--gin-font-size-s); - font-weight: var(--gin-font-weight-bold); - border-radius: var(--gin-border-xl); -} - -.pb-actions__icon { - color: var(--gin-status-success-text); -} - -.gin--dark-mode .pb-icon--usage { - filter: invert(1); -} - -.pb-icon--module-details { - width: auto; - margin-inline: 0; -} - -.gin--dark-mode .pb-icon--status.pb-module-page__module-details-icon, -.gin--dark-mode .pb-project__status-icon img { - mix-blend-mode: plus-lighter; -} - -.gin--dark-mode .project-browser-popup .command-box, -.gin--dark-mode .project-browser-popup input { - background: var(--gin-bg-layer2); -} - -.search__form .filter-applied, -.pb-project-categories__item, -.pb-module-page__categories-list-item { - font-size: var(--gin-font-size-xs); - font-weight: var(--gin-font-weight-semibold); - margin-inline-end: .25em; - border-radius: 2rem; -} - -.pb-project-categories__item, -.pb-module-page__categories-list-item { - padding: var(--gin-spacing-xxxs) var(--gin-spacing-xs); -} - -.pb-module-page { - display: flex; - flex-wrap: wrap; - gap: var(--gin-spacing-xl); - margin-block-start: var(--gin-spacing-s) !important; -} - -@media (min-width: 61em) { - .pb-module-page { - flex-wrap: nowrap; - } -} - -.pb-module-page__sidebar, .pb-module-page__main { - flex-basis: 100%; - padding: var(--gin-spacing-s); -} - -@media (min-width: 61em) { - .pb-module-page__sidebar, .pb-module-page__main { - padding: 0; - } -} - -.pb-module-page__main { - max-width: 100%; - overflow: auto; -} - -@media (min-width: 61em) { - .pb-module-page__sidebar { - flex-basis: 320px; - } -} - -.pb-module-page hr { - margin-block: var(--gin-spacing-s); -} - -.pb-module-page__project-logo { - max-width: 96px; - margin-block-end: var(--gin-spacing-xs); -} - -.pb-module-page__title { - font-size: var(--gin-font-size-h1); - font-weight: var(--gin-font-weight-bold); - color: var(--gin-color-title); - margin-block: 0; -} - -.pb-module-page__author { - color: var(--gin-color-text-light); - margin-block-start: 0; - margin-block-end: var(--gin-spacing-m); -} - -.pb-module-page__details-title { - position: absolute !important; - clip: rect(1px, 1px, 1px, 1px); - overflow: hidden; - height: 1px; - width: 1px; - word-wrap: normal; -} - -.pb-module-page__module-details { - grid-template-columns: 2rem 2fr; - align-items: start; -} - -.pb-module-page__module-details-info { - font-size: var(--gin-font-size-s); - margin: 0; - margin-block-end: var(--gin-spacing-s); -} - -.pb-module-page__categories-list { - display: flex; - height: auto; - flex-wrap: wrap; - gap: var(--gin-spacing-xs); - margin-block-end: var(--gin-spacing-m); -} - -.pb-module-page__categories-label { - margin-block-end: var(--gin-spacing-xs); -} - -.pb-module-page__actions { - margin: var(--gin-spacing-s) 0; -} - -.pb-module-page__categories-list-item { - margin: 0; -} - diff --git a/gin.info.yml b/gin.info.yml index 40fd608ec..fdc242c17 100755 --- a/gin.info.yml +++ b/gin.info.yml @@ -136,8 +136,6 @@ libraries-extend: - gin/responsive_preview workspaces/drupal.workspaces.overview: - gin/workspaces - project_browser/project_browser: - - gin/project_browser ckeditor_stylesheets: - dist/css/theme/accent.css diff --git a/gin.libraries.yml b/gin.libraries.yml index ea6c0fadb..0b284a187 100644 --- a/gin.libraries.yml +++ b/gin.libraries.yml @@ -463,8 +463,3 @@ workspaces: css: component: dist/css/components/workspaces.css: { minified: false } - -project_browser: - css: - theme: - dist/css/components/project_browser.css: { minified: false } diff --git a/styles/components/project_browser.scss b/styles/components/project_browser.scss deleted file mode 100644 index 500b390db..000000000 --- a/styles/components/project_browser.scss +++ /dev/null @@ -1,504 +0,0 @@ -#project-browser { - .search__form-container, - .pb-layout, - .pb-module-page { - padding: var(--gin-spacing-s); - margin-block-start: 0; - background: var(--gin-bg-layer); - border: 1px solid var(--gin-border-color-layer); - box-shadow: var(--gin-shadow-l1); - border-radius: var(--gin-border-l); - - @include mq(small) { - padding: var(--gin-spacing-l); - } - - .gin--dark-mode & { - box-shadow: 0 6px 16px var(--gin-border-color-layer); - } - - .gin--high-contrast-mode & { - box-shadow: none; - } - } - - .search { - &__form-container { - margin-block-start: var(--gin-spacing-l); - } - - &__search-bar { - background: none; - border: none; - - .search__search_term { - padding: var(--gin-spacing-m); - border: 1px solid var(--gin-border-color-form-element); - } - } - - &__search-icon { - width: 1rem; - height: 1rem; - inset-inline-end: 20px; - inset-block-end: 20px; - } - - &__search-clear { - width: 1.5rem; - height: 1.5rem; - padding: 0; - inset-block-start: 17px; - inset-inline-end: 56px; - z-index: 2; - display: flex; - align-items: center; - justify-content: center; - background: var(--gin-status-bg); - border-radius: 50%; - - img { - width: 12px; - height: 12px; - - .gin--dark-mode & { - filter: brightness(0) invert(1); - } - } - - + .search__search-icon { - display: none; - } - } - - &__search-submit { - padding: 0 16px; - } - - &__form-item { - margin-block-start: 0; - margin-block-end: var(--gin-spacing-s); - } - - &__results-count { - display: flex; - flex-wrap: wrap; - gap: var(--gin-spacing-xs); - } - - &__form-filters-container { - padding: var(--gin-spacing-m); - background: none; - border: 1px solid var(--gin-border-color); - border-radius: var(--gin-border-m); - } - - &__form-filters { - align-items: baseline; - - .form-item { - padding-block-start: 0; - margin-block: 0 var(--gin-spacing-s); - } - } - - &__grid-container, - &__dropdown.dropdown-filters { - background-color: transparent; - border: none; - } - - &__grid-container { - grid-gap: 0; - padding: 0; - } - - &__filters { - margin-block-start: 0; - padding: 0; - background: none; - } - - &__filter-wrapper { - gap: var(--gin-spacing-s); - margin-block-start: var(--gin-spacing-s); - - @include mq(small) { - margin-block-start: 0; - } - } - - &__filter__toggle-container { - margin-inline-end: 0; - } - - &__filter-button { - font-size: var(--gin-font-size-xs); - color: var(--gin-color-primary); - } - - &__filter__toggle.form-element, - &__sort-select.form-element { - color: var(--gin-color-text); - text-decoration: none; - margin-block-start: 0; - margin-inline-start: 0; - background-color: var(--gin-bg-input); - border: 1px solid var(--gin-border-color-form-element); - border-radius: var(--gin-border-m); - transition: var(--gin-transition); - } - - &__checkbox-label { - font-size: var(--gin-font-size-s); - } - - &__filter__toggle.form-element .search__filter__toggle-img { - padding: 0; - - .gin--dark-mode & { - filter: invert(1); - } - } - - &__sort { - display: flex; - align-items: center; - gap: var(--gin-spacing-xs); - - label { - flex-shrink: 0; - } - } - } - - .pb-display__button, - .select_button { - font-size: var(--gin-font-size-s); - color: var(--gin-color-primary); - background: transparent; - padding: var(--gin-spacing-xs) var(--gin-spacing-s); - border-color: inherit; - border-radius: var(--gin-border-s); - box-shadow: none; - - &:hover { - z-index: 2; - color: var(--gin-color-primary); - background: var(--gin-color-primary-light); - } - - &:active, - &:focus, - &--selected { - z-index: 2; - color: var(--gin-color-button-text); - background: var(--gin-color-primary); - - img { - filter: invert(1); - - .gin--dark-mode & { - filter: none; - } - } - } - - &:focus { - box-shadow: 0 0 0 1px var(--gin-color-focus-border), 0 0 0 4px var(--gin-color-focus); - } - } - - .pb-display { - gap: var(--gin-spacing-xxxs); - padding: var(--gin-spacing-xxs); - margin-inline-end: 0; - margin-block-end: 0; - background: var(--gin-bg-layer); - border: 1px solid var(--gin-border-color); - border-radius: var(--gin-spacing-xl); - - &__button { - color: var(--gin-color-text); - background: var(--gin-bg-layer); - border-radius: var(--gin-border-xl); - } - - &__button-icon { - .gin--dark-mode & { - filter: invert(1); - } - } - } - - .pb-layout__header { - align-items: baseline; - margin-block: var(--gin-spacing-l) var(--gin-spacing-s); - border-block-end: none; - } - - .filter-group__title-wrapper, - .pb-filter__heading { - font-size: var(--gin-font-size-s); - font-weight: var(--gin-font-weight-bold); - color: var(--gin-color-title); - margin-block-end: 0; - } - - .pb-filter { - &__heading { - display: inline-flex; - - @include mq(medium) { - margin-block-end: var(--gin-spacing-s); - } - } - - &__summary { - padding: var(--gin-spacing-s); - background: var(--gin-bg-layer2); - border-radius: var(--gin-border-m); - } - - &__checkbox-label { - font-size: var(--gin-font-size-s); - padding-block-start: 0; - } - } - - .filter-applied { - font-size: var(--gin-font-size-xs); - font-weight: var(--gin-font-weight-semibold); - color: var(--gin-color-primary-active); - background: var(--gin-color-primary-light); - padding-block: 0; - padding-inline: var(--gin-spacing-s) var(--gin-spacing-xs); - margin: 0; - min-height: 2rem; - - img { - .gin--dark-mode & { - filter: invert(1); - } - } - } -} - -.pb-project.pb-project--grid, -.pb-project.pb-project--list { - background: transparent; - border: 1px solid var(--gin-border-color-layer2); - border-radius: var(--gin-border-m); - box-shadow: none; - - .gin--dark-mode & { - background: var(--gin-bg-layer2); - } - - .pb-project__logo { - line-height: 0; - } - - .pb-project__logo-image { - width: 64px; - } - - .pb-project__title { - font-size: var(--gin-font-size-l); - font-weight: var(--gin-font-weight-bold); - margin-block-end: var(--gin-spacing-xxs); - - .pb-project__link { - color: var(--gin-color-primary); - text-decoration: none; - } - } - - .pb-project__body { - font-size: var(--gin-font-size-s); - } - - .project__action_button { - font-size: var(--gin-font-size-xxs); - padding-block: calc(var(--gin-spacing-xxs) + 2px); - padding-inline: var(--gin-spacing-s); - border-radius: var(--gin-border-s); - } -} - -.pb-project { - &--list { - grid-template-columns: 64px 1fr; - } - - &__image--list { - padding-inline-start: 0; - } - - &__project-usage-container { - gap: var(--gin-spacing-xxxs); - } - - &__status-icon, - &__maintenance-icon { - margin-top: 0.25rem; - - img { - width: 24px; - } - } -} - -.pb-search-results { - font-size: var(--gin-font-size-h3); - font-weight: var(--gin-font-weight-bold); - margin: 0; - margin-block-start: var(--gin-spacing-xs); -} - -.pb-actions .project_status-indicator { - display: inline-flex; - gap: var(--gin-spacing-xs); - padding-block: var(--gin-spacing-xxs); - padding-inline: var(--gin-spacing-xs) var(--gin-spacing-s); - font-size: var(--gin-font-size-s); - font-weight: var(--gin-font-weight-bold); - border-radius: var(--gin-border-xl); -} - -.pb-actions__icon { - color: var(--gin-status-success-text); -} - -.pb-icon { - &--usage { - .gin--dark-mode & { - filter: invert(1); - } - } - - &--module-details { - width: auto; - margin-inline: 0; - } -} - -.pb-icon--status.pb-module-page__module-details-icon, -.pb-project__status-icon img { - .gin--dark-mode & { - mix-blend-mode: plus-lighter; - } -} - -.project-browser-popup { - .gin--dark-mode & { - .command-box, - input { - background: var(--gin-bg-layer2); - } - } -} - -.search__form .filter-applied, -.pb-project-categories__item, -.pb-module-page__categories-list-item { - font-size: var(--gin-font-size-xs); - font-weight: var(--gin-font-weight-semibold); - margin-inline-end: .25em; - border-radius: 2rem; -} - -.pb-project-categories__item, -.pb-module-page__categories-list-item { - padding: var(--gin-spacing-xxxs) var(--gin-spacing-xs); -} - -.pb-module-page { - display: flex; - flex-wrap: wrap; - gap: var(--gin-spacing-xl); - margin-block-start: var(--gin-spacing-s) !important; - - @include mq(medium) { - flex-wrap: nowrap; - } - - &__sidebar, - &__main { - flex-basis: 100%; - padding: var(--gin-spacing-s); - - @include mq(medium) { - padding: 0; - } - } - - &__main { - max-width: 100%; - overflow: auto; - } - - &__sidebar { - @include mq(medium) { - flex-basis: 320px; - } - } - - hr { - margin-block: var(--gin-spacing-s); - } - - &__project-logo { - max-width: 96px; - margin-block-end: var(--gin-spacing-xs); - } - - &__title { - font-size: var(--gin-font-size-h1); - font-weight: var(--gin-font-weight-bold); - color: var(--gin-color-title); - margin-block: 0; - } - - &__author { - color: var(--gin-color-text-light); - margin-block-start: 0; - margin-block-end: var(--gin-spacing-m); - } - - &__details-title { - @include visually-hidden; - } - - &__module-details { - grid-template-columns: 2rem 2fr; - align-items: start; - } - - &__module-details-info { - font-size: var(--gin-font-size-s); - margin: 0; - margin-block-end: var(--gin-spacing-s); - } - - &__categories-list { - display: flex; - height: auto; - flex-wrap: wrap; - gap: var(--gin-spacing-xs); - margin-block-end: var(--gin-spacing-m); - } - - &__categories-label { - margin-block-end: var(--gin-spacing-xs); - } - - &__actions { - margin: var(--gin-spacing-s) 0; - } - - &__categories-list-item { - margin: 0; - } -} - diff --git a/webpack.config.js b/webpack.config.js index 2635235ab..1978e6976 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -60,7 +60,6 @@ module.exports = { 'components/node_preview': ['./styles/components/node_preview.scss'], 'components/paragraphs': ['./styles/components/paragraphs.scss'], 'components/responsive_preview': ['./styles/components/responsive_preview.scss'], - 'components/project_browser': ['./styles/components/project_browser.scss'], 'components/revisions': ['./styles/components/revisions.scss'], 'components/settings_tray': ['./styles/components/settings_tray.scss'], 'components/settings_tray_edit': ['./styles/components/settings_tray_edit.scss'], -- GitLab From b772abc33d28e4e1e383662ed65edb9d4c5ef00d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ph=C3=A9na=20Proxima?= <adam@phenaproxima.net> Date: Thu, 20 Feb 2025 10:55:58 -0500 Subject: [PATCH 2/3] Conflict with PB>=alpha10 --- composer.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/composer.json b/composer.json index edac9da31..81664f903 100644 --- a/composer.json +++ b/composer.json @@ -37,5 +37,8 @@ }, "scripts": { "phpcs": "phpcs -s --runtime-set ignore_warnings_on_exit 1 --runtime-set ignore_errors_on_exit 0 'web/modules/custom'" + }, + "conflict": { + "drupal/project_browser": ">=2-alpha10" } } -- GitLab From 376878423514a88bce18a942366cf983ddf573e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ph=C3=A9na=20Proxima?= <adam@phenaproxima.net> Date: Tue, 25 Feb 2025 14:41:23 -0500 Subject: [PATCH 3/3] Add pre-render --- includes/form.theme | 6 ++++++ src/GinPreRender.php | 25 ++++++++++++++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/includes/form.theme b/includes/form.theme index 4f99ebc42..2c58b1490 100644 --- a/includes/form.theme +++ b/includes/form.theme @@ -191,6 +191,12 @@ function gin_element_info_alter(&$info) { 'textFormat', ]; } + if (array_key_exists('project_browser', $info)) { + $info['project_browser']['#pre_render'][] = [ + GinPreRender::class, + 'projectBrowser', + ]; + } } /** diff --git a/src/GinPreRender.php b/src/GinPreRender.php index 81ab7977d..a28906314 100644 --- a/src/GinPreRender.php +++ b/src/GinPreRender.php @@ -2,6 +2,7 @@ namespace Drupal\gin; +use Composer\InstalledVersions; use Drupal\Core\Security\TrustedCallbackInterface; /** @@ -11,11 +12,32 @@ use Drupal\Core\Security\TrustedCallbackInterface; */ class GinPreRender implements TrustedCallbackInterface { + /** + * Conditionally attaches libraries to project browsers. + * + * @param array $element + * The render element. + * + * @return array + * The modified render element. + */ + public static function projectBrowser(array $element): array { + try { + $version = InstalledVersions::getVersion('drupal/project_browser'); + if (version_compare($version, '2.0.0-alpha10', '<')) { + $element['#attached']['library'][] = 'gin/project_browser'; + } + } + catch (\OutOfBoundsException) { + // Project Browser isn't installed, we don't have to do anything. + } + return $element; + } + /** * Prepare description toggle for output in template. */ public static function textFormat($element) { - if (\Drupal::classResolver(GinDescriptionToggle::class)->isEnabled() && !empty($element['#description'])) { if ($element['#type'] === 'text_format') { $element['value']['#description_toggle'] = TRUE; @@ -34,6 +56,7 @@ class GinPreRender implements TrustedCallbackInterface { */ public static function trustedCallbacks() { return [ + 'projectBrowser', 'textFormat', ]; } -- GitLab