hyperbook 0.33.2 → 0.34.0
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.
- package/dist/assets/client.js +83 -0
- package/dist/assets/code.css +246 -0
- package/dist/assets/content.css +434 -0
- package/dist/assets/directive-alert/style.css +111 -0
- package/dist/assets/directive-archive/client.js +23 -0
- package/dist/assets/directive-archive/style.css +33 -0
- package/dist/assets/directive-audio/client.js +88 -0
- package/dist/assets/directive-audio/style.css +56 -0
- package/dist/assets/directive-audio/wavesurfer.min.js +1 -0
- package/dist/assets/directive-bookmarks/client.js +24 -0
- package/dist/assets/directive-bookmarks/style.css +55 -0
- package/dist/assets/directive-collapsible/style.css +66 -0
- package/dist/assets/directive-download/client.js +23 -0
- package/dist/assets/directive-download/style.css +33 -0
- package/dist/assets/directive-embed/style.css +24 -0
- package/dist/assets/directive-excalidraw/client.js +2 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/Assistant-Bold.woff2 +0 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/Assistant-Medium.woff2 +0 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/Assistant-Regular.woff2 +0 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/Assistant-SemiBold.woff2 +0 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/Cascadia.woff2 +0 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/Virgil.woff2 +0 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/ar-SA-json-db7c644ccbeb85d54a47.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/az-AZ-json-08a6de50238dbb21926c.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/bg-BG-json-42fb0378311f3ade2627.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/bn-BD-json-9ad9e5ae95c4c66297b1.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/ca-ES-json-a6b2c18f7e85cfd11599.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/cs-CZ-json-ea03835d73f9b921f7c4.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/da-DK-json-a94944ac6fa9756d2fac.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/de-DE-json-d82053ab52357510811b.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/el-GR-json-4cbc2dbda5a5df636ee1.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/es-ES-json-7afb66536ee40d852fa2.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/eu-ES-json-671a4afcfce7b0a7660b.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/fa-IR-json-76b039039b043cc4280c.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/fi-FI-json-64c8902f10425e1b2e81.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/fr-FR-json-d16a471290ba26a6c66a.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/gl-ES-json-d11c7966c3c2f95756e0.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/he-IL-json-a7bc2a673875b2e655e1.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/hi-IN-json-4947c9dace32cc3c6eef.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/hu-HU-json-0419027d32efac73d518.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/id-ID-json-6542dd92ab54a2c1c48e.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/it-IT-json-ab410570df07304cb0ca.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/ja-JP-json-2cb067da0fb518e73564.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/kaa-json-4d0a4868835d0334a549.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/kab-KAB-json-0d400ba2836cc0752cd6.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/kk-KZ-json-2224f237cc93465f126f.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/km-KH-json-cbe8e2e8d26d30a3175c.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/ko-KR-json-c2387972637d47f15765.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/ku-TR-json-bafa8865ed7002bb249e.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/lt-LT-json-9b7e91a51b90ee551cad.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/lv-LV-json-f7f9363e42ee2e3a7c67.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/mr-IN-json-ad1359c30c334d05eee0.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/my-MM-json-3ba296b6fcf2a2197a7c.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/nb-NO-json-798d785698d467e76fcf.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/nl-NL-json-2cf913fe2f491c5d7075.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/nn-NO-json-aa607835ad9408789c5f.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/oc-FR-json-644a5eaa1311f70cb697.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/pa-IN-json-165c5c2760688033b2cc.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/pl-PL-json-35c1f168f53af24b657a.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/pt-BR-json-370215dc506c58ee3217.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/pt-PT-json-6f3d80656622a222b4e2.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/ro-RO-json-3c32b962880e225d3416.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/ru-RU-json-e1f4ed9d2d074f778304.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/si-LK-json-4921d4298abfa256fe6f.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/sk-SK-json-27b59d7e026675f929c4.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/sl-SI-json-efb839ef0456f5c72e6e.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/sv-SE-json-cfab3adbd37dd273c61e.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/ta-IN-json-2fa1854af68381c61913.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/th-TH-json-9a390d3cc7a7a6226b63.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/tr-TR-json-fc9b16e9dc2be2660439.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/uk-UA-json-82753e98dced302ac187.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/vi-VN-json-9c1c2a9fa9d6b5a58223.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/zh-CN-json-069c304b5011429be615.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/zh-HK-json-d9bf1e4e2d1f8650c680.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/locales/zh-TW-json-5a3fa7cacfa83c411d89.js +1 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/vendor-677e88ca78c86bddf13d.js +2 -0
- package/dist/assets/directive-excalidraw/excalidraw-assets/vendor-677e88ca78c86bddf13d.js.LICENSE.txt +32 -0
- package/dist/assets/directive-excalidraw/hyperbook-excalidraw.umd.js +186 -0
- package/dist/assets/directive-excalidraw/style.css +10 -0
- package/dist/assets/directive-mermaid/client.js +50 -0
- package/dist/assets/directive-mermaid/mermaid.min.js +2225 -0
- package/dist/assets/directive-mermaid/style.css +7 -0
- package/dist/assets/directive-onlineide/client.js +14 -0
- package/dist/assets/directive-onlineide/style.css +24 -0
- package/dist/assets/directive-pagelist/style.css +18 -0
- package/dist/assets/directive-protect/client.js +80 -0
- package/dist/assets/directive-protect/style.css +54 -0
- package/dist/assets/directive-qr/style.css +77 -0
- package/dist/assets/directive-scratchblock/client.js +30 -0
- package/dist/assets/directive-scratchblock/scratchblocks.min.js +6773 -0
- package/dist/assets/directive-scratchblock/style.css +0 -0
- package/dist/assets/directive-scratchblock/translations.js +4851 -0
- package/dist/assets/directive-slideshow/client.js +64 -0
- package/dist/assets/directive-slideshow/style.css +117 -0
- package/dist/assets/directive-sqlide/client.js +14 -0
- package/dist/assets/directive-sqlide/style.css +24 -0
- package/dist/assets/directive-struktog/style.css +571 -0
- package/dist/assets/directive-tabs/client.js +37 -0
- package/dist/assets/directive-tabs/style.css +66 -0
- package/dist/assets/directive-term/style.css +0 -0
- package/dist/assets/directive-tiles/style.css +92 -0
- package/dist/assets/directive-video/style.css +27 -0
- package/dist/assets/directive-youtube/style.css +16 -0
- package/dist/assets/math/fonts/KaTeX_AMS-Regular.ttf +0 -0
- package/dist/assets/math/fonts/KaTeX_AMS-Regular.woff +0 -0
- package/dist/assets/math/fonts/KaTeX_AMS-Regular.woff2 +0 -0
- package/dist/assets/math/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
- package/dist/assets/math/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
- package/dist/assets/math/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/dist/assets/math/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
- package/dist/assets/math/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
- package/dist/assets/math/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/dist/assets/math/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
- package/dist/assets/math/fonts/KaTeX_Fraktur-Bold.woff +0 -0
- package/dist/assets/math/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/dist/assets/math/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
- package/dist/assets/math/fonts/KaTeX_Fraktur-Regular.woff +0 -0
- package/dist/assets/math/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/dist/assets/math/fonts/KaTeX_Main-Bold.ttf +0 -0
- package/dist/assets/math/fonts/KaTeX_Main-Bold.woff +0 -0
- package/dist/assets/math/fonts/KaTeX_Main-Bold.woff2 +0 -0
- package/dist/assets/math/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
- package/dist/assets/math/fonts/KaTeX_Main-BoldItalic.woff +0 -0
- package/dist/assets/math/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/dist/assets/math/fonts/KaTeX_Main-Italic.ttf +0 -0
- package/dist/assets/math/fonts/KaTeX_Main-Italic.woff +0 -0
- package/dist/assets/math/fonts/KaTeX_Main-Italic.woff2 +0 -0
- package/dist/assets/math/fonts/KaTeX_Main-Regular.ttf +0 -0
- package/dist/assets/math/fonts/KaTeX_Main-Regular.woff +0 -0
- package/dist/assets/math/fonts/KaTeX_Main-Regular.woff2 +0 -0
- package/dist/assets/math/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
- package/dist/assets/math/fonts/KaTeX_Math-BoldItalic.woff +0 -0
- package/dist/assets/math/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/dist/assets/math/fonts/KaTeX_Math-Italic.ttf +0 -0
- package/dist/assets/math/fonts/KaTeX_Math-Italic.woff +0 -0
- package/dist/assets/math/fonts/KaTeX_Math-Italic.woff2 +0 -0
- package/dist/assets/math/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
- package/dist/assets/math/fonts/KaTeX_SansSerif-Bold.woff +0 -0
- package/dist/assets/math/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/dist/assets/math/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
- package/dist/assets/math/fonts/KaTeX_SansSerif-Italic.woff +0 -0
- package/dist/assets/math/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/dist/assets/math/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
- package/dist/assets/math/fonts/KaTeX_SansSerif-Regular.woff +0 -0
- package/dist/assets/math/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/dist/assets/math/fonts/KaTeX_Script-Regular.ttf +0 -0
- package/dist/assets/math/fonts/KaTeX_Script-Regular.woff +0 -0
- package/dist/assets/math/fonts/KaTeX_Script-Regular.woff2 +0 -0
- package/dist/assets/math/fonts/KaTeX_Size1-Regular.ttf +0 -0
- package/dist/assets/math/fonts/KaTeX_Size1-Regular.woff +0 -0
- package/dist/assets/math/fonts/KaTeX_Size1-Regular.woff2 +0 -0
- package/dist/assets/math/fonts/KaTeX_Size2-Regular.ttf +0 -0
- package/dist/assets/math/fonts/KaTeX_Size2-Regular.woff +0 -0
- package/dist/assets/math/fonts/KaTeX_Size2-Regular.woff2 +0 -0
- package/dist/assets/math/fonts/KaTeX_Size3-Regular.ttf +0 -0
- package/dist/assets/math/fonts/KaTeX_Size3-Regular.woff +0 -0
- package/dist/assets/math/fonts/KaTeX_Size3-Regular.woff2 +0 -0
- package/dist/assets/math/fonts/KaTeX_Size4-Regular.ttf +0 -0
- package/dist/assets/math/fonts/KaTeX_Size4-Regular.woff +0 -0
- package/dist/assets/math/fonts/KaTeX_Size4-Regular.woff2 +0 -0
- package/dist/assets/math/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
- package/dist/assets/math/fonts/KaTeX_Typewriter-Regular.woff +0 -0
- package/dist/assets/math/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/dist/assets/math/katex.min.css +1105 -0
- package/dist/assets/normalize.css +349 -0
- package/dist/assets/shell.css +699 -0
- package/dist/assets/side-drawer.js +206 -0
- package/dist/index.js +28 -23
- package/package.json +9 -5
- package/LICENSE.md +0 -21
- package/dist/templates/default/.hyperbook/package.json +0 -50
- package/dist/templates/default/.hyperbook/src/index.css +0 -14
- package/dist/templates/default/.hyperbook/src/pages/[[...page]].js +0 -57
- package/dist/templates/default/.hyperbook/src/pages/_app.js +0 -135
- package/dist/templates/default/.hyperbook/src/pages/_document.js +0 -11
- package/dist/templates/default/.hyperbook/src/pages/api/save.js +0 -39
- package/dist/templates/default/.hyperbook/src/pages/glossary/[...term].js +0 -59
- package/dist/templates/default/.hyperbook/src/pages/glossary/index.js +0 -28
- package/dist/templates/default/.hyperbook/src/useScrollHash.js +0 -14
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
3
|
+
const style = `
|
|
4
|
+
:host {
|
|
5
|
+
background-color: #ffffff;
|
|
6
|
+
width: 350px;
|
|
7
|
+
max-width: 75vw;
|
|
8
|
+
z-index: 10;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
::slotted(*) {
|
|
12
|
+
box-sizing: border-box;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
dialog {
|
|
16
|
+
all: unset;
|
|
17
|
+
|
|
18
|
+
width: inherit;
|
|
19
|
+
max-width: inherit;
|
|
20
|
+
|
|
21
|
+
position: fixed;
|
|
22
|
+
top: 0;
|
|
23
|
+
bottom: 0;
|
|
24
|
+
left: 0;
|
|
25
|
+
height: 100%;
|
|
26
|
+
|
|
27
|
+
transform: translateX(-100%);
|
|
28
|
+
transition: var(
|
|
29
|
+
--side-drawer-transition,
|
|
30
|
+
transform 0.25s ease-out
|
|
31
|
+
);
|
|
32
|
+
visibility: hidden;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
:host([right]) dialog {
|
|
36
|
+
left: unset;
|
|
37
|
+
right: 0;
|
|
38
|
+
transform: translateX(100%);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/* putting this here in case this is ever fixed:
|
|
42
|
+
https://github.com/whatwg/html/issues/7732 */
|
|
43
|
+
dialog,
|
|
44
|
+
dialog::backdrop {
|
|
45
|
+
overscroll-behavior: contain;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
dialog:modal {
|
|
49
|
+
background-color: inherit;
|
|
50
|
+
box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.5);
|
|
51
|
+
border-top-right-radius: inherit;
|
|
52
|
+
border-bottom-right-radius: inherit;
|
|
53
|
+
border-top-left-radius: inherit;
|
|
54
|
+
border-bottom-left-radius: inherit;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
dialog::backdrop {
|
|
58
|
+
background-color: #000;
|
|
59
|
+
backdrop-filter: var(--side-drawer-backdrop-filter, none);
|
|
60
|
+
|
|
61
|
+
opacity: 0;
|
|
62
|
+
transition: var(
|
|
63
|
+
--side-drawer-overlay-transition,
|
|
64
|
+
opacity linear 0.25s
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
dialog[open] {
|
|
69
|
+
visibility: visible;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
:host([open]) dialog[open],
|
|
73
|
+
:host([open]) dialog[open]::backdrop {
|
|
74
|
+
transition-delay: 0s;
|
|
75
|
+
transform: none;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
:host([open]) dialog[open]::backdrop {
|
|
79
|
+
transition-delay: 0s;
|
|
80
|
+
opacity: var(--side-drawer-overlay-opacity, .7);
|
|
81
|
+
}
|
|
82
|
+
`;
|
|
83
|
+
// NOTE: for some reason "transitionend" is never called if my CSS selector is
|
|
84
|
+
// just "dialog[open]", which is why the selector has ":host([open])" at the beginning
|
|
85
|
+
|
|
86
|
+
const template = `<dialog part="dialog"><slot></slot></dialog>`;
|
|
87
|
+
|
|
88
|
+
// using a template so it only needs to be parsed once, whereas setting
|
|
89
|
+
// innerHTML directly in the custom element ctor means the HTML would get parsed
|
|
90
|
+
// for every custom element on the page
|
|
91
|
+
const tmpl = document.createElement("template");
|
|
92
|
+
tmpl.innerHTML = `<style>${style}</style>${template}`;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* A simple side drawer custom element
|
|
96
|
+
*
|
|
97
|
+
* @element side-drawer
|
|
98
|
+
*
|
|
99
|
+
* @fires open - Raised when the drawer is opened.
|
|
100
|
+
* @fires close - Raised when the drawer is closed.
|
|
101
|
+
*
|
|
102
|
+
* @attr {boolean} open - Add this attribute to open the drawer.
|
|
103
|
+
*
|
|
104
|
+
* @slot - The content to go inside the drawer (the default slot)
|
|
105
|
+
*
|
|
106
|
+
* @csspart dialog - The underlying <dialog> element.
|
|
107
|
+
*/
|
|
108
|
+
export class SideDrawer extends HTMLElement {
|
|
109
|
+
constructor() {
|
|
110
|
+
super();
|
|
111
|
+
|
|
112
|
+
const shadowRoot = this.attachShadow({ mode: "open" });
|
|
113
|
+
shadowRoot.appendChild(tmpl.content.cloneNode(true));
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* @internal
|
|
117
|
+
* @type {HTMLDialogElement}
|
|
118
|
+
*/
|
|
119
|
+
this._dialog = shadowRoot.querySelector("dialog");
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
connectedCallback() {
|
|
123
|
+
this._dialog.addEventListener("click", (event) => {
|
|
124
|
+
if (event.target === this._dialog) {
|
|
125
|
+
this.open = false;
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
this._dialog.addEventListener("close", () => {
|
|
130
|
+
this.open = false;
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
this.upgradeProperty("open");
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// from https://web.dev/custom-elements-best-practices/#make-properties-lazy
|
|
137
|
+
/**
|
|
138
|
+
* @param {string} prop
|
|
139
|
+
*
|
|
140
|
+
* @internal
|
|
141
|
+
*/
|
|
142
|
+
upgradeProperty(prop) {
|
|
143
|
+
if (this.hasOwnProperty(prop)) {
|
|
144
|
+
let value = this[prop];
|
|
145
|
+
delete this[prop];
|
|
146
|
+
this[prop] = value;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
get open() {
|
|
151
|
+
return this.hasAttribute("open");
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
set open(isOpen) {
|
|
155
|
+
if (isOpen) {
|
|
156
|
+
if (!this.hasAttribute("open")) {
|
|
157
|
+
this.setAttribute("open", "");
|
|
158
|
+
}
|
|
159
|
+
} else {
|
|
160
|
+
if (this.hasAttribute("open")) {
|
|
161
|
+
this.removeAttribute("open");
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
static get observedAttributes() {
|
|
167
|
+
return ["open"];
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* @param {string} name
|
|
172
|
+
* @param {unknown} _oldValue
|
|
173
|
+
* @param {unknown} _newValue
|
|
174
|
+
* @memberof WcMenuButton
|
|
175
|
+
*/
|
|
176
|
+
attributeChangedCallback(name, _oldValue, _newValue) {
|
|
177
|
+
if (name === "open") {
|
|
178
|
+
// When the drawer is closed, update keyboard/screen reader behavior.
|
|
179
|
+
if (!this.open) {
|
|
180
|
+
this._dialog.addEventListener(
|
|
181
|
+
"transitionend",
|
|
182
|
+
() => {
|
|
183
|
+
this._dialog.close();
|
|
184
|
+
},
|
|
185
|
+
{ once: true },
|
|
186
|
+
);
|
|
187
|
+
|
|
188
|
+
this.dispatchEvent(
|
|
189
|
+
new CustomEvent("close", {
|
|
190
|
+
bubbles: true,
|
|
191
|
+
}),
|
|
192
|
+
);
|
|
193
|
+
} else {
|
|
194
|
+
this._dialog.showModal();
|
|
195
|
+
|
|
196
|
+
this.dispatchEvent(
|
|
197
|
+
new CustomEvent("open", {
|
|
198
|
+
bubbles: true,
|
|
199
|
+
}),
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
customElements.define("side-drawer", SideDrawer);
|