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

feat(dialog): adds new dialog component and deprecates the modal component #9751

Merged
merged 81 commits into from
Jul 26, 2024

Conversation

driskull
Copy link
Member

@driskull driskull commented Jul 9, 2024

Related Issue: #7886

Summary

  • Adds new calcite-dialog component.
    • Includes e2e, stories, demos, resources
    • Updates stencil config to note new component
  • Panel esc key should emit close event
  • Adds dialogs slot to calcite-shell for slotting dialogs.
  • Deprecates calcite-modal component.
  • cleans up global style imports
  • makes focusTrapDisabled optional on FocusTrapComponent

@github-actions github-actions bot added the enhancement Issues tied to a new feature or request. label Jul 9, 2024
@driskull driskull changed the title feat(dialog): adds new dialog component and deprecates the modal component. #7886 feat(dialog): adds new dialog component and deprecates the modal component Jul 11, 2024
@driskull driskull added pr ready for visual snapshots Adding this label will run visual snapshot testing. and removed pr ready for visual snapshots Adding this label will run visual snapshot testing. labels Jul 25, 2024
@driskull driskull added pr ready for visual snapshots Adding this label will run visual snapshot testing. and removed pr ready for visual snapshots Adding this label will run visual snapshot testing. labels Jul 26, 2024
@driskull driskull merged commit 0cdd327 into dev Jul 26, 2024
12 checks passed
@driskull driskull deleted the dris0000/dialog branch July 26, 2024 15:43
@github-actions github-actions bot added this to the 2024-07-30 - Jul Release milestone Jul 26, 2024
benelan added a commit that referenced this pull request Jul 29, 2024
…-to-monorepo

