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

Dialog - improve user control over fullscreen behavior #6191

Open
ashetland opened this issue Dec 28, 2022 · 9 comments
Open

Dialog - improve user control over fullscreen behavior #6191

ashetland opened this issue Dec 28, 2022 · 9 comments
Labels
0 - new New issues that need assignment. Calcite (design) Issues logged by Calcite designers. design Issues that need design consultation prior to development. enhancement Issues tied to a new feature or request. estimate - 8 Requires input from team, consider smaller steps. p - low Issue is non core or affecting less that 10% of people using the library ready for dev Issues ready for development implementation.

Comments

@ashetland
Copy link

ashetland commented Dec 28, 2022

Description

Current behavior

Currently, when the viewport is small enough, a Dialog will snap to fullscreen without fullscreen being set. This behavior may be undesired and should be something the developer / designer should be able to define.

Proposed changes

The following proposal would give the developer and designer more control over the component's fullscreen behaviors.

  1. Remove the automatic snapping to fullscreen behavior.
  2. Setting fullscreen would always make a dialog fullscreen.
  3. Add ability for user to define a viewport width at which snapping to fullscreen does occur. If left undefined, dialog would never snap to fullscreen.

Acceptance Criteria

  1. Automatic behaviors removed
  2. fullscreen prop always makes dialog fullscreen
  3. User-definable viewport width for snapping to fullscreen, when desired

Relevant Info

cc @macandcheese, @asangma, @mitc7862, @paulcpederson for thoughts and opinions.

Which Component

Dialog

Example Use Case

No response

Esri team

Calcite (design)

@ashetland ashetland added enhancement Issues tied to a new feature or request. 0 - new New issues that need assignment. needs triage Planning workflow - pending design/dev review. labels Dec 28, 2022
@github-actions github-actions bot added the Calcite (design) Issues logged by Calcite designers. label Dec 28, 2022
@macandcheese macandcheese reopened this Jan 5, 2023
@macandcheese
Copy link
Contributor

Hit close instead of Comment, 😬 whoops.

I’d like to get these in for 1.0 if possible. I’d like to hopefully clarify some of the above:

Fullscreen, when true, always makes a modal fullscreen - should css var for modal height and width override this?

It is proposed that the “snap to full” is removed except when opted into. Should this be a prop, with the same “default widths” snapping to fullscreen as current, as well as support a separate custom width to do this?

“Snapping to full” currently makes the buttons full width when that change occurs. Does this need to be a separate opt-in? “Always fullscreen” will still need a px width at which this swap occurs.

How valuable is having the default s/m/l width with proposed css variables for width / height? Do we need these or a single default with customizability cover those cases?

Please advise on above from a design perspective :) @ashetland @SkyeSeitz

@macandcheese macandcheese self-assigned this Jan 10, 2023
@geospatialem geospatialem added breaking change Issues and pull requests with code changes that are not backwards compatible. 1 - assigned Issues that are assigned to a sprint and a team member. and removed 0 - new New issues that need assignment. labels Jan 10, 2023
@jcfranco
Copy link
Member

jcfranco commented Jan 25, 2023

@ashetland @macandcheese The referenced PR above is already merged. Is there anything pending for this or can it be marked as installed?

@macandcheese
Copy link
Contributor

No, these would all be additive or breaking changes to make for future enhancements, nothing immediate.

@macandcheese macandcheese removed their assignment Feb 15, 2023
@geospatialem geospatialem added 0 - new New issues that need assignment. and removed 1 - assigned Issues that are assigned to a sprint and a team member. labels Mar 30, 2023
@geospatialem geospatialem added the design Issues that need design consultation prior to development. label Jan 22, 2024
@geospatialem geospatialem added the blocked This issue is blocked by another issue. label May 9, 2024
@geospatialem geospatialem added this to the Stalled milestone May 9, 2024
@geospatialem geospatialem removed the needs triage Planning workflow - pending design/dev review. label May 9, 2024
@geospatialem geospatialem removed breaking change Issues and pull requests with code changes that are not backwards compatible. blocked This issue is blocked by another issue. labels Oct 29, 2024
@geospatialem geospatialem added 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. needs milestone Planning workflow - pending milestone assignment, has priority and/or estimate. ready for dev Issues ready for development implementation. labels Oct 29, 2024
Copy link
Contributor

cc @geospatialem, @brittneytewks

@github-actions github-actions bot removed this from the Stalled milestone Oct 29, 2024
@geospatialem geospatialem added estimate - 8 Requires input from team, consider smaller steps. and removed estimate - 5 A few days of work, definitely requires updates to tests. labels Oct 29, 2024
@geospatialem geospatialem changed the title Modal - improve user control over fullscreen behavior Dialog - improve user control over fullscreen behavior Oct 29, 2024
@geospatialem geospatialem added p - low Issue is non core or affecting less that 10% of people using the library and removed bug Bug reports for broken functionality. Issues should include a reproduction of the bug. labels Oct 29, 2024
@geospatialem
Copy link
Member

This may have visual changes and/or breaking changes implications, adding a spike to determine next steps.

@geospatialem geospatialem added the spike Issues that need quick investigations for time estimations, prioritization, or a quick assessment. label Oct 29, 2024
@DitwanP DitwanP added needs triage Planning workflow - pending design/dev review. and removed ready for dev Issues ready for development implementation. needs milestone Planning workflow - pending milestone assignment, has priority and/or estimate. labels Dec 2, 2024
@geospatialem
Copy link
Member

Needs re-evaluation/expertise from design with the dialog component addition in 2024, is this still valid, and if so, what is the recommended approach?

@macandcheese
Copy link
Contributor

I think it’s valid, ideally “cover” or “fullscreen” behavior is always opted into by a user and doesn’t occur automatically, which can be unexpected.

Existing widths should probably respond by ensuring a small margin is always present around Dialog, when the viewport is smaller than the content. Apps can opt-in to the cover behavior as needed.

@SkyeSeitz
Copy link

Dialog MVP simply matched the behavior of Modal, but I agree - this is still a needed change. The current margin is 32px which can continue to be used instead of automatically snapping to cover.

@geospatialem geospatialem added ready for dev Issues ready for development implementation. and removed spike Issues that need quick investigations for time estimations, prioritization, or a quick assessment. labels Dec 4, 2024
@github-actions github-actions bot added needs milestone Planning workflow - pending milestone assignment, has priority and/or estimate. and removed needs triage Planning workflow - pending design/dev review. labels Dec 4, 2024
Copy link
Contributor

github-actions bot commented Dec 4, 2024

cc @geospatialem, @brittneytewks

@geospatialem geospatialem removed the needs milestone Planning workflow - pending milestone assignment, has priority and/or estimate. label Dec 4, 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. Calcite (design) Issues logged by Calcite designers. design Issues that need design consultation prior to development. enhancement Issues tied to a new feature or request. estimate - 8 Requires input from team, consider smaller steps. p - low Issue is non core or affecting less that 10% of people using the library ready for dev Issues ready for development implementation.
Projects
None yet
Development

No branches or pull requests

7 participants