@natachah/vanilla-frontend 0.0.5 → 0.1.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 (71) hide show
  1. package/.gitlab-ci.yml +7 -0
  2. package/docs/pages/{components → base}/media.html +2 -2
  3. package/docs/pages/{layout → base}/reset.html +2 -2
  4. package/docs/pages/{layout → base}/typography.html +2 -2
  5. package/docs/pages/components/badge.html +2 -2
  6. package/docs/pages/components/breadcrumb.html +1 -1
  7. package/docs/pages/components/button.html +2 -2
  8. package/docs/pages/components/card.html +1 -1
  9. package/docs/pages/components/dialog.html +1 -1
  10. package/docs/pages/components/disclosure.html +1 -1
  11. package/docs/pages/components/dropdown.html +2 -2
  12. package/docs/pages/components/form.html +2 -2
  13. package/docs/pages/components/list.html +1 -1
  14. package/docs/pages/components/loading.html +1 -1
  15. package/docs/pages/components/progress.html +1 -1
  16. package/docs/pages/components/slider.html +1 -1
  17. package/docs/pages/components/table.html +1 -1
  18. package/docs/pages/{layout → layouts}/grid.html +1 -1
  19. package/docs/pages/quick-start/conventions.html +7 -7
  20. package/docs/pages/quick-start/customization.html +59 -62
  21. package/docs/pages/quick-start/installation.html +31 -28
  22. package/docs/pages/quick-start/mixins.html +29 -11
  23. package/docs/src/js/demo.js +1 -1
  24. package/docs/src/js/doc-layout.js +9 -6
  25. package/docs/src/scss/demo.scss +2 -2
  26. package/docs/src/scss/layout.scss +1 -1
  27. package/docs/src/scss/style.scss +2 -2
  28. package/esbuild.mjs +1 -1
  29. package/js/_autofill.js +0 -1
  30. package/js/_check-all.js +0 -1
  31. package/js/_comfort.js +0 -1
  32. package/js/_consent.js +0 -1
  33. package/js/_dialog.js +0 -1
  34. package/js/_dropdown.js +0 -1
  35. package/js/_scroll.js +0 -1
  36. package/js/_sidebar.js +0 -1
  37. package/js/_slider.js +0 -1
  38. package/js/_sortable.js +0 -1
  39. package/js/_tabpanel.js +0 -1
  40. package/js/_toggle.js +0 -1
  41. package/js/_tree.js +0 -1
  42. package/js/utilities/_base-component.js +0 -1
  43. package/js/utilities/_cookie.js +0 -1
  44. package/js/utilities/_error.js +0 -1
  45. package/js/utilities/_form-helper.js +0 -1
  46. package/package.json +2 -2
  47. package/scss/abstracts/_default.scss +21 -0
  48. package/scss/{utilities/_mixin.scss → abstracts/_mixins.scss} +49 -15
  49. package/scss/{variables/_setting.scss → abstracts/_options.scss} +5 -24
  50. package/scss/{_media.scss → base/_media.scss} +1 -2
  51. package/scss/{utilities → base}/_reset.scss +2 -3
  52. package/scss/{utilities → base}/_typography.scss +1 -2
  53. package/scss/base/index.scss +3 -0
  54. package/scss/{_badge.scss → components/_badge.scss} +5 -4
  55. package/scss/{_breadcrumb.scss → components/_breadcrumb.scss} +0 -1
  56. package/scss/{_button.scss → components/_button.scss} +2 -1
  57. package/scss/{_card.scss → components/_card.scss} +9 -8
  58. package/scss/{_dialog.scss → components/_dialog.scss} +7 -23
  59. package/scss/{_disclosure.scss → components/_disclosure.scss} +2 -1
  60. package/scss/{_dropdown.scss → components/_dropdown.scss} +7 -6
  61. package/scss/{_form.scss → components/_form.scss} +2 -1
  62. package/scss/{_group.scss → components/_group.scss} +3 -1
  63. package/scss/{_list.scss → components/_list.scss} +4 -3
  64. package/scss/{_loading.scss → components/_loading.scss} +0 -1
  65. package/scss/{_progress.scss → components/_progress.scss} +0 -1
  66. package/scss/{_slider.scss → components/_slider.scss} +0 -1
  67. package/scss/{_table.scss → components/_table.scss} +0 -1
  68. package/scss/components/index.scss +14 -0
  69. package/scss/{_grid.scss → layouts/_grid.scss} +1 -2
  70. package/scss/{variables → themes}/_root.scss +0 -1
  71. package/scss/vanilla-frontend.scss +19 -21
