Component catalog
Small components.
Questionable purpose.
217 React components composed with shadcn/ui. Each one ships typed, styled, and ready to make a simple interface slightly less direct.
MarkupPromotion
A notice climbs through increasingly official HTML containers one promotion at a time.
View componentSeparatorBallot
Three separator policies give one label three genuinely different readings.
View componentBeltCollector
Drag a pickup head across a row and collect each child into a needless tray.
View componentOperationParade
Three arithmetic buttons produce different answers solely because they march in a different order.
View componentRedundancyCuller
One click removes repeated words from a sentence and files the discarded copies.
View componentCoilCertification
Four unnecessary loops wind around a notice until geometry declares it certified.
View componentWitnessChoice
Choose whether an unnecessary witness leads, follows or stands beside the same notice.
View componentShutterPass
Drag a reading shutter across a notice and keep only the arbitrary aperture you leave open.
View componentReturnProtocol
Borrow, witness and return a notice in order, leaving a mark it never needed.
View componentAcronymForge
One click smelts a readable phrase into its opening letters and displays the evidence trail.
View componentNotchProgress
Five ceremonial notches turn a readable notice into a fully notarized seal.
View componentFilingFork
Choose a ledger, frame or echo and the same child receives a different actual shelf.
View componentPointerPlot
A click on a map relocates the cargo to the exact coordinate it did not need.
View componentSwitchbackRoute
Four arrow keys send a notice around a route whose long way is the only way.
View componentCodepointReceipt
One click converts readable copy into a receipt for every underlying character code.
View componentCalibrationWindow
Four calibration notches narrow the window around one otherwise adequate notice.
View componentSemanticLottery
Three semantic wrappers give one child three genuinely different kinds of officialness.
View componentCellularDrift
A click sends content to one of nine cells and keeps it there instead of using normal flow.
View componentReverseQueue
A queue accepts its children only from last to first, then displays that reverse manifest.
View componentPunctuationSieve
One mark at a time leaves a sentence for a tray that did not improve it.
View componentContextEscalator
A right-click sends a notice through four increasingly serious filing levels.
View componentOutcomeTriptych
Three buttons give one child three materially different fates.
View componentMagneticDock
Dragged content snaps to whichever of three pockets is nearest.
View componentPatternLatch
A notice opens only after a four-symbol pattern is entered exactly.
View componentLetterCensus
One click replaces a label with an animated census of its letters.
View componentRecessDepth
A child is filed under four actual layers until it becomes needlessly recessed.
View componentCustodyChoice
Three custody buttons send one child to three genuinely different stations.
View componentCounterweight
Dragging a weight to one slot sends its content to the mirrored slot.
View componentShadowPair
Each child must be paired with its matching witness in the exact order.
View componentCenterOut
A label is reassembled from its middle outward into a new reading order.
View componentPunchProof
A child earns five actual perforations before its proof card is complete.
View componentSortMandate
Three arbitrary sorting mandates put the same roster under genuinely different orders.
View componentLensRail
A draggable lens travels across a label and enlarges one actual excerpt at a time.
View componentQuotaProcession
Each child demands its own number of taps before the procession may move on.
View componentBraidline
One click separates a label into two interlaced rows of its actual characters.
View componentWheelStamp
A child collects five paper seals from a mouse wheel before it is overqualified.
View componentElasticFrame
A draggable frame forces its child through arbitrary widths and keeps the chosen measurement.
View componentNeighborMarch
Children can be visited only by stepping to an untouched adjacent neighbor.
View componentSignalChoice
Three choices encode one label as Morse, Braille or a numbered ledger.
View componentFootnoteShift
Clicked words leave a sentence and become numbered footnotes with visible gaps behind.
View componentPrecisionLadder
A label climbs four shrinking target rings before it is allowed to be centered.
View componentMaskBallot
Three stencil votes clip the same content into three genuinely different openings.
View componentFreeDrift
A child keeps the exact arbitrary coordinates assigned to it by direct manipulation.
View componentDocketSequence
A child travels through a docket only after click, type and click happen in order.
View componentVowelHinge
One first vowel leaves each word and becomes a raised hinge chip beside its gap.
View componentRatchetReveal
A one-way ratchet opens children one sealed tooth at a time.
View componentVerdictSelector
Three binding verdicts turn one label into three genuinely different readings.
View componentOrbitStow
A draggable piece parks itself at one of eight unnecessary orbital docks.
View componentPalindromeLatch
Children lock only when the activation route reads the same forwards and backwards.
View componentInsideOutWords
Clicking a word reverses its actual letters and leaves the sentence awkwardly changed.
View componentFocusReceipt
Every focus prints a persistent duplicate at the child’s original station.
View componentRulerRise
A draggable ruler raises one child at a time onto an unnecessary staircase.
View componentLassoLock
Pieces that leave the field when a pointer box manages to enclose them.
View componentWordTurnstile
A label that turns each word upside down before it may finish.
View componentMarginQuota
A label that rents a margin one character at a time.
View componentRotationTithe
A label that charges pointer distance for every unnecessary turn.
View componentLetterLevy
A label that pays every matching letter into a visible drawer.
View componentParityPurge
Children sorted into survivors and rejects by an odd-or-even decree.
View componentBlankFiling
Children filed one at a time by submitting absolutely nothing.
View componentMomentumWeave
Children that weave themselves according to the speed of a drag.
View componentSpaceStaple
A label that lets a dragged staple erase one of its spaces.
View componentArrowBias
A row that lets three arrow presses decide which way it should drift.
View componentIdleUnspool
A row that quietly moves its children onto an aside shelf.
View componentDisclosureSpill
A disclosure that lets its last child escape when closed.
View componentCursorProof
A label that becomes legible only after a pointer passes each character.
View componentSeamFold
A row that folds its lower half backwards around a movable seam.
View componentSelectionSeal
An excerpt that needs three identical selections before it can be sealed.
View componentCheckpointQueue
A queue that reorders itself at three drag checkpoints.
View componentAlphabetTreadmill
A label that walks twelve letters forward one click at a time.
View componentWeekdayLedger
A date that files ordinary children into an unnecessary week.
View componentLayoutReferendum
Three binding ways to make the same children harder to read.
View componentChildGravity
One chosen child that pushes its siblings apart by calculation.
View componentScaleSweep
Children that stay enlarged after a pointer sweeps across them.
View componentScrollRedact
A label that gets redacted one wheel notch at a time.
View componentCopyEcho
A copied label that leaves visible souvenirs behind.
View componentWordRelay
Words that pass their last letters to the next word.
View componentIndexSum
Children selected by the arithmetic value of their position.
View componentDragThreshold
Content that unlocks after three increasingly long drags.
View componentSideSplit
Children routed into two permanent sides one choice at a time.
View componentButton
A conventional button with the usual variants.
View componentDurationScale
Content scaled by the average time you hold it.
View componentMixedClick
Content that releases only after left-right-left clicking.
View componentWeightVote
Children that grow toward a winner one click at a time.
View componentCaseGate
Content that unlocks after six alternating letter cases.
View componentIndecisiveButton
A button that cycles through labels before accepting a decision.
View componentCountedClone
A clone that reports how many children its element already has.
View componentRepeatChildren
A component that renders one child twice for no useful reason.
View componentEqualChoice
A double-click choice whose two destinations end in the same place.
View componentSplitLabel
A label that must be split and personally reassembled.
View componentFocusFade
A focusable group that fades away and returns to confirm focus.
View componentPressEscape
A held button whose content flees and returns unchanged.
View componentKeystrokeStack
A label that stacks one character at a time when you type.
View componentReorderBack
Two items that swap places and immediately regret it.
View componentDragDuplicate
A draggable child that makes a second copy of itself.
View componentHoverConfirm
A card that needs three separate hover entries before confirmation.
View componentHoldPosition
A held item that stays wherever you leave it.
View componentTimedRelease
A hold whose release time chooses where the content lands.
View componentLengthOrder
A list that sorts itself by the length of its labels.
View componentClickOrder
Fragments that remember the order you clicked them in.
View componentCornerFold
A card that folds only after every corner has been visited.
View componentPairwiseMerge
Groups that can only be reduced two at a time.
View componentAveragePosition
A label that settles at the average of three clicks.
View componentLastRemaining
An option list that removes choices until one remains.
View componentFocusUnpack
A focused bundle that separates its children for inspection.
View componentBackspaceArchive
An input that archives every character removed with Backspace.
View componentHoverRoute
Content that moves only when you hover a fixed route in order.
View componentNestChildren
A stack that makes you nest every child by hand.
View componentClarityDebt
Four charges make a readable child progressively harder to read.
View componentArithmeticCouncil
Three incompatible calculations issue a binding ruling on one number.
View componentTetherPull
Drag an anchor away from content that refuses to move with it.
View componentDoubleEntry
Every child must be clicked in order twice before the ledger will post it.
View componentSignalTranscript
A label becomes a visible Morse transcript, one character signal at a time.
View componentSpellingPermit
A label reveals itself one correctly typed character at a time.
View componentSliceReferendum
Three editorial cuts decide which actual part of a label survives.
View componentCompassHinge
A dragged compass knob rotates content around an imaginary north.
View componentEventRelay
Focus, wheel and Space must deliver one parcel in exactly that order.
View componentAlphabetizeWords
Every word is rearranged into alphabetical character order, whether it asked to be.
View componentBinaryMarch
A number reaches binary one manual division at a time.
View componentMetricMandate
Choose whether a label is officially measured in ink, air or edges.
View componentCrankShift
Turn a physical crank to rotate a row of children into a new order.
View componentGesturePatent
A specimen is granted a patent only after click, double-click and right-click arrive in order.
View componentRunLengthPack
Adjacent repeated characters collapse into little counted crates.
View componentClauseAudit
A sentence receives one needless inspection stamp per word.
View componentTerminusChoice
Choose whether every word reports its first, middle or last letter.
View componentDropSilo
Drag one piece of content into a silo that immediately gives it a new administrative destiny.
View componentAlphabeticalQueue
A queue accepts labels only in alphabetical order.
View componentPercentParcel
A readable label is packed into URL percent escapes and then unpacked again.
View componentColumnTally
A group earns its grid columns one click at a time.
View componentRoundingRuling
Three rounding policies compete to overrule one decimal value.
View componentTensionArc
A direct tension control bends a straight row into an unnecessary sag.
View componentGrayRoute
A station route follows binary-reflected Gray order whether anyone asked it to.
View componentAtbashNotice
One click mirrors every letter of a notice through the alphabet.
View componentApportionVeil
A notice receives four increasingly unnecessary privacy veils.
View componentFatePanel
Three buttons give one child three materially different semantic destinies.
View componentDriftPin
Drag a cargo pin across seven slots and keep the exact arbitrary parking place.
View componentAlternatingIntake
A manifest admits children only by alternating left intake and right intake.
View componentVowelShift
Every vowel in a label moves one place around an unnecessary vowel wheel.
View componentGlyphMigration
A sentence transfers its actual glyphs into an unnecessary archive one tiny move at a time.
View componentWritingTribunal
Three directions compete to decide how one child is allowed to be read.
View componentTraceReceipt
A pointer trace becomes a persistent ink receipt around a piece of content.
View componentChordContract
A document is released only after an exact four-key keyboard contract.
View componentRomanLedger
A readable phrase is replaced by Roman numerals that report only each word’s length.
View componentCitationLadder
A note accumulates increasingly unnecessary citations until it becomes academically overqualified.
View componentPrefixReferendum
Three tonal prefixes give the same label three genuinely different degrees of unnecessary authority.
View componentPerimeterEscort
A draggable cargo note keeps the exact arbitrary place where its perimeter escort leaves it.
View componentChecksumOrder
A label can be posted only after three actions arrive in the order dictated by its hidden word checksum.
View componentEdgeExchange
One editorial ruling swaps the first and last character of every word and calls the sentence improved.
View componentParcelAudit
A local file is divided into a ceremonial audit queue before it may be released.
View componentFormatFork
One label must choose whether it becomes a numbered ledger, a table row or a flowing ribbon.
View componentIndentTether
Drag a tether along a ruler and make a notice keep an arbitrary distance from its margin.
View componentFocusParade
A notice travels through three stations only when keyboard focus arrives in the prescribed order.
View componentSlugMangle
One click strips a readable label into the tiny route-shaped artifact it did not ask to become.
View componentCrestProgress
A notice rises through four tide levels until an unnecessary beacon declares it complete.
View componentShapeVerdict
A native select sentences one notice to become a coin, ticket or flag.
View componentVanishingPoint
Drag an imaginary camera point and make a notice lean toward a perspective it does not need.
View componentFoldOrder
Three native disclosure flaps open only when unfolded from left to right.
View componentGlyphOffset
One click moves every printable character exactly one Unicode step forward.
View componentDecorationToll
A notice pays five typographic fees, collecting lines until decoration pretends to be approval.
View componentCaseBallot
Three case policies give one label genuinely different voices instead of merely changing its color.
View componentRatioRail
A draggable divider reallocates the room between two shelves of content.
View componentEditSequence
Trim, capitalize and punctuate a sentence in exactly the order a tiny editorial office demands.
View componentArticleEjector
A label ejects every a, an and the into a small archive that does not improve the sentence.
View componentPrimeLedger
A number is factored one smallest divisor at a time until a pointless ledger reaches one.
View componentCaptionCharter
Three filing policies give one caption three materially different documents.
View componentCaretSplit
A movable caret divides a caption into two real panels wherever the pointer leaves it.
View componentGateSequence
A caption's word count secretly rotates four gates that must be clicked in order.
View componentColumnTranspose
One click writes a caption across rows and makes the reader visit its columns first.
View componentDecimalErosion
A precise number loses one decimal place at a time and calls the loss progress.
View componentVoiceRuling
Three voices claim, share or outsource responsibility for one sentence.
View componentRouteInk
Drag a route pen around a small map and make content keep the pointless path.
View componentSkipLedger
A ledger files children by removing one item and skipping the next available one.
View componentConsonantTransfer
Every word sends its opening consonant cluster to the far end before it can be read.
View componentPressureSeal
Four unnecessary impressions turn a plain notice into an officially over-pressed seal.
View componentMosaicMandate
Three arrangement mandates place the same children on a shelf, a pyramid or an orbit.
View componentConvergenceMark
Two draggable pins must agree on one coordinate before a notice records their coincidence.
View componentVectorRitual
A parcel completes a four-sided pilgrimage only when directions arrive East, South, West, North.
View componentIndexCipher
Each word shifts its letters farther through the alphabet than the word before it.
View componentPartitionRite
A notice is bisected into smaller actual sections until it occupies one tiny province.
View componentNormalizationReferendum
Three Unicode policies vote on whether a label should compose, decompose or flatten its glyphs.
View componentGapTether
Drag one tether to make two shelves of content honor an arbitrary physical distance.
View componentCeremonyQueue
A notice reaches the archive only after four named filing rites happen in exactly the right order.
View componentKeyboardCartography
One click replaces a readable label with the keyboard coordinates of every character.
View componentLineHeightTribute
A readable notice pays four installments of vertical space before its lines may rest.
View componentRadixPact
A number must ratify decimal, ternary or duodecimal before it is allowed to speak.
View componentSwipeShunt
A horizontal swipe sends the first or last word to the opposite end of a sentence.
View componentRoleAssembly
A sentence can be assembled only by reporting its subject, action and object in that order.
View componentPhoneticSpelling
One click expands every character into a full radio callsign and keeps the punctuation on trial.
View componentRollingChecksum
A label earns a rolling checksum one character at a time for no operational reason.
View componentUnitDiplomacy
One duration negotiates between minutes, hours and workdays before it can be reported.
View componentStackingAppeal
Click a card to appeal its depth and give it the only persuasive z-index.
View componentKnightTour
A grid of content must complete a tiny chess knight’s tour before it may be considered visited.
View componentBase64Bureau
One click sends readable copy through a transport bureau and returns a Base64 parcel.
View componentWordLadder
A label changes one actual character per rung until it reaches a target it could have displayed directly.
View componentNumberAlibi
Three mathematical theories interrogate one number and issue genuinely different rulings.
View componentPinchContract
Two draggable handles negotiate the exact amount of horizontal room a child is permitted to occupy.
View componentCyclicPassage
A three-station route must complete a second lap from a different starting point before it can be filed.
View componentCaesarReceipt
One click moves every Latin letter thirteen places and prints a receipt for the detour.
View componentFibonacciProof
A readable notice must pass five Fibonacci checks before it is allowed to finish.
View componentReadingAxis
Three reading axes make one notice horizontal, vertical or vertically sideways on demand.
View componentSpacingWinch
A range control winds literal distance between a notice's letters one turn at a time.
View componentDominoSequence
A row of words can fall only when each next word begins with the previous word's final letter.
View componentPigLatinParcel
One click repacks readable copy into Pig Latin and keeps the strange parcel reversible.
View componentPasteAccreditation
Four paste events move child pieces through a needlessly official accreditation desk.
View componentDataDialect
Three buttons serialize one readable sentence into three incompatible data costumes.
View componentRadiusDial
A draggable corner handle rounds a notice until geometry becomes its only credential.
View componentClipboardCustody
A label must leave and return through the clipboard in the correct two-step order.
View componentFullwidthNotice
One click replaces basic glyphs with their wider Unicode counterparts.
View componentBracketEscalation
A label climbs through five actual bracket boundaries until containment becomes its only credential.
View componentBlendChoice
Three compositing rulings make one notice cooperate with, wash through or argue against an imaginary stamp.
View componentExcerptShunt
Select one phrase and physically remove it from the sentence into a separate filing tray.
View componentBaselineTug
A vertical handle drags a notice away from the typographic line it was given.
View componentCheckboxProcession
A checklist accepts its boxes only in the order of their opening letters.
View componentPrimeReveal
A label becomes legible only at positions an unnecessarily strict prime sieve approves.
View componentElementTriage
Three HTML destinies compete to house one notice that already knows what it is.
View componentMosaicDab
Drag a brush across empty cells until a readable label has been filed as a tiny mosaic.
View componentCalendarSequence
A date is accepted only after month, day and year arrive in ceremonial order.
View componentMorseDispatch
A readable label is sent nowhere as a real string of dots and dashes.
View component