@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.
Files changed (281) hide show
  1. package/.gitlab-ci.yml +22 -13
  2. package/LICENSE.md +1 -1
  3. package/docs/.vitepress/config.mts +101 -0
  4. package/docs/base/layout.md +77 -0
  5. package/docs/base/media.md +146 -0
  6. package/docs/base/reset.md +33 -0
  7. package/docs/base/typography.md +296 -0
  8. package/docs/classes/badge.md +146 -0
  9. package/docs/classes/breadcrumb.md +54 -0
  10. package/docs/classes/card.md +171 -0
  11. package/docs/classes/dropdown.md +180 -0
  12. package/docs/classes/grid.md +230 -0
  13. package/docs/classes/list.md +90 -0
  14. package/docs/components/button.md +254 -0
  15. package/docs/components/dialog.md +223 -0
  16. package/docs/components/disclosure.md +169 -0
  17. package/docs/components/form.md +514 -0
  18. package/docs/components/loading.md +53 -0
  19. package/docs/components/popover.md +270 -0
  20. package/docs/components/progress.md +33 -0
  21. package/docs/components/table.md +175 -0
  22. package/docs/index.md +27 -0
  23. package/docs/javascript/autofill.md +155 -0
  24. package/docs/javascript/check.md +53 -0
  25. package/docs/javascript/comfort.md +125 -0
  26. package/docs/javascript/consent.md +89 -0
  27. package/docs/javascript/cookie.md +33 -0
  28. package/docs/javascript/drawer.md +99 -0
  29. package/docs/javascript/form.md +130 -0
  30. package/docs/javascript/scroll.md +104 -0
  31. package/docs/javascript/slider.md +130 -0
  32. package/docs/javascript/sortable.md +127 -0
  33. package/docs/javascript/tabpanel.md +72 -0
  34. package/docs/javascript/toggle.md +182 -0
  35. package/docs/javascript/trap.md +33 -0
  36. package/docs/javascript/tree.md +220 -0
  37. package/docs/prologue/conventions.md +92 -0
  38. package/docs/prologue/release.md +44 -0
  39. package/docs/prologue/upgrade.md +21 -0
  40. package/docs/{pages/demo/layout.html → public/demo/demo.html} +1 -2
  41. package/docs/start/customization.md +184 -0
  42. package/docs/start/install.md +80 -0
  43. package/docs/start/mixin.md +203 -0
  44. package/docs/vuejs/ComponentPreview.vue +99 -0
  45. package/js/_slider.js +17 -1
  46. package/js/{vanilla-frontend.js → vanilla-frontend-doc.js} +30 -33
  47. package/natachah-vanilla-frontend-1.0.0.tgz +0 -0
  48. package/package.json +11 -14
  49. package/public/404.html +22 -0
  50. package/public/assets/app.DsgDPRSA.js +1 -0
  51. package/public/assets/base_layout.md.CTGv6rTn.js +13 -0
  52. package/public/assets/base_layout.md.CTGv6rTn.lean.js +1 -0
  53. package/public/assets/base_media.md.CcuDUcF-.js +24 -0
  54. package/public/assets/base_media.md.CcuDUcF-.lean.js +1 -0
  55. package/public/assets/base_reset.md.DqIdqFRJ.js +3 -0
  56. package/public/assets/base_reset.md.DqIdqFRJ.lean.js +1 -0
  57. package/public/assets/base_typography.md.DV-ikqGZ.js +87 -0
  58. package/public/assets/base_typography.md.DV-ikqGZ.lean.js +1 -0
  59. package/public/assets/chunks/ComponentPreview.BW2s4ay5.js +27 -0
  60. package/public/assets/chunks/framework.CaiDwmc7.js +4 -0
  61. package/public/assets/chunks/theme.DL_11MHV.js +1 -0
  62. package/public/assets/classes_badge.md.BCGzPr6f.js +24 -0
  63. package/public/assets/classes_badge.md.BCGzPr6f.lean.js +1 -0
  64. package/public/assets/classes_breadcrumb.md.vU6jlo36.js +15 -0
  65. package/public/assets/classes_breadcrumb.md.vU6jlo36.lean.js +1 -0
  66. package/public/assets/classes_card.md.BZEh2l_B.js +41 -0
  67. package/public/assets/classes_card.md.BZEh2l_B.lean.js +1 -0
  68. package/public/assets/classes_dropdown.md.BLVw_xQY.js +70 -0
  69. package/public/assets/classes_dropdown.md.BLVw_xQY.lean.js +1 -0
  70. package/public/assets/classes_grid.md.47v-Ybqe.js +45 -0
  71. package/public/assets/classes_grid.md.47v-Ybqe.lean.js +1 -0
  72. package/public/assets/classes_list.md.BW9PWZV1.js +36 -0
  73. package/public/assets/classes_list.md.BW9PWZV1.lean.js +1 -0
  74. package/public/assets/components_button.md.vx3HzdpN.js +45 -0
  75. package/public/assets/components_button.md.vx3HzdpN.lean.js +1 -0
  76. package/public/assets/components_dialog.md.C-0gJGus.js +76 -0
  77. package/public/assets/components_dialog.md.C-0gJGus.lean.js +1 -0
  78. package/public/assets/components_disclosure.md.DeSRu9_P.js +53 -0
  79. package/public/assets/components_disclosure.md.DeSRu9_P.lean.js +1 -0
  80. package/public/assets/components_form.md.Be8d5WFv.js +122 -0
  81. package/public/assets/components_form.md.Be8d5WFv.lean.js +1 -0
  82. package/public/assets/components_loading.md.CKDG7z5x.js +4 -0
  83. package/public/assets/components_loading.md.CKDG7z5x.lean.js +1 -0
  84. package/public/assets/components_popover.md.CwgNttNc.js +102 -0
  85. package/public/assets/components_popover.md.CwgNttNc.lean.js +1 -0
  86. package/public/assets/components_progress.md.CNC7rJiC.js +6 -0
  87. package/public/assets/components_progress.md.CNC7rJiC.lean.js +1 -0
  88. package/public/assets/components_table.md.LyBkIDkF.js +75 -0
  89. package/public/assets/components_table.md.LyBkIDkF.lean.js +1 -0
  90. package/public/assets/index.md.CJiHmjB7.js +1 -0
  91. package/public/assets/index.md.CJiHmjB7.lean.js +1 -0
  92. package/public/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 +0 -0
  93. package/public/assets/inter-italic-cyrillic.By2_1cv3.woff2 +0 -0
  94. package/public/assets/inter-italic-greek-ext.1u6EdAuj.woff2 +0 -0
  95. package/public/assets/inter-italic-greek.DJ8dCoTZ.woff2 +0 -0
  96. package/public/assets/inter-italic-latin-ext.CN1xVJS-.woff2 +0 -0
  97. package/public/assets/inter-italic-latin.C2AdPX0b.woff2 +0 -0
  98. package/public/assets/inter-italic-vietnamese.BSbpV94h.woff2 +0 -0
  99. package/public/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 +0 -0
  100. package/public/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 +0 -0
  101. package/public/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 +0 -0
  102. package/public/assets/inter-roman-greek.BBVDIX6e.woff2 +0 -0
  103. package/public/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 +0 -0
  104. package/public/assets/inter-roman-latin.Di8DUHzh.woff2 +0 -0
  105. package/public/assets/inter-roman-vietnamese.BjW4sHH5.woff2 +0 -0
  106. package/public/assets/javascript_autofill.md.BewVUo4H.js +49 -0
  107. package/public/assets/javascript_autofill.md.BewVUo4H.lean.js +1 -0
  108. package/public/assets/javascript_check.md.B6ajE66i.js +13 -0
  109. package/public/assets/javascript_check.md.B6ajE66i.lean.js +1 -0
  110. package/public/assets/javascript_comfort.md.BRci3j7V.js +20 -0
  111. package/public/assets/javascript_comfort.md.BRci3j7V.lean.js +1 -0
  112. package/public/assets/javascript_consent.md.Bjv8ZDS6.js +29 -0
  113. package/public/assets/javascript_consent.md.Bjv8ZDS6.lean.js +1 -0
  114. package/public/assets/javascript_cookie.md.Dlhyk4Ha.js +2 -0
  115. package/public/assets/javascript_cookie.md.Dlhyk4Ha.lean.js +1 -0
  116. package/public/assets/javascript_drawer.md.BCJX3fL-.js +32 -0
  117. package/public/assets/javascript_drawer.md.BCJX3fL-.lean.js +1 -0
  118. package/public/assets/javascript_form.md.Cwf_gxLI.js +40 -0
  119. package/public/assets/javascript_form.md.Cwf_gxLI.lean.js +2 -0
  120. package/public/assets/javascript_scroll.md.BrJijWbF.js +30 -0
  121. package/public/assets/javascript_scroll.md.BrJijWbF.lean.js +1 -0
  122. package/public/assets/javascript_slider.md.DDO8wC4u.js +27 -0
  123. package/public/assets/javascript_slider.md.DDO8wC4u.lean.js +1 -0
  124. package/public/assets/javascript_sortable.md.BKyem7yw.js +35 -0
  125. package/public/assets/javascript_sortable.md.BKyem7yw.lean.js +1 -0
  126. package/public/assets/javascript_tabpanel.md.D9M-_xE0.js +19 -0
  127. package/public/assets/javascript_tabpanel.md.D9M-_xE0.lean.js +1 -0
  128. package/public/assets/javascript_toggle.md.C8582WNC.js +46 -0
  129. package/public/assets/javascript_toggle.md.C8582WNC.lean.js +1 -0
  130. package/public/assets/javascript_trap.md.Bc59YUng.js +2 -0
  131. package/public/assets/javascript_trap.md.Bc59YUng.lean.js +1 -0
  132. package/public/assets/javascript_tree.md.uc1UUsFV.js +72 -0
  133. package/public/assets/javascript_tree.md.uc1UUsFV.lean.js +1 -0
  134. package/public/assets/prologue_conventions.md.D8nVwlRS.js +34 -0
  135. package/public/assets/prologue_conventions.md.D8nVwlRS.lean.js +1 -0
  136. package/public/assets/prologue_release.md.CG6nuFnt.js +1 -0
  137. package/public/assets/prologue_release.md.CG6nuFnt.lean.js +1 -0
  138. package/public/assets/prologue_upgrade.md.CFxokaBG.js +1 -0
  139. package/public/assets/prologue_upgrade.md.CFxokaBG.lean.js +1 -0
  140. package/public/assets/start_customization.md.t-ze_NoQ.js +141 -0
  141. package/public/assets/start_customization.md.t-ze_NoQ.lean.js +1 -0
  142. package/public/assets/start_install.md.OluH7l11.js +46 -0
  143. package/public/assets/start_install.md.OluH7l11.lean.js +1 -0
  144. package/public/assets/start_mixin.md.D76cLRSX.js +85 -0
  145. package/public/assets/start_mixin.md.D76cLRSX.lean.js +1 -0
  146. package/public/assets/style.zIeGMibA.css +1 -0
  147. package/public/base/layout.html +37 -0
  148. package/public/base/media.html +179 -0
  149. package/public/base/reset.html +27 -0
  150. package/public/base/typography.html +320 -0
  151. package/public/bundles/vanilla-frontend-doc.css +1 -0
  152. package/public/bundles/vanilla-frontend-doc.js +1 -0
  153. package/public/bundles/vanilla-frontend.css +1 -0
  154. package/public/classes/badge.html +205 -0
  155. package/public/classes/breadcrumb.html +66 -0
  156. package/public/classes/card.html +222 -0
  157. package/public/classes/dropdown.html +147 -0
  158. package/public/classes/grid.html +278 -0
  159. package/public/classes/list.html +113 -0
  160. package/public/components/button.html +304 -0
  161. package/public/components/dialog.html +205 -0
  162. package/public/components/disclosure.html +130 -0
  163. package/public/components/form.html +589 -0
  164. package/public/components/loading.html +107 -0
  165. package/public/components/popover.html +257 -0
  166. package/public/components/progress.html +57 -0
  167. package/public/components/table.html +152 -0
  168. package/public/demo/demo.html +84 -0
  169. package/public/hashmap.json +1 -0
  170. package/public/index.html +25 -0
  171. package/public/javascript/autofill.html +152 -0
  172. package/public/javascript/check.html +64 -0
  173. package/public/javascript/comfort.html +123 -0
  174. package/public/javascript/consent.html +80 -0
  175. package/public/javascript/cookie.html +26 -0
  176. package/public/javascript/drawer.html +83 -0
  177. package/public/javascript/form.html +117 -0
  178. package/public/javascript/scroll.html +81 -0
  179. package/public/javascript/slider.html +78 -0
  180. package/public/javascript/sortable.html +112 -0
  181. package/public/javascript/tabpanel.html +70 -0
  182. package/public/javascript/toggle.html +201 -0
  183. package/public/javascript/trap.html +26 -0
  184. package/public/javascript/tree.html +175 -0
  185. package/public/prologue/conventions.html +58 -0
  186. package/public/prologue/release.html +25 -0
  187. package/public/prologue/upgrade.html +25 -0
  188. package/public/start/customization.html +165 -0
  189. package/public/start/install.html +70 -0
  190. package/public/start/mixin.html +109 -0
  191. package/public/vp-icons.css +0 -0
  192. package/sandbox/index.html +27 -0
  193. package/sandbox/js/sandbox-header.js +57 -0
  194. package/sandbox/js/sandbox-test.js +91 -0
  195. package/sandbox/pages/base/layout.html +80 -0
  196. package/sandbox/pages/base/media.html +52 -0
  197. package/sandbox/pages/base/typography.html +132 -0
  198. package/sandbox/pages/components/button.html +70 -0
  199. package/sandbox/pages/components/dialog.html +72 -0
  200. package/sandbox/pages/components/disclosure.html +77 -0
  201. package/sandbox/pages/components/form.html +164 -0
  202. package/sandbox/pages/components/loading.html +32 -0
  203. package/sandbox/pages/components/popover.html +119 -0
  204. package/sandbox/pages/components/progress.html +28 -0
  205. package/sandbox/pages/components/table.html +80 -0
  206. package/sandbox/pages/customs/badge.html +59 -0
  207. package/sandbox/pages/customs/breadcrumb.html +34 -0
  208. package/sandbox/pages/customs/card.html +71 -0
  209. package/sandbox/pages/customs/dropdown.html +70 -0
  210. package/sandbox/pages/customs/grid.html +109 -0
  211. package/sandbox/pages/customs/list.html +43 -0
  212. package/sandbox/pages/javascript/autofill.html +39 -0
  213. package/sandbox/pages/javascript/checkall.html +37 -0
  214. package/sandbox/pages/javascript/comfort.html +41 -0
  215. package/sandbox/pages/javascript/consent.html +45 -0
  216. package/sandbox/pages/javascript/form.html +50 -0
  217. package/sandbox/pages/javascript/scroll.html +44 -0
  218. package/sandbox/pages/javascript/slider.html +44 -0
  219. package/sandbox/pages/javascript/sortable.html +56 -0
  220. package/sandbox/pages/javascript/tabpanel.html +39 -0
  221. package/sandbox/pages/javascript/toggle.html +72 -0
  222. package/sandbox/pages/javascript/tree.html +96 -0
  223. package/sandbox/sandbox.js +26 -0
  224. package/sandbox/scss/sandbox-header.scss +93 -0
  225. package/scss/components/_badge.scss +2 -1
  226. package/scss/components/_dropdown.scss +2 -2
  227. package/scss/components/_group.scss +8 -4
  228. package/scss/components/_popover.scss +74 -0
  229. package/scss/components/index.scss +1 -0
  230. package/scss/vanilla-frontend-doc.scss +46 -1
  231. package/scss/vanilla-frontend-sandbox.scss +34 -0
  232. package/vite.config.js +30 -0
  233. package/docs/index.html +0 -36
  234. package/docs/main-demo.js +0 -2
  235. package/docs/main.js +0 -34
  236. package/docs/pages/base/layout.html +0 -131
  237. package/docs/pages/base/media.html +0 -142
  238. package/docs/pages/base/reset.html +0 -53
  239. package/docs/pages/base/typography.html +0 -334
  240. package/docs/pages/components/button.html +0 -202
  241. package/docs/pages/components/dialog.html +0 -336
  242. package/docs/pages/components/disclosure.html +0 -174
  243. package/docs/pages/components/form.html +0 -427
  244. package/docs/pages/components/loading.html +0 -58
  245. package/docs/pages/components/progress.html +0 -47
  246. package/docs/pages/components/table.html +0 -168
  247. package/docs/pages/customs/badge.html +0 -150
  248. package/docs/pages/customs/breadcrumb.html +0 -67
  249. package/docs/pages/customs/card.html +0 -185
  250. package/docs/pages/customs/drawer.html +0 -149
  251. package/docs/pages/customs/dropdown.html +0 -270
  252. package/docs/pages/customs/grid.html +0 -185
  253. package/docs/pages/customs/list.html +0 -112
  254. package/docs/pages/customs/slider.html +0 -273
  255. package/docs/pages/javascript/autofill.html +0 -170
  256. package/docs/pages/javascript/checkall.html +0 -59
  257. package/docs/pages/javascript/comfort.html +0 -146
  258. package/docs/pages/javascript/consent.html +0 -112
  259. package/docs/pages/javascript/cookie.html +0 -81
  260. package/docs/pages/javascript/form.html +0 -199
  261. package/docs/pages/javascript/scroll.html +0 -209
  262. package/docs/pages/javascript/sortable.html +0 -167
  263. package/docs/pages/javascript/tabpanel.html +0 -89
  264. package/docs/pages/javascript/toggle.html +0 -193
  265. package/docs/pages/javascript/trap.html +0 -89
  266. package/docs/pages/javascript/tree.html +0 -256
  267. package/docs/pages/quick-start/conventions.html +0 -112
  268. package/docs/pages/quick-start/customization.html +0 -187
  269. package/docs/pages/quick-start/installation.html +0 -97
  270. package/docs/pages/quick-start/mixins.html +0 -214
  271. package/docs/src/js/demo.js +0 -110
  272. package/docs/src/js/doc-code.js +0 -102
  273. package/docs/src/js/doc-demo.js +0 -14
  274. package/docs/src/js/doc-layout.js +0 -117
  275. package/docs/src/scss/demo.scss +0 -77
  276. package/docs/src/scss/layout.scss +0 -83
  277. package/docs/src/scss/style.scss +0 -278
  278. package/docs/vite.config.mjs +0 -23
  279. package/esbuild.mjs +0 -25
  280. package/natachah-vanilla-frontend-0.4.1.tgz +0 -0
  281. package/vitest.config.js +0 -8
