diff --git a/modules/ui_patterns_devel/src/Controller/UIPatternsDevelDeprecate.php b/modules/ui_patterns_devel/src/Controller/UIPatternsDevelDeprecate.php deleted file mode 100644 index 969e49fd12b60d5c4e78960a5d61c786f576d23b..0000000000000000000000000000000000000000 --- a/modules/ui_patterns_devel/src/Controller/UIPatternsDevelDeprecate.php +++ /dev/null @@ -1,39 +0,0 @@ -<?php - -declare(strict_types=1); - -namespace Drupal\ui_patterns_devel\Controller; - -use Drupal\Core\Controller\ControllerBase; - -/** - * Returns responses for UI Patterns Devel routes. - * - * @codeCoverageIgnore - * @deprecated in ui_patterns:2.0.0-beta5 and is removed from ui_patterns:2.0.0-rc1. Replaced by sdc_devel. - * @see https://www.drupal.org/project/ui_patterns/issues/3489973 - */ -final class UIPatternsDevelDeprecate extends ControllerBase { - - /** - * Builds the response. - * - * @return array - * The built response array. - */ - public function __invoke(): array { - $link = 'https://www.drupal.org/project/sdc_devel'; - return [ - '#type' => 'html_tag', - '#tag' => 'p', - '#value' => $this->t('UI Patterns Devel has been replaced by standalone module <a href="@link">SDC Devel</a>, and will be removed before UI Patterns 2.0.0-rc1, please uninstall and replace this module.', ['@link' => $link]), - '#attributes' => [ - 'class' => [ - 'messages', - 'messages--warning', - ], - ], - ]; - } - -} diff --git a/modules/ui_patterns_devel/ui_patterns_devel.info.yml b/modules/ui_patterns_devel/ui_patterns_devel.info.yml deleted file mode 100644 index 3659d65cce6ed798ea8048c9e4740349ce057ce9..0000000000000000000000000000000000000000 --- a/modules/ui_patterns_devel/ui_patterns_devel.info.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: UI Patterns Devel -type: module -description: Replaced by the sdc_devel standalone module. -core_version_requirement: ^10.3 || ^11 -package: Development -dependencies: - - ui_patterns:ui_patterns -lifecycle: deprecated -lifecycle_link: https://www.drupal.org/project/ui_patterns/issues/3489973 diff --git a/modules/ui_patterns_devel/ui_patterns_devel.links.menu.yml b/modules/ui_patterns_devel/ui_patterns_devel.links.menu.yml deleted file mode 100644 index ffbaa7dec19eabebd3dfac6e2582189880d188b2..0000000000000000000000000000000000000000 --- a/modules/ui_patterns_devel/ui_patterns_devel.links.menu.yml +++ /dev/null @@ -1,5 +0,0 @@ -ui_patterns_devel.twig_validator: - title: UI components - description: Components definitions and templates validation, provided by UI Patterns. - parent: system.admin_reports - route_name: ui_patterns_devel.twig_validator diff --git a/modules/ui_patterns_devel/ui_patterns_devel.links.task.yml b/modules/ui_patterns_devel/ui_patterns_devel.links.task.yml deleted file mode 100644 index 6dae38c83412caf14c13c140e4f8f8aae9cbda7b..0000000000000000000000000000000000000000 --- a/modules/ui_patterns_devel/ui_patterns_devel.links.task.yml +++ /dev/null @@ -1,9 +0,0 @@ -ui_patterns_devel.overview: - route_name: ui_patterns_devel.twig_validator - title: "Overview" - base_route: ui_patterns_devel.twig_validator - -ui_patterns_devel.overview_details: - route_name: ui_patterns_devel.twig_validator.details - title: "Details" - base_route: ui_patterns_devel.twig_validator diff --git a/modules/ui_patterns_devel/ui_patterns_devel.routing.yml b/modules/ui_patterns_devel/ui_patterns_devel.routing.yml deleted file mode 100644 index 7c2034de62f7b943258d334164b270c29de8ae5d..0000000000000000000000000000000000000000 --- a/modules/ui_patterns_devel/ui_patterns_devel.routing.yml +++ /dev/null @@ -1,24 +0,0 @@ -ui_patterns_devel.twig_validator: - path: "/admin/reports/ui-components" - defaults: - _title: "Components status report" - _controller: '\Drupal\ui_patterns_devel\Controller\UIPatternsDevelDeprecate' - requirements: - _permission: "access components page+access site reports" - -ui_patterns_devel.twig_validator.details: - path: "/admin/reports/ui-components/details" - defaults: - _title: "Components status report" - _controller: '\Drupal\ui_patterns_devel\Controller\UIPatternsDevelDeprecate' - requirements: - _permission: "access components page+access site reports" - -ui_patterns_devel.twig_validator.component: - path: "/admin/reports/ui-components/component/{component_id}" - defaults: - _title: "Components status report" - _controller: '\Drupal\ui_patterns_devel\Controller\UIPatternsDevelDeprecate' - component_id: "" - requirements: - _permission: "access components page+access site reports" diff --git a/modules/ui_patterns_legacy/src/Element/ComponentElementAlter.php b/modules/ui_patterns_legacy/src/Element/ComponentElementAlter.php index 483b2ce5900ebef73c30f062166bd08c7e5cc3ae..41829eafda1af2ed11c68ae505979bf934df27c8 100644 --- a/modules/ui_patterns_legacy/src/Element/ComponentElementAlter.php +++ b/modules/ui_patterns_legacy/src/Element/ComponentElementAlter.php @@ -67,10 +67,7 @@ class ComponentElementAlter implements TrustedCallbackInterface { */ protected function addPreviewStory(array $element): array { $component = $this->componentPluginManager->getDefinition($element["#component"]); - // ::mergeStories() is a temporary compatibility layer. - // @todo Replace by StoryPluginManager::getComponentStories() before 2.0.0 - // release. - $component = $this->storyPluginManager->mergeStories($component['id'], $component); + $component['stories'] = $this->storyPluginManager->getComponentStories($component['id']); if (!isset($component["stories"])) { return $element; } diff --git a/modules/ui_patterns_library/src/Controller/LibraryController.php b/modules/ui_patterns_library/src/Controller/LibraryController.php index 24a4fca020d0b946ee2afbddc98fbfc554ab0bfa..9797f69bd77bddf589d3468356e5837db338a7d0 100644 --- a/modules/ui_patterns_library/src/Controller/LibraryController.php +++ b/modules/ui_patterns_library/src/Controller/LibraryController.php @@ -66,10 +66,7 @@ class LibraryController extends ControllerBase { public function single(string $provider, string $machineName) { $id = $provider . ":" . $machineName; $definition = $this->componentPluginManager->getDefinition($id); - // ::mergeStories() is a temporary compatibility layer. - // @todo Replace by StoryPluginManager::getComponentStories() before 2.0.0 - // release. - $definition = $this->storyPluginManager->mergeStories($id, $definition, TRUE); + $definition['stories'] = $this->storyPluginManager->getComponentStories($id); return [ '#theme' => 'ui_patterns_single_page', '#component' => $definition, @@ -106,10 +103,7 @@ class LibraryController extends ControllerBase { foreach ($grouped_definitions as $group_id => $definitions) { foreach ($definitions as $definition_id => $definition) { if ($definition['provider'] == $provider) { - // ::mergeStories() is a temporary compatibility layer. - // @todo Replace by StoryPluginManager::getComponentStories() before - // 2.0.0 release. - $definition = $this->storyPluginManager->mergeStories($definition_id, $definition, TRUE); + $definition['stories'] = $this->storyPluginManager->getComponentStories($definition_id); $groups[$group_id][$definition_id] = $definition; } } @@ -131,10 +125,7 @@ class LibraryController extends ControllerBase { $grouped_definitions = $this->componentPluginManager->getGroupedDefinitions(); foreach ($grouped_definitions as $group_id => $definitions) { foreach ($definitions as $definition_id => $definition) { - // ::mergeStories() is a temporary compatibility layer. - // @todo Replace by StoryPluginManager::getComponentStories() before - // 2.0.0 release. - $definition = $this->storyPluginManager->mergeStories($definition_id, $definition, TRUE); + $definition['stories'] = $this->storyPluginManager->getComponentStories($definition_id); $groups[$group_id][$definition_id] = $definition; } } diff --git a/modules/ui_patterns_library/src/Element/ComponentElementAlter.php b/modules/ui_patterns_library/src/Element/ComponentElementAlter.php index 1cd797ffae66f7414c0cd5d47f131e8f30354f23..04ee3c5e0e42a35a599a7f4ee56020e5f139b60f 100644 --- a/modules/ui_patterns_library/src/Element/ComponentElementAlter.php +++ b/modules/ui_patterns_library/src/Element/ComponentElementAlter.php @@ -55,10 +55,7 @@ class ComponentElementAlter implements TrustedCallbackInterface { } $story_id = $element["#story"]; $component = $this->componentPluginManager->getDefinition($element["#component"]); - // ::mergeStories() is a temporary compatibility layer. - // @todo Replace by StoryPluginManager::getComponentStories() before 2.0.0 - // release. - $component = $this->storyPluginManager->mergeStories($component['id'], $component); + $component["stories"] = $this->storyPluginManager->getComponentStories($element["#component"]); if (!isset($component["stories"])) { return $element; } diff --git a/modules/ui_patterns_library/src/StoryPluginManager.php b/modules/ui_patterns_library/src/StoryPluginManager.php index 367b5f8b7a5a847cfc3444910abec8989528a10b..84e5ec44d8138703ba19495efaa6e574136e91a5 100644 --- a/modules/ui_patterns_library/src/StoryPluginManager.php +++ b/modules/ui_patterns_library/src/StoryPluginManager.php @@ -168,39 +168,6 @@ final class StoryPluginManager extends DefaultPluginManager { return (bool) preg_match($regex, $component_id); } - /** - * Merge stories (temporary compatibility layer). - * - * Initially, the stories were authored inside the component definition. - * They are now they own plugins with their own definition files. - * To not break the projects using the previous format, we are merging - * everything. But this is a temporary solution. - */ - public function mergeStories(string $component_id, array $definition, bool $display_warning = FALSE): array { - $legacy_stories = $definition["stories"] ?? []; - if (!empty($legacy_stories) && $display_warning) { - $this->messenger->addWarning( - t("@component is still using the obsolete stories format. Move the stories from the component definition to their own files.", - ["@component" => $component_id]) - ); - } - $definition["stories"] = array_merge( - $legacy_stories, - $this->getComponentStories($component_id), - ); - // Also, we went from 'title' to 'name' in order to increase compatibility - // with sdc_styleguide. See #3464909. - foreach ($definition["stories"] as $story_id => $story) { - if (!isset($story["name"]) && isset($story["title"])) { - $definition["stories"][$story_id]["name"] = $story["title"]; - } - if (isset($story["name"]) && !isset($story["title"])) { - $definition["stories"][$story_id]["title"] = $story["name"]; - } - } - return $definition; - } - /** * {@inheritdoc} */ diff --git a/src/Template/TwigExtension.php b/src/Template/TwigExtension.php index e2ed184a6ef52c24fe48e0b245f39177db6b5b3c..10e14dac6baec41abe699043a0fb3fe2600f6a03 100644 --- a/src/Template/TwigExtension.php +++ b/src/Template/TwigExtension.php @@ -59,8 +59,6 @@ class TwigExtension extends AbstractExtension { */ public function getFunctions() { return [ - // @todo Remove component() before 2.0.0 release. - new TwigFunction('component', [$this, 'renderComponent']), // For ComponentNodeVisitorBeforeSdc. new TwigFunction('_ui_patterns_normalize_props', [$this, 'normalizeProps'], ['needs_context' => TRUE]), // For ComponentNodeVisitorAfterSdc. @@ -78,31 +76,6 @@ class TwigExtension extends AbstractExtension { ]; } - /** - * Render given component. - * - * @param string $component_id - * Component ID. - * @param array $slots - * Pattern slots. - * @param array $props - * Pattern props. - * - * @return array - * Pattern render array. - * - * @see \Drupal\Core\Theme\Element\ComponentElement - */ - public function renderComponent(string $component_id, array $slots = [], array $props = []) { - $this->messenger->addWarning("component() Twig function is deprecated in favor of include() function and will be removed before 2.0.0."); - return [ - '#type' => 'component', - '#component' => $component_id, - '#slots' => $slots, - '#props' => $props, - ]; - } - /** * Normalize props (and slots). *