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/menu.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/menu.md -->
|
|
2
2
|
|
|
3
3
|
# Menu
|
|
4
4
|
`<snice-menu>`
|
|
@@ -6,33 +6,25 @@
|
|
|
6
6
|
A dropdown menu with composable items, dividers, icons, and keyboard shortcut hints.
|
|
7
7
|
|
|
8
8
|
## Table of Contents
|
|
9
|
-
- [
|
|
10
|
-
- [
|
|
9
|
+
- [Components](#components)
|
|
10
|
+
- [Properties](#properties)
|
|
11
11
|
- [Methods](#methods)
|
|
12
12
|
- [Events](#events)
|
|
13
|
-
- [
|
|
14
|
-
- [Menu Item Slots](#menu-item-slots)
|
|
13
|
+
- [Slots](#slots)
|
|
15
14
|
- [CSS Parts](#css-parts)
|
|
16
15
|
- [CSS Custom Properties](#css-custom-properties)
|
|
17
16
|
- [Basic Usage](#basic-usage)
|
|
18
17
|
- [Examples](#examples)
|
|
19
18
|
|
|
20
|
-
##
|
|
19
|
+
## Components
|
|
21
20
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
import 'snice/components/menu/snice-menu-item';
|
|
26
|
-
import 'snice/components/menu/snice-menu-divider';
|
|
27
|
-
```
|
|
21
|
+
- `<snice-menu>` - The dropdown menu container with trigger and panel
|
|
22
|
+
- `<snice-menu-item>` - Individual selectable menu item with icon and shortcut slots
|
|
23
|
+
- `<snice-menu-divider>` - Visual separator between items
|
|
28
24
|
|
|
29
|
-
|
|
30
|
-
```html
|
|
31
|
-
<script src="snice-runtime.min.js"></script>
|
|
32
|
-
<script src="snice-menu.min.js"></script>
|
|
33
|
-
```
|
|
25
|
+
## Properties
|
|
34
26
|
|
|
35
|
-
|
|
27
|
+
### snice-menu
|
|
36
28
|
|
|
37
29
|
| Property | Type | Default | Description |
|
|
38
30
|
|----------|------|---------|-------------|
|
|
@@ -42,7 +34,7 @@ import 'snice/components/menu/snice-menu-divider';
|
|
|
42
34
|
| `closeOnSelect` (attr: `close-on-select`) | `boolean` | `true` | Close on item selection |
|
|
43
35
|
| `distance` | `number` | `4` | Distance from trigger to panel (px) |
|
|
44
36
|
|
|
45
|
-
|
|
37
|
+
### snice-menu-item
|
|
46
38
|
|
|
47
39
|
| Property | Type | Default | Description |
|
|
48
40
|
|----------|------|---------|-------------|
|
|
@@ -64,9 +56,11 @@ import 'snice/components/menu/snice-menu-divider';
|
|
|
64
56
|
|-------|--------|-------------|
|
|
65
57
|
| `menu-open` | `{ menu: SniceMenuElement }` | Menu opened |
|
|
66
58
|
| `menu-close` | `{ menu: SniceMenuElement }` | Menu closed |
|
|
67
|
-
| `menu-item-select` | `{ item: SniceMenuItemElement, value: string }` | Item selected |
|
|
59
|
+
| `menu-item-select` | `{ item: SniceMenuItemElement, value: string }` | Item selected (bubbles from menu-item) |
|
|
60
|
+
|
|
61
|
+
## Slots
|
|
68
62
|
|
|
69
|
-
|
|
63
|
+
### snice-menu
|
|
70
64
|
|
|
71
65
|
| Name | Description |
|
|
72
66
|
|------|-------------|
|
|
@@ -75,7 +69,7 @@ import 'snice/components/menu/snice-menu-divider';
|
|
|
75
69
|
| `image-right` | Image/icon after the trigger |
|
|
76
70
|
| (default) | Menu items and dividers |
|
|
77
71
|
|
|
78
|
-
|
|
72
|
+
### snice-menu-item
|
|
79
73
|
|
|
80
74
|
| Name | Description |
|
|
81
75
|
|------|-------------|
|
|
@@ -85,24 +79,30 @@ import 'snice/components/menu/snice-menu-divider';
|
|
|
85
79
|
|
|
86
80
|
## CSS Parts
|
|
87
81
|
|
|
88
|
-
###
|
|
82
|
+
### snice-menu
|
|
89
83
|
|
|
90
|
-
| Part | Description |
|
|
91
|
-
|
|
92
|
-
| `trigger` | The trigger wrapper element |
|
|
93
|
-
| `image-left` | Left image container |
|
|
94
|
-
| `image-right` | Right image container |
|
|
95
|
-
| `panel` | The dropdown panel |
|
|
96
|
-
| `content` | Panel content wrapper |
|
|
84
|
+
| Part | Element | Description |
|
|
85
|
+
|------|---------|-------------|
|
|
86
|
+
| `trigger` | `<div>` | The trigger wrapper element |
|
|
87
|
+
| `image-left` | `<span>` | Left image container |
|
|
88
|
+
| `image-right` | `<span>` | Right image container |
|
|
89
|
+
| `panel` | `<div>` | The dropdown panel |
|
|
90
|
+
| `content` | `<div>` | Panel content wrapper |
|
|
97
91
|
|
|
98
|
-
###
|
|
92
|
+
### snice-menu-item
|
|
99
93
|
|
|
100
|
-
| Part | Description |
|
|
101
|
-
|
|
102
|
-
| `item` | The menu item container |
|
|
103
|
-
| `icon` | Icon wrapper |
|
|
104
|
-
| `label` | Label wrapper |
|
|
105
|
-
| `shortcut` | Keyboard shortcut wrapper |
|
|
94
|
+
| Part | Element | Description |
|
|
95
|
+
|------|---------|-------------|
|
|
96
|
+
| `item` | `<div>` | The menu item container |
|
|
97
|
+
| `icon` | `<span>` | Icon wrapper |
|
|
98
|
+
| `label` | `<span>` | Label wrapper |
|
|
99
|
+
| `shortcut` | `<span>` | Keyboard shortcut wrapper |
|
|
100
|
+
|
|
101
|
+
### snice-menu-divider
|
|
102
|
+
|
|
103
|
+
| Part | Element | Description |
|
|
104
|
+
|------|---------|-------------|
|
|
105
|
+
| `divider` | `<div>` | The separator line |
|
|
106
106
|
|
|
107
107
|
## CSS Custom Properties
|
|
108
108
|
|
|
@@ -165,11 +165,6 @@ Use the `icon` and `shortcut` slots on menu items to add visual cues.
|
|
|
165
165
|
Use the `placement` attribute to position the menu relative to its trigger.
|
|
166
166
|
|
|
167
167
|
```html
|
|
168
|
-
<snice-menu placement="bottom-start">
|
|
169
|
-
<button slot="trigger">Bottom Start</button>
|
|
170
|
-
<snice-menu-item value="1">Option 1</snice-menu-item>
|
|
171
|
-
</snice-menu>
|
|
172
|
-
|
|
173
168
|
<snice-menu placement="bottom-end">
|
|
174
169
|
<button slot="trigger">Bottom End</button>
|
|
175
170
|
<snice-menu-item value="1">Option 1</snice-menu-item>
|
|
@@ -198,20 +193,18 @@ Set `trigger="hover"` to open the menu on mouse hover.
|
|
|
198
193
|
Set `trigger="manual"` and use methods to control the menu programmatically.
|
|
199
194
|
|
|
200
195
|
```html
|
|
201
|
-
<snice-menu trigger="manual">
|
|
196
|
+
<snice-menu trigger="manual" id="my-menu">
|
|
202
197
|
<button slot="trigger">Manual</button>
|
|
203
198
|
<snice-menu-item value="1">Option 1</snice-menu-item>
|
|
204
199
|
</snice-menu>
|
|
205
200
|
```
|
|
206
201
|
|
|
207
202
|
```typescript
|
|
208
|
-
menu.openMenu();
|
|
203
|
+
document.getElementById('my-menu').openMenu();
|
|
209
204
|
```
|
|
210
205
|
|
|
211
206
|
### Disabled Items
|
|
212
207
|
|
|
213
|
-
Set the `disabled` attribute on individual menu items.
|
|
214
|
-
|
|
215
208
|
```html
|
|
216
209
|
<snice-menu>
|
|
217
210
|
<button slot="trigger">Actions</button>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/message-strip.md -->
|
|
2
2
|
|
|
3
|
-
# Message Strip
|
|
3
|
+
# Message Strip
|
|
4
4
|
`<snice-message-strip>`
|
|
5
5
|
|
|
6
6
|
An inline contextual message bar for displaying status messages within content flow. Unlike alerts (dismissable card), banners (full-width top), and toasts (floating), message strips are designed to sit inline within your content.
|
|
@@ -13,19 +13,7 @@ An inline contextual message bar for displaying status messages within content f
|
|
|
13
13
|
- [CSS Parts](#css-parts)
|
|
14
14
|
- [Basic Usage](#basic-usage)
|
|
15
15
|
- [Examples](#examples)
|
|
16
|
-
|
|
17
|
-
## Importing
|
|
18
|
-
|
|
19
|
-
**ESM (bundler)**
|
|
20
|
-
```typescript
|
|
21
|
-
import 'snice/components/message-strip/snice-message-strip';
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
**CDN**
|
|
25
|
-
```html
|
|
26
|
-
<script src="snice-runtime.min.js"></script>
|
|
27
|
-
<script src="snice-message-strip.min.js"></script>
|
|
28
|
-
```
|
|
16
|
+
- [Accessibility](#accessibility)
|
|
29
17
|
|
|
30
18
|
## Properties
|
|
31
19
|
|
|
@@ -33,15 +21,14 @@ import 'snice/components/message-strip/snice-message-strip';
|
|
|
33
21
|
|----------|------|---------|-------------|
|
|
34
22
|
| `variant` | `'info' \| 'success' \| 'warning' \| 'danger'` | `'info'` | Message type / color |
|
|
35
23
|
| `dismissable` | `boolean` | `false` | Show dismiss button |
|
|
36
|
-
| `icon` | `string` | `''` | Custom icon (set "none" to hide) |
|
|
24
|
+
| `icon` | `string` | `''` | Custom icon (set "none" to hide default icon) |
|
|
37
25
|
|
|
38
26
|
## Methods
|
|
39
27
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
Hide the message strip with a slide-out animation.
|
|
28
|
+
| Method | Arguments | Description |
|
|
29
|
+
|--------|-----------|-------------|
|
|
30
|
+
| `show()` | -- | Show the message strip after it has been hidden |
|
|
31
|
+
| `hide()` | -- | Hide the message strip with a slide-out animation |
|
|
45
32
|
|
|
46
33
|
## Events
|
|
47
34
|
|
|
@@ -58,11 +45,13 @@ Hide the message strip with a slide-out animation.
|
|
|
58
45
|
|
|
59
46
|
## CSS Parts
|
|
60
47
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
|
64
|
-
|
|
65
|
-
| `
|
|
48
|
+
Style internal elements from outside the shadow DOM using `::part()`.
|
|
49
|
+
|
|
50
|
+
| Part | Element | Description |
|
|
51
|
+
|------|---------|-------------|
|
|
52
|
+
| `icon` | `<div>` | The icon container |
|
|
53
|
+
| `content` | `<div>` | The message content area |
|
|
54
|
+
| `dismiss` | `<button>` | The dismiss button |
|
|
66
55
|
|
|
67
56
|
```css
|
|
68
57
|
snice-message-strip::part(content) {
|
|
@@ -144,12 +133,6 @@ Use the `icon` slot for custom icon elements.
|
|
|
144
133
|
|
|
145
134
|
### Programmatic Show/Hide
|
|
146
135
|
|
|
147
|
-
```html
|
|
148
|
-
<snice-message-strip variant="success">
|
|
149
|
-
Your changes have been saved.
|
|
150
|
-
</snice-message-strip>
|
|
151
|
-
```
|
|
152
|
-
|
|
153
136
|
```typescript
|
|
154
137
|
messageStrip.hide();
|
|
155
138
|
messageStrip.show();
|
|
@@ -168,16 +151,6 @@ messageStrip.show();
|
|
|
168
151
|
</form>
|
|
169
152
|
```
|
|
170
153
|
|
|
171
|
-
```typescript
|
|
172
|
-
form.addEventListener('submit', (e) => {
|
|
173
|
-
if (!form.checkValidity()) {
|
|
174
|
-
e.preventDefault();
|
|
175
|
-
errorStrip.style.display = '';
|
|
176
|
-
errorStrip.show();
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
```
|
|
180
|
-
|
|
181
154
|
### Stacked Messages
|
|
182
155
|
|
|
183
156
|
```html
|
|
@@ -200,12 +173,3 @@ form.addEventListener('submit', (e) => {
|
|
|
200
173
|
- Dismiss button has `aria-label="Dismiss"`
|
|
201
174
|
- Default variant icons provide visual context clues
|
|
202
175
|
- Supports both light and dark color schemes
|
|
203
|
-
|
|
204
|
-
## When to Use Which
|
|
205
|
-
|
|
206
|
-
| Component | Use Case |
|
|
207
|
-
|-----------|----------|
|
|
208
|
-
| **Message Strip** | Inline contextual feedback within content |
|
|
209
|
-
| **Alert** | Prominent dismissable card-style notification |
|
|
210
|
-
| **Banner** | Full-width message at the top of the page |
|
|
211
|
-
| **Toast** | Floating temporary notification |
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/metric-table.md -->
|
|
2
2
|
|
|
3
3
|
# Metric Table
|
|
4
|
-
|
|
5
4
|
`<snice-metric-table>`
|
|
6
5
|
|
|
7
6
|
A compact data table optimized for numeric and metric data with inline sparklines, color-coded values, and built-in sorting.
|
|
@@ -12,28 +11,16 @@ A compact data table optimized for numeric and metric data with inline sparkline
|
|
|
12
11
|
- [CSS Parts](#css-parts)
|
|
13
12
|
- [Basic Usage](#basic-usage)
|
|
14
13
|
- [Examples](#examples)
|
|
15
|
-
|
|
16
|
-
## Importing
|
|
17
|
-
|
|
18
|
-
**ESM (bundler)**
|
|
19
|
-
```typescript
|
|
20
|
-
import 'snice/components/metric-table/snice-metric-table';
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
**CDN**
|
|
24
|
-
```html
|
|
25
|
-
<script src="snice-runtime.min.js"></script>
|
|
26
|
-
<script src="snice-metric-table.min.js"></script>
|
|
27
|
-
```
|
|
14
|
+
- [Accessibility](#accessibility)
|
|
28
15
|
|
|
29
16
|
## Properties
|
|
30
17
|
|
|
31
18
|
| Property | Type | Default | Description |
|
|
32
19
|
|----------|------|---------|-------------|
|
|
33
|
-
| `columns` | `MetricColumn[]` | `[]` | Column definitions |
|
|
34
|
-
| `data` | `Record<string, any>[]` | `[]` | Row data objects |
|
|
35
|
-
| `sortBy`
|
|
36
|
-
| `sortDirection`
|
|
20
|
+
| `columns` | `MetricColumn[]` | `[]` | Column definitions (set via JavaScript) |
|
|
21
|
+
| `data` | `Record<string, any>[]` | `[]` | Row data objects (set via JavaScript) |
|
|
22
|
+
| `sortBy` | `string` | `''` | Column key to sort by |
|
|
23
|
+
| `sortDirection` | `'asc' \| 'desc'` | `'desc'` | Sort direction |
|
|
37
24
|
|
|
38
25
|
### MetricColumn Interface
|
|
39
26
|
|
|
@@ -56,11 +43,13 @@ interface MetricColumn {
|
|
|
56
43
|
|
|
57
44
|
## CSS Parts
|
|
58
45
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
|
62
|
-
|
|
63
|
-
| `
|
|
46
|
+
Style internal elements from outside the shadow DOM using `::part()`.
|
|
47
|
+
|
|
48
|
+
| Part | Element | Description |
|
|
49
|
+
|------|---------|-------------|
|
|
50
|
+
| `base` | `<div>` | Root container |
|
|
51
|
+
| `table` | `<table>` | The table element |
|
|
52
|
+
| `row` | `<tr>` | Individual table row |
|
|
64
53
|
|
|
65
54
|
```css
|
|
66
55
|
snice-metric-table::part(row) {
|
|
@@ -100,55 +89,49 @@ import 'snice/components/metric-table/snice-metric-table';
|
|
|
100
89
|
|
|
101
90
|
Define column types to control formatting. Numeric types (`number`, `percent`, `currency`) are right-aligned and color-coded.
|
|
102
91
|
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
];
|
|
111
|
-
</script>
|
|
92
|
+
```javascript
|
|
93
|
+
el.columns = [
|
|
94
|
+
{ key: 'name', label: 'Metric', type: 'text' },
|
|
95
|
+
{ key: 'value', label: 'Value', type: 'number' },
|
|
96
|
+
{ key: 'change', label: 'Change', type: 'percent' },
|
|
97
|
+
{ key: 'revenue', label: 'Revenue', type: 'currency' }
|
|
98
|
+
];
|
|
112
99
|
```
|
|
113
100
|
|
|
114
101
|
### Sparklines
|
|
115
102
|
|
|
116
103
|
Set `sparkline: true` on a column to render array data as inline SVG sparklines. Sparklines are green when trending up and red when trending down.
|
|
117
104
|
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
];
|
|
128
|
-
</script>
|
|
105
|
+
```javascript
|
|
106
|
+
el.columns = [
|
|
107
|
+
{ key: 'name', label: 'Metric', type: 'text' },
|
|
108
|
+
{ key: 'trend', label: 'Trend (7d)', sparkline: true }
|
|
109
|
+
];
|
|
110
|
+
el.data = [
|
|
111
|
+
{ name: 'Revenue', trend: [100, 120, 115, 130, 125, 140, 150] },
|
|
112
|
+
{ name: 'Churn', trend: [5, 6, 7, 8, 7, 8, 9] }
|
|
113
|
+
];
|
|
129
114
|
```
|
|
130
115
|
|
|
131
116
|
### Color-Coded Values
|
|
132
117
|
|
|
133
118
|
Positive numeric values are displayed in green, negative values in red. This applies automatically to `number`, `percent`, and `currency` column types.
|
|
134
119
|
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
];
|
|
146
|
-
</script>
|
|
120
|
+
```javascript
|
|
121
|
+
el.columns = [
|
|
122
|
+
{ key: 'metric', label: 'Metric', type: 'text' },
|
|
123
|
+
{ key: 'change', label: 'Change', type: 'percent' }
|
|
124
|
+
];
|
|
125
|
+
el.data = [
|
|
126
|
+
{ metric: 'Revenue', change: 12.3 }, // Green
|
|
127
|
+
{ metric: 'Churn', change: -2.5 }, // Red
|
|
128
|
+
{ metric: 'Retention', change: 0 } // Default color
|
|
129
|
+
];
|
|
147
130
|
```
|
|
148
131
|
|
|
149
132
|
### Sorting
|
|
150
133
|
|
|
151
|
-
Click column headers to sort. The first click sorts descending, subsequent clicks toggle direction.
|
|
134
|
+
Click column headers to sort. The first click sorts descending, subsequent clicks toggle direction.
|
|
152
135
|
|
|
153
136
|
```html
|
|
154
137
|
<snice-metric-table id="sorted" sort-by="value" sort-direction="desc"></snice-metric-table>
|
|
@@ -164,27 +147,21 @@ Click column headers to sort. The first click sorts descending, subsequent click
|
|
|
164
147
|
|
|
165
148
|
Use the `format` property on currency columns to specify the currency code (default: `USD`).
|
|
166
149
|
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
];
|
|
173
|
-
</script>
|
|
150
|
+
```javascript
|
|
151
|
+
el.columns = [
|
|
152
|
+
{ key: 'name', label: 'Product', type: 'text' },
|
|
153
|
+
{ key: 'price', label: 'Price (EUR)', type: 'currency', format: 'EUR' }
|
|
154
|
+
];
|
|
174
155
|
```
|
|
175
156
|
|
|
176
157
|
### Row Clicks
|
|
177
158
|
|
|
178
159
|
Listen for `row-click` events to handle row interactions.
|
|
179
160
|
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
document.getElementById('clickable').addEventListener('row-click', e => {
|
|
185
|
-
console.log('Row:', e.detail.row, 'Index:', e.detail.index);
|
|
186
|
-
});
|
|
187
|
-
</script>
|
|
161
|
+
```javascript
|
|
162
|
+
document.getElementById('clickable').addEventListener('row-click', e => {
|
|
163
|
+
console.log('Row:', e.detail.row, 'Index:', e.detail.index);
|
|
164
|
+
});
|
|
188
165
|
```
|
|
189
166
|
|
|
190
167
|
## Accessibility
|
|
@@ -193,3 +170,4 @@ Listen for `row-click` events to handle row interactions.
|
|
|
193
170
|
- Rows are keyboard accessible with `tabindex="0"`
|
|
194
171
|
- Press Enter or Space to activate a row
|
|
195
172
|
- Sort icons provide visual indication of sort state
|
|
173
|
+
- Null/undefined values are shown as an em-dash
|
package/docs/components/modal.md
CHANGED
|
@@ -1,22 +1,20 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/modal.md -->
|
|
2
2
|
|
|
3
3
|
# Modal
|
|
4
4
|
`<snice-modal>`
|
|
5
5
|
|
|
6
6
|
A dialog overlay with focus trapping, backdrop dismiss, and keyboard navigation.
|
|
7
7
|
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
<script src="snice-modal.min.js"></script>
|
|
19
|
-
```
|
|
8
|
+
## Table of Contents
|
|
9
|
+
- [Properties](#properties)
|
|
10
|
+
- [Methods](#methods)
|
|
11
|
+
- [Events](#events)
|
|
12
|
+
- [Slots](#slots)
|
|
13
|
+
- [CSS Parts](#css-parts)
|
|
14
|
+
- [Basic Usage](#basic-usage)
|
|
15
|
+
- [Examples](#examples)
|
|
16
|
+
- [Keyboard Navigation](#keyboard-navigation)
|
|
17
|
+
- [Accessibility](#accessibility)
|
|
20
18
|
|
|
21
19
|
## Properties
|
|
22
20
|
|
|
@@ -136,38 +134,23 @@ Set `no-backdrop-dismiss` to prevent closing when clicking outside.
|
|
|
136
134
|
</snice-modal>
|
|
137
135
|
```
|
|
138
136
|
|
|
139
|
-
### Prevent Escape Dismiss
|
|
140
|
-
|
|
141
|
-
Set `no-escape-dismiss` to prevent closing with the Escape key.
|
|
142
|
-
|
|
143
|
-
```html
|
|
144
|
-
<snice-modal no-escape-dismiss label="Confirmation Required">
|
|
145
|
-
<div slot="header"><h2>Confirm Action</h2></div>
|
|
146
|
-
<p>Pressing Escape won't close this modal.</p>
|
|
147
|
-
<div slot="footer">
|
|
148
|
-
<button onclick="this.closest('snice-modal').close()">Confirm</button>
|
|
149
|
-
</div>
|
|
150
|
-
</snice-modal>
|
|
151
|
-
```
|
|
152
|
-
|
|
153
137
|
### Confirmation Dialog
|
|
154
138
|
|
|
155
139
|
```html
|
|
156
|
-
<button>Delete Item</button>
|
|
140
|
+
<button id="deleteBtn">Delete Item</button>
|
|
157
141
|
|
|
158
|
-
<snice-modal size="small" label="Confirm Delete">
|
|
142
|
+
<snice-modal id="confirmModal" size="small" label="Confirm Delete">
|
|
159
143
|
<div slot="header"><h2>Confirm Delete</h2></div>
|
|
160
144
|
<p>Are you sure? This action cannot be undone.</p>
|
|
161
145
|
<div slot="footer">
|
|
162
|
-
<button>Cancel</button>
|
|
163
|
-
<button>Delete</button>
|
|
146
|
+
<button onclick="this.closest('snice-modal').close()">Cancel</button>
|
|
147
|
+
<button id="confirmBtn">Delete</button>
|
|
164
148
|
</div>
|
|
165
149
|
</snice-modal>
|
|
166
150
|
```
|
|
167
151
|
|
|
168
152
|
```typescript
|
|
169
153
|
deleteBtn.addEventListener('click', () => modal.show());
|
|
170
|
-
cancelBtn.addEventListener('click', () => modal.close());
|
|
171
154
|
confirmBtn.addEventListener('click', () => {
|
|
172
155
|
console.log('Item deleted');
|
|
173
156
|
modal.close();
|
|
@@ -177,8 +160,6 @@ confirmBtn.addEventListener('click', () => {
|
|
|
177
160
|
### Form in Modal
|
|
178
161
|
|
|
179
162
|
```html
|
|
180
|
-
<button>Edit Profile</button>
|
|
181
|
-
|
|
182
163
|
<snice-modal label="Edit Profile">
|
|
183
164
|
<div slot="header"><h2>Edit Profile</h2></div>
|
|
184
165
|
<form style="display:flex;flex-direction:column;gap:1rem;">
|
|
@@ -192,15 +173,6 @@ confirmBtn.addEventListener('click', () => {
|
|
|
192
173
|
</snice-modal>
|
|
193
174
|
```
|
|
194
175
|
|
|
195
|
-
```typescript
|
|
196
|
-
editBtn.addEventListener('click', () => modal.show());
|
|
197
|
-
profileForm.addEventListener('submit', (e) => {
|
|
198
|
-
e.preventDefault();
|
|
199
|
-
console.log('Saved:', Object.fromEntries(new FormData(e.target)));
|
|
200
|
-
modal.close();
|
|
201
|
-
});
|
|
202
|
-
```
|
|
203
|
-
|
|
204
176
|
### Programmatic Control
|
|
205
177
|
|
|
206
178
|
```typescript
|
|
@@ -210,3 +182,20 @@ modal.close(); // Close
|
|
|
210
182
|
modal.addEventListener('modal-open', () => console.log('Opened'));
|
|
211
183
|
modal.addEventListener('modal-close', () => console.log('Closed'));
|
|
212
184
|
```
|
|
185
|
+
|
|
186
|
+
## Keyboard Navigation
|
|
187
|
+
|
|
188
|
+
| Key | Action |
|
|
189
|
+
|-----|--------|
|
|
190
|
+
| Escape | Close the modal (unless `no-escape-dismiss` is set) |
|
|
191
|
+
| Tab | Cycle through focusable elements within the modal |
|
|
192
|
+
| Shift+Tab | Cycle backwards through focusable elements |
|
|
193
|
+
|
|
194
|
+
## Accessibility
|
|
195
|
+
|
|
196
|
+
- Uses `role="dialog"` with `aria-modal="true"` and `aria-label`
|
|
197
|
+
- Focus is trapped within the modal by default (disable with `no-focus-trap`)
|
|
198
|
+
- First focusable element receives focus on open
|
|
199
|
+
- Previous focus is restored on close
|
|
200
|
+
- Body scroll is locked while modal is open
|
|
201
|
+
- Close button has `aria-label="Close modal"`
|