@natachah/vanilla-frontend 0.4.1 → 1.0.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/.gitlab-ci.yml +22 -13
- package/LICENSE.md +1 -1
- package/docs/.vitepress/config.mts +101 -0
- package/docs/base/layout.md +77 -0
- package/docs/base/media.md +146 -0
- package/docs/base/reset.md +33 -0
- package/docs/base/typography.md +296 -0
- package/docs/classes/badge.md +146 -0
- package/docs/classes/breadcrumb.md +54 -0
- package/docs/classes/card.md +171 -0
- package/docs/classes/dropdown.md +180 -0
- package/docs/classes/grid.md +230 -0
- package/docs/classes/list.md +90 -0
- package/docs/components/button.md +254 -0
- package/docs/components/dialog.md +223 -0
- package/docs/components/disclosure.md +169 -0
- package/docs/components/form.md +514 -0
- package/docs/components/loading.md +53 -0
- package/docs/components/popover.md +270 -0
- package/docs/components/progress.md +33 -0
- package/docs/components/table.md +175 -0
- package/docs/index.md +27 -0
- package/docs/javascript/autofill.md +155 -0
- package/docs/javascript/check.md +53 -0
- package/docs/javascript/comfort.md +125 -0
- package/docs/javascript/consent.md +89 -0
- package/docs/javascript/cookie.md +33 -0
- package/docs/javascript/drawer.md +99 -0
- package/docs/javascript/form.md +130 -0
- package/docs/javascript/scroll.md +104 -0
- package/docs/javascript/slider.md +130 -0
- package/docs/javascript/sortable.md +127 -0
- package/docs/javascript/tabpanel.md +72 -0
- package/docs/javascript/toggle.md +182 -0
- package/docs/javascript/trap.md +33 -0
- package/docs/javascript/tree.md +220 -0
- package/docs/prologue/conventions.md +92 -0
- package/docs/prologue/release.md +44 -0
- package/docs/prologue/upgrade.md +21 -0
- package/docs/{pages/demo/layout.html → public/demo/demo.html} +1 -2
- package/docs/start/customization.md +184 -0
- package/docs/start/install.md +80 -0
- package/docs/start/mixin.md +203 -0
- package/docs/vuejs/ComponentPreview.vue +99 -0
- package/js/_slider.js +17 -1
- package/js/{vanilla-frontend.js → vanilla-frontend-doc.js} +30 -33
- package/natachah-vanilla-frontend-1.0.0.tgz +0 -0
- package/package.json +11 -14
- package/public/404.html +22 -0
- package/public/assets/app.DsgDPRSA.js +1 -0
- package/public/assets/base_layout.md.CTGv6rTn.js +13 -0
- package/public/assets/base_layout.md.CTGv6rTn.lean.js +1 -0
- package/public/assets/base_media.md.CcuDUcF-.js +24 -0
- package/public/assets/base_media.md.CcuDUcF-.lean.js +1 -0
- package/public/assets/base_reset.md.DqIdqFRJ.js +3 -0
- package/public/assets/base_reset.md.DqIdqFRJ.lean.js +1 -0
- package/public/assets/base_typography.md.DV-ikqGZ.js +87 -0
- package/public/assets/base_typography.md.DV-ikqGZ.lean.js +1 -0
- package/public/assets/chunks/ComponentPreview.BW2s4ay5.js +27 -0
- package/public/assets/chunks/framework.CaiDwmc7.js +4 -0
- package/public/assets/chunks/theme.DL_11MHV.js +1 -0
- package/public/assets/classes_badge.md.BCGzPr6f.js +24 -0
- package/public/assets/classes_badge.md.BCGzPr6f.lean.js +1 -0
- package/public/assets/classes_breadcrumb.md.vU6jlo36.js +15 -0
- package/public/assets/classes_breadcrumb.md.vU6jlo36.lean.js +1 -0
- package/public/assets/classes_card.md.BZEh2l_B.js +41 -0
- package/public/assets/classes_card.md.BZEh2l_B.lean.js +1 -0
- package/public/assets/classes_dropdown.md.BLVw_xQY.js +70 -0
- package/public/assets/classes_dropdown.md.BLVw_xQY.lean.js +1 -0
- package/public/assets/classes_grid.md.47v-Ybqe.js +45 -0
- package/public/assets/classes_grid.md.47v-Ybqe.lean.js +1 -0
- package/public/assets/classes_list.md.BW9PWZV1.js +36 -0
- package/public/assets/classes_list.md.BW9PWZV1.lean.js +1 -0
- package/public/assets/components_button.md.vx3HzdpN.js +45 -0
- package/public/assets/components_button.md.vx3HzdpN.lean.js +1 -0
- package/public/assets/components_dialog.md.C-0gJGus.js +76 -0
- package/public/assets/components_dialog.md.C-0gJGus.lean.js +1 -0
- package/public/assets/components_disclosure.md.DeSRu9_P.js +53 -0
- package/public/assets/components_disclosure.md.DeSRu9_P.lean.js +1 -0
- package/public/assets/components_form.md.Be8d5WFv.js +122 -0
- package/public/assets/components_form.md.Be8d5WFv.lean.js +1 -0
- package/public/assets/components_loading.md.CKDG7z5x.js +4 -0
- package/public/assets/components_loading.md.CKDG7z5x.lean.js +1 -0
- package/public/assets/components_popover.md.CwgNttNc.js +102 -0
- package/public/assets/components_popover.md.CwgNttNc.lean.js +1 -0
- package/public/assets/components_progress.md.CNC7rJiC.js +6 -0
- package/public/assets/components_progress.md.CNC7rJiC.lean.js +1 -0
- package/public/assets/components_table.md.LyBkIDkF.js +75 -0
- package/public/assets/components_table.md.LyBkIDkF.lean.js +1 -0
- package/public/assets/index.md.CJiHmjB7.js +1 -0
- package/public/assets/index.md.CJiHmjB7.lean.js +1 -0
- package/public/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 +0 -0
- package/public/assets/inter-italic-cyrillic.By2_1cv3.woff2 +0 -0
- package/public/assets/inter-italic-greek-ext.1u6EdAuj.woff2 +0 -0
- package/public/assets/inter-italic-greek.DJ8dCoTZ.woff2 +0 -0
- package/public/assets/inter-italic-latin-ext.CN1xVJS-.woff2 +0 -0
- package/public/assets/inter-italic-latin.C2AdPX0b.woff2 +0 -0
- package/public/assets/inter-italic-vietnamese.BSbpV94h.woff2 +0 -0
- package/public/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 +0 -0
- package/public/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 +0 -0
- package/public/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 +0 -0
- package/public/assets/inter-roman-greek.BBVDIX6e.woff2 +0 -0
- package/public/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 +0 -0
- package/public/assets/inter-roman-latin.Di8DUHzh.woff2 +0 -0
- package/public/assets/inter-roman-vietnamese.BjW4sHH5.woff2 +0 -0
- package/public/assets/javascript_autofill.md.BewVUo4H.js +49 -0
- package/public/assets/javascript_autofill.md.BewVUo4H.lean.js +1 -0
- package/public/assets/javascript_check.md.B6ajE66i.js +13 -0
- package/public/assets/javascript_check.md.B6ajE66i.lean.js +1 -0
- package/public/assets/javascript_comfort.md.BRci3j7V.js +20 -0
- package/public/assets/javascript_comfort.md.BRci3j7V.lean.js +1 -0
- package/public/assets/javascript_consent.md.Bjv8ZDS6.js +29 -0
- package/public/assets/javascript_consent.md.Bjv8ZDS6.lean.js +1 -0
- package/public/assets/javascript_cookie.md.Dlhyk4Ha.js +2 -0
- package/public/assets/javascript_cookie.md.Dlhyk4Ha.lean.js +1 -0
- package/public/assets/javascript_drawer.md.BCJX3fL-.js +32 -0
- package/public/assets/javascript_drawer.md.BCJX3fL-.lean.js +1 -0
- package/public/assets/javascript_form.md.Cwf_gxLI.js +40 -0
- package/public/assets/javascript_form.md.Cwf_gxLI.lean.js +2 -0
- package/public/assets/javascript_scroll.md.BrJijWbF.js +30 -0
- package/public/assets/javascript_scroll.md.BrJijWbF.lean.js +1 -0
- package/public/assets/javascript_slider.md.DDO8wC4u.js +27 -0
- package/public/assets/javascript_slider.md.DDO8wC4u.lean.js +1 -0
- package/public/assets/javascript_sortable.md.BKyem7yw.js +35 -0
- package/public/assets/javascript_sortable.md.BKyem7yw.lean.js +1 -0
- package/public/assets/javascript_tabpanel.md.D9M-_xE0.js +19 -0
- package/public/assets/javascript_tabpanel.md.D9M-_xE0.lean.js +1 -0
- package/public/assets/javascript_toggle.md.C8582WNC.js +46 -0
- package/public/assets/javascript_toggle.md.C8582WNC.lean.js +1 -0
- package/public/assets/javascript_trap.md.Bc59YUng.js +2 -0
- package/public/assets/javascript_trap.md.Bc59YUng.lean.js +1 -0
- package/public/assets/javascript_tree.md.uc1UUsFV.js +72 -0
- package/public/assets/javascript_tree.md.uc1UUsFV.lean.js +1 -0
- package/public/assets/prologue_conventions.md.D8nVwlRS.js +34 -0
- package/public/assets/prologue_conventions.md.D8nVwlRS.lean.js +1 -0
- package/public/assets/prologue_release.md.CG6nuFnt.js +1 -0
- package/public/assets/prologue_release.md.CG6nuFnt.lean.js +1 -0
- package/public/assets/prologue_upgrade.md.CFxokaBG.js +1 -0
- package/public/assets/prologue_upgrade.md.CFxokaBG.lean.js +1 -0
- package/public/assets/start_customization.md.t-ze_NoQ.js +141 -0
- package/public/assets/start_customization.md.t-ze_NoQ.lean.js +1 -0
- package/public/assets/start_install.md.OluH7l11.js +46 -0
- package/public/assets/start_install.md.OluH7l11.lean.js +1 -0
- package/public/assets/start_mixin.md.D76cLRSX.js +85 -0
- package/public/assets/start_mixin.md.D76cLRSX.lean.js +1 -0
- package/public/assets/style.zIeGMibA.css +1 -0
- package/public/base/layout.html +37 -0
- package/public/base/media.html +179 -0
- package/public/base/reset.html +27 -0
- package/public/base/typography.html +320 -0
- package/public/bundles/vanilla-frontend-doc.css +1 -0
- package/public/bundles/vanilla-frontend-doc.js +1 -0
- package/public/bundles/vanilla-frontend.css +1 -0
- package/public/classes/badge.html +205 -0
- package/public/classes/breadcrumb.html +66 -0
- package/public/classes/card.html +222 -0
- package/public/classes/dropdown.html +147 -0
- package/public/classes/grid.html +278 -0
- package/public/classes/list.html +113 -0
- package/public/components/button.html +304 -0
- package/public/components/dialog.html +205 -0
- package/public/components/disclosure.html +130 -0
- package/public/components/form.html +589 -0
- package/public/components/loading.html +107 -0
- package/public/components/popover.html +257 -0
- package/public/components/progress.html +57 -0
- package/public/components/table.html +152 -0
- package/public/demo/demo.html +84 -0
- package/public/hashmap.json +1 -0
- package/public/index.html +25 -0
- package/public/javascript/autofill.html +152 -0
- package/public/javascript/check.html +64 -0
- package/public/javascript/comfort.html +123 -0
- package/public/javascript/consent.html +80 -0
- package/public/javascript/cookie.html +26 -0
- package/public/javascript/drawer.html +83 -0
- package/public/javascript/form.html +117 -0
- package/public/javascript/scroll.html +81 -0
- package/public/javascript/slider.html +78 -0
- package/public/javascript/sortable.html +112 -0
- package/public/javascript/tabpanel.html +70 -0
- package/public/javascript/toggle.html +201 -0
- package/public/javascript/trap.html +26 -0
- package/public/javascript/tree.html +175 -0
- package/public/prologue/conventions.html +58 -0
- package/public/prologue/release.html +25 -0
- package/public/prologue/upgrade.html +25 -0
- package/public/start/customization.html +165 -0
- package/public/start/install.html +70 -0
- package/public/start/mixin.html +109 -0
- package/public/vp-icons.css +0 -0
- package/sandbox/index.html +27 -0
- package/sandbox/js/sandbox-header.js +57 -0
- package/sandbox/js/sandbox-test.js +91 -0
- package/sandbox/pages/base/layout.html +80 -0
- package/sandbox/pages/base/media.html +52 -0
- package/sandbox/pages/base/typography.html +132 -0
- package/sandbox/pages/components/button.html +70 -0
- package/sandbox/pages/components/dialog.html +72 -0
- package/sandbox/pages/components/disclosure.html +77 -0
- package/sandbox/pages/components/form.html +164 -0
- package/sandbox/pages/components/loading.html +32 -0
- package/sandbox/pages/components/popover.html +119 -0
- package/sandbox/pages/components/progress.html +28 -0
- package/sandbox/pages/components/table.html +80 -0
- package/sandbox/pages/customs/badge.html +59 -0
- package/sandbox/pages/customs/breadcrumb.html +34 -0
- package/sandbox/pages/customs/card.html +71 -0
- package/sandbox/pages/customs/dropdown.html +70 -0
- package/sandbox/pages/customs/grid.html +109 -0
- package/sandbox/pages/customs/list.html +43 -0
- package/sandbox/pages/javascript/autofill.html +39 -0
- package/sandbox/pages/javascript/checkall.html +37 -0
- package/sandbox/pages/javascript/comfort.html +41 -0
- package/sandbox/pages/javascript/consent.html +45 -0
- package/sandbox/pages/javascript/form.html +50 -0
- package/sandbox/pages/javascript/scroll.html +44 -0
- package/sandbox/pages/javascript/slider.html +44 -0
- package/sandbox/pages/javascript/sortable.html +56 -0
- package/sandbox/pages/javascript/tabpanel.html +39 -0
- package/sandbox/pages/javascript/toggle.html +72 -0
- package/sandbox/pages/javascript/tree.html +96 -0
- package/sandbox/sandbox.js +26 -0
- package/sandbox/scss/sandbox-header.scss +93 -0
- package/scss/components/_badge.scss +2 -1
- package/scss/components/_dropdown.scss +2 -2
- package/scss/components/_group.scss +8 -4
- package/scss/components/_popover.scss +74 -0
- package/scss/components/index.scss +1 -0
- package/scss/vanilla-frontend-doc.scss +46 -1
- package/scss/vanilla-frontend-sandbox.scss +34 -0
- package/vite.config.js +30 -0
- package/docs/index.html +0 -36
- package/docs/main-demo.js +0 -2
- package/docs/main.js +0 -34
- package/docs/pages/base/layout.html +0 -131
- package/docs/pages/base/media.html +0 -142
- package/docs/pages/base/reset.html +0 -53
- package/docs/pages/base/typography.html +0 -334
- package/docs/pages/components/button.html +0 -202
- package/docs/pages/components/dialog.html +0 -336
- package/docs/pages/components/disclosure.html +0 -174
- package/docs/pages/components/form.html +0 -427
- package/docs/pages/components/loading.html +0 -58
- package/docs/pages/components/progress.html +0 -47
- package/docs/pages/components/table.html +0 -168
- package/docs/pages/customs/badge.html +0 -150
- package/docs/pages/customs/breadcrumb.html +0 -67
- package/docs/pages/customs/card.html +0 -185
- package/docs/pages/customs/drawer.html +0 -149
- package/docs/pages/customs/dropdown.html +0 -270
- package/docs/pages/customs/grid.html +0 -185
- package/docs/pages/customs/list.html +0 -112
- package/docs/pages/customs/slider.html +0 -273
- package/docs/pages/javascript/autofill.html +0 -170
- package/docs/pages/javascript/checkall.html +0 -59
- package/docs/pages/javascript/comfort.html +0 -146
- package/docs/pages/javascript/consent.html +0 -112
- package/docs/pages/javascript/cookie.html +0 -81
- package/docs/pages/javascript/form.html +0 -199
- package/docs/pages/javascript/scroll.html +0 -209
- package/docs/pages/javascript/sortable.html +0 -167
- package/docs/pages/javascript/tabpanel.html +0 -89
- package/docs/pages/javascript/toggle.html +0 -193
- package/docs/pages/javascript/trap.html +0 -89
- package/docs/pages/javascript/tree.html +0 -256
- package/docs/pages/quick-start/conventions.html +0 -112
- package/docs/pages/quick-start/customization.html +0 -187
- package/docs/pages/quick-start/installation.html +0 -97
- package/docs/pages/quick-start/mixins.html +0 -214
- package/docs/src/js/demo.js +0 -110
- package/docs/src/js/doc-code.js +0 -102
- package/docs/src/js/doc-demo.js +0 -14
- package/docs/src/js/doc-layout.js +0 -117
- package/docs/src/scss/demo.scss +0 -77
- package/docs/src/scss/layout.scss +0 -83
- package/docs/src/scss/style.scss +0 -278
- package/docs/vite.config.mjs +0 -23
- package/esbuild.mjs +0 -25
- package/natachah-vanilla-frontend-0.4.1.tgz +0 -0
- package/vitest.config.js +0 -8
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="fr">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8">
|
|
6
|
+
<title>Check all - Javascript - Sandbox</title>
|
|
7
|
+
</head>
|
|
8
|
+
|
|
9
|
+
<body>
|
|
10
|
+
|
|
11
|
+
<header>
|
|
12
|
+
<sandbox-header class="container" />
|
|
13
|
+
</header>
|
|
14
|
+
|
|
15
|
+
<main id="content">
|
|
16
|
+
|
|
17
|
+
<section class="container">
|
|
18
|
+
<h2>Check all</h2>
|
|
19
|
+
<input type="checkbox" id="checkboxAll" name="all" value="checkbox[]">
|
|
20
|
+
<label for="checkboxAll">Check all</label>
|
|
21
|
+
<fieldset>
|
|
22
|
+
<legend>Choice</legend>
|
|
23
|
+
<input type="checkbox" id="checkboxA" name="checkbox[]" value="a">
|
|
24
|
+
<label for="checkboxA">A</label>
|
|
25
|
+
<input type="checkbox" id="checkboxB" name="checkbox[]" value="b">
|
|
26
|
+
<label for="checkboxB">B</label>
|
|
27
|
+
<input type="checkbox" id="checkboxC" name="checkbox[]" value="c">
|
|
28
|
+
<label for="checkboxC">B</label>
|
|
29
|
+
</fieldset>
|
|
30
|
+
</section>
|
|
31
|
+
|
|
32
|
+
</main>
|
|
33
|
+
|
|
34
|
+
<script type="module" src="/sandbox.js"></script>
|
|
35
|
+
</body>
|
|
36
|
+
|
|
37
|
+
</html>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="fr">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8">
|
|
6
|
+
<title>Comfort - Javascript - Sandbox</title>
|
|
7
|
+
</head>
|
|
8
|
+
|
|
9
|
+
<body>
|
|
10
|
+
|
|
11
|
+
<header>
|
|
12
|
+
<sandbox-header class="container" />
|
|
13
|
+
</header>
|
|
14
|
+
|
|
15
|
+
<main id="content">
|
|
16
|
+
|
|
17
|
+
<section class="container">
|
|
18
|
+
<h2>Theme</h2>
|
|
19
|
+
<button data-theme value="light">Light theme</button>
|
|
20
|
+
<button data-theme value="dark">Dark theme</button>
|
|
21
|
+
|
|
22
|
+
<h2>Style</h2>
|
|
23
|
+
<button data-style="--font-size" value="1rem">1 rem</button>
|
|
24
|
+
<button data-style="--font-size" value="1.5rem">1.5 rem</button>
|
|
25
|
+
<button data-style="--font-size" value="2rem">2 rem</button>
|
|
26
|
+
|
|
27
|
+
<h2>Custom</h2>
|
|
28
|
+
<label for="demoCustomColor" style="color: var(--demo-label-color, black)">Change my label color !</label>
|
|
29
|
+
<input id="demoCustomColor" name="demo-change-color" data-style-custom="--demo-label-color" type="color" />
|
|
30
|
+
|
|
31
|
+
<h2>Reset</h2>
|
|
32
|
+
<button id="resetComfort">Reset</button>
|
|
33
|
+
|
|
34
|
+
</section>
|
|
35
|
+
|
|
36
|
+
</main>
|
|
37
|
+
|
|
38
|
+
<script type="module" src="/sandbox.js"></script>
|
|
39
|
+
</body>
|
|
40
|
+
|
|
41
|
+
</html>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="fr">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8">
|
|
6
|
+
<title>Consent - Javascript - Sandbox</title>
|
|
7
|
+
</head>
|
|
8
|
+
|
|
9
|
+
<body>
|
|
10
|
+
|
|
11
|
+
<header>
|
|
12
|
+
<sandbox-header class="container" />
|
|
13
|
+
</header>
|
|
14
|
+
|
|
15
|
+
<main id="content">
|
|
16
|
+
|
|
17
|
+
<section class="container">
|
|
18
|
+
<h2>Consent cookie</h2>
|
|
19
|
+
<dialog id="demoCookies" aria-labelledby="cookiesTitle" aria-modal="true">
|
|
20
|
+
<div id="cookiesTitle">
|
|
21
|
+
<h1>Cookies Consent</h1>
|
|
22
|
+
<p><b>Accept:</b> will save the checkboxes</p>
|
|
23
|
+
<p><b>Decline:</b> will ONLY save the necessary</p>
|
|
24
|
+
<form method="dialog">
|
|
25
|
+
<fieldset style="margin-block:1rem;">
|
|
26
|
+
<input type="checkbox" id="cookieConsentNecessary" name="cookies_consent[]" value="necessary" checked disabled>
|
|
27
|
+
<label for="cookieConsentNecessary">Strictly necessary</label>
|
|
28
|
+
<input type="checkbox" id="cookieConsentAnalytic" name="cookies_consent[]" value="analytic">
|
|
29
|
+
<label for="cookieConsentAnalytic">Analytic</label>
|
|
30
|
+
<input type="checkbox" id="cookieConsentMarketing" name="cookies_consent[]" value="marketing">
|
|
31
|
+
<label for="cookieConsentMarketing">Marketing</label>
|
|
32
|
+
</fieldset>
|
|
33
|
+
<button class="primary" type="submit">Accept</button>
|
|
34
|
+
<button class="outline" data-dialog-close>Decline</button>
|
|
35
|
+
</form>
|
|
36
|
+
</div>
|
|
37
|
+
</dialog>
|
|
38
|
+
</section>
|
|
39
|
+
|
|
40
|
+
</main>
|
|
41
|
+
|
|
42
|
+
<script type="module" src="/sandbox.js"></script>
|
|
43
|
+
</body>
|
|
44
|
+
|
|
45
|
+
</html>
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="fr">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8">
|
|
6
|
+
<title>Form helper - Javascript - Sandbox</title>
|
|
7
|
+
</head>
|
|
8
|
+
|
|
9
|
+
<body>
|
|
10
|
+
|
|
11
|
+
<header>
|
|
12
|
+
<sandbox-header class="container" />
|
|
13
|
+
</header>
|
|
14
|
+
|
|
15
|
+
<main id="content">
|
|
16
|
+
|
|
17
|
+
<section class="container">
|
|
18
|
+
<h2>Password visibility</h2>
|
|
19
|
+
<fieldset>
|
|
20
|
+
<legend>Password</legend>
|
|
21
|
+
<div class="group">
|
|
22
|
+
<input id="myPassword" type="password" name="password" value="123456">
|
|
23
|
+
<button id="demoPassword" aria-controls="myPassword" aria-pressed="false" aria-label="Expandable the visibility of the password">
|
|
24
|
+
Show
|
|
25
|
+
</button>
|
|
26
|
+
</div>
|
|
27
|
+
</fieldset>
|
|
28
|
+
|
|
29
|
+
<h2>Toggle form</h2>
|
|
30
|
+
<button id="demoToggleFormButton" aria-controls="demoToggleFormContent" aria-expanded="true" aria-pressed="true">Toggle</button>
|
|
31
|
+
<div id="demoToggleFormContent">
|
|
32
|
+
<input name="test" type="text" value="Some input" required>
|
|
33
|
+
<textarea> Some textarea
|
|
34
|
+
</textarea>
|
|
35
|
+
<select>
|
|
36
|
+
<option value="null">--</option>
|
|
37
|
+
<option value="1" selected>Lorem</option>
|
|
38
|
+
<option value="2">Perferendis</option>
|
|
39
|
+
<option value="3">Officiis</option>
|
|
40
|
+
</select>
|
|
41
|
+
<input type="checkbox" checked>
|
|
42
|
+
</div>
|
|
43
|
+
</section>
|
|
44
|
+
|
|
45
|
+
</main>
|
|
46
|
+
|
|
47
|
+
<script type="module" src="/sandbox.js"></script>
|
|
48
|
+
</body>
|
|
49
|
+
|
|
50
|
+
</html>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="fr">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8">
|
|
6
|
+
<title>Scroll - Javascript - Sandbox</title>
|
|
7
|
+
</head>
|
|
8
|
+
|
|
9
|
+
<body>
|
|
10
|
+
|
|
11
|
+
<header>
|
|
12
|
+
<sandbox-header class="container" />
|
|
13
|
+
</header>
|
|
14
|
+
|
|
15
|
+
<main id="content">
|
|
16
|
+
|
|
17
|
+
<section class="container">
|
|
18
|
+
<h2>Scroll</h2>
|
|
19
|
+
|
|
20
|
+
<nav id="demoScrollNav">
|
|
21
|
+
<ul class="list">
|
|
22
|
+
<li><a role="button" href="#target1" aria-current="location">One</a></li>
|
|
23
|
+
<li><a role="button" href="#target2">Two</a></li>
|
|
24
|
+
<li><a role="button" href="#target3">Three</a></li>
|
|
25
|
+
<li><button data-scroll-bottom="demoScrollSpy">Scroll to the bottom</button></li>
|
|
26
|
+
<li><button data-scroll-top="demoScrollSpy">Scroll to the top</button></li>
|
|
27
|
+
</ul>
|
|
28
|
+
</nav>
|
|
29
|
+
<div id="demoScrollSpy" style="height: 150px; overflow-y: scroll; position: relative">
|
|
30
|
+
<div>
|
|
31
|
+
<p id="target1">1) Lorem ipsum dolor sit amet consectetur adipisicing elit. Quis in dolore exercitationem, quibusdam repellat perspiciatis qui deleniti commodi reiciendis provident dolorem libero velit, ipsam inventore laudantium, maxime repudiandae minima. Sunt? Lorem ipsum dolor sit amet consectetur adipisicing elit. Quis in dolore exercitationem, quibusdam repellat perspiciatis qui deleniti commodi reiciendis provident dolorem libero velit, ipsam inventore laudantium, maxime repudiandae minima. Sunt? Lorem ipsum dolor sit amet consectetur adipisicing elit. Quis in dolore exercitationem, quibusdam repellat perspiciatis qui deleniti commodi reiciendis provident dolorem libero velit, ipsam inventore laudantium, maxime repudiandae minima. Sunt?</p>
|
|
32
|
+
<p id="target2">2) Lorem, ipsum dolor sit amet consectetur adipisicing elit. At excepturi ratione modi vero eligendi doloremque architecto ab quaerat delectus minima doloribus, ut, sint eos ipsam impedit reprehenderit hic, labore voluptas. Lorem, ipsum dolor sit amet consectetur adipisicing elit. At excepturi ratione modi vero eligendi doloremque architecto ab quaerat delectus minima doloribus, ut, sint eos ipsam impedit reprehenderit hic, labore voluptas.Lorem, ipsum dolor sit amet consectetur adipisicing elit. At excepturi ratione modi vero eligendi doloremque architecto ab quaerat delectus minima doloribus, ut, sint eos ipsam impedit reprehenderit hic, labore voluptas.</p>
|
|
33
|
+
<p id="target3">3) Lorem, ipsum dolor sit amet consectetur adipisicing elit. At excepturi ratione modi vero eligendi doloremque architecto ab quaerat delectus minima doloribus, ut, sint eos ipsam impedit reprehenderit hic, labore voluptas.Lorem, ipsum dolor sit amet consectetur adipisicing elit. At excepturi ratione modi vero eligendi doloremque architecto ab quaerat delectus minima doloribus, ut, sint eos ipsam impedit reprehenderit hic, labore voluptas. At excepturi ratione modi vero eligendi doloremque architecto ab quaerat delectus minima doloribus, ut, sint eos ipsam impedit reprehenderit hic, labore voluptas.Lorem, ipsum dolor sit amet consectetur adipisicing elit. At excepturi ratione modi vero eligendi doloremque architecto ab quaerat delectus minima doloribus, ut, sint eos ipsam impedit reprehenderit hic, labore voluptas.</p>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
</section>
|
|
38
|
+
|
|
39
|
+
</main>
|
|
40
|
+
|
|
41
|
+
<script type="module" src="/sandbox.js"></script>
|
|
42
|
+
</body>
|
|
43
|
+
|
|
44
|
+
</html>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="fr">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8">
|
|
6
|
+
<title>Slider - Customs - Sandbox</title>
|
|
7
|
+
</head>
|
|
8
|
+
|
|
9
|
+
<body>
|
|
10
|
+
|
|
11
|
+
<header>
|
|
12
|
+
<sandbox-header class="container" />
|
|
13
|
+
</header>
|
|
14
|
+
|
|
15
|
+
<main id="content">
|
|
16
|
+
|
|
17
|
+
<section class="container">
|
|
18
|
+
<h2>Slider</h2>
|
|
19
|
+
|
|
20
|
+
<div>
|
|
21
|
+
<div id="sliderFull" class="slider demo-slider">
|
|
22
|
+
<div id="slide1" role="tabpanel" aria-hidden="false"><img src="https://picsum.photos/id/1/300" alt="Image 1"></div>
|
|
23
|
+
<div id="slide2" role="tabpanel" aria-hidden="true"><img src="https://picsum.photos/id/2/300" alt="Image 2"></div>
|
|
24
|
+
<div id="slide3" role="tabpanel" aria-hidden="true"><img src="https://picsum.photos/id/3/300" alt="Image 3"></div>
|
|
25
|
+
</div>
|
|
26
|
+
<button aria-controls="sliderFull" data-slider-prev>previous</button>
|
|
27
|
+
<div aria-controls="sliderFull" role="tablist">
|
|
28
|
+
<button role="tab" aria-controls="slide1" aria-selected="true">1</button>
|
|
29
|
+
<button role="tab" aria-controls="slide2" aria-selected="false">2</button>
|
|
30
|
+
<button role="tab" aria-controls="slide3" aria-selected="false">3</button>
|
|
31
|
+
</div>
|
|
32
|
+
<button aria-controls="sliderFull" data-slider-next>next</button>
|
|
33
|
+
<button aria-controls="sliderFull" data-slider-play>play</button>
|
|
34
|
+
<button aria-controls="sliderFull" data-slider-pause>pause</button>
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
</section>
|
|
38
|
+
|
|
39
|
+
</main>
|
|
40
|
+
|
|
41
|
+
<script type="module" src="/sandbox.js"></script>
|
|
42
|
+
</body>
|
|
43
|
+
|
|
44
|
+
</html>
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="fr">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8">
|
|
6
|
+
<title>Sortable - Javascript - Sandbox</title>
|
|
7
|
+
</head>
|
|
8
|
+
|
|
9
|
+
<body>
|
|
10
|
+
|
|
11
|
+
<header>
|
|
12
|
+
<sandbox-header class="container" />
|
|
13
|
+
</header>
|
|
14
|
+
|
|
15
|
+
<main id="content">
|
|
16
|
+
|
|
17
|
+
<section class="container">
|
|
18
|
+
<h2>Sortable</h2>
|
|
19
|
+
<ul class="demo-sortable">
|
|
20
|
+
<li draggable="false">Lorem, ipsum.</li>
|
|
21
|
+
<li draggable="false">Impedit, quod!</li>
|
|
22
|
+
<li draggable="false">Repudiandae, rerum.</li>
|
|
23
|
+
<li draggable="false">Ab, doloremque!</li>
|
|
24
|
+
<li draggable="false">Totam, consectetur.</li>
|
|
25
|
+
<li draggable="false">Laborum, cum!</li>
|
|
26
|
+
</ul>
|
|
27
|
+
|
|
28
|
+
<h2>Handle</h2>
|
|
29
|
+
<ul class="demo-sortable">
|
|
30
|
+
<li draggable=" false">
|
|
31
|
+
<span data-handle="sortable">
|
|
32
|
+
HANDLE
|
|
33
|
+
</span>
|
|
34
|
+
Lorem, ipsum.
|
|
35
|
+
</li>
|
|
36
|
+
<li draggable="false">
|
|
37
|
+
<span data-handle="sortable">
|
|
38
|
+
HANDLE
|
|
39
|
+
</span>
|
|
40
|
+
Impedit, quod!
|
|
41
|
+
</li>
|
|
42
|
+
<li draggable="false">
|
|
43
|
+
<span data-handle="sortable">
|
|
44
|
+
HANDLE
|
|
45
|
+
</span>
|
|
46
|
+
Repudiandae, rerum.
|
|
47
|
+
</li>
|
|
48
|
+
</ul>
|
|
49
|
+
</section>
|
|
50
|
+
|
|
51
|
+
</main>
|
|
52
|
+
|
|
53
|
+
<script type="module" src="/sandbox.js"></script>
|
|
54
|
+
</body>
|
|
55
|
+
|
|
56
|
+
</html>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="fr">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8">
|
|
6
|
+
<title>Tabpanel - Javascript - Sandbox</title>
|
|
7
|
+
</head>
|
|
8
|
+
|
|
9
|
+
<body>
|
|
10
|
+
|
|
11
|
+
<header>
|
|
12
|
+
<sandbox-header class="container" />
|
|
13
|
+
</header>
|
|
14
|
+
|
|
15
|
+
<main id="content">
|
|
16
|
+
|
|
17
|
+
<section class="container">
|
|
18
|
+
<h2>Tabpanel</h2>
|
|
19
|
+
|
|
20
|
+
<div id="myPanel">
|
|
21
|
+
<div role="tablist" aria-label="My demo tabpanel">
|
|
22
|
+
<button id="tab-1" role="tab" aria-controls="one">One</button>
|
|
23
|
+
<button id="tab-2" role="tab" aria-controls="two">Two</button>
|
|
24
|
+
</div>
|
|
25
|
+
<div id="one" role="tabpanel" aria-labelledby="tab-1">
|
|
26
|
+
This is the first panel
|
|
27
|
+
</div>
|
|
28
|
+
<div id="two" role="tabpanel" aria-labelledby="tab-2">
|
|
29
|
+
This is the seconde panel
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
</section>
|
|
33
|
+
|
|
34
|
+
</main>
|
|
35
|
+
|
|
36
|
+
<script type="module" src="/sandbox.js"></script>
|
|
37
|
+
</body>
|
|
38
|
+
|
|
39
|
+
</html>
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="fr">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8">
|
|
6
|
+
<title>Toggle - Javascript - Sandbox</title>
|
|
7
|
+
</head>
|
|
8
|
+
|
|
9
|
+
<body>
|
|
10
|
+
|
|
11
|
+
<header>
|
|
12
|
+
<sandbox-header class="container" />
|
|
13
|
+
</header>
|
|
14
|
+
|
|
15
|
+
<main id="content">
|
|
16
|
+
|
|
17
|
+
<section class="container">
|
|
18
|
+
<h2>Button</h2>
|
|
19
|
+
<button class="demo-toggle" aria-controls="collapse" aria-expanded="false" aria-pressed="false">Toggle</button>
|
|
20
|
+
<div id="collapse" tabindex="0" hidden>
|
|
21
|
+
Hello there !
|
|
22
|
+
</div>
|
|
23
|
+
|
|
24
|
+
<h2>By form</h2>
|
|
25
|
+
<fieldset>
|
|
26
|
+
<legend>Checkboxes</legend>
|
|
27
|
+
<input class="demo-toggle" id="cA" type="checkbox" aria-controls="checkboxA" aria-expanded="false">
|
|
28
|
+
<label for="cA">Toggle A</label>
|
|
29
|
+
<input class="demo-toggle" id="cB" type="checkbox" aria-controls="checkboxB" aria-expanded="false">
|
|
30
|
+
<label for="cB">Toggle B</label>
|
|
31
|
+
</fieldset>
|
|
32
|
+
<div id="checkboxA" hidden>Hello there, I'm A !</div>
|
|
33
|
+
<div id="checkboxB" hidden>Hello there, I'm B !</div>
|
|
34
|
+
<hr style="margin-block:1rem">
|
|
35
|
+
<fieldset>
|
|
36
|
+
<legend>radios</legend>
|
|
37
|
+
<input class="demo-toggle" id="rA" type="radio" name="radio" aria-controls="radioA" aria-expanded="false" value="a">
|
|
38
|
+
<label for="rA">Toggle A</label>
|
|
39
|
+
<input class="demo-toggle" id="rB" type="radio" name="radio" aria-controls="radioB" aria-expanded="false" value="b">
|
|
40
|
+
<label for="rB">Toggle B</label>
|
|
41
|
+
<input class="demo-toggle" id="rC" type="radio" name="radio" value="c">
|
|
42
|
+
<label for="rC">Toggle C</label>
|
|
43
|
+
</fieldset>
|
|
44
|
+
<div id="radioA" hidden>Hello there, I'm A !</div>
|
|
45
|
+
<div id="radioB" hidden>Hello there, I'm B !</div>
|
|
46
|
+
|
|
47
|
+
<input id="switch" class="demo-toggle" type="checkbox" role="switch" aria-controls="switchA switchB" aria-expanded="true">
|
|
48
|
+
<label for="switch">Switch</label>
|
|
49
|
+
<div id="switchA" data-toggle-when="true" hidden>This is TRUE</div>
|
|
50
|
+
<div id="switchB" data-toggle-when="false">This is FALSE</div>
|
|
51
|
+
|
|
52
|
+
<select class="demo-toggle" name="select" aria-controls="selectA selectB selectG selectNot" aria-expanded="false">
|
|
53
|
+
<option value="null">--</option>
|
|
54
|
+
<option value="A">aaa</option>
|
|
55
|
+
<option value="B">bbb</option>
|
|
56
|
+
<optgroup label="group">
|
|
57
|
+
<option value="C">ccc</option>
|
|
58
|
+
<option value="D">ddd</option>
|
|
59
|
+
</optgroup>
|
|
60
|
+
</select>
|
|
61
|
+
<div id="selectA" data-toggle-when="A" hidden>Hello there, I'm A !</div>
|
|
62
|
+
<div id="selectB" data-toggle-when="B" hidden>Hello there, I'm B !</div>
|
|
63
|
+
<div id="selectG" data-toggle-when="group" hidden>Hello there, I'm GROUP for C or D !</div>
|
|
64
|
+
<div id="selectNot" data-toggle-when-not="A" hidden>Hello there, I'm present if not A !</div>
|
|
65
|
+
</section>
|
|
66
|
+
|
|
67
|
+
</main>
|
|
68
|
+
|
|
69
|
+
<script type="module" src="/sandbox.js"></script>
|
|
70
|
+
</body>
|
|
71
|
+
|
|
72
|
+
</html>
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="fr">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8">
|
|
6
|
+
<title>Tree - Javascript - Sandbox</title>
|
|
7
|
+
</head>
|
|
8
|
+
|
|
9
|
+
<body>
|
|
10
|
+
|
|
11
|
+
<header>
|
|
12
|
+
<sandbox-header class="container" />
|
|
13
|
+
</header>
|
|
14
|
+
|
|
15
|
+
<main id="content">
|
|
16
|
+
|
|
17
|
+
<section class="container">
|
|
18
|
+
<h2>Tree</h2>
|
|
19
|
+
<ul class="demo-tree">
|
|
20
|
+
<li>1: Lorem, ipsum</li>
|
|
21
|
+
<li>
|
|
22
|
+
<button role="link" aria-controls="treelist" aria-expanded="false">
|
|
23
|
+
1: Inventore, perspiciatis (Open)
|
|
24
|
+
</button>
|
|
25
|
+
<ul id="treelist" tabindex="0" hidden>
|
|
26
|
+
<li>2: Lorem</li>
|
|
27
|
+
<li>
|
|
28
|
+
<button role="link" aria-controls="subtreelist" aria-expanded="false">
|
|
29
|
+
2: Adipisci (Open)
|
|
30
|
+
</button>
|
|
31
|
+
<ul id="subtreelist" tabindex="0" hidden>
|
|
32
|
+
<li>3: Lorem</li>
|
|
33
|
+
<li>3: Adipisci</li>
|
|
34
|
+
<li>3: Facilis</li>
|
|
35
|
+
</ul>
|
|
36
|
+
</li>
|
|
37
|
+
<li>1: Facilis</li>
|
|
38
|
+
</ul>
|
|
39
|
+
</li>
|
|
40
|
+
<li>Dolor, quis</li>
|
|
41
|
+
</ul>
|
|
42
|
+
|
|
43
|
+
<h2>Table</h2>
|
|
44
|
+
<table class="demo-tree">
|
|
45
|
+
<tbody>
|
|
46
|
+
<tr aria-level="1">
|
|
47
|
+
<td>1: Lorem, ipsum</td>
|
|
48
|
+
</tr>
|
|
49
|
+
<tr aria-level="1" aria-expanded="false" aria-controls="row1 row2 row3">
|
|
50
|
+
<td>1: Cum, dolorum (open me)</td>
|
|
51
|
+
</tr>
|
|
52
|
+
<tr id="row1" aria-level="2" tabindex="0" hidden>
|
|
53
|
+
<td>2: Lorem</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr id="row2" aria-level="2" aria-expanded="false" aria-controls="row2-1 row2-2" hidden>
|
|
56
|
+
<td>2: Quo (open me)</td>
|
|
57
|
+
</tr>
|
|
58
|
+
<tr id="row2-1" aria-level="3" tabindex="0" hidden>
|
|
59
|
+
<td>2.1: Quo</td>
|
|
60
|
+
</tr>
|
|
61
|
+
<tr id="row2-2" aria-level="3" hidden>
|
|
62
|
+
<td>2.2: Quo</td>
|
|
63
|
+
</tr>
|
|
64
|
+
<tr id="row3" aria-level="2" hidden>
|
|
65
|
+
<td>2: Odio</td>
|
|
66
|
+
</tr>
|
|
67
|
+
<tr aria-level="1">
|
|
68
|
+
<td>1: Perspiciatis, tenetur</td>
|
|
69
|
+
</tr>
|
|
70
|
+
</tbody>
|
|
71
|
+
</table>
|
|
72
|
+
|
|
73
|
+
<h2>Handle</h2>
|
|
74
|
+
<table class="demo-tree">
|
|
75
|
+
<tbody>
|
|
76
|
+
<tr aria-level="1" aria-expanded="false" aria-controls="rowExpandable">
|
|
77
|
+
<td>
|
|
78
|
+
<span data-handle="tree">
|
|
79
|
+
(open me)
|
|
80
|
+
</span>
|
|
81
|
+
</td>
|
|
82
|
+
<td>1: Cum, dolorum</td>
|
|
83
|
+
</tr>
|
|
84
|
+
<tr id="rowExpandable" aria-level="2" tabindex="0" hidden>
|
|
85
|
+
<td></td>
|
|
86
|
+
<td>1.1: Lorem</td>
|
|
87
|
+
</tr>
|
|
88
|
+
</table>
|
|
89
|
+
</section>
|
|
90
|
+
|
|
91
|
+
</main>
|
|
92
|
+
|
|
93
|
+
<script type="module" src="/sandbox.js"></script>
|
|
94
|
+
</body>
|
|
95
|
+
|
|
96
|
+
</html>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// * Import Package SCSS
|
|
2
|
+
import '../scss/vanilla-frontend-sandbox.scss'
|
|
3
|
+
|
|
4
|
+
// * Import Sandbox style:
|
|
5
|
+
import './scss/sandbox-header.scss'
|
|
6
|
+
|
|
7
|
+
// * Import Sandbox JS:
|
|
8
|
+
import './js/sandbox-header.js'
|
|
9
|
+
import './js/sandbox-test.js'
|
|
10
|
+
|
|
11
|
+
// * SANDBOX
|
|
12
|
+
|
|
13
|
+
// Prevent first animation
|
|
14
|
+
setTimeout(() => { document.body.removeAttribute('data-preload') }, 10)
|
|
15
|
+
|
|
16
|
+
// Set the current navigation
|
|
17
|
+
const current = window.location.pathname
|
|
18
|
+
|
|
19
|
+
if (current.startsWith('/pages/')) document.querySelectorAll(`#menu a[href*="${current}"]`).forEach(elem => {
|
|
20
|
+
elem.setAttribute('aria-current', 'page')
|
|
21
|
+
})
|
|
22
|
+
|
|
23
|
+
// Drawer
|
|
24
|
+
import Drawer from "../js/_drawer.js"
|
|
25
|
+
const menu = document.getElementById('menu')
|
|
26
|
+
if (menu) new Drawer(menu, { breakpoint: 960, cookie: '_sandbox-drawer' })
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
body > header {
|
|
2
|
+
|
|
3
|
+
background-color: white;
|
|
4
|
+
|
|
5
|
+
// Sticky on top only in bigger screen
|
|
6
|
+
@media (min-width: 720px) {
|
|
7
|
+
position: sticky;
|
|
8
|
+
top: 0;
|
|
9
|
+
z-index: 2;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
> sandbox-header {
|
|
13
|
+
|
|
14
|
+
display: flex;
|
|
15
|
+
align-items: center;
|
|
16
|
+
|
|
17
|
+
h1 {
|
|
18
|
+
display: inline-block;
|
|
19
|
+
margin-inline-end: auto;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
nav {
|
|
23
|
+
display: flex;
|
|
24
|
+
align-items: center;
|
|
25
|
+
gap: 1rem;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
#menu {
|
|
29
|
+
|
|
30
|
+
--drawer-display: flex;
|
|
31
|
+
--drawer-position: 0 0 auto auto;
|
|
32
|
+
--drawer-height: 100dvh;
|
|
33
|
+
--drawer-width: 100dvw;
|
|
34
|
+
--drawer-max-width: 100dvw;
|
|
35
|
+
|
|
36
|
+
// Set a max drawer size
|
|
37
|
+
@media (min-width: 520px) {
|
|
38
|
+
--drawer-width: 320px;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
padding: 2rem;
|
|
42
|
+
flex-direction: column;
|
|
43
|
+
|
|
44
|
+
> ul {
|
|
45
|
+
|
|
46
|
+
margin: 0;
|
|
47
|
+
padding: 0;
|
|
48
|
+
list-style: none;
|
|
49
|
+
overflow-y: auto;
|
|
50
|
+
|
|
51
|
+
li > h2 {
|
|
52
|
+
font-size: 1.25rem;
|
|
53
|
+
font-weight: bold;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
li > a {
|
|
57
|
+
|
|
58
|
+
--anchor-hover-color: var(--color-primary);
|
|
59
|
+
--anchor-active-color: var(--color-primary);
|
|
60
|
+
|
|
61
|
+
display: block;
|
|
62
|
+
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
li:has(a) {
|
|
66
|
+
margin-block: .5rem;
|
|
67
|
+
|
|
68
|
+
& + li:has(h2) {
|
|
69
|
+
margin-block-start: 1.5rem;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.drawer-button {
|
|
78
|
+
height: fit-content;
|
|
79
|
+
width: 100%;
|
|
80
|
+
margin-inline-start: auto;
|
|
81
|
+
margin-block-end: 1rem;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
@media (max-width: 960px) {
|
|
90
|
+
body:has(#menu:not([hidden])) {
|
|
91
|
+
overflow: hidden;
|
|
92
|
+
}
|
|
93
|
+
}
|