Skip to content

Commit 1ef5e06

Browse files
committed
fix(player): checkVisibility api not available on ios safari
1 parent c82528b commit 1ef5e06

3 files changed

Lines changed: 9 additions & 4 deletions

File tree

packages/vidstack/mangle.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -842,5 +842,6 @@
842842
"_listeners": "Io",
843843
"_plyr": "Lo",
844844
"_ratio": "Ko",
845-
"_source": "Jo"
845+
"_source": "Jo",
846+
"_watchMetadata": "Mo"
846847
}

packages/vidstack/src/elements/define/layouts/slot-observer.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ export class SlotObserver {
2525
}
2626

2727
assign(template: Element | TemplateResult, slot: HTMLSlotElement) {
28-
slot.textContent = '';
29-
3028
if (isDOMNode(template)) {
29+
slot.textContent = '';
3130
slot.append(template);
3231
} else {
3332
render(template, slot);

packages/vidstack/src/utils/dom.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,12 @@ export function isElementVisible(el: HTMLElement) {
9494
}
9595

9696
export function checkVisibility(el: HTMLElement | null) {
97-
return !!el && el.checkVisibility({ checkOpacity: true, checkVisibilityCSS: true });
97+
return (
98+
!!el &&
99+
('checkVisibility' in el
100+
? el.checkVisibility({ checkOpacity: true, checkVisibilityCSS: true })
101+
: isElementVisible(el))
102+
);
98103
}
99104

100105
export function observeVisibility(el: HTMLElement, callback: (isVisible: boolean) => void) {

0 commit comments

Comments
 (0)