snice 4.21.0 → 4.22.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/drawer.d.ts +4 -0
- package/adapters/react/drawer.d.ts.map +1 -1
- package/adapters/react/drawer.js +1 -1
- package/adapters/react/drawer.js.map +1 -1
- package/adapters/react/drawer.tsx +5 -1
- package/dist/cdn/accordion/snice-accordion.js +1 -1
- package/dist/cdn/accordion/snice-accordion.min.js +1 -1
- package/dist/cdn/activity-feed/snice-activity-feed.js +1 -1
- package/dist/cdn/activity-feed/snice-activity-feed.min.js +1 -1
- package/dist/cdn/alert/snice-alert.js +1 -1
- package/dist/cdn/alert/snice-alert.min.js +1 -1
- package/dist/cdn/app-tiles/snice-app-tiles.js +1 -1
- package/dist/cdn/app-tiles/snice-app-tiles.min.js +1 -1
- package/dist/cdn/approval-flow/snice-approval-flow.js +1 -1
- package/dist/cdn/approval-flow/snice-approval-flow.min.js +1 -1
- package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
- package/dist/cdn/audio-recorder/snice-audio-recorder.min.js +1 -1
- package/dist/cdn/availability/snice-availability.js +1 -1
- package/dist/cdn/availability/snice-availability.min.js +1 -1
- package/dist/cdn/avatar/snice-avatar.js +1 -1
- package/dist/cdn/avatar/snice-avatar.min.js +1 -1
- package/dist/cdn/avatar-group/snice-avatar-group.js +1 -1
- package/dist/cdn/avatar-group/snice-avatar-group.min.js +1 -1
- package/dist/cdn/badge/snice-badge.js +1 -1
- package/dist/cdn/badge/snice-badge.min.js +1 -1
- package/dist/cdn/banner/snice-banner.js +1 -1
- package/dist/cdn/banner/snice-banner.min.js +1 -1
- package/dist/cdn/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/snice-button.js +1 -1
- package/dist/cdn/button/snice-button.min.js +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/README.md +1 -1
- package/dist/cdn/cart/snice-cart.js +24 -20
- package/dist/cdn/cart/snice-cart.js.map +1 -1
- package/dist/cdn/cart/snice-cart.min.js +24 -20
- package/dist/cdn/cart/snice-cart.min.js.map +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/README.md +2 -2
- package/dist/cdn/chat/snice-chat.js +177 -10
- package/dist/cdn/chat/snice-chat.js.map +1 -1
- package/dist/cdn/chat/snice-chat.min.js +49 -17
- package/dist/cdn/chat/snice-chat.min.js.map +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/README.md +1 -1
- package/dist/cdn/code-block/snice-code-block.js +2 -2
- package/dist/cdn/code-block/snice-code-block.js.map +1 -1
- package/dist/cdn/code-block/snice-code-block.min.js +3 -3
- package/dist/cdn/code-block/snice-code-block.min.js.map +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 +2 -2
- package/dist/cdn/command-palette/snice-command-palette.js.map +1 -1
- package/dist/cdn/command-palette/snice-command-palette.min.js +2 -2
- package/dist/cdn/command-palette/snice-command-palette.min.js.map +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-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/README.md +2 -2
- package/dist/cdn/drawer/snice-drawer.js +129 -22
- package/dist/cdn/drawer/snice-drawer.js.map +1 -1
- package/dist/cdn/drawer/snice-drawer.min.js +22 -18
- package/dist/cdn/drawer/snice-drawer.min.js.map +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/README.md +2 -2
- package/dist/cdn/heatmap/snice-heatmap.js +2 -2
- package/dist/cdn/heatmap/snice-heatmap.js.map +1 -1
- package/dist/cdn/heatmap/snice-heatmap.min.js +5 -5
- package/dist/cdn/heatmap/snice-heatmap.min.js.map +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/README.md +2 -2
- package/dist/cdn/list/snice-list.js +179 -8
- package/dist/cdn/list/snice-list.js.map +1 -1
- package/dist/cdn/list/snice-list.min.js +45 -9
- package/dist/cdn/list/snice-list.min.js.map +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/snice-login.js +1 -1
- package/dist/cdn/login/snice-login.min.js +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/README.md +2 -2
- package/dist/cdn/notification-center/snice-notification-center.js +136 -15
- package/dist/cdn/notification-center/snice-notification-center.js.map +1 -1
- package/dist/cdn/notification-center/snice-notification-center.min.js +57 -23
- package/dist/cdn/notification-center/snice-notification-center.min.js.map +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/README.md +1 -1
- package/dist/cdn/product-card/snice-product-card.js +2 -2
- package/dist/cdn/product-card/snice-product-card.js.map +1 -1
- package/dist/cdn/product-card/snice-product-card.min.js +18 -18
- package/dist/cdn/product-card/snice-product-card.min.js.map +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/snice-runtime.esm.js +4 -4
- package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.esm.min.js +4 -4
- package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.js +4 -4
- package/dist/cdn/runtime/snice-runtime.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.min.js +4 -4
- 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/snice-table.js +1 -1
- package/dist/cdn/table/snice-table.min.js +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/README.md +2 -2
- package/dist/cdn/toast/snice-toast.js +9 -9
- package/dist/cdn/toast/snice-toast.js.map +1 -1
- package/dist/cdn/toast/snice-toast.min.js +12 -12
- package/dist/cdn/toast/snice-toast.min.js.map +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/cart/snice-cart.js +23 -19
- package/dist/components/cart/snice-cart.js.map +1 -1
- package/dist/components/chat/snice-chat.d.ts +1 -0
- package/dist/components/chat/snice-chat.js +10 -9
- package/dist/components/chat/snice-chat.js.map +1 -1
- package/dist/components/code-block/snice-code-block.js +1 -1
- package/dist/components/code-block/snice-code-block.js.map +1 -1
- package/dist/components/command-palette/snice-command-palette.js +1 -1
- package/dist/components/command-palette/snice-command-palette.js.map +1 -1
- package/dist/components/drawer/snice-drawer.d.ts +13 -0
- package/dist/components/drawer/snice-drawer.js +128 -21
- package/dist/components/drawer/snice-drawer.js.map +1 -1
- package/dist/components/drawer/snice-drawer.types.d.ts +4 -0
- package/dist/components/heatmap/snice-heatmap.js +1 -1
- package/dist/components/heatmap/snice-heatmap.js.map +1 -1
- package/dist/components/list/snice-list.d.ts +1 -0
- package/dist/components/list/snice-list.js +10 -5
- package/dist/components/list/snice-list.js.map +1 -1
- package/dist/components/notification-center/snice-notification-center.d.ts +1 -0
- package/dist/components/notification-center/snice-notification-center.js +16 -14
- package/dist/components/notification-center/snice-notification-center.js.map +1 -1
- package/dist/components/product-card/snice-product-card.js +1 -1
- package/dist/components/product-card/snice-product-card.js.map +1 -1
- package/dist/components/toast/snice-toast.js +8 -8
- package/dist/index.cjs +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.iife.js +1 -1
- 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/components/drawer.md +45 -1
- package/docs/components/drawer.md +65 -0
- package/package.json +1 -1
package/dist/transitions.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# snice-drawer
|
|
2
2
|
|
|
3
|
-
Slide-out panel from any viewport side with focus trap and dismissal options.
|
|
3
|
+
Slide-out panel from any viewport side with focus trap and dismissal options. Supports inline mode for persistent sidebars and responsive breakpoint switching.
|
|
4
4
|
|
|
5
5
|
## Properties
|
|
6
6
|
|
|
@@ -8,6 +8,10 @@ Slide-out panel from any viewport side with focus trap and dismissal options.
|
|
|
8
8
|
open: boolean = false; // Visibility state
|
|
9
9
|
position: 'left'|'right'|'top'|'bottom' = 'left';
|
|
10
10
|
size: 'small'|'medium'|'large'|'xl'|'xxl'|'xxxl'|'full' = 'medium';
|
|
11
|
+
inline: boolean = false; // Sit in document flow (no overlay/backdrop/focus-trap)
|
|
12
|
+
breakpoint: number = 0; // Viewport px width: above → inline, below → overlay
|
|
13
|
+
noHeader: boolean = false; // attribute: no-header — hide header entirely
|
|
14
|
+
noFooter: boolean = false; // attribute: no-footer — hide footer entirely
|
|
11
15
|
noBackdrop: boolean = false; // attribute: no-backdrop
|
|
12
16
|
noBackdropDismiss: boolean = false; // attribute: no-backdrop-dismiss
|
|
13
17
|
noEscapeDismiss: boolean = false; // attribute: no-escape-dismiss
|
|
@@ -61,6 +65,42 @@ drawer.hide();
|
|
|
61
65
|
drawer.toggle();
|
|
62
66
|
```
|
|
63
67
|
|
|
68
|
+
## Inline Mode
|
|
69
|
+
|
|
70
|
+
Renders in document flow — no overlay, backdrop, focus trap, or escape handler. Drawer panel is always visible.
|
|
71
|
+
|
|
72
|
+
```html
|
|
73
|
+
<!-- Always-visible sidebar -->
|
|
74
|
+
<div style="display:flex; height:100vh">
|
|
75
|
+
<snice-drawer inline position="left" size="small">
|
|
76
|
+
<span slot="title">Sidebar</span>
|
|
77
|
+
<nav>...</nav>
|
|
78
|
+
</snice-drawer>
|
|
79
|
+
<main>...</main>
|
|
80
|
+
</div>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
- CSS uses border separator instead of box-shadow
|
|
84
|
+
- `open` property is ignored (always visible)
|
|
85
|
+
- Border direction matches `position` (left→border-right, right→border-left, etc.)
|
|
86
|
+
|
|
87
|
+
## Breakpoint Mode
|
|
88
|
+
|
|
89
|
+
Responsive switching: inline above the breakpoint, overlay below. Uses `window.matchMedia`.
|
|
90
|
+
|
|
91
|
+
```html
|
|
92
|
+
<!-- Inline on desktop (≥768px), overlay on mobile (<768px) -->
|
|
93
|
+
<snice-drawer breakpoint="768" position="left" size="small">
|
|
94
|
+
<span slot="title">Navigation</span>
|
|
95
|
+
...
|
|
96
|
+
</snice-drawer>
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
- Sets/removes the `inline` attribute dynamically via matchMedia listener
|
|
100
|
+
- Crossing the breakpoint while open: overlay behaviors torn down/set up automatically
|
|
101
|
+
- Listener cleaned up on `@dispose()`
|
|
102
|
+
- `@watch('breakpoint')` tears down old listener and sets up new one when value changes
|
|
103
|
+
|
|
64
104
|
## Features
|
|
65
105
|
|
|
66
106
|
- Slides from any edge (left, right, top, bottom)
|
|
@@ -71,6 +111,8 @@ drawer.toggle();
|
|
|
71
111
|
- Escape key to close
|
|
72
112
|
- Push content mode
|
|
73
113
|
- Persistent mode (no close button)
|
|
114
|
+
- Inline mode (persistent sidebar in document flow)
|
|
115
|
+
- Breakpoint mode (responsive inline ↔ overlay switching)
|
|
74
116
|
- ARIA attributes (role, aria-modal, aria-hidden)
|
|
75
117
|
|
|
76
118
|
## Notes
|
|
@@ -78,3 +120,5 @@ drawer.toggle();
|
|
|
78
120
|
- Push content targets first `<main>` or `<body>`
|
|
79
121
|
- Contained mode positions relative to parent
|
|
80
122
|
- Default dismissal: close button, backdrop click, Escape key
|
|
123
|
+
- Inline CSS must come after all position/size rules in stylesheet (specificity tie → source order wins)
|
|
124
|
+
- Breakpoint and inline can coexist; breakpoint toggles the `inline` attribute at runtime
|
|
@@ -48,6 +48,8 @@ openBtn.addEventListener('click', () => drawer.show());
|
|
|
48
48
|
| `open` | `boolean` | `false` | Whether the drawer is visible |
|
|
49
49
|
| `position` | `'left' \| 'right' \| 'top' \| 'bottom'` | `'left'` | Side from which the drawer slides in |
|
|
50
50
|
| `size` | `'small' \| 'medium' \| 'large' \| 'xl' \| 'xxl' \| 'xxxl' \| 'full'` | `'medium'` | Width/height of the drawer |
|
|
51
|
+
| `noHeader` | `boolean` | `false` | Hide the header (title + close button) entirely |
|
|
52
|
+
| `noFooter` | `boolean` | `false` | Hide the footer slot entirely |
|
|
51
53
|
| `noBackdrop` | `boolean` | `false` | Hide the backdrop overlay |
|
|
52
54
|
| `noBackdropDismiss` | `boolean` | `false` | Prevent closing when clicking backdrop |
|
|
53
55
|
| `noEscapeDismiss` | `boolean` | `false` | Prevent closing with Escape key |
|
|
@@ -55,6 +57,8 @@ openBtn.addEventListener('click', () => drawer.show());
|
|
|
55
57
|
| `persistent` | `boolean` | `false` | Hide close button and prevent all dismissal |
|
|
56
58
|
| `pushContent` | `boolean` | `false` | Push main content instead of overlaying |
|
|
57
59
|
| `contained` | `boolean` | `false` | Position relative to parent instead of viewport |
|
|
60
|
+
| `inline` | `boolean` | `false` | Render in document flow as a persistent sidebar |
|
|
61
|
+
| `breakpoint` | `number` | `0` | Viewport width (px) above which drawer switches to inline mode |
|
|
58
62
|
|
|
59
63
|
## Methods
|
|
60
64
|
|
|
@@ -257,6 +261,67 @@ Content for the drawer footer. Typically used for action buttons.
|
|
|
257
261
|
</snice-drawer>
|
|
258
262
|
```
|
|
259
263
|
|
|
264
|
+
### Inline Mode
|
|
265
|
+
|
|
266
|
+
The `inline` attribute renders the drawer directly in the document flow as a persistent sidebar. No overlay, backdrop, focus trap, or escape handler is used. The drawer is always visible and participates in the parent's layout.
|
|
267
|
+
|
|
268
|
+
```html
|
|
269
|
+
<div style="display: flex; height: 100vh;">
|
|
270
|
+
<snice-drawer inline position="left" size="small">
|
|
271
|
+
<span slot="title">Sidebar</span>
|
|
272
|
+
<nav>
|
|
273
|
+
<a href="/">Home</a>
|
|
274
|
+
<a href="/explore">Explore</a>
|
|
275
|
+
<a href="/settings">Settings</a>
|
|
276
|
+
</nav>
|
|
277
|
+
</snice-drawer>
|
|
278
|
+
|
|
279
|
+
<main style="flex: 1; padding: 1rem;">
|
|
280
|
+
<h1>Main Content</h1>
|
|
281
|
+
<p>The sidebar sits alongside this content.</p>
|
|
282
|
+
</main>
|
|
283
|
+
</div>
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
A border separator is automatically applied based on the `position`:
|
|
287
|
+
- `left` → right border
|
|
288
|
+
- `right` → left border
|
|
289
|
+
- `top` → bottom border
|
|
290
|
+
- `bottom` → top border
|
|
291
|
+
|
|
292
|
+
### Responsive Breakpoint
|
|
293
|
+
|
|
294
|
+
The `breakpoint` attribute enables responsive behavior: the drawer renders inline when the viewport is at or above the specified width (in pixels), and switches to a standard overlay drawer below it.
|
|
295
|
+
|
|
296
|
+
```html
|
|
297
|
+
<!-- Inline sidebar on desktop (≥768px), overlay drawer on mobile (<768px) -->
|
|
298
|
+
<snice-drawer breakpoint="768" position="left" size="small">
|
|
299
|
+
<span slot="title">Navigation</span>
|
|
300
|
+
<nav>
|
|
301
|
+
<a href="/">Home</a>
|
|
302
|
+
<a href="/products">Products</a>
|
|
303
|
+
<a href="/settings">Settings</a>
|
|
304
|
+
</nav>
|
|
305
|
+
</snice-drawer>
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
The breakpoint uses `window.matchMedia` internally. When the viewport crosses the breakpoint:
|
|
309
|
+
- **Above breakpoint**: The `inline` attribute is set automatically. Overlay behaviors (backdrop, focus trap, escape handler) are torn down.
|
|
310
|
+
- **Below breakpoint**: The `inline` attribute is removed. The drawer reverts to standard overlay mode.
|
|
311
|
+
|
|
312
|
+
You can combine `breakpoint` with `open` to control the overlay state on mobile:
|
|
313
|
+
|
|
314
|
+
```html
|
|
315
|
+
<snice-drawer id="nav" breakpoint="1024" position="left" size="small">
|
|
316
|
+
<span slot="title">Menu</span>
|
|
317
|
+
<nav>...</nav>
|
|
318
|
+
</snice-drawer>
|
|
319
|
+
|
|
320
|
+
<button onclick="document.getElementById('nav').toggle()">
|
|
321
|
+
Toggle Menu
|
|
322
|
+
</button>
|
|
323
|
+
```
|
|
324
|
+
|
|
260
325
|
### Filters Panel
|
|
261
326
|
|
|
262
327
|
```html
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "snice",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.22.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.",
|
|
6
6
|
"main": "dist/index.cjs",
|