From 604734c4a960aac3d99f1008337181ed2b0f04db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Fri, 20 Jan 2017 01:28:44 +0100 Subject: Validation initiale --- CONTRIBUTING.markdown | 35 + ISSUE_TEMPLATE.md | 50 + LICENSE | 20 + Makefile | 8 + README.markdown | 287 +++++ bower.json | 33 + component.json | 18 + composer.json | 34 + index.html | 137 +++ package.json | 50 + slick.jquery.json | 34 + slick/ajax-loader.gif | Bin 0 -> 4178 bytes slick/config.rb | 10 + slick/fonts/slick.eot | Bin 0 -> 2048 bytes slick/fonts/slick.svg | 14 + slick/fonts/slick.ttf | Bin 0 -> 1892 bytes slick/fonts/slick.woff | Bin 0 -> 1380 bytes slick/slick-theme.css | 204 ++++ slick/slick-theme.less | 168 +++ slick/slick-theme.scss | 194 ++++ slick/slick.css | 117 ++ slick/slick.js | 2892 ++++++++++++++++++++++++++++++++++++++++++++++++ slick/slick.less | 98 ++ slick/slick.min.js | 18 + slick/slick.scss | 98 ++ 25 files changed, 4519 insertions(+) create mode 100644 CONTRIBUTING.markdown create mode 100644 ISSUE_TEMPLATE.md create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 README.markdown create mode 100644 bower.json create mode 100644 component.json create mode 100644 composer.json create mode 100644 index.html create mode 100644 package.json create mode 100644 slick.jquery.json create mode 100644 slick/ajax-loader.gif create mode 100644 slick/config.rb create mode 100644 slick/fonts/slick.eot create mode 100644 slick/fonts/slick.svg create mode 100644 slick/fonts/slick.ttf create mode 100644 slick/fonts/slick.woff create mode 100644 slick/slick-theme.css create mode 100644 slick/slick-theme.less create mode 100644 slick/slick-theme.scss create mode 100644 slick/slick.css create mode 100644 slick/slick.js create mode 100644 slick/slick.less create mode 100644 slick/slick.min.js create mode 100644 slick/slick.scss diff --git a/CONTRIBUTING.markdown b/CONTRIBUTING.markdown new file mode 100644 index 0000000..33b73ca --- /dev/null +++ b/CONTRIBUTING.markdown @@ -0,0 +1,35 @@ +## Submitting issues + +### Test case required + +**All bug reports and problem issues require a jsFiddle**. +[Please fork this JSFiddle as a baseline](http://jsfiddle.net/simeydotme/fmo50w7n/). + ++ A test case clearly demonstrates the bug or issue. ++ It contains the bare minimum HTML, CSS, and JavaScript required to demonstrate the bug. ++ Assets are not minified (we cannot debug .min.js files). ++ A link to your production site is **not** a reduced test case. + +Providing a test case is the best way to get your issue addressed. Without a test case; your issue may be closed. +You must provide a clear and simple way to reproduce the issue with the provided fiddle. + +## Support + +Although Slick is designed to be super easy to use, there's always things that can go wrong, especially when interacting with other plugins and complicated websites. If you are **having problems getting Slick to work**, or can't figure something out, **this repository**'s issues section **is not the place to ask about it**. + +I have set up a subreddit for Slick discussion at [reddit.com/r/slickcarousel](http://www.reddit.com/r/slickcarousel/). +And a gitter chatroom here: [gitter.im/kenwheeler/slick](https://gitter.im/kenwheeler/slick). +And finally you can ask the world for help, and find out if anyone else has your problem at [stackoverflow](http://stackoverflow.com/search?q=slick+carousel). + +Please use these forums as an area to discuss Slick and any issues you may have. + +## Feature Requests + +If you would like to request or propose a feature, please do so in the the Slick subreddit or gitter chat: +[reddit.com/r/slickcarousel](http://www.reddit.com/r/slickcarousel/) / [gitter.im/kenwheeler/slick](https://gitter.im/kenwheeler/slick). + +## Pull requests + +**Contributions are welcome**! That said, please *be prepared to edit* your pull request at request, and provide a jsFiddle of your fork working interoperably with every "mode" that Slick supports, and with varying numbers of slides, slidesToShow & slidesToScroll. Failure to do so will result in your pull request being closed. + +*Please note that while Slick is open source, this is still my baby, and by submitting a pull request you are authorizing me to edit or modify it in any way shape or form. You will be listed in Github as a contributor, but I have and will continue to steer the direction of this project.* diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..7400336 --- /dev/null +++ b/ISSUE_TEMPLATE.md @@ -0,0 +1,50 @@ + +> short description of the bug / issue, provide more detail below. + +==================================================================== + + +###### `[ paste your jsfiddle link here ]` + +use this jsfiddle to reproduce your bug: +http://jsfiddle.net/simeydotme/fmo50w7n/ +we will likely close your issue without it. + + +==================================================================== + + +#### Steps to reproduce the problem + +1. ... +2. ... + + +==================================================================== + + +#### What is the expected behaviour? + +... + + +==================================================================== + + +#### What is observed behaviour? + +... + + +==================================================================== + + +#### More Details + +- Which browsers/versions does it happen on? +- Which jQuery/Slick version are you using? +- Did this work before? + + + + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..3ffd452 --- /dev/null +++ b/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2013-2016 + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..eea6b95 --- /dev/null +++ b/Makefile @@ -0,0 +1,8 @@ + +build: components slick.js slick.css + @component build --dev + +components: component.json + @component install --dev + +.PHONY: clean diff --git a/README.markdown b/README.markdown new file mode 100644 index 0000000..6dc5ca0 --- /dev/null +++ b/README.markdown @@ -0,0 +1,287 @@ +slick +------- + +[1]: + +_the last carousel you'll ever need_ + +#### Demo + +[http://kenwheeler.github.io/slick](http://kenwheeler.github.io/slick/) + +#### CDN + +To start working with Slick right away, there's a couple of CDN choices availabile +to serve the files as close, and fast as possible to your users: + +- https://cdnjs.com/libraries/slick-carousel +- https://www.jsdelivr.com/projects/jquery.slick + +#####Example using jsDelivr + +Just add a link to the css file in your ``: +```html + + + +``` + +Then, before your closing `````` tag add: + +```html + +``` + +#### Package Managers + +```sh +# Bower +bower install --save slick-carousel + +# NPM +npm install slick-carousel +``` + +#### Contributing + +PLEASE review CONTRIBUTING.markdown prior to requesting a feature, filing a pull request or filing an issue. + +### Data Attribute Settings + +In slick 1.5 you can now add settings using the data-slick attribute. You still need to call $(element).slick() to initialize slick on the element. + +Example: + +```html +
+

