public function SlickLibrary::library in Slick Carousel 7.3
Implements hook_library_info_build().
Overrides BlazyLibrary::library
File
- src/
SlickLibrary.php, line 45
Class
- SlickLibrary
- Provides Slick library methods mainly for hooks.
Namespace
Drupal\slickCode
public function library() {
if (!isset($this->libraries)) {
$info = system_get_info('module', 'slick');
$library = libraries_get_path('slick') ?: libraries_get_path('slick-carousel');
$path = drupal_get_path('module', 'slick');
$common = [
'website' => 'https://drupal.org/project/slick',
'version' => empty($info['version']) ? '7.x-3.x' : $info['version'],
];
foreach ([
'easing',
'mousewheel',
] as $key) {
$libraries[$key] = [
'js' => [
libraries_get_path($key) . '/jquery.' . $key . '.min.js' => [
'group' => JS_LIBRARY,
],
],
];
}
$libraries['slick'] = [
'title' => 'Slick',
'website' => 'https://kenwheeler.github.io/slick/',
'js' => [
$library . '/slick/slick.min.js' => [
'group' => JS_LIBRARY,
],
],
'css' => [
$library . '/slick/slick.css' => [
'weight' => -6,
],
],
'version' => '1.x',
];
$libraries['css'] = [
'dependencies' => [
[
'slick',
'slick',
],
],
'css' => [
$library . '/slick/slick-theme.css' => [
'weight' => -5,
],
],
];
$libraries['load'] = [
'dependencies' => [
[
'slick',
'slick',
],
],
'js' => [
$path . '/js/slick.load.min.js' => [
'group' => JS_DEFAULT,
'weight' => -0.01,
],
],
];
$libraries['theme'] = [
'css' => [
$path . '/css/layout/slick.module.css' => [
'weight' => -4,
],
$path . '/css/theme/slick.theme.css' => [
'weight' => -3,
],
],
];
foreach ([
'arrows.down',
'thumbnail.grid',
'thumbnail.hover',
] as $item) {
$libraries[$item] = [
'dependencies' => [
[
'slick',
'theme',
],
],
'css' => [
$path . '/css/components/slick.' . $item . '.css' => [],
],
];
}
$libraries['colorbox'] = [
'dependencies' => [
[
'blazy',
'colorbox',
],
],
'js' => [
$path . '/js/slick.colorbox.min.js' => [
'group' => JS_DEFAULT,
'weight' => -0.02,
],
],
];
foreach (SlickManager::getConstantSkins() as $group) {
if ($skins = $this->manager
->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];
}
}
}
}
}
foreach ($libraries as &$library) {
$library += $common;
if (isset($library['js'])) {
$library['dependencies'][] = [
'system',
'jquery.once',
];
}
}
$this->libraries = $libraries;
}
return $this->libraries;
}