ikui
ik-ui.pages.devUnverifiedrepo only
Beautiful, sophisticated UI components designed for modern React and Tailwind CSS applications.
Items
30
2026-08-01Every entry in its own registry.json, counted last night.Free to install
0
2026-08-01Item endpoints that returned source without credentials.Behind a key
0
2026-08-01Item endpoints that answered 401.Last push
8 days ago
2 stars. Both figures are GitHub's about this repository, not ones this index measured.Components
Search withinFreeits item endpoint answered without a keyPaidits item endpoint answered 401Unverifiedit serves no item endpoint we could ask
| Component | What the registry says it is | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Audio Waveformaudio-waveform | A static, width-explicit waveform for timelines. Decodes audio (URL / Blob / AudioBuffer) into normalized peaks — or takes precomputed peaks — and renders mirrored canvas bars at any pixel width, with optional played-progress coloring. Backs the waveform-player. | Components | Unverified | no deps | |
| Cascadercascader | A column-based cascading dropdown for selecting a path through hierarchical data (region → city → district, category trees). Desktop popover / mobile drawer, keyboard navigable, controlled or uncontrolled, with clear and custom display rendering. | Components | Unverified | 1 dep | |
| Chartchart | Recharts-based chart primitives (container, tooltip, legend) with theme-aware colors. Compose bar, area, line, pie, radar, and radial charts from a single config. | Components | Unverified | 1 dep | |
| Copy Buttoncopy-button | A copy-to-clipboard button with blur transition effect. | Components | Unverified | 1 dep | |
| Data Tabledata-table | A full-featured data table built on TanStack Table: sticky column pinning, row virtualization for large datasets, dnd-kit drag-to-reorder rows, a paginated footer, a filter toolbar with text / number / range (slider) / date / faceted (select) filters driven by per-column meta, a column-visibility view menu, sortable column headers, and a loading skeleton. Bring your own TanStack table instance; the pieces are composable. | Components | Unverified | 7 deps · 12 files | |
| Date Range Pickerdate-range-picker | A popover date range picker with a quick-preset side panel (Today, Last 7 days, This month, …), a two-month calendar with live hover-range preview, min/max clamping, and a clearable trigger. Controlled or uncontrolled, with configurable presets and date-fns locale. | Components | Unverified | 3 deps | |
| Heatmap Calendarheatmap-calendar | A GitHub-style contribution heatmap. Buckets dated values into color levels across a weeks × weekdays grid, with month/weekday axis labels, a Less→More legend, a shared hover tooltip, and custom palettes. Driven purely by data — no card or title scaffolding. | Components | Unverified | 1 dep | |
| Image Compareimage-compare | A before/after image comparison slider. Drag (or hover) to reveal one image over another, horizontally or vertically, with optional labels, a custom handle, and a loading skeleton. Responsive out of the box. | Components | Unverified | 1 dep | |
| Image Cropimage-crop | A responsive, pointer- and keyboard-driven image cropping tool. Draw, drag, and 8-way resize a crop over any image or video, with fixed aspect ratios, circular crops, min/max bounds, rule-of-thirds guides, and percent/pixel crop callbacks. Self-contained Tailwind styling, zero dependencies. | Components | Unverified | no deps | |
| Image Gridimage-grid | An adaptive photo grid that lays out 1 to 9 images in WeChat-moments style: 1–8 use hand-tuned collage layouts on a 6×6 grid (every cell stays a healthy size) and 9 fills a uniform 3×3 grid, with the container always staying square. Responsive, dependency-free, with optional keyboard-accessible per-cell click and custom rendering for lightbox integration. | Components | Unverified | no deps | |
| Media Viewermedia-viewer | A full-screen media lightbox that pages through a mixed list of images, videos, and audio in one swipeable carousel. Images fit the viewport, videos play inline with native controls, and audio slides show a waveform player under an optional cover that scales while it plays. Renders through a portal with its own fade, scroll lock, Escape-to-close, and slide counter — no dialog dependency. Controlled via open / onOpenChange with an initialIndex. | Components | Unverified | 1 dep | |
| Particle Imageparticle-image | Turn any image into an interactive particle field that scatters from the pointer and settles back toward its origin. | Components | Unverified | no deps | |
| Password Inputpassword-input | A password field with a trailing show/hide toggle, composed from the input-group primitive. Spreads native input props (name, value, onChange, placeholder). | Components | Unverified | 1 dep | |
| QR Codeqr-code | QR code generator with rounded finder patterns and dot-style data modules. | Components | Unverified | 2 deps | |
| Segmented Timeline Stripsegmented-timeline-strip | Multi-clip timeline overview built by composing one thumbnail-strip per segment with DOM chrome (active border, dim mask, label, playhead, total duration badge) and click-to-seek. | Components | Unverified | no deps | |
| Spark Chartspark-chart | Dependency-free interactive line chart with a cursor-tracked tooltip, snap-to-point hover, reveal effect, and built-in X-axis labels. | Components | Unverified | no deps | |
| Thumbnail Stripthumbnail-strip | A viewport-virtualized canvas strip rendering video thumbnails along a horizontal timeline. Pairs with video-thumbnail-cache for the frame decoding. | Components | Unverified | no deps | |
| Timeline Elementtimeline-element | A positioned, trimmable timeline clip: places itself on a track by time (startTime/duration × pixelsPerSecond × zoom, the same basis as timeline-ruler) and renders any content inside — an audio waveform, a thumbnail strip, a label. Selectable, with left/right trim handles that emit the new geometry. The track, playhead, and seeking are left to the consumer. | Components | Unverified | no deps | |
| Timeline Playheadtimeline-playhead | A draggable timeline playhead: a vertical line with a top knob, positioned by time (currentTime × pixelsPerSecond × zoom, the same basis as timeline-ruler) and scrubbable. Drag it to seek; it scrolls with the tracks it sits over. Spans whatever container it is placed in. The playback clock and click-to-seek on the tracks are left to the consumer. | Components | Unverified | no deps | |
| Timeline Rulertimeline-ruler | A pure, zoom-aware, horizontally-scrollable time ruler: adaptive tick density and MM:SS / frame labels, with viewport virtualization. Just the scale — playhead, seeking, and tracks are left to the consumer. | Components | Unverified | no deps | |
| Treetree | A data-driven hierarchical tree view of folders and leaves with selection, expand/collapse, per-node icons, an actions slot, and a custom renderItem. Self-managed expand state, animated open/close, ARIA roving-tabindex keyboard navigation, and native drag-and-drop to reorder or re-parent nodes via onDocumentDrag. Controlled or uncontrolled selection reported through onSelectChange. | Components | Unverified | 1 dep | |
| Waveform Playerwaveform-player | A compact audio player built on audio-waveform: play/pause, elapsed and total time, played-progress coloring, and click/drag-to-seek on the waveform. | Components | Unverified | 1 dep |
Blocks
Search within| Component | What the registry says it is | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Audio Trimmeraudio-trimmer | A business composition built from the timeline primitives: trim an audio clip with the timeline-element handles, then play back only the trimmed [startTime, startTime + duration] window. The playhead follows playback, the waveform colors in as it plays, and an In / Out / length readout tracks the selection. | Blocks | Unverified | 2 deps | |
| Image Cropperimage-cropper | A business composition built on the image-crop primitive: load an image and frame a crop inline, with the selection rendered live as a real image in the preview beside it — that preview is the cropped result. Switch to a circular avatar crop, rotate the source in 90° steps, or lock the box to an aspect-ratio preset; the output is validated against min/max source-pixel bounds (the readout turns red until it fits) and downloads at full resolution. | Blocks | Unverified | 1 dep | |
| Image Editorimage-editor | A full single-image editor built on fabric.js, wrapped in ikui's Base UI toolbar. Annotate with text, shapes, arrows, and image overlays; free-draw; pixelate a region for a privacy mosaic; tune brightness, contrast, and saturation; apply filter presets; crop (via the image-crop primitive) and resize; rotate, flip, undo, and redo; then export to PNG or JPEG. The fabric canvas is created from a lazily-imported module inside an effect, so the browser-only library never runs during SSR. | Blocks | Unverified | 5 deps | |
| Media Compressormedia-compressor | A business composition over mediabunny's Conversion: load an audio or video file, pick a quality preset and (for video) a target resolution, then re-encode to a smaller MP4 — video as H.264 + AAC, audio-only as AAC. A before/after readout shows the original size, the compressed size, and the percentage saved; the result auto-downloads. | Blocks | Unverified | 2 deps | |
| Storyboard Timelinestoryboard-timeline | A business composition built from the timeline primitives: lays out a mix of video and image shots end-to-end on a single absolute time axis, each shot wrapped in its own card (header label, duration, type tag) over a shared timeline-ruler, with a draggable timeline-playhead that follows playback across shots. Videos play in the preview and are driven by the media clock; image stills advance on an rAF clock for their set duration. Zoom widens the strips and ruler while the timeline scrolls; the preview swaps source at shot boundaries. | Blocks | Unverified | 1 dep | |
| Video Frame Extractorvideo-frame-extractor | A business composition over mediabunny's VideoSampleSink: load a video, then grab the still under the playhead at native resolution. A ruler aligned to the real duration sits above a continuous filmstrip carrying a playhead that tracks playback; the `<video>` has no native controls — play/pause lives outside it — so wherever it plays (or you drag the playhead) to, one button saves that exact frame. The zoom slider sets the timeline density for fine scrubbing. PNG or JPEG. | Blocks | Unverified | 2 deps | |
| Video Trimmervideo-trimmer | A business composition built from the timeline primitives: trim a video clip with the timeline-element handles over a thumbnail strip, then play back only the trimmed [startTime, startTime + duration] window in the preview. The playhead follows playback, the frames outside the selection dim, and an In / Out / length readout tracks the selection. Export cuts the window to an MP4 via mediabunny. | Blocks | Unverified | 2 deps |
Utilities
Search within| Component | What the registry says it is | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Video Thumbnail Cachevideo-thumbnail-cache | Decode video frames via mediabunny on demand and cache them as ImageBitmaps. Backs the thumbnail-strip and segmented-timeline-strip components. | Utilities | Unverified | 1 dep |
