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
|
@@ -9,16 +9,11 @@ variant: 'info'|'success'|'warning'|'error' = 'info';
|
|
|
9
9
|
position: 'top'|'bottom' = 'top';
|
|
10
10
|
message: string = '';
|
|
11
11
|
dismissible: boolean = true;
|
|
12
|
-
icon: string = '';
|
|
13
|
-
actionText: string = '';
|
|
12
|
+
icon: string = ''; // emoji, URL, image file
|
|
13
|
+
actionText: string = ''; // attr: action-text
|
|
14
14
|
open: boolean = false;
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
## Slots
|
|
18
|
-
|
|
19
|
-
- `(default)` - Additional content after the message
|
|
20
|
-
- `icon` - Custom icon content (overrides `icon` property and default variant icons)
|
|
21
|
-
|
|
22
17
|
## Methods
|
|
23
18
|
|
|
24
19
|
- `show()` - Show banner
|
|
@@ -27,9 +22,14 @@ open: boolean = false;
|
|
|
27
22
|
|
|
28
23
|
## Events
|
|
29
24
|
|
|
30
|
-
- `banner-open`
|
|
31
|
-
- `banner-close`
|
|
32
|
-
- `banner-action`
|
|
25
|
+
- `banner-open` -> `{ banner }`
|
|
26
|
+
- `banner-close` -> `{ banner }`
|
|
27
|
+
- `banner-action` -> `{ banner }`
|
|
28
|
+
|
|
29
|
+
## Slots
|
|
30
|
+
|
|
31
|
+
- `(default)` - Additional content after the message
|
|
32
|
+
- `icon` - Custom icon content (overrides `icon` property and default variant icons)
|
|
33
33
|
|
|
34
34
|
## CSS Parts
|
|
35
35
|
|
|
@@ -39,49 +39,32 @@ open: boolean = false;
|
|
|
39
39
|
- `action` - Action button
|
|
40
40
|
- `close` - Close/dismiss button
|
|
41
41
|
|
|
42
|
-
## Usage
|
|
42
|
+
## Basic Usage
|
|
43
43
|
|
|
44
44
|
```html
|
|
45
|
-
<!-- Basic -->
|
|
46
45
|
<snice-banner message="This is an info message" open></snice-banner>
|
|
47
46
|
|
|
48
47
|
<!-- Variants -->
|
|
49
|
-
<snice-banner variant="
|
|
50
|
-
<snice-banner variant="
|
|
51
|
-
<snice-banner variant="
|
|
52
|
-
<snice-banner variant="error" message="Error"></snice-banner>
|
|
48
|
+
<snice-banner variant="success" message="Success" open></snice-banner>
|
|
49
|
+
<snice-banner variant="warning" message="Warning" open></snice-banner>
|
|
50
|
+
<snice-banner variant="error" message="Error" open></snice-banner>
|
|
53
51
|
|
|
54
52
|
<!-- Position -->
|
|
55
|
-
<snice-banner position="top" message="Top banner" open></snice-banner>
|
|
56
53
|
<snice-banner position="bottom" message="Bottom banner" open></snice-banner>
|
|
57
54
|
|
|
58
55
|
<!-- With action -->
|
|
59
|
-
<snice-banner
|
|
60
|
-
message="Update available"
|
|
61
|
-
action-text="Update Now"
|
|
62
|
-
open
|
|
63
|
-
></snice-banner>
|
|
56
|
+
<snice-banner message="Update available" action-text="Update Now" open></snice-banner>
|
|
64
57
|
|
|
65
58
|
<!-- Not dismissible -->
|
|
66
|
-
<snice-banner
|
|
67
|
-
message="Important notice"
|
|
68
|
-
dismissible="false"
|
|
69
|
-
open
|
|
70
|
-
></snice-banner>
|
|
71
|
-
|
|
72
|
-
<!-- ⚠️ icon="update" renders as PLAIN TEXT. Use the icon slot for icon fonts. -->
|
|
59
|
+
<snice-banner message="Important" dismissible="false" open></snice-banner>
|
|
73
60
|
|
|
74
|
-
<!-- Icon SLOT
|
|
61
|
+
<!-- Icon SLOT for icon fonts -->
|
|
75
62
|
<snice-banner message="Update available" open>
|
|
76
63
|
<span slot="icon" class="material-symbols-outlined">update</span>
|
|
77
64
|
</snice-banner>
|
|
78
65
|
|
|
79
|
-
<!-- Icon PROPERTY
|
|
66
|
+
<!-- Icon PROPERTY for emoji/URLs -->
|
|
80
67
|
<snice-banner icon="🎉" message="Celebration!" open></snice-banner>
|
|
81
|
-
<snice-banner icon="/icons/update.svg" message="Update" open></snice-banner>
|
|
82
|
-
|
|
83
|
-
<!-- API -->
|
|
84
|
-
<snice-banner message="Hello"></snice-banner>
|
|
85
68
|
```
|
|
86
69
|
|
|
87
70
|
```typescript
|
|
@@ -90,12 +73,7 @@ banner.hide();
|
|
|
90
73
|
banner.toggle();
|
|
91
74
|
```
|
|
92
75
|
|
|
93
|
-
##
|
|
76
|
+
## Accessibility
|
|
94
77
|
|
|
95
|
-
-
|
|
96
|
-
-
|
|
97
|
-
- Dismissible with close button
|
|
98
|
-
- Optional action button
|
|
99
|
-
- Smooth slide animation
|
|
100
|
-
- Fixed positioning
|
|
101
|
-
- Accessible (role=alert)
|
|
78
|
+
- `role="alert"` on banner container
|
|
79
|
+
- `aria-label="Close"` on dismiss button
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# snice-binpack
|
|
2
|
+
|
|
3
|
+
JS-driven bin-packing layout using the maximal rectangles algorithm. Absolute positioning with transform-based transitions.
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
gap: string = '1rem'; // spacing between items
|
|
9
|
+
columnWidth: number = 0; // grid snap width (0 = no grid) -- attr: column-width
|
|
10
|
+
rowHeight: number = 0; // grid snap height (0 = no grid) -- attr: row-height
|
|
11
|
+
horizontal: boolean = false; // pack horizontally instead of vertically
|
|
12
|
+
originLeft: boolean = true; // false = right-to-left -- attr: origin-left
|
|
13
|
+
originTop: boolean = true; // false = bottom-to-top -- attr: origin-top
|
|
14
|
+
transitionDuration: string = '0.4s'; // CSS transition duration -- attr: transition-duration
|
|
15
|
+
stagger: number = 0; // ms delay between each item transition
|
|
16
|
+
resize: boolean = true; // auto re-layout on container resize
|
|
17
|
+
draggable: boolean = false; // enable drag-to-reorder
|
|
18
|
+
dragThrottle: number = 120; // ms throttle for drag layout updates -- attr: drag-throttle
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Methods
|
|
22
|
+
|
|
23
|
+
- `layout()` - Full re-layout
|
|
24
|
+
- `fit(element, x?, y?)` - Position specific item at coordinates, reflow others
|
|
25
|
+
- `reloadItems()` - Re-collect items from DOM
|
|
26
|
+
- `stamp(elements)` - Layout around fixed elements
|
|
27
|
+
- `unstamp(elements)` - Remove stamp constraint
|
|
28
|
+
- `getItemElements()` - Get all layout items
|
|
29
|
+
- `getLayout()` - Returns `BinpackLayout` with item positions/order
|
|
30
|
+
- `setLayout(layout)` - Apply saved layout (reorder, hide/show)
|
|
31
|
+
|
|
32
|
+
## Events
|
|
33
|
+
|
|
34
|
+
- `binpack-layout-complete` -> `{ items: HTMLElement[] }`
|
|
35
|
+
- `binpack-fit-complete` -> `{ item: HTMLElement, x: number, y: number }`
|
|
36
|
+
- `binpack-drag-item-positioned` -> `{ item: HTMLElement, x: number, y: number }`
|
|
37
|
+
|
|
38
|
+
## Slots
|
|
39
|
+
|
|
40
|
+
- `(default)` - Items to pack (any elements with explicit width/height)
|
|
41
|
+
|
|
42
|
+
## CSS Custom Properties
|
|
43
|
+
|
|
44
|
+
- `--binpack-gap` - Gap between items (set via `gap` property)
|
|
45
|
+
- `--binpack-transition-duration` - Transition duration (set via `transition-duration` property)
|
|
46
|
+
|
|
47
|
+
## CSS Parts
|
|
48
|
+
|
|
49
|
+
- `base` - The inner container element
|
|
50
|
+
|
|
51
|
+
## Basic Usage
|
|
52
|
+
|
|
53
|
+
```html
|
|
54
|
+
<snice-binpack gap="0.5rem">
|
|
55
|
+
<div style="width:100px;height:100px">A</div>
|
|
56
|
+
<div style="width:150px;height:80px">B</div>
|
|
57
|
+
<div style="width:80px;height:120px">C</div>
|
|
58
|
+
</snice-binpack>
|
|
59
|
+
|
|
60
|
+
<!-- Horizontal mode -->
|
|
61
|
+
<snice-binpack horizontal style="height:300px">
|
|
62
|
+
<div style="width:100px;height:100px">A</div>
|
|
63
|
+
</snice-binpack>
|
|
64
|
+
|
|
65
|
+
<!-- Grid-snapped -->
|
|
66
|
+
<snice-binpack column-width="100" row-height="100">
|
|
67
|
+
<div style="width:80px;height:80px">A</div>
|
|
68
|
+
</snice-binpack>
|
|
69
|
+
|
|
70
|
+
<!-- Draggable dashboard -->
|
|
71
|
+
<snice-binpack draggable gap="8px" column-width="80" row-height="80">
|
|
72
|
+
<div style="width:160px;height:160px">Revenue</div>
|
|
73
|
+
<div style="width:80px;height:80px">CPU</div>
|
|
74
|
+
<div style="width:160px;height:80px">Orders</div>
|
|
75
|
+
</snice-binpack>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Drag CSS Classes
|
|
79
|
+
|
|
80
|
+
- `.binpack-dragging` -- applied during drag (no transition, z-index: 100)
|
|
81
|
+
- `.binpack-positioning` -- applied while animating to final position after drop
|
|
82
|
+
|
|
83
|
+
## Notes
|
|
84
|
+
|
|
85
|
+
- Items must have explicit width/height (not auto-sized)
|
|
86
|
+
- Container uses `position: relative`, items get `position: absolute` + `transform`
|
|
87
|
+
- Uses ResizeObserver on container and items for auto re-layout
|
|
88
|
+
- FOUC prevented via `[ready]` attribute gating transitions
|
|
89
|
+
- `contain: layout style` on `:host` (NOT paint -- items use absolute positioning)
|
|
@@ -2,19 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
Page-flipping book component with cover page, keyboard navigation, and animated page turns.
|
|
4
4
|
|
|
5
|
+
## Components
|
|
6
|
+
|
|
7
|
+
- `<snice-book>` - Main book container
|
|
8
|
+
- `<snice-book-page>` - Individual page element
|
|
9
|
+
|
|
5
10
|
## Properties
|
|
6
11
|
|
|
7
12
|
```ts
|
|
8
13
|
currentPage: number = 0 // attr: current-page
|
|
9
|
-
coverImage: string = '' // attr: cover-image
|
|
14
|
+
coverImage: string = '' // attr: cover-image -- URL for cover page image
|
|
10
15
|
title: string = '' // Book title shown on cover
|
|
11
16
|
author: string = '' // Author name shown on cover
|
|
12
17
|
readonly totalPages: number // Getter, count of slotted page elements
|
|
13
18
|
```
|
|
14
19
|
|
|
15
|
-
##
|
|
20
|
+
## Methods
|
|
16
21
|
|
|
17
|
-
- `(
|
|
22
|
+
- `goToPage(page: number): void` -- Navigate to specific page
|
|
23
|
+
- `nextPage(): void` -- Advance by 1 page
|
|
24
|
+
- `prevPage(): void` -- Go back by 1 page
|
|
25
|
+
- `firstPage(): void` -- Jump to page 0
|
|
26
|
+
- `lastPage(): void` -- Jump to last page
|
|
18
27
|
|
|
19
28
|
## Events
|
|
20
29
|
|
|
@@ -22,13 +31,9 @@ readonly totalPages: number // Getter, count of slotted page elements
|
|
|
22
31
|
- `page-flip-start` -> `{ fromPage: number, toPage: number, direction: 'forward' | 'backward' }`
|
|
23
32
|
- `page-flip-end` -> `{ page: number, direction: 'forward' | 'backward' }`
|
|
24
33
|
|
|
25
|
-
##
|
|
34
|
+
## Slots
|
|
26
35
|
|
|
27
|
-
- `
|
|
28
|
-
- `nextPage(): void` — Advance by 1 page
|
|
29
|
-
- `prevPage(): void` — Go back by 1 page
|
|
30
|
-
- `firstPage(): void` — Jump to page 0
|
|
31
|
-
- `lastPage(): void` — Jump to last page
|
|
36
|
+
- `(default)` -- `<snice-book-page>` elements; each child becomes one page
|
|
32
37
|
|
|
33
38
|
## CSS Custom Properties
|
|
34
39
|
|
|
@@ -36,10 +41,10 @@ readonly totalPages: number // Getter, count of slotted page elements
|
|
|
36
41
|
--page-bg /* Page background color (default: #F5F5F5) */
|
|
37
42
|
--dark-text /* Primary text color (default: #2A2935) */
|
|
38
43
|
--baseline /* Base spacing unit (default: 12px) */
|
|
39
|
-
--book-title /* Book title font family
|
|
40
|
-
--title /* Section title / body heading font
|
|
41
|
-
--body /* Body text font
|
|
42
|
-
--base-size /* Base font size, derived from baseline
|
|
44
|
+
--book-title /* Book title font family */
|
|
45
|
+
--title /* Section title / body heading font */
|
|
46
|
+
--body /* Body text font */
|
|
47
|
+
--base-size /* Base font size, derived from baseline */
|
|
43
48
|
```
|
|
44
49
|
|
|
45
50
|
## CSS Parts
|
|
@@ -47,21 +52,18 @@ readonly totalPages: number // Getter, count of slotted page elements
|
|
|
47
52
|
- `base` - Outer cover container
|
|
48
53
|
- `book` - Inner book element
|
|
49
54
|
|
|
50
|
-
## Keyboard
|
|
55
|
+
## Keyboard Navigation
|
|
51
56
|
|
|
52
|
-
- ArrowRight
|
|
53
|
-
- ArrowLeft
|
|
54
|
-
- Home — First page
|
|
55
|
-
- End — Last page
|
|
57
|
+
- ArrowRight -- Next page
|
|
58
|
+
- ArrowLeft -- Previous page
|
|
56
59
|
|
|
57
|
-
## Usage
|
|
60
|
+
## Basic Usage
|
|
58
61
|
|
|
59
62
|
```html
|
|
60
63
|
<snice-book title="My Book" author="Jane Doe" cover-image="/cover.jpg">
|
|
61
|
-
<div>Page 1 content</div>
|
|
62
|
-
<div>Page 2 content</div>
|
|
63
|
-
<div>Page 3 content</div>
|
|
64
|
-
<div>Page 4 content</div>
|
|
64
|
+
<snice-book-page><div>Page 1 content</div></snice-book-page>
|
|
65
|
+
<snice-book-page><div>Page 2 content</div></snice-book-page>
|
|
66
|
+
<snice-book-page><div>Page 3 content</div></snice-book-page>
|
|
65
67
|
</snice-book>
|
|
66
68
|
```
|
|
67
69
|
|
|
@@ -5,15 +5,36 @@ Multi-step appointment booking widget: date picker, time slots, confirmation for
|
|
|
5
5
|
## Properties
|
|
6
6
|
|
|
7
7
|
```typescript
|
|
8
|
-
availableDates: (Date | string)[] = []; //
|
|
9
|
-
availableSlots: BookingSlot[] = []; //
|
|
8
|
+
availableDates: (Date | string)[] = []; // JS property only
|
|
9
|
+
availableSlots: BookingSlot[] = []; // JS property only
|
|
10
10
|
duration: number = 30; // default appointment duration (minutes)
|
|
11
11
|
minDate: Date | string = ''; // attr: min-date
|
|
12
12
|
maxDate: Date | string = ''; // attr: max-date
|
|
13
|
-
fields: BookingField[] = []; //
|
|
13
|
+
fields: BookingField[] = []; // JS property only
|
|
14
14
|
variant: 'stepper'|'inline' = 'stepper';
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
+
## Methods
|
|
18
|
+
|
|
19
|
+
- `reset()` - Reset to step 1, clear selections
|
|
20
|
+
- `getBooking()` - Returns `BookingData | null`
|
|
21
|
+
|
|
22
|
+
## Events
|
|
23
|
+
|
|
24
|
+
- `date-select` -> `{ date: string }`
|
|
25
|
+
- `slot-select` -> `{ slot: BookingSlot }`
|
|
26
|
+
- `booking-confirm` -> `{ booking: BookingData }`
|
|
27
|
+
- `booking-cancel` -> `void`
|
|
28
|
+
|
|
29
|
+
## CSS Parts
|
|
30
|
+
|
|
31
|
+
- `base` - Main container
|
|
32
|
+
- `stepper` - Step indicator header
|
|
33
|
+
- `calendar` - Date picker section
|
|
34
|
+
- `slots` - Time slots section
|
|
35
|
+
- `form` - Confirmation form section
|
|
36
|
+
- `confirmation` - Success message
|
|
37
|
+
|
|
17
38
|
## Interfaces
|
|
18
39
|
|
|
19
40
|
```typescript
|
|
@@ -38,19 +59,7 @@ interface BookingData {
|
|
|
38
59
|
}
|
|
39
60
|
```
|
|
40
61
|
|
|
41
|
-
##
|
|
42
|
-
|
|
43
|
-
- `reset()` - Reset to step 1, clear selections
|
|
44
|
-
- `getBooking()` - Returns `BookingData | null`
|
|
45
|
-
|
|
46
|
-
## Events
|
|
47
|
-
|
|
48
|
-
- `date-select` -> `{ date: string }`
|
|
49
|
-
- `slot-select` -> `{ slot: BookingSlot }`
|
|
50
|
-
- `booking-confirm` -> `{ booking: BookingData }`
|
|
51
|
-
- `booking-cancel` -> `void`
|
|
52
|
-
|
|
53
|
-
## Usage
|
|
62
|
+
## Basic Usage
|
|
54
63
|
|
|
55
64
|
```html
|
|
56
65
|
<snice-booking></snice-booking>
|
|
@@ -71,26 +80,12 @@ booking.addEventListener('booking-confirm', e => {
|
|
|
71
80
|
console.log(e.detail.booking);
|
|
72
81
|
});
|
|
73
82
|
|
|
74
|
-
|
|
75
|
-
<snice-booking variant="inline"></snice-booking>
|
|
83
|
+
// Inline variant (all steps visible)
|
|
84
|
+
// <snice-booking variant="inline"></snice-booking>
|
|
76
85
|
```
|
|
77
86
|
|
|
78
|
-
|
|
79
|
-
- `base` - Main container
|
|
80
|
-
- `stepper` - Step indicator header
|
|
81
|
-
- `calendar` - Date picker section
|
|
82
|
-
- `slots` - Time slots section
|
|
83
|
-
- `form` - Confirmation form section
|
|
84
|
-
- `confirmation` - Success message
|
|
87
|
+
## Accessibility
|
|
85
88
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
-
|
|
89
|
-
- Stepper or inline layout
|
|
90
|
-
- Available date highlighting
|
|
91
|
-
- Time slot grid with duration display
|
|
92
|
-
- Custom form fields (text, email, tel, textarea)
|
|
93
|
-
- Booking summary before confirmation
|
|
94
|
-
- Success confirmation view
|
|
95
|
-
- Date restrictions (min/max)
|
|
96
|
-
- Past date disabling
|
|
89
|
+
- Keyboard navigation for date picker and slots
|
|
90
|
+
- ARIA labels for steps and form fields
|
|
91
|
+
- Focus management between steps
|
|
@@ -2,30 +2,47 @@
|
|
|
2
2
|
|
|
3
3
|
Navigation breadcrumb trail.
|
|
4
4
|
|
|
5
|
+
## Components
|
|
6
|
+
|
|
7
|
+
- `<snice-breadcrumbs>` - Container (imperative `items` array or declarative `<snice-crumb>` children)
|
|
8
|
+
- `<snice-crumb>` - Individual breadcrumb item (data element, no shadow DOM)
|
|
9
|
+
|
|
5
10
|
## Properties
|
|
6
11
|
|
|
12
|
+
### snice-breadcrumbs
|
|
13
|
+
|
|
7
14
|
```typescript
|
|
8
|
-
items: BreadcrumbItem[] = [];
|
|
9
|
-
separator: '/'|'>'|'
|
|
15
|
+
items: BreadcrumbItem[] = []; // JS property only
|
|
16
|
+
separator: '/'|'>'|'>>'|'.'|'|' = '/';
|
|
10
17
|
size: 'small'|'medium'|'large' = 'medium';
|
|
11
|
-
maxItems: number = 0;
|
|
18
|
+
maxItems: number = 0; // 0 = show all, attr: max-items
|
|
12
19
|
```
|
|
13
20
|
|
|
14
|
-
|
|
21
|
+
### snice-crumb
|
|
15
22
|
|
|
16
|
-
|
|
23
|
+
```typescript
|
|
24
|
+
label: string = '';
|
|
25
|
+
href: string = '';
|
|
26
|
+
icon: string = '';
|
|
27
|
+
iconImage: string = ''; // attr: icon-image (deprecated)
|
|
28
|
+
active: boolean = false;
|
|
29
|
+
```
|
|
17
30
|
|
|
18
|
-
|
|
31
|
+
## Methods
|
|
19
32
|
|
|
20
|
-
- `
|
|
33
|
+
- `setItems(items: BreadcrumbItem[])` - Update breadcrumb items
|
|
21
34
|
|
|
22
35
|
## Events
|
|
23
36
|
|
|
24
|
-
- `breadcrumb-click`
|
|
37
|
+
- `breadcrumb-click` -> `{ item: BreadcrumbItem, index: number, href: string, label: string }`
|
|
25
38
|
|
|
26
|
-
##
|
|
39
|
+
## Slots
|
|
27
40
|
|
|
28
|
-
|
|
41
|
+
### snice-breadcrumbs
|
|
42
|
+
- `(default)` - `<snice-crumb>` elements (declarative API)
|
|
43
|
+
|
|
44
|
+
### snice-crumb
|
|
45
|
+
- `icon` - Custom icon element (for CSS icon fonts)
|
|
29
46
|
|
|
30
47
|
## CSS Parts
|
|
31
48
|
|
|
@@ -59,7 +76,7 @@ interface BreadcrumbItem {
|
|
|
59
76
|
}
|
|
60
77
|
```
|
|
61
78
|
|
|
62
|
-
## Usage
|
|
79
|
+
## Basic Usage
|
|
63
80
|
|
|
64
81
|
```html
|
|
65
82
|
<!-- Imperative -->
|
|
@@ -72,7 +89,9 @@ breadcrumbs.items = [
|
|
|
72
89
|
{ label: 'Products', href: '/products' },
|
|
73
90
|
{ label: 'Laptop', active: true }
|
|
74
91
|
];
|
|
92
|
+
```
|
|
75
93
|
|
|
94
|
+
```html
|
|
76
95
|
<!-- Declarative -->
|
|
77
96
|
<snice-breadcrumbs>
|
|
78
97
|
<snice-crumb href="/" label="Home"></snice-crumb>
|
|
@@ -90,3 +109,9 @@ breadcrumbs.items = [
|
|
|
90
109
|
</snice-crumb>
|
|
91
110
|
</snice-breadcrumbs>
|
|
92
111
|
```
|
|
112
|
+
|
|
113
|
+
## Accessibility
|
|
114
|
+
|
|
115
|
+
- `<nav>` with `aria-label="Breadcrumb"`
|
|
116
|
+
- `aria-current="page"` on active/last item
|
|
117
|
+
- All links and ellipsis button are keyboard accessible
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# snice-button
|
|
2
2
|
|
|
3
|
-
Interactive button with variants and
|
|
3
|
+
Interactive button with variants, states, and form association.
|
|
4
4
|
|
|
5
5
|
## Properties
|
|
6
6
|
|
|
@@ -16,19 +16,10 @@ circle: boolean = false;
|
|
|
16
16
|
href: string = '';
|
|
17
17
|
target: string = '';
|
|
18
18
|
download: string = '';
|
|
19
|
-
icon: string = '';
|
|
20
|
-
iconPlacement: 'start'|'end' = 'start';
|
|
19
|
+
icon: string = ''; // emoji, URL, image file
|
|
20
|
+
iconPlacement: 'start'|'end' = 'start'; // attr: icon-placement
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
## Slots
|
|
24
|
-
|
|
25
|
-
- `(default)` - Button label content
|
|
26
|
-
- `icon` - Custom icon content (overrides `icon` property)
|
|
27
|
-
|
|
28
|
-
## Events
|
|
29
|
-
|
|
30
|
-
- `button-click` → `{ originalEvent: MouseEvent }`
|
|
31
|
-
|
|
32
23
|
## Methods
|
|
33
24
|
|
|
34
25
|
- `focus(options?)` - Focus button
|
|
@@ -38,10 +29,25 @@ iconPlacement: 'start'|'end' = 'start';
|
|
|
38
29
|
- `setDisabled(disabled)` - Set disabled state
|
|
39
30
|
- `setVariant(variant)` - Set variant
|
|
40
31
|
|
|
41
|
-
##
|
|
32
|
+
## Events
|
|
33
|
+
|
|
34
|
+
- `button-click` -> `{ originalEvent: MouseEvent }`
|
|
35
|
+
|
|
36
|
+
## Slots
|
|
37
|
+
|
|
38
|
+
- `(default)` - Button label content
|
|
39
|
+
- `icon` - Custom icon content (overrides `icon` property)
|
|
40
|
+
|
|
41
|
+
## CSS Parts
|
|
42
|
+
|
|
43
|
+
- `base` - The button element
|
|
44
|
+
- `spinner` - Loading spinner
|
|
45
|
+
- `label` - Button label text
|
|
46
|
+
- `icon` - Icon container
|
|
47
|
+
|
|
48
|
+
## Basic Usage
|
|
42
49
|
|
|
43
50
|
```html
|
|
44
|
-
<!-- Basic -->
|
|
45
51
|
<snice-button>Click me</snice-button>
|
|
46
52
|
|
|
47
53
|
<!-- Variants -->
|
|
@@ -53,7 +59,6 @@ iconPlacement: 'start'|'end' = 'start';
|
|
|
53
59
|
|
|
54
60
|
<!-- Sizes -->
|
|
55
61
|
<snice-button size="small">Small</snice-button>
|
|
56
|
-
<snice-button size="medium">Medium</snice-button>
|
|
57
62
|
<snice-button size="large">Large</snice-button>
|
|
58
63
|
|
|
59
64
|
<!-- States -->
|
|
@@ -63,11 +68,9 @@ iconPlacement: 'start'|'end' = 'start';
|
|
|
63
68
|
<!-- Styles -->
|
|
64
69
|
<snice-button outline>Outline</snice-button>
|
|
65
70
|
<snice-button pill>Pill</snice-button>
|
|
66
|
-
<snice-button circle icon="
|
|
67
|
-
|
|
68
|
-
<!-- ⚠️ icon="home" renders as PLAIN TEXT. Use the icon slot for icon fonts. -->
|
|
71
|
+
<snice-button circle icon="x"></snice-button>
|
|
69
72
|
|
|
70
|
-
<!-- Icon SLOT
|
|
73
|
+
<!-- Icon SLOT -- for Material Symbols, Font Awesome, SVGs -->
|
|
71
74
|
<snice-button>
|
|
72
75
|
<span slot="icon" class="material-symbols-outlined">save</span>
|
|
73
76
|
Save
|
|
@@ -76,38 +79,24 @@ iconPlacement: 'start'|'end' = 'start';
|
|
|
76
79
|
<i slot="icon" class="fa-solid fa-trash"></i>
|
|
77
80
|
Delete
|
|
78
81
|
</snice-button>
|
|
79
|
-
<snice-button>
|
|
80
|
-
<svg slot="icon" viewBox="0 0 24 24"><path d="..."/></svg>
|
|
81
|
-
Action
|
|
82
|
-
</snice-button>
|
|
83
82
|
|
|
84
|
-
<!-- Icon PROPERTY
|
|
85
|
-
|
|
86
|
-
<snice-button icon="
|
|
83
|
+
<!-- Icon PROPERTY -- for emoji, URLs, image files only -->
|
|
84
|
+
<!-- icon="home" renders as PLAIN TEXT, NOT a Material icon -->
|
|
85
|
+
<snice-button icon="->">Next</snice-button>
|
|
87
86
|
<snice-button icon="/icons/save.svg">Save</snice-button>
|
|
88
|
-
<snice-button icon="icon.png">Image file</snice-button>
|
|
89
|
-
<!-- Scheme overrides: img://, text:// -->
|
|
90
87
|
<snice-button icon="img://filename">Force img</snice-button>
|
|
91
|
-
<snice-button icon="text://content">Force text</snice-button>
|
|
92
88
|
|
|
93
89
|
<!-- As link -->
|
|
94
90
|
<snice-button href="/page">Link</snice-button>
|
|
95
91
|
<snice-button href="/file.pdf" download>Download</snice-button>
|
|
96
|
-
```
|
|
97
92
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
93
|
+
<!-- Form -->
|
|
94
|
+
<snice-button type="submit" variant="primary">Submit</snice-button>
|
|
95
|
+
<snice-button type="reset">Reset</snice-button>
|
|
96
|
+
```
|
|
101
97
|
|
|
102
|
-
##
|
|
98
|
+
## Accessibility
|
|
103
99
|
|
|
104
|
-
-
|
|
105
|
-
-
|
|
106
|
-
-
|
|
107
|
-
- Pill (rounded) shape
|
|
108
|
-
- Circle (icon only) shape
|
|
109
|
-
- Loading state with spinner
|
|
110
|
-
- Disabled state
|
|
111
|
-
- Link mode (href)
|
|
112
|
-
- Icon support with placement (URL, image files, emoji). Use slot for icon fonts.
|
|
113
|
-
- Download attribute support
|
|
100
|
+
- Keyboard accessible (Enter, Space)
|
|
101
|
+
- Focus ring on `:focus-visible`
|
|
102
|
+
- Form-associated (`formAssociated: true`)
|