# SwiftPieces > SwiftPieces (swiftpieces.com) is a free library of 77 SwiftUI components for iOS in 14 categories: animated, gesture-driven interactions such as a swipeable card stack, Liquid Glass (iOS 26) menus, a floating tab bar, interactive charts, form inputs and AI chat surfaces. Each piece is one self-contained Swift file (plus a .metal file where a shader is involved) on Apple frameworks only, from iOS 17. Install by copy-paste, `npx swiftpieces add `, or the SwiftPieces MCP server. Key facts: - License: MIT + Commons Clause. Free for personal and commercial apps, including client work. Source-available rather than OSI open source: the pieces themselves may not be sold or redistributed. - No dependencies and no Swift package: the CLI copies source files into a SwiftPieces folder in the app, and they become the developer's own code. - iOS 17 baseline. Liquid Glass pieces gate glass with `#available(iOS 26, *)` and fall back to Material. - One motion language across every piece: five spring tiers with named roles, gesture releases that keep the finger's velocity, rubber-band limits and a Reduce Motion substitute for every movement (https://swiftpieces.com/docs/guides/swiftui-motion). - States and accessibility are built in (Dynamic Type, Reduce Motion, Reduce Transparency), with haptics (sensoryFeedback) where an interaction calls for them. - Source: https://github.com/Saivion/SwiftPieces Rules for Liquid Glass: gate with `#available(iOS 26, *)` and a Material fallback; wrap multiple glass views in one `GlassEffectContainer`; apply `.glassEffect` after layout modifiers; respect `accessibilityReduceTransparency`; never use invented modifiers such as `.liquidGlassUltra`. ## Docs - [Introduction](https://swiftpieces.com/docs/introduction) - [Installation](https://swiftpieces.com/docs/installation) - [CLI](https://swiftpieces.com/docs/cli) - [MCP and agents](https://swiftpieces.com/docs/mcp) - [SwiftUI Liquid Glass guide](https://swiftpieces.com/docs/liquid-glass) - [Registry index (JSON)](https://swiftpieces.com/r/index.json) - [Free MCP endpoint](https://swiftpieces.com/api/mcp): search_pieces, get_piece, install_piece, list_categories, get_liquid_glass_guide - [Full text for LLMs](https://swiftpieces.com/llms-full.txt): every piece's notes and parameters, and every guide ## Tools - [Playground](https://swiftpieces.com/apps): App Store apps remixed as original SwiftUI screens to try, take apart and remix in the browser. Five are free; the rest come with Pro. - [Styles](https://swiftpieces.com/styles): make one style for every screen (accent, light and dark, iOS fonts, corners, cards, buttons, spacing, motion) on live SwiftUI components. A style travels as a short code (SP2-…) that the Playground's Style tab and its `?style=` links read, and exports as Theme.swift. ## Guides - [SwiftUI Animations: A Practical Guide with Examples](https://swiftpieces.com/docs/guides/swiftui-animations): SwiftUI animations explained with working examples: implicit and explicit animation, spring animation, transitions, keyframe animators, and gestures. - [SwiftUI Motion: Springs, Rubber Banding and Gesture Momentum](https://swiftpieces.com/docs/guides/swiftui-motion): How to make SwiftUI motion feel physical: spring tiers, finger tracking, velocity that carries into the release, rubber banding and Reduce Motion. - [SwiftUI Buttons: Custom Styles, Animation, Loading](https://swiftpieces.com/docs/guides/swiftui-buttons): SwiftUI buttons from the basics to custom ButtonStyle, press animation, haptics, async loading states, hold to confirm, and accessible hit targets. - [SwiftUI Cards: Card Views, Swipe Stacks and Flip Cards](https://swiftpieces.com/docs/guides/swiftui-cards): Build SwiftUI cards that feel native: continuous corners, layered shadows, press states, a swipeable card stack, a 3D flip card, tilt and scroll parallax. - [SwiftUI Haptics: sensoryFeedback and Haptic Feedback](https://swiftpieces.com/docs/guides/swiftui-haptics): A practical guide to SwiftUI haptics: sensoryFeedback triggers, conditions and feedback kinds, drag threshold ticks, UIKit generators, and restraint. - [SwiftUI Skeleton Loading, Shimmer and Loading States](https://swiftpieces.com/docs/guides/swiftui-loading-states): SwiftUI skeleton loading with redacted placeholders, a shimmer modifier, ProgressView styles, success and failure morphs, paging footers and Reduce Motion. ## Patterns Whole sections of an iOS screen: chats, composers, nav and tab bars, lists, settings, forms, sheets, sign-in and checkout, laid out, wired and given their states, themed by SwiftPieces Pro's design system. All 46 come with SwiftPieces Pro and install with a Pro license. All patterns: https://swiftpieces.com/patterns - [Plan and Usage](https://swiftpieces.com/docs/patterns/settings/plan-usage) (Pro): The subscription section of Settings: the plan and its renewal, usage meters that warn near a limit, and the way up. Inside: Plan with its status and renewal, Usage meters that warn near a limit, Upgrade with its states, Manage subscription and restore. Install with a Pro license: `npx swiftpieces add PlanUsageBlock`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/plan-usage - [Invite Friends](https://swiftpieces.com/docs/patterns/settings/invite-friends) (Pro): A referral section: what both people get, a track that fills as friends join, the invite code to copy or share, and who you invited. Inside: Reward and a track that fills per friend, Invite code you copy, Share invite, Invited friends with their status. Install with a Pro license: `npx swiftpieces add InviteFriendsBlock`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/invite-friends - [Sign In](https://swiftpieces.com/docs/patterns/auth/sign-in) (Pro): The sign-in section of a welcome screen: email and password, Sign in with Apple, a passkey and Create account in one block. Inside: Email and password with autofill, Sign in with its working, done and failed states, Sign in with Apple and a passkey, Forgot password and create account. Install with a Pro license: `npx swiftpieces add SignInBlock`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/sign-in - [Stats Overview](https://swiftpieces.com/docs/patterns/dashboards/stats-overview) (Pro): The top of a dashboard: a headline metric and its change, a chart you scrub across 1W to 1Y, and metric tiles. Inside: Headline metric and its change, Chart you scrub, Range control from 1W to 1Y, Metric tiles. Install with a Pro license: `npx swiftpieces add StatsOverviewBlock`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/stats-overview - [Checkout](https://swiftpieces.com/docs/patterns/commerce/checkout) (Pro): A one-column checkout: bag with steppers, address and delivery speed, promo code, summary, then Pay or Apple Pay to the placed order. Inside: Bag with quantity steppers, Address and delivery speed, Promo code and a total that follows, Pay and Apple Pay to the placed order. Install with a Pro license: `npx swiftpieces add CheckoutBlock`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/checkout - [Account Settings](https://swiftpieces.com/docs/patterns/settings/account-settings) (Pro): The account section at the top of Settings: profile and photo, appearance, notifications, your data, sign out and deletion. Inside: Profile with photo and name, Appearance in your theme's colours, Notification toggles, Your data, sign out and delete account. Install with a Pro license: `npx swiftpieces add AccountSettingsBlock`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/account-settings - [Chat Thread](https://swiftpieces.com/docs/patterns/ai-chat/chat-thread) (Pro): The message list of an assistant chat: replies in light markdown that stream in with Stop, then Copy, Regenerate, rate and Share. Inside: Streaming replies with Stop, Light markdown with Copy, Copy, Regenerate and feedback, Failed reply with Retry. Install with a Pro license: `npx swiftpieces add ChatThreadBlock`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/chat-thread - [Chat Welcome](https://swiftpieces.com/docs/patterns/ai-chat/chat-welcome) (Pro): The start of a new assistant chat: a greeting, suggestion cards by intent that page sideways, Shuffle, and recent chats to continue. Inside: Time-of-day greeting, Prompt cards that page, Shuffle suggestions, Recent chats. Install with a Pro license: `npx swiftpieces add ChatWelcomeBlock`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/chat-welcome - [Chat History](https://swiftpieces.com/docs/patterns/ai-chat/chat-history) (Pro): Past assistant chats: live search, Pinned and date groups, swipe and context actions, inline rename and delete that confirms. Inside: Live search, Pinned and dated groups, Swipe and hold actions, Rename and delete. Install with a Pro license: `npx swiftpieces add ChatHistoryBlock`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/chat-history - [Attachment Chat](https://swiftpieces.com/docs/patterns/ai-chat/chat-attachments) (Pro): An assistant chat with photos and files: thumbnails and file chips with upload rings and Retry, returned files to open or share. Inside: Photo layouts with +N, File chips, Upload rings with Retry, Full-screen photo viewer. Install with a Pro license: `npx swiftpieces add AttachmentChatBlock`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/chat-attachments - [Attachment Composer](https://swiftpieces.com/docs/patterns/prompt-input/composer-attachments) (Pro): A message composer that attaches photos and files, uploads each with its own progress ring, and turns Send into Stop. Inside: Photos, Camera and Files, Thumbnail tray, Upload states with Retry, Growing field and Send. Install with a Pro license: `npx swiftpieces add AttachmentComposer`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/composer-attachments - [Dictation Composer](https://swiftpieces.com/docs/patterns/prompt-input/composer-dictation) (Pro): A message composer with voice input: a live level meter, elapsed time, Cancel and Done, and the transcript filling the field. Inside: Live level meter, Transcript as you speak, Speech permission handling, Send that turns into Stop. Install with a Pro license: `npx swiftpieces add DictationComposer`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/composer-dictation - [Command Composer](https://swiftpieces.com/docs/patterns/prompt-input/composer-mentions) (Pro): A message composer with slash commands and at mentions: a filtered suggestion panel, chips for picks, and structured tokens on send. Inside: / commands, @ people and files, Search states, Token chips. Install with a Pro license: `npx swiftpieces add CommandComposer`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/composer-mentions - [Model Composer](https://swiftpieces.com/docs/patterns/prompt-input/composer-modes) (Pro): A message composer with a model menu, Search, Think and Image chips, and a usage line that warns near the limit. Inside: Model menu, Search, Think and Image, Daily message limit, Upgrade at the limit. Install with a Pro license: `npx swiftpieces add ModelComposer`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/composer-modes - [Agent Plan](https://swiftpieces.com/docs/patterns/agents/agent-plan) (Pro): An agent's task plan as a checklist: review and edit the steps, approve, then watch them tick through with live notes. Inside: Approve plan, Edit and reorder steps, Step statuses, Retry a failed step. Install with a Pro license: `npx swiftpieces add AgentPlanBlock`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/agent-plan - [Tool Calls](https://swiftpieces.com/docs/patterns/agents/tool-calls) (Pro): The tools an agent used in one reply, folded to "Used 4 tools · 3.2s" and opening to each call's arguments and result. Inside: Summary row, A row per call, Arguments and results, Failed calls with Retry. Install with a Pro license: `npx swiftpieces add ToolCallsBlock`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/tool-calls - [Agent Approval](https://swiftpieces.com/docs/patterns/agents/agent-approval) (Pro): An agent asks before it acts: the action, its risk and a preview of the change, then Allow once, Always allow or Deny. Inside: Action with a risk chip, Preview of the change, Allow once, always or deny, Optional countdown. Install with a Pro license: `npx swiftpieces add AgentApprovalBlock`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/agent-approval - [Agent Run](https://swiftpieces.com/docs/patterns/agents/agent-run) (Pro): A long-running agent task live: state, elapsed time, current activity, steps, tokens and cost, Pause and Stop, then its result. Inside: Status chip, Live elapsed time, Steps, tokens and cost, Pause, Resume and Stop. Install with a Pro license: `npx swiftpieces add AgentRunBlock`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/agent-run - [Greeting Header](https://swiftpieces.com/docs/patterns/nav-bars/greeting-header) (Pro): The top of a home tab: the date, a bell with its unread count, the avatar, a greeting by time of day and search, folding into a compact bar. Inside: Time-of-day greeting, Unread badge, Avatar with initials, Folds on scroll. Install with a Pro license: `npx swiftpieces add GreetingHeader`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/greeting-header - [Scope Header](https://swiftpieces.com/docs/patterns/nav-bars/scope-header) (Pro): A feed header: the title, scopes as text tabs with a sliding underline, filter chips that scroll, and a Filters button with its count. Inside: Sliding scope tabs, Filter chips, Filters count, Pinned header. Install with a Pro license: `npx swiftpieces add ScopeHeader`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/scope-header - [Location Header](https://swiftpieces.com/docs/patterns/nav-bars/location-header) (Pro): The header of a delivery or local app: the address and its chooser, search, a Now or Schedule pill, and the bag with its count. Inside: Saved addresses, Current location, Now or scheduled, Search and bag count. Install with a Pro license: `npx swiftpieces add LocationHeader`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/location-header - [Selection Toolbar](https://swiftpieces.com/docs/patterns/nav-bars/selection-toolbar) (Pro): Edit mode for any list: a top bar with the count, Select all and Done, an action bar, selection circles on rows, and Undo. Inside: Selection circles, Rolling count and Select all, Share, Move and Delete, Undo after each action. Install with a Pro license: `npx swiftpieces add SelectionToolbar`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/selection-toolbar - [Action Tab Bar](https://swiftpieces.com/docs/patterns/tab-bars/action-tab-bar) (Pro): A floating tab bar with a round create button set apart that opens quick actions over a scrim, with badges and tap again to scroll up. Inside: Central create button, Quick-create menu, Create button states, Badges and scroll to top. Install with a Pro license: `npx swiftpieces add ActionTabBar`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/action-tab-bar - [Accessory Tab Bar](https://swiftpieces.com/docs/patterns/tab-bars/accessory-tab-bar) (Pro): A tab bar with a live accessory above it for what is playing or running, folding inline into the bar as the content scrolls. Inside: Live accessory row, Folds on scroll, iOS 26 and iOS 17, Play and pause. Install with a Pro license: `npx swiftpieces add AccessoryTabBar`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/accessory-tab-bar - [Top Tabs](https://swiftpieces.com/docs/patterns/tab-bars/top-tabs) (Pro): A scrolling strip of top tabs over swipeable pages, its indicator tracking the swipe and the strip keeping the selected tab in view. Inside: Stretching indicator, Swipe between pages, Tab counts, Fill or scroll. Install with a Pro license: `npx swiftpieces add TopTabs`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/top-tabs - [Search Tab Bar](https://swiftpieces.com/docs/patterns/tab-bars/search-tab-bar) (Pro): A floating tab bar with search set apart: tap it and the tabs fold away as it opens into a field over your recent searches. Inside: Floating tab capsule, Search that opens in place, Recent searches, Your results view. Install with a Pro license: `npx swiftpieces add SearchTabBar`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/search-tab-bar - [Notification Inbox](https://swiftpieces.com/docs/patterns/lists/notification-inbox) (Pro): An in-app notifications list: All, Mentions and Unread, day groups, inline Accept and Reply, swipe actions and Mark all as read. Inside: All, Mentions and Unread, Grouped by time, Inline actions, Mark all as read. Install with a Pro license: `npx swiftpieces add NotificationInbox`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/notification-inbox - [Search Panel](https://swiftpieces.com/docs/patterns/lists/search-panel) (Pro): The body of a search screen: recent and suggested searches, live suggestions with the match highlighted, and results by scope. Inside: Recent searches, Suggested chips, Live suggestions, Scoped results. Install with a Pro license: `npx swiftpieces add SearchPanel`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/search-panel - [Activity Timeline](https://swiftpieces.com/docs/patterns/lists/activity-timeline) (Pro): A day-by-day log on a rail: status-tinted nodes, attachment chips, folded runs, a filter by kind and paging to earlier activity. Inside: Day groups on a rail, Outcome tints, Attachment chips, Folded runs and filters. Install with a Pro license: `npx swiftpieces add ActivityTimeline`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/activity-timeline - [File List](https://swiftpieces.com/docs/patterns/lists/file-list) (Pro): A files section: storage by type, sort and list or grid, uploads with progress, rename, share, move and delete, and Add. Inside: Storage bar by type, Sort, list or grid, Uploads with progress, Rename, Move and Delete. Install with a Pro license: `npx swiftpieces add FileList`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/file-list - [Notification Settings](https://swiftpieces.com/docs/patterns/settings/notification-settings) (Pro): The Notifications page of Settings: the real iOS permission, Push, Email and SMS per category, quiet hours and a digest that autosave. Inside: Real permission state, Push, Email and SMS, Quiet hours and digest, Autosave with Retry. Install with a Pro license: `npx swiftpieces add NotificationSettings`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/notification-settings - [Privacy Settings](https://swiftpieces.com/docs/patterns/settings/privacy-settings) (Pro): The Privacy page of Settings: each permission's real status with a tap to ask or change it, data toggles, a data export and the policies. Inside: Live iOS permissions, Status chips, Data toggles, Download my data. Install with a Pro license: `npx swiftpieces add PrivacySettings`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/privacy-settings - [Help and Support](https://swiftpieces.com/docs/patterns/settings/help-support) (Pro): The Help section of Settings: search that filters answers as you type, questions that open in place, chat, email, call and a problem report. Inside: Searchable FAQ, Chat, Email and Call, Report a problem, Copyable version. Install with a Pro license: `npx swiftpieces add HelpSupport`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/help-support - [Storage](https://swiftpieces.com/docs/patterns/settings/storage-settings) (Pro): The Storage page of Settings: what the app takes in a split bar, Clear cache that confirms and counts down, removable downloads and options. Inside: Total and free space, Usage bar by type, Clear cache, Downloads to remove. Install with a Pro license: `npx swiftpieces add StorageSettings`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/storage-settings - [Profile Form](https://swiftpieces.com/docs/patterns/forms/profile-form) (Pro): An edit-profile section: photo, name, a username that checks itself as it's typed, bio with a count, and Save. Inside: Photo picker, Username check, Bio with a count, Save when changed. Install with a Pro license: `npx swiftpieces add ProfileForm`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/profile-form - [Address Form](https://swiftpieces.com/docs/patterns/forms/address-form) (Pro): A shipping or billing address form with AutoFill, a searchable country list, per-country labels and street suggestions. Inside: AutoFill on every line, Country picker, Fields per country, MapKit suggestions. Install with a Pro license: `npx swiftpieces add AddressForm`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/address-form - [Feedback Form](https://swiftpieces.com/docs/patterns/forms/feedback-form) (Pro): A send-feedback section: a five-step rating, topic chips, a message, screenshots, device info and a thank-you. Inside: Five-step rating, Topic chips, Screenshots, Device info. Install with a Pro license: `npx swiftpieces add FeedbackForm`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/feedback-form - [Step Form](https://swiftpieces.com/docs/patterns/forms/step-form) (Pro): A multi-step form container: a step indicator, your view per step, Back and Continue, Review with Edit, and Submit. Inside: Step segments, A view per step, Review with Edit, Submit states. Install with a Pro license: `npx swiftpieces add StepForm`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/step-form - [Share Sheet](https://swiftpieces.com/docs/patterns/sheets/share-sheet) (Pro): Your app's own share sheet: the item up top, recent people to send to, Copy link, Save, Collection, More and Report. Inside: Item header, Send to recent people, Copy link, System share sheet. Install with a Pro license: `npx swiftpieces add ShareActionsSheet`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/share-sheet - [Permission Primer](https://swiftpieces.com/docs/patterns/sheets/permission-primer) (Pro): Explain-then-ask for notifications, location, the camera or photos, then answer what iOS says: granted, or Open Settings. Inside: Reason and benefits, Alert preview, Real permission request, Open Settings when denied. Install with a Pro license: `npx swiftpieces add PermissionPrimer`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/permission-primer - [What's New](https://swiftpieces.com/docs/patterns/sheets/whats-new) (Pro): A release notes sheet shown once per version: version and date, a title, features with symbols, Try it and Continue. Inside: Version and title, Feature rows, Try it links, Once per version. Install with a Pro license: `npx swiftpieces add WhatsNewSheet`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/whats-new - [Schedule Sheet](https://swiftpieces.com/docs/patterns/sheets/schedule-sheet) (Pro): Pick when something happens: quick picks with real times, a calendar and time picker, repeat rules and Schedule. Inside: Quick picks, Calendar and time, Repeat options, Schedule states. Install with a Pro license: `npx swiftpieces add ScheduleSheet`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/schedule-sheet - [Email Link Sign In](https://swiftpieces.com/docs/patterns/auth/magic-link) (Pro): Passwordless sign-in by email: send a link, check your inbox with Open Mail and a Resend countdown, or enter a code instead. Inside: Email with AutoFill, Check your inbox, Resend countdown, Optional code. Install with a Pro license: `npx swiftpieces add MagicLinkSignIn`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/magic-link - [Reset Password](https://swiftpieces.com/docs/patterns/auth/reset-password) (Pro): Account recovery in one block: request a code by email, verify it, choose a new password with rules that tick off, then sign in. Inside: Step track, Six-digit code, Strong password rules, Per-step states. Install with a Pro license: `npx swiftpieces add ResetPasswordBlock`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/reset-password - [Profile Setup](https://swiftpieces.com/docs/patterns/auth/profile-setup) (Pro): The first-run profile step: a photo or initials colour, a display name, a username checked live, an optional role, and Continue or Skip. Inside: Photo or initials, Live username check, Role and birthday, Skip for now. Install with a Pro license: `npx swiftpieces add ProfileSetup`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/profile-setup - [Interests Picker](https://swiftpieces.com/docs/patterns/auth/interests-picker) (Pro): A first-run step for picking topics: wrapping chips by section, a search that filters, a count that rolls, and Continue at the minimum. Inside: Wrapping topic chips, Pick count, Topic search, Minimum and maximum. Install with a Pro license: `npx swiftpieces add InterestsPicker`. In SwiftPieces Pro: https://pro.swiftpieces.com/library/patterns/interests-picker ## Collections - [SwiftUI text effects](https://swiftpieces.com/components/text): Free SwiftUI text effects for iOS: animated text reveal with highlights, Liquid Glass text and expandable Read more text. One Swift file each, no dependencies. (4 pieces) - [SwiftUI animated backgrounds](https://swiftpieces.com/components/backgrounds): Free animated SwiftUI backgrounds for iOS: a Metal shader silk surface with device-tilt lighting and an interactive Canvas dot grid with haptics. (2 pieces) - [SwiftUI Liquid Glass components](https://swiftpieces.com/components/glass): Free SwiftUI Liquid Glass components for iOS 26: glass surface, segmented control and floating action menu, each with a Material fallback for iOS 17. (5 pieces) - [SwiftUI buttons and controls](https://swiftpieces.com/components/controls): Free custom SwiftUI buttons and controls for iOS: animated button styles, an async loading button, hold to confirm, a timer dial and more. With haptics. (5 pieces) - [SwiftUI input fields and form controls](https://swiftpieces.com/components/inputs): Free SwiftUI inputs for iOS: floating label text field, password strength field, currency field, token field, date range picker, range slider and map location picker. (12 pieces) - [SwiftUI cards](https://swiftpieces.com/components/cards): Free SwiftUI card components for iOS: a swipeable card stack, 3D flip card, device-tilt motion card and parallax image card. One file each, with haptics. (5 pieces) - [SwiftUI lists and carousels](https://swiftpieces.com/components/lists): Free SwiftUI list components for iOS: custom swipe action rows, a swipeable task row, status timeline, depth paging carousel and an infinite scroll list. (7 pieces) - [SwiftUI navigation components](https://swiftpieces.com/components/navigation): Free SwiftUI navigation components for iOS: a floating tab bar dock, paging tabs with a scroll-tracking indicator and a stretchy header that pins to the nav bar. (6 pieces) - [SwiftUI sheets and toasts](https://swiftpieces.com/components/sheets): Free SwiftUI sheet components for iOS: a confirmation bottom sheet, a pre-permission sheet, a toast with undo and a spotlight coach mark tour. Haptics included. (5 pieces) - [SwiftUI feedback and loading states](https://swiftpieces.com/components/feedback): Free SwiftUI feedback components for iOS: skeleton loading with shimmer, loading to success checkmark animation, success and error screens, like button, star rating. (5 pieces) - [SwiftUI gesture and motion modifiers](https://swiftpieces.com/components/motion): Free SwiftUI motion modifiers for iOS: drag to dismiss for photos, cards and sheets, with velocity-based springs, a styled scrim, haptics and Reduce Motion. (1 pieces) - [SwiftUI charts and data components](https://swiftpieces.com/components/data): Free SwiftUI data components for iOS: an interactive line and bar chart, scrubbable donut chart, streak heatmap calendar, rolling odometer and KPI stat tiles. (6 pieces) - [SwiftUI AI chat components](https://swiftpieces.com/components/ai): Free SwiftUI AI chat components for iOS: streaming text reply, thinking indicator, prompt suggestion chips, answer sources and citations, and Metal shader orbs. (6 pieces) - [SwiftUI photo and media components](https://swiftpieces.com/components/media): Free SwiftUI media components for iOS: a full-screen photo viewer with pinch to zoom and drag to dismiss, a photo cropper and a Stories progress bar. (8 pieces) - [SwiftUI animations](https://swiftpieces.com/components/animations): Free animated SwiftUI components for iOS: card stacks, 3D flips, text reveals, rolling numbers, loading morphs and spring buttons. One Swift file each. (16 pieces) - [SwiftUI components with haptic feedback](https://swiftpieces.com/components/haptics): Free SwiftUI components with haptic feedback built in: buttons, sliders, dials, ratings, sheets and gestures that tick, tap and confirm with sensoryFeedback. (25 pieces) ## SwiftPieces Pro A separate paid library for building whole apps: 54 screens, 48 flows, 12 app templates and a 31-item Build Kit (production-ready SwiftUI screens, flows that string them into whole journeys from first run to settings, complete Xcode projects, and agent skills that build the rest in the same design) at https://pro.swiftpieces.com/library, plus Pro remixing in the Playground at https://swiftpieces.com/apps (all 34 apps, remix any app with AI, keep up to 100 remixes). One plan with lifetime access; plan and pricing: https://pro.swiftpieces.com/pro. Pro MCP endpoint: https://pro.swiftpieces.com/api/mcp (license key required): search_library, get_item, list_kit, get_kit_item, apply_design_skill, apply_recipe. ## AI (https://swiftpieces.com/components/ai) - [Assistant Orb](https://swiftpieces.com/docs/components/ai/assistant-orb): A dark glass ball with a Siri-style voice wave inside, locked to the thinking state; four thin sine membranes travel through the equator of a refracting shell, drawn by a Metal color shader. The sphere never moves, only the wave, and a palette change crossfades its colours. (iOS 17.0+, Metal). Install: `npx swiftpieces add AssistantOrb`. Registry: https://swiftpieces.com/r/AssistantOrb.json - [Prompt Chips](https://swiftpieces.com/docs/components/ai/prompt-chips): Liquid glass prompt chips above a composer, in a snapping horizontal row or a grid of columns, each keyed by a tinted glyph disc. They cascade in one after another as they appear. A tap presses the chip and swells it with a pop of its disc, and the other chips flow into it, nearest first, melting into its glass; then the gathered chip condenses into a drop that falls into the composer as the chips close, handing it the text. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add PromptChips`. Registry: https://swiftpieces.com/r/PromptChips.json - [Source Stack](https://swiftpieces.com/docs/components/ai/source-stack): Citations for an AI answer: a compact pill of overlapping site badges and a source count that opens into a list of numbered source cards. The badges fly out of the stack into their cards as the list cascades in under them, each card opens its link with a press, and closing gathers the badges back into the pill. (iOS 17.0+). Install: `npx swiftpieces add SourceStack`. Registry: https://swiftpieces.com/r/SourceStack.json - [Streaming Reply](https://swiftpieces.com/docs/components/ai/streaming-reply): The AI reply surface in liquid glass. A glass header pill carries the assistant mark and a phase label that morphs letter by letter, text arrives token by token with a per-word fade and a tinted cursor bubble, inline code sits on neutral chips, and user prompts are signal-tinted glass bubbles. A long press lifts the message: the header pill swells into a glass card around the reply and Copy and Regenerate bud out of its bottom edge, and a stopped reply buds a signal Retry out of its header pill. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add StreamingReply`. Registry: https://swiftpieces.com/r/StreamingReply.json - [Thinking State](https://swiftpieces.com/docs/components/ai/thinking-state): The "assistant is working" placeholder, laid out like the reply it becomes: a liquid glass header pill carrying a breathing mark and an elapsed-seconds label that morphs as it counts, over three presentations on one clock: block-colored rising dots, a sheen over reply-shaped bars, or a label whose glyphs carry the sheen. Plus a modifier that sweeps any view. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add ThinkingState`. Registry: https://swiftpieces.com/r/ThinkingState.json - [Thought Orb](https://swiftpieces.com/docs/components/ai/thought-orb): A small dark glass ball with a Siri-style voice wave inside, locked to the thinking state and drawn by a Metal color shader; palettes for searching, reading and writing crossfade the colour with the kind of work. Its Pill is the status control in liquid glass: the mark rides a round glass bubble joined by a liquid neck to a capsule whose label morphs letter by letter into each new verb while the capsule reshapes around it, with indeterminate dots at its end. (iOS 17.0+, Liquid Glass, Metal). Install: `npx swiftpieces add ThoughtOrb`. Registry: https://swiftpieces.com/r/ThoughtOrb.json ## Backgrounds (https://swiftpieces.com/components/backgrounds) - [Silk](https://swiftpieces.com/docs/components/backgrounds/silk): A slowly folding silk surface lit by a movable light and shaded from a real gradient normal in a Metal shader, in house block fabrics (the brand red among them) and an adaptive standard style, with optional device-tilt lighting. Content only, so it carries no glass. (iOS 17.0+, Metal). Install: `npx swiftpieces add Silk`. Registry: https://swiftpieces.com/r/Silk.json - [Touch Grid](https://swiftpieces.com/docs/components/backgrounds/touch-grid): A Canvas dot grid that swells and warms into the brand red or another house block under the finger, springs back on release, and sends one dissipating ripple out from a tap. Content only, so it carries no glass. (iOS 17.0+). Install: `npx swiftpieces add TouchGrid`. Registry: https://swiftpieces.com/r/TouchGrid.json ## Cards (https://swiftpieces.com/components/cards) - [Flip Card](https://swiftpieces.com/docs/components/cards/flip-card): A two-sided card you flip by tap or by dragging sideways. The drag scrubs the rotation, release commits or snaps back by velocity and carries the flick into the landing, the card lifts toward you mid-turn with a layered shadow that slides off the raised edge, and each face shades as it turns edge-on. An optional liquid glass flip hint rides the card's axis, its signal dot smearing from the front slot to the back slot as the card turns, and the faces take semibold type. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add FlipCard`. Registry: https://swiftpieces.com/r/FlipCard.json - [Motion Card](https://swiftpieces.com/docs/components/cards/motion-card): A solid color card that tilts with the device's attitude through an exponential filter, easing into its limit and leveling out when the grip changes, with a fixed-light sheen and a layered shadow that slide as it turns. Its content takes semibold type, and liquid glass chips laid on its face tilt and catch the same light. Press settles it toward flat, tips it down under the finger and sinks it with a light impact, and Core Motion stops whenever the scene is not active. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add MotionCard`. Registry: https://swiftpieces.com/r/MotionCard.json - [Parallax Card](https://swiftpieces.com/docs/components/cards/parallax-card): An image card whose picture drifts slower than the scroll while a liquid glass caption panel drifts slower still, so the card reads in layers. The trailing glyph is a glass bubble joined to the panel by a liquid neck; a press lifts the card with a deeper shadow and the bubble leans toward its arrow, thinning the neck. The caption is composed from eyebrow, title, metadata, and trailing glyph slots. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add ParallaxCard`. Registry: https://swiftpieces.com/r/ParallaxCard.json - [Swipe Deck](https://swiftpieces.com/docs/components/cards/swipe-deck): A gesture-driven card stack: the top card follows the finger and swings from where you grabbed it, a tinted liquid glass outcome badge buds in through the card's edge, leaning in from the side you head toward, and stamps at the threshold, melting back out if you return, the cards beneath rise one after another as it leaves, and release past the threshold or a flick throws it left, right, or up at the speed of your finger. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add SwipeDeck`. Registry: https://swiftpieces.com/r/SwipeDeck.json - [Wallet Stack](https://swiftpieces.com/docs/components/cards/wallet-stack): A wallet of tickets, boarding passes, memberships and loyalty cards as solid colour passes stacked so every header strip shows: tap one and it rises to the top and opens to its whole face with a real QR, Aztec, PDF417 or Code 128 code drawn by Core Image while the others slide down into a pile of narrowing slivers and a clear glass close bubble buds out of its corner, then drag it down with the finger's velocity, tap the pile, tap the bubble or press Escape to put it back; the strips draw closer when space runs short, the stack scrolls when there are many, and VoiceOver reads every pass, field and code. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add WalletStack`. Registry: https://swiftpieces.com/r/WalletStack.json ## Controls (https://swiftpieces.com/components/controls) - [Commit Button](https://swiftpieces.com/docs/components/controls/commit-button): A liquid glass async action button driven by one idle/loading/success/error/disabled phase: the signal glass capsule draws in around its label as a glass bubble buds out of its end carrying a spinning ring; on success the ring closes on a check and both turn sage, then the bubble melts home as the label morphs to its success title; an error morphs the label to the message on butter glass, turns the bubble into a retry and shakes. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add CommitButton`. Registry: https://swiftpieces.com/r/CommitButton.json - [Elastic Button](https://swiftpieces.com/docs/components/controls/elastic-button): A ButtonStyle that squashes toward the touch point, stretches along the drag with rubber-band resistance, deepens after a hold and springs back with as much give as the pull put in. Optional liquid glass surfaces (signal, block and clear raised glass) float on a soft lift that flattens under the finger, and the glass darkens as it is pressed. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add ElasticButton`. Registry: https://swiftpieces.com/r/ElasticButton.json - [Fan Stack](https://swiftpieces.com/docs/components/controls/fan-stack): Overlapping avatars in liquid glass bubbles that melt into one shape where they overlap, then fan apart on tap or hold through necks that stretch and snap, the hidden faces budding out of the +N bubble as it melts into them. A drag scrubs across them: the avatar under the finger lifts with its neighbours rolling up after it, a glass name tag buds out of it and a haptic ticks, and releasing selects it. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add FanStack`. Registry: https://swiftpieces.com/r/FanStack.json - [Hold To Confirm](https://swiftpieces.com/docs/components/controls/hold-to-confirm): A press-and-hold liquid glass capsule for destructive or important actions: the signal tint wells out of the leading puck while held and sweeps through the glass, passing three milestone dots with rising haptics and inverting the label under it, drains back into the puck on an early release, and on completion turns sage, morphs its label and buds a sage check bubble out of its end. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add HoldToConfirm`. Registry: https://swiftpieces.com/r/HoldToConfirm.json - [Timer Dial](https://swiftpieces.com/docs/components/controls/timer-dial): A countdown ring you set by dragging a liquid glass knob around it like the Timer dial, with a tick per step and a heavier detent every 5s. A solid ring over a minute-tick scale, semibold display numerals, a breathing signal warning zone, a sage finish, optional glass start, pause and reset bubbles that bud out of each other, and a determinate progress mode. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add TimerDial`. Registry: https://swiftpieces.com/r/TimerDial.json ## Data (https://swiftpieces.com/components/data) - [Activity Heatmap](https://swiftpieces.com/docs/components/data/activity-heatmap): A liquid glass streak calendar for habit, fitness, study and journaling apps: weeks of days drawn in one Canvas as rounded cells in solid steps from a pale red mix up to pure red, laid out by the locale's first weekday with month labels on their week columns, a semibold streak numeral under a glass streak chip that stays alive until midnight beside the longest run and active days, a scrub that lifts the day under your finger as a tinted glass tile with a glass callout budding out of it on a liquid neck and a haptic tick per day, a glass legend chip, sideways scrolling that opens on today when the weeks outgrow the width, and VoiceOver that steps day by day or plays the weeks as an audio graph. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add ActivityHeatmap`. Registry: https://swiftpieces.com/r/ActivityHeatmap.json - [Live Stat](https://swiftpieces.com/docs/components/data/live-stat): A liquid glass metric tile: a semibold display value that rolls with a spring and dims its decimals, a tinted delta chip, a sparkline you hold and scrub to retarget the value live while a glass flag buds out of the tile's top edge above your finger with the change from that point to the latest, a press that expands the line into a taller chart with low and high, and a tinted block variant. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add LiveStat`. Registry: https://swiftpieces.com/r/LiveStat.json - [Odometer](https://swiftpieces.com/docs/components/data/odometer): A number whose digits roll on individual slots like a mechanical counter, carrying from the low digits up so unchanged digits never move, with softened slot edges while rolling, dimmed decimals, a separate sign, a dashed loading state, and a tinted liquid glass delta chip that buds out from behind the figure after each change, rests joined beside it and melts back in. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add Odometer`. Registry: https://swiftpieces.com/r/Odometer.json - [Range Lens](https://swiftpieces.com/docs/components/data/range-lens): An overview and detail chart for long series like a year of daily steps, revenue, sleep or prices: a semibold readout of the window's average (or total, highest or lowest) with its dates, a detail chart of the window's bars that pans and rescales without overshooting under a red dashed average rule, and a strip of the whole series underneath with a liquid glass lens you drag to move and pull by its joined glass handles to resize, which swell and flood red while held, settle with the flick, rubber-band at the ends, tick at each week and never invert, plus tap to centre, double-tap to show everything, keyboard arrows and VoiceOver that steps the lens a week at a time. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add RangeLens`. Registry: https://swiftpieces.com/r/RangeLens.json - [Ring Breakdown](https://swiftpieces.com/docs/components/data/ring-breakdown): A composition ring of solid color blocks with rounded seams that you scrub by dragging around it, with a haptic at each slice boundary and a radial lift for the selected slice while the rest step back to the surface, around a semibold center figure under a liquid glass label pill whose name morphs letter by letter and out of which the selected slice's share buds as a tinted chip, above a legend of glass chips resting apart that take the slice's tint when picked. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add RingBreakdown`. Registry: https://swiftpieces.com/r/RingBreakdown.json - [Scrub Chart](https://swiftpieces.com/docs/components/data/scrub-chart): A liquid glass line or bar chart: a semibold readout with dimmed decimals beside a tinted glass delta chip, a glass flag that rides the scrub rule with the range's change budding out of it and resting joined while a range is held, hold-and-drag range selection, and a range picker of joined glass segments whose tint flows into the one you pick as it swells, morphing the line between datasets. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add ScrubChart`. Registry: https://swiftpieces.com/r/ScrubChart.json ## Feedback (https://swiftpieces.com/components/feedback) - [Outcome Screen](https://swiftpieces.com/docs/components/feedback/outcome-screen): A success, failure or empty outcome view sharing one choreography, where a ring draws, floods into a solid color block, the mark strokes in dark ink, one pulse lands with a haptic, and the headline and a signal-tinted liquid glass action rise. On failure an async retry morphs the action's label to "Retrying" while a progress bubble buds out of its end on a liquid neck, and a glass details block opens to the technical text. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add OutcomeScreen`. Registry: https://swiftpieces.com/r/OutcomeScreen.json - [Rating Scrub](https://swiftpieces.com/docs/components/feedback/rating-scrub): A star rating you tap or scrub, with soft rounded stars that fill as solid blocks colored by the score and rise under your finger like soft keys, falling back in a ripple when you let go, with a little give past either end. While you scrub, a glass readout tinted with the score buds up out of the touched star and rides from star to star, and the caption under the stars is a glass numeral pill joined to a tinted label chip whose word morphs letter by letter. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add RatingScrub`. Registry: https://swiftpieces.com/r/RatingScrub.json - [Reaction Toggle](https://swiftpieces.com/docs/components/feedback/reaction-toggle): A liquid glass like or save toggle. It presses in, its glass capsule floods with its tint from the symbol outward while the symbol swaps to its filled form and squashes and springs like soft rubber, the count rolls, and a confirmation pill buds out of the capsule on a liquid neck and melts back into it. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add ReactionToggle`. Registry: https://swiftpieces.com/r/ReactionToggle.json - [Skeleton Loader](https://swiftpieces.com/docs/components/feedback/skeleton-loader): Solid placeholder bones and a self-masking modifier that turns any layout, color blocks included, into one quiet shape sweeping a soft diagonal highlight on a shared clock, then hands off as content unblurs and rises row by row. The bones stand in for content, so they stay solid rather than glass. (iOS 17.0+). Install: `npx swiftpieces add SkeletonLoader`. Registry: https://swiftpieces.com/r/SkeletonLoader.json - [Status Morph](https://swiftpieces.com/docs/components/feedback/status-morph): One continuous stroke that spins as a loading arc, closes into a ring, floods into a solid block and draws a check in dark ink on success, or a cross with a nudge on failure, with an optional caption on a liquid glass pill under the ring whose label morphs letter by letter. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add StatusMorph`. Registry: https://swiftpieces.com/r/StatusMorph.json ## Glass (https://swiftpieces.com/components/glass) - [Glass Action Menu](https://swiftpieces.com/docs/components/glass/glass-action-menu): A liquid glass action menu. Hold the signal trigger and its actions bud out of it along a line or an arc, each born inside it and pulling a neck that thins and snaps, with its name budding from its side; slide across them and release to fire. The others melt home first and the fired one last, as the trigger lands a check; a tap toggles and a scrim dismisses. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add GlassActionMenu`. Registry: https://swiftpieces.com/r/GlassActionMenu.json - [Glass Mode Bar](https://swiftpieces.com/docs/components/glass/glass-mode-bar): One liquid glass body that turns into whatever mode you pick. At rest a capsule of mode icons spans the width; tap one and a signal anchor carrying that mode buds out of the capsule's leading end while the capsule draws back to make room and trades its icons for that mode's own controls, a waveform for voice, thumbnails for photos, chips for a timer. Tap the anchor and it melts home as the icons come back. The body keeps its footprint the whole time. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add GlassModeBar`. Registry: https://swiftpieces.com/r/GlassModeBar.json - [Glass Quick Add](https://swiftpieces.com/docs/components/glass/glass-quick-add): A liquid glass Quick add pill that folds up into a card. Tap it and the pill grows up and across into a menu of capture kinds; pick one and the same glass re-forms in place into that capture, a title field and its option chips. A signal Save bubble buds out from under the card's corner only once there is something to save, melts back if the field empties, and saving folds the whole thing down into the pill. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add GlassQuickAdd`. Registry: https://swiftpieces.com/r/GlassQuickAdd.json - [Glass Segments](https://swiftpieces.com/docs/components/glass/glass-segments): A liquid glass segmented control: a signal-tinted glass indicator melted into a glass track as one surface. It moves like liquid, its leading edge reaching the new segment first and the trailing edge following, so it stretches across and gathers in. Grab it to scrub: it lifts under the finger, flattens against the ends and lands where the flick was heading, while the label ink flips exactly under its edge; tap still works. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add GlassSegments`. Registry: https://swiftpieces.com/r/GlassSegments.json - [Glass Surface](https://swiftpieces.com/docs/components/glass/glass-surface): The public face of the SwiftPieces liquid glass: `.glassSurface` draws any view on a liquid glass capsule, rect, circle or concentric shape, and `GlassSurface.Group` melts neighbouring surfaces into one through a liquid neck. Liquid Glass on iOS 26; before it a frosted surface with its own press, top light and specular edge; a solid fill under Reduce Transparency, and a designed disabled state everywhere. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add GlassSurface`. Registry: https://swiftpieces.com/r/GlassSurface.json ## Inputs (https://swiftpieces.com/components/inputs) - [Address Field](https://swiftpieces.com/docs/components/inputs/address-field): A liquid glass address field for checkout, delivery and sign-up. Type-ahead suggestions pour down out of the field as a glass list with the matched text picked out, a clear or searching bubble buds from the field's end, and picking a row with a tap or the hardware keyboard buds a spinner bubble beside it while it resolves into a structured address with street, city, state, postal code, country and coordinate; the list then melts back into the field as the address settles in with the locality on a second line and a sage check, keeping the typed text usable with a "Use as typed" row and a butter retry bubble when a lookup fails. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add AddressField`. Registry: https://swiftpieces.com/r/AddressField.json - [Amount Field](https://swiftpieces.com/docs/components/inputs/amount-field): A currency amount entry that formats live in the user's locale as each digit lands (grouping, decimal separator, symbol before or after, the currency's own fraction digits), with a large auto-fitting semibold figure whose digits roll in, a blinking signal caret right after the digits, robust paste of amounts like "$1,234.56" or "1 234,56 €", and a limit that refuses the keystroke with a damped shake, an error haptic and a butter glass pill with the limit, budding out of the compact field's liquid glass block, all backed by a `Decimal` binding. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add AmountField`. Registry: https://swiftpieces.com/r/AmountField.json - [Date Range Picker](https://swiftpieces.com/docs/components/inputs/date-range-picker): A start-to-end date range picker on a paged month grid built from the environment calendar and locale, with the selection in liquid glass over the grid. A touch presses a small glass bubble into the day and the tap swells it into a red glass start bubble; the second tap lands the end the same way and the band pours out of the start along each week and into the end like liquid, joined to both bubbles by necks. Sold-out days are struck through, a refused end day swells into a butter bubble that shakes and melts away, a maximum length dims unreachable days, months page by swipe or a joined pair of glass chevrons that melt into each other at the ends, the month and summary morph letter by letter, and a glass chip reads out the dates and nights. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add DateRangePicker`. Registry: https://swiftpieces.com/r/DateRangePicker.json - [Expanding Track](https://swiftpieces.com/docs/components/inputs/expanding-track): A thumbless liquid glass slider: a glass bar that swells from 8pt to a 32pt bar under the finger with a solid color fill inside, shows detent dots while dragging, buds a glass readout bubble up out of the bar that rides the held edge on a liquid neck and melts back in when you let go, squishes past either end, and can carry an uppercase label with a big numeral; a second init selects a range with two sinking handles. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add ExpandingTrack`. Registry: https://swiftpieces.com/r/ExpandingTrack.json - [Filter Rail](https://swiftpieces.com/docs/components/inputs/filter-rail): A scrolling rail of liquid glass filter chips with optional counts, resting apart as their own bubbles. Single-select marks the pick with a brand red glass puck that stretches between chips, its leading edge first, melting into each chip it crosses while every label turns to dark ink exactly under its edge; multi-select picks take the red tint with a check, file to the leading edge, and a counting Clear chip buds out of the first pick and melts back into the rail when cleared; the chosen chip scrolls into view, and edges fade only when content overflows. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add FilterRail`. Registry: https://swiftpieces.com/r/FilterRail.json - [Form Field](https://swiftpieces.com/docs/components/inputs/form-field): A liquid glass text field whose label rests inside as a placeholder and glides up into a caption on focus or once filled, with an optional leading icon and help text. A clear bubble buds out of the field's end while you type, a character counter buds down out of it and turns butter at a grapheme-accurate limit, bumping when extra input is refused, and validation waits until you leave the field before drawing an error ring and budding a butter warning bubble with the message, an error haptic and a VoiceOver announcement, shakes the field once when Return or a form submit meets an error, and shows a quiet sage check once fixed. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add FormField`. Registry: https://swiftpieces.com/r/FormField.json - [Location Picker](https://swiftpieces.com/docs/components/inputs/location-picker): A map picker for delivery, rides, events and listings: drag the map under a fixed red pin that lifts while the map moves and, when it settles, drops and presses into place with a light tap, the address under it is looked up after a short pause with stale answers cancelled and recent ones cached. The chrome over the map is liquid glass: a floating glass card shows the street and locality, morphing letter by letter as it changes (a dropped pin with coordinates where there is no address, and a Retry bubble that pinches off its end when the lookup fails), the glass locate button asks for location only when tapped and flies to you, and the red Confirm capsule buds down out of the card once the spot has its answer and melts back into it while the map moves. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add LocationPicker`. Registry: https://swiftpieces.com/r/LocationPicker.json - [Range Slider](https://swiftpieces.com/docs/components/inputs/range-slider): A liquid glass dual-thumb slider: two glass bubble thumbs joined by a tinted glass span over a quiet line, with a glass readout chip joined above each thumb on a liquid neck; drag either thumb or touch the track to pull the nearest one over, the thumbs stay under the finger and land on their step when you let go, values snap to a step without floating drift, the thumbs never cross and keep a minimum gap, a thumb pulled past the end of the track gives with rubber-band resistance and springs back, a grabbed thumb swells and its chip takes the span's tint, as the thumbs meet one chip melts into the other to read as one range, and every step ticks a selection haptic with a firmer impact at a bound or the gap. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add RangeSlider`. Registry: https://swiftpieces.com/r/RangeSlider.json - [Scrub Stepper](https://swiftpieces.com/docs/components/inputs/scrub-stepper): A liquid glass stepper: round minus and plus bubbles joined to a glass numeral pill by liquid necks. Tap, hold to repeat with acceleration, or scrub sideways across the pill for velocity-scaled steps while a ruler slides under the finger; at a bound that button melts into the pill and the pill strains against the stop, and the button buds back out the moment it can be used. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add ScrubStepper`. Registry: https://swiftpieces.com/r/ScrubStepper.json - [Secure Entry](https://swiftpieces.com/docs/components/inputs/secure-entry): A liquid glass password field with a focus ring and a round glass reveal bubble joined to it that keeps focus. Typing buds a strength chip out of the field that morphs its label from weak to strong beside a growing gauge, requirement chips bud out of the field and turn sage with drawn checks as each rule passes, and when all pass the field takes a sage tint with a check while the chips melt back into it; a refused entry shakes the field, tints it butter and buds an error chip joined below it. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add SecureEntry`. Registry: https://swiftpieces.com/r/SecureEntry.json - [Signature Pad](https://swiftpieces.com/docs/components/inputs/signature-pad): A signature field that lays smooth, velocity-weighted ink into a Canvas as the finger moves, thinning on quick flicks and pooling on slow turns, over a baseline whose Sign here hint fades on the first stroke. Under the paper floats one liquid glass toolbar: Undo buds out of one end of the Type instead pill and Clear out of the other the moment they can act, joined to it by liquid necks, and melt back into it when they can't; the pill morphs to Draw instead, and a sage glass Signed chip lands once the signature counts. Undo after Clear, strokes that rescale with the pad on rotation, and export to a transparent PNG or a vector PDF. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add SignaturePad`. Registry: https://swiftpieces.com/r/SignaturePad.json - [Token Field](https://swiftpieces.com/docs/components/inputs/token-field): A liquid glass tag and recipient field where each committed entry buds out of the glass input as a glass chip, born where it was typed while the input slides on, and chips wrap across lines resting apart while the input takes the rest of the last line. Return, comma or a paste of a whole list commits trimmed tokens with duplicate, limit and validation checks; backspace on an empty input highlights the last chip in the brand red and a second press melts it back into the input; and a glass suggestion list buds out of the input and filters as you type. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add TokenField`. Registry: https://swiftpieces.com/r/TokenField.json ## Lists (https://swiftpieces.com/components/lists) - [Depth Carousel](https://swiftpieces.com/docs/components/lists/depth-carousel): Paged cards that recede in depth as they leave center and hand each page a phase value for inner parallax. A held neighbor starts forward and comes to center on tap. Underneath, a glass page counter joined by a liquid neck to a scrubbable glass track, whose tinted glass pill stretches between the dots as the pages move, flattens against the ends and follows the finger when scrubbed, computed in absolute page coordinates so it never jumps. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add DepthCarousel`. Registry: https://swiftpieces.com/r/DepthCarousel.json - [Drag Select Grid](https://swiftpieces.com/docs/components/lists/drag-select-grid): A multi-select photo and file grid where one drag paints a whole reading-order range the way the system photo library does, a sideways drag or a short hold starts painting while vertical swipes still scroll, dragging back unpaints, starting on a selected item deselects, the grid auto-scrolls faster the deeper the finger sits in the top or bottom edge, and selected cells inset under a liquid glass badge that buds out of the print's corner, floods signal red as the check stamps down and melts back into the corner, with a haptic tick per item. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add DragSelectGrid`. Registry: https://swiftpieces.com/r/DragSelectGrid.json - [Follow Scroll](https://swiftpieces.com/docs/components/lists/follow-scroll): A chat, log and live-feed scroll container that opens on the newest item and stays pinned to it while the reader is at the bottom, but never yanks them away once they scroll up to read; items that arrive below are counted into a liquid glass pill that buds up out of the bottom edge on a neck, jumps back to the latest and melts back down into the edge once the reader is caught up, older items loaded at the top keep the visible row exactly where it was while a glass spinner buds down from the top edge, and keyboard, rotation, growing rows and removals all hold the reader's place. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add FollowScroll`. Registry: https://swiftpieces.com/r/FollowScroll.json - [Paged List](https://swiftpieces.com/docs/components/lists/paged-list): An async/await infinite-scroll list that prefetches the next page a few rows before the end, never runs two loads at once, drops duplicate ids across pages, ignores stale responses after a refresh or cancel, and shows pulsing skeleton rows; its footer is one liquid glass bubble that spins while a page loads, widens into a "Couldn't load more" pill with a Retry bubble budding out of it on a liquid neck that keeps loaded rows, and becomes a quiet "You're all caught up" pill at the end, with pull to refresh that replaces rows only on success. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add PagedList`. Registry: https://swiftpieces.com/r/PagedList.json - [Status Timeline](https://swiftpieces.com/docs/components/lists/status-timeline): A vertical status timeline on liquid glass nodes: the live node is tinted and breathes, completed ones stamp to a tinted check as the ink runs down the line to the next stop, and a step's detail buds out of its node as a glass panel joined to it, melting back in as the relay moves on. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add StatusTimeline`. Registry: https://swiftpieces.com/r/StatusTimeline.json - [Swipe Action Row](https://swiftpieces.com/docs/components/lists/swipe-action-row): Wraps any row in a liquid glass card whose swipe actions are tinted glass bubbles. As the card slides they bud out of its edge, joined to it and to each other by liquid necks, and melt back in as it closes; the card lands in its detent at the speed you let go, a full swipe clicks in with a haptic as the edge bubble swallows the others and takes the bar, a destructive one carries the card out of the row, and a shared binding keeps one row open at a time. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add SwipeActionRow`. Registry: https://swiftpieces.com/r/SwipeActionRow.json - [Task Row](https://swiftpieces.com/docs/components/lists/task-row): A task card with liquid glass chrome. Its check is a glass bubble, stamped in ink and popping as the check draws while the card flashes into a solid block, then settling to tinted glass as the row compacts; the priority sits on a tinted glass chip; a swipe-right buds a complete bubble out from under the card that completes with a strike-through; a swipe-left buds Snooze and Delete bubbles that part to rest apart; and a long-press lift reports reorder moves. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add TaskRow`. Registry: https://swiftpieces.com/r/TaskRow.json ## Media (https://swiftpieces.com/components/media) - [Attachment Tray](https://swiftpieces.com/docs/components/media/attachment-tray): A horizontal attachment strip for composers, support forms and listings: a liquid glass add tile opens the photo picker with the remaining limit, picks drop onto the strip as their own tiles carrying a glass status bubble with a live progress ring, and the remove badge buds out of it; the ring closes before the thumbnail, downsampled off the main thread, develops in place and the bubble melts into the badge, failures flood the bubble red as a retry, the remove badge cancels an in-flight load, duplicates and over-limit picks are caught, and the caller owns every attachment for upload. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add AttachmentTray`. Registry: https://swiftpieces.com/r/AttachmentTray.json - [Link Preview](https://swiftpieces.com/docs/components/media/link-preview): A rich card for any URL that holds its final size while a skeleton sweeps, then settles the page's image and title into place under a liquid glass host chip that is there from the first frame (riding over the picture on the large card), fetched once with LinkPresentation, shared by every card showing the same link and cached so scrolling never refetches, falling back to a quiet card with the address when a page cannot be read, opening on tap and offering Copy Link and Share on long press. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add LinkPreview`. Registry: https://swiftpieces.com/r/LinkPreview.json - [Now Playing](https://swiftpieces.com/docs/components/media/now-playing): A mini player that grows into the full player in one continuous liquid glass motion: a glass bar with the artwork, the title over the artist and a red progress hairline, with a red play bubble and a forward bubble joined to its end. Tap it or pull it up and the bar stretches with the finger, then settles open with the flick's speed: the same glass grows into a card, the artwork, title and play button fly to their places, and previous and next bud out of play. Scrub the track with a swelling thumb while the times follow, skip with a letter by letter title morph and a blurred artwork swap, and drag the card down to fold it back into the bar. Playback stays the app's: the piece shows the time it is given and reports taps, skips and seeks. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add NowPlaying`. Registry: https://swiftpieces.com/r/NowPlaying.json - [Photo Cropper](https://swiftpieces.com/docs/components/media/photo-cropper): A crop step for profile photos, posts and listings that keeps the picked photo covering a frame of the chosen aspect at every zoom and offset, pinches around the fingers while it pans, rubber-bands past its limits and springs back with a red flash on the frame and a rigid tick at a zoom limit, morphs between circle, square, 4:5, 16:9 and the photo's own shape without losing the subject as a red liquid glass puck stretches along the aspect chips' glass track, turns a quarter at a time, fades in a rule-of-thirds grid under the finger, floats its zoom level over the photo on glass, and renders the crop off the main thread at the original's full resolution together with its pixel rect and rotation for cropping again on a server. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add PhotoCropper`. Registry: https://swiftpieces.com/r/PhotoCropper.json - [Photo Viewer](https://swiftpieces.com/docs/components/media/photo-viewer): A full-screen photo surface with anchor-correct pinch zoom, momentum panning that gives a little at the bounds and rebounds, double-tap zoom about the tap, paging between images, and pinch-out or drag-down to dismiss with a fading scrim. A liquid glass close button and page counter float over the photos; while zoomed the counter floods with a light tint and rolls into a live zoom readout, and a single tap hides them. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add PhotoViewer`. Registry: https://swiftpieces.com/r/PhotoViewer.json - [Story Strip](https://swiftpieces.com/docs/components/media/story-strip): A Stories-style segment strip with a built-in clock that advances segments on a duration, a long-press hold that freezes the strip and buds a liquid glass Paused badge down out of the bars (it melts back up into them on release), tap zones for back and forward that answer with a glass chevron bubble, and a manual progress mode when you own the timing. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add StoryStrip`. Registry: https://swiftpieces.com/r/StoryStrip.json - [Voice Recorder](https://swiftpieces.com/docs/components/media/voice-recorder): The hold-to-record voice message button for chat, notes, journaling and support composers: press and hold the glass mic beside your field and it swells red as a glass recording capsule buds out of it over the field, with a live clock and speech bars scrolling toward the edge and a lock lane budding up above it; slide toward the leading edge and a glass bin buds out to take the recording, which tips closed and melts away, slide up the lane to lock for hands-free recording with a red send button and a trash bubble, or simply let go to send an .m4a with its duration and waveform samples ready for Waveform Scrub, with the microphone permission flow, a teaching hint for taps that are too short, a red countdown over the last ten seconds, interruptions and a simulated source for previews all handled. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add VoiceRecorder`. Registry: https://swiftpieces.com/r/VoiceRecorder.json - [Waveform Scrub](https://swiftpieces.com/docs/components/media/waveform-scrub): A voice note player whose waveform is the scrubber: a red play button joined to a glass capsule of bars resampled from any number of samples to the width it gets, inked crisply mid-bar as your app's playback moves, a touch that drops the playhead under the finger, lifts the bars around it and buds a glass time bubble up out of the capsule that rides the finger and melts home as one seek is sent on release, a speed chip that morphs through 1×, 1.5× and 2×, quiet shimmering dots while the waveform loads, and a helper that reads the peaks of an audio file off the main thread. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add WaveformScrub`. Registry: https://swiftpieces.com/r/WaveformScrub.json ## Motion (https://swiftpieces.com/components/motion) - [Drag to Dismiss](https://swiftpieces.com/docs/components/motion/drag-to-dismiss): A modifier that lets a photo, card, or sheet follow a two-axis drag, rounds and shrinks it toward the finger with progress over a styled scrim, then springs back or is tossed off along the drag vector at the speed of the flick past a distance or velocity threshold. A liquid glass close bubble drops in at the top as the drag gets going, and a "Release to close" pill buds out of it on a liquid neck the moment the drag passes the threshold, melting back in if it falls short. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add DragToDismiss`. Registry: https://swiftpieces.com/r/DragToDismiss.json ## Navigation (https://swiftpieces.com/components/navigation) - [Floating Dock](https://swiftpieces.com/docs/components/navigation/floating-dock): A floating liquid glass dock: every item is its own glass bubble, resting apart, and the selected one floods with the signal tint. A drag across the dock lifts each item under the finger like a key while one glass name bubble buds out above it on a liquid neck, glides with the finger and morphs its name, then melts back in as the release commits; badges are signal bubbles joined to their items, and the whole dock tucks away on scroll. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add FloatingDock`. Registry: https://swiftpieces.com/r/FloatingDock.json - [Index Scrubber](https://swiftpieces.com/docs/components/navigation/index-scrubber): An A to Z section index for long lists in any scroll view: the letters sit on a liquid glass rail on the trailing edge. Touch or drag it to jump to the section under your finger with a selection tick per new section, while a signal glass bead rides the rail under the active letter and a large letter bubble buds out of the rail beside it on a liquid neck, follows the finger, rolls its letter in the direction of travel and melts back in on release. Letters without a section are dimmed or hidden, a dotted collapse covers rails too short for every title, and there is one adjustable VoiceOver element and type-to-jump on a hardware keyboard. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add IndexScrubber`. Registry: https://swiftpieces.com/r/IndexScrubber.json - [Scroll Island](https://swiftpieces.com/docs/components/navigation/scroll-island): A floating liquid glass island for long screens such as articles, recipes, docs, settings and product pages: it names the section in view and rings it in red with how much of the page has been read, morphs the title letter by letter as the page scrolls, buds a joined back-to-top bubble once the reader leaves the first section, scrubs sections under a sideways drag with a tick for each, and on a tap or a swipe up grows the same glass into a contents panel where a red puck stretches from row to row under the finger and the pick scrolls the page straight there. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add ScrollIsland`. Registry: https://swiftpieces.com/r/ScrollIsland.json - [Step Trail](https://swiftpieces.com/docs/components/navigation/step-trail): A liquid glass progress trail for checkout, booking, account setup and verification flows: every step a glass stop joined to the next by a short neck, done steps carrying a check, the current step a red capsule with its number and title, steps people already reached in full text and the rest muted; moving on stretches the red from one stop to the next and gathers it there while the old title blurs into a check, a tap goes back to any step already reached, a tap ahead of that shakes the stop and nothing moves, a sideways drag carries the capsule stop by stop with a tick each and gives at the last step it may reach, and when the titles don't fit the capsule keeps its number, the caption names the step and the stops shrink rather than wrap or clip. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add StepTrail`. Registry: https://swiftpieces.com/r/StepTrail.json - [Stretch Header](https://swiftpieces.com/docs/components/navigation/stretch-header): A hero header for your own ScrollView and NavigationStack: a semibold display title and uppercase eyebrow over a solid block hero that stretches on overscroll, a title that shrinks toward the real navigation bar, a row of liquid glass stat pills that pins under the bar, and a solid bar that fades in. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add StretchHeader`. Registry: https://swiftpieces.com/r/StretchHeader.json - [Tracking Tabs](https://swiftpieces.com/docs/components/navigation/tracking-tabs): Tabs on a liquid glass track over a paging ScrollView. The indicator is a signal-tinted glass capsule in the same liquid as the track, riding the pages through fractional scroll progress and swelling a little while it travels, with title ink that turns exactly under its edge, optional counts, a pressed state that sinks it with the selected title, and a selection tick each time the page changes. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add TrackingTabs`. Registry: https://swiftpieces.com/r/TrackingTabs.json ## Sheets (https://swiftpieces.com/components/sheets) - [Confirm Sheet](https://swiftpieces.com/docs/components/sheets/confirm-sheet): A confirmation card that presents as a height-fitted bottom sheet or, inline, as a floating card you can drag away. Its confirm and cancel actions are liquid glass capsules that split out of one shape as the card lands, the icon tile bounces, and a destructive choice plays a warning haptic. Confirming melts cancel back into confirm while its label morphs through Working to Done and its glass turns sage, then the card dismisses. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add ConfirmSheet`. Registry: https://swiftpieces.com/r/ConfirmSheet.json - [Notice Stack](https://swiftpieces.com/docs/components/sheets/notice-stack): In-app notices grouped the way notification stacks work: the newest on top as a glass card with its tinted symbol tile, title, relative time and message, two narrower peeks of the rest melted into it as one liquid shape, new notices dropping in from above with a soft tick, a tap that spreads the pile into a list while Show less and a clear button bud out of the top card, cards that follow a sideways swipe and fly off at your speed while the next one rises out of its peek, and a clear button that stretches into a red Clear all capsule so clearing takes a second, confirming tap. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add NoticeStack`. Registry: https://swiftpieces.com/r/NoticeStack.json - [Permission Sheet](https://swiftpieces.com/docs/components/sheets/permission-sheet): A pre-permission sheet that previews what it brings as a fanned stack of notification banners, each a tinted app tile, a line and now, that drop in one after another and deal the next to the front while it waits. A centred title and message sit under it, the request is a signal glass capsule whose label morphs through Requesting to Allowed as the stack pops and Not now melts into it, and a denial greys the stack out, swaps the copy and routes the button to Settings. Without benefits it leads with an icon tile. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add PermissionSheet`. Registry: https://swiftpieces.com/r/PermissionSheet.json - [Spotlight Tour](https://swiftpieces.com/docs/components/sheets/spotlight-tour): A first-run feature tour for any screen: mark controls with .spotlightAnchor and .spotlightTour dims everything else through a cutout that springs from stop to stop as a red ring draws around it, and sets a liquid glass callout with step progress below or above the target inside the safe area, its glass nub pointing at it. Skip and a red Next are a liquid glass pair that bud out of the callout on the far side from the target; on the last stop Skip melts into Next as Next morphs to Done. Taps reach the real control (which can also advance the tour), stops that aren't on screen are skipped, the cutout follows its target through scrolling, rotation and the keyboard, the tour can show itself only once, and VoiceOver, hardware keyboards and Reduce Motion stay in step. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add SpotlightTour`. Registry: https://swiftpieces.com/r/SpotlightTour.json - [Toast](https://swiftpieces.com/docs/components/sheets/toast): A single liquid glass toast. A glass card carries the message, an optional detail line; as it lands, a tile bubble tinted for its kind buds out of its leading end with a countdown ring that drains around its glyph and pauses while touched, and an action such as Undo buds out of its trailing end as a signal bubble, both joined to the card by liquid necks. Placed inside the safe area so it clears the Dynamic Island and rides above the keyboard. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add Toast`. Registry: https://swiftpieces.com/r/Toast.json ## Text (https://swiftpieces.com/components/text) - [Expandable Text](https://swiftpieces.com/docs/components/text/expandable-text): A paragraph clamped to a line limit that measures whether it is really truncated, and only then fades the end of its last line into a small liquid glass "more" pill; tapping grows the block smoothly to its full height with no reflow while the pill rides its bottom edge down and morphs to "less", links stay tappable, and VoiceOver always reads the whole text. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add ExpandableText`. Registry: https://swiftpieces.com/r/ExpandableText.json - [Glass Text](https://swiftpieces.com/docs/components/text/glass-text): Liquid Glass rendered on the actual glyph outlines of a string, one or several lines, set in the house semibold by default, with a specular frosted fallback below iOS 26, a solid fill under Reduce Transparency and Dynamic Type scaling. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add GlassText`. Registry: https://swiftpieces.com/r/GlassText.json - [Picture Headline](https://swiftpieces.com/docs/components/text/picture-headline): A semibold headline with living pictures stuck between its words like a hand-placed collage. Each word rises into place and each picture opens from a dot into a tilted sticker with a white rim, landing with a spring, a light tick and a flash of crop marks, then keeps drifting. Press a sticker to lift it. Use the built-in house-palette scenes (the sun is our red mascot), your own images or SF Symbols; it wraps like text at any width and Dynamic Type size. (iOS 17.0+). Install: `npx swiftpieces add PictureHeadline`. Registry: https://swiftpieces.com/r/PictureHeadline.json - [Text Reveal](https://swiftpieces.com/docs/components/text/text-reveal): Reveals a headline by characters, words or lines, rising from a baseline mask with a stagger sized to land in under a second, then grows a stroke of tinted liquid glass behind each phrase that matters, the text flipping to ink exactly under its edge. (iOS 17.0+, Liquid Glass). Install: `npx swiftpieces add TextReveal`. Registry: https://swiftpieces.com/r/TextReveal.json