snice 4.27.0 → 4.29.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/adapters/react/action-bar.d.ts +30 -0
- package/adapters/react/action-bar.d.ts.map +1 -0
- package/adapters/react/action-bar.js +24 -0
- package/adapters/react/action-bar.js.map +1 -0
- package/adapters/react/action-bar.tsx +38 -0
- package/adapters/react/binpack.d.ts +35 -0
- package/adapters/react/binpack.d.ts.map +1 -0
- package/adapters/react/binpack.js +24 -0
- package/adapters/react/binpack.js.map +1 -0
- package/adapters/react/binpack.tsx +43 -0
- package/adapters/react/components.d.ts +4 -0
- package/adapters/react/components.d.ts.map +1 -1
- package/adapters/react/components.js +2 -0
- package/adapters/react/components.js.map +1 -1
- package/adapters/react/components.ts +4 -0
- package/adapters/react/useRequestHandler.d.ts +56 -0
- package/adapters/react/useRequestHandler.js +103 -0
- package/adapters/react/useRequestHandler.js.map +1 -0
- package/dist/cdn/accordion/snice-accordion.js +1 -1
- package/dist/cdn/accordion/snice-accordion.min.js +1 -1
- package/dist/cdn/action-bar/README.md +27 -0
- package/dist/cdn/action-bar/snice-action-bar.js +249 -0
- package/dist/cdn/action-bar/snice-action-bar.js.map +1 -0
- package/dist/cdn/action-bar/snice-action-bar.min.js +12 -0
- package/dist/cdn/action-bar/snice-action-bar.min.js.map +1 -0
- package/dist/cdn/activity-feed/snice-activity-feed.js +1 -1
- package/dist/cdn/activity-feed/snice-activity-feed.min.js +1 -1
- package/dist/cdn/alert/snice-alert.js +1 -1
- package/dist/cdn/alert/snice-alert.min.js +1 -1
- package/dist/cdn/app-tiles/snice-app-tiles.js +1 -1
- package/dist/cdn/app-tiles/snice-app-tiles.min.js +1 -1
- package/dist/cdn/approval-flow/snice-approval-flow.js +1 -1
- package/dist/cdn/approval-flow/snice-approval-flow.min.js +1 -1
- package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
- package/dist/cdn/audio-recorder/snice-audio-recorder.min.js +1 -1
- package/dist/cdn/availability/snice-availability.js +1 -1
- package/dist/cdn/availability/snice-availability.min.js +1 -1
- package/dist/cdn/avatar/snice-avatar.js +1 -1
- package/dist/cdn/avatar/snice-avatar.min.js +1 -1
- package/dist/cdn/avatar-group/snice-avatar-group.js +1 -1
- package/dist/cdn/avatar-group/snice-avatar-group.min.js +1 -1
- package/dist/cdn/badge/snice-badge.js +2 -2
- package/dist/cdn/badge/snice-badge.js.map +1 -1
- package/dist/cdn/badge/snice-badge.min.js +2 -2
- package/dist/cdn/badge/snice-badge.min.js.map +1 -1
- package/dist/cdn/banner/snice-banner.js +1 -1
- package/dist/cdn/banner/snice-banner.min.js +1 -1
- package/dist/cdn/binpack/README.md +27 -0
- package/dist/cdn/binpack/snice-binpack.js +1037 -0
- package/dist/cdn/binpack/snice-binpack.js.map +1 -0
- package/dist/cdn/binpack/snice-binpack.min.js +13 -0
- package/dist/cdn/binpack/snice-binpack.min.js.map +1 -0
- package/dist/cdn/book/snice-book.js +1 -1
- package/dist/cdn/book/snice-book.min.js +1 -1
- package/dist/cdn/booking/snice-booking.js +1 -1
- package/dist/cdn/booking/snice-booking.min.js +1 -1
- package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +1 -1
- package/dist/cdn/breadcrumbs/snice-breadcrumbs.min.js +1 -1
- package/dist/cdn/button/README.md +1 -1
- package/dist/cdn/button/snice-button.js +11 -10
- package/dist/cdn/button/snice-button.js.map +1 -1
- package/dist/cdn/button/snice-button.min.js +3 -3
- package/dist/cdn/button/snice-button.min.js.map +1 -1
- package/dist/cdn/calendar/snice-calendar.js +1 -1
- package/dist/cdn/calendar/snice-calendar.min.js +1 -1
- package/dist/cdn/camera/snice-camera.js +1 -1
- package/dist/cdn/camera/snice-camera.min.js +1 -1
- package/dist/cdn/camera-annotate/snice-camera-annotate.js +1 -1
- package/dist/cdn/camera-annotate/snice-camera-annotate.min.js +1 -1
- package/dist/cdn/candlestick/snice-candlestick.js +1 -1
- package/dist/cdn/candlestick/snice-candlestick.min.js +1 -1
- package/dist/cdn/card/snice-card.js +1 -1
- package/dist/cdn/card/snice-card.min.js +1 -1
- package/dist/cdn/carousel/snice-carousel.js +1 -1
- package/dist/cdn/carousel/snice-carousel.min.js +1 -1
- package/dist/cdn/cart/snice-cart.js +1 -1
- package/dist/cdn/cart/snice-cart.min.js +1 -1
- package/dist/cdn/chart/snice-chart.js +1 -1
- package/dist/cdn/chart/snice-chart.min.js +1 -1
- package/dist/cdn/chat/snice-chat.js +1 -1
- package/dist/cdn/chat/snice-chat.min.js +1 -1
- package/dist/cdn/checkbox/snice-checkbox.js +1 -1
- package/dist/cdn/checkbox/snice-checkbox.min.js +1 -1
- package/dist/cdn/chip/snice-chip.js +1 -1
- package/dist/cdn/chip/snice-chip.min.js +1 -1
- package/dist/cdn/code-block/snice-code-block.js +1 -1
- package/dist/cdn/code-block/snice-code-block.min.js +1 -1
- package/dist/cdn/color-display/snice-color-display.js +1 -1
- package/dist/cdn/color-display/snice-color-display.min.js +1 -1
- package/dist/cdn/color-picker/snice-color-picker.js +1 -1
- package/dist/cdn/color-picker/snice-color-picker.min.js +1 -1
- package/dist/cdn/command-palette/snice-command-palette.js +1 -1
- package/dist/cdn/command-palette/snice-command-palette.min.js +1 -1
- package/dist/cdn/comments/snice-comments.js +1 -1
- package/dist/cdn/comments/snice-comments.min.js +1 -1
- package/dist/cdn/countdown/snice-countdown.js +1 -1
- package/dist/cdn/countdown/snice-countdown.min.js +1 -1
- package/dist/cdn/cropper/snice-cropper.js +1 -1
- package/dist/cdn/cropper/snice-cropper.min.js +1 -1
- package/dist/cdn/data-card/snice-data-card.js +1 -1
- package/dist/cdn/data-card/snice-data-card.min.js +1 -1
- package/dist/cdn/date-picker/snice-date-picker.js +1 -1
- package/dist/cdn/date-picker/snice-date-picker.min.js +1 -1
- package/dist/cdn/date-range-picker/snice-date-range-picker.js +1 -1
- package/dist/cdn/date-range-picker/snice-date-range-picker.min.js +1 -1
- package/dist/cdn/date-time-picker/snice-date-time-picker.js +1 -1
- package/dist/cdn/date-time-picker/snice-date-time-picker.min.js +1 -1
- package/dist/cdn/diff/snice-diff.js +1 -1
- package/dist/cdn/diff/snice-diff.min.js +1 -1
- package/dist/cdn/divider/snice-divider.js +1 -1
- package/dist/cdn/divider/snice-divider.min.js +1 -1
- package/dist/cdn/doc/snice-doc.js +1 -1
- package/dist/cdn/doc/snice-doc.min.js +1 -1
- package/dist/cdn/draw/snice-draw.js +1 -1
- package/dist/cdn/draw/snice-draw.min.js +1 -1
- package/dist/cdn/drawer/snice-drawer.js +1 -1
- package/dist/cdn/drawer/snice-drawer.min.js +1 -1
- package/dist/cdn/empty-state/snice-empty-state.js +1 -1
- package/dist/cdn/empty-state/snice-empty-state.min.js +1 -1
- package/dist/cdn/estimate/snice-estimate.js +1 -1
- package/dist/cdn/estimate/snice-estimate.min.js +1 -1
- package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
- package/dist/cdn/file-gallery/snice-file-gallery.min.js +1 -1
- package/dist/cdn/file-upload/snice-file-upload.js +1 -1
- package/dist/cdn/file-upload/snice-file-upload.min.js +1 -1
- package/dist/cdn/flip-card/snice-flip-card.js +1 -1
- package/dist/cdn/flip-card/snice-flip-card.min.js +1 -1
- package/dist/cdn/flow/snice-flow.js +1 -1
- package/dist/cdn/flow/snice-flow.min.js +1 -1
- package/dist/cdn/form-layout/snice-form-layout.js +1 -1
- package/dist/cdn/form-layout/snice-form-layout.min.js +1 -1
- package/dist/cdn/funnel/snice-funnel.js +1 -1
- package/dist/cdn/funnel/snice-funnel.min.js +1 -1
- package/dist/cdn/gantt/snice-gantt.js +1 -1
- package/dist/cdn/gantt/snice-gantt.min.js +1 -1
- package/dist/cdn/gauge/snice-gauge.js +1 -1
- package/dist/cdn/gauge/snice-gauge.min.js +1 -1
- package/dist/cdn/heatmap/snice-heatmap.js +1 -1
- package/dist/cdn/heatmap/snice-heatmap.min.js +1 -1
- package/dist/cdn/image/snice-image.js +1 -1
- package/dist/cdn/image/snice-image.min.js +1 -1
- package/dist/cdn/input/snice-input.js +1 -1
- package/dist/cdn/input/snice-input.min.js +1 -1
- package/dist/cdn/invoice/snice-invoice.js +1 -1
- package/dist/cdn/invoice/snice-invoice.min.js +1 -1
- package/dist/cdn/kanban/snice-kanban.js +1 -1
- package/dist/cdn/kanban/snice-kanban.min.js +1 -1
- package/dist/cdn/key-value/snice-key-value.js +1 -1
- package/dist/cdn/key-value/snice-key-value.min.js +1 -1
- package/dist/cdn/kpi/snice-kpi.js +1 -1
- package/dist/cdn/kpi/snice-kpi.min.js +1 -1
- package/dist/cdn/layout/snice-layout.js +1 -1
- package/dist/cdn/layout/snice-layout.min.js +1 -1
- package/dist/cdn/leaderboard/snice-leaderboard.js +1 -1
- package/dist/cdn/leaderboard/snice-leaderboard.min.js +1 -1
- package/dist/cdn/link/snice-link.js +1 -1
- package/dist/cdn/link/snice-link.min.js +1 -1
- package/dist/cdn/link-preview/snice-link-preview.js +1 -1
- package/dist/cdn/link-preview/snice-link-preview.min.js +1 -1
- package/dist/cdn/list/snice-list.js +1 -1
- package/dist/cdn/list/snice-list.min.js +1 -1
- package/dist/cdn/location/snice-location.js +1 -1
- package/dist/cdn/location/snice-location.min.js +1 -1
- package/dist/cdn/login/README.md +2 -2
- package/dist/cdn/login/snice-login.js +11 -10
- package/dist/cdn/login/snice-login.js.map +1 -1
- package/dist/cdn/login/snice-login.min.js +5 -5
- package/dist/cdn/login/snice-login.min.js.map +1 -1
- package/dist/cdn/map/snice-map.js +1 -1
- package/dist/cdn/map/snice-map.min.js +1 -1
- package/dist/cdn/markdown/snice-markdown.js +1 -1
- package/dist/cdn/markdown/snice-markdown.min.js +1 -1
- package/dist/cdn/masonry/snice-masonry.js +1 -1
- package/dist/cdn/masonry/snice-masonry.min.js +1 -1
- package/dist/cdn/menu/snice-menu.js +1 -1
- package/dist/cdn/menu/snice-menu.min.js +1 -1
- package/dist/cdn/message-strip/snice-message-strip.js +1 -1
- package/dist/cdn/message-strip/snice-message-strip.min.js +1 -1
- package/dist/cdn/metric-table/snice-metric-table.js +1 -1
- package/dist/cdn/metric-table/snice-metric-table.min.js +1 -1
- package/dist/cdn/modal/snice-modal.js +1 -1
- package/dist/cdn/modal/snice-modal.min.js +1 -1
- package/dist/cdn/music-player/snice-music-player.js +1 -1
- package/dist/cdn/music-player/snice-music-player.min.js +1 -1
- package/dist/cdn/nav/snice-nav.js +1 -1
- package/dist/cdn/nav/snice-nav.min.js +1 -1
- package/dist/cdn/network-graph/snice-network-graph.js +1 -1
- package/dist/cdn/network-graph/snice-network-graph.min.js +1 -1
- package/dist/cdn/notification-center/snice-notification-center.js +1 -1
- package/dist/cdn/notification-center/snice-notification-center.min.js +1 -1
- package/dist/cdn/order-tracker/snice-order-tracker.js +1 -1
- package/dist/cdn/order-tracker/snice-order-tracker.min.js +1 -1
- package/dist/cdn/org-chart/snice-org-chart.js +1 -1
- package/dist/cdn/org-chart/snice-org-chart.min.js +1 -1
- package/dist/cdn/pagination/snice-pagination.js +1 -1
- package/dist/cdn/pagination/snice-pagination.min.js +1 -1
- package/dist/cdn/paint/snice-paint.js +1 -1
- package/dist/cdn/paint/snice-paint.min.js +1 -1
- package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +1 -1
- package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js +1 -1
- package/dist/cdn/permission-matrix/snice-permission-matrix.js +1 -1
- package/dist/cdn/permission-matrix/snice-permission-matrix.min.js +1 -1
- package/dist/cdn/podcast-player/snice-podcast-player.js +1 -1
- package/dist/cdn/podcast-player/snice-podcast-player.min.js +1 -1
- package/dist/cdn/pricing-table/snice-pricing-table.js +1 -1
- package/dist/cdn/pricing-table/snice-pricing-table.min.js +1 -1
- package/dist/cdn/product-card/snice-product-card.js +1 -1
- package/dist/cdn/product-card/snice-product-card.min.js +1 -1
- package/dist/cdn/progress/snice-progress.js +1 -1
- package/dist/cdn/progress/snice-progress.min.js +1 -1
- package/dist/cdn/progress-ring/snice-progress-ring.js +1 -1
- package/dist/cdn/progress-ring/snice-progress-ring.min.js +1 -1
- package/dist/cdn/qr-code/snice-qr-code.js +1 -1
- package/dist/cdn/qr-code/snice-qr-code.min.js +1 -1
- package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
- package/dist/cdn/qr-reader/snice-qr-reader.min.js +1 -1
- package/dist/cdn/radio/snice-radio.js +1 -1
- package/dist/cdn/radio/snice-radio.min.js +1 -1
- package/dist/cdn/range-slider/snice-range-slider.js +1 -1
- package/dist/cdn/range-slider/snice-range-slider.min.js +1 -1
- package/dist/cdn/rating/snice-rating.js +1 -1
- package/dist/cdn/rating/snice-rating.min.js +1 -1
- package/dist/cdn/receipt/snice-receipt.js +1 -1
- package/dist/cdn/receipt/snice-receipt.min.js +1 -1
- package/dist/cdn/recipe/snice-recipe.js +1 -1
- package/dist/cdn/recipe/snice-recipe.min.js +1 -1
- package/dist/cdn/runtime/README.md +2 -2
- package/dist/cdn/runtime/snice-runtime.esm.js +152 -62
- package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.esm.min.js +8 -8
- package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.js +152 -61
- package/dist/cdn/runtime/snice-runtime.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.min.js +8 -8
- package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
- package/dist/cdn/sankey/snice-sankey.js +1 -1
- package/dist/cdn/sankey/snice-sankey.min.js +1 -1
- package/dist/cdn/segmented-control/snice-segmented-control.js +1 -1
- package/dist/cdn/segmented-control/snice-segmented-control.min.js +1 -1
- package/dist/cdn/select/snice-select.js +1 -1
- package/dist/cdn/select/snice-select.min.js +1 -1
- package/dist/cdn/skeleton/snice-skeleton.js +1 -1
- package/dist/cdn/skeleton/snice-skeleton.min.js +1 -1
- package/dist/cdn/slider/snice-slider.js +1 -1
- package/dist/cdn/slider/snice-slider.min.js +1 -1
- package/dist/cdn/sortable/snice-sortable.js +1 -1
- package/dist/cdn/sortable/snice-sortable.min.js +1 -1
- package/dist/cdn/sparkline/snice-sparkline.js +1 -1
- package/dist/cdn/sparkline/snice-sparkline.min.js +1 -1
- package/dist/cdn/spinner/snice-spinner.js +1 -1
- package/dist/cdn/spinner/snice-spinner.min.js +1 -1
- package/dist/cdn/split-button/snice-split-button.js +1 -1
- package/dist/cdn/split-button/snice-split-button.min.js +1 -1
- package/dist/cdn/split-pane/snice-split-pane.js +1 -1
- package/dist/cdn/split-pane/snice-split-pane.min.js +1 -1
- package/dist/cdn/spotlight/snice-spotlight.js +1 -1
- package/dist/cdn/spotlight/snice-spotlight.min.js +1 -1
- package/dist/cdn/spreadsheet/snice-spreadsheet.js +1 -1
- package/dist/cdn/spreadsheet/snice-spreadsheet.min.js +1 -1
- package/dist/cdn/stat-group/snice-stat-group.js +1 -1
- package/dist/cdn/stat-group/snice-stat-group.min.js +1 -1
- package/dist/cdn/step-input/snice-step-input.js +1 -1
- package/dist/cdn/step-input/snice-step-input.min.js +1 -1
- package/dist/cdn/stepper/snice-stepper.js +1 -1
- package/dist/cdn/stepper/snice-stepper.min.js +1 -1
- package/dist/cdn/switch/snice-switch.js +1 -1
- package/dist/cdn/switch/snice-switch.min.js +1 -1
- package/dist/cdn/table/README.md +1 -1
- package/dist/cdn/table/snice-table.js +11 -10
- package/dist/cdn/table/snice-table.js.map +1 -1
- package/dist/cdn/table/snice-table.min.js +73 -73
- package/dist/cdn/table/snice-table.min.js.map +1 -1
- package/dist/cdn/tabs/snice-tabs.js +1 -1
- package/dist/cdn/tabs/snice-tabs.min.js +1 -1
- package/dist/cdn/tag/snice-tag.js +1 -1
- package/dist/cdn/tag/snice-tag.min.js +1 -1
- package/dist/cdn/tag-input/snice-tag-input.js +1 -1
- package/dist/cdn/tag-input/snice-tag-input.min.js +1 -1
- package/dist/cdn/terminal/snice-terminal.js +1 -1
- package/dist/cdn/terminal/snice-terminal.min.js +1 -1
- package/dist/cdn/testimonial/snice-testimonial.js +1 -1
- package/dist/cdn/testimonial/snice-testimonial.min.js +1 -1
- package/dist/cdn/textarea/snice-textarea.js +1 -1
- package/dist/cdn/textarea/snice-textarea.min.js +1 -1
- package/dist/cdn/time-picker/snice-time-picker.js +1 -1
- package/dist/cdn/time-picker/snice-time-picker.min.js +1 -1
- package/dist/cdn/time-range-picker/snice-time-range-picker.js +1 -1
- package/dist/cdn/time-range-picker/snice-time-range-picker.min.js +1 -1
- package/dist/cdn/timeline/snice-timeline.js +1 -1
- package/dist/cdn/timeline/snice-timeline.min.js +1 -1
- package/dist/cdn/timer/snice-timer.js +1 -1
- package/dist/cdn/timer/snice-timer.min.js +1 -1
- package/dist/cdn/toast/snice-toast.js +1 -1
- package/dist/cdn/toast/snice-toast.min.js +1 -1
- package/dist/cdn/tooltip/snice-tooltip.js +1 -1
- package/dist/cdn/tooltip/snice-tooltip.min.js +1 -1
- package/dist/cdn/tree/snice-tree.js +1 -1
- package/dist/cdn/tree/snice-tree.min.js +1 -1
- package/dist/cdn/treemap/snice-treemap.js +1 -1
- package/dist/cdn/treemap/snice-treemap.min.js +1 -1
- package/dist/cdn/user-card/snice-user-card.js +1 -1
- package/dist/cdn/user-card/snice-user-card.min.js +1 -1
- package/dist/cdn/video-player/snice-video-player.js +1 -1
- package/dist/cdn/video-player/snice-video-player.min.js +1 -1
- package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +1 -1
- package/dist/cdn/virtual-scroller/snice-virtual-scroller.min.js +1 -1
- package/dist/cdn/waterfall/snice-waterfall.js +1 -1
- package/dist/cdn/waterfall/snice-waterfall.min.js +1 -1
- package/dist/cdn/weather/snice-weather.js +1 -1
- package/dist/cdn/weather/snice-weather.min.js +1 -1
- package/dist/cdn/work-order/snice-work-order.js +1 -1
- package/dist/cdn/work-order/snice-work-order.min.js +1 -1
- package/dist/components/action-bar/snice-action-bar.d.ts +22 -0
- package/dist/components/action-bar/snice-action-bar.js +182 -0
- package/dist/components/action-bar/snice-action-bar.js.map +1 -0
- package/dist/components/action-bar/snice-action-bar.types.d.ts +17 -0
- package/dist/components/badge/snice-badge.js +1 -1
- package/dist/components/badge/snice-badge.js.map +1 -1
- package/dist/components/binpack/snice-binpack.d.ts +82 -0
- package/dist/components/binpack/snice-binpack.js +970 -0
- package/dist/components/binpack/snice-binpack.js.map +1 -0
- package/dist/components/binpack/snice-binpack.types.d.ts +52 -0
- package/dist/components/button/snice-button.d.ts +2 -2
- package/dist/components/button/snice-button.js +11 -10
- package/dist/components/button/snice-button.js.map +1 -1
- package/dist/create-request-handler.d.ts +42 -0
- package/dist/index.cjs +149 -58
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.esm.js +149 -59
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +149 -58
- package/dist/index.iife.js.map +1 -1
- package/dist/parts.d.ts +9 -7
- package/dist/react/useRequestHandler.d.ts +56 -0
- package/dist/react/useRequestHandler.js +103 -0
- package/dist/react/useRequestHandler.js.map +1 -0
- package/dist/symbols.cjs +1 -1
- package/dist/symbols.esm.js +1 -1
- package/dist/transitions.cjs +1 -1
- package/dist/transitions.esm.js +1 -1
- package/docs/ai/DEVELOPMENT.md +1 -1
- package/docs/ai/components/accordion.md +46 -80
- package/docs/ai/components/action-bar.md +75 -0
- package/docs/ai/components/activity-feed.md +7 -7
- package/docs/ai/components/alert.md +26 -44
- package/docs/ai/components/app-tiles.md +34 -39
- package/docs/ai/components/approval-flow.md +1 -1
- package/docs/ai/components/audio-recorder.md +35 -67
- package/docs/ai/components/availability.md +13 -34
- package/docs/ai/components/avatar-group.md +26 -13
- package/docs/ai/components/avatar.md +52 -36
- package/docs/ai/components/badge.md +21 -32
- package/docs/ai/components/banner.md +21 -43
- package/docs/ai/components/binpack.md +89 -0
- package/docs/ai/components/book.md +25 -23
- package/docs/ai/components/booking.md +31 -36
- package/docs/ai/components/breadcrumbs.md +36 -11
- package/docs/ai/components/button.md +33 -44
- package/docs/ai/components/calendar.md +37 -70
- package/docs/ai/components/camera-annotate.md +31 -64
- package/docs/ai/components/camera.md +38 -120
- package/docs/ai/components/candlestick.md +32 -52
- package/docs/ai/components/card.md +20 -30
- package/docs/ai/components/carousel.md +32 -32
- package/docs/ai/components/cart.md +24 -29
- package/docs/ai/components/chart.md +29 -114
- package/docs/ai/components/chat.md +38 -75
- package/docs/ai/components/checkbox.md +22 -41
- package/docs/ai/components/chip.md +18 -54
- package/docs/ai/components/code-block.md +57 -178
- package/docs/ai/components/color-display.md +12 -32
- package/docs/ai/components/color-picker.md +17 -39
- package/docs/ai/components/command-palette.md +49 -71
- package/docs/ai/components/comments.md +55 -36
- package/docs/ai/components/countdown.md +28 -30
- package/docs/ai/components/cropper.md +33 -33
- package/docs/ai/components/data-card.md +20 -14
- package/docs/ai/components/date-picker.md +40 -47
- package/docs/ai/components/date-range-picker.md +31 -15
- package/docs/ai/components/date-time-picker.md +23 -46
- package/docs/ai/components/diff.md +30 -31
- package/docs/ai/components/divider.md +17 -47
- package/docs/ai/components/doc.md +43 -68
- package/docs/ai/components/draw.md +35 -87
- package/docs/ai/components/drawer.md +48 -77
- package/docs/ai/components/empty-state.md +10 -44
- package/docs/ai/components/estimate.md +33 -58
- package/docs/ai/components/file-gallery.md +48 -100
- package/docs/ai/components/file-upload.md +17 -53
- package/docs/ai/components/flip-card.md +31 -23
- package/docs/ai/components/flow.md +37 -65
- package/docs/ai/components/form-builder.md +35 -75
- package/docs/ai/components/form-layout.md +10 -20
- package/docs/ai/components/funnel.md +33 -48
- package/docs/ai/components/gantt.md +27 -23
- package/docs/ai/components/gauge.md +16 -17
- package/docs/ai/components/heatmap.md +21 -21
- package/docs/ai/components/image.md +7 -13
- package/docs/ai/components/input.md +38 -70
- package/docs/ai/components/invoice.md +35 -36
- package/docs/ai/components/kanban.md +32 -61
- package/docs/ai/components/key-value.md +32 -16
- package/docs/ai/components/kpi.md +38 -73
- package/docs/ai/components/layout.md +29 -23
- package/docs/ai/components/leaderboard.md +28 -37
- package/docs/ai/components/link-preview.md +12 -18
- package/docs/ai/components/link.md +10 -7
- package/docs/ai/components/list.md +21 -5
- package/docs/ai/components/location.md +21 -25
- package/docs/ai/components/login.md +14 -9
- package/docs/ai/components/map.md +27 -33
- package/docs/ai/components/markdown.md +20 -24
- package/docs/ai/components/masonry.md +10 -14
- package/docs/ai/components/mentions.md +26 -12
- package/docs/ai/components/menu.md +54 -52
- package/docs/ai/components/message-strip.md +20 -20
- package/docs/ai/components/metric-table.md +14 -21
- package/docs/ai/components/modal.md +27 -18
- package/docs/ai/components/music-player.md +49 -41
- package/docs/ai/components/nav.md +34 -31
- package/docs/ai/components/network-graph.md +27 -42
- package/docs/ai/components/notification-center.md +31 -33
- package/docs/ai/components/order-tracker.md +36 -27
- package/docs/ai/components/org-chart.md +36 -31
- package/docs/ai/components/pagination.md +34 -26
- package/docs/ai/components/paint.md +53 -91
- package/docs/ai/components/pdf-viewer.md +35 -36
- package/docs/ai/components/permission-matrix.md +26 -31
- package/docs/ai/components/podcast-player.md +64 -70
- package/docs/ai/components/pricing-table.md +37 -48
- package/docs/ai/components/product-card.md +58 -41
- package/docs/ai/components/progress-ring.md +20 -24
- package/docs/ai/components/progress.md +28 -45
- package/docs/ai/components/qr-code.md +25 -27
- package/docs/ai/components/qr-reader.md +20 -23
- package/docs/ai/components/radio.md +17 -15
- package/docs/ai/components/range-slider.md +22 -11
- package/docs/ai/components/rating.md +29 -33
- package/docs/ai/components/receipt.md +50 -127
- package/docs/ai/components/recipe.md +44 -42
- package/docs/ai/components/sankey.md +21 -30
- package/docs/ai/components/scheduler.md +29 -41
- package/docs/ai/components/segmented-control.md +11 -15
- package/docs/ai/components/select.md +58 -102
- package/docs/ai/components/skeleton.md +16 -30
- package/docs/ai/components/slider.md +26 -20
- package/docs/ai/components/sortable.md +25 -27
- package/docs/ai/components/sparkline.md +21 -17
- package/docs/ai/components/spinner.md +9 -5
- package/docs/ai/components/split-button.md +10 -13
- package/docs/ai/components/split-pane.md +19 -14
- package/docs/ai/components/spotlight.md +31 -26
- package/docs/ai/components/spreadsheet.md +51 -97
- package/docs/ai/components/stat-group.md +9 -19
- package/docs/ai/components/step-input.md +17 -15
- package/docs/ai/components/stepper.md +14 -15
- package/docs/ai/components/switch.md +15 -9
- package/docs/ai/components/table.md +24 -84
- package/docs/ai/components/tabs.md +18 -10
- package/docs/ai/components/tag-input.md +18 -29
- package/docs/ai/components/tag.md +10 -22
- package/docs/ai/components/terminal.md +9 -9
- package/docs/ai/components/testimonial.md +9 -19
- package/docs/ai/components/textarea.md +15 -16
- package/docs/ai/components/theme.md +3 -3
- package/docs/ai/components/time-picker.md +30 -49
- package/docs/ai/components/time-range-picker.md +16 -15
- package/docs/ai/components/timeline.md +5 -4
- package/docs/ai/components/timer.md +8 -8
- package/docs/ai/components/toast.md +24 -18
- package/docs/ai/components/tooltip.md +11 -22
- package/docs/ai/components/tree.md +9 -9
- package/docs/ai/components/treemap.md +14 -13
- package/docs/ai/components/user-card.md +21 -27
- package/docs/ai/components/video-player.md +35 -52
- package/docs/ai/components/virtual-scroller.md +1 -1
- package/docs/ai/components/waterfall.md +17 -16
- package/docs/ai/components/weather.md +19 -34
- package/docs/ai/components/work-order.md +58 -134
- package/docs/ai/patterns.md +63 -0
- package/docs/components/accordion.md +72 -151
- package/docs/components/action-bar.md +185 -0
- package/docs/components/activity-feed.md +9 -14
- package/docs/components/alert.md +17 -109
- package/docs/components/app-tiles.md +58 -43
- package/docs/components/approval-flow.md +8 -14
- package/docs/components/audio-recorder.md +45 -51
- package/docs/components/availability.md +30 -45
- package/docs/components/avatar-group.md +34 -14
- package/docs/components/avatar.md +20 -55
- package/docs/components/badge.md +53 -470
- package/docs/components/banner.md +44 -30
- package/docs/components/binpack.md +208 -0
- package/docs/components/book.md +78 -57
- package/docs/components/booking.md +35 -87
- package/docs/components/breadcrumbs.md +74 -448
- package/docs/components/button.md +72 -603
- package/docs/components/calendar.md +77 -261
- package/docs/components/camera-annotate.md +44 -96
- package/docs/components/camera.md +94 -333
- package/docs/components/candlestick.md +79 -116
- package/docs/components/card.md +51 -689
- package/docs/components/carousel.md +29 -76
- package/docs/components/cart.md +44 -136
- package/docs/components/chart.md +95 -438
- package/docs/components/chat.md +175 -439
- package/docs/components/checkbox.md +52 -609
- package/docs/components/chip.md +45 -574
- package/docs/components/code-block.md +157 -421
- package/docs/components/color-display.md +45 -54
- package/docs/components/color-picker.md +103 -36
- package/docs/components/command-palette.md +98 -92
- package/docs/components/comments.md +16 -10
- package/docs/components/countdown.md +15 -20
- package/docs/components/cropper.md +14 -16
- package/docs/components/data-card.md +16 -15
- package/docs/components/date-picker.md +45 -25
- package/docs/components/date-range-picker.md +140 -87
- package/docs/components/date-time-picker.md +25 -28
- package/docs/components/diff.md +22 -17
- package/docs/components/divider.md +18 -20
- package/docs/components/doc.md +105 -197
- package/docs/components/draw.md +117 -223
- package/docs/components/drawer.md +113 -478
- package/docs/components/empty-state.md +13 -29
- package/docs/components/estimate.md +58 -118
- package/docs/components/file-gallery.md +123 -495
- package/docs/components/file-upload.md +36 -123
- package/docs/components/flip-card.md +30 -34
- package/docs/components/flow.md +74 -89
- package/docs/components/form-builder.md +59 -86
- package/docs/components/form-layout.md +21 -31
- package/docs/components/funnel.md +21 -22
- package/docs/components/gantt.md +5 -5
- package/docs/components/gauge.md +5 -23
- package/docs/components/heatmap.md +13 -55
- package/docs/components/image.md +28 -32
- package/docs/components/input.md +25 -14
- package/docs/components/invoice.md +34 -33
- package/docs/components/kanban.md +99 -394
- package/docs/components/key-value.md +22 -12
- package/docs/components/kpi.md +41 -112
- package/docs/components/layout.md +7 -13
- package/docs/components/leaderboard.md +52 -76
- package/docs/components/link-preview.md +20 -16
- package/docs/components/link.md +22 -19
- package/docs/components/list.md +44 -26
- package/docs/components/location.md +9 -13
- package/docs/components/login.md +42 -36
- package/docs/components/map.md +24 -46
- package/docs/components/markdown.md +14 -25
- package/docs/components/masonry.md +15 -13
- package/docs/components/mentions.md +36 -25
- package/docs/components/menu.md +39 -46
- package/docs/components/message-strip.md +15 -51
- package/docs/components/metric-table.md +50 -72
- package/docs/components/modal.md +32 -43
- package/docs/components/music-player.md +41 -49
- package/docs/components/nav.md +23 -13
- package/docs/components/network-graph.md +14 -13
- package/docs/components/notification-center.md +68 -172
- package/docs/components/order-tracker.md +72 -117
- package/docs/components/org-chart.md +58 -207
- package/docs/components/pagination.md +67 -89
- package/docs/components/paint.md +86 -172
- package/docs/components/pdf-viewer.md +46 -151
- package/docs/components/permission-matrix.md +61 -112
- package/docs/components/podcast-player.md +41 -119
- package/docs/components/pricing-table.md +104 -147
- package/docs/components/product-card.md +94 -197
- package/docs/components/progress-ring.md +29 -32
- package/docs/components/progress.md +30 -61
- package/docs/components/qr-code.md +53 -61
- package/docs/components/qr-reader.md +53 -42
- package/docs/components/radio.md +42 -40
- package/docs/components/range-slider.md +41 -30
- package/docs/components/rating.md +50 -84
- package/docs/components/receipt.md +91 -129
- package/docs/components/recipe.md +107 -216
- package/docs/components/sankey.md +47 -83
- package/docs/components/scheduler.md +81 -184
- package/docs/components/segmented-control.md +48 -40
- package/docs/components/select.md +107 -129
- package/docs/components/skeleton.md +33 -47
- package/docs/components/slider.md +49 -53
- package/docs/components/sortable.md +43 -186
- package/docs/components/sparkline.md +26 -25
- package/docs/components/spinner.md +32 -37
- package/docs/components/split-button.md +43 -23
- package/docs/components/split-pane.md +41 -58
- package/docs/components/spotlight.md +53 -145
- package/docs/components/spreadsheet.md +84 -307
- package/docs/components/stat-group.md +27 -61
- package/docs/components/step-input.md +44 -41
- package/docs/components/stepper.md +55 -89
- package/docs/components/switch.md +39 -39
- package/docs/components/table.md +27 -32
- package/docs/components/tabs.md +36 -27
- package/docs/components/tag-input.md +50 -176
- package/docs/components/tag.md +12 -50
- package/docs/components/terminal.md +32 -37
- package/docs/components/testimonial.md +24 -81
- package/docs/components/textarea.md +9 -14
- package/docs/components/theme.md +10 -23
- package/docs/components/time-picker.md +48 -72
- package/docs/components/time-range-picker.md +22 -41
- package/docs/components/timeline.md +7 -14
- package/docs/components/timer.md +16 -32
- package/docs/components/toast.md +19 -45
- package/docs/components/tooltip.md +13 -115
- package/docs/components/tree.md +2 -19
- package/docs/components/treemap.md +19 -43
- package/docs/components/user-card.md +13 -22
- package/docs/components/video-player.md +53 -227
- package/docs/components/virtual-scroller.md +11 -44
- package/docs/components/waterfall.md +58 -137
- package/docs/components/weather.md +94 -153
- package/docs/components/work-order.md +56 -143
- package/docs/plans/2026-03-09-action-bar-design.md +104 -0
- package/docs/plans/2026-03-09-action-bar-plan.md +676 -0
- package/docs/plans/2026-03-10-react-integration-design.md +166 -0
- package/docs/request-response.md +77 -0
- package/package.json +20 -10
package/docs/components/card.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/card.md -->
|
|
2
2
|
|
|
3
3
|
# Card Component
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Container for grouped content with support for headers, footers, images, visual variants, interactive states, and responsive sizing.
|
|
6
6
|
|
|
7
7
|
## Table of Contents
|
|
8
8
|
- [Properties](#properties)
|
|
@@ -12,9 +12,6 @@ The card component provides a container for grouped content with support for hea
|
|
|
12
12
|
- [Basic Usage](#basic-usage)
|
|
13
13
|
- [Examples](#examples)
|
|
14
14
|
- [Accessibility](#accessibility)
|
|
15
|
-
- [Browser Support](#browser-support)
|
|
16
|
-
- [Common Patterns](#common-patterns)
|
|
17
|
-
- [Variant Styles](#variant-styles)
|
|
18
15
|
|
|
19
16
|
## Properties
|
|
20
17
|
|
|
@@ -28,76 +25,27 @@ The card component provides a container for grouped content with support for hea
|
|
|
28
25
|
|
|
29
26
|
## Events
|
|
30
27
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
**Event Detail:**
|
|
35
|
-
```typescript
|
|
36
|
-
{
|
|
37
|
-
selected: boolean;
|
|
38
|
-
}
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
**Usage:**
|
|
42
|
-
```typescript
|
|
43
|
-
card.addEventListener('card-click', (e) => {
|
|
44
|
-
console.log('Card clicked, selected:', e.detail.selected);
|
|
45
|
-
});
|
|
46
|
-
```
|
|
28
|
+
| Event | Detail | Description |
|
|
29
|
+
|-------|--------|-------------|
|
|
30
|
+
| `card-click` | `{ selected: boolean }` | Fired when a clickable card is clicked |
|
|
47
31
|
|
|
48
32
|
## Slots
|
|
49
33
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
<p>Body content</p>
|
|
57
|
-
</snice-card>
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### `header` (named slot)
|
|
61
|
-
Content for the card header section.
|
|
62
|
-
|
|
63
|
-
```html
|
|
64
|
-
<snice-card>
|
|
65
|
-
<div slot="header">Card Title</div>
|
|
66
|
-
<p>Body content</p>
|
|
67
|
-
</snice-card>
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### Default slot
|
|
71
|
-
Main body content of the card.
|
|
72
|
-
|
|
73
|
-
```html
|
|
74
|
-
<snice-card>
|
|
75
|
-
<p>This is the body content</p>
|
|
76
|
-
</snice-card>
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### `footer` (named slot)
|
|
80
|
-
Content for the card footer section.
|
|
81
|
-
|
|
82
|
-
```html
|
|
83
|
-
<snice-card>
|
|
84
|
-
<p>Body content</p>
|
|
85
|
-
<div slot="footer">
|
|
86
|
-
<button>Action</button>
|
|
87
|
-
</div>
|
|
88
|
-
</snice-card>
|
|
89
|
-
```
|
|
34
|
+
| Name | Description |
|
|
35
|
+
|------|-------------|
|
|
36
|
+
| (default) | Main body content of the card |
|
|
37
|
+
| `image` | Image displayed at the top of the card |
|
|
38
|
+
| `header` | Content for the card header section |
|
|
39
|
+
| `footer` | Content for the card footer section |
|
|
90
40
|
|
|
91
41
|
## CSS Parts
|
|
92
42
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
|
96
|
-
|
|
97
|
-
| `
|
|
98
|
-
| `
|
|
99
|
-
| `body` | `<div>` | Card body section |
|
|
100
|
-
| `footer` | `<div>` | Card footer section |
|
|
43
|
+
| Part | Description |
|
|
44
|
+
|------|-------------|
|
|
45
|
+
| `base` | Outer card container |
|
|
46
|
+
| `header` | Card header section |
|
|
47
|
+
| `body` | Card body section |
|
|
48
|
+
| `footer` | Card footer section |
|
|
101
49
|
|
|
102
50
|
```css
|
|
103
51
|
snice-card::part(header) {
|
|
@@ -105,11 +53,6 @@ snice-card::part(header) {
|
|
|
105
53
|
border-bottom: 1px solid #e5e7eb;
|
|
106
54
|
}
|
|
107
55
|
|
|
108
|
-
snice-card::part(footer) {
|
|
109
|
-
border-top: 1px solid #e5e7eb;
|
|
110
|
-
padding: 0.75rem 1rem;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
56
|
snice-card::part(base) {
|
|
114
57
|
border-radius: 1rem;
|
|
115
58
|
}
|
|
@@ -129,35 +72,16 @@ import 'snice/components/card/snice-card';
|
|
|
129
72
|
|
|
130
73
|
## Examples
|
|
131
74
|
|
|
132
|
-
### Basic Cards
|
|
133
|
-
|
|
134
|
-
```html
|
|
135
|
-
<!-- Simple card -->
|
|
136
|
-
<snice-card>
|
|
137
|
-
<p>This is a basic card with default settings.</p>
|
|
138
|
-
</snice-card>
|
|
139
|
-
|
|
140
|
-
<!-- Card with text content -->
|
|
141
|
-
<snice-card>
|
|
142
|
-
<h3>Card Title</h3>
|
|
143
|
-
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
|
144
|
-
</snice-card>
|
|
145
|
-
```
|
|
146
|
-
|
|
147
75
|
### Card with Header and Footer
|
|
148
76
|
|
|
77
|
+
Use the `header` and `footer` slots to add structured content.
|
|
78
|
+
|
|
149
79
|
```html
|
|
150
80
|
<snice-card>
|
|
151
81
|
<div slot="header">
|
|
152
82
|
<h3 style="margin: 0;">User Profile</h3>
|
|
153
83
|
</div>
|
|
154
|
-
|
|
155
|
-
<div>
|
|
156
|
-
<p><strong>Name:</strong> John Doe</p>
|
|
157
|
-
<p><strong>Email:</strong> john@example.com</p>
|
|
158
|
-
<p><strong>Role:</strong> Administrator</p>
|
|
159
|
-
</div>
|
|
160
|
-
|
|
84
|
+
<p><strong>Name:</strong> John Doe</p>
|
|
161
85
|
<div slot="footer" style="display: flex; gap: 0.5rem; justify-content: flex-end;">
|
|
162
86
|
<button>Edit</button>
|
|
163
87
|
<button>Delete</button>
|
|
@@ -165,46 +89,30 @@ import 'snice/components/card/snice-card';
|
|
|
165
89
|
</snice-card>
|
|
166
90
|
```
|
|
167
91
|
|
|
168
|
-
###
|
|
169
|
-
|
|
170
|
-
```html
|
|
171
|
-
<!-- Elevated card (default) -->
|
|
172
|
-
<snice-card variant="elevated">
|
|
173
|
-
<p>Elevated card with shadow</p>
|
|
174
|
-
</snice-card>
|
|
92
|
+
### Variants
|
|
175
93
|
|
|
176
|
-
|
|
177
|
-
<snice-card variant="bordered">
|
|
178
|
-
<p>Bordered card with no shadow</p>
|
|
179
|
-
</snice-card>
|
|
94
|
+
Use the `variant` attribute to change the visual style.
|
|
180
95
|
|
|
181
|
-
|
|
182
|
-
<snice-card variant="
|
|
183
|
-
|
|
184
|
-
</snice-card>
|
|
96
|
+
```html
|
|
97
|
+
<snice-card variant="elevated">Elevated card with shadow</snice-card>
|
|
98
|
+
<snice-card variant="bordered">Bordered card with no shadow</snice-card>
|
|
99
|
+
<snice-card variant="flat">Flat card with minimal styling</snice-card>
|
|
185
100
|
```
|
|
186
101
|
|
|
187
|
-
###
|
|
102
|
+
### Sizes
|
|
188
103
|
|
|
189
|
-
|
|
190
|
-
<!-- Small card -->
|
|
191
|
-
<snice-card size="small">
|
|
192
|
-
<p>Small padding</p>
|
|
193
|
-
</snice-card>
|
|
194
|
-
|
|
195
|
-
<!-- Medium card (default) -->
|
|
196
|
-
<snice-card size="medium">
|
|
197
|
-
<p>Medium padding</p>
|
|
198
|
-
</snice-card>
|
|
104
|
+
Use the `size` attribute to change the padding.
|
|
199
105
|
|
|
200
|
-
|
|
201
|
-
<snice-card size="
|
|
202
|
-
|
|
203
|
-
</snice-card>
|
|
106
|
+
```html
|
|
107
|
+
<snice-card size="small">Small padding</snice-card>
|
|
108
|
+
<snice-card size="medium">Medium padding</snice-card>
|
|
109
|
+
<snice-card size="large">Large padding</snice-card>
|
|
204
110
|
```
|
|
205
111
|
|
|
206
112
|
### Clickable Cards
|
|
207
113
|
|
|
114
|
+
Set `clickable` to enable hover and click states.
|
|
115
|
+
|
|
208
116
|
```html
|
|
209
117
|
<snice-card clickable>
|
|
210
118
|
<h3>Interactive Card</h3>
|
|
@@ -213,596 +121,50 @@ import 'snice/components/card/snice-card';
|
|
|
213
121
|
|
|
214
122
|
<snice-card clickable selected>
|
|
215
123
|
<h3>Selected Card</h3>
|
|
216
|
-
<p>This card is in the selected state</p>
|
|
217
124
|
</snice-card>
|
|
218
125
|
|
|
219
126
|
<snice-card clickable disabled>
|
|
220
127
|
<h3>Disabled Card</h3>
|
|
221
|
-
<p>This card cannot be clicked</p>
|
|
222
128
|
</snice-card>
|
|
223
129
|
```
|
|
224
130
|
|
|
225
|
-
###
|
|
226
|
-
|
|
227
|
-
```html
|
|
228
|
-
<style>
|
|
229
|
-
.product-grid {
|
|
230
|
-
display: grid;
|
|
231
|
-
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
|
|
232
|
-
gap: 1.5rem;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
.product-image {
|
|
236
|
-
width: 100%;
|
|
237
|
-
height: 200px;
|
|
238
|
-
object-fit: cover;
|
|
239
|
-
border-radius: 0.375rem;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
.product-title {
|
|
243
|
-
margin: 0.5rem 0;
|
|
244
|
-
font-size: 1.125rem;
|
|
245
|
-
font-weight: 600;
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
.product-price {
|
|
249
|
-
font-size: 1.25rem;
|
|
250
|
-
font-weight: 700;
|
|
251
|
-
color: #3b82f6;
|
|
252
|
-
}
|
|
253
|
-
</style>
|
|
254
|
-
|
|
255
|
-
<div class="product-grid">
|
|
256
|
-
<snice-card clickable>
|
|
257
|
-
<img class="product-image" src="/products/laptop.jpg" alt="Laptop">
|
|
258
|
-
<h3 class="product-title">Professional Laptop</h3>
|
|
259
|
-
<p>High-performance laptop for work and play</p>
|
|
260
|
-
<div class="product-price">$999</div>
|
|
261
|
-
</snice-card>
|
|
262
|
-
|
|
263
|
-
<snice-card clickable>
|
|
264
|
-
<img class="product-image" src="/products/phone.jpg" alt="Phone">
|
|
265
|
-
<h3 class="product-title">Smartphone</h3>
|
|
266
|
-
<p>Latest model with advanced features</p>
|
|
267
|
-
<div class="product-price">$699</div>
|
|
268
|
-
</snice-card>
|
|
269
|
-
|
|
270
|
-
<snice-card clickable>
|
|
271
|
-
<img class="product-image" src="/products/tablet.jpg" alt="Tablet">
|
|
272
|
-
<h3 class="product-title">Tablet Pro</h3>
|
|
273
|
-
<p>Perfect for creativity and productivity</p>
|
|
274
|
-
<div class="product-price">$449</div>
|
|
275
|
-
</snice-card>
|
|
276
|
-
</div>
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
### User Profile Cards
|
|
280
|
-
|
|
281
|
-
```html
|
|
282
|
-
<style>
|
|
283
|
-
.profile-card {
|
|
284
|
-
text-align: center;
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
.profile-avatar {
|
|
288
|
-
width: 80px;
|
|
289
|
-
height: 80px;
|
|
290
|
-
border-radius: 50%;
|
|
291
|
-
margin: 0 auto;
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
.profile-name {
|
|
295
|
-
margin: 1rem 0 0.25rem;
|
|
296
|
-
font-size: 1.25rem;
|
|
297
|
-
font-weight: 600;
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
.profile-role {
|
|
301
|
-
color: #6b7280;
|
|
302
|
-
margin: 0;
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
.profile-stats {
|
|
306
|
-
display: flex;
|
|
307
|
-
justify-content: space-around;
|
|
308
|
-
margin-top: 1rem;
|
|
309
|
-
padding-top: 1rem;
|
|
310
|
-
border-top: 1px solid #e5e7eb;
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
.stat {
|
|
314
|
-
text-align: center;
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
.stat-value {
|
|
318
|
-
font-size: 1.5rem;
|
|
319
|
-
font-weight: 700;
|
|
320
|
-
color: #3b82f6;
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
.stat-label {
|
|
324
|
-
font-size: 0.875rem;
|
|
325
|
-
color: #6b7280;
|
|
326
|
-
}
|
|
327
|
-
</style>
|
|
328
|
-
|
|
329
|
-
<snice-card class="profile-card">
|
|
330
|
-
<img class="profile-avatar" src="/avatars/user1.jpg" alt="User">
|
|
331
|
-
<h3 class="profile-name">Sarah Johnson</h3>
|
|
332
|
-
<p class="profile-role">Software Engineer</p>
|
|
333
|
-
|
|
334
|
-
<div class="profile-stats">
|
|
335
|
-
<div class="stat">
|
|
336
|
-
<div class="stat-value">142</div>
|
|
337
|
-
<div class="stat-label">Projects</div>
|
|
338
|
-
</div>
|
|
339
|
-
<div class="stat">
|
|
340
|
-
<div class="stat-value">1.2K</div>
|
|
341
|
-
<div class="stat-label">Followers</div>
|
|
342
|
-
</div>
|
|
343
|
-
<div class="stat">
|
|
344
|
-
<div class="stat-value">89</div>
|
|
345
|
-
<div class="stat-label">Following</div>
|
|
346
|
-
</div>
|
|
347
|
-
</div>
|
|
348
|
-
|
|
349
|
-
<div slot="footer">
|
|
350
|
-
<button style="width: 100%; padding: 0.5rem;">Follow</button>
|
|
351
|
-
</div>
|
|
352
|
-
</snice-card>
|
|
353
|
-
```
|
|
354
|
-
|
|
355
|
-
### Pricing Cards
|
|
356
|
-
|
|
357
|
-
```html
|
|
358
|
-
<style>
|
|
359
|
-
.pricing-grid {
|
|
360
|
-
display: grid;
|
|
361
|
-
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
362
|
-
gap: 2rem;
|
|
363
|
-
max-width: 900px;
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
.plan-name {
|
|
367
|
-
margin: 0;
|
|
368
|
-
font-size: 1.5rem;
|
|
369
|
-
font-weight: 700;
|
|
370
|
-
}
|
|
371
|
-
|
|
372
|
-
.plan-price {
|
|
373
|
-
margin: 1rem 0;
|
|
374
|
-
font-size: 2.5rem;
|
|
375
|
-
font-weight: 700;
|
|
376
|
-
color: #3b82f6;
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
.plan-price span {
|
|
380
|
-
font-size: 1rem;
|
|
381
|
-
color: #6b7280;
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
.plan-features {
|
|
385
|
-
list-style: none;
|
|
386
|
-
padding: 0;
|
|
387
|
-
margin: 1.5rem 0;
|
|
388
|
-
}
|
|
389
|
-
|
|
390
|
-
.plan-features li {
|
|
391
|
-
padding: 0.5rem 0;
|
|
392
|
-
border-bottom: 1px solid #f3f4f6;
|
|
393
|
-
}
|
|
394
|
-
|
|
395
|
-
.plan-features li:before {
|
|
396
|
-
content: "✓ ";
|
|
397
|
-
color: #10b981;
|
|
398
|
-
font-weight: bold;
|
|
399
|
-
}
|
|
400
|
-
</style>
|
|
401
|
-
|
|
402
|
-
<div class="pricing-grid">
|
|
403
|
-
<snice-card variant="bordered">
|
|
404
|
-
<div slot="header">
|
|
405
|
-
<h3 class="plan-name">Basic</h3>
|
|
406
|
-
</div>
|
|
407
|
-
|
|
408
|
-
<div class="plan-price">
|
|
409
|
-
$9
|
|
410
|
-
<span>/month</span>
|
|
411
|
-
</div>
|
|
412
|
-
|
|
413
|
-
<ul class="plan-features">
|
|
414
|
-
<li>Up to 5 projects</li>
|
|
415
|
-
<li>1 GB storage</li>
|
|
416
|
-
<li>Email support</li>
|
|
417
|
-
<li>Basic analytics</li>
|
|
418
|
-
</ul>
|
|
419
|
-
|
|
420
|
-
<div slot="footer">
|
|
421
|
-
<button style="width: 100%; padding: 0.75rem;">Choose Plan</button>
|
|
422
|
-
</div>
|
|
423
|
-
</snice-card>
|
|
424
|
-
|
|
425
|
-
<snice-card variant="elevated" selected>
|
|
426
|
-
<div slot="header">
|
|
427
|
-
<h3 class="plan-name">Pro</h3>
|
|
428
|
-
<span style="background: #3b82f6; color: white; padding: 0.25rem 0.5rem; border-radius: 0.25rem; font-size: 0.75rem;">POPULAR</span>
|
|
429
|
-
</div>
|
|
430
|
-
|
|
431
|
-
<div class="plan-price">
|
|
432
|
-
$29
|
|
433
|
-
<span>/month</span>
|
|
434
|
-
</div>
|
|
435
|
-
|
|
436
|
-
<ul class="plan-features">
|
|
437
|
-
<li>Unlimited projects</li>
|
|
438
|
-
<li>10 GB storage</li>
|
|
439
|
-
<li>Priority support</li>
|
|
440
|
-
<li>Advanced analytics</li>
|
|
441
|
-
<li>API access</li>
|
|
442
|
-
</ul>
|
|
443
|
-
|
|
444
|
-
<div slot="footer">
|
|
445
|
-
<button style="width: 100%; padding: 0.75rem; background: #3b82f6; color: white; border: none; border-radius: 0.375rem;">Choose Plan</button>
|
|
446
|
-
</div>
|
|
447
|
-
</snice-card>
|
|
448
|
-
|
|
449
|
-
<snice-card variant="bordered">
|
|
450
|
-
<div slot="header">
|
|
451
|
-
<h3 class="plan-name">Enterprise</h3>
|
|
452
|
-
</div>
|
|
453
|
-
|
|
454
|
-
<div class="plan-price">
|
|
455
|
-
$99
|
|
456
|
-
<span>/month</span>
|
|
457
|
-
</div>
|
|
458
|
-
|
|
459
|
-
<ul class="plan-features">
|
|
460
|
-
<li>Unlimited everything</li>
|
|
461
|
-
<li>100 GB storage</li>
|
|
462
|
-
<li>24/7 phone support</li>
|
|
463
|
-
<li>Custom analytics</li>
|
|
464
|
-
<li>Dedicated account manager</li>
|
|
465
|
-
</ul>
|
|
466
|
-
|
|
467
|
-
<div slot="footer">
|
|
468
|
-
<button style="width: 100%; padding: 0.75rem;">Contact Sales</button>
|
|
469
|
-
</div>
|
|
470
|
-
</snice-card>
|
|
471
|
-
</div>
|
|
472
|
-
```
|
|
473
|
-
|
|
474
|
-
### Dashboard Stat Cards
|
|
475
|
-
|
|
476
|
-
```html
|
|
477
|
-
<style>
|
|
478
|
-
.stat-cards {
|
|
479
|
-
display: grid;
|
|
480
|
-
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
|
481
|
-
gap: 1rem;
|
|
482
|
-
}
|
|
483
|
-
|
|
484
|
-
.stat-card-content {
|
|
485
|
-
display: flex;
|
|
486
|
-
justify-content: space-between;
|
|
487
|
-
align-items: center;
|
|
488
|
-
}
|
|
489
|
-
|
|
490
|
-
.stat-info h4 {
|
|
491
|
-
margin: 0;
|
|
492
|
-
font-size: 0.875rem;
|
|
493
|
-
color: #6b7280;
|
|
494
|
-
font-weight: 500;
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
.stat-info .value {
|
|
498
|
-
margin: 0.5rem 0 0;
|
|
499
|
-
font-size: 2rem;
|
|
500
|
-
font-weight: 700;
|
|
501
|
-
}
|
|
502
|
-
|
|
503
|
-
.stat-icon {
|
|
504
|
-
font-size: 2.5rem;
|
|
505
|
-
}
|
|
506
|
-
|
|
507
|
-
.stat-change {
|
|
508
|
-
margin-top: 0.5rem;
|
|
509
|
-
font-size: 0.875rem;
|
|
510
|
-
}
|
|
511
|
-
|
|
512
|
-
.stat-change.positive {
|
|
513
|
-
color: #10b981;
|
|
514
|
-
}
|
|
515
|
-
|
|
516
|
-
.stat-change.negative {
|
|
517
|
-
color: #ef4444;
|
|
518
|
-
}
|
|
519
|
-
</style>
|
|
520
|
-
|
|
521
|
-
<div class="stat-cards">
|
|
522
|
-
<snice-card>
|
|
523
|
-
<div class="stat-card-content">
|
|
524
|
-
<div class="stat-info">
|
|
525
|
-
<h4>Total Revenue</h4>
|
|
526
|
-
<div class="value">$45,231</div>
|
|
527
|
-
<div class="stat-change positive">↑ 12.5% from last month</div>
|
|
528
|
-
</div>
|
|
529
|
-
<div class="stat-icon">💰</div>
|
|
530
|
-
</div>
|
|
531
|
-
</snice-card>
|
|
532
|
-
|
|
533
|
-
<snice-card>
|
|
534
|
-
<div class="stat-card-content">
|
|
535
|
-
<div class="stat-info">
|
|
536
|
-
<h4>New Users</h4>
|
|
537
|
-
<div class="value">1,234</div>
|
|
538
|
-
<div class="stat-change positive">↑ 8.2% from last month</div>
|
|
539
|
-
</div>
|
|
540
|
-
<div class="stat-icon">👥</div>
|
|
541
|
-
</div>
|
|
542
|
-
</snice-card>
|
|
543
|
-
|
|
544
|
-
<snice-card>
|
|
545
|
-
<div class="stat-card-content">
|
|
546
|
-
<div class="stat-info">
|
|
547
|
-
<h4>Active Sessions</h4>
|
|
548
|
-
<div class="value">852</div>
|
|
549
|
-
<div class="stat-change negative">↓ 3.1% from last month</div>
|
|
550
|
-
</div>
|
|
551
|
-
<div class="stat-icon">📊</div>
|
|
552
|
-
</div>
|
|
553
|
-
</snice-card>
|
|
554
|
-
|
|
555
|
-
<snice-card>
|
|
556
|
-
<div class="stat-card-content">
|
|
557
|
-
<div class="stat-info">
|
|
558
|
-
<h4>Support Tickets</h4>
|
|
559
|
-
<div class="value">23</div>
|
|
560
|
-
<div class="stat-change positive">↓ 45.2% from last month</div>
|
|
561
|
-
</div>
|
|
562
|
-
<div class="stat-icon">🎫</div>
|
|
563
|
-
</div>
|
|
564
|
-
</snice-card>
|
|
565
|
-
</div>
|
|
566
|
-
```
|
|
131
|
+
### Interactive Selection
|
|
567
132
|
|
|
568
|
-
|
|
133
|
+
Use the `card-click` event to implement single-selection behavior.
|
|
569
134
|
|
|
570
135
|
```html
|
|
571
|
-
<
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
|
|
575
|
-
gap: 1rem;
|
|
576
|
-
}
|
|
577
|
-
|
|
578
|
-
.option-card {
|
|
579
|
-
text-align: center;
|
|
580
|
-
padding: 1.5rem;
|
|
581
|
-
}
|
|
582
|
-
|
|
583
|
-
.option-icon {
|
|
584
|
-
font-size: 3rem;
|
|
585
|
-
margin-bottom: 0.5rem;
|
|
586
|
-
}
|
|
587
|
-
|
|
588
|
-
.option-title {
|
|
589
|
-
font-weight: 600;
|
|
590
|
-
margin: 0.5rem 0;
|
|
591
|
-
}
|
|
592
|
-
</style>
|
|
593
|
-
|
|
594
|
-
<div class="selection-grid">
|
|
595
|
-
<snice-card id="card-1" clickable class="option-card">
|
|
596
|
-
<div class="option-icon">💳</div>
|
|
597
|
-
<h4 class="option-title">Credit Card</h4>
|
|
598
|
-
<p style="font-size: 0.875rem; color: #6b7280; margin: 0;">Pay with card</p>
|
|
599
|
-
</snice-card>
|
|
600
|
-
|
|
601
|
-
<snice-card id="card-2" clickable class="option-card">
|
|
602
|
-
<div class="option-icon">🏦</div>
|
|
603
|
-
<h4 class="option-title">Bank Transfer</h4>
|
|
604
|
-
<p style="font-size: 0.875rem; color: #6b7280; margin: 0;">Direct transfer</p>
|
|
605
|
-
</snice-card>
|
|
606
|
-
|
|
607
|
-
<snice-card id="card-3" clickable class="option-card">
|
|
608
|
-
<div class="option-icon">📱</div>
|
|
609
|
-
<h4 class="option-title">Mobile Payment</h4>
|
|
610
|
-
<p style="font-size: 0.875rem; color: #6b7280; margin: 0;">Apple/Google Pay</p>
|
|
611
|
-
</snice-card>
|
|
612
|
-
</div>
|
|
136
|
+
<snice-card id="card-1" clickable>Option A</snice-card>
|
|
137
|
+
<snice-card id="card-2" clickable>Option B</snice-card>
|
|
138
|
+
<snice-card id="card-3" clickable>Option C</snice-card>
|
|
613
139
|
|
|
614
140
|
<script type="module">
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
const cards = ['card-1', 'card-2', 'card-3'].map(id =>
|
|
618
|
-
document.getElementById(id) as SniceCardElement
|
|
619
|
-
);
|
|
141
|
+
const cards = ['card-1', 'card-2', 'card-3'].map(id => document.getElementById(id));
|
|
620
142
|
|
|
621
143
|
cards.forEach(card => {
|
|
622
144
|
card.addEventListener('card-click', () => {
|
|
623
|
-
// Deselect all other cards
|
|
624
145
|
cards.forEach(c => c.selected = false);
|
|
625
|
-
// Select clicked card
|
|
626
146
|
card.selected = true;
|
|
627
|
-
console.log('Selected payment method:', card.querySelector('.option-title').textContent);
|
|
628
147
|
});
|
|
629
148
|
});
|
|
630
149
|
</script>
|
|
631
150
|
```
|
|
632
151
|
|
|
633
|
-
###
|
|
152
|
+
### Product Cards
|
|
634
153
|
|
|
635
|
-
|
|
636
|
-
<style>
|
|
637
|
-
.blog-card-image {
|
|
638
|
-
width: 100%;
|
|
639
|
-
height: 200px;
|
|
640
|
-
object-fit: cover;
|
|
641
|
-
border-radius: 0.375rem 0.375rem 0 0;
|
|
642
|
-
margin: -1rem -1rem 1rem;
|
|
643
|
-
}
|
|
644
|
-
|
|
645
|
-
.blog-meta {
|
|
646
|
-
display: flex;
|
|
647
|
-
gap: 1rem;
|
|
648
|
-
font-size: 0.875rem;
|
|
649
|
-
color: #6b7280;
|
|
650
|
-
margin-bottom: 0.5rem;
|
|
651
|
-
}
|
|
652
|
-
|
|
653
|
-
.blog-title {
|
|
654
|
-
margin: 0 0 0.5rem;
|
|
655
|
-
font-size: 1.25rem;
|
|
656
|
-
font-weight: 600;
|
|
657
|
-
}
|
|
658
|
-
|
|
659
|
-
.blog-excerpt {
|
|
660
|
-
color: #4b5563;
|
|
661
|
-
line-height: 1.6;
|
|
662
|
-
}
|
|
663
|
-
</style>
|
|
154
|
+
Combine the image slot, body content, and footer for product displays.
|
|
664
155
|
|
|
156
|
+
```html
|
|
665
157
|
<snice-card clickable>
|
|
666
|
-
<img
|
|
667
|
-
|
|
668
|
-
<
|
|
669
|
-
|
|
670
|
-
<span>👤 John Doe</span>
|
|
671
|
-
</div>
|
|
672
|
-
|
|
673
|
-
<h3 class="blog-title">Getting Started with Web Components</h3>
|
|
674
|
-
|
|
675
|
-
<p class="blog-excerpt">
|
|
676
|
-
Learn how to build reusable, encapsulated components using modern web standards.
|
|
677
|
-
This comprehensive guide covers everything from basics to advanced patterns.
|
|
678
|
-
</p>
|
|
679
|
-
|
|
680
|
-
<div slot="footer">
|
|
681
|
-
<a href="/blog/post-1" style="color: #3b82f6; text-decoration: none; font-weight: 600;">
|
|
682
|
-
Read more →
|
|
683
|
-
</a>
|
|
684
|
-
</div>
|
|
158
|
+
<img slot="image" src="/products/laptop.jpg" alt="Laptop">
|
|
159
|
+
<h3>Professional Laptop</h3>
|
|
160
|
+
<p>High-performance laptop for work and play</p>
|
|
161
|
+
<div slot="footer">$999</div>
|
|
685
162
|
</snice-card>
|
|
686
163
|
```
|
|
687
164
|
|
|
688
|
-
### Notification Cards
|
|
689
|
-
|
|
690
|
-
```html
|
|
691
|
-
<style>
|
|
692
|
-
.notification-card {
|
|
693
|
-
display: flex;
|
|
694
|
-
gap: 1rem;
|
|
695
|
-
align-items: start;
|
|
696
|
-
}
|
|
697
|
-
|
|
698
|
-
.notification-icon {
|
|
699
|
-
font-size: 2rem;
|
|
700
|
-
flex-shrink: 0;
|
|
701
|
-
}
|
|
702
|
-
|
|
703
|
-
.notification-content {
|
|
704
|
-
flex: 1;
|
|
705
|
-
}
|
|
706
|
-
|
|
707
|
-
.notification-title {
|
|
708
|
-
margin: 0 0 0.25rem;
|
|
709
|
-
font-weight: 600;
|
|
710
|
-
}
|
|
711
|
-
|
|
712
|
-
.notification-time {
|
|
713
|
-
font-size: 0.875rem;
|
|
714
|
-
color: #6b7280;
|
|
715
|
-
margin-top: 0.5rem;
|
|
716
|
-
}
|
|
717
|
-
</style>
|
|
718
|
-
|
|
719
|
-
<div style="display: flex; flex-direction: column; gap: 1rem; max-width: 400px;">
|
|
720
|
-
<snice-card clickable size="small">
|
|
721
|
-
<div class="notification-card">
|
|
722
|
-
<div class="notification-icon">✉️</div>
|
|
723
|
-
<div class="notification-content">
|
|
724
|
-
<h4 class="notification-title">New message from Alice</h4>
|
|
725
|
-
<p style="margin: 0;">Hey, are you available for a quick call?</p>
|
|
726
|
-
<div class="notification-time">5 minutes ago</div>
|
|
727
|
-
</div>
|
|
728
|
-
</div>
|
|
729
|
-
</snice-card>
|
|
730
|
-
|
|
731
|
-
<snice-card clickable size="small">
|
|
732
|
-
<div class="notification-card">
|
|
733
|
-
<div class="notification-icon">🔔</div>
|
|
734
|
-
<div class="notification-content">
|
|
735
|
-
<h4 class="notification-title">System update available</h4>
|
|
736
|
-
<p style="margin: 0;">Version 2.0 is ready to install</p>
|
|
737
|
-
<div class="notification-time">1 hour ago</div>
|
|
738
|
-
</div>
|
|
739
|
-
</div>
|
|
740
|
-
</snice-card>
|
|
741
|
-
|
|
742
|
-
<snice-card clickable size="small">
|
|
743
|
-
<div class="notification-card">
|
|
744
|
-
<div class="notification-icon">✅</div>
|
|
745
|
-
<div class="notification-content">
|
|
746
|
-
<h4 class="notification-title">Task completed</h4>
|
|
747
|
-
<p style="margin: 0;">Your export is ready to download</p>
|
|
748
|
-
<div class="notification-time">2 hours ago</div>
|
|
749
|
-
</div>
|
|
750
|
-
</div>
|
|
751
|
-
</snice-card>
|
|
752
|
-
</div>
|
|
753
|
-
```
|
|
754
|
-
|
|
755
165
|
## Accessibility
|
|
756
166
|
|
|
757
|
-
-
|
|
758
|
-
-
|
|
759
|
-
-
|
|
760
|
-
-
|
|
761
|
-
|
|
762
|
-
## Browser Support
|
|
763
|
-
|
|
764
|
-
- Modern browsers (Chrome, Firefox, Safari, Edge)
|
|
765
|
-
- Requires Custom Elements v1 and Shadow DOM support
|
|
766
|
-
|
|
767
|
-
## Common Patterns
|
|
768
|
-
|
|
769
|
-
### Content Container
|
|
770
|
-
```html
|
|
771
|
-
<snice-card>
|
|
772
|
-
<h3>Section Title</h3>
|
|
773
|
-
<p>Content goes here</p>
|
|
774
|
-
</snice-card>
|
|
775
|
-
```
|
|
776
|
-
|
|
777
|
-
### Selectable Option
|
|
778
|
-
```html
|
|
779
|
-
<snice-card clickable selected>
|
|
780
|
-
<h4>Selected Option</h4>
|
|
781
|
-
</snice-card>
|
|
782
|
-
```
|
|
783
|
-
|
|
784
|
-
### Information Display
|
|
785
|
-
```html
|
|
786
|
-
<snice-card>
|
|
787
|
-
<div slot="header">Stats</div>
|
|
788
|
-
<p>Metric: 123</p>
|
|
789
|
-
</snice-card>
|
|
790
|
-
```
|
|
791
|
-
|
|
792
|
-
### Action Card
|
|
793
|
-
```html
|
|
794
|
-
<snice-card>
|
|
795
|
-
<p>Content</p>
|
|
796
|
-
<div slot="footer">
|
|
797
|
-
<button>Action</button>
|
|
798
|
-
</div>
|
|
799
|
-
</snice-card>
|
|
800
|
-
```
|
|
801
|
-
|
|
802
|
-
## Variant Styles
|
|
803
|
-
|
|
804
|
-
| Variant | Appearance | Use Case |
|
|
805
|
-
|---------|------------|----------|
|
|
806
|
-
| `elevated` | Shadow | Cards that float above the page |
|
|
807
|
-
| `bordered` | Border, no shadow | Subtle separation within content |
|
|
808
|
-
| `flat` | Minimal styling | Lightweight content containers |
|
|
167
|
+
- Clickable cards are fully keyboard accessible
|
|
168
|
+
- Proper ARIA roles and states for interactive cards
|
|
169
|
+
- Clear focus indicators for keyboard navigation
|
|
170
|
+
- Semantic content structure
|