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,46 +1,46 @@
|
|
|
1
1
|
# snice-spotlight
|
|
2
2
|
|
|
3
|
-
Guided tour / onboarding spotlight
|
|
3
|
+
Guided tour / onboarding spotlight with cutout overlay and step-by-step popovers.
|
|
4
4
|
|
|
5
5
|
## Properties
|
|
6
6
|
|
|
7
|
-
```
|
|
8
|
-
steps: SpotlightStep[] = []
|
|
7
|
+
```typescript
|
|
8
|
+
steps: SpotlightStep[] = [];
|
|
9
9
|
|
|
10
10
|
interface SpotlightStep {
|
|
11
|
-
target: string // CSS selector for target element
|
|
12
|
-
title: string
|
|
13
|
-
description: string
|
|
14
|
-
position?: 'top'
|
|
11
|
+
target: string; // CSS selector for target element
|
|
12
|
+
title: string;
|
|
13
|
+
description: string;
|
|
14
|
+
position?: 'top'|'bottom'|'left'|'right'|'auto';
|
|
15
15
|
}
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
## Methods
|
|
19
19
|
|
|
20
|
-
- `start()` - Begin
|
|
20
|
+
- `start()` - Begin tour from step 0
|
|
21
21
|
- `next()` - Advance to next step (ends tour if on last step)
|
|
22
22
|
- `prev()` - Go back to previous step
|
|
23
|
-
- `goToStep(index
|
|
23
|
+
- `goToStep(index)` - Jump to specific step
|
|
24
24
|
- `end()` - End the tour
|
|
25
25
|
|
|
26
26
|
## Events
|
|
27
27
|
|
|
28
|
-
- `spotlight-start`
|
|
29
|
-
- `spotlight-step`
|
|
30
|
-
- `spotlight-end`
|
|
31
|
-
- `spotlight-skip`
|
|
28
|
+
- `spotlight-start` → `void`
|
|
29
|
+
- `spotlight-step` → `{ index, step }`
|
|
30
|
+
- `spotlight-end` → `void`
|
|
31
|
+
- `spotlight-skip` → `{ index }`
|
|
32
32
|
|
|
33
33
|
## CSS Custom Properties
|
|
34
34
|
|
|
35
|
-
- `--snice-transition-medium` - Cutout transition speed (
|
|
36
|
-
- `--snice-color-background` - Popover background (
|
|
37
|
-
- `--snice-color-border` - Popover border (
|
|
38
|
-
- `--snice-color-text` - Popover text
|
|
39
|
-
- `--snice-color-primary` - Primary button
|
|
35
|
+
- `--snice-transition-medium` - Cutout transition speed (`250ms`)
|
|
36
|
+
- `--snice-color-background` - Popover background (`rgb(255 255 255)`)
|
|
37
|
+
- `--snice-color-border` - Popover border (`rgb(226 226 226)`)
|
|
38
|
+
- `--snice-color-text` - Popover text (`rgb(23 23 23)`)
|
|
39
|
+
- `--snice-color-primary` - Primary button (`rgb(37 99 235)`)
|
|
40
40
|
- `--snice-shadow-lg` - Popover shadow
|
|
41
|
-
- `--snice-border-radius-lg` - Popover border radius (
|
|
41
|
+
- `--snice-border-radius-lg` - Popover border radius (`0.5rem`)
|
|
42
42
|
|
|
43
|
-
## Usage
|
|
43
|
+
## Basic Usage
|
|
44
44
|
|
|
45
45
|
```html
|
|
46
46
|
<snice-spotlight></snice-spotlight>
|
|
@@ -48,13 +48,18 @@ interface SpotlightStep {
|
|
|
48
48
|
|
|
49
49
|
```typescript
|
|
50
50
|
spotlight.steps = [
|
|
51
|
-
{ target: '#step1', title: 'Welcome', description: '
|
|
52
|
-
{ target: '#step2', title: 'Next', description: '
|
|
53
|
-
{ target: '#step3', title: 'Done', description: 'All set!', position: 'top' }
|
|
51
|
+
{ target: '#step1', title: 'Welcome', description: 'First step', position: 'bottom' },
|
|
52
|
+
{ target: '#step2', title: 'Next', description: 'Continue here', position: 'right' },
|
|
54
53
|
];
|
|
55
54
|
spotlight.start();
|
|
56
55
|
|
|
57
|
-
spotlight.addEventListener('spotlight-end', () =>
|
|
58
|
-
|
|
59
|
-
});
|
|
56
|
+
spotlight.addEventListener('spotlight-end', () => console.log('Tour completed'));
|
|
57
|
+
spotlight.addEventListener('spotlight-skip', (e) => console.log(`Skipped at ${e.detail.index}`));
|
|
60
58
|
```
|
|
59
|
+
|
|
60
|
+
## Accessibility
|
|
61
|
+
|
|
62
|
+
- Keyboard-accessible navigation buttons
|
|
63
|
+
- Focus moves to popover on each step
|
|
64
|
+
- Escape key ends tour
|
|
65
|
+
- Respects `prefers-reduced-motion`
|
|
@@ -4,122 +4,57 @@ Excel-like spreadsheet with formulas, multi-cell selection, undo/redo, column re
|
|
|
4
4
|
|
|
5
5
|
## Properties
|
|
6
6
|
|
|
7
|
-
```
|
|
8
|
-
data: any[][] = []
|
|
9
|
-
columns: SpreadsheetColumn[] = []
|
|
10
|
-
readonly: boolean = false
|
|
7
|
+
```typescript
|
|
8
|
+
data: any[][] = [];
|
|
9
|
+
columns: SpreadsheetColumn[] = [];
|
|
10
|
+
readonly: boolean = false;
|
|
11
11
|
|
|
12
12
|
interface SpreadsheetColumn {
|
|
13
|
-
header: string
|
|
14
|
-
type?: 'text'
|
|
15
|
-
width?: number
|
|
16
|
-
options?: string[] // for 'select' type
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
interface CellPosition {
|
|
20
|
-
row: number
|
|
21
|
-
col: number
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
interface CellRange {
|
|
25
|
-
start: CellPosition
|
|
26
|
-
end: CellPosition
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
interface UndoEntry {
|
|
30
|
-
row: number
|
|
31
|
-
col: number
|
|
32
|
-
oldValue: any
|
|
33
|
-
newValue: any
|
|
13
|
+
header: string;
|
|
14
|
+
type?: 'text'|'number'|'date'|'boolean'|'select';
|
|
15
|
+
width?: number;
|
|
16
|
+
options?: string[]; // for 'select' type
|
|
34
17
|
}
|
|
35
18
|
```
|
|
36
19
|
|
|
37
20
|
## Methods
|
|
38
21
|
|
|
39
|
-
- `getCell(row
|
|
40
|
-
- `setCell(row
|
|
41
|
-
- `getData()` - Get copy of all data
|
|
42
|
-
- `setData(data
|
|
22
|
+
- `getCell(row, col)` → `any` - Get resolved cell value (formulas return computed result)
|
|
23
|
+
- `setCell(row, col, value)` - Set cell value (auto-expands, adds to undo stack)
|
|
24
|
+
- `getData()` → `any[][]` - Get copy of all data
|
|
25
|
+
- `setData(data)` - Replace all data
|
|
43
26
|
|
|
44
27
|
## Events
|
|
45
28
|
|
|
46
|
-
- `cell-change`
|
|
47
|
-
- `cell-select`
|
|
48
|
-
- `row-select`
|
|
49
|
-
- `column-sort`
|
|
50
|
-
|
|
51
|
-
## Formula Support
|
|
52
|
-
|
|
53
|
-
Cells starting with `=` are evaluated. Supported functions:
|
|
54
|
-
- `=SUM(A1:B3)`, `=AVG(A1:A5)`, `=AVERAGE(A1:A5)`
|
|
55
|
-
- `=COUNT(A1:A10)`, `=MIN(A1:A5)`, `=MAX(A1:A5)`
|
|
56
|
-
|
|
57
|
-
## Keyboard Shortcuts
|
|
58
|
-
|
|
59
|
-
- Arrow keys: Navigate cells
|
|
60
|
-
- Shift+Arrow: Extend selection range
|
|
61
|
-
- Shift+Click: Extend selection to clicked cell
|
|
62
|
-
- Enter/F2: Edit selected cell
|
|
63
|
-
- Tab/Shift+Tab: Move to next/previous cell (commits edit, auto-expands grid)
|
|
64
|
-
- Escape: Cancel edit
|
|
65
|
-
- Delete/Backspace: Clear selected cell(s)
|
|
66
|
-
- Ctrl+C/Ctrl+V: Copy/paste (supports tab-separated multi-cell)
|
|
67
|
-
- Ctrl+Z: Undo (up to 100 entries)
|
|
68
|
-
- Ctrl+Y / Ctrl+Shift+Z: Redo
|
|
69
|
-
- Any printable key: Start editing with that character (type-to-edit)
|
|
70
|
-
|
|
71
|
-
## Multi-Cell Selection
|
|
72
|
-
|
|
73
|
-
- Click+drag to select range
|
|
74
|
-
- Shift+click extends from anchor
|
|
75
|
-
- Shift+arrow keys grow selection
|
|
76
|
-
- Selected range: light blue fill; anchor cell: 2px blue border
|
|
77
|
-
- Status bar shows COUNT, SUM, AVG of numeric cells in selection
|
|
78
|
-
|
|
79
|
-
## Column Resizing
|
|
29
|
+
- `cell-change` → `{ row, col, value, oldValue }`
|
|
30
|
+
- `cell-select` → `{ row, col }`
|
|
31
|
+
- `row-select` → `{ row }`
|
|
32
|
+
- `column-sort` → `{ col, direction: 'asc'|'desc' }`
|
|
80
33
|
|
|
81
|
-
|
|
82
|
-
- Min width: 40px
|
|
83
|
-
- Widths stored in internal map
|
|
34
|
+
## CSS Parts
|
|
84
35
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
## Row/Column Add Buttons
|
|
90
|
-
|
|
91
|
-
- "+" row at bottom: appends empty row
|
|
92
|
-
- "+" column at right: appends empty column
|
|
93
|
-
- Auto-expand on Tab (last col) or Enter (last row)
|
|
94
|
-
|
|
95
|
-
## Empty State
|
|
96
|
-
|
|
97
|
-
When data is empty, shows "Double-click or start typing to add data"
|
|
98
|
-
|
|
99
|
-
## Frozen Headers
|
|
100
|
-
|
|
101
|
-
- Row numbers: sticky left (visible during horizontal scroll)
|
|
102
|
-
- Column headers: sticky top
|
|
103
|
-
- Corner cell (top-left): sticky both directions
|
|
104
|
-
|
|
105
|
-
**CSS Parts:**
|
|
106
|
-
- `formula-bar` - The formula bar with cell reference and input
|
|
107
|
-
- `base` - The main spreadsheet grid area
|
|
108
|
-
- `status-bar` - The bottom status bar showing selection stats
|
|
109
|
-
- `context-menu` - The right-click context menu
|
|
36
|
+
- `formula-bar` - Formula bar with cell reference and input
|
|
37
|
+
- `base` - Main spreadsheet grid area
|
|
38
|
+
- `status-bar` - Bottom status bar (selection stats)
|
|
39
|
+
- `context-menu` - Right-click context menu
|
|
110
40
|
|
|
111
41
|
## CSS Custom Properties
|
|
112
42
|
|
|
113
|
-
- `--snice-color-border` - Grid lines (
|
|
114
|
-
- `--snice-color-background` - Cell background (
|
|
43
|
+
- `--snice-color-border` - Grid lines (`rgb(226 226 226)`)
|
|
44
|
+
- `--snice-color-background` - Cell background (`rgb(255 255 255)`)
|
|
115
45
|
- `--snice-color-background-element` - Header/row-number background
|
|
116
|
-
- `--snice-color-
|
|
117
|
-
- `--snice-color-primary
|
|
118
|
-
- `--snice-color-
|
|
46
|
+
- `--snice-color-background-hover` - Row/header hover
|
|
47
|
+
- `--snice-color-primary` - Selected cell border (`rgb(37 99 235)`)
|
|
48
|
+
- `--snice-color-primary-subtle` - Range selection fill
|
|
49
|
+
- `--snice-color-text` - Cell text
|
|
119
50
|
- `--snice-color-text-secondary` - Formula bar cell ref
|
|
120
51
|
- `--snice-color-text-tertiary` - Row numbers, status bar labels
|
|
121
52
|
|
|
122
|
-
##
|
|
53
|
+
## Formula Support
|
|
54
|
+
|
|
55
|
+
Cells starting with `=` are evaluated: `SUM`, `AVG`/`AVERAGE`, `COUNT`, `MIN`, `MAX`. Cell refs use A1 notation.
|
|
56
|
+
|
|
57
|
+
## Basic Usage
|
|
123
58
|
|
|
124
59
|
```html
|
|
125
60
|
<snice-spreadsheet></snice-spreadsheet>
|
|
@@ -141,3 +76,22 @@ sheet.addEventListener('cell-change', (e) => {
|
|
|
141
76
|
console.log(`Cell [${e.detail.row},${e.detail.col}] changed to ${e.detail.value}`);
|
|
142
77
|
});
|
|
143
78
|
```
|
|
79
|
+
|
|
80
|
+
## Keyboard Navigation
|
|
81
|
+
|
|
82
|
+
- Arrow keys: navigate cells
|
|
83
|
+
- Shift+Arrow: extend selection range
|
|
84
|
+
- Enter/F2: edit cell; Escape: cancel
|
|
85
|
+
- Tab/Shift+Tab: next/prev cell (commits edit, auto-expands)
|
|
86
|
+
- Delete/Backspace: clear cell(s)
|
|
87
|
+
- Ctrl+C/V: copy/paste (tab-separated multi-cell)
|
|
88
|
+
- Ctrl+Z: undo; Ctrl+Y: redo (up to 100 entries)
|
|
89
|
+
- Any printable key: type-to-edit
|
|
90
|
+
|
|
91
|
+
## Accessibility
|
|
92
|
+
|
|
93
|
+
- Full keyboard navigation and editing
|
|
94
|
+
- Visible focus indicator on selected cell
|
|
95
|
+
- Frozen row numbers (sticky left) and column headers (sticky top)
|
|
96
|
+
- Context menu: Cut, Copy, Paste, Insert/Delete Row/Column, Clear
|
|
97
|
+
- Auto-expanding grid via "+" buttons and Tab/Enter at edges
|
|
@@ -6,17 +6,13 @@ Coordinated row of KPI cards with trend indicators and responsive grid layout.
|
|
|
6
6
|
|
|
7
7
|
```typescript
|
|
8
8
|
stats: StatItem[] = [];
|
|
9
|
-
columns: number = 0;
|
|
9
|
+
columns: number = 0; // 0 = auto-fit
|
|
10
10
|
variant: 'card'|'minimal'|'bordered' = 'card';
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
## Types
|
|
14
11
|
|
|
15
|
-
```typescript
|
|
16
12
|
interface StatItem {
|
|
17
13
|
label: string;
|
|
18
14
|
value: string | number;
|
|
19
|
-
trend?: 'up'
|
|
15
|
+
trend?: 'up'|'down'|'neutral';
|
|
20
16
|
trendValue?: string;
|
|
21
17
|
icon?: string;
|
|
22
18
|
color?: string;
|
|
@@ -25,14 +21,14 @@ interface StatItem {
|
|
|
25
21
|
|
|
26
22
|
## Events
|
|
27
23
|
|
|
28
|
-
- `stat-click`
|
|
24
|
+
- `stat-click` → `{ stat, index }`
|
|
29
25
|
|
|
30
26
|
## CSS Parts
|
|
31
27
|
|
|
32
28
|
- `base` - Grid container
|
|
33
29
|
- `stat` - Individual stat card
|
|
34
30
|
|
|
35
|
-
## Usage
|
|
31
|
+
## Basic Usage
|
|
36
32
|
|
|
37
33
|
```html
|
|
38
34
|
<snice-stat-group></snice-stat-group>
|
|
@@ -43,16 +39,12 @@ el.stats = [
|
|
|
43
39
|
{ label: 'Revenue', value: '$45,231', trend: 'up', trendValue: '+12.5%' },
|
|
44
40
|
{ label: 'Users', value: '2,338', trend: 'up', trendValue: '+8.2%' },
|
|
45
41
|
{ label: 'Orders', value: '1,245', trend: 'down', trendValue: '-3.1%' },
|
|
46
|
-
{ label: 'Bounce', value: '3.24%', trend: 'neutral', trendValue: '0.0%' }
|
|
47
42
|
];
|
|
48
43
|
```
|
|
49
44
|
|
|
50
45
|
```html
|
|
51
|
-
<!-- Variants -->
|
|
52
46
|
<snice-stat-group variant="minimal"></snice-stat-group>
|
|
53
47
|
<snice-stat-group variant="bordered"></snice-stat-group>
|
|
54
|
-
|
|
55
|
-
<!-- Fixed columns -->
|
|
56
48
|
<snice-stat-group columns="2"></snice-stat-group>
|
|
57
49
|
```
|
|
58
50
|
|
|
@@ -61,13 +53,11 @@ el.stats = [
|
|
|
61
53
|
el.stats = [
|
|
62
54
|
{ label: 'Revenue', value: '$45K', icon: '$', color: 'rgb(22 163 74)', trend: 'up', trendValue: '+12%' }
|
|
63
55
|
];
|
|
56
|
+
|
|
57
|
+
el.addEventListener('stat-click', (e) => console.log(e.detail.stat.label));
|
|
64
58
|
```
|
|
65
59
|
|
|
66
|
-
##
|
|
60
|
+
## Accessibility
|
|
67
61
|
|
|
68
|
-
-
|
|
69
|
-
-
|
|
70
|
-
- Fixed column count option
|
|
71
|
-
- Trend indicators (up/down/neutral) with color coding
|
|
72
|
-
- Icon and color customization per stat
|
|
73
|
-
- Keyboard accessible (Enter/Space to click)
|
|
62
|
+
- Stat cards have `role="button"`, keyboard accessible (Enter/Space)
|
|
63
|
+
- Trend indicators use semantic color coding
|
|
@@ -15,10 +15,6 @@ size: 'small'|'medium'|'large' = 'medium';
|
|
|
15
15
|
wrap: boolean = false; // wrap around at min/max boundaries
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
## Events
|
|
19
|
-
|
|
20
|
-
- `value-change` -> `{ value: number, oldValue: number, component: SniceStepInputElement }`
|
|
21
|
-
|
|
22
18
|
## Methods
|
|
23
19
|
|
|
24
20
|
- `increment()` - Increase value by step
|
|
@@ -26,29 +22,35 @@ wrap: boolean = false; // wrap around at min/max boundaries
|
|
|
26
22
|
- `focus()` - Focus the input
|
|
27
23
|
- `blur()` - Remove focus
|
|
28
24
|
|
|
25
|
+
## Events
|
|
26
|
+
|
|
27
|
+
- `value-change` → `{ value, oldValue, component }`
|
|
28
|
+
|
|
29
29
|
## CSS Parts
|
|
30
30
|
|
|
31
31
|
- `base` - Outer container
|
|
32
32
|
- `decrement-button` - Minus button
|
|
33
33
|
- `increment-button` - Plus button
|
|
34
|
-
- `input` -
|
|
34
|
+
- `input` - Number input field
|
|
35
35
|
|
|
36
|
-
## Usage
|
|
36
|
+
## Basic Usage
|
|
37
37
|
|
|
38
38
|
```html
|
|
39
|
-
<!-- Basic -->
|
|
40
39
|
<snice-step-input value="5"></snice-step-input>
|
|
41
|
-
|
|
42
|
-
<!-- With min/max -->
|
|
43
40
|
<snice-step-input min="0" max="10" value="5" step="1"></snice-step-input>
|
|
44
|
-
|
|
45
|
-
<!-- Wrap around -->
|
|
46
41
|
<snice-step-input min="1" max="12" value="1" wrap></snice-step-input>
|
|
47
|
-
|
|
48
|
-
<!-- Sizes -->
|
|
49
42
|
<snice-step-input size="small"></snice-step-input>
|
|
50
43
|
<snice-step-input size="large"></snice-step-input>
|
|
51
|
-
|
|
52
|
-
<!-- Disabled -->
|
|
53
44
|
<snice-step-input value="3" disabled></snice-step-input>
|
|
54
45
|
```
|
|
46
|
+
|
|
47
|
+
## Keyboard Navigation
|
|
48
|
+
|
|
49
|
+
- ArrowUp: increment by step
|
|
50
|
+
- ArrowDown: decrement by step
|
|
51
|
+
|
|
52
|
+
## Accessibility
|
|
53
|
+
|
|
54
|
+
- Buttons keyboard accessible with focus indicators
|
|
55
|
+
- Direct keyboard entry in input field
|
|
56
|
+
- Buttons disabled at min/max (unless `wrap` is set)
|
|
@@ -10,41 +10,35 @@ currentStep: number = 0; // attr: current-step
|
|
|
10
10
|
orientation: 'horizontal'|'vertical' = 'horizontal';
|
|
11
11
|
clickable: boolean = false;
|
|
12
12
|
|
|
13
|
-
// Step object:
|
|
14
13
|
interface Step {
|
|
15
14
|
label: string;
|
|
16
15
|
description?: string;
|
|
17
|
-
status?: 'pending'|'active'|'completed'|'error';
|
|
16
|
+
status?: 'pending'|'active'|'completed'|'error'; // auto-computed if not set
|
|
18
17
|
}
|
|
19
18
|
```
|
|
20
19
|
|
|
21
|
-
## Slots
|
|
22
|
-
|
|
23
|
-
- `(default)` - `<snice-stepper-panel>` elements (auto show/hide based on currentStep)
|
|
24
|
-
|
|
25
20
|
## Events
|
|
26
21
|
|
|
27
|
-
- `step-change` → `{ previousStep, currentStep, step }` - Cancelable via preventDefault()
|
|
22
|
+
- `step-change` → `{ previousStep, currentStep, step }` - Cancelable via `preventDefault()`
|
|
28
23
|
|
|
29
|
-
##
|
|
24
|
+
## Slots
|
|
30
25
|
|
|
31
|
-
-
|
|
26
|
+
- `(default)` - `<snice-stepper-panel>` elements (auto show/hide based on `currentStep`)
|
|
32
27
|
|
|
33
28
|
## CSS Parts
|
|
34
29
|
|
|
35
30
|
- `container` - Main container
|
|
36
|
-
- `step` - Individual step
|
|
37
|
-
- `step-indicator` - Circular indicator
|
|
31
|
+
- `step` - Individual step wrapper
|
|
32
|
+
- `step-indicator` - Circular indicator (number/checkmark)
|
|
38
33
|
- `step-content` - Label + description wrapper
|
|
39
34
|
- `step-label` - Step label text
|
|
40
35
|
- `step-description` - Description text
|
|
41
36
|
- `step-connector` - Line between steps
|
|
42
37
|
- `panels` - Panels container (wraps slotted content)
|
|
43
38
|
|
|
44
|
-
## Usage
|
|
39
|
+
## Basic Usage
|
|
45
40
|
|
|
46
41
|
```html
|
|
47
|
-
<!-- Basic -->
|
|
48
42
|
<snice-stepper></snice-stepper>
|
|
49
43
|
```
|
|
50
44
|
|
|
@@ -66,14 +60,19 @@ stepper.currentStep = 1;
|
|
|
66
60
|
|
|
67
61
|
<!-- Vertical with descriptions -->
|
|
68
62
|
<snice-stepper orientation="vertical"></snice-stepper>
|
|
69
|
-
|
|
70
|
-
<!-- Error state -->
|
|
71
63
|
```
|
|
72
64
|
|
|
73
65
|
```typescript
|
|
66
|
+
// Error state
|
|
74
67
|
stepper.steps = [
|
|
75
68
|
{ label: 'Upload', status: 'completed' },
|
|
76
69
|
{ label: 'Validate', status: 'error' },
|
|
77
70
|
{ label: 'Process', status: 'pending' }
|
|
78
71
|
];
|
|
79
72
|
```
|
|
73
|
+
|
|
74
|
+
## Accessibility
|
|
75
|
+
|
|
76
|
+
- Clickable steps are keyboard accessible (Enter/Space)
|
|
77
|
+
- Completed steps show checkmark; error steps use semantic color
|
|
78
|
+
- Navigate via `currentStep` property
|
|
@@ -1,27 +1,23 @@
|
|
|
1
1
|
# snice-switch
|
|
2
2
|
|
|
3
|
-
Toggle switch input for boolean selections.
|
|
3
|
+
Toggle switch input for boolean selections.
|
|
4
4
|
|
|
5
5
|
## Properties
|
|
6
6
|
|
|
7
7
|
```typescript
|
|
8
8
|
checked: boolean = false;
|
|
9
9
|
disabled: boolean = false;
|
|
10
|
+
loading: boolean = false;
|
|
10
11
|
required: boolean = false;
|
|
11
12
|
invalid: boolean = false;
|
|
12
13
|
size: 'small'|'medium'|'large' = 'medium';
|
|
13
14
|
name: string = '';
|
|
14
15
|
value: string = 'on';
|
|
15
16
|
label: string = '';
|
|
16
|
-
labelOn: string = '';
|
|
17
|
-
labelOff: string = '';
|
|
18
|
-
loading: boolean = false;
|
|
17
|
+
labelOn: string = ''; // attr: label-on
|
|
18
|
+
labelOff: string = ''; // attr: label-off
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
## Events
|
|
22
|
-
|
|
23
|
-
- `switch-change` → `{ checked, switch }`
|
|
24
|
-
|
|
25
21
|
## Methods
|
|
26
22
|
|
|
27
23
|
- `toggle()` - Toggle switch state
|
|
@@ -29,6 +25,10 @@ loading: boolean = false;
|
|
|
29
25
|
- `blur()` - Remove focus
|
|
30
26
|
- `click()` - Programmatic click
|
|
31
27
|
|
|
28
|
+
## Events
|
|
29
|
+
|
|
30
|
+
- `switch-change` → `{ checked, switch }`
|
|
31
|
+
|
|
32
32
|
## CSS Parts
|
|
33
33
|
|
|
34
34
|
- `input` - Hidden input element
|
|
@@ -37,7 +37,7 @@ loading: boolean = false;
|
|
|
37
37
|
- `spinner` - Loading spinner
|
|
38
38
|
- `label` - Label text
|
|
39
39
|
|
|
40
|
-
## Usage
|
|
40
|
+
## Basic Usage
|
|
41
41
|
|
|
42
42
|
```html
|
|
43
43
|
<snice-switch label="Enable notifications"></snice-switch>
|
|
@@ -47,3 +47,9 @@ loading: boolean = false;
|
|
|
47
47
|
<snice-switch loading label="Saving..."></snice-switch>
|
|
48
48
|
<snice-switch disabled></snice-switch>
|
|
49
49
|
```
|
|
50
|
+
|
|
51
|
+
## Accessibility
|
|
52
|
+
|
|
53
|
+
- `role="switch"` with `aria-checked`
|
|
54
|
+
- Space key to toggle
|
|
55
|
+
- Visible focus ring on keyboard navigation
|