@natachah/vanilla-frontend 0.2.4 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -18,7 +18,7 @@ class DocLayout extends HTMLElement {
|
|
|
18
18
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-pin-angle" viewBox="0 0 16 16">
|
|
19
19
|
<path d="M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a6 6 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707s.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a6 6 0 0 1 1.013.16l3.134-3.133a3 3 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146m.122 2.112v-.002zm0-.002v.002a.5.5 0 0 1-.122.51L6.293 6.878a.5.5 0 0 1-.511.12H5.78l-.014-.004a5 5 0 0 0-.288-.076 5 5 0 0 0-.765-.116c-.422-.028-.836.008-1.175.15l5.51 5.509c.141-.34.177-.753.149-1.175a5 5 0 0 0-.192-1.054l-.004-.013v-.001a.5.5 0 0 1 .12-.512l3.536-3.535a.5.5 0 0 1 .532-.115l.096.022c.087.017.208.034.344.034q.172.002.343-.04L9.927 2.028q-.042.172-.04.343a1.8 1.8 0 0 0 .062.46z"/>
|
|
20
20
|
</svg>
|
|
21
|
-
0.2.
|
|
21
|
+
0.2.6
|
|
22
22
|
</span>
|
|
23
23
|
</li>
|
|
24
24
|
<li>
|
package/js/_drawer.js
CHANGED
|
@@ -58,6 +58,8 @@ export default class Drawer extends BaseComponent {
|
|
|
58
58
|
|
|
59
59
|
this._trap = new Trap(this._element, this._options.trap.exclusions ?? ['#backdrop'], this._options.trap.inclusions ?? [])
|
|
60
60
|
|
|
61
|
+
this._previousFocus = null
|
|
62
|
+
|
|
61
63
|
// Init the event listener
|
|
62
64
|
this.#init()
|
|
63
65
|
}
|
|
@@ -130,6 +132,8 @@ export default class Drawer extends BaseComponent {
|
|
|
130
132
|
// Change the state
|
|
131
133
|
this._isOpen = value
|
|
132
134
|
|
|
135
|
+
if (this._isOpen) this._previousFocus = document.activeElement
|
|
136
|
+
|
|
133
137
|
// Change the [aria-pressed] & [aria-expanded] attribute on the <button>
|
|
134
138
|
this._buttons.forEach((button) => {
|
|
135
139
|
button.setAttribute('aria-pressed', this._isOpen)
|
|
@@ -147,11 +151,16 @@ export default class Drawer extends BaseComponent {
|
|
|
147
151
|
// Add the Trap focus
|
|
148
152
|
// * Need to wait the transition before make it focused
|
|
149
153
|
this._element.addEventListener('transitionend', () => {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
+
|
|
155
|
+
const isDialog = this._element.getAttribute('role') === 'dialog'
|
|
156
|
+
|
|
157
|
+
if (this._isOpen) {
|
|
158
|
+
isDialog ? this._trap.activate() : this._trap.focusOnFirst()
|
|
159
|
+
} else {
|
|
160
|
+
if (isDialog) this._trap.deactivate()
|
|
161
|
+
this._previousFocus ? this._previousFocus.focus() : this._buttons[0].focus()
|
|
154
162
|
}
|
|
163
|
+
|
|
155
164
|
}, { once: true })
|
|
156
165
|
|
|
157
166
|
}
|
|
Binary file
|
package/package.json
CHANGED
|
Binary file
|