snice 4.9.0 → 4.10.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/app-tiles.d.ts +28 -0
- package/adapters/react/app-tiles.d.ts.map +1 -0
- package/adapters/react/app-tiles.js +24 -0
- package/adapters/react/app-tiles.js.map +1 -0
- package/adapters/react/app-tiles.tsx +36 -0
- package/adapters/react/book.d.ts +28 -0
- package/adapters/react/book.d.ts.map +1 -0
- package/adapters/react/book.js +24 -0
- package/adapters/react/book.js.map +1 -0
- package/adapters/react/book.tsx +36 -0
- package/adapters/react/comments.d.ts +29 -0
- package/adapters/react/comments.d.ts.map +1 -0
- package/adapters/react/comments.js +24 -0
- package/adapters/react/comments.js.map +1 -0
- package/adapters/react/comments.tsx +37 -0
- package/adapters/react/components.d.ts +52 -0
- package/adapters/react/components.d.ts.map +1 -1
- package/adapters/react/components.js +26 -0
- package/adapters/react/components.js.map +1 -1
- package/adapters/react/components.ts +52 -0
- package/adapters/react/countdown.d.ts +31 -0
- package/adapters/react/countdown.d.ts.map +1 -0
- package/adapters/react/countdown.js +24 -0
- package/adapters/react/countdown.js.map +1 -0
- package/adapters/react/countdown.tsx +39 -0
- package/adapters/react/cropper.d.ts +29 -0
- package/adapters/react/cropper.d.ts.map +1 -0
- package/adapters/react/cropper.js +24 -0
- package/adapters/react/cropper.js.map +1 -0
- package/adapters/react/cropper.tsx +37 -0
- package/adapters/react/diff.d.ts +31 -0
- package/adapters/react/diff.d.ts.map +1 -0
- package/adapters/react/diff.js +24 -0
- package/adapters/react/diff.js.map +1 -0
- package/adapters/react/diff.tsx +39 -0
- package/adapters/react/flip-card.d.ts +28 -0
- package/adapters/react/flip-card.d.ts.map +1 -0
- package/adapters/react/flip-card.js +24 -0
- package/adapters/react/flip-card.js.map +1 -0
- package/adapters/react/flip-card.tsx +36 -0
- package/adapters/react/flow.d.ts +32 -0
- package/adapters/react/flow.d.ts.map +1 -0
- package/adapters/react/flow.js +24 -0
- package/adapters/react/flow.js.map +1 -0
- package/adapters/react/flow.tsx +40 -0
- package/adapters/react/gantt.d.ts +27 -0
- package/adapters/react/gantt.d.ts.map +1 -0
- package/adapters/react/gantt.js +24 -0
- package/adapters/react/gantt.js.map +1 -0
- package/adapters/react/gantt.tsx +35 -0
- package/adapters/react/map.d.ts +30 -0
- package/adapters/react/map.d.ts.map +1 -0
- package/adapters/react/map.js +24 -0
- package/adapters/react/map.js.map +1 -0
- package/adapters/react/map.tsx +38 -0
- package/adapters/react/markdown.d.ts +26 -0
- package/adapters/react/markdown.d.ts.map +1 -0
- package/adapters/react/markdown.js +24 -0
- package/adapters/react/markdown.js.map +1 -0
- package/adapters/react/markdown.tsx +34 -0
- package/adapters/react/notification-center.d.ts +26 -0
- package/adapters/react/notification-center.d.ts.map +1 -0
- package/adapters/react/notification-center.js +24 -0
- package/adapters/react/notification-center.js.map +1 -0
- package/adapters/react/notification-center.tsx +34 -0
- package/adapters/react/org-chart.d.ts +28 -0
- package/adapters/react/org-chart.d.ts.map +1 -0
- package/adapters/react/org-chart.js +24 -0
- package/adapters/react/org-chart.js.map +1 -0
- package/adapters/react/org-chart.tsx +36 -0
- package/adapters/react/pdf-viewer.d.ts +28 -0
- package/adapters/react/pdf-viewer.d.ts.map +1 -0
- package/adapters/react/pdf-viewer.js +24 -0
- package/adapters/react/pdf-viewer.js.map +1 -0
- package/adapters/react/pdf-viewer.tsx +36 -0
- package/adapters/react/podcast-player.d.ts +40 -0
- package/adapters/react/podcast-player.d.ts.map +1 -0
- package/adapters/react/podcast-player.js +24 -0
- package/adapters/react/podcast-player.js.map +1 -0
- package/adapters/react/podcast-player.tsx +48 -0
- package/adapters/react/pricing-table.d.ts +27 -0
- package/adapters/react/pricing-table.d.ts.map +1 -0
- package/adapters/react/pricing-table.js +24 -0
- package/adapters/react/pricing-table.js.map +1 -0
- package/adapters/react/pricing-table.tsx +35 -0
- package/adapters/react/rating.d.ts +30 -0
- package/adapters/react/rating.d.ts.map +1 -0
- package/adapters/react/rating.js +24 -0
- package/adapters/react/rating.js.map +1 -0
- package/adapters/react/rating.tsx +38 -0
- package/adapters/react/recipe.d.ts +43 -0
- package/adapters/react/recipe.d.ts.map +1 -0
- package/adapters/react/recipe.js +24 -0
- package/adapters/react/recipe.js.map +1 -0
- package/adapters/react/recipe.tsx +51 -0
- package/adapters/react/sortable.d.ts +28 -0
- package/adapters/react/sortable.d.ts.map +1 -0
- package/adapters/react/sortable.js +24 -0
- package/adapters/react/sortable.js.map +1 -0
- package/adapters/react/sortable.tsx +36 -0
- package/adapters/react/spotlight.d.ts +27 -0
- package/adapters/react/spotlight.d.ts.map +1 -0
- package/adapters/react/spotlight.js +24 -0
- package/adapters/react/spotlight.js.map +1 -0
- package/adapters/react/spotlight.tsx +35 -0
- package/adapters/react/spreadsheet.d.ts +27 -0
- package/adapters/react/spreadsheet.d.ts.map +1 -0
- package/adapters/react/spreadsheet.js +24 -0
- package/adapters/react/spreadsheet.js.map +1 -0
- package/adapters/react/spreadsheet.tsx +35 -0
- package/adapters/react/tag-input.d.ts +33 -0
- package/adapters/react/tag-input.d.ts.map +1 -0
- package/adapters/react/tag-input.js +24 -0
- package/adapters/react/tag-input.js.map +1 -0
- package/adapters/react/tag-input.tsx +41 -0
- package/adapters/react/testimonial.d.ts +31 -0
- package/adapters/react/testimonial.d.ts.map +1 -0
- package/adapters/react/testimonial.js +24 -0
- package/adapters/react/testimonial.js.map +1 -0
- package/adapters/react/testimonial.tsx +39 -0
- package/adapters/react/video-player.d.ts +34 -0
- package/adapters/react/video-player.d.ts.map +1 -0
- package/adapters/react/video-player.js +24 -0
- package/adapters/react/video-player.js.map +1 -0
- package/adapters/react/video-player.tsx +42 -0
- package/adapters/react/waterfall.d.ts +29 -0
- package/adapters/react/waterfall.d.ts.map +1 -0
- package/adapters/react/waterfall.js +24 -0
- package/adapters/react/waterfall.js.map +1 -0
- package/adapters/react/waterfall.tsx +37 -0
- package/adapters/react/weather.d.ts +27 -0
- package/adapters/react/weather.d.ts.map +1 -0
- package/adapters/react/weather.js +24 -0
- package/adapters/react/weather.js.map +1 -0
- package/adapters/react/weather.tsx +35 -0
- package/dist/cdn/accordion/snice-accordion.js +1 -1
- package/dist/cdn/accordion/snice-accordion.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/README.md +27 -0
- package/dist/cdn/app-tiles/snice-app-tiles.js +333 -0
- package/dist/cdn/app-tiles/snice-app-tiles.js.map +1 -0
- package/dist/cdn/app-tiles/snice-app-tiles.min.js +11 -0
- package/dist/cdn/app-tiles/snice-app-tiles.min.js.map +1 -0
- 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/avatar/snice-avatar.js +1 -1
- package/dist/cdn/avatar/snice-avatar.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/README.md +27 -0
- package/dist/cdn/book/snice-book.js +353 -0
- package/dist/cdn/book/snice-book.js.map +1 -0
- package/dist/cdn/book/snice-book.min.js +13 -0
- package/dist/cdn/book/snice-book.min.js.map +1 -0
- 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/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/README.md +27 -0
- package/dist/cdn/comments/snice-comments.js +544 -0
- package/dist/cdn/comments/snice-comments.js.map +1 -0
- package/dist/cdn/comments/snice-comments.min.js +100 -0
- package/dist/cdn/comments/snice-comments.min.js.map +1 -0
- package/dist/cdn/countdown/README.md +27 -0
- package/dist/cdn/countdown/snice-countdown.js +235 -0
- package/dist/cdn/countdown/snice-countdown.js.map +1 -0
- package/dist/cdn/countdown/snice-countdown.min.js +14 -0
- package/dist/cdn/countdown/snice-countdown.min.js.map +1 -0
- package/dist/cdn/cropper/README.md +27 -0
- package/dist/cdn/cropper/snice-cropper.js +352 -0
- package/dist/cdn/cropper/snice-cropper.js.map +1 -0
- package/dist/cdn/cropper/snice-cropper.min.js +25 -0
- package/dist/cdn/cropper/snice-cropper.min.js.map +1 -0
- 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/diff/README.md +27 -0
- package/dist/cdn/diff/snice-diff.js +441 -0
- package/dist/cdn/diff/snice-diff.js.map +1 -0
- package/dist/cdn/diff/snice-diff.min.js +54 -0
- package/dist/cdn/diff/snice-diff.min.js.map +1 -0
- 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/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/README.md +27 -0
- package/dist/cdn/flip-card/snice-flip-card.js +183 -0
- package/dist/cdn/flip-card/snice-flip-card.js.map +1 -0
- package/dist/cdn/flip-card/snice-flip-card.min.js +22 -0
- package/dist/cdn/flip-card/snice-flip-card.min.js.map +1 -0
- package/dist/cdn/flow/README.md +27 -0
- package/dist/cdn/flow/snice-flow.js +822 -0
- package/dist/cdn/flow/snice-flow.js.map +1 -0
- package/dist/cdn/flow/snice-flow.min.js +17 -0
- package/dist/cdn/flow/snice-flow.min.js.map +1 -0
- package/dist/cdn/funnel/snice-funnel.js +1 -1
- package/dist/cdn/funnel/snice-funnel.min.js +1 -1
- package/dist/cdn/gantt/README.md +27 -0
- package/dist/cdn/gantt/snice-gantt.js +436 -0
- package/dist/cdn/gantt/snice-gantt.js.map +1 -0
- package/dist/cdn/gantt/snice-gantt.min.js +60 -0
- package/dist/cdn/gantt/snice-gantt.min.js.map +1 -0
- 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/kanban/snice-kanban.js +1 -1
- package/dist/cdn/kanban/snice-kanban.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/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/snice-login.js +1 -1
- package/dist/cdn/login/snice-login.min.js +1 -1
- package/dist/cdn/map/README.md +27 -0
- package/dist/cdn/map/snice-map.js +415 -0
- package/dist/cdn/map/snice-map.js.map +1 -0
- package/dist/cdn/map/snice-map.min.js +52 -0
- package/dist/cdn/map/snice-map.min.js.map +1 -0
- package/dist/cdn/markdown/README.md +27 -0
- package/dist/cdn/markdown/snice-markdown.js +317 -0
- package/dist/cdn/markdown/snice-markdown.js.map +1 -0
- package/dist/cdn/markdown/snice-markdown.min.js +11 -0
- package/dist/cdn/markdown/snice-markdown.min.js.map +1 -0
- 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/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 +27 -0
- package/dist/cdn/notification-center/snice-notification-center.js +204 -0
- package/dist/cdn/notification-center/snice-notification-center.js.map +1 -0
- package/dist/cdn/notification-center/snice-notification-center.min.js +33 -0
- package/dist/cdn/notification-center/snice-notification-center.min.js.map +1 -0
- package/dist/cdn/org-chart/README.md +27 -0
- package/dist/cdn/org-chart/snice-org-chart.js +294 -0
- package/dist/cdn/org-chart/snice-org-chart.js.map +1 -0
- package/dist/cdn/org-chart/snice-org-chart.min.js +32 -0
- package/dist/cdn/org-chart/snice-org-chart.min.js.map +1 -0
- 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/README.md +27 -0
- package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +594 -0
- package/dist/cdn/pdf-viewer/snice-pdf-viewer.js.map +1 -0
- package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js +88 -0
- package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js.map +1 -0
- package/dist/cdn/podcast-player/README.md +27 -0
- package/dist/cdn/podcast-player/snice-podcast-player.js +835 -0
- package/dist/cdn/podcast-player/snice-podcast-player.js.map +1 -0
- package/dist/cdn/podcast-player/snice-podcast-player.min.js +209 -0
- package/dist/cdn/podcast-player/snice-podcast-player.min.js.map +1 -0
- package/dist/cdn/pricing-table/README.md +27 -0
- package/dist/cdn/pricing-table/snice-pricing-table.js +491 -0
- package/dist/cdn/pricing-table/snice-pricing-table.js.map +1 -0
- package/dist/cdn/pricing-table/snice-pricing-table.min.js +141 -0
- package/dist/cdn/pricing-table/snice-pricing-table.min.js.map +1 -0
- package/dist/cdn/progress/snice-progress.js +1 -1
- package/dist/cdn/progress/snice-progress.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/rating/README.md +27 -0
- package/dist/cdn/rating/snice-rating.js +210 -0
- package/dist/cdn/rating/snice-rating.js.map +1 -0
- package/dist/cdn/rating/snice-rating.min.js +25 -0
- package/dist/cdn/rating/snice-rating.min.js.map +1 -0
- package/dist/cdn/recipe/README.md +27 -0
- package/dist/cdn/recipe/snice-recipe.js +619 -0
- package/dist/cdn/recipe/snice-recipe.js.map +1 -0
- package/dist/cdn/recipe/snice-recipe.min.js +185 -0
- package/dist/cdn/recipe/snice-recipe.min.js.map +1 -0
- package/dist/cdn/runtime/snice-runtime.esm.js +3 -3
- package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.esm.min.js +3 -3
- package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.js +3 -3
- package/dist/cdn/runtime/snice-runtime.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.min.js +3 -3
- 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/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/README.md +27 -0
- package/dist/cdn/sortable/snice-sortable.js +254 -0
- package/dist/cdn/sortable/snice-sortable.js.map +1 -0
- package/dist/cdn/sortable/snice-sortable.min.js +12 -0
- package/dist/cdn/sortable/snice-sortable.min.js.map +1 -0
- 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-pane/snice-split-pane.js +1 -1
- package/dist/cdn/split-pane/snice-split-pane.min.js +1 -1
- package/dist/cdn/spotlight/README.md +27 -0
- package/dist/cdn/spotlight/snice-spotlight.js +397 -0
- package/dist/cdn/spotlight/snice-spotlight.js.map +1 -0
- package/dist/cdn/spotlight/snice-spotlight.min.js +8 -0
- package/dist/cdn/spotlight/snice-spotlight.min.js.map +1 -0
- package/dist/cdn/spreadsheet/README.md +27 -0
- package/dist/cdn/spreadsheet/snice-spreadsheet.js +1171 -0
- package/dist/cdn/spreadsheet/snice-spreadsheet.js.map +1 -0
- package/dist/cdn/spreadsheet/snice-spreadsheet.min.js +30 -0
- package/dist/cdn/spreadsheet/snice-spreadsheet.min.js.map +1 -0
- 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-input/README.md +27 -0
- package/dist/cdn/tag-input/snice-tag-input.js +387 -0
- package/dist/cdn/tag-input/snice-tag-input.js.map +1 -0
- package/dist/cdn/tag-input/snice-tag-input.min.js +65 -0
- package/dist/cdn/tag-input/snice-tag-input.min.js.map +1 -0
- package/dist/cdn/terminal/snice-terminal.js +1 -1
- package/dist/cdn/terminal/snice-terminal.min.js +1 -1
- package/dist/cdn/testimonial/README.md +27 -0
- package/dist/cdn/testimonial/snice-testimonial.js +187 -0
- package/dist/cdn/testimonial/snice-testimonial.js.map +1 -0
- package/dist/cdn/testimonial/snice-testimonial.min.js +21 -0
- package/dist/cdn/testimonial/snice-testimonial.min.js.map +1 -0
- package/dist/cdn/textarea/snice-textarea.js +1 -1
- package/dist/cdn/textarea/snice-textarea.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/video-player/README.md +27 -0
- package/dist/cdn/video-player/snice-video-player.js +721 -0
- package/dist/cdn/video-player/snice-video-player.js.map +1 -0
- package/dist/cdn/video-player/snice-video-player.min.js +153 -0
- package/dist/cdn/video-player/snice-video-player.min.js.map +1 -0
- 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/README.md +27 -0
- package/dist/cdn/waterfall/snice-waterfall.js +292 -0
- package/dist/cdn/waterfall/snice-waterfall.js.map +1 -0
- package/dist/cdn/waterfall/snice-waterfall.min.js +12 -0
- package/dist/cdn/waterfall/snice-waterfall.min.js.map +1 -0
- package/dist/cdn/weather/README.md +27 -0
- package/dist/cdn/weather/snice-weather.js +194 -0
- package/dist/cdn/weather/snice-weather.js.map +1 -0
- package/dist/cdn/weather/snice-weather.min.js +42 -0
- package/dist/cdn/weather/snice-weather.min.js.map +1 -0
- package/dist/components/app-tiles/snice-app-tiles.d.ts +36 -0
- package/dist/components/app-tiles/snice-app-tiles.js +265 -0
- package/dist/components/app-tiles/snice-app-tiles.js.map +1 -0
- package/dist/components/app-tiles/snice-app-tiles.types.d.ts +22 -0
- package/dist/components/book/snice-book.d.ts +46 -0
- package/dist/components/book/snice-book.js +285 -0
- package/dist/components/book/snice-book.js.map +1 -0
- package/dist/components/book/snice-book.types.d.ts +21 -0
- package/dist/components/comments/snice-comments.d.ts +62 -0
- package/dist/components/comments/snice-comments.js +476 -0
- package/dist/components/comments/snice-comments.js.map +1 -0
- package/dist/components/comments/snice-comments.types.d.ts +64 -0
- package/dist/components/countdown/snice-countdown.d.ts +21 -0
- package/dist/components/countdown/snice-countdown.js +168 -0
- package/dist/components/countdown/snice-countdown.js.map +1 -0
- package/dist/components/countdown/snice-countdown.types.d.ts +18 -0
- package/dist/components/cropper/snice-cropper.d.ts +32 -0
- package/dist/components/cropper/snice-cropper.js +285 -0
- package/dist/components/cropper/snice-cropper.js.map +1 -0
- package/dist/components/cropper/snice-cropper.types.d.ts +26 -0
- package/dist/components/diff/snice-diff.d.ts +32 -0
- package/dist/components/diff/snice-diff.js +374 -0
- package/dist/components/diff/snice-diff.js.map +1 -0
- package/dist/components/diff/snice-diff.types.d.ts +26 -0
- package/dist/components/flip-card/snice-flip-card.d.ts +15 -0
- package/dist/components/flip-card/snice-flip-card.js +116 -0
- package/dist/components/flip-card/snice-flip-card.js.map +1 -0
- package/dist/components/flip-card/snice-flip-card.types.d.ts +16 -0
- package/dist/components/flow/snice-flow.d.ts +91 -0
- package/dist/components/flow/snice-flow.js +755 -0
- package/dist/components/flow/snice-flow.js.map +1 -0
- package/dist/components/flow/snice-flow.types.d.ts +64 -0
- package/dist/components/gantt/snice-gantt.d.ts +34 -0
- package/dist/components/gantt/snice-gantt.js +369 -0
- package/dist/components/gantt/snice-gantt.js.map +1 -0
- package/dist/components/gantt/snice-gantt.types.d.ts +37 -0
- package/dist/components/map/snice-map.d.ts +44 -0
- package/dist/components/map/snice-map.js +348 -0
- package/dist/components/map/snice-map.js.map +1 -0
- package/dist/components/map/snice-map.types.d.ts +41 -0
- package/dist/components/markdown/snice-markdown.d.ts +24 -0
- package/dist/components/markdown/snice-markdown.js +250 -0
- package/dist/components/markdown/snice-markdown.js.map +1 -0
- package/dist/components/markdown/snice-markdown.types.d.ts +16 -0
- package/dist/components/notification-center/snice-notification-center.d.ts +18 -0
- package/dist/components/notification-center/snice-notification-center.js +137 -0
- package/dist/components/notification-center/snice-notification-center.js.map +1 -0
- package/dist/components/notification-center/snice-notification-center.types.d.ts +24 -0
- package/dist/components/org-chart/snice-org-chart.d.ts +28 -0
- package/dist/components/org-chart/snice-org-chart.js +227 -0
- package/dist/components/org-chart/snice-org-chart.js.map +1 -0
- package/dist/components/org-chart/snice-org-chart.types.d.ts +28 -0
- package/dist/components/pdf-viewer/pdf.min.mjs +21 -0
- package/dist/components/pdf-viewer/pdf.worker.min.mjs +21 -0
- package/dist/components/pdf-viewer/snice-pdf-viewer.d.ts +59 -0
- package/dist/components/pdf-viewer/snice-pdf-viewer.js +527 -0
- package/dist/components/pdf-viewer/snice-pdf-viewer.js.map +1 -0
- package/dist/components/pdf-viewer/snice-pdf-viewer.types.d.ts +25 -0
- package/dist/components/podcast-player/snice-podcast-player.d.ts +72 -0
- package/dist/components/podcast-player/snice-podcast-player.js +768 -0
- package/dist/components/podcast-player/snice-podcast-player.js.map +1 -0
- package/dist/components/podcast-player/snice-podcast-player.types.d.ts +79 -0
- package/dist/components/pricing-table/snice-pricing-table.d.ts +51 -0
- package/dist/components/pricing-table/snice-pricing-table.js +422 -0
- package/dist/components/pricing-table/snice-pricing-table.js.map +1 -0
- package/dist/components/pricing-table/snice-pricing-table.types.d.ts +49 -0
- package/dist/components/rating/snice-rating.d.ts +15 -0
- package/dist/components/rating/snice-rating.js +143 -0
- package/dist/components/rating/snice-rating.js.map +1 -0
- package/dist/components/rating/snice-rating.types.d.ts +15 -0
- package/dist/components/recipe/snice-recipe.d.ts +53 -0
- package/dist/components/recipe/snice-recipe.js +552 -0
- package/dist/components/recipe/snice-recipe.js.map +1 -0
- package/dist/components/recipe/snice-recipe.types.d.ts +56 -0
- package/dist/components/sortable/snice-sortable.d.ts +24 -0
- package/dist/components/sortable/snice-sortable.js +187 -0
- package/dist/components/sortable/snice-sortable.js.map +1 -0
- package/dist/components/sortable/snice-sortable.types.d.ts +20 -0
- package/dist/components/spotlight/snice-spotlight.d.ts +42 -0
- package/dist/components/spotlight/snice-spotlight.js +330 -0
- package/dist/components/spotlight/snice-spotlight.js.map +1 -0
- package/dist/components/spotlight/snice-spotlight.types.d.ts +26 -0
- package/dist/components/spreadsheet/snice-spreadsheet.d.ts +102 -0
- package/dist/components/spreadsheet/snice-spreadsheet.js +1104 -0
- package/dist/components/spreadsheet/snice-spreadsheet.js.map +1 -0
- package/dist/components/spreadsheet/snice-spreadsheet.types.d.ts +54 -0
- package/dist/components/tag-input/snice-tag-input.d.ts +40 -0
- package/dist/components/tag-input/snice-tag-input.js +320 -0
- package/dist/components/tag-input/snice-tag-input.js.map +1 -0
- package/dist/components/tag-input/snice-tag-input.types.d.ts +29 -0
- package/dist/components/testimonial/snice-testimonial.d.ts +15 -0
- package/dist/components/testimonial/snice-testimonial.js +120 -0
- package/dist/components/testimonial/snice-testimonial.js.map +1 -0
- package/dist/components/testimonial/snice-testimonial.types.d.ts +10 -0
- package/dist/components/video-player/snice-video-player.d.ts +78 -0
- package/dist/components/video-player/snice-video-player.js +654 -0
- package/dist/components/video-player/snice-video-player.js.map +1 -0
- package/dist/components/video-player/snice-video-player.types.d.ts +47 -0
- package/dist/components/waterfall/snice-waterfall.d.ts +30 -0
- package/dist/components/waterfall/snice-waterfall.js +225 -0
- package/dist/components/waterfall/snice-waterfall.js.map +1 -0
- package/dist/components/waterfall/snice-waterfall.types.d.ts +23 -0
- package/dist/components/weather/snice-weather.d.ts +10 -0
- package/dist/components/weather/snice-weather.js +127 -0
- package/dist/components/weather/snice-weather.js.map +1 -0
- package/dist/components/weather/snice-weather.types.d.ts +22 -0
- 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/DEVELOPMENT.md +1 -1
- package/docs/ai/api.md +6 -3
- package/docs/ai/components/accordion.md +0 -34
- package/docs/ai/components/app-tiles.md +77 -0
- package/docs/ai/components/audio-recorder.md +2 -0
- package/docs/ai/components/badge.md +7 -0
- package/docs/ai/components/book.md +78 -0
- package/docs/ai/components/button.md +5 -0
- package/docs/ai/components/chart.md +0 -24
- package/docs/ai/components/chat.md +7 -95
- package/docs/ai/components/code-block.md +3 -82
- package/docs/ai/components/color-display.md +3 -3
- package/docs/ai/components/color-picker.md +4 -4
- package/docs/ai/components/comments.md +75 -0
- package/docs/ai/components/countdown.md +54 -0
- package/docs/ai/components/cropper.md +57 -0
- package/docs/ai/components/date-picker.md +15 -9
- package/docs/ai/components/diff.md +66 -0
- package/docs/ai/components/divider.md +1 -1
- package/docs/ai/components/draw.md +5 -5
- package/docs/ai/components/drawer.md +5 -5
- package/docs/ai/components/empty-state.md +2 -2
- package/docs/ai/components/file-gallery.md +16 -87
- package/docs/ai/components/file-upload.md +6 -6
- package/docs/ai/components/flip-card.md +52 -0
- package/docs/ai/components/flow.md +104 -0
- package/docs/ai/components/funnel.md +3 -3
- package/docs/ai/components/gantt.md +63 -0
- package/docs/ai/components/gauge.md +1 -1
- package/docs/ai/components/heatmap.md +5 -5
- package/docs/ai/components/input.md +20 -18
- package/docs/ai/components/kanban.md +2 -2
- package/docs/ai/components/kpi.md +4 -53
- package/docs/ai/components/layout.md +10 -235
- package/docs/ai/components/link-preview.md +20 -29
- package/docs/ai/components/link.md +27 -47
- package/docs/ai/components/list.md +51 -31
- package/docs/ai/components/location.md +15 -27
- package/docs/ai/components/login.md +43 -94
- package/docs/ai/components/map.md +72 -0
- package/docs/ai/components/markdown.md +63 -0
- package/docs/ai/components/masonry.md +10 -6
- package/docs/ai/components/menu.md +40 -72
- package/docs/ai/components/modal.md +25 -42
- package/docs/ai/components/music-player.md +37 -89
- package/docs/ai/components/nav.md +25 -39
- package/docs/ai/components/network-graph.md +39 -43
- package/docs/ai/components/notification-center.md +79 -0
- package/docs/ai/components/org-chart.md +62 -0
- package/docs/ai/components/pagination.md +16 -18
- package/docs/ai/components/pdf-viewer.md +57 -0
- package/docs/ai/components/podcast-player.md +94 -0
- package/docs/ai/components/pricing-table.md +87 -0
- package/docs/ai/components/progress.md +23 -39
- package/docs/ai/components/qr-code.md +37 -84
- package/docs/ai/components/qr-reader.md +51 -61
- package/docs/ai/components/radio.md +27 -39
- package/docs/ai/components/rating.md +56 -0
- package/docs/ai/components/recipe.md +90 -0
- package/docs/ai/components/skeleton.md +0 -8
- package/docs/ai/components/slider.md +10 -50
- package/docs/ai/components/sortable.md +57 -0
- package/docs/ai/components/sparkline.md +26 -152
- package/docs/ai/components/spinner.md +0 -21
- package/docs/ai/components/split-pane.md +16 -38
- package/docs/ai/components/spotlight.md +61 -0
- package/docs/ai/components/spreadsheet.md +138 -0
- package/docs/ai/components/stepper.md +37 -183
- package/docs/ai/components/switch.md +28 -35
- package/docs/ai/components/table.md +43 -172
- package/docs/ai/components/tabs.md +31 -52
- package/docs/ai/components/tag-input.md +70 -0
- package/docs/ai/components/terminal.md +34 -116
- package/docs/ai/components/testimonial.md +56 -0
- package/docs/ai/components/textarea.md +11 -43
- package/docs/ai/components/theme.md +120 -0
- package/docs/ai/components/time-range-picker.md +17 -49
- package/docs/ai/components/timeline.md +7 -46
- package/docs/ai/components/timer.md +41 -37
- package/docs/ai/components/toast.md +19 -90
- package/docs/ai/components/tooltip.md +17 -104
- package/docs/ai/components/tree.md +38 -162
- package/docs/ai/components/treemap.md +23 -44
- package/docs/ai/components/video-player.md +91 -0
- package/docs/ai/components/virtual-scroller.md +23 -46
- package/docs/ai/components/waterfall.md +56 -0
- package/docs/ai/components/weather.md +78 -0
- package/docs/ai/decorators.md +25 -3
- package/docs/ai/patterns.md +17 -1
- package/docs/components/accordion.md +8 -6
- package/docs/components/alert.md +2 -0
- package/docs/components/app-tiles.md +162 -0
- package/docs/components/audio-recorder.md +6 -0
- package/docs/components/avatar.md +225 -0
- package/docs/components/badge.md +2 -0
- package/docs/components/banner.md +2 -0
- package/docs/components/book.md +184 -0
- package/docs/components/breadcrumbs.md +2 -0
- package/docs/components/button.md +15 -0
- package/docs/components/calendar.md +2 -0
- package/docs/components/camera-annotate.md +2 -0
- package/docs/components/camera.md +2 -0
- package/docs/components/candlestick.md +2 -0
- package/docs/components/card.md +2 -0
- package/docs/components/carousel.md +205 -36
- package/docs/components/chart.md +2 -0
- package/docs/components/chat.md +2 -0
- package/docs/components/checkbox.md +2 -0
- package/docs/components/chip.md +2 -0
- package/docs/components/code-block.md +2 -0
- package/docs/components/color-display.md +2 -0
- package/docs/components/color-picker.md +6 -4
- package/docs/components/command-palette.md +2 -0
- package/docs/components/comments.md +235 -0
- package/docs/components/countdown.md +121 -0
- package/docs/components/cropper.md +152 -0
- package/docs/components/date-picker.md +201 -0
- package/docs/components/diff.md +177 -0
- package/docs/components/divider.md +132 -0
- package/docs/components/doc.md +2 -0
- package/docs/components/draw.md +2 -0
- package/docs/components/drawer.md +2 -0
- package/docs/components/empty-state.md +2 -0
- package/docs/components/file-gallery.md +2 -0
- package/docs/components/file-upload.md +2 -0
- package/docs/components/flip-card.md +169 -0
- package/docs/components/flow.md +208 -0
- package/docs/components/funnel.md +2 -0
- package/docs/components/gantt.md +187 -0
- package/docs/components/gauge.md +2 -0
- package/docs/components/heatmap.md +2 -0
- package/docs/components/image.md +2 -0
- package/docs/components/input.md +242 -0
- package/docs/components/kanban.md +2 -0
- package/docs/components/kpi.md +2 -0
- package/docs/components/layout.md +84 -0
- package/docs/components/link-preview.md +66 -92
- package/docs/components/link.md +73 -157
- package/docs/components/list.md +140 -44
- package/docs/components/location.md +96 -283
- package/docs/components/login.md +131 -498
- package/docs/components/map.md +203 -0
- package/docs/components/markdown.md +220 -0
- package/docs/components/masonry.md +57 -102
- package/docs/components/menu.md +87 -494
- package/docs/components/modal.md +83 -436
- package/docs/components/music-player.md +116 -221
- package/docs/components/nav.md +107 -170
- package/docs/components/network-graph.md +83 -111
- package/docs/components/notification-center.md +256 -0
- package/docs/components/org-chart.md +275 -0
- package/docs/components/pagination.md +75 -218
- package/docs/components/paint.md +108 -73
- package/docs/components/pdf-viewer.md +204 -0
- package/docs/components/podcast-player.md +277 -0
- package/docs/components/pricing-table.md +249 -0
- package/docs/components/progress.md +169 -0
- package/docs/components/qr-code.md +95 -378
- package/docs/components/qr-reader.md +83 -258
- package/docs/components/radio.md +151 -0
- package/docs/components/rating.md +154 -0
- package/docs/components/recipe.md +323 -0
- package/docs/components/sankey.md +84 -107
- package/docs/components/select.md +114 -485
- package/docs/components/skeleton.md +96 -0
- package/docs/components/slider.md +92 -235
- package/docs/components/sortable.md +267 -0
- package/docs/components/sparkline.md +76 -222
- package/docs/components/spinner.md +37 -18
- package/docs/components/split-pane.md +62 -226
- package/docs/components/spotlight.md +240 -0
- package/docs/components/spreadsheet.md +405 -0
- package/docs/components/stepper.md +72 -306
- package/docs/components/switch.md +69 -293
- package/docs/components/table.md +250 -0
- package/docs/components/tabs.md +92 -471
- package/docs/components/tag-input.md +257 -0
- package/docs/components/terminal.md +87 -391
- package/docs/components/testimonial.md +185 -0
- package/docs/components/textarea.md +96 -181
- package/docs/components/theme.md +216 -0
- package/docs/components/time-range-picker.md +99 -151
- package/docs/components/timeline.md +67 -115
- package/docs/components/timer.md +44 -86
- package/docs/components/toast.md +93 -432
- package/docs/components/tooltip.md +75 -419
- package/docs/components/tree.md +110 -436
- package/docs/components/treemap.md +86 -129
- package/docs/components/video-player.md +336 -0
- package/docs/components/virtual-scroller.md +86 -226
- package/docs/components/waterfall.md +217 -0
- package/docs/components/weather.md +239 -0
- package/package.json +1 -1
- package/docs/ai/components/popover.md +0 -70
- package/docs/components/popover.md +0 -333
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
[//]: # (AI: For a low-token version of this doc, use docs/ai/components/weather.md instead)
|
|
2
|
+
|
|
3
|
+
# Weather Component
|
|
4
|
+
|
|
5
|
+
The weather component displays current weather conditions with temperature, condition description, humidity, wind speed, and an optional multi-day forecast. It supports Celsius and Fahrenheit units, auto-detected weather icons, and compact or full display variants. The component does not make API calls; it receives all data via properties.
|
|
6
|
+
|
|
7
|
+
## Table of Contents
|
|
8
|
+
- [Basic Usage](#basic-usage)
|
|
9
|
+
- [Properties](#properties)
|
|
10
|
+
- [CSS Custom Properties](#css-custom-properties)
|
|
11
|
+
- [Examples](#examples)
|
|
12
|
+
- [Accessibility](#accessibility)
|
|
13
|
+
|
|
14
|
+
## Basic Usage
|
|
15
|
+
|
|
16
|
+
```html
|
|
17
|
+
<snice-weather></snice-weather>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
import 'snice/components/weather/snice-weather';
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Properties
|
|
25
|
+
|
|
26
|
+
| Property | Type | Default | Description |
|
|
27
|
+
|----------|------|---------|-------------|
|
|
28
|
+
| `data` | `WeatherData \| null` | `null` | Weather data object with current conditions and optional forecast |
|
|
29
|
+
| `unit` | `'celsius' \| 'fahrenheit'` | `'celsius'` | Temperature unit |
|
|
30
|
+
| `variant` | `'compact' \| 'full'` | `'full'` | Display variant |
|
|
31
|
+
|
|
32
|
+
### WeatherData
|
|
33
|
+
|
|
34
|
+
```typescript
|
|
35
|
+
interface WeatherData {
|
|
36
|
+
temp: number; // Current temperature
|
|
37
|
+
condition: string; // Condition description (e.g., "Sunny", "Partly Cloudy", "Rain")
|
|
38
|
+
icon?: string; // Emoji or custom icon (auto-detected from condition if omitted)
|
|
39
|
+
humidity?: number; // Humidity percentage
|
|
40
|
+
wind?: number; // Wind speed in km/h
|
|
41
|
+
forecast?: WeatherForecastDay[]; // Multi-day forecast array
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### WeatherForecastDay
|
|
46
|
+
|
|
47
|
+
```typescript
|
|
48
|
+
interface WeatherForecastDay {
|
|
49
|
+
day: string; // Day label (e.g., "Mon", "Tue")
|
|
50
|
+
high: number; // High temperature
|
|
51
|
+
low: number; // Low temperature
|
|
52
|
+
condition: string; // Condition description
|
|
53
|
+
icon?: string; // Emoji or custom icon (auto-detected if omitted)
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Variants
|
|
58
|
+
|
|
59
|
+
| Variant | Description |
|
|
60
|
+
|---------|-------------|
|
|
61
|
+
| `full` | Shows current weather, detail row (humidity and wind), and multi-day forecast |
|
|
62
|
+
| `compact` | Shows only the current temperature and weather icon; hides details and forecast |
|
|
63
|
+
|
|
64
|
+
### Auto-Detected Icons
|
|
65
|
+
|
|
66
|
+
When the `icon` property is omitted on either the main data or forecast days, the component maps the `condition` string to an appropriate emoji:
|
|
67
|
+
|
|
68
|
+
| Condition (contains) | Icon |
|
|
69
|
+
|----------------------|------|
|
|
70
|
+
| sun / clear | Sun emoji |
|
|
71
|
+
| partly cloud | Partly cloudy emoji |
|
|
72
|
+
| cloud | Cloud emoji |
|
|
73
|
+
| rain | Rain emoji |
|
|
74
|
+
| snow | Snow emoji |
|
|
75
|
+
| thunder / storm | Thunderstorm emoji |
|
|
76
|
+
| fog / mist | Fog emoji |
|
|
77
|
+
| wind | Wind emoji |
|
|
78
|
+
|
|
79
|
+
## CSS Custom Properties
|
|
80
|
+
|
|
81
|
+
| Property | Description | Default |
|
|
82
|
+
|----------|-------------|---------|
|
|
83
|
+
| `--snice-color-background-element` | Card background color | `rgb(252 251 249)` |
|
|
84
|
+
| `--snice-color-border` | Card and forecast divider border | _(theme default)_ |
|
|
85
|
+
| `--snice-color-text` | Primary text color | `rgb(23 23 23)` |
|
|
86
|
+
| `--snice-color-text-secondary` | Condition and detail text color | _(theme default)_ |
|
|
87
|
+
| `--snice-color-text-tertiary` | Forecast low temperature color | _(theme default)_ |
|
|
88
|
+
| `--snice-font-weight-bold` | Temperature font weight | `700` |
|
|
89
|
+
| `--snice-font-weight-semibold` | Forecast high temperature font weight | _(theme default)_ |
|
|
90
|
+
| `--snice-border-radius-lg` | Card border radius | `0.5rem` |
|
|
91
|
+
| `--snice-spacing-lg` | Card padding | `1.5rem` |
|
|
92
|
+
|
|
93
|
+
## Examples
|
|
94
|
+
|
|
95
|
+
### Full Weather Display
|
|
96
|
+
|
|
97
|
+
Show current conditions with humidity, wind, and a multi-day forecast.
|
|
98
|
+
|
|
99
|
+
```html
|
|
100
|
+
<snice-weather id="weather-full" unit="celsius" variant="full"></snice-weather>
|
|
101
|
+
|
|
102
|
+
<script type="module">
|
|
103
|
+
import 'snice/components/weather/snice-weather';
|
|
104
|
+
|
|
105
|
+
const weather = document.getElementById('weather-full');
|
|
106
|
+
weather.data = {
|
|
107
|
+
temp: 22,
|
|
108
|
+
condition: 'Partly Cloudy',
|
|
109
|
+
humidity: 65,
|
|
110
|
+
wind: 12,
|
|
111
|
+
forecast: [
|
|
112
|
+
{ day: 'Mon', high: 24, low: 18, condition: 'Sunny' },
|
|
113
|
+
{ day: 'Tue', high: 20, low: 15, condition: 'Rain' },
|
|
114
|
+
{ day: 'Wed', high: 22, low: 16, condition: 'Cloudy' },
|
|
115
|
+
{ day: 'Thu', high: 25, low: 19, condition: 'Sunny' },
|
|
116
|
+
{ day: 'Fri', high: 21, low: 14, condition: 'Thunderstorm' }
|
|
117
|
+
]
|
|
118
|
+
};
|
|
119
|
+
</script>
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Compact Variant
|
|
123
|
+
|
|
124
|
+
Use the `compact` variant for a small weather badge showing just the temperature and icon.
|
|
125
|
+
|
|
126
|
+
```html
|
|
127
|
+
<snice-weather id="weather-compact" unit="fahrenheit" variant="compact"></snice-weather>
|
|
128
|
+
|
|
129
|
+
<script type="module">
|
|
130
|
+
const weather = document.getElementById('weather-compact');
|
|
131
|
+
weather.data = {
|
|
132
|
+
temp: 72,
|
|
133
|
+
condition: 'Sunny'
|
|
134
|
+
};
|
|
135
|
+
</script>
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Fahrenheit Units
|
|
139
|
+
|
|
140
|
+
Set `unit="fahrenheit"` for Fahrenheit temperature display.
|
|
141
|
+
|
|
142
|
+
```html
|
|
143
|
+
<snice-weather id="weather-f" unit="fahrenheit"></snice-weather>
|
|
144
|
+
|
|
145
|
+
<script type="module">
|
|
146
|
+
const weather = document.getElementById('weather-f');
|
|
147
|
+
weather.data = {
|
|
148
|
+
temp: 85,
|
|
149
|
+
condition: 'Clear',
|
|
150
|
+
humidity: 45,
|
|
151
|
+
wind: 8,
|
|
152
|
+
forecast: [
|
|
153
|
+
{ day: 'Sat', high: 87, low: 72, condition: 'Sunny' },
|
|
154
|
+
{ day: 'Sun', high: 82, low: 68, condition: 'Partly Cloudy' },
|
|
155
|
+
{ day: 'Mon', high: 79, low: 65, condition: 'Rain' }
|
|
156
|
+
]
|
|
157
|
+
};
|
|
158
|
+
</script>
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Custom Icons
|
|
162
|
+
|
|
163
|
+
Override the auto-detected icons by providing explicit `icon` values.
|
|
164
|
+
|
|
165
|
+
```html
|
|
166
|
+
<snice-weather id="weather-custom"></snice-weather>
|
|
167
|
+
|
|
168
|
+
<script type="module">
|
|
169
|
+
const weather = document.getElementById('weather-custom');
|
|
170
|
+
weather.data = {
|
|
171
|
+
temp: 18,
|
|
172
|
+
condition: 'Overcast',
|
|
173
|
+
icon: '/icons/weather/overcast.svg',
|
|
174
|
+
humidity: 80,
|
|
175
|
+
wind: 20,
|
|
176
|
+
forecast: [
|
|
177
|
+
{ day: 'Mon', high: 20, low: 14, condition: 'Rain', icon: '/icons/weather/rain.svg' },
|
|
178
|
+
{ day: 'Tue', high: 22, low: 15, condition: 'Snow', icon: '/icons/weather/snow.svg' }
|
|
179
|
+
]
|
|
180
|
+
};
|
|
181
|
+
</script>
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Fetching Data from an API
|
|
185
|
+
|
|
186
|
+
The weather component does not call any APIs itself. Fetch data externally and pass it in.
|
|
187
|
+
|
|
188
|
+
```html
|
|
189
|
+
<snice-weather id="live-weather" variant="full"></snice-weather>
|
|
190
|
+
|
|
191
|
+
<script type="module">
|
|
192
|
+
import type { SniceWeatherElement } from 'snice/components/weather/snice-weather.types';
|
|
193
|
+
|
|
194
|
+
const weather = document.getElementById('live-weather') as SniceWeatherElement;
|
|
195
|
+
|
|
196
|
+
async function loadWeather() {
|
|
197
|
+
const response = await fetch('/api/weather?city=london');
|
|
198
|
+
const apiData = await response.json();
|
|
199
|
+
|
|
200
|
+
weather.data = {
|
|
201
|
+
temp: apiData.current.temp,
|
|
202
|
+
condition: apiData.current.condition,
|
|
203
|
+
humidity: apiData.current.humidity,
|
|
204
|
+
wind: apiData.current.wind_speed,
|
|
205
|
+
forecast: apiData.daily.map(day => ({
|
|
206
|
+
day: day.day_name.slice(0, 3),
|
|
207
|
+
high: day.high,
|
|
208
|
+
low: day.low,
|
|
209
|
+
condition: day.condition
|
|
210
|
+
}))
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
loadWeather();
|
|
215
|
+
</script>
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
## Accessibility
|
|
219
|
+
|
|
220
|
+
- **ARIA attributes**: The component uses appropriate ARIA roles and labels for the weather display
|
|
221
|
+
- **Temperature units**: The unit (C or F) is included in screen reader text alongside the temperature value
|
|
222
|
+
- **Weather icons**: Icons have alt text derived from the condition string for screen readers
|
|
223
|
+
- **Forecast readability**: Each forecast day includes high and low temperatures with labels
|
|
224
|
+
- **Color contrast**: All text meets WCAG AA contrast standards
|
|
225
|
+
|
|
226
|
+
## Browser Support
|
|
227
|
+
|
|
228
|
+
- Modern browsers (Chrome, Firefox, Safari, Edge)
|
|
229
|
+
- Requires Custom Elements v1 and Shadow DOM support
|
|
230
|
+
|
|
231
|
+
## Best Practices
|
|
232
|
+
|
|
233
|
+
1. **Pass data via property**: Set `weather.data = {...}` (not via attribute) since the data is a complex object
|
|
234
|
+
2. **Handle loading states**: Show a skeleton or spinner while fetching weather data from an API
|
|
235
|
+
3. **Choose the right variant**: Use `full` for dedicated weather displays, `compact` for dashboard widgets or headers
|
|
236
|
+
4. **Match units to locale**: Use Fahrenheit for US audiences and Celsius for most other regions
|
|
237
|
+
5. **Include forecast when available**: The multi-day forecast adds context and is more useful than current conditions alone
|
|
238
|
+
6. **Keep condition strings standard**: Use common weather terms (Sunny, Cloudy, Rain, Snow, etc.) for reliable auto-icon detection
|
|
239
|
+
7. **Refresh data periodically**: Weather data goes stale quickly; consider refreshing every 15-30 minutes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "snice",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.10.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",
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
# snice-popover
|
|
2
|
-
|
|
3
|
-
Floating content positioned relative to target element.
|
|
4
|
-
|
|
5
|
-
## Properties
|
|
6
|
-
|
|
7
|
-
```typescript
|
|
8
|
-
open: boolean = false;
|
|
9
|
-
placement: 'top'|'bottom'|'left'|'right'|'top-start'|'top-end'|'bottom-start'|'bottom-end'|'left-start'|'left-end'|'right-start'|'right-end' = 'top';
|
|
10
|
-
trigger: 'click'|'hover'|'focus'|'manual' = 'click';
|
|
11
|
-
distance: number = 8;
|
|
12
|
-
showArrow: boolean = true;
|
|
13
|
-
closeOnClickOutside: boolean = true;
|
|
14
|
-
closeOnEscape: boolean = true;
|
|
15
|
-
hoverDelay: number = 200;
|
|
16
|
-
targetSelector: string = '';
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Methods
|
|
20
|
-
|
|
21
|
-
```typescript
|
|
22
|
-
show(): void
|
|
23
|
-
hide(): void
|
|
24
|
-
toggle(): void
|
|
25
|
-
updatePosition(): void
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Events
|
|
29
|
-
|
|
30
|
-
- `@snice/popover-show` - Dispatched when shown
|
|
31
|
-
- `@snice/popover-hide` - Dispatched when hidden
|
|
32
|
-
|
|
33
|
-
## Usage
|
|
34
|
-
|
|
35
|
-
```html
|
|
36
|
-
<button id="btn">Click me</button>
|
|
37
|
-
<snice-popover target-selector="#btn">
|
|
38
|
-
Popover content
|
|
39
|
-
</snice-popover>
|
|
40
|
-
|
|
41
|
-
<!-- Hover trigger -->
|
|
42
|
-
<snice-popover target-selector="#btn" trigger="hover">
|
|
43
|
-
Appears on hover
|
|
44
|
-
</snice-popover>
|
|
45
|
-
|
|
46
|
-
<!-- Manual control -->
|
|
47
|
-
<snice-popover id="pop" trigger="manual">Content</snice-popover>
|
|
48
|
-
<script>
|
|
49
|
-
document.getElementById('pop').show();
|
|
50
|
-
</script>
|
|
51
|
-
|
|
52
|
-
<!-- Different placements -->
|
|
53
|
-
<snice-popover placement="bottom">Bottom</snice-popover>
|
|
54
|
-
<snice-popover placement="left-start">Left Start</snice-popover>
|
|
55
|
-
|
|
56
|
-
<!-- No arrow -->
|
|
57
|
-
<snice-popover show-arrow="false">No arrow</snice-popover>
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
## Features
|
|
61
|
-
|
|
62
|
-
- 12 placement options with start/end alignment
|
|
63
|
-
- Multiple triggers (click/hover/focus/manual)
|
|
64
|
-
- Arrow indicator (optional)
|
|
65
|
-
- Auto-positioning with scroll/resize
|
|
66
|
-
- Close on click outside or Escape
|
|
67
|
-
- Hover delay configuration
|
|
68
|
-
- Target via selector or previous sibling
|
|
69
|
-
- Fixed positioning overlay
|
|
70
|
-
- Event dispatching
|
|
@@ -1,333 +0,0 @@
|
|
|
1
|
-
# Popover Component
|
|
2
|
-
|
|
3
|
-
Display floating content positioned relative to a target element.
|
|
4
|
-
|
|
5
|
-
## Basic Usage
|
|
6
|
-
|
|
7
|
-
```html
|
|
8
|
-
<button id="my-button">Click me</button>
|
|
9
|
-
<snice-popover target-selector="#my-button">
|
|
10
|
-
Popover content goes here
|
|
11
|
-
</snice-popover>
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
## Properties
|
|
15
|
-
|
|
16
|
-
| Property | Type | Default | Description |
|
|
17
|
-
|----------|------|---------|-------------|
|
|
18
|
-
| `open` | `boolean` | `false` | Popover visibility |
|
|
19
|
-
| `placement` | `PopoverPlacement` | `'top'` | Popover position |
|
|
20
|
-
| `trigger` | `'click' \| 'hover' \| 'focus' \| 'manual'` | `'click'` | Open trigger |
|
|
21
|
-
| `distance` | `number` | `8` | Distance from target (px) |
|
|
22
|
-
| `showArrow` | `boolean` | `true` | Show arrow indicator |
|
|
23
|
-
| `closeOnClickOutside` | `boolean` | `true` | Close on outside click |
|
|
24
|
-
| `closeOnEscape` | `boolean` | `true` | Close on Escape key |
|
|
25
|
-
| `hoverDelay` | `number` | `200` | Hover delay (ms) |
|
|
26
|
-
| `targetSelector` | `string` | `''` | Target element selector |
|
|
27
|
-
|
|
28
|
-
## Placement Options
|
|
29
|
-
|
|
30
|
-
`'top' | 'bottom' | 'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end' | 'right-start' | 'right-end'`
|
|
31
|
-
|
|
32
|
-
## Methods
|
|
33
|
-
|
|
34
|
-
### `show(): void`
|
|
35
|
-
Show the popover.
|
|
36
|
-
|
|
37
|
-
```javascript
|
|
38
|
-
popover.show();
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
### `hide(): void`
|
|
42
|
-
Hide the popover.
|
|
43
|
-
|
|
44
|
-
```javascript
|
|
45
|
-
popover.hide();
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
### `toggle(): void`
|
|
49
|
-
Toggle popover visibility.
|
|
50
|
-
|
|
51
|
-
```javascript
|
|
52
|
-
popover.toggle();
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### `updatePosition(): void`
|
|
56
|
-
Recalculate and update popover position.
|
|
57
|
-
|
|
58
|
-
```javascript
|
|
59
|
-
popover.updatePosition();
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## Events
|
|
63
|
-
|
|
64
|
-
### `@snice/popover-show`
|
|
65
|
-
Dispatched when popover is shown.
|
|
66
|
-
|
|
67
|
-
```javascript
|
|
68
|
-
popover.addEventListener('@snice/popover-show', (e) => {
|
|
69
|
-
console.log('Popover shown');
|
|
70
|
-
});
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### `@snice/popover-hide`
|
|
74
|
-
Dispatched when popover is hidden.
|
|
75
|
-
|
|
76
|
-
```javascript
|
|
77
|
-
popover.addEventListener('@snice/popover-hide', (e) => {
|
|
78
|
-
console.log('Popover hidden');
|
|
79
|
-
});
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
## Examples
|
|
83
|
-
|
|
84
|
-
### Click Trigger (Default)
|
|
85
|
-
|
|
86
|
-
```html
|
|
87
|
-
<button id="click-btn">Click me</button>
|
|
88
|
-
<snice-popover target-selector="#click-btn">
|
|
89
|
-
Popover content
|
|
90
|
-
</snice-popover>
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
### Hover Trigger
|
|
94
|
-
|
|
95
|
-
```html
|
|
96
|
-
<button id="hover-btn">Hover me</button>
|
|
97
|
-
<snice-popover target-selector="#hover-btn" trigger="hover">
|
|
98
|
-
Appears on hover
|
|
99
|
-
</snice-popover>
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### Focus Trigger
|
|
103
|
-
|
|
104
|
-
```html
|
|
105
|
-
<input id="input" type="text" placeholder="Focus me">
|
|
106
|
-
<snice-popover target-selector="#input" trigger="focus">
|
|
107
|
-
Help text appears on focus
|
|
108
|
-
</snice-popover>
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
### Manual Control
|
|
112
|
-
|
|
113
|
-
```html
|
|
114
|
-
<button id="open-btn">Open</button>
|
|
115
|
-
<button id="close-btn">Close</button>
|
|
116
|
-
<snice-popover id="manual-popover" trigger="manual">
|
|
117
|
-
Manually controlled
|
|
118
|
-
</snice-popover>
|
|
119
|
-
|
|
120
|
-
<script>
|
|
121
|
-
const popover = document.getElementById('manual-popover');
|
|
122
|
-
document.getElementById('open-btn').addEventListener('click', () => {
|
|
123
|
-
popover.show();
|
|
124
|
-
});
|
|
125
|
-
document.getElementById('close-btn').addEventListener('click', () => {
|
|
126
|
-
popover.hide();
|
|
127
|
-
});
|
|
128
|
-
</script>
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
### Different Placements
|
|
132
|
-
|
|
133
|
-
```html
|
|
134
|
-
<!-- Top -->
|
|
135
|
-
<button id="top-btn">Top</button>
|
|
136
|
-
<snice-popover target-selector="#top-btn" placement="top">Top</snice-popover>
|
|
137
|
-
|
|
138
|
-
<!-- Bottom -->
|
|
139
|
-
<button id="bottom-btn">Bottom</button>
|
|
140
|
-
<snice-popover target-selector="#bottom-btn" placement="bottom">Bottom</snice-popover>
|
|
141
|
-
|
|
142
|
-
<!-- Left -->
|
|
143
|
-
<button id="left-btn">Left</button>
|
|
144
|
-
<snice-popover target-selector="#left-btn" placement="left">Left</snice-popover>
|
|
145
|
-
|
|
146
|
-
<!-- Right -->
|
|
147
|
-
<button id="right-btn">Right</button>
|
|
148
|
-
<snice-popover target-selector="#right-btn" placement="right">Right</snice-popover>
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
### Start/End Alignment
|
|
152
|
-
|
|
153
|
-
```html
|
|
154
|
-
<!-- Top Start -->
|
|
155
|
-
<button id="ts-btn">Top Start</button>
|
|
156
|
-
<snice-popover target-selector="#ts-btn" placement="top-start">
|
|
157
|
-
Aligned to start
|
|
158
|
-
</snice-popover>
|
|
159
|
-
|
|
160
|
-
<!-- Top End -->
|
|
161
|
-
<button id="te-btn">Top End</button>
|
|
162
|
-
<snice-popover target-selector="#te-btn" placement="top-end">
|
|
163
|
-
Aligned to end
|
|
164
|
-
</snice-popover>
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
### No Arrow
|
|
168
|
-
|
|
169
|
-
```html
|
|
170
|
-
<button id="no-arrow-btn">No Arrow</button>
|
|
171
|
-
<snice-popover target-selector="#no-arrow-btn" show-arrow="false">
|
|
172
|
-
No arrow indicator
|
|
173
|
-
</snice-popover>
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
### Custom Distance
|
|
177
|
-
|
|
178
|
-
```html
|
|
179
|
-
<button id="distance-btn">Far away</button>
|
|
180
|
-
<snice-popover target-selector="#distance-btn" distance="20">
|
|
181
|
-
20px from target
|
|
182
|
-
</snice-popover>
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
### Rich Content
|
|
186
|
-
|
|
187
|
-
```html
|
|
188
|
-
<button id="rich-btn">User Info</button>
|
|
189
|
-
<snice-popover target-selector="#rich-btn" placement="bottom">
|
|
190
|
-
<div style="max-width: 250px;">
|
|
191
|
-
<h3 style="margin: 0 0 8px;">John Doe</h3>
|
|
192
|
-
<p style="margin: 0 0 8px; color: #666;">
|
|
193
|
-
Senior Developer at Example Corp
|
|
194
|
-
</p>
|
|
195
|
-
<button>View Profile</button>
|
|
196
|
-
</div>
|
|
197
|
-
</snice-popover>
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
### Custom Hover Delay
|
|
201
|
-
|
|
202
|
-
```html
|
|
203
|
-
<button id="delay-btn">Hover (500ms delay)</button>
|
|
204
|
-
<snice-popover
|
|
205
|
-
target-selector="#delay-btn"
|
|
206
|
-
trigger="hover"
|
|
207
|
-
hover-delay="500">
|
|
208
|
-
Delayed appearance
|
|
209
|
-
</snice-popover>
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
### Disable Click Outside Close
|
|
213
|
-
|
|
214
|
-
```html
|
|
215
|
-
<button id="no-close-btn">Click me</button>
|
|
216
|
-
<snice-popover
|
|
217
|
-
target-selector="#no-close-btn"
|
|
218
|
-
close-on-click-outside="false">
|
|
219
|
-
Must click button again to close
|
|
220
|
-
</snice-popover>
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
### Disable Escape Key Close
|
|
224
|
-
|
|
225
|
-
```html
|
|
226
|
-
<button id="no-escape-btn">Click me</button>
|
|
227
|
-
<snice-popover
|
|
228
|
-
target-selector="#no-escape-btn"
|
|
229
|
-
close-on-escape="false">
|
|
230
|
-
Escape key won't close this
|
|
231
|
-
</snice-popover>
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
### With Form
|
|
235
|
-
|
|
236
|
-
```html
|
|
237
|
-
<button id="form-btn">Edit</button>
|
|
238
|
-
<snice-popover target-selector="#form-btn" placement="bottom-start">
|
|
239
|
-
<form style="padding: 8px; min-width: 200px;">
|
|
240
|
-
<label>Name:</label>
|
|
241
|
-
<input type="text" style="width: 100%; padding: 4px; margin-top: 4px;">
|
|
242
|
-
<button type="submit" style="margin-top: 8px;">Save</button>
|
|
243
|
-
</form>
|
|
244
|
-
</snice-popover>
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
### With List
|
|
248
|
-
|
|
249
|
-
```html
|
|
250
|
-
<button id="menu-btn">Options</button>
|
|
251
|
-
<snice-popover target-selector="#menu-btn" placement="bottom-start">
|
|
252
|
-
<div style="min-width: 150px;">
|
|
253
|
-
<div style="padding: 8px; cursor: pointer;">Edit</div>
|
|
254
|
-
<div style="padding: 8px; cursor: pointer;">Duplicate</div>
|
|
255
|
-
<div style="padding: 8px; cursor: pointer; color: red;">Delete</div>
|
|
256
|
-
</div>
|
|
257
|
-
</snice-popover>
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
### Tooltip Style
|
|
261
|
-
|
|
262
|
-
```html
|
|
263
|
-
<span id="tooltip-target">Hover for info</span>
|
|
264
|
-
<snice-popover
|
|
265
|
-
target-selector="#tooltip-target"
|
|
266
|
-
trigger="hover"
|
|
267
|
-
hover-delay="0"
|
|
268
|
-
placement="top">
|
|
269
|
-
This is tooltip-like popover
|
|
270
|
-
</snice-popover>
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
### Help Text
|
|
274
|
-
|
|
275
|
-
```html
|
|
276
|
-
<label>
|
|
277
|
-
Password
|
|
278
|
-
<span id="help-icon" style="cursor: help;">ⓘ</span>
|
|
279
|
-
</label>
|
|
280
|
-
<input type="password">
|
|
281
|
-
<snice-popover
|
|
282
|
-
target-selector="#help-icon"
|
|
283
|
-
trigger="hover"
|
|
284
|
-
placement="right">
|
|
285
|
-
Password must be at least 8 characters with uppercase, lowercase, and numbers.
|
|
286
|
-
</snice-popover>
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
### Confirmation Dialog
|
|
290
|
-
|
|
291
|
-
```html
|
|
292
|
-
<button id="delete-btn">Delete</button>
|
|
293
|
-
<snice-popover id="confirm-popover" trigger="manual" placement="top">
|
|
294
|
-
<div style="padding: 8px;">
|
|
295
|
-
<p style="margin: 0 0 8px;">Are you sure?</p>
|
|
296
|
-
<button id="confirm-yes" style="background: #f44336;">Yes</button>
|
|
297
|
-
<button id="confirm-no" style="background: #9e9e9e; margin-left: 8px;">No</button>
|
|
298
|
-
</div>
|
|
299
|
-
</snice-popover>
|
|
300
|
-
|
|
301
|
-
<script>
|
|
302
|
-
const deleteBtn = document.getElementById('delete-btn');
|
|
303
|
-
const confirmPopover = document.getElementById('confirm-popover');
|
|
304
|
-
|
|
305
|
-
deleteBtn.addEventListener('click', () => {
|
|
306
|
-
confirmPopover.show();
|
|
307
|
-
});
|
|
308
|
-
|
|
309
|
-
document.getElementById('confirm-yes').addEventListener('click', () => {
|
|
310
|
-
console.log('Deleted!');
|
|
311
|
-
confirmPopover.hide();
|
|
312
|
-
});
|
|
313
|
-
|
|
314
|
-
document.getElementById('confirm-no').addEventListener('click', () => {
|
|
315
|
-
confirmPopover.hide();
|
|
316
|
-
});
|
|
317
|
-
</script>
|
|
318
|
-
```
|
|
319
|
-
|
|
320
|
-
## Accessibility
|
|
321
|
-
|
|
322
|
-
- Popovers automatically update position on scroll/resize
|
|
323
|
-
- Close on Escape key (configurable)
|
|
324
|
-
- Focus management for keyboard navigation
|
|
325
|
-
- Hover trigger includes delay to prevent accidental triggers
|
|
326
|
-
- Click outside to close (configurable)
|
|
327
|
-
|
|
328
|
-
## Browser Support
|
|
329
|
-
|
|
330
|
-
- Modern browsers with Custom Elements v1 support
|
|
331
|
-
- Uses fixed positioning for overlay
|
|
332
|
-
- Automatic position updates on scroll/resize
|
|
333
|
-
- Arrow indicators use CSS borders
|