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/list.md
CHANGED
|
@@ -1,24 +1,27 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/list.md -->
|
|
2
2
|
|
|
3
3
|
# List
|
|
4
4
|
`<snice-list>`
|
|
5
5
|
|
|
6
6
|
A list container with search, infinite scroll, loading states, and composable list items.
|
|
7
7
|
|
|
8
|
-
##
|
|
8
|
+
## Table of Contents
|
|
9
|
+
- [Components](#components)
|
|
10
|
+
- [Properties](#properties)
|
|
11
|
+
- [Requests](#requests)
|
|
12
|
+
- [Slots](#slots)
|
|
13
|
+
- [CSS Parts](#css-parts)
|
|
14
|
+
- [Basic Usage](#basic-usage)
|
|
15
|
+
- [Examples](#examples)
|
|
9
16
|
|
|
10
|
-
|
|
11
|
-
```typescript
|
|
12
|
-
import 'snice/components/list/snice-list';
|
|
13
|
-
```
|
|
17
|
+
## Components
|
|
14
18
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
```
|
|
19
|
+
- `<snice-list>` - The list container with search, infinite scroll, and loading support
|
|
20
|
+
- `<snice-list-item>` - Individual list item with heading, description, and slot areas
|
|
21
|
+
|
|
22
|
+
## Properties
|
|
20
23
|
|
|
21
|
-
|
|
24
|
+
### snice-list
|
|
22
25
|
|
|
23
26
|
| Property | Type | Default | Description |
|
|
24
27
|
|----------|------|---------|-------------|
|
|
@@ -31,7 +34,7 @@ import 'snice/components/list/snice-list';
|
|
|
31
34
|
| `threshold` | `number` | `0.5` | Intersection threshold for infinite scroll |
|
|
32
35
|
| `skeletonCount` (attr: `skeleton-count`) | `number` | `5` | Number of skeleton placeholders |
|
|
33
36
|
|
|
34
|
-
|
|
37
|
+
### snice-list-item
|
|
35
38
|
|
|
36
39
|
| Property | Type | Default | Description |
|
|
37
40
|
|----------|------|---------|-------------|
|
|
@@ -40,7 +43,18 @@ import 'snice/components/list/snice-list';
|
|
|
40
43
|
| `selected` | `boolean` | `false` | Highlights the item |
|
|
41
44
|
| `disabled` | `boolean` | `false` | Disables interaction |
|
|
42
45
|
|
|
43
|
-
##
|
|
46
|
+
## Requests
|
|
47
|
+
|
|
48
|
+
The list uses `@request`/`@respond` for controller-driven data flow.
|
|
49
|
+
|
|
50
|
+
| Request | Params | Description |
|
|
51
|
+
|---------|--------|-------------|
|
|
52
|
+
| `list/search` | `{ query: string, list }` | Handle search queries (debounced 300ms) |
|
|
53
|
+
| `list/load-more` | `{ page: number, list }` | Load next page for infinite scroll |
|
|
54
|
+
|
|
55
|
+
## Slots
|
|
56
|
+
|
|
57
|
+
### snice-list
|
|
44
58
|
|
|
45
59
|
| Name | Description |
|
|
46
60
|
|------|-------------|
|
|
@@ -48,15 +62,26 @@ import 'snice/components/list/snice-list';
|
|
|
48
62
|
| `before` | Content before the list items |
|
|
49
63
|
| `after` | Content after the list items |
|
|
50
64
|
| `no-results` | Custom empty state (overrides default) |
|
|
51
|
-
| `loading` | Custom loading content (overrides
|
|
65
|
+
| `loading` | Custom loading content (overrides skeletons) |
|
|
52
66
|
|
|
53
|
-
|
|
67
|
+
### snice-list-item
|
|
54
68
|
|
|
55
69
|
| Name | Description |
|
|
56
70
|
|------|-------------|
|
|
57
71
|
| (default) | Custom item content |
|
|
58
|
-
| `before` | Content before the item (e.g., icon) |
|
|
59
|
-
| `after` | Content after the item (e.g., badge) |
|
|
72
|
+
| `before` | Content before the item (e.g., icon, avatar) |
|
|
73
|
+
| `after` | Content after the item (e.g., badge, metadata) |
|
|
74
|
+
|
|
75
|
+
## CSS Parts
|
|
76
|
+
|
|
77
|
+
### snice-list
|
|
78
|
+
|
|
79
|
+
| Part | Element | Description |
|
|
80
|
+
|------|---------|-------------|
|
|
81
|
+
| `container` | `<div>` | The outer list container |
|
|
82
|
+
| `search` | `<div>` | The search input wrapper |
|
|
83
|
+
| `loading` | `<div>` | The loading skeletons wrapper |
|
|
84
|
+
| `sentinel` | `<div>` | The infinite scroll sentinel element |
|
|
60
85
|
|
|
61
86
|
## Basic Usage
|
|
62
87
|
|
|
@@ -105,7 +130,7 @@ Use the `before` and `after` slots on list items for icons and metadata.
|
|
|
105
130
|
|
|
106
131
|
### Searchable List
|
|
107
132
|
|
|
108
|
-
Set the `searchable` attribute to show a search input. Handle queries with
|
|
133
|
+
Set the `searchable` attribute to show a search input. Handle queries with a `list/search` responder.
|
|
109
134
|
|
|
110
135
|
```html
|
|
111
136
|
<snice-list searchable dividers>
|
|
@@ -152,10 +177,3 @@ Set the `no-results` attribute to show an empty state message.
|
|
|
152
177
|
<snice-list-item heading="Enterprise" disabled></snice-list-item>
|
|
153
178
|
</snice-list>
|
|
154
179
|
```
|
|
155
|
-
|
|
156
|
-
## Requests
|
|
157
|
-
|
|
158
|
-
| Request | Params | Description |
|
|
159
|
-
|---------|--------|-------------|
|
|
160
|
-
| `list/search` | `{ query: string, list }` | Handle search queries |
|
|
161
|
-
| `list/load-more` | `{ page: number, list }` | Load next page for infinite scroll |
|
|
@@ -1,22 +1,18 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/location.md -->
|
|
2
2
|
|
|
3
3
|
# Location
|
|
4
4
|
`<snice-location>`
|
|
5
5
|
|
|
6
6
|
Displays location information with addresses, coordinates, maps, and custom icons.
|
|
7
7
|
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
```html
|
|
17
|
-
<script src="snice-runtime.min.js"></script>
|
|
18
|
-
<script src="snice-location.min.js"></script>
|
|
19
|
-
```
|
|
8
|
+
## Table of Contents
|
|
9
|
+
- [Properties](#properties)
|
|
10
|
+
- [Methods](#methods)
|
|
11
|
+
- [Events](#events)
|
|
12
|
+
- [Slots](#slots)
|
|
13
|
+
- [CSS Parts](#css-parts)
|
|
14
|
+
- [Basic Usage](#basic-usage)
|
|
15
|
+
- [Examples](#examples)
|
|
20
16
|
|
|
21
17
|
## Properties
|
|
22
18
|
|
package/docs/components/login.md
CHANGED
|
@@ -1,22 +1,20 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/login.md -->
|
|
2
2
|
|
|
3
3
|
# Login
|
|
4
4
|
`<snice-login>`
|
|
5
5
|
|
|
6
6
|
A complete authentication form with username/password fields, using Snice's @request/@respond pattern for controller communication.
|
|
7
7
|
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
<script src="snice-login.min.js"></script>
|
|
19
|
-
```
|
|
8
|
+
## Table of Contents
|
|
9
|
+
- [Properties](#properties)
|
|
10
|
+
- [Methods](#methods)
|
|
11
|
+
- [Requests](#requests)
|
|
12
|
+
- [Events](#events)
|
|
13
|
+
- [Slots](#slots)
|
|
14
|
+
- [CSS Parts](#css-parts)
|
|
15
|
+
- [Basic Usage](#basic-usage)
|
|
16
|
+
- [Examples](#examples)
|
|
17
|
+
- [Accessibility](#accessibility)
|
|
20
18
|
|
|
21
19
|
## Properties
|
|
22
20
|
|
|
@@ -35,12 +33,36 @@ import 'snice/components/login/snice-login';
|
|
|
35
33
|
|
|
36
34
|
| Method | Arguments | Description |
|
|
37
35
|
|--------|-----------|-------------|
|
|
38
|
-
| `login()` | `credentials?: LoginCredentials` | Trigger login (uses form values if no args) |
|
|
36
|
+
| `login()` | `credentials?: LoginCredentials` | Trigger login via @request (uses form values if no args) |
|
|
39
37
|
| `reset()` | -- | Clear form, error, and loading state |
|
|
40
38
|
| `setError()` | `message: string` | Display an error message |
|
|
41
39
|
| `clearError()` | -- | Remove error message |
|
|
42
40
|
| `setCredentials()` | `credentials: Partial<LoginCredentials>` | Set form field values |
|
|
43
41
|
|
|
42
|
+
## Requests
|
|
43
|
+
|
|
44
|
+
The login component uses `@request('login-user')` to communicate with an authentication controller.
|
|
45
|
+
|
|
46
|
+
| Request | Params | Description |
|
|
47
|
+
|---------|--------|-------------|
|
|
48
|
+
| `login-user` | `LoginCredentials` | Sent to controller on login attempt |
|
|
49
|
+
|
|
50
|
+
### Types
|
|
51
|
+
|
|
52
|
+
```typescript
|
|
53
|
+
interface LoginCredentials {
|
|
54
|
+
username: string;
|
|
55
|
+
password: string;
|
|
56
|
+
remember?: boolean;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
interface LoginResult {
|
|
60
|
+
success: boolean;
|
|
61
|
+
error?: string;
|
|
62
|
+
data?: any;
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
44
66
|
## Events
|
|
45
67
|
|
|
46
68
|
| Event | Detail | Description |
|
|
@@ -154,8 +176,6 @@ Use `title` and `action-text` to customize the form text.
|
|
|
154
176
|
|
|
155
177
|
### Request/Respond Pattern
|
|
156
178
|
|
|
157
|
-
The login component uses `@request('login-user')` to communicate with an authentication controller.
|
|
158
|
-
|
|
159
179
|
```typescript
|
|
160
180
|
import { controller, respond, IController } from 'snice';
|
|
161
181
|
import type { LoginCredentials, LoginResult } from 'snice/components/login/snice-login.types';
|
|
@@ -216,24 +236,10 @@ login.clearError();
|
|
|
216
236
|
login.reset();
|
|
217
237
|
```
|
|
218
238
|
|
|
219
|
-
##
|
|
220
|
-
|
|
221
|
-
```typescript
|
|
222
|
-
interface LoginCredentials {
|
|
223
|
-
username: string;
|
|
224
|
-
password: string;
|
|
225
|
-
remember?: boolean;
|
|
226
|
-
}
|
|
239
|
+
## Accessibility
|
|
227
240
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
## Requests
|
|
236
|
-
|
|
237
|
-
| Request | Params | Description |
|
|
238
|
-
|---------|--------|-------------|
|
|
239
|
-
| `login-user` | `LoginCredentials` | Sent to controller on login attempt |
|
|
241
|
+
- Form inputs use proper `<label>` elements with `for` attributes
|
|
242
|
+
- Inputs have `autocomplete` attributes (`username`, `current-password`)
|
|
243
|
+
- Enter key on password field triggers form submission
|
|
244
|
+
- Loading and disabled states propagate to all form inputs and the submit button
|
|
245
|
+
- Required fields are marked with the `required` attribute
|
package/docs/components/map.md
CHANGED
|
@@ -1,35 +1,19 @@
|
|
|
1
|
-
<!-- AI: For
|
|
2
|
-
|
|
3
|
-
# Map Component
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/map.md -->
|
|
4
2
|
|
|
3
|
+
# Map
|
|
5
4
|
`<snice-map>`
|
|
6
5
|
|
|
7
6
|
An interactive slippy map component using OpenStreetMap tiles. Supports markers with popups, drag panning, scroll zoom, and programmatic control over the viewport.
|
|
8
7
|
|
|
9
8
|
## Table of Contents
|
|
10
|
-
- [Importing](#importing)
|
|
11
9
|
- [Properties](#properties)
|
|
12
10
|
- [Methods](#methods)
|
|
13
11
|
- [Events](#events)
|
|
14
12
|
- [CSS Parts](#css-parts)
|
|
15
13
|
- [Basic Usage](#basic-usage)
|
|
16
14
|
- [Examples](#examples)
|
|
17
|
-
- [Types](#types)
|
|
18
15
|
- [Accessibility](#accessibility)
|
|
19
16
|
|
|
20
|
-
## Importing
|
|
21
|
-
|
|
22
|
-
**ESM (bundler)**
|
|
23
|
-
```typescript
|
|
24
|
-
import 'snice/components/map/snice-map';
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
**CDN**
|
|
28
|
-
```html
|
|
29
|
-
<script src="snice-runtime.min.js"></script>
|
|
30
|
-
<script src="snice-map.min.js"></script>
|
|
31
|
-
```
|
|
32
|
-
|
|
33
17
|
## Properties
|
|
34
18
|
|
|
35
19
|
| Property | Type | Default | Description |
|
|
@@ -41,6 +25,24 @@ import 'snice/components/map/snice-map';
|
|
|
41
25
|
| `markers` | `MapMarker[]` | `[]` | Array of marker data (set via JavaScript) |
|
|
42
26
|
| `tileUrl` (attr: `tile-url`) | `string` | `'https://tile.openstreetmap.org/{z}/{x}/{y}.png'` | Tile server URL template with `{x}`, `{y}`, `{z}` placeholders |
|
|
43
27
|
|
|
28
|
+
### Types
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
interface MapCenter {
|
|
32
|
+
lat: number;
|
|
33
|
+
lng: number;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
interface MapMarker {
|
|
37
|
+
id: string; // Unique identifier
|
|
38
|
+
lat: number; // Latitude
|
|
39
|
+
lng: number; // Longitude
|
|
40
|
+
label?: string; // Marker label text
|
|
41
|
+
icon?: string; // Custom icon URL
|
|
42
|
+
popup?: string; // Popup text shown on marker click
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
44
46
|
## Methods
|
|
45
47
|
|
|
46
48
|
| Method | Arguments | Description |
|
|
@@ -55,9 +57,9 @@ import 'snice/components/map/snice-map';
|
|
|
55
57
|
|
|
56
58
|
| Event | Detail | Description |
|
|
57
59
|
|-------|--------|-------------|
|
|
58
|
-
| `map-click` | `{ lat: number
|
|
60
|
+
| `map-click` | `{ lat: number, lng: number }` | Fired when the map is clicked (not on a marker) |
|
|
59
61
|
| `marker-click` | `{ marker: MapMarker }` | Fired when a marker is clicked. Also toggles the marker's popup |
|
|
60
|
-
| `map-move` | `{ center: MapCenter
|
|
62
|
+
| `map-move` | `{ center: MapCenter, zoom: number }` | Fired after a drag pan operation completes |
|
|
61
63
|
| `map-zoom` | `{ zoom: number }` | Fired when the zoom level changes |
|
|
62
64
|
|
|
63
65
|
## CSS Parts
|
|
@@ -194,34 +196,10 @@ Use the `tile-url` attribute to load tiles from a different provider.
|
|
|
194
196
|
></snice-map>
|
|
195
197
|
```
|
|
196
198
|
|
|
197
|
-
## Types
|
|
198
|
-
|
|
199
|
-
### MapCenter
|
|
200
|
-
|
|
201
|
-
```typescript
|
|
202
|
-
interface MapCenter {
|
|
203
|
-
lat: number;
|
|
204
|
-
lng: number;
|
|
205
|
-
}
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
### MapMarker
|
|
209
|
-
|
|
210
|
-
```typescript
|
|
211
|
-
interface MapMarker {
|
|
212
|
-
id: string; // Unique identifier
|
|
213
|
-
lat: number; // Latitude
|
|
214
|
-
lng: number; // Longitude
|
|
215
|
-
label?: string; // Marker label text
|
|
216
|
-
icon?: string; // Custom icon URL
|
|
217
|
-
popup?: string; // Popup text shown on marker click
|
|
218
|
-
}
|
|
219
|
-
```
|
|
220
|
-
|
|
221
199
|
## Accessibility
|
|
222
200
|
|
|
223
|
-
-
|
|
224
|
-
- Zoom in/out buttons
|
|
201
|
+
- Mouse drag to pan, scroll wheel to zoom
|
|
202
|
+
- Zoom in/out buttons in the top-right corner for keyboard and pointer access
|
|
225
203
|
- Markers are interactive and toggle popup display on click
|
|
226
204
|
- OpenStreetMap attribution is included automatically
|
|
227
205
|
- For keyboard-only users, the zoom buttons provide an accessible alternative to scroll-wheel zoom
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
<!-- AI: For
|
|
2
|
-
|
|
3
|
-
# Markdown Component
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/markdown.md -->
|
|
4
2
|
|
|
3
|
+
# Markdown
|
|
5
4
|
`<snice-markdown>`
|
|
6
5
|
|
|
7
6
|
A lightweight GFM-compatible markdown renderer that converts markdown text to styled HTML inside shadow DOM. Includes built-in sanitization to prevent XSS attacks.
|
|
8
7
|
|
|
9
8
|
## Table of Contents
|
|
10
|
-
- [Importing](#importing)
|
|
11
9
|
- [Properties](#properties)
|
|
12
10
|
- [Methods](#methods)
|
|
13
11
|
- [Events](#events)
|
|
12
|
+
- [Slots](#slots)
|
|
14
13
|
- [CSS Custom Properties](#css-custom-properties)
|
|
15
14
|
- [CSS Parts](#css-parts)
|
|
16
15
|
- [Basic Usage](#basic-usage)
|
|
@@ -18,19 +17,6 @@ A lightweight GFM-compatible markdown renderer that converts markdown text to st
|
|
|
18
17
|
- [Supported Syntax](#supported-syntax)
|
|
19
18
|
- [Accessibility](#accessibility)
|
|
20
19
|
|
|
21
|
-
## Importing
|
|
22
|
-
|
|
23
|
-
**ESM (bundler)**
|
|
24
|
-
```typescript
|
|
25
|
-
import 'snice/components/markdown/snice-markdown';
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
**CDN**
|
|
29
|
-
```html
|
|
30
|
-
<script src="snice-runtime.min.js"></script>
|
|
31
|
-
<script src="snice-markdown.min.js"></script>
|
|
32
|
-
```
|
|
33
|
-
|
|
34
20
|
## Properties
|
|
35
21
|
|
|
36
22
|
| Property | Type | Default | Description |
|
|
@@ -38,18 +24,26 @@ import 'snice/components/markdown/snice-markdown';
|
|
|
38
24
|
| `sanitize` | `boolean` | `true` | Whether to sanitize the HTML output to prevent XSS |
|
|
39
25
|
| `theme` | `'default' \| 'github'` | `'default'` | Visual theme for the rendered output |
|
|
40
26
|
|
|
27
|
+
> **Note:** The `content` field is a plain class property, not a reactive `@property`. Use `setContent()` to update content programmatically, or provide text as slotted content.
|
|
28
|
+
|
|
41
29
|
## Methods
|
|
42
30
|
|
|
43
31
|
| Method | Arguments | Description |
|
|
44
32
|
|--------|-----------|-------------|
|
|
45
|
-
| `setContent()` | `markdown: string` | Set the markdown source programmatically |
|
|
33
|
+
| `setContent()` | `markdown: string` | Set the markdown source programmatically and re-render |
|
|
46
34
|
|
|
47
35
|
## Events
|
|
48
36
|
|
|
49
37
|
| Event | Detail | Description |
|
|
50
38
|
|-------|--------|-------------|
|
|
51
39
|
| `markdown-render` | `{ html: string }` | Fired after the markdown has been rendered to HTML |
|
|
52
|
-
| `link-click` | `{ href: string
|
|
40
|
+
| `link-click` | `{ href: string, text: string }` | Fired when a link in the rendered content is clicked. Default navigation is prevented |
|
|
41
|
+
|
|
42
|
+
## Slots
|
|
43
|
+
|
|
44
|
+
| Name | Description |
|
|
45
|
+
|------|-------------|
|
|
46
|
+
| (default) | Markdown source text (read on connect and slotchange) |
|
|
53
47
|
|
|
54
48
|
## CSS Custom Properties
|
|
55
49
|
|
|
@@ -155,7 +149,7 @@ Use the `theme="github"` attribute for GitHub-style markdown rendering.
|
|
|
155
149
|
|
|
156
150
|
### Intercepting Link Clicks
|
|
157
151
|
|
|
158
|
-
Listen for the `link-click` event to handle navigation within your application
|
|
152
|
+
Listen for the `link-click` event to handle navigation within your application.
|
|
159
153
|
|
|
160
154
|
```html
|
|
161
155
|
<snice-markdown id="docs">Check out [the documentation](/docs) or visit [our website](https://example.com).</snice-markdown>
|
|
@@ -169,7 +163,6 @@ Listen for the `link-click` event to handle navigation within your application i
|
|
|
169
163
|
const { href, text } = e.detail;
|
|
170
164
|
console.log(`Link clicked: "${text}" -> ${href}`);
|
|
171
165
|
|
|
172
|
-
// Handle internal navigation
|
|
173
166
|
if (href.startsWith('/')) {
|
|
174
167
|
window.history.pushState({}, '', href);
|
|
175
168
|
} else {
|
|
@@ -181,13 +174,9 @@ Listen for the `link-click` event to handle navigation within your application i
|
|
|
181
174
|
|
|
182
175
|
### Code Blocks and Tables
|
|
183
176
|
|
|
184
|
-
Render markdown that includes fenced code blocks and GFM tables.
|
|
185
|
-
|
|
186
177
|
```html
|
|
187
178
|
<snice-markdown>## API Response
|
|
188
179
|
|
|
189
|
-
The endpoint returns the following JSON:
|
|
190
|
-
|
|
191
180
|
| Code | Meaning |
|
|
192
181
|
|------|---------|
|
|
193
182
|
| 200 | Success |
|
|
@@ -1,22 +1,17 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/masonry.md -->
|
|
2
2
|
|
|
3
3
|
# Masonry
|
|
4
4
|
`<snice-masonry>`
|
|
5
5
|
|
|
6
6
|
A Pinterest-style layout that arranges items in columns with variable heights using CSS columns.
|
|
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-masonry.min.js"></script>
|
|
19
|
-
```
|
|
8
|
+
## Table of Contents
|
|
9
|
+
- [Properties](#properties)
|
|
10
|
+
- [Slots](#slots)
|
|
11
|
+
- [CSS Parts](#css-parts)
|
|
12
|
+
- [Basic Usage](#basic-usage)
|
|
13
|
+
- [Examples](#examples)
|
|
14
|
+
- [Accessibility](#accessibility)
|
|
20
15
|
|
|
21
16
|
## Properties
|
|
22
17
|
|
|
@@ -135,3 +130,10 @@ Use the `gap` attribute with any CSS length value.
|
|
|
135
130
|
});
|
|
136
131
|
</script>
|
|
137
132
|
```
|
|
133
|
+
|
|
134
|
+
## Accessibility
|
|
135
|
+
|
|
136
|
+
- The masonry container has `role="list"` for screen readers
|
|
137
|
+
- Items flow top-to-bottom, left-to-right within CSS columns
|
|
138
|
+
- `break-inside: avoid` prevents items from splitting across columns
|
|
139
|
+
- CSS columns-based layout requires no JavaScript measurement
|
|
@@ -1,34 +1,31 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/mentions.md -->
|
|
2
2
|
|
|
3
3
|
# Mentions
|
|
4
4
|
`<snice-mentions>`
|
|
5
5
|
|
|
6
6
|
A text input with inline @mention autocomplete. Typing the trigger character shows a filtered user list dropdown, and selected mentions are stored as structured markers in the value.
|
|
7
7
|
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
<script src="snice-runtime.min.js"></script>
|
|
18
|
-
<script src="snice-mentions.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
|
+
- [Keyboard Navigation](#keyboard-navigation)
|
|
16
|
+
- [Accessibility](#accessibility)
|
|
20
17
|
|
|
21
18
|
## Properties
|
|
22
19
|
|
|
23
20
|
| Property | Type | Default | Description |
|
|
24
21
|
|----------|------|---------|-------------|
|
|
25
22
|
| `value` | `string` | `''` | Raw text with `@[Name](id)` mention markers |
|
|
26
|
-
| `users` | `MentionUser[]` | `[]` | Users available for autocomplete |
|
|
23
|
+
| `users` | `MentionUser[]` | `[]` | Users available for autocomplete (set via JavaScript) |
|
|
27
24
|
| `placeholder` | `string` | `'Type @ to mention someone...'` | Input placeholder text |
|
|
28
25
|
| `readonly` | `boolean` | `false` | Prevents editing |
|
|
29
26
|
| `trigger` | `string` | `'@'` | Character that triggers the autocomplete dropdown |
|
|
30
27
|
|
|
31
|
-
###
|
|
28
|
+
### Types
|
|
32
29
|
|
|
33
30
|
```typescript
|
|
34
31
|
interface MentionUser {
|
|
@@ -36,11 +33,7 @@ interface MentionUser {
|
|
|
36
33
|
name: string;
|
|
37
34
|
avatar?: string;
|
|
38
35
|
}
|
|
39
|
-
```
|
|
40
36
|
|
|
41
|
-
### Mention Interface
|
|
42
|
-
|
|
43
|
-
```typescript
|
|
44
37
|
interface Mention {
|
|
45
38
|
id: string;
|
|
46
39
|
name: string;
|
|
@@ -67,12 +60,14 @@ interface Mention {
|
|
|
67
60
|
|
|
68
61
|
## CSS Parts
|
|
69
62
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
|
73
|
-
|
|
74
|
-
| `
|
|
75
|
-
| `
|
|
63
|
+
Style internal elements from outside the shadow DOM using `::part()`.
|
|
64
|
+
|
|
65
|
+
| Part | Element | Description |
|
|
66
|
+
|------|---------|-------------|
|
|
67
|
+
| `base` | `<div>` | Wrapper container |
|
|
68
|
+
| `editor` | `<div>` | Editor container with border |
|
|
69
|
+
| `textarea` | `<textarea>` | The textarea element |
|
|
70
|
+
| `dropdown` | `<div>` | Autocomplete dropdown |
|
|
76
71
|
|
|
77
72
|
## Basic Usage
|
|
78
73
|
|
|
@@ -171,3 +166,19 @@ editor.addEventListener('value-change', e => {
|
|
|
171
166
|
console.log('Mentions:', e.detail.mentions);
|
|
172
167
|
});
|
|
173
168
|
```
|
|
169
|
+
|
|
170
|
+
## Keyboard Navigation
|
|
171
|
+
|
|
172
|
+
| Key | Action |
|
|
173
|
+
|-----|--------|
|
|
174
|
+
| Arrow Down | Move to next item in dropdown |
|
|
175
|
+
| Arrow Up | Move to previous item in dropdown |
|
|
176
|
+
| Enter / Tab | Select highlighted item |
|
|
177
|
+
| Escape | Close dropdown |
|
|
178
|
+
|
|
179
|
+
## Accessibility
|
|
180
|
+
|
|
181
|
+
- The textarea has `aria-autocomplete="list"` and `aria-haspopup="listbox"`
|
|
182
|
+
- Dropdown items have `role="option"` with `aria-selected` for the highlighted item
|
|
183
|
+
- The dropdown has `role="listbox"`
|
|
184
|
+
- Avatar placeholders show user initials when no image is provided
|