snice 4.14.0 → 4.16.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/doc.d.ts +1 -0
- package/adapters/react/doc.d.ts.map +1 -1
- package/adapters/react/doc.js +1 -1
- package/adapters/react/doc.js.map +1 -1
- package/adapters/react/doc.tsx +2 -1
- package/adapters/react/input.d.ts +3 -0
- package/adapters/react/input.d.ts.map +1 -1
- package/adapters/react/input.js +1 -1
- package/adapters/react/input.js.map +1 -1
- package/adapters/react/input.tsx +4 -1
- package/adapters/react/modal.d.ts +2 -0
- package/adapters/react/modal.d.ts.map +1 -1
- package/adapters/react/modal.js +1 -1
- package/adapters/react/modal.js.map +1 -1
- package/adapters/react/modal.tsx +3 -1
- 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/snice-app-tiles.js +1 -1
- package/dist/cdn/app-tiles/snice-app-tiles.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/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 +2 -2
- package/dist/cdn/book/snice-book.js +29 -8
- package/dist/cdn/book/snice-book.js.map +1 -1
- package/dist/cdn/book/snice-book.min.js +3 -3
- package/dist/cdn/book/snice-book.min.js.map +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/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 +4 -4
- package/dist/cdn/code-block/snice-code-block.js.map +1 -1
- package/dist/cdn/code-block/snice-code-block.min.js +2 -2
- 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 +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/date-picker/README.md +1 -1
- package/dist/cdn/date-picker/snice-date-picker.js +49 -39
- package/dist/cdn/date-picker/snice-date-picker.js.map +1 -1
- package/dist/cdn/date-picker/snice-date-picker.min.js +4 -4
- package/dist/cdn/date-picker/snice-date-picker.min.js.map +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/README.md +2 -2
- package/dist/cdn/doc/snice-doc.js +221 -35
- package/dist/cdn/doc/snice-doc.js.map +1 -1
- package/dist/cdn/doc/snice-doc.min.js +2 -2
- package/dist/cdn/doc/snice-doc.min.js.map +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/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/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/README.md +2 -2
- package/dist/cdn/input/snice-input.js +21 -3
- package/dist/cdn/input/snice-input.js.map +1 -1
- package/dist/cdn/input/snice-input.min.js +3 -3
- package/dist/cdn/input/snice-input.min.js.map +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 +2 -2
- package/dist/cdn/link-preview/snice-link-preview.js.map +1 -1
- package/dist/cdn/link-preview/snice-link-preview.min.js +2 -2
- package/dist/cdn/link-preview/snice-link-preview.min.js.map +1 -1
- package/dist/cdn/list/snice-list.js +4 -4
- package/dist/cdn/list/snice-list.js.map +1 -1
- package/dist/cdn/list/snice-list.min.js +2 -2
- 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 +2 -2
- package/dist/cdn/menu/snice-menu.js.map +1 -1
- package/dist/cdn/menu/snice-menu.min.js +2 -2
- package/dist/cdn/menu/snice-menu.min.js.map +1 -1
- package/dist/cdn/modal/README.md +2 -2
- package/dist/cdn/modal/snice-modal.js +34 -18
- package/dist/cdn/modal/snice-modal.js.map +1 -1
- package/dist/cdn/modal/snice-modal.min.js +24 -20
- package/dist/cdn/modal/snice-modal.min.js.map +1 -1
- package/dist/cdn/music-player/README.md +2 -2
- package/dist/cdn/music-player/snice-music-player.js +8 -1
- package/dist/cdn/music-player/snice-music-player.js.map +1 -1
- package/dist/cdn/music-player/snice-music-player.min.js +3 -3
- package/dist/cdn/music-player/snice-music-player.min.js.map +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/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/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/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/README.md +2 -2
- package/dist/cdn/radio/snice-radio.js +23 -3
- package/dist/cdn/radio/snice-radio.js.map +1 -1
- package/dist/cdn/radio/snice-radio.min.js +3 -3
- package/dist/cdn/radio/snice-radio.min.js.map +1 -1
- package/dist/cdn/rating/snice-rating.js +1 -1
- package/dist/cdn/rating/snice-rating.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 +513 -46
- package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.esm.min.js +6 -6
- package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.js +6420 -5951
- package/dist/cdn/runtime/snice-runtime.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.min.js +18 -18
- 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/README.md +2 -2
- package/dist/cdn/select/snice-select.js +46 -92
- package/dist/cdn/select/snice-select.js.map +1 -1
- package/dist/cdn/select/snice-select.min.js +5 -13
- package/dist/cdn/select/snice-select.min.js.map +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-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/stepper/snice-stepper.js +1 -1
- package/dist/cdn/stepper/snice-stepper.min.js +1 -1
- package/dist/cdn/switch/README.md +1 -1
- package/dist/cdn/switch/snice-switch.js +33 -23
- package/dist/cdn/switch/snice-switch.js.map +1 -1
- package/dist/cdn/switch/snice-switch.min.js +3 -3
- package/dist/cdn/switch/snice-switch.min.js.map +1 -1
- package/dist/cdn/table/README.md +2 -2
- package/dist/cdn/table/snice-table.js +2876 -111
- package/dist/cdn/table/snice-table.js.map +1 -1
- package/dist/cdn/table/snice-table.min.js +187 -47
- 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-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-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 +1 -1
- package/dist/cdn/toast/snice-toast.js +3 -3
- package/dist/cdn/toast/snice-toast.js.map +1 -1
- package/dist/cdn/toast/snice-toast.min.js +2 -2
- 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/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/components/book/snice-book.d.ts +2 -0
- package/dist/components/book/snice-book.js +28 -7
- package/dist/components/book/snice-book.js.map +1 -1
- package/dist/components/book/snice-book.types.d.ts +7 -0
- package/dist/components/code-block/snice-code-block.js +3 -3
- package/dist/components/code-block/snice-code-block.js.map +1 -1
- package/dist/components/code-block/snice-code-block.types.d.ts +3 -3
- package/dist/components/date-picker/snice-date-picker.d.ts +2 -0
- package/dist/components/date-picker/snice-date-picker.js +49 -39
- package/dist/components/date-picker/snice-date-picker.js.map +1 -1
- package/dist/components/doc/snice-doc.d.ts +20 -0
- package/dist/components/doc/snice-doc.js +220 -34
- package/dist/components/doc/snice-doc.js.map +1 -1
- package/dist/components/input/snice-input.d.ts +3 -0
- package/dist/components/input/snice-input.js +20 -2
- package/dist/components/input/snice-input.js.map +1 -1
- package/dist/components/input/snice-input.types.d.ts +3 -0
- package/dist/components/link-preview/snice-link-preview.js +1 -1
- package/dist/components/link-preview/snice-link-preview.js.map +1 -1
- package/dist/components/list/snice-list.js +3 -3
- package/dist/components/list/snice-list.js.map +1 -1
- package/dist/components/menu/snice-menu.js +1 -1
- package/dist/components/menu/snice-menu.js.map +1 -1
- package/dist/components/modal/snice-modal.d.ts +2 -0
- package/dist/components/modal/snice-modal.js +33 -17
- package/dist/components/modal/snice-modal.js.map +1 -1
- package/dist/components/modal/snice-modal.types.d.ts +2 -0
- package/dist/components/music-player/snice-music-player.d.ts +1 -0
- package/dist/components/music-player/snice-music-player.js +7 -0
- package/dist/components/music-player/snice-music-player.js.map +1 -1
- package/dist/components/notification-center/snice-notification-center.d.ts +1 -1
- package/dist/components/notification-center/snice-notification-center.js.map +1 -1
- package/dist/components/notification-center/snice-notification-center.types.d.ts +1 -0
- package/dist/components/radio/snice-radio.d.ts +1 -0
- package/dist/components/radio/snice-radio.js +22 -2
- package/dist/components/radio/snice-radio.js.map +1 -1
- package/dist/components/select/snice-select.d.ts +2 -4
- package/dist/components/select/snice-select.js +46 -92
- package/dist/components/select/snice-select.js.map +1 -1
- package/dist/components/switch/snice-switch.d.ts +2 -0
- package/dist/components/switch/snice-switch.js +32 -22
- package/dist/components/switch/snice-switch.js.map +1 -1
- package/dist/components/table/snice-table.d.ts +2 -0
- package/dist/components/table/snice-table.js +17 -3
- package/dist/components/table/snice-table.js.map +1 -1
- package/dist/components/toast/snice-toast-container.js +2 -2
- package/dist/components/toast/snice-toast-container.js.map +1 -1
- package/dist/index.cjs +512 -43
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.esm.js +511 -44
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +512 -43
- package/dist/index.iife.js.map +1 -1
- package/dist/symbols.cjs +1 -1
- package/dist/symbols.esm.js +1 -1
- package/dist/tooltip-observer.d.ts +11 -0
- 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 +14 -10
- package/docs/ai/architecture.md +18 -5
- package/docs/ai/components/app-tiles.md +1 -1
- package/docs/ai/components/book.md +5 -6
- package/docs/ai/components/camera-annotate.md +3 -3
- package/docs/ai/components/candlestick.md +3 -3
- package/docs/ai/components/chart.md +1 -1
- package/docs/ai/components/code-block.md +3 -3
- package/docs/ai/components/doc.md +26 -15
- package/docs/ai/components/file-gallery.md +1 -1
- package/docs/ai/components/input.md +10 -0
- package/docs/ai/components/link-preview.md +1 -1
- package/docs/ai/components/list.md +2 -2
- package/docs/ai/components/markdown.md +13 -6
- package/docs/ai/components/modal.md +2 -0
- package/docs/ai/components/music-player.md +3 -2
- package/docs/ai/components/network-graph.md +5 -5
- package/docs/ai/components/notification-center.md +1 -0
- package/docs/ai/components/pdf-viewer.md +1 -1
- package/docs/ai/components/radio.md +2 -2
- package/docs/ai/components/sankey.md +3 -3
- package/docs/ai/components/select.md +1 -1
- package/docs/ai/components/tooltip.md +54 -0
- package/docs/ai/decorators.md +4 -4
- package/docs/code-block.md +4 -4
- package/docs/components/app-tiles.md +1 -1
- package/docs/components/book.md +3 -4
- package/docs/components/button.md +2 -2
- package/docs/components/camera-annotate.md +6 -6
- package/docs/components/candlestick.md +6 -6
- package/docs/components/chart.md +4 -6
- package/docs/components/checkbox.md +3 -3
- package/docs/components/chip.md +4 -4
- package/docs/components/code-block.md +4 -3
- package/docs/components/doc.md +99 -58
- package/docs/components/file-gallery.md +25 -3
- package/docs/components/input.md +20 -0
- package/docs/components/kpi.md +2 -3
- package/docs/components/link-preview.md +2 -2
- package/docs/components/list.md +3 -3
- package/docs/components/markdown.md +14 -36
- package/docs/components/modal.md +2 -0
- package/docs/components/music-player.md +3 -2
- package/docs/components/network-graph.md +7 -7
- package/docs/components/notification-center.md +1 -0
- package/docs/components/pdf-viewer.md +1 -1
- package/docs/components/sankey.md +6 -6
- package/docs/components/switch.md +1 -1
- package/docs/components/table.md +2 -2
- package/docs/components/tooltip.md +133 -0
- package/docs/controllers.md +3 -14
- package/docs/elements.md +0 -1
- package/docs/events.md +3 -0
- package/docs/request-response.md +2 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snice-music-player.min.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../components/music-player/snice-music-player.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, styles, ready, dispose, watch, render, dispatch, css, html } from 'snice';\n\nvar playerStyles = \":host{display:block;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);contain:layout style paint}.player-container{background:var(--snice-color-background,rgb(255 255 255));border:1px solid var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-lg,.5rem);padding:var(--snice-spacing-lg,1.5rem);box-shadow:var(--snice-shadow-md,0 4px 6px -1px rgb(0 0 0 / .1),0 2px 4px -2px rgb(0 0 0 / .1))}.player-info{display:flex;align-items:center;gap:var(--snice-spacing-md,1rem);margin-bottom:var(--snice-spacing-lg,1.5rem)}.player-artwork{flex-shrink:0;width:5rem;height:5rem;border-radius:var(--snice-border-radius-md,.25rem);overflow:hidden;background:var(--snice-color-background-secondary,rgb(250 250 250));display:flex;align-items:center;justify-content:center}.player-artwork img{width:100%;height:100%;object-fit:cover}.player-artwork-placeholder{color:var(--snice-color-text-tertiary,rgb(115 115 115))}.player-track-info{flex:1;min-width:0}.player-track-title{font-size:var(--snice-font-size-lg, 1.125rem);font-weight:var(--snice-font-weight-semibold,600);color:var(--snice-color-text,rgb(23 23 23));margin-bottom:var(--snice-spacing-3xs,.125rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-track-artist{font-size:var(--snice-font-size-sm, .875rem);color:var(--snice-color-text-secondary,rgb(82 82 82));margin-bottom:var(--snice-spacing-3xs,.125rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-track-album{font-size:var(--snice-font-size-xs, .75rem);color:var(--snice-color-text-tertiary,rgb(115 115 115));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-controls{margin-bottom:var(--snice-spacing-md,1rem);overflow:visible}.player-control-buttons{display:flex;align-items:center;justify-content:center;gap:var(--snice-spacing-sm,.75rem);margin-bottom:var(--snice-spacing-md,1rem)}.player-btn{background:0 0;border:none;cursor:pointer;padding:var(--snice-spacing-xs,.5rem);border-radius:var(--snice-border-radius-md,.25rem);color:var(--snice-color-text,rgb(23 23 23));display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--snice-transition-fast, 150ms) ease}.player-btn:hover:not(:disabled){background:var(--snice-color-background-hover,rgb(241 241 241))}.player-btn:active:not(:disabled){background:var(--snice-color-background-active,rgb(226 226 226))}.player-btn:disabled{opacity:.5;cursor:not-allowed}.player-btn.active{color:var(--snice-color-primary,rgb(37 99 235))}.player-btn-play-pause{background:var(--snice-color-primary,rgb(37 99 235));color:var(--snice-color-text-inverse,rgb(250 250 250));padding:var(--snice-spacing-md,1rem);border-radius:var(--snice-border-radius-circle,50%)}.player-btn-play-pause:active:not(:disabled),.player-btn-play-pause:hover:not(:disabled){background:var(--snice-color-primary-hover,rgb(29 78 216))}.player-progress-container{display:flex;align-items:center;gap:var(--snice-spacing-sm,.75rem);position:relative}.player-time{font-size:var(--snice-font-size-xs, .75rem);font-variant-numeric:tabular-nums;color:var(--snice-color-text-secondary,rgb(82 82 82));min-width:2.5rem}.player-time-current{text-align:right}.player-progress{flex:1;height:.375rem;background:var(--snice-color-background-secondary,rgb(250 250 250));border-radius:var(--snice-border-radius-pill,9999px);cursor:pointer;position:relative;overflow:hidden}.player-progress:hover{background:var(--snice-color-background-tertiary,rgb(241 241 241))}.player-progress-bar{height:100%;background:var(--snice-color-primary,rgb(37 99 235));border-radius:var(--snice-border-radius-pill,9999px);transition:width .1s linear}.player-volume{display:flex;align-items:center;gap:var(--snice-spacing-xs,.5rem);margin-left:var(--snice-spacing-sm,.75rem)}.player-btn-volume{flex-shrink:0}.player-volume-slider-container{display:flex;align-items:center}.player-volume-slider{-webkit-appearance:none;appearance:none;width:5rem;height:.375rem;background:linear-gradient(to right,var(--snice-color-primary,rgb(37 99 235)) 0,var(--snice-color-primary,rgb(37 99 235)) var(--volume-percent,100%),var(--snice-color-background-secondary,rgb(250 250 250)) var(--volume-percent,100%),var(--snice-color-background-secondary,rgb(250 250 250)) 100%);border-radius:var(--snice-border-radius-pill,9999px);outline:0;cursor:pointer}.player-volume-slider::-webkit-slider-runnable-track{width:100%;height:.375rem;background:0 0;border-radius:var(--snice-border-radius-pill,9999px)}.player-volume-slider::-moz-range-track{width:100%;height:.375rem;background:var(--snice-color-background-secondary,rgb(250 250 250));border-radius:var(--snice-border-radius-pill,9999px)}.player-volume-slider::-moz-range-progress{height:.375rem;background:var(--snice-color-primary,rgb(37 99 235));border-radius:var(--snice-border-radius-pill,9999px)}.player-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:.875rem;height:.875rem;background:var(--snice-color-primary,rgb(37 99 235));border-radius:var(--snice-border-radius-circle,50%);cursor:pointer;transition:transform var(--snice-transition-fast, 150ms) ease;margin-top:-.25rem}.player-volume-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.player-volume-slider::-moz-range-thumb{width:.875rem;height:.875rem;background:var(--snice-color-primary,rgb(37 99 235));border:none;border-radius:var(--snice-border-radius-circle,50%);cursor:pointer;transition:transform var(--snice-transition-fast, 150ms) ease}.player-volume-slider::-moz-range-thumb:hover{transform:scale(1.15)}.player-playlist{border-top:1px solid var(--snice-color-border,rgb(226 226 226));padding-top:var(--snice-spacing-md,1rem);margin-top:var(--snice-spacing-md,1rem)}.player-playlist-header{font-size:var(--snice-font-size-sm, .875rem);font-weight:var(--snice-font-weight-semibold,600);color:var(--snice-color-text,rgb(23 23 23));margin-bottom:var(--snice-spacing-sm,.75rem)}.player-playlist-items{display:flex;flex-direction:column;gap:var(--snice-spacing-2xs,.25rem);max-height:15rem;overflow-y:auto}.player-playlist-item{display:flex;align-items:center;gap:var(--snice-spacing-sm,.75rem);padding:var(--snice-spacing-sm,.75rem);border-radius:var(--snice-border-radius-md,.25rem);cursor:pointer;transition:background-color var(--snice-transition-fast, 150ms) ease}.player-playlist-item:hover{background:var(--snice-color-background-hover,rgb(241 241 241))}.player-playlist-item.active{background:var(--snice-color-primary-subtle,rgb(239 246 255))}.player-playlist-item.active .player-playlist-item-title{color:var(--snice-color-primary,rgb(37 99 235));font-weight:var(--snice-font-weight-medium,500)}.player-playlist-item-number{font-size:var(--snice-font-size-xs, .75rem);font-variant-numeric:tabular-nums;color:var(--snice-color-text-tertiary,rgb(115 115 115));width:1.5rem;text-align:center;flex-shrink:0}.player-playlist-item-artwork{width:2.5rem;height:2.5rem;border-radius:var(--snice-border-radius-sm,.125rem);object-fit:cover;flex-shrink:0}.player-playlist-item-info{flex:1;min-width:0}.player-playlist-item-title{font-size:var(--snice-font-size-sm, .875rem);color:var(--snice-color-text,rgb(23 23 23));margin-bottom:var(--snice-spacing-3xs,.125rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-playlist-item-artist{font-size:var(--snice-font-size-xs, .75rem);color:var(--snice-color-text-secondary,rgb(82 82 82));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-playlist-item-duration{font-size:var(--snice-font-size-xs, .75rem);font-variant-numeric:tabular-nums;color:var(--snice-color-text-tertiary,rgb(115 115 115));flex-shrink:0}.player-playlist-items::-webkit-scrollbar{width:.5rem}.player-playlist-items::-webkit-scrollbar-track{background:var(--snice-color-background-secondary,rgb(250 250 250));border-radius:var(--snice-border-radius-pill,9999px)}.player-playlist-items::-webkit-scrollbar-thumb{background:var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-pill,9999px)}.player-playlist-items::-webkit-scrollbar-thumb:hover{background:var(--snice-color-border-hover,rgb(204 204 204))}.player-container--compact{padding:var(--snice-spacing-sm,.75rem);display:flex;align-items:center;gap:var(--snice-spacing-md,1rem)}.player-container--compact .player-info{gap:var(--snice-spacing-sm,.75rem);margin-bottom:0;flex-shrink:0}.player-container--compact .player-artwork{width:3rem;height:3rem}.player-container--compact .player-track-title{font-size:var(--snice-font-size-sm, .875rem)}.player-container--compact .player-track-artist{font-size:var(--snice-font-size-xs, .75rem)}.player-container--compact .player-track-album{display:none}.player-container--compact .player-controls{flex:1;margin-bottom:0;display:flex;align-items:center;gap:var(--snice-spacing-sm,.75rem)}.player-container--compact .player-control-buttons{gap:var(--snice-spacing-xs,.5rem);margin-bottom:0}.player-container--compact .player-btn{padding:var(--snice-spacing-2xs,.25rem)}.player-container--compact .player-btn svg{width:1.25rem;height:1.25rem}.player-container--compact .player-btn-play-pause{padding:var(--snice-spacing-xs,.5rem)}.player-container--compact .player-btn-play-pause svg{width:1.5rem;height:1.5rem}.player-container--compact .player-progress-container{flex:1}.player-container--compact .player-time{font-size:var(--snice-font-size-2xs, .625rem);min-width:2rem}\";\n\nlet SniceMusicPlayer = (() => {\n let _classDecorators = [element('snice-music-player')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _tracks_decorators;\n let _tracks_initializers = [];\n let _tracks_extraInitializers = [];\n let _currentTrackIndex_decorators;\n let _currentTrackIndex_initializers = [];\n let _currentTrackIndex_extraInitializers = [];\n let _currentTrack_decorators;\n let _currentTrack_initializers = [];\n let _currentTrack_extraInitializers = [];\n let _volume_decorators;\n let _volume_initializers = [];\n let _volume_extraInitializers = [];\n let _muted_decorators;\n let _muted_initializers = [];\n let _muted_extraInitializers = [];\n let _shuffle_decorators;\n let _shuffle_initializers = [];\n let _shuffle_extraInitializers = [];\n let _repeat_decorators;\n let _repeat_initializers = [];\n let _repeat_extraInitializers = [];\n let _state_decorators;\n let _state_initializers = [];\n let _state_extraInitializers = [];\n let _autoplay_decorators;\n let _autoplay_initializers = [];\n let _autoplay_extraInitializers = [];\n let _showPlaylist_decorators;\n let _showPlaylist_initializers = [];\n let _showPlaylist_extraInitializers = [];\n let _showControls_decorators;\n let _showControls_initializers = [];\n let _showControls_extraInitializers = [];\n let _showVolume_decorators;\n let _showVolume_initializers = [];\n let _showVolume_extraInitializers = [];\n let _showArtwork_decorators;\n let _showArtwork_initializers = [];\n let _showArtwork_extraInitializers = [];\n let _showTrackInfo_decorators;\n let _showTrackInfo_initializers = [];\n let _showTrackInfo_extraInitializers = [];\n let _compact_decorators;\n let _compact_initializers = [];\n let _compact_extraInitializers = [];\n let _showVolumeSlider_decorators;\n let _showVolumeSlider_initializers = [];\n let _showVolumeSlider_extraInitializers = [];\n let _progressElement_decorators;\n let _progressElement_initializers = [];\n let _progressElement_extraInitializers = [];\n let _volumeSlider_decorators;\n let _volumeSlider_initializers = [];\n let _volumeSlider_extraInitializers = [];\n let _componentStyles_decorators;\n let _init_decorators;\n let _cleanup_decorators;\n let _handleTracksChange_decorators;\n let _handleCurrentTrackChange_decorators;\n let _handleVolumeChange_decorators;\n let _handleMutedChange_decorators;\n let _renderPlayer_decorators;\n let _emitPlay_decorators;\n let _emitPause_decorators;\n let _emitStop_decorators;\n let _emitTrackChange_decorators;\n let _emitTrackEnded_decorators;\n let _emitSeek_decorators;\n let _emitVolumeChange_decorators;\n let _emitShuffleChange_decorators;\n let _emitRepeatChange_decorators;\n let _emitError_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _tracks_decorators = [property({ type: Array })];\n _currentTrackIndex_decorators = [property({ type: Number, attribute: 'current-track-index' })];\n _currentTrack_decorators = [property({ type: String, attribute: 'current-track' })];\n _volume_decorators = [property({ type: Number })];\n _muted_decorators = [property({ type: Boolean })];\n _shuffle_decorators = [property({ type: Boolean })];\n _repeat_decorators = [property({ type: String })];\n _state_decorators = [property({ type: String })];\n _autoplay_decorators = [property({ type: Boolean })];\n _showPlaylist_decorators = [property({ type: Boolean, attribute: 'show-playlist' })];\n _showControls_decorators = [property({ type: Boolean, attribute: 'show-controls' })];\n _showVolume_decorators = [property({ type: Boolean, attribute: 'show-volume' })];\n _showArtwork_decorators = [property({ type: Boolean, attribute: 'show-artwork' })];\n _showTrackInfo_decorators = [property({ type: Boolean, attribute: 'show-track-info' })];\n _compact_decorators = [property({ type: Boolean })];\n _showVolumeSlider_decorators = [property({ type: Boolean, attribute: 'show-volume-slider' })];\n _progressElement_decorators = [query('.player-progress')];\n _volumeSlider_decorators = [query('.player-volume-slider')];\n _componentStyles_decorators = [styles()];\n _init_decorators = [ready()];\n _cleanup_decorators = [dispose()];\n _handleTracksChange_decorators = [watch('tracks')];\n _handleCurrentTrackChange_decorators = [watch('currentTrack')];\n _handleVolumeChange_decorators = [watch('volume')];\n _handleMutedChange_decorators = [watch('muted')];\n _renderPlayer_decorators = [render()];\n _emitPlay_decorators = [dispatch('player-play', { bubbles: true, composed: true })];\n _emitPause_decorators = [dispatch('player-pause', { bubbles: true, composed: true })];\n _emitStop_decorators = [dispatch('player-stop', { bubbles: true, composed: true })];\n _emitTrackChange_decorators = [dispatch('player-track-change', { bubbles: true, composed: true })];\n _emitTrackEnded_decorators = [dispatch('player-track-ended', { bubbles: true, composed: true })];\n _emitSeek_decorators = [dispatch('player-seek', { bubbles: true, composed: true })];\n _emitVolumeChange_decorators = [dispatch('player-volume-change', { bubbles: true, composed: true })];\n _emitShuffleChange_decorators = [dispatch('player-shuffle-change', { bubbles: true, composed: true })];\n _emitRepeatChange_decorators = [dispatch('player-repeat-change', { bubbles: true, composed: true })];\n _emitError_decorators = [dispatch('player-error', { bubbles: true, composed: true })];\n __esDecorate(this, null, _componentStyles_decorators, { kind: \"method\", name: \"componentStyles\", static: false, private: false, access: { has: obj => \"componentStyles\" in obj, get: obj => obj.componentStyles }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _init_decorators, { kind: \"method\", name: \"init\", static: false, private: false, access: { has: obj => \"init\" in obj, get: obj => obj.init }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _cleanup_decorators, { kind: \"method\", name: \"cleanup\", static: false, private: false, access: { has: obj => \"cleanup\" in obj, get: obj => obj.cleanup }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleTracksChange_decorators, { kind: \"method\", name: \"handleTracksChange\", static: false, private: false, access: { has: obj => \"handleTracksChange\" in obj, get: obj => obj.handleTracksChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleCurrentTrackChange_decorators, { kind: \"method\", name: \"handleCurrentTrackChange\", static: false, private: false, access: { has: obj => \"handleCurrentTrackChange\" in obj, get: obj => obj.handleCurrentTrackChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleVolumeChange_decorators, { kind: \"method\", name: \"handleVolumeChange\", static: false, private: false, access: { has: obj => \"handleVolumeChange\" in obj, get: obj => obj.handleVolumeChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleMutedChange_decorators, { kind: \"method\", name: \"handleMutedChange\", static: false, private: false, access: { has: obj => \"handleMutedChange\" in obj, get: obj => obj.handleMutedChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _renderPlayer_decorators, { kind: \"method\", name: \"renderPlayer\", static: false, private: false, access: { has: obj => \"renderPlayer\" in obj, get: obj => obj.renderPlayer }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitPlay_decorators, { kind: \"method\", name: \"emitPlay\", static: false, private: false, access: { has: obj => \"emitPlay\" in obj, get: obj => obj.emitPlay }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitPause_decorators, { kind: \"method\", name: \"emitPause\", static: false, private: false, access: { has: obj => \"emitPause\" in obj, get: obj => obj.emitPause }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitStop_decorators, { kind: \"method\", name: \"emitStop\", static: false, private: false, access: { has: obj => \"emitStop\" in obj, get: obj => obj.emitStop }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitTrackChange_decorators, { kind: \"method\", name: \"emitTrackChange\", static: false, private: false, access: { has: obj => \"emitTrackChange\" in obj, get: obj => obj.emitTrackChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitTrackEnded_decorators, { kind: \"method\", name: \"emitTrackEnded\", static: false, private: false, access: { has: obj => \"emitTrackEnded\" in obj, get: obj => obj.emitTrackEnded }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitSeek_decorators, { kind: \"method\", name: \"emitSeek\", static: false, private: false, access: { has: obj => \"emitSeek\" in obj, get: obj => obj.emitSeek }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitVolumeChange_decorators, { kind: \"method\", name: \"emitVolumeChange\", static: false, private: false, access: { has: obj => \"emitVolumeChange\" in obj, get: obj => obj.emitVolumeChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitShuffleChange_decorators, { kind: \"method\", name: \"emitShuffleChange\", static: false, private: false, access: { has: obj => \"emitShuffleChange\" in obj, get: obj => obj.emitShuffleChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitRepeatChange_decorators, { kind: \"method\", name: \"emitRepeatChange\", static: false, private: false, access: { has: obj => \"emitRepeatChange\" in obj, get: obj => obj.emitRepeatChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitError_decorators, { kind: \"method\", name: \"emitError\", static: false, private: false, access: { has: obj => \"emitError\" in obj, get: obj => obj.emitError }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _tracks_decorators, { kind: \"field\", name: \"tracks\", static: false, private: false, access: { has: obj => \"tracks\" in obj, get: obj => obj.tracks, set: (obj, value) => { obj.tracks = value; } }, metadata: _metadata }, _tracks_initializers, _tracks_extraInitializers);\n __esDecorate(null, null, _currentTrackIndex_decorators, { kind: \"field\", name: \"currentTrackIndex\", static: false, private: false, access: { has: obj => \"currentTrackIndex\" in obj, get: obj => obj.currentTrackIndex, set: (obj, value) => { obj.currentTrackIndex = value; } }, metadata: _metadata }, _currentTrackIndex_initializers, _currentTrackIndex_extraInitializers);\n __esDecorate(null, null, _currentTrack_decorators, { kind: \"field\", name: \"currentTrack\", static: false, private: false, access: { has: obj => \"currentTrack\" in obj, get: obj => obj.currentTrack, set: (obj, value) => { obj.currentTrack = value; } }, metadata: _metadata }, _currentTrack_initializers, _currentTrack_extraInitializers);\n __esDecorate(null, null, _volume_decorators, { kind: \"field\", name: \"volume\", static: false, private: false, access: { has: obj => \"volume\" in obj, get: obj => obj.volume, set: (obj, value) => { obj.volume = value; } }, metadata: _metadata }, _volume_initializers, _volume_extraInitializers);\n __esDecorate(null, null, _muted_decorators, { kind: \"field\", name: \"muted\", static: false, private: false, access: { has: obj => \"muted\" in obj, get: obj => obj.muted, set: (obj, value) => { obj.muted = value; } }, metadata: _metadata }, _muted_initializers, _muted_extraInitializers);\n __esDecorate(null, null, _shuffle_decorators, { kind: \"field\", name: \"shuffle\", static: false, private: false, access: { has: obj => \"shuffle\" in obj, get: obj => obj.shuffle, set: (obj, value) => { obj.shuffle = value; } }, metadata: _metadata }, _shuffle_initializers, _shuffle_extraInitializers);\n __esDecorate(null, null, _repeat_decorators, { kind: \"field\", name: \"repeat\", static: false, private: false, access: { has: obj => \"repeat\" in obj, get: obj => obj.repeat, set: (obj, value) => { obj.repeat = value; } }, metadata: _metadata }, _repeat_initializers, _repeat_extraInitializers);\n __esDecorate(null, null, _state_decorators, { kind: \"field\", name: \"state\", static: false, private: false, access: { has: obj => \"state\" in obj, get: obj => obj.state, set: (obj, value) => { obj.state = value; } }, metadata: _metadata }, _state_initializers, _state_extraInitializers);\n __esDecorate(null, null, _autoplay_decorators, { kind: \"field\", name: \"autoplay\", static: false, private: false, access: { has: obj => \"autoplay\" in obj, get: obj => obj.autoplay, set: (obj, value) => { obj.autoplay = value; } }, metadata: _metadata }, _autoplay_initializers, _autoplay_extraInitializers);\n __esDecorate(null, null, _showPlaylist_decorators, { kind: \"field\", name: \"showPlaylist\", static: false, private: false, access: { has: obj => \"showPlaylist\" in obj, get: obj => obj.showPlaylist, set: (obj, value) => { obj.showPlaylist = value; } }, metadata: _metadata }, _showPlaylist_initializers, _showPlaylist_extraInitializers);\n __esDecorate(null, null, _showControls_decorators, { kind: \"field\", name: \"showControls\", static: false, private: false, access: { has: obj => \"showControls\" in obj, get: obj => obj.showControls, set: (obj, value) => { obj.showControls = value; } }, metadata: _metadata }, _showControls_initializers, _showControls_extraInitializers);\n __esDecorate(null, null, _showVolume_decorators, { kind: \"field\", name: \"showVolume\", static: false, private: false, access: { has: obj => \"showVolume\" in obj, get: obj => obj.showVolume, set: (obj, value) => { obj.showVolume = value; } }, metadata: _metadata }, _showVolume_initializers, _showVolume_extraInitializers);\n __esDecorate(null, null, _showArtwork_decorators, { kind: \"field\", name: \"showArtwork\", static: false, private: false, access: { has: obj => \"showArtwork\" in obj, get: obj => obj.showArtwork, set: (obj, value) => { obj.showArtwork = value; } }, metadata: _metadata }, _showArtwork_initializers, _showArtwork_extraInitializers);\n __esDecorate(null, null, _showTrackInfo_decorators, { kind: \"field\", name: \"showTrackInfo\", static: false, private: false, access: { has: obj => \"showTrackInfo\" in obj, get: obj => obj.showTrackInfo, set: (obj, value) => { obj.showTrackInfo = value; } }, metadata: _metadata }, _showTrackInfo_initializers, _showTrackInfo_extraInitializers);\n __esDecorate(null, null, _compact_decorators, { kind: \"field\", name: \"compact\", static: false, private: false, access: { has: obj => \"compact\" in obj, get: obj => obj.compact, set: (obj, value) => { obj.compact = value; } }, metadata: _metadata }, _compact_initializers, _compact_extraInitializers);\n __esDecorate(null, null, _showVolumeSlider_decorators, { kind: \"field\", name: \"showVolumeSlider\", static: false, private: false, access: { has: obj => \"showVolumeSlider\" in obj, get: obj => obj.showVolumeSlider, set: (obj, value) => { obj.showVolumeSlider = value; } }, metadata: _metadata }, _showVolumeSlider_initializers, _showVolumeSlider_extraInitializers);\n __esDecorate(null, null, _progressElement_decorators, { kind: \"field\", name: \"progressElement\", static: false, private: false, access: { has: obj => \"progressElement\" in obj, get: obj => obj.progressElement, set: (obj, value) => { obj.progressElement = value; } }, metadata: _metadata }, _progressElement_initializers, _progressElement_extraInitializers);\n __esDecorate(null, null, _volumeSlider_decorators, { kind: \"field\", name: \"volumeSlider\", static: false, private: false, access: { has: obj => \"volumeSlider\" in obj, get: obj => obj.volumeSlider, set: (obj, value) => { obj.volumeSlider = value; } }, metadata: _metadata }, _volumeSlider_initializers, _volumeSlider_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n componentStyles() {\n return css /*css*/ `${playerStyles}`;\n }\n init() {\n this.audioElement = new Audio();\n this.audioElement.volume = this.volume;\n this.audioElement.muted = this.muted;\n // Set up audio event listeners\n this.audioElement.addEventListener('loadedmetadata', () => {\n this.duration = this.audioElement.duration;\n this.state = this.state === 'loading' ? 'paused' : this.state;\n });\n this.audioElement.addEventListener('play', () => {\n this.state = 'playing';\n this.startUpdateInterval();\n });\n this.audioElement.addEventListener('pause', () => {\n if (!this.audioElement.ended) {\n this.state = 'paused';\n }\n this.stopUpdateInterval();\n });\n this.audioElement.addEventListener('ended', () => {\n this.handleTrackEnded();\n });\n this.audioElement.addEventListener('error', () => {\n this.state = 'error';\n this.emitError(new Error('Failed to load track'));\n });\n this.audioElement.addEventListener('timeupdate', () => {\n this.currentTime = this.audioElement.currentTime;\n });\n // Load first track if available\n if (this.tracks.length > 0) {\n this.loadTrack(this.currentTrackIndex);\n }\n }\n cleanup() {\n this.stop();\n this.stopUpdateInterval();\n if (this.audioElement) {\n this.audioElement.pause();\n this.audioElement.src = '';\n this.audioElement = null;\n }\n }\n handleTracksChange() {\n if (this.tracks.length > 0 && this.currentTrackIndex >= this.tracks.length) {\n this.currentTrackIndex = 0;\n }\n // Reset shuffle queue when tracks change\n if (this.shuffle) {\n this.shuffleQueue = [];\n }\n if (this.tracks.length > 0 && this.audioElement && !this.audioElement.src) {\n this.loadTrack(this.currentTrackIndex);\n }\n }\n handleCurrentTrackChange(oldVal, newVal) {\n if (!newVal || newVal === oldVal)\n return;\n // Find track by ID and load it\n const index = this.tracks.findIndex(t => t.id === newVal);\n if (index >= 0 && index !== this.currentTrackIndex) {\n this.loadTrack(index);\n }\n }\n handleVolumeChange(oldVal, newVal) {\n if (this.audioElement && newVal >= 0 && newVal <= 1) {\n this.audioElement.volume = newVal;\n }\n // Update volume slider fill\n if (this.volumeSlider) {\n this.volumeSlider.style.setProperty('--volume-percent', `${newVal * 100}%`);\n }\n }\n handleMutedChange(oldVal, newVal) {\n if (this.audioElement) {\n this.audioElement.muted = newVal;\n }\n }\n renderPlayer() {\n const currentTrack = this.getCurrentTrack();\n const progress = this.duration > 0 ? (this.currentTime / this.duration) * 100 : 0;\n return html /*html*/ `\n <div class=\"player-container ${this.compact ? 'player-container--compact' : ''}\">\n <if ${this.showArtwork || this.showTrackInfo}>\n <div class=\"player-info\">\n <if ${this.showArtwork}>\n <div class=\"player-artwork\">\n <if ${currentTrack?.artwork}>\n <img src=\"${currentTrack?.artwork}\" alt=\"${currentTrack?.title || 'Track artwork'}\" />\n </if>\n <if ${!currentTrack?.artwork}>\n <div class=\"player-artwork-placeholder\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"48\" height=\"48\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <circle cx=\"12\" cy=\"12\" r=\"10\"></circle>\n <circle cx=\"12\" cy=\"12\" r=\"3\"></circle>\n </svg>\n </div>\n </if>\n </div>\n </if>\n\n <if ${this.showTrackInfo}>\n <div class=\"player-track-info\">\n <div class=\"player-track-title\">${currentTrack?.title || 'No track loaded'}</div>\n <if ${currentTrack?.artist}>\n <div class=\"player-track-artist\">${currentTrack?.artist}</div>\n </if>\n <if ${currentTrack?.album}>\n <div class=\"player-track-album\">${currentTrack?.album}</div>\n </if>\n </div>\n </if>\n </div>\n </if>\n\n <if ${this.showControls}>\n <div class=\"player-controls\">\n <div class=\"player-control-buttons\">\n <button\n class=\"player-btn player-btn-shuffle ${this.shuffle ? 'active' : ''}\"\n @click=${() => this.toggleShuffle()}\n title=\"Shuffle\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <path d=\"M16 3h5v5M4 20L21 3M21 16v5h-5M15 15l6 6M4 4l5 5\"/>\n </svg>\n </button>\n\n <button\n class=\"player-btn player-btn-prev\"\n @click=${() => this.previous()}\n title=\"Previous\"\n ?disabled=${this.tracks.length === 0}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M6 6h2v12H6zm3.5 6l8.5 6V6z\"/>\n </svg>\n </button>\n\n <button\n class=\"player-btn player-btn-play-pause ${this.state === 'playing' ? 'playing' : ''}\"\n @click=${() => this.state === 'playing' ? this.pause() : this.play()}\n title=\"${this.state === 'playing' ? 'Pause' : 'Play'}\"\n ?disabled=${this.tracks.length === 0}\n >\n <if ${this.state === 'playing'}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <rect x=\"6\" y=\"4\" width=\"4\" height=\"16\"></rect>\n <rect x=\"14\" y=\"4\" width=\"4\" height=\"16\"></rect>\n </svg>\n </if>\n <if ${this.state !== 'playing'}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M8 5v14l11-7z\"/>\n </svg>\n </if>\n </button>\n\n <button\n class=\"player-btn player-btn-next\"\n @click=${() => this.next()}\n title=\"Next\"\n ?disabled=${this.tracks.length === 0}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M16 18h2V6h-2zM6 18l8.5-6L6 6z\"/>\n </svg>\n </button>\n\n <button\n class=\"player-btn player-btn-repeat ${this.repeat !== 'off' ? 'active' : ''}\"\n @click=${() => this.cycleRepeat()}\n title=\"Repeat ${this.repeat}\"\n >\n <if ${this.repeat === 'one'}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <path d=\"M17 1l4 4-4 4\"/>\n <path d=\"M3 11V9a4 4 0 0 1 4-4h14\"/>\n <path d=\"M7 23l-4-4 4-4\"/>\n <path d=\"M21 13v2a4 4 0 0 1-4 4H3\"/>\n <text x=\"12\" y=\"15\" font-size=\"8\" text-anchor=\"middle\" fill=\"currentColor\">1</text>\n </svg>\n </if>\n <if ${this.repeat !== 'one'}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <path d=\"M17 1l4 4-4 4\"/>\n <path d=\"M3 11V9a4 4 0 0 1 4-4h14\"/>\n <path d=\"M7 23l-4-4 4-4\"/>\n <path d=\"M21 13v2a4 4 0 0 1-4 4H3\"/>\n </svg>\n </if>\n </button>\n </div>\n\n <div class=\"player-progress-container\">\n <span class=\"player-time player-time-current\">${this.formatTime(this.currentTime)}</span>\n <div class=\"player-progress\" @click=${(e) => this.handleSeek(e)}>\n <div class=\"player-progress-bar\" style=\"width: ${progress}%\"></div>\n </div>\n <span class=\"player-time player-time-duration\">${this.formatTime(this.duration)}</span>\n <if ${this.showVolume}>\n <div class=\"player-volume\">\n <button\n class=\"player-btn player-btn-volume\"\n @click=${() => this.toggleVolumeSlider()}\n title=\"Volume\"\n >\n <if ${this.muted || this.volume === 0}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <path d=\"M11 5L6 9H2v6h4l5 4V5z\"/>\n <line x1=\"23\" y1=\"9\" x2=\"17\" y2=\"15\"/>\n <line x1=\"17\" y1=\"9\" x2=\"23\" y2=\"15\"/>\n </svg>\n </if>\n <if ${!this.muted && this.volume > 0.5}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <path d=\"M11 5L6 9H2v6h4l5 4V5z\"/>\n <path d=\"M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07\"/>\n </svg>\n </if>\n <if ${!this.muted && this.volume > 0 && this.volume <= 0.5}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <path d=\"M11 5L6 9H2v6h4l5 4V5z\"/>\n <path d=\"M15.54 8.46a5 5 0 0 1 0 7.07\"/>\n </svg>\n </if>\n </button>\n <if ${this.showVolumeSlider}>\n <div class=\"player-volume-slider-container\">\n <input\n class=\"player-volume-slider\"\n type=\"range\"\n min=\"0\"\n max=\"1\"\n step=\"0.01\"\n .value=${this.volume.toString()}\n style=\"--volume-percent: ${this.volume * 100}%\"\n @input=${(e) => this.handleVolumeSlider(e)}\n />\n </div>\n </if>\n </div>\n </if>\n </div>\n </div>\n </if>\n\n <if ${this.showPlaylist && this.tracks.length > 0}>\n <div class=\"player-playlist\">\n <div class=\"player-playlist-header\">Playlist</div>\n <div class=\"player-playlist-items\">\n ${this.tracks.map((track, index) => html /*html*/ `\n <div\n class=\"player-playlist-item ${index === this.currentTrackIndex ? 'active' : ''}\"\n @click=${() => this.loadTrack(index)}\n key=${track.id}\n >\n <div class=\"player-playlist-item-number\">${index + 1}</div>\n <if ${track.artwork}>\n <img class=\"player-playlist-item-artwork\" src=\"${track.artwork}\" alt=\"${track.title}\" />\n </if>\n <div class=\"player-playlist-item-info\">\n <div class=\"player-playlist-item-title\">${track.title}</div>\n <if ${track.artist}>\n <div class=\"player-playlist-item-artist\">${track.artist}</div>\n </if>\n </div>\n <if ${track.duration}>\n <div class=\"player-playlist-item-duration\">${this.formatTime(track.duration || 0)}</div>\n </if>\n </div>\n `)}\n </div>\n </div>\n </if>\n </div>\n `;\n }\n async play() {\n if (!this.audioElement || this.tracks.length === 0) {\n return;\n }\n try {\n await this.audioElement.play();\n this.emitPlay();\n }\n catch (error) {\n this.state = 'error';\n this.emitError(error);\n }\n }\n pause() {\n if (!this.audioElement) {\n return;\n }\n this.audioElement.pause();\n this.emitPause();\n }\n stop() {\n if (!this.audioElement) {\n return;\n }\n this.audioElement.pause();\n this.audioElement.currentTime = 0;\n this.currentTime = 0;\n this.state = 'stopped';\n this.emitStop();\n }\n next() {\n if (this.tracks.length === 0) {\n return;\n }\n let nextIndex;\n if (this.shuffle) {\n nextIndex = this.getNextShuffleIndex();\n }\n else {\n nextIndex = this.currentTrackIndex + 1;\n if (nextIndex >= this.tracks.length) {\n nextIndex = 0;\n }\n }\n this.loadTrack(nextIndex);\n if (this.state === 'playing') {\n this.play();\n }\n }\n previous() {\n if (this.tracks.length === 0) {\n return;\n }\n // If we're more than 3 seconds into the track, restart it\n if (this.currentTime > 3) {\n this.seek(0);\n return;\n }\n let prevIndex;\n if (this.shuffle && this.shuffleHistory.length > 0) {\n prevIndex = this.shuffleHistory.pop();\n }\n else {\n prevIndex = this.currentTrackIndex - 1;\n if (prevIndex < 0) {\n prevIndex = this.tracks.length - 1;\n }\n }\n this.loadTrack(prevIndex);\n if (this.state === 'playing') {\n this.play();\n }\n }\n seek(time) {\n if (!this.audioElement) {\n return;\n }\n this.audioElement.currentTime = time;\n this.currentTime = time;\n this.emitSeek(time);\n }\n setVolume(volume) {\n if (volume < 0 || volume > 1) {\n throw new Error('Volume must be between 0 and 1');\n }\n this.volume = volume;\n if (this.volume > 0 && this.muted) {\n this.muted = false;\n }\n this.emitVolumeChange(volume);\n }\n toggleShuffle() {\n this.shuffle = !this.shuffle;\n if (!this.shuffle) {\n this.shuffleHistory = [];\n this.shuffleQueue = [];\n }\n else {\n this.initializeShuffleQueue();\n }\n this.emitShuffleChange(this.shuffle);\n }\n setRepeat(mode) {\n this.repeat = mode;\n this.emitRepeatChange(mode);\n }\n async loadTrack(index) {\n if (index < 0 || index >= this.tracks.length) {\n throw new Error('Invalid track index');\n }\n const wasPlaying = this.state === 'playing';\n this.state = 'loading';\n this.currentTrackIndex = index;\n const track = this.tracks[index];\n this.currentTrack = track.id;\n if (this.audioElement) {\n this.audioElement.src = track.src;\n this.audioElement.load();\n this.currentTime = 0;\n if (wasPlaying || this.autoplay) {\n await this.play();\n }\n }\n this.emitTrackChange(track);\n }\n getCurrentTrack() {\n if (this.currentTrackIndex >= 0 && this.currentTrackIndex < this.tracks.length) {\n return this.tracks[this.currentTrackIndex];\n }\n return null;\n }\n toggleMute() {\n this.muted = !this.muted;\n }\n toggleVolumeSlider() {\n this.showVolumeSlider = !this.showVolumeSlider;\n }\n cycleRepeat() {\n const modes = ['off', 'all', 'one'];\n const currentIndex = modes.indexOf(this.repeat);\n const nextIndex = (currentIndex + 1) % modes.length;\n this.setRepeat(modes[nextIndex]);\n }\n handleSeek(e) {\n if (!this.progressElement || this.duration === 0) {\n return;\n }\n const rect = this.progressElement.getBoundingClientRect();\n const percent = (e.clientX - rect.left) / rect.width;\n const seekTime = percent * this.duration;\n this.seek(seekTime);\n }\n handleVolumeSlider(e) {\n const input = e.target;\n const volume = parseFloat(input.value);\n // Update visual immediately\n input.style.setProperty('--volume-percent', `${volume * 100}%`);\n this.setVolume(volume);\n }\n handleTrackEnded() {\n if (this.repeat === 'one') {\n this.seek(0);\n this.play();\n }\n else if (this.repeat === 'all' || this.currentTrackIndex < this.tracks.length - 1) {\n this.next();\n this.play();\n }\n else {\n this.state = 'stopped';\n this.currentTime = 0;\n }\n this.emitTrackEnded();\n }\n getNextShuffleIndex() {\n if (this.tracks.length === 1) {\n return 0;\n }\n // If queue is empty, create new shuffled queue excluding current track\n if (this.shuffleQueue.length === 0) {\n this.initializeShuffleQueue();\n }\n // Pop next track from queue\n this.shuffleHistory.push(this.currentTrackIndex);\n return this.shuffleQueue.shift();\n }\n initializeShuffleQueue() {\n // Create array of all indices except current track\n const indices = [];\n for (let i = 0; i < this.tracks.length; i++) {\n if (i !== this.currentTrackIndex) {\n indices.push(i);\n }\n }\n // Fisher-Yates shuffle\n for (let i = indices.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [indices[i], indices[j]] = [indices[j], indices[i]];\n }\n this.shuffleQueue = indices;\n }\n startUpdateInterval() {\n this.updateInterval = window.setInterval(() => {\n // Progress is updated via timeupdate event\n }, 100);\n }\n stopUpdateInterval() {\n if (this.updateInterval !== null) {\n clearInterval(this.updateInterval);\n this.updateInterval = null;\n }\n }\n formatTime(seconds) {\n if (isNaN(seconds) || seconds === Infinity) {\n return '0:00';\n }\n const mins = Math.floor(seconds / 60);\n const secs = Math.floor(seconds % 60);\n return `${mins}:${secs.toString().padStart(2, '0')}`;\n }\n emitPlay() {\n return { player: this, track: this.getCurrentTrack() };\n }\n emitPause() {\n return { player: this, track: this.getCurrentTrack() };\n }\n emitStop() {\n return { player: this };\n }\n emitTrackChange(track) {\n return { player: this, track };\n }\n emitTrackEnded() {\n return { player: this, track: this.getCurrentTrack() };\n }\n emitSeek(time) {\n return { player: this, time };\n }\n emitVolumeChange(volume) {\n return { player: this, volume };\n }\n emitShuffleChange(shuffle) {\n return { player: this, shuffle };\n }\n emitRepeatChange(repeat) {\n return { player: this, repeat };\n }\n emitError(error) {\n return { player: this, error };\n }\n constructor() {\n super(...arguments);\n this.tracks = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _tracks_initializers, []));\n this.currentTrackIndex = (__runInitializers(this, _tracks_extraInitializers), __runInitializers(this, _currentTrackIndex_initializers, 0));\n this.currentTrack = (__runInitializers(this, _currentTrackIndex_extraInitializers), __runInitializers(this, _currentTrack_initializers, ''));\n this.currentTime = (__runInitializers(this, _currentTrack_extraInitializers), 0);\n this.duration = 0;\n this.volume = __runInitializers(this, _volume_initializers, 1);\n this.muted = (__runInitializers(this, _volume_extraInitializers), __runInitializers(this, _muted_initializers, false));\n this.shuffle = (__runInitializers(this, _muted_extraInitializers), __runInitializers(this, _shuffle_initializers, false));\n this.repeat = (__runInitializers(this, _shuffle_extraInitializers), __runInitializers(this, _repeat_initializers, 'off'));\n this.state = (__runInitializers(this, _repeat_extraInitializers), __runInitializers(this, _state_initializers, 'stopped'));\n this.autoplay = (__runInitializers(this, _state_extraInitializers), __runInitializers(this, _autoplay_initializers, false));\n this.showPlaylist = (__runInitializers(this, _autoplay_extraInitializers), __runInitializers(this, _showPlaylist_initializers, true));\n this.showControls = (__runInitializers(this, _showPlaylist_extraInitializers), __runInitializers(this, _showControls_initializers, true));\n this.showVolume = (__runInitializers(this, _showControls_extraInitializers), __runInitializers(this, _showVolume_initializers, true));\n this.showArtwork = (__runInitializers(this, _showVolume_extraInitializers), __runInitializers(this, _showArtwork_initializers, true));\n this.showTrackInfo = (__runInitializers(this, _showArtwork_extraInitializers), __runInitializers(this, _showTrackInfo_initializers, true));\n this.compact = (__runInitializers(this, _showTrackInfo_extraInitializers), __runInitializers(this, _compact_initializers, false));\n this.showVolumeSlider = (__runInitializers(this, _compact_extraInitializers), __runInitializers(this, _showVolumeSlider_initializers, false));\n this.audioElement = (__runInitializers(this, _showVolumeSlider_extraInitializers), null);\n this.updateInterval = null;\n this.shuffleHistory = [];\n this.shuffleQueue = [];\n this.progressElement = __runInitializers(this, _progressElement_initializers, void 0);\n this.volumeSlider = (__runInitializers(this, _progressElement_extraInitializers), __runInitializers(this, _volumeSlider_initializers, void 0));\n __runInitializers(this, _volumeSlider_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceMusicPlayer };\n//# sourceMappingURL=snice-music-player.js.map\n"],"names":["__esDecorate","ctor","descriptorIn","decorators","contextIn","initializers","extraInitializers","accept","f","TypeError","_","kind","key","target","prototype","descriptor","Object","getOwnPropertyDescriptor","name","done","i","length","context","p","access","addInitializer","push","result","get","set","init","unshift","defineProperty","__runInitializers","thisArg","value","useValue","arguments","call","SuppressedError","SniceMusicPlayer","_classDescriptor","_classThis","_tracks_decorators","_currentTrackIndex_decorators","_currentTrack_decorators","_volume_decorators","_muted_decorators","_shuffle_decorators","_repeat_decorators","_state_decorators","_autoplay_decorators","_showPlaylist_decorators","_showControls_decorators","_showVolume_decorators","_showArtwork_decorators","_showTrackInfo_decorators","_compact_decorators","_showVolumeSlider_decorators","_progressElement_decorators","_volumeSlider_decorators","_componentStyles_decorators","_init_decorators","_cleanup_decorators","_handleTracksChange_decorators","_handleCurrentTrackChange_decorators","_handleVolumeChange_decorators","_handleMutedChange_decorators","_renderPlayer_decorators","_emitPlay_decorators","_emitPause_decorators","_emitStop_decorators","_emitTrackChange_decorators","_emitTrackEnded_decorators","_emitSeek_decorators","_emitVolumeChange_decorators","_emitShuffleChange_decorators","_emitRepeatChange_decorators","_emitError_decorators","_classDecorators","element","_classExtraInitializers","_classSuper","HTMLElement","_instanceExtraInitializers","_tracks_initializers","_tracks_extraInitializers","_currentTrackIndex_initializers","_currentTrackIndex_extraInitializers","_currentTrack_initializers","_currentTrack_extraInitializers","_volume_initializers","_volume_extraInitializers","_muted_initializers","_muted_extraInitializers","_shuffle_initializers","_shuffle_extraInitializers","_repeat_initializers","_repeat_extraInitializers","_state_initializers","_state_extraInitializers","_autoplay_initializers","_autoplay_extraInitializers","_showPlaylist_initializers","_showPlaylist_extraInitializers","_showControls_initializers","_showControls_extraInitializers","_showVolume_initializers","_showVolume_extraInitializers","_showArtwork_initializers","_showArtwork_extraInitializers","_showTrackInfo_initializers","_showTrackInfo_extraInitializers","_compact_initializers","_compact_extraInitializers","_showVolumeSlider_initializers","_showVolumeSlider_extraInitializers","_progressElement_initializers","_progressElement_extraInitializers","_volumeSlider_initializers","_volumeSlider_extraInitializers","this","_metadata","Symbol","metadata","create","property","type","Array","Number","attribute","String","Boolean","query","styles","ready","dispose","watch","render","dispatch","bubbles","composed","static","private","has","obj","componentStyles","cleanup","handleTracksChange","handleCurrentTrackChange","handleVolumeChange","handleMutedChange","renderPlayer","emitPlay","emitPause","emitStop","emitTrackChange","emitTrackEnded","emitSeek","emitVolumeChange","emitShuffleChange","emitRepeatChange","emitError","tracks","currentTrackIndex","currentTrack","volume","muted","shuffle","repeat","state","autoplay","showPlaylist","showControls","showVolume","showArtwork","showTrackInfo","compact","showVolumeSlider","progressElement","volumeSlider","enumerable","configurable","writable","css","audioElement","Audio","addEventListener","duration","startUpdateInterval","ended","stopUpdateInterval","handleTrackEnded","Error","currentTime","loadTrack","stop","pause","src","shuffleQueue","oldVal","newVal","index","findIndex","t","id","style","setProperty","getCurrentTrack","progress","html","artwork","title","artist","album","toggleShuffle","previous","play","next","cycleRepeat","formatTime","e","handleSeek","toggleVolumeSlider","toString","handleVolumeSlider","map","track","error","nextIndex","getNextShuffleIndex","seek","prevIndex","shuffleHistory","pop","time","setVolume","initializeShuffleQueue","setRepeat","mode","wasPlaying","load","toggleMute","modes","indexOf","rect","getBoundingClientRect","seekTime","clientX","left","width","input","parseFloat","shift","indices","j","Math","floor","random","updateInterval","window","setInterval","clearInterval","seconds","isNaN","Infinity","padStart","player","constructor","super"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"snice-music-player.min.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../components/music-player/snice-music-player.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, styles, ready, dispose, watch, render, dispatch, css, html } from 'snice';\n\nvar playerStyles = \":host{display:block;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);contain:layout style paint}.player-container{background:var(--snice-color-background,rgb(255 255 255));border:1px solid var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-lg,.5rem);padding:var(--snice-spacing-lg,1.5rem);box-shadow:var(--snice-shadow-md,0 4px 6px -1px rgb(0 0 0 / .1),0 2px 4px -2px rgb(0 0 0 / .1))}.player-info{display:flex;align-items:center;gap:var(--snice-spacing-md,1rem);margin-bottom:var(--snice-spacing-lg,1.5rem)}.player-artwork{flex-shrink:0;width:5rem;height:5rem;border-radius:var(--snice-border-radius-md,.25rem);overflow:hidden;background:var(--snice-color-background-secondary,rgb(250 250 250));display:flex;align-items:center;justify-content:center}.player-artwork img{width:100%;height:100%;object-fit:cover}.player-artwork-placeholder{color:var(--snice-color-text-tertiary,rgb(115 115 115))}.player-track-info{flex:1;min-width:0}.player-track-title{font-size:var(--snice-font-size-lg, 1.125rem);font-weight:var(--snice-font-weight-semibold,600);color:var(--snice-color-text,rgb(23 23 23));margin-bottom:var(--snice-spacing-3xs,.125rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-track-artist{font-size:var(--snice-font-size-sm, .875rem);color:var(--snice-color-text-secondary,rgb(82 82 82));margin-bottom:var(--snice-spacing-3xs,.125rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-track-album{font-size:var(--snice-font-size-xs, .75rem);color:var(--snice-color-text-tertiary,rgb(115 115 115));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-controls{margin-bottom:var(--snice-spacing-md,1rem);overflow:visible}.player-control-buttons{display:flex;align-items:center;justify-content:center;gap:var(--snice-spacing-sm,.75rem);margin-bottom:var(--snice-spacing-md,1rem)}.player-btn{background:0 0;border:none;cursor:pointer;padding:var(--snice-spacing-xs,.5rem);border-radius:var(--snice-border-radius-md,.25rem);color:var(--snice-color-text,rgb(23 23 23));display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--snice-transition-fast, 150ms) ease}.player-btn:hover:not(:disabled){background:var(--snice-color-background-hover,rgb(241 241 241))}.player-btn:active:not(:disabled){background:var(--snice-color-background-active,rgb(226 226 226))}.player-btn:disabled{opacity:.5;cursor:not-allowed}.player-btn.active{color:var(--snice-color-primary,rgb(37 99 235))}.player-btn-play-pause{background:var(--snice-color-primary,rgb(37 99 235));color:var(--snice-color-text-inverse,rgb(250 250 250));padding:var(--snice-spacing-md,1rem);border-radius:var(--snice-border-radius-circle,50%)}.player-btn-play-pause:active:not(:disabled),.player-btn-play-pause:hover:not(:disabled){background:var(--snice-color-primary-hover,rgb(29 78 216))}.player-progress-container{display:flex;align-items:center;gap:var(--snice-spacing-sm,.75rem);position:relative}.player-time{font-size:var(--snice-font-size-xs, .75rem);font-variant-numeric:tabular-nums;color:var(--snice-color-text-secondary,rgb(82 82 82));min-width:2.5rem}.player-time-current{text-align:right}.player-progress{flex:1;height:.375rem;background:var(--snice-color-background-secondary,rgb(250 250 250));border-radius:var(--snice-border-radius-pill,9999px);cursor:pointer;position:relative;overflow:hidden}.player-progress:hover{background:var(--snice-color-background-tertiary,rgb(241 241 241))}.player-progress-bar{height:100%;background:var(--snice-color-primary,rgb(37 99 235));border-radius:var(--snice-border-radius-pill,9999px);transition:width .1s linear}.player-volume{display:flex;align-items:center;gap:var(--snice-spacing-xs,.5rem);margin-left:var(--snice-spacing-sm,.75rem)}.player-btn-volume{flex-shrink:0}.player-volume-slider-container{display:flex;align-items:center}.player-volume-slider{-webkit-appearance:none;appearance:none;width:5rem;height:.375rem;background:linear-gradient(to right,var(--snice-color-primary,rgb(37 99 235)) 0,var(--snice-color-primary,rgb(37 99 235)) var(--volume-percent,100%),var(--snice-color-background-secondary,rgb(250 250 250)) var(--volume-percent,100%),var(--snice-color-background-secondary,rgb(250 250 250)) 100%);border-radius:var(--snice-border-radius-pill,9999px);outline:0;cursor:pointer}.player-volume-slider::-webkit-slider-runnable-track{width:100%;height:.375rem;background:0 0;border-radius:var(--snice-border-radius-pill,9999px)}.player-volume-slider::-moz-range-track{width:100%;height:.375rem;background:var(--snice-color-background-secondary,rgb(250 250 250));border-radius:var(--snice-border-radius-pill,9999px)}.player-volume-slider::-moz-range-progress{height:.375rem;background:var(--snice-color-primary,rgb(37 99 235));border-radius:var(--snice-border-radius-pill,9999px)}.player-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:.875rem;height:.875rem;background:var(--snice-color-primary,rgb(37 99 235));border-radius:var(--snice-border-radius-circle,50%);cursor:pointer;transition:transform var(--snice-transition-fast, 150ms) ease;margin-top:-.25rem}.player-volume-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.player-volume-slider::-moz-range-thumb{width:.875rem;height:.875rem;background:var(--snice-color-primary,rgb(37 99 235));border:none;border-radius:var(--snice-border-radius-circle,50%);cursor:pointer;transition:transform var(--snice-transition-fast, 150ms) ease}.player-volume-slider::-moz-range-thumb:hover{transform:scale(1.15)}.player-playlist{border-top:1px solid var(--snice-color-border,rgb(226 226 226));padding-top:var(--snice-spacing-md,1rem);margin-top:var(--snice-spacing-md,1rem)}.player-playlist-header{font-size:var(--snice-font-size-sm, .875rem);font-weight:var(--snice-font-weight-semibold,600);color:var(--snice-color-text,rgb(23 23 23));margin-bottom:var(--snice-spacing-sm,.75rem)}.player-playlist-items{display:flex;flex-direction:column;gap:var(--snice-spacing-2xs,.25rem);max-height:15rem;overflow-y:auto}.player-playlist-item{display:flex;align-items:center;gap:var(--snice-spacing-sm,.75rem);padding:var(--snice-spacing-sm,.75rem);border-radius:var(--snice-border-radius-md,.25rem);cursor:pointer;transition:background-color var(--snice-transition-fast, 150ms) ease}.player-playlist-item:hover{background:var(--snice-color-background-hover,rgb(241 241 241))}.player-playlist-item.active{background:var(--snice-color-primary-subtle,rgb(239 246 255))}.player-playlist-item.active .player-playlist-item-title{color:var(--snice-color-primary,rgb(37 99 235));font-weight:var(--snice-font-weight-medium,500)}.player-playlist-item-number{font-size:var(--snice-font-size-xs, .75rem);font-variant-numeric:tabular-nums;color:var(--snice-color-text-tertiary,rgb(115 115 115));width:1.5rem;text-align:center;flex-shrink:0}.player-playlist-item-artwork{width:2.5rem;height:2.5rem;border-radius:var(--snice-border-radius-sm,.125rem);object-fit:cover;flex-shrink:0}.player-playlist-item-info{flex:1;min-width:0}.player-playlist-item-title{font-size:var(--snice-font-size-sm, .875rem);color:var(--snice-color-text,rgb(23 23 23));margin-bottom:var(--snice-spacing-3xs,.125rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-playlist-item-artist{font-size:var(--snice-font-size-xs, .75rem);color:var(--snice-color-text-secondary,rgb(82 82 82));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-playlist-item-duration{font-size:var(--snice-font-size-xs, .75rem);font-variant-numeric:tabular-nums;color:var(--snice-color-text-tertiary,rgb(115 115 115));flex-shrink:0}.player-playlist-items::-webkit-scrollbar{width:.5rem}.player-playlist-items::-webkit-scrollbar-track{background:var(--snice-color-background-secondary,rgb(250 250 250));border-radius:var(--snice-border-radius-pill,9999px)}.player-playlist-items::-webkit-scrollbar-thumb{background:var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-pill,9999px)}.player-playlist-items::-webkit-scrollbar-thumb:hover{background:var(--snice-color-border-hover,rgb(204 204 204))}.player-container--compact{padding:var(--snice-spacing-sm,.75rem);display:flex;align-items:center;gap:var(--snice-spacing-md,1rem)}.player-container--compact .player-info{gap:var(--snice-spacing-sm,.75rem);margin-bottom:0;flex-shrink:0}.player-container--compact .player-artwork{width:3rem;height:3rem}.player-container--compact .player-track-title{font-size:var(--snice-font-size-sm, .875rem)}.player-container--compact .player-track-artist{font-size:var(--snice-font-size-xs, .75rem)}.player-container--compact .player-track-album{display:none}.player-container--compact .player-controls{flex:1;margin-bottom:0;display:flex;align-items:center;gap:var(--snice-spacing-sm,.75rem)}.player-container--compact .player-control-buttons{gap:var(--snice-spacing-xs,.5rem);margin-bottom:0}.player-container--compact .player-btn{padding:var(--snice-spacing-2xs,.25rem)}.player-container--compact .player-btn svg{width:1.25rem;height:1.25rem}.player-container--compact .player-btn-play-pause{padding:var(--snice-spacing-xs,.5rem)}.player-container--compact .player-btn-play-pause svg{width:1.5rem;height:1.5rem}.player-container--compact .player-progress-container{flex:1}.player-container--compact .player-time{font-size:var(--snice-font-size-2xs, .625rem);min-width:2rem}\";\n\nlet SniceMusicPlayer = (() => {\n let _classDecorators = [element('snice-music-player')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _tracks_decorators;\n let _tracks_initializers = [];\n let _tracks_extraInitializers = [];\n let _currentTrackIndex_decorators;\n let _currentTrackIndex_initializers = [];\n let _currentTrackIndex_extraInitializers = [];\n let _currentTrack_decorators;\n let _currentTrack_initializers = [];\n let _currentTrack_extraInitializers = [];\n let _volume_decorators;\n let _volume_initializers = [];\n let _volume_extraInitializers = [];\n let _muted_decorators;\n let _muted_initializers = [];\n let _muted_extraInitializers = [];\n let _shuffle_decorators;\n let _shuffle_initializers = [];\n let _shuffle_extraInitializers = [];\n let _repeat_decorators;\n let _repeat_initializers = [];\n let _repeat_extraInitializers = [];\n let _state_decorators;\n let _state_initializers = [];\n let _state_extraInitializers = [];\n let _autoplay_decorators;\n let _autoplay_initializers = [];\n let _autoplay_extraInitializers = [];\n let _showPlaylist_decorators;\n let _showPlaylist_initializers = [];\n let _showPlaylist_extraInitializers = [];\n let _showControls_decorators;\n let _showControls_initializers = [];\n let _showControls_extraInitializers = [];\n let _showVolume_decorators;\n let _showVolume_initializers = [];\n let _showVolume_extraInitializers = [];\n let _showArtwork_decorators;\n let _showArtwork_initializers = [];\n let _showArtwork_extraInitializers = [];\n let _showTrackInfo_decorators;\n let _showTrackInfo_initializers = [];\n let _showTrackInfo_extraInitializers = [];\n let _compact_decorators;\n let _compact_initializers = [];\n let _compact_extraInitializers = [];\n let _showVolumeSlider_decorators;\n let _showVolumeSlider_initializers = [];\n let _showVolumeSlider_extraInitializers = [];\n let _progressElement_decorators;\n let _progressElement_initializers = [];\n let _progressElement_extraInitializers = [];\n let _volumeSlider_decorators;\n let _volumeSlider_initializers = [];\n let _volumeSlider_extraInitializers = [];\n let _componentStyles_decorators;\n let _init_decorators;\n let _cleanup_decorators;\n let _handleTracksChange_decorators;\n let _handleCurrentTrackChange_decorators;\n let _handleVolumeChange_decorators;\n let _handleMutedChange_decorators;\n let _renderPlayer_decorators;\n let _emitPlay_decorators;\n let _emitPause_decorators;\n let _emitStop_decorators;\n let _emitTrackChange_decorators;\n let _emitTrackEnded_decorators;\n let _emitSeek_decorators;\n let _emitVolumeChange_decorators;\n let _emitShuffleChange_decorators;\n let _emitRepeatChange_decorators;\n let _emitTimeUpdate_decorators;\n let _emitError_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _tracks_decorators = [property({ type: Array })];\n _currentTrackIndex_decorators = [property({ type: Number, attribute: 'current-track-index' })];\n _currentTrack_decorators = [property({ type: String, attribute: 'current-track' })];\n _volume_decorators = [property({ type: Number })];\n _muted_decorators = [property({ type: Boolean })];\n _shuffle_decorators = [property({ type: Boolean })];\n _repeat_decorators = [property({ type: String })];\n _state_decorators = [property({ type: String })];\n _autoplay_decorators = [property({ type: Boolean })];\n _showPlaylist_decorators = [property({ type: Boolean, attribute: 'show-playlist' })];\n _showControls_decorators = [property({ type: Boolean, attribute: 'show-controls' })];\n _showVolume_decorators = [property({ type: Boolean, attribute: 'show-volume' })];\n _showArtwork_decorators = [property({ type: Boolean, attribute: 'show-artwork' })];\n _showTrackInfo_decorators = [property({ type: Boolean, attribute: 'show-track-info' })];\n _compact_decorators = [property({ type: Boolean })];\n _showVolumeSlider_decorators = [property({ type: Boolean, attribute: 'show-volume-slider' })];\n _progressElement_decorators = [query('.player-progress')];\n _volumeSlider_decorators = [query('.player-volume-slider')];\n _componentStyles_decorators = [styles()];\n _init_decorators = [ready()];\n _cleanup_decorators = [dispose()];\n _handleTracksChange_decorators = [watch('tracks')];\n _handleCurrentTrackChange_decorators = [watch('currentTrack')];\n _handleVolumeChange_decorators = [watch('volume')];\n _handleMutedChange_decorators = [watch('muted')];\n _renderPlayer_decorators = [render()];\n _emitPlay_decorators = [dispatch('player-play', { bubbles: true, composed: true })];\n _emitPause_decorators = [dispatch('player-pause', { bubbles: true, composed: true })];\n _emitStop_decorators = [dispatch('player-stop', { bubbles: true, composed: true })];\n _emitTrackChange_decorators = [dispatch('player-track-change', { bubbles: true, composed: true })];\n _emitTrackEnded_decorators = [dispatch('player-track-ended', { bubbles: true, composed: true })];\n _emitSeek_decorators = [dispatch('player-seek', { bubbles: true, composed: true })];\n _emitVolumeChange_decorators = [dispatch('player-volume-change', { bubbles: true, composed: true })];\n _emitShuffleChange_decorators = [dispatch('player-shuffle-change', { bubbles: true, composed: true })];\n _emitRepeatChange_decorators = [dispatch('player-repeat-change', { bubbles: true, composed: true })];\n _emitTimeUpdate_decorators = [dispatch('player-time-update', { bubbles: true, composed: true })];\n _emitError_decorators = [dispatch('player-error', { bubbles: true, composed: true })];\n __esDecorate(this, null, _componentStyles_decorators, { kind: \"method\", name: \"componentStyles\", static: false, private: false, access: { has: obj => \"componentStyles\" in obj, get: obj => obj.componentStyles }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _init_decorators, { kind: \"method\", name: \"init\", static: false, private: false, access: { has: obj => \"init\" in obj, get: obj => obj.init }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _cleanup_decorators, { kind: \"method\", name: \"cleanup\", static: false, private: false, access: { has: obj => \"cleanup\" in obj, get: obj => obj.cleanup }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleTracksChange_decorators, { kind: \"method\", name: \"handleTracksChange\", static: false, private: false, access: { has: obj => \"handleTracksChange\" in obj, get: obj => obj.handleTracksChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleCurrentTrackChange_decorators, { kind: \"method\", name: \"handleCurrentTrackChange\", static: false, private: false, access: { has: obj => \"handleCurrentTrackChange\" in obj, get: obj => obj.handleCurrentTrackChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleVolumeChange_decorators, { kind: \"method\", name: \"handleVolumeChange\", static: false, private: false, access: { has: obj => \"handleVolumeChange\" in obj, get: obj => obj.handleVolumeChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleMutedChange_decorators, { kind: \"method\", name: \"handleMutedChange\", static: false, private: false, access: { has: obj => \"handleMutedChange\" in obj, get: obj => obj.handleMutedChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _renderPlayer_decorators, { kind: \"method\", name: \"renderPlayer\", static: false, private: false, access: { has: obj => \"renderPlayer\" in obj, get: obj => obj.renderPlayer }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitPlay_decorators, { kind: \"method\", name: \"emitPlay\", static: false, private: false, access: { has: obj => \"emitPlay\" in obj, get: obj => obj.emitPlay }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitPause_decorators, { kind: \"method\", name: \"emitPause\", static: false, private: false, access: { has: obj => \"emitPause\" in obj, get: obj => obj.emitPause }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitStop_decorators, { kind: \"method\", name: \"emitStop\", static: false, private: false, access: { has: obj => \"emitStop\" in obj, get: obj => obj.emitStop }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitTrackChange_decorators, { kind: \"method\", name: \"emitTrackChange\", static: false, private: false, access: { has: obj => \"emitTrackChange\" in obj, get: obj => obj.emitTrackChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitTrackEnded_decorators, { kind: \"method\", name: \"emitTrackEnded\", static: false, private: false, access: { has: obj => \"emitTrackEnded\" in obj, get: obj => obj.emitTrackEnded }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitSeek_decorators, { kind: \"method\", name: \"emitSeek\", static: false, private: false, access: { has: obj => \"emitSeek\" in obj, get: obj => obj.emitSeek }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitVolumeChange_decorators, { kind: \"method\", name: \"emitVolumeChange\", static: false, private: false, access: { has: obj => \"emitVolumeChange\" in obj, get: obj => obj.emitVolumeChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitShuffleChange_decorators, { kind: \"method\", name: \"emitShuffleChange\", static: false, private: false, access: { has: obj => \"emitShuffleChange\" in obj, get: obj => obj.emitShuffleChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitRepeatChange_decorators, { kind: \"method\", name: \"emitRepeatChange\", static: false, private: false, access: { has: obj => \"emitRepeatChange\" in obj, get: obj => obj.emitRepeatChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitTimeUpdate_decorators, { kind: \"method\", name: \"emitTimeUpdate\", static: false, private: false, access: { has: obj => \"emitTimeUpdate\" in obj, get: obj => obj.emitTimeUpdate }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitError_decorators, { kind: \"method\", name: \"emitError\", static: false, private: false, access: { has: obj => \"emitError\" in obj, get: obj => obj.emitError }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _tracks_decorators, { kind: \"field\", name: \"tracks\", static: false, private: false, access: { has: obj => \"tracks\" in obj, get: obj => obj.tracks, set: (obj, value) => { obj.tracks = value; } }, metadata: _metadata }, _tracks_initializers, _tracks_extraInitializers);\n __esDecorate(null, null, _currentTrackIndex_decorators, { kind: \"field\", name: \"currentTrackIndex\", static: false, private: false, access: { has: obj => \"currentTrackIndex\" in obj, get: obj => obj.currentTrackIndex, set: (obj, value) => { obj.currentTrackIndex = value; } }, metadata: _metadata }, _currentTrackIndex_initializers, _currentTrackIndex_extraInitializers);\n __esDecorate(null, null, _currentTrack_decorators, { kind: \"field\", name: \"currentTrack\", static: false, private: false, access: { has: obj => \"currentTrack\" in obj, get: obj => obj.currentTrack, set: (obj, value) => { obj.currentTrack = value; } }, metadata: _metadata }, _currentTrack_initializers, _currentTrack_extraInitializers);\n __esDecorate(null, null, _volume_decorators, { kind: \"field\", name: \"volume\", static: false, private: false, access: { has: obj => \"volume\" in obj, get: obj => obj.volume, set: (obj, value) => { obj.volume = value; } }, metadata: _metadata }, _volume_initializers, _volume_extraInitializers);\n __esDecorate(null, null, _muted_decorators, { kind: \"field\", name: \"muted\", static: false, private: false, access: { has: obj => \"muted\" in obj, get: obj => obj.muted, set: (obj, value) => { obj.muted = value; } }, metadata: _metadata }, _muted_initializers, _muted_extraInitializers);\n __esDecorate(null, null, _shuffle_decorators, { kind: \"field\", name: \"shuffle\", static: false, private: false, access: { has: obj => \"shuffle\" in obj, get: obj => obj.shuffle, set: (obj, value) => { obj.shuffle = value; } }, metadata: _metadata }, _shuffle_initializers, _shuffle_extraInitializers);\n __esDecorate(null, null, _repeat_decorators, { kind: \"field\", name: \"repeat\", static: false, private: false, access: { has: obj => \"repeat\" in obj, get: obj => obj.repeat, set: (obj, value) => { obj.repeat = value; } }, metadata: _metadata }, _repeat_initializers, _repeat_extraInitializers);\n __esDecorate(null, null, _state_decorators, { kind: \"field\", name: \"state\", static: false, private: false, access: { has: obj => \"state\" in obj, get: obj => obj.state, set: (obj, value) => { obj.state = value; } }, metadata: _metadata }, _state_initializers, _state_extraInitializers);\n __esDecorate(null, null, _autoplay_decorators, { kind: \"field\", name: \"autoplay\", static: false, private: false, access: { has: obj => \"autoplay\" in obj, get: obj => obj.autoplay, set: (obj, value) => { obj.autoplay = value; } }, metadata: _metadata }, _autoplay_initializers, _autoplay_extraInitializers);\n __esDecorate(null, null, _showPlaylist_decorators, { kind: \"field\", name: \"showPlaylist\", static: false, private: false, access: { has: obj => \"showPlaylist\" in obj, get: obj => obj.showPlaylist, set: (obj, value) => { obj.showPlaylist = value; } }, metadata: _metadata }, _showPlaylist_initializers, _showPlaylist_extraInitializers);\n __esDecorate(null, null, _showControls_decorators, { kind: \"field\", name: \"showControls\", static: false, private: false, access: { has: obj => \"showControls\" in obj, get: obj => obj.showControls, set: (obj, value) => { obj.showControls = value; } }, metadata: _metadata }, _showControls_initializers, _showControls_extraInitializers);\n __esDecorate(null, null, _showVolume_decorators, { kind: \"field\", name: \"showVolume\", static: false, private: false, access: { has: obj => \"showVolume\" in obj, get: obj => obj.showVolume, set: (obj, value) => { obj.showVolume = value; } }, metadata: _metadata }, _showVolume_initializers, _showVolume_extraInitializers);\n __esDecorate(null, null, _showArtwork_decorators, { kind: \"field\", name: \"showArtwork\", static: false, private: false, access: { has: obj => \"showArtwork\" in obj, get: obj => obj.showArtwork, set: (obj, value) => { obj.showArtwork = value; } }, metadata: _metadata }, _showArtwork_initializers, _showArtwork_extraInitializers);\n __esDecorate(null, null, _showTrackInfo_decorators, { kind: \"field\", name: \"showTrackInfo\", static: false, private: false, access: { has: obj => \"showTrackInfo\" in obj, get: obj => obj.showTrackInfo, set: (obj, value) => { obj.showTrackInfo = value; } }, metadata: _metadata }, _showTrackInfo_initializers, _showTrackInfo_extraInitializers);\n __esDecorate(null, null, _compact_decorators, { kind: \"field\", name: \"compact\", static: false, private: false, access: { has: obj => \"compact\" in obj, get: obj => obj.compact, set: (obj, value) => { obj.compact = value; } }, metadata: _metadata }, _compact_initializers, _compact_extraInitializers);\n __esDecorate(null, null, _showVolumeSlider_decorators, { kind: \"field\", name: \"showVolumeSlider\", static: false, private: false, access: { has: obj => \"showVolumeSlider\" in obj, get: obj => obj.showVolumeSlider, set: (obj, value) => { obj.showVolumeSlider = value; } }, metadata: _metadata }, _showVolumeSlider_initializers, _showVolumeSlider_extraInitializers);\n __esDecorate(null, null, _progressElement_decorators, { kind: \"field\", name: \"progressElement\", static: false, private: false, access: { has: obj => \"progressElement\" in obj, get: obj => obj.progressElement, set: (obj, value) => { obj.progressElement = value; } }, metadata: _metadata }, _progressElement_initializers, _progressElement_extraInitializers);\n __esDecorate(null, null, _volumeSlider_decorators, { kind: \"field\", name: \"volumeSlider\", static: false, private: false, access: { has: obj => \"volumeSlider\" in obj, get: obj => obj.volumeSlider, set: (obj, value) => { obj.volumeSlider = value; } }, metadata: _metadata }, _volumeSlider_initializers, _volumeSlider_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n componentStyles() {\n return css /*css*/ `${playerStyles}`;\n }\n init() {\n this.audioElement = new Audio();\n this.audioElement.volume = this.volume;\n this.audioElement.muted = this.muted;\n // Set up audio event listeners\n this.audioElement.addEventListener('loadedmetadata', () => {\n this.duration = this.audioElement.duration;\n this.state = this.state === 'loading' ? 'paused' : this.state;\n });\n this.audioElement.addEventListener('play', () => {\n this.state = 'playing';\n this.startUpdateInterval();\n });\n this.audioElement.addEventListener('pause', () => {\n if (!this.audioElement.ended) {\n this.state = 'paused';\n }\n this.stopUpdateInterval();\n });\n this.audioElement.addEventListener('ended', () => {\n this.handleTrackEnded();\n });\n this.audioElement.addEventListener('error', () => {\n this.state = 'error';\n this.emitError(new Error('Failed to load track'));\n });\n this.audioElement.addEventListener('timeupdate', () => {\n this.currentTime = this.audioElement.currentTime;\n this.emitTimeUpdate();\n });\n // Load first track if available\n if (this.tracks.length > 0) {\n this.loadTrack(this.currentTrackIndex);\n }\n }\n cleanup() {\n this.stop();\n this.stopUpdateInterval();\n if (this.audioElement) {\n this.audioElement.pause();\n this.audioElement.src = '';\n this.audioElement = null;\n }\n }\n handleTracksChange() {\n if (this.tracks.length > 0 && this.currentTrackIndex >= this.tracks.length) {\n this.currentTrackIndex = 0;\n }\n // Reset shuffle queue when tracks change\n if (this.shuffle) {\n this.shuffleQueue = [];\n }\n if (this.tracks.length > 0 && this.audioElement && !this.audioElement.src) {\n this.loadTrack(this.currentTrackIndex);\n }\n }\n handleCurrentTrackChange(oldVal, newVal) {\n if (!newVal || newVal === oldVal)\n return;\n // Find track by ID and load it\n const index = this.tracks.findIndex(t => t.id === newVal);\n if (index >= 0 && index !== this.currentTrackIndex) {\n this.loadTrack(index);\n }\n }\n handleVolumeChange(oldVal, newVal) {\n if (this.audioElement && newVal >= 0 && newVal <= 1) {\n this.audioElement.volume = newVal;\n }\n // Update volume slider fill\n if (this.volumeSlider) {\n this.volumeSlider.style.setProperty('--volume-percent', `${newVal * 100}%`);\n }\n }\n handleMutedChange(oldVal, newVal) {\n if (this.audioElement) {\n this.audioElement.muted = newVal;\n }\n }\n renderPlayer() {\n const currentTrack = this.getCurrentTrack();\n const progress = this.duration > 0 ? (this.currentTime / this.duration) * 100 : 0;\n return html /*html*/ `\n <div class=\"player-container ${this.compact ? 'player-container--compact' : ''}\">\n <if ${this.showArtwork || this.showTrackInfo}>\n <div class=\"player-info\">\n <if ${this.showArtwork}>\n <div class=\"player-artwork\">\n <if ${currentTrack?.artwork}>\n <img src=\"${currentTrack?.artwork}\" alt=\"${currentTrack?.title || 'Track artwork'}\" />\n </if>\n <if ${!currentTrack?.artwork}>\n <div class=\"player-artwork-placeholder\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"48\" height=\"48\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <circle cx=\"12\" cy=\"12\" r=\"10\"></circle>\n <circle cx=\"12\" cy=\"12\" r=\"3\"></circle>\n </svg>\n </div>\n </if>\n </div>\n </if>\n\n <if ${this.showTrackInfo}>\n <div class=\"player-track-info\">\n <div class=\"player-track-title\">${currentTrack?.title || 'No track loaded'}</div>\n <if ${currentTrack?.artist}>\n <div class=\"player-track-artist\">${currentTrack?.artist}</div>\n </if>\n <if ${currentTrack?.album}>\n <div class=\"player-track-album\">${currentTrack?.album}</div>\n </if>\n </div>\n </if>\n </div>\n </if>\n\n <if ${this.showControls}>\n <div class=\"player-controls\">\n <div class=\"player-control-buttons\">\n <button\n class=\"player-btn player-btn-shuffle ${this.shuffle ? 'active' : ''}\"\n @click=${() => this.toggleShuffle()}\n title=\"Shuffle\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <path d=\"M16 3h5v5M4 20L21 3M21 16v5h-5M15 15l6 6M4 4l5 5\"/>\n </svg>\n </button>\n\n <button\n class=\"player-btn player-btn-prev\"\n @click=${() => this.previous()}\n title=\"Previous\"\n ?disabled=${this.tracks.length === 0}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M6 6h2v12H6zm3.5 6l8.5 6V6z\"/>\n </svg>\n </button>\n\n <button\n class=\"player-btn player-btn-play-pause ${this.state === 'playing' ? 'playing' : ''}\"\n @click=${() => this.state === 'playing' ? this.pause() : this.play()}\n title=\"${this.state === 'playing' ? 'Pause' : 'Play'}\"\n ?disabled=${this.tracks.length === 0}\n >\n <if ${this.state === 'playing'}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <rect x=\"6\" y=\"4\" width=\"4\" height=\"16\"></rect>\n <rect x=\"14\" y=\"4\" width=\"4\" height=\"16\"></rect>\n </svg>\n </if>\n <if ${this.state !== 'playing'}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M8 5v14l11-7z\"/>\n </svg>\n </if>\n </button>\n\n <button\n class=\"player-btn player-btn-next\"\n @click=${() => this.next()}\n title=\"Next\"\n ?disabled=${this.tracks.length === 0}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M16 18h2V6h-2zM6 18l8.5-6L6 6z\"/>\n </svg>\n </button>\n\n <button\n class=\"player-btn player-btn-repeat ${this.repeat !== 'off' ? 'active' : ''}\"\n @click=${() => this.cycleRepeat()}\n title=\"Repeat ${this.repeat}\"\n >\n <if ${this.repeat === 'one'}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <path d=\"M17 1l4 4-4 4\"/>\n <path d=\"M3 11V9a4 4 0 0 1 4-4h14\"/>\n <path d=\"M7 23l-4-4 4-4\"/>\n <path d=\"M21 13v2a4 4 0 0 1-4 4H3\"/>\n <text x=\"12\" y=\"15\" font-size=\"8\" text-anchor=\"middle\" fill=\"currentColor\">1</text>\n </svg>\n </if>\n <if ${this.repeat !== 'one'}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <path d=\"M17 1l4 4-4 4\"/>\n <path d=\"M3 11V9a4 4 0 0 1 4-4h14\"/>\n <path d=\"M7 23l-4-4 4-4\"/>\n <path d=\"M21 13v2a4 4 0 0 1-4 4H3\"/>\n </svg>\n </if>\n </button>\n </div>\n\n <div class=\"player-progress-container\">\n <span class=\"player-time player-time-current\">${this.formatTime(this.currentTime)}</span>\n <div class=\"player-progress\" @click=${(e) => this.handleSeek(e)}>\n <div class=\"player-progress-bar\" style=\"width: ${progress}%\"></div>\n </div>\n <span class=\"player-time player-time-duration\">${this.formatTime(this.duration)}</span>\n <if ${this.showVolume}>\n <div class=\"player-volume\">\n <button\n class=\"player-btn player-btn-volume\"\n @click=${() => this.toggleVolumeSlider()}\n title=\"Volume\"\n >\n <if ${this.muted || this.volume === 0}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <path d=\"M11 5L6 9H2v6h4l5 4V5z\"/>\n <line x1=\"23\" y1=\"9\" x2=\"17\" y2=\"15\"/>\n <line x1=\"17\" y1=\"9\" x2=\"23\" y2=\"15\"/>\n </svg>\n </if>\n <if ${!this.muted && this.volume > 0.5}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <path d=\"M11 5L6 9H2v6h4l5 4V5z\"/>\n <path d=\"M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07\"/>\n </svg>\n </if>\n <if ${!this.muted && this.volume > 0 && this.volume <= 0.5}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <path d=\"M11 5L6 9H2v6h4l5 4V5z\"/>\n <path d=\"M15.54 8.46a5 5 0 0 1 0 7.07\"/>\n </svg>\n </if>\n </button>\n <if ${this.showVolumeSlider}>\n <div class=\"player-volume-slider-container\">\n <input\n class=\"player-volume-slider\"\n type=\"range\"\n min=\"0\"\n max=\"1\"\n step=\"0.01\"\n .value=${this.volume.toString()}\n style=\"--volume-percent: ${this.volume * 100}%\"\n @input=${(e) => this.handleVolumeSlider(e)}\n />\n </div>\n </if>\n </div>\n </if>\n </div>\n </div>\n </if>\n\n <if ${this.showPlaylist && this.tracks.length > 0}>\n <div class=\"player-playlist\">\n <div class=\"player-playlist-header\">Playlist</div>\n <div class=\"player-playlist-items\">\n ${this.tracks.map((track, index) => html /*html*/ `\n <div\n class=\"player-playlist-item ${index === this.currentTrackIndex ? 'active' : ''}\"\n @click=${() => this.loadTrack(index)}\n key=${track.id}\n >\n <div class=\"player-playlist-item-number\">${index + 1}</div>\n <if ${track.artwork}>\n <img class=\"player-playlist-item-artwork\" src=\"${track.artwork}\" alt=\"${track.title}\" />\n </if>\n <div class=\"player-playlist-item-info\">\n <div class=\"player-playlist-item-title\">${track.title}</div>\n <if ${track.artist}>\n <div class=\"player-playlist-item-artist\">${track.artist}</div>\n </if>\n </div>\n <if ${track.duration}>\n <div class=\"player-playlist-item-duration\">${this.formatTime(track.duration || 0)}</div>\n </if>\n </div>\n `)}\n </div>\n </div>\n </if>\n </div>\n `;\n }\n async play() {\n if (!this.audioElement || this.tracks.length === 0) {\n return;\n }\n try {\n await this.audioElement.play();\n this.emitPlay();\n }\n catch (error) {\n this.state = 'error';\n this.emitError(error);\n }\n }\n pause() {\n if (!this.audioElement) {\n return;\n }\n this.audioElement.pause();\n this.emitPause();\n }\n stop() {\n if (!this.audioElement) {\n return;\n }\n this.audioElement.pause();\n this.audioElement.currentTime = 0;\n this.currentTime = 0;\n this.state = 'stopped';\n this.emitStop();\n }\n next() {\n if (this.tracks.length === 0) {\n return;\n }\n let nextIndex;\n if (this.shuffle) {\n nextIndex = this.getNextShuffleIndex();\n }\n else {\n nextIndex = this.currentTrackIndex + 1;\n if (nextIndex >= this.tracks.length) {\n nextIndex = 0;\n }\n }\n this.loadTrack(nextIndex);\n if (this.state === 'playing') {\n this.play();\n }\n }\n previous() {\n if (this.tracks.length === 0) {\n return;\n }\n // If we're more than 3 seconds into the track, restart it\n if (this.currentTime > 3) {\n this.seek(0);\n return;\n }\n let prevIndex;\n if (this.shuffle && this.shuffleHistory.length > 0) {\n prevIndex = this.shuffleHistory.pop();\n }\n else {\n prevIndex = this.currentTrackIndex - 1;\n if (prevIndex < 0) {\n prevIndex = this.tracks.length - 1;\n }\n }\n this.loadTrack(prevIndex);\n if (this.state === 'playing') {\n this.play();\n }\n }\n seek(time) {\n if (!this.audioElement) {\n return;\n }\n this.audioElement.currentTime = time;\n this.currentTime = time;\n this.emitSeek(time);\n }\n setVolume(volume) {\n if (volume < 0 || volume > 1) {\n throw new Error('Volume must be between 0 and 1');\n }\n this.volume = volume;\n if (this.volume > 0 && this.muted) {\n this.muted = false;\n }\n this.emitVolumeChange(volume);\n }\n toggleShuffle() {\n this.shuffle = !this.shuffle;\n if (!this.shuffle) {\n this.shuffleHistory = [];\n this.shuffleQueue = [];\n }\n else {\n this.initializeShuffleQueue();\n }\n this.emitShuffleChange(this.shuffle);\n }\n setRepeat(mode) {\n this.repeat = mode;\n this.emitRepeatChange(mode);\n }\n async loadTrack(index) {\n if (index < 0 || index >= this.tracks.length) {\n throw new Error('Invalid track index');\n }\n const wasPlaying = this.state === 'playing';\n this.state = 'loading';\n this.currentTrackIndex = index;\n const track = this.tracks[index];\n this.currentTrack = track.id;\n if (this.audioElement) {\n this.audioElement.src = track.src;\n this.audioElement.load();\n this.currentTime = 0;\n if (wasPlaying || this.autoplay) {\n await this.play();\n }\n }\n this.emitTrackChange(track);\n }\n getCurrentTrack() {\n if (this.currentTrackIndex >= 0 && this.currentTrackIndex < this.tracks.length) {\n return this.tracks[this.currentTrackIndex];\n }\n return null;\n }\n toggleMute() {\n this.muted = !this.muted;\n }\n toggleVolumeSlider() {\n this.showVolumeSlider = !this.showVolumeSlider;\n }\n cycleRepeat() {\n const modes = ['off', 'all', 'one'];\n const currentIndex = modes.indexOf(this.repeat);\n const nextIndex = (currentIndex + 1) % modes.length;\n this.setRepeat(modes[nextIndex]);\n }\n handleSeek(e) {\n if (!this.progressElement || this.duration === 0) {\n return;\n }\n const rect = this.progressElement.getBoundingClientRect();\n const percent = (e.clientX - rect.left) / rect.width;\n const seekTime = percent * this.duration;\n this.seek(seekTime);\n }\n handleVolumeSlider(e) {\n const input = e.target;\n const volume = parseFloat(input.value);\n // Update visual immediately\n input.style.setProperty('--volume-percent', `${volume * 100}%`);\n this.setVolume(volume);\n }\n handleTrackEnded() {\n if (this.repeat === 'one') {\n this.seek(0);\n this.play();\n }\n else if (this.repeat === 'all' || this.currentTrackIndex < this.tracks.length - 1) {\n this.next();\n this.play();\n }\n else {\n this.state = 'stopped';\n this.currentTime = 0;\n }\n this.emitTrackEnded();\n }\n getNextShuffleIndex() {\n if (this.tracks.length === 1) {\n return 0;\n }\n // If queue is empty, create new shuffled queue excluding current track\n if (this.shuffleQueue.length === 0) {\n this.initializeShuffleQueue();\n }\n // Pop next track from queue\n this.shuffleHistory.push(this.currentTrackIndex);\n return this.shuffleQueue.shift();\n }\n initializeShuffleQueue() {\n // Create array of all indices except current track\n const indices = [];\n for (let i = 0; i < this.tracks.length; i++) {\n if (i !== this.currentTrackIndex) {\n indices.push(i);\n }\n }\n // Fisher-Yates shuffle\n for (let i = indices.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [indices[i], indices[j]] = [indices[j], indices[i]];\n }\n this.shuffleQueue = indices;\n }\n startUpdateInterval() {\n this.updateInterval = window.setInterval(() => {\n // Progress is updated via timeupdate event\n }, 100);\n }\n stopUpdateInterval() {\n if (this.updateInterval !== null) {\n clearInterval(this.updateInterval);\n this.updateInterval = null;\n }\n }\n formatTime(seconds) {\n if (isNaN(seconds) || seconds === Infinity) {\n return '0:00';\n }\n const mins = Math.floor(seconds / 60);\n const secs = Math.floor(seconds % 60);\n return `${mins}:${secs.toString().padStart(2, '0')}`;\n }\n emitPlay() {\n return { player: this, track: this.getCurrentTrack() };\n }\n emitPause() {\n return { player: this, track: this.getCurrentTrack() };\n }\n emitStop() {\n return { player: this };\n }\n emitTrackChange(track) {\n return { player: this, track };\n }\n emitTrackEnded() {\n return { player: this, track: this.getCurrentTrack() };\n }\n emitSeek(time) {\n return { player: this, time };\n }\n emitVolumeChange(volume) {\n return { player: this, volume };\n }\n emitShuffleChange(shuffle) {\n return { player: this, shuffle };\n }\n emitRepeatChange(repeat) {\n return { player: this, repeat };\n }\n emitTimeUpdate() {\n return { player: this, currentTime: this.currentTime, duration: this.duration };\n }\n emitError(error) {\n return { player: this, error };\n }\n constructor() {\n super(...arguments);\n this.tracks = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _tracks_initializers, []));\n this.currentTrackIndex = (__runInitializers(this, _tracks_extraInitializers), __runInitializers(this, _currentTrackIndex_initializers, 0));\n this.currentTrack = (__runInitializers(this, _currentTrackIndex_extraInitializers), __runInitializers(this, _currentTrack_initializers, ''));\n this.currentTime = (__runInitializers(this, _currentTrack_extraInitializers), 0);\n this.duration = 0;\n this.volume = __runInitializers(this, _volume_initializers, 1);\n this.muted = (__runInitializers(this, _volume_extraInitializers), __runInitializers(this, _muted_initializers, false));\n this.shuffle = (__runInitializers(this, _muted_extraInitializers), __runInitializers(this, _shuffle_initializers, false));\n this.repeat = (__runInitializers(this, _shuffle_extraInitializers), __runInitializers(this, _repeat_initializers, 'off'));\n this.state = (__runInitializers(this, _repeat_extraInitializers), __runInitializers(this, _state_initializers, 'stopped'));\n this.autoplay = (__runInitializers(this, _state_extraInitializers), __runInitializers(this, _autoplay_initializers, false));\n this.showPlaylist = (__runInitializers(this, _autoplay_extraInitializers), __runInitializers(this, _showPlaylist_initializers, true));\n this.showControls = (__runInitializers(this, _showPlaylist_extraInitializers), __runInitializers(this, _showControls_initializers, true));\n this.showVolume = (__runInitializers(this, _showControls_extraInitializers), __runInitializers(this, _showVolume_initializers, true));\n this.showArtwork = (__runInitializers(this, _showVolume_extraInitializers), __runInitializers(this, _showArtwork_initializers, true));\n this.showTrackInfo = (__runInitializers(this, _showArtwork_extraInitializers), __runInitializers(this, _showTrackInfo_initializers, true));\n this.compact = (__runInitializers(this, _showTrackInfo_extraInitializers), __runInitializers(this, _compact_initializers, false));\n this.showVolumeSlider = (__runInitializers(this, _compact_extraInitializers), __runInitializers(this, _showVolumeSlider_initializers, false));\n this.audioElement = (__runInitializers(this, _showVolumeSlider_extraInitializers), null);\n this.updateInterval = null;\n this.shuffleHistory = [];\n this.shuffleQueue = [];\n this.progressElement = __runInitializers(this, _progressElement_initializers, void 0);\n this.volumeSlider = (__runInitializers(this, _progressElement_extraInitializers), __runInitializers(this, _volumeSlider_initializers, void 0));\n __runInitializers(this, _volumeSlider_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceMusicPlayer };\n//# sourceMappingURL=snice-music-player.js.map\n"],"names":["__esDecorate","ctor","descriptorIn","decorators","contextIn","initializers","extraInitializers","accept","f","TypeError","_","kind","key","target","prototype","descriptor","Object","getOwnPropertyDescriptor","name","done","i","length","context","p","access","addInitializer","push","result","get","set","init","unshift","defineProperty","__runInitializers","thisArg","value","useValue","arguments","call","SuppressedError","SniceMusicPlayer","_classDescriptor","_classThis","_tracks_decorators","_currentTrackIndex_decorators","_currentTrack_decorators","_volume_decorators","_muted_decorators","_shuffle_decorators","_repeat_decorators","_state_decorators","_autoplay_decorators","_showPlaylist_decorators","_showControls_decorators","_showVolume_decorators","_showArtwork_decorators","_showTrackInfo_decorators","_compact_decorators","_showVolumeSlider_decorators","_progressElement_decorators","_volumeSlider_decorators","_componentStyles_decorators","_init_decorators","_cleanup_decorators","_handleTracksChange_decorators","_handleCurrentTrackChange_decorators","_handleVolumeChange_decorators","_handleMutedChange_decorators","_renderPlayer_decorators","_emitPlay_decorators","_emitPause_decorators","_emitStop_decorators","_emitTrackChange_decorators","_emitTrackEnded_decorators","_emitSeek_decorators","_emitVolumeChange_decorators","_emitShuffleChange_decorators","_emitRepeatChange_decorators","_emitTimeUpdate_decorators","_emitError_decorators","_classDecorators","element","_classExtraInitializers","_classSuper","HTMLElement","_instanceExtraInitializers","_tracks_initializers","_tracks_extraInitializers","_currentTrackIndex_initializers","_currentTrackIndex_extraInitializers","_currentTrack_initializers","_currentTrack_extraInitializers","_volume_initializers","_volume_extraInitializers","_muted_initializers","_muted_extraInitializers","_shuffle_initializers","_shuffle_extraInitializers","_repeat_initializers","_repeat_extraInitializers","_state_initializers","_state_extraInitializers","_autoplay_initializers","_autoplay_extraInitializers","_showPlaylist_initializers","_showPlaylist_extraInitializers","_showControls_initializers","_showControls_extraInitializers","_showVolume_initializers","_showVolume_extraInitializers","_showArtwork_initializers","_showArtwork_extraInitializers","_showTrackInfo_initializers","_showTrackInfo_extraInitializers","_compact_initializers","_compact_extraInitializers","_showVolumeSlider_initializers","_showVolumeSlider_extraInitializers","_progressElement_initializers","_progressElement_extraInitializers","_volumeSlider_initializers","_volumeSlider_extraInitializers","this","_metadata","Symbol","metadata","create","property","type","Array","Number","attribute","String","Boolean","query","styles","ready","dispose","watch","render","dispatch","bubbles","composed","static","private","has","obj","componentStyles","cleanup","handleTracksChange","handleCurrentTrackChange","handleVolumeChange","handleMutedChange","renderPlayer","emitPlay","emitPause","emitStop","emitTrackChange","emitTrackEnded","emitSeek","emitVolumeChange","emitShuffleChange","emitRepeatChange","emitTimeUpdate","emitError","tracks","currentTrackIndex","currentTrack","volume","muted","shuffle","repeat","state","autoplay","showPlaylist","showControls","showVolume","showArtwork","showTrackInfo","compact","showVolumeSlider","progressElement","volumeSlider","enumerable","configurable","writable","css","audioElement","Audio","addEventListener","duration","startUpdateInterval","ended","stopUpdateInterval","handleTrackEnded","Error","currentTime","loadTrack","stop","pause","src","shuffleQueue","oldVal","newVal","index","findIndex","t","id","style","setProperty","getCurrentTrack","progress","html","artwork","title","artist","album","toggleShuffle","previous","play","next","cycleRepeat","formatTime","e","handleSeek","toggleVolumeSlider","toString","handleVolumeSlider","map","track","error","nextIndex","getNextShuffleIndex","seek","prevIndex","shuffleHistory","pop","time","setVolume","initializeShuffleQueue","setRepeat","mode","wasPlaying","load","toggleMute","modes","indexOf","rect","getBoundingClientRect","seekTime","clientX","left","width","input","parseFloat","shift","indices","j","Math","floor","random","updateInterval","window","setInterval","clearInterval","seconds","isNaN","Infinity","padStart","player","constructor","super"],"mappings":"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","x_google_ignoreList":[0]}
|