summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwebchick2013-11-20 02:59:45 (GMT)
committerwebchick2013-11-20 02:59:45 (GMT)
commite0a0b76f827d46aeddc137ff5e65de23f057bc6e (patch)
tree98b767191c0f3526c04395d4533053d25af05a5b
parent92f93a1cbc2b331e4427efe8ca7674fb503c33a3 (diff)
Issue #1851018 by alexpott, attiks, xjm: Improve breakpoint configuration implementation.
-rw-r--r--core/includes/theme.inc14
-rw-r--r--core/modules/breakpoint/breakpoint.install20
-rw-r--r--core/modules/breakpoint/breakpoint.module205
-rw-r--r--core/modules/breakpoint/config/breakpoint.settings.yml4
-rw-r--r--core/modules/breakpoint/config/schema/breakpoint.schema.yml12
-rw-r--r--core/modules/breakpoint/lib/Drupal/breakpoint/BreakpointGroupInterface.php24
-rw-r--r--core/modules/breakpoint/lib/Drupal/breakpoint/Entity/BreakpointGroup.php93
-rw-r--r--core/modules/breakpoint/lib/Drupal/breakpoint/Tests/BreakpointGroupCRUDTest.php3
-rw-r--r--core/modules/breakpoint/lib/Drupal/breakpoint/Tests/BreakpointGroupTestBase.php4
-rw-r--r--core/modules/breakpoint/lib/Drupal/breakpoint/Tests/BreakpointThemeTest.php61
-rw-r--r--core/modules/breakpoint/tests/config/breakpoint_theme_test.breakpoint_groups.yml6
-rw-r--r--core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint.theme.breakpoint_test_theme.mobile.yml12
-rw-r--r--core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint.theme.breakpoint_test_theme.narrow.yml12
-rw-r--r--core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint.theme.breakpoint_test_theme.tv.yml12
-rw-r--r--core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint.theme.breakpoint_test_theme.wide.yml12
-rw-r--r--core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint_group.theme.breakpoint_test_theme.breakpoint_test_theme.yml13
-rw-r--r--core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint_group.theme.breakpoint_test_theme.test.yml12
-rw-r--r--core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint_test_theme.breakpoint_groups.yml6
-rw-r--r--core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint_test_theme.breakpoints.yml4
-rw-r--r--core/modules/picture/lib/Drupal/picture/Entity/PictureMapping.php2
-rw-r--r--core/modules/picture/lib/Drupal/picture/PictureMappingFormController.php3
-rw-r--r--core/modules/picture/lib/Drupal/picture/Plugin/Field/FieldFormatter/PictureFormatter.php5
-rw-r--r--core/modules/picture/lib/Drupal/picture/Tests/PictureAdminUITest.php2
-rw-r--r--core/modules/picture/lib/Drupal/picture/Tests/PictureFieldDisplayTest.php2
-rw-r--r--core/modules/toolbar/config/breakpoint.breakpoint.module.toolbar.narrow.yml12
-rw-r--r--core/modules/toolbar/config/breakpoint.breakpoint.module.toolbar.standard.yml12
-rw-r--r--core/modules/toolbar/config/breakpoint.breakpoint.module.toolbar.wide.yml12
-rw-r--r--core/modules/toolbar/config/breakpoint.breakpoint_group.module.toolbar.toolbar.yml12
-rw-r--r--core/modules/toolbar/config/schema/toolbar.schema.yml25
-rw-r--r--core/modules/toolbar/config/toolbar.breakpoints.yml3
-rw-r--r--core/modules/toolbar/config/toolbar.settings.yml4
-rw-r--r--core/modules/toolbar/toolbar.module2
-rw-r--r--core/themes/bartik/config/bartik.breakpoints.yml3
-rw-r--r--core/themes/bartik/config/breakpoint.breakpoint.theme.bartik.mobile.yml12
-rw-r--r--core/themes/bartik/config/breakpoint.breakpoint.theme.bartik.narrow.yml12
-rw-r--r--core/themes/bartik/config/breakpoint.breakpoint.theme.bartik.wide.yml12
-rw-r--r--core/themes/bartik/config/breakpoint.breakpoint_group.theme.bartik.bartik.yml12
37 files changed, 284 insertions, 392 deletions
diff --git a/core/includes/theme.inc b/core/includes/theme.inc
index 07fda79..e6326d8 100644
--- a/core/includes/theme.inc
+++ b/core/includes/theme.inc
@@ -363,17 +363,11 @@ function list_themes($refresh = FALSE) {
$list = array();
// Extract from the database only when it is available.
// Also check that the site is not in the middle of an install or update.
- if (!defined('MAINTENANCE_MODE')) {
- try {
- $themes = system_list('theme');
- }
- catch (Exception $e) {
- // If the database is not available, rebuild the theme data.
- $themes = _system_rebuild_theme_data();
- }
+ try {
+ $themes = system_list('theme');
}
- else {
- // Scan the installation when the database should not be read.
+ catch (Exception $e) {
+ // If the database is not available, rebuild the theme data.
$themes = _system_rebuild_theme_data();
}
diff --git a/core/modules/breakpoint/breakpoint.install b/core/modules/breakpoint/breakpoint.install
deleted file mode 100644
index 7ee2603..0000000
--- a/core/modules/breakpoint/breakpoint.install
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-/**
- * @file
- * Enable, install, update and uninstall functions for the breakpoint module.
- */
-
-/**
- * Implements hook_install().
- *
- * Import breakpoints from all enabled themes.
- */
-function breakpoint_install() {
- // Import breakpoints from enabled themes.
- $themes = array_filter(list_themes(), function ($theme) {return $theme->status;});
- _breakpoint_theme_enabled(array_keys($themes));
-
- // Import breakpoints from modules.
- _breakpoint_modules_installed(array_keys(\Drupal::moduleHandler()->getModuleList()));
-}
diff --git a/core/modules/breakpoint/breakpoint.module b/core/modules/breakpoint/breakpoint.module
index d502691..a2450f9 100644
--- a/core/modules/breakpoint/breakpoint.module
+++ b/core/modules/breakpoint/breakpoint.module
@@ -34,20 +34,6 @@ function breakpoint_help($path, $arg) {
}
/**
- * Implements hook_themes_enabled().
- *
- * @param array $theme_list
- * An array of theme names.
- *
- * @see _breakpoint_theme_enabled()
- *
- * @todo: This should be removed if https://drupal.org/node/1813110 is resolved.
- */
-function breakpoint_themes_enabled($theme_list) {
- _breakpoint_theme_enabled($theme_list);
-}
-
-/**
* Implements hook_themes_disabled().
*
* @param array $theme_list
@@ -62,20 +48,6 @@ function breakpoint_themes_disabled($theme_list) {
}
/**
- * Implements hook_modules_installed().
- *
- * @param array $modules
- * An array of the modules that were enabled.
- *
- * @see _breakpoint_modules_enabled()
- *
- * @todo: This should be removed if https://drupal.org/node/1813110 is resolved.
- */
-function breakpoint_modules_installed($modules) {
- _breakpoint_modules_installed($modules);
-}
-
-/**
* Implements hook_modules_uninstalled().
*
* @param array $modules
@@ -90,91 +62,6 @@ function breakpoint_modules_uninstalled($modules) {
}
/**
- * Import breakpoints from all new enabled themes.
- *
- * @param array $theme_list
- * An array of theme names.
- */
-function _breakpoint_theme_enabled($theme_list) {
- $themes = list_themes();
- foreach ($theme_list as $theme_key) {
- $media_queries = breakpoint_get_theme_media_queries($theme_key);
- _breakpoint_import_media_queries($theme_key, $themes[$theme_key]->info['name'], Breakpoint::SOURCE_TYPE_THEME, $media_queries);
- // Import custom groups.
- _breakpoint_import_breakpoint_groups($theme_key, Breakpoint::SOURCE_TYPE_THEME);
- }
-}
-
-/**
- * Import breakpoints from all new installed modules.
- *
- * @param array $modules
- * An array of the modules that were installed.
- */
-function _breakpoint_modules_installed($modules) {
- foreach ($modules as $module) {
- $media_queries = breakpoint_get_module_media_queries($module);
- _breakpoint_import_media_queries($module, $module, Breakpoint::SOURCE_TYPE_MODULE, $media_queries);
- // Import custom groups.
- _breakpoint_import_breakpoint_groups($module, Breakpoint::SOURCE_TYPE_MODULE);
- }
-}
-
-/**
- * Import media queries from a theme or module and create a default group.
- *
- * @param string $group_name
- * Machine readable name of the breakpoint group.
- * @param string $label
- * Human readable name of the breakpoint group.
- * @param string $source_type
- * Either Breakpoint::SOURCE_TYPE_THEME or Breakpoint::SOURCE_TYPE_MODULE.
- * @param array $media_queries
- * An array of breakpoints in the form $breakpoint['name'] = 'media query'.
- */
-function _breakpoint_import_media_queries($group_name, $label, $source_type, $media_queries) {
- if (!empty($media_queries)) {
- // Create a new breakpoint group if it doesn't exist.
- $breakpoint_group = _breakpoint_group_create_or_load($group_name, $label, $group_name, $source_type);
-
- // Load all media queries, create a breakpoint for each one and add them
- // to this breakpoint group.
- foreach ($media_queries as $name => $media_query) {
- $breakpoint_group->addBreakpointFromMediaQuery($name, $media_query);
- }
-
- $breakpoint_group->save();
- }
-}
-
-/**
- * Import breakpoint groups from theme or module.
- *
- * @param string $source
- * The theme or module name
- * @param string $source_type
- * Either Breakpoint::SOURCE_TYPE_THEME or Breakpoint::SOURCE_TYPE_MODULE.
- */
-function _breakpoint_import_breakpoint_groups($source, $source_type) {
- $breakpoint_groups = \Drupal::config($source . '.breakpoint_groups');
- if ($breakpoint_groups) {
- foreach ($breakpoint_groups->get() as $group_name => $data) {
- // Breakpoints is mandatory, extra check since this is coming from config.
- if (isset($data['breakpoints']) && !empty($data['breakpoints'])) {
- // Create a new breakpoint group if it doesn't exist.
- $breakpoint_group = _breakpoint_group_create_or_load($group_name, isset($data['label']) ? $data['label'] : $group_name, $source, $source_type);
- // Add the breakpoints.
- $breakpoint_group->addBreakpoints($data['breakpoints']);
- $breakpoint_group->save();
- }
- else {
- throw new \Exception('Illegal config file detected.');
- }
- }
- }
-}
-
-/**
* Remove breakpoints from all disabled themes or uninstalled modules.
*
* The source type has to match the original source type, otherwise the group
@@ -246,65 +133,6 @@ function _breakpoint_delete_breakpoint_groups($group_id, $source_type) {
}
/**
- * Get a list of available breakpoints from a specified theme.
- *
- * @param string $theme_key
- * The name of the theme.
- *
- * @return array
- * An array of breakpoints in the form $breakpoint['name'] = 'media query'.
- */
-function breakpoint_get_theme_media_queries($theme_key) {
- $themes = list_themes();
- if (!isset($themes[$theme_key])) {
- throw new \Exception('Illegal theme_key passed.');
- }
-
- $config = \Drupal::config($theme_key . '.breakpoints');
- if ($config) {
- return $config->get();
- }
- return array();
-}
-
-/**
- * Get a list of available breakpoints from a specified module.
- *
- * @param string $module
- * The name of the module.
- *
- * @return array
- * An array of breakpoints in the form $breakpoint['name'] = 'media query'.
- */
-function breakpoint_get_module_media_queries($module) {
- if (!\Drupal::moduleHandler()->moduleExists($module)) {
- throw new \Exception('Illegal module name passed.');
- }
-
- $config = \Drupal::config($module . '.breakpoints');
- if ($config) {
- return $config->get();
- }
- return array();
-}
-
-/**
- * Load one breakpoint group by its identifier.
- *
- * @param string $id
- * The id of the breakpoint group to load.
- *
- * @return \Drupal\breakpoint\Entity\BreakpointGroup|null
- * The breakpoint group, or NULL if there is no entity with the given id.
- *
- * @todo Remove this in a follow-up issue.
- * @see http://drupal.org/node/1798214
- */
-function breakpoint_group_load($id) {
- return entity_load('breakpoint_group', $id);
-}
-
-/**
* Load one breakpoint by its identifier.
*
* @param int $id
@@ -351,36 +179,3 @@ function breakpoint_select_options() {
asort($options);
return $options;
}
-
-/**
- * Helper function to easily create/load a breakpoint group.
- *
- * @param string $name
- * Machine readable name of the breakpoint group.
- * @param string $label
- * Human readable name of the breakpoint group.
- * @param string $source
- * Machine readable name of the defining theme or module.
- * @param string $source_type
- * Either Breakpoint::SOURCE_TYPE_THEME or Breakpoint::SOURCE_TYPE_MODULE.
- *
- * @return \Drupal\breakpoint\Entity\BreakpointGroup
- *
- * @see _breakpoint_import_media_queries()
- * @see _breakpoint_import_breakpoint_groups()
- */
-function _breakpoint_group_create_or_load($name, $label, $source, $source_type) {
- // Try loading the breakpoint group.
- $breakpoint_group = entity_load('breakpoint_group', $source_type . '.' . $source . '.' . $name);
- // Create a new breakpoint group if it doesn't exist.
- if (!$breakpoint_group) {
- // Build a new breakpoint group.
- $breakpoint_group = entity_create('breakpoint_group', array(
- 'name' => $name,
- 'label' => $label,
- 'source' => $source,
- 'sourceType' => $source_type,
- ));
- }
- return $breakpoint_group;
-}
diff --git a/core/modules/breakpoint/config/breakpoint.settings.yml b/core/modules/breakpoint/config/breakpoint.settings.yml
deleted file mode 100644
index 542675f..0000000
--- a/core/modules/breakpoint/config/breakpoint.settings.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-multipliers:
- - 1x
- - 1.5x
- - 2x
diff --git a/core/modules/breakpoint/config/schema/breakpoint.schema.yml b/core/modules/breakpoint/config/schema/breakpoint.schema.yml
index 0f4184e..a2a5d7d 100644
--- a/core/modules/breakpoint/config/schema/breakpoint.schema.yml
+++ b/core/modules/breakpoint/config/schema/breakpoint.schema.yml
@@ -1,16 +1,4 @@
# Schema for the configuration files of the Breakpoint module.
-
-breakpoint.settings:
- type: mapping
- label: 'Breakpoint settings'
- mapping:
- multipliers:
- type: sequence
- label: 'Assigning resolution multipliers to breakpoints'
- sequence:
- - type: string
- label: 'Multiplier'
-
breakpoint.breakpoint.*.*.*:
type: mapping
label: 'Defines the Breakpoint entity'
diff --git a/core/modules/breakpoint/lib/Drupal/breakpoint/BreakpointGroupInterface.php b/core/modules/breakpoint/lib/Drupal/breakpoint/BreakpointGroupInterface.php
index 59833ff..3bb877b 100644
--- a/core/modules/breakpoint/lib/Drupal/breakpoint/BreakpointGroupInterface.php
+++ b/core/modules/breakpoint/lib/Drupal/breakpoint/BreakpointGroupInterface.php
@@ -41,8 +41,30 @@ interface BreakpointGroupInterface extends ConfigEntityInterface {
* The breakpoint name is either the machine_name or the ID of a breakpoint.
*
* @param array $breakpoints
- * Array containing breakpoints keyed by their ID.
+ * Array containing breakpoint objects
+ *
+ * @return \Drupal\breakpoint\Entity\BreakpointGroup
+ * The breakpoint group object.
*/
public function addBreakpoints($breakpoints);
+ /**
+ * Gets the array of breakpoints for the breakpoint group.
+ *
+ * @return array
+ * The array of breakpoints for the breakpoint group.
+ */
+ public function getBreakpoints();
+
+ /**
+ * Gets a breakpoint from the breakpoint group by ID.
+ *
+ * @param string $id
+ * The breakpoint ID to get.
+ *
+ * @return \Drupal\breakpoint\Entity\Breakpoint|boolean
+ * The breakpoint or FALSE if not in the Breakpoint group.
+ */
+ public function getBreakpointById($id);
+
}
diff --git a/core/modules/breakpoint/lib/Drupal/breakpoint/Entity/BreakpointGroup.php b/core/modules/breakpoint/lib/Drupal/breakpoint/Entity/BreakpointGroup.php
index 5f32b5e..61c1ea6 100644
--- a/core/modules/breakpoint/lib/Drupal/breakpoint/Entity/BreakpointGroup.php
+++ b/core/modules/breakpoint/lib/Drupal/breakpoint/Entity/BreakpointGroup.php
@@ -62,14 +62,24 @@ class BreakpointGroup extends ConfigEntityBase implements BreakpointGroupInterfa
public $label;
/**
+ * The breakpoint group breakpoint IDs.
+ *
+ * @var array
+ * Array containing all breakpoints IDs of this group.
+ *
+ * @see \Drupal\breakpoint\Entity\Breakpoint
+ */
+ protected $breakpoint_ids = array();
+
+ /**
* The breakpoint group breakpoints.
*
* @var array
- * Array containing all breakpoints of this group.
+ * Array containing all breakpoints objects of this group.
*
* @see \Drupal\breakpoint\Entity\Breakpoint
*/
- public $breakpoints = array();
+ protected $breakpoints = array();
/**
* The breakpoint group source: theme or module name. Use 'user' for
@@ -97,7 +107,6 @@ class BreakpointGroup extends ConfigEntityBase implements BreakpointGroupInterfa
*/
public function __construct(array $values, $entity_type) {
parent::__construct($values, $entity_type);
- $this->loadAllBreakpoints();
}
/**
@@ -111,10 +120,7 @@ class BreakpointGroup extends ConfigEntityBase implements BreakpointGroupInterfa
if (empty($this->id)) {
$this->id = $this->sourceType . '.' . $this->source . '.' . $this->name;
}
- // Only save the keys, but return the full objects.
- $this->breakpoints = array_keys($this->breakpoints);
parent::save();
- $this->loadAllBreakpoints();
}
/**
@@ -156,47 +162,70 @@ class BreakpointGroup extends ConfigEntityBase implements BreakpointGroupInterfa
'mediaQuery' => $media_query,
'source' => $this->name,
'sourceType' => $this->sourceType,
- 'weight' => count($this->breakpoints),
+ 'weight' => count($this->breakpoint_ids),
));
$breakpoint->save();
}
- $this->breakpoints[$breakpoint->id()] = $breakpoint;
+ return $this->addBreakpoints(array($breakpoint));
}
/**
* {@inheritdoc}
*/
public function addBreakpoints($breakpoints) {
- foreach ($breakpoints as $breakpoint_name) {
- // Check if breakpoint exists, assume $breakpoint_name is a machine name.
- $breakpoint = entity_load('breakpoint', $this->sourceType . '.' . $this->source . '.' . $breakpoint_name);
- // If the breakpoint doesn't exist, assume $breakpoint_name is an id.
- if (!$breakpoint) {
- $breakpoint = entity_load('breakpoint', $breakpoint_name);
- }
- // If the breakpoint doesn't exists, do not add it.
- if ($breakpoint) {
- // Add breakpoint to group.
- $this->breakpoints[$breakpoint->id()] = $breakpoint;
- }
+ foreach ($breakpoints as $breakpoint) {
+ // Add breakpoint to group.
+ $this->breakpoints[$breakpoint->id()] = $breakpoint;
+ $this->breakpoint_ids[] = $breakpoint->id();
}
+ return $this;
}
/**
- * Loads all breakpoints, remove non-existing ones.
- *
- * @return array
- * Array containing breakpoints keyed by their id.
- */
- protected function loadAllBreakpoints() {
- $breakpoints = $this->breakpoints;
- $this->breakpoints = array();
- foreach ($breakpoints as $breakpoint_id) {
- $breakpoint = breakpoint_load($breakpoint_id);
- if ($breakpoint) {
- $this->breakpoints[$breakpoint_id] = $breakpoint;
+ * {@inheritdoc}
+ */
+ public function getBreakpoints() {
+ if (empty($this->breakpoints)) {
+ foreach ($this->breakpoint_ids as $breakpoint_id) {
+ $breakpoint = breakpoint_load($breakpoint_id);
+ if ($breakpoint) {
+ $this->breakpoints[$breakpoint_id] = $breakpoint;
+ }
}
}
+ return $this->breakpoints;
}
+ /**
+ * {@inheritdoc}
+ */
+ public function getBreakpointById($id) {
+ $breakpoints = $this->getBreakpoints();
+ if (isset($breakpoints[$id])) {
+ return $breakpoints[$id];
+ }
+ return FALSE;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getExportProperties() {
+ $names = array(
+ 'id',
+ 'uuid',
+ 'name',
+ 'label',
+ 'breakpoint_ids',
+ 'source',
+ 'sourceType',
+ 'status',
+ 'langcode',
+ );
+ $properties = array();
+ foreach ($names as $name) {
+ $properties[$name] = $this->get($name);
+ }
+ return $properties;
+ }
}
diff --git a/core/modules/breakpoint/lib/Drupal/breakpoint/Tests/BreakpointGroupCRUDTest.php b/core/modules/breakpoint/lib/Drupal/breakpoint/Tests/BreakpointGroupCRUDTest.php
index bd5a2a8..e9eeb00 100644
--- a/core/modules/breakpoint/lib/Drupal/breakpoint/Tests/BreakpointGroupCRUDTest.php
+++ b/core/modules/breakpoint/lib/Drupal/breakpoint/Tests/BreakpointGroupCRUDTest.php
@@ -50,8 +50,7 @@ class BreakpointGroupCRUDTest extends BreakpointGroupTestBase {
$this->verifyBreakpointGroup($group);
// Update the breakpoint group.
- $group->breakpoints = array_keys($breakpoints);
- $group->save();
+ $group->addBreakpoints($breakpoints)->save();
$this->verifyBreakpointGroup($group);
// Delete the breakpoint group.
diff --git a/core/modules/breakpoint/lib/Drupal/breakpoint/Tests/BreakpointGroupTestBase.php b/core/modules/breakpoint/lib/Drupal/breakpoint/Tests/BreakpointGroupTestBase.php
index 0f7e471..95141e3 100644
--- a/core/modules/breakpoint/lib/Drupal/breakpoint/Tests/BreakpointGroupTestBase.php
+++ b/core/modules/breakpoint/lib/Drupal/breakpoint/Tests/BreakpointGroupTestBase.php
@@ -33,7 +33,6 @@ abstract class BreakpointGroupTestBase extends WebTestBase {
'label',
'id',
'name',
- 'breakpoints',
'sourceType',
);
@@ -58,5 +57,8 @@ abstract class BreakpointGroupTestBase extends WebTestBase {
$this->assertEqual($compare_set->{$property}, $group->{$property}, format_string('breakpoint_group_load: Proper %property: %property1 == %property2 for breakpoint group %group.', $t_args), 'Breakpoint API');
}
}
+
+ // Ensure that the breakpoint group has the expected breakpoints.
+ $this->assertEqual(array_keys($compare_set->getBreakpoints()), array_keys($group->getBreakpoints()));
}
}
diff --git a/core/modules/breakpoint/lib/Drupal/breakpoint/Tests/BreakpointThemeTest.php b/core/modules/breakpoint/lib/Drupal/breakpoint/Tests/BreakpointThemeTest.php
index e00af05..ed88881 100644
--- a/core/modules/breakpoint/lib/Drupal/breakpoint/Tests/BreakpointThemeTest.php
+++ b/core/modules/breakpoint/lib/Drupal/breakpoint/Tests/BreakpointThemeTest.php
@@ -47,12 +47,14 @@ class BreakpointThemeTest extends BreakpointGroupTestBase {
'sourceType' => Breakpoint::SOURCE_TYPE_THEME,
'id' => Breakpoint::SOURCE_TYPE_THEME . '.breakpoint_test_theme.breakpoint_test_theme',
));
- $breakpoint_group_obj->breakpoints = array(
- 'theme.breakpoint_test_theme.mobile' => array(),
- 'theme.breakpoint_test_theme.narrow' => array(),
- 'theme.breakpoint_test_theme.wide' => array(),
- 'theme.breakpoint_test_theme.tv' => array(),
- );
+ $breakpoint_group_obj->addBreakpoints(entity_load_multiple('breakpoint',
+ array(
+ 'theme.breakpoint_test_theme.mobile',
+ 'theme.breakpoint_test_theme.narrow',
+ 'theme.breakpoint_test_theme.wide',
+ 'theme.breakpoint_test_theme.tv',
+ )
+ ));
// Verify we can load this breakpoint defined by the theme.
$this->verifyBreakpointGroup($breakpoint_group_obj);
@@ -74,11 +76,13 @@ class BreakpointThemeTest extends BreakpointGroupTestBase {
'source' => 'breakpoint_test_theme',
'id' => Breakpoint::SOURCE_TYPE_THEME . '.breakpoint_test_theme.test',
));
- $breakpoint_group_obj->breakpoints = array(
- 'theme.breakpoint_test_theme.mobile' => array('1.5x', '2.x'),
- 'theme.breakpoint_test_theme.narrow' => array(),
- 'theme.breakpoint_test_theme.wide' => array(),
- );
+ $breakpoint_group_obj->addBreakpoints(entity_load_multiple('breakpoint',
+ array(
+ 'theme.breakpoint_test_theme.mobile',
+ 'theme.breakpoint_test_theme.narrow',
+ 'theme.breakpoint_test_theme.wide',
+ )
+ ));
// Verify we can load this breakpoint defined by the theme.
$this->verifyBreakpointGroup($breakpoint_group_obj);
@@ -88,39 +92,4 @@ class BreakpointThemeTest extends BreakpointGroupTestBase {
$this->assertFalse(entity_load('breakpoint_group', $breakpoint_group_obj->id()), 'breakpoint_group_load: Loading a deleted breakpoint group returns false.', 'Breakpoint API');
}
- /**
- * Test the breakpoints defined by the custom group in the module.
- */
- public function testThemeBreakpointGroupModule() {
- // Call the import manually, since the testbot needs to enable the module
- // first, otherwise the theme isn't detected.
- _breakpoint_import_breakpoint_groups('breakpoint_theme_test', Breakpoint::SOURCE_TYPE_MODULE);
-
- // Verify the breakpoint group 'module_test' was created by
- // breakpoint_theme_test module.
- $breakpoint_group_obj = entity_create('breakpoint_group', array(
- 'label' => 'Test Module',
- 'name' => 'module_test',
- 'sourceType' => Breakpoint::SOURCE_TYPE_MODULE,
- 'source' => 'breakpoint_theme_test',
- 'id' => Breakpoint::SOURCE_TYPE_MODULE . '.breakpoint_theme_test.module_test',
- ));
- $breakpoint_group_obj->breakpoints = array(
- 'theme.breakpoint_test_theme.mobile' => array(),
- 'theme.breakpoint_test_theme.narrow' => array(),
- 'theme.breakpoint_test_theme.wide' => array(),
- );
-
- // Verify we can load this breakpoint defined by the theme.
- $this->verifyBreakpointGroup($breakpoint_group_obj);
-
- // Disable the test theme and verify the breakpoint group still exists.
- theme_disable(array('breakpoint_test_theme'));
- $this->assertTrue(entity_load('breakpoint_group', $breakpoint_group_obj->id()), 'Breakpoint group still exists if theme is disabled.');
-
- // Uninstall the test module and verify the breakpoint group is deleted.
- module_uninstall(array('breakpoint_theme_test'));
- $this->assertFalse(entity_load('breakpoint_group', $breakpoint_group_obj->id()), 'Breakpoint group is removed if module is uninstalled.');
- }
-
}
diff --git a/core/modules/breakpoint/tests/config/breakpoint_theme_test.breakpoint_groups.yml b/core/modules/breakpoint/tests/config/breakpoint_theme_test.breakpoint_groups.yml
deleted file mode 100644
index 4e3e6f0..0000000
--- a/core/modules/breakpoint/tests/config/breakpoint_theme_test.breakpoint_groups.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-module_test:
- label: Test Module
- breakpoints:
- - theme.breakpoint_test_theme.mobile
- - theme.breakpoint_test_theme.narrow
- - theme.breakpoint_test_theme.wide
diff --git a/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint.theme.breakpoint_test_theme.mobile.yml b/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint.theme.breakpoint_test_theme.mobile.yml
new file mode 100644
index 0000000..3f30595
--- /dev/null
+++ b/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint.theme.breakpoint_test_theme.mobile.yml
@@ -0,0 +1,12 @@
+id: theme.breakpoint_test_theme.mobile
+uuid: 3ae8bfe6-496b-478c-a811-17424038f49c
+name: mobile
+label: mobile
+mediaQuery: '(min-width: 0px)'
+source: breakpoint_test_theme
+sourceType: theme
+weight: 0
+multipliers:
+ 1x: 1x
+status: true
+langcode: en
diff --git a/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint.theme.breakpoint_test_theme.narrow.yml b/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint.theme.breakpoint_test_theme.narrow.yml
new file mode 100644
index 0000000..e0773e3
--- /dev/null
+++ b/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint.theme.breakpoint_test_theme.narrow.yml
@@ -0,0 +1,12 @@
+id: theme.breakpoint_test_theme.narrow
+uuid: 1d791b4a-7ccf-4c93-a800-c2bc2594cc62
+name: narrow
+label: narrow
+mediaQuery: '(min-width: 560px)'
+source: breakpoint_test_theme
+sourceType: theme
+weight: 1
+multipliers:
+ 1x: 1x
+status: true
+langcode: en
diff --git a/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint.theme.breakpoint_test_theme.tv.yml b/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint.theme.breakpoint_test_theme.tv.yml
new file mode 100644
index 0000000..9f4d189
--- /dev/null
+++ b/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint.theme.breakpoint_test_theme.tv.yml
@@ -0,0 +1,12 @@
+id: theme.breakpoint_test_theme.tv
+uuid: e0ffa737-0570-4891-9809-9bce925673ca
+name: tv
+label: tv
+mediaQuery: 'only screen and (min-width: 3456px)'
+source: breakpoint_test_theme
+sourceType: theme
+weight: 3
+multipliers:
+ 1x: 1x
+status: true
+langcode: en
diff --git a/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint.theme.breakpoint_test_theme.wide.yml b/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint.theme.breakpoint_test_theme.wide.yml
new file mode 100644
index 0000000..112a8e6
--- /dev/null
+++ b/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint.theme.breakpoint_test_theme.wide.yml
@@ -0,0 +1,12 @@
+id: theme.breakpoint_test_theme.wide
+uuid: 1561574d-99f8-48a6-b304-4e2b617673b2
+name: wide
+label: wide
+mediaQuery: '(min-width: 851px)'
+source: breakpoint_test_theme
+sourceType: theme
+weight: 2
+multipliers:
+ 1x: 1x
+status: true
+langcode: en
diff --git a/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint_group.theme.breakpoint_test_theme.breakpoint_test_theme.yml b/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint_group.theme.breakpoint_test_theme.breakpoint_test_theme.yml
new file mode 100644
index 0000000..62ac756
--- /dev/null
+++ b/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint_group.theme.breakpoint_test_theme.breakpoint_test_theme.yml
@@ -0,0 +1,13 @@
+id: theme.breakpoint_test_theme.breakpoint_test_theme
+uuid: 94b96e6e-a032-4b29-8100-efd5bf854fd1
+name: breakpoint_test_theme
+label: 'Breakpoint test theme'
+breakpoint_ids:
+ - theme.breakpoint_test_theme.mobile
+ - theme.breakpoint_test_theme.narrow
+ - theme.breakpoint_test_theme.wide
+ - theme.breakpoint_test_theme.tv
+source: breakpoint_test_theme
+sourceType: theme
+status: true
+langcode: en
diff --git a/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint_group.theme.breakpoint_test_theme.test.yml b/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint_group.theme.breakpoint_test_theme.test.yml
new file mode 100644
index 0000000..e185e7f
--- /dev/null
+++ b/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint.breakpoint_group.theme.breakpoint_test_theme.test.yml
@@ -0,0 +1,12 @@
+id: theme.breakpoint_test_theme.test
+uuid: fcc25180-7e18-4149-8962-98d706faa59a
+name: test
+label: 'Test Theme'
+breakpoint_ids:
+ - theme.breakpoint_test_theme.mobile
+ - theme.breakpoint_test_theme.narrow
+ - theme.breakpoint_test_theme.wide
+source: breakpoint_test_theme
+sourceType: theme
+status: true
+langcode: en
diff --git a/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint_test_theme.breakpoint_groups.yml b/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint_test_theme.breakpoint_groups.yml
deleted file mode 100644
index bde92d8..0000000
--- a/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint_test_theme.breakpoint_groups.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-test:
- label: Test Theme
- breakpoints:
- - mobile
- - narrow
- - wide
diff --git a/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint_test_theme.breakpoints.yml b/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint_test_theme.breakpoints.yml
deleted file mode 100644
index 534fbf5..0000000
--- a/core/modules/breakpoint/tests/themes/breakpoint_test_theme/config/breakpoint_test_theme.breakpoints.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-mobile: '(min-width: 0px)'
-narrow: '(min-width: 560px)'
-wide: '(min-width: 851px)'
-tv: 'only screen and (min-width: 3456px)'
diff --git a/core/modules/picture/lib/Drupal/picture/Entity/PictureMapping.php b/core/modules/picture/lib/Drupal/picture/Entity/PictureMapping.php
index 0f056a9..e6ce436 100644
--- a/core/modules/picture/lib/Drupal/picture/Entity/PictureMapping.php
+++ b/core/modules/picture/lib/Drupal/picture/Entity/PictureMapping.php
@@ -128,7 +128,7 @@ class PictureMapping extends ConfigEntityBase implements PictureMappingInterface
$loaded_mappings = $this->mappings;
$this->mappings = array();
if ($this->breakpointGroup) {
- foreach ($this->breakpointGroup->breakpoints as $breakpoint_id => $breakpoint) {
+ foreach ($this->breakpointGroup->getBreakpoints() as $breakpoint_id => $breakpoint) {
// Get the mapping for the default multiplier.
$this->mappings[$breakpoint_id]['1x'] = '';
if (isset($loaded_mappings[$breakpoint_id]['1x'])) {
diff --git a/core/modules/picture/lib/Drupal/picture/PictureMappingFormController.php b/core/modules/picture/lib/Drupal/picture/PictureMappingFormController.php
index 00f5b9f..5651ef9 100644
--- a/core/modules/picture/lib/Drupal/picture/PictureMappingFormController.php
+++ b/core/modules/picture/lib/Drupal/picture/PictureMappingFormController.php
@@ -73,7 +73,8 @@ class PictureMappingFormController extends EntityFormController {
$image_styles = image_style_options(TRUE);
foreach ($picture_mapping->mappings as $breakpoint_id => $mapping) {
foreach ($mapping as $multiplier => $image_style) {
- $label = $multiplier . ' ' . $picture_mapping->breakpointGroup->breakpoints[$breakpoint_id]->name . ' [' . $picture_mapping->breakpointGroup->breakpoints[$breakpoint_id]->mediaQuery . ']';
+ $breakpoint = $picture_mapping->breakpointGroup->getBreakpointById($breakpoint_id);
+ $label = $multiplier . ' ' . $breakpoint->name . ' [' . $breakpoint->mediaQuery . ']';
$form['mappings'][$breakpoint_id][$multiplier] = array(
'#type' => 'select',
'#title' => check_plain($label),
diff --git a/core/modules/picture/lib/Drupal/picture/Plugin/Field/FieldFormatter/PictureFormatter.php b/core/modules/picture/lib/Drupal/picture/Plugin/Field/FieldFormatter/PictureFormatter.php
index f34b37a..a28e5fb 100644
--- a/core/modules/picture/lib/Drupal/picture/Plugin/Field/FieldFormatter/PictureFormatter.php
+++ b/core/modules/picture/lib/Drupal/picture/Plugin/Field/FieldFormatter/PictureFormatter.php
@@ -133,9 +133,8 @@ class PictureFormatter extends ImageFormatterBase {
// Make sure that the breakpoint exists and is enabled.
// @todo add the following when breakpoint->status is added again:
// $picture_mapping->breakpointGroup->breakpoints[$breakpoint_name]->status
- if (isset($picture_mapping->breakpointGroup->breakpoints[$breakpoint_name])) {
- $breakpoint = $picture_mapping->breakpointGroup->breakpoints[$breakpoint_name];
-
+ $breakpoint = $picture_mapping->breakpointGroup->getBreakpointById($breakpoint_name);
+ if ($breakpoint) {
// Determine the enabled multipliers.
$multipliers = array_intersect_key($multipliers, $breakpoint->multipliers);
foreach ($multipliers as $multiplier => $image_style) {
diff --git a/core/modules/picture/lib/Drupal/picture/Tests/PictureAdminUITest.php b/core/modules/picture/lib/Drupal/picture/Tests/PictureAdminUITest.php
index b023fe5..3b908db 100644
--- a/core/modules/picture/lib/Drupal/picture/Tests/PictureAdminUITest.php
+++ b/core/modules/picture/lib/Drupal/picture/Tests/PictureAdminUITest.php
@@ -67,7 +67,7 @@ class PictureAdminUITest extends WebTestBase {
),
));
$breakpoint->save();
- $breakpoint_group->breakpoints[$breakpoint->id()] = $breakpoint;
+ $breakpoint_group->addBreakpoints(array($breakpoint));
}
$breakpoint_group->save();
diff --git a/core/modules/picture/lib/Drupal/picture/Tests/PictureFieldDisplayTest.php b/core/modules/picture/lib/Drupal/picture/Tests/PictureFieldDisplayTest.php
index c19b63c..7c11a6f 100644
--- a/core/modules/picture/lib/Drupal/picture/Tests/PictureFieldDisplayTest.php
+++ b/core/modules/picture/lib/Drupal/picture/Tests/PictureFieldDisplayTest.php
@@ -77,7 +77,7 @@ class PictureFieldDisplayTest extends ImageFieldTestBase {
),
));
$breakpoint->save();
- $breakpoint_group->breakpoints[$breakpoint->id()] = $breakpoint;
+ $breakpoint_group->addBreakpoints(array($breakpoint));
}
$breakpoint_group->save();
diff --git a/core/modules/toolbar/config/breakpoint.breakpoint.module.toolbar.narrow.yml b/core/modules/toolbar/config/breakpoint.breakpoint.module.toolbar.narrow.yml
new file mode 100644
index 0000000..742e76f
--- /dev/null
+++ b/core/modules/toolbar/config/breakpoint.breakpoint.module.toolbar.narrow.yml
@@ -0,0 +1,12 @@
+id: module.toolbar.narrow
+uuid: cb5e5f7c-b443-4d0b-ae5e-948ba336a0cb
+name: narrow
+label: narrow
+mediaQuery: 'only screen and (min-width: 16.5em)'
+source: toolbar
+sourceType: module
+weight: 0
+multipliers:
+ 1x: 1x
+status: true
+langcode: en
diff --git a/core/modules/toolbar/config/breakpoint.breakpoint.module.toolbar.standard.yml b/core/modules/toolbar/config/breakpoint.breakpoint.module.toolbar.standard.yml
new file mode 100644
index 0000000..e5c5c33
--- /dev/null
+++ b/core/modules/toolbar/config/breakpoint.breakpoint.module.toolbar.standard.yml
@@ -0,0 +1,12 @@
+id: module.toolbar.standard
+uuid: 19981d7a-2dc3-4b3f-be00-a4d8a7c12c07
+name: standard
+label: standard
+mediaQuery: 'only screen and (min-width: 38.125em)'
+source: toolbar
+sourceType: module
+weight: 1
+multipliers:
+ 1x: 1x
+status: true
+langcode: en
diff --git a/core/modules/toolbar/config/breakpoint.breakpoint.module.toolbar.wide.yml b/core/modules/toolbar/config/breakpoint.breakpoint.module.toolbar.wide.yml
new file mode 100644
index 0000000..ab5ed2f
--- /dev/null
+++ b/core/modules/toolbar/config/breakpoint.breakpoint.module.toolbar.wide.yml
@@ -0,0 +1,12 @@
+id: module.toolbar.wide
+uuid: 8797545b-0b39-493d-8c00-b4ae721bf447
+name: wide
+label: wide
+mediaQuery: 'only screen and (min-width: 52em)'
+source: toolbar
+sourceType: module
+weight: 2
+multipliers:
+ 1x: 1x
+status: true
+langcode: en
diff --git a/core/modules/toolbar/config/breakpoint.breakpoint_group.module.toolbar.toolbar.yml b/core/modules/toolbar/config/breakpoint.breakpoint_group.module.toolbar.toolbar.yml
new file mode 100644
index 0000000..4d09153
--- /dev/null
+++ b/core/modules/toolbar/config/breakpoint.breakpoint_group.module.toolbar.toolbar.yml
@@ -0,0 +1,12 @@
+id: module.toolbar.toolbar
+uuid: 03945598-b3ae-4ea7-ad25-375b52f6f0a4
+name: toolbar
+label: toolbar
+breakpoint_ids:
+ - module.toolbar.narrow
+ - module.toolbar.standard
+ - module.toolbar.wide
+source: toolbar
+sourceType: module
+status: true
+langcode: en
diff --git a/core/modules/toolbar/config/schema/toolbar.schema.yml b/core/modules/toolbar/config/schema/toolbar.schema.yml
deleted file mode 100644
index c0949f2..0000000
--- a/core/modules/toolbar/config/schema/toolbar.schema.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-# Schema for the configuration files of the toolbar module.
-
-toolbar.settings:
- type: mapping
- label: 'Toolbar settings'
- mapping:
- breakpoints:
- type: sequence
- label: 'Breakpoints'
- sequence:
- - type: string
-
-toolbar.breakpoints:
- type: mapping
- label: 'Toolbar breakpoint settings'
- mapping:
- narrow:
- type: string
- label: 'Narrow'
- standard:
- type: string
- label: 'Standard'
- wide:
- type: string
- label: 'Wide'
diff --git a/core/modules/toolbar/config/toolbar.breakpoints.yml b/core/modules/toolbar/config/toolbar.breakpoints.yml
deleted file mode 100644
index 74b318e..0000000
--- a/core/modules/toolbar/config/toolbar.breakpoints.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-narrow: 'only screen and (min-width: 16.5em)'
-standard: 'only screen and (min-width: 38.125em)'
-wide: 'only screen and (min-width: 52em)'
diff --git a/core/modules/toolbar/config/toolbar.settings.yml b/core/modules/toolbar/config/toolbar.settings.yml
deleted file mode 100644
index 1f2de55..0000000
--- a/core/modules/toolbar/config/toolbar.settings.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-breakpoints:
- - module.toolbar.narrow
- - module.toolbar.standard
- - module.toolbar.wide
diff --git a/core/modules/toolbar/toolbar.module b/core/modules/toolbar/toolbar.module
index 85bfafa..45610c1 100644
--- a/core/modules/toolbar/toolbar.module
+++ b/core/modules/toolbar/toolbar.module
@@ -192,7 +192,7 @@ function toolbar_pre_render($element) {
function ($object) {
return $object->mediaQuery;
},
- $breakpoints->breakpoints
+ $breakpoints->getBreakpoints()
);
$element['#attached']['js'][] = array(
diff --git a/core/themes/bartik/config/bartik.breakpoints.yml b/core/themes/bartik/config/bartik.breakpoints.yml
deleted file mode 100644
index 501f417..0000000
--- a/core/themes/bartik/config/bartik.breakpoints.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-mobile: '(min-width: 0px)'
-narrow: 'all and (min-width: 560px) and (max-width: 850px)'
-wide: 'all and (min-width: 851px)'
diff --git a/core/themes/bartik/config/breakpoint.breakpoint.theme.bartik.mobile.yml b/core/themes/bartik/config/breakpoint.breakpoint.theme.bartik.mobile.yml
new file mode 100644
index 0000000..99740ce
--- /dev/null
+++ b/core/themes/bartik/config/breakpoint.breakpoint.theme.bartik.mobile.yml
@@ -0,0 +1,12 @@
+id: theme.bartik.mobile
+uuid: 676e11ac-c254-415a-881c-28786167ed69
+name: mobile
+label: mobile
+mediaQuery: '(min-width: 0px)'
+source: bartik
+sourceType: theme
+weight: 0
+multipliers:
+ 1x: 1x
+status: true
+langcode: en
diff --git a/core/themes/bartik/config/breakpoint.breakpoint.theme.bartik.narrow.yml b/core/themes/bartik/config/breakpoint.breakpoint.theme.bartik.narrow.yml
new file mode 100644
index 0000000..26597ae
--- /dev/null
+++ b/core/themes/bartik/config/breakpoint.breakpoint.theme.bartik.narrow.yml
@@ -0,0 +1,12 @@
+id: theme.bartik.narrow
+uuid: da7ce8eb-f006-4a2f-8557-87ac4f62d5cd
+name: narrow
+label: narrow
+mediaQuery: 'all and (min-width: 560px) and (max-width: 850px)'
+source: bartik
+sourceType: theme
+weight: 1
+multipliers:
+ 1x: 1x
+status: true
+langcode: en
diff --git a/core/themes/bartik/config/breakpoint.breakpoint.theme.bartik.wide.yml b/core/themes/bartik/config/breakpoint.breakpoint.theme.bartik.wide.yml
new file mode 100644
index 0000000..90b38db
--- /dev/null
+++ b/core/themes/bartik/config/breakpoint.breakpoint.theme.bartik.wide.yml
@@ -0,0 +1,12 @@
+id: theme.bartik.wide
+uuid: 42288274-fd42-49cc-bb0d-131c13e2b46b
+name: wide
+label: wide
+mediaQuery: 'all and (min-width: 851px)'
+source: bartik
+sourceType: theme
+weight: 2
+multipliers:
+ 1x: 1x
+status: true
+langcode: en
diff --git a/core/themes/bartik/config/breakpoint.breakpoint_group.theme.bartik.bartik.yml b/core/themes/bartik/config/breakpoint.breakpoint_group.theme.bartik.bartik.yml
new file mode 100644
index 0000000..9ae2b82
--- /dev/null
+++ b/core/themes/bartik/config/breakpoint.breakpoint_group.theme.bartik.bartik.yml
@@ -0,0 +1,12 @@
+id: theme.bartik.bartik
+uuid: 7f6492dc-028c-47e9-bb00-c280cc21586c
+name: bartik
+label: Bartik
+breakpoint_ids:
+ - theme.bartik.mobile
+ - theme.bartik.narrow
+ - theme.bartik.wide
+source: bartik
+sourceType: theme
+status: true
+langcode: en