فهرست منبع

Add the module declaration.

NaotoshiFujita 3 سال پیش
والد
کامیت
2595cb0c37

+ 1 - 1
dist/js/splide.js

@@ -4,7 +4,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
 
 /*!
  * Splide.js
- * Version  : 3.6.6
+ * Version  : 3.6.5
  * License  : MIT
  * Copyright: 2021 Naotoshi Fujita
  */

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/js/splide.js.map


+ 23 - 26
dist/types/types/components.d.ts

@@ -17,31 +17,28 @@ import { SlidesComponent } from '../components/Slides/Slides';
 import { SyncComponent } from '../components/Sync/Sync';
 import { WheelComponent } from '../components/Wheel/Wheel';
 import { BaseComponent, TransitionComponent } from './general';
-/**
- * The interface for components.
- *
- * @since 3.5.3
- */
-export interface Components {
-    [key: string]: BaseComponent;
-    Options: OptionsComponent;
-    Direction: DirectionComponent;
-    Elements: ElementsComponent;
-    Slides: SlidesComponent;
-    Layout: LayoutComponent;
-    Clones: ClonesComponent;
-    Move: MoveComponent;
-    Controller: ControllerComponent;
-    Arrows: ArrowsComponent;
-    Autoplay: AutoplayComponent;
-    Cover: CoverComponent;
-    Scroll: ScrollComponent;
-    Drag: DragComponent;
-    Keyboard: KeyboardComponent;
-    LazyLoad: LazyLoadComponent;
-    Pagination: PaginationComponent;
-    Sync: SyncComponent;
-    Wheel: WheelComponent;
-    Transition: TransitionComponent;
+declare module '@splidejs/splide' {
+    interface Components {
+        [key: string]: BaseComponent;
+        Options: OptionsComponent;
+        Direction: DirectionComponent;
+        Elements: ElementsComponent;
+        Slides: SlidesComponent;
+        Layout: LayoutComponent;
+        Clones: ClonesComponent;
+        Move: MoveComponent;
+        Controller: ControllerComponent;
+        Arrows: ArrowsComponent;
+        Autoplay: AutoplayComponent;
+        Cover: CoverComponent;
+        Scroll: ScrollComponent;
+        Drag: DragComponent;
+        Keyboard: KeyboardComponent;
+        LazyLoad: LazyLoadComponent;
+        Pagination: PaginationComponent;
+        Sync: SyncComponent;
+        Wheel: WheelComponent;
+        Transition: TransitionComponent;
+    }
 }
 //# sourceMappingURL=../../../src/js/types/components.d.ts.map

+ 1 - 1
dist/types/types/components.d.ts.map

@@ -1 +1 @@
-{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["components.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAG/D;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,CAAE,GAAG,EAAE,MAAM,GAAI,aAAa,CAAC;IAC/B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,SAAS,EAAE,kBAAkB,CAAC;IAC9B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,mBAAmB,CAAC;IAChC,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,eAAe,CAAC;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,UAAU,EAAE,mBAAmB,CAAC;IAChC,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,cAAc,CAAC;IACtB,UAAU,EAAE,mBAAmB,CAAC;CACjC"}
+{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["components.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAG/D,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAiB,UAAU;QACzB,CAAE,GAAG,EAAE,MAAM,GAAI,aAAa,CAAC;QAC/B,OAAO,EAAE,gBAAgB,CAAC;QAC1B,SAAS,EAAE,kBAAkB,CAAC;QAC9B,QAAQ,EAAE,iBAAiB,CAAC;QAC5B,MAAM,EAAE,eAAe,CAAC;QACxB,MAAM,EAAE,eAAe,CAAC;QACxB,MAAM,EAAE,eAAe,CAAC;QACxB,IAAI,EAAE,aAAa,CAAC;QACpB,UAAU,EAAE,mBAAmB,CAAC;QAChC,MAAM,EAAE,eAAe,CAAC;QACxB,QAAQ,EAAE,iBAAiB,CAAC;QAC5B,KAAK,EAAE,cAAc,CAAC;QACtB,MAAM,EAAE,eAAe,CAAC;QACxB,IAAI,EAAE,aAAa,CAAC;QACpB,QAAQ,EAAE,iBAAiB,CAAC;QAC5B,QAAQ,EAAE,iBAAiB,CAAC;QAC5B,UAAU,EAAE,mBAAmB,CAAC;QAChC,IAAI,EAAE,aAAa,CAAC;QACpB,KAAK,EAAE,cAAc,CAAC;QACtB,UAAU,EAAE,mBAAmB,CAAC;KACjC;CACF"}

+ 33 - 32
dist/types/types/events.d.ts

@@ -1,37 +1,38 @@
 import { PaginationData, PaginationItem } from '../components/Pagination/Pagination';
 import { SlideComponent } from '../components/Slides/Slide';
 import { Splide } from '../core/Splide/Splide';
-import { Options } from './options';
-export interface EventMap {
-    'mounted': () => void;
-    'ready': () => void;
-    'click': (Slide: SlideComponent, e: MouseEvent) => void;
-    'move': (index: number, prev: number, dest: number) => void;
-    'moved': (index: number, prev: number, dest: number) => void;
-    'shifted': () => void;
-    'active': (Slide: SlideComponent) => void;
-    'inactive': (Slide: SlideComponent) => void;
-    'visible': (Slide: SlideComponent) => void;
-    'hidden': (Slide: SlideComponent) => void;
-    'slide:keydown': (Slide: SlideComponent, e: KeyboardEvent) => void;
-    'refresh': () => void;
-    'updated': (options: Options) => void;
-    'resize': () => void;
-    'resized': () => void;
-    'drag': () => void;
-    'dragging': () => void;
-    'dragged': () => void;
-    'scroll': () => void;
-    'scrolled': () => void;
-    'destroy': () => void;
-    'arrows:mounted': (prev: HTMLButtonElement, next: HTMLButtonElement) => void;
-    'arrows:updated': (prev: HTMLButtonElement, next: HTMLButtonElement, prevIndex: number, nextIndex: number) => void;
-    'pagination:mounted': (data: PaginationData, item: PaginationItem) => void;
-    'pagination:updated': (data: PaginationData, prev: PaginationItem, curr: PaginationItem) => void;
-    'navigation:mounted': (splides: Splide[]) => void;
-    'autoplay:play': () => void;
-    'autoplay:playing': (rate: number) => void;
-    'autoplay:pause': () => void;
-    'lazyload:loaded': (img: HTMLImageElement, Slide: SlideComponent) => void;
+declare module '@splidejs/splide' {
+    interface EventMap {
+        'mounted': () => void;
+        'ready': () => void;
+        'click': (Slide: SlideComponent, e: MouseEvent) => void;
+        'move': (index: number, prev: number, dest: number) => void;
+        'moved': (index: number, prev: number, dest: number) => void;
+        'shifted': () => void;
+        'active': (Slide: SlideComponent) => void;
+        'inactive': (Slide: SlideComponent) => void;
+        'visible': (Slide: SlideComponent) => void;
+        'hidden': (Slide: SlideComponent) => void;
+        'slide:keydown': (Slide: SlideComponent, e: KeyboardEvent) => void;
+        'refresh': () => void;
+        'updated': (options: Options) => void;
+        'resize': () => void;
+        'resized': () => void;
+        'drag': () => void;
+        'dragging': () => void;
+        'dragged': () => void;
+        'scroll': () => void;
+        'scrolled': () => void;
+        'destroy': () => void;
+        'arrows:mounted': (prev: HTMLButtonElement, next: HTMLButtonElement) => void;
+        'arrows:updated': (prev: HTMLButtonElement, next: HTMLButtonElement, prevIndex: number, nextIndex: number) => void;
+        'pagination:mounted': (data: PaginationData, item: PaginationItem) => void;
+        'pagination:updated': (data: PaginationData, prev: PaginationItem, curr: PaginationItem) => void;
+        'navigation:mounted': (splides: Splide[]) => void;
+        'autoplay:play': () => void;
+        'autoplay:playing': (rate: number) => void;
+        'autoplay:pause': () => void;
+        'lazyload:loaded': (img: HTMLImageElement, Slide: SlideComponent) => void;
+    }
 }
 //# sourceMappingURL=../../../src/js/types/events.d.ts.map

+ 1 - 1
dist/types/types/events.d.ts.map

@@ -1 +1 @@
-{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,CAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,UAAU,KAAM,IAAI,CAAC;IAC1D,MAAM,EAAE,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAM,IAAI,CAAC;IAC9D,OAAO,EAAE,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAM,IAAI,CAAC;IAC/D,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAE,KAAK,EAAE,cAAc,KAAM,IAAI,CAAC;IAC5C,UAAU,EAAE,CAAE,KAAK,EAAE,cAAc,KAAM,IAAI,CAAC;IAC9C,SAAS,EAAE,CAAE,KAAK,EAAE,cAAc,KAAM,IAAI,CAAC;IAC7C,QAAQ,EAAE,CAAE,KAAK,EAAE,cAAc,KAAM,IAAI,CAAC;IAC5C,eAAe,EAAE,CAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,aAAa,KAAM,IAAI,CAAC;IACrE,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,CAAE,OAAO,EAAE,OAAO,KAAM,IAAI,CAAC;IACxC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,gBAAgB,EAAE,CAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,KAAM,IAAI,CAAC;IAC/E,gBAAgB,EAAE,CAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAM,IAAI,CAAC;IACrH,oBAAoB,EAAE,CAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,KAAM,IAAI,CAAC;IAC7E,oBAAoB,EAAE,CAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,KAAM,IAAI,CAAC;IACnG,oBAAoB,EAAE,CAAE,OAAO,EAAE,MAAM,EAAE,KAAM,IAAI,CAAC;IACpD,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,kBAAkB,EAAE,CAAE,IAAI,EAAE,MAAM,KAAM,IAAI,CAAC;IAC7C,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,iBAAiB,EAAE,CAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,cAAc,KAAM,IAAI,CAAC;CAC7E"}
+{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG/C,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAiB,QAAQ;QACvB,SAAS,EAAE,MAAM,IAAI,CAAC;QACtB,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,OAAO,EAAE,CAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,UAAU,KAAM,IAAI,CAAC;QAC1D,MAAM,EAAE,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAM,IAAI,CAAC;QAC9D,OAAO,EAAE,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAM,IAAI,CAAC;QAC/D,SAAS,EAAE,MAAM,IAAI,CAAC;QACtB,QAAQ,EAAE,CAAE,KAAK,EAAE,cAAc,KAAM,IAAI,CAAC;QAC5C,UAAU,EAAE,CAAE,KAAK,EAAE,cAAc,KAAM,IAAI,CAAC;QAC9C,SAAS,EAAE,CAAE,KAAK,EAAE,cAAc,KAAM,IAAI,CAAC;QAC7C,QAAQ,EAAE,CAAE,KAAK,EAAE,cAAc,KAAM,IAAI,CAAC;QAC5C,eAAe,EAAE,CAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,aAAa,KAAM,IAAI,CAAC;QACrE,SAAS,EAAE,MAAM,IAAI,CAAC;QACtB,SAAS,EAAE,CAAE,OAAO,EAAE,OAAO,KAAM,IAAI,CAAC;QACxC,QAAQ,EAAE,MAAM,IAAI,CAAC;QACrB,SAAS,EAAE,MAAM,IAAI,CAAC;QACtB,MAAM,EAAE,MAAM,IAAI,CAAC;QACnB,UAAU,EAAE,MAAM,IAAI,CAAC;QACvB,SAAS,EAAE,MAAM,IAAI,CAAC;QACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;QACrB,UAAU,EAAE,MAAM,IAAI,CAAC;QACvB,SAAS,EAAE,MAAM,IAAI,CAAC;QACtB,gBAAgB,EAAE,CAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,KAAM,IAAI,CAAC;QAC/E,gBAAgB,EAAE,CAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAM,IAAI,CAAC;QACrH,oBAAoB,EAAE,CAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,KAAM,IAAI,CAAC;QAC7E,oBAAoB,EAAE,CAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,KAAM,IAAI,CAAC;QACnG,oBAAoB,EAAE,CAAE,OAAO,EAAE,MAAM,EAAE,KAAM,IAAI,CAAC;QACpD,eAAe,EAAE,MAAM,IAAI,CAAC;QAC5B,kBAAkB,EAAE,CAAE,IAAI,EAAE,MAAM,KAAM,IAAI,CAAC;QAC7C,gBAAgB,EAAE,MAAM,IAAI,CAAC;QAC7B,iBAAiB,EAAE,CAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,cAAc,KAAM,IAAI,CAAC;KAC7E;CACF"}

+ 1 - 2
dist/types/types/general.d.ts

@@ -1,6 +1,5 @@
 import { Splide } from '../core/Splide/Splide';
-import { Components } from './components';
-import { Options } from './options';
+import { Components, Options } from '@splidejs/splide';
 /**
  * The type for any function.
  *

+ 1 - 1
dist/types/types/general.d.ts.map

@@ -1 +1 @@
-{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;;;GAIG;AACH,oBAAY,WAAW,GAAG,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAM,GAAG,CAAC;AAEpD;;;;GAIG;AACH,oBAAY,oBAAoB,GAAG,CAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,KAAM,aAAa,CAAC;AAEjH;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,IAAI,IAAI,CAAC;IACf,KAAK,CAAC,IAAI,IAAI,CAAC;IACf,OAAO,CAAC,CAAE,UAAU,CAAC,EAAE,OAAO,GAAI,IAAI,CAAC;CACxC;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,KAAK,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,GAAI,IAAI,CAAC;IAC/C,MAAM,IAAI,IAAI,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
+{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGvD;;;;GAIG;AACH,oBAAY,WAAW,GAAG,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAM,GAAG,CAAC;AAEpD;;;;GAIG;AACH,oBAAY,oBAAoB,GAAG,CAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,KAAM,aAAa,CAAC;AAEjH;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,IAAI,IAAI,CAAC;IACf,KAAK,CAAC,IAAI,IAAI,CAAC;IACf,OAAO,CAAC,CAAE,UAAU,CAAC,EAAE,OAAO,GAAI,IAAI,CAAC;CACxC;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,KAAK,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,GAAI,IAAI,CAAC;IAC/C,MAAM,IAAI,IAAI,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}

+ 7 - 3
dist/types/types/index.d.ts

@@ -1,5 +1,9 @@
-export * from './components';
-export * from './events';
+export { Components, Options, ResponsiveOptions, EventMap } from '@splidejs/splide';
 export * from './general';
-export * from './options';
+/**
+ * Explicitly declares the module for extensions.
+ *
+ * @since 3.6.7
+ */
+declare module '@splidejs/splide' { }
 //# sourceMappingURL=../../../src/js/types/index.d.ts.map

+ 1 - 1
dist/types/types/index.d.ts.map

@@ -1 +1 @@
-{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpF,cAAc,WAAW,CAAC;AAE1B;;;;GAIG;AACH,OAAO,QAAQ,kBAAkB,CAAC,GAAE"}

+ 305 - 303
dist/types/types/options.d.ts

@@ -1,308 +1,310 @@
-/**
- * The interface for options.
- *
- * @since 3.0.0
- */
-export interface Options extends ResponsiveOptions {
+declare module '@splidejs/splide' {
     /**
-     * The type of the slider.
-     * - 'slide': A slider with the slide transition
-     * - 'loop' : A carousel slider
-     * - 'fade' : A slider with the fade transition. This does not support the perPage option.
-     */
-    type?: string;
-    /**
-     * Determines whether to disable any actions while the slider is transitioning.
-     * Even if `false`, the slider forcibly waits for transition on the loop points.
-     */
-    waitForTransition?: boolean;
-    /**
-     * If `true`, the width of slides are determined by their width.
-     * The `perPage` and `perMove` options should be `1`.
-     */
-    autoWidth?: boolean;
-    /**
-     * If `true`, the height of slides are determined by their height.
-     * The `perPage` and `perMove` options should be `1`.
-     */
-    autoHeight?: boolean;
-    /**
-     * The start index.
-     */
-    start?: number;
-    /**
-     * Changes the arrow SVG path, like 'm7.61 0.807-2.12...'.
-     */
-    arrowPath?: string;
-    /**
-     * Determines whether to activate autoplay or not.
-     * If `paused`, it will not begin when the slider becomes active.
-     * You need to provided play/pause buttons or manually start it by `Autoplay#play()`.
-     */
-    autoplay?: boolean | 'pause';
-    /**
-     * The autoplay interval in milliseconds.
-     */
-    interval?: number;
-    /**
-     * Determines whether to pause autoplay on mouseover.
-     */
-    pauseOnHover?: boolean;
-    /**
-     * Determines whether to pause autoplay when the slider contains the active element (focused element).
-     * This should be `true` for accessibility.
-     */
-    pauseOnFocus?: boolean;
-    /**
-     * Determines whether to reset the autoplay progress when it is requested to start again.
-     */
-    resetProgress?: boolean;
-    /**
-     * Enables lazy loading.
-     * Provide the `src` by the `data-splide-lazy` or the `srcset` by the `data-splide-lazy-srcset`.
-     * You may also provide `src` for the placeholder, but the value must be different with the data.
-     *
-     * - `false`: Disables lazy loading
-     * - `'nearby'`: Starts loading only images around the active slide (page)
-     * - `'sequential'`: Loads images sequentially
-     */
-    lazyLoad?: boolean | 'nearby' | 'sequential';
-    /**
-     * Determine how many pages (not slides) around the active slide should be loaded beforehand.
-     * This only works when the `lazyLoad` option is `'nearby'`.
-     */
-    preloadPages?: number;
-    /**
-     * Determines whether to enable keyboard shortcuts or not.
-     * - `true` or `'global'`: Listens to the `keydown` event of the document.
-     * - 'focused': Listens to the `keydown` event of the slider root element with adding `tabindex="0"` to it.
-     * - `false`: Disables keyboard shortcuts.
-     */
-    keyboard?: boolean | string;
-    /**
-     * Enables navigation by the mouse wheel.
-     * The `waitForTransition` option should be `true`.
-     */
-    wheel?: boolean;
-    /**
-     * Determines whether to release the wheel event when the slider reaches the first or last slide.
-     */
-    releaseWheel?: boolean;
-    /**
-     * The direction of the slider.
-     * - 'ltr': Left to right
-     * - 'rtl': Right to left
-     * - 'ttb': Top to bottom
-     */
-    direction?: 'ltr' | 'rtl' | 'ttb';
-    /**
-     * Converts the image `src` to the css `background-image` URL of the parent element.
-     * This requires `fixedHeight` or `heightRatio` option.
-     */
-    cover?: boolean;
-    /**
-     * Determines whether to add `tabindex="0"` to visible slides or not.
-     */
-    slideFocus?: boolean;
-    /**
-     * If `true`, the slider makes slides clickable to navigate another slider.
-     * Use `Splide#sync()` to sync multiple sliders.
-     */
-    isNavigation?: boolean;
-    /**
-     * Determines whether to trim spaces before/after the slider if the `focus` option is available.
-     * - `true`: Trims spaces. The slider may stay on the same location even when requested to move.
-     * - `'move'`: Trims spaces and focuses to move the slider when requested.
-     */
-    trimSpace?: boolean | 'move';
-    /**
-     * Updates the `is-active` status of slides just before moving the slider.
-     */
-    updateOnMove?: boolean;
-    /**
-     * If `min`, the media query for breakpoints will be `min-width`, or otherwise, `max-width`.
-     */
-    mediaQuery?: 'min' | 'max';
-    /**
-     * The selector to get focusable elements
-     * where `tabindex="-1"` will be assigned when their ascendant slide is hidden.
-     */
-    focusableNodes?: string;
-    /**
-     * The selector for nodes that cannot be dragged.
-     */
-    noDrag?: string;
-    /**
-     * Determines whether to use the Transition component or not.
-     */
-    useScroll?: boolean;
-    /**
-     * Options for specific breakpoints.
-     *
-     * @example
-     * ```ts
-     * {
-     *   1000: {
-     *     perPage: 3,
-     *     gap    : 20
-     *   },
-     *   600: {
-     *     perPage: 1,
-     *     gap    : 5,
-     *   },
-     * }
-     * ```
-     */
-    breakpoints?: Record<string | number, ResponsiveOptions>;
-    /**
-     * The collection of class names.
-     */
-    classes?: Record<string, string>;
-    /**
-     * The collection of i18n strings.
-     */
-    i18n?: Record<string, string>;
-}
-/**
- * The interface for options that can correspond with breakpoints.
- *
- * @since 3.0.0
- */
-export interface ResponsiveOptions {
-    /**
-     * Accepts arbitrary properties for extensions, although it's not ideal typing.
-     */
-    [key: string]: any;
-    /**
-     * Determines whether to rewind the slider or not.
-     */
-    rewind?: boolean;
-    /**
-     * The transition speed in milliseconds.
-     */
-    speed?: number;
-    /**
-     * The transition speed on rewind in milliseconds.
-     */
-    rewindSpeed?: number;
-    /**
-     * Defines the slider max width, accepting the CSS format such as 10em, 80vw.
-     */
-    width?: number | string;
-    /**
-     * Defines the slider height, accepting the CSS format.
-     */
-    height?: number | string;
-    /**
-     * Fixes width of slides, accepting the CSS format.
-     * The slider will ignore the `perPage` option if you provide this value.
-     */
-    fixedWidth?: number | string;
-    /**
-     * Fixes height of slides, accepting the CSS format.
-     * The slider will ignore the `heightRatio` option if you provide this value.
-     */
-    fixedHeight?: number | string;
-    /**
-     * Determines height of slides by the ratio to the slider width.
-     * For example, when the slider width is `1000` and the ratio is `0.5`, the height will be `500`.
-     */
-    heightRatio?: number;
-    /**
-     * Determines the number of slides to display in a page.
-     */
-    perPage?: number;
-    /**
-     * Determines the number of slides to move at once.
-     */
-    perMove?: number;
-    /**
-     * Determine the number of clones on each side of the slider.
-     * In most cases, you don't need to provide this value.
-     */
-    clones?: number;
-    /**
-     * Determines whether to clone status classes for clones or not.
-     */
-    cloneStatus?: boolean;
-    /**
-     * Determines which slide should be active if there are multiple slides in a page.
-     * Numbers and `'center'` are acceptable.
-     */
-    focus?: number | 'center';
-    /**
-     * The gap between slides. The CSS format is acceptable, such as `1em`.
-     */
-    gap?: number | string;
-    /**
-     * Sets padding left/right or top/bottom of the slider.
-     * The CSS format is acceptable, such as `1em`.
+     * The interface for options.
      *
-     * @example
-     * ```ts
-     * // By number
-     * padding: 10,
+     * @since 3.0.0
+     */
+    interface Options extends ResponsiveOptions {
+        /**
+         * The type of the slider.
+         * - 'slide': A slider with the slide transition
+         * - 'loop' : A carousel slider
+         * - 'fade' : A slider with the fade transition. This does not support the perPage option.
+         */
+        type?: string;
+        /**
+         * Determines whether to disable any actions while the slider is transitioning.
+         * Even if `false`, the slider forcibly waits for transition on the loop points.
+         */
+        waitForTransition?: boolean;
+        /**
+         * If `true`, the width of slides are determined by their width.
+         * The `perPage` and `perMove` options should be `1`.
+         */
+        autoWidth?: boolean;
+        /**
+         * If `true`, the height of slides are determined by their height.
+         * The `perPage` and `perMove` options should be `1`.
+         */
+        autoHeight?: boolean;
+        /**
+         * The start index.
+         */
+        start?: number;
+        /**
+         * Changes the arrow SVG path, like 'm7.61 0.807-2.12...'.
+         */
+        arrowPath?: string;
+        /**
+         * Determines whether to activate autoplay or not.
+         * If `paused`, it will not begin when the slider becomes active.
+         * You need to provided play/pause buttons or manually start it by `Autoplay#play()`.
+         */
+        autoplay?: boolean | 'pause';
+        /**
+         * The autoplay interval in milliseconds.
+         */
+        interval?: number;
+        /**
+         * Determines whether to pause autoplay on mouseover.
+         */
+        pauseOnHover?: boolean;
+        /**
+         * Determines whether to pause autoplay when the slider contains the active element (focused element).
+         * This should be `true` for accessibility.
+         */
+        pauseOnFocus?: boolean;
+        /**
+         * Determines whether to reset the autoplay progress when it is requested to start again.
+         */
+        resetProgress?: boolean;
+        /**
+         * Enables lazy loading.
+         * Provide the `src` by the `data-splide-lazy` or the `srcset` by the `data-splide-lazy-srcset`.
+         * You may also provide `src` for the placeholder, but the value must be different with the data.
+         *
+         * - `false`: Disables lazy loading
+         * - `'nearby'`: Starts loading only images around the active slide (page)
+         * - `'sequential'`: Loads images sequentially
+         */
+        lazyLoad?: boolean | 'nearby' | 'sequential';
+        /**
+         * Determine how many pages (not slides) around the active slide should be loaded beforehand.
+         * This only works when the `lazyLoad` option is `'nearby'`.
+         */
+        preloadPages?: number;
+        /**
+         * Determines whether to enable keyboard shortcuts or not.
+         * - `true` or `'global'`: Listens to the `keydown` event of the document.
+         * - 'focused': Listens to the `keydown` event of the slider root element with adding `tabindex="0"` to it.
+         * - `false`: Disables keyboard shortcuts.
+         */
+        keyboard?: boolean | string;
+        /**
+         * Enables navigation by the mouse wheel.
+         * The `waitForTransition` option should be `true`.
+         */
+        wheel?: boolean;
+        /**
+         * Determines whether to release the wheel event when the slider reaches the first or last slide.
+         */
+        releaseWheel?: boolean;
+        /**
+         * The direction of the slider.
+         * - 'ltr': Left to right
+         * - 'rtl': Right to left
+         * - 'ttb': Top to bottom
+         */
+        direction?: 'ltr' | 'rtl' | 'ttb';
+        /**
+         * Converts the image `src` to the css `background-image` URL of the parent element.
+         * This requires `fixedHeight` or `heightRatio` option.
+         */
+        cover?: boolean;
+        /**
+         * Determines whether to add `tabindex="0"` to visible slides or not.
+         */
+        slideFocus?: boolean;
+        /**
+         * If `true`, the slider makes slides clickable to navigate another slider.
+         * Use `Splide#sync()` to sync multiple sliders.
+         */
+        isNavigation?: boolean;
+        /**
+         * Determines whether to trim spaces before/after the slider if the `focus` option is available.
+         * - `true`: Trims spaces. The slider may stay on the same location even when requested to move.
+         * - `'move'`: Trims spaces and focuses to move the slider when requested.
+         */
+        trimSpace?: boolean | 'move';
+        /**
+         * Updates the `is-active` status of slides just before moving the slider.
+         */
+        updateOnMove?: boolean;
+        /**
+         * If `min`, the media query for breakpoints will be `min-width`, or otherwise, `max-width`.
+         */
+        mediaQuery?: 'min' | 'max';
+        /**
+         * The selector to get focusable elements
+         * where `tabindex="-1"` will be assigned when their ascendant slide is hidden.
+         */
+        focusableNodes?: string;
+        /**
+         * The selector for nodes that cannot be dragged.
+         */
+        noDrag?: string;
+        /**
+         * Determines whether to use the Transition component or not.
+         */
+        useScroll?: boolean;
+        /**
+         * Options for specific breakpoints.
+         *
+         * @example
+         * ```ts
+         * {
+         *   1000: {
+         *     perPage: 3,
+         *     gap    : 20
+         *   },
+         *   600: {
+         *     perPage: 1,
+         *     gap    : 5,
+         *   },
+         * }
+         * ```
+         */
+        breakpoints?: Record<string | number, ResponsiveOptions>;
+        /**
+         * The collection of class names.
+         */
+        classes?: Record<string, string>;
+        /**
+         * The collection of i18n strings.
+         */
+        i18n?: Record<string, string>;
+    }
+    /**
+     * The interface for options that can correspond with breakpoints.
      *
-     * // By the CSS format
-     * padding: '1rem',
-     *
-     * // Specifies each value for a horizontal slider
-     * padding: { left: 10, right: 20 },
-     * padding: { left: '1rem', right: '2rem' },
-     *
-     * // Specified each value for a vertical slider
-     * padding: { top: 10, bottom: 20 },
-     * ```
-     */
-    padding?: number | string | {
-        left?: number | string;
-        right?: number | string;
-    } | {
-        top?: number | string;
-        bottom?: number | string;
-    };
-    /**
-     * Determines whether to create/find arrows or not.
-     */
-    arrows?: boolean | 'slider';
-    /**
-     * Determines whether to create pagination (indicator dots) or not.
-     */
-    pagination?: boolean | 'slider';
-    /**
-     * The timing function for the CSS transition. For example, `linear`, ease or `cubic-bezier()`.
-     */
-    easing?: string;
-    /**
-     * The easing function for the drag free mode.
-     * The default function is the `easeOutQuart` interpolation.
-     */
-    easingFunc?: (t: number) => number;
-    /**
-     * Determines whether to allow to drag the slider or not.
-     * If `free`, the slider does not snap to a slide after drag.
-     */
-    drag?: boolean | 'free';
-    /**
-     * The required distance to start moving the slider by the touch action.
-     * If you want to define the threshold for the mouse, provide an object.
-     */
-    dragMinThreshold?: number | {
-        mouse: number;
-        touch: number;
-    };
-    /**
-     * Determine the power of "flick". The larger number this is, the farther the slider runs.
-     * Around 500 is recommended.
-     */
-    flickPower?: number;
-    /**
-     * Limits the number of pages to move by "flick".
-     */
-    flickMaxPages?: number;
-    /**
-     * Destroys the slider.
-     */
-    destroy?: boolean | 'completely';
+     * @since 3.0.0
+     */
+    interface ResponsiveOptions {
+        /**
+         * Accepts arbitrary properties for extensions, although it's not ideal typing.
+         */
+        [key: string]: any;
+        /**
+         * Determines whether to rewind the slider or not.
+         */
+        rewind?: boolean;
+        /**
+         * The transition speed in milliseconds.
+         */
+        speed?: number;
+        /**
+         * The transition speed on rewind in milliseconds.
+         */
+        rewindSpeed?: number;
+        /**
+         * Defines the slider max width, accepting the CSS format such as 10em, 80vw.
+         */
+        width?: number | string;
+        /**
+         * Defines the slider height, accepting the CSS format.
+         */
+        height?: number | string;
+        /**
+         * Fixes width of slides, accepting the CSS format.
+         * The slider will ignore the `perPage` option if you provide this value.
+         */
+        fixedWidth?: number | string;
+        /**
+         * Fixes height of slides, accepting the CSS format.
+         * The slider will ignore the `heightRatio` option if you provide this value.
+         */
+        fixedHeight?: number | string;
+        /**
+         * Determines height of slides by the ratio to the slider width.
+         * For example, when the slider width is `1000` and the ratio is `0.5`, the height will be `500`.
+         */
+        heightRatio?: number;
+        /**
+         * Determines the number of slides to display in a page.
+         */
+        perPage?: number;
+        /**
+         * Determines the number of slides to move at once.
+         */
+        perMove?: number;
+        /**
+         * Determine the number of clones on each side of the slider.
+         * In most cases, you don't need to provide this value.
+         */
+        clones?: number;
+        /**
+         * Determines whether to clone status classes for clones or not.
+         */
+        cloneStatus?: boolean;
+        /**
+         * Determines which slide should be active if there are multiple slides in a page.
+         * Numbers and `'center'` are acceptable.
+         */
+        focus?: number | 'center';
+        /**
+         * The gap between slides. The CSS format is acceptable, such as `1em`.
+         */
+        gap?: number | string;
+        /**
+         * Sets padding left/right or top/bottom of the slider.
+         * The CSS format is acceptable, such as `1em`.
+         *
+         * @example
+         * ```ts
+         * // By number
+         * padding: 10,
+         *
+         * // By the CSS format
+         * padding: '1rem',
+         *
+         * // Specifies each value for a horizontal slider
+         * padding: { left: 10, right: 20 },
+         * padding: { left: '1rem', right: '2rem' },
+         *
+         * // Specified each value for a vertical slider
+         * padding: { top: 10, bottom: 20 },
+         * ```
+         */
+        padding?: number | string | {
+            left?: number | string;
+            right?: number | string;
+        } | {
+            top?: number | string;
+            bottom?: number | string;
+        };
+        /**
+         * Determines whether to create/find arrows or not.
+         */
+        arrows?: boolean | 'slider';
+        /**
+         * Determines whether to create pagination (indicator dots) or not.
+         */
+        pagination?: boolean | 'slider';
+        /**
+         * The timing function for the CSS transition. For example, `linear`, ease or `cubic-bezier()`.
+         */
+        easing?: string;
+        /**
+         * The easing function for the drag free mode.
+         * The default function is the `easeOutQuart` interpolation.
+         */
+        easingFunc?: (t: number) => number;
+        /**
+         * Determines whether to allow to drag the slider or not.
+         * If `free`, the slider does not snap to a slide after drag.
+         */
+        drag?: boolean | 'free';
+        /**
+         * The required distance to start moving the slider by the touch action.
+         * If you want to define the threshold for the mouse, provide an object.
+         */
+        dragMinThreshold?: number | {
+            mouse: number;
+            touch: number;
+        };
+        /**
+         * Determine the power of "flick". The larger number this is, the farther the slider runs.
+         * Around 500 is recommended.
+         */
+        flickPower?: number;
+        /**
+         * Limits the number of pages to move by "flick".
+         */
+        flickMaxPages?: number;
+        /**
+         * Destroys the slider.
+         */
+        destroy?: boolean | 'completely';
+    }
 }
 //# sourceMappingURL=../../../src/js/types/options.d.ts.map

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/types/types/options.d.ts.map


+ 1 - 1
package-lock.json

@@ -1,6 +1,6 @@
 {
   "name": "@splidejs/splide",
-  "version": "3.6.6",
+  "version": "3.6.7",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "@splidejs/splide",
-  "version": "3.6.6",
+  "version": "3.6.7",
   "description": "Splide is a lightweight, flexible and accessible slider/carousel. No dependencies, no Lighthouse errors.",
   "author": "Naotoshi Fujita",
   "license": "MIT",

+ 23 - 26
src/js/types/components.ts

@@ -19,30 +19,27 @@ import { WheelComponent } from '../components/Wheel/Wheel';
 import { BaseComponent, TransitionComponent } from './general';
 
 
-/**
- * The interface for components.
- *
- * @since 3.5.3
- */
-export interface Components {
-  [ key: string ]: BaseComponent;
-  Options: OptionsComponent;
-  Direction: DirectionComponent;
-  Elements: ElementsComponent;
-  Slides: SlidesComponent;
-  Layout: LayoutComponent;
-  Clones: ClonesComponent;
-  Move: MoveComponent;
-  Controller: ControllerComponent;
-  Arrows: ArrowsComponent;
-  Autoplay: AutoplayComponent;
-  Cover: CoverComponent;
-  Scroll: ScrollComponent;
-  Drag: DragComponent;
-  Keyboard: KeyboardComponent;
-  LazyLoad: LazyLoadComponent;
-  Pagination: PaginationComponent;
-  Sync: SyncComponent;
-  Wheel: WheelComponent;
-  Transition: TransitionComponent;
+declare module '@splidejs/splide' {
+  export interface Components {
+    [ key: string ]: BaseComponent;
+    Options: OptionsComponent;
+    Direction: DirectionComponent;
+    Elements: ElementsComponent;
+    Slides: SlidesComponent;
+    Layout: LayoutComponent;
+    Clones: ClonesComponent;
+    Move: MoveComponent;
+    Controller: ControllerComponent;
+    Arrows: ArrowsComponent;
+    Autoplay: AutoplayComponent;
+    Cover: CoverComponent;
+    Scroll: ScrollComponent;
+    Drag: DragComponent;
+    Keyboard: KeyboardComponent;
+    LazyLoad: LazyLoadComponent;
+    Pagination: PaginationComponent;
+    Sync: SyncComponent;
+    Wheel: WheelComponent;
+    Transition: TransitionComponent;
+  }
 }

+ 33 - 34
src/js/types/events.ts

@@ -1,40 +1,39 @@
 import { PaginationData, PaginationItem } from '../components/Pagination/Pagination';
 import { SlideComponent } from '../components/Slides/Slide';
 import { Splide } from '../core/Splide/Splide';
-import { Options } from './options';
 
 
-export interface EventMap {
-  'mounted': () => void;
-  'ready': () => void;
-  'click': ( Slide: SlideComponent, e: MouseEvent ) => void;
-  'move': ( index: number, prev: number, dest: number ) => void;
-  'moved': ( index: number, prev: number, dest: number ) => void;
-  'shifted': () => void;
-  'active': ( Slide: SlideComponent ) => void;
-  'inactive': ( Slide: SlideComponent ) => void;
-  'visible': ( Slide: SlideComponent ) => void;
-  'hidden': ( Slide: SlideComponent ) => void;
-  'slide:keydown': ( Slide: SlideComponent, e: KeyboardEvent ) => void;
-  'refresh': () => void;
-  'updated': ( options: Options ) => void;
-  'resize': () => void;
-  'resized': () => void;
-  'drag': () => void;
-  'dragging': () => void;
-  'dragged': () => void;
-  'scroll': () => void;
-  'scrolled': () => void;
-  'destroy': () => void;
-  'arrows:mounted': ( prev: HTMLButtonElement, next: HTMLButtonElement ) => void;
-  'arrows:updated': ( prev: HTMLButtonElement, next: HTMLButtonElement, prevIndex: number, nextIndex: number ) => void;
-  'pagination:mounted': ( data: PaginationData, item: PaginationItem ) => void;
-  'pagination:updated': ( data: PaginationData, prev: PaginationItem, curr: PaginationItem ) => void;
-  'navigation:mounted': ( splides: Splide[] ) => void;
-  'autoplay:play': () => void;
-  'autoplay:playing': ( rate: number ) => void;
-  'autoplay:pause': () => void;
-  'lazyload:loaded': ( img: HTMLImageElement, Slide: SlideComponent ) => void;
+declare module '@splidejs/splide' {
+  export interface EventMap {
+    'mounted': () => void;
+    'ready': () => void;
+    'click': ( Slide: SlideComponent, e: MouseEvent ) => void;
+    'move': ( index: number, prev: number, dest: number ) => void;
+    'moved': ( index: number, prev: number, dest: number ) => void;
+    'shifted': () => void;
+    'active': ( Slide: SlideComponent ) => void;
+    'inactive': ( Slide: SlideComponent ) => void;
+    'visible': ( Slide: SlideComponent ) => void;
+    'hidden': ( Slide: SlideComponent ) => void;
+    'slide:keydown': ( Slide: SlideComponent, e: KeyboardEvent ) => void;
+    'refresh': () => void;
+    'updated': ( options: Options ) => void;
+    'resize': () => void;
+    'resized': () => void;
+    'drag': () => void;
+    'dragging': () => void;
+    'dragged': () => void;
+    'scroll': () => void;
+    'scrolled': () => void;
+    'destroy': () => void;
+    'arrows:mounted': ( prev: HTMLButtonElement, next: HTMLButtonElement ) => void;
+    'arrows:updated': ( prev: HTMLButtonElement, next: HTMLButtonElement, prevIndex: number, nextIndex: number ) => void;
+    'pagination:mounted': ( data: PaginationData, item: PaginationItem ) => void;
+    'pagination:updated': ( data: PaginationData, prev: PaginationItem, curr: PaginationItem ) => void;
+    'navigation:mounted': ( splides: Splide[] ) => void;
+    'autoplay:play': () => void;
+    'autoplay:playing': ( rate: number ) => void;
+    'autoplay:pause': () => void;
+    'lazyload:loaded': ( img: HTMLImageElement, Slide: SlideComponent ) => void;
+  }
 }
-
-

+ 1 - 2
src/js/types/general.ts

@@ -1,6 +1,5 @@
 import { Splide } from '../core/Splide/Splide';
-import { Components } from './components';
-import { Options } from './options';
+import { Components, Options } from '@splidejs/splide';
 
 
 /**

+ 8 - 3
src/js/types/index.ts

@@ -1,4 +1,9 @@
-export * from './components';
-export * from './events';
+export { Components, Options, ResponsiveOptions, EventMap } from '@splidejs/splide';
 export * from './general';
-export * from './options';
+
+/**
+ * Explicitly declares the module for extensions.
+ *
+ * @since 3.6.7
+ */
+declare module '@splidejs/splide' {}

+ 0 - 3
src/js/types/module.d.ts

@@ -1,3 +0,0 @@
-declare module '@splidejs/splide' {
-  export * from './types';
-}

+ 710 - 352
src/js/types/options.ts

@@ -1,355 +1,713 @@
-/**
- * The interface for options.
- *
- * @since 3.0.0
- */
-export interface Options extends ResponsiveOptions {
-  /**
-   * The type of the slider.
-   * - 'slide': A slider with the slide transition
-   * - 'loop' : A carousel slider
-   * - 'fade' : A slider with the fade transition. This does not support the perPage option.
-   */
-  type?: string;
-
-  /**
-   * Determines whether to disable any actions while the slider is transitioning.
-   * Even if `false`, the slider forcibly waits for transition on the loop points.
-   */
-  waitForTransition?: boolean;
-
-  /**
-   * If `true`, the width of slides are determined by their width.
-   * The `perPage` and `perMove` options should be `1`.
-   */
-  autoWidth?: boolean;
-
-  /**
-   * If `true`, the height of slides are determined by their height.
-   * The `perPage` and `perMove` options should be `1`.
-   */
-  autoHeight?: boolean;
-
-  /**
-   * The start index.
-   */
-  start?: number;
-
-  /**
-   * Changes the arrow SVG path, like 'm7.61 0.807-2.12...'.
-   */
-  arrowPath?: string;
-
-  /**
-   * Determines whether to activate autoplay or not.
-   * If `paused`, it will not begin when the slider becomes active.
-   * You need to provided play/pause buttons or manually start it by `Autoplay#play()`.
-   */
-  autoplay?: boolean | 'pause';
-
-  /**
-   * The autoplay interval in milliseconds.
-   */
-  interval?: number;
-
-  /**
-   * Determines whether to pause autoplay on mouseover.
-   */
-  pauseOnHover?: boolean;
-
-  /**
-   * Determines whether to pause autoplay when the slider contains the active element (focused element).
-   * This should be `true` for accessibility.
-   */
-  pauseOnFocus?: boolean;
-
-  /**
-   * Determines whether to reset the autoplay progress when it is requested to start again.
-   */
-  resetProgress?: boolean;
-
-  /**
-   * Enables lazy loading.
-   * Provide the `src` by the `data-splide-lazy` or the `srcset` by the `data-splide-lazy-srcset`.
-   * You may also provide `src` for the placeholder, but the value must be different with the data.
-   *
-   * - `false`: Disables lazy loading
-   * - `'nearby'`: Starts loading only images around the active slide (page)
-   * - `'sequential'`: Loads images sequentially
-   */
-  lazyLoad?: boolean | 'nearby' | 'sequential';
-
-  /**
-   * Determine how many pages (not slides) around the active slide should be loaded beforehand.
-   * This only works when the `lazyLoad` option is `'nearby'`.
-   */
-  preloadPages?: number;
-
-  /**
-   * Determines whether to enable keyboard shortcuts or not.
-   * - `true` or `'global'`: Listens to the `keydown` event of the document.
-   * - 'focused': Listens to the `keydown` event of the slider root element with adding `tabindex="0"` to it.
-   * - `false`: Disables keyboard shortcuts.
-   */
-  keyboard?: boolean | string;
-
-  /**
-   * Enables navigation by the mouse wheel.
-   * The `waitForTransition` option should be `true`.
-   */
-  wheel?: boolean;
-
-  /**
-   * Determines whether to release the wheel event when the slider reaches the first or last slide.
-   */
-  releaseWheel?: boolean;
-
-  /**
-   * The direction of the slider.
-   * - 'ltr': Left to right
-   * - 'rtl': Right to left
-   * - 'ttb': Top to bottom
-   */
-  direction?: 'ltr' | 'rtl' | 'ttb';
-
-  /**
-   * Converts the image `src` to the css `background-image` URL of the parent element.
-   * This requires `fixedHeight` or `heightRatio` option.
-   */
-  cover?: boolean;
-
-  /**
-   * Determines whether to add `tabindex="0"` to visible slides or not.
-   */
-  slideFocus?: boolean;
-
-  /**
-   * If `true`, the slider makes slides clickable to navigate another slider.
-   * Use `Splide#sync()` to sync multiple sliders.
-   */
-  isNavigation?: boolean;
-
-  /**
-   * Determines whether to trim spaces before/after the slider if the `focus` option is available.
-   * - `true`: Trims spaces. The slider may stay on the same location even when requested to move.
-   * - `'move'`: Trims spaces and focuses to move the slider when requested.
-   */
-  trimSpace?: boolean | 'move';
-
-  /**
-   * Updates the `is-active` status of slides just before moving the slider.
-   */
-  updateOnMove?: boolean;
-
-  /**
-   * If `min`, the media query for breakpoints will be `min-width`, or otherwise, `max-width`.
-   */
-  mediaQuery?: 'min' | 'max';
-
-  /**
-   * The selector to get focusable elements
-   * where `tabindex="-1"` will be assigned when their ascendant slide is hidden.
-   */
-  focusableNodes?: string;
-
-  /**
-   * The selector for nodes that cannot be dragged.
-   */
-  noDrag?: string;
-
-  /**
-   * Determines whether to use the Transition component or not.
-   */
-  useScroll?: boolean;
-
-  /**
-   * Options for specific breakpoints.
-   *
-   * @example
-   * ```ts
-   * {
-   *   1000: {
-   *     perPage: 3,
-   *     gap    : 20
-   *   },
-   *   600: {
-   *     perPage: 1,
-   *     gap    : 5,
-   *   },
-   * }
-   * ```
-   */
-  breakpoints?: Record<string | number, ResponsiveOptions>,
-
-  /**
-   * The collection of class names.
-   */
-  classes?: Record<string, string>;
-
-  /**
-   * The collection of i18n strings.
-   */
-  i18n?: Record<string, string>;
-}
-
-/**
- * The interface for options that can correspond with breakpoints.
- *
- * @since 3.0.0
- */
-export interface ResponsiveOptions {
-  /**
-   * Accepts arbitrary properties for extensions, although it's not ideal typing.
-   */
-  [ key: string ]: any;
-
-  /**
-   * Determines whether to rewind the slider or not.
-   */
-  rewind?: boolean;
-
-  /**
-   * The transition speed in milliseconds.
-   */
-  speed?: number;
-
-  /**
-   * The transition speed on rewind in milliseconds.
-   */
-  rewindSpeed?: number;
-
-  /**
-   * Defines the slider max width, accepting the CSS format such as 10em, 80vw.
-   */
-  width?: number | string;
-
-  /**
-   * Defines the slider height, accepting the CSS format.
-   */
-  height?: number | string;
-
-  /**
-   * Fixes width of slides, accepting the CSS format.
-   * The slider will ignore the `perPage` option if you provide this value.
-   */
-  fixedWidth?: number | string;
-
-  /**
-   * Fixes height of slides, accepting the CSS format.
-   * The slider will ignore the `heightRatio` option if you provide this value.
-   */
-  fixedHeight?: number | string;
-
-  /**
-   * Determines height of slides by the ratio to the slider width.
-   * For example, when the slider width is `1000` and the ratio is `0.5`, the height will be `500`.
-   */
-  heightRatio?: number;
-
-  /**
-   * Determines the number of slides to display in a page.
-   */
-  perPage?: number;
-
-  /**
-   * Determines the number of slides to move at once.
-   */
-  perMove?: number;
-
-  /**
-   * Determine the number of clones on each side of the slider.
-   * In most cases, you don't need to provide this value.
-   */
-  clones?: number;
-
-  /**
-   * Determines whether to clone status classes for clones or not.
-   */
-  cloneStatus?: boolean;
-
-  /**
-   * Determines which slide should be active if there are multiple slides in a page.
-   * Numbers and `'center'` are acceptable.
-   */
-  focus?: number | 'center';
-
-  /**
-   * The gap between slides. The CSS format is acceptable, such as `1em`.
-   */
-  gap?: number | string;
-
-  /**
-   * Sets padding left/right or top/bottom of the slider.
-   * The CSS format is acceptable, such as `1em`.
+// /**
+//  * The interface for options.
+//  *
+//  * @since 3.0.0
+//  */
+// export interface Options extends ResponsiveOptions {
+//   /**
+//    * The type of the slider.
+//    * - 'slide': A slider with the slide transition
+//    * - 'loop' : A carousel slider
+//    * - 'fade' : A slider with the fade transition. This does not support the perPage option.
+//    */
+//   type?: string;
+//
+//   /**
+//    * Determines whether to disable any actions while the slider is transitioning.
+//    * Even if `false`, the slider forcibly waits for transition on the loop points.
+//    */
+//   waitForTransition?: boolean;
+//
+//   /**
+//    * If `true`, the width of slides are determined by their width.
+//    * The `perPage` and `perMove` options should be `1`.
+//    */
+//   autoWidth?: boolean;
+//
+//   /**
+//    * If `true`, the height of slides are determined by their height.
+//    * The `perPage` and `perMove` options should be `1`.
+//    */
+//   autoHeight?: boolean;
+//
+//   /**
+//    * The start index.
+//    */
+//   start?: number;
+//
+//   /**
+//    * Changes the arrow SVG path, like 'm7.61 0.807-2.12...'.
+//    */
+//   arrowPath?: string;
+//
+//   /**
+//    * Determines whether to activate autoplay or not.
+//    * If `paused`, it will not begin when the slider becomes active.
+//    * You need to provided play/pause buttons or manually start it by `Autoplay#play()`.
+//    */
+//   autoplay?: boolean | 'pause';
+//
+//   /**
+//    * The autoplay interval in milliseconds.
+//    */
+//   interval?: number;
+//
+//   /**
+//    * Determines whether to pause autoplay on mouseover.
+//    */
+//   pauseOnHover?: boolean;
+//
+//   /**
+//    * Determines whether to pause autoplay when the slider contains the active element (focused element).
+//    * This should be `true` for accessibility.
+//    */
+//   pauseOnFocus?: boolean;
+//
+//   /**
+//    * Determines whether to reset the autoplay progress when it is requested to start again.
+//    */
+//   resetProgress?: boolean;
+//
+//   /**
+//    * Enables lazy loading.
+//    * Provide the `src` by the `data-splide-lazy` or the `srcset` by the `data-splide-lazy-srcset`.
+//    * You may also provide `src` for the placeholder, but the value must be different with the data.
+//    *
+//    * - `false`: Disables lazy loading
+//    * - `'nearby'`: Starts loading only images around the active slide (page)
+//    * - `'sequential'`: Loads images sequentially
+//    */
+//   lazyLoad?: boolean | 'nearby' | 'sequential';
+//
+//   /**
+//    * Determine how many pages (not slides) around the active slide should be loaded beforehand.
+//    * This only works when the `lazyLoad` option is `'nearby'`.
+//    */
+//   preloadPages?: number;
+//
+//   /**
+//    * Determines whether to enable keyboard shortcuts or not.
+//    * - `true` or `'global'`: Listens to the `keydown` event of the document.
+//    * - 'focused': Listens to the `keydown` event of the slider root element with adding `tabindex="0"` to it.
+//    * - `false`: Disables keyboard shortcuts.
+//    */
+//   keyboard?: boolean | string;
+//
+//   /**
+//    * Enables navigation by the mouse wheel.
+//    * The `waitForTransition` option should be `true`.
+//    */
+//   wheel?: boolean;
+//
+//   /**
+//    * Determines whether to release the wheel event when the slider reaches the first or last slide.
+//    */
+//   releaseWheel?: boolean;
+//
+//   /**
+//    * The direction of the slider.
+//    * - 'ltr': Left to right
+//    * - 'rtl': Right to left
+//    * - 'ttb': Top to bottom
+//    */
+//   direction?: 'ltr' | 'rtl' | 'ttb';
+//
+//   /**
+//    * Converts the image `src` to the css `background-image` URL of the parent element.
+//    * This requires `fixedHeight` or `heightRatio` option.
+//    */
+//   cover?: boolean;
+//
+//   /**
+//    * Determines whether to add `tabindex="0"` to visible slides or not.
+//    */
+//   slideFocus?: boolean;
+//
+//   /**
+//    * If `true`, the slider makes slides clickable to navigate another slider.
+//    * Use `Splide#sync()` to sync multiple sliders.
+//    */
+//   isNavigation?: boolean;
+//
+//   /**
+//    * Determines whether to trim spaces before/after the slider if the `focus` option is available.
+//    * - `true`: Trims spaces. The slider may stay on the same location even when requested to move.
+//    * - `'move'`: Trims spaces and focuses to move the slider when requested.
+//    */
+//   trimSpace?: boolean | 'move';
+//
+//   /**
+//    * Updates the `is-active` status of slides just before moving the slider.
+//    */
+//   updateOnMove?: boolean;
+//
+//   /**
+//    * If `min`, the media query for breakpoints will be `min-width`, or otherwise, `max-width`.
+//    */
+//   mediaQuery?: 'min' | 'max';
+//
+//   /**
+//    * The selector to get focusable elements
+//    * where `tabindex="-1"` will be assigned when their ascendant slide is hidden.
+//    */
+//   focusableNodes?: string;
+//
+//   /**
+//    * The selector for nodes that cannot be dragged.
+//    */
+//   noDrag?: string;
+//
+//   /**
+//    * Determines whether to use the Transition component or not.
+//    */
+//   useScroll?: boolean;
+//
+//   /**
+//    * Options for specific breakpoints.
+//    *
+//    * @example
+//    * ```ts
+//    * {
+//    *   1000: {
+//    *     perPage: 3,
+//    *     gap    : 20
+//    *   },
+//    *   600: {
+//    *     perPage: 1,
+//    *     gap    : 5,
+//    *   },
+//    * }
+//    * ```
+//    */
+//   breakpoints?: Record<string | number, ResponsiveOptions>,
+//
+//   /**
+//    * The collection of class names.
+//    */
+//   classes?: Record<string, string>;
+//
+//   /**
+//    * The collection of i18n strings.
+//    */
+//   i18n?: Record<string, string>;
+// }
+//
+// /**
+//  * The interface for options that can correspond with breakpoints.
+//  *
+//  * @since 3.0.0
+//  */
+// export interface ResponsiveOptions {
+//   /**
+//    * Accepts arbitrary properties for extensions, although it's not ideal typing.
+//    */
+//   [ key: string ]: any;
+//
+//   /**
+//    * Determines whether to rewind the slider or not.
+//    */
+//   rewind?: boolean;
+//
+//   /**
+//    * The transition speed in milliseconds.
+//    */
+//   speed?: number;
+//
+//   /**
+//    * The transition speed on rewind in milliseconds.
+//    */
+//   rewindSpeed?: number;
+//
+//   /**
+//    * Defines the slider max width, accepting the CSS format such as 10em, 80vw.
+//    */
+//   width?: number | string;
+//
+//   /**
+//    * Defines the slider height, accepting the CSS format.
+//    */
+//   height?: number | string;
+//
+//   /**
+//    * Fixes width of slides, accepting the CSS format.
+//    * The slider will ignore the `perPage` option if you provide this value.
+//    */
+//   fixedWidth?: number | string;
+//
+//   /**
+//    * Fixes height of slides, accepting the CSS format.
+//    * The slider will ignore the `heightRatio` option if you provide this value.
+//    */
+//   fixedHeight?: number | string;
+//
+//   /**
+//    * Determines height of slides by the ratio to the slider width.
+//    * For example, when the slider width is `1000` and the ratio is `0.5`, the height will be `500`.
+//    */
+//   heightRatio?: number;
+//
+//   /**
+//    * Determines the number of slides to display in a page.
+//    */
+//   perPage?: number;
+//
+//   /**
+//    * Determines the number of slides to move at once.
+//    */
+//   perMove?: number;
+//
+//   /**
+//    * Determine the number of clones on each side of the slider.
+//    * In most cases, you don't need to provide this value.
+//    */
+//   clones?: number;
+//
+//   /**
+//    * Determines whether to clone status classes for clones or not.
+//    */
+//   cloneStatus?: boolean;
+//
+//   /**
+//    * Determines which slide should be active if there are multiple slides in a page.
+//    * Numbers and `'center'` are acceptable.
+//    */
+//   focus?: number | 'center';
+//
+//   /**
+//    * The gap between slides. The CSS format is acceptable, such as `1em`.
+//    */
+//   gap?: number | string;
+//
+//   /**
+//    * Sets padding left/right or top/bottom of the slider.
+//    * The CSS format is acceptable, such as `1em`.
+//    *
+//    * @example
+//    * ```ts
+//    * // By number
+//    * padding: 10,
+//    *
+//    * // By the CSS format
+//    * padding: '1rem',
+//    *
+//    * // Specifies each value for a horizontal slider
+//    * padding: { left: 10, right: 20 },
+//    * padding: { left: '1rem', right: '2rem' },
+//    *
+//    * // Specified each value for a vertical slider
+//    * padding: { top: 10, bottom: 20 },
+//    * ```
+//    */
+//   padding?:
+//     | number
+//     | string
+//     | { left?: number | string, right?: number | string }
+//     | { top?: number | string, bottom?: number | string };
+//
+//   /**
+//    * Determines whether to create/find arrows or not.
+//    */
+//   arrows?: boolean | 'slider';
+//
+//   /**
+//    * Determines whether to create pagination (indicator dots) or not.
+//    */
+//   pagination?: boolean | 'slider';
+//
+//   /**
+//    * The timing function for the CSS transition. For example, `linear`, ease or `cubic-bezier()`.
+//    */
+//   easing?: string;
+//
+//   /**
+//    * The easing function for the drag free mode.
+//    * The default function is the `easeOutQuart` interpolation.
+//    */
+//   easingFunc?: ( t: number ) => number;
+//
+//   /**
+//    * Determines whether to allow to drag the slider or not.
+//    * If `free`, the slider does not snap to a slide after drag.
+//    */
+//   drag?: boolean | 'free';
+//
+//   /**
+//    * The required distance to start moving the slider by the touch action.
+//    * If you want to define the threshold for the mouse, provide an object.
+//    */
+//   dragMinThreshold?: number | { mouse: number, touch: number };
+//
+//   /**
+//    * Determine the power of "flick". The larger number this is, the farther the slider runs.
+//    * Around 500 is recommended.
+//    */
+//   flickPower?: number;
+//
+//   /**
+//    * Limits the number of pages to move by "flick".
+//    */
+//   flickMaxPages?: number;
+//
+//   /**
+//    * Destroys the slider.
+//    */
+//   destroy?: boolean | 'completely';
+// }
+
+declare module '@splidejs/splide' {
+  /**
+   * The interface for options.
    *
-   * @example
-   * ```ts
-   * // By number
-   * padding: 10,
+   * @since 3.0.0
+   */
+  export interface Options extends ResponsiveOptions {
+    /**
+     * The type of the slider.
+     * - 'slide': A slider with the slide transition
+     * - 'loop' : A carousel slider
+     * - 'fade' : A slider with the fade transition. This does not support the perPage option.
+     */
+    type?: string;
+
+    /**
+     * Determines whether to disable any actions while the slider is transitioning.
+     * Even if `false`, the slider forcibly waits for transition on the loop points.
+     */
+    waitForTransition?: boolean;
+
+    /**
+     * If `true`, the width of slides are determined by their width.
+     * The `perPage` and `perMove` options should be `1`.
+     */
+    autoWidth?: boolean;
+
+    /**
+     * If `true`, the height of slides are determined by their height.
+     * The `perPage` and `perMove` options should be `1`.
+     */
+    autoHeight?: boolean;
+
+    /**
+     * The start index.
+     */
+    start?: number;
+
+    /**
+     * Changes the arrow SVG path, like 'm7.61 0.807-2.12...'.
+     */
+    arrowPath?: string;
+
+    /**
+     * Determines whether to activate autoplay or not.
+     * If `paused`, it will not begin when the slider becomes active.
+     * You need to provided play/pause buttons or manually start it by `Autoplay#play()`.
+     */
+    autoplay?: boolean | 'pause';
+
+    /**
+     * The autoplay interval in milliseconds.
+     */
+    interval?: number;
+
+    /**
+     * Determines whether to pause autoplay on mouseover.
+     */
+    pauseOnHover?: boolean;
+
+    /**
+     * Determines whether to pause autoplay when the slider contains the active element (focused element).
+     * This should be `true` for accessibility.
+     */
+    pauseOnFocus?: boolean;
+
+    /**
+     * Determines whether to reset the autoplay progress when it is requested to start again.
+     */
+    resetProgress?: boolean;
+
+    /**
+     * Enables lazy loading.
+     * Provide the `src` by the `data-splide-lazy` or the `srcset` by the `data-splide-lazy-srcset`.
+     * You may also provide `src` for the placeholder, but the value must be different with the data.
+     *
+     * - `false`: Disables lazy loading
+     * - `'nearby'`: Starts loading only images around the active slide (page)
+     * - `'sequential'`: Loads images sequentially
+     */
+    lazyLoad?: boolean | 'nearby' | 'sequential';
+
+    /**
+     * Determine how many pages (not slides) around the active slide should be loaded beforehand.
+     * This only works when the `lazyLoad` option is `'nearby'`.
+     */
+    preloadPages?: number;
+
+    /**
+     * Determines whether to enable keyboard shortcuts or not.
+     * - `true` or `'global'`: Listens to the `keydown` event of the document.
+     * - 'focused': Listens to the `keydown` event of the slider root element with adding `tabindex="0"` to it.
+     * - `false`: Disables keyboard shortcuts.
+     */
+    keyboard?: boolean | string;
+
+    /**
+     * Enables navigation by the mouse wheel.
+     * The `waitForTransition` option should be `true`.
+     */
+    wheel?: boolean;
+
+    /**
+     * Determines whether to release the wheel event when the slider reaches the first or last slide.
+     */
+    releaseWheel?: boolean;
+
+    /**
+     * The direction of the slider.
+     * - 'ltr': Left to right
+     * - 'rtl': Right to left
+     * - 'ttb': Top to bottom
+     */
+    direction?: 'ltr' | 'rtl' | 'ttb';
+
+    /**
+     * Converts the image `src` to the css `background-image` URL of the parent element.
+     * This requires `fixedHeight` or `heightRatio` option.
+     */
+    cover?: boolean;
+
+    /**
+     * Determines whether to add `tabindex="0"` to visible slides or not.
+     */
+    slideFocus?: boolean;
+
+    /**
+     * If `true`, the slider makes slides clickable to navigate another slider.
+     * Use `Splide#sync()` to sync multiple sliders.
+     */
+    isNavigation?: boolean;
+
+    /**
+     * Determines whether to trim spaces before/after the slider if the `focus` option is available.
+     * - `true`: Trims spaces. The slider may stay on the same location even when requested to move.
+     * - `'move'`: Trims spaces and focuses to move the slider when requested.
+     */
+    trimSpace?: boolean | 'move';
+
+    /**
+     * Updates the `is-active` status of slides just before moving the slider.
+     */
+    updateOnMove?: boolean;
+
+    /**
+     * If `min`, the media query for breakpoints will be `min-width`, or otherwise, `max-width`.
+     */
+    mediaQuery?: 'min' | 'max';
+
+    /**
+     * The selector to get focusable elements
+     * where `tabindex="-1"` will be assigned when their ascendant slide is hidden.
+     */
+    focusableNodes?: string;
+
+    /**
+     * The selector for nodes that cannot be dragged.
+     */
+    noDrag?: string;
+
+    /**
+     * Determines whether to use the Transition component or not.
+     */
+    useScroll?: boolean;
+
+    /**
+     * Options for specific breakpoints.
+     *
+     * @example
+     * ```ts
+     * {
+     *   1000: {
+     *     perPage: 3,
+     *     gap    : 20
+     *   },
+     *   600: {
+     *     perPage: 1,
+     *     gap    : 5,
+     *   },
+     * }
+     * ```
+     */
+    breakpoints?: Record<string | number, ResponsiveOptions>,
+
+    /**
+     * The collection of class names.
+     */
+    classes?: Record<string, string>;
+
+    /**
+     * The collection of i18n strings.
+     */
+    i18n?: Record<string, string>;
+  }
+
+  /**
+   * The interface for options that can correspond with breakpoints.
    *
-   * // By the CSS format
-   * padding: '1rem',
-   *
-   * // Specifies each value for a horizontal slider
-   * padding: { left: 10, right: 20 },
-   * padding: { left: '1rem', right: '2rem' },
-   *
-   * // Specified each value for a vertical slider
-   * padding: { top: 10, bottom: 20 },
-   * ```
-   */
-  padding?:
-    | number
-    | string
-    | { left?: number | string, right?: number | string }
-    | { top?: number | string, bottom?: number | string };
-
-  /**
-   * Determines whether to create/find arrows or not.
-   */
-  arrows?: boolean | 'slider';
-
-  /**
-   * Determines whether to create pagination (indicator dots) or not.
-   */
-  pagination?: boolean | 'slider';
-
-  /**
-   * The timing function for the CSS transition. For example, `linear`, ease or `cubic-bezier()`.
-   */
-  easing?: string;
-
-  /**
-   * The easing function for the drag free mode.
-   * The default function is the `easeOutQuart` interpolation.
-   */
-  easingFunc?: ( t: number ) => number;
-
-  /**
-   * Determines whether to allow to drag the slider or not.
-   * If `free`, the slider does not snap to a slide after drag.
-   */
-  drag?: boolean | 'free';
-
-  /**
-   * The required distance to start moving the slider by the touch action.
-   * If you want to define the threshold for the mouse, provide an object.
-   */
-  dragMinThreshold?: number | { mouse: number, touch: number };
-
-  /**
-   * Determine the power of "flick". The larger number this is, the farther the slider runs.
-   * Around 500 is recommended.
-   */
-  flickPower?: number;
-
-  /**
-   * Limits the number of pages to move by "flick".
-   */
-  flickMaxPages?: number;
-
-  /**
-   * Destroys the slider.
-   */
-  destroy?: boolean | 'completely';
+   * @since 3.0.0
+   */
+  export interface ResponsiveOptions {
+    /**
+     * Accepts arbitrary properties for extensions, although it's not ideal typing.
+     */
+    [ key: string ]: any;
+
+    /**
+     * Determines whether to rewind the slider or not.
+     */
+    rewind?: boolean;
+
+    /**
+     * The transition speed in milliseconds.
+     */
+    speed?: number;
+
+    /**
+     * The transition speed on rewind in milliseconds.
+     */
+    rewindSpeed?: number;
+
+    /**
+     * Defines the slider max width, accepting the CSS format such as 10em, 80vw.
+     */
+    width?: number | string;
+
+    /**
+     * Defines the slider height, accepting the CSS format.
+     */
+    height?: number | string;
+
+    /**
+     * Fixes width of slides, accepting the CSS format.
+     * The slider will ignore the `perPage` option if you provide this value.
+     */
+    fixedWidth?: number | string;
+
+    /**
+     * Fixes height of slides, accepting the CSS format.
+     * The slider will ignore the `heightRatio` option if you provide this value.
+     */
+    fixedHeight?: number | string;
+
+    /**
+     * Determines height of slides by the ratio to the slider width.
+     * For example, when the slider width is `1000` and the ratio is `0.5`, the height will be `500`.
+     */
+    heightRatio?: number;
+
+    /**
+     * Determines the number of slides to display in a page.
+     */
+    perPage?: number;
+
+    /**
+     * Determines the number of slides to move at once.
+     */
+    perMove?: number;
+
+    /**
+     * Determine the number of clones on each side of the slider.
+     * In most cases, you don't need to provide this value.
+     */
+    clones?: number;
+
+    /**
+     * Determines whether to clone status classes for clones or not.
+     */
+    cloneStatus?: boolean;
+
+    /**
+     * Determines which slide should be active if there are multiple slides in a page.
+     * Numbers and `'center'` are acceptable.
+     */
+    focus?: number | 'center';
+
+    /**
+     * The gap between slides. The CSS format is acceptable, such as `1em`.
+     */
+    gap?: number | string;
+
+    /**
+     * Sets padding left/right or top/bottom of the slider.
+     * The CSS format is acceptable, such as `1em`.
+     *
+     * @example
+     * ```ts
+     * // By number
+     * padding: 10,
+     *
+     * // By the CSS format
+     * padding: '1rem',
+     *
+     * // Specifies each value for a horizontal slider
+     * padding: { left: 10, right: 20 },
+     * padding: { left: '1rem', right: '2rem' },
+     *
+     * // Specified each value for a vertical slider
+     * padding: { top: 10, bottom: 20 },
+     * ```
+     */
+    padding?:
+      | number
+      | string
+      | { left?: number | string, right?: number | string }
+      | { top?: number | string, bottom?: number | string };
+
+    /**
+     * Determines whether to create/find arrows or not.
+     */
+    arrows?: boolean | 'slider';
+
+    /**
+     * Determines whether to create pagination (indicator dots) or not.
+     */
+    pagination?: boolean | 'slider';
+
+    /**
+     * The timing function for the CSS transition. For example, `linear`, ease or `cubic-bezier()`.
+     */
+    easing?: string;
+
+    /**
+     * The easing function for the drag free mode.
+     * The default function is the `easeOutQuart` interpolation.
+     */
+    easingFunc?: ( t: number ) => number;
+
+    /**
+     * Determines whether to allow to drag the slider or not.
+     * If `free`, the slider does not snap to a slide after drag.
+     */
+    drag?: boolean | 'free';
+
+    /**
+     * The required distance to start moving the slider by the touch action.
+     * If you want to define the threshold for the mouse, provide an object.
+     */
+    dragMinThreshold?: number | { mouse: number, touch: number };
+
+    /**
+     * Determine the power of "flick". The larger number this is, the farther the slider runs.
+     * Around 500 is recommended.
+     */
+    flickPower?: number;
+
+    /**
+     * Limits the number of pages to move by "flick".
+     */
+    flickMaxPages?: number;
+
+    /**
+     * Destroys the slider.
+     */
+    destroy?: boolean | 'completely';
+  }
 }

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است