Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

calcite-modal is being blocked by another element, but only in Safari #9416

Open
2 of 6 tasks
MikeTschudi opened this issue May 24, 2024 · 6 comments
Open
2 of 6 tasks
Labels
0 - new New issues that need assignment. ArcGIS Solutions Issues logged by ArcGIS Solutions team members. browser-safari Issues tied to the last 2 versions of Safari browser. bug Bug reports for broken functionality. Issues should include a reproduction of the bug. estimate - 5 A few days of work, definitely requires updates to tests. has workaround Issues have a workaround available in the meantime. impact - p3 - not time sensitive User set priority impact status of p3 - not time sensitive p - low Issue is non core or affecting less that 10% of people using the library spike complete Issues that have a research spike completed and dev work can proceed

Comments

@MikeTschudi
Copy link
Member

MikeTschudi commented May 24, 2024

Check existing issues

Actual Behavior

We have an instant app that displays a map of features in a left panel and a table of features in a right panel. If one selects multiple features and clicks the "Delete" button, we display a calcite-modal as a double-check before performing the deletion. All is good on Windows (Chrome, Edge, Firefox) and on Mac Chrome. On Mac Safari, however, the calcite-modal is partially blocked.

Here is what the app modal looks like in all but Safari:
image

And here is what it looks like in Safari:
image

The calcite-modal is triggered by a component that resides in an action-bar:
image

I can't tell if this is a bug in our app or in calcite: I am having trouble isolating the cause.

Expected Behavior

I expected the modal to be on top, as it is outside of Safari

Reproduction Sample

https://codepen.io/miketschudi/pen/GRaZwEd

Reproduction Steps

In the CodePen, click on the Delete button to open the modal.

The modal is nested because we're using nested components; the modal is in the delete-button component; all other non-calcite-components have been replaced by divs.

Reproduction Version

2.8.3

Relevant Info

  • Windows 10
    • OK: Chrome 125, Edge 125, Firefox 126
  • Mac
    • OK: Chrome 125
    • not OK: Safari 17.5

Regression?

went back to 1.0.3 and still see issue

Priority impact

impact - p3 - not time sensitive

Impact

Affects Safari users of the Manager Instant App; workaround is to delete items one-by-one via a different Delete button.

Calcite package

  • @esri/calcite-components
  • @esri/calcite-components-angular
  • @esri/calcite-components-react
  • @esri/calcite-design-tokens
  • @esri/eslint-plugin-calcite-components

Esri team

ArcGIS Solutions

@MikeTschudi MikeTschudi added bug Bug reports for broken functionality. Issues should include a reproduction of the bug. 0 - new New issues that need assignment. needs triage Planning workflow - pending design/dev review. labels May 24, 2024
@github-actions github-actions bot added ArcGIS Solutions Issues logged by ArcGIS Solutions team members. impact - p3 - not time sensitive User set priority impact status of p3 - not time sensitive labels May 24, 2024
@geospatialem geospatialem added browser-safari Issues tied to the last 2 versions of Safari browser. spike Issues that cannot be estimated well enough until the team has done further research labels May 28, 2024
@geospatialem geospatialem added 1 - assigned Issues that are assigned to a sprint and a team member. and removed 0 - new New issues that need assignment. labels May 28, 2024
@geospatialem geospatialem removed the needs triage Planning workflow - pending design/dev review. label May 28, 2024
@bcree11
Copy link

bcree11 commented May 31, 2024

@MikeTschudi We noticed a similar issue in crowdsource-reporter today. I found a workaround for this by overriding calcite-modal's position property to be fixed and it works as I expect it to.

  calcite-modal {
    position: fixed;
  }

Manager app in Safari:
image

@MikeTschudi
Copy link
Member Author

@bcree11, very nice--thank you! Works in crowdsource-manager as well, which was the original issue.

@jcfranco
Copy link
Member

jcfranco commented Jun 8, 2024

@bcree11 Thanks for sharing your workaround!

This seems related to https://bugs.webkit.org/show_bug.cgi?id=160953. I managed to create a repro case based on the original one using plain HTML/CSS (submitted as an additional test case).

It looks like this might have been introduced by #9545 where modal's host position was changed from fixed to absolute. Worth noting that fixed on the host element is also consistent with other implementations:

@macandcheese Do you think it'd be possible to restore fixed positioning? I prototyped this in #9545 and testing looks promising.

@jcfranco jcfranco added the spike complete Issues that have a research spike completed and dev work can proceed label Jun 8, 2024
@github-actions github-actions bot added 0 - new New issues that need assignment. needs milestone Planning workflow - pending milestone assignment, has priority and/or estimate. and removed spike Issues that cannot be estimated well enough until the team has done further research 1 - assigned Issues that are assigned to a sprint and a team member. labels Jun 8, 2024
Copy link
Contributor

github-actions bot commented Jun 8, 2024

cc @geospatialem, @brittneytewks

@github-actions github-actions bot removed this from the 2024-06-25 - Jun Release milestone Jun 8, 2024
@jcfranco jcfranco added estimate - 5 A few days of work, definitely requires updates to tests. p - low Issue is non core or affecting less that 10% of people using the library has workaround Issues have a workaround available in the meantime. labels Jun 8, 2024
@macandcheese
Copy link
Contributor

@macandcheese Do you think it'd be possible to restore fixed positioning?

As long as it all still works when the modal is in the Modals slot, in those cases where we want to constrain it to the Shell, it does have to be absolute I believe.

@jcfranco
Copy link
Member

@macandcheese Awesome. I think we have a path forward then. The slotted modal & alert screenshot test should cover it, right?

@geospatialem geospatialem added this to the 2024-11-19 - Nov Release milestone Jun 28, 2024
@geospatialem geospatialem removed the needs milestone Planning workflow - pending milestone assignment, has priority and/or estimate. label Jun 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0 - new New issues that need assignment. ArcGIS Solutions Issues logged by ArcGIS Solutions team members. browser-safari Issues tied to the last 2 versions of Safari browser. bug Bug reports for broken functionality. Issues should include a reproduction of the bug. estimate - 5 A few days of work, definitely requires updates to tests. has workaround Issues have a workaround available in the meantime. impact - p3 - not time sensitive User set priority impact status of p3 - not time sensitive p - low Issue is non core or affecting less that 10% of people using the library spike complete Issues that have a research spike completed and dev work can proceed
Projects
None yet
Development

No branches or pull requests

5 participants