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,81 @@
|
|
|
1
|
+
# Components Index
|
|
2
|
+
|
|
3
|
+
## Kits
|
|
4
|
+
|
|
5
|
+
| Kit | Path | Platform | Components | Description |
|
|
6
|
+
|-----|------|----------|-----------|-------------|
|
|
7
|
+
| **App Mobile** | `app-mobile/` | iOS + Android | 134 | Unified mobile kit. Platform differences documented in README |
|
|
8
|
+
| **Web** | `web/` | Desktop/Web | 126 | Responsive web/desktop components. Tailwind-inspired |
|
|
9
|
+
| **Common** | `common/` | Cross-kit | 38 | SVG illustrations, decorations, mockup elements, UI icons |
|
|
10
|
+
|
|
11
|
+
Removed separate `apple-ios/` and `android-md3/` — merged into `app-mobile/` with platform difference annotations in README.
|
|
12
|
+
|
|
13
|
+
## How Platform Targeting Works
|
|
14
|
+
|
|
15
|
+
Components are platform-neutral by default. To target iOS or Android:
|
|
16
|
+
|
|
17
|
+
- Read `app-mobile/README.md` → "Platform Differences" section
|
|
18
|
+
- Apply radius, typography, navigation rules for target platform
|
|
19
|
+
- Same HTML components, different style values via tokens
|
|
20
|
+
|
|
21
|
+
## Categories — App Mobile (134)
|
|
22
|
+
|
|
23
|
+
| Category | Count | Description |
|
|
24
|
+
|----------|-------|-------------|
|
|
25
|
+
| navbars | 8 | Top app bars, bottom nav, bottom app bar |
|
|
26
|
+
| buttons | 11 | Filled, tonal, outlined, text, icon, FAB, segmented |
|
|
27
|
+
| cards | 3 | Filled, outlined, elevated |
|
|
28
|
+
| inputs | 10 | Text fields, search, select, date/time picker, OTP, password, file upload |
|
|
29
|
+
| lists | 3 | 1-line, 2-line, 3-line items |
|
|
30
|
+
| chips | 4 | Assist, filter, input, suggestion |
|
|
31
|
+
| feedback | 6 | Snackbar, progress, skeleton, banner, tooltip |
|
|
32
|
+
| tabs | 2 | Primary, secondary |
|
|
33
|
+
| toggles | 3 | Switch, checkbox, radio |
|
|
34
|
+
| menus | 2 | Dropdown, context |
|
|
35
|
+
| dialogs | 2 | Basic, fullscreen |
|
|
36
|
+
| surfaces | 4 | Bottom sheet, side sheet, drawer, rail |
|
|
37
|
+
| sliders | 2 | Continuous, discrete |
|
|
38
|
+
| badges | 3 | Dot, count, overflow |
|
|
39
|
+
| dividers | 2 | Full-width, inset |
|
|
40
|
+
| native | 15 | iOS-specific (action-sheet, alert, nav-bar, tab-bar, etc.) + Android (status-bar, gesture-nav, notification, permission) |
|
|
41
|
+
| patterns | 47 | E-commerce, social, chat, productivity, auth, data, navigation, media, maps |
|
|
42
|
+
| charts | 7 | Bar, line, donut, progress ring, sparkline, stat card, horizontal bar |
|
|
43
|
+
|
|
44
|
+
## Categories — Web (126)
|
|
45
|
+
|
|
46
|
+
| Category | Count | Description |
|
|
47
|
+
|----------|-------|-------------|
|
|
48
|
+
| navbars | 6 | Top nav, sidebar, breadcrumb, footer |
|
|
49
|
+
| buttons | 6 | Primary, secondary, danger, ghost, icon, group |
|
|
50
|
+
| cards | 6 | Basic, feature, image, pricing, stat, testimonial |
|
|
51
|
+
| inputs | 10 | Text, textarea, select, search, date, file, tags, checkbox, radio, toggle |
|
|
52
|
+
| layout | 6 | Hero sections, features grid, pricing, stats, CTA banner |
|
|
53
|
+
| tables | 2 | Simple table, data table |
|
|
54
|
+
| modals | 2 | Basic, form |
|
|
55
|
+
| feedback | 8 | Alert, empty-state, loading, progress, skeleton, toasts, tooltip |
|
|
56
|
+
| tabs | 2 | Pills, underline |
|
|
57
|
+
| toggles | 3 | Switch, group, dark mode |
|
|
58
|
+
| charts | 3 | Area, bar, donut |
|
|
59
|
+
| badges | 1 | Badge set |
|
|
60
|
+
| menus | 1 | Dropdown menu |
|
|
61
|
+
| dividers | 1 | Divider with text |
|
|
62
|
+
| surfaces | 1 | Slide-over |
|
|
63
|
+
| data-display | 2 | Grid view, list view |
|
|
64
|
+
| heroes | 3 | Gradient, image background, video |
|
|
65
|
+
| cta | 3 | Centered, split with image, newsletter |
|
|
66
|
+
| features | 3 | Icon list, alternating rows, bento grid |
|
|
67
|
+
| pricing | 2 | Comparison table, monthly/annual toggle |
|
|
68
|
+
| social-proof | 2 | Logo cloud, testimonial carousel |
|
|
69
|
+
| logos | 2 | Logo grid, logo ticker |
|
|
70
|
+
| products | 4 | Product cards, detail, grid, reviews |
|
|
71
|
+
| cart | 3 | Cart page, checkout, order confirmation |
|
|
72
|
+
| promotions | 2 | Coupon card, promo banner |
|
|
73
|
+
| account | 3 | Profile, subscription, payment method |
|
|
74
|
+
| widgets | 8 | SaaS dashboard widgets (API keys, billing, changelog, etc.) |
|
|
75
|
+
| content | 2 | Author card, blog card |
|
|
76
|
+
| metrics | 1 | KPI row |
|
|
77
|
+
| screenshots | 2 | Browser frame, gallery |
|
|
78
|
+
| presentation | 2 | Slide title, slide content |
|
|
79
|
+
| print | 1 | Business card |
|
|
80
|
+
| social-media | 1 | Instagram post |
|
|
81
|
+
| patterns | 22 | Auth, chat, kanban, calendar, settings, comparison, etc. |
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# App Mobile UI Kit
|
|
2
|
+
|
|
3
|
+
**134 components** across 18 categories. Unified kit for both iOS and Android.
|
|
4
|
+
|
|
5
|
+
All components use `var(--kit-*)` tokens. Platform-specific differences are handled via metadata comments and minor style variations — not separate file sets.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Platform Differences (iOS vs Android)
|
|
10
|
+
|
|
11
|
+
AI and designers should apply these rules based on target platform:
|
|
12
|
+
|
|
13
|
+
### Shape & Radius
|
|
14
|
+
|
|
15
|
+
| Element | iOS | Android (MD3) |
|
|
16
|
+
|---------|-----|---------------|
|
|
17
|
+
| Cards | 12-16px radius | 12-16px radius |
|
|
18
|
+
| Buttons | 8-12px (rect) or full-round | 20px (full-round pill) |
|
|
19
|
+
| FAB | full-round (circle) | 16px (rounded square) |
|
|
20
|
+
| Bottom sheet | 12px top corners | 28px top corners |
|
|
21
|
+
| Dialog | 14px | 28px |
|
|
22
|
+
| Chips | full-round | 8px |
|
|
23
|
+
| Input fields | 8-10px | 4px (outlined) or 0 top (filled) |
|
|
24
|
+
| Nav bar | 0 (flat edge) | 0 (flat edge) |
|
|
25
|
+
|
|
26
|
+
### Typography
|
|
27
|
+
|
|
28
|
+
| Element | iOS (SF Pro) | Android (Roboto) |
|
|
29
|
+
|---------|-------------|-----------------|
|
|
30
|
+
| Large title | 34px bold | 30px regular |
|
|
31
|
+
| Title | 17px semibold | 20px regular |
|
|
32
|
+
| Body | 17px regular | 16px regular |
|
|
33
|
+
| Caption | 12px regular | 12px regular |
|
|
34
|
+
| Font family | -apple-system, SF Pro | Roboto, system-ui |
|
|
35
|
+
| Font weight style | Uses semibold (600) heavily | Uses regular (400) + medium (500) |
|
|
36
|
+
|
|
37
|
+
### Navigation
|
|
38
|
+
|
|
39
|
+
| Pattern | iOS | Android |
|
|
40
|
+
|---------|-----|---------|
|
|
41
|
+
| Primary nav | Tab bar (bottom, 49px + safe area) | Bottom nav (80px) with pill indicator |
|
|
42
|
+
| Back | `< Back` text + chevron (left) | `←` arrow icon |
|
|
43
|
+
| Title | Large title collapses on scroll | Small/Medium/Large app bar |
|
|
44
|
+
| Tab indicator | None (icon fills/colors) | Pill shape behind active icon |
|
|
45
|
+
| Drawer | Rare (use tabs instead) | Common (hamburger → drawer) |
|
|
46
|
+
| Gesture nav | Home indicator (134x5px) | Home indicator (same) |
|
|
47
|
+
|
|
48
|
+
### Status Bar
|
|
49
|
+
|
|
50
|
+
| | iOS | Android |
|
|
51
|
+
|--|-----|---------|
|
|
52
|
+
| Height | 44px (notch), 20px (no notch) | 24px |
|
|
53
|
+
| Style | Time left, icons right | Time left, icons right |
|
|
54
|
+
| Dynamic Island | iPhone 14+ (centered notch) | No equivalent |
|
|
55
|
+
|
|
56
|
+
### Specific Component Differences
|
|
57
|
+
|
|
58
|
+
| Component | iOS Style | Android Style |
|
|
59
|
+
|-----------|----------|---------------|
|
|
60
|
+
| Switch | Green track when on, round thumb | Primary color track, round thumb |
|
|
61
|
+
| Alert/Dialog | Rounded rect, stacked buttons | 28px radius, inline buttons |
|
|
62
|
+
| Action sheet | Bottom sheet with cancel button | Bottom sheet with drag handle |
|
|
63
|
+
| Search | Rounded rect in nav area | Full-round pill, prominent |
|
|
64
|
+
| Segmented | Sliding background pill | Outlined with border segments |
|
|
65
|
+
| List separator | Left-inset line | Full-width or inset |
|
|
66
|
+
| Selection | Checkmark right side | Checkbox left side |
|
|
67
|
+
| Date picker | Spinning wheel | Calendar grid |
|
|
68
|
+
|
|
69
|
+
### Spacing
|
|
70
|
+
|
|
71
|
+
| | iOS | Android |
|
|
72
|
+
|--|-----|---------|
|
|
73
|
+
| Horizontal padding | 16px | 16px |
|
|
74
|
+
| Section gap | 24-32px | 16-24px |
|
|
75
|
+
| List item height | 44px (compact), 60px (subtitle) | 56px (1-line), 72px (2-line) |
|
|
76
|
+
| Touch target | 44x44px min | 48x48px min |
|
|
77
|
+
| Tab bar | 49px + 34px safe area = 83px | 80px |
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## How to Use
|
|
82
|
+
|
|
83
|
+
Components are **platform-neutral by default** (work for both).
|
|
84
|
+
|
|
85
|
+
To style for a specific platform, the AI should:
|
|
86
|
+
|
|
87
|
+
1. **iOS:** Use `-apple-system` font, 600 weight for titles, smaller radii on buttons (8-12px), checkmark for selection, `< Back` text nav
|
|
88
|
+
2. **Android:** Use `system-ui` font, 400-500 weight, 20px pill buttons, pill indicator on nav, hamburger menu, 28px dialog radius
|
|
89
|
+
|
|
90
|
+
Example — the same `bottom-nav-5.html` works for both:
|
|
91
|
+
- **iOS mode:** Remove pill indicator, use filled/outline icon swap, add 34px safe area
|
|
92
|
+
- **Android mode:** Keep pill indicator, 80px height, as-is
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Component Inventory (134 total)
|
|
97
|
+
|
|
98
|
+
| Category | Count | Components |
|
|
99
|
+
|----------|-------|------------|
|
|
100
|
+
| navbars | 8 | top-app-bar (center/small/medium/large), bottom-nav (3/4/5), bottom-app-bar |
|
|
101
|
+
| buttons | 11 | filled, tonal, outlined, text, icon, icon-filled, icon-tonal, fab, fab-small, fab-extended, segmented |
|
|
102
|
+
| cards | 3 | filled, outlined, elevated |
|
|
103
|
+
| inputs | 10 | text-field (outlined/filled), search-bar, select, textarea, date-picker, time-picker, otp-input, password-field, file-upload |
|
|
104
|
+
| lists | 3 | 1-line, 2-line, 3-line |
|
|
105
|
+
| chips | 4 | assist, filter, input, suggestion |
|
|
106
|
+
| feedback | 6 | snackbar, progress-linear, progress-circular, skeleton, banner, tooltip |
|
|
107
|
+
| tabs | 2 | primary, secondary |
|
|
108
|
+
| toggles | 3 | switch, checkbox, radio |
|
|
109
|
+
| menus | 2 | dropdown, context |
|
|
110
|
+
| dialogs | 2 | basic, fullscreen |
|
|
111
|
+
| surfaces | 4 | bottom-sheet, side-sheet, nav-drawer, nav-rail |
|
|
112
|
+
| sliders | 2 | continuous, discrete |
|
|
113
|
+
| badges | 3 | dot, count, large (99+) |
|
|
114
|
+
| dividers | 2 | full-width, inset |
|
|
115
|
+
| native | 15 | status-bar, gesture-nav-bar, notification-item, permission-dialog, ios-action-sheet, ios-alert, ios-home-indicator, ios-list-cell, ios-nav-bar, ios-page-sheet, ios-search-bar, ios-segmented-control, ios-status-bar, ios-tab-bar, ios-wheel-picker |
|
|
116
|
+
| patterns | 47 | accordion, activity-feed, audio-waveform, avatar-group, breadcrumb, calendar-month, camera-viewfinder, card-horizontal, cart-item, category-pills, chat-bubble-received, chat-bubble-sent, chat-conversation, chat-input-bar, code-editor, comment-item, contact-card, data-table, empty-state, error-screen, event-card, image-editor, image-grid, login-form, map-card, media-player, notification-list, onboarding-slide, order-summary, order-tracker, pagination, post-card, product-card, profile-header, rating-stars, review-card, search-results, settings-group, stepper-horizontal, story-circle, swipe-action, tag-pills, timeline-item, todo-item, video-editor-timeline, video-player, wallet-card |
|
|
117
|
+
| charts | 7 | bar, line, donut, progress-ring, sparkline, stat-card, horizontal-bar |
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Badge — Count
|
|
3
|
+
@category: badges
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 24
|
|
6
|
+
@height: 16
|
|
7
|
+
@tags: badge, count, notification, number
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Badge — Count" style="display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--kit-danger, #EF4444);color:#FFFFFF;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);font-size:11px;font-weight:var(--kit-font-medium, 500);box-sizing:border-box">3</div>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Badge — Dot
|
|
3
|
+
@category: badges
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 8
|
|
6
|
+
@height: 8
|
|
7
|
+
@tags: badge, dot, notification, indicator
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Badge — Dot" style="width:8px;height:8px;border-radius:4px;background:var(--kit-danger, #EF4444)"></div>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Badge — Large (99+)
|
|
3
|
+
@category: badges
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 32
|
|
6
|
+
@height: 16
|
|
7
|
+
@tags: badge, count, notification, overflow
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Badge — Large (99+)" style="display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 6px;border-radius:8px;background:var(--kit-danger, #EF4444);color:#FFFFFF;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);font-size:11px;font-weight:var(--kit-font-medium, 500);box-sizing:border-box">99+</div>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Button — Filled
|
|
3
|
+
@category: buttons
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 160
|
|
6
|
+
@height: 40
|
|
7
|
+
@tags: button, filled, primary, cta
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Button — Filled" style="display:inline-flex;align-items:center;justify-content:center;width:100%;height:40px;background:var(--kit-primary, #6366F1);color:var(--kit-primary-fg, #FFFFFF);border-radius:20px;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-medium, 500);cursor:pointer;padding:0 24px;box-sizing:border-box">Button</div>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Button — Icon Only
|
|
3
|
+
@category: buttons
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 40
|
|
6
|
+
@height: 40
|
|
7
|
+
@tags: button, icon, circular
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Button — Icon Only" style="display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;color:var(--kit-text, #0F172A);border-radius:20px;cursor:pointer">
|
|
10
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><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>
|
|
11
|
+
</div>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Button — Outlined
|
|
3
|
+
@category: buttons
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 160
|
|
6
|
+
@height: 40
|
|
7
|
+
@tags: button, outlined, secondary
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Button — Outlined" style="display:inline-flex;align-items:center;justify-content:center;width:100%;height:40px;background:transparent;color:var(--kit-primary, #6366F1);border:1px solid var(--kit-border, #E2E8F0);border-radius:20px;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-medium, 500);cursor:pointer;padding:0 24px;box-sizing:border-box">Button</div>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Button — Text
|
|
3
|
+
@category: buttons
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 120
|
|
6
|
+
@height: 40
|
|
7
|
+
@tags: button, text, minimal
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Button — Text" style="display:inline-flex;align-items:center;justify-content:center;width:100%;height:40px;background:transparent;color:var(--kit-primary, #6366F1);border-radius:20px;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-medium, 500);cursor:pointer;padding:0 16px;box-sizing:border-box">Button</div>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Button — Filled Tonal
|
|
3
|
+
@category: buttons
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 160
|
|
6
|
+
@height: 40
|
|
7
|
+
@tags: button, tonal, secondary
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Button — Filled Tonal" style="display:inline-flex;align-items:center;justify-content:center;width:100%;height:40px;background:var(--kit-secondary, #64748B);color:var(--kit-secondary-fg, #FFFFFF);border-radius:20px;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-medium, 500);cursor:pointer;padding:0 24px;box-sizing:border-box">Button</div>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: FAB — Extended
|
|
3
|
+
@category: buttons
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 160
|
|
6
|
+
@height: 56
|
|
7
|
+
@tags: fab, extended, floating, action, label
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="FAB — Extended" style="display:inline-flex;align-items:center;justify-content:center;height:56px;background:var(--kit-accent, #F59E0B);color:var(--kit-accent-fg, #FFFFFF);border-radius:var(--kit-radius-lg, 16px);box-shadow:var(--kit-shadow-md, 0 4px 6px rgba(0,0,0,0.07),0 2px 4px rgba(0,0,0,0.06));cursor:pointer;padding:0 20px;gap:12px;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-medium, 500)">
|
|
10
|
+
<svg width="24" height="24" 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>
|
|
11
|
+
Create New
|
|
12
|
+
</div>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: FAB — Small
|
|
3
|
+
@category: buttons
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 40
|
|
6
|
+
@height: 40
|
|
7
|
+
@tags: fab, floating, action, small
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="FAB — Small" style="display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--kit-accent, #F59E0B);color:var(--kit-accent-fg, #FFFFFF);border-radius:var(--kit-radius-md, 12px);box-shadow:var(--kit-shadow, 0 1px 3px rgba(0,0,0,0.1),0 1px 2px rgba(0,0,0,0.06));cursor:pointer">
|
|
10
|
+
<svg width="20" height="20" 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>
|
|
11
|
+
</div>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: FAB — Floating Action Button
|
|
3
|
+
@category: buttons
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 56
|
|
6
|
+
@height: 56
|
|
7
|
+
@tags: fab, floating, action, primary
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="FAB — Floating Action Button" style="display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--kit-accent, #F59E0B);color:var(--kit-accent-fg, #FFFFFF);border-radius:var(--kit-radius-lg, 16px);box-shadow:var(--kit-shadow-md, 0 4px 6px rgba(0,0,0,0.07),0 2px 4px rgba(0,0,0,0.06));cursor:pointer">
|
|
10
|
+
<svg width="24" height="24" 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>
|
|
11
|
+
</div>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Icon Button — Filled
|
|
3
|
+
@category: buttons
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 40
|
|
6
|
+
@height: 40
|
|
7
|
+
@tags: button, icon, filled, circular
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Icon Button — Filled" style="display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--kit-primary, #6366F1);color:var(--kit-primary-fg, #FFFFFF);border-radius:20px;cursor:pointer">
|
|
10
|
+
<svg width="20" height="20" 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>
|
|
11
|
+
</div>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Icon Button — Tonal
|
|
3
|
+
@category: buttons
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 40
|
|
6
|
+
@height: 40
|
|
7
|
+
@tags: button, icon, tonal, circular
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Icon Button — Tonal" style="display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--kit-surface-2, #F1F5F9);color:var(--kit-primary, #6366F1);border-radius:20px;cursor:pointer">
|
|
10
|
+
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><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>
|
|
11
|
+
</div>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Segmented Button
|
|
3
|
+
@category: buttons
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 40
|
|
7
|
+
@tags: segmented, toggle, group, selector
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Segmented Button" style="display:flex;width:100%;height:40px;border:1px solid var(--kit-border, #E2E8F0);border-radius:20px;overflow:hidden;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);font-size:var(--kit-text-sm, 14px)">
|
|
10
|
+
<div style="flex:1;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--kit-secondary, #64748B);color:var(--kit-secondary-fg, #FFFFFF);font-weight:var(--kit-font-medium, 500);cursor:pointer"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>Day</div>
|
|
11
|
+
<div style="flex:1;display:flex;align-items:center;justify-content:center;border-left:1px solid var(--kit-border, #E2E8F0);color:var(--kit-text, #0F172A);cursor:pointer">Week</div>
|
|
12
|
+
<div style="flex:1;display:flex;align-items:center;justify-content:center;border-left:1px solid var(--kit-border, #E2E8F0);color:var(--kit-text, #0F172A);cursor:pointer">Month</div>
|
|
13
|
+
</div>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Card — Elevated
|
|
3
|
+
@category: cards
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 200
|
|
7
|
+
@tags: card, elevated, shadow
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Card — Elevated" style="width:100%;background:var(--kit-bg, #FFFFFF);border-radius:var(--kit-radius-md, 12px);box-shadow:var(--kit-shadow-md, 0 4px 6px rgba(0,0,0,0.07),0 2px 4px rgba(0,0,0,0.06));font-family:var(--kit-font, system-ui, -apple-system, sans-serif);overflow:hidden;box-sizing:border-box">
|
|
10
|
+
<img src="https://placehold.jp/360x100.png" style="width:100%;height:100px;object-fit:cover;display:block" alt="Card image"/>
|
|
11
|
+
<div style="padding:var(--kit-space-4, 16px)">
|
|
12
|
+
<div style="font-size:var(--kit-text-lg, 18px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text, #0F172A)">Card Title</div>
|
|
13
|
+
<div style="font-size:var(--kit-text-sm, 14px);color:var(--kit-text-2, #475569);margin-top:var(--kit-space-1, 4px)">Supporting text goes here with a brief description.</div>
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Card — Filled
|
|
3
|
+
@category: cards
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 200
|
|
7
|
+
@tags: card, filled, surface
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Card — Filled" style="width:100%;background:var(--kit-surface, #F8FAFC);border-radius:var(--kit-radius-md, 12px);font-family:var(--kit-font, system-ui, -apple-system, sans-serif);overflow:hidden;box-sizing:border-box">
|
|
10
|
+
<img src="https://placehold.jp/360x100.png" style="width:100%;height:100px;object-fit:cover;display:block" alt="Card image"/>
|
|
11
|
+
<div style="padding:var(--kit-space-4, 16px)">
|
|
12
|
+
<div style="font-size:var(--kit-text-lg, 18px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text, #0F172A)">Card Title</div>
|
|
13
|
+
<div style="font-size:var(--kit-text-sm, 14px);color:var(--kit-text-2, #475569);margin-top:var(--kit-space-1, 4px)">Supporting text goes here with a brief description.</div>
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Card — Outlined
|
|
3
|
+
@category: cards
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 200
|
|
7
|
+
@tags: card, outlined, border
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Card — Outlined" style="width:100%;background:var(--kit-bg, #FFFFFF);border:1px solid var(--kit-border, #E2E8F0);border-radius:var(--kit-radius-md, 12px);font-family:var(--kit-font, system-ui, -apple-system, sans-serif);overflow:hidden;box-sizing:border-box">
|
|
10
|
+
<img src="https://placehold.jp/360x100.png" style="width:100%;height:100px;object-fit:cover;display:block" alt="Card image"/>
|
|
11
|
+
<div style="padding:var(--kit-space-4, 16px)">
|
|
12
|
+
<div style="font-size:var(--kit-text-lg, 18px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text, #0F172A)">Card Title</div>
|
|
13
|
+
<div style="font-size:var(--kit-text-sm, 14px);color:var(--kit-text-2, #475569);margin-top:var(--kit-space-1, 4px)">Supporting text goes here with a brief description.</div>
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Bar Chart — Vertical
|
|
3
|
+
@category: charts
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 240
|
|
7
|
+
@tags: chart, bar, vertical, data, visualization
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Bar Chart — Vertical" style="width:100%;height:240px;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-sm, 14px);font-weight:var(--kit-font-semibold, 600);color:var(--kit-text, #0F172A);margin-bottom:16px">Weekly Revenue</div>
|
|
11
|
+
<div style="display:flex;align-items:flex-end;justify-content:space-between;height:150px;padding:0 8px;gap:12px">
|
|
12
|
+
<div style="flex:1;display:flex;flex-direction:column;align-items:center;gap:6px"><div style="width:100%;height:60%;background:var(--kit-primary, #6366F1);border-radius:4px 4px 0 0;opacity:0.7"></div><span style="font-size:10px;color:var(--kit-text-3, #94A3B8)">Mon</span></div>
|
|
13
|
+
<div style="flex:1;display:flex;flex-direction:column;align-items:center;gap:6px"><div style="width:100%;height:80%;background:var(--kit-primary, #6366F1);border-radius:4px 4px 0 0;opacity:0.8"></div><span style="font-size:10px;color:var(--kit-text-3, #94A3B8)">Tue</span></div>
|
|
14
|
+
<div style="flex:1;display:flex;flex-direction:column;align-items:center;gap:6px"><div style="width:100%;height:45%;background:var(--kit-primary, #6366F1);border-radius:4px 4px 0 0;opacity:0.6"></div><span style="font-size:10px;color:var(--kit-text-3, #94A3B8)">Wed</span></div>
|
|
15
|
+
<div style="flex:1;display:flex;flex-direction:column;align-items:center;gap:6px"><div style="width:100%;height:90%;background:var(--kit-primary, #6366F1);border-radius:4px 4px 0 0;opacity:0.9"></div><span style="font-size:10px;color:var(--kit-text-3, #94A3B8)">Thu</span></div>
|
|
16
|
+
<div style="flex:1;display:flex;flex-direction:column;align-items:center;gap:6px"><div style="width:100%;height:100%;background:var(--kit-primary, #6366F1);border-radius:4px 4px 0 0"></div><span style="font-size:10px;color:var(--kit-text-3, #94A3B8)">Fri</span></div>
|
|
17
|
+
<div style="flex:1;display:flex;flex-direction:column;align-items:center;gap:6px"><div style="width:100%;height:70%;background:var(--kit-primary, #6366F1);border-radius:4px 4px 0 0;opacity:0.75"></div><span style="font-size:10px;color:var(--kit-text-3, #94A3B8)">Sat</span></div>
|
|
18
|
+
<div style="flex:1;display:flex;flex-direction:column;align-items:center;gap:6px"><div style="width:100%;height:35%;background:var(--kit-primary, #6366F1);border-radius:4px 4px 0 0;opacity:0.5"></div><span style="font-size:10px;color:var(--kit-text-3, #94A3B8)">Sun</span></div>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Donut Chart
|
|
3
|
+
@category: charts
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 200
|
|
6
|
+
@height: 200
|
|
7
|
+
@tags: chart, donut, pie, ring, data, visualization
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Donut Chart" style="width:200px;height:200px;position:relative;font-family:var(--kit-font, system-ui, -apple-system, sans-serif)">
|
|
10
|
+
<svg width="200" height="200" viewBox="0 0 200 200">
|
|
11
|
+
<circle cx="100" cy="100" r="70" fill="none" stroke="var(--kit-primary, #6366F1)" stroke-width="24" stroke-dasharray="154 286" stroke-dashoffset="-72" stroke-linecap="round"/>
|
|
12
|
+
<circle cx="100" cy="100" r="70" fill="none" stroke="#F472B6" stroke-width="24" stroke-dasharray="110 330" stroke-dashoffset="-226" stroke-linecap="round"/>
|
|
13
|
+
<circle cx="100" cy="100" r="70" fill="none" stroke="#34D399" stroke-width="24" stroke-dasharray="88 352" stroke-dashoffset="-336" stroke-linecap="round"/>
|
|
14
|
+
<circle cx="100" cy="100" r="70" fill="none" stroke="#FBBF24" stroke-width="24" stroke-dasharray="66 374" stroke-dashoffset="-424" stroke-linecap="round"/>
|
|
15
|
+
</svg>
|
|
16
|
+
<div style="position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center">
|
|
17
|
+
<div style="font-size:24px;font-weight:700;color:var(--kit-text, #0F172A)">68%</div>
|
|
18
|
+
<div style="font-size:11px;color:var(--kit-text-3, #94A3B8)">Complete</div>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Horizontal Bar Chart
|
|
3
|
+
@category: charts
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 200
|
|
7
|
+
@tags: chart, bar, horizontal, breakdown, data
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Horizontal Bar Chart" 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-sm, 14px);font-weight:var(--kit-font-semibold, 600);color:var(--kit-text, #0F172A);margin-bottom:16px">Spending</div>
|
|
11
|
+
<div style="margin-bottom:12px"><div style="display:flex;justify-content:space-between;font-size:12px;color:var(--kit-text-2, #475569);margin-bottom:4px"><span>Food</span><span>40%</span></div><div style="height:8px;background:var(--kit-surface-2, #F1F5F9);border-radius:4px;overflow:hidden"><div style="width:40%;height:100%;background:var(--kit-primary, #6366F1);border-radius:4px"></div></div></div>
|
|
12
|
+
<div style="margin-bottom:12px"><div style="display:flex;justify-content:space-between;font-size:12px;color:var(--kit-text-2, #475569);margin-bottom:4px"><span>Transport</span><span>25%</span></div><div style="height:8px;background:var(--kit-surface-2, #F1F5F9);border-radius:4px;overflow:hidden"><div style="width:25%;height:100%;background:#F472B6;border-radius:4px"></div></div></div>
|
|
13
|
+
<div style="margin-bottom:12px"><div style="display:flex;justify-content:space-between;font-size:12px;color:var(--kit-text-2, #475569);margin-bottom:4px"><span>Shopping</span><span>20%</span></div><div style="height:8px;background:var(--kit-surface-2, #F1F5F9);border-radius:4px;overflow:hidden"><div style="width:20%;height:100%;background:#34D399;border-radius:4px"></div></div></div>
|
|
14
|
+
<div><div style="display:flex;justify-content:space-between;font-size:12px;color:var(--kit-text-2, #475569);margin-bottom:4px"><span>Other</span><span>15%</span></div><div style="height:8px;background:var(--kit-surface-2, #F1F5F9);border-radius:4px;overflow:hidden"><div style="width:15%;height:100%;background:#FBBF24;border-radius:4px"></div></div></div>
|
|
15
|
+
</div>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Line Chart — with Area Fill
|
|
3
|
+
@category: charts
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 360
|
|
6
|
+
@height: 240
|
|
7
|
+
@tags: chart, line, area, trend, data, visualization
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Line Chart — with Area Fill" style="width:100%;height:240px;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;justify-content:space-between;align-items:center;margin-bottom:12px">
|
|
11
|
+
<div style="font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-semibold, 600);color:var(--kit-text, #0F172A)">Revenue Trend</div>
|
|
12
|
+
<div style="font-size:var(--kit-text-xs, 12px);color:var(--kit-success, #22C55E)">+12.5%</div>
|
|
13
|
+
</div>
|
|
14
|
+
<svg width="100%" height="160" viewBox="0 0 328 160" preserveAspectRatio="none" style="display:block">
|
|
15
|
+
<defs>
|
|
16
|
+
<linearGradient id="areaGrad" x1="0" y1="0" x2="0" y2="1">
|
|
17
|
+
<stop offset="0%" style="stop-color:var(--kit-primary, #6366F1);stop-opacity:0.3"/>
|
|
18
|
+
<stop offset="100%" style="stop-color:var(--kit-primary, #6366F1);stop-opacity:0.02"/>
|
|
19
|
+
</linearGradient>
|
|
20
|
+
</defs>
|
|
21
|
+
<path d="M0,120 L55,100 L110,60 L165,80 L220,30 L275,45 L328,20 L328,160 L0,160 Z" fill="url(#areaGrad)"/>
|
|
22
|
+
<polyline points="0,120 55,100 110,60 165,80 220,30 275,45 328,20" fill="none" stroke="var(--kit-primary, #6366F1)" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
23
|
+
<circle cx="220" cy="30" r="4" fill="var(--kit-primary, #6366F1)"/>
|
|
24
|
+
<circle cx="220" cy="30" r="8" fill="var(--kit-primary, #6366F1)" opacity="0.2"/>
|
|
25
|
+
</svg>
|
|
26
|
+
</div>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Progress Ring
|
|
3
|
+
@category: charts
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 120
|
|
6
|
+
@height: 120
|
|
7
|
+
@tags: chart, progress, ring, circular, percentage
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Progress Ring" style="width:120px;height:120px;position:relative;font-family:var(--kit-font, system-ui, -apple-system, sans-serif)">
|
|
10
|
+
<svg width="120" height="120" viewBox="0 0 120 120">
|
|
11
|
+
<circle cx="60" cy="60" r="50" fill="none" stroke="var(--kit-surface-2, #F1F5F9)" stroke-width="10"/>
|
|
12
|
+
<circle cx="60" cy="60" r="50" fill="none" stroke="var(--kit-primary, #6366F1)" stroke-width="10" stroke-dasharray="236 78" stroke-linecap="round" transform="rotate(-90 60 60)"/>
|
|
13
|
+
</svg>
|
|
14
|
+
<div style="position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center">
|
|
15
|
+
<div style="font-size:22px;font-weight:700;color:var(--kit-text, #0F172A)">75%</div>
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Sparkline — Inline Mini Chart
|
|
3
|
+
@category: charts
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 100
|
|
6
|
+
@height: 32
|
|
7
|
+
@tags: chart, sparkline, inline, mini, trend
|
|
8
|
+
-->
|
|
9
|
+
<svg data-component="Sparkline — Inline Mini Chart" width="100" height="32" viewBox="0 0 100 32">
|
|
10
|
+
<polyline points="0,28 15,20 30,24 45,12 60,16 75,6 90,10 100,4" fill="none" stroke="var(--kit-primary, #6366F1)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
11
|
+
</svg>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Stat Card — KPI with Trend
|
|
3
|
+
@category: charts
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 170
|
|
6
|
+
@height: 120
|
|
7
|
+
@tags: stat, kpi, card, metric, number, trend
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Stat Card — KPI with Trend" style="width:100%;height:120px;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);display:flex;flex-direction:column;justify-content:space-between">
|
|
10
|
+
<div style="display:flex;align-items:center;justify-content:space-between">
|
|
11
|
+
<span style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-2, #475569)">Revenue</span>
|
|
12
|
+
<div style="color:var(--kit-text-3, #94A3B8)"><svg width="16" height="16" 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></div>
|
|
13
|
+
</div>
|
|
14
|
+
<div>
|
|
15
|
+
<div style="font-size:24px;font-weight:var(--kit-font-bold, 700);color:var(--kit-text, #0F172A)">$12.4k</div>
|
|
16
|
+
<div style="font-size:var(--kit-text-xs, 12px);color:var(--kit-success, #22C55E);margin-top:2px">+12.5% vs last month</div>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Chip — Assist
|
|
3
|
+
@category: chips
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 100
|
|
6
|
+
@height: 32
|
|
7
|
+
@tags: chip, assist, action
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Chip — Assist" style="display:inline-flex;align-items:center;height:32px;padding:0 16px;border:1px solid var(--kit-border, #E2E8F0);border-radius:var(--kit-radius-sm, 8px);font-family:var(--kit-font, system-ui, -apple-system, sans-serif);font-size:var(--kit-text-sm, 14px);color:var(--kit-text, #0F172A);cursor:pointer;box-sizing:border-box;gap:8px">
|
|
10
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" 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>
|
|
11
|
+
Assist
|
|
12
|
+
</div>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Chip — Filter
|
|
3
|
+
@category: chips
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 100
|
|
6
|
+
@height: 32
|
|
7
|
+
@tags: chip, filter, tag, toggle
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Chip — Filter" style="display:inline-flex;align-items:center;height:32px;padding:0 16px;border:1px solid var(--kit-border, #E2E8F0);border-radius:var(--kit-radius-sm, 8px);font-family:var(--kit-font, system-ui, -apple-system, sans-serif);font-size:var(--kit-text-sm, 14px);color:var(--kit-text, #0F172A);cursor:pointer;box-sizing:border-box;gap:8px">
|
|
10
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>
|
|
11
|
+
Filter
|
|
12
|
+
</div>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Chip — Input
|
|
3
|
+
@category: chips
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 100
|
|
6
|
+
@height: 32
|
|
7
|
+
@tags: chip, input, removable
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Chip — Input" style="display:inline-flex;align-items:center;height:32px;padding:0 4px 0 12px;background:var(--kit-surface-2, #F1F5F9);border-radius:var(--kit-radius-sm, 8px);font-family:var(--kit-font, system-ui, -apple-system, sans-serif);font-size:var(--kit-text-sm, 14px);color:var(--kit-text, #0F172A);box-sizing:border-box;gap:4px">
|
|
10
|
+
<span>Input</span>
|
|
11
|
+
<div style="width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--kit-text-2, #475569)">
|
|
12
|
+
<svg width="16" height="16" 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>
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@name: Chip — Suggestion
|
|
3
|
+
@category: chips
|
|
4
|
+
@kit: app-mobile
|
|
5
|
+
@width: 100
|
|
6
|
+
@height: 32
|
|
7
|
+
@tags: chip, suggestion, tag
|
|
8
|
+
-->
|
|
9
|
+
<div data-component="Chip — Suggestion" style="display:inline-flex;align-items:center;height:32px;padding:0 16px;border:1px solid var(--kit-border, #E2E8F0);border-radius:var(--kit-radius-sm, 8px);font-family:var(--kit-font, system-ui, -apple-system, sans-serif);font-size:var(--kit-text-sm, 14px);color:var(--kit-text, #0F172A);cursor:pointer;box-sizing:border-box">Suggestion</div>
|