snice 4.27.0 → 4.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/adapters/react/action-bar.d.ts +30 -0
- package/adapters/react/action-bar.d.ts.map +1 -0
- package/adapters/react/action-bar.js +24 -0
- package/adapters/react/action-bar.js.map +1 -0
- package/adapters/react/action-bar.tsx +38 -0
- package/adapters/react/binpack.d.ts +35 -0
- package/adapters/react/binpack.d.ts.map +1 -0
- package/adapters/react/binpack.js +24 -0
- package/adapters/react/binpack.js.map +1 -0
- package/adapters/react/binpack.tsx +43 -0
- package/adapters/react/components.d.ts +4 -0
- package/adapters/react/components.d.ts.map +1 -1
- package/adapters/react/components.js +2 -0
- package/adapters/react/components.js.map +1 -1
- package/adapters/react/components.ts +4 -0
- package/adapters/react/useRequestHandler.d.ts +56 -0
- package/adapters/react/useRequestHandler.js +103 -0
- package/adapters/react/useRequestHandler.js.map +1 -0
- package/dist/cdn/accordion/snice-accordion.js +1 -1
- package/dist/cdn/accordion/snice-accordion.min.js +1 -1
- package/dist/cdn/action-bar/README.md +27 -0
- package/dist/cdn/action-bar/snice-action-bar.js +249 -0
- package/dist/cdn/action-bar/snice-action-bar.js.map +1 -0
- package/dist/cdn/action-bar/snice-action-bar.min.js +12 -0
- package/dist/cdn/action-bar/snice-action-bar.min.js.map +1 -0
- package/dist/cdn/activity-feed/snice-activity-feed.js +1 -1
- package/dist/cdn/activity-feed/snice-activity-feed.min.js +1 -1
- package/dist/cdn/alert/snice-alert.js +1 -1
- package/dist/cdn/alert/snice-alert.min.js +1 -1
- package/dist/cdn/app-tiles/snice-app-tiles.js +1 -1
- package/dist/cdn/app-tiles/snice-app-tiles.min.js +1 -1
- package/dist/cdn/approval-flow/snice-approval-flow.js +1 -1
- package/dist/cdn/approval-flow/snice-approval-flow.min.js +1 -1
- package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
- package/dist/cdn/audio-recorder/snice-audio-recorder.min.js +1 -1
- package/dist/cdn/availability/snice-availability.js +1 -1
- package/dist/cdn/availability/snice-availability.min.js +1 -1
- package/dist/cdn/avatar/snice-avatar.js +1 -1
- package/dist/cdn/avatar/snice-avatar.min.js +1 -1
- package/dist/cdn/avatar-group/snice-avatar-group.js +1 -1
- package/dist/cdn/avatar-group/snice-avatar-group.min.js +1 -1
- package/dist/cdn/badge/snice-badge.js +2 -2
- package/dist/cdn/badge/snice-badge.js.map +1 -1
- package/dist/cdn/badge/snice-badge.min.js +2 -2
- package/dist/cdn/badge/snice-badge.min.js.map +1 -1
- package/dist/cdn/banner/snice-banner.js +1 -1
- package/dist/cdn/banner/snice-banner.min.js +1 -1
- package/dist/cdn/binpack/README.md +27 -0
- package/dist/cdn/binpack/snice-binpack.js +1037 -0
- package/dist/cdn/binpack/snice-binpack.js.map +1 -0
- package/dist/cdn/binpack/snice-binpack.min.js +13 -0
- package/dist/cdn/binpack/snice-binpack.min.js.map +1 -0
- package/dist/cdn/book/snice-book.js +1 -1
- package/dist/cdn/book/snice-book.min.js +1 -1
- package/dist/cdn/booking/snice-booking.js +1 -1
- package/dist/cdn/booking/snice-booking.min.js +1 -1
- package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +1 -1
- package/dist/cdn/breadcrumbs/snice-breadcrumbs.min.js +1 -1
- package/dist/cdn/button/README.md +1 -1
- package/dist/cdn/button/snice-button.js +11 -10
- package/dist/cdn/button/snice-button.js.map +1 -1
- package/dist/cdn/button/snice-button.min.js +3 -3
- package/dist/cdn/button/snice-button.min.js.map +1 -1
- package/dist/cdn/calendar/snice-calendar.js +1 -1
- package/dist/cdn/calendar/snice-calendar.min.js +1 -1
- package/dist/cdn/camera/snice-camera.js +1 -1
- package/dist/cdn/camera/snice-camera.min.js +1 -1
- package/dist/cdn/camera-annotate/snice-camera-annotate.js +1 -1
- package/dist/cdn/camera-annotate/snice-camera-annotate.min.js +1 -1
- package/dist/cdn/candlestick/snice-candlestick.js +1 -1
- package/dist/cdn/candlestick/snice-candlestick.min.js +1 -1
- package/dist/cdn/card/snice-card.js +1 -1
- package/dist/cdn/card/snice-card.min.js +1 -1
- package/dist/cdn/carousel/snice-carousel.js +1 -1
- package/dist/cdn/carousel/snice-carousel.min.js +1 -1
- package/dist/cdn/cart/snice-cart.js +1 -1
- package/dist/cdn/cart/snice-cart.min.js +1 -1
- package/dist/cdn/chart/snice-chart.js +1 -1
- package/dist/cdn/chart/snice-chart.min.js +1 -1
- package/dist/cdn/chat/snice-chat.js +1 -1
- package/dist/cdn/chat/snice-chat.min.js +1 -1
- package/dist/cdn/checkbox/snice-checkbox.js +1 -1
- package/dist/cdn/checkbox/snice-checkbox.min.js +1 -1
- package/dist/cdn/chip/snice-chip.js +1 -1
- package/dist/cdn/chip/snice-chip.min.js +1 -1
- package/dist/cdn/code-block/snice-code-block.js +1 -1
- package/dist/cdn/code-block/snice-code-block.min.js +1 -1
- package/dist/cdn/color-display/snice-color-display.js +1 -1
- package/dist/cdn/color-display/snice-color-display.min.js +1 -1
- package/dist/cdn/color-picker/snice-color-picker.js +1 -1
- package/dist/cdn/color-picker/snice-color-picker.min.js +1 -1
- package/dist/cdn/command-palette/snice-command-palette.js +1 -1
- package/dist/cdn/command-palette/snice-command-palette.min.js +1 -1
- package/dist/cdn/comments/snice-comments.js +1 -1
- package/dist/cdn/comments/snice-comments.min.js +1 -1
- package/dist/cdn/countdown/snice-countdown.js +1 -1
- package/dist/cdn/countdown/snice-countdown.min.js +1 -1
- package/dist/cdn/cropper/snice-cropper.js +1 -1
- package/dist/cdn/cropper/snice-cropper.min.js +1 -1
- package/dist/cdn/data-card/snice-data-card.js +1 -1
- package/dist/cdn/data-card/snice-data-card.min.js +1 -1
- package/dist/cdn/date-picker/snice-date-picker.js +1 -1
- package/dist/cdn/date-picker/snice-date-picker.min.js +1 -1
- package/dist/cdn/date-range-picker/snice-date-range-picker.js +1 -1
- package/dist/cdn/date-range-picker/snice-date-range-picker.min.js +1 -1
- package/dist/cdn/date-time-picker/snice-date-time-picker.js +1 -1
- package/dist/cdn/date-time-picker/snice-date-time-picker.min.js +1 -1
- package/dist/cdn/diff/snice-diff.js +1 -1
- package/dist/cdn/diff/snice-diff.min.js +1 -1
- package/dist/cdn/divider/snice-divider.js +1 -1
- package/dist/cdn/divider/snice-divider.min.js +1 -1
- package/dist/cdn/doc/snice-doc.js +1 -1
- package/dist/cdn/doc/snice-doc.min.js +1 -1
- package/dist/cdn/draw/snice-draw.js +1 -1
- package/dist/cdn/draw/snice-draw.min.js +1 -1
- package/dist/cdn/drawer/snice-drawer.js +1 -1
- package/dist/cdn/drawer/snice-drawer.min.js +1 -1
- package/dist/cdn/empty-state/snice-empty-state.js +1 -1
- package/dist/cdn/empty-state/snice-empty-state.min.js +1 -1
- package/dist/cdn/estimate/snice-estimate.js +1 -1
- package/dist/cdn/estimate/snice-estimate.min.js +1 -1
- package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
- package/dist/cdn/file-gallery/snice-file-gallery.min.js +1 -1
- package/dist/cdn/file-upload/snice-file-upload.js +1 -1
- package/dist/cdn/file-upload/snice-file-upload.min.js +1 -1
- package/dist/cdn/flip-card/snice-flip-card.js +1 -1
- package/dist/cdn/flip-card/snice-flip-card.min.js +1 -1
- package/dist/cdn/flow/snice-flow.js +1 -1
- package/dist/cdn/flow/snice-flow.min.js +1 -1
- package/dist/cdn/form-layout/snice-form-layout.js +1 -1
- package/dist/cdn/form-layout/snice-form-layout.min.js +1 -1
- package/dist/cdn/funnel/snice-funnel.js +1 -1
- package/dist/cdn/funnel/snice-funnel.min.js +1 -1
- package/dist/cdn/gantt/snice-gantt.js +1 -1
- package/dist/cdn/gantt/snice-gantt.min.js +1 -1
- package/dist/cdn/gauge/snice-gauge.js +1 -1
- package/dist/cdn/gauge/snice-gauge.min.js +1 -1
- package/dist/cdn/heatmap/snice-heatmap.js +1 -1
- package/dist/cdn/heatmap/snice-heatmap.min.js +1 -1
- package/dist/cdn/image/snice-image.js +1 -1
- package/dist/cdn/image/snice-image.min.js +1 -1
- package/dist/cdn/input/snice-input.js +1 -1
- package/dist/cdn/input/snice-input.min.js +1 -1
- package/dist/cdn/invoice/snice-invoice.js +1 -1
- package/dist/cdn/invoice/snice-invoice.min.js +1 -1
- package/dist/cdn/kanban/snice-kanban.js +1 -1
- package/dist/cdn/kanban/snice-kanban.min.js +1 -1
- package/dist/cdn/key-value/snice-key-value.js +1 -1
- package/dist/cdn/key-value/snice-key-value.min.js +1 -1
- package/dist/cdn/kpi/snice-kpi.js +1 -1
- package/dist/cdn/kpi/snice-kpi.min.js +1 -1
- package/dist/cdn/layout/snice-layout.js +1 -1
- package/dist/cdn/layout/snice-layout.min.js +1 -1
- package/dist/cdn/leaderboard/snice-leaderboard.js +1 -1
- package/dist/cdn/leaderboard/snice-leaderboard.min.js +1 -1
- package/dist/cdn/link/snice-link.js +1 -1
- package/dist/cdn/link/snice-link.min.js +1 -1
- package/dist/cdn/link-preview/snice-link-preview.js +1 -1
- package/dist/cdn/link-preview/snice-link-preview.min.js +1 -1
- package/dist/cdn/list/snice-list.js +1 -1
- package/dist/cdn/list/snice-list.min.js +1 -1
- package/dist/cdn/location/snice-location.js +1 -1
- package/dist/cdn/location/snice-location.min.js +1 -1
- package/dist/cdn/login/README.md +2 -2
- package/dist/cdn/login/snice-login.js +11 -10
- package/dist/cdn/login/snice-login.js.map +1 -1
- package/dist/cdn/login/snice-login.min.js +5 -5
- package/dist/cdn/login/snice-login.min.js.map +1 -1
- package/dist/cdn/map/snice-map.js +1 -1
- package/dist/cdn/map/snice-map.min.js +1 -1
- package/dist/cdn/markdown/snice-markdown.js +1 -1
- package/dist/cdn/markdown/snice-markdown.min.js +1 -1
- package/dist/cdn/masonry/snice-masonry.js +1 -1
- package/dist/cdn/masonry/snice-masonry.min.js +1 -1
- package/dist/cdn/menu/snice-menu.js +1 -1
- package/dist/cdn/menu/snice-menu.min.js +1 -1
- package/dist/cdn/message-strip/snice-message-strip.js +1 -1
- package/dist/cdn/message-strip/snice-message-strip.min.js +1 -1
- package/dist/cdn/metric-table/snice-metric-table.js +1 -1
- package/dist/cdn/metric-table/snice-metric-table.min.js +1 -1
- package/dist/cdn/modal/snice-modal.js +1 -1
- package/dist/cdn/modal/snice-modal.min.js +1 -1
- package/dist/cdn/music-player/snice-music-player.js +1 -1
- package/dist/cdn/music-player/snice-music-player.min.js +1 -1
- package/dist/cdn/nav/snice-nav.js +1 -1
- package/dist/cdn/nav/snice-nav.min.js +1 -1
- package/dist/cdn/network-graph/snice-network-graph.js +1 -1
- package/dist/cdn/network-graph/snice-network-graph.min.js +1 -1
- package/dist/cdn/notification-center/snice-notification-center.js +1 -1
- package/dist/cdn/notification-center/snice-notification-center.min.js +1 -1
- package/dist/cdn/order-tracker/snice-order-tracker.js +1 -1
- package/dist/cdn/order-tracker/snice-order-tracker.min.js +1 -1
- package/dist/cdn/org-chart/snice-org-chart.js +1 -1
- package/dist/cdn/org-chart/snice-org-chart.min.js +1 -1
- package/dist/cdn/pagination/snice-pagination.js +1 -1
- package/dist/cdn/pagination/snice-pagination.min.js +1 -1
- package/dist/cdn/paint/snice-paint.js +1 -1
- package/dist/cdn/paint/snice-paint.min.js +1 -1
- package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +1 -1
- package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js +1 -1
- package/dist/cdn/permission-matrix/snice-permission-matrix.js +1 -1
- package/dist/cdn/permission-matrix/snice-permission-matrix.min.js +1 -1
- package/dist/cdn/podcast-player/snice-podcast-player.js +1 -1
- package/dist/cdn/podcast-player/snice-podcast-player.min.js +1 -1
- package/dist/cdn/pricing-table/snice-pricing-table.js +1 -1
- package/dist/cdn/pricing-table/snice-pricing-table.min.js +1 -1
- package/dist/cdn/product-card/snice-product-card.js +1 -1
- package/dist/cdn/product-card/snice-product-card.min.js +1 -1
- package/dist/cdn/progress/snice-progress.js +1 -1
- package/dist/cdn/progress/snice-progress.min.js +1 -1
- package/dist/cdn/progress-ring/snice-progress-ring.js +1 -1
- package/dist/cdn/progress-ring/snice-progress-ring.min.js +1 -1
- package/dist/cdn/qr-code/snice-qr-code.js +1 -1
- package/dist/cdn/qr-code/snice-qr-code.min.js +1 -1
- package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
- package/dist/cdn/qr-reader/snice-qr-reader.min.js +1 -1
- package/dist/cdn/radio/snice-radio.js +1 -1
- package/dist/cdn/radio/snice-radio.min.js +1 -1
- package/dist/cdn/range-slider/snice-range-slider.js +1 -1
- package/dist/cdn/range-slider/snice-range-slider.min.js +1 -1
- package/dist/cdn/rating/snice-rating.js +1 -1
- package/dist/cdn/rating/snice-rating.min.js +1 -1
- package/dist/cdn/receipt/snice-receipt.js +1 -1
- package/dist/cdn/receipt/snice-receipt.min.js +1 -1
- package/dist/cdn/recipe/snice-recipe.js +1 -1
- package/dist/cdn/recipe/snice-recipe.min.js +1 -1
- package/dist/cdn/runtime/README.md +2 -2
- package/dist/cdn/runtime/snice-runtime.esm.js +152 -62
- package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.esm.min.js +8 -8
- package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.js +152 -61
- package/dist/cdn/runtime/snice-runtime.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.min.js +8 -8
- package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
- package/dist/cdn/sankey/snice-sankey.js +1 -1
- package/dist/cdn/sankey/snice-sankey.min.js +1 -1
- package/dist/cdn/segmented-control/snice-segmented-control.js +1 -1
- package/dist/cdn/segmented-control/snice-segmented-control.min.js +1 -1
- package/dist/cdn/select/snice-select.js +1 -1
- package/dist/cdn/select/snice-select.min.js +1 -1
- package/dist/cdn/skeleton/snice-skeleton.js +1 -1
- package/dist/cdn/skeleton/snice-skeleton.min.js +1 -1
- package/dist/cdn/slider/snice-slider.js +1 -1
- package/dist/cdn/slider/snice-slider.min.js +1 -1
- package/dist/cdn/sortable/snice-sortable.js +1 -1
- package/dist/cdn/sortable/snice-sortable.min.js +1 -1
- package/dist/cdn/sparkline/snice-sparkline.js +1 -1
- package/dist/cdn/sparkline/snice-sparkline.min.js +1 -1
- package/dist/cdn/spinner/snice-spinner.js +1 -1
- package/dist/cdn/spinner/snice-spinner.min.js +1 -1
- package/dist/cdn/split-button/snice-split-button.js +1 -1
- package/dist/cdn/split-button/snice-split-button.min.js +1 -1
- package/dist/cdn/split-pane/snice-split-pane.js +1 -1
- package/dist/cdn/split-pane/snice-split-pane.min.js +1 -1
- package/dist/cdn/spotlight/snice-spotlight.js +1 -1
- package/dist/cdn/spotlight/snice-spotlight.min.js +1 -1
- package/dist/cdn/spreadsheet/snice-spreadsheet.js +1 -1
- package/dist/cdn/spreadsheet/snice-spreadsheet.min.js +1 -1
- package/dist/cdn/stat-group/snice-stat-group.js +1 -1
- package/dist/cdn/stat-group/snice-stat-group.min.js +1 -1
- package/dist/cdn/step-input/snice-step-input.js +1 -1
- package/dist/cdn/step-input/snice-step-input.min.js +1 -1
- package/dist/cdn/stepper/snice-stepper.js +1 -1
- package/dist/cdn/stepper/snice-stepper.min.js +1 -1
- package/dist/cdn/switch/snice-switch.js +1 -1
- package/dist/cdn/switch/snice-switch.min.js +1 -1
- package/dist/cdn/table/README.md +1 -1
- package/dist/cdn/table/snice-table.js +11 -10
- package/dist/cdn/table/snice-table.js.map +1 -1
- package/dist/cdn/table/snice-table.min.js +73 -73
- package/dist/cdn/table/snice-table.min.js.map +1 -1
- package/dist/cdn/tabs/snice-tabs.js +1 -1
- package/dist/cdn/tabs/snice-tabs.min.js +1 -1
- package/dist/cdn/tag/snice-tag.js +1 -1
- package/dist/cdn/tag/snice-tag.min.js +1 -1
- package/dist/cdn/tag-input/snice-tag-input.js +1 -1
- package/dist/cdn/tag-input/snice-tag-input.min.js +1 -1
- package/dist/cdn/terminal/snice-terminal.js +1 -1
- package/dist/cdn/terminal/snice-terminal.min.js +1 -1
- package/dist/cdn/testimonial/snice-testimonial.js +1 -1
- package/dist/cdn/testimonial/snice-testimonial.min.js +1 -1
- package/dist/cdn/textarea/snice-textarea.js +1 -1
- package/dist/cdn/textarea/snice-textarea.min.js +1 -1
- package/dist/cdn/time-picker/snice-time-picker.js +1 -1
- package/dist/cdn/time-picker/snice-time-picker.min.js +1 -1
- package/dist/cdn/time-range-picker/snice-time-range-picker.js +1 -1
- package/dist/cdn/time-range-picker/snice-time-range-picker.min.js +1 -1
- package/dist/cdn/timeline/snice-timeline.js +1 -1
- package/dist/cdn/timeline/snice-timeline.min.js +1 -1
- package/dist/cdn/timer/snice-timer.js +1 -1
- package/dist/cdn/timer/snice-timer.min.js +1 -1
- package/dist/cdn/toast/snice-toast.js +1 -1
- package/dist/cdn/toast/snice-toast.min.js +1 -1
- package/dist/cdn/tooltip/snice-tooltip.js +1 -1
- package/dist/cdn/tooltip/snice-tooltip.min.js +1 -1
- package/dist/cdn/tree/snice-tree.js +1 -1
- package/dist/cdn/tree/snice-tree.min.js +1 -1
- package/dist/cdn/treemap/snice-treemap.js +1 -1
- package/dist/cdn/treemap/snice-treemap.min.js +1 -1
- package/dist/cdn/user-card/snice-user-card.js +1 -1
- package/dist/cdn/user-card/snice-user-card.min.js +1 -1
- package/dist/cdn/video-player/snice-video-player.js +1 -1
- package/dist/cdn/video-player/snice-video-player.min.js +1 -1
- package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +1 -1
- package/dist/cdn/virtual-scroller/snice-virtual-scroller.min.js +1 -1
- package/dist/cdn/waterfall/snice-waterfall.js +1 -1
- package/dist/cdn/waterfall/snice-waterfall.min.js +1 -1
- package/dist/cdn/weather/snice-weather.js +1 -1
- package/dist/cdn/weather/snice-weather.min.js +1 -1
- package/dist/cdn/work-order/snice-work-order.js +1 -1
- package/dist/cdn/work-order/snice-work-order.min.js +1 -1
- package/dist/components/action-bar/snice-action-bar.d.ts +22 -0
- package/dist/components/action-bar/snice-action-bar.js +182 -0
- package/dist/components/action-bar/snice-action-bar.js.map +1 -0
- package/dist/components/action-bar/snice-action-bar.types.d.ts +17 -0
- package/dist/components/badge/snice-badge.js +1 -1
- package/dist/components/badge/snice-badge.js.map +1 -1
- package/dist/components/binpack/snice-binpack.d.ts +82 -0
- package/dist/components/binpack/snice-binpack.js +970 -0
- package/dist/components/binpack/snice-binpack.js.map +1 -0
- package/dist/components/binpack/snice-binpack.types.d.ts +52 -0
- package/dist/components/button/snice-button.d.ts +2 -2
- package/dist/components/button/snice-button.js +11 -10
- package/dist/components/button/snice-button.js.map +1 -1
- package/dist/create-request-handler.d.ts +42 -0
- package/dist/index.cjs +149 -58
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.esm.js +149 -59
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +149 -58
- package/dist/index.iife.js.map +1 -1
- package/dist/parts.d.ts +9 -7
- package/dist/react/useRequestHandler.d.ts +56 -0
- package/dist/react/useRequestHandler.js +103 -0
- package/dist/react/useRequestHandler.js.map +1 -0
- package/dist/symbols.cjs +1 -1
- package/dist/symbols.esm.js +1 -1
- package/dist/transitions.cjs +1 -1
- package/dist/transitions.esm.js +1 -1
- package/docs/ai/DEVELOPMENT.md +1 -1
- package/docs/ai/components/accordion.md +46 -80
- package/docs/ai/components/action-bar.md +75 -0
- package/docs/ai/components/activity-feed.md +7 -7
- package/docs/ai/components/alert.md +26 -44
- package/docs/ai/components/app-tiles.md +34 -39
- package/docs/ai/components/approval-flow.md +1 -1
- package/docs/ai/components/audio-recorder.md +35 -67
- package/docs/ai/components/availability.md +13 -34
- package/docs/ai/components/avatar-group.md +26 -13
- package/docs/ai/components/avatar.md +52 -36
- package/docs/ai/components/badge.md +21 -32
- package/docs/ai/components/banner.md +21 -43
- package/docs/ai/components/binpack.md +89 -0
- package/docs/ai/components/book.md +25 -23
- package/docs/ai/components/booking.md +31 -36
- package/docs/ai/components/breadcrumbs.md +36 -11
- package/docs/ai/components/button.md +33 -44
- package/docs/ai/components/calendar.md +37 -70
- package/docs/ai/components/camera-annotate.md +31 -64
- package/docs/ai/components/camera.md +38 -120
- package/docs/ai/components/candlestick.md +32 -52
- package/docs/ai/components/card.md +20 -30
- package/docs/ai/components/carousel.md +32 -32
- package/docs/ai/components/cart.md +24 -29
- package/docs/ai/components/chart.md +29 -114
- package/docs/ai/components/chat.md +38 -75
- package/docs/ai/components/checkbox.md +22 -41
- package/docs/ai/components/chip.md +18 -54
- package/docs/ai/components/code-block.md +57 -178
- package/docs/ai/components/color-display.md +12 -32
- package/docs/ai/components/color-picker.md +17 -39
- package/docs/ai/components/command-palette.md +49 -71
- package/docs/ai/components/comments.md +55 -36
- package/docs/ai/components/countdown.md +28 -30
- package/docs/ai/components/cropper.md +33 -33
- package/docs/ai/components/data-card.md +20 -14
- package/docs/ai/components/date-picker.md +40 -47
- package/docs/ai/components/date-range-picker.md +31 -15
- package/docs/ai/components/date-time-picker.md +23 -46
- package/docs/ai/components/diff.md +30 -31
- package/docs/ai/components/divider.md +17 -47
- package/docs/ai/components/doc.md +43 -68
- package/docs/ai/components/draw.md +35 -87
- package/docs/ai/components/drawer.md +48 -77
- package/docs/ai/components/empty-state.md +10 -44
- package/docs/ai/components/estimate.md +33 -58
- package/docs/ai/components/file-gallery.md +48 -100
- package/docs/ai/components/file-upload.md +17 -53
- package/docs/ai/components/flip-card.md +31 -23
- package/docs/ai/components/flow.md +37 -65
- package/docs/ai/components/form-builder.md +35 -75
- package/docs/ai/components/form-layout.md +10 -20
- package/docs/ai/components/funnel.md +33 -48
- package/docs/ai/components/gantt.md +27 -23
- package/docs/ai/components/gauge.md +16 -17
- package/docs/ai/components/heatmap.md +21 -21
- package/docs/ai/components/image.md +7 -13
- package/docs/ai/components/input.md +38 -70
- package/docs/ai/components/invoice.md +35 -36
- package/docs/ai/components/kanban.md +32 -61
- package/docs/ai/components/key-value.md +32 -16
- package/docs/ai/components/kpi.md +38 -73
- package/docs/ai/components/layout.md +29 -23
- package/docs/ai/components/leaderboard.md +28 -37
- package/docs/ai/components/link-preview.md +12 -18
- package/docs/ai/components/link.md +10 -7
- package/docs/ai/components/list.md +21 -5
- package/docs/ai/components/location.md +21 -25
- package/docs/ai/components/login.md +14 -9
- package/docs/ai/components/map.md +27 -33
- package/docs/ai/components/markdown.md +20 -24
- package/docs/ai/components/masonry.md +10 -14
- package/docs/ai/components/mentions.md +26 -12
- package/docs/ai/components/menu.md +54 -52
- package/docs/ai/components/message-strip.md +20 -20
- package/docs/ai/components/metric-table.md +14 -21
- package/docs/ai/components/modal.md +27 -18
- package/docs/ai/components/music-player.md +49 -41
- package/docs/ai/components/nav.md +34 -31
- package/docs/ai/components/network-graph.md +27 -42
- package/docs/ai/components/notification-center.md +31 -33
- package/docs/ai/components/order-tracker.md +36 -27
- package/docs/ai/components/org-chart.md +36 -31
- package/docs/ai/components/pagination.md +34 -26
- package/docs/ai/components/paint.md +53 -91
- package/docs/ai/components/pdf-viewer.md +35 -36
- package/docs/ai/components/permission-matrix.md +26 -31
- package/docs/ai/components/podcast-player.md +64 -70
- package/docs/ai/components/pricing-table.md +37 -48
- package/docs/ai/components/product-card.md +58 -41
- package/docs/ai/components/progress-ring.md +20 -24
- package/docs/ai/components/progress.md +28 -45
- package/docs/ai/components/qr-code.md +25 -27
- package/docs/ai/components/qr-reader.md +20 -23
- package/docs/ai/components/radio.md +17 -15
- package/docs/ai/components/range-slider.md +22 -11
- package/docs/ai/components/rating.md +29 -33
- package/docs/ai/components/receipt.md +50 -127
- package/docs/ai/components/recipe.md +44 -42
- package/docs/ai/components/sankey.md +21 -30
- package/docs/ai/components/scheduler.md +29 -41
- package/docs/ai/components/segmented-control.md +11 -15
- package/docs/ai/components/select.md +58 -102
- package/docs/ai/components/skeleton.md +16 -30
- package/docs/ai/components/slider.md +26 -20
- package/docs/ai/components/sortable.md +25 -27
- package/docs/ai/components/sparkline.md +21 -17
- package/docs/ai/components/spinner.md +9 -5
- package/docs/ai/components/split-button.md +10 -13
- package/docs/ai/components/split-pane.md +19 -14
- package/docs/ai/components/spotlight.md +31 -26
- package/docs/ai/components/spreadsheet.md +51 -97
- package/docs/ai/components/stat-group.md +9 -19
- package/docs/ai/components/step-input.md +17 -15
- package/docs/ai/components/stepper.md +14 -15
- package/docs/ai/components/switch.md +15 -9
- package/docs/ai/components/table.md +24 -84
- package/docs/ai/components/tabs.md +18 -10
- package/docs/ai/components/tag-input.md +18 -29
- package/docs/ai/components/tag.md +10 -22
- package/docs/ai/components/terminal.md +9 -9
- package/docs/ai/components/testimonial.md +9 -19
- package/docs/ai/components/textarea.md +15 -16
- package/docs/ai/components/theme.md +3 -3
- package/docs/ai/components/time-picker.md +30 -49
- package/docs/ai/components/time-range-picker.md +16 -15
- package/docs/ai/components/timeline.md +5 -4
- package/docs/ai/components/timer.md +8 -8
- package/docs/ai/components/toast.md +24 -18
- package/docs/ai/components/tooltip.md +11 -22
- package/docs/ai/components/tree.md +9 -9
- package/docs/ai/components/treemap.md +14 -13
- package/docs/ai/components/user-card.md +21 -27
- package/docs/ai/components/video-player.md +35 -52
- package/docs/ai/components/virtual-scroller.md +1 -1
- package/docs/ai/components/waterfall.md +17 -16
- package/docs/ai/components/weather.md +19 -34
- package/docs/ai/components/work-order.md +58 -134
- package/docs/ai/patterns.md +63 -0
- package/docs/components/accordion.md +72 -151
- package/docs/components/action-bar.md +185 -0
- package/docs/components/activity-feed.md +9 -14
- package/docs/components/alert.md +17 -109
- package/docs/components/app-tiles.md +58 -43
- package/docs/components/approval-flow.md +8 -14
- package/docs/components/audio-recorder.md +45 -51
- package/docs/components/availability.md +30 -45
- package/docs/components/avatar-group.md +34 -14
- package/docs/components/avatar.md +20 -55
- package/docs/components/badge.md +53 -470
- package/docs/components/banner.md +44 -30
- package/docs/components/binpack.md +208 -0
- package/docs/components/book.md +78 -57
- package/docs/components/booking.md +35 -87
- package/docs/components/breadcrumbs.md +74 -448
- package/docs/components/button.md +72 -603
- package/docs/components/calendar.md +77 -261
- package/docs/components/camera-annotate.md +44 -96
- package/docs/components/camera.md +94 -333
- package/docs/components/candlestick.md +79 -116
- package/docs/components/card.md +51 -689
- package/docs/components/carousel.md +29 -76
- package/docs/components/cart.md +44 -136
- package/docs/components/chart.md +95 -438
- package/docs/components/chat.md +175 -439
- package/docs/components/checkbox.md +52 -609
- package/docs/components/chip.md +45 -574
- package/docs/components/code-block.md +157 -421
- package/docs/components/color-display.md +45 -54
- package/docs/components/color-picker.md +103 -36
- package/docs/components/command-palette.md +98 -92
- package/docs/components/comments.md +16 -10
- package/docs/components/countdown.md +15 -20
- package/docs/components/cropper.md +14 -16
- package/docs/components/data-card.md +16 -15
- package/docs/components/date-picker.md +45 -25
- package/docs/components/date-range-picker.md +140 -87
- package/docs/components/date-time-picker.md +25 -28
- package/docs/components/diff.md +22 -17
- package/docs/components/divider.md +18 -20
- package/docs/components/doc.md +105 -197
- package/docs/components/draw.md +117 -223
- package/docs/components/drawer.md +113 -478
- package/docs/components/empty-state.md +13 -29
- package/docs/components/estimate.md +58 -118
- package/docs/components/file-gallery.md +123 -495
- package/docs/components/file-upload.md +36 -123
- package/docs/components/flip-card.md +30 -34
- package/docs/components/flow.md +74 -89
- package/docs/components/form-builder.md +59 -86
- package/docs/components/form-layout.md +21 -31
- package/docs/components/funnel.md +21 -22
- package/docs/components/gantt.md +5 -5
- package/docs/components/gauge.md +5 -23
- package/docs/components/heatmap.md +13 -55
- package/docs/components/image.md +28 -32
- package/docs/components/input.md +25 -14
- package/docs/components/invoice.md +34 -33
- package/docs/components/kanban.md +99 -394
- package/docs/components/key-value.md +22 -12
- package/docs/components/kpi.md +41 -112
- package/docs/components/layout.md +7 -13
- package/docs/components/leaderboard.md +52 -76
- package/docs/components/link-preview.md +20 -16
- package/docs/components/link.md +22 -19
- package/docs/components/list.md +44 -26
- package/docs/components/location.md +9 -13
- package/docs/components/login.md +42 -36
- package/docs/components/map.md +24 -46
- package/docs/components/markdown.md +14 -25
- package/docs/components/masonry.md +15 -13
- package/docs/components/mentions.md +36 -25
- package/docs/components/menu.md +39 -46
- package/docs/components/message-strip.md +15 -51
- package/docs/components/metric-table.md +50 -72
- package/docs/components/modal.md +32 -43
- package/docs/components/music-player.md +41 -49
- package/docs/components/nav.md +23 -13
- package/docs/components/network-graph.md +14 -13
- package/docs/components/notification-center.md +68 -172
- package/docs/components/order-tracker.md +72 -117
- package/docs/components/org-chart.md +58 -207
- package/docs/components/pagination.md +67 -89
- package/docs/components/paint.md +86 -172
- package/docs/components/pdf-viewer.md +46 -151
- package/docs/components/permission-matrix.md +61 -112
- package/docs/components/podcast-player.md +41 -119
- package/docs/components/pricing-table.md +104 -147
- package/docs/components/product-card.md +94 -197
- package/docs/components/progress-ring.md +29 -32
- package/docs/components/progress.md +30 -61
- package/docs/components/qr-code.md +53 -61
- package/docs/components/qr-reader.md +53 -42
- package/docs/components/radio.md +42 -40
- package/docs/components/range-slider.md +41 -30
- package/docs/components/rating.md +50 -84
- package/docs/components/receipt.md +91 -129
- package/docs/components/recipe.md +107 -216
- package/docs/components/sankey.md +47 -83
- package/docs/components/scheduler.md +81 -184
- package/docs/components/segmented-control.md +48 -40
- package/docs/components/select.md +107 -129
- package/docs/components/skeleton.md +33 -47
- package/docs/components/slider.md +49 -53
- package/docs/components/sortable.md +43 -186
- package/docs/components/sparkline.md +26 -25
- package/docs/components/spinner.md +32 -37
- package/docs/components/split-button.md +43 -23
- package/docs/components/split-pane.md +41 -58
- package/docs/components/spotlight.md +53 -145
- package/docs/components/spreadsheet.md +84 -307
- package/docs/components/stat-group.md +27 -61
- package/docs/components/step-input.md +44 -41
- package/docs/components/stepper.md +55 -89
- package/docs/components/switch.md +39 -39
- package/docs/components/table.md +27 -32
- package/docs/components/tabs.md +36 -27
- package/docs/components/tag-input.md +50 -176
- package/docs/components/tag.md +12 -50
- package/docs/components/terminal.md +32 -37
- package/docs/components/testimonial.md +24 -81
- package/docs/components/textarea.md +9 -14
- package/docs/components/theme.md +10 -23
- package/docs/components/time-picker.md +48 -72
- package/docs/components/time-range-picker.md +22 -41
- package/docs/components/timeline.md +7 -14
- package/docs/components/timer.md +16 -32
- package/docs/components/toast.md +19 -45
- package/docs/components/tooltip.md +13 -115
- package/docs/components/tree.md +2 -19
- package/docs/components/treemap.md +19 -43
- package/docs/components/user-card.md +13 -22
- package/docs/components/video-player.md +53 -227
- package/docs/components/virtual-scroller.md +11 -44
- package/docs/components/waterfall.md +58 -137
- package/docs/components/weather.md +94 -153
- package/docs/components/work-order.md +56 -143
- package/docs/plans/2026-03-09-action-bar-design.md +104 -0
- package/docs/plans/2026-03-09-action-bar-plan.md +676 -0
- package/docs/plans/2026-03-10-react-integration-design.md +166 -0
- package/docs/request-response.md +77 -0
- package/package.json +20 -10
|
@@ -1,30 +1,73 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/form-builder.md -->
|
|
2
2
|
|
|
3
3
|
# Form Builder
|
|
4
|
-
`<snice-form-builder>`
|
|
5
4
|
|
|
6
5
|
Drag-and-drop form designer that outputs a JSON schema describing the form structure.
|
|
7
6
|
|
|
8
|
-
##
|
|
7
|
+
## Table of Contents
|
|
8
|
+
- [Properties](#properties)
|
|
9
|
+
- [Methods](#methods)
|
|
10
|
+
- [Events](#events)
|
|
11
|
+
- [CSS Parts](#css-parts)
|
|
12
|
+
- [Basic Usage](#basic-usage)
|
|
13
|
+
- [Examples](#examples)
|
|
14
|
+
|
|
15
|
+
## Properties
|
|
16
|
+
|
|
17
|
+
| Property | Type | Default | Description |
|
|
18
|
+
|----------|------|---------|-------------|
|
|
19
|
+
| `schema` | `FormSchema` | `{ fields: [] }` | JSON schema (input/output, set via JS) |
|
|
20
|
+
| `mode` | `'edit' \| 'preview'` | `'edit'` | Current mode |
|
|
21
|
+
| `fieldTypes` | `FormFieldType[]` | all types | Available field types in the palette (set via JS) |
|
|
22
|
+
|
|
23
|
+
### FormSchema Interface
|
|
9
24
|
|
|
10
|
-
**ESM (bundler)**
|
|
11
25
|
```typescript
|
|
12
|
-
|
|
26
|
+
interface FormSchema {
|
|
27
|
+
title?: string;
|
|
28
|
+
description?: string;
|
|
29
|
+
fields: FormField[];
|
|
30
|
+
}
|
|
13
31
|
```
|
|
14
32
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
33
|
+
### FormField Interface
|
|
34
|
+
|
|
35
|
+
```typescript
|
|
36
|
+
interface FormField {
|
|
37
|
+
id: string;
|
|
38
|
+
type: FormFieldType;
|
|
39
|
+
label: string;
|
|
40
|
+
placeholder?: string;
|
|
41
|
+
required?: boolean;
|
|
42
|
+
options?: FormFieldOption[];
|
|
43
|
+
defaultValue?: string;
|
|
44
|
+
helpText?: string;
|
|
45
|
+
min?: number;
|
|
46
|
+
max?: number;
|
|
47
|
+
pattern?: string;
|
|
48
|
+
accept?: string;
|
|
49
|
+
content?: string; // For paragraph fields
|
|
50
|
+
width?: 'full' | 'half';
|
|
51
|
+
}
|
|
19
52
|
```
|
|
20
53
|
|
|
21
|
-
|
|
54
|
+
### FormFieldType
|
|
55
|
+
|
|
56
|
+
```typescript
|
|
57
|
+
type FormFieldType =
|
|
58
|
+
| 'text' | 'number' | 'email' | 'phone'
|
|
59
|
+
| 'select' | 'date' | 'checkbox' | 'radio'
|
|
60
|
+
| 'file' | 'signature' | 'section' | 'paragraph';
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### FormFieldOption Interface
|
|
22
64
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
65
|
+
```typescript
|
|
66
|
+
interface FormFieldOption {
|
|
67
|
+
label: string;
|
|
68
|
+
value: string;
|
|
69
|
+
}
|
|
70
|
+
```
|
|
28
71
|
|
|
29
72
|
## Methods
|
|
30
73
|
|
|
@@ -91,8 +134,6 @@ fb.setSchema({
|
|
|
91
134
|
|
|
92
135
|
### Adding Fields Programmatically
|
|
93
136
|
|
|
94
|
-
Use `addField()` to append a new field to the form.
|
|
95
|
-
|
|
96
137
|
```javascript
|
|
97
138
|
fb.addField('text');
|
|
98
139
|
fb.addField('email');
|
|
@@ -101,8 +142,6 @@ fb.addField('select');
|
|
|
101
142
|
|
|
102
143
|
### Preview Mode
|
|
103
144
|
|
|
104
|
-
Set the `mode` attribute to `"preview"` or call `preview()` to test the form.
|
|
105
|
-
|
|
106
145
|
```html
|
|
107
146
|
<snice-form-builder mode="preview"></snice-form-builder>
|
|
108
147
|
```
|
|
@@ -114,7 +153,7 @@ fb.mode = 'edit'; // Switch back to edit mode
|
|
|
114
153
|
|
|
115
154
|
### Custom Field Types
|
|
116
155
|
|
|
117
|
-
Use the `
|
|
156
|
+
Use the `fieldTypes` property to limit available field types.
|
|
118
157
|
|
|
119
158
|
```javascript
|
|
120
159
|
fb.fieldTypes = ['text', 'email', 'select', 'checkbox'];
|
|
@@ -122,12 +161,9 @@ fb.fieldTypes = ['text', 'email', 'select', 'checkbox'];
|
|
|
122
161
|
|
|
123
162
|
### Listening to Changes
|
|
124
163
|
|
|
125
|
-
React to schema changes as the user designs the form.
|
|
126
|
-
|
|
127
164
|
```javascript
|
|
128
165
|
fb.addEventListener('schema-change', (e) => {
|
|
129
166
|
const schema = e.detail.schema;
|
|
130
|
-
// Save to backend or localStorage
|
|
131
167
|
localStorage.setItem('form-draft', JSON.stringify(schema));
|
|
132
168
|
});
|
|
133
169
|
|
|
@@ -167,76 +203,13 @@ fb.setSchema({
|
|
|
167
203
|
|
|
168
204
|
### Getting the Schema
|
|
169
205
|
|
|
170
|
-
Retrieve the current schema as a plain object.
|
|
171
|
-
|
|
172
206
|
```javascript
|
|
173
207
|
const schema = fb.getSchema();
|
|
174
208
|
console.log(JSON.stringify(schema, null, 2));
|
|
175
209
|
|
|
176
|
-
// Send to backend
|
|
177
210
|
fetch('/api/forms', {
|
|
178
211
|
method: 'POST',
|
|
179
212
|
headers: { 'Content-Type': 'application/json' },
|
|
180
213
|
body: JSON.stringify(schema)
|
|
181
214
|
});
|
|
182
215
|
```
|
|
183
|
-
|
|
184
|
-
## FormSchema Interface
|
|
185
|
-
|
|
186
|
-
```typescript
|
|
187
|
-
interface FormSchema {
|
|
188
|
-
title?: string;
|
|
189
|
-
description?: string;
|
|
190
|
-
fields: FormField[];
|
|
191
|
-
}
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
## FormField Interface
|
|
195
|
-
|
|
196
|
-
```typescript
|
|
197
|
-
interface FormField {
|
|
198
|
-
id: string;
|
|
199
|
-
type: FormFieldType;
|
|
200
|
-
label: string;
|
|
201
|
-
placeholder?: string;
|
|
202
|
-
required?: boolean;
|
|
203
|
-
options?: FormFieldOption[];
|
|
204
|
-
defaultValue?: string;
|
|
205
|
-
helpText?: string;
|
|
206
|
-
min?: number;
|
|
207
|
-
max?: number;
|
|
208
|
-
pattern?: string;
|
|
209
|
-
accept?: string;
|
|
210
|
-
content?: string; // For paragraph fields
|
|
211
|
-
width?: 'full' | 'half';
|
|
212
|
-
}
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
## FormFieldType
|
|
216
|
-
|
|
217
|
-
```typescript
|
|
218
|
-
type FormFieldType =
|
|
219
|
-
| 'text' | 'number' | 'email' | 'phone'
|
|
220
|
-
| 'select' | 'date' | 'checkbox' | 'radio'
|
|
221
|
-
| 'file' | 'signature' | 'section' | 'paragraph';
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
## FormFieldOption Interface
|
|
225
|
-
|
|
226
|
-
```typescript
|
|
227
|
-
interface FormFieldOption {
|
|
228
|
-
label: string;
|
|
229
|
-
value: string;
|
|
230
|
-
}
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
## Features
|
|
234
|
-
|
|
235
|
-
- Drag fields from the palette into the canvas to add them
|
|
236
|
-
- Click fields to select and edit properties in the side panel
|
|
237
|
-
- Drag to reorder fields within the canvas
|
|
238
|
-
- Duplicate or delete fields with action buttons
|
|
239
|
-
- Toggle between edit and preview modes
|
|
240
|
-
- Section headers and paragraphs for form organization
|
|
241
|
-
- Customizable available field types
|
|
242
|
-
- JSON schema output for form persistence and rendering
|
|
@@ -1,32 +1,26 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/form-layout.md -->
|
|
2
2
|
|
|
3
3
|
# Form Layout
|
|
4
|
-
`<snice-form-layout>`
|
|
5
4
|
|
|
6
5
|
Structured grid layout for forms with label/field alignment and responsive columns.
|
|
7
6
|
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
**CDN**
|
|
16
|
-
```html
|
|
17
|
-
<script src="snice-runtime.min.js"></script>
|
|
18
|
-
<script src="snice-form-layout.min.js"></script>
|
|
19
|
-
```
|
|
7
|
+
## Table of Contents
|
|
8
|
+
- [Properties](#properties)
|
|
9
|
+
- [Slots](#slots)
|
|
10
|
+
- [CSS Parts](#css-parts)
|
|
11
|
+
- [CSS Custom Properties](#css-custom-properties)
|
|
12
|
+
- [Basic Usage](#basic-usage)
|
|
13
|
+
- [Examples](#examples)
|
|
20
14
|
|
|
21
15
|
## Properties
|
|
22
16
|
|
|
23
|
-
| Property |
|
|
24
|
-
|
|
25
|
-
| `columns` | `
|
|
26
|
-
| `labelPosition`
|
|
27
|
-
| `labelWidth`
|
|
28
|
-
| `gap` | `
|
|
29
|
-
| `variant` | `
|
|
17
|
+
| Property | Type | Default | Description |
|
|
18
|
+
|----------|------|---------|-------------|
|
|
19
|
+
| `columns` | `number` | `1` | Number of grid columns |
|
|
20
|
+
| `labelPosition` (attr: `label-position`) | `'top' \| 'left' \| 'right'` | `'top'` | Label placement relative to fields |
|
|
21
|
+
| `labelWidth` (attr: `label-width`) | `string` | `'8rem'` | Label width when position is left/right |
|
|
22
|
+
| `gap` | `'small' \| 'medium' \| 'large'` | `'medium'` | Spacing between fields |
|
|
23
|
+
| `variant` | `'default' \| 'compact' \| 'inline'` | `'default'` | Layout variant |
|
|
30
24
|
|
|
31
25
|
## Slots
|
|
32
26
|
|
|
@@ -34,6 +28,12 @@ import 'snice/components/form-layout/snice-form-layout';
|
|
|
34
28
|
|------|-------------|
|
|
35
29
|
| (default) | Form fields (inputs, selects, textareas, etc.) |
|
|
36
30
|
|
|
31
|
+
## CSS Parts
|
|
32
|
+
|
|
33
|
+
| Part | Description |
|
|
34
|
+
|------|-------------|
|
|
35
|
+
| `base` | The form layout grid container |
|
|
36
|
+
|
|
37
37
|
## CSS Custom Properties
|
|
38
38
|
|
|
39
39
|
| Property | Description | Default |
|
|
@@ -41,12 +41,6 @@ import 'snice/components/form-layout/snice-form-layout';
|
|
|
41
41
|
| `--form-columns` | Number of grid columns (set via `columns` prop) | `1` |
|
|
42
42
|
| `--form-label-width` | Width of labels in left/right mode (set via `label-width` prop) | `8rem` |
|
|
43
43
|
|
|
44
|
-
## CSS Parts
|
|
45
|
-
|
|
46
|
-
| Part | Description |
|
|
47
|
-
|------|-------------|
|
|
48
|
-
| `base` | The form layout grid container |
|
|
49
|
-
|
|
50
44
|
## Basic Usage
|
|
51
45
|
|
|
52
46
|
```typescript
|
|
@@ -146,7 +140,3 @@ Use CSS `grid-column` on slotted children to span multiple columns.
|
|
|
146
140
|
<snice-textarea label="Bio" style="grid-column: 1 / -1;"></snice-textarea>
|
|
147
141
|
</snice-form-layout>
|
|
148
142
|
```
|
|
149
|
-
|
|
150
|
-
## Responsive Behavior
|
|
151
|
-
|
|
152
|
-
The form layout automatically collapses to a single column on screens smaller than 640px. When `label-position` is set to `left` or `right`, labels will switch to `top` position on mobile for better readability.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/funnel.md -->
|
|
2
2
|
|
|
3
|
-
# Funnel
|
|
3
|
+
# Funnel
|
|
4
4
|
|
|
5
5
|
The funnel component renders an SVG-based funnel/conversion chart, ideal for visualizing pipeline stages, conversion funnels, and drop-off analysis. Each stage is rendered as a trapezoid shape that narrows proportionally to its value.
|
|
6
6
|
|
|
@@ -11,19 +11,19 @@ The funnel component renders an SVG-based funnel/conversion chart, ideal for vis
|
|
|
11
11
|
- [CSS Parts](#css-parts)
|
|
12
12
|
- [Basic Usage](#basic-usage)
|
|
13
13
|
- [Examples](#examples)
|
|
14
|
+
- [Keyboard Navigation](#keyboard-navigation)
|
|
14
15
|
- [Accessibility](#accessibility)
|
|
15
|
-
- [Browser Support](#browser-support)
|
|
16
16
|
|
|
17
17
|
## Properties
|
|
18
18
|
|
|
19
19
|
| Property | Type | Default | Description |
|
|
20
20
|
|----------|------|---------|-------------|
|
|
21
|
-
| `data` | `FunnelStage[]` | `[]` | Array of stage objects with label, value, and optional color |
|
|
21
|
+
| `data` | `FunnelStage[]` | `[]` | Array of stage objects with label, value, and optional color (set via JS) |
|
|
22
22
|
| `variant` | `'default' \| 'gradient'` | `'default'` | Color variant - default uses distinct colors, gradient uses opacity fade |
|
|
23
23
|
| `orientation` | `'vertical' \| 'horizontal'` | `'vertical'` | Funnel layout direction |
|
|
24
|
-
| `show-labels` | `boolean` | `true` | Whether to display stage labels |
|
|
25
|
-
| `show-values` | `boolean` | `true` | Whether to display stage values |
|
|
26
|
-
| `show-percentages` | `boolean` | `true` | Whether to display conversion percentages |
|
|
24
|
+
| `showLabels` (attr: `show-labels`) | `boolean` | `true` | Whether to display stage labels |
|
|
25
|
+
| `showValues` (attr: `show-values`) | `boolean` | `true` | Whether to display stage values |
|
|
26
|
+
| `showPercentages` (attr: `show-percentages`) | `boolean` | `true` | Whether to display conversion percentages |
|
|
27
27
|
| `animation` | `boolean` | `false` | Whether to animate stages on initial render |
|
|
28
28
|
|
|
29
29
|
### FunnelStage Interface
|
|
@@ -71,13 +71,11 @@ funnel.addEventListener('funnel-click', (e) => {
|
|
|
71
71
|
|
|
72
72
|
## CSS Parts
|
|
73
73
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
|
77
|
-
|
|
78
|
-
| `
|
|
79
|
-
| `chart` | `<div>` | SVG chart rendering area |
|
|
80
|
-
| `tooltip` | `<div>` | Hover tooltip element |
|
|
74
|
+
| Part | Description |
|
|
75
|
+
|------|-------------|
|
|
76
|
+
| `base` | Outer funnel container |
|
|
77
|
+
| `chart` | SVG chart rendering area |
|
|
78
|
+
| `tooltip` | Hover tooltip element |
|
|
81
79
|
|
|
82
80
|
```css
|
|
83
81
|
snice-funnel::part(base) {
|
|
@@ -91,12 +89,14 @@ snice-funnel::part(tooltip) {
|
|
|
91
89
|
|
|
92
90
|
## Basic Usage
|
|
93
91
|
|
|
92
|
+
```typescript
|
|
93
|
+
import 'snice/components/funnel/snice-funnel';
|
|
94
|
+
```
|
|
95
|
+
|
|
94
96
|
```html
|
|
95
97
|
<snice-funnel id="my-funnel"></snice-funnel>
|
|
96
98
|
|
|
97
99
|
<script type="module">
|
|
98
|
-
import 'snice/components/funnel/snice-funnel';
|
|
99
|
-
|
|
100
100
|
const funnel = document.getElementById('my-funnel');
|
|
101
101
|
funnel.data = [
|
|
102
102
|
{ label: 'Visitors', value: 10000 },
|
|
@@ -186,6 +186,11 @@ The gradient variant uses decreasing opacity of the primary color for a smoother
|
|
|
186
186
|
</script>
|
|
187
187
|
```
|
|
188
188
|
|
|
189
|
+
## Keyboard Navigation
|
|
190
|
+
|
|
191
|
+
- **Enter** / **Space** -- Activate a focused stage (fires `funnel-click`)
|
|
192
|
+
- **Tab** -- Navigate between stages
|
|
193
|
+
|
|
189
194
|
## Accessibility
|
|
190
195
|
|
|
191
196
|
- **ARIA role**: The SVG has `role="img"` with `aria-label="Funnel chart"`
|
|
@@ -193,9 +198,3 @@ The gradient variant uses decreasing opacity of the primary color for a smoother
|
|
|
193
198
|
- **ARIA labels**: Each stage has a descriptive `aria-label` including the label, value, and percentage
|
|
194
199
|
- **Keyboard support**: Stages can be activated with Enter or Space keys
|
|
195
200
|
- **Focus styles**: Visible focus ring on keyboard navigation
|
|
196
|
-
- **Color contrast**: Default colors meet WCAG AA standards
|
|
197
|
-
|
|
198
|
-
## Browser Support
|
|
199
|
-
|
|
200
|
-
- Modern browsers (Chrome, Firefox, Safari, Edge)
|
|
201
|
-
- Requires Custom Elements v1 and Shadow DOM support
|
package/docs/components/gantt.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/gantt.md -->
|
|
2
2
|
|
|
3
3
|
# Gantt Component
|
|
4
4
|
|
|
@@ -77,14 +77,14 @@ snice-gantt::part(task-list) {
|
|
|
77
77
|
|
|
78
78
|
## Basic Usage
|
|
79
79
|
|
|
80
|
-
```html
|
|
81
|
-
<snice-gantt></snice-gantt>
|
|
82
|
-
```
|
|
83
|
-
|
|
84
80
|
```typescript
|
|
85
81
|
import 'snice/components/gantt/snice-gantt';
|
|
86
82
|
```
|
|
87
83
|
|
|
84
|
+
```html
|
|
85
|
+
<snice-gantt></snice-gantt>
|
|
86
|
+
```
|
|
87
|
+
|
|
88
88
|
## Examples
|
|
89
89
|
|
|
90
90
|
### Basic Project Timeline
|
package/docs/components/gauge.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/gauge.md -->
|
|
2
2
|
|
|
3
3
|
# Gauge Component
|
|
4
4
|
|
|
@@ -10,8 +10,6 @@ The gauge component renders an SVG-based semicircle gauge/meter chart, ideal for
|
|
|
10
10
|
- [Basic Usage](#basic-usage)
|
|
11
11
|
- [Examples](#examples)
|
|
12
12
|
- [Accessibility](#accessibility)
|
|
13
|
-
- [Browser Support](#browser-support)
|
|
14
|
-
- [Variant Colors](#variant-colors)
|
|
15
13
|
|
|
16
14
|
## Properties
|
|
17
15
|
|
|
@@ -50,6 +48,10 @@ snice-gauge::part(label) {
|
|
|
50
48
|
|
|
51
49
|
## Basic Usage
|
|
52
50
|
|
|
51
|
+
```typescript
|
|
52
|
+
import 'snice/components/gauge/snice-gauge';
|
|
53
|
+
```
|
|
54
|
+
|
|
53
55
|
```html
|
|
54
56
|
<!-- Simple gauge -->
|
|
55
57
|
<snice-gauge value="75"></snice-gauge>
|
|
@@ -58,10 +60,6 @@ snice-gauge::part(label) {
|
|
|
58
60
|
<snice-gauge value="42" label="CPU Usage"></snice-gauge>
|
|
59
61
|
```
|
|
60
62
|
|
|
61
|
-
```typescript
|
|
62
|
-
import 'snice/components/gauge/snice-gauge';
|
|
63
|
-
```
|
|
64
|
-
|
|
65
63
|
## Examples
|
|
66
64
|
|
|
67
65
|
### Basic Gauge
|
|
@@ -172,19 +170,3 @@ import 'snice/components/gauge/snice-gauge';
|
|
|
172
170
|
- **ARIA label**: Uses the `label` property for `aria-label`, falls back to "Gauge: {value}"
|
|
173
171
|
- **Color contrast**: All variant colors meet WCAG AA standards against their backgrounds
|
|
174
172
|
- **No motion sensitivity**: Arc animation uses CSS transitions which respect `prefers-reduced-motion`
|
|
175
|
-
|
|
176
|
-
## Browser Support
|
|
177
|
-
|
|
178
|
-
- Modern browsers (Chrome, Firefox, Safari, Edge)
|
|
179
|
-
- Requires Custom Elements v1 and Shadow DOM support
|
|
180
|
-
|
|
181
|
-
## Variant Colors
|
|
182
|
-
|
|
183
|
-
| Variant | Color Scheme | Use Case |
|
|
184
|
-
|---------|-------------|----------|
|
|
185
|
-
| `default` | Gray | Neutral metrics |
|
|
186
|
-
| `primary` | Blue | Primary metrics, general data |
|
|
187
|
-
| `success` | Green | Positive values, health checks |
|
|
188
|
-
| `warning` | Orange | Attention needed, thresholds |
|
|
189
|
-
| `error` | Red | Critical values, alerts |
|
|
190
|
-
| `info` | Light blue | Informational data |
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/heatmap.md -->
|
|
2
2
|
|
|
3
3
|
# Heatmap Component
|
|
4
4
|
|
|
@@ -10,21 +10,18 @@ The heatmap component displays a GitHub-style contribution calendar heatmap. It
|
|
|
10
10
|
- [CSS Parts](#css-parts)
|
|
11
11
|
- [Basic Usage](#basic-usage)
|
|
12
12
|
- [Examples](#examples)
|
|
13
|
-
- [Intensity Levels](#intensity-levels)
|
|
14
|
-
- [Color Schemes](#color-schemes)
|
|
15
13
|
- [Accessibility](#accessibility)
|
|
16
|
-
- [Browser Support](#browser-support)
|
|
17
14
|
|
|
18
15
|
## Properties
|
|
19
16
|
|
|
20
17
|
| Property | Type | Default | Description |
|
|
21
18
|
|----------|------|---------|-------------|
|
|
22
19
|
| `data` | `HeatmapDataPoint[]` | `[]` | Array of data points with date and value |
|
|
23
|
-
| `color-scheme` | `'green' \| 'blue' \| 'purple' \| 'orange' \| 'red'` | `'green'` | Color scheme for intensity levels |
|
|
24
|
-
| `show-labels` | `boolean` | `true` | Show day and month labels |
|
|
25
|
-
| `cell-size` | `number` | `12` | Cell size in pixels |
|
|
26
|
-
| `cell-gap` | `number` | `3` | Gap between cells in pixels |
|
|
27
|
-
| `show-tooltip` | `boolean` | `true` | Show tooltip on cell hover |
|
|
20
|
+
| `colorScheme` (attr: `color-scheme`) | `'green' \| 'blue' \| 'purple' \| 'orange' \| 'red'` | `'green'` | Color scheme for intensity levels |
|
|
21
|
+
| `showLabels` (attr: `show-labels`) | `boolean` | `true` | Show day and month labels |
|
|
22
|
+
| `cellSize` (attr: `cell-size`) | `number` | `12` | Cell size in pixels |
|
|
23
|
+
| `cellGap` (attr: `cell-gap`) | `number` | `3` | Gap between cells in pixels |
|
|
24
|
+
| `showTooltip` (attr: `show-tooltip`) | `boolean` | `true` | Show tooltip on cell hover |
|
|
28
25
|
| `weeks` | `number` | `52` | Number of weeks to display |
|
|
29
26
|
|
|
30
27
|
### HeatmapDataPoint
|
|
@@ -38,21 +35,9 @@ interface HeatmapDataPoint {
|
|
|
38
35
|
|
|
39
36
|
## Events
|
|
40
37
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
Fired when a cell is clicked
|
|
44
|
-
|
|
45
|
-
```typescript
|
|
46
|
-
heatmap.addEventListener('cell-click', (e: CustomEvent) => {
|
|
47
|
-
console.log(e.detail.date); // '2026-01-15'
|
|
48
|
-
console.log(e.detail.value); // 5
|
|
49
|
-
});
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
| Detail Property | Type | Description |
|
|
53
|
-
|-----------------|------|-------------|
|
|
54
|
-
| `date` | `string` | ISO date of the clicked cell |
|
|
55
|
-
| `value` | `number` | Value of the clicked cell |
|
|
38
|
+
| Event | Detail | Description |
|
|
39
|
+
|-------|--------|-------------|
|
|
40
|
+
| `cell-click` | `{ date: string, value: number }` | Fired when a cell is clicked |
|
|
56
41
|
|
|
57
42
|
## CSS Parts
|
|
58
43
|
|
|
@@ -77,6 +62,10 @@ snice-heatmap::part(tooltip) {
|
|
|
77
62
|
|
|
78
63
|
## Basic Usage
|
|
79
64
|
|
|
65
|
+
```typescript
|
|
66
|
+
import 'snice/components/heatmap/snice-heatmap';
|
|
67
|
+
```
|
|
68
|
+
|
|
80
69
|
```html
|
|
81
70
|
<snice-heatmap id="my-heatmap"></snice-heatmap>
|
|
82
71
|
|
|
@@ -90,10 +79,6 @@ snice-heatmap::part(tooltip) {
|
|
|
90
79
|
</script>
|
|
91
80
|
```
|
|
92
81
|
|
|
93
|
-
```typescript
|
|
94
|
-
import 'snice/components/heatmap/snice-heatmap';
|
|
95
|
-
```
|
|
96
|
-
|
|
97
82
|
## Examples
|
|
98
83
|
|
|
99
84
|
### Default Green Heatmap
|
|
@@ -167,36 +152,9 @@ import 'snice/components/heatmap/snice-heatmap';
|
|
|
167
152
|
</script>
|
|
168
153
|
```
|
|
169
154
|
|
|
170
|
-
## Intensity Levels
|
|
171
|
-
|
|
172
|
-
Cell colors are calculated based on quartiles of the maximum value in the dataset:
|
|
173
|
-
|
|
174
|
-
| Level | Range | Description |
|
|
175
|
-
|-------|-------|-------------|
|
|
176
|
-
| 0 | No data | Empty (gray) |
|
|
177
|
-
| 1 | 1-25% of max | Low activity |
|
|
178
|
-
| 2 | 26-50% of max | Medium activity |
|
|
179
|
-
| 3 | 51-75% of max | High activity |
|
|
180
|
-
| 4 | 76-100% of max | Very high activity |
|
|
181
|
-
|
|
182
|
-
## Color Schemes
|
|
183
|
-
|
|
184
|
-
| Scheme | Level 1 | Level 2 | Level 3 | Level 4 |
|
|
185
|
-
|--------|---------|---------|---------|---------|
|
|
186
|
-
| `green` | #9be9a8 | #40c463 | #30a14e | #216e39 |
|
|
187
|
-
| `blue` | #9ecae1 | #4292c6 | #2171b5 | #084594 |
|
|
188
|
-
| `purple` | #c9b1e0 | #9b72cf | #7b4fbf | #5a2d91 |
|
|
189
|
-
| `orange` | #fdcc8a | #fc8d59 | #e34a33 | #b30000 |
|
|
190
|
-
| `red` | #fcae91 | #fb6a4a | #de2d26 | #a50f15 |
|
|
191
|
-
|
|
192
155
|
## Accessibility
|
|
193
156
|
|
|
194
157
|
- **ARIA labels**: Each cell has an `aria-label` describing the date and contribution count
|
|
195
158
|
- **Keyboard navigation**: Cells are focusable buttons
|
|
196
159
|
- **Tooltips**: Visual hover feedback with date and value details
|
|
197
160
|
- **Color contrast**: Intensity levels are distinguishable at all levels
|
|
198
|
-
|
|
199
|
-
## Browser Support
|
|
200
|
-
|
|
201
|
-
- Modern browsers (Chrome, Firefox, Safari, Edge)
|
|
202
|
-
- Requires Custom Elements v1 and Shadow DOM support
|
package/docs/components/image.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/image.md -->
|
|
2
2
|
|
|
3
3
|
# Image Component
|
|
4
4
|
|
|
@@ -6,9 +6,9 @@ The `<snice-image>` component provides a flexible image display with variants, s
|
|
|
6
6
|
|
|
7
7
|
## Table of Contents
|
|
8
8
|
- [Properties](#properties)
|
|
9
|
+
- [CSS Parts](#css-parts)
|
|
9
10
|
- [Basic Usage](#basic-usage)
|
|
10
11
|
- [Examples](#examples)
|
|
11
|
-
- [CSS Parts](#css-parts)
|
|
12
12
|
|
|
13
13
|
## Properties
|
|
14
14
|
|
|
@@ -27,8 +27,34 @@ The `<snice-image>` component provides a flexible image display with variants, s
|
|
|
27
27
|
| `width` | `string` | `''` | Custom width (CSS value) |
|
|
28
28
|
| `height` | `string` | `''` | Custom height (CSS value) |
|
|
29
29
|
|
|
30
|
+
## CSS Parts
|
|
31
|
+
|
|
32
|
+
| Part | Description |
|
|
33
|
+
|------|-------------|
|
|
34
|
+
| `container` | Image container div |
|
|
35
|
+
| `image` | The img element |
|
|
36
|
+
| `placeholder` | Placeholder element (shown when loading or no src) |
|
|
37
|
+
|
|
38
|
+
```css
|
|
39
|
+
snice-image::part(container) {
|
|
40
|
+
/* Image container */
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
snice-image::part(image) {
|
|
44
|
+
/* The img element */
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
snice-image::part(placeholder) {
|
|
48
|
+
/* Placeholder element */
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
30
52
|
## Basic Usage
|
|
31
53
|
|
|
54
|
+
```typescript
|
|
55
|
+
import 'snice/components/image/snice-image';
|
|
56
|
+
```
|
|
57
|
+
|
|
32
58
|
```html
|
|
33
59
|
<snice-image
|
|
34
60
|
src="https://example.com/image.jpg"
|
|
@@ -95,33 +121,3 @@ The `<snice-image>` component provides a flexible image display with variants, s
|
|
|
95
121
|
<!-- Shows placeholder when no src -->
|
|
96
122
|
<snice-image variant="circle" size="medium"></snice-image>
|
|
97
123
|
```
|
|
98
|
-
|
|
99
|
-
## CSS Parts
|
|
100
|
-
|
|
101
|
-
| Part | Description |
|
|
102
|
-
|------|-------------|
|
|
103
|
-
| `container` | Image container div |
|
|
104
|
-
| `image` | The img element |
|
|
105
|
-
| `placeholder` | Placeholder element (shown when loading or no src) |
|
|
106
|
-
|
|
107
|
-
```css
|
|
108
|
-
snice-image::part(container) {
|
|
109
|
-
/* Image container */
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
snice-image::part(image) {
|
|
113
|
-
/* The img element */
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
snice-image::part(placeholder) {
|
|
117
|
-
/* Placeholder element */
|
|
118
|
-
}
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
## Notes
|
|
122
|
-
|
|
123
|
-
- Images are lazy-loaded by default for better performance
|
|
124
|
-
- Placeholder is shown when `src` is empty
|
|
125
|
-
- Fallback image is used when main image fails to load
|
|
126
|
-
- Size presets provide consistent image dimensions
|
|
127
|
-
- Custom width/height override size presets
|