@natachah/vanilla-frontend 0.0.2
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 +40 -0
- package/LICENSE.md +7 -0
- package/README.md +11 -0
- package/docs/index.html +36 -0
- package/docs/main.js +32 -0
- package/docs/pages/components/badge.html +154 -0
- package/docs/pages/components/button.html +186 -0
- package/docs/pages/components/card.html +184 -0
- package/docs/pages/components/dialog.html +334 -0
- package/docs/pages/components/disclosure.html +310 -0
- package/docs/pages/components/dropdown.html +255 -0
- package/docs/pages/components/form.html +331 -0
- package/docs/pages/components/list.html +140 -0
- package/docs/pages/components/loading.html +58 -0
- package/docs/pages/components/media.html +130 -0
- package/docs/pages/components/nav.html +119 -0
- package/docs/pages/components/progress.html +47 -0
- package/docs/pages/components/slider.html +311 -0
- package/docs/pages/components/table.html +168 -0
- package/docs/pages/javascript/autofill.html +170 -0
- package/docs/pages/javascript/checkall.html +59 -0
- package/docs/pages/javascript/comfort.html +134 -0
- package/docs/pages/javascript/consent.html +112 -0
- package/docs/pages/javascript/cookie.html +81 -0
- package/docs/pages/javascript/form.html +199 -0
- package/docs/pages/javascript/scroll.html +209 -0
- package/docs/pages/javascript/sidebar.html +53 -0
- package/docs/pages/javascript/sortable.html +148 -0
- package/docs/pages/javascript/toggle.html +191 -0
- package/docs/pages/javascript/tree.html +221 -0
- package/docs/pages/layout/grid.html +201 -0
- package/docs/pages/layout/reset.html +53 -0
- package/docs/pages/layout/typography.html +324 -0
- package/docs/pages/quick-start/conventions.html +112 -0
- package/docs/pages/quick-start/customization.html +187 -0
- package/docs/pages/quick-start/installation.html +95 -0
- package/docs/pages/quick-start/mixins.html +228 -0
- package/docs/pages/test.html +15 -0
- package/docs/src/js/demo.js +98 -0
- package/docs/src/js/doc-code.js +102 -0
- package/docs/src/js/doc-demo.js +14 -0
- package/docs/src/js/doc-layout.js +108 -0
- package/docs/src/scss/demo.scss +77 -0
- package/docs/src/scss/layout.scss +160 -0
- package/docs/src/scss/style.scss +278 -0
- package/docs/vite.config.mjs +23 -0
- package/esbuild.mjs +25 -0
- package/js/_autofill.js +131 -0
- package/js/_check-all.js +77 -0
- package/js/_comfort.js +174 -0
- package/js/_consent.js +84 -0
- package/js/_dialog.js +164 -0
- package/js/_dropdown.js +101 -0
- package/js/_scroll.js +184 -0
- package/js/_sidebar.js +97 -0
- package/js/_slider.js +249 -0
- package/js/_sortable.js +143 -0
- package/js/_tabpanel.js +88 -0
- package/js/_toggle.js +123 -0
- package/js/_tree.js +85 -0
- package/js/tests/autofill.test.js +157 -0
- package/js/tests/base-component.test.js +108 -0
- package/js/tests/check-all.test.js +88 -0
- package/js/tests/comfort.test.js +219 -0
- package/js/tests/consent.test.js +84 -0
- package/js/tests/cookie.test.js +102 -0
- package/js/tests/dialog.test.js +189 -0
- package/js/tests/dropdown.test.js +115 -0
- package/js/tests/form-helper.test.js +155 -0
- package/js/tests/scroll.test.js +203 -0
- package/js/tests/sidebar.test.js +99 -0
- package/js/tests/slider.test.js +307 -0
- package/js/tests/sortable.test.js +124 -0
- package/js/tests/tabpanel.test.js +114 -0
- package/js/tests/toggle.test.js +190 -0
- package/js/tests/tree.test.js +165 -0
- package/js/utilities/_base-component.js +101 -0
- package/js/utilities/_cookie.js +98 -0
- package/js/utilities/_error.js +80 -0
- package/js/utilities/_form-helper.js +101 -0
- package/package.json +42 -0
- package/scss/_badge.scss +37 -0
- package/scss/_button.scss +34 -0
- package/scss/_card.scss +122 -0
- package/scss/_dialog.scss +116 -0
- package/scss/_disclosure.scss +101 -0
- package/scss/_dropdown.scss +68 -0
- package/scss/_form.scss +197 -0
- package/scss/_grid.scss +40 -0
- package/scss/_group.scss +57 -0
- package/scss/_list.scss +18 -0
- package/scss/_loading.scss +49 -0
- package/scss/_media.scss +37 -0
- package/scss/_nav.scss +72 -0
- package/scss/_progress.scss +40 -0
- package/scss/_slider.scss +35 -0
- package/scss/_table.scss +36 -0
- package/scss/utilities/_mixin.scss +322 -0
- package/scss/utilities/_reset.scss +145 -0
- package/scss/utilities/_typography.scss +107 -0
- package/scss/vanilla-frontend.scss +23 -0
- package/scss/variables/_root.scss +70 -0
- package/scss/variables/_setting.scss +63 -0
- package/vitest.config.js +7 -0
|
@@ -0,0 +1,140 @@
|
|
|
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><span>List C with <a href="#">link</a></span></li>
|
|
20
|
+
<li><a>List D</a></li>
|
|
21
|
+
<li><a href="#">List E</a></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><span>List C with <a href="#">link</a></span></li>
|
|
36
|
+
<li><a>List D</a></li>
|
|
37
|
+
<li><a href="#">List E</a></li>
|
|
38
|
+
</ul>
|
|
39
|
+
</doc-code>
|
|
40
|
+
<doc-code id="scss" data-type="scss" role="tabpanel">
|
|
41
|
+
@import '@natachah/vanilla-frontend/scss/_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-transition
|
|
53
|
+
--list-decoration
|
|
54
|
+
--list-focus-size
|
|
55
|
+
--list-focus-style
|
|
56
|
+
--list-focus-color
|
|
57
|
+
--list-focus-offset
|
|
58
|
+
--list-hover-color
|
|
59
|
+
--list-hover-background
|
|
60
|
+
--list-hover-border-color
|
|
61
|
+
--list-active-color
|
|
62
|
+
--list-active-background
|
|
63
|
+
--list-active-border-color
|
|
64
|
+
--list-disabled-opacity
|
|
65
|
+
</doc-code>
|
|
66
|
+
</div>
|
|
67
|
+
|
|
68
|
+
<h2>States</h2>
|
|
69
|
+
<p>If you add some <code><a></code> as direct child, it will transform the links into an interactive item with all the default states (<code>:focus</code>, <code>:hover</code>, <code>:active</code> and <code>:disabled</code>).</p>
|
|
70
|
+
|
|
71
|
+
<h3>Active</h3>
|
|
72
|
+
<p>Apply the <code>aria-pressed</code>, <code>aria-current</code>, or <code>aria-selected</code> attribute on the <code><a></code> tag to display the active.</p>
|
|
73
|
+
|
|
74
|
+
<h3>Disabled</h3>
|
|
75
|
+
<p>Remove the <code>href</code> attribute on <code><a></code> to display the disabled style.</p>
|
|
76
|
+
|
|
77
|
+
<h2>Variants</h2>
|
|
78
|
+
<h3>Outline</h3>
|
|
79
|
+
<p>You can create an outline variation by adding the class <code>.outline</code> on each children.</p>
|
|
80
|
+
<doc-demo>
|
|
81
|
+
<div class="list">
|
|
82
|
+
<div class="outline">List A</div>
|
|
83
|
+
<div><a class="outline">List B</a></div>
|
|
84
|
+
</div>
|
|
85
|
+
</doc-demo>
|
|
86
|
+
|
|
87
|
+
<div class="code-group">
|
|
88
|
+
<div role="tablist">
|
|
89
|
+
<button role="tab" aria-controls="html">HTML</button>
|
|
90
|
+
<button role="tab" aria-controls="scss">setting.scss</button>
|
|
91
|
+
</div>
|
|
92
|
+
<doc-code id="html" data-type="html" role="tabpanel">
|
|
93
|
+
<div class="list">
|
|
94
|
+
<div class="outline">List A</div>
|
|
95
|
+
<div><a class="outline">List B</a></div>
|
|
96
|
+
</div>
|
|
97
|
+
</doc-code>
|
|
98
|
+
<doc-code id="scss" data-type="scss" role="tabpanel">
|
|
99
|
+
$outline-variations: (
|
|
100
|
+
list
|
|
101
|
+
);
|
|
102
|
+
</doc-code>
|
|
103
|
+
</div>
|
|
104
|
+
|
|
105
|
+
<h3>Color</h3>
|
|
106
|
+
<p>You can create a color variation by adding the class <code>.{COLOR}</code> on each children.</p>
|
|
107
|
+
<doc-demo>
|
|
108
|
+
<div class="list">
|
|
109
|
+
<div class="primary">List A</div>
|
|
110
|
+
<div class="primary outline">List B</div>
|
|
111
|
+
<div><a class="primary">List C</a></div>
|
|
112
|
+
<div><a class="primary outline">List D</a></div>
|
|
113
|
+
</div>
|
|
114
|
+
</doc-demo>
|
|
115
|
+
|
|
116
|
+
<div class="code-group">
|
|
117
|
+
<div role="tablist">
|
|
118
|
+
<button role="tab" aria-controls="html">HTML</button>
|
|
119
|
+
<button role="tab" aria-controls="scss">setting.scss</button>
|
|
120
|
+
</div>
|
|
121
|
+
<doc-code id="html" data-type="html" role="tabpanel">
|
|
122
|
+
<div class="list">
|
|
123
|
+
<div class="primary">List A</div>
|
|
124
|
+
<div class="primary outline">List B</div>
|
|
125
|
+
<div><a class="primary">List C</a></div>
|
|
126
|
+
<div><a class="primary outline">List D</a></div>
|
|
127
|
+
</div>
|
|
128
|
+
</doc-code>
|
|
129
|
+
<doc-code id="scss" data-type="scss" role="tabpanel">
|
|
130
|
+
$color-variations: (
|
|
131
|
+
list: (primary)
|
|
132
|
+
);
|
|
133
|
+
</doc-code>
|
|
134
|
+
</div>
|
|
135
|
+
|
|
136
|
+
</doc-layout>
|
|
137
|
+
<script type="module" src="/main.js"></script>
|
|
138
|
+
</body>
|
|
139
|
+
|
|
140
|
+
</html>
|
|
@@ -0,0 +1,58 @@
|
|
|
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>Loading</h1>
|
|
14
|
+
<p>The loading is using the native <code>aria-busy</code> attribute.</p>
|
|
15
|
+
<doc-demo>
|
|
16
|
+
<div aria-busy="true"></div>
|
|
17
|
+
</doc-demo>
|
|
18
|
+
|
|
19
|
+
<div class="code-group">
|
|
20
|
+
<div role="tablist">
|
|
21
|
+
<button role="tab" aria-controls="html">HTML</button>
|
|
22
|
+
<button role="tab" aria-controls="scss">SCSS</button>
|
|
23
|
+
</div>
|
|
24
|
+
<doc-code id="html" data-type="html" role="tabpanel">
|
|
25
|
+
<div aria-busy="true"></div>
|
|
26
|
+
</doc-code>
|
|
27
|
+
<doc-code id="scss" data-type="scss" role="tabpanel">
|
|
28
|
+
@import '@natachah/vanilla-frontend/scss/_loading';
|
|
29
|
+
</doc-code>
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<p>The loading is avaible also for links:</p>
|
|
33
|
+
<doc-demo>
|
|
34
|
+
<a href="#" aria-busy="true">My link</a>
|
|
35
|
+
</doc-demo>
|
|
36
|
+
<doc-code>
|
|
37
|
+
<a href="#" aria-busy="true">My link</a>
|
|
38
|
+
</doc-code>
|
|
39
|
+
|
|
40
|
+
<p>And for buttons:</p>
|
|
41
|
+
<doc-demo>
|
|
42
|
+
<button aria-busy="true"></button>
|
|
43
|
+
<button class="outline" aria-busy="true">Button</button>
|
|
44
|
+
<button class="error" aria-busy="true">Button</button>
|
|
45
|
+
<button class="error outline" aria-busy="true">Button</button>
|
|
46
|
+
</doc-demo>
|
|
47
|
+
<doc-code>
|
|
48
|
+
<button aria-busy="true"></button>
|
|
49
|
+
<button class="outline" aria-busy="true">Button</button>
|
|
50
|
+
<button class="error" aria-busy="true">Button</button>
|
|
51
|
+
<button class="error outline" aria-busy="true">Button</button>
|
|
52
|
+
</doc-code>
|
|
53
|
+
|
|
54
|
+
</doc-layout>
|
|
55
|
+
<script type="module" src="/main.js"></script>
|
|
56
|
+
</body>
|
|
57
|
+
|
|
58
|
+
</html>
|
|
@@ -0,0 +1,130 @@
|
|
|
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>Media</h1>
|
|
14
|
+
<p>A website can have multiple media as images, videos and/or audios.</p>
|
|
15
|
+
<h2>Image</h2>
|
|
16
|
+
<p>The image is using the native <code><img></code> tag with the attributes <code>srcset</code>, <code>alt</code> and <code>title</code>.</p>
|
|
17
|
+
<doc-demo>
|
|
18
|
+
<img src="https://picsum.photos/400/330" srcset="https://picsum.photos/800/660 2x" alt="A random image from lorem picsum" title="This is my picture">
|
|
19
|
+
</doc-demo>
|
|
20
|
+
|
|
21
|
+
<div class="code-group">
|
|
22
|
+
<div role="tablist">
|
|
23
|
+
<button role="tab" aria-controls="html">HTML</button>
|
|
24
|
+
<button role="tab" aria-controls="scss">SCSS</button>
|
|
25
|
+
<button role="tab" aria-controls="css">CSS</button>
|
|
26
|
+
</div>
|
|
27
|
+
<doc-code id="html" data-type="html" role="tabpanel">
|
|
28
|
+
<img src="https://picsum.photos/400/330" srcset="https://picsum.photos/800/660 2x" alt="A random image from lorem picsum" title="This is my picture">
|
|
29
|
+
</doc-code>
|
|
30
|
+
<doc-code id="scss" data-type="scss" role="tabpanel">
|
|
31
|
+
@import '@natachah/vanilla-frontend/scss/_media';
|
|
32
|
+
</doc-code>
|
|
33
|
+
<doc-code id="css" data-type="css" role="tabpanel">
|
|
34
|
+
--image-width
|
|
35
|
+
--image-height
|
|
36
|
+
--image-fit
|
|
37
|
+
--image-ratio
|
|
38
|
+
</doc-code>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<h3>Picture</h3>
|
|
42
|
+
<p>For responsive and best practice, it's better to use the <code><picture></code> tag with inside the <code><source></code> and <code><img></code> tags.</p>
|
|
43
|
+
<doc-demo>
|
|
44
|
+
<picture>
|
|
45
|
+
<source media="(max-width:576px)" srcset="https://fakeimg.pl/200x200/?text=mobile, https://fakeimg.pl/400x400/?text=mobile+retina 2x">
|
|
46
|
+
<source media="(max-width:768px)" srcset="https://fakeimg.pl/200x200/?text=tablet, https://fakeimg.pl/400x400/?text=tablet+retina 2x">
|
|
47
|
+
<source media="(max-width:992px)" srcset="https://fakeimg.pl/200x200/?text=laptop, https://fakeimg.pl/400x400/?text=laptop+retina 2x">
|
|
48
|
+
<img src="https://fakeimg.pl/200x200/?text=desktop" srcset="https://fakeimg.pl/400x400/?text=desktop+retina 2x" alt="A random image from lorem picsum" title="This is my picture">
|
|
49
|
+
</picture>
|
|
50
|
+
</doc-demo>
|
|
51
|
+
<doc-code>
|
|
52
|
+
<picture>
|
|
53
|
+
<source media="(max-width:576px)" srcset="https://fakeimg.pl/200x200/?text=mobile, https://fakeimg.pl/400x400/?text=mobile+retina 2x">
|
|
54
|
+
<source media="(max-width:768px)" srcset="https://fakeimg.pl/200x200/?text=tablet, https://fakeimg.pl/400x400/?text=tablet+retina 2x">
|
|
55
|
+
<source media="(max-width:992px)" srcset="https://fakeimg.pl/200x200/?text=laptop, https://fakeimg.pl/400x400/?text=laptop+retina 2x">
|
|
56
|
+
<img src="https://fakeimg.pl/200x200/?text=desktop" srcset="https://fakeimg.pl/400x400/?text=desktop+retina 2x" alt="A random image from lorem picsum" title="This is my picture">
|
|
57
|
+
</picture>
|
|
58
|
+
</doc-code>
|
|
59
|
+
|
|
60
|
+
<h3>Figure</h3>
|
|
61
|
+
<p>You also can use <code><figure></code> and <code><figcaption></code> tags, to display an <code><img></code> with a nice caption.</p>
|
|
62
|
+
<doc-demo>
|
|
63
|
+
<figure>
|
|
64
|
+
<img src="https://picsum.photos/id/320/400/330" srcset="https://picsum.photos/id/320/800/660 2x" alt="My random image from lorem picsum">
|
|
65
|
+
<figcaption>My image from lorem picsum</figcaption>
|
|
66
|
+
</figure>
|
|
67
|
+
</doc-demo>
|
|
68
|
+
<div class="code-group">
|
|
69
|
+
<div role="tablist">
|
|
70
|
+
<button role="tab" aria-controls="html">HTML</button>
|
|
71
|
+
<button role="tab" aria-controls="css">CSS</button>
|
|
72
|
+
</div>
|
|
73
|
+
<doc-code id="html" data-type="html" role="tabpanel">
|
|
74
|
+
<figure>
|
|
75
|
+
<img src="https://picsum.photos/id/320/400/330" srcset="https://picsum.photos/id/320/800/660 2x" alt="My random image from lorem picsum">
|
|
76
|
+
<figcaption>My image from lorem picsum</figcaption>
|
|
77
|
+
</figure>
|
|
78
|
+
</doc-code>
|
|
79
|
+
<doc-code id="css" data-type="css" role="tabpanel">
|
|
80
|
+
--caption-color
|
|
81
|
+
--caption-font-size
|
|
82
|
+
--caption-margin-block
|
|
83
|
+
--caption-margin-inline
|
|
84
|
+
</doc-code>
|
|
85
|
+
</div>
|
|
86
|
+
|
|
87
|
+
<h2>Video</h2>
|
|
88
|
+
<p>Use the default <code><video></code> and <code><source></code> tags.</p>
|
|
89
|
+
<p>By default the video take 100% width and have a ratio of 16:9.</p>
|
|
90
|
+
<div class="code-group">
|
|
91
|
+
<div role="tablist">
|
|
92
|
+
<button role="tab" aria-controls="html">HTML</button>
|
|
93
|
+
<button role="tab" aria-controls="css">CSS</button>
|
|
94
|
+
</div>
|
|
95
|
+
<doc-code id="html" data-type="html" role="tabpanel">
|
|
96
|
+
<video width="320" height="240" controls>
|
|
97
|
+
<source src="http://localhost:5173/public/video.mp4" type="video/mp4">
|
|
98
|
+
</video>
|
|
99
|
+
</doc-code>
|
|
100
|
+
<doc-code id="css" data-type="css" role="tabpanel">
|
|
101
|
+
--video-width
|
|
102
|
+
--video-height
|
|
103
|
+
--video-fit
|
|
104
|
+
--video-ratio
|
|
105
|
+
</doc-code>
|
|
106
|
+
</div>
|
|
107
|
+
|
|
108
|
+
<h2>Audio</h2>
|
|
109
|
+
<p>Use the default <code><audio></code> and <code><source></code> tags.</p>
|
|
110
|
+
<p>By default the audio take 100% width.</p>
|
|
111
|
+
<div class="code-group">
|
|
112
|
+
<div role="tablist">
|
|
113
|
+
<button role="tab" aria-controls="html">HTML</button>
|
|
114
|
+
<button role="tab" aria-controls="css">CSS</button>
|
|
115
|
+
</div>
|
|
116
|
+
<doc-code id="html" data-type="html" role="tabpanel">
|
|
117
|
+
<audio controls>
|
|
118
|
+
<source src="http://localhost:5173/public/audio.mp3" type="audio/mpeg">
|
|
119
|
+
</audio>
|
|
120
|
+
</doc-code>
|
|
121
|
+
<doc-code id="css" data-type="css" role="tabpanel">
|
|
122
|
+
--audio-width
|
|
123
|
+
</doc-code>
|
|
124
|
+
</div>
|
|
125
|
+
|
|
126
|
+
</doc-layout>
|
|
127
|
+
<script type="module" src="/main.js"></script>
|
|
128
|
+
</body>
|
|
129
|
+
|
|
130
|
+
</html>
|
|
@@ -0,0 +1,119 @@
|
|
|
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>Navigation</h1>
|
|
14
|
+
<p>The navigation is using the native <code><ul></code> inside a <code><nav></code> tag.</p>
|
|
15
|
+
<doc-demo>
|
|
16
|
+
<nav aria-label="Main navigaton">
|
|
17
|
+
<ul>
|
|
18
|
+
<li><a href="#" aria-current="page">Link 1</a></li>
|
|
19
|
+
<li><a href="#">Link 2</a></li>
|
|
20
|
+
<li><a href="#">Link 3</a></li>
|
|
21
|
+
<li><a>Link 4</a></li>
|
|
22
|
+
<li><button class="primary">Button</button></li>
|
|
23
|
+
</ul>
|
|
24
|
+
</nav>
|
|
25
|
+
</doc-demo>
|
|
26
|
+
<div class="code-group">
|
|
27
|
+
<div role="tablist">
|
|
28
|
+
<button role="tab" aria-controls="html">HTML</button>
|
|
29
|
+
<button role="tab" aria-controls="scss">SCSS</button>
|
|
30
|
+
<button role="tab" aria-controls="css">CSS</button>
|
|
31
|
+
</div>
|
|
32
|
+
<doc-code id="html" data-type="html" role="tabpanel">
|
|
33
|
+
<nav aria-label="Main navigaton">
|
|
34
|
+
<ul>
|
|
35
|
+
<li><a href="#" aria-current="page">Link 1</a></li>
|
|
36
|
+
<li><a href="#">Link 2</a></li>
|
|
37
|
+
<li><a href="#">Link 3</a></li>
|
|
38
|
+
<li><a>Link 4</a></li>
|
|
39
|
+
<li><button class="primary">Button</button></li>
|
|
40
|
+
</ul>
|
|
41
|
+
</nav>
|
|
42
|
+
</doc-code>
|
|
43
|
+
<doc-code id="scss" data-type="scss" role="tabpanel">
|
|
44
|
+
@import '@natachah/vanilla-frontend/scss/_nav';
|
|
45
|
+
</doc-code>
|
|
46
|
+
<doc-code id="css" data-type="css" role="tabpanel">
|
|
47
|
+
--nav-direction
|
|
48
|
+
--nav-justify
|
|
49
|
+
--nav-align
|
|
50
|
+
--nav-gap
|
|
51
|
+
--nav-decoration
|
|
52
|
+
--nav-color
|
|
53
|
+
--nav-hover-color
|
|
54
|
+
--nav-active-color
|
|
55
|
+
--nav-disabled-opacity
|
|
56
|
+
</doc-code>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
<blockquote class="warning">
|
|
60
|
+
<p>The custom properties for the navigation is overriding the default ones in the typography setting.</p>
|
|
61
|
+
</blockquote>
|
|
62
|
+
|
|
63
|
+
<p>You can make a vertical menu by setting the CSS property <code>--nav-direction</code> to <code>column</code>.</p>
|
|
64
|
+
|
|
65
|
+
<h2>Breadcrumb</h2>
|
|
66
|
+
<p>To create a breadcrumb navigation, always use <code><ol></code> inside a <code><nav></code> tag.</p>
|
|
67
|
+
<p>The breadcrumb will automatically be distributed horizontally.</p>
|
|
68
|
+
<doc-demo>
|
|
69
|
+
<nav aria-label="Breadcrumb navigaton">
|
|
70
|
+
<ol>
|
|
71
|
+
<li><a href="#">One</a></li>
|
|
72
|
+
<li><a href="#">Two</a></li>
|
|
73
|
+
<li><a href="#">Three</a></li>
|
|
74
|
+
<li aria-current="location">Four</li>
|
|
75
|
+
</ol>
|
|
76
|
+
</nav>
|
|
77
|
+
</doc-demo>
|
|
78
|
+
<div class="code-group">
|
|
79
|
+
<div role="tablist">
|
|
80
|
+
<button role="tab" aria-controls="html">HTML</button>
|
|
81
|
+
<button role="tab" aria-controls="scss">SCSS</button>
|
|
82
|
+
|
|
83
|
+
<button role="tab" aria-controls="css">CSS</button>
|
|
84
|
+
</div>
|
|
85
|
+
<doc-code id="html" data-type="html" role="tabpanel">
|
|
86
|
+
<nav aria-label="Breadcrumb navigaton">
|
|
87
|
+
<ol>
|
|
88
|
+
<li><a href="#">One</a></li>
|
|
89
|
+
<li><a href="#">Two</a></li>
|
|
90
|
+
<li><a href="#">Three</a></li>
|
|
91
|
+
<li aria-current="location">Four</li>
|
|
92
|
+
</ol>
|
|
93
|
+
</nav>
|
|
94
|
+
</doc-code>
|
|
95
|
+
<doc-code id="scss" data-type="scss" role="tabpanel">
|
|
96
|
+
@import '@natachah/vanilla-frontend/scss/_nav';
|
|
97
|
+
</doc-code>
|
|
98
|
+
<doc-code id="css" data-type="css" role="tabpanel">
|
|
99
|
+
--breadcrumb-divider
|
|
100
|
+
--breadcrumb-divider-color
|
|
101
|
+
--breadcrumb-gap
|
|
102
|
+
--breadcrumb-decoration
|
|
103
|
+
--breadcrumb-color
|
|
104
|
+
--breadcrumb-hover-color
|
|
105
|
+
--breadcrumb-active-color
|
|
106
|
+
--breadcrumb-disabled-opacity
|
|
107
|
+
</doc-code>
|
|
108
|
+
</div>
|
|
109
|
+
|
|
110
|
+
<blockquote class="warning">
|
|
111
|
+
<p>The custom properties for the breadcrumb is overriding the default ones in the typography setting.</p>
|
|
112
|
+
</blockquote>
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
</doc-layout>
|
|
116
|
+
<script type="module" src="/main.js"></script>
|
|
117
|
+
</body>
|
|
118
|
+
|
|
119
|
+
</html>
|
|
@@ -0,0 +1,47 @@
|
|
|
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>Progress</h1>
|
|
14
|
+
<p>The progress is using the native <code><progress></code> tag.</p>
|
|
15
|
+
<doc-demo>
|
|
16
|
+
<label for="download">Download progress:</label>
|
|
17
|
+
<progress id="download" value="50" max="100">50%</progress>
|
|
18
|
+
</doc-demo>
|
|
19
|
+
<div class="code-group">
|
|
20
|
+
<div role="tablist">
|
|
21
|
+
<button role="tab" aria-controls="html">HTML</button>
|
|
22
|
+
<button role="tab" aria-controls="scss">SCSS</button>
|
|
23
|
+
|
|
24
|
+
<button role="tab" aria-controls="css">CSS</button>
|
|
25
|
+
</div>
|
|
26
|
+
<doc-code id="html" data-type="html" role="tabpanel">
|
|
27
|
+
<label for="download">Download progress:</label>
|
|
28
|
+
<progress id="download" value="50" max="100">50%</progress>
|
|
29
|
+
</doc-code>
|
|
30
|
+
<doc-code id="scss" data-type="scss" role="tabpanel">
|
|
31
|
+
@import '@natachah/vanilla-frontend/scss/_progress';
|
|
32
|
+
</doc-code>
|
|
33
|
+
<doc-code id="css" data-type="css" role="tabpanel">
|
|
34
|
+
--progress-width
|
|
35
|
+
--progress-height
|
|
36
|
+
--progress-background
|
|
37
|
+
--progress-color
|
|
38
|
+
--progress-border-radius
|
|
39
|
+
</doc-code>
|
|
40
|
+
</div>
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
</doc-layout>
|
|
44
|
+
<script type="module" src="/main.js"></script>
|
|
45
|
+
</body>
|
|
46
|
+
|
|
47
|
+
</html>
|