@@ -1,77 +0,0 @@
1
- ////
2
- /// ------------------------------------------------------------------
3
- /// Demo
4
- /// ------------------------------------------------------------------
5
- /// This is the style for demonstration bloc
6
- ///
7
- /// @author Natacha Herth
8
-
9
- ///
10
- ////
11
-
12
- @use './../../../scss/abstracts/mixins' as *;
13
-
14
- // Demo for grid offset
15
- #flexGridDemoOffset {
16
- @include flex-grid-offset-column()
17
- }
18
-
19
- // Demo for grid wider
20
- #flexGridDemoWider {
21
- @include flex-grid-wider-column()
22
- }
23
-
24
- // Demo for fade slider
25
- .slider-fade-demo {
26
- --image-width: 100%;
27
- --image-ratio: 4/3;
28
- background-position: center;
29
- background-repeat: no-repeat;
30
- background-size: cover;
31
-
32
- > * {
33
- transition: all 2s ease-out;
34
-
35
- &[aria-hidden=true] {
36
- filter: blur(1rem);
37
- opacity: 0;
38
- }
39
-
40
- &[aria-hidden=false] {
41
- opacity: 1;
42
- }
43
- }
44
- }
45
-
46
- // Create a container
47
- .as-container {
48
- container-type: inline-size;
49
- min-height: 300px;
50
- overflow: hidden;
51
- }
52
-
53
- // Demo for responsive table
54
- @container (max-width:800px) {
55
- #demoTable {
56
- @include as-responsive-table()
57
- }
58
- }
59
-
60
- // Demo for grid
61
- doc-demo {
62
-
63
- .grid,
64
- .flex-grid {
65
- &:not(.demo-inline) > * {
66
- background-color: #eee;
67
- text-align: center;
68
- padding-block: 1rem;
69
- }
70
-
71
- &.demo-inline {
72
- --grid-columns: 3
73
- }
74
-
75
- }
76
-
77
- }
@@ -1,83 +0,0 @@
1
- ////
2
- /// ------------------------------------------------------------------
3
- /// Layout
4
- /// ------------------------------------------------------------------
5
- /// This is the style for the basic layout with a sidebar
6
- ///
7
- /// @author Natacha Herth
8
-
9
- ///
10
- ////
11
-
12
- doc-layout {
13
-
14
- height: 100vh;
15
- display: grid;
16
- grid-template-columns: 0px 1fr;
17
- grid-template-rows: max-content 1fr;
18
- grid-template-areas: "aside header" "aside main" "aside footer";
19
- overflow: hidden;
20
- transition: all .5s ease-in-out;
21
-
22
- > header {
23
- grid-area: header;
24
- }
25
-
26
- > footer {
27
- grid-area: footer;
28
- }
29
-
30
- > header > nav > ul {
31
- list-style: none;
32
- padding: 0;
33
- margin: 0;
34
- display: flex;
35
- gap: 1rem;
36
- }
37
-
38
- > main {
39
- grid-area: main;
40
- overflow-y: auto;
41
- }
42
-
43
- #sidebar {
44
-
45
- --drawer-display: grid;
46
- --drawer-transform: translatex(-100%);
47
- --drawer-position: 0 auto 0 0;
48
-
49
- // Set the grid for the sidebar based on the parent grid
50
- grid-template-columns: 1fr;
51
- grid-template-rows: max-content 1fr;
52
- grid-template-areas: "welcome" "menu";
53
-
54
- > header {
55
- grid-area: welcome;
56
- }
57
-
58
- // Design the nav
59
- > nav {
60
- grid-area: menu;
61
- overflow-y: auto;
62
- }
63
-
64
- }
65
-
66
- * {
67
- // Hide scrollbar for IE, Edge and Firefox
68
- -ms-overflow-style: none;
69
- scrollbar-width: none;
70
-
71
- //Hide scrollbar for Chrome, Safari and Opera
72
- &::-webkit-scrollbar {
73
- display: none;
74
- }
75
- }
76
-
77
- @media (min-width: 960px) {
78
- &:has(#sidebar:not([hidden])) {
79
- grid-template-columns: 320px 1fr;
80
- }
81
- }
82
-
83
- }
@@ -1,278 +0,0 @@
1
- ////
2
- /// ------------------------------------------------------------------
3
- /// Style
4
- /// ------------------------------------------------------------------
5
- /// This is the style for the website
6
- ///
7
- /// @author Natacha Herth
8
-
9
- ///
10
- ////
11
-
12
- @use './../../../scss/abstracts/mixins' as *;
13
-
14
- :root {
15
-
16
- --doc-header-padding-block: 1rem;
17
- --doc-main-padding-block: 2rem;
18
- --doc-sidebar-padding-inline: 2rem;
19
- --doc-main-padding-inline: 4rem;
20
-
21
- --doc-bloc-padding: 1.5rem;
22
- --doc-bloc-radius: .75rem;
23
- --doc-code-background: #282c34;
24
- --doc-border-color: #e2e2e2;
25
-
26
- --color-font: #535353;
27
- --heading-color: #3c3c3c;
28
- --dialog-index: 3;
29
- --line-height: 1.75;
30
- --heading-line-height: 1.5;
31
-
32
- }
33
-
34
- doc-layout {
35
-
36
- > header {
37
-
38
- // For the icon link
39
- --nav-color: rgba(0, 0, 0, .5);
40
- --nav-hover-color: black;
41
-
42
- // Display inline
43
- display: flex;
44
- align-items: center;
45
- justify-content: space-between;
46
- padding: var(--doc-header-padding-block) var(--doc-main-padding-inline);
47
- border-bottom: 1px solid var(--doc-border-color);
48
- }
49
-
50
- > #sidebar {
51
-
52
- background-color: var(--color-body, white);
53
- border-right: 1px solid var(--doc-border-color);
54
-
55
- > header {
56
-
57
- padding: var(--doc-header-padding-block) var(--doc-sidebar-padding-inline);
58
- font-size: var(--font-size-h3);
59
-
60
- svg {
61
- transition: all .25s ease-in-out;
62
- color: var(--color-primary)
63
- }
64
-
65
- a {
66
- display: block;
67
- width: 100%;
68
- white-space: nowrap; // For bug when hide sidebar ≠ change the height of header
69
-
70
- &:hover svg {
71
- transform: rotate(25deg);
72
- }
73
- }
74
-
75
- }
76
-
77
- > nav {
78
-
79
- --nav-direction: column;
80
- --nav-align: start;
81
- --nav-gap: .25rem;
82
- --nav-hover-color: var(--color-primary);
83
-
84
- // Display flex to make sure copyright will always at the bottom
85
- display: flex;
86
- flex-direction: column;
87
- padding: var(--doc-main-padding-block) var(--doc-sidebar-padding-inline);
88
-
89
- > h2 {
90
- margin-bottom: .25em;
91
- font-size: var(--font-size);
92
- font-weight: bold;
93
- }
94
-
95
- > ul:not(:last-child) {
96
- margin-bottom: 1.5rem;
97
- }
98
-
99
- }
100
-
101
- #copyright {
102
- font-size: var(--font-size-small);
103
- text-align: center;
104
- margin-top: auto;
105
- padding-block: .5rem;
106
- font-style: italic;
107
- }
108
-
109
- }
110
-
111
- > main {
112
-
113
- container-type: inline-size;
114
- padding: var(--doc-main-padding-block) var(--doc-main-padding-inline);
115
-
116
- :not(doc-demo) a {
117
- --anchor-color: var(--color-primary);
118
- --anchor-decoration: underline;
119
- }
120
-
121
- > h2 {
122
- margin-block: 2em .25em;
123
- padding-top: .5em;
124
- border-top: 1px solid var(--doc-border-color);
125
-
126
- &:before {
127
- content: '# ';
128
- }
129
- }
130
-
131
- > h3 {
132
- margin-block: 1em .25em;
133
- }
134
-
135
- > h2 + *,
136
- > h3 + * {
137
- margin-top: 0 !important;
138
- }
139
-
140
- > p,
141
- > ul,
142
- > hr,
143
- > blockquote,
144
- > table,
145
- > doc-demo,
146
- > doc-code,
147
- > .code-group {
148
- margin-block: 1.75rem;
149
- }
150
-
151
- > blockquote {
152
-
153
- border-left: 3px solid var(--blockquote-color, var(--color-primary));
154
- padding-left: var(--doc-bloc-padding);
155
-
156
- &:is(.tip, .warning, .todo) {
157
-
158
- background-color: color-mix(in srgb, var(--blockquote-color), transparent 90%);
159
- border-radius: var(--doc-bloc-radius);
160
- border-left: none;
161
- padding: var(--doc-bloc-padding);
162
-
163
- &:before {
164
- font-weight: bold;
165
- text-transform: uppercase;
166
- color: var(--blockquote-color);
167
- content: attr(class);
168
- }
169
-
170
- }
171
-
172
- &.tip {
173
- --blockquote-color: var(--color-primary);
174
- }
175
-
176
- &.warning {
177
- --blockquote-color: var(--color-warning);
178
- }
179
-
180
- &.todo {
181
- --blockquote-color: var(--color-error);
182
- }
183
-
184
- }
185
-
186
- > table {
187
- th {
188
- font-weight: bold;
189
- }
190
-
191
- tr:nth-child(odd) td {
192
- background-color: rgba(0, 0, 0, .05);
193
- }
194
- }
195
-
196
- > doc-demo {
197
- display: block;
198
- padding: var(--doc-bloc-padding);
199
- border-radius: var(--doc-bloc-radius);
200
- border: 1px solid var(--doc-border-color);
201
- }
202
-
203
- // Simple code bloc => add the type on the bottom
204
- > doc-code {
205
-
206
- display: block;
207
- position: relative;
208
- padding: var(--doc-bloc-padding);
209
- background-color: var(--doc-code-background);
210
- border-radius: var(--doc-bloc-radius);
211
-
212
- &::before {
213
- content: attr(data-type, 'html');
214
- position: absolute;
215
- bottom: .5rem;
216
- right: .75rem;
217
- font-size: 12px;
218
- color: white;
219
- opacity: .5;
220
- }
221
-
222
- }
223
-
224
- // Tab nav code bloc
225
- > .code-group {
226
-
227
- position: relative;
228
- padding: calc(var(--doc-bloc-padding) / 2) var(--doc-bloc-padding);
229
- background-color: var(--doc-code-background);
230
- border-radius: var(--doc-bloc-radius);
231
-
232
- doc-code:not([hidden]) {
233
- display: block;
234
- padding: .5rem;
235
- }
236
-
237
- [role=tablist] {
238
- --button-color: white;
239
- --button-active-color: var(--color-primary);
240
- --button-hover-background: rgba(255, 255, 255, .25);
241
- --button-padding-inline: .5rem;
242
- --button-padding-block: .25rem;
243
- font-size: 12px;
244
- margin-bottom: .25rem;
245
- }
246
-
247
- }
248
-
249
- }
250
-
251
- }
252
-
253
- @media (max-width:630px) {
254
- :root {
255
- --doc-header-padding-block: 1rem;
256
- --doc-main-padding-block: 1rem;
257
- --doc-sidebar-padding-inline: 1rem;
258
- --doc-main-padding-inline: 1.5rem;
259
-
260
- --font-size: 14px;
261
- --line-height: 1.5;
262
- --heading-line-height: 1.25;
263
- }
264
- }
265
-
266
- @container (max-width:576px) {
267
- table {
268
-
269
- --table-padding-block: 0.125em;
270
-
271
- @include as-responsive-table();
272
-
273
- td[data-label]:before {
274
- font-weight: bold;
275
- }
276
-
277
- }
278
- }
@@ -1,23 +0,0 @@
1
- import { defineConfig } from 'vite'
2
- import glob from 'fast-glob'
3
- import path from 'node:path'
4
- import { fileURLToPath } from 'node:url'
5
-
6
- export default defineConfig({
7
- build: {
8
- target: 'esnext', //browsers can handle the latest ES features
9
- cssCodeSplit: true,
10
- rollupOptions: {
11
- input: Object.fromEntries(
12
- glob.sync(['./*.html', './pages/**/*.html']).map(file => [
13
- // This remove `pages/` as well as the file extension from each
14
- // file, so e.g. pages/nested/foo.html becomes nested/foo
15
- path.relative(__dirname, file.slice(0, file.length - path.extname(file).length)),
16
- // This expands the relative paths to absolute paths, so e.g.
17
- // src/nested/foo becomes /project/src/nested/foo.js
18
- fileURLToPath(new URL(file, import.meta.url)),
19
- ]),
20
- ),
21
- },
22
- }
23
- })
package/esbuild.mjs DELETED
@@ -1,25 +0,0 @@
1
- import esbuild from "esbuild"
2
- import { sassPlugin } from "esbuild-sass-plugin"
3
- import postcss from 'postcss'
4
- import autoprefixer from 'autoprefixer'
5
-
6
- esbuild
7
- .build({
8
- entryPoints: ["scss/vanilla-frontend.scss", "js/vanilla-frontend.js"],
9
- entryNames: '[name]',
10
- outbase: "./",
11
- outdir: './bundles',
12
- bundle: true,
13
- metafile: true,
14
- minify: true,
15
- plugins: [
16
- sassPlugin({
17
- async transform(source) {
18
- const { css } = await postcss([autoprefixer]).process(source)
19
- return css
20
- },
21
- }),
22
- ],
23
- })
24
- .then(() => console.log("⚡ Build complete! ⚡"))
25
- .catch(() => process.exit(1))
Binary file
package/vitest.config.js DELETED
@@ -1,8 +0,0 @@
1
- import { defineConfig } from 'vite'
2
-
3
- export default defineConfig({
4
- test: {
5
- environment: 'happy-dom',
6
- globals: true,
7
- }
8
- })