@brytdesigns/web-component-keen-slider-auto-switch 2.1.5 → 2.1.7

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/keen-slider-auto-switch.ts","../../src/index.ts"],"names":["duration","isPaused"],"mappings":"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","file":"index.js","sourcesContent":["import type { CorrectComponentType } from \"@brytdesigns/web-component-core/utils\";\n\nimport {\n createEffect,\n createSignal,\n on,\n onCleanup,\n batch,\n untrack,\n} from \"solid-js\";\nimport { withKeenSliderElementContext } from \"@brytdesigns/web-component-keen-slider\";\n\nexport type Props = {\n target: string;\n duration: number;\n};\n\nexport const Name = \"keen-slider-auto-switch\";\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 () => props.duration,\n (context, duration) => {\n const [sliderRef] = context;\n const [_, setTimeoutVal] = createSignal<number | null>(null);\n const [isHovering, setIsHovering] = createSignal(false);\n const [isPaused, setIsPaused] = createSignal(false);\n\n function clearCurrentTimeout() {\n batch(() => {\n setIsPaused(true);\n setTimeoutVal((val) => {\n if (val) clearTimeout(val);\n return null;\n });\n });\n }\n\n function startNextTimeout(cb: any, duration: number) {\n if (untrack(isHovering)) return;\n batch(() => {\n setIsPaused(false);\n setTimeoutVal((val) => {\n if (val) clearTimeout(val);\n return setTimeout(cb, duration) as any as number;\n });\n });\n }\n\n createEffect(\n on(\n () => ({ isPaused: isPaused(), slider: sliderRef() }),\n ({ isPaused, slider }) => {\n if (!slider) return;\n slider.container.dispatchEvent(\n new CustomEvent(\"autoswitch:update\", {\n bubbles: true,\n detail: { isPaused },\n }),\n );\n },\n ),\n );\n\n createEffect(\n on(\n () => ({ slider: sliderRef() }),\n ({ slider }) => {\n if (!slider) return;\n const controller = new AbortController();\n\n function nextTimeout() {\n if (!slider) return;\n if (slider.options?.disabled) return;\n return startNextTimeout(() => {\n if (slider.slides.length <= 1) return;\n slider.next();\n }, duration);\n }\n\n (slider as any).pauseAutoplay = clearCurrentTimeout;\n (slider as any).startAutoplay = nextTimeout;\n\n slider.container.addEventListener(\n \"mouseenter\",\n () => {\n batch(() => {\n setIsHovering(true);\n clearCurrentTimeout();\n });\n },\n {\n signal: controller.signal,\n },\n );\n slider.container.addEventListener(\n \"mouseleave\",\n () => {\n batch(() => {\n setIsHovering(false);\n startNextTimeout(nextTimeout, duration);\n });\n },\n {\n signal: controller.signal,\n },\n );\n\n slider.on(\"dragStarted\", clearCurrentTimeout);\n slider.on(\"slideChanged\", clearCurrentTimeout);\n slider.on(\"animationEnded\", nextTimeout);\n slider.on(\"updated\", nextTimeout);\n slider.on(\"destroyed\", clearCurrentTimeout, true);\n\n nextTimeout();\n\n return onCleanup(() => {\n controller.abort();\n\n slider.on(\"dragStarted\", clearCurrentTimeout, true);\n slider.on(\"slideChanged\", clearCurrentTimeout, true);\n slider.on(\"animationEnded\", nextTimeout, true);\n slider.on(\"updated\", nextTimeout, true);\n slider.on(\"destroyed\", clearCurrentTimeout, true);\n });\n },\n ),\n );\n },\n );\n};\n","import {\n customShadowlessElement,\n correctElementType,\n} from \"@brytdesigns/web-component-core/utils\";\nimport { KeenSliderAutoSwitch } from \"./components/index.js\";\n\nexport type KeenSliderAutoSwitchProps = KeenSliderAutoSwitch.Props;\n\ncustomShadowlessElement(\n KeenSliderAutoSwitch.Name,\n {\n target: \"keen-slider\",\n duration: 2000,\n },\n correctElementType(KeenSliderAutoSwitch.Component),\n);\n"]}
1
+ {"version":3,"sources":["../../src/components/keen-slider-auto-switch.ts","../../src/index.ts"],"names":["duration","isPaused"],"mappings":"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","file":"index.js","sourcesContent":["import type { CorrectComponentType } from \"@brytdesigns/web-component-core/utils\";\r\n\r\nimport {\r\n createEffect,\r\n createSignal,\r\n on,\r\n onCleanup,\r\n batch,\r\n untrack,\r\n} from \"solid-js\";\r\nimport { withKeenSliderElementContext } from \"@brytdesigns/web-component-keen-slider\";\r\n\r\nexport type Props = {\r\n target: string;\r\n duration: number;\r\n};\r\n\r\nexport const Name = \"keen-slider-auto-switch\";\r\n\r\nexport const Component: CorrectComponentType<Props> = (props, { element }) => {\r\n if (!props.target)\r\n return console.warn(\r\n `${Name}: Needs a proper target in order to properly extend a keen slider.`,\r\n );\r\n\r\n withKeenSliderElementContext(\r\n () => {\r\n const selector = props.target;\r\n return () => {\r\n let targetEl: Element | null = element;\r\n if (props.target) targetEl = document.querySelector(selector);\r\n if (targetEl?.tagName !== \"KEEN-SLIDER\")\r\n targetEl = targetEl!.querySelector(\"keen-slider\");\r\n return targetEl!;\r\n };\r\n },\r\n () => props.duration,\r\n (context, duration) => {\r\n const [sliderRef] = context;\r\n const [_, setTimeoutVal] = createSignal<number | null>(null);\r\n const [isHovering, setIsHovering] = createSignal(false);\r\n const [isPaused, setIsPaused] = createSignal(false);\r\n\r\n function clearCurrentTimeout() {\r\n batch(() => {\r\n setIsPaused(true);\r\n setTimeoutVal((val) => {\r\n if (val) clearTimeout(val);\r\n return null;\r\n });\r\n });\r\n }\r\n\r\n function startNextTimeout(cb: any, duration: number) {\r\n if (untrack(isHovering)) return;\r\n batch(() => {\r\n setIsPaused(false);\r\n setTimeoutVal((val) => {\r\n if (val) clearTimeout(val);\r\n return setTimeout(cb, duration) as any as number;\r\n });\r\n });\r\n }\r\n\r\n createEffect(\r\n on(\r\n () => ({ isPaused: isPaused(), slider: sliderRef() }),\r\n ({ isPaused, slider }) => {\r\n if (!slider) return;\r\n slider.container.dispatchEvent(\r\n new CustomEvent(\"autoswitch:update\", {\r\n bubbles: true,\r\n detail: { isPaused },\r\n }),\r\n );\r\n },\r\n ),\r\n );\r\n\r\n createEffect(\r\n on(\r\n () => ({ slider: sliderRef() }),\r\n ({ slider }) => {\r\n if (!slider) return;\r\n const controller = new AbortController();\r\n\r\n function nextTimeout() {\r\n if (!slider) return;\r\n if (slider.options?.disabled) return;\r\n return startNextTimeout(() => {\r\n if (slider.slides.length <= 1) return;\r\n slider.next();\r\n }, duration);\r\n }\r\n\r\n (slider as any).pauseAutoplay = clearCurrentTimeout;\r\n (slider as any).startAutoplay = nextTimeout;\r\n\r\n slider.container.addEventListener(\r\n \"mouseenter\",\r\n () => {\r\n batch(() => {\r\n setIsHovering(true);\r\n clearCurrentTimeout();\r\n });\r\n },\r\n {\r\n signal: controller.signal,\r\n },\r\n );\r\n slider.container.addEventListener(\r\n \"mouseleave\",\r\n () => {\r\n batch(() => {\r\n setIsHovering(false);\r\n startNextTimeout(nextTimeout, duration);\r\n });\r\n },\r\n {\r\n signal: controller.signal,\r\n },\r\n );\r\n\r\n slider.on(\"dragStarted\", clearCurrentTimeout);\r\n slider.on(\"slideChanged\", clearCurrentTimeout);\r\n slider.on(\"animationEnded\", nextTimeout);\r\n slider.on(\"updated\", nextTimeout);\r\n slider.on(\"destroyed\", clearCurrentTimeout, true);\r\n\r\n nextTimeout();\r\n\r\n return onCleanup(() => {\r\n controller.abort();\r\n\r\n slider.on(\"dragStarted\", clearCurrentTimeout, true);\r\n slider.on(\"slideChanged\", clearCurrentTimeout, true);\r\n slider.on(\"animationEnded\", nextTimeout, true);\r\n slider.on(\"updated\", nextTimeout, true);\r\n slider.on(\"destroyed\", clearCurrentTimeout, true);\r\n });\r\n },\r\n ),\r\n );\r\n },\r\n );\r\n};\r\n","import {\r\n customShadowlessElement,\r\n correctElementType,\r\n} from \"@brytdesigns/web-component-core/utils\";\r\nimport { KeenSliderAutoSwitch } from \"./components/index.js\";\r\n\r\nexport type KeenSliderAutoSwitchProps = KeenSliderAutoSwitch.Props;\r\n\r\ncustomShadowlessElement(\r\n KeenSliderAutoSwitch.Name,\r\n {\r\n target: \"keen-slider\",\r\n duration: 2000,\r\n },\r\n correctElementType(KeenSliderAutoSwitch.Component),\r\n);\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/keen-slider-auto-switch.ts"],"names":["duration","isPaused"],"mappings":"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","file":"keen-slider-auto-switch.js","sourcesContent":["import type { CorrectComponentType } from \"@brytdesigns/web-component-core/utils\";\n\nimport {\n createEffect,\n createSignal,\n on,\n onCleanup,\n batch,\n untrack,\n} from \"solid-js\";\nimport { withKeenSliderElementContext } from \"@brytdesigns/web-component-keen-slider\";\n\nexport type Props = {\n target: string;\n duration: number;\n};\n\nexport const Name = \"keen-slider-auto-switch\";\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 () => props.duration,\n (context, duration) => {\n const [sliderRef] = context;\n const [_, setTimeoutVal] = createSignal<number | null>(null);\n const [isHovering, setIsHovering] = createSignal(false);\n const [isPaused, setIsPaused] = createSignal(false);\n\n function clearCurrentTimeout() {\n batch(() => {\n setIsPaused(true);\n setTimeoutVal((val) => {\n if (val) clearTimeout(val);\n return null;\n });\n });\n }\n\n function startNextTimeout(cb: any, duration: number) {\n if (untrack(isHovering)) return;\n batch(() => {\n setIsPaused(false);\n setTimeoutVal((val) => {\n if (val) clearTimeout(val);\n return setTimeout(cb, duration) as any as number;\n });\n });\n }\n\n createEffect(\n on(\n () => ({ isPaused: isPaused(), slider: sliderRef() }),\n ({ isPaused, slider }) => {\n if (!slider) return;\n slider.container.dispatchEvent(\n new CustomEvent(\"autoswitch:update\", {\n bubbles: true,\n detail: { isPaused },\n }),\n );\n },\n ),\n );\n\n createEffect(\n on(\n () => ({ slider: sliderRef() }),\n ({ slider }) => {\n if (!slider) return;\n const controller = new AbortController();\n\n function nextTimeout() {\n if (!slider) return;\n if (slider.options?.disabled) return;\n return startNextTimeout(() => {\n if (slider.slides.length <= 1) return;\n slider.next();\n }, duration);\n }\n\n (slider as any).pauseAutoplay = clearCurrentTimeout;\n (slider as any).startAutoplay = nextTimeout;\n\n slider.container.addEventListener(\n \"mouseenter\",\n () => {\n batch(() => {\n setIsHovering(true);\n clearCurrentTimeout();\n });\n },\n {\n signal: controller.signal,\n },\n );\n slider.container.addEventListener(\n \"mouseleave\",\n () => {\n batch(() => {\n setIsHovering(false);\n startNextTimeout(nextTimeout, duration);\n });\n },\n {\n signal: controller.signal,\n },\n );\n\n slider.on(\"dragStarted\", clearCurrentTimeout);\n slider.on(\"slideChanged\", clearCurrentTimeout);\n slider.on(\"animationEnded\", nextTimeout);\n slider.on(\"updated\", nextTimeout);\n slider.on(\"destroyed\", clearCurrentTimeout, true);\n\n nextTimeout();\n\n return onCleanup(() => {\n controller.abort();\n\n slider.on(\"dragStarted\", clearCurrentTimeout, true);\n slider.on(\"slideChanged\", clearCurrentTimeout, true);\n slider.on(\"animationEnded\", nextTimeout, true);\n slider.on(\"updated\", nextTimeout, true);\n slider.on(\"destroyed\", clearCurrentTimeout, true);\n });\n },\n ),\n );\n },\n );\n};\n"]}
1
+ {"version":3,"sources":["../../../src/components/keen-slider-auto-switch.ts"],"names":["duration","isPaused"],"mappings":"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","file":"keen-slider-auto-switch.js","sourcesContent":["import type { CorrectComponentType } from \"@brytdesigns/web-component-core/utils\";\r\n\r\nimport {\r\n createEffect,\r\n createSignal,\r\n on,\r\n onCleanup,\r\n batch,\r\n untrack,\r\n} from \"solid-js\";\r\nimport { withKeenSliderElementContext } from \"@brytdesigns/web-component-keen-slider\";\r\n\r\nexport type Props = {\r\n target: string;\r\n duration: number;\r\n};\r\n\r\nexport const Name = \"keen-slider-auto-switch\";\r\n\r\nexport const Component: CorrectComponentType<Props> = (props, { element }) => {\r\n if (!props.target)\r\n return console.warn(\r\n `${Name}: Needs a proper target in order to properly extend a keen slider.`,\r\n );\r\n\r\n withKeenSliderElementContext(\r\n () => {\r\n const selector = props.target;\r\n return () => {\r\n let targetEl: Element | null = element;\r\n if (props.target) targetEl = document.querySelector(selector);\r\n if (targetEl?.tagName !== \"KEEN-SLIDER\")\r\n targetEl = targetEl!.querySelector(\"keen-slider\");\r\n return targetEl!;\r\n };\r\n },\r\n () => props.duration,\r\n (context, duration) => {\r\n const [sliderRef] = context;\r\n const [_, setTimeoutVal] = createSignal<number | null>(null);\r\n const [isHovering, setIsHovering] = createSignal(false);\r\n const [isPaused, setIsPaused] = createSignal(false);\r\n\r\n function clearCurrentTimeout() {\r\n batch(() => {\r\n setIsPaused(true);\r\n setTimeoutVal((val) => {\r\n if (val) clearTimeout(val);\r\n return null;\r\n });\r\n });\r\n }\r\n\r\n function startNextTimeout(cb: any, duration: number) {\r\n if (untrack(isHovering)) return;\r\n batch(() => {\r\n setIsPaused(false);\r\n setTimeoutVal((val) => {\r\n if (val) clearTimeout(val);\r\n return setTimeout(cb, duration) as any as number;\r\n });\r\n });\r\n }\r\n\r\n createEffect(\r\n on(\r\n () => ({ isPaused: isPaused(), slider: sliderRef() }),\r\n ({ isPaused, slider }) => {\r\n if (!slider) return;\r\n slider.container.dispatchEvent(\r\n new CustomEvent(\"autoswitch:update\", {\r\n bubbles: true,\r\n detail: { isPaused },\r\n }),\r\n );\r\n },\r\n ),\r\n );\r\n\r\n createEffect(\r\n on(\r\n () => ({ slider: sliderRef() }),\r\n ({ slider }) => {\r\n if (!slider) return;\r\n const controller = new AbortController();\r\n\r\n function nextTimeout() {\r\n if (!slider) return;\r\n if (slider.options?.disabled) return;\r\n return startNextTimeout(() => {\r\n if (slider.slides.length <= 1) return;\r\n slider.next();\r\n }, duration);\r\n }\r\n\r\n (slider as any).pauseAutoplay = clearCurrentTimeout;\r\n (slider as any).startAutoplay = nextTimeout;\r\n\r\n slider.container.addEventListener(\r\n \"mouseenter\",\r\n () => {\r\n batch(() => {\r\n setIsHovering(true);\r\n clearCurrentTimeout();\r\n });\r\n },\r\n {\r\n signal: controller.signal,\r\n },\r\n );\r\n slider.container.addEventListener(\r\n \"mouseleave\",\r\n () => {\r\n batch(() => {\r\n setIsHovering(false);\r\n startNextTimeout(nextTimeout, duration);\r\n });\r\n },\r\n {\r\n signal: controller.signal,\r\n },\r\n );\r\n\r\n slider.on(\"dragStarted\", clearCurrentTimeout);\r\n slider.on(\"slideChanged\", clearCurrentTimeout);\r\n slider.on(\"animationEnded\", nextTimeout);\r\n slider.on(\"updated\", nextTimeout);\r\n slider.on(\"destroyed\", clearCurrentTimeout, true);\r\n\r\n nextTimeout();\r\n\r\n return onCleanup(() => {\r\n controller.abort();\r\n\r\n slider.on(\"dragStarted\", clearCurrentTimeout, true);\r\n slider.on(\"slideChanged\", clearCurrentTimeout, true);\r\n slider.on(\"animationEnded\", nextTimeout, true);\r\n slider.on(\"updated\", nextTimeout, true);\r\n slider.on(\"destroyed\", clearCurrentTimeout, true);\r\n });\r\n },\r\n ),\r\n );\r\n },\r\n );\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;AAQA,uBAAA;AAAA,EACE,oBAAqB,CAAA,IAAA;AAAA,EACrB;AAAA,IACE,MAAQ,EAAA,aAAA;AAAA,IACR,QAAU,EAAA;AAAA,GACZ;AAAA,EACA,kBAAA,CAAmB,qBAAqB,SAAS;AACnD,CAAA","file":"index.js","sourcesContent":["import {\n customShadowlessElement,\n correctElementType,\n} from \"@brytdesigns/web-component-core/utils\";\nimport { KeenSliderAutoSwitch } from \"./components/index.js\";\n\nexport type KeenSliderAutoSwitchProps = KeenSliderAutoSwitch.Props;\n\ncustomShadowlessElement(\n KeenSliderAutoSwitch.Name,\n {\n target: \"keen-slider\",\n duration: 2000,\n },\n correctElementType(KeenSliderAutoSwitch.Component),\n);\n"]}
1
+ {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;AAQA,uBAAA;AAAA,EACE,oBAAqB,CAAA,IAAA;AAAA,EACrB;AAAA,IACE,MAAQ,EAAA,aAAA;AAAA,IACR,QAAU,EAAA;AAAA,GACZ;AAAA,EACA,kBAAA,CAAmB,qBAAqB,SAAS;AACnD,CAAA","file":"index.js","sourcesContent":["import {\r\n customShadowlessElement,\r\n correctElementType,\r\n} from \"@brytdesigns/web-component-core/utils\";\r\nimport { KeenSliderAutoSwitch } from \"./components/index.js\";\r\n\r\nexport type KeenSliderAutoSwitchProps = KeenSliderAutoSwitch.Props;\r\n\r\ncustomShadowlessElement(\r\n KeenSliderAutoSwitch.Name,\r\n {\r\n target: \"keen-slider\",\r\n duration: 2000,\r\n },\r\n correctElementType(KeenSliderAutoSwitch.Component),\r\n);\r\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brytdesigns/web-component-keen-slider-auto-switch",
3
- "version": "2.1.5",
3
+ "version": "2.1.7",
4
4
  "description": "Keen slider auto switch plugin web component",
5
5
  "main": "./dist/main/index.js",
6
6
  "module": "./dist/main/index.js",
@@ -22,8 +22,8 @@
22
22
  "component-register": "0.8.7",
23
23
  "solid-element": "^1.9.1",
24
24
  "solid-js": "^1.9.9",
25
- "@brytdesigns/web-component-core": "1.1.5",
26
- "@brytdesigns/web-component-keen-slider": "1.2.1"
25
+ "@brytdesigns/web-component-core": "1.1.7",
26
+ "@brytdesigns/web-component-keen-slider": "1.2.3"
27
27
  },
28
28
  "devDependencies": {
29
29
  "dts-bundle-generator": "^9.5.1",