@brytdesigns/web-component-keen-slider-autoplay 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/index.js +71 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/main/components/index.js +4 -0
- package/dist/main/components/index.js.map +1 -0
- package/dist/main/components/keen-slider-autoplay.js +49 -0
- package/dist/main/components/keen-slider-autoplay.js.map +1 -0
- package/dist/main/index.d.ts +3 -0
- package/dist/main/index.js +14 -0
- package/dist/main/index.js.map +1 -0
- package/package.json +36 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { customShadowlessElement, correctElementType } from '@brytdesigns/web-component-core/utils';
|
|
2
|
+
import { withKeenSliderElementContext } from '@brytdesigns/web-component-keen-slider';
|
|
3
|
+
import { onCleanup } from 'solid-js';
|
|
4
|
+
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
// src/components/keen-slider-autoplay.ts
|
|
12
|
+
var keen_slider_autoplay_exports = {};
|
|
13
|
+
__export(keen_slider_autoplay_exports, {
|
|
14
|
+
Component: () => Component,
|
|
15
|
+
Name: () => Name
|
|
16
|
+
});
|
|
17
|
+
var Name = "keen-slider-autoplay";
|
|
18
|
+
var Component = (props, { element }) => {
|
|
19
|
+
if (!props.target)
|
|
20
|
+
return console.warn(
|
|
21
|
+
`${Name}: Needs a proper target in order to properly extend a keen slider.`
|
|
22
|
+
);
|
|
23
|
+
withKeenSliderElementContext(
|
|
24
|
+
() => {
|
|
25
|
+
const selector = props.target;
|
|
26
|
+
return () => {
|
|
27
|
+
let targetEl = element;
|
|
28
|
+
if (props.target) targetEl = document.querySelector(selector);
|
|
29
|
+
if (targetEl?.tagName !== "KEEN-SLIDER")
|
|
30
|
+
targetEl = targetEl.querySelector("keen-slider");
|
|
31
|
+
return targetEl;
|
|
32
|
+
};
|
|
33
|
+
},
|
|
34
|
+
() => ({
|
|
35
|
+
duration: props.duration,
|
|
36
|
+
totalSlides: props.totalSlides
|
|
37
|
+
}),
|
|
38
|
+
([_, { addPlugin }], { duration, totalSlides }) => {
|
|
39
|
+
const animation = { duration, easing: (t) => t };
|
|
40
|
+
const removePlugin = addPlugin((s) => {
|
|
41
|
+
s.update({ drag: false, loop: true });
|
|
42
|
+
s.on("created", () => {
|
|
43
|
+
s.moveToIdx(totalSlides, true, animation);
|
|
44
|
+
});
|
|
45
|
+
s.on("updated", () => {
|
|
46
|
+
s.moveToIdx(s.track.details.abs + totalSlides, true, animation);
|
|
47
|
+
});
|
|
48
|
+
s.on("slideChanged", () => {
|
|
49
|
+
s.moveToIdx(s.track.details.abs + totalSlides, true, animation);
|
|
50
|
+
});
|
|
51
|
+
s.on("animationEnded", () => {
|
|
52
|
+
s.moveToIdx(s.track.details.abs + totalSlides, true, animation);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
onCleanup(removePlugin);
|
|
56
|
+
}
|
|
57
|
+
);
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
// src/index.ts
|
|
61
|
+
customShadowlessElement(
|
|
62
|
+
keen_slider_autoplay_exports.Name,
|
|
63
|
+
{
|
|
64
|
+
target: "keen-slider",
|
|
65
|
+
duration: 2e3,
|
|
66
|
+
totalSlides: 0
|
|
67
|
+
},
|
|
68
|
+
correctElementType(keen_slider_autoplay_exports.Component)
|
|
69
|
+
);
|
|
70
|
+
//# sourceMappingURL=index.js.map
|
|
71
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/keen-slider-autoplay.ts","../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,IAAA,4BAAA,GAAA,EAAA;AAAA,QAAA,CAAA,4BAAA,EAAA;AAAA,EAAA,SAAA,EAAA,MAAA,SAAA;AAAA,EAAA,IAAA,EAAA,MAAA;AAAA,CAAA,CAAA;AAWO,IAAM,IAAO,GAAA,sBAAA;AAEb,IAAM,SAAyC,GAAA,CAAC,KAAO,EAAA,EAAE,SAAc,KAAA;AAC5E,EAAA,IAAI,CAAC,KAAM,CAAA,MAAA;AACT,IAAA,OAAO,OAAQ,CAAA,IAAA;AAAA,MACb,GAAG,IAAI,CAAA,kEAAA;AAAA,KACT;AAEF,EAAA,4BAAA;AAAA,IACE,MAAM;AACJ,MAAA,MAAM,WAAW,KAAM,CAAA,MAAA;AACvB,MAAA,OAAO,MAAM;AACX,QAAA,IAAI,QAA2B,GAAA,OAAA;AAC/B,QAAA,IAAI,KAAM,CAAA,MAAA,EAAmB,QAAA,GAAA,QAAA,CAAS,cAAc,QAAQ,CAAA;AAC5D,QAAA,IAAI,UAAU,OAAY,KAAA,aAAA;AACxB,UAAW,QAAA,GAAA,QAAA,CAAU,cAAc,aAAa,CAAA;AAClD,QAAO,OAAA,QAAA;AAAA,OACT;AAAA,KACF;AAAA,IACA,OAAO;AAAA,MACL,UAAU,KAAM,CAAA,QAAA;AAAA,MAChB,aAAa,KAAM,CAAA;AAAA,KACrB,CAAA;AAAA,IACA,CAAC,CAAC,CAAA,EAAG,EAAE,SAAA,EAAW,CAAG,EAAA,EAAE,QAAU,EAAA,WAAA,EAAkB,KAAA;AACjD,MAAA,MAAM,YAAY,EAAE,QAAA,EAAU,MAAQ,EAAA,CAAC,MAAc,CAAE,EAAA;AACvD,MAAM,MAAA,YAAA,GAAe,SAAU,CAAA,CAAC,CAAM,KAAA;AACpC,QAAA,CAAA,CAAE,OAAO,EAAE,IAAA,EAAM,KAAO,EAAA,IAAA,EAAM,MAAM,CAAA;AACpC,QAAE,CAAA,CAAA,EAAA,CAAG,WAAW,MAAM;AACpB,UAAE,CAAA,CAAA,SAAA,CAAU,WAAa,EAAA,IAAA,EAAM,SAAS,CAAA;AAAA,SACzC,CAAA;AACD,QAAE,CAAA,CAAA,EAAA,CAAG,WAAW,MAAM;AACpB,UAAA,CAAA,CAAE,UAAU,CAAE,CAAA,KAAA,CAAM,QAAQ,GAAM,GAAA,WAAA,EAAa,MAAM,SAAS,CAAA;AAAA,SAC/D,CAAA;AACD,QAAE,CAAA,CAAA,EAAA,CAAG,gBAAgB,MAAM;AACzB,UAAA,CAAA,CAAE,UAAU,CAAE,CAAA,KAAA,CAAM,QAAQ,GAAM,GAAA,WAAA,EAAa,MAAM,SAAS,CAAA;AAAA,SAC/D,CAAA;AACD,QAAE,CAAA,CAAA,EAAA,CAAG,kBAAkB,MAAM;AAC3B,UAAA,CAAA,CAAE,UAAU,CAAE,CAAA,KAAA,CAAM,QAAQ,GAAM,GAAA,WAAA,EAAa,MAAM,SAAS,CAAA;AAAA,SAC/D,CAAA;AAAA,OACF,CAAA;AACD,MAAA,SAAA,CAAU,YAAY,CAAA;AAAA;AACxB,GACF;AACF,CAAA;;;AChDA,uBAAA;AAAA,EACE,4BAAmB,CAAA,IAAA;AAAA,EACnB;AAAA,IACE,MAAQ,EAAA,aAAA;AAAA,IACR,QAAU,EAAA,GAAA;AAAA,IACV,WAAa,EAAA;AAAA,GACf;AAAA,EACA,kBAAA,CAAmB,6BAAmB,SAAS;AACjD,CAAA","file":"index.js","sourcesContent":["import type { CorrectComponentType } from \"@brytdesigns/web-component-core/utils\";\n\nimport { withKeenSliderElementContext } from \"@brytdesigns/web-component-keen-slider\";\nimport { onCleanup } from \"solid-js\";\n\ntype Props = {\n target: string;\n duration: number;\n totalSlides: number;\n};\n\nexport const Name = \"keen-slider-autoplay\";\n\nexport const Component: CorrectComponentType<Props> = (props, { element }) => {\n if (!props.target)\n return console.warn(\n `${Name}: Needs a proper target in order to properly extend a keen slider.`,\n );\n\n withKeenSliderElementContext(\n () => {\n const selector = props.target;\n return () => {\n let targetEl: Element | null = element;\n if (props.target) targetEl = document.querySelector(selector);\n if (targetEl?.tagName !== \"KEEN-SLIDER\")\n targetEl = targetEl!.querySelector(\"keen-slider\");\n return targetEl!;\n };\n },\n () => ({\n duration: props.duration,\n totalSlides: props.totalSlides,\n }),\n ([_, { addPlugin }], { duration, totalSlides }) => {\n const animation = { duration, easing: (t: number) => t };\n const removePlugin = addPlugin((s) => {\n s.update({ drag: false, loop: true });\n s.on(\"created\", () => {\n s.moveToIdx(totalSlides, true, animation);\n });\n s.on(\"updated\", () => {\n s.moveToIdx(s.track.details.abs + totalSlides, true, animation);\n });\n s.on(\"slideChanged\", () => {\n s.moveToIdx(s.track.details.abs + totalSlides, true, animation);\n });\n s.on(\"animationEnded\", () => {\n s.moveToIdx(s.track.details.abs + totalSlides, true, animation);\n });\n });\n onCleanup(removePlugin);\n },\n );\n};\n","import {\n customShadowlessElement,\n correctElementType,\n} from \"@brytdesigns/web-component-core/utils\";\nimport { KeenSliderAutoplay } from \"./components/index.js\";\n\ncustomShadowlessElement(\n KeenSliderAutoplay.Name,\n {\n target: \"keen-slider\",\n duration: 2000,\n totalSlides: 0,\n },\n correctElementType(KeenSliderAutoplay.Component),\n);\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { withKeenSliderElementContext } from '@brytdesigns/web-component-keen-slider';
|
|
2
|
+
import { onCleanup } from 'solid-js';
|
|
3
|
+
|
|
4
|
+
const Name = "keen-slider-autoplay";
|
|
5
|
+
const Component = (props, { element }) => {
|
|
6
|
+
if (!props.target)
|
|
7
|
+
return console.warn(
|
|
8
|
+
`${Name}: Needs a proper target in order to properly extend a keen slider.`
|
|
9
|
+
);
|
|
10
|
+
withKeenSliderElementContext(
|
|
11
|
+
() => {
|
|
12
|
+
const selector = props.target;
|
|
13
|
+
return () => {
|
|
14
|
+
let targetEl = element;
|
|
15
|
+
if (props.target) targetEl = document.querySelector(selector);
|
|
16
|
+
if (targetEl?.tagName !== "KEEN-SLIDER")
|
|
17
|
+
targetEl = targetEl.querySelector("keen-slider");
|
|
18
|
+
return targetEl;
|
|
19
|
+
};
|
|
20
|
+
},
|
|
21
|
+
() => ({
|
|
22
|
+
duration: props.duration,
|
|
23
|
+
totalSlides: props.totalSlides
|
|
24
|
+
}),
|
|
25
|
+
([_, { addPlugin }], { duration, totalSlides }) => {
|
|
26
|
+
const animation = { duration, easing: (t) => t };
|
|
27
|
+
const removePlugin = addPlugin((s) => {
|
|
28
|
+
s.update({ drag: false, loop: true });
|
|
29
|
+
s.on("created", () => {
|
|
30
|
+
s.moveToIdx(totalSlides, true, animation);
|
|
31
|
+
});
|
|
32
|
+
s.on("updated", () => {
|
|
33
|
+
s.moveToIdx(s.track.details.abs + totalSlides, true, animation);
|
|
34
|
+
});
|
|
35
|
+
s.on("slideChanged", () => {
|
|
36
|
+
s.moveToIdx(s.track.details.abs + totalSlides, true, animation);
|
|
37
|
+
});
|
|
38
|
+
s.on("animationEnded", () => {
|
|
39
|
+
s.moveToIdx(s.track.details.abs + totalSlides, true, animation);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
onCleanup(removePlugin);
|
|
43
|
+
}
|
|
44
|
+
);
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
export { Component, Name };
|
|
48
|
+
//# sourceMappingURL=keen-slider-autoplay.js.map
|
|
49
|
+
//# sourceMappingURL=keen-slider-autoplay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/keen-slider-autoplay.ts"],"names":[],"mappings":";;;AAWO,MAAM,IAAO,GAAA;AAEb,MAAM,SAAyC,GAAA,CAAC,KAAO,EAAA,EAAE,SAAc,KAAA;AAC5E,EAAA,IAAI,CAAC,KAAM,CAAA,MAAA;AACT,IAAA,OAAO,OAAQ,CAAA,IAAA;AAAA,MACb,GAAG,IAAI,CAAA,kEAAA;AAAA,KACT;AAEF,EAAA,4BAAA;AAAA,IACE,MAAM;AACJ,MAAA,MAAM,WAAW,KAAM,CAAA,MAAA;AACvB,MAAA,OAAO,MAAM;AACX,QAAA,IAAI,QAA2B,GAAA,OAAA;AAC/B,QAAA,IAAI,KAAM,CAAA,MAAA,EAAmB,QAAA,GAAA,QAAA,CAAS,cAAc,QAAQ,CAAA;AAC5D,QAAA,IAAI,UAAU,OAAY,KAAA,aAAA;AACxB,UAAW,QAAA,GAAA,QAAA,CAAU,cAAc,aAAa,CAAA;AAClD,QAAO,OAAA,QAAA;AAAA,OACT;AAAA,KACF;AAAA,IACA,OAAO;AAAA,MACL,UAAU,KAAM,CAAA,QAAA;AAAA,MAChB,aAAa,KAAM,CAAA;AAAA,KACrB,CAAA;AAAA,IACA,CAAC,CAAC,CAAA,EAAG,EAAE,SAAA,EAAW,CAAG,EAAA,EAAE,QAAU,EAAA,WAAA,EAAkB,KAAA;AACjD,MAAA,MAAM,YAAY,EAAE,QAAA,EAAU,MAAQ,EAAA,CAAC,MAAc,CAAE,EAAA;AACvD,MAAM,MAAA,YAAA,GAAe,SAAU,CAAA,CAAC,CAAM,KAAA;AACpC,QAAA,CAAA,CAAE,OAAO,EAAE,IAAA,EAAM,KAAO,EAAA,IAAA,EAAM,MAAM,CAAA;AACpC,QAAE,CAAA,CAAA,EAAA,CAAG,WAAW,MAAM;AACpB,UAAE,CAAA,CAAA,SAAA,CAAU,WAAa,EAAA,IAAA,EAAM,SAAS,CAAA;AAAA,SACzC,CAAA;AACD,QAAE,CAAA,CAAA,EAAA,CAAG,WAAW,MAAM;AACpB,UAAA,CAAA,CAAE,UAAU,CAAE,CAAA,KAAA,CAAM,QAAQ,GAAM,GAAA,WAAA,EAAa,MAAM,SAAS,CAAA;AAAA,SAC/D,CAAA;AACD,QAAE,CAAA,CAAA,EAAA,CAAG,gBAAgB,MAAM;AACzB,UAAA,CAAA,CAAE,UAAU,CAAE,CAAA,KAAA,CAAM,QAAQ,GAAM,GAAA,WAAA,EAAa,MAAM,SAAS,CAAA;AAAA,SAC/D,CAAA;AACD,QAAE,CAAA,CAAA,EAAA,CAAG,kBAAkB,MAAM;AAC3B,UAAA,CAAA,CAAE,UAAU,CAAE,CAAA,KAAA,CAAM,QAAQ,GAAM,GAAA,WAAA,EAAa,MAAM,SAAS,CAAA;AAAA,SAC/D,CAAA;AAAA,OACF,CAAA;AACD,MAAA,SAAA,CAAU,YAAY,CAAA;AAAA;AACxB,GACF;AACF","file":"keen-slider-autoplay.js","sourcesContent":["import type { CorrectComponentType } from \"@brytdesigns/web-component-core/utils\";\n\nimport { withKeenSliderElementContext } from \"@brytdesigns/web-component-keen-slider\";\nimport { onCleanup } from \"solid-js\";\n\ntype Props = {\n target: string;\n duration: number;\n totalSlides: number;\n};\n\nexport const Name = \"keen-slider-autoplay\";\n\nexport const Component: CorrectComponentType<Props> = (props, { element }) => {\n if (!props.target)\n return console.warn(\n `${Name}: Needs a proper target in order to properly extend a keen slider.`,\n );\n\n withKeenSliderElementContext(\n () => {\n const selector = props.target;\n return () => {\n let targetEl: Element | null = element;\n if (props.target) targetEl = document.querySelector(selector);\n if (targetEl?.tagName !== \"KEEN-SLIDER\")\n targetEl = targetEl!.querySelector(\"keen-slider\");\n return targetEl!;\n };\n },\n () => ({\n duration: props.duration,\n totalSlides: props.totalSlides,\n }),\n ([_, { addPlugin }], { duration, totalSlides }) => {\n const animation = { duration, easing: (t: number) => t };\n const removePlugin = addPlugin((s) => {\n s.update({ drag: false, loop: true });\n s.on(\"created\", () => {\n s.moveToIdx(totalSlides, true, animation);\n });\n s.on(\"updated\", () => {\n s.moveToIdx(s.track.details.abs + totalSlides, true, animation);\n });\n s.on(\"slideChanged\", () => {\n s.moveToIdx(s.track.details.abs + totalSlides, true, animation);\n });\n s.on(\"animationEnded\", () => {\n s.moveToIdx(s.track.details.abs + totalSlides, true, animation);\n });\n });\n onCleanup(removePlugin);\n },\n );\n};\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { customShadowlessElement, correctElementType } from '@brytdesigns/web-component-core/utils';
|
|
2
|
+
import { KeenSliderAutoplay } from './components/index.js';
|
|
3
|
+
|
|
4
|
+
customShadowlessElement(
|
|
5
|
+
KeenSliderAutoplay.Name,
|
|
6
|
+
{
|
|
7
|
+
target: "keen-slider",
|
|
8
|
+
duration: 2e3,
|
|
9
|
+
totalSlides: 0
|
|
10
|
+
},
|
|
11
|
+
correctElementType(KeenSliderAutoplay.Component)
|
|
12
|
+
);
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;AAMA,uBAAA;AAAA,EACE,kBAAmB,CAAA,IAAA;AAAA,EACnB;AAAA,IACE,MAAQ,EAAA,aAAA;AAAA,IACR,QAAU,EAAA,GAAA;AAAA,IACV,WAAa,EAAA;AAAA,GACf;AAAA,EACA,kBAAA,CAAmB,mBAAmB,SAAS;AACjD,CAAA","file":"index.js","sourcesContent":["import {\n customShadowlessElement,\n correctElementType,\n} from \"@brytdesigns/web-component-core/utils\";\nimport { KeenSliderAutoplay } from \"./components/index.js\";\n\ncustomShadowlessElement(\n KeenSliderAutoplay.Name,\n {\n target: \"keen-slider\",\n duration: 2000,\n totalSlides: 0,\n },\n correctElementType(KeenSliderAutoplay.Component),\n);\n"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@brytdesigns/web-component-keen-slider-autoplay",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Keen slider autoplay plugin web component",
|
|
5
|
+
"main": "./dist/main/index.js",
|
|
6
|
+
"module": "./dist/main/index.js",
|
|
7
|
+
"types": "./dist/main/index.d.ts",
|
|
8
|
+
"type": "module",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/main/index.d.ts",
|
|
12
|
+
"module": "./dist/main/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
18
|
+
"keywords": [],
|
|
19
|
+
"author": "Bryt Designs",
|
|
20
|
+
"license": "ISC",
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"component-register": "^0.8.7",
|
|
23
|
+
"solid-element": "^1.9.1",
|
|
24
|
+
"solid-js": "^1.9.7",
|
|
25
|
+
"@brytdesigns/web-component-keen-slider": "1.1.0",
|
|
26
|
+
"@brytdesigns/web-component-core": "1.1.2"
|
|
27
|
+
},
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"dts-bundle-generator": "^9.5.1",
|
|
30
|
+
"tsup": "^8.4.0"
|
|
31
|
+
},
|
|
32
|
+
"scripts": {
|
|
33
|
+
"build": "tsup --clean",
|
|
34
|
+
"typecheck": "tsc --noEmit"
|
|
35
|
+
}
|
|
36
|
+
}
|