Skip to content

Commit 9083da8

Browse files
committed
✨ Adds alertdialog feature
1 parent ead4734 commit 9083da8

File tree

4 files changed

+25
-7
lines changed

4 files changed

+25
-7
lines changed

README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,19 @@ export default {
164164
</a11y-dialog>
165165
```
166166

167+
### `role`
168+
- **Property**: `role`
169+
- **Type**: `String`
170+
- **Required**: `false`
171+
- **Default**: `dialog`
172+
- **Description**: The `role` attribute of the dialog element, either `dialog` (default) or `alertdialog` to make it a modal (preventing closing on click outside of <kbd>ESC</kbd> key).
173+
- **Usage**:
174+
```html
175+
<a11y-dialog role="alertdialog">
176+
<!-- ... -->
177+
</a11y-dialog>
178+
```
179+
167180
## Events
168181

169182
### `dialog-ref`

package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
"url": "https://github.com/morkro/vue-a11y-dialog"
3131
},
3232
"dependencies": {
33-
"a11y-dialog": "^5.1.0"
33+
"a11y-dialog": "^5.2.0"
3434
},
3535
"peerDependencies": {
3636
"vue": "2.x"

src/A11yDialog.vue

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
data-a11y-dialog-hide
55
tabIndex="-1"
66
:class="classNames.overlay"
7-
@click="close" />
7+
@click="role === 'alertdialog' ? undefined : close" />
88

99
<component :is="dialogElement"
10-
role="dialog"
10+
:role="role"
1111
:class="classNames.element"
1212
:aria-labelledby="titleId">
1313
<div role="document" :class="classNames.document">
@@ -35,6 +35,10 @@
3535
<script>
3636
import A11yDialog from 'a11y-dialog'
3737
38+
function roleValidator (value) {
39+
return ['dialog', 'alertdialog'].includes(value)
40+
}
41+
3842
export default {
3943
name: 'VueA11yDialog',
4044
@@ -44,7 +48,8 @@
4448
classNames: { type: Object, default: () => ({}) },
4549
titleId: { type: String },
4650
closeButtonLabel: { type: String, default: 'Close this dialog window' },
47-
disableNative: { type: Boolean, default: false }
51+
disableNative: { type: Boolean, default: false },
52+
role: { type: String, default: 'dialog', validator: roleValidator }
4853
},
4954
5055
computed: {

0 commit comments

Comments
 (0)