@@ -17,7 +17,7 @@
17
17
  <p>To use them, import this file:</p>
18
18
 
19
19
  <doc-code data-type="scss">
20
- @import '@natachah/vanilla-frontend/scss/utilities/_mixin';
20
+ @use '@natachah/vanilla-frontend/scss/abstracts/_mixin';
21
21
  </doc-code>
22
22
 
23
23
  <h2>Create an item</h2>
@@ -42,13 +42,13 @@
42
42
  /// @access public
43
43
  ///
44
44
 
45
- @include as-item($name, $states: (), $properties: $default-item-properties)
45
+ @include as-item($name, $states: (), $properties: default.$item-properties)
46
46
  </doc-code>
47
47
 
48
48
  <p>This mixin also include the <b>outline</b> and <b>color</b> variations. It also create some CSS custom properties with the <code>$name</code> value as <code>--{$name}-color</code> with fallback values from the <code>$properties</code>.</p>
49
49
 
50
50
  <blockquote class="warning">
51
- <p>The default properties are set inside the <code>$default-item-properties</code> variable of the file <code>./scss/variables/_setting.scss</code></p>
51
+ <p>The default properties are set inside the <code>default.$item-properties</code> variable of the file <code>./scss/variables/_setting.scss</code></p>
52
52
  </blockquote>
53
53
 
54
54
  <h2>Create a list</h2>
@@ -64,13 +64,31 @@
64
64
  /// @access public
65
65
  ///
66
66
 
67
- @include as-list($name, $states: (), $properties: $default-item-properties)
67
+ @include as-list($name, $states: (), $properties: default.$item-properties)
68
68
  </doc-code>
69
69
 
70
70
  <blockquote>
71
71
  <p>This mixin is used for the <b>list</b> and <b>dropdown</b> components</p>
72
72
  </blockquote>
73
73
 
74
+ <h2>Add header and footer to an item</h2>
75
+
76
+ <p>This mixin will create a header and a footer with negativ margin, some padding and a divider border.</p>
77
+
78
+ <doc-code data-type="scss">
79
+ /// Create a basic item with an header and a footer style
80
+ ///
81
+ /// @param {string} $name - Name of the component
82
+ /// @param {array} $properties - List of default properties (check in /variables/_setting.scss)
83
+ /// @access public
84
+ ///
85
+ @mixin with-header-and-footer($name, $properties: default.$item-properties)
86
+ </doc-code>
87
+
88
+ <blockquote>
89
+ <p>This mixin is used in <b>Dialog</b> components</p>
90
+ </blockquote>
91
+
74
92
  <h2>Set outline variation</h2>
75
93
 
76
94
  <p>This mixin will create the <code>.outline</code> class to transform an item to the outline varation.</p>
@@ -95,7 +113,7 @@
95
113
  </doc-code>
96
114
  <doc-code id="setting" data-type="scss" role="tabpanel">
97
115
  $outline-variations: (
98
- my-component-name
116
+ my-component-name
99
117
  );
100
118
  </doc-code>
101
119
  </div>
@@ -126,7 +144,7 @@
126
144
  </doc-code>
127
145
  <doc-code id="setting" data-type="scss" role="tabpanel">
128
146
  $color-variations: (
129
- my-component-name: (primary, other-color)
147
+ my-component-name: (primary, other-color)
130
148
  );
131
149
  </doc-code>
132
150
  </div>
@@ -167,9 +185,9 @@
167
185
  </doc-code>
168
186
  <doc-code id="scss" data-type="scss" role="tabpanel">
169
187
  @container (max-width:800px) {
170
- table {
171
- @include as-responsive-table()
172
- }
188
+ table {
189
+ @include as-responsive-table()
190
+ }
173
191
  }
174
192
  </doc-code>
175
193
  <doc-code id="css" data-type="css" role="tabpanel">
@@ -201,11 +219,11 @@
201
219
  </doc-code>
202
220
  <doc-code id="scss" data-type="scss" role="tabpanel">
203
221
  #wider {
204
- @include flex-grid-wider-column(3)
222
+ @include flex-grid-wider-column(3)
205
223
  }
206
224
 
207
225
  #offset {
208
- @include flex-grid-offset-column(2)
226
+ @include flex-grid-offset-column(2)
209
227
  }
