Skip to content

Releases: renatodeleao/a11y-vue-dialog

v0.11.1

08 Aug 13:54
Compare
Choose a tag to compare

The [workaround introduced on release v0.4.4](https://github.com/renatodeleao/a11y-vue-dialog/releases/tag/v0.4.4) came back to haunt me. Even though I could probably find another workaround not to produce a breaking change I decided to go the simpler way and fix it without workarounds.

The side-effect is now that this package requires a new rootRef binding besides the already mandatory dialogRef, and backdropRef can no longer be used as root as present in the documentation.

So new dialogs MUST HAVE the following structure

<a11y-vue-dialog #default="{ rootRef, dialogRef, backdropRef }">
   <div v-bind="rootRef.props">
       <div v-bind="backdropRef.props" v-on="backdropRef.listeners" /> <!-- optional -->
       <div v-bind="dialogRef.props" v-on="dialogRef.listeners">
       </div>
  </div>
</a11y-vue-dialog>

as usual, you're free to use any elements/components of your choice and everything else is optional (but not for long, since this is a11y dialog I'll be more strict and throw errors if, for example, the mandatory titleRef is not binding.

v0.9.0-beta.1 "Another focus-trap update"

07 Mar 10:02
Compare
Choose a tag to compare

focus-trap was bumped to 7.3.1 with bugfixes from the underlying tabbable package bumped to 6.1.1.
Changes are mostly related with support for HTML inert attribute.

Check their releases for more info:

v0.9.0-beta.0 "The focus trap update"

17 Jan 12:44
Compare
Choose a tag to compare

Just upgrades focus-trap dependency from 6.9.4 to 7.2.0. Since it's a breaking change from the underlying package, bump this packages version as new minor pre-release.

None of my examples/demos were impacted by this change, but if yours do, please refer to focus-trap releases

v0.8.0-beta.3

30 Jul 09:34
Compare
Choose a tag to compare
v0.8.0-beta.3 Pre-release
Pre-release

💚 with @vue/compat

this patch enables the component to work correctly when in a vue 3 environment paired @vue/compat (aka migration build).

It does so by forcing MODE: 3 in their compatConfig option, which makes vue treat it as regular vue3 component.

v0.8.0-beta.2

25 Jul 14:26
Compare
Choose a tag to compare
v0.8.0-beta.2 Pre-release
Pre-release

From this version on we provide universal support for vue 2 and vue 3 with the same package 🎊

Full Changelog: v0.8.0-beta.1...v0.8.0-beta.2

v0.8.0-beta.1

25 Jul 08:31
Compare
Choose a tag to compare
v0.8.0-beta.1 Pre-release
Pre-release

Fixing dialogs breaking when null was provided as initialFocus value. New focus-trap does not allow it.

Full Changelog: v0.8.0-beta.0...v0.8.0-beta.1

0.8.0-beta.0

22 Jul 17:57
Compare
Choose a tag to compare
0.8.0-beta.0 Pre-release
Pre-release

Warning

This version has one bug: it requires to have at least on focusRef binding. Because focus-trap version does not accept initialFocus config to be null and breaks instead of finding the first tabbable element. Fixed in the next version.

Breaking

  • Removes portal-vue as dependency: no longer ships any portal as a dependency, as this component should work with any user land one. closed #11 and #16
  • Renamed renderless export from A11yVueDialogRenderless to simply A11yDialog. We no longer provided any styled solution, so there's no need to make the name state that fact. We're assumedly headless/renderless now.
  • No longer ships a Vue plugin as default export: since we don't provided any styled solution, this package is no longer a plug-and-play solution and, as such, it doesn't make sense to keep it. Consumers can still provide this as a global component via Vue.component('name', A11yDialog') which was everything that our plugin was doing to be honest.

Maintenance

  • upgrades our only dependency focus-trap to the latest version
  • build(deps): bump y18n from 3.2.1 to 3.2.2 by @dependabot in #33
  • build(deps): bump ssri from 6.0.1 to 6.0.2 in /playground by @dependabot in #34
  • Update name reference by @KittyGiraudel in #44
  • build(deps): bump ws from 5.2.2 to 5.2.3 in /playground by @dependabot in #46
  • build(deps): bump prismjs from 1.23.0 to 1.24.0 by @dependabot in #43
  • build(deps): bump lodash from 4.17.19 to 4.17.21 by @dependabot in #35
  • build(deps): bump hosted-git-info from 2.8.5 to 2.8.9 by @dependabot in #36
  • build(deps): bump hosted-git-info from 2.8.8 to 2.8.9 in /playground by @dependabot in #37
  • build(deps): bump dns-packet from 1.3.1 to 1.3.4 in /playground by @dependabot in #40
  • build(deps-dev): bump postcss from 7.0.24 to 7.0.36 by @dependabot in #41
  • build(deps): bump postcss from 7.0.35 to 7.0.36 in /playground by @dependabot in #42
  • build(deps): bump browserslist from 4.16.3 to 4.16.6 in /playground by @dependabot in #39
  • [v0.8.0] - housekeeping by @renatodeleao in #67
  • refactor!: rename component and exports to simply a11y-dialog by @renatodeleao in #69
  • build(deps): bump ajv from 6.10.2 to 6.12.6 by @dependabot in #55
  • build(deps): bump async from 2.6.3 to 2.6.4 by @dependabot in #62
  • build(deps): bump minimist from 1.2.5 to 1.2.6 by @dependabot in #60
  • build(deps): bump prismjs from 1.24.0 to 1.27.0 by @dependabot in #58
  • build(deps): bump path-parse from 1.0.6 to 1.0.7 by @dependabot in #47
  • build(deps): bump nanoid from 3.1.21 to 3.3.4 in /playground by @dependabot in #68
  • build(deps): bump shell-quote from 1.7.2 to 1.7.3 in /playground by @dependabot in #65
  • build(deps): bump async from 2.6.3 to 2.6.4 in /playground by @dependabot in #63
  • build(deps): bump follow-redirects from 1.13.3 to 1.14.8 in /playground by @dependabot in #56
  • build(deps): bump tmpl from 1.0.4 to 1.0.5 in /playground by @dependabot in #50
  • build(deps): bump path-parse from 1.0.6 to 1.0.7 in /playground by @dependabot in #48
  • build(deps): bump minimist from 1.2.5 to 1.2.6 in /playground by @dependabot in #61

Full Changelog: v0.7.0...v0.8.0-beta.0

Prevent leaking implementations

14 Mar 14:23
Compare
Choose a tag to compare
  • Since we have complete freedom on markup, most common implementations apply the v-if on the slot content root as was suggested in readme examples. That being said, it's not wrong to apply v-if to the a11y-vue-dialog itself, to a wrapper element, to the <portal> element or the <transition> element itself. Before this minor, if any of these cases happened, the handleClose handler would not be called, and some leaks could occur. Now we call it correctly on beforeDestroy, meaning that consumers can safely implement in any way.
  • Now forwards the event object that triggers @close

Also tested usage with portal-vue-simple and it works flawlessly, I will probably make this as the official peer-dependency for the official 1.0 release as it's more than enough for our dialog needs and only 3k (1.3k gzip).

v0.6.0

14 Dec 15:40
Compare
Choose a tag to compare

Remove preventBackgroundScroll prop.

  • Currently it was naively applying overflow: hidden to body but we all know that preventing backgroundScroll in a cross-browser/device world is far more complicated than that.
  • Adding overflow:hidden to body assumed that the consumer app "scroller" was body, when it might not be the case.
  • Replaced with custom events, @show, @hide and added example so of how to achieve previous behaviour using them in your compositions.

v0.5.2

18 Oct 13:00
Compare
Choose a tag to compare

Allow close on Esc even if role="alertdialog" as per wai-aria guideline example

Note that backdrop click to close is still prevented, because technically it's outside the dialog element (and we haven't tested another way so), probably in the next release we'll have smarter prevention.

Content authors SHOULD make alert dialogs modal by ensuring that, while the alertdialog is shown, keyboard and mouse interactions only operate within the dialog.
https://www.w3.org/TR/wai-aria-1.1/#alertdialog