Socket
Socket
Sign inDemoInstall

@splidejs/splide-extension-grid

Package Overview
Dependencies
Maintainers
1
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@splidejs/splide-extension-grid - npm Package Compare versions

Comparing version 0.3.20 to 0.4.0

.github/FUNDING.yml

0

.github/pull_request_template.md

@@ -0,0 +0,0 @@ <!--

516

dist/js/splide-extension-grid.cjs.js
/*!
* @splidejs/splide-extension-grid
* Version : 0.3.20
* Version : 0.4.0
* License : MIT

@@ -11,41 +11,83 @@ * Copyright: 2022 Naotoshi Fujita

// node_modules/@splidejs/splide/dist/js/splide.esm.js
var PROJECT_CODE = "splide";
function isArray(subject) {
return Array.isArray(subject);
function empty$1(array) {
array.length = 0;
}
function toArray(value) {
return isArray(value) ? value : [value];
function slice$1(arrayLike, start, end) {
return Array.prototype.slice.call(arrayLike, start, end);
}
function forEach(values, iteratee) {
toArray(values).forEach(iteratee);
function apply$1(func) {
return func.bind.apply(func, [null].concat(slice$1(arguments, 1)));
}
var EVENT_VISIBLE = "visible";
var EVENT_HIDDEN = "hidden";
var EVENT_REFRESH = "refresh";
var EVENT_UPDATED = "updated";
var EVENT_DESTROY = "destroy";
function EventInterface(Splide22) {
const { event } = Splide22;
const key = {};
let listeners = [];
function on(events, callback, priority) {
event.on(events, callback, key, priority);
function typeOf$1(type, subject) {
return typeof subject === type;
}
var isArray$1 = Array.isArray;
apply$1(typeOf$1, "function");
apply$1(typeOf$1, "string");
apply$1(typeOf$1, "undefined");
function toArray$1(value) {
return isArray$1(value) ? value : [value];
}
function forEach$1(values, iteratee) {
toArray$1(values).forEach(iteratee);
}
var ownKeys$1 = Object.keys;
function forOwn$1(object, iteratee, right) {
if (object) {
var keys = ownKeys$1(object);
keys = right ? keys.reverse() : keys;
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
if (key !== "__proto__") {
if (iteratee(object[key], key) === false) {
break;
}
}
}
}
function off(events) {
event.off(events, key);
}
return object;
}
function assign$1(object) {
slice$1(arguments, 1).forEach(function (source) {
forOwn$1(source, function (value, key) {
object[key] = source[key];
});
});
return object;
}
var PROJECT_CODE$1 = "splide";
function EventBinder() {
var listeners = [];
function bind(targets, events, callback, options) {
forEachEvent(targets, events, (target, event2) => {
listeners.push([target, event2, callback, options]);
target.addEventListener(event2, callback, options);
forEachEvent(targets, events, function (target, event, namespace) {
var isEventTarget = ("addEventListener" in target);
var remover = isEventTarget ? target.removeEventListener.bind(target, event, callback, options) : target["removeListener"].bind(target, callback);
isEventTarget ? target.addEventListener(event, callback, options) : target["addListener"](callback);
listeners.push([target, event, namespace, callback, remover]);
});
}
function unbind(targets, events, callback) {
forEachEvent(targets, events, (target, event2) => {
listeners = listeners.filter((listener) => {
if (listener[0] === target && listener[1] === event2 && (!callback || listener[2] === callback)) {
target.removeEventListener(event2, listener[2], listener[3]);
forEachEvent(targets, events, function (target, event, namespace) {
listeners = listeners.filter(function (listener) {
if (listener[0] === target && listener[1] === event && listener[2] === namespace && (!callback || listener[3] === callback)) {
listener[4]();
return false;
}
return true;

@@ -55,80 +97,126 @@ });

}
function dispatch(target, type, detail) {
var e;
var bubbles = true;
if (typeof CustomEvent === "function") {
e = new CustomEvent(type, {
bubbles: bubbles,
detail: detail
});
} else {
e = document.createEvent("CustomEvent");
e.initCustomEvent(type, bubbles, false, detail);
}
target.dispatchEvent(e);
return e;
}
function forEachEvent(targets, events, iteratee) {
forEach(targets, (target) => {
if (target) {
events.split(" ").forEach(iteratee.bind(null, target));
}
forEach$1(targets, function (target) {
target && forEach$1(events, function (events2) {
events2.split(" ").forEach(function (eventNS) {
var fragment = eventNS.split(".");
iteratee(target, fragment[0], fragment[1]);
});
});
});
}
function destroy() {
listeners = listeners.filter((data) => unbind(data[0], data[1]));
event.offBy(key);
listeners.forEach(function (data) {
data[4]();
});
empty$1(listeners);
}
event.on(EVENT_DESTROY, destroy, key);
return {
on,
off,
emit: event.emit,
bind,
unbind,
destroy
bind: bind,
unbind: unbind,
dispatch: dispatch,
destroy: destroy
};
}
var CLASS_ROOT = PROJECT_CODE;
var CLASS_SLIDE = `${PROJECT_CODE}__slide`;
var CLASS_CONTAINER = `${CLASS_SLIDE}__container`;
var EVENT_VISIBLE = "visible";
var EVENT_HIDDEN = "hidden";
var EVENT_REFRESH = "refresh";
var EVENT_UPDATED = "updated";
var EVENT_DESTROY = "destroy";
// node_modules/@splidejs/splide/src/js/utils/array/empty/empty.ts
function empty2(array) {
function EventInterface(Splide2) {
var bus = Splide2 ? Splide2.event.bus : document.createDocumentFragment();
var binder = EventBinder();
function on(events, callback) {
binder.bind(bus, toArray$1(events).join(" "), function (e) {
callback.apply(callback, isArray$1(e.detail) ? e.detail : []);
});
}
function emit(event) {
binder.dispatch(bus, event, slice$1(arguments, 1));
}
if (Splide2) {
Splide2.event.on(EVENT_DESTROY, binder.destroy);
}
return assign$1(binder, {
bus: bus,
on: on,
off: apply$1(binder.unbind, bus),
emit: emit
});
}
var CLASS_ROOT = PROJECT_CODE$1;
var CLASS_SLIDE = PROJECT_CODE$1 + "__slide";
var CLASS_CONTAINER = CLASS_SLIDE + "__container";
function empty(array) {
array.length = 0;
}
// node_modules/@splidejs/splide/src/js/utils/type/type.ts
function isObject2(subject) {
return !isNull2(subject) && typeof subject === "object";
function slice(arrayLike, start, end) {
return Array.prototype.slice.call(arrayLike, start, end);
}
function isArray2(subject) {
return Array.isArray(subject);
function apply(func) {
return func.bind(null, ...slice(arguments, 1));
}
function isString2(subject) {
return typeof subject === "string";
function typeOf(type, subject) {
return typeof subject === type;
}
function isUndefined2(subject) {
return typeof subject === "undefined";
function isObject(subject) {
return !isNull(subject) && typeOf("object", subject);
}
function isNull2(subject) {
const isArray = Array.isArray;
apply(typeOf, "function");
const isString = apply(typeOf, "string");
const isUndefined = apply(typeOf, "undefined");
function isNull(subject) {
return subject === null;
}
function isHTMLElement2(subject) {
function isHTMLElement(subject) {
return subject instanceof HTMLElement;
}
// node_modules/@splidejs/splide/src/js/utils/array/toArray/toArray.ts
function toArray2(value) {
return isArray2(value) ? value : [value];
function toArray(value) {
return isArray(value) ? value : [value];
}
// node_modules/@splidejs/splide/src/js/utils/array/forEach/forEach.ts
function forEach2(values, iteratee) {
toArray2(values).forEach(iteratee);
function forEach(values, iteratee) {
toArray(values).forEach(iteratee);
}
// node_modules/@splidejs/splide/src/js/utils/array/push/push.ts
function push2(array, items) {
array.push(...toArray2(items));
function push(array, items) {
array.push(...toArray(items));
return array;
}
// node_modules/@splidejs/splide/src/js/utils/array/index.ts
var arrayProto2 = Array.prototype;
// node_modules/@splidejs/splide/src/js/utils/arrayLike/slice/slice.ts
function slice2(arrayLike, start, end) {
return arrayProto2.slice.call(arrayLike, start, end);
}
// node_modules/@splidejs/splide/src/js/utils/dom/toggleClass/toggleClass.ts
function toggleClass2(elm, classes, add) {
function toggleClass(elm, classes, add) {
if (elm) {
forEach2(classes, (name) => {
forEach(classes, (name) => {
if (name) {

@@ -141,31 +229,28 @@ elm.classList[add ? "add" : "remove"](name);

// node_modules/@splidejs/splide/src/js/utils/dom/addClass/addClass.ts
function addClass2(elm, classes) {
toggleClass2(elm, isString2(classes) ? classes.split(" ") : classes, true);
function addClass(elm, classes) {
toggleClass(elm, isString(classes) ? classes.split(" ") : classes, true);
}
// node_modules/@splidejs/splide/src/js/utils/dom/append/append.ts
function append2(parent, children3) {
forEach2(children3, parent.appendChild.bind(parent));
function append(parent, children) {
forEach(children, parent.appendChild.bind(parent));
}
// node_modules/@splidejs/splide/src/js/utils/dom/matches/matches.ts
function matches2(elm, selector) {
return isHTMLElement2(elm) && (elm["msMatchesSelector"] || elm.matches).call(elm, selector);
function matches(elm, selector) {
return isHTMLElement(elm) && (elm["msMatchesSelector"] || elm.matches).call(elm, selector);
}
// node_modules/@splidejs/splide/src/js/utils/dom/children/children.ts
function children2(parent, selector) {
return parent ? slice2(parent.children).filter((child3) => matches2(child3, selector)) : [];
function children(parent, selector) {
const children2 = parent ? slice(parent.children) : [];
return selector ? children2.filter((child) => matches(child, selector)) : children2;
}
// node_modules/@splidejs/splide/src/js/utils/dom/child/child.ts
function child2(parent, selector) {
return selector ? children2(parent, selector)[0] : parent.firstElementChild;
function child(parent, selector) {
return selector ? children(parent, selector)[0] : parent.firstElementChild;
}
// node_modules/@splidejs/splide/src/js/utils/object/forOwn/forOwn.ts
function forOwn2(object, iteratee, right) {
const ownKeys = Object.keys;
function forOwn(object, iteratee, right) {
if (object) {
let keys = Object.keys(object);
let keys = ownKeys(object);
keys = right ? keys.reverse() : keys;

@@ -184,6 +269,5 @@ for (let i = 0; i < keys.length; i++) {

// node_modules/@splidejs/splide/src/js/utils/object/assign/assign.ts
function assign2(object) {
slice2(arguments, 1).forEach((source) => {
forOwn2(source, (value, key) => {
function assign(object) {
slice(arguments, 1).forEach((source) => {
forOwn(source, (value, key) => {
object[key] = source[key];

@@ -195,54 +279,46 @@ });

// node_modules/@splidejs/splide/src/js/utils/dom/removeAttribute/removeAttribute.ts
function removeAttribute2(elm, attrs) {
if (elm) {
forEach2(attrs, (attr) => {
elm.removeAttribute(attr);
function removeAttribute(elms, attrs) {
forEach(elms, (elm) => {
forEach(attrs, (attr) => {
elm && elm.removeAttribute(attr);
});
}
});
}
// node_modules/@splidejs/splide/src/js/utils/dom/setAttribute/setAttribute.ts
function setAttribute2(elm, attrs, value) {
if (isObject2(attrs)) {
forOwn2(attrs, (value2, name) => {
setAttribute2(elm, name, value2);
function setAttribute(elms, attrs, value) {
if (isObject(attrs)) {
forOwn(attrs, (value2, name) => {
setAttribute(elms, name, value2);
});
} else {
isNull2(value) ? removeAttribute2(elm, attrs) : elm.setAttribute(attrs, String(value));
forEach(elms, (elm) => {
isNull(value) || value === "" ? removeAttribute(elm, attrs) : elm.setAttribute(attrs, String(value));
});
}
}
// node_modules/@splidejs/splide/src/js/utils/dom/create/create.ts
function create2(tag, attrs, parent) {
function create(tag, attrs, parent) {
const elm = document.createElement(tag);
if (attrs) {
isString2(attrs) ? addClass2(elm, attrs) : setAttribute2(elm, attrs);
isString(attrs) ? addClass(elm, attrs) : setAttribute(elm, attrs);
}
parent && append2(parent, elm);
parent && append(parent, elm);
return elm;
}
// node_modules/@splidejs/splide/src/js/utils/dom/style/style.ts
function style2(elm, prop, value) {
if (isUndefined2(value)) {
function style(elm, prop, value) {
if (isUndefined(value)) {
return getComputedStyle(elm)[prop];
}
if (!isNull2(value)) {
const { style: style3 } = elm;
value = `${value}`;
if (style3[prop] !== value) {
style3[prop] = value;
}
if (!isNull(value)) {
elm.style[prop] = `${value}`;
}
}
// node_modules/@splidejs/splide/src/js/utils/dom/hasClass/hasClass.ts
function hasClass2(elm, className) {
function hasClass(elm, className) {
return elm && elm.classList.contains(className);
}
// node_modules/@splidejs/splide/src/js/utils/dom/remove/remove.ts
function remove2(nodes) {
forEach2(nodes, (node) => {
function remove(nodes) {
forEach(nodes, (node) => {
if (node && node.parentNode) {

@@ -254,41 +330,32 @@ node.parentNode.removeChild(node);

// node_modules/@splidejs/splide/src/js/utils/dom/queryAll/queryAll.ts
function queryAll2(parent, selector) {
return slice2(parent.querySelectorAll(selector));
function queryAll(parent, selector) {
return selector ? slice(parent.querySelectorAll(selector)) : [];
}
// node_modules/@splidejs/splide/src/js/utils/dom/removeClass/removeClass.ts
function removeClass2(elm, classes) {
toggleClass2(elm, classes, false);
function removeClass(elm, classes) {
toggleClass(elm, classes, false);
}
// node_modules/@splidejs/splide/src/js/utils/dom/unit/unit.ts
function unit2(value) {
return isString2(value) ? value : value ? `${value}px` : "";
function unit(value) {
return isString(value) ? value : value ? `${value}px` : "";
}
// node_modules/@splidejs/splide/src/js/constants/project.ts
var PROJECT_CODE2 = "splide";
const PROJECT_CODE = "splide";
// node_modules/@splidejs/splide/src/js/utils/error/assert/assert.ts
function assert2(condition, message = "") {
function assert(condition, message) {
if (!condition) {
throw new Error(`[${PROJECT_CODE2}] ${message}`);
throw new Error(`[${PROJECT_CODE}] ${message || ""}`);
}
}
// node_modules/@splidejs/splide/src/js/utils/math/math/math.ts
var { min: min2, max: max2, floor: floor2, ceil: ceil2, abs: abs2 } = Math;
const { min, max, floor, ceil, abs } = Math;
// node_modules/@splidejs/splide/src/js/utils/string/pad/pad.ts
function pad2(number) {
function pad(number) {
return number < 10 ? `0${number}` : `${number}`;
}
// src/js/constants/classes.ts
var CLASS_SLIDE_ROW = `${CLASS_SLIDE}__row`;
var CLASS_SLIDE_COL = `${CLASS_SLIDE}--col`;
const CLASS_SLIDE_ROW = `${CLASS_SLIDE}__row`;
const CLASS_SLIDE_COL = `${CLASS_SLIDE}--col`;
// src/js/constants/defaults.ts
var DEFAULTS2 = {
const DEFAULTS = {
rows: 1,

@@ -300,11 +367,10 @@ cols: 1,

// src/js/extensions/Grid/Dimension.ts
function Dimension(options) {
function normalize() {
const { rows, cols, dimensions } = options;
return isArray2(dimensions) && dimensions.length ? dimensions : [[rows, cols]];
return isArray(dimensions) && dimensions.length ? dimensions : [[rows, cols]];
}
function get(index) {
const dimensions = normalize();
return dimensions[min2(index, dimensions.length - 1)];
return dimensions[min(index, dimensions.length - 1)];
}

@@ -323,3 +389,3 @@ function getAt(index) {

}
assert2(rows && cols, "Invalid dimension");
assert(rows && cols, "Invalid dimension");
return [rows, cols];

@@ -333,8 +399,7 @@ }

// src/js/extensions/Grid/Layout.ts
function Layout2(Splide4, gridOptions, Dimension2) {
const { on, destroy: destroyEvent } = EventInterface(Splide4);
const { Components: Components2, options } = Splide4;
const { resolve } = Components2.Direction;
const { forEach: forEach3 } = Components2.Slides;
function Layout(Splide2, gridOptions, Dimension) {
const { on, destroy: destroyEvent } = EventInterface(Splide2);
const { Components, options } = Splide2;
const { resolve } = Components.Direction;
const { forEach } = Components.Slides;
function mount() {

@@ -348,11 +413,11 @@ layout();

function destroy() {
forEach3((Slide2) => {
const { slide } = Slide2;
forEach((Slide) => {
const { slide } = Slide;
toggleTabIndex(slide, false);
getRowsIn(slide).forEach((cell) => {
removeAttribute2(cell, "style");
removeAttribute(cell, "style");
});
getColsIn(slide).forEach((colSlide) => {
cover(colSlide, true);
removeAttribute2(colSlide, "style");
removeAttribute(colSlide, "style");
});

@@ -363,10 +428,10 @@ });

function layout() {
forEach3((Slide2) => {
const { slide } = Slide2;
const [rows, cols] = Dimension2.get(Slide2.isClone ? Slide2.slideIndex : Slide2.index);
forEach((Slide) => {
const { slide } = Slide;
const [rows, cols] = Dimension.get(Slide.isClone ? Slide.slideIndex : Slide.index);
layoutRow(rows, slide);
layoutCol(cols, slide);
getColsIn(Slide2.slide).forEach((colSlide, index) => {
colSlide.id = `${Slide2.slide.id}-col${pad2(index + 1)}`;
if (Splide4.options.cover) {
getColsIn(Slide.slide).forEach((colSlide, index) => {
colSlide.id = `${Slide.slide.id}-col${pad(index + 1)}`;
if (Splide2.options.cover) {
cover(colSlide);

@@ -379,10 +444,10 @@ }

const { row: rowGap } = gridOptions.gap;
const height = `calc(${100 / rows}%${rowGap ? ` - ${unit2(rowGap)} * ${(rows - 1) / rows}` : ""})`;
const height = `calc(${100 / rows}%${rowGap ? ` - ${unit(rowGap)} * ${(rows - 1) / rows}` : ""})`;
getRowsIn(slide).forEach((rowElm, index, rowElms) => {
style2(rowElm, "height", height);
style2(rowElm, "display", "flex");
style2(rowElm, "margin", `0 0 ${unit2(rowGap)} 0`);
style2(rowElm, "padding", 0);
style(rowElm, "height", height);
style(rowElm, "display", "flex");
style(rowElm, "margin", `0 0 ${unit(rowGap)} 0`);
style(rowElm, "padding", 0);
if (index === rowElms.length - 1) {
style2(rowElm, "marginBottom", 0);
style(rowElm, "marginBottom", 0);
}

@@ -393,7 +458,7 @@ });

const { col: colGap } = gridOptions.gap;
const width = `calc(${100 / cols}%${colGap ? ` - ${unit2(colGap)} * ${(cols - 1) / cols}` : ""})`;
const width = `calc(${100 / cols}%${colGap ? ` - ${unit(colGap)} * ${(cols - 1) / cols}` : ""})`;
getColsIn(slide).forEach((colElm, index, colElms) => {
style2(colElm, "width", width);
style(colElm, "width", width);
if (index !== colElms.length - 1) {
style2(colElm, resolve("marginRight"), unit2(colGap));
style(colElm, resolve("marginRight"), unit(colGap));
}

@@ -403,25 +468,25 @@ });

function cover(colSlide, uncover) {
const container = child2(colSlide, `.${CLASS_CONTAINER}`);
const img = child2(container || colSlide, "img");
const container = child(colSlide, `.${CLASS_CONTAINER}`);
const img = child(container || colSlide, "img");
if (img && img.src) {
style2(container || colSlide, "background", uncover ? "" : `center/cover no-repeat url("${img.src}")`);
style2(img, "display", uncover ? "" : "none");
style(container || colSlide, "background", uncover ? "" : `center/cover no-repeat url("${img.src}")`);
style(img, "display", uncover ? "" : "none");
}
}
function getRowsIn(slide) {
return queryAll2(slide, `.${CLASS_SLIDE_ROW}`);
return queryAll(slide, `.${CLASS_SLIDE_ROW}`);
}
function getColsIn(slide) {
return queryAll2(slide, `.${CLASS_SLIDE_COL}`);
return queryAll(slide, `.${CLASS_SLIDE_COL}`);
}
function toggleTabIndex(slide, add) {
getColsIn(slide).forEach((colSlide) => {
setAttribute2(colSlide, "tabindex", add ? 0 : null);
setAttribute(colSlide, "tabindex", add ? 0 : null);
});
}
function onVisible(Slide2) {
toggleTabIndex(Slide2.slide, true);
function onVisible(Slide) {
toggleTabIndex(Slide.slide, true);
}
function onHidden(Slide2) {
toggleTabIndex(Slide2.slide, false);
function onHidden(Slide) {
toggleTabIndex(Slide.slide, false);
}

@@ -434,13 +499,12 @@ return {

// src/js/extensions/Grid/Grid.ts
function Grid(Splide4, Components2, options) {
const { on, off } = EventInterface(Splide4);
const { Elements: Elements2 } = Components2;
function Grid(Splide2, Components2, options) {
const { on, off } = EventInterface(Splide2);
const { Elements } = Components2;
const gridOptions = {};
const Dimension2 = Dimension(gridOptions);
const Layout3 = Layout2(Splide4, gridOptions, Dimension2);
const Dimension$1 = Dimension(gridOptions);
const Layout$1 = Layout(Splide2, gridOptions, Dimension$1);
const modifier = `${CLASS_ROOT}--grid`;
const originalSlides = [];
function setup() {
options.grid = assign2({}, DEFAULTS2, options.grid || {});
options.grid = assign({}, DEFAULTS, options.grid || {});
}

@@ -452,8 +516,8 @@ function mount() {

function init() {
assign2(gridOptions, options.grid || DEFAULTS2);
assign(gridOptions, options.grid || DEFAULTS);
if (shouldBuild()) {
destroy();
push2(originalSlides, Elements2.slides);
addClass2(Splide4.root, modifier);
append2(Elements2.list, build());
push(originalSlides, Elements.slides);
addClass(Splide2.root, modifier);
append(Elements.list, build());
on(EVENT_REFRESH, layout);

@@ -468,13 +532,13 @@ refresh();

if (isActive()) {
const { slides } = Elements2;
Layout3.destroy();
const { slides } = Elements;
Layout$1.destroy();
originalSlides.forEach((slide) => {
removeClass2(slide, CLASS_SLIDE_COL);
append2(Elements2.list, slide);
removeClass(slide, CLASS_SLIDE_COL);
append(Elements.list, slide);
});
remove2(slides);
removeClass2(Splide4.root, modifier);
empty2(slides);
push2(slides, originalSlides);
empty2(originalSlides);
remove(slides);
removeClass(Splide2.root, modifier);
empty(slides);
push(slides, originalSlides);
empty(originalSlides);
off(EVENT_REFRESH);

@@ -484,7 +548,7 @@ }

function refresh() {
Splide4.refresh();
Splide2.refresh();
}
function layout() {
if (isActive()) {
Layout3.mount();
Layout$1.mount();
}

@@ -497,6 +561,6 @@ }

originalSlides.forEach((slide, index) => {
const [rows, cols] = Dimension2.getAt(index);
const [rows, cols] = Dimension$1.getAt(index);
if (!col) {
if (!row) {
outerSlide = create2(slide.tagName, CLASS_SLIDE);
outerSlide = create(slide.tagName, CLASS_SLIDE);
outerSlides.push(outerSlide);

@@ -516,7 +580,7 @@ }

const tag = slide.tagName.toLowerCase() === "li" ? "ul" : "div";
return create2(tag, CLASS_SLIDE_ROW, outerSlide);
return create(tag, CLASS_SLIDE_ROW, outerSlide);
}
function buildCol(cols, slide, rowSlide) {
addClass2(slide, CLASS_SLIDE_COL);
append2(rowSlide, slide);
addClass(slide, CLASS_SLIDE_COL);
append(rowSlide, slide);
return slide;

@@ -527,3 +591,3 @@ }

const { rows, cols, dimensions } = gridOptions;
return rows > 1 || cols > 1 || isArray2(dimensions) && dimensions.length > 0;
return rows > 1 || cols > 1 || isArray(dimensions) && dimensions.length > 0;
}

@@ -533,3 +597,3 @@ return false;

function isActive() {
return hasClass2(Splide4.root, modifier);
return hasClass(Splide2.root, modifier);
}

@@ -542,9 +606,3 @@ return {

}
/*!
* Splide.js
* Version : 3.6.11
* License : MIT
* Copyright: 2022 Naotoshi Fujita
*/
exports.Grid = Grid;
/*!
* @splidejs/splide-extension-grid
* Version : 0.3.20
* Version : 0.4.0
* License : MIT
* Copyright: 2022 Naotoshi Fujita
*/
// node_modules/@splidejs/splide/dist/js/splide.esm.js
var PROJECT_CODE = "splide";
function isArray(subject) {
return Array.isArray(subject);
function empty$1(array) {
array.length = 0;
}
function toArray(value) {
return isArray(value) ? value : [value];
function slice$1(arrayLike, start, end) {
return Array.prototype.slice.call(arrayLike, start, end);
}
function forEach(values, iteratee) {
toArray(values).forEach(iteratee);
function apply$1(func) {
return func.bind.apply(func, [null].concat(slice$1(arguments, 1)));
}
var EVENT_VISIBLE = "visible";
var EVENT_HIDDEN = "hidden";
var EVENT_REFRESH = "refresh";
var EVENT_UPDATED = "updated";
var EVENT_DESTROY = "destroy";
function EventInterface(Splide22) {
const { event } = Splide22;
const key = {};
let listeners = [];
function on(events, callback, priority) {
event.on(events, callback, key, priority);
function typeOf$1(type, subject) {
return typeof subject === type;
}
var isArray$1 = Array.isArray;
apply$1(typeOf$1, "function");
apply$1(typeOf$1, "string");
apply$1(typeOf$1, "undefined");
function toArray$1(value) {
return isArray$1(value) ? value : [value];
}
function forEach$1(values, iteratee) {
toArray$1(values).forEach(iteratee);
}
var ownKeys$1 = Object.keys;
function forOwn$1(object, iteratee, right) {
if (object) {
var keys = ownKeys$1(object);
keys = right ? keys.reverse() : keys;
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
if (key !== "__proto__") {
if (iteratee(object[key], key) === false) {
break;
}
}
}
}
function off(events) {
event.off(events, key);
}
return object;
}
function assign$1(object) {
slice$1(arguments, 1).forEach(function (source) {
forOwn$1(source, function (value, key) {
object[key] = source[key];
});
});
return object;
}
var PROJECT_CODE$1 = "splide";
function EventBinder() {
var listeners = [];
function bind(targets, events, callback, options) {
forEachEvent(targets, events, (target, event2) => {
listeners.push([target, event2, callback, options]);
target.addEventListener(event2, callback, options);
forEachEvent(targets, events, function (target, event, namespace) {
var isEventTarget = ("addEventListener" in target);
var remover = isEventTarget ? target.removeEventListener.bind(target, event, callback, options) : target["removeListener"].bind(target, callback);
isEventTarget ? target.addEventListener(event, callback, options) : target["addListener"](callback);
listeners.push([target, event, namespace, callback, remover]);
});
}
function unbind(targets, events, callback) {
forEachEvent(targets, events, (target, event2) => {
listeners = listeners.filter((listener) => {
if (listener[0] === target && listener[1] === event2 && (!callback || listener[2] === callback)) {
target.removeEventListener(event2, listener[2], listener[3]);
forEachEvent(targets, events, function (target, event, namespace) {
listeners = listeners.filter(function (listener) {
if (listener[0] === target && listener[1] === event && listener[2] === namespace && (!callback || listener[3] === callback)) {
listener[4]();
return false;
}
return true;

@@ -50,80 +92,126 @@ });

}
function dispatch(target, type, detail) {
var e;
var bubbles = true;
if (typeof CustomEvent === "function") {
e = new CustomEvent(type, {
bubbles: bubbles,
detail: detail
});
} else {
e = document.createEvent("CustomEvent");
e.initCustomEvent(type, bubbles, false, detail);
}
target.dispatchEvent(e);
return e;
}
function forEachEvent(targets, events, iteratee) {
forEach(targets, (target) => {
if (target) {
events.split(" ").forEach(iteratee.bind(null, target));
}
forEach$1(targets, function (target) {
target && forEach$1(events, function (events2) {
events2.split(" ").forEach(function (eventNS) {
var fragment = eventNS.split(".");
iteratee(target, fragment[0], fragment[1]);
});
});
});
}
function destroy() {
listeners = listeners.filter((data) => unbind(data[0], data[1]));
event.offBy(key);
listeners.forEach(function (data) {
data[4]();
});
empty$1(listeners);
}
event.on(EVENT_DESTROY, destroy, key);
return {
on,
off,
emit: event.emit,
bind,
unbind,
destroy
bind: bind,
unbind: unbind,
dispatch: dispatch,
destroy: destroy
};
}
var CLASS_ROOT = PROJECT_CODE;
var CLASS_SLIDE = `${PROJECT_CODE}__slide`;
var CLASS_CONTAINER = `${CLASS_SLIDE}__container`;
var EVENT_VISIBLE = "visible";
var EVENT_HIDDEN = "hidden";
var EVENT_REFRESH = "refresh";
var EVENT_UPDATED = "updated";
var EVENT_DESTROY = "destroy";
// node_modules/@splidejs/splide/src/js/utils/array/empty/empty.ts
function empty2(array) {
function EventInterface(Splide2) {
var bus = Splide2 ? Splide2.event.bus : document.createDocumentFragment();
var binder = EventBinder();
function on(events, callback) {
binder.bind(bus, toArray$1(events).join(" "), function (e) {
callback.apply(callback, isArray$1(e.detail) ? e.detail : []);
});
}
function emit(event) {
binder.dispatch(bus, event, slice$1(arguments, 1));
}
if (Splide2) {
Splide2.event.on(EVENT_DESTROY, binder.destroy);
}
return assign$1(binder, {
bus: bus,
on: on,
off: apply$1(binder.unbind, bus),
emit: emit
});
}
var CLASS_ROOT = PROJECT_CODE$1;
var CLASS_SLIDE = PROJECT_CODE$1 + "__slide";
var CLASS_CONTAINER = CLASS_SLIDE + "__container";
function empty(array) {
array.length = 0;
}
// node_modules/@splidejs/splide/src/js/utils/type/type.ts
function isObject2(subject) {
return !isNull2(subject) && typeof subject === "object";
function slice(arrayLike, start, end) {
return Array.prototype.slice.call(arrayLike, start, end);
}
function isArray2(subject) {
return Array.isArray(subject);
function apply(func) {
return func.bind(null, ...slice(arguments, 1));
}
function isString2(subject) {
return typeof subject === "string";
function typeOf(type, subject) {
return typeof subject === type;
}
function isUndefined2(subject) {
return typeof subject === "undefined";
function isObject(subject) {
return !isNull(subject) && typeOf("object", subject);
}
function isNull2(subject) {
const isArray = Array.isArray;
apply(typeOf, "function");
const isString = apply(typeOf, "string");
const isUndefined = apply(typeOf, "undefined");
function isNull(subject) {
return subject === null;
}
function isHTMLElement2(subject) {
function isHTMLElement(subject) {
return subject instanceof HTMLElement;
}
// node_modules/@splidejs/splide/src/js/utils/array/toArray/toArray.ts
function toArray2(value) {
return isArray2(value) ? value : [value];
function toArray(value) {
return isArray(value) ? value : [value];
}
// node_modules/@splidejs/splide/src/js/utils/array/forEach/forEach.ts
function forEach2(values, iteratee) {
toArray2(values).forEach(iteratee);
function forEach(values, iteratee) {
toArray(values).forEach(iteratee);
}
// node_modules/@splidejs/splide/src/js/utils/array/push/push.ts
function push2(array, items) {
array.push(...toArray2(items));
function push(array, items) {
array.push(...toArray(items));
return array;
}
// node_modules/@splidejs/splide/src/js/utils/array/index.ts
var arrayProto2 = Array.prototype;
// node_modules/@splidejs/splide/src/js/utils/arrayLike/slice/slice.ts
function slice2(arrayLike, start, end) {
return arrayProto2.slice.call(arrayLike, start, end);
}
// node_modules/@splidejs/splide/src/js/utils/dom/toggleClass/toggleClass.ts
function toggleClass2(elm, classes, add) {
function toggleClass(elm, classes, add) {
if (elm) {
forEach2(classes, (name) => {
forEach(classes, (name) => {
if (name) {

@@ -136,31 +224,28 @@ elm.classList[add ? "add" : "remove"](name);

// node_modules/@splidejs/splide/src/js/utils/dom/addClass/addClass.ts
function addClass2(elm, classes) {
toggleClass2(elm, isString2(classes) ? classes.split(" ") : classes, true);
function addClass(elm, classes) {
toggleClass(elm, isString(classes) ? classes.split(" ") : classes, true);
}
// node_modules/@splidejs/splide/src/js/utils/dom/append/append.ts
function append2(parent, children3) {
forEach2(children3, parent.appendChild.bind(parent));
function append(parent, children) {
forEach(children, parent.appendChild.bind(parent));
}
// node_modules/@splidejs/splide/src/js/utils/dom/matches/matches.ts
function matches2(elm, selector) {
return isHTMLElement2(elm) && (elm["msMatchesSelector"] || elm.matches).call(elm, selector);
function matches(elm, selector) {
return isHTMLElement(elm) && (elm["msMatchesSelector"] || elm.matches).call(elm, selector);
}
// node_modules/@splidejs/splide/src/js/utils/dom/children/children.ts
function children2(parent, selector) {
return parent ? slice2(parent.children).filter((child3) => matches2(child3, selector)) : [];
function children(parent, selector) {
const children2 = parent ? slice(parent.children) : [];
return selector ? children2.filter((child) => matches(child, selector)) : children2;
}
// node_modules/@splidejs/splide/src/js/utils/dom/child/child.ts
function child2(parent, selector) {
return selector ? children2(parent, selector)[0] : parent.firstElementChild;
function child(parent, selector) {
return selector ? children(parent, selector)[0] : parent.firstElementChild;
}
// node_modules/@splidejs/splide/src/js/utils/object/forOwn/forOwn.ts
function forOwn2(object, iteratee, right) {
const ownKeys = Object.keys;
function forOwn(object, iteratee, right) {
if (object) {
let keys = Object.keys(object);
let keys = ownKeys(object);
keys = right ? keys.reverse() : keys;

@@ -179,6 +264,5 @@ for (let i = 0; i < keys.length; i++) {

// node_modules/@splidejs/splide/src/js/utils/object/assign/assign.ts
function assign2(object) {
slice2(arguments, 1).forEach((source) => {
forOwn2(source, (value, key) => {
function assign(object) {
slice(arguments, 1).forEach((source) => {
forOwn(source, (value, key) => {
object[key] = source[key];

@@ -190,54 +274,46 @@ });

// node_modules/@splidejs/splide/src/js/utils/dom/removeAttribute/removeAttribute.ts
function removeAttribute2(elm, attrs) {
if (elm) {
forEach2(attrs, (attr) => {
elm.removeAttribute(attr);
function removeAttribute(elms, attrs) {
forEach(elms, (elm) => {
forEach(attrs, (attr) => {
elm && elm.removeAttribute(attr);
});
}
});
}
// node_modules/@splidejs/splide/src/js/utils/dom/setAttribute/setAttribute.ts
function setAttribute2(elm, attrs, value) {
if (isObject2(attrs)) {
forOwn2(attrs, (value2, name) => {
setAttribute2(elm, name, value2);
function setAttribute(elms, attrs, value) {
if (isObject(attrs)) {
forOwn(attrs, (value2, name) => {
setAttribute(elms, name, value2);
});
} else {
isNull2(value) ? removeAttribute2(elm, attrs) : elm.setAttribute(attrs, String(value));
forEach(elms, (elm) => {
isNull(value) || value === "" ? removeAttribute(elm, attrs) : elm.setAttribute(attrs, String(value));
});
}
}
// node_modules/@splidejs/splide/src/js/utils/dom/create/create.ts
function create2(tag, attrs, parent) {
function create(tag, attrs, parent) {
const elm = document.createElement(tag);
if (attrs) {
isString2(attrs) ? addClass2(elm, attrs) : setAttribute2(elm, attrs);
isString(attrs) ? addClass(elm, attrs) : setAttribute(elm, attrs);
}
parent && append2(parent, elm);
parent && append(parent, elm);
return elm;
}
// node_modules/@splidejs/splide/src/js/utils/dom/style/style.ts
function style2(elm, prop, value) {
if (isUndefined2(value)) {
function style(elm, prop, value) {
if (isUndefined(value)) {
return getComputedStyle(elm)[prop];
}
if (!isNull2(value)) {
const { style: style3 } = elm;
value = `${value}`;
if (style3[prop] !== value) {
style3[prop] = value;
}
if (!isNull(value)) {
elm.style[prop] = `${value}`;
}
}
// node_modules/@splidejs/splide/src/js/utils/dom/hasClass/hasClass.ts
function hasClass2(elm, className) {
function hasClass(elm, className) {
return elm && elm.classList.contains(className);
}
// node_modules/@splidejs/splide/src/js/utils/dom/remove/remove.ts
function remove2(nodes) {
forEach2(nodes, (node) => {
function remove(nodes) {
forEach(nodes, (node) => {
if (node && node.parentNode) {

@@ -249,41 +325,32 @@ node.parentNode.removeChild(node);

// node_modules/@splidejs/splide/src/js/utils/dom/queryAll/queryAll.ts
function queryAll2(parent, selector) {
return slice2(parent.querySelectorAll(selector));
function queryAll(parent, selector) {
return selector ? slice(parent.querySelectorAll(selector)) : [];
}
// node_modules/@splidejs/splide/src/js/utils/dom/removeClass/removeClass.ts
function removeClass2(elm, classes) {
toggleClass2(elm, classes, false);
function removeClass(elm, classes) {
toggleClass(elm, classes, false);
}
// node_modules/@splidejs/splide/src/js/utils/dom/unit/unit.ts
function unit2(value) {
return isString2(value) ? value : value ? `${value}px` : "";
function unit(value) {
return isString(value) ? value : value ? `${value}px` : "";
}
// node_modules/@splidejs/splide/src/js/constants/project.ts
var PROJECT_CODE2 = "splide";
const PROJECT_CODE = "splide";
// node_modules/@splidejs/splide/src/js/utils/error/assert/assert.ts
function assert2(condition, message = "") {
function assert(condition, message) {
if (!condition) {
throw new Error(`[${PROJECT_CODE2}] ${message}`);
throw new Error(`[${PROJECT_CODE}] ${message || ""}`);
}
}
// node_modules/@splidejs/splide/src/js/utils/math/math/math.ts
var { min: min2, max: max2, floor: floor2, ceil: ceil2, abs: abs2 } = Math;
const { min, max, floor, ceil, abs } = Math;
// node_modules/@splidejs/splide/src/js/utils/string/pad/pad.ts
function pad2(number) {
function pad(number) {
return number < 10 ? `0${number}` : `${number}`;
}
// src/js/constants/classes.ts
var CLASS_SLIDE_ROW = `${CLASS_SLIDE}__row`;
var CLASS_SLIDE_COL = `${CLASS_SLIDE}--col`;
const CLASS_SLIDE_ROW = `${CLASS_SLIDE}__row`;
const CLASS_SLIDE_COL = `${CLASS_SLIDE}--col`;
// src/js/constants/defaults.ts
var DEFAULTS2 = {
const DEFAULTS = {
rows: 1,

@@ -295,11 +362,10 @@ cols: 1,

// src/js/extensions/Grid/Dimension.ts
function Dimension(options) {
function normalize() {
const { rows, cols, dimensions } = options;
return isArray2(dimensions) && dimensions.length ? dimensions : [[rows, cols]];
return isArray(dimensions) && dimensions.length ? dimensions : [[rows, cols]];
}
function get(index) {
const dimensions = normalize();
return dimensions[min2(index, dimensions.length - 1)];
return dimensions[min(index, dimensions.length - 1)];
}

@@ -318,3 +384,3 @@ function getAt(index) {

}
assert2(rows && cols, "Invalid dimension");
assert(rows && cols, "Invalid dimension");
return [rows, cols];

@@ -328,8 +394,7 @@ }

// src/js/extensions/Grid/Layout.ts
function Layout2(Splide4, gridOptions, Dimension2) {
const { on, destroy: destroyEvent } = EventInterface(Splide4);
const { Components: Components2, options } = Splide4;
const { resolve } = Components2.Direction;
const { forEach: forEach3 } = Components2.Slides;
function Layout(Splide2, gridOptions, Dimension) {
const { on, destroy: destroyEvent } = EventInterface(Splide2);
const { Components, options } = Splide2;
const { resolve } = Components.Direction;
const { forEach } = Components.Slides;
function mount() {

@@ -343,11 +408,11 @@ layout();

function destroy() {
forEach3((Slide2) => {
const { slide } = Slide2;
forEach((Slide) => {
const { slide } = Slide;
toggleTabIndex(slide, false);
getRowsIn(slide).forEach((cell) => {
removeAttribute2(cell, "style");
removeAttribute(cell, "style");
});
getColsIn(slide).forEach((colSlide) => {
cover(colSlide, true);
removeAttribute2(colSlide, "style");
removeAttribute(colSlide, "style");
});

@@ -358,10 +423,10 @@ });

function layout() {
forEach3((Slide2) => {
const { slide } = Slide2;
const [rows, cols] = Dimension2.get(Slide2.isClone ? Slide2.slideIndex : Slide2.index);
forEach((Slide) => {
const { slide } = Slide;
const [rows, cols] = Dimension.get(Slide.isClone ? Slide.slideIndex : Slide.index);
layoutRow(rows, slide);
layoutCol(cols, slide);
getColsIn(Slide2.slide).forEach((colSlide, index) => {
colSlide.id = `${Slide2.slide.id}-col${pad2(index + 1)}`;
if (Splide4.options.cover) {
getColsIn(Slide.slide).forEach((colSlide, index) => {
colSlide.id = `${Slide.slide.id}-col${pad(index + 1)}`;
if (Splide2.options.cover) {
cover(colSlide);

@@ -374,10 +439,10 @@ }

const { row: rowGap } = gridOptions.gap;
const height = `calc(${100 / rows}%${rowGap ? ` - ${unit2(rowGap)} * ${(rows - 1) / rows}` : ""})`;
const height = `calc(${100 / rows}%${rowGap ? ` - ${unit(rowGap)} * ${(rows - 1) / rows}` : ""})`;
getRowsIn(slide).forEach((rowElm, index, rowElms) => {
style2(rowElm, "height", height);
style2(rowElm, "display", "flex");
style2(rowElm, "margin", `0 0 ${unit2(rowGap)} 0`);
style2(rowElm, "padding", 0);
style(rowElm, "height", height);
style(rowElm, "display", "flex");
style(rowElm, "margin", `0 0 ${unit(rowGap)} 0`);
style(rowElm, "padding", 0);
if (index === rowElms.length - 1) {
style2(rowElm, "marginBottom", 0);
style(rowElm, "marginBottom", 0);
}

@@ -388,7 +453,7 @@ });

const { col: colGap } = gridOptions.gap;
const width = `calc(${100 / cols}%${colGap ? ` - ${unit2(colGap)} * ${(cols - 1) / cols}` : ""})`;
const width = `calc(${100 / cols}%${colGap ? ` - ${unit(colGap)} * ${(cols - 1) / cols}` : ""})`;
getColsIn(slide).forEach((colElm, index, colElms) => {
style2(colElm, "width", width);
style(colElm, "width", width);
if (index !== colElms.length - 1) {
style2(colElm, resolve("marginRight"), unit2(colGap));
style(colElm, resolve("marginRight"), unit(colGap));
}

@@ -398,25 +463,25 @@ });

function cover(colSlide, uncover) {
const container = child2(colSlide, `.${CLASS_CONTAINER}`);
const img = child2(container || colSlide, "img");
const container = child(colSlide, `.${CLASS_CONTAINER}`);
const img = child(container || colSlide, "img");
if (img && img.src) {
style2(container || colSlide, "background", uncover ? "" : `center/cover no-repeat url("${img.src}")`);
style2(img, "display", uncover ? "" : "none");
style(container || colSlide, "background", uncover ? "" : `center/cover no-repeat url("${img.src}")`);
style(img, "display", uncover ? "" : "none");
}
}
function getRowsIn(slide) {
return queryAll2(slide, `.${CLASS_SLIDE_ROW}`);
return queryAll(slide, `.${CLASS_SLIDE_ROW}`);
}
function getColsIn(slide) {
return queryAll2(slide, `.${CLASS_SLIDE_COL}`);
return queryAll(slide, `.${CLASS_SLIDE_COL}`);
}
function toggleTabIndex(slide, add) {
getColsIn(slide).forEach((colSlide) => {
setAttribute2(colSlide, "tabindex", add ? 0 : null);
setAttribute(colSlide, "tabindex", add ? 0 : null);
});
}
function onVisible(Slide2) {
toggleTabIndex(Slide2.slide, true);
function onVisible(Slide) {
toggleTabIndex(Slide.slide, true);
}
function onHidden(Slide2) {
toggleTabIndex(Slide2.slide, false);
function onHidden(Slide) {
toggleTabIndex(Slide.slide, false);
}

@@ -429,13 +494,12 @@ return {

// src/js/extensions/Grid/Grid.ts
function Grid(Splide4, Components2, options) {
const { on, off } = EventInterface(Splide4);
const { Elements: Elements2 } = Components2;
function Grid(Splide2, Components2, options) {
const { on, off } = EventInterface(Splide2);
const { Elements } = Components2;
const gridOptions = {};
const Dimension2 = Dimension(gridOptions);
const Layout3 = Layout2(Splide4, gridOptions, Dimension2);
const Dimension$1 = Dimension(gridOptions);
const Layout$1 = Layout(Splide2, gridOptions, Dimension$1);
const modifier = `${CLASS_ROOT}--grid`;
const originalSlides = [];
function setup() {
options.grid = assign2({}, DEFAULTS2, options.grid || {});
options.grid = assign({}, DEFAULTS, options.grid || {});
}

@@ -447,8 +511,8 @@ function mount() {

function init() {
assign2(gridOptions, options.grid || DEFAULTS2);
assign(gridOptions, options.grid || DEFAULTS);
if (shouldBuild()) {
destroy();
push2(originalSlides, Elements2.slides);
addClass2(Splide4.root, modifier);
append2(Elements2.list, build());
push(originalSlides, Elements.slides);
addClass(Splide2.root, modifier);
append(Elements.list, build());
on(EVENT_REFRESH, layout);

@@ -463,13 +527,13 @@ refresh();

if (isActive()) {
const { slides } = Elements2;
Layout3.destroy();
const { slides } = Elements;
Layout$1.destroy();
originalSlides.forEach((slide) => {
removeClass2(slide, CLASS_SLIDE_COL);
append2(Elements2.list, slide);
removeClass(slide, CLASS_SLIDE_COL);
append(Elements.list, slide);
});
remove2(slides);
removeClass2(Splide4.root, modifier);
empty2(slides);
push2(slides, originalSlides);
empty2(originalSlides);
remove(slides);
removeClass(Splide2.root, modifier);
empty(slides);
push(slides, originalSlides);
empty(originalSlides);
off(EVENT_REFRESH);

@@ -479,7 +543,7 @@ }

function refresh() {
Splide4.refresh();
Splide2.refresh();
}
function layout() {
if (isActive()) {
Layout3.mount();
Layout$1.mount();
}

@@ -492,6 +556,6 @@ }

originalSlides.forEach((slide, index) => {
const [rows, cols] = Dimension2.getAt(index);
const [rows, cols] = Dimension$1.getAt(index);
if (!col) {
if (!row) {
outerSlide = create2(slide.tagName, CLASS_SLIDE);
outerSlide = create(slide.tagName, CLASS_SLIDE);
outerSlides.push(outerSlide);

@@ -511,7 +575,7 @@ }

const tag = slide.tagName.toLowerCase() === "li" ? "ul" : "div";
return create2(tag, CLASS_SLIDE_ROW, outerSlide);
return create(tag, CLASS_SLIDE_ROW, outerSlide);
}
function buildCol(cols, slide, rowSlide) {
addClass2(slide, CLASS_SLIDE_COL);
append2(rowSlide, slide);
addClass(slide, CLASS_SLIDE_COL);
append(rowSlide, slide);
return slide;

@@ -522,3 +586,3 @@ }

const { rows, cols, dimensions } = gridOptions;
return rows > 1 || cols > 1 || isArray2(dimensions) && dimensions.length > 0;
return rows > 1 || cols > 1 || isArray(dimensions) && dimensions.length > 0;
}

@@ -528,3 +592,3 @@ return false;

function isActive() {
return hasClass2(Splide4.root, modifier);
return hasClass(Splide2.root, modifier);
}

@@ -537,9 +601,3 @@ return {

}
/*!
* Splide.js
* Version : 3.6.11
* License : MIT
* Copyright: 2022 Naotoshi Fujita
*/
export { Grid };
/*!
* @splidejs/splide-extension-grid
* Version : 0.3.20
* Version : 0.4.0
* License : MIT

@@ -12,39 +12,72 @@ * Copyright: 2022 Naotoshi Fujita

var PROJECT_CODE = "splide";
function empty$1(array) {
array.length = 0;
}
function isArray(subject) {
return Array.isArray(subject);
function slice$1(arrayLike, start, end) {
return Array.prototype.slice.call(arrayLike, start, end);
}
function toArray(value) {
return isArray(value) ? value : [value];
function apply$1(func) {
return func.bind.apply(func, [null].concat(slice$1(arguments, 1)));
}
function forEach(values, iteratee) {
toArray(values).forEach(iteratee);
function typeOf$1(type, subject) {
return typeof subject === type;
}
var EVENT_VISIBLE = "visible";
var EVENT_HIDDEN = "hidden";
var EVENT_REFRESH = "refresh";
var EVENT_UPDATED = "updated";
var EVENT_DESTROY = "destroy";
var isArray$1 = Array.isArray;
apply$1(typeOf$1, "function");
apply$1(typeOf$1, "string");
apply$1(typeOf$1, "undefined");
function EventInterface(Splide22) {
var event = Splide22.event;
var key = {};
var listeners = [];
function toArray$1(value) {
return isArray$1(value) ? value : [value];
}
function on(events, callback, priority) {
event.on(events, callback, key, priority);
}
function forEach$1(values, iteratee) {
toArray$1(values).forEach(iteratee);
}
function off(events) {
event.off(events, key);
var ownKeys$1 = Object.keys;
function forOwn$1(object, iteratee, right) {
if (object) {
var keys = ownKeys$1(object);
keys = right ? keys.reverse() : keys;
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
if (key !== "__proto__") {
if (iteratee(object[key], key) === false) {
break;
}
}
}
}
return object;
}
function assign$1(object) {
slice$1(arguments, 1).forEach(function (source) {
forOwn$1(source, function (value, key) {
object[key] = source[key];
});
});
return object;
}
var PROJECT_CODE$1 = "splide";
function EventBinder() {
var listeners = [];
function bind(targets, events, callback, options) {
forEachEvent(targets, events, function (target, event2) {
listeners.push([target, event2, callback, options]);
target.addEventListener(event2, callback, options);
forEachEvent(targets, events, function (target, event, namespace) {
var isEventTarget = ("addEventListener" in target);
var remover = isEventTarget ? target.removeEventListener.bind(target, event, callback, options) : target["removeListener"].bind(target, callback);
isEventTarget ? target.addEventListener(event, callback, options) : target["addListener"](callback);
listeners.push([target, event, namespace, callback, remover]);
});

@@ -54,6 +87,6 @@ }

function unbind(targets, events, callback) {
forEachEvent(targets, events, function (target, event2) {
forEachEvent(targets, events, function (target, event, namespace) {
listeners = listeners.filter(function (listener) {
if (listener[0] === target && listener[1] === event2 && (!callback || listener[2] === callback)) {
target.removeEventListener(event2, listener[2], listener[3]);
if (listener[0] === target && listener[1] === event && listener[2] === namespace && (!callback || listener[3] === callback)) {
listener[4]();
return false;

@@ -67,7 +100,28 @@ }

function dispatch(target, type, detail) {
var e;
var bubbles = true;
if (typeof CustomEvent === "function") {
e = new CustomEvent(type, {
bubbles: bubbles,
detail: detail
});
} else {
e = document.createEvent("CustomEvent");
e.initCustomEvent(type, bubbles, false, detail);
}
target.dispatchEvent(e);
return e;
}
function forEachEvent(targets, events, iteratee) {
forEach(targets, function (target) {
if (target) {
events.split(" ").forEach(iteratee.bind(null, target));
}
forEach$1(targets, function (target) {
target && forEach$1(events, function (events2) {
events2.split(" ").forEach(function (eventNS) {
var fragment = eventNS.split(".");
iteratee(target, fragment[0], fragment[1]);
});
});
});

@@ -77,15 +131,12 @@ }

function destroy() {
listeners = listeners.filter(function (data) {
return unbind(data[0], data[1]);
listeners.forEach(function (data) {
data[4]();
});
event.offBy(key);
empty$1(listeners);
}
event.on(EVENT_DESTROY, destroy, key);
return {
on: on,
off: off,
emit: event.emit,
bind: bind,
unbind: unbind,
dispatch: dispatch,
destroy: destroy

@@ -95,56 +146,87 @@ };

var CLASS_ROOT = PROJECT_CODE;
var CLASS_SLIDE = PROJECT_CODE + "__slide";
var EVENT_VISIBLE = "visible";
var EVENT_HIDDEN = "hidden";
var EVENT_REFRESH = "refresh";
var EVENT_UPDATED = "updated";
var EVENT_DESTROY = "destroy";
function EventInterface(Splide2) {
var bus = Splide2 ? Splide2.event.bus : document.createDocumentFragment();
var binder = EventBinder();
function on(events, callback) {
binder.bind(bus, toArray$1(events).join(" "), function (e) {
callback.apply(callback, isArray$1(e.detail) ? e.detail : []);
});
}
function emit(event) {
binder.dispatch(bus, event, slice$1(arguments, 1));
}
if (Splide2) {
Splide2.event.on(EVENT_DESTROY, binder.destroy);
}
return assign$1(binder, {
bus: bus,
on: on,
off: apply$1(binder.unbind, bus),
emit: emit
});
}
var CLASS_ROOT = PROJECT_CODE$1;
var CLASS_SLIDE = PROJECT_CODE$1 + "__slide";
var CLASS_CONTAINER = CLASS_SLIDE + "__container";
function empty2(array) {
function empty(array) {
array.length = 0;
}
function isObject2(subject) {
return !isNull2(subject) && typeof subject === "object";
function slice(arrayLike, start, end) {
return Array.prototype.slice.call(arrayLike, start, end);
}
function isArray2(subject) {
return Array.isArray(subject);
function apply(func) {
return func.bind.apply(func, [null].concat(slice(arguments, 1)));
}
function isString2(subject) {
return typeof subject === "string";
function typeOf(type, subject) {
return typeof subject === type;
}
function isUndefined2(subject) {
return typeof subject === "undefined";
function isObject(subject) {
return !isNull(subject) && typeOf("object", subject);
}
function isNull2(subject) {
var isArray = Array.isArray;
apply(typeOf, "function");
var isString = apply(typeOf, "string");
var isUndefined = apply(typeOf, "undefined");
function isNull(subject) {
return subject === null;
}
function isHTMLElement2(subject) {
function isHTMLElement(subject) {
return subject instanceof HTMLElement;
}
function toArray2(value) {
return isArray2(value) ? value : [value];
function toArray(value) {
return isArray(value) ? value : [value];
}
function forEach2(values, iteratee) {
toArray2(values).forEach(iteratee);
function forEach(values, iteratee) {
toArray(values).forEach(iteratee);
}
function push2(array, items) {
array.push.apply(array, toArray2(items));
function push(array, items) {
array.push.apply(array, toArray(items));
return array;
}
var arrayProto2 = Array.prototype;
function slice2(arrayLike, start, end) {
return arrayProto2.slice.call(arrayLike, start, end);
}
function toggleClass2(elm, classes, add) {
function toggleClass(elm, classes, add) {
if (elm) {
forEach2(classes, function (name) {
forEach(classes, function (name) {
if (name) {

@@ -157,27 +239,30 @@ elm.classList[add ? "add" : "remove"](name);

function addClass2(elm, classes) {
toggleClass2(elm, isString2(classes) ? classes.split(" ") : classes, true);
function addClass(elm, classes) {
toggleClass(elm, isString(classes) ? classes.split(" ") : classes, true);
}
function append2(parent, children3) {
forEach2(children3, parent.appendChild.bind(parent));
function append(parent, children) {
forEach(children, parent.appendChild.bind(parent));
}
function matches2(elm, selector) {
return isHTMLElement2(elm) && (elm["msMatchesSelector"] || elm.matches).call(elm, selector);
function matches(elm, selector) {
return isHTMLElement(elm) && (elm["msMatchesSelector"] || elm.matches).call(elm, selector);
}
function children2(parent, selector) {
return parent ? slice2(parent.children).filter(function (child3) {
return matches2(child3, selector);
}) : [];
function children(parent, selector) {
var children2 = parent ? slice(parent.children) : [];
return selector ? children2.filter(function (child) {
return matches(child, selector);
}) : children2;
}
function child2(parent, selector) {
return selector ? children2(parent, selector)[0] : parent.firstElementChild;
function child(parent, selector) {
return selector ? children(parent, selector)[0] : parent.firstElementChild;
}
function forOwn2(object, iteratee, right) {
var ownKeys = Object.keys;
function forOwn(object, iteratee, right) {
if (object) {
var keys = Object.keys(object);
var keys = ownKeys(object);
keys = right ? keys.reverse() : keys;

@@ -199,5 +284,5 @@

function assign2(object) {
slice2(arguments, 1).forEach(function (source) {
forOwn2(source, function (value, key) {
function assign(object) {
slice(arguments, 1).forEach(function (source) {
forOwn(source, function (value, key) {
object[key] = source[key];

@@ -209,52 +294,49 @@ });

function removeAttribute2(elm, attrs) {
if (elm) {
forEach2(attrs, function (attr) {
elm.removeAttribute(attr);
function removeAttribute(elms, attrs) {
forEach(elms, function (elm) {
forEach(attrs, function (attr) {
elm && elm.removeAttribute(attr);
});
}
});
}
function setAttribute2(elm, attrs, value) {
if (isObject2(attrs)) {
forOwn2(attrs, function (value2, name) {
setAttribute2(elm, name, value2);
function setAttribute(elms, attrs, value) {
if (isObject(attrs)) {
forOwn(attrs, function (value2, name) {
setAttribute(elms, name, value2);
});
} else {
isNull2(value) ? removeAttribute2(elm, attrs) : elm.setAttribute(attrs, String(value));
forEach(elms, function (elm) {
isNull(value) || value === "" ? removeAttribute(elm, attrs) : elm.setAttribute(attrs, String(value));
});
}
}
function create2(tag, attrs, parent) {
function create(tag, attrs, parent) {
var elm = document.createElement(tag);
if (attrs) {
isString2(attrs) ? addClass2(elm, attrs) : setAttribute2(elm, attrs);
isString(attrs) ? addClass(elm, attrs) : setAttribute(elm, attrs);
}
parent && append2(parent, elm);
parent && append(parent, elm);
return elm;
}
function style2(elm, prop, value) {
if (isUndefined2(value)) {
function style(elm, prop, value) {
if (isUndefined(value)) {
return getComputedStyle(elm)[prop];
}
if (!isNull2(value)) {
var style3 = elm.style;
value = "" + value;
if (style3[prop] !== value) {
style3[prop] = value;
}
if (!isNull(value)) {
elm.style[prop] = "" + value;
}
}
function hasClass2(elm, className) {
function hasClass(elm, className) {
return elm && elm.classList.contains(className);
}
function remove2(nodes) {
forEach2(nodes, function (node) {
function remove(nodes) {
forEach(nodes, function (node) {
if (node && node.parentNode) {

@@ -266,33 +348,29 @@ node.parentNode.removeChild(node);

function queryAll2(parent, selector) {
return slice2(parent.querySelectorAll(selector));
function queryAll(parent, selector) {
return selector ? slice(parent.querySelectorAll(selector)) : [];
}
function removeClass2(elm, classes) {
toggleClass2(elm, classes, false);
function removeClass(elm, classes) {
toggleClass(elm, classes, false);
}
function unit2(value) {
return isString2(value) ? value : value ? value + "px" : "";
function unit(value) {
return isString(value) ? value : value ? value + "px" : "";
}
var PROJECT_CODE2 = "splide";
var PROJECT_CODE = "splide";
function assert2(condition, message) {
if (message === void 0) {
message = "";
}
function assert(condition, message) {
if (!condition) {
throw new Error("[" + PROJECT_CODE2 + "] " + message);
throw new Error("[" + PROJECT_CODE + "] " + (message || ""));
}
}
var min2 = Math.min,
max2 = Math.max,
floor2 = Math.floor,
ceil2 = Math.ceil,
abs2 = Math.abs;
var min = Math.min,
max = Math.max,
floor = Math.floor,
ceil = Math.ceil,
abs = Math.abs;
function pad2(number) {
function pad(number) {
return number < 10 ? "0" + number : "" + number;

@@ -303,3 +381,3 @@ }

var CLASS_SLIDE_COL = CLASS_SLIDE + "--col";
var DEFAULTS2 = {
var DEFAULTS = {
rows: 1,

@@ -316,3 +394,3 @@ cols: 1,

dimensions = options.dimensions;
return isArray2(dimensions) && dimensions.length ? dimensions : [[rows, cols]];
return isArray(dimensions) && dimensions.length ? dimensions : [[rows, cols]];
}

@@ -322,3 +400,3 @@

var dimensions = normalize();
return dimensions[min2(index, dimensions.length - 1)];
return dimensions[min(index, dimensions.length - 1)];
}

@@ -343,3 +421,3 @@

assert2(rows && cols, "Invalid dimension");
assert(rows && cols, "Invalid dimension");
return [rows, cols];

@@ -354,11 +432,11 @@ }

function Layout2(Splide4, gridOptions, Dimension2) {
var _EventInterface = EventInterface(Splide4),
function Layout(Splide2, gridOptions, Dimension) {
var _EventInterface = EventInterface(Splide2),
on = _EventInterface.on,
destroyEvent = _EventInterface.destroy;
var Components2 = Splide4.Components,
options = Splide4.options;
var resolve = Components2.Direction.resolve;
var forEach3 = Components2.Slides.forEach;
var Components = Splide2.Components,
options = Splide2.options;
var resolve = Components.Direction.resolve;
var forEach = Components.Slides.forEach;

@@ -375,11 +453,11 @@ function mount() {

function destroy() {
forEach3(function (Slide2) {
var slide = Slide2.slide;
forEach(function (Slide) {
var slide = Slide.slide;
toggleTabIndex(slide, false);
getRowsIn(slide).forEach(function (cell) {
removeAttribute2(cell, "style");
removeAttribute(cell, "style");
});
getColsIn(slide).forEach(function (colSlide) {
cover(colSlide, true);
removeAttribute2(colSlide, "style");
removeAttribute(colSlide, "style");
});

@@ -391,15 +469,15 @@ });

function layout() {
forEach3(function (Slide2) {
var slide = Slide2.slide;
forEach(function (Slide) {
var slide = Slide.slide;
var _Dimension2$get = Dimension2.get(Slide2.isClone ? Slide2.slideIndex : Slide2.index),
rows = _Dimension2$get[0],
cols = _Dimension2$get[1];
var _Dimension$get = Dimension.get(Slide.isClone ? Slide.slideIndex : Slide.index),
rows = _Dimension$get[0],
cols = _Dimension$get[1];
layoutRow(rows, slide);
layoutCol(cols, slide);
getColsIn(Slide2.slide).forEach(function (colSlide, index) {
colSlide.id = Slide2.slide.id + "-col" + pad2(index + 1);
getColsIn(Slide.slide).forEach(function (colSlide, index) {
colSlide.id = Slide.slide.id + "-col" + pad(index + 1);
if (Splide4.options.cover) {
if (Splide2.options.cover) {
cover(colSlide);

@@ -413,11 +491,11 @@ }

var rowGap = gridOptions.gap.row;
var height = "calc(" + 100 / rows + "%" + (rowGap ? " - " + unit2(rowGap) + " * " + (rows - 1) / rows : "") + ")";
var height = "calc(" + 100 / rows + "%" + (rowGap ? " - " + unit(rowGap) + " * " + (rows - 1) / rows : "") + ")";
getRowsIn(slide).forEach(function (rowElm, index, rowElms) {
style2(rowElm, "height", height);
style2(rowElm, "display", "flex");
style2(rowElm, "margin", "0 0 " + unit2(rowGap) + " 0");
style2(rowElm, "padding", 0);
style(rowElm, "height", height);
style(rowElm, "display", "flex");
style(rowElm, "margin", "0 0 " + unit(rowGap) + " 0");
style(rowElm, "padding", 0);
if (index === rowElms.length - 1) {
style2(rowElm, "marginBottom", 0);
style(rowElm, "marginBottom", 0);
}

@@ -429,8 +507,8 @@ });

var colGap = gridOptions.gap.col;
var width = "calc(" + 100 / cols + "%" + (colGap ? " - " + unit2(colGap) + " * " + (cols - 1) / cols : "") + ")";
var width = "calc(" + 100 / cols + "%" + (colGap ? " - " + unit(colGap) + " * " + (cols - 1) / cols : "") + ")";
getColsIn(slide).forEach(function (colElm, index, colElms) {
style2(colElm, "width", width);
style(colElm, "width", width);
if (index !== colElms.length - 1) {
style2(colElm, resolve("marginRight"), unit2(colGap));
style(colElm, resolve("marginRight"), unit(colGap));
}

@@ -441,8 +519,8 @@ });

function cover(colSlide, uncover) {
var container = child2(colSlide, "." + CLASS_CONTAINER);
var img = child2(container || colSlide, "img");
var container = child(colSlide, "." + CLASS_CONTAINER);
var img = child(container || colSlide, "img");
if (img && img.src) {
style2(container || colSlide, "background", uncover ? "" : "center/cover no-repeat url(\"" + img.src + "\")");
style2(img, "display", uncover ? "" : "none");
style(container || colSlide, "background", uncover ? "" : "center/cover no-repeat url(\"" + img.src + "\")");
style(img, "display", uncover ? "" : "none");
}

@@ -452,7 +530,7 @@ }

function getRowsIn(slide) {
return queryAll2(slide, "." + CLASS_SLIDE_ROW);
return queryAll(slide, "." + CLASS_SLIDE_ROW);
}
function getColsIn(slide) {
return queryAll2(slide, "." + CLASS_SLIDE_COL);
return queryAll(slide, "." + CLASS_SLIDE_COL);
}

@@ -462,12 +540,12 @@

getColsIn(slide).forEach(function (colSlide) {
setAttribute2(colSlide, "tabindex", add ? 0 : null);
setAttribute(colSlide, "tabindex", add ? 0 : null);
});
}
function onVisible(Slide2) {
toggleTabIndex(Slide2.slide, true);
function onVisible(Slide) {
toggleTabIndex(Slide.slide, true);
}
function onHidden(Slide2) {
toggleTabIndex(Slide2.slide, false);
function onHidden(Slide) {
toggleTabIndex(Slide.slide, false);
}

@@ -481,11 +559,11 @@

function Grid(Splide4, Components2, options) {
var _EventInterface2 = EventInterface(Splide4),
function Grid(Splide2, Components2, options) {
var _EventInterface2 = EventInterface(Splide2),
on = _EventInterface2.on,
off = _EventInterface2.off;
var Elements2 = Components2.Elements;
var Elements = Components2.Elements;
var gridOptions = {};
var Dimension2 = Dimension(gridOptions);
var Layout3 = Layout2(Splide4, gridOptions, Dimension2);
var Dimension$1 = Dimension(gridOptions);
var Layout$1 = Layout(Splide2, gridOptions, Dimension$1);
var modifier = CLASS_ROOT + "--grid";

@@ -495,3 +573,3 @@ var originalSlides = [];

function setup() {
options.grid = assign2({}, DEFAULTS2, options.grid || {});
options.grid = assign({}, DEFAULTS, options.grid || {});
}

@@ -505,9 +583,9 @@

function init() {
assign2(gridOptions, options.grid || DEFAULTS2);
assign(gridOptions, options.grid || DEFAULTS);
if (shouldBuild()) {
destroy();
push2(originalSlides, Elements2.slides);
addClass2(Splide4.root, modifier);
append2(Elements2.list, build());
push(originalSlides, Elements.slides);
addClass(Splide2.root, modifier);
append(Elements.list, build());
on(EVENT_REFRESH, layout);

@@ -523,13 +601,13 @@ refresh();

if (isActive()) {
var slides = Elements2.slides;
Layout3.destroy();
var slides = Elements.slides;
Layout$1.destroy();
originalSlides.forEach(function (slide) {
removeClass2(slide, CLASS_SLIDE_COL);
append2(Elements2.list, slide);
removeClass(slide, CLASS_SLIDE_COL);
append(Elements.list, slide);
});
remove2(slides);
removeClass2(Splide4.root, modifier);
empty2(slides);
push2(slides, originalSlides);
empty2(originalSlides);
remove(slides);
removeClass(Splide2.root, modifier);
empty(slides);
push(slides, originalSlides);
empty(originalSlides);
off(EVENT_REFRESH);

@@ -540,3 +618,3 @@ }

function refresh() {
Splide4.refresh();
Splide2.refresh();
}

@@ -546,3 +624,3 @@

if (isActive()) {
Layout3.mount();
Layout$1.mount();
}

@@ -557,9 +635,9 @@ }

originalSlides.forEach(function (slide, index) {
var _Dimension2$getAt = Dimension2.getAt(index),
rows = _Dimension2$getAt[0],
cols = _Dimension2$getAt[1];
var _Dimension$1$getAt = Dimension$1.getAt(index),
rows = _Dimension$1$getAt[0],
cols = _Dimension$1$getAt[1];
if (!col) {
if (!row) {
outerSlide = create2(slide.tagName, CLASS_SLIDE);
outerSlide = create(slide.tagName, CLASS_SLIDE);
outerSlides.push(outerSlide);

@@ -583,8 +661,8 @@ }

var tag = slide.tagName.toLowerCase() === "li" ? "ul" : "div";
return create2(tag, CLASS_SLIDE_ROW, outerSlide);
return create(tag, CLASS_SLIDE_ROW, outerSlide);
}
function buildCol(cols, slide, rowSlide) {
addClass2(slide, CLASS_SLIDE_COL);
append2(rowSlide, slide);
addClass(slide, CLASS_SLIDE_COL);
append(rowSlide, slide);
return slide;

@@ -598,3 +676,3 @@ }

dimensions = gridOptions.dimensions;
return rows > 1 || cols > 1 || isArray2(dimensions) && dimensions.length > 0;
return rows > 1 || cols > 1 || isArray(dimensions) && dimensions.length > 0;
}

@@ -606,3 +684,3 @@

function isActive() {
return hasClass2(Splide4.root, modifier);
return hasClass(Splide2.root, modifier);
}

@@ -622,9 +700,2 @@

}
/*!
* Splide.js
* Version : 3.6.11
* License : MIT
* Copyright: 2022 Naotoshi Fujita
*/
});
/*!
* @splidejs/splide-extension-grid
* Version : 0.3.20
* Version : 0.4.0
* License : MIT
* Copyright: 2022 Naotoshi Fujita
*/(function(b){typeof define=="function"&&define.amd?define(b):b()})(function(){"use strict";var b="splide";function un(n){return Array.isArray(n)}function cn(n){return un(n)?n:[n]}function an(n,t){cn(n).forEach(t)}var sn="visible",dn="hidden",J="refresh",ln="updated",vn="destroy";function $(n){var t=n.event,r={},i=[];function a(u,h,g){t.on(u,h,r,g)}function l(u){t.off(u,r)}function d(u,h,g,y){w(u,h,function(A,E){i.push([A,E,g,y]),A.addEventListener(E,g,y)})}function v(u,h,g){w(u,h,function(y,A){i=i.filter(function(E){return E[0]===y&&E[1]===A&&(!g||E[2]===g)?(y.removeEventListener(A,E[2],E[3]),!1):!0})})}function w(u,h,g){an(u,function(y){y&&h.split(" ").forEach(g.bind(null,y))})}function m(){i=i.filter(function(u){return v(u[0],u[1])}),t.offBy(r)}return t.on(vn,m,r),{on:a,off:l,emit:t.emit,bind:d,unbind:v,destroy:m}}var hn=b,T=b+"__slide",En=T+"__container";function z(n){n.length=0}function gn(n){return!M(n)&&typeof n=="object"}function x(n){return Array.isArray(n)}function S(n){return typeof n=="string"}function mn(n){return typeof n=="undefined"}function M(n){return n===null}function yn(n){return n instanceof HTMLElement}function W(n){return x(n)?n:[n]}function N(n,t){W(n).forEach(t)}function Y(n,t){return n.push.apply(n,W(t)),n}var pn=Array.prototype;function V(n,t,r){return pn.slice.call(n,t,r)}function K(n,t,r){n&&N(t,function(i){i&&n.classList[r?"add":"remove"](i)})}function H(n,t){K(n,S(t)?t.split(" "):t,!0)}function O(n,t){N(t,n.appendChild.bind(n))}function wn(n,t){return yn(n)&&(n.msMatchesSelector||n.matches).call(n,t)}function An(n,t){return n?V(n.children).filter(function(r){return wn(r,t)}):[]}function Q(n,t){return t?An(n,t)[0]:n.firstElementChild}function X(n,t,r){if(n){var i=Object.keys(n);i=r?i.reverse():i;for(var a=0;a<i.length;a++){var l=i[a];if(l!=="__proto__"&&t(n[l],l)===!1)break}}return n}function Z(n){return V(arguments,1).forEach(function(t){X(t,function(r,i){n[i]=t[i]})}),n}function B(n,t){n&&N(t,function(r){n.removeAttribute(r)})}function G(n,t,r){gn(t)?X(t,function(i,a){G(n,a,i)}):M(r)?B(n,t):n.setAttribute(t,String(r))}function j(n,t,r){var i=document.createElement(n);return t&&(S(t)?H(i,t):G(i,t)),r&&O(r,i),i}function _(n,t,r){if(mn(r))return getComputedStyle(n)[t];if(!M(r)){var i=n.style;r=""+r,i[t]!==r&&(i[t]=r)}}function _n(n,t){return n&&n.classList.contains(t)}function Cn(n){N(n,function(t){t&&t.parentNode&&t.parentNode.removeChild(t)})}function k(n,t){return V(n.querySelectorAll(t))}function nn(n,t){K(n,t,!1)}function R(n){return S(n)?n:n?n+"px":""}var Ln="splide";function bn(n,t){if(t===void 0&&(t=""),!n)throw new Error("["+Ln+"] "+t)}var Dn=Math.min,xn=Math.max,Sn=Math.floor,Mn=Math.ceil,Vn=Math.abs;function In(n){return n<10?"0"+n:""+n}var tn=T+"__row",P=T+"--col",rn={rows:1,cols:1,dimensions:[],gap:{}};function Tn(n){function t(){var a=n.rows,l=n.cols,d=n.dimensions;return x(d)&&d.length?d:[[a,l]]}function r(a){var l=t();return l[Dn(a,l.length-1)]}function i(a){for(var l=t(),d,v,w=0,m=0;m<l.length;m++){var u=l[m];if(d=u[0]||1,v=u[1]||1,w+=d*v,a<w)break}return bn(d&&v,"Invalid dimension"),[d,v]}return{get:r,getAt:i}}function Nn(n,t,r){var i=$(n),a=i.on,l=i.destroy,d=n.Components,v=n.options,w=d.Direction.resolve,m=d.Slides.forEach;function u(){g(),v.slideFocus&&(a(sn,F),a(dn,U))}function h(){m(function(o){var s=o.slide;I(s,!1),D(s).forEach(function(e){B(e,"style")}),L(s).forEach(function(e){E(e,!0),B(e,"style")})}),l()}function g(){m(function(o){var s=o.slide,e=r.get(o.isClone?o.slideIndex:o.index),f=e[0],c=e[1];y(f,s),A(c,s),L(o.slide).forEach(function(p,C){p.id=o.slide.id+"-col"+In(C+1),n.options.cover&&E(p)})})}function y(o,s){var e=t.gap.row,f="calc("+100/o+"%"+(e?" - "+R(e)+" * "+(o-1)/o:"")+")";D(s).forEach(function(c,p,C){_(c,"height",f),_(c,"display","flex"),_(c,"margin","0 0 "+R(e)+" 0"),_(c,"padding",0),p===C.length-1&&_(c,"marginBottom",0)})}function A(o,s){var e=t.gap.col,f="calc("+100/o+"%"+(e?" - "+R(e)+" * "+(o-1)/o:"")+")";L(s).forEach(function(c,p,C){_(c,"width",f),p!==C.length-1&&_(c,w("marginRight"),R(e))})}function E(o,s){var e=Q(o,"."+En),f=Q(e||o,"img");f&&f.src&&(_(e||o,"background",s?"":'center/cover no-repeat url("'+f.src+'")'),_(f,"display",s?"":"none"))}function D(o){return k(o,"."+tn)}function L(o){return k(o,"."+P)}function I(o,s){L(o).forEach(function(e){G(e,"tabindex",s?0:null)})}function F(o){I(o.slide,!0)}function U(o){I(o.slide,!1)}return{mount:u,destroy:h}}function On(n,t,r){var i=$(n),a=i.on,l=i.off,d=t.Elements,v={},w=Tn(v),m=Nn(n,v,w),u=hn+"--grid",h=[];function g(){r.grid=Z({},rn,r.grid||{})}function y(){A(),a(ln,A)}function A(){Z(v,r.grid||rn),o()?(E(),Y(h,d.slides),H(n.root,u),O(d.list,I()),a(J,L),D()):s()&&(E(),D())}function E(){if(s()){var e=d.slides;m.destroy(),h.forEach(function(f){nn(f,P),O(d.list,f)}),Cn(e),nn(n.root,u),z(e),Y(e,h),z(h),l(J)}}function D(){n.refresh()}function L(){s()&&m.mount()}function I(){var e=[],f=0,c=0,p,C;return h.forEach(function(q,Rn){var on=w.getAt(Rn),en=on[0],fn=on[1];c||(f||(p=j(q.tagName,T),e.push(p)),C=F(en,q,p)),U(fn,q,C),++c>=fn&&(c=0,f=++f>=en?0:f)}),e}function F(e,f,c){var p=f.tagName.toLowerCase()==="li"?"ul":"div";return j(p,tn,c)}function U(e,f,c){return H(f,P),O(c,f),f}function o(){if(r.grid){var e=v.rows,f=v.cols,c=v.dimensions;return e>1||f>1||x(c)&&c.length>0}return!1}function s(){return _n(n.root,u)}return{setup:g,mount:y,destroy:E}}typeof window!="undefined"&&(window.splide=window.splide||{},window.splide.Extensions=window.splide.Extensions||{},window.splide.Extensions.Grid=On);/*!
* Splide.js
* Version : 3.6.11
* License : MIT
* Copyright: 2022 Naotoshi Fujita
*/});
*/(function(T){typeof define=="function"&&define.amd?define(T):T()})(function(){"use strict";function T(n){n.length=0}function S(n,t,i){return Array.prototype.slice.call(n,t,i)}function $(n){return n.bind.apply(n,[null].concat(S(arguments,1)))}function V(n,t){return typeof t===n}var Y=Array.isArray;$(V,"function"),$(V,"string"),$(V,"undefined");function Q(n){return Y(n)?n:[n]}function X(n,t){Q(n).forEach(t)}var gn=Object.keys;function mn(n,t,i){if(n){var r=gn(n);r=i?r.reverse():r;for(var f=0;f<r.length;f++){var c=r[f];if(c!=="__proto__"&&t(n[c],c)===!1)break}}return n}function pn(n){return S(arguments,1).forEach(function(t){mn(t,function(i,r){n[r]=t[r]})}),n}var Z="splide";function yn(){var n=[];function t(u,s,l,v){f(u,s,function(d,g,m){var C="addEventListener"in d,A=C?d.removeEventListener.bind(d,g,l,v):d.removeListener.bind(d,l);C?d.addEventListener(g,l,v):d.addListener(l),n.push([d,g,m,l,A])})}function i(u,s,l){f(u,s,function(v,d,g){n=n.filter(function(m){return m[0]===v&&m[1]===d&&m[2]===g&&(!l||m[3]===l)?(m[4](),!1):!0})})}function r(u,s,l){var v,d=!0;return typeof CustomEvent=="function"?v=new CustomEvent(s,{bubbles:d,detail:l}):(v=document.createEvent("CustomEvent"),v.initCustomEvent(s,d,!1,l)),u.dispatchEvent(v),v}function f(u,s,l){X(u,function(v){v&&X(s,function(d){d.split(" ").forEach(function(g){var m=g.split(".");l(v,m[0],m[1])})})})}function c(){n.forEach(function(u){u[4]()}),T(n)}return{bind:t,unbind:i,dispatch:r,destroy:c}}var wn="visible",_n="hidden",j="refresh",Cn="updated",An="destroy";function k(n){var t=n?n.event.bus:document.createDocumentFragment(),i=yn();function r(c,u){i.bind(t,Q(c).join(" "),function(s){u.apply(u,Y(s.detail)?s.detail:[])})}function f(c){i.dispatch(t,c,S(arguments,1))}return n&&n.event.on(An,i.destroy),pn(i,{bus:t,on:r,off:$(i.unbind,t),emit:f})}var bn=Z,I=Z+"__slide",Ln=I+"__container";function nn(n){n.length=0}function N(n,t,i){return Array.prototype.slice.call(n,t,i)}function H(n){return n.bind.apply(n,[null].concat(N(arguments,1)))}function R(n,t){return typeof t===n}function Dn(n){return!G(n)&&R("object",n)}var B=Array.isArray;H(R,"function");var F=H(R,"string"),On=H(R,"undefined");function G(n){return n===null}function Tn(n){return n instanceof HTMLElement}function tn(n){return B(n)?n:[n]}function _(n,t){tn(n).forEach(t)}function rn(n,t){return n.push.apply(n,tn(t)),n}function on(n,t,i){n&&_(t,function(r){r&&n.classList[i?"add":"remove"](r)})}function P(n,t){on(n,F(t)?t.split(" "):t,!0)}function x(n,t){_(t,n.appendChild.bind(n))}function $n(n,t){return Tn(n)&&(n.msMatchesSelector||n.matches).call(n,t)}function In(n,t){var i=n?N(n.children):[];return t?i.filter(function(r){return $n(r,t)}):i}function en(n,t){return t?In(n,t)[0]:n.firstElementChild}var Nn=Object.keys;function un(n,t,i){if(n){var r=Nn(n);r=i?r.reverse():r;for(var f=0;f<r.length;f++){var c=r[f];if(c!=="__proto__"&&t(n[c],c)===!1)break}}return n}function fn(n){return N(arguments,1).forEach(function(t){un(t,function(i,r){n[r]=t[r]})}),n}function U(n,t){_(n,function(i){_(t,function(r){i&&i.removeAttribute(r)})})}function q(n,t,i){Dn(t)?un(t,function(r,f){q(n,f,r)}):_(n,function(r){G(i)||i===""?U(r,t):r.setAttribute(t,String(i))})}function an(n,t,i){var r=document.createElement(n);return t&&(F(t)?P(r,t):q(r,t)),i&&x(i,r),r}function y(n,t,i){if(On(i))return getComputedStyle(n)[t];G(i)||(n.style[t]=""+i)}function Rn(n,t){return n&&n.classList.contains(t)}function xn(n){_(n,function(t){t&&t.parentNode&&t.parentNode.removeChild(t)})}function cn(n,t){return t?N(n.querySelectorAll(t)):[]}function sn(n,t){on(n,t,!1)}function M(n){return F(n)?n:n?n+"px":""}var Mn="splide";function Sn(n,t){if(!n)throw new Error("["+Mn+"] "+(t||""))}var Vn=Math.min,Un=Math.max,qn=Math.floor,Jn=Math.ceil,Kn=Math.abs;function Hn(n){return n<10?"0"+n:""+n}var dn=I+"__row",J=I+"--col",vn={rows:1,cols:1,dimensions:[],gap:{}};function Bn(n){function t(){var f=n.rows,c=n.cols,u=n.dimensions;return B(u)&&u.length?u:[[f,c]]}function i(f){var c=t();return c[Vn(f,c.length-1)]}function r(f){for(var c=t(),u,s,l=0,v=0;v<c.length;v++){var d=c[v];if(u=d[0]||1,s=d[1]||1,l+=u*s,f<l)break}return Sn(u&&s,"Invalid dimension"),[u,s]}return{get:i,getAt:r}}function Fn(n,t,i){var r=k(n),f=r.on,c=r.destroy,u=n.Components,s=n.options,l=u.Direction.resolve,v=u.Slides.forEach;function d(){m(),s.slideFocus&&(f(wn,K),f(_n,z))}function g(){v(function(o){var E=o.slide;O(E,!1),D(E).forEach(function(e){U(e,"style")}),L(E).forEach(function(e){b(e,!0),U(e,"style")})}),c()}function m(){v(function(o){var E=o.slide,e=i.get(o.isClone?o.slideIndex:o.index),a=e[0],h=e[1];C(a,E),A(h,E),L(o.slide).forEach(function(p,w){p.id=o.slide.id+"-col"+Hn(w+1),n.options.cover&&b(p)})})}function C(o,E){var e=t.gap.row,a="calc("+100/o+"%"+(e?" - "+M(e)+" * "+(o-1)/o:"")+")";D(E).forEach(function(h,p,w){y(h,"height",a),y(h,"display","flex"),y(h,"margin","0 0 "+M(e)+" 0"),y(h,"padding",0),p===w.length-1&&y(h,"marginBottom",0)})}function A(o,E){var e=t.gap.col,a="calc("+100/o+"%"+(e?" - "+M(e)+" * "+(o-1)/o:"")+")";L(E).forEach(function(h,p,w){y(h,"width",a),p!==w.length-1&&y(h,l("marginRight"),M(e))})}function b(o,E){var e=en(o,"."+Ln),a=en(e||o,"img");a&&a.src&&(y(e||o,"background",E?"":'center/cover no-repeat url("'+a.src+'")'),y(a,"display",E?"":"none"))}function D(o){return cn(o,"."+dn)}function L(o){return cn(o,"."+J)}function O(o,E){L(o).forEach(function(e){q(e,"tabindex",E?0:null)})}function K(o){O(o.slide,!0)}function z(o){O(o.slide,!1)}return{mount:d,destroy:g}}function Gn(n,t,i){var r=k(n),f=r.on,c=r.off,u=t.Elements,s={},l=Bn(s),v=Fn(n,s,l),d=bn+"--grid",g=[];function m(){i.grid=fn({},vn,i.grid||{})}function C(){A(),f(Cn,A)}function A(){fn(s,i.grid||vn),o()?(b(),rn(g,u.slides),P(n.root,d),x(u.list,O()),f(j,L),D()):E()&&(b(),D())}function b(){if(E()){var e=u.slides;v.destroy(),g.forEach(function(a){sn(a,J),x(u.list,a)}),xn(e),sn(n.root,d),nn(e),rn(e,g),nn(g),c(j)}}function D(){n.refresh()}function L(){E()&&v.mount()}function O(){var e=[],a=0,h=0,p,w;return g.forEach(function(W,Pn){var ln=l.getAt(Pn),hn=ln[0],En=ln[1];h||(a||(p=an(W.tagName,I),e.push(p)),w=K(hn,W,p)),z(En,W,w),++h>=En&&(h=0,a=++a>=hn?0:a)}),e}function K(e,a,h){var p=a.tagName.toLowerCase()==="li"?"ul":"div";return an(p,dn,h)}function z(e,a,h){return P(a,J),x(h,a),a}function o(){if(i.grid){var e=s.rows,a=s.cols,h=s.dimensions;return e>1||a>1||B(h)&&h.length>0}return!1}function E(){return Rn(n.root,d)}return{setup:m,mount:C,destroy:b}}typeof window<"u"&&(window.splide=window.splide||{},window.splide.Extensions=window.splide.Extensions||{},window.splide.Extensions.Grid=Gn)});
//# sourceMappingURL=splide-extension-grid.min.js.map
import { GridOptions } from '../../types/options';
/**
* The interface for the Dimension sub component.
* The interface for the Dimension subcomponent.
*

@@ -12,9 +12,9 @@ * @since 0.3.0

/**
* The sub component to calculate dimension at the specific index.
* The subcomponent to calculate dimension at the specific index.
*
* @param options - Initialized grid options.
*
* @return A Dimension sub component.
* @return A Dimension sub-component.
*/
export declare function Dimension(options: GridOptions): DimensionComponent;
//# sourceMappingURL=../../../../src/js/extensions/Grid/Dimension.d.ts.map

@@ -5,3 +5,3 @@ import { Splide } from '@splidejs/splide';

/**
* The interface for the Layout sub component.
* The interface for the Layout subcomponent.
*

@@ -15,3 +15,3 @@ * @since 0.5.0

/**
* The sub components to layout grids.
* The subcomponent to layout grids.
*

@@ -22,7 +22,7 @@ * @since 0.5.0

* @param gridOptions - Initialized grid options.
* @param Dimension - A Dimension sub component.
* @param Dimension - A Dimension subcomponent.
*
* @return A Layout sub component object.
* @return A Layout subcomponent object.
*/
export declare function Layout(Splide: Splide, gridOptions: GridOptions, Dimension: DimensionComponent): LayoutComponent;
//# sourceMappingURL=../../../../src/js/extensions/Grid/Layout.d.ts.map
{
"name": "@splidejs/splide-extension-grid",
"version": "0.3.20",
"version": "0.4.0",
"description": "The extension of Splide for creating grid inside slides.",

@@ -31,21 +31,21 @@ "author": "Naotoshi Fujita",

"devDependencies": {
"@babel/core": "^7.15.5",
"@babel/preset-env": "^7.15.4",
"@rollup/plugin-babel": "^5.3.0",
"@rollup/plugin-node-resolve": "^13.0.4",
"@splidejs/splide": "^3.6.11",
"@types/jest": "^27.0.1",
"@typescript-eslint/eslint-plugin": "^4.31.0",
"@typescript-eslint/parser": "^4.31.0",
"babel-jest": "^27.1.1",
"babel-loader": "^8.2.2",
"chokidar": "^3.5.2",
"esbuild": "^0.12.25",
"eslint": "^7.32.0",
"jest": "^27.1.1",
"rollup": "^2.56.3",
"rollup-plugin-esbuild": "^4.5.0",
"ts-jest": "^27.0.5",
"@babel/core": "^7.17.8",
"@babel/preset-env": "^7.16.11",
"@rollup/plugin-babel": "^5.3.1",
"@rollup/plugin-node-resolve": "^13.1.3",
"@splidejs/splide": "^4.0.0",
"@types/jest": "^27.4.1",
"@typescript-eslint/eslint-plugin": "^5.17.0",
"@typescript-eslint/parser": "^5.17.0",
"babel-jest": "^27.5.1",
"babel-loader": "^8.2.4",
"chokidar": "^3.5.3",
"esbuild": "^0.14.31",
"eslint": "^8.12.0",
"jest": "^27.5.1",
"rollup": "^2.70.1",
"rollup-plugin-esbuild": "4.8.2",
"ts-jest": "^27.1.4",
"tslib": "^2.3.1",
"typescript": "^4.4.2"
"typescript": "^4.6.3"
},

@@ -52,0 +52,0 @@ "scripts": {

@@ -0,0 +0,0 @@ <div align="center">

const rollup = require( 'rollup' ).rollup;
const resolve = require( '@rollup/plugin-node-resolve' ).nodeResolve;
const esbuild = require( 'rollup-plugin-esbuild' );
const esbuild = require( 'rollup-plugin-esbuild' ).default;
const banner = require( './constants/banner' );

@@ -5,0 +5,0 @@ const name = 'splide-extension-grid';

const rollup = require( 'rollup' ).rollup;
const esbuild = require( 'rollup-plugin-esbuild' );
const esbuild = require( 'rollup-plugin-esbuild' ).default;
const babel = require( '@rollup/plugin-babel' );

@@ -4,0 +4,0 @@ const resolve = require( '@rollup/plugin-node-resolve' ).nodeResolve;

@@ -0,0 +0,0 @@ import { Grid } from '../extensions';

@@ -6,3 +6,3 @@ import { isArray, min, assert } from '@splidejs/splide/src/js/utils';

/**
* The interface for the Dimension sub component.
* The interface for the Dimension subcomponent.
*

@@ -17,7 +17,7 @@ * @since 0.3.0

/**
* The sub component to calculate dimension at the specific index.
* The subcomponent to calculate dimension at the specific index.
*
* @param options - Initialized grid options.
*
* @return A Dimension sub component.
* @return A Dimension sub-component.
*/

@@ -24,0 +24,0 @@ export function Dimension( options: GridOptions ): DimensionComponent {

import {
BaseComponent, CLASS_ROOT,
BaseComponent,
CLASS_ROOT,
CLASS_SLIDE,

@@ -16,8 +17,8 @@ Components,

create,
empty,
hasClass,
isArray,
push,
remove,
removeClass,
isArray,
push,
empty,
hasClass,
} from '@splidejs/splide/src/js/utils';

@@ -24,0 +25,0 @@ import { CLASS_SLIDE_COL, CLASS_SLIDE_ROW } from '../../constants/classes';

@@ -9,3 +9,3 @@ import { CLASS_CONTAINER, EVENT_HIDDEN, EVENT_VISIBLE, EventInterface, SlideComponent, Splide } from '@splidejs/splide';

/**
* The interface for the Layout sub component.
* The interface for the Layout subcomponent.
*

@@ -20,3 +20,3 @@ * @since 0.5.0

/**
* The sub components to layout grids.
* The subcomponent to layout grids.
*

@@ -27,5 +27,5 @@ * @since 0.5.0

* @param gridOptions - Initialized grid options.
* @param Dimension - A Dimension sub component.
* @param Dimension - A Dimension subcomponent.
*
* @return A Layout sub component object.
* @return A Layout subcomponent object.
*/

@@ -32,0 +32,0 @@ export function Layout( Splide: Splide, gridOptions: GridOptions, Dimension: DimensionComponent ): LayoutComponent {

export { Grid } from './extensions';

@@ -0,0 +0,0 @@ {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc