@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
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<meta charset="UTF-8" />
|
|
6
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
-
<title>Documentations: Components ></title>
|
|
8
|
-
</head>
|
|
9
|
-
|
|
10
|
-
<body data-preload>
|
|
11
|
-
<doc-layout>
|
|
12
|
-
|
|
13
|
-
<h1>List</h1>
|
|
14
|
-
<p>The list is using the native <code><ul></code>, <code><ol></code> or <code><div></code> tag with the class <code>.list</code>.</p>
|
|
15
|
-
<doc-demo>
|
|
16
|
-
<ul class="list">
|
|
17
|
-
<li>List A</li>
|
|
18
|
-
<li>List B</li>
|
|
19
|
-
<li><a href="#">List C</a></li>
|
|
20
|
-
<li>List D</li>
|
|
21
|
-
<li><span>List E</span> <button>button</button></li>
|
|
22
|
-
</ul>
|
|
23
|
-
</doc-demo>
|
|
24
|
-
|
|
25
|
-
<div class="code-group">
|
|
26
|
-
<div role="tablist">
|
|
27
|
-
<button role="tab" aria-controls="html">HTML</button>
|
|
28
|
-
<button role="tab" aria-controls="scss">SCSS</button>
|
|
29
|
-
<button role="tab" aria-controls="css">CSS</button>
|
|
30
|
-
</div>
|
|
31
|
-
<doc-code id="html" data-type="html" role="tabpanel">
|
|
32
|
-
<ul class="list">
|
|
33
|
-
<li>List A</li>
|
|
34
|
-
<li>List B</li>
|
|
35
|
-
<li><a href="#">List C</a></li>
|
|
36
|
-
<li>List D</li>
|
|
37
|
-
<li><span>List E</span> <button>button</button></li>
|
|
38
|
-
</ul>
|
|
39
|
-
</doc-code>
|
|
40
|
-
<doc-code id="scss" data-type="scss" role="tabpanel">
|
|
41
|
-
@use '@natachah/vanilla-frontend/scss/components/list';
|
|
42
|
-
</doc-code>
|
|
43
|
-
<doc-code id="css" data-type="css" role="tabpanel">
|
|
44
|
-
--list-color
|
|
45
|
-
--list-background
|
|
46
|
-
--list-border-size
|
|
47
|
-
--list-border-style
|
|
48
|
-
--list-border-color
|
|
49
|
-
--list-border-radius
|
|
50
|
-
--list-padding-inline
|
|
51
|
-
--list-padding-block
|
|
52
|
-
--list-text-align
|
|
53
|
-
</doc-code>
|
|
54
|
-
</div>
|
|
55
|
-
|
|
56
|
-
<h2>Action list</h2>
|
|
57
|
-
|
|
58
|
-
<p>You can use some <b>button</b> components as <code><button></code> or <code><a role="button"></code> inside a list.</p>
|
|
59
|
-
<doc-demo>
|
|
60
|
-
<ul class="list">
|
|
61
|
-
<li><button>List A (button)</button></li>
|
|
62
|
-
<li><button disabled>List B (button disabled)</button></li>
|
|
63
|
-
<li>List C</li>
|
|
64
|
-
<li><a role="button" href="#">List D (link)</a></li>
|
|
65
|
-
<li><span>List E</span><a role="button" href="#">Not only child (link)</a></li>
|
|
66
|
-
<li><a role="button">List F (link disabled)</a></li>
|
|
67
|
-
</ul>
|
|
68
|
-
</doc-demo>
|
|
69
|
-
|
|
70
|
-
<div class="code-group">
|
|
71
|
-
<div role="tablist">
|
|
72
|
-
<button role="tab" aria-controls="html">HTML</button>
|
|
73
|
-
<button role="tab" aria-controls="scss">SCSS</button>
|
|
74
|
-
<button role="tab" aria-controls="css">CSS</button>
|
|
75
|
-
</div>
|
|
76
|
-
<doc-code id="html" data-type="html" role="tabpanel">
|
|
77
|
-
<ul class="list">
|
|
78
|
-
<li><button>List A</button></li>
|
|
79
|
-
<li><button disabled>List B</button></li>
|
|
80
|
-
<li>List C</li>
|
|
81
|
-
<li><a role="button" href="#">List D</a></li>
|
|
82
|
-
<li><a role="button">List E</a></li>
|
|
83
|
-
</ul>
|
|
84
|
-
</doc-code>
|
|
85
|
-
<doc-code id="scss" data-type="scss" role="tabpanel">
|
|
86
|
-
@use '@natachah/vanilla-frontend/scss/components/list';
|
|
87
|
-
</doc-code>
|
|
88
|
-
<doc-code id="css" data-type="css" role="tabpanel">
|
|
89
|
-
--list-transition
|
|
90
|
-
--list-decoration
|
|
91
|
-
--list-outline-size
|
|
92
|
-
--list-outline-style
|
|
93
|
-
--list-outline-color
|
|
94
|
-
--list-outline-offset
|
|
95
|
-
--list-hover-color
|
|
96
|
-
--list-hover-background
|
|
97
|
-
--list-hover-border-color
|
|
98
|
-
--list-focus-color
|
|
99
|
-
--list-focus-background
|
|
100
|
-
--list-focus-border-color
|
|
101
|
-
--list-active-color
|
|
102
|
-
--list-active-background
|
|
103
|
-
--list-active-border-color
|
|
104
|
-
--list-disabled-opacity
|
|
105
|
-
</doc-code>
|
|
106
|
-
</div>
|
|
107
|
-
|
|
108
|
-
</doc-layout>
|
|
109
|
-
<script type="module" src="/main.js"></script>
|
|
110
|
-
</body>
|
|
111
|
-
|
|
112
|
-
</html>
|
|
@@ -1,273 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<meta charset="UTF-8" />
|
|
6
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
-
<title>Documentations: Components ></title>
|
|
8
|
-
</head>
|
|
9
|
-
|
|
10
|
-
<body data-preload>
|
|
11
|
-
<doc-layout>
|
|
12
|
-
|
|
13
|
-
<h1>Slider</h1>
|
|
14
|
-
<p>The slider is using the a <code><div></code> tag with the class <code>.slider</code>.</p>
|
|
15
|
-
<p>Each slide must be a <code><div></code> with <code>role="tabpanel"</code> and <code>aria-hidden="true"</code> attributes.</p>
|
|
16
|
-
<doc-demo>
|
|
17
|
-
<div id="sliderFull" class="slider demo-slider">
|
|
18
|
-
<div id="slide1" role="tabpanel" aria-hidden="false"><img src="https://picsum.photos/id/1/300" alt="Image 1"></div>
|
|
19
|
-
<div id="slide2" role="tabpanel" aria-hidden="true"><img src="https://picsum.photos/id/2/300" alt="Image 2"></div>
|
|
20
|
-
<div id="slide3" role="tabpanel" aria-hidden="true"><img src="https://picsum.photos/id/3/300" alt="Image 3"></div>
|
|
21
|
-
</div>
|
|
22
|
-
<button aria-controls="sliderFull" data-slider-prev>previous</button>
|
|
23
|
-
<div aria-controls="sliderFull" role="tablist">
|
|
24
|
-
<button role="tab" aria-controls="slide1" aria-selected="true">1</button>
|
|
25
|
-
<button role="tab" aria-controls="slide2" aria-selected="false">2</button>
|
|
26
|
-
<button role="tab" aria-controls="slide3" aria-selected="false">3</button>
|
|
27
|
-
</div>
|
|
28
|
-
<button aria-controls="sliderFull" data-slider-next>next</button>
|
|
29
|
-
</doc-demo>
|
|
30
|
-
<div class="code-group">
|
|
31
|
-
<div role="tablist">
|
|
32
|
-
<button role="tab" aria-controls="html" aria-selected="true">HTML</button>
|
|
33
|
-
<button role="tab" aria-controls="scss">SCSS</button>
|
|
34
|
-
<button role="tab" aria-controls="css">CSS</button>
|
|
35
|
-
<button role="tab" aria-controls="js">JS</button>
|
|
36
|
-
</div>
|
|
37
|
-
<doc-code id="html" data-type="html" role="tabpanel" aria-hidden="false">
|
|
38
|
-
<div id="slider" class="slider">
|
|
39
|
-
<div id="slide1" role="tabpanel" aria-hidden="false"><img src="https://picsum.photos/id/1/300" alt="Image 1"></div>
|
|
40
|
-
<div id="slide2" role="tabpanel" aria-hidden="true"><img src="https://picsum.photos/id/2/300" alt="Image 2"></div>
|
|
41
|
-
<div id="slide3" role="tabpanel" aria-hidden="true"><img src="https://picsum.photos/id/3/300" alt="Image 3"></div>
|
|
42
|
-
</div>
|
|
43
|
-
<button aria-controls="slider" data-slider-prev>previous</button>
|
|
44
|
-
<div aria-controls="slider" role="tablist">
|
|
45
|
-
<button role="tab" aria-controls="slide1" aria-selected="true">1</button>
|
|
46
|
-
<button role="tab" aria-controls="slide2" aria-selected="false">2</button>
|
|
47
|
-
<button role="tab" aria-controls="slide3" aria-selected="false">3</button>
|
|
48
|
-
</div>
|
|
49
|
-
<button aria-controls="slider" data-slider-next>next</button>
|
|
50
|
-
</doc-code>
|
|
51
|
-
<doc-code id="scss" data-type="scss" role="tabpanel">
|
|
52
|
-
@use '@natachah/vanilla-frontend/scss/components/slider';
|
|
53
|
-
</doc-code>
|
|
54
|
-
<doc-code id="css" data-type="css" role="tabpanel">
|
|
55
|
-
--slider-columns
|
|
56
|
-
--slider-gap
|
|
57
|
-
</doc-code>
|
|
58
|
-
<doc-code id="js" data-type="js" role="tabpanel">
|
|
59
|
-
import Slider from "@natachah/vanilla-frontend/js/_slider"
|
|
60
|
-
const slider = document.getElementById('slider')
|
|
61
|
-
if (slider) const mySliderObj = new Slider(slider, {loop: true})
|
|
62
|
-
</doc-code>
|
|
63
|
-
</div>
|
|
64
|
-
|
|
65
|
-
<h2>Indicators</h2>
|
|
66
|
-
<p>You can create some indicators with a <code><div></code> tag with the <code>aria-controls="IdOfSlider"</code> and <code>role="tablist"</code> attributes.</p>
|
|
67
|
-
<p>Inside you must insert each slides indicators as <code><button></code> tag with <code>role="tab"</code>, <code>aria-controls="IdOfSlide"</code> and <code>aria-selected="false"</code> attributes.</p>
|
|
68
|
-
|
|
69
|
-
<doc-code>
|
|
70
|
-
<div aria-controls="slider" role="tablist">
|
|
71
|
-
<button role="tab" aria-controls="slide1" aria-selected="true">1</button>
|
|
72
|
-
<button role="tab" aria-controls="slide2" aria-selected="false">2</button>
|
|
73
|
-
<button role="tab" aria-controls="slide3" aria-selected="false">3</button>
|
|
74
|
-
</div>
|
|
75
|
-
</doc-code>
|
|
76
|
-
|
|
77
|
-
<h2>Navigation</h2>
|
|
78
|
-
<p>You can create some prev/next navigation with some <code><button></code> tag with the <code>aria-controls="IdOfSlider"</code> and <code>data-slider-prev</code> or <code>data-slider-next</code> attributes.</p>
|
|
79
|
-
<doc-code>
|
|
80
|
-
<button aria-controls="slider" data-slider-prev>previous</button>
|
|
81
|
-
<button aria-controls="slider" data-slider-next>next</button>
|
|
82
|
-
</doc-code>
|
|
83
|
-
|
|
84
|
-
<h2>Variants</h2>
|
|
85
|
-
<h3>Fade effect</h3>
|
|
86
|
-
<p>You can change the CSS and JS to create a sort of fade effect, but it's not optimal.</p>
|
|
87
|
-
<doc-demo>
|
|
88
|
-
<div id="sliderFade" class="slider slider-fade-demo" style="background-image: url(https://picsum.photos/id/1/300);">
|
|
89
|
-
<div id="slide1" role="tabpanel" aria-hidden="false"><img src="https://picsum.photos/id/1/300" alt="Image 1"></div>
|
|
90
|
-
<div id="slide2" role="tabpanel" aria-hidden="true"><img src="https://picsum.photos/id/2/300" alt="Image 2"></div>
|
|
91
|
-
<div id="slide3" role="tabpanel" aria-hidden="true"><img src="https://picsum.photos/id/3/300" alt="Image 3"></div>
|
|
92
|
-
</div>
|
|
93
|
-
</doc-demo>
|
|
94
|
-
<div class="code-group">
|
|
95
|
-
<div role="tablist">
|
|
96
|
-
<button role="tab" aria-controls="html">HTML</button>
|
|
97
|
-
<button role="tab" aria-controls="css">CSS</button>
|
|
98
|
-
<button role="tab" aria-controls="js">JS</button>
|
|
99
|
-
</div>
|
|
100
|
-
<doc-code id="html" data-type="html" role="tabpanel">
|
|
101
|
-
<div id="sliderFade" class="slider slider-fade-demo" style="background-image: url(https://picsum.photos/id/1/300);">
|
|
102
|
-
<div id="slide1" role="tabpanel" aria-hidden="false"><img src="https://picsum.photos/id/1/300" alt="Image 1"></div>
|
|
103
|
-
<div id="slide2" role="tabpanel" aria-hidden="true"><img src="https://picsum.photos/id/2/300" alt="Image 2"></div>
|
|
104
|
-
<div id="slide3" role="tabpanel" aria-hidden="true"><img src="https://picsum.photos/id/3/300" alt="Image 3"></div>
|
|
105
|
-
</div>
|
|
106
|
-
</doc-code>
|
|
107
|
-
<doc-code id="css" data-type="css" role="tabpanel">
|
|
108
|
-
.slider-fade-demo {
|
|
109
|
-
--image-width: 100%;
|
|
110
|
-
--image-ratio: 4/3;
|
|
111
|
-
background-position: center;
|
|
112
|
-
background-repeat: no-repeat;
|
|
113
|
-
background-size: cover;
|
|
114
|
-
> * {
|
|
115
|
-
transition: all 2s ease-out;
|
|
116
|
-
&[aria-hidden=true] {
|
|
117
|
-
filter: blur(1rem);
|
|
118
|
-
opacity: 0;
|
|
119
|
-
}
|
|
120
|
-
&[aria-hidden=false] {
|
|
121
|
-
opacity: 1;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
</doc-code>
|
|
126
|
-
<doc-code id="js" data-type="js" role="tabpanel">
|
|
127
|
-
import Slider from "@natachah/vanilla-frontend/js/_slider"
|
|
128
|
-
const sliderFade = document.getElementById('mySlider')
|
|
129
|
-
if (sliderFade) {
|
|
130
|
-
|
|
131
|
-
const mySliderObj = new Slider(sliderFade, {
|
|
132
|
-
behavior: 'instant',
|
|
133
|
-
autoplay: 4000
|
|
134
|
-
})
|
|
135
|
-
|
|
136
|
-
sliderFade.addEventListener('slider:changing', (ev) => {
|
|
137
|
-
const currentSlide = mySliderObj._slides[ev.detail.previous]
|
|
138
|
-
const src = currentSlide.querySelector('img').getAttribute('src')
|
|
139
|
-
sliderFade.style.backgroundImage = `url("${src}")`
|
|
140
|
-
})
|
|
141
|
-
|
|
142
|
-
}
|
|
143
|
-
</doc-code>
|
|
144
|
-
</div>
|
|
145
|
-
|
|
146
|
-
<h2>Javascript</h2>
|
|
147
|
-
<blockquote>
|
|
148
|
-
<p>To work properly the slider required some javascript.</p>
|
|
149
|
-
</blockquote>
|
|
150
|
-
<h3>Options</h3>
|
|
151
|
-
<table>
|
|
152
|
-
<thead>
|
|
153
|
-
<tr>
|
|
154
|
-
<th>Name</th>
|
|
155
|
-
<th>Description</th>
|
|
156
|
-
<th>Value</th>
|
|
157
|
-
</tr>
|
|
158
|
-
</thead>
|
|
159
|
-
<tbody>
|
|
160
|
-
<tr>
|
|
161
|
-
<td data-label="Name">
|
|
162
|
-
<p>behavior</p>
|
|
163
|
-
</td>
|
|
164
|
-
<td data-label="Description">
|
|
165
|
-
<p>The scroll behavior inside the slider</p>
|
|
166
|
-
</td>
|
|
167
|
-
<td data-label="Value">
|
|
168
|
-
<p><code>smooth</code> as string <em>can be auto, smooth or instant</em></p>
|
|
169
|
-
</td>
|
|
170
|
-
</tr>
|
|
171
|
-
<tr>
|
|
172
|
-
<td data-label="Name">
|
|
173
|
-
<p>loop</p>
|
|
174
|
-
</td>
|
|
175
|
-
<td data-label="Description">
|
|
176
|
-
<p>If set to <code>true</code>, the slider will work as a carousel</p>
|
|
177
|
-
</td>
|
|
178
|
-
<td data-label="Value">
|
|
179
|
-
<p><code>false</code> as <code>boolean</code></p>
|
|
180
|
-
</td>
|
|
181
|
-
</tr>
|
|
182
|
-
<tr>
|
|
183
|
-
<td data-label="Name">
|
|
184
|
-
<p>autoplay</p>
|
|
185
|
-
</td>
|
|
186
|
-
<td data-label="Description">
|
|
187
|
-
<p>If set to <code>true</code>, the slider will automatically cycling</p>
|
|
188
|
-
</td>
|
|
189
|
-
<td data-label="Value">
|
|
190
|
-
<p><code>false</code> as <code>boolean</code></p>
|
|
191
|
-
</td>
|
|
192
|
-
</tr>
|
|
193
|
-
</tbody>
|
|
194
|
-
</table>
|
|
195
|
-
<doc-code data-type="js">
|
|
196
|
-
new Slider(mySliderDiv, {
|
|
197
|
-
behavior: 'smooth',
|
|
198
|
-
loop: false,
|
|
199
|
-
autoplay: false
|
|
200
|
-
})
|
|
201
|
-
</doc-code>
|
|
202
|
-
|
|
203
|
-
<h3>Methods</h3>
|
|
204
|
-
<table>
|
|
205
|
-
<thead>
|
|
206
|
-
<tr>
|
|
207
|
-
<th>Method</th>
|
|
208
|
-
<th>Description</th>
|
|
209
|
-
</tr>
|
|
210
|
-
</thead>
|
|
211
|
-
<tbody>
|
|
212
|
-
<tr>
|
|
213
|
-
<td data-label="Method">
|
|
214
|
-
<p>goTo(index)
|
|
215
|
-
</td>
|
|
216
|
-
<td data-label="Description">
|
|
217
|
-
<p>Go to a specific slide by index starting by <code>0</code>
|
|
218
|
-
</td>
|
|
219
|
-
</tr>
|
|
220
|
-
<tr>
|
|
221
|
-
<td data-label="Method">
|
|
222
|
-
<p>next()
|
|
223
|
-
</td>
|
|
224
|
-
<td data-label="Description">
|
|
225
|
-
<p>Go to the next slide
|
|
226
|
-
</td>
|
|
227
|
-
</tr>
|
|
228
|
-
<tr>
|
|
229
|
-
<td data-label="Method">
|
|
230
|
-
<p>prev()
|
|
231
|
-
</td>
|
|
232
|
-
<td data-label="Description">
|
|
233
|
-
<p>Go to the previous slide
|
|
234
|
-
</td>
|
|
235
|
-
</tr>
|
|
236
|
-
</tbody>
|
|
237
|
-
</table>
|
|
238
|
-
|
|
239
|
-
<h3>Events</h3>
|
|
240
|
-
<table>
|
|
241
|
-
<thead>
|
|
242
|
-
<tr>
|
|
243
|
-
<th>Event</th>
|
|
244
|
-
<th>Description</th>
|
|
245
|
-
<th>Value</th>
|
|
246
|
-
</tr>
|
|
247
|
-
</thead>
|
|
248
|
-
<tbody>
|
|
249
|
-
<tr>
|
|
250
|
-
<td data-label="Event">
|
|
251
|
-
<p>slider:changed</p>
|
|
252
|
-
</td>
|
|
253
|
-
<td data-label="Description">
|
|
254
|
-
<p>This event is fired when the slide has been changed</p>
|
|
255
|
-
</td>
|
|
256
|
-
<td data-label="Value">
|
|
257
|
-
<p><code>current</code> as a <code>index number</code></p>
|
|
258
|
-
</td>
|
|
259
|
-
</tr>
|
|
260
|
-
</tbody>
|
|
261
|
-
</table>
|
|
262
|
-
<doc-code data-type="js">
|
|
263
|
-
document.getElementById('mySliderId').addEventListener('slider:changed', (e) => {
|
|
264
|
-
const theSlide = e.detail.current
|
|
265
|
-
...
|
|
266
|
-
})
|
|
267
|
-
</doc-code>
|
|
268
|
-
|
|
269
|
-
</doc-layout>
|
|
270
|
-
<script type="module" src="/main.js"></script>
|
|
271
|
-
</body>
|
|
272
|
-
|
|
273
|
-
</html>
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<meta charset="UTF-8" />
|
|
6
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
-
<title>Documentations: Javascript > Autofill</title>
|
|
8
|
-
</head>
|
|
9
|
-
|
|
10
|
-
<body data-preload>
|
|
11
|
-
<doc-layout>
|
|
12
|
-
|
|
13
|
-
<h1>Autofill</h1>
|
|
14
|
-
<p>The autofill component make you able to automaticaly fill some <code><input></code> fields by another.</p>
|
|
15
|
-
<p>You can use it with a <code><select></code> tag with the <code>aria-controls="IdOfTheOtherField"</code> attribute.</p>
|
|
16
|
-
<p>The other field must have a <code>data-autofill="NameOfTheValue"</code> attribute. The value must exist into the <code><option></code> tags as <code>data-NameOfTheValue="value"</code>.</p>
|
|
17
|
-
<doc-demo>
|
|
18
|
-
<fieldset>
|
|
19
|
-
<legend>Favorite animal</legend>
|
|
20
|
-
<div class="group">
|
|
21
|
-
<select class="demo-autofill" id="autofill" name="select" aria-controls="animalID">
|
|
22
|
-
<option>--</option>
|
|
23
|
-
<option data-id="1">Cat</option>
|
|
24
|
-
<option data-id="2">Dog</option>
|
|
25
|
-
<option data-id="3">Lizzard</option>
|
|
26
|
-
<option data-id="4">Bird</option>
|
|
27
|
-
</select>
|
|
28
|
-
<input id="animalID" type="text" placeholder="ID of the animal" data-autofill="id" readonly>
|
|
29
|
-
</div>
|
|
30
|
-
</fieldset>
|
|
31
|
-
</doc-demo>
|
|
32
|
-
|
|
33
|
-
<div class="code-group">
|
|
34
|
-
<div role="tablist">
|
|
35
|
-
<button role="tab" aria-controls="html">HTML</button>
|
|
36
|
-
<button role="tab" aria-controls="js">JS</button>
|
|
37
|
-
</div>
|
|
38
|
-
<doc-code id="html" data-type="html" role="tabpanel">
|
|
39
|
-
<fieldset>
|
|
40
|
-
<legend>Favorite animal</legend>
|
|
41
|
-
<div class="group">
|
|
42
|
-
<select id="autofillSelect" name="select" aria-controls="animalID">
|
|
43
|
-
<option>--</option>
|
|
44
|
-
<option data-id="1">Cat</option>
|
|
45
|
-
<option data-id="2">Dog</option>
|
|
46
|
-
<option data-id="3">Lizzard</option>
|
|
47
|
-
<option data-id="4">Bird</option>
|
|
48
|
-
</select>
|
|
49
|
-
<input id="animalID" type="text" placeholder="ID of the animal" data-autofill="id" readonly>
|
|
50
|
-
</div>
|
|
51
|
-
</fieldset>
|
|
52
|
-
</doc-code>
|
|
53
|
-
<doc-code id="js" data-type="js" role="tabpanel">
|
|
54
|
-
import Autofill from "@natachah/vanilla-frontend/js/_autofill"
|
|
55
|
-
const autofillSelect = document.getElementById('autofillSelect')
|
|
56
|
-
if(autofillSelect) new Autofill(autofillSelect)
|
|
57
|
-
</doc-code>
|
|
58
|
-
</div>
|
|
59
|
-
|
|
60
|
-
<h2>Autocomplete (datalist)</h2>
|
|
61
|
-
<p>The component also work with <code><input></code> associated with a <code><datalist></code>.</p>
|
|
62
|
-
<doc-demo>
|
|
63
|
-
<fieldset>
|
|
64
|
-
<legend>Favorite ice cream</legend>
|
|
65
|
-
<div class="group">
|
|
66
|
-
<input class="demo-autofill" id="autofill" name="datalist" list="myDatalist" aria-controls="flavourID flavorColor" placeholder="Choose a flavor">
|
|
67
|
-
<input id="flavourID" type="text" placeholder="ID of the icecream" data-autofill="id" readonly>
|
|
68
|
-
<input id="flavorColor" type="text" placeholder="Color of the icecream" data-autofill="color" readonly>
|
|
69
|
-
</div>
|
|
70
|
-
</fieldset>
|
|
71
|
-
<datalist id="myDatalist">
|
|
72
|
-
<option data-id="1" data-color="Brown" value="Chocolate"></option>
|
|
73
|
-
<option data-id="2" data-color="White" value="Coconut"></option>
|
|
74
|
-
<option data-id="3" data-color="Green" value="Mint"></option>
|
|
75
|
-
<option data-id="4" data-color="Red" value="Strawberry"></option>
|
|
76
|
-
<option data-id="5" data-color="Yellow" value="Vanilla"></option>
|
|
77
|
-
</datalist>
|
|
78
|
-
</doc-demo>
|
|
79
|
-
<doc-code>
|
|
80
|
-
<fieldset>
|
|
81
|
-
<legend>Favorite ice cream</legend>
|
|
82
|
-
<div class="group">
|
|
83
|
-
<input id="autofillList" name="datalist" list="myDatalist" aria-controls="flavourID flavorColor" placeholder="Choose a flavor">
|
|
84
|
-
<input id="flavourID" type="text" placeholder="ID of the icecream" data-autofill="id" readonly>
|
|
85
|
-
<input id="flavorColor" type="text" placeholder="Color of the icecream" data-autofill="color" readonly>
|
|
86
|
-
</div>
|
|
87
|
-
</fieldset>
|
|
88
|
-
<datalist id="myDatalist">
|
|
89
|
-
<option data-id="1" data-color="Brown" value="Chocolate">
|
|
90
|
-
</option>
|
|
91
|
-
<option data-id="2" data-color="White" value="Coconut">
|
|
92
|
-
</option>
|
|
93
|
-
<option data-id="3" data-color="Green" value="Mint">
|
|
94
|
-
</option>
|
|
95
|
-
<option data-id="4" data-color="Red" value="Strawberry">
|
|
96
|
-
</option>
|
|
97
|
-
<option data-id="5" data-color="Yellow" value="Vanilla">
|
|
98
|
-
</option>
|
|
99
|
-
</datalist>
|
|
100
|
-
</doc-code>
|
|
101
|
-
|
|
102
|
-
<h2>File</h2>
|
|
103
|
-
<p>The component also work with <b>file</b> field and take default information about the uploaded media.</p>
|
|
104
|
-
<doc-demo>
|
|
105
|
-
<label for="autofill">Choose a file</label>
|
|
106
|
-
<input class="demo-autofill" id="autofill" type="file" name="file" aria-controls="fileName fileSize fileType fileCleanName fileExtension">
|
|
107
|
-
<fieldset>
|
|
108
|
-
<legend>File data</legend>
|
|
109
|
-
<div class="group">
|
|
110
|
-
<input id="fileName" type="text" placeholder="Name of the file" data-autofill="name" readonly>
|
|
111
|
-
<input id="fileSize" type="text" placeholder="Size of the file" data-autofill="size" readonly>
|
|
112
|
-
<input id="fileType" type="text" placeholder="Type of the file" data-autofill="type" readonly>
|
|
113
|
-
<input id="fileCleanName" type="text" placeholder="Clean name of the file" data-autofill="filename" readonly>
|
|
114
|
-
<input id="fileExtension" type="text" placeholder="Extension of the file" data-autofill="extension" readonly>
|
|
115
|
-
</div>
|
|
116
|
-
</fieldset>
|
|
117
|
-
</doc-demo>
|
|
118
|
-
<doc-code>
|
|
119
|
-
<label for="autofillList">Choose a file</label>
|
|
120
|
-
<input id="autofillFile" type="file" name="file" aria-controls="fileName fileSize fileType fileCleanName fileExtension">
|
|
121
|
-
<fieldset>
|
|
122
|
-
<legend>File data</legend>
|
|
123
|
-
<div class="group">
|
|
124
|
-
<input id="fileName" type="text" placeholder="Name of the file" data-autofill="name" readonly>
|
|
125
|
-
<input id="fileSize" type="text" placeholder="Size of the file" data-autofill="size" readonly>
|
|
126
|
-
<input id="fileType" type="text" placeholder="Type of the file" data-autofill="type" readonly>
|
|
127
|
-
<input id="fileCleanName" type="text" placeholder="Clean name of the file" data-autofill="filename" readonly>
|
|
128
|
-
<input id="fileExtension" type="text" placeholder="Extension of the file" data-autofill="extension" readonly>
|
|
129
|
-
</div>
|
|
130
|
-
</fieldset>
|
|
131
|
-
</doc-code>
|
|
132
|
-
|
|
133
|
-
<h2>Javascript</h2>
|
|
134
|
-
<p>To enable this component you need to import the javascript file and create a new Autofill object.</p>
|
|
135
|
-
<h3>Events</h3>
|
|
136
|
-
<table>
|
|
137
|
-
<thead>
|
|
138
|
-
<tr>
|
|
139
|
-
<th>Event</th>
|
|
140
|
-
<th>Description</th>
|
|
141
|
-
<th>Value</th>
|
|
142
|
-
</tr>
|
|
143
|
-
</thead>
|
|
144
|
-
<tbody>
|
|
145
|
-
<tr>
|
|
146
|
-
<td data-label="Event">
|
|
147
|
-
<p>autofill:changed</p>
|
|
148
|
-
</td>
|
|
149
|
-
<td data-label="Description">
|
|
150
|
-
<p>This event is fired when the original element value has changed</p>
|
|
151
|
-
</td>
|
|
152
|
-
<td data-label="Value">
|
|
153
|
-
<p><code>current</code> as <code>HTMLElement</code> *Could be an <code><option></code> or a <code>File</code></p>
|
|
154
|
-
</td>
|
|
155
|
-
</tr>
|
|
156
|
-
</tbody>
|
|
157
|
-
</table>
|
|
158
|
-
<doc-code data-type="js">
|
|
159
|
-
const myAutofill = document.getElementById('myAutofill')
|
|
160
|
-
myAutofill.addEventListener('autofill:changed', (e) => {
|
|
161
|
-
const theCurrentItem = e.detail.current
|
|
162
|
-
...
|
|
163
|
-
})
|
|
164
|
-
</doc-code>
|
|
165
|
-
|
|
166
|
-
</doc-layout>
|
|
167
|
-
<script type="module" src="/main.js"></script>
|
|
168
|
-
</body>
|
|
169
|
-
|
|
170
|
-
</html>
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<meta charset="UTF-8" />
|
|
6
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
-
<title>Documentations: Javascript > Check all</title>
|
|
8
|
-
</head>
|
|
9
|
-
|
|
10
|
-
<body data-preload>
|
|
11
|
-
<doc-layout>
|
|
12
|
-
|
|
13
|
-
<h1>Check all</h1>
|
|
14
|
-
<p>The check all component make you able to toggle a checkbox in relation of others.</p>
|
|
15
|
-
<p>The <code>value</code> of the parent checkbox must be the <code>name</code> of the children.</p>
|
|
16
|
-
<doc-demo>
|
|
17
|
-
<input type="checkbox" id="demoCheckboxAll" name="all" value="checkbox[]">
|
|
18
|
-
<label for="demoCheckboxAll">Check all</label>
|
|
19
|
-
<fieldset>
|
|
20
|
-
<legend>Choice</legend>
|
|
21
|
-
<input type="checkbox" id="checkboxA" name="checkbox[]" value="a">
|
|
22
|
-
<label for="checkboxA">A</label>
|
|
23
|
-
<input type="checkbox" id="checkboxB" name="checkbox[]" value="b">
|
|
24
|
-
<label for="checkboxB">B</label>
|
|
25
|
-
<input type="checkbox" id="checkboxC" name="checkbox[]" value="c">
|
|
26
|
-
<label for="checkboxC">B</label>
|
|
27
|
-
</fieldset>
|
|
28
|
-
</doc-demo>
|
|
29
|
-
|
|
30
|
-
<div class="code-group">
|
|
31
|
-
<div role="tablist">
|
|
32
|
-
<button role="tab" aria-controls="html">HTML</button>
|
|
33
|
-
<button role="tab" aria-controls="js">JS</button>
|
|
34
|
-
</div>
|
|
35
|
-
<doc-code id="html" data-type="html" role="tabpanel">
|
|
36
|
-
<input type="checkbox" id="checkboxAll" name="all" value="check[]">
|
|
37
|
-
<label for="checkboxAll">Check all</label>
|
|
38
|
-
<fieldset>
|
|
39
|
-
<legend>Choice</legend>
|
|
40
|
-
<input type="checkbox" id="checkboxA" name="check[]" value="a">
|
|
41
|
-
<label for="checkboxA">A</label>
|
|
42
|
-
<input type="checkbox" id="checkboxB" name="check[]" value="b">
|
|
43
|
-
<label for="checkboxB">B</label>
|
|
44
|
-
<input type="checkbox" id="checkboxC" name="check[]" value="c">
|
|
45
|
-
<label for="checkboxC">B</label>
|
|
46
|
-
</fieldset>
|
|
47
|
-
</doc-code>
|
|
48
|
-
<doc-code id="js" data-type="js" role="tabpanel">
|
|
49
|
-
import CheckAll from "@natachah/vanilla-frontend/js/_check-all"
|
|
50
|
-
const checkboxAll = document.getElementById('checkboxAll')
|
|
51
|
-
if (checkboxAll) new CheckAll(checkboxAll)
|
|
52
|
-
</doc-code>
|
|
53
|
-
</div>
|
|
54
|
-
|
|
55
|
-
</doc-layout>
|
|
56
|
-
<script type="module" src="/main.js"></script>
|
|
57
|
-
</body>
|
|
58
|
-
|
|
59
|
-
</html>
|