diff --git a/node_modules/@ionic/core/components/popover.js b/node_modules/@ionic/core/components/popover.js index 21fb3e3..52ea4a6 100644 --- a/node_modules/@ionic/core/components/popover.js +++ b/node_modules/@ionic/core/components/popover.js @@ -763,8 +763,10 @@ const iosEnterAnimation = (baseEl, opts) => { const { event: ev, size, trigger, reference, side, align } = opts; const doc = baseEl.ownerDocument; const isRTL = doc.dir === 'rtl'; - const bodyWidth = doc.defaultView.innerWidth; - const bodyHeight = doc.defaultView.innerHeight; + // Patched: use document.body.clientXXX instead of doc.defaultView.innerXXXX because the latter doesn't return the correct + // dimensions when the `zoom` CSS property is being used. + const bodyWidth = document.body.clientWidth; + const bodyHeight = document.body.clientHeight; const root = getElementRoot(baseEl); const contentEl = root.querySelector('.popover-content'); const arrowEl = root.querySelector('.popover-arrow'); @@ -884,8 +886,10 @@ const mdEnterAnimation = (baseEl, opts) => { const { event: ev, size, trigger, reference, side, align } = opts; const doc = baseEl.ownerDocument; const isRTL = doc.dir === 'rtl'; - const bodyWidth = doc.defaultView.innerWidth; - const bodyHeight = doc.defaultView.innerHeight; + // Patched: use document.body.clientXXX instead of doc.defaultView.innerXXXX because the latter doesn't return the correct + // dimensions when the `zoom` CSS property is being used. + const bodyWidth = document.body.clientWidth; + const bodyHeight = document.body.clientHeight; const root = getElementRoot(baseEl); const contentEl = root.querySelector('.popover-content'); const referenceSizeEl = trigger || ((_a = ev === null || ev === void 0 ? void 0 : ev.detail) === null || _a === void 0 ? void 0 : _a.ionShadowTarget) || (ev === null || ev === void 0 ? void 0 : ev.target); diff --git a/node_modules/@ionic/core/dist/cjs/ion-popover.cjs.entry.js b/node_modules/@ionic/core/dist/cjs/ion-popover.cjs.entry.js index 68a908b..050e544 100644 --- a/node_modules/@ionic/core/dist/cjs/ion-popover.cjs.entry.js +++ b/node_modules/@ionic/core/dist/cjs/ion-popover.cjs.entry.js @@ -768,8 +768,10 @@ const iosEnterAnimation = (baseEl, opts) => { const { event: ev, size, trigger, reference, side, align } = opts; const doc = baseEl.ownerDocument; const isRTL = doc.dir === 'rtl'; - const bodyWidth = doc.defaultView.innerWidth; - const bodyHeight = doc.defaultView.innerHeight; + // Patched: use document.body.clientXXX instead of doc.defaultView.innerXXXX because the latter doesn't return the correct + // dimensions when the `zoom` CSS property is being used. + const bodyWidth = document.body.clientWidth; + const bodyHeight = document.body.clientHeight; const root = helpers.getElementRoot(baseEl); const contentEl = root.querySelector('.popover-content'); const arrowEl = root.querySelector('.popover-arrow'); @@ -889,8 +891,10 @@ const mdEnterAnimation = (baseEl, opts) => { const { event: ev, size, trigger, reference, side, align } = opts; const doc = baseEl.ownerDocument; const isRTL = doc.dir === 'rtl'; - const bodyWidth = doc.defaultView.innerWidth; - const bodyHeight = doc.defaultView.innerHeight; + // Patched: use document.body.clientXXX instead of doc.defaultView.innerXXXX because the latter doesn't return the correct + // dimensions when the `zoom` CSS property is being used. + const bodyWidth = document.body.clientWidth; + const bodyHeight = document.body.clientHeight; const root = helpers.getElementRoot(baseEl); const contentEl = root.querySelector('.popover-content'); const referenceSizeEl = trigger || ((_a = ev === null || ev === void 0 ? void 0 : ev.detail) === null || _a === void 0 ? void 0 : _a.ionShadowTarget) || (ev === null || ev === void 0 ? void 0 : ev.target); diff --git a/node_modules/@ionic/core/dist/collection/components/popover/animations/ios.enter.js b/node_modules/@ionic/core/dist/collection/components/popover/animations/ios.enter.js index 84b30ff..528af87 100644 --- a/node_modules/@ionic/core/dist/collection/components/popover/animations/ios.enter.js +++ b/node_modules/@ionic/core/dist/collection/components/popover/animations/ios.enter.js @@ -14,8 +14,10 @@ export const iosEnterAnimation = (baseEl, opts) => { const { event: ev, size, trigger, reference, side, align } = opts; const doc = baseEl.ownerDocument; const isRTL = doc.dir === 'rtl'; - const bodyWidth = doc.defaultView.innerWidth; - const bodyHeight = doc.defaultView.innerHeight; + // Patched: use document.body.clientXXX instead of doc.defaultView.innerXXXX because the latter doesn't return the correct + // dimensions when the `zoom` CSS property is being used. + const bodyWidth = document.body.clientWidth; + const bodyHeight = document.body.clientHeight; const root = getElementRoot(baseEl); const contentEl = root.querySelector('.popover-content'); const arrowEl = root.querySelector('.popover-arrow'); diff --git a/node_modules/@ionic/core/dist/collection/components/popover/animations/md.enter.js b/node_modules/@ionic/core/dist/collection/components/popover/animations/md.enter.js index 603923a..ff10a25 100644 --- a/node_modules/@ionic/core/dist/collection/components/popover/animations/md.enter.js +++ b/node_modules/@ionic/core/dist/collection/components/popover/animations/md.enter.js @@ -14,8 +14,10 @@ export const mdEnterAnimation = (baseEl, opts) => { const { event: ev, size, trigger, reference, side, align } = opts; const doc = baseEl.ownerDocument; const isRTL = doc.dir === 'rtl'; - const bodyWidth = doc.defaultView.innerWidth; - const bodyHeight = doc.defaultView.innerHeight; + // Patched: use document.body.clientXXX instead of doc.defaultView.innerXXXX because the latter doesn't return the correct + // dimensions when the `zoom` CSS property is being used. + const bodyWidth = document.body.clientWidth; + const bodyHeight = document.body.clientHeight; const root = getElementRoot(baseEl); const contentEl = root.querySelector('.popover-content'); const referenceSizeEl = trigger || ((_a = ev === null || ev === void 0 ? void 0 : ev.detail) === null || _a === void 0 ? void 0 : _a.ionShadowTarget) || (ev === null || ev === void 0 ? void 0 : ev.target); diff --git a/node_modules/@ionic/core/dist/esm/ion-popover.entry.js b/node_modules/@ionic/core/dist/esm/ion-popover.entry.js index 839e91c..abcd28f 100644 --- a/node_modules/@ionic/core/dist/esm/ion-popover.entry.js +++ b/node_modules/@ionic/core/dist/esm/ion-popover.entry.js @@ -764,8 +764,10 @@ const iosEnterAnimation = (baseEl, opts) => { const { event: ev, size, trigger, reference, side, align } = opts; const doc = baseEl.ownerDocument; const isRTL = doc.dir === 'rtl'; - const bodyWidth = doc.defaultView.innerWidth; - const bodyHeight = doc.defaultView.innerHeight; + // Patched: use document.body.clientXXX instead of doc.defaultView.innerXXXX because the latter doesn't return the correct + // dimensions when the `zoom` CSS property is being used. + const bodyWidth = document.body.clientWidth; + const bodyHeight = document.body.clientHeight; const root = getElementRoot(baseEl); const contentEl = root.querySelector('.popover-content'); const arrowEl = root.querySelector('.popover-arrow'); @@ -885,8 +887,10 @@ const mdEnterAnimation = (baseEl, opts) => { const { event: ev, size, trigger, reference, side, align } = opts; const doc = baseEl.ownerDocument; const isRTL = doc.dir === 'rtl'; - const bodyWidth = doc.defaultView.innerWidth; - const bodyHeight = doc.defaultView.innerHeight; + // Patched: use document.body.clientXXX instead of doc.defaultView.innerXXXX because the latter doesn't return the correct + // dimensions when the `zoom` CSS property is being used. + const bodyWidth = document.body.clientWidth; + const bodyHeight = document.body.clientHeight; const root = getElementRoot(baseEl); const contentEl = root.querySelector('.popover-content'); const referenceSizeEl = trigger || ((_a = ev === null || ev === void 0 ? void 0 : ev.detail) === null || _a === void 0 ? void 0 : _a.ionShadowTarget) || (ev === null || ev === void 0 ? void 0 : ev.target); diff --git a/node_modules/@ionic/core/hydrate/index.js b/node_modules/@ionic/core/hydrate/index.js index 7f898c7..a3a7669 100644 --- a/node_modules/@ionic/core/hydrate/index.js +++ b/node_modules/@ionic/core/hydrate/index.js @@ -29254,8 +29254,10 @@ const iosEnterAnimation$1 = (baseEl, opts) => { const { event: ev, size, trigger, reference, side, align } = opts; const doc = baseEl.ownerDocument; const isRTL = doc.dir === 'rtl'; - const bodyWidth = doc.defaultView.innerWidth; - const bodyHeight = doc.defaultView.innerHeight; + // Patched: use document.body.clientXXX instead of doc.defaultView.innerXXXX because the latter doesn't return the correct + // dimensions when the `zoom` CSS property is being used. + const bodyWidth = document.body.clientWidth; + const bodyHeight = document.body.clientHeight; const root = getElementRoot(baseEl); const contentEl = root.querySelector('.popover-content'); const arrowEl = root.querySelector('.popover-arrow'); @@ -29375,8 +29377,10 @@ const mdEnterAnimation$1 = (baseEl, opts) => { const { event: ev, size, trigger, reference, side, align } = opts; const doc = baseEl.ownerDocument; const isRTL = doc.dir === 'rtl'; - const bodyWidth = doc.defaultView.innerWidth; - const bodyHeight = doc.defaultView.innerHeight; + // Patched: use document.body.clientXXX instead of doc.defaultView.innerXXXX because the latter doesn't return the correct + // dimensions when the `zoom` CSS property is being used. + const bodyWidth = document.body.clientWidth; + const bodyHeight = document.body.clientHeight; const root = getElementRoot(baseEl); const contentEl = root.querySelector('.popover-content'); const referenceSizeEl = trigger || ((_a = ev === null || ev === void 0 ? void 0 : ev.detail) === null || _a === void 0 ? void 0 : _a.ionShadowTarget) || (ev === null || ev === void 0 ? void 0 : ev.target);