Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@reelkit/angular

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@reelkit/angular

Angular adapter for ReelKit — virtualized one-item slider with gesture, keyboard, and wheel support.

latest
Source
npmnpm
Version
0.4.1
Version published
Maintainers
1
Created
Source

@reelkit/angular

npm Bundle size Star on GitHub

Angular bindings for @reelkit/core. Add a <rk-reel> component with a count and a template — it handles virtualization, gestures, and keyboard/wheel input. ~14.0 kB gzip.

Live Demo · Open in StackBlitz

Installation

npm install @reelkit/angular

Quick Start

import { Component } from '@angular/core';
import {
  ReelComponent,
  ReelIndicatorComponent,
  RkReelItemDirective,
} from '@reelkit/angular';

@Component({
  standalone: true,
  imports: [ReelComponent, ReelIndicatorComponent, RkReelItemDirective],
  template: `
    <rk-reel
      [count]="items.length"
      style="width: 100%; height: 100dvh"
      direction="vertical"
      [enableWheel]="true"
    >
      <ng-template rkReelItem let-i let-size="size">
        <div
          [style.width.px]="size[0]"
          [style.height.px]="size[1]"
          [style.background]="items[i].color"
          style="display:flex;align-items:center;justify-content:center;color:#fff"
        >
          {{ items[i].title }}
        </div>
      </ng-template>
      <rk-reel-indicator direction="vertical" />
    </rk-reel>
  `,
})
export class AppComponent {
  items = [
    { title: 'Slide 1', color: '#6366f1' },
    { title: 'Slide 2', color: '#8b5cf6' },
    { title: 'Slide 3', color: '#ec4899' },
  ];
}

Features

  • <rk-reel> — virtualized slider, keeps only 3 slides in the DOM
  • <rk-reel-indicator> — dot indicators that auto-connect to the parent via context
  • rkReelItem structural directive for slide templates
  • Measures its own size via ResizeObserver — no explicit dimensions needed
  • Swipe with momentum and snap, keyboard arrows, mouse wheel
  • Loop mode for infinite circular scrolling
  • ChangeDetectionStrategy.OnPush by default
  • Typed with TypeScript

API

rk-reel Inputs

InputTypeDefaultDescription
countnumberrequiredNumber of slides
direction'horizontal' | 'vertical''vertical'Slide direction
size[number, number]-Explicit [width, height]
initialIndexnumber0Starting slide index
loopbooleanfalseEnable infinite loop
swipeDistanceFactornumber0.12Swipe threshold (0-1)
transitionDurationnumber300Animation duration in ms
enableNavKeysbooleantrueEnable keyboard navigation
enableWheelbooleanfalseEnable mouse wheel navigation
wheelDebounceMsnumber200Wheel debounce duration

rk-reel Outputs

OutputTypeDescription
afterChange{ index: number; indexInRange: number }Fired after slide change
beforeChange{ index: number; nextIndex: number; ... }Fired before slide change
apiReadyReelApiEmits the imperative API
slideDragStartnumberDrag gesture started
slideDragEndnumberDrag gesture ended

rkReelItem Template Context

VariableTypeDescription
$implicitnumberAbsolute slide index (0 to count - 1)
indexInRangenumberPosition in visible window (0, 1, 2)
size[number, number]Container [width, height]

ReelIndicator Inputs

InputTypeDefaultDescription
directionstring-'horizontal' or 'vertical'
radiusnumber3Dot radius in pixels
visiblenumber3Number of visible dots
gapnumber4Gap between dots in pixels

Documentation

API reference, demos, and guides at reelkit.dev.

Support

If ReelKit saved you some time, a star on GitHub would mean a lot — it's a small thing, but it really helps the project get noticed.

Star on GitHub

License

MIT

Keywords

angular

FAQs

Package last updated on 27 Apr 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts