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-reel-player

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@reelkit/angular-reel-player

Full-screen vertical-swipe video/image reel player for Angular, inspired by Instagram Reels and TikTok

latest
Source
npmnpm
Version
0.4.1
Version published
Maintainers
1
Created
Source

@reelkit/angular-reel-player

npm Bundle size Star on GitHub

Instagram Reels / TikTok-style video player for Angular. Opens as a full-screen overlay with vertical swipe navigation. Handles video autoplay, sound continuity on iOS, and multi-media posts. ~19.3 kB gzip.

Live Demo

Installation

npm install @reelkit/angular-reel-player @reelkit/angular

Quick Start

import { Component, signal } from '@angular/core';
import {
  RkReelPlayerOverlayComponent,
  type ContentItem,
} from '@reelkit/angular-reel-player';

@Component({
  standalone: true,
  imports: [RkReelPlayerOverlayComponent],
  template: `
    <button (click)="isOpen.set(true)">Open Player</button>
    <rk-reel-player-overlay
      [isOpen]="isOpen()"
      [content]="content"
      (closed)="isOpen.set(false)"
    />
  `,
})
export class AppComponent {
  isOpen = signal(false);
  content: ContentItem[] = [
    {
      id: '1',
      media: [
        {
          id: 'v1',
          type: 'video',
          src: 'https://example.com/video.mp4',
          poster: 'https://example.com/poster.jpg',
          aspectRatio: 9 / 16,
        },
      ],
      author: { name: 'John Doe', avatar: 'https://example.com/avatar.jpg' },
      likes: 1234,
      description: 'Amazing video!',
    },
  ];
}

Features

  • Vertical swipe navigation (touch, mouse, keyboard, wheel)
  • Video autoplay with sound toggle
  • Multi-media posts with horizontal nested slider
  • Instagram-style indicator dots
  • Keyboard navigation (Arrow keys, Escape)
  • Desktop navigation arrows
  • iOS sound continuity via shared <video> element
  • Video position memory across slide changes

Template Slots

Customization via @ContentChild template directives:

DirectiveDescription
rkPlayerSlideOverlayCustom per-slide overlay (author, likes, etc.)
rkPlayerSlideFully custom slide content
rkPlayerControlsCustom player controls (close, sound)
rkPlayerNavigationCustom prev/next navigation arrows
rkPlayerNestedSlideCustom nested horizontal slide content
rkPlayerNestedNavigationCustom arrows for the inner slider

API Reference

rk-reel-player-overlay Inputs

InputTypeDefaultDescription
isOpenbooleanrequiredControls overlay visibility
contentContentItem[]requiredContent items to display
initialIndexnumber0Starting slide index
loopbooleanfalseEnable infinite loop
enableNavKeysbooleantrueEnable keyboard navigation
enableWheelbooleantrueEnable mouse wheel navigation
wheelDebounceMsnumber200Wheel debounce duration (ms)
transitionDurationnumber300Transition duration (ms)
swipeDistanceFactornumber0.12Swipe threshold (0-1)

rk-reel-player-overlay Outputs

OutputTypeDescription
closedvoidEmitted when player closes
slideChangenumberEmitted after slide change

Types

interface ContentItem {
  id: string;
  media: MediaItem[];
  author: {
    name: string;
    avatar: string;
  };
  likes: number;
  description: string;
}

interface MediaItem {
  id: string;
  type: 'image' | 'video';
  src: string;
  poster?: string;
  aspectRatio: number;
}

Keyboard Shortcuts

KeyAction
ArrowUpPrevious slide
ArrowDownNext slide
ArrowLeftPrevious media (nested)
ArrowRightNext media (nested)
EscapeClose player

CSS Classes

ClassDescription
.rk-reel-overlayOverlay background
.rk-reel-containerPlayer container
.rk-reel-slide-wrapperSlide wrapper
.rk-reel-buttonShared circular icon button
.rk-reel-nav-arrowsDesktop nav arrows container
.rk-reel-nav-btnIndividual nav arrow button
.rk-reel-close-btnClose button
.rk-reel-sound-btnSound toggle
.rk-reel-slide-overlayPer-slide overlay (author, likes)
.rk-reel-slide-overlay-authorAuthor row
.rk-reel-slide-overlay-avatarAuthor avatar
.rk-reel-slide-overlay-nameAuthor name
.rk-reel-slide-overlay-descriptionSlide description
.rk-reel-slide-overlay-likesLike count
.rk-reel-nested-slider-innerNested horizontal slider
.rk-reel-nested-navNested nav arrows
.rk-reel-nested-nav-prevNested prev arrow
.rk-reel-nested-nav-nextNested next arrow
.rk-reel-nested-indicatorNested slider dot indicator
.rk-reel-video-containerVideo slide wrapper
.rk-reel-video-elementVideo element
.rk-reel-video-posterVideo poster image
.rk-reel-video-loaderVideo loading indicator
.rk-reel-media-errorError state overlay
.rk-reel-media-error-textError message text
.rk-reel-loaderWave loading overlay

Theming via CSS custom properties

Every visual value is exposed as a --rk-reel-* custom property with a sensible default. Override at :root (or any ancestor of .rk-reel-overlay) to retheme without touching component source — see the Theming docs for the full token table.

Documentation

Docs and interactive demos at reelkit.dev/docs/angular-reel-player.

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