Skip to content

Framework ve CMS ​

Insigne Slider slaytlarınızı sizin DOM'unuzda tutar ve bir shadow root slot'u ile yansıtır. Framework'ler düğümlerinin sahibi olmaya devam eder; kurulacak ayrı bir sarmalayıcı paket yok.

React ​

jsx
import { useEffect, useRef } from 'react';
import { InsigneSlider } from 'insigne-slider';

export function Hero({ slides }) {
  const ref = useRef(null);
  useEffect(() => {
    const s = new InsigneSlider(ref.current, { effect: 'fade', autoplay: 5000 });
    return () => s.destroy();
  }, []);
  return (
    <div ref={ref} aria-label="Öne çıkanlar">
      {slides.map((s) => (
        <div key={s.id}>
          <img data-bg src={s.image} alt={s.alt} data-focus={s.focus} />
          <h2 data-in="lines-up">{s.title}</h2>
        </div>
      ))}
    </div>
  );
}

slides dizisine eleman eklemek veya çıkarmak slider'ı otomatik yeniler. React 19 ile, define()'ı bir kez çağırdıktan sonra elemanı doğrudan da kullanabilirsiniz: <insigne-slider effect="fade">…</insigne-slider>.

Vue ​

vue
<script setup>
import { onMounted, onBeforeUnmount, ref } from 'vue';
import { InsigneSlider } from 'insigne-slider';
const el = ref(null);
let slider;
onMounted(() => (slider = new InsigneSlider(el.value, { effect: 'cube' })));
onBeforeUnmount(() => slider?.destroy());
</script>

<template>
  <div ref="el">
    <div v-for="s in slides" :key="s.id"><img data-bg :src="s.image" :alt="s.alt" /></div>
  </div>
</template>

Vue şablonlarında <insigne-slider> kullanmak için derleyiciye bunun bir custom element olduğunu söyleyin: compilerOptions.isCustomElement = (tag) => tag.startsWith('insigne-').

Svelte ​

svelte
<script>
  import { onMount } from 'svelte';
  import { InsigneSlider } from 'insigne-slider';
  let el;
  onMount(() => {
    const s = new InsigneSlider(el, { effect: 'fade' });
    return () => s.destroy();
  });
</script>

<div bind:this={el}>{#each slides as s (s.id)}<div><img data-bg src={s.image} alt={s.alt} /></div>{/each}</div>

Angular ​

Bileşene CUSTOM_ELEMENTS_SCHEMA ekleyin ve define()'ı bir kez çağırın (örneğin main.ts içinde); sonra şablonlarda <insigne-slider> yazın.

Sunucu tarafı render (SSR) ​

Paketi sunucuda içe aktarmak güvenlidir: define(), init() veya new InsigneSlider() çağırana kadar hiçbir şey window'a dokunmaz. Slaytları sunucuda çizin, slider'ı istemcide başlatın.

WordPress, Laravel, herhangi bir CMS ​

CDN script'ini ana şablonunuza ekleyin ve şablonlarınızdan data-insigne işaretlemesi üretin:

blade
<div data-insigne data-effect="fade" data-autoplay="6000" aria-label="{{ $title }}">
  @foreach ($slides as $slide)
    <div>
      <img data-bg src="{{ $slide->image_url }}" alt="{{ $slide->alt }}" data-focus="{{ $slide->focus ?? '50% 50%' }}">
      <h2 data-in="lines-up">{{ $slide->title }}</h2>
    </div>
  @endforeach
</div>

CMS'inizde her görsel için bir odak noktası (iki sayı) saklamak, mobil için yapabileceğiniz en iyi tek şeydir.

Insigne Slider v1.0.0 · Free for any use with visible attribution · Atıf ile her kullanım için ücretsiz