You are here

public function SlickSkinManager::libraryInfoBuild in Slick Carousel 8.2

Implements hook_library_info_build().

File

src/SlickSkinManager.php, line 216

Class

SlickSkinManager
Provides Slick skin manager.

Namespace

Drupal\slick

Code

public function libraryInfoBuild() {
  if (!isset($this->libraryInfoBuild)) {
    if ($this
      ->config('library') == 'accessible-slick') {
      $libraries['slick.css'] = [
        'dependencies' => [
          'slick/accessible-slick',
        ],
        'css' => [
          'theme' => [
            '/libraries/accessible-slick/slick/accessible-slick-theme.min.css' => [
              'weight' => -2,
            ],
          ],
        ],
      ];
    }
    else {
      $libraries['slick.css'] = [
        'dependencies' => [
          'slick/slick',
        ],
        'css' => [
          'theme' => [
            '/libraries/slick/slick/slick-theme.css' => [
              'weight' => -2,
            ],
          ],
        ],
      ];
    }
    foreach ($this
      ->getConstantSkins() as $group) {
      if ($skins = $this
        ->getSkinsByGroup($group)) {
        foreach ($skins as $key => $skin) {
          $provider = isset($skin['provider']) ? $skin['provider'] : 'slick';
          $id = $provider . '.' . $group . '.' . $key;
          foreach ([
            'css',
            'js',
            'dependencies',
          ] as $property) {
            if (isset($skin[$property]) && is_array($skin[$property])) {
              $libraries[$id][$property] = $skin[$property];
            }
          }
        }
      }
    }
    $this->libraryInfoBuild = $libraries;
  }
  return $this->libraryInfoBuild;
}