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,13 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Banner — Info with Action
|
|
3
|
+
@category: feedback
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 64
|
|
7
|
+
@tags: banner, info, alert, message, action
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Banner — Info with Action" style="display:flex;align-items:center;width:100%;min-height:64px;background:var(--kit-info-bg, #EFF6FF);padding:12px 16px;box-sizing:border-box;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);gap:12px">
|
|
10
|
+
<div style="color:var(--kit-info, #3B82F6);flex-shrink:0;display:flex;align-items:center"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg></div>
|
|
11
|
+
<div style="flex:1;font-size:var(--kit-text-sm, 14px);color:var(--kit-text, #0F172A);line-height:1.4">Your account is almost set up. Complete your profile to unlock all features.</div>
|
|
12
|
+
<div style="font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-medium, 500);color:var(--kit-info, #3B82F6);cursor:pointer;white-space:nowrap">Complete</div>
|
|
13
|
+
</div>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Progress — Circular
|
|
3
|
+
@category: feedback
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 48
|
|
6
|
+
@height: 48
|
|
7
|
+
@tags: progress, circular, spinner, loading
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Progress — Circular" style="width:48px;height:48px;display:flex;align-items:center;justify-content:center">
|
|
10
|
+
<svg width="40" height="40" viewBox="0 0 40 40" fill="none">
|
|
11
|
+
<circle cx="20" cy="20" r="16" stroke="var(--kit-surface-2, #F1F5F9)" stroke-width="4"/>
|
|
12
|
+
<circle cx="20" cy="20" r="16" stroke="var(--kit-primary, #6366F1)" stroke-width="4" stroke-dasharray="75 25" stroke-linecap="round" transform="rotate(-90 20 20)"/>
|
|
13
|
+
</svg>
|
|
14
|
+
</div>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Progress — Linear
|
|
3
|
+
@category: feedback
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 4
|
|
7
|
+
@tags: progress, linear, loading, bar
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Progress — Linear" style="width:100%;height:4px;background:var(--kit-surface-2, #F1F5F9);border-radius:2px;overflow:hidden">
|
|
10
|
+
<div style="width:60%;height:100%;background:var(--kit-primary, #6366F1);border-radius:2px"></div>
|
|
11
|
+
</div>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Skeleton Loading
|
|
3
|
+
@category: feedback
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 120
|
|
7
|
+
@tags: skeleton, loading, placeholder
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Skeleton Loading" style="width:100%;font-family:var(--kit-font, system-ui, -apple-system, sans-serif)">
|
|
10
|
+
<div style="display:flex;gap:12px;align-items:center;margin-bottom:16px">
|
|
11
|
+
<div style="width:40px;height:40px;border-radius:20px;background:var(--kit-surface-2, #F1F5F9)"></div>
|
|
12
|
+
<div style="flex:1">
|
|
13
|
+
<div style="width:60%;height:12px;background:var(--kit-surface-2, #F1F5F9);border-radius:6px;margin-bottom:8px"></div>
|
|
14
|
+
<div style="width:40%;height:10px;background:var(--kit-surface-2, #F1F5F9);border-radius:5px"></div>
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
<div style="width:100%;height:14px;background:var(--kit-surface-2, #F1F5F9);border-radius:7px;margin-bottom:8px"></div>
|
|
18
|
+
<div style="width:85%;height:14px;background:var(--kit-surface-2, #F1F5F9);border-radius:7px;margin-bottom:8px"></div>
|
|
19
|
+
<div style="width:70%;height:14px;background:var(--kit-surface-2, #F1F5F9);border-radius:7px"></div>
|
|
20
|
+
</div>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Snackbar
|
|
3
|
+
@category: feedback
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 48
|
|
7
|
+
@tags: snackbar, toast, notification, message
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Snackbar" style="display:flex;align-items:center;width:100%;min-height:48px;background:var(--kit-text, #0F172A);border-radius:var(--kit-radius-sm, 4px);padding:0 8px 0 16px;box-sizing:border-box;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);gap:8px">
|
|
10
|
+
<div style="flex:1;font-size:var(--kit-text-sm, 14px);color:var(--kit-text-inverse, #FFFFFF)">Message sent successfully</div>
|
|
11
|
+
<div style="font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-medium, 500);color:var(--kit-primary, #6366F1);padding:8px;cursor:pointer">Undo</div>
|
|
12
|
+
<div style="color:var(--kit-text-inverse, #FFFFFF);padding:8px;cursor:pointer;opacity:0.7;display:flex;align-items:center">
|
|
13
|
+
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Tooltip — Plain
|
|
3
|
+
@category: feedback
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 160
|
|
6
|
+
@height: 32
|
|
7
|
+
@tags: tooltip, hint, help, popup
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Tooltip — Plain" style="display:inline-flex;align-items:center;padding:6px 12px;background:var(--kit-text, #0F172A);color:var(--kit-text-inverse, #FFFFFF);border-radius:var(--kit-radius-sm, 4px);font-family:var(--kit-font, system-ui, -apple-system, sans-serif);font-size:var(--kit-text-xs, 12px)">Tooltip label</div>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Bank Account Card
|
|
3
|
+
@kit: app-mobile
|
|
4
|
+
@width: 340
|
|
5
|
+
@height: 180
|
|
6
|
+
@tags: bank, account, card, finance, balance
|
|
7
|
+
-->
|
|
8
|
+
<div data-component="Bank Account Card" style="width:100%;max-width:340px;height:180px;box-sizing:border-box;font-family:var(--kit-font,Inter,system-ui,sans-serif);background:linear-gradient(135deg,var(--kit-primary,#6366F1),#818CF8);border-radius:var(--kit-radius-lg,16px);padding:20px;display:flex;flex-direction:column;justify-content:space-between;color:#FFFFFF;position:relative;overflow:hidden;">
|
|
9
|
+
<div style="position:absolute;top:-20px;right:-20px;width:100px;height:100px;border-radius:50%;background:rgba(255,255,255,0.1);"></div>
|
|
10
|
+
<div style="position:absolute;bottom:-30px;left:20px;width:80px;height:80px;border-radius:50%;background:rgba(255,255,255,0.06);"></div>
|
|
11
|
+
<div style="display:flex;justify-content:space-between;align-items:center;">
|
|
12
|
+
<div>
|
|
13
|
+
<div style="font-size:var(--kit-text-xs,12px);opacity:0.8;">Checking Account</div>
|
|
14
|
+
<div style="font-size:var(--kit-text-xs,12px);opacity:0.6;margin-top:1px;">****4567</div>
|
|
15
|
+
</div>
|
|
16
|
+
<svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#FFFFFF" stroke-width="1.5"><rect x="1" y="4" width="22" height="16" rx="2"/><line x1="1" y1="10" x2="23" y2="10"/></svg>
|
|
17
|
+
</div>
|
|
18
|
+
<div>
|
|
19
|
+
<div style="font-size:var(--kit-text-xs,12px);opacity:0.7;margin-bottom:2px;">Available Balance</div>
|
|
20
|
+
<div style="font-size:var(--kit-text-2xl,24px);font-weight:var(--kit-font-bold,700);">$12,458.32</div>
|
|
21
|
+
</div>
|
|
22
|
+
<div style="display:flex;gap:8px;">
|
|
23
|
+
<div style="flex:1;height:36px;background:rgba(255,255,255,0.2);border-radius:var(--kit-radius,8px);display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-size:var(--kit-text-xs,12px);font-weight:var(--kit-font-medium,500);">
|
|
24
|
+
<svg width="14" height="14" 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>
|
|
25
|
+
Send
|
|
26
|
+
</div>
|
|
27
|
+
<div style="flex:1;height:36px;background:rgba(255,255,255,0.2);border-radius:var(--kit-radius,8px);display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-size:var(--kit-text-xs,12px);font-weight:var(--kit-font-medium,500);">
|
|
28
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="23 6 13.5 15.5 8.5 10.5 1 18"/><polyline points="17 6 23 6 23 12"/></svg>
|
|
29
|
+
Request
|
|
30
|
+
</div>
|
|
31
|
+
<div style="flex:1;height:36px;background:rgba(255,255,255,0.2);border-radius:var(--kit-radius,8px);display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-size:var(--kit-text-xs,12px);font-weight:var(--kit-font-medium,500);">
|
|
32
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="1" y="4" width="22" height="16" rx="2"/><line x1="1" y1="10" x2="23" y2="10"/></svg>
|
|
33
|
+
Pay
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Budget Category Bar
|
|
3
|
+
@kit: app-mobile
|
|
4
|
+
@width: 360
|
|
5
|
+
@height: 60
|
|
6
|
+
@tags: budget, category, spending, finance
|
|
7
|
+
-->
|
|
8
|
+
<div data-component="Budget Category Bar" style="width:100%;max-width:360px;box-sizing:border-box;font-family:var(--kit-font,Inter,system-ui,sans-serif);padding:10px 16px;display:flex;align-items:center;gap:12px;">
|
|
9
|
+
<div style="width:36px;height:36px;border-radius:var(--kit-radius,8px);background:rgba(245,158,11,0.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;">
|
|
10
|
+
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#F59E0B" stroke-width="2"><path d="M18 8h1a4 4 0 0 1 0 8h-1"/><path d="M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z"/><line x1="6" y1="1" x2="6" y2="4"/><line x1="10" y1="1" x2="10" y2="4"/><line x1="14" y1="1" x2="14" y2="4"/></svg>
|
|
11
|
+
</div>
|
|
12
|
+
<div style="flex:1;min-width:0;">
|
|
13
|
+
<div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;">
|
|
14
|
+
<span style="font-size:var(--kit-text-sm,14px);font-weight:var(--kit-font-medium,500);color:var(--kit-text,#0F172A);">Food & Dining</span>
|
|
15
|
+
<div style="display:flex;align-items:center;gap:6px;">
|
|
16
|
+
<span style="font-size:var(--kit-text-xs,12px);color:var(--kit-text-2,#475569);">$480 / $800</span>
|
|
17
|
+
<span style="font-size:var(--kit-text-xs,12px);font-weight:var(--kit-font-semibold,600);color:var(--kit-warning,#F59E0B);">60%</span>
|
|
18
|
+
</div>
|
|
19
|
+
</div>
|
|
20
|
+
<div style="width:100%;height:6px;background:var(--kit-surface-2,#F1F5F9);border-radius:var(--kit-radius-full,9999px);overflow:hidden;">
|
|
21
|
+
<div style="width:60%;height:100%;background:var(--kit-warning,#F59E0B);border-radius:var(--kit-radius-full,9999px);"></div>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Credit Score Gauge
|
|
3
|
+
@kit: app-mobile
|
|
4
|
+
@width: 240
|
|
5
|
+
@height: 200
|
|
6
|
+
@tags: credit, score, gauge, finance
|
|
7
|
+
-->
|
|
8
|
+
<div data-component="Credit Score Gauge" style="width:100%;max-width:240px;box-sizing:border-box;font-family:var(--kit-font,Inter,system-ui,sans-serif);display:flex;flex-direction:column;align-items:center;padding:16px;">
|
|
9
|
+
<svg width="180" height="100" viewBox="0 0 180 100" style="display:block;">
|
|
10
|
+
<!-- Background arc -->
|
|
11
|
+
<path d="M15,90 A75,75 0 0,1 165,90" fill="none" stroke="var(--kit-surface-2,#F1F5F9)" stroke-width="12" stroke-linecap="round"/>
|
|
12
|
+
<!-- Poor segment (red) -->
|
|
13
|
+
<path d="M15,90 A75,75 0 0,1 42,30" fill="none" stroke="var(--kit-danger,#EF4444)" stroke-width="12" stroke-linecap="round"/>
|
|
14
|
+
<!-- Fair segment (orange) -->
|
|
15
|
+
<path d="M42,30 A75,75 0 0,1 75,11" fill="none" stroke="var(--kit-warning,#F59E0B)" stroke-width="12" stroke-linecap="round"/>
|
|
16
|
+
<!-- Good segment (blue) -->
|
|
17
|
+
<path d="M75,11 A75,75 0 0,1 120,16" fill="none" stroke="var(--kit-info,#3B82F6)" stroke-width="12" stroke-linecap="round"/>
|
|
18
|
+
<!-- Excellent segment (green) -->
|
|
19
|
+
<path d="M120,16 A75,75 0 0,1 165,90" fill="none" stroke="var(--kit-success,#22C55E)" stroke-width="12" stroke-linecap="round"/>
|
|
20
|
+
<!-- Needle indicator -->
|
|
21
|
+
<circle cx="125" cy="20" r="6" fill="var(--kit-primary,#6366F1)"/>
|
|
22
|
+
<circle cx="125" cy="20" r="3" fill="var(--kit-bg,#FFFFFF)"/>
|
|
23
|
+
</svg>
|
|
24
|
+
<div style="text-align:center;margin-top:-10px;">
|
|
25
|
+
<div style="font-size:var(--kit-text-3xl,30px);font-weight:var(--kit-font-bold,700);color:var(--kit-text,#0F172A);">742</div>
|
|
26
|
+
<div style="font-size:var(--kit-text-sm,14px);font-weight:var(--kit-font-semibold,600);color:var(--kit-success,#22C55E);">Good</div>
|
|
27
|
+
<div style="font-size:var(--kit-text-xs,12px);color:var(--kit-text-3,#94A3B8);margin-top:4px;">Updated Mar 25</div>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Investment Portfolio
|
|
3
|
+
@kit: app-mobile
|
|
4
|
+
@width: 360
|
|
5
|
+
@height: 300
|
|
6
|
+
@tags: investment, portfolio, stocks, finance
|
|
7
|
+
-->
|
|
8
|
+
<div data-component="Investment Portfolio" style="width:100%;max-width:360px;box-sizing:border-box;font-family:var(--kit-font,Inter,system-ui,sans-serif);background:var(--kit-bg,#FFFFFF);padding:20px 16px;display:flex;flex-direction:column;gap:16px;border-radius:var(--kit-radius-md,12px);border:1px solid var(--kit-border,#E2E8F0);">
|
|
9
|
+
<div>
|
|
10
|
+
<div style="font-size:var(--kit-text-sm,14px);font-weight:var(--kit-font-semibold,600);color:var(--kit-text,#0F172A);">Portfolio</div>
|
|
11
|
+
<div style="display:flex;align-items:baseline;gap:8px;margin-top:4px;">
|
|
12
|
+
<span style="font-size:var(--kit-text-2xl,24px);font-weight:var(--kit-font-bold,700);color:var(--kit-text,#0F172A);">$34,521.80</span>
|
|
13
|
+
<span style="font-size:var(--kit-text-xs,12px);font-weight:var(--kit-font-semibold,600);color:var(--kit-success,#22C55E);">+$1,245 (+3.7%)</span>
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
<div style="display:flex;align-items:center;gap:16px;">
|
|
17
|
+
<!-- Donut Chart -->
|
|
18
|
+
<svg width="120" height="120" viewBox="0 0 120 120" style="flex-shrink:0;">
|
|
19
|
+
<!-- Stocks 45% -->
|
|
20
|
+
<circle cx="60" cy="60" r="45" fill="none" stroke="var(--kit-primary,#6366F1)" stroke-width="16" stroke-dasharray="127.2 155.5" stroke-dashoffset="0" transform="rotate(-90 60 60)"/>
|
|
21
|
+
<!-- Bonds 25% -->
|
|
22
|
+
<circle cx="60" cy="60" r="45" fill="none" stroke="#3B82F6" stroke-width="16" stroke-dasharray="70.7 212" stroke-dashoffset="-127.2" transform="rotate(-90 60 60)"/>
|
|
23
|
+
<!-- Crypto 20% -->
|
|
24
|
+
<circle cx="60" cy="60" r="45" fill="none" stroke="#F59E0B" stroke-width="16" stroke-dasharray="56.5 226.2" stroke-dashoffset="-197.9" transform="rotate(-90 60 60)"/>
|
|
25
|
+
<!-- Cash 10% -->
|
|
26
|
+
<circle cx="60" cy="60" r="45" fill="none" stroke="#22C55E" stroke-width="16" stroke-dasharray="28.3 254.5" stroke-dashoffset="-254.5" transform="rotate(-90 60 60)"/>
|
|
27
|
+
</svg>
|
|
28
|
+
<!-- Legend -->
|
|
29
|
+
<div style="display:flex;flex-direction:column;gap:10px;flex:1;">
|
|
30
|
+
<div style="display:flex;align-items:center;gap:8px;">
|
|
31
|
+
<span style="width:10px;height:10px;border-radius:2px;background:var(--kit-primary,#6366F1);flex-shrink:0;"></span>
|
|
32
|
+
<span style="font-size:var(--kit-text-sm,14px);color:var(--kit-text,#0F172A);flex:1;">Stocks</span>
|
|
33
|
+
<span style="font-size:var(--kit-text-sm,14px);font-weight:var(--kit-font-semibold,600);color:var(--kit-text,#0F172A);">45%</span>
|
|
34
|
+
</div>
|
|
35
|
+
<div style="display:flex;align-items:center;gap:8px;">
|
|
36
|
+
<span style="width:10px;height:10px;border-radius:2px;background:#3B82F6;flex-shrink:0;"></span>
|
|
37
|
+
<span style="font-size:var(--kit-text-sm,14px);color:var(--kit-text,#0F172A);flex:1;">Bonds</span>
|
|
38
|
+
<span style="font-size:var(--kit-text-sm,14px);font-weight:var(--kit-font-semibold,600);color:var(--kit-text,#0F172A);">25%</span>
|
|
39
|
+
</div>
|
|
40
|
+
<div style="display:flex;align-items:center;gap:8px;">
|
|
41
|
+
<span style="width:10px;height:10px;border-radius:2px;background:#F59E0B;flex-shrink:0;"></span>
|
|
42
|
+
<span style="font-size:var(--kit-text-sm,14px);color:var(--kit-text,#0F172A);flex:1;">Crypto</span>
|
|
43
|
+
<span style="font-size:var(--kit-text-sm,14px);font-weight:var(--kit-font-semibold,600);color:var(--kit-text,#0F172A);">20%</span>
|
|
44
|
+
</div>
|
|
45
|
+
<div style="display:flex;align-items:center;gap:8px;">
|
|
46
|
+
<span style="width:10px;height:10px;border-radius:2px;background:#22C55E;flex-shrink:0;"></span>
|
|
47
|
+
<span style="font-size:var(--kit-text-sm,14px);color:var(--kit-text,#0F172A);flex:1;">Cash</span>
|
|
48
|
+
<span style="font-size:var(--kit-text-sm,14px);font-weight:var(--kit-font-semibold,600);color:var(--kit-text,#0F172A);">10%</span>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Transaction Row
|
|
3
|
+
@kit: app-mobile
|
|
4
|
+
@width: 360
|
|
5
|
+
@height: 64
|
|
6
|
+
@tags: transaction, payment, history, finance
|
|
7
|
+
-->
|
|
8
|
+
<div data-component="Transaction Row" style="width:100%;max-width:360px;box-sizing:border-box;font-family:var(--kit-font,Inter,system-ui,sans-serif);padding:12px 16px;display:flex;align-items:center;gap:12px;">
|
|
9
|
+
<div style="width:40px;height:40px;border-radius:var(--kit-radius-full,9999px);background:var(--kit-surface,#F8FAFC);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--kit-text-2,#475569);">
|
|
10
|
+
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>
|
|
11
|
+
</div>
|
|
12
|
+
<div style="flex:1;min-width:0;">
|
|
13
|
+
<div style="display:flex;align-items:center;gap:6px;">
|
|
14
|
+
<span style="font-size:var(--kit-text-sm,14px);font-weight:var(--kit-font-medium,500);color:var(--kit-text,#0F172A);">Spotify Premium</span>
|
|
15
|
+
</div>
|
|
16
|
+
<div style="display:flex;align-items:center;gap:6px;margin-top:1px;">
|
|
17
|
+
<span style="font-size:var(--kit-text-xs,12px);color:var(--kit-text-3,#94A3B8);">Subscription</span>
|
|
18
|
+
<span style="width:3px;height:3px;border-radius:50%;background:var(--kit-text-3,#94A3B8);"></span>
|
|
19
|
+
<span style="font-size:var(--kit-text-xs,12px);color:var(--kit-text-3,#94A3B8);">Mar 25</span>
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
<div style="text-align:right;flex-shrink:0;">
|
|
23
|
+
<div style="font-size:var(--kit-text-sm,14px);font-weight:var(--kit-font-semibold,600);color:var(--kit-danger,#EF4444);">-$9.99</div>
|
|
24
|
+
<span style="padding:1px 6px;background:rgba(245,158,11,0.1);color:var(--kit-warning,#F59E0B);font-size:10px;font-weight:var(--kit-font-semibold,600);border-radius:var(--kit-radius-sm,4px);">Pending</span>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Transfer Form
|
|
3
|
+
@kit: app-mobile
|
|
4
|
+
@width: 360
|
|
5
|
+
@height: 360
|
|
6
|
+
@tags: transfer, send, money, finance
|
|
7
|
+
-->
|
|
8
|
+
<div data-component="Transfer Form" style="width:100%;max-width:360px;box-sizing:border-box;font-family:var(--kit-font,Inter,system-ui,sans-serif);background:var(--kit-bg,#FFFFFF);padding:24px 16px;display:flex;flex-direction:column;gap:20px;border-radius:var(--kit-radius-md,12px);border:1px solid var(--kit-border,#E2E8F0);">
|
|
9
|
+
<div style="font-size:var(--kit-text-xl,20px);font-weight:var(--kit-font-bold,700);color:var(--kit-text,#0F172A);text-align:center;">Send Money</div>
|
|
10
|
+
<!-- Recipient -->
|
|
11
|
+
<div style="display:flex;align-items:center;gap:12px;padding:12px;background:var(--kit-surface,#F8FAFC);border-radius:var(--kit-radius-md,12px);">
|
|
12
|
+
<img src="https://placehold.jp/40x40.png" style="width:40px;height:40px;border-radius:var(--kit-radius-full,9999px);object-fit:cover;display:block;flex-shrink:0;" alt="Recipient"/>
|
|
13
|
+
<div style="flex:1;">
|
|
14
|
+
<div style="font-size:var(--kit-text-sm,14px);font-weight:var(--kit-font-medium,500);color:var(--kit-text,#0F172A);">Alex Johnson</div>
|
|
15
|
+
<div style="font-size:var(--kit-text-xs,12px);color:var(--kit-text-3,#94A3B8);">@alexjohnson</div>
|
|
16
|
+
</div>
|
|
17
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="var(--kit-text-3,#94A3B8)" stroke-width="2"><polyline points="6 9 12 15 18 9"/></svg>
|
|
18
|
+
</div>
|
|
19
|
+
<!-- Amount -->
|
|
20
|
+
<div style="text-align:center;padding:8px 0;">
|
|
21
|
+
<div style="font-size:var(--kit-text-3xl,30px);font-weight:var(--kit-font-bold,700);color:var(--kit-text,#0F172A);">$250.00</div>
|
|
22
|
+
</div>
|
|
23
|
+
<!-- From Account -->
|
|
24
|
+
<div>
|
|
25
|
+
<div style="font-size:var(--kit-text-xs,12px);color:var(--kit-text-3,#94A3B8);margin-bottom:6px;">From</div>
|
|
26
|
+
<div style="display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px solid var(--kit-border,#E2E8F0);border-radius:var(--kit-radius,8px);">
|
|
27
|
+
<div style="display:flex;align-items:center;gap:8px;">
|
|
28
|
+
<div style="width:28px;height:28px;border-radius:var(--kit-radius-sm,4px);background:var(--kit-primary,#6366F1);display:flex;align-items:center;justify-content:center;">
|
|
29
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#FFFFFF" stroke-width="2"><rect x="1" y="4" width="22" height="16" rx="2"/><line x1="1" y1="10" x2="23" y2="10"/></svg>
|
|
30
|
+
</div>
|
|
31
|
+
<div>
|
|
32
|
+
<div style="font-size:var(--kit-text-sm,14px);font-weight:var(--kit-font-medium,500);color:var(--kit-text,#0F172A);">Checking ****4567</div>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="var(--kit-text-3,#94A3B8)" stroke-width="2"><polyline points="6 9 12 15 18 9"/></svg>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
<!-- Note -->
|
|
39
|
+
<div style="padding:10px 12px;border:1px solid var(--kit-border,#E2E8F0);border-radius:var(--kit-radius,8px);font-size:var(--kit-text-sm,14px);color:var(--kit-text-3,#94A3B8);">Add a note (optional)</div>
|
|
40
|
+
<!-- Send Button -->
|
|
41
|
+
<div style="width:100%;height:48px;background:var(--kit-primary,#6366F1);color:var(--kit-primary-fg,#FFFFFF);border-radius:var(--kit-radius,8px);display:flex;align-items:center;justify-content:center;font-size:var(--kit-text-md,16px);font-weight:var(--kit-font-semibold,600);cursor:pointer;">Send $250.00</div>
|
|
42
|
+
</div>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Body Metrics
|
|
3
|
+
@kit: app-mobile
|
|
4
|
+
@width: 360
|
|
5
|
+
@height: 300
|
|
6
|
+
@tags: body, metrics, weight, bmi, fitness
|
|
7
|
+
-->
|
|
8
|
+
<div data-component="Body Metrics" style="width:100%;max-width:360px;box-sizing:border-box;padding:16px;font-family:var(--kit-font, Inter, system-ui, sans-serif);background:var(--kit-bg, #FFFFFF);border-radius:var(--kit-radius-md, 12px);border:1px solid var(--kit-border, #E2E8F0)">
|
|
9
|
+
<div style="font-size:var(--kit-text-md, 16px);font-weight:var(--kit-font-semibold, 600);color:var(--kit-text, #0F172A);margin-bottom:14px">Body Metrics</div>
|
|
10
|
+
<div style="display:flex;gap:10px;margin-bottom:16px">
|
|
11
|
+
<div style="flex:1;padding:12px;background:var(--kit-surface, #F8FAFC);border-radius:var(--kit-radius, 8px);text-align:center">
|
|
12
|
+
<div style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-3, #94A3B8);margin-bottom:4px">Weight</div>
|
|
13
|
+
<div style="font-size:var(--kit-text-lg, 18px);font-weight:var(--kit-font-bold, 700);color:var(--kit-text, #0F172A)">165 lbs</div>
|
|
14
|
+
<div style="display:flex;align-items:center;justify-content:center;gap:3px;margin-top:4px">
|
|
15
|
+
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="var(--kit-success, #22C55E)" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="23 18 13.5 8.5 8.5 13.5 1 6"/><polyline points="17 18 23 18 23 12"/></svg>
|
|
16
|
+
<span style="font-size:11px;color:var(--kit-success, #22C55E);font-weight:var(--kit-font-medium, 500)">-2.5</span>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
<div style="flex:1;padding:12px;background:var(--kit-surface, #F8FAFC);border-radius:var(--kit-radius, 8px);text-align:center">
|
|
20
|
+
<div style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-3, #94A3B8);margin-bottom:4px">BMI</div>
|
|
21
|
+
<div style="font-size:var(--kit-text-lg, 18px);font-weight:var(--kit-font-bold, 700);color:var(--kit-text, #0F172A)">23.4</div>
|
|
22
|
+
<span style="display:inline-block;margin-top:4px;padding:2px 8px;background:rgba(34,197,94,0.1);color:var(--kit-success, #22C55E);font-size:11px;font-weight:var(--kit-font-medium, 500);border-radius:var(--kit-radius-full, 9999px)">Normal</span>
|
|
23
|
+
</div>
|
|
24
|
+
<div style="flex:1;padding:12px;background:var(--kit-surface, #F8FAFC);border-radius:var(--kit-radius, 8px);text-align:center">
|
|
25
|
+
<div style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-3, #94A3B8);margin-bottom:4px">Body Fat</div>
|
|
26
|
+
<div style="font-size:var(--kit-text-lg, 18px);font-weight:var(--kit-font-bold, 700);color:var(--kit-text, #0F172A)">18%</div>
|
|
27
|
+
<div style="display:flex;align-items:center;justify-content:center;gap:3px;margin-top:4px">
|
|
28
|
+
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="var(--kit-success, #22C55E)" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="23 18 13.5 8.5 8.5 13.5 1 6"/><polyline points="17 18 23 18 23 12"/></svg>
|
|
29
|
+
<span style="font-size:11px;color:var(--kit-success, #22C55E);font-weight:var(--kit-font-medium, 500)">-1.2</span>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
|
33
|
+
<div style="margin-bottom:16px">
|
|
34
|
+
<div style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-3, #94A3B8);margin-bottom:8px">Weight Trend (last 6 months)</div>
|
|
35
|
+
<svg width="100%" height="60" viewBox="0 0 328 60" preserveAspectRatio="none" style="display:block">
|
|
36
|
+
<polyline points="0,50 55,45 110,38 165,35 220,28 275,20 328,15" fill="none" stroke="var(--kit-primary, #6366F1)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
37
|
+
<polyline points="0,50 55,45 110,38 165,35 220,28 275,20 328,15 328,60 0,60" fill="rgba(99,102,241,0.08)" stroke="none"/>
|
|
38
|
+
</svg>
|
|
39
|
+
</div>
|
|
40
|
+
<button style="width:100%;padding:10px 0;background:var(--kit-primary, #6366F1);color:#FFFFFF;border:none;border-radius:var(--kit-radius, 8px);font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-semibold, 600);font-family:var(--kit-font, Inter, system-ui, sans-serif);cursor:pointer">Log Measurement</button>
|
|
41
|
+
</div>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Calorie Tracker
|
|
3
|
+
@kit: app-mobile
|
|
4
|
+
@width: 360
|
|
5
|
+
@height: 120
|
|
6
|
+
@tags: calories, tracker, nutrition, fitness
|
|
7
|
+
-->
|
|
8
|
+
<div data-component="Calorie Tracker" style="width:100%;max-width:360px;box-sizing:border-box;padding:14px 16px;font-family:var(--kit-font, Inter, system-ui, sans-serif);background:var(--kit-bg, #FFFFFF);border-radius:var(--kit-radius-md, 12px);border:1px solid var(--kit-border, #E2E8F0);display:flex;align-items:center;gap:16px">
|
|
9
|
+
<div style="position:relative;width:72px;height:72px;flex-shrink:0">
|
|
10
|
+
<svg width="72" height="72" viewBox="0 0 72 72" style="transform:rotate(-90deg)">
|
|
11
|
+
<circle cx="36" cy="36" r="30" fill="none" stroke="var(--kit-surface-2, #F1F5F9)" stroke-width="6"/>
|
|
12
|
+
<circle cx="36" cy="36" r="30" fill="none" stroke="var(--kit-primary, #6366F1)" stroke-width="6" stroke-linecap="round" stroke-dasharray="188.5" stroke-dashoffset="51.8"/>
|
|
13
|
+
</svg>
|
|
14
|
+
<div style="position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center">
|
|
15
|
+
<span style="font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-bold, 700);color:var(--kit-text, #0F172A);line-height:1">1,450</span>
|
|
16
|
+
<span style="font-size:9px;color:var(--kit-text-3, #94A3B8)">of 2,000</span>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
<div style="flex:1;min-width:0;display:flex;flex-direction:column;gap:8px">
|
|
20
|
+
<div>
|
|
21
|
+
<div style="display:flex;justify-content:space-between;margin-bottom:3px">
|
|
22
|
+
<span style="font-size:var(--kit-text-xs, 12px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text-2, #475569)">Protein</span>
|
|
23
|
+
<span style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-3, #94A3B8)">65g / 120g</span>
|
|
24
|
+
</div>
|
|
25
|
+
<div style="width:100%;height:6px;background:var(--kit-surface-2, #F1F5F9);border-radius:var(--kit-radius-full, 9999px);overflow:hidden">
|
|
26
|
+
<div style="width:54%;height:100%;background:var(--kit-info, #3B82F6);border-radius:var(--kit-radius-full, 9999px)"></div>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
<div>
|
|
30
|
+
<div style="display:flex;justify-content:space-between;margin-bottom:3px">
|
|
31
|
+
<span style="font-size:var(--kit-text-xs, 12px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text-2, #475569)">Carbs</span>
|
|
32
|
+
<span style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-3, #94A3B8)">180g / 250g</span>
|
|
33
|
+
</div>
|
|
34
|
+
<div style="width:100%;height:6px;background:var(--kit-surface-2, #F1F5F9);border-radius:var(--kit-radius-full, 9999px);overflow:hidden">
|
|
35
|
+
<div style="width:72%;height:100%;background:var(--kit-success, #22C55E);border-radius:var(--kit-radius-full, 9999px)"></div>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
<div>
|
|
39
|
+
<div style="display:flex;justify-content:space-between;margin-bottom:3px">
|
|
40
|
+
<span style="font-size:var(--kit-text-xs, 12px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text-2, #475569)">Fat</span>
|
|
41
|
+
<span style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-3, #94A3B8)">48g / 65g</span>
|
|
42
|
+
</div>
|
|
43
|
+
<div style="width:100%;height:6px;background:var(--kit-surface-2, #F1F5F9);border-radius:var(--kit-radius-full, 9999px);overflow:hidden">
|
|
44
|
+
<div style="width:74%;height:100%;background:var(--kit-warning, #F59E0B);border-radius:var(--kit-radius-full, 9999px)"></div>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Exercise Timer
|
|
3
|
+
@kit: app-mobile
|
|
4
|
+
@width: 360
|
|
5
|
+
@height: 220
|
|
6
|
+
@tags: exercise, timer, countdown, fitness
|
|
7
|
+
-->
|
|
8
|
+
<div data-component="Exercise Timer" style="width:100%;max-width:360px;box-sizing:border-box;padding:16px;font-family:var(--kit-font, Inter, system-ui, sans-serif);background:var(--kit-bg, #FFFFFF);border-radius:var(--kit-radius-md, 12px);display:flex;flex-direction:column;align-items:center">
|
|
9
|
+
<div style="position:relative;width:120px;height:120px;margin-bottom:16px">
|
|
10
|
+
<svg width="120" height="120" viewBox="0 0 120 120" style="transform:rotate(-90deg)">
|
|
11
|
+
<circle cx="60" cy="60" r="52" fill="none" stroke="var(--kit-surface-2, #F1F5F9)" stroke-width="8"/>
|
|
12
|
+
<circle cx="60" cy="60" r="52" fill="none" stroke="var(--kit-primary, #6366F1)" stroke-width="8" stroke-linecap="round" stroke-dasharray="326.73" stroke-dashoffset="81.68"/>
|
|
13
|
+
</svg>
|
|
14
|
+
<div style="position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center">
|
|
15
|
+
<span style="font-size:var(--kit-text-3xl, 30px);font-weight:var(--kit-font-bold, 700);color:var(--kit-text, #0F172A);line-height:1">00:45</span>
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
<div style="font-size:var(--kit-text-md, 16px);font-weight:var(--kit-font-semibold, 600);color:var(--kit-text, #0F172A);margin-bottom:4px">Burpees</div>
|
|
19
|
+
<div style="font-size:var(--kit-text-sm, 14px);color:var(--kit-text-3, #94A3B8);margin-bottom:16px">Set 3 of 4</div>
|
|
20
|
+
<div style="display:flex;gap:12px;width:100%">
|
|
21
|
+
<button style="flex:1;padding:12px 0;background:var(--kit-primary, #6366F1);color:#FFFFFF;border:none;border-radius:var(--kit-radius, 8px);font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-semibold, 600);font-family:var(--kit-font, Inter, system-ui, sans-serif);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px">
|
|
22
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="#FFFFFF" stroke="none"><rect x="6" y="4" width="4" height="16" rx="1"/><rect x="14" y="4" width="4" height="16" rx="1"/></svg>
|
|
23
|
+
Pause
|
|
24
|
+
</button>
|
|
25
|
+
<button style="flex:1;padding:12px 0;background:var(--kit-bg, #FFFFFF);color:var(--kit-text-2, #475569);border:1px solid var(--kit-border, #E2E8F0);border-radius:var(--kit-radius, 8px);font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-semibold, 600);font-family:var(--kit-font, Inter, system-ui, sans-serif);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px">
|
|
26
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="5 4 15 12 5 20 5 4"/><line x1="19" y1="5" x2="19" y2="19"/></svg>
|
|
27
|
+
Skip
|
|
28
|
+
</button>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Meal Plan Card
|
|
3
|
+
@kit: app-mobile
|
|
4
|
+
@width: 360
|
|
5
|
+
@height: 200
|
|
6
|
+
@tags: meal, plan, nutrition, diet, fitness
|
|
7
|
+
-->
|
|
8
|
+
<div data-component="Meal Plan Card" style="width:100%;max-width:360px;box-sizing:border-box;padding:16px;font-family:var(--kit-font, Inter, system-ui, sans-serif);background:var(--kit-bg, #FFFFFF);border-radius:var(--kit-radius-md, 12px);border:1px solid var(--kit-border, #E2E8F0)">
|
|
9
|
+
<div style="font-size:var(--kit-text-md, 16px);font-weight:var(--kit-font-semibold, 600);color:var(--kit-text, #0F172A);margin-bottom:14px">Today's Meals</div>
|
|
10
|
+
<div style="display:flex;flex-direction:column;gap:0">
|
|
11
|
+
<div style="display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--kit-border, #E2E8F0)">
|
|
12
|
+
<div style="width:36px;height:36px;border-radius:var(--kit-radius, 8px);background:rgba(59,130,246,0.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px">🌝</div>
|
|
13
|
+
<div style="flex:1;min-width:0">
|
|
14
|
+
<div style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-3, #94A3B8);font-weight:var(--kit-font-medium, 500)">Breakfast</div>
|
|
15
|
+
<div style="font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text, #0F172A)">Greek Yogurt Bowl</div>
|
|
16
|
+
</div>
|
|
17
|
+
<span style="font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-semibold, 600);color:var(--kit-text-2, #475569);flex-shrink:0">380 cal</span>
|
|
18
|
+
</div>
|
|
19
|
+
<div style="display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--kit-border, #E2E8F0)">
|
|
20
|
+
<div style="width:36px;height:36px;border-radius:var(--kit-radius, 8px);background:rgba(245,158,11,0.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px">☀️</div>
|
|
21
|
+
<div style="flex:1;min-width:0">
|
|
22
|
+
<div style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-3, #94A3B8);font-weight:var(--kit-font-medium, 500)">Lunch</div>
|
|
23
|
+
<div style="font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text, #0F172A)">Grilled Chicken Salad</div>
|
|
24
|
+
</div>
|
|
25
|
+
<span style="font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-semibold, 600);color:var(--kit-text-2, #475569);flex-shrink:0">520 cal</span>
|
|
26
|
+
</div>
|
|
27
|
+
<div style="display:flex;align-items:center;gap:12px;padding:10px 0">
|
|
28
|
+
<div style="width:36px;height:36px;border-radius:var(--kit-radius, 8px);background:rgba(99,102,241,0.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px">🌙</div>
|
|
29
|
+
<div style="flex:1;min-width:0">
|
|
30
|
+
<div style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-3, #94A3B8);font-weight:var(--kit-font-medium, 500)">Dinner</div>
|
|
31
|
+
<div style="font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text, #0F172A)">Salmon with Veggies</div>
|
|
32
|
+
</div>
|
|
33
|
+
<span style="font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-semibold, 600);color:var(--kit-text-2, #475569);flex-shrink:0">480 cal</span>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Sleep Tracker
|
|
3
|
+
@kit: app-mobile
|
|
4
|
+
@width: 360
|
|
5
|
+
@height: 200
|
|
6
|
+
@tags: sleep, tracker, health, fitness
|
|
7
|
+
-->
|
|
8
|
+
<div data-component="Sleep Tracker" style="width:100%;max-width:360px;box-sizing:border-box;padding:16px;font-family:var(--kit-font, Inter, system-ui, sans-serif);background:var(--kit-bg, #FFFFFF);border-radius:var(--kit-radius-md, 12px);border:1px solid var(--kit-border, #E2E8F0)">
|
|
9
|
+
<div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:12px">
|
|
10
|
+
<div style="display:flex;align-items:center;gap:8px">
|
|
11
|
+
<div style="width:32px;height:32px;border-radius:var(--kit-radius, 8px);background:rgba(99,102,241,0.1);display:flex;align-items:center;justify-content:center">
|
|
12
|
+
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="var(--kit-primary, #6366F1)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg>
|
|
13
|
+
</div>
|
|
14
|
+
<div>
|
|
15
|
+
<div style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-3, #94A3B8)">Last Night</div>
|
|
16
|
+
<div style="font-size:var(--kit-text-xl, 20px);font-weight:var(--kit-font-bold, 700);color:var(--kit-text, #0F172A);line-height:1.2">7h 32m</div>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
<span style="padding:4px 10px;background:rgba(34,197,94,0.1);color:var(--kit-success, #22C55E);font-size:var(--kit-text-xs, 12px);font-weight:var(--kit-font-semibold, 600);border-radius:var(--kit-radius-full, 9999px)">Good</span>
|
|
20
|
+
</div>
|
|
21
|
+
<div style="display:flex;gap:16px;margin-bottom:14px">
|
|
22
|
+
<div style="display:flex;align-items:center;gap:5px">
|
|
23
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="var(--kit-text-3, #94A3B8)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg>
|
|
24
|
+
<span style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-2, #475569)">Bedtime 11:15 PM</span>
|
|
25
|
+
</div>
|
|
26
|
+
<div style="display:flex;align-items:center;gap:5px">
|
|
27
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="var(--kit-text-3, #94A3B8)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg>
|
|
28
|
+
<span style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-2, #475569)">Wake 6:47 AM</span>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
<div style="margin-bottom:8px">
|
|
32
|
+
<div style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-3, #94A3B8);margin-bottom:6px">Sleep Stages</div>
|
|
33
|
+
<div style="display:flex;width:100%;height:12px;border-radius:var(--kit-radius-full, 9999px);overflow:hidden;gap:1px">
|
|
34
|
+
<div style="width:20%;background:#6366F1;border-radius:var(--kit-radius-full, 9999px) 0 0 var(--kit-radius-full, 9999px)" title="Deep"></div>
|
|
35
|
+
<div style="width:35%;background:#818CF8" title="Light"></div>
|
|
36
|
+
<div style="width:25%;background:#A78BFA" title="REM"></div>
|
|
37
|
+
<div style="width:10%;background:#C4B5FD" title="Light"></div>
|
|
38
|
+
<div style="width:10%;background:var(--kit-border, #E2E8F0);border-radius:0 var(--kit-radius-full, 9999px) var(--kit-radius-full, 9999px) 0" title="Awake"></div>
|
|
39
|
+
</div>
|
|
40
|
+
<div style="display:flex;gap:12px;margin-top:6px">
|
|
41
|
+
<div style="display:flex;align-items:center;gap:4px"><span style="width:8px;height:8px;border-radius:var(--kit-radius-full, 9999px);background:#6366F1"></span><span style="font-size:10px;color:var(--kit-text-3, #94A3B8)">Deep</span></div>
|
|
42
|
+
<div style="display:flex;align-items:center;gap:4px"><span style="width:8px;height:8px;border-radius:var(--kit-radius-full, 9999px);background:#818CF8"></span><span style="font-size:10px;color:var(--kit-text-3, #94A3B8)">Light</span></div>
|
|
43
|
+
<div style="display:flex;align-items:center;gap:4px"><span style="width:8px;height:8px;border-radius:var(--kit-radius-full, 9999px);background:#A78BFA"></span><span style="font-size:10px;color:var(--kit-text-3, #94A3B8)">REM</span></div>
|
|
44
|
+
<div style="display:flex;align-items:center;gap:4px"><span style="width:8px;height:8px;border-radius:var(--kit-radius-full, 9999px);background:var(--kit-border, #E2E8F0)"></span><span style="font-size:10px;color:var(--kit-text-3, #94A3B8)">Awake</span></div>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
<div style="text-align:center">
|
|
48
|
+
<span style="font-size:var(--kit-text-sm, 14px);color:var(--kit-primary, #6366F1);font-weight:var(--kit-font-medium, 500);cursor:pointer">View Details</span>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Workout Card
|
|
3
|
+
@kit: app-mobile
|
|
4
|
+
@width: 360
|
|
5
|
+
@height: 180
|
|
6
|
+
@tags: workout, exercise, fitness, gym
|
|
7
|
+
-->
|
|
8
|
+
<div data-component="Workout Card" style="width:100%;max-width:360px;box-sizing:border-box;font-family:var(--kit-font, Inter, system-ui, sans-serif);background:var(--kit-bg, #FFFFFF);border-radius:var(--kit-radius-md, 12px);overflow:hidden;border:1px solid var(--kit-border, #E2E8F0)">
|
|
9
|
+
<div style="position:relative;width:100%;height:80px;overflow:hidden">
|
|
10
|
+
<img src="https://placehold.jp/360x80.png" alt="Full Body HIIT" style="width:100%;height:100%;object-fit:cover;display:block"/>
|
|
11
|
+
<div style="position:absolute;inset:0;background:linear-gradient(to top, rgba(15,23,42,0.7) 0%, transparent 100%)"></div>
|
|
12
|
+
<div style="position:absolute;bottom:8px;left:12px;display:flex;align-items:center;gap:8px">
|
|
13
|
+
<span style="font-size:var(--kit-text-md, 16px);font-weight:var(--kit-font-bold, 700);color:#FFFFFF">Full Body HIIT</span>
|
|
14
|
+
<span style="padding:2px 8px;background:rgba(255,255,255,0.2);border-radius:var(--kit-radius-sm, 4px);font-size:var(--kit-text-xs, 12px);color:#FFFFFF;font-weight:var(--kit-font-medium, 500);backdrop-filter:blur(4px)">Intermediate</span>
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
<div style="padding:12px 14px">
|
|
18
|
+
<div style="display:flex;gap:16px;margin-bottom:12px">
|
|
19
|
+
<div style="display:flex;align-items:center;gap:5px">
|
|
20
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="var(--kit-text-3, #94A3B8)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
|
|
21
|
+
<span style="font-size:var(--kit-text-sm, 14px);color:var(--kit-text-2, #475569)">30 min</span>
|
|
22
|
+
</div>
|
|
23
|
+
<div style="display:flex;align-items:center;gap:5px">
|
|
24
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="var(--kit-text-3, #94A3B8)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"/></svg>
|
|
25
|
+
<span style="font-size:var(--kit-text-sm, 14px);color:var(--kit-text-2, #475569)">350 kcal</span>
|
|
26
|
+
</div>
|
|
27
|
+
<div style="display:flex;align-items:center;gap:5px">
|
|
28
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="var(--kit-text-3, #94A3B8)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="7" height="7"/><rect x="14" y="3" width="7" height="7"/><rect x="14" y="14" width="7" height="7"/><rect x="3" y="14" width="7" height="7"/></svg>
|
|
29
|
+
<span style="font-size:var(--kit-text-sm, 14px);color:var(--kit-text-2, #475569)">12 exercises</span>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
<button style="width:100%;padding:10px 0;background:var(--kit-primary, #6366F1);color:#FFFFFF;border:none;border-radius:var(--kit-radius, 8px);font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-semibold, 600);font-family:var(--kit-font, Inter, system-ui, sans-serif);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px">
|
|
33
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="#FFFFFF" stroke="none"><polygon points="5 3 19 12 5 21 5 3"/></svg>
|
|
34
|
+
Start Workout
|
|
35
|
+
</button>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|