210
228
  </doc-code>
211
229
  </div>
@@ -5,7 +5,7 @@
5
5
  * This is the code for the demonstration code
6
6
  *
7
7
  * @author Natacha Herth
8
- * @version 0.0.1
8
+
9
9
  * @copyright Natacha Herth, design & web development
10
10
  *
11
11
  */
@@ -18,7 +18,7 @@ class DocLayout extends HTMLElement {
18
18
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-pin-angle" viewBox="0 0 16 16">
19
19
  <path d="M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a6 6 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707s.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a6 6 0 0 1 1.013.16l3.134-3.133a3 3 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146m.122 2.112v-.002zm0-.002v.002a.5.5 0 0 1-.122.51L6.293 6.878a.5.5 0 0 1-.511.12H5.78l-.014-.004a5 5 0 0 0-.288-.076 5 5 0 0 0-.765-.116c-.422-.028-.836.008-1.175.15l5.51 5.509c.141-.34.177-.753.149-1.175a5 5 0 0 0-.192-1.054l-.004-.013v-.001a.5.5 0 0 1 .12-.512l3.536-3.535a.5.5 0 0 1 .532-.115l.096.022c.087.017.208.034.344.034q.172.002.343-.04L9.927 2.028q-.042.172-.04.343a1.8 1.8 0 0 0 .062.46z"/>
20
20
  </svg>
21
- 0.0.1
21
+ 0.1.0
22
22
  </span>
23
23
  </li>
24
24
  <li>
@@ -55,11 +55,15 @@ class DocLayout extends HTMLElement {
55
55
  <li><a href="/pages/quick-start/mixins.html">SCSS Mixins</a></li>
56
56
  <li><a href="/pages/quick-start/conventions.html">Conventions</a></li>
57
57
  </ul>
58
- <h2>Layout</h2>
58
+ <h2>Base</h2>
59
59
  <ul>
60
- <li><a href="/pages/layout/reset.html">Reset</a></li>
61
- <li><a href="/pages/layout/typography.html">Typography</a></li>
62
- <li><a href="/pages/layout/grid.html">Grid</a></li>
60
+ <li><a href="/pages/base/reset.html">Reset</a></li>
61
+ <li><a href="/pages/base/typography.html">Typography</a></li>
62
+ <li><a href="/pages/base/media.html">Media</a></li>
63
+ </ul>
64
+ <h2>Layouts</h2>
65
+ <ul>
66
+ <li><a href="/pages/layouts/grid.html">Grid</a></li>
63
67
  </ul>
64
68
  <h2>Components</h2>
65
69
  <ul>
@@ -73,7 +77,6 @@ class DocLayout extends HTMLElement {
73
77
  <li><a href="/pages/components/form.html">Form</a></li>
74
78
  <li><a href="/pages/components/list.html">List</a></li>
75
79
  <li><a href="/pages/components/loading.html">Loading</a></li>
76
- <li><a href="/pages/components/media.html">Media</a></li>
77
80
  <li><a href="/pages/components/progress.html">Progress</a></li>
78
81
  <li><a href="/pages/components/slider.html">Slider</a></li>
79
82
  <li><a href="/pages/components/table.html">Table</a></li>
@@ -5,11 +5,11 @@
5
5
  /// This is the style for demonstration bloc
6
6
  ///
7
7
  /// @author Natacha Herth
8
- /// @since 1.0.0
8
+
9
9
  ///
10
10
  ////
11
11
 
12
- @import './../../../scss/utilities/_mixin.scss';
12
+ @use './../../../scss/abstracts/mixins' as *;
13
13
 
14
14
  // Demo for grid offset
15
15
  #flexGridDemoOffset {
@@ -5,7 +5,7 @@
5
5
  /// This is the style for the basic layout with a sidebar
6
6
  ///
7
7
  /// @author Natacha Herth
8
- /// @since 1.0.0
8
+
9
9
  ///
10
10
  ////
11
11
 
@@ -5,11 +5,11 @@
5
5
  /// This is the style for the website
6
6
  ///
7
7
  /// @author Natacha Herth
8
- /// @since 1.0.0
8
+
9
9
  ///
10
10
  ////
11
11
 
12
- @import './../../../scss/utilities/_mixin.scss';
12
+ @use './../../../scss/abstracts/mixins' as *;
13
13
 
14
14
  :root {
15
15
 
package/esbuild.mjs CHANGED
@@ -5,7 +5,7 @@ import autoprefixer from 'autoprefixer'
5
5
 
6
6
  esbuild
7
7
  .build({
8
- entryPoints: ["scss/vanilla-frontend.scss", "js/vanilla-frontend.js"],
8
+ entryPoints: ["scss/vanilla-frontend.scss"],
9
9
  entryNames: '[name]',
10
10
  outbase: "./",
11
11
  outdir: './bundles',
package/js/_autofill.js CHANGED
@@ -5,7 +5,6 @@
5
5
  * This class enable the functionality to automatic filling some fields from another
6
6
  *
7
7
  * @author Natacha Herth
8
- * @version 0.0.1
9
8
  * @copyright Natacha Herth, design & web development
10
9
  */
11
10
 
package/js/_check-all.js CHANGED
@@ -5,7 +5,6 @@
5
5
  * This class enable the functionality to un/check a list of checkboxes
6
6
  *
7
7
  * @author Natacha Herth
8
- * @version 0.0.1
9
8
  * @copyright Natacha Herth, design & web development
10
9
  */
11
10
 
package/js/_comfort.js CHANGED
@@ -5,7 +5,6 @@
5
5
  * This class create and manage the cookies for saving theme and style changes for visual comfort
6
6
  *
7
7
  * @author Natacha Herth
8
- * @version 0.0.1
9
8
  * @copyright Natacha Herth, design & web development
10
9
  */
11
10
 
package/js/_consent.js CHANGED
@@ -5,7 +5,6 @@
5
5
  * This class create and manage the cookies for saving the consent to comply the GDPR
6
6
  *
7
7
  * @author Natacha Herth
8
- * @version 0.0.1
9
8
  * @copyright Natacha Herth, design & web development
10
9
  */
11
10
 
package/js/_dialog.js CHANGED
@@ -5,7 +5,6 @@
5
5
  * This class enable the functionalities for open/close/submit an HTML dialog
6
6
  *
7
7
  * @author Natacha Herth
8
- * @version 0.0.1
9
8
  * @copyright Natacha Herth, design & web development
10
9
  */
11
10
 
package/js/_dropdown.js CHANGED
@@ -6,7 +6,6 @@
6
6
  * This component is a simpler version of the Toggle
7
7
  *
8
8
  * @author Natacha Herth
9
- * @version 0.0.1
10
9
  * @copyright Natacha Herth, design & web development
11
10
  *
12
11
  */
package/js/_scroll.js CHANGED
@@ -5,7 +5,6 @@
5
5
  * This script enable an HTML element to scroll to a position and to spy some buttons
6
6
  *
7
7
  * @author Natacha Herth
8
- * @version 0.0.1
9
8
  * @copyright Natacha Herth, design & web development
10
9
  */
11
10
 
package/js/_sidebar.js CHANGED
@@ -5,7 +5,6 @@
5
5
  * This class enable the functionality to toggles multiple tabpanel
6
6
  *
7
7
  * @author Natacha Herth
8
- * @version 0.0.1
9
8
  * @copyright Natacha Herth, design & web development
10
9
  *
11
10
  */
package/js/_slider.js CHANGED
@@ -5,7 +5,6 @@
5
5
  * This class enable the functionality to make an element slider
6
6
  *
7
7
  * @author Natacha Herth
8
- * @version 0.0.1
9
8
  * @copyright Natacha Herth, design & web development
10
9
  *
11
10
  * * keep check on the scrollend event: https://caniuse.com/?search=scrollend
package/js/_sortable.js CHANGED
@@ -5,7 +5,6 @@
5
5
  * This class enable the functionality to sort a list or a table
6
6
  *
7
7
  * @author Natacha Herth
8
- * @version 0.0.1
9
8
  * @copyright Natacha Herth, design & web development
10
9
  */
11
10
 
package/js/_tabpanel.js CHANGED
@@ -5,7 +5,6 @@
5
5
  * This class enable the functionality to toggles multiple tabpanel
6
6
  *
7
7
  * @author Natacha Herth
8
- * @version 0.0.1
9
8
  * @copyright Natacha Herth, design & web development
10
9
  *
11
10
  */
package/js/_toggle.js CHANGED
@@ -5,7 +5,6 @@
5
5
  * This class enable the functionality to un/collapse some element by another
6
6
  *
7
7
  * @author Natacha Herth
8
- * @version 0.0.1
9
8
  * @copyright Natacha Herth, design & web development
10
9
  *
11
10
  * * NOTE: Check availability of the ariaControlsElements to select the #ids
package/js/_tree.js CHANGED
@@ -5,7 +5,6 @@
5
5
  * This class enable the functionality to expand/contract element as a tree
6
6
  *
7
7
  * @author Natacha Herth
8
- * @version 0.0.1
9
8
  * @copyright Natacha Herth, design & web development
10
9
  */
11
10
 
@@ -5,7 +5,6 @@
5
5
  * This class regroup common functionalities for other classes
6
6
  *
7
7
  * @author Natacha Herth
8
- * @version 0.0.1
9
8
  * @copyright Natacha Herth, design & web development
10
9
  */
11
10
 
@@ -5,7 +5,6 @@
5
5
  * This class create and manage the cookies
6
6
  *
7
7
  * @author Natacha Herth
8
- * @version 0.0.1
9
8
  * @copyright Natacha Herth, design & web development
10
9
  */
11
10
 
@@ -5,7 +5,6 @@
5
5
  * This make global error message
6
6
  *
7
7
  * @author Natacha Herth
8
- * @version 0.0.1
9
8
  * @copyright Natacha Herth, design & web development
10
9
  */
11
10
 
@@ -5,7 +5,6 @@
5
5
  * This class regroup some helper function for forms
6
6
  *
7
7
  * @author Natacha Herth
8
- * @version 0.0.1
9
8
  * @copyright Natacha Herth, design & web development
10
9
  */
11
10
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@natachah/vanilla-frontend",
3
- "version": "0.0.5",
3
+ "version": "0.1.0",
4
4
  "description": "A vanilla frontend framework",
5
5
  "keywords": [
6
6
  "html5",
@@ -29,7 +29,7 @@
29
29
  "@testing-library/dom": "^9.3.4",
30
30
  "@vitest/coverage-v8": "^1.3.1",
31
31
  "autoprefixer": "^10.4.19",
32
- "esbuild": "0.21.5",
32
+ "esbuild": "^0.21.5",
33
33
  "esbuild-sass-plugin": "^3.3.1",
34
34
  "fast-glob": "^3.3.2",
35
35
  "happy-dom": "^13.6.2",
@@ -0,0 +1,21 @@
1
+ ////
2
+ /// ------------------------------------------------------------------
3
+ /// Default values for items
4
+ /// ------------------------------------------------------------------
5
+ /// Setting variables
6
+ ///
7
+ /// @group abstracts
8
+ /// @author Natacha Herth
9
+ ///
10
+ ////
11
+
12
+ $item-properties: (
13
+ color: var(--color-font),
14
+ background: transparent,
15
+ border-size: var(--border-size),
16
+ border-style: var(--border-style),
17
+ border-color: transparent,
18
+ border-radius: var(--border-radius),
19
+ padding-inline: var(--padding-inline),
20
+ padding-block: var(--padding-block)
21
+ );
@@ -4,13 +4,16 @@
4
4
  /// ------------------------------------------------------------------
5
5
  /// Regroup all mixins of the package
6
6
  ///
7
- /// @group mixins
7
+ /// @group abstracts
8
8
  /// @author Natacha Herth
9
- /// @since 1.0.0
10
9
  ///
11
10
  ////
12
11
 
13
12
  @use "sass:map";
13
+ @use "sass:meta";
14
+ @use "sass:list";
15
+ @use "./default";
16
+ @use "./options" as *;
14
17
 
15
18
  /// Create a basic item that can be interactive or not
16
19
  ///
@@ -19,7 +22,7 @@
19
22
  /// @param {array} $properties - List of default properties (check in /variables/_setting.scss)
20
23
  /// @access public
21
24
  ///
22
- @mixin as-item($name, $states: (), $properties: $default-item-properties) {
25
+ @mixin as-item($name, $states: (), $properties: default.$item-properties) {
23
26
 
24
27
  // Define the default variables
25
28
  // INFO: The choice of SASS variables other CSS private properties if for better readability of the final code
@@ -57,7 +60,7 @@
57
60
  @if($states !=()) {
58
61
 
59
62
  // State: focus
60
- @if(index($states, 'focus')) {
63
+ @if(list.index($states, 'focus')) {
61
64
  &:focus {
62
65
  outline: var(--#{$name}-focus-size, var(--focus-size)) var(--#{$name}-focus-style, var(--focus-style)) var(--#{$name}-focus-color, color-mix(in srgb, var(--#{$name}-border-color, var(--#{$name}-background, $default-color)), transparent var(--focus-opacity)));
63
66
  outline-offset: var(--#{$name}-focus-offset, var(--focus-offset));
@@ -65,7 +68,7 @@
65
68
  }
66
69
 
67
70
  // State: hover
68
- @if(index($states, 'hover')) {
71
+ @if(list.index($states, 'hover')) {
69
72
  &:hover {
70
73
  color: var(--#{$name}-hover-color, $default-color);
71
74
  background-color: var(--#{$name}-hover-background, color-mix(in srgb, $default-background, var(--hover-color) var(--hover-percent)));
@@ -74,7 +77,7 @@
74
77
  }
75
78
 
76
79
  // State: active
77
- @if(index($states, 'active')) {
80
+ @if(list.index($states, 'active')) {
78
81
 
79
82
  &:active,
80
83
  &[aria-current],
@@ -87,7 +90,7 @@
87
90
  }
88
91
 
89
92
  // State: disabled
90
- @if(index($states, 'disabled')) {
93
+ @if(list.index($states, 'disabled')) {
91
94
  &:disabled {
92
95
  pointer-events: none;
93
96
  opacity: var(--#{$name}-disabled-opacity, var(--disabled-opacity));
@@ -109,7 +112,7 @@
109
112
  /// @param {array} $properties - List of default properties (check in /variables/_setting.scss)
110
113
  /// @access public
111
114
  ///
112
- @mixin as-list($name, $states: (), $properties: $default-item-properties) {
115
+ @mixin as-list($name, $states: (), $properties: default.$item-properties) {
113
116
 
114
117
  // Reset
115
118
  margin: 0;
@@ -179,6 +182,36 @@
179
182
  }
180
183
  }
181
184
 
185
+ /// Create a basic item with an header and a footer style
186
+ ///
187
+ /// @param {string} $name - Name of the component
188
+ /// @param {array} $properties - List of default properties (check in /variables/_setting.scss)
189
+ /// @access public
190
+ ///
191
+ @mixin with-header-and-footer($name, $properties: default.$item-properties) {
192
+
193
+ > header,
194
+ > footer {
195
+ margin-inline: calc(var(--#{$name}-padding-inline, map.get($properties, padding-inline)) * -1);
196
+ padding: calc(var(--#{$name}-padding-block, map.get($properties, padding-block)) / 2) var(--#{$name}-padding-inline, map.get($properties, padding-inline));
197
+ }
198
+
199
+ > header {
200
+ margin-top: calc(var(--#{$name}-padding-block, map.get($properties, padding-block)) * -1);
201
+ border-start-start-radius: inherit;
202
+ border-start-end-radius: inherit;
203
+ border-bottom: var(--#{$name}-divider-size, var(--#{$name}-border-size, var(--border-size))) var(--#{$name}-divider-style, var(--#{$name}-border-style, var(--border-style))) var(--#{$name}-divider-color, var(--#{$name}-border-color, transparent));
204
+ }
205
+
206
+ > footer {
207
+ margin-bottom: calc(var(--#{$name}-padding-block, map.get($properties, padding-block)) * -1);
208
+ border-end-start-radius: inherit;
209
+ border-end-end-radius: inherit;
210
+ border-top: var(--#{$name}-divider-size, var(--#{$name}-border-size, var(--border-size))) var(--#{$name}-divider-style, var(--#{$name}-border-style, var(--border-style))) var(--#{$name}-divider-color, var(--#{$name}-border-color, transparent));
211
+ }
212
+
213
+ }
214
+
182
215
  /// Create some outline variations
183
216
  ///
184
217
  /// @require {variable} $outline-variations - Map variable
@@ -190,7 +223,7 @@
190
223
  ///
191
224
  @mixin with-outline-variations($name, $states: (), $color: var(--#{$name}-background, var(--color-font)), $contrast: var(--#{$name}-color, var(--color-body))) {
192
225
 
193
- @if(variable-exists(outline-variations) and index($outline-variations, $name)) {
226
+ @if(meta.global-variable-exists('outline-variations') and list.index($outline-variations, $name)) {
194
227
 
195
228
  &.outline {
196
229
 
@@ -198,7 +231,7 @@
198
231
  background-color: transparent;
199
232
  border-color: currentColor;
200
233
 
201
- @if(index($states, 'hover')) {
234
+ @if(list.index($states, 'hover')) {
202
235
 
203
236
  &:hover {
204
237
  color: $contrast;
@@ -208,7 +241,7 @@
208
241
 
209
242
  }
210
243
 
211
- @if(index($states, 'active')) {
244
+ @if(list.index($states, 'active')) {
212
245
 
213
246
  &:active,
214
247
  &[aria-current],
@@ -235,9 +268,9 @@
235
268
  ///
236
269
  @mixin with-color-variations($name, $states: ()) {
237
270
 
238
- @if(variable-exists(color-variations) and map-get($color-variations, #{$name})) {
271
+ @if(meta.global-variable-exists('color-variations') and map.get($color-variations, #{$name})) {
239
272
 
240
- @each $colorname in map-get($color-variations, #{$name}) {
273
+ @each $colorname in map.get($color-variations, #{$name}) {
241
274
 
242
275
  &.#{$colorname} {
243
276
 
@@ -250,7 +283,7 @@
250
283
  --#{$name}-background: #{$color};
251
284
  --#{$name}-border-color: #{$color};
252
285
 
253
- @if(index($states, 'hover')) {
286
+ @if(list.index($states, 'hover')) {
254
287
 
255
288
  // Define the variables
256
289
  $hover: color-mix(in srgb, $color, var(--hover-color) var(--hover-percent));
@@ -262,7 +295,7 @@
262
295
 
263
296
  }
264
297
 
265
- @if(index($states, 'active')) {
298
+ @if(list.index($states, 'active')) {
266
299
 
267
300
  // Define the variables
268
301
  $active: color-mix(in srgb, $color, var(--active-color) var(--active-percent));
@@ -277,6 +310,7 @@
277
310
  }
278
311
 
279
312
  }
313
+
280
314
  }
281
315
 
282
316
  }
@@ -2,11 +2,10 @@
2
2
  /// ------------------------------------------------------------------
3
3
  /// Setting
4
4
  /// ------------------------------------------------------------------
5
- /// Setting variables for default theme
5
+ /// Setting variables
6
6
  ///
7
- /// @group setting
7
+ /// @group abstracts
8
8
  /// @author Natacha Herth
9
- /// @since 0.0.1
10
9
  ///
11
10
  ////
12
11
 
@@ -18,8 +17,7 @@ $colors: (
18
17
  primary,
19
18
  success,
20
19
  error,
21
- warning
22
- );
20
+ warning) !default;
23
21
 
24
22
  /// Define the components that have some color variations
25
23
  ///
@@ -31,8 +29,7 @@ $color-variations: (
31
29
  button: $colors,
32
30
  card: $colors,
33
31
  disclosure: $colors,
34
- list: $colors
35
- );
32
+ list: $colors) !default;
36
33
 
37
34
  /// Define the components that have an outline variation
38
35
  ///
@@ -44,20 +41,4 @@ $outline-variations: (
44
41
  button,
45
42
  card,
46
43
  disclosure,
47
- list
48
- );
49
-
50
- /// Define the default properties for item
51
- ///
52
- /// @access public
53
- ///
54
- $default-item-properties: (
55
- color: var(--color-font),
56
- background: transparent,
57
- border-size: var(--border-size),
58
- border-style: var(--border-style),
59
- border-color: transparent,
60
- border-radius: var(--border-radius),
61
- padding-inline: var(--padding-inline),
62
- padding-block: var(--padding-block)
63
- );
44
+ list) !default;
@@ -6,9 +6,8 @@
6
6
  ///
7
7
  /// @example <img>, <picture>, <figure>, <video> and <audio>
8
8
  ///
9
- /// @group components
9
+ /// @group base
10
10
  /// @author Natacha Herth
11
- /// @since 1.0.0
12
11
  ///
13
12
  ////
14
13
 
@@ -4,9 +4,8 @@
4
4
  /// ------------------------------------------------------------------
5
5
  /// This file is the CSS default reset
6
6
  ///
7
- /// @group reset
7
+ /// @group base
8
8
  /// @author Natacha Herth
9
- /// @since 1.0.0
10
9
  ///
11
10
  ////
12
11
 
@@ -67,7 +66,7 @@ summary {
67
66
 
68
67
  // Force the hidden
69
68
  [hidden] {
70
- display: none;
69
+ display: none !important;
71
70
  }
72
71
 
73
72
  // Change cursor for draggable