{
  "homepage": "https://limeplay.winoffrg.dev",
  "items": [
    {
      "name": "index",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "devDependencies": [
        "tw-animate-css"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/utils.json"
      ],
      "files": [],
      "cssVars": {},
      "type": "registry:style"
    },
    {
      "name": "error-screen",
      "dependencies": [
        "shaka-player@^4"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "item"
      ],
      "files": [
        {
          "path": "registry/default/ui/error-screen.tsx",
          "type": "registry:ui",
          "target": "components/limeplay/error-screen.tsx"
        }
      ],
      "type": "registry:ui"
    },
    {
      "name": "fallback-poster",
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/media-provider.json"
      ],
      "files": [
        {
          "path": "registry/default/ui/fallback-poster.tsx",
          "type": "registry:ui",
          "target": "components/limeplay/fallback-poster.tsx"
        }
      ],
      "type": "registry:ui"
    },
    {
      "name": "mute-control",
      "dependencies": [
        "@radix-ui/react-slot"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/use-volume.json",
        "https://limeplay.winoffrg.dev/r/use-playback.json"
      ],
      "files": [
        {
          "path": "registry/default/ui/mute-control.tsx",
          "type": "registry:ui",
          "target": "components/limeplay/mute-control.tsx"
        }
      ],
      "type": "registry:ui"
    },
    {
      "name": "media-provider",
      "dependencies": [
        "zustand",
        "immer"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/default/ui/media-provider.tsx",
          "type": "registry:ui",
          "target": "components/limeplay/media-provider.tsx"
        }
      ],
      "cssVars": {
        "light": {
          "lp-accent": "oklch(0.269 0 0)",
          "lp-primary": "oklch(0.205 0 0)",
          "lp-primary-foreground": "oklch(0.985 0 0)"
        },
        "dark": {
          "lp-accent": "oklch(0.97 0 0)",
          "lp-primary": "oklch(0.205 0 0)",
          "lp-primary-foreground": "oklch(0.985 0 0)"
        }
      },
      "type": "registry:ui"
    },
    {
      "name": "player-layout",
      "dependencies": [
        "@radix-ui/react-compose-refs",
        "@radix-ui/react-slot"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/media-provider.json"
      ],
      "files": [
        {
          "path": "registry/default/ui/player-layout.tsx",
          "type": "registry:ui",
          "target": "components/limeplay/player-layout.tsx"
        }
      ],
      "type": "registry:ui"
    },
    {
      "name": "media",
      "dependencies": [
        "@radix-ui/react-compose-refs",
        "@radix-ui/react-slot"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/use-media.json",
        "https://limeplay.winoffrg.dev/r/use-playback.json"
      ],
      "files": [
        {
          "path": "registry/default/ui/media.tsx",
          "type": "registry:ui",
          "target": "components/limeplay/media.tsx"
        }
      ],
      "type": "registry:ui"
    },
    {
      "name": "volume-control",
      "dependencies": [
        "@base-ui/react"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/utils.json",
        "https://limeplay.winoffrg.dev/r/use-volume.json",
        "https://limeplay.winoffrg.dev/r/use-track-events.json",
        "https://limeplay.winoffrg.dev/r/use-playback.json"
      ],
      "files": [
        {
          "path": "registry/default/ui/volume-control.tsx",
          "type": "registry:ui",
          "target": "components/limeplay/volume-control.tsx"
        }
      ],
      "type": "registry:ui"
    },
    {
      "name": "playback-control",
      "dependencies": [
        "@radix-ui/react-slot"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/use-playback.json"
      ],
      "files": [
        {
          "path": "registry/default/ui/playback-control.tsx",
          "type": "registry:ui",
          "target": "components/limeplay/playback-control.tsx"
        }
      ],
      "type": "registry:ui"
    },
    {
      "name": "picture-in-picture-control",
      "dependencies": [
        "@radix-ui/react-slot"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/use-picture-in-picture.json",
        "https://limeplay.winoffrg.dev/r/use-playback.json"
      ],
      "files": [
        {
          "path": "registry/default/ui/picture-in-picture-control.tsx",
          "type": "registry:ui",
          "target": "components/limeplay/picture-in-picture-control.tsx"
        }
      ],
      "type": "registry:ui"
    },
    {
      "name": "playback-rate",
      "dependencies": [
        "@radix-ui/react-slot"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/use-playback-rate.json",
        "select"
      ],
      "files": [
        {
          "path": "registry/default/ui/playback-rate.tsx",
          "type": "registry:ui",
          "target": "components/limeplay/playback-rate.tsx"
        }
      ],
      "type": "registry:ui"
    },
    {
      "name": "timeline-labels",
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/use-timeline.json",
        "https://limeplay.winoffrg.dev/r/utils.json",
        "https://limeplay.winoffrg.dev/r/time.json"
      ],
      "files": [
        {
          "path": "registry/default/ui/timeline-labels.tsx",
          "type": "registry:ui",
          "target": "components/limeplay/timeline-labels.tsx"
        }
      ],
      "type": "registry:ui"
    },
    {
      "name": "timeline-control",
      "dependencies": [
        "@base-ui/react"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/utils.json",
        "https://limeplay.winoffrg.dev/r/use-timeline.json",
        "https://limeplay.winoffrg.dev/r/use-track-events.json",
        "https://limeplay.winoffrg.dev/r/use-playback.json"
      ],
      "files": [
        {
          "path": "registry/default/ui/timeline-control.tsx",
          "type": "registry:ui",
          "target": "components/limeplay/timeline-control.tsx"
        }
      ],
      "cssVars": {
        "theme": {
          "lp-timeline-track-height": "4px",
          "lp-timeline-track-height-active": "7px"
        },
        "light": {
          "lp-timeline-buffered-color": "oklch(0.985 0 0 / 0.4)"
        },
        "dark": {
          "lp-timeline-buffered-color": "oklch(0.985 0 0 / 0.4)"
        }
      },
      "type": "registry:ui"
    },
    {
      "name": "limeplay-logo",
      "files": [
        {
          "path": "registry/default/ui/limeplay-logo.tsx",
          "type": "registry:ui",
          "target": "components/limeplay/limeplay-logo.tsx"
        }
      ],
      "type": "registry:ui"
    },
    {
      "name": "root-container",
      "dependencies": [
        "@radix-ui/react-compose-refs",
        "@radix-ui/react-slot"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/use-media.json",
        "https://limeplay.winoffrg.dev/r/use-playback.json",
        "https://limeplay.winoffrg.dev/r/use-player.json"
      ],
      "files": [
        {
          "path": "registry/default/ui/root-container.tsx",
          "type": "registry:ui",
          "target": "components/limeplay/root-container.tsx"
        }
      ],
      "type": "registry:ui"
    },
    {
      "name": "captions",
      "dependencies": [
        "@radix-ui/react-compose-refs",
        "@radix-ui/react-slot"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/use-captions.json"
      ],
      "files": [
        {
          "path": "registry/default/ui/captions.tsx",
          "type": "registry:ui",
          "target": "components/limeplay/captions.tsx"
        }
      ],
      "type": "registry:ui"
    },
    {
      "name": "seek-controls",
      "dependencies": [
        "@radix-ui/react-slot"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/use-seek.json",
        "https://limeplay.winoffrg.dev/r/use-playback.json"
      ],
      "files": [
        {
          "path": "registry/default/ui/seek-controls.tsx",
          "type": "registry:ui",
          "target": "components/limeplay/seek-controls.tsx"
        }
      ],
      "type": "registry:ui"
    },
    {
      "name": "video-player",
      "author": "Rohan Gupta (@winoffrg)",
      "description": "Modern seamless flat video player",
      "dependencies": [
        "@phosphor-icons/react",
        "@base-ui/react",
        "@radix-ui/react-toggle",
        "zustand",
        "shaka-player@^4",
        "lodash.clamp"
      ],
      "registryDependencies": [
        "https://bazza.dev/r/hit-area",
        "dropdown-menu",
        "https://limeplay.winoffrg.dev/r/player-layout.json",
        "https://limeplay.winoffrg.dev/r/media.json",
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/mute-control.json",
        "https://limeplay.winoffrg.dev/r/playback-control.json",
        "https://limeplay.winoffrg.dev/r/picture-in-picture-control.json",
        "https://limeplay.winoffrg.dev/r/timeline-control.json",
        "https://limeplay.winoffrg.dev/r/volume-control.json",
        "https://limeplay.winoffrg.dev/r/use-timeline.json",
        "https://limeplay.winoffrg.dev/r/use-volume.json",
        "https://limeplay.winoffrg.dev/r/use-player.json",
        "https://limeplay.winoffrg.dev/r/use-track-events.json",
        "https://limeplay.winoffrg.dev/r/utils.json",
        "https://limeplay.winoffrg.dev/r/error-screen.json",
        "https://limeplay.winoffrg.dev/r/fallback-poster.json",
        "https://limeplay.winoffrg.dev/r/timeline-labels.json",
        "https://limeplay.winoffrg.dev/r/limeplay-logo.json",
        "https://limeplay.winoffrg.dev/r/root-container.json",
        "https://limeplay.winoffrg.dev/r/captions.json",
        "https://limeplay.winoffrg.dev/r/use-captions.json",
        "https://limeplay.winoffrg.dev/r/playback-rate.json",
        "https://limeplay.winoffrg.dev/r/use-playback-rate.json",
        "https://limeplay.winoffrg.dev/r/use-playback.json",
        "https://limeplay.winoffrg.dev/r/use-picture-in-picture.json",
        "https://limeplay.winoffrg.dev/r/use-playlist.json",
        "https://limeplay.winoffrg.dev/r/use-asset.json",
        "https://limeplay.winoffrg.dev/r/use-media.json",
        "https://limeplay.winoffrg.dev/r/use-controls-visibility.json",
        "https://limeplay.winoffrg.dev/r/use-playback-source.json"
      ],
      "files": [
        {
          "path": "registry/default/blocks/video-player/player.tsx",
          "type": "registry:component",
          "target": "components/video-player/player.tsx"
        },
        {
          "path": "registry/default/blocks/video-player/styles.css",
          "type": "registry:style",
          "target": "components/video-player/styles.css"
        },
        {
          "path": "registry/default/blocks/video-player/components/player-root-container.tsx",
          "type": "registry:component",
          "target": "components/video-player/components/player-root-container.tsx"
        },
        {
          "path": "registry/default/blocks/video-player/components/player-error-screen.tsx",
          "type": "registry:component",
          "target": "components/video-player/components/player-error-screen.tsx"
        },
        {
          "path": "registry/default/blocks/video-player/components/top-overlay-container.tsx",
          "type": "registry:component",
          "target": "components/video-player/components/top-overlay-container.tsx"
        },
        {
          "path": "registry/default/blocks/video-player/components/volume-state-control.tsx",
          "type": "registry:component",
          "target": "components/video-player/components/volume-state-control.tsx"
        },
        {
          "path": "registry/default/blocks/video-player/components/playback-state-control.tsx",
          "type": "registry:component",
          "target": "components/video-player/components/playback-state-control.tsx"
        },
        {
          "path": "registry/default/blocks/video-player/components/volume-slider-control.tsx",
          "type": "registry:component",
          "target": "components/video-player/components/volume-slider-control.tsx"
        },
        {
          "path": "registry/default/blocks/video-player/components/timeline-slider-control.tsx",
          "type": "registry:component",
          "target": "components/video-player/components/timeline-slider-control.tsx"
        },
        {
          "path": "registry/default/blocks/video-player/components/bottom-controls.tsx",
          "type": "registry:component",
          "target": "components/video-player/components/bottom-controls.tsx"
        },
        {
          "path": "registry/default/blocks/video-player/components/button.tsx",
          "type": "registry:component",
          "target": "components/video-player/components/button.tsx"
        },
        {
          "path": "registry/default/blocks/video-player/lib/media-kit.ts",
          "type": "registry:lib",
          "target": "components/video-player/lib/media-kit.ts"
        },
        {
          "path": "registry/default/blocks/video-player/components/playlist.tsx",
          "type": "registry:component",
          "target": "components/video-player/components/playlist.tsx"
        },
        {
          "path": "registry/default/blocks/video-player/components/playlist-navigation-controls.tsx",
          "type": "registry:component",
          "target": "components/video-player/components/playlist-navigation-controls.tsx"
        },
        {
          "path": "registry/default/blocks/video-player/components/captions-state-control.tsx",
          "type": "registry:component",
          "target": "components/video-player/components/captions-state-control.tsx"
        },
        {
          "path": "registry/default/blocks/video-player/components/playback-rate-control.tsx",
          "type": "registry:component",
          "target": "components/video-player/components/playback-rate-control.tsx"
        },
        {
          "path": "registry/default/blocks/video-player/ui/toggle.tsx",
          "type": "registry:ui",
          "target": "components/ui/toggle.tsx"
        },
        {
          "path": "registry/default/blocks/video-player/components/volume-group-control.tsx",
          "type": "registry:component",
          "target": "components/video-player/components/volume-group-control.tsx"
        },
        {
          "path": "registry/default/blocks/video-player/components/pip-control.tsx",
          "type": "registry:component",
          "target": "components/video-player/components/pip-control.tsx"
        }
      ],
      "meta": {
        "iframeHeight": "750px",
        "props": {
          "source": "https://ad391cc0d55b44c6a86d232548adc225.mediatailor.us-east-1.amazonaws.com/v1/master/d02fedbbc5a68596164208dd24e9b48aa60dadc7/singssai/master.m3u8"
        }
      },
      "type": "registry:block"
    },
    {
      "name": "audio-player",
      "title": "Audio Player",
      "author": "Rohan Gupta (@winoffrg)",
      "description": "Compact audio player with playlist support",
      "dependencies": [
        "@phosphor-icons/react",
        "@radix-ui/react-slot",
        "motion",
        "zustand",
        "shaka-player@^4"
      ],
      "registryDependencies": [
        "https://bazza.dev/r/hit-area",
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/media.json",
        "https://limeplay.winoffrg.dev/r/root-container.json",
        "https://limeplay.winoffrg.dev/r/timeline-control.json",
        "https://limeplay.winoffrg.dev/r/timeline-labels.json",
        "https://limeplay.winoffrg.dev/r/mute-control.json",
        "https://limeplay.winoffrg.dev/r/volume-control.json",
        "https://limeplay.winoffrg.dev/r/playback-control.json",
        "dropdown-menu",
        "toggle-group",
        "https://limeplay.winoffrg.dev/r/use-player.json",
        "https://limeplay.winoffrg.dev/r/use-playback.json",
        "https://limeplay.winoffrg.dev/r/use-volume.json",
        "https://limeplay.winoffrg.dev/r/use-timeline.json",
        "https://limeplay.winoffrg.dev/r/use-captions.json",
        "https://limeplay.winoffrg.dev/r/use-playlist.json",
        "https://limeplay.winoffrg.dev/r/use-asset.json",
        "https://limeplay.winoffrg.dev/r/use-media.json",
        "https://limeplay.winoffrg.dev/r/use-playback-source.json",
        "https://limeplay.winoffrg.dev/r/limeplay-logo.json",
        "https://limeplay.winoffrg.dev/r/utils.json"
      ],
      "files": [
        {
          "path": "registry/default/blocks/audio-player/player.tsx",
          "type": "registry:component",
          "target": "components/audio-player/player.tsx"
        },
        {
          "path": "registry/default/blocks/audio-player/lib/media-kit.ts",
          "type": "registry:lib",
          "target": "components/audio-player/lib/media-kit.ts"
        },
        {
          "path": "registry/default/blocks/audio-player/components/audio-source.tsx",
          "type": "registry:component",
          "target": "components/audio-player/components/audio-source.tsx"
        },
        {
          "path": "registry/default/blocks/audio-player/components/controls.tsx",
          "type": "registry:component",
          "target": "components/audio-player/components/controls.tsx"
        },
        {
          "path": "registry/default/blocks/audio-player/components/playback-controls.tsx",
          "type": "registry:component",
          "target": "components/audio-player/components/playback-controls.tsx"
        },
        {
          "path": "registry/default/blocks/audio-player/components/action-controls.tsx",
          "type": "registry:component",
          "target": "components/audio-player/components/action-controls.tsx"
        },
        {
          "path": "registry/default/blocks/audio-player/components/playback-mode-controls.tsx",
          "type": "registry:component",
          "target": "components/audio-player/components/playback-mode-controls.tsx"
        },
        {
          "path": "registry/default/blocks/audio-player/components/volume-group-control.tsx",
          "type": "registry:component",
          "target": "components/audio-player/components/volume-group-control.tsx"
        },
        {
          "path": "registry/default/blocks/audio-player/components/fixed-timeline-control.tsx",
          "type": "registry:component",
          "target": "components/audio-player/components/fixed-timeline-control.tsx"
        },
        {
          "path": "registry/default/blocks/audio-player/components/track-info.tsx",
          "type": "registry:component",
          "target": "components/audio-player/components/track-info.tsx"
        },
        {
          "path": "registry/default/blocks/audio-player/components/playlist.tsx",
          "type": "registry:component",
          "target": "components/audio-player/components/playlist.tsx"
        },
        {
          "path": "registry/default/blocks/audio-player/components/icons.tsx",
          "type": "registry:component",
          "target": "components/audio-player/components/icons.tsx"
        },
        {
          "path": "registry/default/blocks/audio-player/hooks/use-playlist-asset.ts",
          "type": "registry:hook",
          "target": "components/audio-player/hooks/use-playlist-asset.ts"
        },
        {
          "path": "registry/default/blocks/audio-player/components/button.tsx",
          "type": "registry:component",
          "target": "components/audio-player/components/button.tsx"
        },
        {
          "path": "registry/default/blocks/audio-player/styles.css",
          "type": "registry:style",
          "target": "components/audio-player/styles.css"
        }
      ],
      "meta": {
        "iframeHeight": "100px"
      },
      "type": "registry:block"
    },
    {
      "name": "utils",
      "dependencies": [
        "cnfast"
      ],
      "files": [
        {
          "path": "registry/default/lib/utils.ts",
          "type": "registry:lib"
        }
      ],
      "type": "registry:lib"
    },
    {
      "name": "time",
      "dependencies": [
        "date-fns"
      ],
      "files": [
        {
          "path": "registry/default/lib/time.ts",
          "type": "registry:lib"
        }
      ],
      "type": "registry:lib"
    },
    {
      "name": "use-media",
      "dependencies": [
        "zustand"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/media-provider.json"
      ],
      "files": [
        {
          "path": "registry/default/hooks/use-media.ts",
          "type": "registry:hook",
          "target": "hooks/limeplay/use-media.ts"
        }
      ],
      "type": "registry:hook"
    },
    {
      "name": "use-volume",
      "dependencies": [
        "lodash.clamp",
        "zustand"
      ],
      "devDependencies": [
        "@types/lodash.clamp"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/use-media.json",
        "https://limeplay.winoffrg.dev/r/use-player.json",
        "https://limeplay.winoffrg.dev/r/use-playback.json",
        "https://limeplay.winoffrg.dev/r/utils.json",
        "https://limeplay.winoffrg.dev/r/media-provider.json"
      ],
      "files": [
        {
          "path": "registry/default/hooks/use-volume.ts",
          "type": "registry:hook",
          "target": "hooks/limeplay/use-volume.ts"
        }
      ],
      "type": "registry:hook"
    },
    {
      "name": "use-controls-visibility",
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/use-media.json",
        "https://limeplay.winoffrg.dev/r/use-playback.json",
        "https://limeplay.winoffrg.dev/r/media-provider.json"
      ],
      "files": [
        {
          "path": "registry/default/hooks/use-controls-visibility.ts",
          "type": "registry:hook",
          "target": "hooks/limeplay/use-controls-visibility.ts"
        }
      ],
      "type": "registry:hook"
    },
    {
      "name": "use-track-events",
      "dependencies": [
        "lodash.clamp"
      ],
      "devDependencies": [
        "@types/lodash.clamp"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/default/hooks/use-track-events.ts",
          "type": "registry:hook",
          "target": "hooks/limeplay/use-track-events.ts"
        }
      ],
      "type": "registry:hook"
    },
    {
      "name": "use-timeline",
      "dependencies": [
        "lodash.clamp",
        "shaka-player@^4",
        "zustand"
      ],
      "devDependencies": [
        "@types/lodash.clamp"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/use-media.json",
        "https://limeplay.winoffrg.dev/r/use-player.json",
        "https://limeplay.winoffrg.dev/r/use-playback.json",
        "https://limeplay.winoffrg.dev/r/utils.json",
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/use-interval.json"
      ],
      "files": [
        {
          "path": "registry/default/hooks/use-timeline.ts",
          "type": "registry:hook",
          "target": "hooks/limeplay/use-timeline.ts"
        }
      ],
      "type": "registry:hook"
    },
    {
      "name": "use-player",
      "dependencies": [
        "shaka-player@^4",
        "zustand"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/use-media.json",
        "https://limeplay.winoffrg.dev/r/use-playback.json",
        "https://limeplay.winoffrg.dev/r/utils.json",
        "https://limeplay.winoffrg.dev/r/media-provider.json"
      ],
      "files": [
        {
          "path": "registry/default/hooks/use-player.ts",
          "type": "registry:hook",
          "target": "hooks/limeplay/use-player.ts"
        }
      ],
      "type": "registry:hook"
    },
    {
      "name": "use-asset",
      "dependencies": [
        "shaka-player@^4",
        "zustand"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/use-media.json",
        "https://limeplay.winoffrg.dev/r/use-player.json",
        "https://limeplay.winoffrg.dev/r/use-playlist.json",
        "https://limeplay.winoffrg.dev/r/use-playback.json",
        "https://limeplay.winoffrg.dev/r/media-provider.json"
      ],
      "files": [
        {
          "path": "registry/default/hooks/use-asset.ts",
          "type": "registry:hook",
          "target": "hooks/limeplay/use-asset.ts"
        }
      ],
      "type": "registry:hook"
    },
    {
      "name": "use-playback-source",
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/use-asset.json",
        "https://limeplay.winoffrg.dev/r/use-player.json"
      ],
      "files": [
        {
          "path": "registry/default/hooks/use-playback-source.ts",
          "type": "registry:hook",
          "target": "hooks/limeplay/use-playback-source.ts"
        }
      ],
      "type": "registry:hook"
    },
    {
      "name": "use-interval",
      "files": [
        {
          "path": "registry/default/hooks/use-interval.ts",
          "type": "registry:hook",
          "target": "hooks/limeplay/use-interval.ts"
        }
      ],
      "type": "registry:hook"
    },
    {
      "name": "use-captions",
      "dependencies": [
        "shaka-player@^4",
        "zustand"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/use-media.json",
        "https://limeplay.winoffrg.dev/r/use-player.json",
        "https://limeplay.winoffrg.dev/r/use-playback.json",
        "https://limeplay.winoffrg.dev/r/utils.json",
        "https://limeplay.winoffrg.dev/r/media-provider.json"
      ],
      "files": [
        {
          "path": "registry/default/hooks/use-captions.ts",
          "type": "registry:hook",
          "target": "hooks/limeplay/use-captions.ts"
        }
      ],
      "type": "registry:hook"
    },
    {
      "name": "use-playback-rate",
      "dependencies": [
        "zustand"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/use-media.json",
        "https://limeplay.winoffrg.dev/r/use-player.json",
        "https://limeplay.winoffrg.dev/r/use-playback.json",
        "https://limeplay.winoffrg.dev/r/utils.json",
        "https://limeplay.winoffrg.dev/r/media-provider.json"
      ],
      "files": [
        {
          "path": "registry/default/hooks/use-playback-rate.ts",
          "type": "registry:hook",
          "target": "hooks/limeplay/use-playback-rate.ts"
        }
      ],
      "type": "registry:hook"
    },
    {
      "name": "use-seek",
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/use-media.json",
        "https://limeplay.winoffrg.dev/r/media-provider.json"
      ],
      "files": [
        {
          "path": "registry/default/hooks/use-seek.ts",
          "type": "registry:hook",
          "target": "hooks/limeplay/use-seek.ts"
        }
      ],
      "type": "registry:hook"
    },
    {
      "name": "use-playlist",
      "dependencies": [
        "lodash",
        "zustand"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/use-media.json",
        "https://limeplay.winoffrg.dev/r/utils.json",
        "https://limeplay.winoffrg.dev/r/media-provider.json"
      ],
      "files": [
        {
          "path": "registry/default/hooks/use-playlist.ts",
          "type": "registry:hook",
          "target": "hooks/limeplay/use-playlist.ts"
        }
      ],
      "type": "registry:hook"
    },
    {
      "name": "use-playback",
      "dependencies": [
        "zustand"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/use-media.json",
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/utils.json"
      ],
      "files": [
        {
          "path": "registry/default/hooks/use-playback.ts",
          "type": "registry:hook",
          "target": "hooks/limeplay/use-playback.ts"
        }
      ],
      "type": "registry:hook"
    },
    {
      "name": "use-picture-in-picture",
      "dependencies": [
        "zustand"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/use-media.json",
        "https://limeplay.winoffrg.dev/r/use-playback.json",
        "https://limeplay.winoffrg.dev/r/utils.json",
        "https://limeplay.winoffrg.dev/r/media-provider.json"
      ],
      "files": [
        {
          "path": "registry/default/hooks/use-picture-in-picture.ts",
          "type": "registry:hook",
          "target": "hooks/limeplay/use-picture-in-picture.ts"
        }
      ],
      "type": "registry:hook"
    },
    {
      "name": "use-idle",
      "dependencies": [
        "lodash.throttle"
      ],
      "devDependencies": [
        "@types/lodash.throttle"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/utils.json"
      ],
      "files": [
        {
          "path": "registry/default/hooks/use-idle.ts",
          "type": "registry:hook",
          "target": "hooks/limeplay/use-idle.ts"
        }
      ],
      "type": "registry:hook"
    },
    {
      "name": "custom-demo-controls",
      "files": [
        {
          "path": "registry/default/internal/custom-demo-controls.tsx",
          "type": "registry:ui"
        }
      ],
      "type": "registry:ui"
    },
    {
      "name": "internal-media",
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/use-asset.json",
        "https://limeplay.winoffrg.dev/r/use-captions.json",
        "https://limeplay.winoffrg.dev/r/use-media.json",
        "https://limeplay.winoffrg.dev/r/use-picture-in-picture.json",
        "https://limeplay.winoffrg.dev/r/use-playback.json",
        "https://limeplay.winoffrg.dev/r/use-playback-rate.json",
        "https://limeplay.winoffrg.dev/r/use-player.json",
        "https://limeplay.winoffrg.dev/r/use-playlist.json",
        "https://limeplay.winoffrg.dev/r/use-timeline.json",
        "https://limeplay.winoffrg.dev/r/use-volume.json"
      ],
      "files": [
        {
          "path": "registry/default/internal/media.ts",
          "type": "registry:lib"
        }
      ],
      "type": "registry:lib"
    },
    {
      "name": "error-screen-demo",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/error-screen.json"
      ],
      "files": [
        {
          "path": "registry/default/examples/error-screen-demo.tsx",
          "type": "registry:example"
        }
      ],
      "type": "registry:example"
    },
    {
      "name": "fallback-poster-demo",
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/fallback-poster.json",
        "https://limeplay.winoffrg.dev/r/limeplay-logo.json"
      ],
      "files": [
        {
          "path": "registry/default/examples/fallback-poster-demo.tsx",
          "type": "registry:example"
        }
      ],
      "type": "registry:example"
    },
    {
      "name": "playback-state-control-demo",
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/playback-control.json"
      ],
      "files": [
        {
          "path": "registry/default/examples/playback-state-control-demo.tsx",
          "type": "registry:example"
        }
      ],
      "type": "registry:example"
    },
    {
      "name": "picture-in-picture-control-demo",
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/picture-in-picture-control.json"
      ],
      "files": [
        {
          "path": "registry/default/examples/picture-in-picture-control-demo.tsx",
          "type": "registry:example"
        }
      ],
      "type": "registry:example"
    },
    {
      "name": "volume-slider-control-horizontal-demo",
      "registryDependencies": [
        "https://bazza.dev/r/hit-area",
        "https://limeplay.winoffrg.dev/r/volume-control.json",
        "https://limeplay.winoffrg.dev/r/volume-state-control-demo.json"
      ],
      "files": [
        {
          "path": "registry/default/examples/volume-slider-control-horizontal-demo.tsx",
          "type": "registry:example"
        }
      ],
      "type": "registry:example"
    },
    {
      "name": "volume-slider-control-vertical-demo",
      "registryDependencies": [
        "https://bazza.dev/r/hit-area",
        "https://limeplay.winoffrg.dev/r/volume-control.json",
        "https://limeplay.winoffrg.dev/r/volume-state-control-demo.json"
      ],
      "files": [
        {
          "path": "registry/default/examples/volume-slider-control-vertical-demo.tsx",
          "type": "registry:example"
        }
      ],
      "type": "registry:example"
    },
    {
      "name": "volume-state-control-demo",
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/mute-control.json"
      ],
      "files": [
        {
          "path": "registry/default/examples/volume-state-control-demo.tsx",
          "type": "registry:example"
        }
      ],
      "type": "registry:example"
    },
    {
      "name": "timeline-control-demo",
      "registryDependencies": [
        "https://bazza.dev/r/hit-area",
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/timeline-control.json",
        "https://limeplay.winoffrg.dev/r/timeline-labels.json"
      ],
      "files": [
        {
          "path": "registry/default/examples/timeline-control-demo.tsx",
          "type": "registry:example"
        }
      ],
      "type": "registry:example"
    },
    {
      "name": "timeline-labels-demo",
      "registryDependencies": [
        "https://bazza.dev/r/hit-area",
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/timeline-control.json",
        "https://limeplay.winoffrg.dev/r/timeline-labels.json",
        "https://limeplay.winoffrg.dev/r/use-timeline.json"
      ],
      "files": [
        {
          "path": "registry/default/examples/timeline-labels-demo.tsx",
          "type": "registry:example"
        }
      ],
      "type": "registry:example"
    },
    {
      "name": "captions-state-control-demo",
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/captions.json",
        "https://limeplay.winoffrg.dev/r/use-playback.json"
      ],
      "files": [
        {
          "path": "registry/default/examples/captions-state-control-demo.tsx",
          "type": "registry:example"
        }
      ],
      "type": "registry:example"
    },
    {
      "name": "playback-rate-demo",
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/playback-rate.json",
        "https://limeplay.winoffrg.dev/r/use-playback-rate.json"
      ],
      "files": [
        {
          "path": "registry/default/examples/playback-rate-demo.tsx",
          "type": "registry:example"
        }
      ],
      "type": "registry:example"
    },
    {
      "name": "seek-control-demo",
      "registryDependencies": [
        "https://limeplay.winoffrg.dev/r/media-provider.json",
        "https://limeplay.winoffrg.dev/r/seek-controls.json"
      ],
      "files": [
        {
          "path": "registry/default/examples/seek-control-demo.tsx",
          "type": "registry:example"
        }
      ],
      "type": "registry:example"
    }
  ],
  "name": "winoffrg/limeplay"
}