snice 4.27.0 → 4.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/adapters/react/action-bar.d.ts +30 -0
- package/adapters/react/action-bar.d.ts.map +1 -0
- package/adapters/react/action-bar.js +24 -0
- package/adapters/react/action-bar.js.map +1 -0
- package/adapters/react/action-bar.tsx +38 -0
- package/adapters/react/binpack.d.ts +35 -0
- package/adapters/react/binpack.d.ts.map +1 -0
- package/adapters/react/binpack.js +24 -0
- package/adapters/react/binpack.js.map +1 -0
- package/adapters/react/binpack.tsx +43 -0
- package/adapters/react/components.d.ts +4 -0
- package/adapters/react/components.d.ts.map +1 -1
- package/adapters/react/components.js +2 -0
- package/adapters/react/components.js.map +1 -1
- package/adapters/react/components.ts +4 -0
- package/adapters/react/useRequestHandler.d.ts +56 -0
- package/adapters/react/useRequestHandler.js +103 -0
- package/adapters/react/useRequestHandler.js.map +1 -0
- package/dist/cdn/accordion/snice-accordion.js +1 -1
- package/dist/cdn/accordion/snice-accordion.min.js +1 -1
- package/dist/cdn/action-bar/README.md +27 -0
- package/dist/cdn/action-bar/snice-action-bar.js +249 -0
- package/dist/cdn/action-bar/snice-action-bar.js.map +1 -0
- package/dist/cdn/action-bar/snice-action-bar.min.js +12 -0
- package/dist/cdn/action-bar/snice-action-bar.min.js.map +1 -0
- package/dist/cdn/activity-feed/snice-activity-feed.js +1 -1
- package/dist/cdn/activity-feed/snice-activity-feed.min.js +1 -1
- package/dist/cdn/alert/snice-alert.js +1 -1
- package/dist/cdn/alert/snice-alert.min.js +1 -1
- package/dist/cdn/app-tiles/snice-app-tiles.js +1 -1
- package/dist/cdn/app-tiles/snice-app-tiles.min.js +1 -1
- package/dist/cdn/approval-flow/snice-approval-flow.js +1 -1
- package/dist/cdn/approval-flow/snice-approval-flow.min.js +1 -1
- package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
- package/dist/cdn/audio-recorder/snice-audio-recorder.min.js +1 -1
- package/dist/cdn/availability/snice-availability.js +1 -1
- package/dist/cdn/availability/snice-availability.min.js +1 -1
- package/dist/cdn/avatar/snice-avatar.js +1 -1
- package/dist/cdn/avatar/snice-avatar.min.js +1 -1
- package/dist/cdn/avatar-group/snice-avatar-group.js +1 -1
- package/dist/cdn/avatar-group/snice-avatar-group.min.js +1 -1
- package/dist/cdn/badge/snice-badge.js +2 -2
- package/dist/cdn/badge/snice-badge.js.map +1 -1
- package/dist/cdn/badge/snice-badge.min.js +2 -2
- package/dist/cdn/badge/snice-badge.min.js.map +1 -1
- package/dist/cdn/banner/snice-banner.js +1 -1
- package/dist/cdn/banner/snice-banner.min.js +1 -1
- package/dist/cdn/binpack/README.md +27 -0
- package/dist/cdn/binpack/snice-binpack.js +1037 -0
- package/dist/cdn/binpack/snice-binpack.js.map +1 -0
- package/dist/cdn/binpack/snice-binpack.min.js +13 -0
- package/dist/cdn/binpack/snice-binpack.min.js.map +1 -0
- package/dist/cdn/book/snice-book.js +1 -1
- package/dist/cdn/book/snice-book.min.js +1 -1
- package/dist/cdn/booking/snice-booking.js +1 -1
- package/dist/cdn/booking/snice-booking.min.js +1 -1
- package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +1 -1
- package/dist/cdn/breadcrumbs/snice-breadcrumbs.min.js +1 -1
- package/dist/cdn/button/README.md +1 -1
- package/dist/cdn/button/snice-button.js +11 -10
- package/dist/cdn/button/snice-button.js.map +1 -1
- package/dist/cdn/button/snice-button.min.js +3 -3
- package/dist/cdn/button/snice-button.min.js.map +1 -1
- package/dist/cdn/calendar/snice-calendar.js +1 -1
- package/dist/cdn/calendar/snice-calendar.min.js +1 -1
- package/dist/cdn/camera/snice-camera.js +1 -1
- package/dist/cdn/camera/snice-camera.min.js +1 -1
- package/dist/cdn/camera-annotate/snice-camera-annotate.js +1 -1
- package/dist/cdn/camera-annotate/snice-camera-annotate.min.js +1 -1
- package/dist/cdn/candlestick/snice-candlestick.js +1 -1
- package/dist/cdn/candlestick/snice-candlestick.min.js +1 -1
- package/dist/cdn/card/snice-card.js +1 -1
- package/dist/cdn/card/snice-card.min.js +1 -1
- package/dist/cdn/carousel/snice-carousel.js +1 -1
- package/dist/cdn/carousel/snice-carousel.min.js +1 -1
- package/dist/cdn/cart/snice-cart.js +1 -1
- package/dist/cdn/cart/snice-cart.min.js +1 -1
- package/dist/cdn/chart/snice-chart.js +1 -1
- package/dist/cdn/chart/snice-chart.min.js +1 -1
- package/dist/cdn/chat/snice-chat.js +1 -1
- package/dist/cdn/chat/snice-chat.min.js +1 -1
- package/dist/cdn/checkbox/snice-checkbox.js +1 -1
- package/dist/cdn/checkbox/snice-checkbox.min.js +1 -1
- package/dist/cdn/chip/snice-chip.js +1 -1
- package/dist/cdn/chip/snice-chip.min.js +1 -1
- package/dist/cdn/code-block/snice-code-block.js +1 -1
- package/dist/cdn/code-block/snice-code-block.min.js +1 -1
- package/dist/cdn/color-display/snice-color-display.js +1 -1
- package/dist/cdn/color-display/snice-color-display.min.js +1 -1
- package/dist/cdn/color-picker/snice-color-picker.js +1 -1
- package/dist/cdn/color-picker/snice-color-picker.min.js +1 -1
- package/dist/cdn/command-palette/snice-command-palette.js +1 -1
- package/dist/cdn/command-palette/snice-command-palette.min.js +1 -1
- package/dist/cdn/comments/snice-comments.js +1 -1
- package/dist/cdn/comments/snice-comments.min.js +1 -1
- package/dist/cdn/countdown/snice-countdown.js +1 -1
- package/dist/cdn/countdown/snice-countdown.min.js +1 -1
- package/dist/cdn/cropper/snice-cropper.js +1 -1
- package/dist/cdn/cropper/snice-cropper.min.js +1 -1
- package/dist/cdn/data-card/snice-data-card.js +1 -1
- package/dist/cdn/data-card/snice-data-card.min.js +1 -1
- package/dist/cdn/date-picker/snice-date-picker.js +1 -1
- package/dist/cdn/date-picker/snice-date-picker.min.js +1 -1
- package/dist/cdn/date-range-picker/snice-date-range-picker.js +1 -1
- package/dist/cdn/date-range-picker/snice-date-range-picker.min.js +1 -1
- package/dist/cdn/date-time-picker/snice-date-time-picker.js +1 -1
- package/dist/cdn/date-time-picker/snice-date-time-picker.min.js +1 -1
- package/dist/cdn/diff/snice-diff.js +1 -1
- package/dist/cdn/diff/snice-diff.min.js +1 -1
- package/dist/cdn/divider/snice-divider.js +1 -1
- package/dist/cdn/divider/snice-divider.min.js +1 -1
- package/dist/cdn/doc/snice-doc.js +1 -1
- package/dist/cdn/doc/snice-doc.min.js +1 -1
- package/dist/cdn/draw/snice-draw.js +1 -1
- package/dist/cdn/draw/snice-draw.min.js +1 -1
- package/dist/cdn/drawer/snice-drawer.js +1 -1
- package/dist/cdn/drawer/snice-drawer.min.js +1 -1
- package/dist/cdn/empty-state/snice-empty-state.js +1 -1
- package/dist/cdn/empty-state/snice-empty-state.min.js +1 -1
- package/dist/cdn/estimate/snice-estimate.js +1 -1
- package/dist/cdn/estimate/snice-estimate.min.js +1 -1
- package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
- package/dist/cdn/file-gallery/snice-file-gallery.min.js +1 -1
- package/dist/cdn/file-upload/snice-file-upload.js +1 -1
- package/dist/cdn/file-upload/snice-file-upload.min.js +1 -1
- package/dist/cdn/flip-card/snice-flip-card.js +1 -1
- package/dist/cdn/flip-card/snice-flip-card.min.js +1 -1
- package/dist/cdn/flow/snice-flow.js +1 -1
- package/dist/cdn/flow/snice-flow.min.js +1 -1
- package/dist/cdn/form-layout/snice-form-layout.js +1 -1
- package/dist/cdn/form-layout/snice-form-layout.min.js +1 -1
- package/dist/cdn/funnel/snice-funnel.js +1 -1
- package/dist/cdn/funnel/snice-funnel.min.js +1 -1
- package/dist/cdn/gantt/snice-gantt.js +1 -1
- package/dist/cdn/gantt/snice-gantt.min.js +1 -1
- package/dist/cdn/gauge/snice-gauge.js +1 -1
- package/dist/cdn/gauge/snice-gauge.min.js +1 -1
- package/dist/cdn/heatmap/snice-heatmap.js +1 -1
- package/dist/cdn/heatmap/snice-heatmap.min.js +1 -1
- package/dist/cdn/image/snice-image.js +1 -1
- package/dist/cdn/image/snice-image.min.js +1 -1
- package/dist/cdn/input/snice-input.js +1 -1
- package/dist/cdn/input/snice-input.min.js +1 -1
- package/dist/cdn/invoice/snice-invoice.js +1 -1
- package/dist/cdn/invoice/snice-invoice.min.js +1 -1
- package/dist/cdn/kanban/snice-kanban.js +1 -1
- package/dist/cdn/kanban/snice-kanban.min.js +1 -1
- package/dist/cdn/key-value/snice-key-value.js +1 -1
- package/dist/cdn/key-value/snice-key-value.min.js +1 -1
- package/dist/cdn/kpi/snice-kpi.js +1 -1
- package/dist/cdn/kpi/snice-kpi.min.js +1 -1
- package/dist/cdn/layout/snice-layout.js +1 -1
- package/dist/cdn/layout/snice-layout.min.js +1 -1
- package/dist/cdn/leaderboard/snice-leaderboard.js +1 -1
- package/dist/cdn/leaderboard/snice-leaderboard.min.js +1 -1
- package/dist/cdn/link/snice-link.js +1 -1
- package/dist/cdn/link/snice-link.min.js +1 -1
- package/dist/cdn/link-preview/snice-link-preview.js +1 -1
- package/dist/cdn/link-preview/snice-link-preview.min.js +1 -1
- package/dist/cdn/list/snice-list.js +1 -1
- package/dist/cdn/list/snice-list.min.js +1 -1
- package/dist/cdn/location/snice-location.js +1 -1
- package/dist/cdn/location/snice-location.min.js +1 -1
- package/dist/cdn/login/README.md +2 -2
- package/dist/cdn/login/snice-login.js +11 -10
- package/dist/cdn/login/snice-login.js.map +1 -1
- package/dist/cdn/login/snice-login.min.js +5 -5
- package/dist/cdn/login/snice-login.min.js.map +1 -1
- package/dist/cdn/map/snice-map.js +1 -1
- package/dist/cdn/map/snice-map.min.js +1 -1
- package/dist/cdn/markdown/snice-markdown.js +1 -1
- package/dist/cdn/markdown/snice-markdown.min.js +1 -1
- package/dist/cdn/masonry/snice-masonry.js +1 -1
- package/dist/cdn/masonry/snice-masonry.min.js +1 -1
- package/dist/cdn/menu/snice-menu.js +1 -1
- package/dist/cdn/menu/snice-menu.min.js +1 -1
- package/dist/cdn/message-strip/snice-message-strip.js +1 -1
- package/dist/cdn/message-strip/snice-message-strip.min.js +1 -1
- package/dist/cdn/metric-table/snice-metric-table.js +1 -1
- package/dist/cdn/metric-table/snice-metric-table.min.js +1 -1
- package/dist/cdn/modal/snice-modal.js +1 -1
- package/dist/cdn/modal/snice-modal.min.js +1 -1
- package/dist/cdn/music-player/snice-music-player.js +1 -1
- package/dist/cdn/music-player/snice-music-player.min.js +1 -1
- package/dist/cdn/nav/snice-nav.js +1 -1
- package/dist/cdn/nav/snice-nav.min.js +1 -1
- package/dist/cdn/network-graph/snice-network-graph.js +1 -1
- package/dist/cdn/network-graph/snice-network-graph.min.js +1 -1
- package/dist/cdn/notification-center/snice-notification-center.js +1 -1
- package/dist/cdn/notification-center/snice-notification-center.min.js +1 -1
- package/dist/cdn/order-tracker/snice-order-tracker.js +1 -1
- package/dist/cdn/order-tracker/snice-order-tracker.min.js +1 -1
- package/dist/cdn/org-chart/snice-org-chart.js +1 -1
- package/dist/cdn/org-chart/snice-org-chart.min.js +1 -1
- package/dist/cdn/pagination/snice-pagination.js +1 -1
- package/dist/cdn/pagination/snice-pagination.min.js +1 -1
- package/dist/cdn/paint/snice-paint.js +1 -1
- package/dist/cdn/paint/snice-paint.min.js +1 -1
- package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +1 -1
- package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js +1 -1
- package/dist/cdn/permission-matrix/snice-permission-matrix.js +1 -1
- package/dist/cdn/permission-matrix/snice-permission-matrix.min.js +1 -1
- package/dist/cdn/podcast-player/snice-podcast-player.js +1 -1
- package/dist/cdn/podcast-player/snice-podcast-player.min.js +1 -1
- package/dist/cdn/pricing-table/snice-pricing-table.js +1 -1
- package/dist/cdn/pricing-table/snice-pricing-table.min.js +1 -1
- package/dist/cdn/product-card/snice-product-card.js +1 -1
- package/dist/cdn/product-card/snice-product-card.min.js +1 -1
- package/dist/cdn/progress/snice-progress.js +1 -1
- package/dist/cdn/progress/snice-progress.min.js +1 -1
- package/dist/cdn/progress-ring/snice-progress-ring.js +1 -1
- package/dist/cdn/progress-ring/snice-progress-ring.min.js +1 -1
- package/dist/cdn/qr-code/snice-qr-code.js +1 -1
- package/dist/cdn/qr-code/snice-qr-code.min.js +1 -1
- package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
- package/dist/cdn/qr-reader/snice-qr-reader.min.js +1 -1
- package/dist/cdn/radio/snice-radio.js +1 -1
- package/dist/cdn/radio/snice-radio.min.js +1 -1
- package/dist/cdn/range-slider/snice-range-slider.js +1 -1
- package/dist/cdn/range-slider/snice-range-slider.min.js +1 -1
- package/dist/cdn/rating/snice-rating.js +1 -1
- package/dist/cdn/rating/snice-rating.min.js +1 -1
- package/dist/cdn/receipt/snice-receipt.js +1 -1
- package/dist/cdn/receipt/snice-receipt.min.js +1 -1
- package/dist/cdn/recipe/snice-recipe.js +1 -1
- package/dist/cdn/recipe/snice-recipe.min.js +1 -1
- package/dist/cdn/runtime/README.md +2 -2
- package/dist/cdn/runtime/snice-runtime.esm.js +152 -62
- package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.esm.min.js +8 -8
- package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.js +152 -61
- package/dist/cdn/runtime/snice-runtime.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.min.js +8 -8
- package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
- package/dist/cdn/sankey/snice-sankey.js +1 -1
- package/dist/cdn/sankey/snice-sankey.min.js +1 -1
- package/dist/cdn/segmented-control/snice-segmented-control.js +1 -1
- package/dist/cdn/segmented-control/snice-segmented-control.min.js +1 -1
- package/dist/cdn/select/snice-select.js +1 -1
- package/dist/cdn/select/snice-select.min.js +1 -1
- package/dist/cdn/skeleton/snice-skeleton.js +1 -1
- package/dist/cdn/skeleton/snice-skeleton.min.js +1 -1
- package/dist/cdn/slider/snice-slider.js +1 -1
- package/dist/cdn/slider/snice-slider.min.js +1 -1
- package/dist/cdn/sortable/snice-sortable.js +1 -1
- package/dist/cdn/sortable/snice-sortable.min.js +1 -1
- package/dist/cdn/sparkline/snice-sparkline.js +1 -1
- package/dist/cdn/sparkline/snice-sparkline.min.js +1 -1
- package/dist/cdn/spinner/snice-spinner.js +1 -1
- package/dist/cdn/spinner/snice-spinner.min.js +1 -1
- package/dist/cdn/split-button/snice-split-button.js +1 -1
- package/dist/cdn/split-button/snice-split-button.min.js +1 -1
- package/dist/cdn/split-pane/snice-split-pane.js +1 -1
- package/dist/cdn/split-pane/snice-split-pane.min.js +1 -1
- package/dist/cdn/spotlight/snice-spotlight.js +1 -1
- package/dist/cdn/spotlight/snice-spotlight.min.js +1 -1
- package/dist/cdn/spreadsheet/snice-spreadsheet.js +1 -1
- package/dist/cdn/spreadsheet/snice-spreadsheet.min.js +1 -1
- package/dist/cdn/stat-group/snice-stat-group.js +1 -1
- package/dist/cdn/stat-group/snice-stat-group.min.js +1 -1
- package/dist/cdn/step-input/snice-step-input.js +1 -1
- package/dist/cdn/step-input/snice-step-input.min.js +1 -1
- package/dist/cdn/stepper/snice-stepper.js +1 -1
- package/dist/cdn/stepper/snice-stepper.min.js +1 -1
- package/dist/cdn/switch/snice-switch.js +1 -1
- package/dist/cdn/switch/snice-switch.min.js +1 -1
- package/dist/cdn/table/README.md +1 -1
- package/dist/cdn/table/snice-table.js +11 -10
- package/dist/cdn/table/snice-table.js.map +1 -1
- package/dist/cdn/table/snice-table.min.js +73 -73
- package/dist/cdn/table/snice-table.min.js.map +1 -1
- package/dist/cdn/tabs/snice-tabs.js +1 -1
- package/dist/cdn/tabs/snice-tabs.min.js +1 -1
- package/dist/cdn/tag/snice-tag.js +1 -1
- package/dist/cdn/tag/snice-tag.min.js +1 -1
- package/dist/cdn/tag-input/snice-tag-input.js +1 -1
- package/dist/cdn/tag-input/snice-tag-input.min.js +1 -1
- package/dist/cdn/terminal/snice-terminal.js +1 -1
- package/dist/cdn/terminal/snice-terminal.min.js +1 -1
- package/dist/cdn/testimonial/snice-testimonial.js +1 -1
- package/dist/cdn/testimonial/snice-testimonial.min.js +1 -1
- package/dist/cdn/textarea/snice-textarea.js +1 -1
- package/dist/cdn/textarea/snice-textarea.min.js +1 -1
- package/dist/cdn/time-picker/snice-time-picker.js +1 -1
- package/dist/cdn/time-picker/snice-time-picker.min.js +1 -1
- package/dist/cdn/time-range-picker/snice-time-range-picker.js +1 -1
- package/dist/cdn/time-range-picker/snice-time-range-picker.min.js +1 -1
- package/dist/cdn/timeline/snice-timeline.js +1 -1
- package/dist/cdn/timeline/snice-timeline.min.js +1 -1
- package/dist/cdn/timer/snice-timer.js +1 -1
- package/dist/cdn/timer/snice-timer.min.js +1 -1
- package/dist/cdn/toast/snice-toast.js +1 -1
- package/dist/cdn/toast/snice-toast.min.js +1 -1
- package/dist/cdn/tooltip/snice-tooltip.js +1 -1
- package/dist/cdn/tooltip/snice-tooltip.min.js +1 -1
- package/dist/cdn/tree/snice-tree.js +1 -1
- package/dist/cdn/tree/snice-tree.min.js +1 -1
- package/dist/cdn/treemap/snice-treemap.js +1 -1
- package/dist/cdn/treemap/snice-treemap.min.js +1 -1
- package/dist/cdn/user-card/snice-user-card.js +1 -1
- package/dist/cdn/user-card/snice-user-card.min.js +1 -1
- package/dist/cdn/video-player/snice-video-player.js +1 -1
- package/dist/cdn/video-player/snice-video-player.min.js +1 -1
- package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +1 -1
- package/dist/cdn/virtual-scroller/snice-virtual-scroller.min.js +1 -1
- package/dist/cdn/waterfall/snice-waterfall.js +1 -1
- package/dist/cdn/waterfall/snice-waterfall.min.js +1 -1
- package/dist/cdn/weather/snice-weather.js +1 -1
- package/dist/cdn/weather/snice-weather.min.js +1 -1
- package/dist/cdn/work-order/snice-work-order.js +1 -1
- package/dist/cdn/work-order/snice-work-order.min.js +1 -1
- package/dist/components/action-bar/snice-action-bar.d.ts +22 -0
- package/dist/components/action-bar/snice-action-bar.js +182 -0
- package/dist/components/action-bar/snice-action-bar.js.map +1 -0
- package/dist/components/action-bar/snice-action-bar.types.d.ts +17 -0
- package/dist/components/badge/snice-badge.js +1 -1
- package/dist/components/badge/snice-badge.js.map +1 -1
- package/dist/components/binpack/snice-binpack.d.ts +82 -0
- package/dist/components/binpack/snice-binpack.js +970 -0
- package/dist/components/binpack/snice-binpack.js.map +1 -0
- package/dist/components/binpack/snice-binpack.types.d.ts +52 -0
- package/dist/components/button/snice-button.d.ts +2 -2
- package/dist/components/button/snice-button.js +11 -10
- package/dist/components/button/snice-button.js.map +1 -1
- package/dist/create-request-handler.d.ts +42 -0
- package/dist/index.cjs +149 -58
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.esm.js +149 -59
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +149 -58
- package/dist/index.iife.js.map +1 -1
- package/dist/parts.d.ts +9 -7
- package/dist/react/useRequestHandler.d.ts +56 -0
- package/dist/react/useRequestHandler.js +103 -0
- package/dist/react/useRequestHandler.js.map +1 -0
- package/dist/symbols.cjs +1 -1
- package/dist/symbols.esm.js +1 -1
- package/dist/transitions.cjs +1 -1
- package/dist/transitions.esm.js +1 -1
- package/docs/ai/DEVELOPMENT.md +1 -1
- package/docs/ai/components/accordion.md +46 -80
- package/docs/ai/components/action-bar.md +75 -0
- package/docs/ai/components/activity-feed.md +7 -7
- package/docs/ai/components/alert.md +26 -44
- package/docs/ai/components/app-tiles.md +34 -39
- package/docs/ai/components/approval-flow.md +1 -1
- package/docs/ai/components/audio-recorder.md +35 -67
- package/docs/ai/components/availability.md +13 -34
- package/docs/ai/components/avatar-group.md +26 -13
- package/docs/ai/components/avatar.md +52 -36
- package/docs/ai/components/badge.md +21 -32
- package/docs/ai/components/banner.md +21 -43
- package/docs/ai/components/binpack.md +89 -0
- package/docs/ai/components/book.md +25 -23
- package/docs/ai/components/booking.md +31 -36
- package/docs/ai/components/breadcrumbs.md +36 -11
- package/docs/ai/components/button.md +33 -44
- package/docs/ai/components/calendar.md +37 -70
- package/docs/ai/components/camera-annotate.md +31 -64
- package/docs/ai/components/camera.md +38 -120
- package/docs/ai/components/candlestick.md +32 -52
- package/docs/ai/components/card.md +20 -30
- package/docs/ai/components/carousel.md +32 -32
- package/docs/ai/components/cart.md +24 -29
- package/docs/ai/components/chart.md +29 -114
- package/docs/ai/components/chat.md +38 -75
- package/docs/ai/components/checkbox.md +22 -41
- package/docs/ai/components/chip.md +18 -54
- package/docs/ai/components/code-block.md +57 -178
- package/docs/ai/components/color-display.md +12 -32
- package/docs/ai/components/color-picker.md +17 -39
- package/docs/ai/components/command-palette.md +49 -71
- package/docs/ai/components/comments.md +55 -36
- package/docs/ai/components/countdown.md +28 -30
- package/docs/ai/components/cropper.md +33 -33
- package/docs/ai/components/data-card.md +20 -14
- package/docs/ai/components/date-picker.md +40 -47
- package/docs/ai/components/date-range-picker.md +31 -15
- package/docs/ai/components/date-time-picker.md +23 -46
- package/docs/ai/components/diff.md +30 -31
- package/docs/ai/components/divider.md +17 -47
- package/docs/ai/components/doc.md +43 -68
- package/docs/ai/components/draw.md +35 -87
- package/docs/ai/components/drawer.md +48 -77
- package/docs/ai/components/empty-state.md +10 -44
- package/docs/ai/components/estimate.md +33 -58
- package/docs/ai/components/file-gallery.md +48 -100
- package/docs/ai/components/file-upload.md +17 -53
- package/docs/ai/components/flip-card.md +31 -23
- package/docs/ai/components/flow.md +37 -65
- package/docs/ai/components/form-builder.md +35 -75
- package/docs/ai/components/form-layout.md +10 -20
- package/docs/ai/components/funnel.md +33 -48
- package/docs/ai/components/gantt.md +27 -23
- package/docs/ai/components/gauge.md +16 -17
- package/docs/ai/components/heatmap.md +21 -21
- package/docs/ai/components/image.md +7 -13
- package/docs/ai/components/input.md +38 -70
- package/docs/ai/components/invoice.md +35 -36
- package/docs/ai/components/kanban.md +32 -61
- package/docs/ai/components/key-value.md +32 -16
- package/docs/ai/components/kpi.md +38 -73
- package/docs/ai/components/layout.md +29 -23
- package/docs/ai/components/leaderboard.md +28 -37
- package/docs/ai/components/link-preview.md +12 -18
- package/docs/ai/components/link.md +10 -7
- package/docs/ai/components/list.md +21 -5
- package/docs/ai/components/location.md +21 -25
- package/docs/ai/components/login.md +14 -9
- package/docs/ai/components/map.md +27 -33
- package/docs/ai/components/markdown.md +20 -24
- package/docs/ai/components/masonry.md +10 -14
- package/docs/ai/components/mentions.md +26 -12
- package/docs/ai/components/menu.md +54 -52
- package/docs/ai/components/message-strip.md +20 -20
- package/docs/ai/components/metric-table.md +14 -21
- package/docs/ai/components/modal.md +27 -18
- package/docs/ai/components/music-player.md +49 -41
- package/docs/ai/components/nav.md +34 -31
- package/docs/ai/components/network-graph.md +27 -42
- package/docs/ai/components/notification-center.md +31 -33
- package/docs/ai/components/order-tracker.md +36 -27
- package/docs/ai/components/org-chart.md +36 -31
- package/docs/ai/components/pagination.md +34 -26
- package/docs/ai/components/paint.md +53 -91
- package/docs/ai/components/pdf-viewer.md +35 -36
- package/docs/ai/components/permission-matrix.md +26 -31
- package/docs/ai/components/podcast-player.md +64 -70
- package/docs/ai/components/pricing-table.md +37 -48
- package/docs/ai/components/product-card.md +58 -41
- package/docs/ai/components/progress-ring.md +20 -24
- package/docs/ai/components/progress.md +28 -45
- package/docs/ai/components/qr-code.md +25 -27
- package/docs/ai/components/qr-reader.md +20 -23
- package/docs/ai/components/radio.md +17 -15
- package/docs/ai/components/range-slider.md +22 -11
- package/docs/ai/components/rating.md +29 -33
- package/docs/ai/components/receipt.md +50 -127
- package/docs/ai/components/recipe.md +44 -42
- package/docs/ai/components/sankey.md +21 -30
- package/docs/ai/components/scheduler.md +29 -41
- package/docs/ai/components/segmented-control.md +11 -15
- package/docs/ai/components/select.md +58 -102
- package/docs/ai/components/skeleton.md +16 -30
- package/docs/ai/components/slider.md +26 -20
- package/docs/ai/components/sortable.md +25 -27
- package/docs/ai/components/sparkline.md +21 -17
- package/docs/ai/components/spinner.md +9 -5
- package/docs/ai/components/split-button.md +10 -13
- package/docs/ai/components/split-pane.md +19 -14
- package/docs/ai/components/spotlight.md +31 -26
- package/docs/ai/components/spreadsheet.md +51 -97
- package/docs/ai/components/stat-group.md +9 -19
- package/docs/ai/components/step-input.md +17 -15
- package/docs/ai/components/stepper.md +14 -15
- package/docs/ai/components/switch.md +15 -9
- package/docs/ai/components/table.md +24 -84
- package/docs/ai/components/tabs.md +18 -10
- package/docs/ai/components/tag-input.md +18 -29
- package/docs/ai/components/tag.md +10 -22
- package/docs/ai/components/terminal.md +9 -9
- package/docs/ai/components/testimonial.md +9 -19
- package/docs/ai/components/textarea.md +15 -16
- package/docs/ai/components/theme.md +3 -3
- package/docs/ai/components/time-picker.md +30 -49
- package/docs/ai/components/time-range-picker.md +16 -15
- package/docs/ai/components/timeline.md +5 -4
- package/docs/ai/components/timer.md +8 -8
- package/docs/ai/components/toast.md +24 -18
- package/docs/ai/components/tooltip.md +11 -22
- package/docs/ai/components/tree.md +9 -9
- package/docs/ai/components/treemap.md +14 -13
- package/docs/ai/components/user-card.md +21 -27
- package/docs/ai/components/video-player.md +35 -52
- package/docs/ai/components/virtual-scroller.md +1 -1
- package/docs/ai/components/waterfall.md +17 -16
- package/docs/ai/components/weather.md +19 -34
- package/docs/ai/components/work-order.md +58 -134
- package/docs/ai/patterns.md +63 -0
- package/docs/components/accordion.md +72 -151
- package/docs/components/action-bar.md +185 -0
- package/docs/components/activity-feed.md +9 -14
- package/docs/components/alert.md +17 -109
- package/docs/components/app-tiles.md +58 -43
- package/docs/components/approval-flow.md +8 -14
- package/docs/components/audio-recorder.md +45 -51
- package/docs/components/availability.md +30 -45
- package/docs/components/avatar-group.md +34 -14
- package/docs/components/avatar.md +20 -55
- package/docs/components/badge.md +53 -470
- package/docs/components/banner.md +44 -30
- package/docs/components/binpack.md +208 -0
- package/docs/components/book.md +78 -57
- package/docs/components/booking.md +35 -87
- package/docs/components/breadcrumbs.md +74 -448
- package/docs/components/button.md +72 -603
- package/docs/components/calendar.md +77 -261
- package/docs/components/camera-annotate.md +44 -96
- package/docs/components/camera.md +94 -333
- package/docs/components/candlestick.md +79 -116
- package/docs/components/card.md +51 -689
- package/docs/components/carousel.md +29 -76
- package/docs/components/cart.md +44 -136
- package/docs/components/chart.md +95 -438
- package/docs/components/chat.md +175 -439
- package/docs/components/checkbox.md +52 -609
- package/docs/components/chip.md +45 -574
- package/docs/components/code-block.md +157 -421
- package/docs/components/color-display.md +45 -54
- package/docs/components/color-picker.md +103 -36
- package/docs/components/command-palette.md +98 -92
- package/docs/components/comments.md +16 -10
- package/docs/components/countdown.md +15 -20
- package/docs/components/cropper.md +14 -16
- package/docs/components/data-card.md +16 -15
- package/docs/components/date-picker.md +45 -25
- package/docs/components/date-range-picker.md +140 -87
- package/docs/components/date-time-picker.md +25 -28
- package/docs/components/diff.md +22 -17
- package/docs/components/divider.md +18 -20
- package/docs/components/doc.md +105 -197
- package/docs/components/draw.md +117 -223
- package/docs/components/drawer.md +113 -478
- package/docs/components/empty-state.md +13 -29
- package/docs/components/estimate.md +58 -118
- package/docs/components/file-gallery.md +123 -495
- package/docs/components/file-upload.md +36 -123
- package/docs/components/flip-card.md +30 -34
- package/docs/components/flow.md +74 -89
- package/docs/components/form-builder.md +59 -86
- package/docs/components/form-layout.md +21 -31
- package/docs/components/funnel.md +21 -22
- package/docs/components/gantt.md +5 -5
- package/docs/components/gauge.md +5 -23
- package/docs/components/heatmap.md +13 -55
- package/docs/components/image.md +28 -32
- package/docs/components/input.md +25 -14
- package/docs/components/invoice.md +34 -33
- package/docs/components/kanban.md +99 -394
- package/docs/components/key-value.md +22 -12
- package/docs/components/kpi.md +41 -112
- package/docs/components/layout.md +7 -13
- package/docs/components/leaderboard.md +52 -76
- package/docs/components/link-preview.md +20 -16
- package/docs/components/link.md +22 -19
- package/docs/components/list.md +44 -26
- package/docs/components/location.md +9 -13
- package/docs/components/login.md +42 -36
- package/docs/components/map.md +24 -46
- package/docs/components/markdown.md +14 -25
- package/docs/components/masonry.md +15 -13
- package/docs/components/mentions.md +36 -25
- package/docs/components/menu.md +39 -46
- package/docs/components/message-strip.md +15 -51
- package/docs/components/metric-table.md +50 -72
- package/docs/components/modal.md +32 -43
- package/docs/components/music-player.md +41 -49
- package/docs/components/nav.md +23 -13
- package/docs/components/network-graph.md +14 -13
- package/docs/components/notification-center.md +68 -172
- package/docs/components/order-tracker.md +72 -117
- package/docs/components/org-chart.md +58 -207
- package/docs/components/pagination.md +67 -89
- package/docs/components/paint.md +86 -172
- package/docs/components/pdf-viewer.md +46 -151
- package/docs/components/permission-matrix.md +61 -112
- package/docs/components/podcast-player.md +41 -119
- package/docs/components/pricing-table.md +104 -147
- package/docs/components/product-card.md +94 -197
- package/docs/components/progress-ring.md +29 -32
- package/docs/components/progress.md +30 -61
- package/docs/components/qr-code.md +53 -61
- package/docs/components/qr-reader.md +53 -42
- package/docs/components/radio.md +42 -40
- package/docs/components/range-slider.md +41 -30
- package/docs/components/rating.md +50 -84
- package/docs/components/receipt.md +91 -129
- package/docs/components/recipe.md +107 -216
- package/docs/components/sankey.md +47 -83
- package/docs/components/scheduler.md +81 -184
- package/docs/components/segmented-control.md +48 -40
- package/docs/components/select.md +107 -129
- package/docs/components/skeleton.md +33 -47
- package/docs/components/slider.md +49 -53
- package/docs/components/sortable.md +43 -186
- package/docs/components/sparkline.md +26 -25
- package/docs/components/spinner.md +32 -37
- package/docs/components/split-button.md +43 -23
- package/docs/components/split-pane.md +41 -58
- package/docs/components/spotlight.md +53 -145
- package/docs/components/spreadsheet.md +84 -307
- package/docs/components/stat-group.md +27 -61
- package/docs/components/step-input.md +44 -41
- package/docs/components/stepper.md +55 -89
- package/docs/components/switch.md +39 -39
- package/docs/components/table.md +27 -32
- package/docs/components/tabs.md +36 -27
- package/docs/components/tag-input.md +50 -176
- package/docs/components/tag.md +12 -50
- package/docs/components/terminal.md +32 -37
- package/docs/components/testimonial.md +24 -81
- package/docs/components/textarea.md +9 -14
- package/docs/components/theme.md +10 -23
- package/docs/components/time-picker.md +48 -72
- package/docs/components/time-range-picker.md +22 -41
- package/docs/components/timeline.md +7 -14
- package/docs/components/timer.md +16 -32
- package/docs/components/toast.md +19 -45
- package/docs/components/tooltip.md +13 -115
- package/docs/components/tree.md +2 -19
- package/docs/components/treemap.md +19 -43
- package/docs/components/user-card.md +13 -22
- package/docs/components/video-player.md +53 -227
- package/docs/components/virtual-scroller.md +11 -44
- package/docs/components/waterfall.md +58 -137
- package/docs/components/weather.md +94 -153
- package/docs/components/work-order.md +56 -143
- package/docs/plans/2026-03-09-action-bar-design.md +104 -0
- package/docs/plans/2026-03-09-action-bar-plan.md +676 -0
- package/docs/plans/2026-03-10-react-integration-design.md +166 -0
- package/docs/request-response.md +77 -0
- package/package.json +20 -10
package/docs/components/alert.md
CHANGED
|
@@ -1,20 +1,19 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/alert.md -->
|
|
2
2
|
|
|
3
|
-
# Alert
|
|
3
|
+
# Alert
|
|
4
|
+
`<snice-alert>`
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
Displays notification messages to provide user feedback for informational, success, warning, or error states. Supports customizable variants, sizes, titles, icons, and optional dismissal.
|
|
6
7
|
|
|
7
8
|
## Table of Contents
|
|
8
9
|
- [Properties](#properties)
|
|
9
10
|
- [Methods](#methods)
|
|
10
11
|
- [Events](#events)
|
|
11
12
|
- [Slots](#slots)
|
|
13
|
+
- [CSS Parts](#css-parts)
|
|
12
14
|
- [Basic Usage](#basic-usage)
|
|
13
15
|
- [Examples](#examples)
|
|
14
16
|
- [Accessibility](#accessibility)
|
|
15
|
-
- [Browser Support](#browser-support)
|
|
16
|
-
- [Common Patterns](#common-patterns)
|
|
17
|
-
- [Variant Colors](#variant-colors)
|
|
18
17
|
|
|
19
18
|
## Properties
|
|
20
19
|
|
|
@@ -107,18 +106,24 @@ Use the `icon` slot for external CSS-based icon fonts (Material Symbols, Font Aw
|
|
|
107
106
|
</snice-alert>
|
|
108
107
|
```
|
|
109
108
|
|
|
109
|
+
## CSS Parts
|
|
110
|
+
|
|
111
|
+
| Part | Description |
|
|
112
|
+
|------|-------------|
|
|
113
|
+
| `icon` | The icon container |
|
|
114
|
+
|
|
110
115
|
## Basic Usage
|
|
111
116
|
|
|
117
|
+
```typescript
|
|
118
|
+
import 'snice/components/alert/snice-alert';
|
|
119
|
+
```
|
|
120
|
+
|
|
112
121
|
```html
|
|
113
122
|
<snice-alert>
|
|
114
123
|
This is a basic alert message.
|
|
115
124
|
</snice-alert>
|
|
116
125
|
```
|
|
117
126
|
|
|
118
|
-
```typescript
|
|
119
|
-
import 'snice/components/alert/snice-alert';
|
|
120
|
-
```
|
|
121
|
-
|
|
122
127
|
## Examples
|
|
123
128
|
|
|
124
129
|
### Basic Alerts
|
|
@@ -197,10 +202,10 @@ import 'snice/components/alert/snice-alert';
|
|
|
197
202
|
|
|
198
203
|
The `icon` property supports multiple formats:
|
|
199
204
|
- **URLs**: Image files (`/icons/info.svg`)
|
|
200
|
-
- **Emoji**:
|
|
205
|
+
- **Emoji**: icons like a lightbulb or star
|
|
201
206
|
- **Scheme overrides**: `img://filename` forces `<img>`, `text://content` forces text
|
|
202
207
|
|
|
203
|
-
>
|
|
208
|
+
> **Common mistake:** `icon="lightbulb"` or `icon="info"` renders as **plain text**, not a Material icon. Snice does not bundle Material Symbols. Use the `icon` slot instead.
|
|
204
209
|
|
|
205
210
|
```html
|
|
206
211
|
<!-- Emoji icons -->
|
|
@@ -208,9 +213,6 @@ The `icon` property supports multiple formats:
|
|
|
208
213
|
Congratulations! You've unlocked a new achievement!
|
|
209
214
|
</snice-alert>
|
|
210
215
|
|
|
211
|
-
<snice-alert variant="info" icon="💡">
|
|
212
|
-
</snice-alert>
|
|
213
|
-
|
|
214
216
|
<!-- Image URL -->
|
|
215
217
|
<snice-alert variant="info" icon="/icons/info-circle.svg">
|
|
216
218
|
Custom image icon alert.
|
|
@@ -248,7 +250,6 @@ The `icon` property supports multiple formats:
|
|
|
248
250
|
|
|
249
251
|
<button type="submit">Sign Up</button>
|
|
250
252
|
</form>
|
|
251
|
-
|
|
252
253
|
```
|
|
253
254
|
|
|
254
255
|
```typescript
|
|
@@ -275,7 +276,6 @@ form.addEventListener('submit', (e) => {
|
|
|
275
276
|
errorAlert.show();
|
|
276
277
|
} else {
|
|
277
278
|
errorAlert.style.display = 'none';
|
|
278
|
-
// Submit form
|
|
279
279
|
}
|
|
280
280
|
});
|
|
281
281
|
```
|
|
@@ -287,7 +287,6 @@ form.addEventListener('submit', (e) => {
|
|
|
287
287
|
|
|
288
288
|
<button onclick="showSuccessAlert()">Show Success</button>
|
|
289
289
|
<button onclick="showErrorAlert()">Show Error</button>
|
|
290
|
-
|
|
291
290
|
```
|
|
292
291
|
|
|
293
292
|
```typescript
|
|
@@ -385,7 +384,6 @@ alert.addEventListener('alert-hidden', () => {
|
|
|
385
384
|
<button onclick="notify('success', 'File uploaded successfully')">Success</button>
|
|
386
385
|
<button onclick="notify('warning', 'Low disk space')">Warning</button>
|
|
387
386
|
<button onclick="notify('error', 'Connection lost')">Error</button>
|
|
388
|
-
|
|
389
387
|
```
|
|
390
388
|
|
|
391
389
|
```typescript
|
|
@@ -444,7 +442,6 @@ window.notify = (variant, message) => {
|
|
|
444
442
|
```typescript
|
|
445
443
|
alert.addEventListener('alert-dismiss', (e) => {
|
|
446
444
|
console.log('User dismissed alert:', e.detail);
|
|
447
|
-
// Track analytics
|
|
448
445
|
analytics.track('alert_dismissed', {
|
|
449
446
|
variant: e.detail.variant,
|
|
450
447
|
title: e.detail.title
|
|
@@ -457,48 +454,10 @@ alert.addEventListener('alert-shown', () => {
|
|
|
457
454
|
|
|
458
455
|
alert.addEventListener('alert-hidden', () => {
|
|
459
456
|
console.log('Alert is now hidden');
|
|
460
|
-
// Clean up or remove from DOM
|
|
461
457
|
alert.remove();
|
|
462
458
|
});
|
|
463
459
|
```
|
|
464
460
|
|
|
465
|
-
### API Response Alerts
|
|
466
|
-
|
|
467
|
-
```html
|
|
468
|
-
<snice-alert style="display: none;"></snice-alert>
|
|
469
|
-
|
|
470
|
-
<button onclick="makeApiCall()">Make API Call</button>
|
|
471
|
-
```
|
|
472
|
-
|
|
473
|
-
```typescript
|
|
474
|
-
window.makeApiCall = async () => {
|
|
475
|
-
try {
|
|
476
|
-
const response = await fetch('/api/data');
|
|
477
|
-
|
|
478
|
-
if (!response.ok) {
|
|
479
|
-
throw new Error(`HTTP error! status: ${response.status}`);
|
|
480
|
-
}
|
|
481
|
-
|
|
482
|
-
const data = await response.json();
|
|
483
|
-
|
|
484
|
-
alert.variant = 'success';
|
|
485
|
-
alert.title = 'Success!';
|
|
486
|
-
alert.textContent = 'Data loaded successfully.';
|
|
487
|
-
alert.dismissible = true;
|
|
488
|
-
alert.style.display = 'block';
|
|
489
|
-
alert.show();
|
|
490
|
-
|
|
491
|
-
} catch (error) {
|
|
492
|
-
alert.variant = 'error';
|
|
493
|
-
alert.title = 'Error';
|
|
494
|
-
alert.textContent = `Failed to load data: ${error.message}`;
|
|
495
|
-
alert.dismissible = true;
|
|
496
|
-
alert.style.display = 'block';
|
|
497
|
-
alert.show();
|
|
498
|
-
}
|
|
499
|
-
};
|
|
500
|
-
```
|
|
501
|
-
|
|
502
461
|
## Accessibility
|
|
503
462
|
|
|
504
463
|
- **ARIA role**: `alert` role with `aria-live="polite"` for screen reader announcements
|
|
@@ -506,54 +465,3 @@ window.makeApiCall = async () => {
|
|
|
506
465
|
- **Color contrast**: All variants meet WCAG AA standards
|
|
507
466
|
- **Screen reader friendly**: Content is properly announced
|
|
508
467
|
- **Focus management**: Dismiss button receives proper focus
|
|
509
|
-
|
|
510
|
-
## Browser Support
|
|
511
|
-
|
|
512
|
-
- Modern browsers (Chrome, Firefox, Safari, Edge)
|
|
513
|
-
- Requires Custom Elements v1 and Shadow DOM support
|
|
514
|
-
|
|
515
|
-
## Common Patterns
|
|
516
|
-
|
|
517
|
-
### Success Pattern
|
|
518
|
-
```html
|
|
519
|
-
<snice-alert variant="success" title="Success!" dismissible>
|
|
520
|
-
Your changes have been saved.
|
|
521
|
-
</snice-alert>
|
|
522
|
-
```
|
|
523
|
-
|
|
524
|
-
### Error Pattern
|
|
525
|
-
```html
|
|
526
|
-
<snice-alert variant="error" title="Error" dismissible>
|
|
527
|
-
Unable to save changes. Please try again.
|
|
528
|
-
</snice-alert>
|
|
529
|
-
```
|
|
530
|
-
|
|
531
|
-
### Warning Pattern
|
|
532
|
-
```html
|
|
533
|
-
<snice-alert variant="warning" title="Warning">
|
|
534
|
-
This action cannot be undone.
|
|
535
|
-
</snice-alert>
|
|
536
|
-
```
|
|
537
|
-
|
|
538
|
-
### Info Pattern
|
|
539
|
-
```html
|
|
540
|
-
<snice-alert variant="info" title="Information">
|
|
541
|
-
New features are available in this update.
|
|
542
|
-
</snice-alert>
|
|
543
|
-
```
|
|
544
|
-
|
|
545
|
-
### Inline Form Validation
|
|
546
|
-
```html
|
|
547
|
-
<snice-alert variant="error" size="small">
|
|
548
|
-
Please enter a valid email address.
|
|
549
|
-
</snice-alert>
|
|
550
|
-
```
|
|
551
|
-
|
|
552
|
-
## Variant Colors
|
|
553
|
-
|
|
554
|
-
| Variant | Color Scheme | Use Case |
|
|
555
|
-
|---------|-------------|----------|
|
|
556
|
-
| `info` | Blue | General information, tips, updates |
|
|
557
|
-
| `success` | Green | Successful operations, confirmations |
|
|
558
|
-
| `warning` | Orange | Cautions, important notices |
|
|
559
|
-
| `error` | Red | Errors, failed operations, critical issues |
|
|
@@ -1,59 +1,53 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/app-tiles.md -->
|
|
2
2
|
|
|
3
|
-
# App Tiles
|
|
3
|
+
# App Tiles
|
|
4
|
+
`<snice-app-tiles>` & `<snice-app-tile>`
|
|
5
|
+
|
|
6
|
+
An app launcher grid like Google's app drawer or a phone home screen. Supports material icons, image URLs, emoji, and letter fallbacks with optional badges.
|
|
4
7
|
|
|
5
8
|
## Table of Contents
|
|
6
|
-
- [
|
|
9
|
+
- [Components](#components)
|
|
7
10
|
- [Properties](#properties)
|
|
8
11
|
- [Events](#events)
|
|
12
|
+
- [Slots](#slots)
|
|
9
13
|
- [CSS Custom Properties](#css-custom-properties)
|
|
14
|
+
- [CSS Parts](#css-parts)
|
|
10
15
|
- [Basic Usage](#basic-usage)
|
|
11
16
|
- [Examples](#examples)
|
|
12
|
-
- [App Tiles Component](#app-tiles-component)
|
|
13
|
-
- [Icon Resolution Order](#icon-resolution-order)
|
|
14
17
|
|
|
15
|
-
##
|
|
18
|
+
## Components
|
|
16
19
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
import 'snice/components/app-tiles/snice-app-tiles';
|
|
20
|
-
```
|
|
20
|
+
### `<snice-app-tiles>`
|
|
21
|
+
Container element that renders a grid of tiles.
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
```
|
|
23
|
+
### `<snice-app-tile>`
|
|
24
|
+
Declarative child element for defining tiles in HTML.
|
|
25
|
+
|
|
26
|
+
**Attributes:** `name`, `icon` (URL, emoji, or Material Symbols ligature), `color`, `href`, `badge`
|
|
27
27
|
|
|
28
28
|
## Properties
|
|
29
29
|
|
|
30
|
+
### App Tiles Container
|
|
31
|
+
|
|
30
32
|
| Property | Type | Default | Description |
|
|
31
33
|
|----------|------|---------|-------------|
|
|
32
|
-
| `tiles` | `AppTile[]` | `[]` | Array of tile data objects (programmatic mode) |
|
|
34
|
+
| `tiles` | `AppTile[]` | `[]` | Array of tile data objects (programmatic mode, set via JavaScript) |
|
|
33
35
|
| `columns` | `number` | `4` | Number of grid columns |
|
|
34
36
|
| `size` | `'sm' \| 'md' \| 'lg' \| 'xl' \| '2xl'` | `'md'` | Tile size |
|
|
35
37
|
| `variant` | `'grid' \| 'list' \| 'compact'` | `'grid'` | Layout variant |
|
|
36
38
|
|
|
37
39
|
### AppTile Interface
|
|
38
40
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
| Attribute | Description |
|
|
51
|
-
|-----------|-------------|
|
|
52
|
-
| `name` | Tile label |
|
|
53
|
-
| `icon` | URL, emoji, or Material Symbols ligature |
|
|
54
|
-
| `color` | Background color |
|
|
55
|
-
| `href` | Navigation URL |
|
|
56
|
-
| `badge` | Badge content |
|
|
41
|
+
```typescript
|
|
42
|
+
interface AppTile {
|
|
43
|
+
id: string;
|
|
44
|
+
name: string;
|
|
45
|
+
icon: string; // URL, emoji, or Material Symbols ligature name
|
|
46
|
+
color?: string; // Background color for letter/ligature fallback
|
|
47
|
+
href?: string; // Navigation URL on click
|
|
48
|
+
badge?: string; // Badge content
|
|
49
|
+
}
|
|
50
|
+
```
|
|
57
51
|
|
|
58
52
|
## Events
|
|
59
53
|
|
|
@@ -61,14 +55,32 @@ import 'snice/components/app-tiles/snice-app-tiles';
|
|
|
61
55
|
|-------|--------|-------------|
|
|
62
56
|
| `tile-click` | `{ tile: AppTile, index: number }` | Fired when a tile is clicked |
|
|
63
57
|
|
|
58
|
+
## Slots
|
|
59
|
+
|
|
60
|
+
### App Tiles Container
|
|
61
|
+
|
|
62
|
+
| Name | Description |
|
|
63
|
+
|------|-------------|
|
|
64
|
+
| (default) | `<snice-app-tile>` child elements for declarative mode |
|
|
65
|
+
|
|
64
66
|
## CSS Custom Properties
|
|
65
67
|
|
|
66
68
|
| Variable | Description |
|
|
67
69
|
|----------|-------------|
|
|
68
70
|
| `--snice-app-tile-icon-size` | Override icon container width/height. Takes precedence over the `size` attribute. |
|
|
69
71
|
|
|
72
|
+
## CSS Parts
|
|
73
|
+
|
|
74
|
+
| Part | Description |
|
|
75
|
+
|------|-------------|
|
|
76
|
+
| `icon` | Material Symbols ligature icon span (inside rendered tiles) |
|
|
77
|
+
|
|
70
78
|
## Basic Usage
|
|
71
79
|
|
|
80
|
+
```typescript
|
|
81
|
+
import 'snice/components/app-tiles/snice-app-tiles';
|
|
82
|
+
```
|
|
83
|
+
|
|
72
84
|
```html
|
|
73
85
|
<snice-app-tiles columns="3">
|
|
74
86
|
<snice-app-tile name="Mail" icon="mail" color="rgb(220 38 38)"></snice-app-tile>
|
|
@@ -77,10 +89,6 @@ import 'snice/components/app-tiles/snice-app-tiles';
|
|
|
77
89
|
</snice-app-tiles>
|
|
78
90
|
```
|
|
79
91
|
|
|
80
|
-
```typescript
|
|
81
|
-
import 'snice/components/app-tiles/snice-app-tiles';
|
|
82
|
-
```
|
|
83
|
-
|
|
84
92
|
## Examples
|
|
85
93
|
|
|
86
94
|
### Material Icons
|
|
@@ -131,6 +139,17 @@ Use `variant="list"` with `columns="1"` for a vertical list layout.
|
|
|
131
139
|
</snice-app-tiles>
|
|
132
140
|
```
|
|
133
141
|
|
|
142
|
+
### Compact Variant
|
|
143
|
+
|
|
144
|
+
Use `variant="compact"` for a denser layout with icon and name side by side.
|
|
145
|
+
|
|
146
|
+
```html
|
|
147
|
+
<snice-app-tiles columns="2" variant="compact">
|
|
148
|
+
<snice-app-tile name="Dashboard" icon="dashboard" color="rgb(37 99 235)"></snice-app-tile>
|
|
149
|
+
<snice-app-tile name="Settings" icon="settings" color="rgb(82 82 82)"></snice-app-tile>
|
|
150
|
+
</snice-app-tiles>
|
|
151
|
+
```
|
|
152
|
+
|
|
134
153
|
### Sizes
|
|
135
154
|
|
|
136
155
|
Use the `size` attribute to change tile size. Available sizes: `sm`, `md` (default), `lg`, `xl`, `2xl`.
|
|
@@ -166,11 +185,7 @@ Use the `badge` attribute to display a notification badge on a tile.
|
|
|
166
185
|
<snice-app-tile name="AWS" color="rgb(255 153 0)" badge="!"></snice-app-tile>
|
|
167
186
|
```
|
|
168
187
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
An app launcher grid like Google's app drawer or a phone home screen. Supports material icons, image URLs, emoji, and letter fallbacks with optional badges.
|
|
172
|
-
|
|
173
|
-
## Icon Resolution Order
|
|
188
|
+
### Icon Resolution Order
|
|
174
189
|
|
|
175
190
|
1. No icon provided: displays first letter of name on a colored circle
|
|
176
191
|
2. `img://` prefix or URL/path: renders as `<img>` element
|
|
@@ -1,28 +1,22 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/approval-flow.md -->
|
|
2
2
|
|
|
3
3
|
# Approval Flow
|
|
4
4
|
`<snice-approval-flow>`
|
|
5
5
|
|
|
6
6
|
A visual approval chain showing a sequence of approver nodes with avatar, name, role, and status.
|
|
7
7
|
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
**CDN**
|
|
16
|
-
```html
|
|
17
|
-
<script src="snice-runtime.min.js"></script>
|
|
18
|
-
<script src="snice-approval-flow.min.js"></script>
|
|
19
|
-
```
|
|
8
|
+
## Table of Contents
|
|
9
|
+
- [Properties](#properties)
|
|
10
|
+
- [Events](#events)
|
|
11
|
+
- [CSS Parts](#css-parts)
|
|
12
|
+
- [Basic Usage](#basic-usage)
|
|
13
|
+
- [Examples](#examples)
|
|
20
14
|
|
|
21
15
|
## Properties
|
|
22
16
|
|
|
23
17
|
| Property | Type | Default | Description |
|
|
24
18
|
|----------|------|---------|-------------|
|
|
25
|
-
| `steps` | `ApprovalStep[]` | `[]` | Array of approver step objects |
|
|
19
|
+
| `steps` | `ApprovalStep[]` | `[]` | Array of approver step objects (set via JavaScript) |
|
|
26
20
|
| `orientation` | `'horizontal' \| 'vertical'` | `'horizontal'` | Layout direction |
|
|
27
21
|
| `currentStep` (attr: `current-step`) | `string` | `''` | ID of the active step |
|
|
28
22
|
|
|
@@ -1,21 +1,30 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/audio-recorder.md -->
|
|
2
2
|
|
|
3
|
-
# Audio Recorder
|
|
3
|
+
# Audio Recorder
|
|
4
|
+
`<snice-audio-recorder>`
|
|
4
5
|
|
|
5
6
|
Record audio with visualization, pause/resume, and playback.
|
|
6
7
|
|
|
8
|
+
## Table of Contents
|
|
9
|
+
- [Properties](#properties)
|
|
10
|
+
- [Methods](#methods)
|
|
11
|
+
- [Events](#events)
|
|
12
|
+
- [CSS Parts](#css-parts)
|
|
13
|
+
- [Basic Usage](#basic-usage)
|
|
14
|
+
- [Examples](#examples)
|
|
15
|
+
|
|
7
16
|
## Properties
|
|
8
17
|
|
|
9
18
|
| Property | Type | Default | Description |
|
|
10
19
|
|----------|------|---------|-------------|
|
|
11
|
-
| `autoStart` | `boolean` | `false` | Auto-start recording |
|
|
12
|
-
| `format` | `AudioFormat` | `'audio/webm'` | Output format |
|
|
20
|
+
| `autoStart` (attr: `auto-start`) | `boolean` | `false` | Auto-start recording |
|
|
21
|
+
| `format` | `AudioFormat` | `'audio/webm'` | Output format (`'audio/webm'`, `'audio/ogg'`, `'audio/mp4'`, `'audio/wav'`) |
|
|
13
22
|
| `bitrate` | `number` | `128000` | Audio bitrate (bps) |
|
|
14
|
-
| `showControls` | `boolean` | `true` | Show control buttons |
|
|
15
|
-
| `showVisualizer` | `boolean` | `true` | Show frequency visualizer |
|
|
16
|
-
| `maxDuration` | `number` | `0` | Max duration (seconds, 0=unlimited) |
|
|
17
|
-
| `showTimer` | `boolean` | `true` | Show recording timer |
|
|
18
|
-
| `showPlayback` | `boolean` | `true` | Show playback controls after recording |
|
|
23
|
+
| `showControls` (attr: `show-controls`) | `boolean` | `true` | Show control buttons |
|
|
24
|
+
| `showVisualizer` (attr: `show-visualizer`) | `boolean` | `true` | Show frequency visualizer |
|
|
25
|
+
| `maxDuration` (attr: `max-duration`) | `number` | `0` | Max duration (seconds, 0=unlimited) |
|
|
26
|
+
| `showTimer` (attr: `show-timer`) | `boolean` | `true` | Show recording timer |
|
|
27
|
+
| `showPlayback` (attr: `show-playback`) | `boolean` | `true` | Show playback controls after recording |
|
|
19
28
|
| `recordedUrl` | `string` | `''` | URL of recorded audio (set automatically after stop) |
|
|
20
29
|
|
|
21
30
|
## Methods
|
|
@@ -36,7 +45,7 @@ Resume paused recording.
|
|
|
36
45
|
Cancel and discard recording.
|
|
37
46
|
|
|
38
47
|
### `getState(): RecorderState`
|
|
39
|
-
Get current state ('inactive'
|
|
48
|
+
Get current state (`'inactive'`, `'recording'`, `'paused'`).
|
|
40
49
|
|
|
41
50
|
### `getDuration(): number`
|
|
42
51
|
Get recording duration in seconds.
|
|
@@ -44,25 +53,38 @@ Get recording duration in seconds.
|
|
|
44
53
|
### `isRecording(): boolean`
|
|
45
54
|
Check if currently recording.
|
|
46
55
|
|
|
47
|
-
### `download(filename
|
|
56
|
+
### `download(filename?: string): void`
|
|
48
57
|
Download recorded audio.
|
|
49
58
|
|
|
50
59
|
### `reset(): void`
|
|
51
60
|
Reset recorder state and discard playback.
|
|
52
61
|
|
|
62
|
+
### AudioRecording Interface
|
|
63
|
+
|
|
64
|
+
```typescript
|
|
65
|
+
interface AudioRecording {
|
|
66
|
+
blob: Blob;
|
|
67
|
+
url: string;
|
|
68
|
+
duration: number;
|
|
69
|
+
size: number;
|
|
70
|
+
format: string;
|
|
71
|
+
timestamp: number;
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
53
75
|
## Events
|
|
54
76
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
77
|
+
| Event | Detail | Description |
|
|
78
|
+
|-------|--------|-------------|
|
|
79
|
+
| `recorder-start` | `{ recorder }` | Recording started |
|
|
80
|
+
| `recorder-stop` | `{ recorder }` | Recording stopped |
|
|
81
|
+
| `recorder-pause` | `{ recorder }` | Recording paused |
|
|
82
|
+
| `recorder-resume` | `{ recorder }` | Recording resumed |
|
|
83
|
+
| `recorder-cancel` | `{ recorder }` | Recording cancelled |
|
|
84
|
+
| `recorder-error` | `{ recorder, error }` | Error occurred |
|
|
61
85
|
|
|
62
86
|
## CSS Parts
|
|
63
87
|
|
|
64
|
-
Style internal elements from outside the shadow DOM using `::part()`.
|
|
65
|
-
|
|
66
88
|
| Part | Element | Description |
|
|
67
89
|
|------|---------|-------------|
|
|
68
90
|
| `base` | `<div>` | Outer recorder container |
|
|
@@ -84,26 +106,22 @@ snice-audio-recorder::part(visualizer) {
|
|
|
84
106
|
|
|
85
107
|
## Basic Usage
|
|
86
108
|
|
|
109
|
+
```typescript
|
|
110
|
+
import 'snice/components/audio-recorder/snice-audio-recorder';
|
|
111
|
+
```
|
|
112
|
+
|
|
87
113
|
```html
|
|
88
114
|
<snice-audio-recorder id="recorder"></snice-audio-recorder>
|
|
89
115
|
|
|
90
116
|
<script>
|
|
91
117
|
const recorder = document.getElementById('recorder');
|
|
92
118
|
|
|
93
|
-
// Listen for stop event
|
|
94
119
|
recorder.addEventListener('recorder-stop', async () => {
|
|
95
120
|
// Recording complete
|
|
96
121
|
});
|
|
97
122
|
</script>
|
|
98
123
|
```
|
|
99
124
|
|
|
100
|
-
## Audio Formats
|
|
101
|
-
|
|
102
|
-
- `'audio/webm'` - WebM (default)
|
|
103
|
-
- `'audio/ogg'` - Ogg Vorbis
|
|
104
|
-
- `'audio/mp4'` - MP4/AAC
|
|
105
|
-
- `'audio/wav'` - WAV (uncompressed)
|
|
106
|
-
|
|
107
125
|
## Examples
|
|
108
126
|
|
|
109
127
|
### Basic Recording
|
|
@@ -156,27 +174,3 @@ const formData = new FormData();
|
|
|
156
174
|
formData.append('audio', recording.blob, 'recording.webm');
|
|
157
175
|
await fetch('/upload', { method: 'POST', body: formData });
|
|
158
176
|
```
|
|
159
|
-
|
|
160
|
-
## AudioRecording Interface
|
|
161
|
-
|
|
162
|
-
```typescript
|
|
163
|
-
interface AudioRecording {
|
|
164
|
-
blob: Blob;
|
|
165
|
-
url: string;
|
|
166
|
-
duration: number;
|
|
167
|
-
size: number;
|
|
168
|
-
format: string;
|
|
169
|
-
timestamp: number;
|
|
170
|
-
}
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
## Security
|
|
174
|
-
|
|
175
|
-
- Requires HTTPS (or localhost)
|
|
176
|
-
- Requires user permission
|
|
177
|
-
- Permission prompts are browser-controlled
|
|
178
|
-
|
|
179
|
-
## Browser Support
|
|
180
|
-
|
|
181
|
-
- Modern browsers with MediaRecorder API
|
|
182
|
-
- Requires microphone hardware
|
|
@@ -1,34 +1,40 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/availability.md -->
|
|
2
2
|
|
|
3
|
-
# Availability
|
|
3
|
+
# Availability
|
|
4
4
|
`<snice-availability>`
|
|
5
5
|
|
|
6
6
|
A weekly availability grid for setting recurring time ranges. Users can click or drag to toggle time slots on and off.
|
|
7
7
|
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
```html
|
|
17
|
-
<script src="snice-runtime.min.js"></script>
|
|
18
|
-
<script src="snice-availability.min.js"></script>
|
|
19
|
-
```
|
|
8
|
+
## Table of Contents
|
|
9
|
+
- [Properties](#properties)
|
|
10
|
+
- [Methods](#methods)
|
|
11
|
+
- [Events](#events)
|
|
12
|
+
- [CSS Parts](#css-parts)
|
|
13
|
+
- [Basic Usage](#basic-usage)
|
|
14
|
+
- [Examples](#examples)
|
|
15
|
+
- [Accessibility](#accessibility)
|
|
20
16
|
|
|
21
17
|
## Properties
|
|
22
18
|
|
|
23
19
|
| Property | Attribute | Type | Default | Description |
|
|
24
20
|
|----------|-----------|------|---------|-------------|
|
|
25
|
-
| `value` |
|
|
21
|
+
| `value` | -- | `AvailabilityRange[]` | `[]` | Current availability ranges (set via JavaScript) |
|
|
26
22
|
| `granularity` | `granularity` | `number` | `60` | Slot size in minutes (15, 30, 60) |
|
|
27
23
|
| `startHour` | `start-hour` | `number` | `0` | First hour displayed |
|
|
28
24
|
| `endHour` | `end-hour` | `number` | `24` | Last hour displayed |
|
|
29
25
|
| `format` | `format` | `'12h' \| '24h'` | `'12h'` | Time format for labels |
|
|
30
26
|
| `readonly` | `readonly` | `boolean` | `false` | Prevents editing |
|
|
31
27
|
|
|
28
|
+
### AvailabilityRange Interface
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
interface AvailabilityRange {
|
|
32
|
+
day: number; // 0=Mon, 1=Tue, 2=Wed, 3=Thu, 4=Fri, 5=Sat, 6=Sun
|
|
33
|
+
start: string; // "HH:MM" (24h format)
|
|
34
|
+
end: string; // "HH:MM" (24h format)
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
32
38
|
## Methods
|
|
33
39
|
|
|
34
40
|
### `getAvailability(): AvailabilityRange[]`
|
|
@@ -66,14 +72,14 @@ availability.clear();
|
|
|
66
72
|
### `availability-change`
|
|
67
73
|
Dispatched when availability changes (after mouse up from drag, or preset/clear action).
|
|
68
74
|
|
|
75
|
+
**Detail:** `{ value: AvailabilityRange[] }`
|
|
76
|
+
|
|
69
77
|
```javascript
|
|
70
78
|
availability.addEventListener('availability-change', (e) => {
|
|
71
79
|
saveToServer(e.detail.value);
|
|
72
80
|
});
|
|
73
81
|
```
|
|
74
82
|
|
|
75
|
-
**Detail:** `{ value: AvailabilityRange[] }`
|
|
76
|
-
|
|
77
83
|
## CSS Parts
|
|
78
84
|
|
|
79
85
|
| Part | Element | Description |
|
|
@@ -94,6 +100,10 @@ snice-availability::part(header) {
|
|
|
94
100
|
|
|
95
101
|
## Basic Usage
|
|
96
102
|
|
|
103
|
+
```typescript
|
|
104
|
+
import 'snice/components/availability/snice-availability';
|
|
105
|
+
```
|
|
106
|
+
|
|
97
107
|
```html
|
|
98
108
|
<snice-availability start-hour="8" end-hour="18"></snice-availability>
|
|
99
109
|
```
|
|
@@ -197,33 +207,8 @@ availability.setAvailability(ranges);
|
|
|
197
207
|
availability.readonly = true; // Display only
|
|
198
208
|
```
|
|
199
209
|
|
|
200
|
-
## Interfaces
|
|
201
|
-
|
|
202
|
-
### AvailabilityRange
|
|
203
|
-
|
|
204
|
-
```typescript
|
|
205
|
-
interface AvailabilityRange {
|
|
206
|
-
day: number; // 0=Mon, 1=Tue, 2=Wed, 3=Thu, 4=Fri, 5=Sat, 6=Sun
|
|
207
|
-
start: string; // "HH:MM" (24h format)
|
|
208
|
-
end: string; // "HH:MM" (24h format)
|
|
209
|
-
}
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
## Interaction
|
|
213
|
-
|
|
214
|
-
- **Click** a cell to toggle it on or off
|
|
215
|
-
- **Click and drag** to paint multiple cells (adds or removes based on first cell's state)
|
|
216
|
-
- **Presets** for quick selection of common patterns
|
|
217
|
-
- Changes emit `availability-change` after mouse release
|
|
218
|
-
|
|
219
210
|
## Accessibility
|
|
220
211
|
|
|
221
|
-
-
|
|
222
|
-
-
|
|
223
|
-
-
|
|
224
|
-
- Hours counter in footer
|
|
225
|
-
|
|
226
|
-
## Browser Support
|
|
227
|
-
|
|
228
|
-
- Modern browsers with Custom Elements v1 support
|
|
229
|
-
- Mouse interaction for click and drag
|
|
212
|
+
- **Interaction**: Click a cell to toggle, click and drag to paint multiple cells
|
|
213
|
+
- **Visual legend**: Available/unavailable indicator in footer
|
|
214
|
+
- **Hours counter**: Total selected hours displayed in footer
|