1

+

2

+

3

+

4

+

5

+

6

+
+``` + +### Settings + +Option | Type | Default | Description +------ | ---- | ------- | ----------- +accessibility | boolean | true | Enables tabbing and arrow key navigation +adaptiveHeight | boolean | false | Adapts slider height to the current slide +autoplay | boolean | false | Enables auto play of slides +autoplaySpeed | int | 3000 | Auto play change interval +centerMode | boolean | false | Enables centered view with partial prev/next slides. Use with odd numbered slidesToShow counts. +centerPadding | string | '50px' | Side padding when in center mode. (px or %) +cssEase | string | 'ease' | CSS3 easing +customPaging | function | n/a | Custom paging templates. See source for use example. +dots | boolean | false | Current slide indicator dots +dotsClass | string | 'slick-dots' | Class for slide indicator dots container +draggable | boolean | true | Enables desktop dragging +easing | string | 'linear' | animate() fallback easing +edgeFriction | integer | 0.15 | Resistance when swiping edges of non-infinite carousels +fade | boolean | false | Enables fade +arrows | boolean | true | Enable Next/Prev arrows +appendArrows | string | $(element) | Change where the navigation arrows are attached (Selector, htmlString, Array, Element, jQuery object) +appendDots | string | $(element) | Change where the navigation dots are attached (Selector, htmlString, Array, Element, jQuery object) +mobileFirst | boolean | false | Responsive settings use mobile first calculation +prevArrow | string (html \| jQuery selector) \| object (DOM node \| jQuery object) | `` | Allows you to select a node or customize the HTML for the "Previous" arrow. +nextArrow | string (html \| jQuery selector) \| object (DOM node \| jQuery object) | `` | Allows you to select a node or customize the HTML for the "Next" arrow. +infinite | boolean | true | Infinite looping +initialSlide | integer | 0 | Slide to start on +lazyLoad | string | 'ondemand' | Accepts 'ondemand' or 'progressive' for lazy load technique. 'ondemand' will load the image as soon as you slide to it, 'progressive' loads one image after the other when the page loads. +pauseOnFocus | boolean | true | Pauses autoplay when slider is focussed +pauseOnHover | boolean | true | Pauses autoplay on hover +pauseOnDotsHover | boolean | false | Pauses autoplay when a dot is hovered +respondTo | string | 'window' | Width that responsive object responds to. Can be 'window', 'slider' or 'min' (the smaller of the two). +responsive | array | null | Array of objects [containing breakpoints and settings objects (see example)](#responsive-option-example). Enables settings at given `breakpoint`. Set `settings` to "unslick" instead of an object to disable slick at a given breakpoint. +rows | int | 1 | Setting this to more than 1 initializes grid mode. Use slidesPerRow to set how many slides should be in each row. +slide | string | '' | Slide element query +slidesPerRow | int | 1 | With grid mode initialized via the rows option, this sets how many slides are in each grid row. +slidesToShow | int | 1 | # of slides to show at a time +slidesToScroll | int | 1 | # of slides to scroll at a time +speed | int | 300 | Transition speed +swipe | boolean | true | Enables touch swipe +swipeToSlide | boolean | false | Swipe to slide irrespective of slidesToScroll +touchMove | boolean | true | Enables slide moving with touch +touchThreshold | int | 5 | To advance slides, the user must swipe a length of (1/touchThreshold) * the width of the slider. +useCSS | boolean | true | Enable/Disable CSS Transitions +useTransform | boolean | true | Enable/Disable CSS Transforms +variableWidth | boolean | false | Disables automatic slide width calculation +vertical | boolean | false | Vertical slide direction +verticalSwiping | boolean | false | Changes swipe direction to vertical +rtl | boolean | false | Change the slider's direction to become right-to-left +waitForAnimate | boolean | true | Ignores requests to advance the slide while animating +zIndex | number | 1000 | Set the zIndex values for slides, useful for IE9 and lower + +##### Responsive Option Example +The responsive option, and value, is quite unique and powerful. +You can use it like so: + +```javascript +$(".slider").slick({ + + // normal options... + infinite: false, + + // the magic + responsive: [{ + + breakpoint: 1024, + settings: { + slidesToShow: 3, + infinite: true + } + + }, { + + breakpoint: 600, + settings: { + slidesToShow: 2, + dots: true + } + + }, { + + breakpoint: 300, + settings: "unslick" // destroys slick + + }] +}); +``` + + + + +### Events + +In slick 1.4, callback methods were deprecated and replaced with events. Use them before the initialization of slick as shown below: + +```javascript +// On swipe event +$('.your-element').on('swipe', function(event, slick, direction){ + console.log(direction); + // left +}); + +// On edge hit +$('.your-element').on('edge', function(event, slick, direction){ + console.log('edge was hit') +}); + +// On before slide change +$('.your-element').on('beforeChange', function(event, slick, currentSlide, nextSlide){ + console.log(nextSlide); +}); +``` + +Event | Params | Description +------ | -------- | ----------- +afterChange | event, slick, currentSlide | After slide change callback +beforeChange | event, slick, currentSlide, nextSlide | Before slide change callback +breakpoint | event, slick, breakpoint | Fires after a breakpoint is hit +destroy | event, slick | When slider is destroyed, or unslicked. +edge | event, slick, direction | Fires when an edge is overscrolled in non-infinite mode. +init | event, slick | When Slick initializes for the first time callback. Note that this event should be defined before initializing the slider. +reInit | event, slick | Every time Slick (re-)initializes callback +setPosition | event, slick | Every time Slick recalculates position +swipe | event, slick, direction | Fires after swipe/drag +lazyLoaded | event, slick, image, imageSource | Fires after image loads lazily +lazyLoadError | event, slick, image, imageSource | Fires after image fails to load + + +#### Methods + +Methods are called on slick instances through the slick method itself in version 1.4, see below: + +```javascript +// Add a slide +$('.your-element').slick('slickAdd',"
"); + +// Get the current slide +var currentSlide = $('.your-element').slick('slickCurrentSlide'); +``` + +This new syntax allows you to call any internal slick method as well: + +```javascript +// Manually refresh positioning of slick +$('.your-element').slick('setPosition'); +``` + + +Method | Argument | Description +------ | -------- | ----------- +`slick` | options : object | Initializes Slick +`unslick` | | Destroys Slick +`slickNext` | | Triggers next slide +`slickPrev` | | Triggers previous slide +`slickPause` | | Pause Autoplay +`slickPlay` | | Start Autoplay (_will also set `autoplay` option to `true`_) +`slickGoTo` | index : int, dontAnimate : bool | Goes to slide by index, skipping animation if second parameter is set to true +`slickCurrentSlide` | | Returns the current slide index +`slickAdd` | element : html or DOM object, index: int, addBefore: bool | Add a slide. If an index is provided, will add at that index, or before if addBefore is set. If no index is provided, add to the end or to the beginning if addBefore is set. Accepts HTML String || Object +`slickRemove` | index: int, removeBefore: bool | Remove slide by index. If removeBefore is set true, remove slide preceding index, or the first slide if no index is specified. If removeBefore is set to false, remove the slide following index, or the last slide if no index is set. +`slickFilter` | filter : selector or function | Filters slides using jQuery .filter syntax +`slickUnfilter` | | Removes applied filter +`slickGetOption` | option : string(option name) | Gets an option value. +`slickSetOption` | change an option, `refresh` is always `boolean` and will update UI changes... + | `option, value, refresh` | change a [single `option`](https://github.com/kenwheeler/slick#settings) to given `value`; `refresh` is optional. + | `"responsive", [{ breakpoint: n, settings: {} }, ... ], refresh` | change or add [whole sets of responsive options](#responsive-option-example) + | `{ option: value, option: value, ... }, refresh` | change [multiple `option`s](https://github.com/kenwheeler/slick#settings) to corresponding `value`s. + + +#### Example + +Initialize with: + +```javascript +$(element).slick({ + dots: true, + speed: 500 +}); + ``` + +Change the speed with: + +```javascript +$(element).slick('slickSetOption', 'speed', 5000, true); +``` + +Destroy with: + +```javascript +$(element).slick('unslick'); +``` + + +#### Sass Variables + +Variable | Type | Default | Description +------ | ---- | ------- | ----------- +$slick-font-path | string | "./fonts/" | Directory path for the slick icon font +$slick-font-family | string | "slick" | Font-family for slick icon font +$slick-loader-path | string | "./" | Directory path for the loader image +$slick-arrow-color | color | white | Color of the left/right arrow icons +$slick-dot-color | color | black | Color of the navigation dots +$slick-dot-color-active | color | $slick-dot-color | Color of the active navigation dot +$slick-prev-character | string | '\2190' | Unicode character code for the previous arrow icon +$slick-next-character | string | '\2192' | Unicode character code for the next arrow icon +$slick-dot-character | string | '\2022' | Unicode character code for the navigation dot icon +$slick-dot-size | pixels | 6px | Size of the navigation dots + +#### Browser support + +Slick works on IE8+ in addition to other modern browsers such as Chrome, Firefox, and Safari. + +#### Dependencies + +jQuery 1.7 + +#### License + +Copyright (c) 2014 Ken Wheeler + +Licensed under the MIT license. + +Free as in Bacon. diff --git a/bower.json b/bower.json new file mode 100644 index 0000000..ff2c379 --- /dev/null +++ b/bower.json @@ -0,0 +1,33 @@ +{ + "name": "slick-carousel", + "main": [ + "slick/slick.js", + "slick/slick.css", + "slick/slick.less", + "slick/slick.scss" + ], + "version": "1.6.0", + "homepage": "https://github.com/kenwheeler/slick", + "authors": [ + "Ken Wheeler " + ], + "description": "the last carousel you'll ever need", + "keywords": [ + "responsive", + "carousel", + "jquery" + ], + "license": "MIT", + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests", + "package.json", + "index.html" + ], + "dependencies": { + "jquery": ">=1.7" + } +} diff --git a/component.json b/component.json new file mode 100644 index 0000000..3bc9f58 --- /dev/null +++ b/component.json @@ -0,0 +1,18 @@ +{ + "name": "slick", + "repo": "kenwheeler/slick", + "description": "the last carousel you'll ever need", + "version": "1.6.0", + "keywords": ["ui", "jquery", "carousel", "responsive", "slider"], + "dependencies": { + "component/jquery": "*" + }, + "development": {}, + "scripts": { + "slick/slick.min.js": "slick.js" + }, + "styles": { + "slick/slick.css": "slick.css", + "slick/slick-theme.css": "slick-theme.css" + } +} diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..eefb326 --- /dev/null +++ b/composer.json @@ -0,0 +1,34 @@ +{ + "name": "immae/ludivine-slick-component", + "description": "Slick component.", + "type": "component", + "keywords": ["ui", "jquery", "carousel", "responsive", "slider"], + "homepage": "http://kenwheeler.github.io/slick/", + "license": [ "MIT" ], + "authors": [ + { + "name": "kenwheeler", + "homepage": "https://github.com/kenwheeler/slick/" + } + ], + "require": { + "robloach/component-installer": "*", + "components/jquery": ">=1.7" + }, + "support": { + "issues": "https://github.com/kenwheeler/slick/issues", + "source": "https://github.com/kenwheeler/slick" + }, + "extra": { + "component": { + "scripts": [ + "slick/slick.min.js", + "slick/slick.css", + "slick/slick-theme.css" + ], + "files": [ + "slick/**" + ] + } + } +} diff --git a/index.html b/index.html new file mode 100644 index 0000000..c8fab56 --- /dev/null +++ b/index.html @@ -0,0 +1,137 @@ + + + + Slick Playground + + + + + + + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..8f675a4 --- /dev/null +++ b/package.json @@ -0,0 +1,50 @@ +{ + "name": "slick-carousel", + "version": "1.6.0", + "description": "the last carousel you'll ever need", + "main": "slick/slick.js", + "repository": { + "type": "git", + "url": "https://github.com/kenwheeler/slick.git" + }, + "keywords": [ + "carousel", + "slick", + "responsive", + "js", + "slider" + ], + "author": "Ken Wheeler ", + "contributors": [ + { + "name": "ken wheeler", + "email": "ken_wheeler@me.com", + "url": "http://kenwheeler.github.io/" + }, + { + "name": "simon goellner", + "email": "simey.me@gmail.com", + "url": "http://simey.me" + }, + { + "name": "ahmad el-alfy", + "email": "ahmadalfy@gmail.com", + "url": "http://www.alfy.me" + }, + { + "name": "leggomuhgreggo", + "email": "gwestneat@gmail.com" + }, + { + "name": "ashley mcknight", + "email": "ash@sharpteef.net" + } + ], + "license": "MIT", + "bugs": { + "url": "https://github.com/kenwheeler/slick/issues" + }, + "dependencies": { + "jquery": ">=1.7.2" + } +} diff --git a/slick.jquery.json b/slick.jquery.json new file mode 100644 index 0000000..7af760b --- /dev/null +++ b/slick.jquery.json @@ -0,0 +1,34 @@ +{ + "name": "slick", + "title": "slick", + "description": "A jQuery responsive touch carousel", + "keywords": [ + "responsive", + "slider", + "carousel", + "touch", + "mobile" + ], + "version": "1.6.0", + "author": { + "name": "Ken Wheeler", + "url": "http://kenwheeler.github.io" + }, + "maintainers": [{ + "name": "Ken Wheeler", + "email": "dubmediagroup@gmail.com", + "url": "http://www.dubmediagroup.com" + }], + "licenses": [{ + "type": "MIT", + "url": "https://github.com/kenwheeler/slick/blob/master/LICENSE" + }], + "demo": "http://kenwheeler.github.io/slick/", + "bugs": "https://github.com/kenwheeler/slick/issues", + "homepage": "https://github.com/kenwheeler/slick/", + "docs": "https://github.com/kenwheeler/slick/", + "download": "https://github.com/kenwheeler/slick/archive/master.zip", + "dependencies": { + "jquery": ">=1.7" + } +} diff --git a/slick/ajax-loader.gif b/slick/ajax-loader.gif new file mode 100644 index 0000000..e0e6e97 Binary files /dev/null and b/slick/ajax-loader.gif differ diff --git a/slick/config.rb b/slick/config.rb new file mode 100644 index 0000000..81f5ae3 --- /dev/null +++ b/slick/config.rb @@ -0,0 +1,10 @@ +css_dir = "." +sass_dir = "." +images_dir = "." +fonts_dir = "fonts" +relative_assets = true + +output_style = :compact +line_comments = false + +preferred_syntax = :scss \ No newline at end of file diff --git a/slick/fonts/slick.eot b/slick/fonts/slick.eot new file mode 100644 index 0000000..2cbab9c Binary files /dev/null and b/slick/fonts/slick.eot differ diff --git a/slick/fonts/slick.svg b/slick/fonts/slick.svg new file mode 100644 index 0000000..b36a66a --- /dev/null +++ b/slick/fonts/slick.svg @@ -0,0 +1,14 @@ + + + +Generated by Fontastic.me + + + + + + + + + + diff --git a/slick/fonts/slick.ttf b/slick/fonts/slick.ttf new file mode 100644 index 0000000..9d03461 Binary files /dev/null and b/slick/fonts/slick.ttf differ diff --git a/slick/fonts/slick.woff b/slick/fonts/slick.woff new file mode 100644 index 0000000..8ee9972 Binary files /dev/null and b/slick/fonts/slick.woff differ diff --git a/slick/slick-theme.css b/slick/slick-theme.css new file mode 100644 index 0000000..1232fca --- /dev/null +++ b/slick/slick-theme.css @@ -0,0 +1,204 @@ +@charset 'UTF-8'; +/* Slider */ +.slick-loading .slick-list +{ + background: #fff url('./ajax-loader.gif') center center no-repeat; +} + +/* Icons */ +@font-face +{ + font-family: 'slick'; + font-weight: normal; + font-style: normal; + + src: url('./fonts/slick.eot'); + src: url('./fonts/slick.eot?#iefix') format('embedded-opentype'), url('./fonts/slick.woff') format('woff'), url('./fonts/slick.ttf') format('truetype'), url('./fonts/slick.svg#slick') format('svg'); +} +/* Arrows */ +.slick-prev, +.slick-next +{ + font-size: 0; + line-height: 0; + + position: absolute; + top: 50%; + + display: block; + + width: 20px; + height: 20px; + padding: 0; + -webkit-transform: translate(0, -50%); + -ms-transform: translate(0, -50%); + transform: translate(0, -50%); + + cursor: pointer; + + color: transparent; + border: none; + outline: none; + background: transparent; +} +.slick-prev:hover, +.slick-prev:focus, +.slick-next:hover, +.slick-next:focus +{ + color: transparent; + outline: none; + background: transparent; +} +.slick-prev:hover:before, +.slick-prev:focus:before, +.slick-next:hover:before, +.slick-next:focus:before +{ + opacity: 1; +} +.slick-prev.slick-disabled:before, +.slick-next.slick-disabled:before +{ + opacity: .25; +} + +.slick-prev:before, +.slick-next:before +{ + font-family: 'slick'; + font-size: 20px; + line-height: 1; + + opacity: .75; + color: white; + + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.slick-prev +{ + left: -25px; +} +[dir='rtl'] .slick-prev +{ + right: -25px; + left: auto; +} +.slick-prev:before +{ + content: '←'; +} +[dir='rtl'] .slick-prev:before +{ + content: '→'; +} + +.slick-next +{ + right: -25px; +} +[dir='rtl'] .slick-next +{ + right: auto; + left: -25px; +} +.slick-next:before +{ + content: '→'; +} +[dir='rtl'] .slick-next:before +{ + content: '←'; +} + +/* Dots */ +.slick-dotted.slick-slider +{ + margin-bottom: 30px; +} + +.slick-dots +{ + position: absolute; + bottom: -25px; + + display: block; + + width: 100%; + padding: 0; + margin: 0; + + list-style: none; + + text-align: center; +} +.slick-dots li +{ + position: relative; + + display: inline-block; + + width: 20px; + height: 20px; + margin: 0 5px; + padding: 0; + + cursor: pointer; +} +.slick-dots li button +{ + font-size: 0; + line-height: 0; + + display: block; + + width: 20px; + height: 20px; + padding: 5px; + + cursor: pointer; + + color: transparent; + border: 0; + outline: none; + background: transparent; +} +.slick-dots li button:hover, +.slick-dots li button:focus +{ + outline: none; +} +.slick-dots li button:hover:before, +.slick-dots li button:focus:before +{ + opacity: 1; +} +.slick-dots li button:before +{ + font-family: 'slick'; + font-size: 6px; + line-height: 20px; + + position: absolute; + top: 0; + left: 0; + + width: 20px; + height: 20px; + + content: '•'; + text-align: center; + + opacity: .25; + color: black; + + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.slick-dots li.slick-active button:before +{ + opacity: .75; + color: black; +} diff --git a/slick/slick-theme.less b/slick/slick-theme.less new file mode 100644 index 0000000..8f10758 --- /dev/null +++ b/slick/slick-theme.less @@ -0,0 +1,168 @@ +@charset "UTF-8"; + +// Default Variables + +@slick-font-path: "./fonts/"; +@slick-font-family: "slick"; +@slick-loader-path: "./"; +@slick-arrow-color: white; +@slick-dot-color: black; +@slick-dot-color-active: @slick-dot-color; +@slick-prev-character: "←"; +@slick-next-character: "→"; +@slick-dot-character: "•"; +@slick-dot-size: 6px; +@slick-opacity-default: 0.75; +@slick-opacity-on-hover: 1; +@slick-opacity-not-active: 0.25; + +/* Slider */ +.slick-loading .slick-list{ + background: #fff url('@{slick-loader-path}ajax-loader.gif') center center no-repeat; +} + +/* Icons */ +@font-face{ + font-family: 'slick'; + font-weight: normal; + font-style: normal; + + src: url('@{slick-font-path}slick.eot'); + src: url('@{slick-font-path}slick.eot?#iefix') format('embedded-opentype'), url('@{slick-font-path}slick.woff') format('woff'), url('@{slick-font-path}slick.ttf') format('truetype'), url('@{slick-font-path}slick.svg#slick') format('svg'); +} + +/* Arrows */ + +.slick-prev, +.slick-next { + position: absolute; + display: block; + height: 20px; + width: 20px; + line-height: 0px; + font-size: 0px; + cursor: pointer; + background: transparent; + color: transparent; + top: 50%; + -webkit-transform: translate(0, -50%); + -ms-transform: translate(0, -50%); + transform: translate(0, -50%); + padding: 0; + border: none; + outline: none; + &:hover, &:focus { + outline: none; + background: transparent; + color: transparent; + &:before { + opacity: @slick-opacity-on-hover; + } + } + &.slick-disabled:before { + opacity: @slick-opacity-not-active; + } +} + +.slick-prev:before, .slick-next:before { + font-family: @slick-font-family; + font-size: 20px; + line-height: 1; + color: @slick-arrow-color; + opacity: @slick-opacity-default; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.slick-prev { + left: -25px; + &[dir="rtl"] { + left: auto; + right: -25px; + } + &:before { + content: @slick-prev-character; + &[dir="rtl"] { + content: @slick-next-character; + } + } +} + +.slick-next { + right: -25px; + &[dir="rtl"] { + left: -25px; + right: auto; + } + &:before { + content: @slick-next-character; + &[dir="rtl"] { + content: @slick-prev-character; + } + } +} + +/* Dots */ + +.slick-dotted .slick-slider { + margin-bottom: 30px; +} + +.slick-dots { + position: absolute; + bottom: -25px; + list-style: none; + display: block; + text-align: center; + padding: 0; + margin: 0; + width: 100%; + li { + position: relative; + display: inline-block; + height: 20px; + width: 20px; + margin: 0 5px; + padding: 0; + cursor: pointer; + button { + border: 0; + background: transparent; + display: block; + height: 20px; + width: 20px; + outline: none; + line-height: 0px; + font-size: 0px; + color: transparent; + padding: 5px; + cursor: pointer; + &:hover, &:focus { + outline: none; + &:before { + opacity: @slick-opacity-on-hover; + } + } + &:before { + position: absolute; + top: 0; + left: 0; + content: @slick-dot-character; + width: 20px; + height: 20px; + font-family: @slick-font-family; + font-size: @slick-dot-size; + line-height: 20px; + text-align: center; + color: @slick-dot-color; + opacity: @slick-opacity-not-active; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + } + &.slick-active button:before { + color: @slick-dot-color-active; + opacity: @slick-opacity-default; + } + } +} diff --git a/slick/slick-theme.scss b/slick/slick-theme.scss new file mode 100644 index 0000000..7fe63e1 --- /dev/null +++ b/slick/slick-theme.scss @@ -0,0 +1,194 @@ +@charset "UTF-8"; + +// Default Variables + +// Slick icon entity codes outputs the following +// "\2190" outputs ascii character "←" +// "\2192" outputs ascii character "→" +// "\2022" outputs ascii character "•" + +$slick-font-path: "./fonts/" !default; +$slick-font-family: "slick" !default; +$slick-loader-path: "./" !default; +$slick-arrow-color: white !default; +$slick-dot-color: black !default; +$slick-dot-color-active: $slick-dot-color !default; +$slick-prev-character: "\2190" !default; +$slick-next-character: "\2192" !default; +$slick-dot-character: "\2022" !default; +$slick-dot-size: 6px !default; +$slick-opacity-default: 0.75 !default; +$slick-opacity-on-hover: 1 !default; +$slick-opacity-not-active: 0.25 !default; + +@function slick-image-url($url) { + @if function-exists(image-url) { + @return image-url($url); + } + @else { + @return url($slick-loader-path + $url); + } +} + +@function slick-font-url($url) { + @if function-exists(font-url) { + @return font-url($url); + } + @else { + @return url($slick-font-path + $url); + } +} + +/* Slider */ + +.slick-list { + .slick-loading & { + background: #fff slick-image-url("ajax-loader.gif") center center no-repeat; + } +} + +/* Icons */ +@if $slick-font-family == "slick" { + @font-face { + font-family: "slick"; + src: slick-font-url("slick.eot"); + src: slick-font-url("slick.eot?#iefix") format("embedded-opentype"), slick-font-url("slick.woff") format("woff"), slick-font-url("slick.ttf") format("truetype"), slick-font-url("slick.svg#slick") format("svg"); + font-weight: normal; + font-style: normal; + } +} + +/* Arrows */ + +.slick-prev, +.slick-next { + position: absolute; + display: block; + height: 20px; + width: 20px; + line-height: 0px; + font-size: 0px; + cursor: pointer; + background: transparent; + color: transparent; + top: 50%; + -webkit-transform: translate(0, -50%); + -ms-transform: translate(0, -50%); + transform: translate(0, -50%); + padding: 0; + border: none; + outline: none; + &:hover, &:focus { + outline: none; + background: transparent; + color: transparent; + &:before { + opacity: $slick-opacity-on-hover; + } + } + &.slick-disabled:before { + opacity: $slick-opacity-not-active; + } + &:before { + font-family: $slick-font-family; + font-size: 20px; + line-height: 1; + color: $slick-arrow-color; + opacity: $slick-opacity-default; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } +} + +.slick-prev { + left: -25px; + [dir="rtl"] & { + left: auto; + right: -25px; + } + &:before { + content: $slick-prev-character; + [dir="rtl"] & { + content: $slick-next-character; + } + } +} + +.slick-next { + right: -25px; + [dir="rtl"] & { + left: -25px; + right: auto; + } + &:before { + content: $slick-next-character; + [dir="rtl"] & { + content: $slick-prev-character; + } + } +} + +/* Dots */ + +.slick-dotted.slick-slider { + margin-bottom: 30px; +} + +.slick-dots { + position: absolute; + bottom: -25px; + list-style: none; + display: block; + text-align: center; + padding: 0; + margin: 0; + width: 100%; + li { + position: relative; + display: inline-block; + height: 20px; + width: 20px; + margin: 0 5px; + padding: 0; + cursor: pointer; + button { + border: 0; + background: transparent; + display: block; + height: 20px; + width: 20px; + outline: none; + line-height: 0px; + font-size: 0px; + color: transparent; + padding: 5px; + cursor: pointer; + &:hover, &:focus { + outline: none; + &:before { + opacity: $slick-opacity-on-hover; + } + } + &:before { + position: absolute; + top: 0; + left: 0; + content: $slick-dot-character; + width: 20px; + height: 20px; + font-family: $slick-font-family; + font-size: $slick-dot-size; + line-height: 20px; + text-align: center; + color: $slick-dot-color; + opacity: $slick-opacity-not-active; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + } + &.slick-active button:before { + color: $slick-dot-color-active; + opacity: $slick-opacity-default; + } + } +} diff --git a/slick/slick.css b/slick/slick.css new file mode 100644 index 0000000..dd973fe --- /dev/null +++ b/slick/slick.css @@ -0,0 +1,117 @@ +/* Slider */ +.slick-slider +{ + position: relative; + + display: block; + box-sizing: border-box; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + + -webkit-touch-callout: none; + -khtml-user-select: none; + -ms-touch-action: pan-y; + touch-action: pan-y; + -webkit-tap-highlight-color: transparent; +} + +.slick-list +{ + position: relative; + + display: block; + overflow: hidden; + + margin: 0; + padding: 0; +} +.slick-list:focus +{ + outline: none; +} +.slick-list.dragging +{ + cursor: pointer; + cursor: hand; +} + +.slick-slider .slick-track, +.slick-slider .slick-list +{ + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + +.slick-track +{ + position: relative; + top: 0; + left: 0; + + display: block; +} +.slick-track:before, +.slick-track:after +{ + display: table; + + content: ''; +} +.slick-track:after +{ + clear: both; +} +.slick-loading .slick-track +{ + visibility: hidden; +} + +.slick-slide +{ + display: none; + float: left; + + height: 100%; + min-height: 1px; +} +[dir='rtl'] .slick-slide +{ + float: right; +} +.slick-slide img +{ + display: block; +} +.slick-slide.slick-loading img +{ + display: none; +} +.slick-slide.dragging img +{ + pointer-events: none; +} +.slick-initialized .slick-slide +{ + display: block; +} +.slick-loading .slick-slide +{ + visibility: hidden; +} +.slick-vertical .slick-slide +{ + display: block; + + height: auto; + + border: 1px solid transparent; +} +.slick-arrow.slick-hidden { + display: none; +} diff --git a/slick/slick.js b/slick/slick.js new file mode 100644 index 0000000..5394604 --- /dev/null +++ b/slick/slick.js @@ -0,0 +1,2892 @@ +/* + _ _ _ _ + ___| (_) ___| | __ (_)___ +/ __| | |/ __| |/ / | / __| +\__ \ | | (__| < _ | \__ \ +|___/_|_|\___|_|\_(_)/ |___/ + |__/ + + Version: 1.6.0 + Author: Ken Wheeler + Website: http://kenwheeler.github.io + Docs: http://kenwheeler.github.io/slick + Repo: http://github.com/kenwheeler/slick + Issues: http://github.com/kenwheeler/slick/issues + + */ +/* global window, document, define, jQuery, setInterval, clearInterval */ +(function(factory) { + 'use strict'; + if (typeof define === 'function' && define.amd) { + define(['jquery'], factory); + } else if (typeof exports !== 'undefined') { + module.exports = factory(require('jquery')); + } else { + factory(jQuery); + } + +}(function($) { + 'use strict'; + var Slick = window.Slick || {}; + + Slick = (function() { + + var instanceUid = 0; + + function Slick(element, settings) { + + var _ = this, dataSettings; + + _.defaults = { + accessibility: true, + adaptiveHeight: false, + appendArrows: $(element), + appendDots: $(element), + arrows: true, + asNavFor: null, + prevArrow: '', + nextArrow: '', + autoplay: false, + autoplaySpeed: 3000, + centerMode: false, + centerPadding: '50px', + cssEase: 'ease', + customPaging: function(slider, i) { + return $('',nextArrow:'',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(b,c){return a('