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
|
@@ -1,32 +1,25 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/music-player.md -->
|
|
2
2
|
|
|
3
3
|
# Music Player
|
|
4
4
|
`<snice-music-player>`
|
|
5
5
|
|
|
6
6
|
A full-featured audio player with playlist support, shuffle, repeat modes, and volume control.
|
|
7
7
|
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
**CDN**
|
|
16
|
-
```html
|
|
17
|
-
<script src="snice-runtime.min.js"></script>
|
|
18
|
-
<script src="snice-music-player.min.js"></script>
|
|
19
|
-
```
|
|
8
|
+
## Table of Contents
|
|
9
|
+
- [Properties](#properties)
|
|
10
|
+
- [Methods](#methods)
|
|
11
|
+
- [Events](#events)
|
|
12
|
+
- [CSS Parts](#css-parts)
|
|
13
|
+
- [Basic Usage](#basic-usage)
|
|
14
|
+
- [Examples](#examples)
|
|
20
15
|
|
|
21
16
|
## Properties
|
|
22
17
|
|
|
23
18
|
| Property | Type | Default | Description |
|
|
24
19
|
|----------|------|---------|-------------|
|
|
25
|
-
| `tracks` | `Track[]` | `[]` | Array of track objects |
|
|
26
|
-
| `currentTrackIndex` | `number` | `0` | Index of the current track |
|
|
27
|
-
| `currentTrack` | `string` | `''` | Current track ID
|
|
28
|
-
| `currentTime` | `number` | `0` | Playback position in seconds (read-only) |
|
|
29
|
-
| `duration` | `number` | `0` | Track duration in seconds |
|
|
20
|
+
| `tracks` | `Track[]` | `[]` | Array of track objects (set via JavaScript) |
|
|
21
|
+
| `currentTrackIndex` (attr: `current-track-index`) | `number` | `0` | Index of the current track |
|
|
22
|
+
| `currentTrack` (attr: `current-track`) | `string` | `''` | Current track ID |
|
|
30
23
|
| `volume` | `number` | `1` | Volume level (0-1) |
|
|
31
24
|
| `muted` | `boolean` | `false` | Whether audio is muted |
|
|
32
25
|
| `shuffle` | `boolean` | `false` | Shuffle mode enabled |
|
|
@@ -40,6 +33,22 @@ import 'snice/components/music-player/snice-music-player';
|
|
|
40
33
|
| `showTrackInfo` (attr: `show-track-info`) | `boolean` | `true` | Show track metadata |
|
|
41
34
|
| `compact` | `boolean` | `false` | Compact layout mode |
|
|
42
35
|
|
|
36
|
+
> **Note:** `currentTime` and `duration` are plain class fields (not `@property`). They are updated internally during playback. Use `seek()` to set playback position.
|
|
37
|
+
|
|
38
|
+
### Track Interface
|
|
39
|
+
|
|
40
|
+
```typescript
|
|
41
|
+
interface Track {
|
|
42
|
+
id: string;
|
|
43
|
+
title: string;
|
|
44
|
+
artist?: string;
|
|
45
|
+
album?: string;
|
|
46
|
+
artwork?: string;
|
|
47
|
+
src: string;
|
|
48
|
+
duration?: number;
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
43
52
|
## Methods
|
|
44
53
|
|
|
45
54
|
| Method | Arguments | Description |
|
|
@@ -48,7 +57,7 @@ import 'snice/components/music-player/snice-music-player';
|
|
|
48
57
|
| `pause()` | -- | Pause playback |
|
|
49
58
|
| `stop()` | -- | Stop playback and reset position |
|
|
50
59
|
| `next()` | -- | Skip to next track |
|
|
51
|
-
| `previous()` | -- | Skip to previous track |
|
|
60
|
+
| `previous()` | -- | Skip to previous track (restarts if >3s in) |
|
|
52
61
|
| `seek()` | `time: number` | Seek to time in seconds |
|
|
53
62
|
| `setVolume()` | `volume: number` | Set volume (0-1) |
|
|
54
63
|
| `toggleShuffle()` | -- | Toggle shuffle mode |
|
|
@@ -60,17 +69,17 @@ import 'snice/components/music-player/snice-music-player';
|
|
|
60
69
|
|
|
61
70
|
| Event | Detail | Description |
|
|
62
71
|
|-------|--------|-------------|
|
|
63
|
-
| `player-play` | `{ track: Track }` | Playback started |
|
|
64
|
-
| `player-pause` | `{ track: Track }` | Playback paused |
|
|
65
|
-
| `player-stop` | `{ player
|
|
66
|
-
| `player-track-change` | `{ track: Track }` | Track changed |
|
|
67
|
-
| `player-track-ended` | `{ track: Track }` | Track finished playing |
|
|
68
|
-
| `player-shuffle-change` | `{ shuffle: boolean }` | Shuffle mode toggled |
|
|
69
|
-
| `player-repeat-change` | `{ repeat:
|
|
70
|
-
| `player-volume-change` | `{ volume: number }` | Volume level changed |
|
|
71
|
-
| `player-seek` | `{ time: number }` | Seeked to a new position |
|
|
72
|
-
| `player-time-update` | `{ currentTime: number, duration: number }` | Playback time updated |
|
|
73
|
-
| `player-error` | `{ error:
|
|
72
|
+
| `player-play` | `{ player, track: Track }` | Playback started |
|
|
73
|
+
| `player-pause` | `{ player, track: Track }` | Playback paused |
|
|
74
|
+
| `player-stop` | `{ player }` | Playback stopped |
|
|
75
|
+
| `player-track-change` | `{ player, track: Track }` | Track changed |
|
|
76
|
+
| `player-track-ended` | `{ player, track: Track }` | Track finished playing |
|
|
77
|
+
| `player-shuffle-change` | `{ player, shuffle: boolean }` | Shuffle mode toggled |
|
|
78
|
+
| `player-repeat-change` | `{ player, repeat: RepeatMode }` | Repeat mode changed |
|
|
79
|
+
| `player-volume-change` | `{ player, volume: number }` | Volume level changed |
|
|
80
|
+
| `player-seek` | `{ player, time: number }` | Seeked to a new position |
|
|
81
|
+
| `player-time-update` | `{ player, currentTime: number, duration: number }` | Playback time updated |
|
|
82
|
+
| `player-error` | `{ player, error: Error }` | An error occurred |
|
|
74
83
|
|
|
75
84
|
## CSS Parts
|
|
76
85
|
|
|
@@ -102,10 +111,11 @@ import 'snice/components/music-player/snice-music-player';
|
|
|
102
111
|
```
|
|
103
112
|
|
|
104
113
|
```html
|
|
105
|
-
<snice-music-player></snice-music-player>
|
|
114
|
+
<snice-music-player id="player"></snice-music-player>
|
|
106
115
|
```
|
|
107
116
|
|
|
108
117
|
```typescript
|
|
118
|
+
const player = document.getElementById('player');
|
|
109
119
|
player.tracks = [
|
|
110
120
|
{ id: '1', title: 'Summer Breeze', artist: 'The Collective', src: '/audio/track1.mp3' }
|
|
111
121
|
];
|
|
@@ -115,10 +125,6 @@ player.tracks = [
|
|
|
115
125
|
|
|
116
126
|
### Full Player with Playlist
|
|
117
127
|
|
|
118
|
-
```html
|
|
119
|
-
<snice-music-player></snice-music-player>
|
|
120
|
-
```
|
|
121
|
-
|
|
122
128
|
```typescript
|
|
123
129
|
player.tracks = [
|
|
124
130
|
{
|
|
@@ -212,17 +218,3 @@ player.addEventListener('player-error', (e) => {
|
|
|
212
218
|
console.error('Error:', e.detail.error);
|
|
213
219
|
});
|
|
214
220
|
```
|
|
215
|
-
|
|
216
|
-
## Track Interface
|
|
217
|
-
|
|
218
|
-
```typescript
|
|
219
|
-
interface Track {
|
|
220
|
-
id: string;
|
|
221
|
-
title: string;
|
|
222
|
-
artist?: string;
|
|
223
|
-
album?: string;
|
|
224
|
-
artwork?: string;
|
|
225
|
-
src: string;
|
|
226
|
-
duration?: number;
|
|
227
|
-
}
|
|
228
|
-
```
|
package/docs/components/nav.md
CHANGED
|
@@ -1,22 +1,18 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/nav.md -->
|
|
2
2
|
|
|
3
3
|
# Nav
|
|
4
4
|
`<snice-nav>`
|
|
5
5
|
|
|
6
6
|
A navigation menu that renders from placard configurations and integrates with Snice's routing system.
|
|
7
7
|
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
```html
|
|
17
|
-
<script src="snice-runtime.min.js"></script>
|
|
18
|
-
<script src="snice-nav.min.js"></script>
|
|
19
|
-
```
|
|
8
|
+
## Table of Contents
|
|
9
|
+
- [Properties](#properties)
|
|
10
|
+
- [Methods](#methods)
|
|
11
|
+
- [Slots](#slots)
|
|
12
|
+
- [CSS Parts](#css-parts)
|
|
13
|
+
- [Basic Usage](#basic-usage)
|
|
14
|
+
- [Examples](#examples)
|
|
15
|
+
- [Accessibility](#accessibility)
|
|
20
16
|
|
|
21
17
|
## Properties
|
|
22
18
|
|
|
@@ -32,6 +28,12 @@ import 'snice/components/nav/snice-nav';
|
|
|
32
28
|
|--------|-----------|-------------|
|
|
33
29
|
| `update()` | `placards, appContext?, currentRoute?, routeParams?` | Update navigation with placard data |
|
|
34
30
|
|
|
31
|
+
## Slots
|
|
32
|
+
|
|
33
|
+
| Name | Description |
|
|
34
|
+
|------|-------------|
|
|
35
|
+
| (default) | Additional content rendered after the navigation |
|
|
36
|
+
|
|
35
37
|
## CSS Parts
|
|
36
38
|
|
|
37
39
|
Style internal elements from outside the shadow DOM using `::part()`.
|
|
@@ -176,6 +178,14 @@ Set `is-top-level` to automatically receive placards and routes from the Snice c
|
|
|
176
178
|
<snice-nav is-top-level></snice-nav>
|
|
177
179
|
```
|
|
178
180
|
|
|
181
|
+
## Accessibility
|
|
182
|
+
|
|
183
|
+
- The `<nav>` element has `role="navigation"` for screen readers
|
|
184
|
+
- Active items receive `aria-current="page"`
|
|
185
|
+
- Items with `description` get `aria-label` for accessible names
|
|
186
|
+
- Focus-visible styles are provided for keyboard navigation
|
|
187
|
+
- All navigation links are keyboard-focusable
|
|
188
|
+
|
|
179
189
|
## Placard Structure
|
|
180
190
|
|
|
181
191
|
```typescript
|
|
@@ -1,22 +1,17 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/network-graph.md -->
|
|
2
2
|
|
|
3
3
|
# Network Graph
|
|
4
4
|
`<snice-network-graph>`
|
|
5
5
|
|
|
6
6
|
An SVG-based force-directed graph visualization for displaying relationships between nodes.
|
|
7
7
|
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
**CDN**
|
|
16
|
-
```html
|
|
17
|
-
<script src="snice-runtime.min.js"></script>
|
|
18
|
-
<script src="snice-network-graph.min.js"></script>
|
|
19
|
-
```
|
|
8
|
+
## Table of Contents
|
|
9
|
+
- [Properties](#properties)
|
|
10
|
+
- [Events](#events)
|
|
11
|
+
- [CSS Parts](#css-parts)
|
|
12
|
+
- [Basic Usage](#basic-usage)
|
|
13
|
+
- [Examples](#examples)
|
|
14
|
+
- [Accessibility](#accessibility)
|
|
20
15
|
|
|
21
16
|
## Properties
|
|
22
17
|
|
|
@@ -180,6 +175,12 @@ Disable drag and zoom for a non-interactive view.
|
|
|
180
175
|
<snice-network-graph zoom-enabled="false" drag-enabled="false"></snice-network-graph>
|
|
181
176
|
```
|
|
182
177
|
|
|
178
|
+
## Accessibility
|
|
179
|
+
|
|
180
|
+
- The graph container has `role="img"` with `aria-label="Network graph visualization"`
|
|
181
|
+
- Hover tooltips display node label and connection count
|
|
182
|
+
- Responsive via ResizeObserver
|
|
183
|
+
|
|
183
184
|
## Data Types
|
|
184
185
|
|
|
185
186
|
```typescript
|
|
@@ -1,43 +1,29 @@
|
|
|
1
|
-
<!-- AI: For
|
|
2
|
-
|
|
3
|
-
# Notification Center Component
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/notification-center.md -->
|
|
4
2
|
|
|
3
|
+
# Notification Center
|
|
5
4
|
`<snice-notification-center>`
|
|
6
5
|
|
|
7
6
|
A bell icon with a dropdown notification panel. Displays an unread count badge, supports marking notifications as read, and allows dismissing individual items.
|
|
8
7
|
|
|
9
8
|
## Table of Contents
|
|
10
|
-
- [Importing](#importing)
|
|
11
9
|
- [Properties](#properties)
|
|
12
10
|
- [Methods](#methods)
|
|
13
11
|
- [Events](#events)
|
|
14
|
-
- [
|
|
12
|
+
- [Slots](#slots)
|
|
15
13
|
- [CSS Parts](#css-parts)
|
|
14
|
+
- [CSS Custom Properties](#css-custom-properties)
|
|
16
15
|
- [Basic Usage](#basic-usage)
|
|
17
16
|
- [Examples](#examples)
|
|
18
|
-
- [Types](#types)
|
|
19
17
|
- [Accessibility](#accessibility)
|
|
20
|
-
|
|
21
|
-
## Importing
|
|
22
|
-
|
|
23
|
-
**ESM (bundler)**
|
|
24
|
-
```typescript
|
|
25
|
-
import 'snice/components/notification-center/snice-notification-center';
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
**CDN**
|
|
29
|
-
```html
|
|
30
|
-
<script src="snice-runtime.min.js"></script>
|
|
31
|
-
<script src="snice-notification-center.min.js"></script>
|
|
32
|
-
```
|
|
18
|
+
- [Data Types](#data-types)
|
|
33
19
|
|
|
34
20
|
## Properties
|
|
35
21
|
|
|
36
22
|
| Property | Type | Default | Description |
|
|
37
23
|
|----------|------|---------|-------------|
|
|
38
|
-
| `notifications` | `NotificationItem[]` | `[]` | Array of notification objects to display |
|
|
24
|
+
| `notifications` | `NotificationItem[]` | `[]` | Array of notification objects to display (set via JS) |
|
|
39
25
|
| `open` | `boolean` | `false` | Whether the dropdown panel is visible |
|
|
40
|
-
| `icon` | `string` | `''` | Custom bell icon (URL, image file, emoji). Use slot for icon fonts. |
|
|
26
|
+
| `icon` | `string` | `''` | Custom bell icon (URL, image file, or emoji). Use slot for icon fonts. |
|
|
41
27
|
|
|
42
28
|
## Methods
|
|
43
29
|
|
|
@@ -55,37 +41,11 @@ import 'snice/components/notification-center/snice-notification-center';
|
|
|
55
41
|
| `notification-dismiss` | `{ id: string }` | Fired when a notification is dismissed |
|
|
56
42
|
| `notification-read-all` | `void` | Fired when all notifications are marked as read |
|
|
57
43
|
|
|
58
|
-
## CSS Custom Properties
|
|
59
|
-
|
|
60
|
-
| Property | Description |
|
|
61
|
-
|----------|-------------|
|
|
62
|
-
| `--snice-font-family` | Font family |
|
|
63
|
-
| `--snice-color-text` | Primary text color |
|
|
64
|
-
| `--snice-color-primary` | Mark-all-read link color and unread highlight |
|
|
65
|
-
| `--snice-color-primary-subtle` | Unread item background |
|
|
66
|
-
| `--snice-color-danger` | Badge background and dismiss hover color |
|
|
67
|
-
| `--snice-color-text-inverse` | Badge text color |
|
|
68
|
-
| `--snice-color-text-secondary` | Message text color |
|
|
69
|
-
| `--snice-color-text-tertiary` | Timestamp, empty state text, and dismiss icon color |
|
|
70
|
-
| `--snice-color-border` | Panel and item border color |
|
|
71
|
-
| `--snice-color-background` | Panel background color |
|
|
72
|
-
| `--snice-color-background-element` | Item hover and bell hover background |
|
|
73
|
-
| `--snice-shadow-lg` | Panel drop shadow |
|
|
74
|
-
| `--snice-spacing-*` | Various spacing tokens |
|
|
75
|
-
| `--snice-font-size-sm` | Small text size |
|
|
76
|
-
| `--snice-font-size-md` | Base text size |
|
|
77
|
-
| `--snice-font-weight-medium` | Medium font weight |
|
|
78
|
-
| `--snice-font-weight-semibold` | Semibold font weight |
|
|
79
|
-
| `--snice-font-weight-bold` | Bold font weight |
|
|
80
|
-
| `--snice-border-radius-md` | Item border radius |
|
|
81
|
-
| `--snice-border-radius-lg` | Panel border radius |
|
|
82
|
-
| `--snice-transition-fast` | Hover transition speed |
|
|
83
|
-
|
|
84
44
|
## Slots
|
|
85
45
|
|
|
86
|
-
|
|
|
87
|
-
|
|
88
|
-
| `icon` | Custom bell icon content. Overrides the `icon` property. Useful for icon fonts
|
|
46
|
+
| Name | Description |
|
|
47
|
+
|------|-------------|
|
|
48
|
+
| `icon` | Custom bell icon content. Overrides the `icon` property. Useful for icon fonts. |
|
|
89
49
|
|
|
90
50
|
## CSS Parts
|
|
91
51
|
|
|
@@ -103,95 +63,46 @@ snice-notification-center::part(trigger) {
|
|
|
103
63
|
font-size: 1.5rem;
|
|
104
64
|
}
|
|
105
65
|
|
|
106
|
-
snice-notification-center::part(badge) {
|
|
107
|
-
background: #ef4444;
|
|
108
|
-
color: white;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
66
|
snice-notification-center::part(panel) {
|
|
112
67
|
border-radius: 0.75rem;
|
|
113
68
|
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
|
|
114
69
|
}
|
|
115
70
|
```
|
|
116
71
|
|
|
72
|
+
## CSS Custom Properties
|
|
73
|
+
|
|
74
|
+
| Property | Description |
|
|
75
|
+
|----------|-------------|
|
|
76
|
+
| `--snice-color-primary` | Mark-all-read link color and unread highlight |
|
|
77
|
+
| `--snice-color-primary-subtle` | Unread item background |
|
|
78
|
+
| `--snice-color-danger` | Badge background and dismiss hover color |
|
|
79
|
+
| `--snice-color-text-inverse` | Badge text color |
|
|
80
|
+
| `--snice-color-text-secondary` | Message text color |
|
|
81
|
+
| `--snice-color-text-tertiary` | Timestamp, empty state text, and dismiss icon color |
|
|
82
|
+
| `--snice-color-border` | Panel and item border color |
|
|
83
|
+
| `--snice-color-background` | Panel background color |
|
|
84
|
+
| `--snice-color-background-element` | Item hover and bell hover background |
|
|
85
|
+
| `--snice-shadow-lg` | Panel drop shadow |
|
|
86
|
+
|
|
117
87
|
## Basic Usage
|
|
118
88
|
|
|
119
89
|
```typescript
|
|
120
90
|
import 'snice/components/notification-center/snice-notification-center';
|
|
121
91
|
```
|
|
122
92
|
|
|
123
|
-
```html
|
|
124
|
-
<snice-notification-center></snice-notification-center>
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
## Examples
|
|
128
|
-
|
|
129
|
-
### Basic Notifications
|
|
130
|
-
|
|
131
|
-
Populate the `notifications` property to display items in the dropdown panel.
|
|
132
|
-
|
|
133
93
|
```html
|
|
134
94
|
<snice-notification-center id="nc"></snice-notification-center>
|
|
135
95
|
|
|
136
96
|
<script type="module">
|
|
137
|
-
import 'snice/components/notification-center/snice-notification-center';
|
|
138
|
-
|
|
139
97
|
const nc = document.getElementById('nc');
|
|
140
98
|
nc.notifications = [
|
|
141
|
-
{
|
|
142
|
-
|
|
143
|
-
title: 'New message',
|
|
144
|
-
message: 'You have a new message from Sarah',
|
|
145
|
-
timestamp: '2 min ago',
|
|
146
|
-
type: 'info'
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
id: '2',
|
|
150
|
-
title: 'Build complete',
|
|
151
|
-
message: 'Production deployment succeeded',
|
|
152
|
-
timestamp: '10 min ago',
|
|
153
|
-
type: 'success',
|
|
154
|
-
read: true
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
id: '3',
|
|
158
|
-
title: 'Disk space low',
|
|
159
|
-
message: 'Server storage is at 90% capacity',
|
|
160
|
-
timestamp: '1 hour ago',
|
|
161
|
-
type: 'warning'
|
|
162
|
-
}
|
|
99
|
+
{ id: '1', title: 'New message', message: 'You have a new message', timestamp: '2 min ago', type: 'info' },
|
|
100
|
+
{ id: '2', title: 'Build complete', message: 'Deployment succeeded', timestamp: '10 min ago', type: 'success', read: true }
|
|
163
101
|
];
|
|
164
102
|
</script>
|
|
165
103
|
```
|
|
166
104
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
Listen for the `notification-click` event to navigate or take action when a notification is clicked.
|
|
170
|
-
|
|
171
|
-
```html
|
|
172
|
-
<snice-notification-center id="nc"></snice-notification-center>
|
|
173
|
-
|
|
174
|
-
<script type="module">
|
|
175
|
-
import 'snice/components/notification-center/snice-notification-center';
|
|
176
|
-
|
|
177
|
-
const nc = document.getElementById('nc');
|
|
178
|
-
nc.notifications = [
|
|
179
|
-
{ id: '1', title: 'New order', message: 'Order #4521 placed', timestamp: 'Just now', type: 'info' },
|
|
180
|
-
{ id: '2', title: 'Payment received', message: '$249.99 from Acme Corp', timestamp: '5 min ago', type: 'success' }
|
|
181
|
-
];
|
|
182
|
-
|
|
183
|
-
nc.addEventListener('notification-click', (e) => {
|
|
184
|
-
const notification = e.detail.notification;
|
|
185
|
-
console.log('Clicked:', notification.title);
|
|
186
|
-
|
|
187
|
-
// Mark as read when clicked
|
|
188
|
-
nc.markAsRead(notification.id);
|
|
189
|
-
|
|
190
|
-
// Navigate to relevant page
|
|
191
|
-
window.location.href = `/notifications/${notification.id}`;
|
|
192
|
-
});
|
|
193
|
-
</script>
|
|
194
|
-
```
|
|
105
|
+
## Examples
|
|
195
106
|
|
|
196
107
|
### Notification Types
|
|
197
108
|
|
|
@@ -201,8 +112,6 @@ Each `type` automatically applies a default icon if no custom `icon` is provided
|
|
|
201
112
|
<snice-notification-center id="nc"></snice-notification-center>
|
|
202
113
|
|
|
203
114
|
<script type="module">
|
|
204
|
-
import 'snice/components/notification-center/snice-notification-center';
|
|
205
|
-
|
|
206
115
|
const nc = document.getElementById('nc');
|
|
207
116
|
nc.notifications = [
|
|
208
117
|
{ id: '1', title: 'Info', message: 'System update available', timestamp: '1 min ago', type: 'info' },
|
|
@@ -213,63 +122,59 @@ Each `type` automatically applies a default icon if no custom `icon` is provided
|
|
|
213
122
|
</script>
|
|
214
123
|
```
|
|
215
124
|
|
|
216
|
-
###
|
|
217
|
-
|
|
218
|
-
Use methods to manage notification state programmatically.
|
|
219
|
-
|
|
220
|
-
```html
|
|
221
|
-
<snice-notification-center id="nc"></snice-notification-center>
|
|
222
|
-
<button id="clear-all">Clear All</button>
|
|
125
|
+
### Handling Notification Clicks
|
|
223
126
|
|
|
224
|
-
|
|
225
|
-
import 'snice/components/notification-center/snice-notification-center';
|
|
127
|
+
Listen for the `notification-click` event to navigate or take action when a notification is clicked.
|
|
226
128
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
129
|
+
```typescript
|
|
130
|
+
nc.addEventListener('notification-click', (e) => {
|
|
131
|
+
const notification = e.detail.notification;
|
|
132
|
+
console.log('Clicked:', notification.title);
|
|
133
|
+
nc.markAsRead(notification.id);
|
|
134
|
+
});
|
|
135
|
+
```
|
|
233
136
|
|
|
234
|
-
|
|
235
|
-
nc.addEventListener('notification-dismiss', (e) => {
|
|
236
|
-
console.log('Dismissed notification:', e.detail.id);
|
|
237
|
-
});
|
|
137
|
+
### Dismiss and Mark All Read
|
|
238
138
|
|
|
239
|
-
|
|
240
|
-
nc.addEventListener('notification-read-all', () => {
|
|
241
|
-
console.log('All notifications marked as read');
|
|
242
|
-
});
|
|
139
|
+
Use methods to manage notification state programmatically.
|
|
243
140
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
141
|
+
```typescript
|
|
142
|
+
// Listen for individual dismissals
|
|
143
|
+
nc.addEventListener('notification-dismiss', (e) => {
|
|
144
|
+
console.log('Dismissed notification:', e.detail.id);
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
// Listen for mark-all-read
|
|
148
|
+
nc.addEventListener('notification-read-all', () => {
|
|
149
|
+
console.log('All notifications marked as read');
|
|
150
|
+
});
|
|
151
|
+
|
|
152
|
+
// Programmatically mark all as read
|
|
153
|
+
nc.markAllAsRead();
|
|
249
154
|
```
|
|
250
155
|
|
|
251
156
|
### Custom Icons
|
|
252
157
|
|
|
253
|
-
Override the default type-based icon with a custom emoji or text using the `icon` property.
|
|
254
|
-
|
|
255
|
-
```html
|
|
256
|
-
<snice-notification-center id="nc"></snice-notification-center>
|
|
257
|
-
|
|
258
|
-
<script type="module">
|
|
259
|
-
import 'snice/components/notification-center/snice-notification-center';
|
|
158
|
+
Override the default type-based icon with a custom emoji or text using the `icon` property on each notification item.
|
|
260
159
|
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
</script>
|
|
160
|
+
```typescript
|
|
161
|
+
nc.notifications = [
|
|
162
|
+
{ id: '1', title: 'New follower', message: 'Alex started following you', timestamp: 'Just now', icon: '\u{1F464}' },
|
|
163
|
+
{ id: '2', title: 'Achievement unlocked', message: 'You completed 100 tasks', timestamp: '5 min ago', icon: '\u{1F3C6}' },
|
|
164
|
+
{ id: '3', title: 'Reminder', message: 'Team standup in 15 minutes', timestamp: '10 min ago', icon: '\u{23F0}' }
|
|
165
|
+
];
|
|
268
166
|
```
|
|
269
167
|
|
|
270
|
-
##
|
|
168
|
+
## Accessibility
|
|
271
169
|
|
|
272
|
-
|
|
170
|
+
- The bell icon is keyboard-focusable and opens the dropdown panel on click or Enter/Space
|
|
171
|
+
- The unread count badge is visible for sighted users
|
|
172
|
+
- Notification items in the dropdown are interactive and clickable
|
|
173
|
+
- The dismiss button is accessible for keyboard navigation
|
|
174
|
+
- The "Mark all as read" action is available in the panel header
|
|
175
|
+
- Unread notifications are visually distinguished with a highlighted background
|
|
176
|
+
|
|
177
|
+
## Data Types
|
|
273
178
|
|
|
274
179
|
```typescript
|
|
275
180
|
interface NotificationItem {
|
|
@@ -282,12 +187,3 @@ interface NotificationItem {
|
|
|
282
187
|
type?: 'info' | 'success' | 'warning' | 'error'; // Notification type (determines default icon)
|
|
283
188
|
}
|
|
284
189
|
```
|
|
285
|
-
|
|
286
|
-
## Accessibility
|
|
287
|
-
|
|
288
|
-
- The bell icon is keyboard-focusable and opens the dropdown panel on click or Enter/Space
|
|
289
|
-
- The unread count badge is visible for sighted users; the count is communicated via the badge element
|
|
290
|
-
- Notification items in the dropdown are interactive and clickable
|
|
291
|
-
- The dismiss button is accessible for keyboard navigation
|
|
292
|
-
- The "Mark all as read" action is available as a link at the top of the panel
|
|
293
|
-
- Unread notifications are visually distinguished with a highlighted background
|