snice 4.28.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 +1 -1
- package/dist/cdn/badge/snice-badge.min.js +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 +2 -2
- package/dist/cdn/button/snice-button.js.map +1 -1
- package/dist/cdn/button/snice-button.min.js +2 -2
- 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 +2 -2
- package/dist/cdn/login/snice-login.js.map +1 -1
- package/dist/cdn/login/snice-login.min.js +2 -2
- 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 +73 -5
- 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 +73 -4
- package/dist/cdn/runtime/snice-runtime.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.min.js +7 -7
- 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 +2 -2
- package/dist/cdn/table/snice-table.js.map +1 -1
- package/dist/cdn/table/snice-table.min.js +2 -2
- 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/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.js +1 -1
- package/dist/components/button/snice-button.js.map +1 -1
- package/dist/create-request-handler.d.ts +42 -0
- package/dist/index.cjs +70 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.esm.js +70 -2
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +70 -1
- package/dist/index.iife.js.map +1 -1
- 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 +1 -1
|
@@ -1,22 +1,19 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/step-input.md -->
|
|
2
2
|
|
|
3
3
|
# Step Input
|
|
4
|
-
`<snice-step-input>`
|
|
5
4
|
|
|
6
|
-
A numeric stepper control with visible increment and decrement buttons flanking an input field.
|
|
5
|
+
A numeric stepper control with visible increment and decrement buttons flanking an input field. Supports value constraints, wrapping, and keyboard input.
|
|
7
6
|
|
|
8
|
-
##
|
|
7
|
+
## Table of Contents
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
<script src="snice-step-input.min.js"></script>
|
|
19
|
-
```
|
|
9
|
+
- [Properties](#properties)
|
|
10
|
+
- [Methods](#methods)
|
|
11
|
+
- [Events](#events)
|
|
12
|
+
- [CSS Parts](#css-parts)
|
|
13
|
+
- [Basic Usage](#basic-usage)
|
|
14
|
+
- [Examples](#examples)
|
|
15
|
+
- [Keyboard Navigation](#keyboard-navigation)
|
|
16
|
+
- [Accessibility](#accessibility)
|
|
20
17
|
|
|
21
18
|
## Properties
|
|
22
19
|
|
|
@@ -27,18 +24,18 @@ import 'snice/components/step-input/snice-step-input';
|
|
|
27
24
|
| `max` | `number` | `Infinity` | Maximum allowed value |
|
|
28
25
|
| `step` | `number` | `1` | Increment/decrement amount |
|
|
29
26
|
| `disabled` | `boolean` | `false` | Disables all interaction |
|
|
30
|
-
| `readonly` | `boolean` | `false` | Prevents value changes |
|
|
27
|
+
| `readonly` | `boolean` | `false` | Prevents value changes (input remains focusable) |
|
|
31
28
|
| `size` | `'small' \| 'medium' \| 'large'` | `'medium'` | Control size |
|
|
32
29
|
| `wrap` | `boolean` | `false` | Wrap around at min/max boundaries |
|
|
33
30
|
|
|
34
31
|
## Methods
|
|
35
32
|
|
|
36
|
-
| Method | Arguments | Description |
|
|
37
|
-
|
|
38
|
-
| `increment()` | -- | Increase value by step |
|
|
39
|
-
| `decrement()` | -- | Decrease value by step |
|
|
40
|
-
| `focus()` | `options?: FocusOptions` | Focus the input field |
|
|
41
|
-
| `blur()` | -- | Remove focus |
|
|
33
|
+
| Method | Arguments | Returns | Description |
|
|
34
|
+
|--------|-----------|---------|-------------|
|
|
35
|
+
| `increment()` | -- | `void` | Increase value by step |
|
|
36
|
+
| `decrement()` | -- | `void` | Decrease value by step |
|
|
37
|
+
| `focus()` | `options?: FocusOptions` | `void` | Focus the input field |
|
|
38
|
+
| `blur()` | -- | `void` | Remove focus |
|
|
42
39
|
|
|
43
40
|
## Events
|
|
44
41
|
|
|
@@ -69,7 +66,7 @@ import 'snice/components/step-input/snice-step-input';
|
|
|
69
66
|
|
|
70
67
|
### Sizes
|
|
71
68
|
|
|
72
|
-
Use
|
|
69
|
+
Use `size` to change the stepper's dimensions.
|
|
73
70
|
|
|
74
71
|
```html
|
|
75
72
|
<snice-step-input size="small" value="3"></snice-step-input>
|
|
@@ -79,7 +76,7 @@ Use the `size` attribute to change the stepper's size.
|
|
|
79
76
|
|
|
80
77
|
### Min, Max, and Step
|
|
81
78
|
|
|
82
|
-
Use
|
|
79
|
+
Use `min`, `max`, and `step` to constrain and control the value range.
|
|
83
80
|
|
|
84
81
|
```html
|
|
85
82
|
<snice-step-input min="0" max="10" step="1" value="5"></snice-step-input>
|
|
@@ -88,38 +85,44 @@ Use the `min`, `max`, and `step` attributes to constrain and control the value r
|
|
|
88
85
|
|
|
89
86
|
### Wrap Around
|
|
90
87
|
|
|
91
|
-
Set
|
|
88
|
+
Set `wrap` to cycle through values when reaching the min or max boundary.
|
|
92
89
|
|
|
93
90
|
```html
|
|
94
91
|
<snice-step-input min="1" max="12" value="12" wrap></snice-step-input>
|
|
95
92
|
```
|
|
96
93
|
|
|
97
|
-
### Disabled
|
|
98
|
-
|
|
99
|
-
Set the `disabled` attribute to prevent user interaction.
|
|
94
|
+
### Disabled and Read Only
|
|
100
95
|
|
|
101
96
|
```html
|
|
102
97
|
<snice-step-input value="3" disabled></snice-step-input>
|
|
98
|
+
<snice-step-input value="42" readonly></snice-step-input>
|
|
103
99
|
```
|
|
104
100
|
|
|
105
|
-
###
|
|
101
|
+
### Programmatic Control
|
|
102
|
+
|
|
103
|
+
```typescript
|
|
104
|
+
const stepper = document.querySelector('snice-step-input');
|
|
105
|
+
stepper.increment(); // value becomes 6
|
|
106
|
+
stepper.decrement(); // value becomes 5
|
|
107
|
+
```
|
|
106
108
|
|
|
107
|
-
|
|
109
|
+
### Event Handling
|
|
108
110
|
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
+
```typescript
|
|
112
|
+
stepper.addEventListener('value-change', (e) => {
|
|
113
|
+
console.log(`Changed from ${e.detail.oldValue} to ${e.detail.value}`);
|
|
114
|
+
});
|
|
111
115
|
```
|
|
112
116
|
|
|
113
|
-
|
|
117
|
+
## Keyboard Navigation
|
|
114
118
|
|
|
115
|
-
|
|
119
|
+
| Key | Action |
|
|
120
|
+
|-----|--------|
|
|
121
|
+
| `ArrowUp` | Increment by step |
|
|
122
|
+
| `ArrowDown` | Decrement by step |
|
|
116
123
|
|
|
117
|
-
|
|
118
|
-
<snice-step-input id="qty" min="1" max="99" value="1"></snice-step-input>
|
|
124
|
+
## Accessibility
|
|
119
125
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
stepper.decrement(); // value becomes 1
|
|
124
|
-
</script>
|
|
125
|
-
```
|
|
126
|
+
- Buttons are keyboard accessible with visible focus indicators
|
|
127
|
+
- Input field accepts direct keyboard entry
|
|
128
|
+
- Disabled buttons at min/max boundaries (unless `wrap` is set)
|
|
@@ -1,22 +1,18 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/stepper.md -->
|
|
2
2
|
|
|
3
3
|
# Stepper
|
|
4
|
-
`<snice-stepper>`
|
|
5
4
|
|
|
6
|
-
A step indicator for visualizing multi-step processes, wizards, and workflows.
|
|
5
|
+
A step indicator for visualizing multi-step processes, wizards, and workflows. Supports horizontal and vertical layouts, clickable navigation, step descriptions, and error states.
|
|
7
6
|
|
|
8
|
-
##
|
|
7
|
+
## Table of Contents
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
<script src="snice-runtime.min.js"></script>
|
|
18
|
-
<script src="snice-stepper.min.js"></script>
|
|
19
|
-
```
|
|
9
|
+
- [Properties](#properties)
|
|
10
|
+
- [Events](#events)
|
|
11
|
+
- [Slots](#slots)
|
|
12
|
+
- [CSS Parts](#css-parts)
|
|
13
|
+
- [Basic Usage](#basic-usage)
|
|
14
|
+
- [Examples](#examples)
|
|
15
|
+
- [Accessibility](#accessibility)
|
|
20
16
|
|
|
21
17
|
## Properties
|
|
22
18
|
|
|
@@ -27,13 +23,13 @@ import 'snice/components/stepper/snice-stepper';
|
|
|
27
23
|
| `orientation` | `'horizontal' \| 'vertical'` | `'horizontal'` | Layout direction |
|
|
28
24
|
| `clickable` | `boolean` | `false` | Allow clicking steps for navigation |
|
|
29
25
|
|
|
30
|
-
### Step
|
|
26
|
+
### Step
|
|
31
27
|
|
|
32
28
|
```typescript
|
|
33
29
|
interface Step {
|
|
34
30
|
label: string;
|
|
35
31
|
description?: string;
|
|
36
|
-
status?: 'pending' | 'active' | 'completed' | 'error';
|
|
32
|
+
status?: 'pending' | 'active' | 'completed' | 'error'; // auto-computed if not set
|
|
37
33
|
}
|
|
38
34
|
```
|
|
39
35
|
|
|
@@ -41,39 +37,26 @@ interface Step {
|
|
|
41
37
|
|
|
42
38
|
| Event | Detail | Description |
|
|
43
39
|
|-------|--------|-------------|
|
|
44
|
-
| `step-change` | `{ previousStep: number, currentStep: number, step: Step }` | A step was clicked (clickable mode only) |
|
|
40
|
+
| `step-change` | `{ previousStep: number, currentStep: number, step: Step }` | A step was clicked (clickable mode only). Cancelable via `preventDefault()`. |
|
|
45
41
|
|
|
46
42
|
## Slots
|
|
47
43
|
|
|
48
44
|
| Name | Description |
|
|
49
45
|
|------|-------------|
|
|
50
|
-
| (default) | `<snice-stepper-panel>` elements for step content |
|
|
46
|
+
| (default) | `<snice-stepper-panel>` elements for step content (auto show/hide based on `currentStep`) |
|
|
51
47
|
|
|
52
48
|
## CSS Parts
|
|
53
49
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
|
57
|
-
|
|
58
|
-
| `
|
|
59
|
-
| `step` |
|
|
60
|
-
| `step-
|
|
61
|
-
| `step-
|
|
62
|
-
| `step-
|
|
63
|
-
| `
|
|
64
|
-
| `step-connector` | `<div>` | Line connecting steps |
|
|
65
|
-
| `panels` | `<div>` | Container wrapping slotted panel content |
|
|
66
|
-
|
|
67
|
-
```css
|
|
68
|
-
snice-stepper::part(step-indicator) {
|
|
69
|
-
width: 40px;
|
|
70
|
-
height: 40px;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
snice-stepper::part(step-connector) {
|
|
74
|
-
background: #3b82f6;
|
|
75
|
-
}
|
|
76
|
-
```
|
|
50
|
+
| Part | Description |
|
|
51
|
+
|------|-------------|
|
|
52
|
+
| `container` | Main stepper container |
|
|
53
|
+
| `step` | Individual step wrapper |
|
|
54
|
+
| `step-indicator` | Circular step number/checkmark |
|
|
55
|
+
| `step-content` | Label and description wrapper |
|
|
56
|
+
| `step-label` | Step label text |
|
|
57
|
+
| `step-description` | Step description text |
|
|
58
|
+
| `step-connector` | Line connecting steps |
|
|
59
|
+
| `panels` | Container wrapping slotted panel content |
|
|
77
60
|
|
|
78
61
|
## Basic Usage
|
|
79
62
|
|
|
@@ -100,79 +83,55 @@ import 'snice/components/stepper/snice-stepper';
|
|
|
100
83
|
|
|
101
84
|
### Vertical
|
|
102
85
|
|
|
103
|
-
Use
|
|
86
|
+
Use `orientation="vertical"` for a vertical layout.
|
|
104
87
|
|
|
105
88
|
```html
|
|
106
|
-
<snice-stepper
|
|
107
|
-
|
|
108
|
-
<script>
|
|
109
|
-
document.getElementById('onboarding').steps = [
|
|
110
|
-
{ label: 'Create Account' },
|
|
111
|
-
{ label: 'Profile Setup' },
|
|
112
|
-
{ label: 'Preferences' },
|
|
113
|
-
{ label: 'Complete' }
|
|
114
|
-
];
|
|
115
|
-
document.getElementById('onboarding').currentStep = 2;
|
|
116
|
-
</script>
|
|
89
|
+
<snice-stepper orientation="vertical"></snice-stepper>
|
|
117
90
|
```
|
|
118
91
|
|
|
119
92
|
### With Descriptions
|
|
120
93
|
|
|
121
94
|
Add optional `description` text to each step.
|
|
122
95
|
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
{ label: 'Shipping', description: 'Enter delivery address' },
|
|
130
|
-
{ label: 'Payment', description: 'Secure checkout' }
|
|
131
|
-
];
|
|
132
|
-
</script>
|
|
96
|
+
```typescript
|
|
97
|
+
stepper.steps = [
|
|
98
|
+
{ label: 'Order Details', description: 'Review your items' },
|
|
99
|
+
{ label: 'Shipping', description: 'Enter delivery address' },
|
|
100
|
+
{ label: 'Payment', description: 'Secure checkout' }
|
|
101
|
+
];
|
|
133
102
|
```
|
|
134
103
|
|
|
135
104
|
### Interactive Navigation
|
|
136
105
|
|
|
137
|
-
Set
|
|
106
|
+
Set `clickable` to allow clicking between steps. Use `preventDefault()` to block navigation.
|
|
138
107
|
|
|
139
108
|
```html
|
|
140
|
-
<snice-stepper
|
|
141
|
-
|
|
142
|
-
<script>
|
|
143
|
-
const wizard = document.getElementById('wizard');
|
|
144
|
-
wizard.steps = [
|
|
145
|
-
{ label: 'Account' },
|
|
146
|
-
{ label: 'Profile' },
|
|
147
|
-
{ label: 'Complete' }
|
|
148
|
-
];
|
|
109
|
+
<snice-stepper clickable></snice-stepper>
|
|
110
|
+
```
|
|
149
111
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
});
|
|
153
|
-
|
|
112
|
+
```typescript
|
|
113
|
+
stepper.addEventListener('step-change', (e) => {
|
|
114
|
+
console.log(`Moving from step ${e.detail.previousStep} to ${e.detail.currentStep}`);
|
|
115
|
+
// e.preventDefault(); // block navigation if needed
|
|
116
|
+
});
|
|
154
117
|
```
|
|
155
118
|
|
|
156
119
|
### Error State
|
|
157
120
|
|
|
158
121
|
Set `status: 'error'` on a step to highlight failures.
|
|
159
122
|
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
{ label: 'Process', status: 'pending' }
|
|
168
|
-
];
|
|
169
|
-
document.getElementById('validation').currentStep = 1;
|
|
170
|
-
</script>
|
|
123
|
+
```typescript
|
|
124
|
+
stepper.steps = [
|
|
125
|
+
{ label: 'Upload', status: 'completed' },
|
|
126
|
+
{ label: 'Validate', status: 'error' },
|
|
127
|
+
{ label: 'Process', status: 'pending' }
|
|
128
|
+
];
|
|
129
|
+
stepper.currentStep = 1;
|
|
171
130
|
```
|
|
172
131
|
|
|
173
132
|
### With Panels
|
|
174
133
|
|
|
175
|
-
Use `<snice-stepper-panel>` children for content that auto-shows based on the active step.
|
|
134
|
+
Use `<snice-stepper-panel>` children for content that auto-shows/hides based on the active step.
|
|
176
135
|
|
|
177
136
|
```html
|
|
178
137
|
<snice-stepper id="signup" clickable></snice-stepper>
|
|
@@ -200,3 +159,10 @@ Use `<snice-stepper-panel>` children for content that auto-shows based on the ac
|
|
|
200
159
|
];
|
|
201
160
|
</script>
|
|
202
161
|
```
|
|
162
|
+
|
|
163
|
+
## Accessibility
|
|
164
|
+
|
|
165
|
+
- Steps with `clickable` are keyboard accessible (Enter/Space to activate)
|
|
166
|
+
- Completed steps show a checkmark indicator
|
|
167
|
+
- Error steps use semantic color coding
|
|
168
|
+
- Navigate via `currentStep` property (increment/decrement/set)
|
|
@@ -1,22 +1,18 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/switch.md -->
|
|
2
2
|
|
|
3
3
|
# Switch
|
|
4
|
-
`<snice-switch>`
|
|
5
4
|
|
|
6
|
-
A toggle switch input for boolean selections.
|
|
5
|
+
A toggle switch input for boolean selections. Supports on/off labels, form integration, and loading state.
|
|
7
6
|
|
|
8
|
-
##
|
|
7
|
+
## Table of Contents
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
<script src="snice-runtime.min.js"></script>
|
|
18
|
-
<script src="snice-switch.min.js"></script>
|
|
19
|
-
```
|
|
9
|
+
- [Properties](#properties)
|
|
10
|
+
- [Methods](#methods)
|
|
11
|
+
- [Events](#events)
|
|
12
|
+
- [CSS Parts](#css-parts)
|
|
13
|
+
- [Basic Usage](#basic-usage)
|
|
14
|
+
- [Examples](#examples)
|
|
15
|
+
- [Accessibility](#accessibility)
|
|
20
16
|
|
|
21
17
|
## Properties
|
|
22
18
|
|
|
@@ -24,7 +20,7 @@ import 'snice/components/switch/snice-switch';
|
|
|
24
20
|
|----------|------|---------|-------------|
|
|
25
21
|
| `checked` | `boolean` | `false` | Whether the switch is on |
|
|
26
22
|
| `disabled` | `boolean` | `false` | Disables the switch |
|
|
27
|
-
| `loading` | `boolean` | `false` | Shows loading spinner |
|
|
23
|
+
| `loading` | `boolean` | `false` | Shows loading spinner and disables the switch |
|
|
28
24
|
| `required` | `boolean` | `false` | Makes the switch required |
|
|
29
25
|
| `invalid` | `boolean` | `false` | Shows invalid state |
|
|
30
26
|
| `size` | `'small' \| 'medium' \| 'large'` | `'medium'` | Size variant |
|
|
@@ -36,12 +32,12 @@ import 'snice/components/switch/snice-switch';
|
|
|
36
32
|
|
|
37
33
|
## Methods
|
|
38
34
|
|
|
39
|
-
| Method | Arguments | Description |
|
|
40
|
-
|
|
41
|
-
| `toggle()` | -- | Toggle the switch state |
|
|
42
|
-
| `focus()` | `options?: FocusOptions` | Focus the switch |
|
|
43
|
-
| `blur()` | -- | Remove focus |
|
|
44
|
-
| `click()` | -- | Programmatically click the switch |
|
|
35
|
+
| Method | Arguments | Returns | Description |
|
|
36
|
+
|--------|-----------|---------|-------------|
|
|
37
|
+
| `toggle()` | -- | `void` | Toggle the switch state |
|
|
38
|
+
| `focus()` | `options?: FocusOptions` | `void` | Focus the switch |
|
|
39
|
+
| `blur()` | -- | `void` | Remove focus |
|
|
40
|
+
| `click()` | -- | `void` | Programmatically click the switch |
|
|
45
41
|
|
|
46
42
|
## Events
|
|
47
43
|
|
|
@@ -73,12 +69,12 @@ import 'snice/components/switch/snice-switch';
|
|
|
73
69
|
|
|
74
70
|
### Sizes
|
|
75
71
|
|
|
76
|
-
Use
|
|
72
|
+
Use `size` to change the switch dimensions.
|
|
77
73
|
|
|
78
74
|
```html
|
|
79
|
-
<snice-switch size="small" label="Small
|
|
80
|
-
<snice-switch size="medium" label="Medium
|
|
81
|
-
<snice-switch size="large" label="Large
|
|
75
|
+
<snice-switch size="small" label="Small"></snice-switch>
|
|
76
|
+
<snice-switch size="medium" label="Medium"></snice-switch>
|
|
77
|
+
<snice-switch size="large" label="Large"></snice-switch>
|
|
82
78
|
```
|
|
83
79
|
|
|
84
80
|
### States
|
|
@@ -86,26 +82,27 @@ Use the `size` attribute to change the switch size.
|
|
|
86
82
|
```html
|
|
87
83
|
<snice-switch checked label="Enabled"></snice-switch>
|
|
88
84
|
<snice-switch disabled label="Disabled"></snice-switch>
|
|
89
|
-
<snice-switch invalid label="Invalid
|
|
85
|
+
<snice-switch invalid label="Invalid"></snice-switch>
|
|
86
|
+
<snice-switch loading label="Saving..."></snice-switch>
|
|
90
87
|
```
|
|
91
88
|
|
|
92
89
|
### With On/Off Labels
|
|
93
90
|
|
|
94
|
-
Use
|
|
91
|
+
Use `label-on` and `label-off` for text inside the switch track.
|
|
95
92
|
|
|
96
93
|
```html
|
|
97
94
|
<snice-switch label="Dark mode" label-on="ON" label-off="OFF"></snice-switch>
|
|
98
95
|
```
|
|
99
96
|
|
|
100
|
-
###
|
|
97
|
+
### Form Integration
|
|
101
98
|
|
|
102
|
-
The switch contains
|
|
99
|
+
The switch contains an internal `<input type="checkbox">` that participates in form submission when `name` is set.
|
|
103
100
|
|
|
104
101
|
```html
|
|
105
102
|
<form id="settings-form">
|
|
106
103
|
<snice-switch name="notifications" value="enabled" label="Email notifications" required></snice-switch>
|
|
107
|
-
<snice-switch name="newsletter" value="subscribed" label="
|
|
108
|
-
<button type="submit">Save
|
|
104
|
+
<snice-switch name="newsletter" value="subscribed" label="Newsletter"></snice-switch>
|
|
105
|
+
<button type="submit">Save</button>
|
|
109
106
|
</form>
|
|
110
107
|
|
|
111
108
|
<script>
|
|
@@ -119,12 +116,15 @@ The switch contains a native `<input type="checkbox">` internally, which partici
|
|
|
119
116
|
|
|
120
117
|
### Event Handling
|
|
121
118
|
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
document.getElementById('feature-switch').addEventListener('switch-change', (e) => {
|
|
127
|
-
console.log('Switch is', e.detail.checked ? 'on' : 'off');
|
|
128
|
-
});
|
|
129
|
-
</script>
|
|
119
|
+
```typescript
|
|
120
|
+
el.addEventListener('switch-change', (e) => {
|
|
121
|
+
console.log('Switch is', e.detail.checked ? 'on' : 'off');
|
|
122
|
+
});
|
|
130
123
|
```
|
|
124
|
+
|
|
125
|
+
## Accessibility
|
|
126
|
+
|
|
127
|
+
- Keyboard toggle with Space key
|
|
128
|
+
- Visible focus ring on keyboard navigation
|
|
129
|
+
- `role="switch"` with `aria-checked` state
|
|
130
|
+
- Loading state disables interaction and shows a spinner
|
package/docs/components/table.md
CHANGED
|
@@ -1,22 +1,18 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/table.md -->
|
|
2
2
|
|
|
3
3
|
# Table
|
|
4
4
|
`<snice-table>`
|
|
5
5
|
|
|
6
6
|
Displays tabular data with sorting, filtering, search, selection, pagination, column resize, column menu, tree data, master-detail, toolbar, and 20+ specialized column types.
|
|
7
7
|
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
```html
|
|
17
|
-
<script src="snice-runtime.min.js"></script>
|
|
18
|
-
<script src="snice-table.min.js"></script>
|
|
19
|
-
```
|
|
8
|
+
## Table of Contents
|
|
9
|
+
- [Properties](#properties)
|
|
10
|
+
- [Column Definition](#column-definition)
|
|
11
|
+
- [Methods](#methods)
|
|
12
|
+
- [Events](#events)
|
|
13
|
+
- [Slots](#slots)
|
|
14
|
+
- [Basic Usage](#basic-usage)
|
|
15
|
+
- [Examples](#examples)
|
|
20
16
|
|
|
21
17
|
## Properties
|
|
22
18
|
|
|
@@ -45,6 +41,8 @@ import 'snice/components/table/snice-table';
|
|
|
45
41
|
| `currentPage` (attr: `current-page`) | `number` | `1` | Current page number |
|
|
46
42
|
| `totalItems` (attr: `total-items`) | `number` | `0` | Total item count (server mode) |
|
|
47
43
|
| `pageSizes` | `number[]` | `[10, 25, 50, 100]` | Available page size options (JS only) |
|
|
44
|
+
| `columns` | `any[]` | `[]` | Column definitions (JS only) |
|
|
45
|
+
| `data` | `any[]` | `[]` | Row data (JS only) |
|
|
48
46
|
|
|
49
47
|
## Column Definition
|
|
50
48
|
|
|
@@ -59,10 +57,13 @@ interface ColumnDefinition {
|
|
|
59
57
|
align?: 'left' | 'center' | 'right';
|
|
60
58
|
width?: string;
|
|
61
59
|
sortable?: boolean;
|
|
62
|
-
resizable?: boolean;
|
|
63
|
-
reorderable?: boolean;
|
|
64
|
-
hideable?: boolean;
|
|
65
|
-
pinnable?: boolean;
|
|
60
|
+
resizable?: boolean;
|
|
61
|
+
reorderable?: boolean;
|
|
62
|
+
hideable?: boolean;
|
|
63
|
+
pinnable?: boolean;
|
|
64
|
+
pinned?: 'left' | 'right' | false;
|
|
65
|
+
editable?: boolean;
|
|
66
|
+
exportable?: boolean;
|
|
66
67
|
formatter?: (value: any, row?: any) => string;
|
|
67
68
|
numberFormat?: { decimals?, thousandsSeparator?, prefix?, suffix?, negativeStyle? };
|
|
68
69
|
ratingFormat?: { max?, color? };
|
|
@@ -133,6 +134,10 @@ interface ColumnDefinition {
|
|
|
133
134
|
|
|
134
135
|
## Basic Usage
|
|
135
136
|
|
|
137
|
+
```typescript
|
|
138
|
+
import 'snice/components/table/snice-table';
|
|
139
|
+
```
|
|
140
|
+
|
|
136
141
|
```javascript
|
|
137
142
|
table.setColumns([
|
|
138
143
|
{ key: 'name', label: 'Name', sortable: true },
|
|
@@ -184,7 +189,7 @@ Sparklines and progress bars support per-row color via object values:
|
|
|
184
189
|
```
|
|
185
190
|
|
|
186
191
|
Set `colorize: true` on `progressFormat` to auto-color based on value:
|
|
187
|
-
- Green (
|
|
192
|
+
- Green (>=70%), Yellow (>=40%), Red (<40%)
|
|
188
193
|
|
|
189
194
|
### Toolbar
|
|
190
195
|
|
|
@@ -197,8 +202,6 @@ table.setToolbar({
|
|
|
197
202
|
});
|
|
198
203
|
```
|
|
199
204
|
|
|
200
|
-
The sort and filter buttons open modal dialogs using `snice-modal` with `snice-select` and `snice-input` components.
|
|
201
|
-
|
|
202
205
|
### Column Menu (Right-Click)
|
|
203
206
|
|
|
204
207
|
Enable with `column-menu` attribute. Right-click any column header for:
|
|
@@ -210,12 +213,11 @@ Enable with `column-menu` attribute. Right-click any column header for:
|
|
|
210
213
|
|
|
211
214
|
### Column Resize
|
|
212
215
|
|
|
213
|
-
Enable with `column-resize` attribute. Drag the right edge of any column header to resize. Double-click the resize handle to auto-size to content.
|
|
216
|
+
Enable with `column-resize` attribute. Drag the right edge of any column header to resize. Double-click the resize handle to auto-size to content.
|
|
214
217
|
|
|
215
218
|
### Filter Model (MUI X Pro Compatible)
|
|
216
219
|
|
|
217
220
|
```javascript
|
|
218
|
-
// Set filters programmatically
|
|
219
221
|
table.setFilterModel({
|
|
220
222
|
filters: [
|
|
221
223
|
{ column: 'name', operator: 'contains', value: 'john' },
|
|
@@ -234,9 +236,9 @@ table.setFilterModel({
|
|
|
234
236
|
|
|
235
237
|
```javascript
|
|
236
238
|
table.setTreeData({
|
|
237
|
-
getPath: (row) => row.path,
|
|
238
|
-
groupColumn: 'name',
|
|
239
|
-
defaultExpansionDepth: 1
|
|
239
|
+
getPath: (row) => row.path,
|
|
240
|
+
groupColumn: 'name',
|
|
241
|
+
defaultExpansionDepth: 1
|
|
240
242
|
});
|
|
241
243
|
|
|
242
244
|
table.setData([
|
|
@@ -246,12 +248,6 @@ table.setData([
|
|
|
246
248
|
]);
|
|
247
249
|
```
|
|
248
250
|
|
|
249
|
-
Clicking either the caret icon or the parent node text will expand/collapse.
|
|
250
|
-
|
|
251
|
-
### Select-All with Filters
|
|
252
|
-
|
|
253
|
-
When filters are active, the select-all checkbox only selects the visible/filtered rows — not all data. This matches MUI X Pro behavior.
|
|
254
|
-
|
|
255
251
|
### Declarative Columns and Rows
|
|
256
252
|
|
|
257
253
|
```html
|
|
@@ -296,7 +292,6 @@ class UserTableController implements IController {
|
|
|
296
292
|
|
|
297
293
|
@respond('table/data')
|
|
298
294
|
async getTableData(params) {
|
|
299
|
-
// params includes: search, sort, filter, selector, page, pageSize
|
|
300
295
|
const response = await fetch(`/api/users?search=${params.search}`);
|
|
301
296
|
const json = await response.json();
|
|
302
297
|
return { data: json.users, total: json.total };
|