designkit-ai 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AI-AGENT.md +51 -0
- package/LICENSE +21 -0
- package/README.md +517 -0
- package/bin/designkit.js +61 -0
- package/components/_index.md +81 -0
- package/components/app-mobile/README.md +117 -0
- package/components/app-mobile/badges/badge-count.html +9 -0
- package/components/app-mobile/badges/badge-dot.html +9 -0
- package/components/app-mobile/badges/badge-large.html +9 -0
- package/components/app-mobile/buttons/button-filled.html +9 -0
- package/components/app-mobile/buttons/button-icon.html +11 -0
- package/components/app-mobile/buttons/button-outlined.html +9 -0
- package/components/app-mobile/buttons/button-text.html +9 -0
- package/components/app-mobile/buttons/button-tonal.html +9 -0
- package/components/app-mobile/buttons/fab-extended.html +12 -0
- package/components/app-mobile/buttons/fab-small.html +11 -0
- package/components/app-mobile/buttons/fab.html +11 -0
- package/components/app-mobile/buttons/icon-button-filled.html +11 -0
- package/components/app-mobile/buttons/icon-button-tonal.html +11 -0
- package/components/app-mobile/buttons/segmented-button.html +13 -0
- package/components/app-mobile/cards/card-elevated.html +15 -0
- package/components/app-mobile/cards/card-filled.html +15 -0
- package/components/app-mobile/cards/card-outlined.html +15 -0
- package/components/app-mobile/charts/bar-chart.html +20 -0
- package/components/app-mobile/charts/donut-chart.html +20 -0
- package/components/app-mobile/charts/horizontal-bar.html +15 -0
- package/components/app-mobile/charts/line-chart.html +26 -0
- package/components/app-mobile/charts/progress-ring.html +17 -0
- package/components/app-mobile/charts/sparkline.html +11 -0
- package/components/app-mobile/charts/stat-card.html +18 -0
- package/components/app-mobile/chips/chip-assist.html +12 -0
- package/components/app-mobile/chips/chip-filter.html +12 -0
- package/components/app-mobile/chips/chip-input.html +14 -0
- package/components/app-mobile/chips/chip-suggestion.html +9 -0
- package/components/app-mobile/data-display/avatar-group.html +35 -0
- package/components/app-mobile/dialogs/dialog-basic.html +16 -0
- package/components/app-mobile/dialogs/dialog-fullscreen.html +18 -0
- package/components/app-mobile/dividers/divider-full.html +9 -0
- package/components/app-mobile/dividers/divider-inset.html +9 -0
- package/components/app-mobile/ecommerce/cart-item.html +29 -0
- package/components/app-mobile/ecommerce/cart-summary.html +31 -0
- package/components/app-mobile/ecommerce/color-selector.html +17 -0
- package/components/app-mobile/ecommerce/order-status.html +25 -0
- package/components/app-mobile/ecommerce/product-detail-hero.html +45 -0
- package/components/app-mobile/ecommerce/size-selector.html +17 -0
- package/components/app-mobile/ecommerce/wishlist-item.html +22 -0
- package/components/app-mobile/education/assignment-card.html +24 -0
- package/components/app-mobile/education/certificate.html +30 -0
- package/components/app-mobile/education/course-card.html +32 -0
- package/components/app-mobile/education/grade-report.html +53 -0
- package/components/app-mobile/education/lesson-progress.html +21 -0
- package/components/app-mobile/education/quiz-mcq.html +35 -0
- package/components/app-mobile/education/quiz-truefalse.html +26 -0
- package/components/app-mobile/education/student-dashboard.html +57 -0
- package/components/app-mobile/feedback/banner.html +13 -0
- package/components/app-mobile/feedback/progress-circular.html +14 -0
- package/components/app-mobile/feedback/progress-linear.html +11 -0
- package/components/app-mobile/feedback/skeleton.html +20 -0
- package/components/app-mobile/feedback/snackbar.html +15 -0
- package/components/app-mobile/feedback/tooltip.html +9 -0
- package/components/app-mobile/finance/bank-account-card.html +36 -0
- package/components/app-mobile/finance/budget-category.html +24 -0
- package/components/app-mobile/finance/credit-score.html +29 -0
- package/components/app-mobile/finance/investment-portfolio.html +52 -0
- package/components/app-mobile/finance/transaction-row.html +26 -0
- package/components/app-mobile/finance/transfer-form.html +42 -0
- package/components/app-mobile/fitness/body-metrics.html +41 -0
- package/components/app-mobile/fitness/calorie-tracker.html +48 -0
- package/components/app-mobile/fitness/exercise-timer.html +30 -0
- package/components/app-mobile/fitness/meal-plan.html +36 -0
- package/components/app-mobile/fitness/sleep-tracker.html +50 -0
- package/components/app-mobile/fitness/workout-card.html +37 -0
- package/components/app-mobile/food/cuisine-filter.html +39 -0
- package/components/app-mobile/food/menu-item.html +25 -0
- package/components/app-mobile/food/order-tracker.html +46 -0
- package/components/app-mobile/food/restaurant-card.html +34 -0
- package/components/app-mobile/food/review-card.html +35 -0
- package/components/app-mobile/food/table-reservation.html +42 -0
- package/components/app-mobile/forms/form-address.html +41 -0
- package/components/app-mobile/forms/form-payment.html +37 -0
- package/components/app-mobile/forms/form-profile.html +39 -0
- package/components/app-mobile/forms/time-picker.html +28 -0
- package/components/app-mobile/healthcare/appointment-card.html +26 -0
- package/components/app-mobile/healthcare/doctor-profile.html +32 -0
- package/components/app-mobile/healthcare/health-metric-chart.html +51 -0
- package/components/app-mobile/healthcare/insurance-card.html +35 -0
- package/components/app-mobile/healthcare/lab-results.html +23 -0
- package/components/app-mobile/healthcare/medication-reminder.html +24 -0
- package/components/app-mobile/healthcare/symptom-checker.html +42 -0
- package/components/app-mobile/healthcare/vitals-dashboard.html +56 -0
- package/components/app-mobile/inputs/date-picker.html +68 -0
- package/components/app-mobile/inputs/file-upload.html +13 -0
- package/components/app-mobile/inputs/otp-input.html +16 -0
- package/components/app-mobile/inputs/password-field.html +13 -0
- package/components/app-mobile/inputs/search-bar.html +17 -0
- package/components/app-mobile/inputs/select.html +17 -0
- package/components/app-mobile/inputs/text-field-filled.html +12 -0
- package/components/app-mobile/inputs/text-field-outlined.html +12 -0
- package/components/app-mobile/inputs/textarea.html +12 -0
- package/components/app-mobile/inputs/time-picker.html +33 -0
- package/components/app-mobile/job/application-status.html +18 -0
- package/components/app-mobile/job/interview-schedule.html +32 -0
- package/components/app-mobile/lists/list-item-1line.html +14 -0
- package/components/app-mobile/lists/list-item-2line.html +20 -0
- package/components/app-mobile/lists/list-item-3line.html +17 -0
- package/components/app-mobile/logistics/delivery-map.html +40 -0
- package/components/app-mobile/logistics/driver-card.html +25 -0
- package/components/app-mobile/logistics/package-tracker.html +42 -0
- package/components/app-mobile/logistics/shipment-row.html +20 -0
- package/components/app-mobile/media/audio-player.html +38 -0
- package/components/app-mobile/media/image-carousel.html +28 -0
- package/components/app-mobile/menus/menu-context.html +13 -0
- package/components/app-mobile/menus/menu-dropdown.html +14 -0
- package/components/app-mobile/native/gesture-nav-bar.html +11 -0
- package/components/app-mobile/native/ios-action-sheet.html +19 -0
- package/components/app-mobile/native/ios-alert.html +18 -0
- package/components/app-mobile/native/ios-home-indicator.html +11 -0
- package/components/app-mobile/native/ios-list-cell.html +14 -0
- package/components/app-mobile/native/ios-nav-bar.html +16 -0
- package/components/app-mobile/native/ios-page-sheet.html +17 -0
- package/components/app-mobile/native/ios-search-bar.html +15 -0
- package/components/app-mobile/native/ios-segmented-control.html +13 -0
- package/components/app-mobile/native/ios-status-bar.html +17 -0
- package/components/app-mobile/native/ios-tab-bar.html +31 -0
- package/components/app-mobile/native/ios-wheel-picker.html +34 -0
- package/components/app-mobile/native/notification-item.html +19 -0
- package/components/app-mobile/native/permission-dialog.html +18 -0
- package/components/app-mobile/native/status-bar.html +16 -0
- package/components/app-mobile/navbars/bottom-app-bar.html +19 -0
- package/components/app-mobile/navbars/bottom-nav-3.html +28 -0
- package/components/app-mobile/navbars/bottom-nav-4.html +26 -0
- package/components/app-mobile/navbars/bottom-nav-5.html +30 -0
- package/components/app-mobile/navbars/top-app-bar-center.html +17 -0
- package/components/app-mobile/navbars/top-app-bar-large.html +20 -0
- package/components/app-mobile/navbars/top-app-bar-medium.html +20 -0
- package/components/app-mobile/navbars/top-app-bar-small.html +22 -0
- package/components/app-mobile/navigation/back-header.html +32 -0
- package/components/app-mobile/navigation/segmented-control.html +19 -0
- package/components/app-mobile/navigation/stepper-vertical.html +65 -0
- package/components/app-mobile/patterns/accordion.html +20 -0
- package/components/app-mobile/patterns/activity-feed.html +26 -0
- package/components/app-mobile/patterns/audio-waveform.html +34 -0
- package/components/app-mobile/patterns/avatar-group.html +14 -0
- package/components/app-mobile/patterns/breadcrumb.html +15 -0
- package/components/app-mobile/patterns/calendar-month.html +56 -0
- package/components/app-mobile/patterns/camera-viewfinder.html +33 -0
- package/components/app-mobile/patterns/card-horizontal.html +15 -0
- package/components/app-mobile/patterns/cart-item.html +23 -0
- package/components/app-mobile/patterns/category-pills.html +15 -0
- package/components/app-mobile/patterns/chat-bubble-received.html +15 -0
- package/components/app-mobile/patterns/chat-bubble-sent.html +14 -0
- package/components/app-mobile/patterns/chat-conversation.html +27 -0
- package/components/app-mobile/patterns/chat-input-bar.html +13 -0
- package/components/app-mobile/patterns/code-editor.html +29 -0
- package/components/app-mobile/patterns/comment-item.html +15 -0
- package/components/app-mobile/patterns/contact-card.html +19 -0
- package/components/app-mobile/patterns/data-table.html +25 -0
- package/components/app-mobile/patterns/empty-state.html +19 -0
- package/components/app-mobile/patterns/error-screen.html +14 -0
- package/components/app-mobile/patterns/event-card.html +22 -0
- package/components/app-mobile/patterns/image-editor.html +34 -0
- package/components/app-mobile/patterns/image-grid.html +16 -0
- package/components/app-mobile/patterns/login-form.html +22 -0
- package/components/app-mobile/patterns/map-card.html +19 -0
- package/components/app-mobile/patterns/media-player.html +26 -0
- package/components/app-mobile/patterns/notification-list.html +25 -0
- package/components/app-mobile/patterns/onboarding-slide.html +24 -0
- package/components/app-mobile/patterns/order-summary.html +16 -0
- package/components/app-mobile/patterns/order-tracker.html +27 -0
- package/components/app-mobile/patterns/pagination.html +17 -0
- package/components/app-mobile/patterns/post-card.html +28 -0
- package/components/app-mobile/patterns/product-card.html +26 -0
- package/components/app-mobile/patterns/profile-header.html +18 -0
- package/components/app-mobile/patterns/rating-stars.html +15 -0
- package/components/app-mobile/patterns/review-card.html +22 -0
- package/components/app-mobile/patterns/search-results.html +35 -0
- package/components/app-mobile/patterns/settings-group.html +30 -0
- package/components/app-mobile/patterns/stepper-horizontal.html +24 -0
- package/components/app-mobile/patterns/story-circle.html +16 -0
- package/components/app-mobile/patterns/swipe-action.html +19 -0
- package/components/app-mobile/patterns/tag-pills.html +14 -0
- package/components/app-mobile/patterns/timeline-item.html +19 -0
- package/components/app-mobile/patterns/todo-item.html +18 -0
- package/components/app-mobile/patterns/video-editor-timeline.html +36 -0
- package/components/app-mobile/patterns/video-player.html +33 -0
- package/components/app-mobile/patterns/wallet-card.html +18 -0
- package/components/app-mobile/sliders/slider-continuous.html +14 -0
- package/components/app-mobile/sliders/slider-discrete.html +21 -0
- package/components/app-mobile/social/chat-bubble-received.html +15 -0
- package/components/app-mobile/social/chat-bubble-sent.html +16 -0
- package/components/app-mobile/social/notification-item.html +17 -0
- package/components/app-mobile/social/post-card.html +46 -0
- package/components/app-mobile/social/reaction-bar.html +29 -0
- package/components/app-mobile/social/story-circle.html +15 -0
- package/components/app-mobile/social/user-profile-card.html +29 -0
- package/components/app-mobile/surfaces/bottom-sheet.html +23 -0
- package/components/app-mobile/surfaces/nav-drawer.html +20 -0
- package/components/app-mobile/surfaces/nav-rail.html +14 -0
- package/components/app-mobile/surfaces/side-sheet.html +17 -0
- package/components/app-mobile/tabs/tabs-primary.html +13 -0
- package/components/app-mobile/tabs/tabs-secondary.html +13 -0
- package/components/app-mobile/toggles/checkbox.html +14 -0
- package/components/app-mobile/toggles/radio.html +14 -0
- package/components/app-mobile/toggles/switch.html +11 -0
- package/components/app-mobile/travel/booking-summary.html +51 -0
- package/components/app-mobile/travel/flight-card.html +41 -0
- package/components/app-mobile/travel/hotel-card.html +35 -0
- package/components/app-mobile/travel/itinerary-item.html +29 -0
- package/components/app-mobile/travel/map-pins.html +42 -0
- package/components/app-mobile/travel/travel-date-picker.html +72 -0
- package/components/common/decorations/abstract-lines.html +30 -0
- package/components/common/decorations/circle-rings.html +26 -0
- package/components/common/decorations/corner-decoration.html +27 -0
- package/components/common/decorations/dots-pattern.html +51 -0
- package/components/common/decorations/gradient-blob.html +19 -0
- package/components/common/decorations/mesh-gradient.html +32 -0
- package/components/common/decorations/sparkle-burst.html +35 -0
- package/components/common/decorations/wave-divider.html +17 -0
- package/components/common/illustrations/empty-cart.html +27 -0
- package/components/common/illustrations/empty-inbox.html +28 -0
- package/components/common/illustrations/empty-search.html +26 -0
- package/components/common/illustrations/error-404.html +29 -0
- package/components/common/illustrations/no-data.html +31 -0
- package/components/common/illustrations/success-check.html +33 -0
- package/components/common/illustrations/upload-cloud.html +23 -0
- package/components/common/illustrations/welcome.html +31 -0
- package/components/common/mockup-elements/avatar-placeholder.html +17 -0
- package/components/common/mockup-elements/browser-chrome.html +37 -0
- package/components/common/mockup-elements/chart-bar.html +42 -0
- package/components/common/mockup-elements/image-placeholder.html +27 -0
- package/components/common/mockup-elements/laptop-frame.html +32 -0
- package/components/common/mockup-elements/map-placeholder.html +39 -0
- package/components/common/mockup-elements/phone-frame.html +29 -0
- package/components/common/mockup-elements/status-bar-android.html +30 -0
- package/components/common/mockup-elements/status-bar-ios.html +26 -0
- package/components/common/mockup-elements/video-placeholder.html +29 -0
- package/components/common/ui-icons/icon-add-circle.html +12 -0
- package/components/common/ui-icons/icon-airdrop.html +10 -0
- package/components/common/ui-icons/icon-airplay.html +10 -0
- package/components/common/ui-icons/icon-apple-logo.html +10 -0
- package/components/common/ui-icons/icon-arrow-back.html +11 -0
- package/components/common/ui-icons/icon-arrow-down.html +10 -0
- package/components/common/ui-icons/icon-arrow-right.html +10 -0
- package/components/common/ui-icons/icon-arrow-up.html +10 -0
- package/components/common/ui-icons/icon-bag.html +10 -0
- package/components/common/ui-icons/icon-battery.html +10 -0
- package/components/common/ui-icons/icon-bluetooth.html +10 -0
- package/components/common/ui-icons/icon-bolt.html +10 -0
- package/components/common/ui-icons/icon-bookmark-fill.html +10 -0
- package/components/common/ui-icons/icon-bookmark.html +10 -0
- package/components/common/ui-icons/icon-bubble-left.html +10 -0
- package/components/common/ui-icons/icon-calendar.html +19 -0
- package/components/common/ui-icons/icon-camera.html +11 -0
- package/components/common/ui-icons/icon-cart.html +10 -0
- package/components/common/ui-icons/icon-checkmark.html +10 -0
- package/components/common/ui-icons/icon-chevron-down.html +10 -0
- package/components/common/ui-icons/icon-chevron-left.html +10 -0
- package/components/common/ui-icons/icon-chevron-right.html +10 -0
- package/components/common/ui-icons/icon-chevron-up.html +10 -0
- package/components/common/ui-icons/icon-clock.html +10 -0
- package/components/common/ui-icons/icon-creditcard.html +10 -0
- package/components/common/ui-icons/icon-doc.html +10 -0
- package/components/common/ui-icons/icon-download.html +10 -0
- package/components/common/ui-icons/icon-ellipsis-vertical.html +10 -0
- package/components/common/ui-icons/icon-ellipsis.html +10 -0
- package/components/common/ui-icons/icon-envelope.html +10 -0
- package/components/common/ui-icons/icon-eye-slash.html +10 -0
- package/components/common/ui-icons/icon-eye.html +10 -0
- package/components/common/ui-icons/icon-faceid.html +10 -0
- package/components/common/ui-icons/icon-favorite.html +10 -0
- package/components/common/ui-icons/icon-folder.html +10 -0
- package/components/common/ui-icons/icon-globe.html +10 -0
- package/components/common/ui-icons/icon-heart-fill.html +10 -0
- package/components/common/ui-icons/icon-heart.html +10 -0
- package/components/common/ui-icons/icon-home.html +10 -0
- package/components/common/ui-icons/icon-link.html +10 -0
- package/components/common/ui-icons/icon-list-bullet.html +10 -0
- package/components/common/ui-icons/icon-location.html +11 -0
- package/components/common/ui-icons/icon-lock.html +10 -0
- package/components/common/ui-icons/icon-magnifying-glass.html +10 -0
- package/components/common/ui-icons/icon-map.html +10 -0
- package/components/common/ui-icons/icon-menu-hamburger.html +12 -0
- package/components/common/ui-icons/icon-mic.html +10 -0
- package/components/common/ui-icons/icon-minus.html +10 -0
- package/components/common/ui-icons/icon-notification.html +11 -0
- package/components/common/ui-icons/icon-paperplane.html +10 -0
- package/components/common/ui-icons/icon-pause.html +10 -0
- package/components/common/ui-icons/icon-pencil.html +10 -0
- package/components/common/ui-icons/icon-person-2.html +10 -0
- package/components/common/ui-icons/icon-person-crop-circle.html +10 -0
- package/components/common/ui-icons/icon-phone-fill.html +10 -0
- package/components/common/ui-icons/icon-photo.html +10 -0
- package/components/common/ui-icons/icon-play-fill.html +10 -0
- package/components/common/ui-icons/icon-plus.html +10 -0
- package/components/common/ui-icons/icon-profile.html +11 -0
- package/components/common/ui-icons/icon-qrcode.html +10 -0
- package/components/common/ui-icons/icon-settings.html +11 -0
- package/components/common/ui-icons/icon-share.html +14 -0
- package/components/common/ui-icons/icon-slider-horizontal.html +10 -0
- package/components/common/ui-icons/icon-square-grid.html +10 -0
- package/components/common/ui-icons/icon-star-fill.html +10 -0
- package/components/common/ui-icons/icon-star.html +10 -0
- package/components/common/ui-icons/icon-touchid.html +10 -0
- package/components/common/ui-icons/icon-trash.html +10 -0
- package/components/common/ui-icons/icon-upload.html +10 -0
- package/components/common/ui-icons/icon-video.html +10 -0
- package/components/common/ui-icons/icon-wifi.html +10 -0
- package/components/common/ui-icons/icon-xmark.html +10 -0
- package/components/componentmap-app-mobile.md +210 -0
- package/components/componentmap-web.md +206 -0
- package/components/web/README.md +110 -0
- package/components/web/account/payment-method.html +13 -0
- package/components/web/account/profile-card.html +18 -0
- package/components/web/account/subscription-card.html +21 -0
- package/components/web/badges/badge-set.html +14 -0
- package/components/web/buttons/button-danger.html +10 -0
- package/components/web/buttons/button-ghost.html +10 -0
- package/components/web/buttons/button-group.html +12 -0
- package/components/web/buttons/button-icon.html +10 -0
- package/components/web/buttons/button-primary.html +11 -0
- package/components/web/buttons/button-secondary.html +10 -0
- package/components/web/cards/card-basic.html +11 -0
- package/components/web/cards/card-feature.html +12 -0
- package/components/web/cards/card-image.html +16 -0
- package/components/web/cards/card-pricing.html +21 -0
- package/components/web/cards/card-stat.html +15 -0
- package/components/web/cards/card-testimonial.html +21 -0
- package/components/web/cart/cart-page.html +30 -0
- package/components/web/cart/checkout-form.html +27 -0
- package/components/web/cart/order-confirmation.html +24 -0
- package/components/web/charts/chart-area.html +25 -0
- package/components/web/charts/chart-bar.html +19 -0
- package/components/web/charts/chart-donut.html +27 -0
- package/components/web/content/author-card.html +15 -0
- package/components/web/content/blog-card-horizontal.html +16 -0
- package/components/web/cta/cta-centered.html +15 -0
- package/components/web/cta/cta-newsletter.html +16 -0
- package/components/web/cta/cta-with-image.html +17 -0
- package/components/web/data-display/accordion.html +45 -0
- package/components/web/data-display/grid-view.html +21 -0
- package/components/web/data-display/list-view.html +27 -0
- package/components/web/data-display/progress-steps.html +39 -0
- package/components/web/data-display/rating-stars.html +38 -0
- package/components/web/data-display/stat-card-compact.html +32 -0
- package/components/web/data-display/stat-card-large.html +34 -0
- package/components/web/data-display/table-selectable.html +127 -0
- package/components/web/data-display/table-sortable.html +120 -0
- package/components/web/data-display/tag-group.html +25 -0
- package/components/web/data-display/timeline-horizontal.html +55 -0
- package/components/web/data-display/timeline-vertical.html +76 -0
- package/components/web/data-display/tree-view.html +86 -0
- package/components/web/dividers/divider-text.html +8 -0
- package/components/web/ecommerce/coupon-input.html +11 -0
- package/components/web/ecommerce/product-card-grid.html +29 -0
- package/components/web/ecommerce/product-card-list.html +32 -0
- package/components/web/features/features-alternating.html +35 -0
- package/components/web/features/features-bento.html +43 -0
- package/components/web/features/features-icon-list.html +44 -0
- package/components/web/feedback/alert-banner.html +12 -0
- package/components/web/feedback/empty-state-error.html +18 -0
- package/components/web/feedback/empty-state-no-data.html +18 -0
- package/components/web/feedback/empty-state-no-search.html +15 -0
- package/components/web/feedback/empty-state.html +16 -0
- package/components/web/feedback/loading-spinner.html +14 -0
- package/components/web/feedback/progress-bar.html +11 -0
- package/components/web/feedback/skeleton-card.html +17 -0
- package/components/web/feedback/skeleton-list.html +45 -0
- package/components/web/feedback/skeleton.html +16 -0
- package/components/web/feedback/toast-error.html +12 -0
- package/components/web/feedback/toast-info.html +12 -0
- package/components/web/feedback/toast-success.html +12 -0
- package/components/web/feedback/tooltip.html +8 -0
- package/components/web/forms/date-picker.html +67 -0
- package/components/web/forms/file-upload.html +16 -0
- package/components/web/forms/form-contact.html +35 -0
- package/components/web/forms/form-login.html +29 -0
- package/components/web/forms/form-search-filters.html +57 -0
- package/components/web/forms/form-signup.html +35 -0
- package/components/web/heroes/hero-gradient.html +20 -0
- package/components/web/heroes/hero-image-bg.html +21 -0
- package/components/web/heroes/hero-video.html +17 -0
- package/components/web/inputs/checkbox.html +11 -0
- package/components/web/inputs/date-input.html +15 -0
- package/components/web/inputs/file-upload.html +12 -0
- package/components/web/inputs/radio-group.html +15 -0
- package/components/web/inputs/search-command.html +12 -0
- package/components/web/inputs/select.html +14 -0
- package/components/web/inputs/tag-input.html +15 -0
- package/components/web/inputs/text-input.html +11 -0
- package/components/web/inputs/textarea.html +11 -0
- package/components/web/inputs/toggle.html +11 -0
- package/components/web/job/candidate-profile.html +47 -0
- package/components/web/job/job-listing.html +44 -0
- package/components/web/job/resume-section.html +41 -0
- package/components/web/job/salary-range.html +19 -0
- package/components/web/layout/cta-banner.html +15 -0
- package/components/web/layout/features-grid.html +31 -0
- package/components/web/layout/hero-centered.html +19 -0
- package/components/web/layout/hero-split.html +21 -0
- package/components/web/layout/pricing-section.html +37 -0
- package/components/web/layout/stats-row.html +13 -0
- package/components/web/logos/logo-grid.html +20 -0
- package/components/web/logos/logo-ticker.html +19 -0
- package/components/web/marketing/cta-simple.html +18 -0
- package/components/web/marketing/cta-split.html +20 -0
- package/components/web/marketing/faq-accordion.html +55 -0
- package/components/web/marketing/feature-centered.html +35 -0
- package/components/web/marketing/feature-grid-2col.html +58 -0
- package/components/web/marketing/feature-grid-3col.html +44 -0
- package/components/web/marketing/footer-complex.html +86 -0
- package/components/web/marketing/footer-simple.html +59 -0
- package/components/web/marketing/hero-centered.html +44 -0
- package/components/web/marketing/hero-split-left.html +41 -0
- package/components/web/marketing/hero-split-right.html +35 -0
- package/components/web/marketing/logo-cloud.html +18 -0
- package/components/web/marketing/newsletter-signup.html +25 -0
- package/components/web/marketing/pricing-3tier.html +72 -0
- package/components/web/marketing/pricing-toggle.html +85 -0
- package/components/web/marketing/social-proof-bar.html +32 -0
- package/components/web/marketing/stats-row.html +45 -0
- package/components/web/marketing/team-grid.html +65 -0
- package/components/web/marketing/testimonial-carousel.html +45 -0
- package/components/web/marketing/testimonial-grid.html +75 -0
- package/components/web/media/blog-post-card.html +24 -0
- package/components/web/media/comment-single.html +26 -0
- package/components/web/media/image-gallery-grid.html +18 -0
- package/components/web/media/rich-text-block.html +20 -0
- package/components/web/media/testimonial-quote.html +20 -0
- package/components/web/media/video-player.html +44 -0
- package/components/web/menus/dropdown-menu.html +14 -0
- package/components/web/metrics/kpi-row.html +13 -0
- package/components/web/modals/modal-basic.html +21 -0
- package/components/web/modals/modal-form.html +22 -0
- package/components/web/navbars/breadcrumb.html +14 -0
- package/components/web/navbars/footer.html +35 -0
- package/components/web/navbars/sidebar-dark.html +21 -0
- package/components/web/navbars/sidebar.html +23 -0
- package/components/web/navbars/topnav-search.html +25 -0
- package/components/web/navbars/topnav.html +20 -0
- package/components/web/navigation/mega-menu.html +92 -0
- package/components/web/navigation/pagination.html +43 -0
- package/components/web/navigation/sidebar-collapsed.html +93 -0
- package/components/web/navigation/sidebar-expanded.html +121 -0
- package/components/web/navigation/stepper-horizontal.html +51 -0
- package/components/web/patterns/accordion.html +19 -0
- package/components/web/patterns/activity-feed.html +25 -0
- package/components/web/patterns/auth-login.html +24 -0
- package/components/web/patterns/avatar-group.html +13 -0
- package/components/web/patterns/calendar-month.html +44 -0
- package/components/web/patterns/category-pills.html +15 -0
- package/components/web/patterns/chat-web.html +24 -0
- package/components/web/patterns/code-editor.html +34 -0
- package/components/web/patterns/comparison-table.html +39 -0
- package/components/web/patterns/cookie-banner.html +14 -0
- package/components/web/patterns/error-page.html +16 -0
- package/components/web/patterns/file-list.html +24 -0
- package/components/web/patterns/filter-toolbar.html +14 -0
- package/components/web/patterns/kanban-column.html +27 -0
- package/components/web/patterns/notification-list.html +26 -0
- package/components/web/patterns/order-tracker.html +16 -0
- package/components/web/patterns/pagination.html +16 -0
- package/components/web/patterns/product-card-web.html +23 -0
- package/components/web/patterns/settings-form.html +24 -0
- package/components/web/patterns/stepper.html +16 -0
- package/components/web/patterns/user-table-row.html +15 -0
- package/components/web/patterns/video-player.html +26 -0
- package/components/web/presentation/slide-content.html +17 -0
- package/components/web/presentation/slide-title.html +13 -0
- package/components/web/pricing/pricing-table.html +51 -0
- package/components/web/pricing/pricing-toggle.html +62 -0
- package/components/web/print/business-card.html +20 -0
- package/components/web/products/product-card-horizontal.html +19 -0
- package/components/web/products/product-detail.html +39 -0
- package/components/web/products/product-grid.html +13 -0
- package/components/web/products/review-section.html +29 -0
- package/components/web/promotions/coupon-card.html +17 -0
- package/components/web/promotions/promo-banner.html +24 -0
- package/components/web/real-estate/agent-contact.html +32 -0
- package/components/web/real-estate/listing-detail-hero.html +44 -0
- package/components/web/real-estate/price-range-slider.html +20 -0
- package/components/web/real-estate/property-card.html +38 -0
- package/components/web/real-estate/property-map-pin.html +19 -0
- package/components/web/real-estate/virtual-tour-button.html +17 -0
- package/components/web/saas/api-key-row.html +31 -0
- package/components/web/saas/audit-log-row.html +21 -0
- package/components/web/saas/billing-plan.html +50 -0
- package/components/web/saas/kpi-row.html +61 -0
- package/components/web/saas/team-member-row.html +30 -0
- package/components/web/saas/webhook-config.html +44 -0
- package/components/web/screenshots/app-screenshot.html +32 -0
- package/components/web/screenshots/screenshot-gallery.html +45 -0
- package/components/web/social/comment-thread.html +75 -0
- package/components/web/social-media/instagram-post.html +17 -0
- package/components/web/social-proof/logo-cloud.html +18 -0
- package/components/web/social-proof/testimonial-carousel.html +30 -0
- package/components/web/surfaces/slide-over.html +20 -0
- package/components/web/tables/data-table.html +41 -0
- package/components/web/tables/table-simple.html +13 -0
- package/components/web/tabs/tabs-pills.html +12 -0
- package/components/web/tabs/tabs-underline.html +13 -0
- package/components/web/toggles/toggle-dark-mode.html +19 -0
- package/components/web/toggles/toggle-group.html +38 -0
- package/components/web/toggles/toggle-switch.html +14 -0
- package/components/web/widgets/api-key-row.html +16 -0
- package/components/web/widgets/billing-card.html +14 -0
- package/components/web/widgets/changelog-item.html +15 -0
- package/components/web/widgets/integration-card.html +15 -0
- package/components/web/widgets/onboarding-checklist.html +18 -0
- package/components/web/widgets/pricing-toggle.html +13 -0
- package/components/web/widgets/team-member-row.html +13 -0
- package/components/web/widgets/usage-meter.html +12 -0
- package/package.json +46 -0
- package/skills/README.md +35 -0
- package/skills/contribute.md +267 -0
- package/skills/design.md +470 -0
- package/skills/flutter.md +156 -0
- package/skills/nextjs.md +143 -0
- package/skills/react-native.md +258 -0
- package/skills/react.md +171 -0
- package/skills/svelte.md +95 -0
- package/skills/swiftui.md +171 -0
- package/skills/tailwind.md +108 -0
- package/skills/vue.md +111 -0
- package/src/commands/add.js +51 -0
- package/src/commands/convert.js +120 -0
- package/src/commands/design.js +89 -0
- package/src/commands/init.js +136 -0
- package/src/commands/list.js +52 -0
- package/src/commands/search.js +40 -0
- package/src/lib/index.js +100 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Code Editor — Syntax Highlighted
|
|
3
|
+
@category: patterns
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 240
|
|
7
|
+
@tags: code, editor, syntax, highlight, developer
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Code Editor — Syntax Highlighted" style="width:100%;background:#1E1E2E;border-radius:var(--kit-radius-md, 12px);overflow:hidden;font-family:ui-monospace, SFMono-Regular, Menlo, monospace">
|
|
10
|
+
<div style="display:flex;align-items:center;height:36px;padding:0 12px;background:#181825;gap:6px">
|
|
11
|
+
<div style="width:12px;height:12px;border-radius:6px;background:#F38BA8"></div>
|
|
12
|
+
<div style="width:12px;height:12px;border-radius:6px;background:#FAB387"></div>
|
|
13
|
+
<div style="width:12px;height:12px;border-radius:6px;background:#A6E3A1"></div>
|
|
14
|
+
<span style="margin-left:auto;font-size:12px;color:#6C7086">app.ts</span>
|
|
15
|
+
</div>
|
|
16
|
+
<div style="padding:16px;font-size:13px;line-height:1.7;overflow-x:auto">
|
|
17
|
+
<div><span style="color:#CBA6F7">import</span> <span style="color:#89B4FA">{ useState }</span> <span style="color:#CBA6F7">from</span> <span style="color:#A6E3A1">'react'</span><span style="color:#6C7086">;</span></div>
|
|
18
|
+
<div style="height:8px"></div>
|
|
19
|
+
<div><span style="color:#CBA6F7">function</span> <span style="color:#89B4FA">Counter</span><span style="color:#F9E2AF">()</span> <span style="color:#F9E2AF">{</span></div>
|
|
20
|
+
<div style="padding-left:20px"><span style="color:#CBA6F7">const</span> <span style="color:#CDD6F4">[count, setCount]</span> <span style="color:#89DCEB">=</span> <span style="color:#89B4FA">useState</span><span style="color:#F9E2AF">(</span><span style="color:#FAB387">0</span><span style="color:#F9E2AF">)</span><span style="color:#6C7086">;</span></div>
|
|
21
|
+
<div style="height:8px"></div>
|
|
22
|
+
<div style="padding-left:20px"><span style="color:#CBA6F7">return</span> <span style="color:#F9E2AF">(</span></div>
|
|
23
|
+
<div style="padding-left:40px"><span style="color:#89DCEB"><</span><span style="color:#89B4FA">button</span> <span style="color:#F9E2AF">onClick</span><span style="color:#89DCEB">=</span><span style="color:#F9E2AF">{()</span> <span style="color:#CBA6F7">=></span> <span style="color:#89B4FA">setCount</span><span style="color:#F9E2AF">(</span><span style="color:#CDD6F4">count</span> <span style="color:#89DCEB">+</span> <span style="color:#FAB387">1</span><span style="color:#F9E2AF">)}</span><span style="color:#89DCEB">></span></div>
|
|
24
|
+
<div style="padding-left:60px"><span style="color:#CDD6F4">Clicks: {count}</span></div>
|
|
25
|
+
<div style="padding-left:40px"><span style="color:#89DCEB"></</span><span style="color:#89B4FA">button</span><span style="color:#89DCEB">></span></div>
|
|
26
|
+
<div style="padding-left:20px"><span style="color:#F9E2AF">)</span><span style="color:#6C7086">;</span></div>
|
|
27
|
+
<div><span style="color:#F9E2AF">}</span></div>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Comment Item
|
|
3
|
+
@category: patterns
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 64
|
|
7
|
+
@tags: comment, social, reply, user
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Comment Item" style="display:flex;gap:10px;padding:8px 0;font-family:var(--kit-font, system-ui, -apple-system, sans-serif)">
|
|
10
|
+
<div style="width:28px;height:28px;border-radius:14px;background:var(--kit-surface-2, #F1F5F9);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px;font-weight:600;color:var(--kit-text-2, #475569)">S</div>
|
|
11
|
+
<div style="flex:1;min-width:0">
|
|
12
|
+
<div style="font-size:13px;color:var(--kit-text, #0F172A);line-height:1.4"><span style="font-weight:600">Sarah</span> This looks amazing! Where was this taken?</div>
|
|
13
|
+
<div style="display:flex;gap:12px;margin-top:4px;font-size:11px;color:var(--kit-text-3, #94A3B8)"><span>2h</span><span style="cursor:pointer;font-weight:500">Reply</span><span style="cursor:pointer">♡ 3</span></div>
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Contact Card — with Actions
|
|
3
|
+
@category: patterns
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 80
|
|
7
|
+
@tags: contact, card, user, phone, message, call
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Contact Card — with Actions" style="display:flex;align-items:center;width:100%;padding:12px 16px;gap:12px;box-sizing:border-box;font-family:var(--kit-font, system-ui, -apple-system, sans-serif)">
|
|
10
|
+
<div style="width:48px;height:48px;border-radius:24px;background:var(--kit-primary, #6366F1);color:#FFFFFF;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;flex-shrink:0">AJ</div>
|
|
11
|
+
<div style="flex:1;min-width:0">
|
|
12
|
+
<div style="font-size:var(--kit-text-md, 16px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text, #0F172A)">Alex Johnson</div>
|
|
13
|
+
<div style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-3, #94A3B8);margin-top:1px">Last seen 5m ago</div>
|
|
14
|
+
</div>
|
|
15
|
+
<div style="display:flex;gap:4px">
|
|
16
|
+
<div style="width:36px;height:36px;border-radius:18px;background:var(--kit-surface-2, #F1F5F9);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--kit-primary, #6366F1)"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/></svg></div>
|
|
17
|
+
<div style="width:36px;height:36px;border-radius:18px;background:var(--kit-surface-2, #F1F5F9);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--kit-primary, #6366F1)"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg></div>
|
|
18
|
+
</div>
|
|
19
|
+
</div>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Data Table — with Headers + Rows
|
|
3
|
+
@category: patterns
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 280
|
|
7
|
+
@tags: table, data, grid, rows, headers, admin
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Data Table — with Headers + Rows" style="width:100%;background:var(--kit-bg, #FFFFFF);border:1px solid var(--kit-border, #E2E8F0);border-radius:var(--kit-radius-md, 12px);overflow:hidden;font-family:var(--kit-font, system-ui, -apple-system, sans-serif)">
|
|
10
|
+
<div style="display:flex;background:var(--kit-surface, #F8FAFC);border-bottom:1px solid var(--kit-border, #E2E8F0);padding:0 16px;height:44px;align-items:center;font-size:12px;font-weight:var(--kit-font-semibold, 600);color:var(--kit-text-2, #475569);text-transform:uppercase;letter-spacing:0.5px">
|
|
11
|
+
<div style="flex:2">Name</div><div style="flex:1">Status</div><div style="flex:1;text-align:right">Amount</div>
|
|
12
|
+
</div>
|
|
13
|
+
<div style="display:flex;padding:0 16px;height:52px;align-items:center;font-size:14px;border-bottom:1px solid var(--kit-border, #E2E8F0)">
|
|
14
|
+
<div style="flex:2;color:var(--kit-text, #0F172A);font-weight:500">Sarah Chen</div><div style="flex:1"><span style="background:var(--kit-success-bg, #F0FDF4);color:var(--kit-success, #22C55E);padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500">Paid</span></div><div style="flex:1;text-align:right;color:var(--kit-text, #0F172A);font-weight:500">$230.00</div>
|
|
15
|
+
</div>
|
|
16
|
+
<div style="display:flex;padding:0 16px;height:52px;align-items:center;font-size:14px;border-bottom:1px solid var(--kit-border, #E2E8F0)">
|
|
17
|
+
<div style="flex:2;color:var(--kit-text, #0F172A);font-weight:500">James Wilson</div><div style="flex:1"><span style="background:var(--kit-warning-bg, #FFFBEB);color:var(--kit-warning, #F59E0B);padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500">Pending</span></div><div style="flex:1;text-align:right;color:var(--kit-text, #0F172A);font-weight:500">$180.50</div>
|
|
18
|
+
</div>
|
|
19
|
+
<div style="display:flex;padding:0 16px;height:52px;align-items:center;font-size:14px;border-bottom:1px solid var(--kit-border, #E2E8F0)">
|
|
20
|
+
<div style="flex:2;color:var(--kit-text, #0F172A);font-weight:500">Emma Brown</div><div style="flex:1"><span style="background:var(--kit-info-bg, #EFF6FF);color:var(--kit-info, #3B82F6);padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500">Shipped</span></div><div style="flex:1;text-align:right;color:var(--kit-text, #0F172A);font-weight:500">$420.00</div>
|
|
21
|
+
</div>
|
|
22
|
+
<div style="display:flex;padding:0 16px;height:52px;align-items:center;font-size:14px">
|
|
23
|
+
<div style="flex:2;color:var(--kit-text, #0F172A);font-weight:500">Mike Davis</div><div style="flex:1"><span style="background:var(--kit-danger-bg, #FEF2F2);color:var(--kit-danger, #EF4444);padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500">Failed</span></div><div style="flex:1;text-align:right;color:var(--kit-text, #0F172A);font-weight:500">$95.00</div>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Empty State — No Data
|
|
3
|
+
@category: patterns
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 300
|
|
7
|
+
@tags: empty, state, no-data, placeholder, illustration
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Empty State — No Data" style="width:100%;height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;box-sizing:border-box;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);text-align:center">
|
|
10
|
+
<div style="width:80px;height:80px;border-radius:40px;background:var(--kit-surface-2, #F1F5F9);display:flex;align-items:center;justify-content:center;margin-bottom:20px;color:var(--kit-text-3, #94A3B8)">
|
|
11
|
+
<svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"/><polyline points="13 2 13 9 20 9"/></svg>
|
|
12
|
+
</div>
|
|
13
|
+
<div style="font-size:var(--kit-text-lg, 18px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text, #0F172A);margin-bottom:8px">No items yet</div>
|
|
14
|
+
<div style="font-size:var(--kit-text-sm, 14px);color:var(--kit-text-2, #475569);line-height:1.5;max-width:260px;margin-bottom:24px">When you create items, they'll appear here. Get started by tapping the button below.</div>
|
|
15
|
+
<div style="display:inline-flex;align-items:center;justify-content:center;height:40px;background:var(--kit-primary, #6366F1);color:var(--kit-primary-fg, #FFFFFF);border-radius:20px;padding:0 24px;font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-medium, 500);cursor:pointer;gap:8px">
|
|
16
|
+
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg>
|
|
17
|
+
Create First Item
|
|
18
|
+
</div>
|
|
19
|
+
</div>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Error Screen — No Connection
|
|
3
|
+
@category: patterns
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 400
|
|
7
|
+
@tags: error, screen, offline, no-connection, retry
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Error Screen — No Connection" style="width:100%;height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;box-sizing:border-box;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);text-align:center">
|
|
10
|
+
<div style="width:80px;height:80px;border-radius:40px;background:var(--kit-danger-bg, #FEF2F2);display:flex;align-items:center;justify-content:center;margin-bottom:24px;color:var(--kit-danger, #EF4444)"><svg width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M5 12.55a11 11 0 0 1 14.08 0"/><path d="M1.42 9a16 16 0 0 1 21.16 0"/><path d="M8.53 16.11a6 6 0 0 1 6.95 0"/><line x1="12" y1="20" x2="12.01" y2="20"/><line x1="1" y1="1" x2="23" y2="23" stroke-width="2"/></svg></div>
|
|
11
|
+
<div style="font-size:var(--kit-text-xl, 20px);font-weight:var(--kit-font-bold, 700);color:var(--kit-text, #0F172A);margin-bottom:8px">No Connection</div>
|
|
12
|
+
<div style="font-size:var(--kit-text-sm, 14px);color:var(--kit-text-2, #475569);line-height:1.5;max-width:260px;margin-bottom:28px">Please check your internet connection and try again.</div>
|
|
13
|
+
<div style="display:inline-flex;align-items:center;justify-content:center;height:44px;background:var(--kit-primary, #6366F1);color:#FFFFFF;border-radius:22px;padding:0 28px;font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-medium, 500);cursor:pointer;gap:8px"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="23 4 23 10 17 10"/><polyline points="1 20 1 14 7 14"/><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"/></svg>Try Again</div>
|
|
14
|
+
</div>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Event / Calendar Card
|
|
3
|
+
@category: patterns
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 72
|
|
7
|
+
@tags: event, calendar, schedule, appointment, time
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Event / Calendar Card" style="display:flex;align-items:center;width:100%;padding:8px 16px;gap:12px;box-sizing:border-box;font-family:var(--kit-font, system-ui, -apple-system, sans-serif)">
|
|
10
|
+
<div style="width:4px;height:48px;border-radius:2px;background:var(--kit-primary, #6366F1);flex-shrink:0"></div>
|
|
11
|
+
<div style="flex:1;min-width:0">
|
|
12
|
+
<div style="font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text, #0F172A)">Team Standup Meeting</div>
|
|
13
|
+
<div style="display:flex;align-items:center;gap:6px;margin-top:3px">
|
|
14
|
+
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="var(--kit-text-3, #94A3B8)" stroke-width="2"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
|
|
15
|
+
<span style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-3, #94A3B8)">10:00 AM - 10:30 AM</span>
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
<div style="display:flex">
|
|
19
|
+
<div style="width:24px;height:24px;border-radius:12px;background:#6366F1;border:2px solid var(--kit-bg, #FFFFFF);display:flex;align-items:center;justify-content:center;color:#FFFFFF;font-size:10px;font-weight:600">A</div>
|
|
20
|
+
<div style="width:24px;height:24px;border-radius:12px;background:#EC4899;border:2px solid var(--kit-bg, #FFFFFF);display:flex;align-items:center;justify-content:center;color:#FFFFFF;font-size:10px;font-weight:600;margin-left:-6px">B</div>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Image Editor — Controls
|
|
3
|
+
@category: patterns
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 480
|
|
7
|
+
@tags: image, editor, crop, rotate, filter, editing
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Image Editor — Controls" style="width:100%;height:480px;background:#000;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);display:flex;flex-direction:column">
|
|
10
|
+
<div style="display:flex;align-items:center;justify-content:space-between;padding:12px 16px">
|
|
11
|
+
<div style="font-size:15px;color:#FFFFFF;cursor:pointer">Cancel</div>
|
|
12
|
+
<div style="font-size:15px;font-weight:600;color:#FFFFFF">Edit</div>
|
|
13
|
+
<div style="font-size:15px;color:var(--kit-primary, #6366F1);font-weight:600;cursor:pointer">Done</div>
|
|
14
|
+
</div>
|
|
15
|
+
<div style="flex:1;display:flex;align-items:center;justify-content:center;padding:16px">
|
|
16
|
+
<img src="https://placehold.jp/300x300.png" style="max-width:100%;max-height:100%;border-radius:4px;object-fit:contain" alt="Editing"/>
|
|
17
|
+
</div>
|
|
18
|
+
<div style="padding:12px 16px">
|
|
19
|
+
<div style="display:flex;gap:8px;overflow-x:auto;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,0.1)">
|
|
20
|
+
<div style="width:56px;height:56px;border-radius:8px;border:2px solid var(--kit-primary, #6366F1);overflow:hidden;flex-shrink:0;cursor:pointer"><img src="https://placehold.jp/56x56.png" style="width:100%;height:100%;object-fit:cover" alt="Original"/></div>
|
|
21
|
+
<div style="width:56px;height:56px;border-radius:8px;overflow:hidden;flex-shrink:0;cursor:pointer;opacity:0.7;filter:grayscale(1)"><img src="https://placehold.jp/56x56.png" style="width:100%;height:100%;object-fit:cover" alt="B&W"/></div>
|
|
22
|
+
<div style="width:56px;height:56px;border-radius:8px;overflow:hidden;flex-shrink:0;cursor:pointer;opacity:0.7;filter:sepia(1)"><img src="https://placehold.jp/56x56.png" style="width:100%;height:100%;object-fit:cover" alt="Sepia"/></div>
|
|
23
|
+
<div style="width:56px;height:56px;border-radius:8px;overflow:hidden;flex-shrink:0;cursor:pointer;opacity:0.7;filter:saturate(2)"><img src="https://placehold.jp/56x56.png" style="width:100%;height:100%;object-fit:cover" alt="Vivid"/></div>
|
|
24
|
+
<div style="width:56px;height:56px;border-radius:8px;overflow:hidden;flex-shrink:0;cursor:pointer;opacity:0.7;filter:contrast(1.3)"><img src="https://placehold.jp/56x56.png" style="width:100%;height:100%;object-fit:cover" alt="Contrast"/></div>
|
|
25
|
+
</div>
|
|
26
|
+
<div style="display:flex;justify-content:space-around">
|
|
27
|
+
<div style="display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="#FFFFFF" stroke-width="1.8"><rect x="3" y="3" width="18" height="18" rx="2"/><path d="M9 3v18"/><path d="M3 9h18"/></svg><span style="font-size:10px;color:rgba(255,255,255,0.6)">Crop</span></div>
|
|
28
|
+
<div style="display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="#FFFFFF" stroke-width="1.8"><polyline points="23 4 23 10 17 10"/><path d="M20.49 15a9 9 0 1 1-2.12-9.36L23 10"/></svg><span style="font-size:10px;color:rgba(255,255,255,0.6)">Rotate</span></div>
|
|
29
|
+
<div style="display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="var(--kit-primary, #6366F1)" stroke-width="1.8"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="16"/><line x1="8" y1="12" x2="16" y2="12"/></svg><span style="font-size:10px;color:var(--kit-primary, #6366F1)">Adjust</span></div>
|
|
30
|
+
<div style="display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="#FFFFFF" stroke-width="1.8"><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"/><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"/></svg><span style="font-size:10px;color:rgba(255,255,255,0.6)">Draw</span></div>
|
|
31
|
+
<div style="display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="#FFFFFF" stroke-width="1.8"><rect x="3" y="3" width="18" height="18" rx="2"/><line x1="8" y1="12" x2="16" y2="12"/><line x1="12" y1="16" x2="12" y2="8"/></svg><span style="font-size:10px;color:rgba(255,255,255,0.6)">Text</span></div>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Image Grid — 3 Column
|
|
3
|
+
@category: patterns
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 240
|
|
7
|
+
@tags: image, grid, gallery, photos, 3-column
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Image Grid — 3 Column" style="display:grid;grid-template-columns:repeat(3,1fr);gap:2px;width:100%">
|
|
10
|
+
<img src="https://placehold.jp/120x120.png" style="width:100%;aspect-ratio:1;object-fit:cover;display:block" alt="Photo 1"/>
|
|
11
|
+
<img src="https://placehold.jp/120x120.png" style="width:100%;aspect-ratio:1;object-fit:cover;display:block" alt="Photo 2"/>
|
|
12
|
+
<img src="https://placehold.jp/120x120.png" style="width:100%;aspect-ratio:1;object-fit:cover;display:block" alt="Photo 3"/>
|
|
13
|
+
<img src="https://placehold.jp/120x120.png" style="width:100%;aspect-ratio:1;object-fit:cover;display:block" alt="Photo 4"/>
|
|
14
|
+
<img src="https://placehold.jp/120x120.png" style="width:100%;aspect-ratio:1;object-fit:cover;display:block" alt="Photo 5"/>
|
|
15
|
+
<img src="https://placehold.jp/120x120.png" style="width:100%;aspect-ratio:1;object-fit:cover;display:block" alt="Photo 6"/>
|
|
16
|
+
</div>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Login Form — with Social
|
|
3
|
+
@category: patterns
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 480
|
|
7
|
+
@tags: login, form, auth, social, sign-in
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Login Form — with Social" style="width:100%;padding:32px 24px;box-sizing:border-box;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);display:flex;flex-direction:column;align-items:center">
|
|
10
|
+
<div style="width:56px;height:56px;border-radius:16px;background:var(--kit-primary, #6366F1);display:flex;align-items:center;justify-content:center;margin-bottom:24px"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#FFFFFF" stroke-width="2"><rect x="3" y="11" width="18" height="11" rx="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg></div>
|
|
11
|
+
<div style="font-size:var(--kit-text-2xl, 24px);font-weight:var(--kit-font-bold, 700);color:var(--kit-text, #0F172A);margin-bottom:4px">Welcome back</div>
|
|
12
|
+
<div style="font-size:var(--kit-text-sm, 14px);color:var(--kit-text-2, #475569);margin-bottom:32px">Sign in to your account</div>
|
|
13
|
+
<div style="width:100%;margin-bottom:16px;position:relative"><div style="width:100%;height:56px;border:1px solid var(--kit-border, #E2E8F0);border-radius:4px;padding:16px;box-sizing:border-box;font-size:16px;color:var(--kit-text-3, #94A3B8)">email@example.com</div><div style="position:absolute;top:-8px;left:12px;background:var(--kit-bg, #FFFFFF);padding:0 4px;font-size:12px;color:var(--kit-text-2, #475569)">Email</div></div>
|
|
14
|
+
<div style="width:100%;margin-bottom:8px;position:relative"><div style="display:flex;align-items:center;width:100%;height:56px;border:1px solid var(--kit-border, #E2E8F0);border-radius:4px;padding:0 48px 0 16px;box-sizing:border-box;font-size:16px;color:var(--kit-text, #0F172A);letter-spacing:4px">••••••••</div><div style="position:absolute;top:-8px;left:12px;background:var(--kit-bg, #FFFFFF);padding:0 4px;font-size:12px;color:var(--kit-text-2, #475569)">Password</div><div style="position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--kit-text-3, #94A3B8)"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg></div></div>
|
|
15
|
+
<div style="width:100%;text-align:right;margin-bottom:24px"><span style="font-size:13px;color:var(--kit-primary, #6366F1);cursor:pointer">Forgot password?</span></div>
|
|
16
|
+
<div style="width:100%;height:48px;background:var(--kit-primary, #6366F1);color:var(--kit-primary-fg, #FFFFFF);border-radius:24px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:500;cursor:pointer;margin-bottom:24px">Sign In</div>
|
|
17
|
+
<div style="display:flex;align-items:center;gap:16px;width:100%;margin-bottom:24px"><div style="flex:1;height:1px;background:var(--kit-border, #E2E8F0)"></div><span style="font-size:13px;color:var(--kit-text-3, #94A3B8)">or</span><div style="flex:1;height:1px;background:var(--kit-border, #E2E8F0)"></div></div>
|
|
18
|
+
<div style="display:flex;gap:12px;width:100%">
|
|
19
|
+
<div style="flex:1;height:44px;border:1px solid var(--kit-border, #E2E8F0);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer"><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z" fill="#4285F4"/><path d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z" fill="#34A853"/><path d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z" fill="#FBBC05"/><path d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z" fill="#EA4335"/></svg></div>
|
|
20
|
+
<div style="flex:1;height:44px;border:1px solid var(--kit-border, #E2E8F0);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer"><svg width="20" height="20" viewBox="0 0 24 24" fill="var(--kit-text, #0F172A)"><path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.8-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z"/></svg></div>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Map Card — Location Preview
|
|
3
|
+
@category: patterns
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 200
|
|
7
|
+
@tags: map, location, card, address, preview
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Map Card — Location Preview" style="width:100%;background:var(--kit-bg, #FFFFFF);border-radius:var(--kit-radius-md, 12px);overflow:hidden;box-shadow:var(--kit-shadow-sm, 0 1px 2px rgba(0,0,0,0.05));font-family:var(--kit-font, system-ui, -apple-system, sans-serif)">
|
|
10
|
+
<div style="width:100%;height:120px;background:linear-gradient(135deg, var(--kit-surface-2, #F1F5F9) 25%, var(--kit-surface, #F8FAFC) 50%, var(--kit-surface-2, #F1F5F9) 75%);display:flex;align-items:center;justify-content:center;position:relative">
|
|
11
|
+
<div style="color:var(--kit-danger, #EF4444)"><svg width="32" height="32" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="1"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3" fill="var(--kit-bg, #FFFFFF)"/></svg></div>
|
|
12
|
+
<div style="position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(transparent, rgba(255,255,255,0.8))"></div>
|
|
13
|
+
</div>
|
|
14
|
+
<div style="padding:12px 16px;display:flex;align-items:center;gap:10px">
|
|
15
|
+
<div style="color:var(--kit-text-2, #475569)"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg></div>
|
|
16
|
+
<div style="flex:1"><div style="font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text, #0F172A)">123 Design Street</div><div style="font-size:12px;color:var(--kit-text-3, #94A3B8)">San Francisco, CA 94102</div></div>
|
|
17
|
+
<div style="color:var(--kit-primary, #6366F1);font-size:13px;font-weight:500;cursor:pointer">Directions</div>
|
|
18
|
+
</div>
|
|
19
|
+
</div>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Media Player — Music Controls
|
|
3
|
+
@category: patterns
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 240
|
|
7
|
+
@tags: media, player, music, audio, controls
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Media Player — Music Controls" style="width:100%;background:var(--kit-surface, #F8FAFC);border-radius:var(--kit-radius-lg, 16px);padding:20px;box-sizing:border-box;font-family:var(--kit-font, system-ui, -apple-system, sans-serif)">
|
|
10
|
+
<div style="display:flex;gap:16px;margin-bottom:20px">
|
|
11
|
+
<img src="https://placehold.jp/80x80.png" style="width:80px;height:80px;border-radius:var(--kit-radius-md, 12px);object-fit:cover;flex-shrink:0" alt="Album"/>
|
|
12
|
+
<div style="flex:1;display:flex;flex-direction:column;justify-content:center"><div style="font-size:var(--kit-text-lg, 17px);font-weight:var(--kit-font-semibold, 600);color:var(--kit-text, #0F172A)">Midnight Dreams</div><div style="font-size:var(--kit-text-sm, 14px);color:var(--kit-text-2, #475569);margin-top:2px">Luna Artist</div></div>
|
|
13
|
+
<div style="display:flex;align-items:center;color:var(--kit-danger, #EF4444)"><svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="2"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg></div>
|
|
14
|
+
</div>
|
|
15
|
+
<div style="margin-bottom:16px">
|
|
16
|
+
<div style="width:100%;height:4px;background:var(--kit-surface-3, #E2E8F0);border-radius:2px;position:relative"><div style="width:35%;height:100%;background:var(--kit-primary, #6366F1);border-radius:2px"></div><div style="position:absolute;left:35%;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:6px;background:var(--kit-primary, #6366F1)"></div></div>
|
|
17
|
+
<div style="display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:var(--kit-text-3, #94A3B8)"><span>1:23</span><span>3:45</span></div>
|
|
18
|
+
</div>
|
|
19
|
+
<div style="display:flex;align-items:center;justify-content:center;gap:24px">
|
|
20
|
+
<div style="color:var(--kit-text-2, #475569);cursor:pointer"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="1 4 1 10 7 10"/><path d="M3.51 15a9 9 0 1 0 2.13-9.36L1 10"/></svg></div>
|
|
21
|
+
<div style="color:var(--kit-text, #0F172A);cursor:pointer"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polygon points="19 20 9 12 19 4 19 20"/><line x1="5" y1="19" x2="5" y2="5"/></svg></div>
|
|
22
|
+
<div style="width:56px;height:56px;border-radius:28px;background:var(--kit-primary, #6366F1);display:flex;align-items:center;justify-content:center;cursor:pointer"><svg width="24" height="24" viewBox="0 0 24 24" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="1"><rect x="6" y="4" width="4" height="16" rx="1"/><rect x="14" y="4" width="4" height="16" rx="1"/></svg></div>
|
|
23
|
+
<div style="color:var(--kit-text, #0F172A);cursor:pointer"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polygon points="5 4 15 12 5 20 5 4"/><line x1="19" y1="5" x2="19" y2="19"/></svg></div>
|
|
24
|
+
<div style="color:var(--kit-text-2, #475569);cursor:pointer"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="23 4 23 10 17 10"/><path d="M20.49 15a9 9 0 1 1-2.12-9.36L23 10"/></svg></div>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Notification List — Grouped
|
|
3
|
+
@category: patterns
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 320
|
|
7
|
+
@tags: notification, list, inbox, alerts, grouped
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Notification List — Grouped" style="width:100%;font-family:var(--kit-font, system-ui, -apple-system, sans-serif)">
|
|
10
|
+
<div style="font-size:var(--kit-text-xs, 12px);font-weight:var(--kit-font-semibold, 600);color:var(--kit-text-3, #94A3B8);text-transform:uppercase;letter-spacing:0.5px;padding:12px 16px 8px">Today</div>
|
|
11
|
+
<div style="display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:rgba(99,102,241,0.03)">
|
|
12
|
+
<div style="width:40px;height:40px;border-radius:12px;background:var(--kit-primary, #6366F1);display:flex;align-items:center;justify-content:center;flex-shrink:0"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="2"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg></div>
|
|
13
|
+
<div style="flex:1"><div style="font-size:var(--kit-text-sm, 14px);color:var(--kit-text, #0F172A);line-height:1.4"><span style="font-weight:600">Sarah</span> replied to your comment</div><div style="font-size:12px;color:var(--kit-text-3, #94A3B8);margin-top:2px">5 min ago</div></div>
|
|
14
|
+
<div style="width:8px;height:8px;border-radius:4px;background:var(--kit-primary, #6366F1);margin-top:6px;flex-shrink:0"></div>
|
|
15
|
+
</div>
|
|
16
|
+
<div style="display:flex;align-items:flex-start;gap:12px;padding:12px 16px">
|
|
17
|
+
<div style="width:40px;height:40px;border-radius:12px;background:var(--kit-success, #22C55E);display:flex;align-items:center;justify-content:center;flex-shrink:0"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg></div>
|
|
18
|
+
<div style="flex:1"><div style="font-size:var(--kit-text-sm, 14px);color:var(--kit-text, #0F172A);line-height:1.4">Order <span style="font-weight:600">#4023</span> delivered</div><div style="font-size:12px;color:var(--kit-text-3, #94A3B8);margin-top:2px">2 hours ago</div></div>
|
|
19
|
+
</div>
|
|
20
|
+
<div style="font-size:var(--kit-text-xs, 12px);font-weight:var(--kit-font-semibold, 600);color:var(--kit-text-3, #94A3B8);text-transform:uppercase;letter-spacing:0.5px;padding:12px 16px 8px">Yesterday</div>
|
|
21
|
+
<div style="display:flex;align-items:flex-start;gap:12px;padding:12px 16px">
|
|
22
|
+
<div style="width:40px;height:40px;border-radius:12px;background:var(--kit-warning, #F59E0B);display:flex;align-items:center;justify-content:center;flex-shrink:0"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="2"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg></div>
|
|
23
|
+
<div style="flex:1"><div style="font-size:var(--kit-text-sm, 14px);color:var(--kit-text, #0F172A);line-height:1.4">Storage almost full — <span style="font-weight:600">85%</span> used</div><div style="font-size:12px;color:var(--kit-text-3, #94A3B8);margin-top:2px">Yesterday at 3:45 PM</div></div>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Onboarding Slide
|
|
3
|
+
@category: patterns
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 640
|
|
7
|
+
@tags: onboarding, slide, welcome, intro, tutorial
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Onboarding Slide" style="width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 32px;box-sizing:border-box;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);text-align:center;background:var(--kit-bg, #FFFFFF)">
|
|
10
|
+
<div style="width:160px;height:160px;border-radius:80px;background:linear-gradient(135deg, var(--kit-primary, #6366F1), var(--kit-accent, #F59E0B));display:flex;align-items:center;justify-content:center;margin-bottom:40px;opacity:0.9">
|
|
11
|
+
<svg width="64" height="64" viewBox="0 0 24 24" fill="none" stroke="#FFFFFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></svg>
|
|
12
|
+
</div>
|
|
13
|
+
<div style="font-size:var(--kit-text-2xl, 24px);font-weight:var(--kit-font-bold, 700);color:var(--kit-text, #0F172A);margin-bottom:12px">Welcome to AppName</div>
|
|
14
|
+
<div style="font-size:var(--kit-text-md, 16px);color:var(--kit-text-2, #475569);line-height:1.6;max-width:280px;margin-bottom:48px">Discover a faster way to organize your life with smart tools and beautiful design.</div>
|
|
15
|
+
<div style="display:flex;gap:8px;margin-bottom:32px">
|
|
16
|
+
<div style="width:24px;height:8px;border-radius:4px;background:var(--kit-primary, #6366F1)"></div>
|
|
17
|
+
<div style="width:8px;height:8px;border-radius:4px;background:var(--kit-surface-3, #E2E8F0)"></div>
|
|
18
|
+
<div style="width:8px;height:8px;border-radius:4px;background:var(--kit-surface-3, #E2E8F0)"></div>
|
|
19
|
+
</div>
|
|
20
|
+
<div style="width:100%;display:flex;flex-direction:column;gap:8px">
|
|
21
|
+
<div style="display:flex;align-items:center;justify-content:center;height:48px;background:var(--kit-primary, #6366F1);color:var(--kit-primary-fg, #FFFFFF);border-radius:24px;font-size:var(--kit-text-md, 16px);font-weight:var(--kit-font-medium, 500);cursor:pointer">Get Started</div>
|
|
22
|
+
<div style="display:flex;align-items:center;justify-content:center;height:48px;color:var(--kit-primary, #6366F1);font-size:var(--kit-text-md, 16px);cursor:pointer">Skip</div>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Order Summary Card
|
|
3
|
+
@category: patterns
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 200
|
|
7
|
+
@tags: order, summary, checkout, total, ecommerce
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Order Summary Card" style="width:100%;background:var(--kit-surface, #F8FAFC);border-radius:var(--kit-radius-md, 12px);padding:16px;box-sizing:border-box;font-family:var(--kit-font, system-ui, -apple-system, sans-serif)">
|
|
10
|
+
<div style="font-size:var(--kit-text-md, 16px);font-weight:var(--kit-font-semibold, 600);color:var(--kit-text, #0F172A);margin-bottom:12px">Order Summary</div>
|
|
11
|
+
<div style="display:flex;justify-content:space-between;padding:6px 0;font-size:14px"><span style="color:var(--kit-text-2, #475569)">Subtotal (3 items)</span><span style="color:var(--kit-text, #0F172A)">$259.97</span></div>
|
|
12
|
+
<div style="display:flex;justify-content:space-between;padding:6px 0;font-size:14px"><span style="color:var(--kit-text-2, #475569)">Shipping</span><span style="color:var(--kit-success, #22C55E)">Free</span></div>
|
|
13
|
+
<div style="display:flex;justify-content:space-between;padding:6px 0;font-size:14px"><span style="color:var(--kit-text-2, #475569)">Tax</span><span style="color:var(--kit-text, #0F172A)">$20.80</span></div>
|
|
14
|
+
<div style="height:1px;background:var(--kit-border, #E2E8F0);margin:8px 0"></div>
|
|
15
|
+
<div style="display:flex;justify-content:space-between;padding:4px 0;font-size:var(--kit-text-lg, 18px);font-weight:var(--kit-font-bold, 700)"><span style="color:var(--kit-text, #0F172A)">Total</span><span style="color:var(--kit-text, #0F172A)">$280.77</span></div>
|
|
16
|
+
</div>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Order Tracker — Shipping Steps
|
|
3
|
+
@category: patterns
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 280
|
|
7
|
+
@tags: order, tracker, shipping, status, ecommerce, steps
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Order Tracker — Shipping Steps" style="width:100%;padding:16px;box-sizing:border-box;font-family:var(--kit-font, system-ui, -apple-system, sans-serif)">
|
|
10
|
+
<div style="font-size:var(--kit-text-md, 16px);font-weight:var(--kit-font-semibold, 600);color:var(--kit-text, #0F172A);margin-bottom:20px">Order #4023</div>
|
|
11
|
+
<div style="display:flex;gap:12px;padding-bottom:20px">
|
|
12
|
+
<div style="display:flex;flex-direction:column;align-items:center;width:24px;flex-shrink:0"><div style="width:24px;height:24px;border-radius:12px;background:var(--kit-success, #22C55E);display:flex;align-items:center;justify-content:center;flex-shrink:0"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg></div><div style="width:2px;flex:1;background:var(--kit-success, #22C55E)"></div></div>
|
|
13
|
+
<div><div style="font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text, #0F172A)">Order Confirmed</div><div style="font-size:12px;color:var(--kit-text-3, #94A3B8);margin-top:2px">Mar 22, 10:30 AM</div></div>
|
|
14
|
+
</div>
|
|
15
|
+
<div style="display:flex;gap:12px;padding-bottom:20px">
|
|
16
|
+
<div style="display:flex;flex-direction:column;align-items:center;width:24px;flex-shrink:0"><div style="width:24px;height:24px;border-radius:12px;background:var(--kit-success, #22C55E);display:flex;align-items:center;justify-content:center;flex-shrink:0"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg></div><div style="width:2px;flex:1;background:var(--kit-primary, #6366F1)"></div></div>
|
|
17
|
+
<div><div style="font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text, #0F172A)">Shipped</div><div style="font-size:12px;color:var(--kit-text-3, #94A3B8);margin-top:2px">Mar 23, 2:15 PM</div></div>
|
|
18
|
+
</div>
|
|
19
|
+
<div style="display:flex;gap:12px;padding-bottom:20px">
|
|
20
|
+
<div style="display:flex;flex-direction:column;align-items:center;width:24px;flex-shrink:0"><div style="width:24px;height:24px;border-radius:12px;background:var(--kit-primary, #6366F1);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;font-size:11px;font-weight:700">3</div><div style="width:2px;flex:1;background:var(--kit-border, #E2E8F0)"></div></div>
|
|
21
|
+
<div><div style="font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-medium, 500);color:var(--kit-primary, #6366F1)">Out for Delivery</div><div style="font-size:12px;color:var(--kit-text-3, #94A3B8);margin-top:2px">Arriving today by 6 PM</div></div>
|
|
22
|
+
</div>
|
|
23
|
+
<div style="display:flex;gap:12px">
|
|
24
|
+
<div style="display:flex;flex-direction:column;align-items:center;width:24px;flex-shrink:0"><div style="width:24px;height:24px;border-radius:12px;border:2px solid var(--kit-border, #E2E8F0);box-sizing:border-box;flex-shrink:0"></div></div>
|
|
25
|
+
<div><div style="font-size:var(--kit-text-sm, 14px);color:var(--kit-text-3, #94A3B8)">Delivered</div></div>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Pagination Controls
|
|
3
|
+
@category: patterns
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 300
|
|
6
|
+
@height: 40
|
|
7
|
+
@tags: pagination, page, navigation, controls
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Pagination Controls" style="display:flex;align-items:center;justify-content:center;gap:4px;font-family:var(--kit-font, system-ui, -apple-system, sans-serif)">
|
|
10
|
+
<div style="width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--kit-text-3, #94A3B8)"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="15 18 9 12 15 6"/></svg></div>
|
|
11
|
+
<div style="width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;background:var(--kit-primary, #6366F1);color:#FFFFFF;cursor:pointer">1</div>
|
|
12
|
+
<div style="width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A);cursor:pointer">2</div>
|
|
13
|
+
<div style="width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A);cursor:pointer">3</div>
|
|
14
|
+
<div style="width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text-3, #94A3B8)">...</div>
|
|
15
|
+
<div style="width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A);cursor:pointer">12</div>
|
|
16
|
+
<div style="width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--kit-text-2, #475569)"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="9 18 15 12 9 6"/></svg></div>
|
|
17
|
+
</div>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Social Post Card
|
|
3
|
+
@category: patterns
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 440
|
|
7
|
+
@tags: post, card, social, feed, image, actions, comments
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Social Post Card" style="width:100%;background:var(--kit-bg, #FFFFFF);font-family:var(--kit-font, system-ui, -apple-system, sans-serif)">
|
|
10
|
+
<div style="display:flex;align-items:center;padding:12px 16px;gap:10px">
|
|
11
|
+
<div style="width:36px;height:36px;border-radius:18px;background:var(--kit-primary, #6366F1);color:#FFFFFF;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0">AJ</div>
|
|
12
|
+
<div style="flex:1"><div style="font-size:14px;font-weight:var(--kit-font-semibold, 600);color:var(--kit-text, #0F172A)">Alex Johnson</div><div style="font-size:12px;color:var(--kit-text-3, #94A3B8)">2 hours ago</div></div>
|
|
13
|
+
<div style="cursor:pointer;color:var(--kit-text-2, #475569)"><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><circle cx="12" cy="5" r="1.5"/><circle cx="12" cy="12" r="1.5"/><circle cx="12" cy="19" r="1.5"/></svg></div>
|
|
14
|
+
</div>
|
|
15
|
+
<img src="https://placehold.jp/360x270.png" style="width:100%;aspect-ratio:4/3;object-fit:cover;display:block" alt="Post image"/>
|
|
16
|
+
<div style="display:flex;align-items:center;padding:8px 12px;gap:4px">
|
|
17
|
+
<div style="padding:8px;cursor:pointer;color:var(--kit-danger, #EF4444)"><svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="2"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg></div>
|
|
18
|
+
<div style="padding:8px;cursor:pointer;color:var(--kit-text-2, #475569)"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg></div>
|
|
19
|
+
<div style="padding:8px;cursor:pointer;color:var(--kit-text-2, #475569)"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="22" y1="2" x2="11" y2="13"/><polygon points="22 2 15 22 11 13 2 9 22 2"/></svg></div>
|
|
20
|
+
<div style="flex:1"></div>
|
|
21
|
+
<div style="padding:8px;cursor:pointer;color:var(--kit-text-2, #475569)"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"/></svg></div>
|
|
22
|
+
</div>
|
|
23
|
+
<div style="padding:0 16px 12px">
|
|
24
|
+
<div style="font-size:14px;font-weight:var(--kit-font-semibold, 600);color:var(--kit-text, #0F172A);margin-bottom:4px">1,234 likes</div>
|
|
25
|
+
<div style="font-size:14px;color:var(--kit-text, #0F172A);line-height:1.4"><span style="font-weight:600">Alex Johnson</span> Beautiful sunset from my balcony today. Nature never fails to amaze.</div>
|
|
26
|
+
<div style="font-size:13px;color:var(--kit-text-3, #94A3B8);margin-top:6px;cursor:pointer">View all 42 comments</div>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Product Card — E-Commerce
|
|
3
|
+
@category: patterns
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 170
|
|
6
|
+
@height: 260
|
|
7
|
+
@tags: product, card, ecommerce, shop, price, rating
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Product Card — E-Commerce" style="width:100%;background:var(--kit-bg, #FFFFFF);border-radius:var(--kit-radius-md, 12px);overflow:hidden;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);box-shadow:var(--kit-shadow-sm, 0 1px 2px rgba(0,0,0,0.05))">
|
|
10
|
+
<div style="width:100%;aspect-ratio:1;position:relative">
|
|
11
|
+
<img src="https://placehold.jp/200x200.png" style="width:100%;height:100%;object-fit:cover;display:block" alt="Product"/>
|
|
12
|
+
<div style="position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:16px;background:var(--kit-bg, #FFFFFF);display:flex;align-items:center;justify-content:center;box-shadow:var(--kit-shadow-sm, 0 1px 2px rgba(0,0,0,0.05));cursor:pointer"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="var(--kit-text-2, #475569)" stroke-width="2"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg></div>
|
|
13
|
+
<div style="position:absolute;top:8px;left:8px;background:var(--kit-danger, #EF4444);color:#FFFFFF;font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px">-20%</div>
|
|
14
|
+
</div>
|
|
15
|
+
<div style="padding:10px 12px">
|
|
16
|
+
<div style="font-size:var(--kit-text-sm, 13px);color:var(--kit-text, #0F172A);font-weight:var(--kit-font-medium, 500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Product Name</div>
|
|
17
|
+
<div style="display:flex;align-items:center;gap:4px;margin-top:4px">
|
|
18
|
+
<svg width="12" height="12" viewBox="0 0 24 24" fill="#FBBF24" stroke="#FBBF24" stroke-width="1"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg>
|
|
19
|
+
<span style="font-size:11px;color:var(--kit-text-3, #94A3B8)">4.5 (128)</span>
|
|
20
|
+
</div>
|
|
21
|
+
<div style="display:flex;align-items:center;gap:6px;margin-top:6px">
|
|
22
|
+
<span style="font-size:var(--kit-text-md, 16px);font-weight:var(--kit-font-bold, 700);color:var(--kit-text, #0F172A)">$79.99</span>
|
|
23
|
+
<span style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-3, #94A3B8);text-decoration:line-through">$99.99</span>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Profile Header — Avatar + Name + Bio
|
|
3
|
+
@category: patterns
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 200
|
|
7
|
+
@tags: profile, header, avatar, user, account
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Profile Header — Avatar + Name + Bio" style="width:100%;display:flex;flex-direction:column;align-items:center;padding:24px 16px;box-sizing:border-box;font-family:var(--kit-font, system-ui, -apple-system, sans-serif)">
|
|
10
|
+
<div style="width:80px;height:80px;border-radius:40px;background:var(--kit-primary, #6366F1);color:var(--kit-primary-fg, #FFFFFF);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:var(--kit-font-bold, 700)">AJ</div>
|
|
11
|
+
<div style="font-size:var(--kit-text-xl, 20px);font-weight:var(--kit-font-bold, 700);color:var(--kit-text, #0F172A);margin-top:12px">Alex Johnson</div>
|
|
12
|
+
<div style="font-size:var(--kit-text-sm, 14px);color:var(--kit-text-2, #475569);margin-top:4px">alex.johnson@email.com</div>
|
|
13
|
+
<div style="display:flex;gap:24px;margin-top:16px">
|
|
14
|
+
<div style="text-align:center"><div style="font-size:var(--kit-text-lg, 18px);font-weight:var(--kit-font-bold, 700);color:var(--kit-text, #0F172A)">248</div><div style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-3, #94A3B8)">Posts</div></div>
|
|
15
|
+
<div style="text-align:center"><div style="font-size:var(--kit-text-lg, 18px);font-weight:var(--kit-font-bold, 700);color:var(--kit-text, #0F172A)">12.4k</div><div style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-3, #94A3B8)">Followers</div></div>
|
|
16
|
+
<div style="text-align:center"><div style="font-size:var(--kit-text-lg, 18px);font-weight:var(--kit-font-bold, 700);color:var(--kit-text, #0F172A)">891</div><div style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-3, #94A3B8)">Following</div></div>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Rating Stars — 5 Star Display
|
|
3
|
+
@category: patterns
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 120
|
|
6
|
+
@height: 20
|
|
7
|
+
@tags: rating, stars, review, score
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Rating Stars — 5 Star Display" style="display:flex;gap:2px">
|
|
10
|
+
<svg width="18" height="18" viewBox="0 0 24 24" fill="#FBBF24" stroke="#FBBF24" stroke-width="1"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg>
|
|
11
|
+
<svg width="18" height="18" viewBox="0 0 24 24" fill="#FBBF24" stroke="#FBBF24" stroke-width="1"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg>
|
|
12
|
+
<svg width="18" height="18" viewBox="0 0 24 24" fill="#FBBF24" stroke="#FBBF24" stroke-width="1"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg>
|
|
13
|
+
<svg width="18" height="18" viewBox="0 0 24 24" fill="#FBBF24" stroke="#FBBF24" stroke-width="1"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg>
|
|
14
|
+
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="var(--kit-surface-3, #E2E8F0)" stroke-width="2"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg>
|
|
15
|
+
</div>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Review Card — Stars + Text + User
|
|
3
|
+
@category: patterns
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 140
|
|
7
|
+
@tags: review, rating, stars, testimonial, feedback
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Review Card — Stars + Text + User" style="width:100%;background:var(--kit-surface, #F8FAFC);border-radius:var(--kit-radius-md, 12px);padding:16px;box-sizing:border-box;font-family:var(--kit-font, system-ui, -apple-system, sans-serif)">
|
|
10
|
+
<div style="display:flex;gap:2px;margin-bottom:8px">
|
|
11
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="#FBBF24" stroke="#FBBF24" stroke-width="1"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg>
|
|
12
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="#FBBF24" stroke="#FBBF24" stroke-width="1"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg>
|
|
13
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="#FBBF24" stroke="#FBBF24" stroke-width="1"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg>
|
|
14
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="#FBBF24" stroke="#FBBF24" stroke-width="1"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg>
|
|
15
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="#FBBF24" stroke="#FBBF24" stroke-width="1"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg>
|
|
16
|
+
</div>
|
|
17
|
+
<div style="font-size:var(--kit-text-sm, 14px);color:var(--kit-text, #0F172A);line-height:1.5;margin-bottom:12px">"Absolutely love this app! The interface is clean and everything just works. Best purchase I've made this year."</div>
|
|
18
|
+
<div style="display:flex;align-items:center;gap:8px">
|
|
19
|
+
<div style="width:28px;height:28px;border-radius:14px;background:var(--kit-primary, #6366F1);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600">AJ</div>
|
|
20
|
+
<div><span style="font-size:13px;font-weight:600;color:var(--kit-text, #0F172A)">Alex Johnson</span><span style="font-size:12px;color:var(--kit-text-3, #94A3B8);margin-left:8px">3 days ago</span></div>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|