* origin/dev:
  ci: fix env var case in workflows (#9877)
  docs(action): deprecates the compact property (#9847)
  fix(tab-title): Adjust hover styling for `bordered` Tab Title (#9867)
  chore(themed): add token CSS variable test helper (#9860)
  chore: avoid deleting untracked, non-generated files on npm run clean (#9866)
  chore(pick-list, pick-list-item, value-list-item): fix runtime deprecation messages (#9870)
  refactor: create a common resource to store debounce consts (#9829)
  test(tree): stabilize tests (#9853)
  chore(value-list-item): add runtime deprecation warning (#9863)
  chore: release next
  build(deps): update dependency composed-offset-position to v0.0.6 (#9834)
  feat(dialog): adds new dialog component and deprecates the modal component (#9751)
  chore: release next
  fix(panel, flow-item): prevent footer slots from conflicting with each other (#9856)
calcite-admin pushed a commit that referenced this pull request Jul 30, 2024
…onent (#9751)

**Related Issue:** #7886

## Summary

- Adds new `calcite-dialog` component.
  - Includes e2e, stories, demos, resources
  - Updates stencil config to note new component
- Panel esc key should emit close event  
- Adds `dialogs` slot to `calcite-shell` for slotting dialogs.
- Deprecates `calcite-modal` component.
- cleans up global style imports
- makes `focusTrapDisabled` optional on FocusTrapComponent

## Notes

- Animations need review
benelan pushed a commit that referenced this pull request Jul 31, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>@esri/calcite-ui-icons: 3.30.0</summary>

##
[3.30.0](https://github.com/Esri/calcite-design-system/compare/@esri/calcite-ui-icons-v3.29.0...@esri/calcite-ui-icons@3.30.0)
(2024-07-31)


### Miscellaneous Chores

* Add calcite-ui-icons to monorepo
([#9835](#9835))
([05264ea](05264ea))
</details>

<details><summary>@esri/calcite-components: 2.11.0</summary>

##
[2.11.0](https://github.com/Esri/calcite-design-system/compare/@esri/calcite-components@2.10.1...@esri/calcite-components@2.11.0)
(2024-07-31)


### Features

* **chip:** Enhance multi-select group affordance
([#9286](#9286))
([fd150e1](fd150e1))
* **color-picker, color-picker-hex-input:** Add input auto commit, blur
and auto select enhancements.
([#9701](#9701))
([b2be625](b2be625))
* **combobox-item:** Apply heading color according to updated spec
([#9883](#9883))
([9f642ff](9f642ff))
* **combobox, combobox-item:** Add `description`, `shortHeading` props
and `content-end` slot
([#9771](#9771))
([78eb555](78eb555))
* **combobox, combobox-item:** Add `metadata` support for filtering
([#9819](#9819))
([5de7787](5de7787))
* **combobox:** Append custom values to top of dropdown
([#9817](#9817))
([bd55097](bd55097))
* **dialog:** Add padding to default slot
([#9871](#9871))
([9d89d1d](9d89d1d))
* **dialog:** Adds new dialog component and deprecates the modal
component
([#9751](#9751))
([0111c23](0111c23))
* **icon:** Type icon names
([#9650](#9650))
([7513f3a](7513f3a))
* **panel, flow-item:** Add alerts slot
([#9778](#9778))
([8b9b820](8b9b820))
* **panel, flow-item:** Add beforeClose property
([#9770](#9770))
([aefd3cb](aefd3cb))
* **panel, flow-item:** Add scale property
([#9730](#9730))
([27c597e](27c597e))
* Provide info message on stamped version instead of warning
([#9739](#9739))
([b25cb7b](b25cb7b))
* **shell-panel:** Deprecate float displayMode and add float-content and
float-all
([#9795](#9795))
([bf93728](bf93728))
* **tooltip:** Support touch events
([#9487](#9487))
([633706b](633706b))


### Bug Fixes

* **block-section:** Apply missing CSS class to start/end icon
([#9688](#9688))
([2169ed2](2169ed2))
* **block:** Remove top padding when no heading is defined
([#9782](#9782))
([704f5df](704f5df))
* **carousel:** Prevent duplicate animation when navigating via keyboard
([#9848](#9848))
([cfdbd44](cfdbd44))
* **combobox-item:** Tweak center content font-weight and spacing
([#9818](#9818))
([a67c4af](a67c4af))
* **deps:** Move @types/sortablejs as a dependency so the public types
resolve properly
([#9786](#9786))
([3d47c52](3d47c52))
* **dialog:** Fix menu positioning when when overlayPositioning is
'fixed' and menuOpen is true
([#9891](#9891))
([4390177](4390177))
* Fix issue in Firefox where disabled elements were incorrectly enabled
when a sibling was enabled
([#9710](#9710))
([cd4d52c](cd4d52c))
* **flow-item:** Set closed property to true when internal panel is
closed
([#9715](#9715))
([f7d2a4f](f7d2a4f))
* Improve browser check to resolve SSR errors
([#9897](#9897))
([bdb225b](bdb225b))
* **input-date-picker:** Ensure initial value is in range
([#9894](#9894))
([7d05134](7d05134))
* **input-number:** Restore decimal input mode default
([#9741](#9741))
([1165dca](1165dca))
* **panel, flow-item:** Fix footer-padding CSS prop regression
([#9757](#9757))
([f935790](f935790))
* **panel, flow-item:** Prevent footer slots from conflicting with each
other
([#9856](#9856))
([cffaff8](cffaff8))
* **panel:** Correct footer padding and layout
([#9868](#9868))
([1e02ece](1e02ece))
* **radio-button-group:** Remove blank clickable space outside of label
([#9793](#9793))
([4cc24a0](4cc24a0))
* **segmented-control:** Make check state update correctly
([#9733](#9733))
([602c922](602c922))
* **shell:** Fix resizing a slotted shell-panel when clicking to resize
([#9846](#9846))
([326001c](326001c))
* **shell:** Update shell to correctly position calcite shell panel at
shell's bottom
([#9748](#9748))
([5959db7](5959db7))
* **tab-title:** Adjust hover styling for `bordered` Tab Title
([#9867](#9867))
([a77cd27](a77cd27))
* **tabs:** Handle tab close events that remove the associated tab-title
and tab elements from the DOM
([#9768](#9768))
([bda619c](bda619c))
* **tabs:** Update tab title indicator display
([#9666](#9666))
([5f0914b](5f0914b))
* **tile:** Center align contentTop and contentBottom slots when
alignment prop equals "center"
([#9732](#9732))
([1a8393b](1a8393b))
* **tile:** Center align slot's text when alignment is equal to center
([#9773](#9773))
([8611bfc](8611bfc))
* **time-picker:** Render meridiem first for korean locale
([#9842](#9842))
([897f924](897f924))
* **tooltip:** Allow focusing on a reference element and then clicking
on a tooltip
([#9878](#9878))
([dfca2d4](dfca2d4))
* Widen icon type to allow string
([#9915](#9915))
([44138b1](44138b1))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-ui-icons bumped from ^3.29.1-next.0 to ^3.30.0
</details>

<details><summary>@esri/calcite-components-angular: 2.11.0</summary>

##
[2.11.0](https://github.com/Esri/calcite-design-system/compare/@esri/calcite-components-angular@2.10.1...@esri/calcite-components-angular@2.11.0)
(2024-07-31)


### Miscellaneous Chores

* **@esri/calcite-components-angular:** Synchronize components versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-components bumped from ^2.11.0-next.30 to ^2.11.0
</details>

<details><summary>@esri/calcite-components-react: 2.11.0</summary>

##
[2.11.0](https://github.com/Esri/calcite-design-system/compare/@esri/calcite-components-react@2.10.1...@esri/calcite-components-react@2.11.0)
(2024-07-31)


### Miscellaneous Chores

* **@esri/calcite-components-react:** Synchronize components versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-components bumped from ^2.11.0-next.30 to ^2.11.0
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
benelan pushed a commit that referenced this pull request Jul 31, 2024
🤖 I have created a release *beep* *boop*
---

<details><summary>@esri/calcite-ui-icons: 3.30.0</summary>

[3.30.0](https://github.com/Esri/calcite-design-system/compare/@esri/calcite-ui-icons-v3.29.0...@esri/calcite-ui-icons@3.30.0)
(2024-07-31)

* Add calcite-ui-icons to monorepo
([#9835](#9835))
([05264ea](05264ea))
</details>

<details><summary>@esri/calcite-components: 2.11.0</summary>

[2.11.0](https://github.com/Esri/calcite-design-system/compare/@esri/calcite-components@2.10.1...@esri/calcite-components@2.11.0)
(2024-07-31)

* **chip:** Enhance multi-select group affordance
([#9286](#9286))
([fd150e1](fd150e1))
* **color-picker, color-picker-hex-input:** Add input auto commit, blur
and auto select enhancements.
([#9701](#9701))
([b2be625](b2be625))
* **combobox-item:** Apply heading color according to updated spec
([#9883](#9883))
([9f642ff](9f642ff))
* **combobox, combobox-item:** Add `description`, `shortHeading` props
and `content-end` slot
([#9771](#9771))
([78eb555](78eb555))
* **combobox, combobox-item:** Add `metadata` support for filtering
([#9819](#9819))
([5de7787](5de7787))
* **combobox:** Append custom values to top of dropdown
([#9817](#9817))
([bd55097](bd55097))
* **dialog:** Add padding to default slot
([#9871](#9871))
([9d89d1d](9d89d1d))
* **dialog:** Adds new dialog component and deprecates the modal
component
([#9751](#9751))
([0111c23](0111c23))
* **icon:** Type icon names
([#9650](#9650))
([7513f3a](7513f3a))
* **panel, flow-item:** Add alerts slot
([#9778](#9778))
([8b9b820](8b9b820))
* **panel, flow-item:** Add beforeClose property
([#9770](#9770))
([aefd3cb](aefd3cb))
* **panel, flow-item:** Add scale property
([#9730](#9730))
([27c597e](27c597e))
* Provide info message on stamped version instead of warning
([#9739](#9739))
([b25cb7b](b25cb7b))
* **shell-panel:** Deprecate float displayMode and add float-content and
float-all
([#9795](#9795))
([bf93728](bf93728))
* **tooltip:** Support touch events
([#9487](#9487))
([633706b](633706b))

* **block-section:** Apply missing CSS class to start/end icon
([#9688](#9688))
([2169ed2](2169ed2))
* **block:** Remove top padding when no heading is defined
([#9782](#9782))
([704f5df](704f5df))
* **carousel:** Prevent duplicate animation when navigating via keyboard
([#9848](#9848))
([cfdbd44](cfdbd44))
* **combobox-item:** Tweak center content font-weight and spacing
([#9818](#9818))
([a67c4af](a67c4af))
* **deps:** Move @types/sortablejs as a dependency so the public types
resolve properly
([#9786](#9786))
([3d47c52](3d47c52))
* **dialog:** Fix menu positioning when when overlayPositioning is
'fixed' and menuOpen is true
([#9891](#9891))
([4390177](4390177))
* Fix issue in Firefox where disabled elements were incorrectly enabled
when a sibling was enabled
([#9710](#9710))
([cd4d52c](cd4d52c))
* **flow-item:** Set closed property to true when internal panel is
closed
([#9715](#9715))
([f7d2a4f](f7d2a4f))
* Improve browser check to resolve SSR errors
([#9897](#9897))
([bdb225b](bdb225b))
* **input-date-picker:** Ensure initial value is in range
([#9894](#9894))
([7d05134](7d05134))
* **input-number:** Restore decimal input mode default
([#9741](#9741))
([1165dca](1165dca))
* **panel, flow-item:** Fix footer-padding CSS prop regression
([#9757](#9757))
([f935790](f935790))
* **panel, flow-item:** Prevent footer slots from conflicting with each
other
([#9856](#9856))
([cffaff8](cffaff8))
* **panel:** Correct footer padding and layout
([#9868](#9868))
([1e02ece](1e02ece))
* **radio-button-group:** Remove blank clickable space outside of label
([#9793](#9793))
([4cc24a0](4cc24a0))
* **segmented-control:** Make check state update correctly
([#9733](#9733))
([602c922](602c922))
* **shell:** Fix resizing a slotted shell-panel when clicking to resize
([#9846](#9846))
([326001c](326001c))
* **shell:** Update shell to correctly position calcite shell panel at
shell's bottom
([#9748](#9748))
([5959db7](5959db7))
* **tab-title:** Adjust hover styling for `bordered` Tab Title
([#9867](#9867))
([a77cd27](a77cd27))
* **tabs:** Handle tab close events that remove the associated tab-title
and tab elements from the DOM
([#9768](#9768))
([bda619c](bda619c))
* **tabs:** Update tab title indicator display
([#9666](#9666))
([5f0914b](5f0914b))
* **tile:** Center align contentTop and contentBottom slots when
alignment prop equals "center"
([#9732](#9732))
([1a8393b](1a8393b))
* **tile:** Center align slot's text when alignment is equal to center
([#9773](#9773))
([8611bfc](8611bfc))
* **time-picker:** Render meridiem first for korean locale
([#9842](#9842))
([897f924](897f924))
* **tooltip:** Allow focusing on a reference element and then clicking
on a tooltip
([#9878](#9878))
([dfca2d4](dfca2d4))
* Widen icon type to allow string
([#9915](#9915))
([44138b1](44138b1))

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-ui-icons bumped from ^3.29.1-next.0 to ^3.30.0
</details>

<details><summary>@esri/calcite-components-angular: 2.11.0</summary>

[2.11.0](https://github.com/Esri/calcite-design-system/compare/@esri/calcite-components-angular@2.10.1...@esri/calcite-components-angular@2.11.0)
(2024-07-31)

* **@esri/calcite-components-angular:** Synchronize components versions

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-components bumped from ^2.11.0-next.30 to ^2.11.0
</details>

<details><summary>@esri/calcite-components-react: 2.11.0</summary>

[2.11.0](https://github.com/Esri/calcite-design-system/compare/@esri/calcite-components-react@2.10.1...@esri/calcite-components-react@2.11.0)
(2024-07-31)

* **@esri/calcite-components-react:** Synchronize components versions

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-components bumped from ^2.11.0-next.30 to ^2.11.0
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
benelan added a commit that referenced this pull request Jul 31, 2024
Cherry-pick the release commit from `main`.

---

<details><summary>@esri/calcite-ui-icons: 3.30.0</summary>


[3.30.0](https://github.com/Esri/calcite-design-system/compare/@esri/calcite-ui-icons-v3.29.0...@esri/calcite-ui-icons@3.30.0)
(2024-07-31)

* Add calcite-ui-icons to monorepo
([#9835](#9835))

([05264ea](05264ea))
</details>

<details><summary>@esri/calcite-components: 2.11.0</summary>


[2.11.0](https://github.com/Esri/calcite-design-system/compare/@esri/calcite-components@2.10.1...@esri/calcite-components@2.11.0)
(2024-07-31)

* **chip:** Enhance multi-select group affordance
([#9286](#9286))

([fd150e1](fd150e1))
* **color-picker, color-picker-hex-input:** Add input auto commit, blur
and auto select enhancements.
([#9701](#9701))

([b2be625](b2be625))
* **combobox-item:** Apply heading color according to updated spec
([#9883](#9883))

([9f642ff](9f642ff))
* **combobox, combobox-item:** Add `description`, `shortHeading` props
and `content-end` slot
([#9771](#9771))

([78eb555](78eb555))
* **combobox, combobox-item:** Add `metadata` support for filtering
([#9819](#9819))

([5de7787](5de7787))
* **combobox:** Append custom values to top of dropdown
([#9817](#9817))

([bd55097](bd55097))
* **dialog:** Add padding to default slot
([#9871](#9871))

([9d89d1d](9d89d1d))
* **dialog:** Adds new dialog component and deprecates the modal
component
([#9751](#9751))

([0111c23](0111c23))
* **icon:** Type icon names
([#9650](#9650))

([7513f3a](7513f3a))
* **panel, flow-item:** Add alerts slot
([#9778](#9778))

([8b9b820](8b9b820))
* **panel, flow-item:** Add beforeClose property
([#9770](#9770))

([aefd3cb](aefd3cb))
* **panel, flow-item:** Add scale property
([#9730](#9730))

([27c597e](27c597e))
* Provide info message on stamped version instead of warning
([#9739](#9739))

([b25cb7b](b25cb7b))
* **shell-panel:** Deprecate float displayMode and add float-content and
float-all
([#9795](#9795))

([bf93728](bf93728))
* **tooltip:** Support touch events
([#9487](#9487))

([633706b](633706b))

* **block-section:** Apply missing CSS class to start/end icon
([#9688](#9688))

([2169ed2](2169ed2))
* **block:** Remove top padding when no heading is defined
([#9782](#9782))

([704f5df](704f5df))
* **carousel:** Prevent duplicate animation when navigating via keyboard
([#9848](#9848))

([cfdbd44](cfdbd44))
* **combobox-item:** Tweak center content font-weight and spacing
([#9818](#9818))

([a67c4af](a67c4af))
* **deps:** Move @types/sortablejs as a dependency so the public types
resolve properly
([#9786](#9786))

([3d47c52](3d47c52))
* **dialog:** Fix menu positioning when when overlayPositioning is
'fixed' and menuOpen is true
([#9891](#9891))

([4390177](4390177))
* Fix issue in Firefox where disabled elements were incorrectly enabled
when a sibling was enabled
([#9710](#9710))

([cd4d52c](cd4d52c))
* **flow-item:** Set closed property to true when internal panel is
closed
([#9715](#9715))

([f7d2a4f](f7d2a4f))
* Improve browser check to resolve SSR errors
([#9897](#9897))

([bdb225b](bdb225b))
* **input-date-picker:** Ensure initial value is in range
([#9894](#9894))

([7d05134](7d05134))
* **input-number:** Restore decimal input mode default
([#9741](#9741))

([1165dca](1165dca))
* **panel, flow-item:** Fix footer-padding CSS prop regression
([#9757](#9757))

([f935790](f935790))
* **panel, flow-item:** Prevent footer slots from conflicting with each
other
([#9856](#9856))

([cffaff8](cffaff8))
* **panel:** Correct footer padding and layout
([#9868](#9868))

([1e02ece](1e02ece))
* **radio-button-group:** Remove blank clickable space outside of label
([#9793](#9793))

([4cc24a0](4cc24a0))
* **segmented-control:** Make check state update correctly
([#9733](#9733))

([602c922](602c922))
* **shell:** Fix resizing a slotted shell-panel when clicking to resize
([#9846](#9846))

([326001c](326001c))
* **shell:** Update shell to correctly position calcite shell panel at
shell's bottom
([#9748](#9748))

([5959db7](5959db7))
* **tab-title:** Adjust hover styling for `bordered` Tab Title
([#9867](#9867))

([a77cd27](a77cd27))
* **tabs:** Handle tab close events that remove the associated tab-title
and tab elements from the DOM
([#9768](#9768))

([bda619c](bda619c))
* **tabs:** Update tab title indicator display
([#9666](#9666))

([5f0914b](5f0914b))
* **tile:** Center align contentTop and contentBottom slots when
alignment prop equals "center"
([#9732](#9732))

([1a8393b](1a8393b))
* **tile:** Center align slot's text when alignment is equal to center
([#9773](#9773))

([8611bfc](8611bfc))
* **time-picker:** Render meridiem first for korean locale
([#9842](#9842))

([897f924](897f924))
* **tooltip:** Allow focusing on a reference element and then clicking
on a tooltip
([#9878](#9878))

([dfca2d4](dfca2d4))
* Widen icon type to allow string
([#9915](#9915))

([44138b1](44138b1))

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-ui-icons bumped from ^3.29.1-next.0 to ^3.30.0
</details>

<details><summary>@esri/calcite-components-angular: 2.11.0</summary>


[2.11.0](https://github.com/Esri/calcite-design-system/compare/@esri/calcite-components-angular@2.10.1...@esri/calcite-components-angular@2.11.0)
(2024-07-31)

* **@esri/calcite-components-angular:** Synchronize components versions

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-components bumped from ^2.11.0-next.30 to ^2.11.0
</details>

<details><summary>@esri/calcite-components-react: 2.11.0</summary>


[2.11.0](https://github.com/Esri/calcite-design-system/compare/@esri/calcite-components-react@2.10.1...@esri/calcite-components-react@2.11.0)
(2024-07-31)

* **@esri/calcite-components-react:** Synchronize components versions

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-components bumped from ^2.11.0-next.30 to ^2.11.0
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See

[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: github-actions[bot]
<github-actions[bot]@users.noreply.github.com>

**Related Issue:** #

## Summary

Co-authored-by: Calcite Admin <calcite-admin@esri.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@AdelheidF
Copy link

AdelheidF commented Jul 31, 2024

Do we not need focusTrapDisabled and outsideCloseDisabled in dialog then?, we used it for modal.

@driskull
Copy link
Member Author

Do we not need focusTrapDisabled and outsideCloseDisabled in dialog then?, we used it for modal.

Hey @AdelheidF, we shouldn't need it but if a good use case arises we could add it.

@paulcpederson
Copy link
Member

paulcpederson commented Jul 31, 2024

The outsideCloseDisabled prop is useful when you have something like a multi-step workflow inside a modal. The user loses all their progress if they accidentally click outside. It's been requested we remove the click outside to close behavior multiple times by customers and stakeholders, so I'm adding a +1 to preserve this capability.

I searched and we only have one use of focusTrapDisabled, so I think that one is less important to us.

@driskull
Copy link
Member Author

I think the beforeClose property can handle that use case and it would also be good to put some kind of notice in the dialog when beforeClose returns false.

@paulcpederson
Copy link
Member

That's an interesting point. Does the new dialog component have the capability to slot an alert or something in for that purpose. Sort of a hat on a hat as it's a dialog over a dialog.

@driskull
Copy link
Member Author

Yep, the dialog has an alerts slot which it inherits from panel.

@driskull
Copy link
Member Author

driskull commented Aug 6, 2024

@paulcpederson I think we will possibly add outsideCloseDisabled. Its nice to be able to just prevent closing from a scrim. Since with the beforeClose you can't determine what caused the closing.

@COV-GIS
Copy link

COV-GIS commented Aug 7, 2024

Escape key close also needs to be added.

Use cases for not having the user close except for taking some action within the dialog include disclaimers, confirmations, etc.

I never understood why modal had three different properties for each way to close and not a single property. If the close button is disabled why would the scrim or escape closing be desirable?

It seems to me with dialog if modal and close-disabled are both true then no button, scrim or escape closing.

Edit:
Escape key close could be useful as a separate property for a canceling action. The close event needs to include how the dialog was closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Issues tied to a new feature or request. pr ready for visual snapshots Adding this label will run visual snapshot testing.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants