@logora/debate 0.3.0 → 0.3.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@logora/debate",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "type": "module",
5
5
  "license": "AGPL-3.0",
6
6
  "description": "Design system of @Logora made with React",
@@ -8,7 +8,8 @@
8
8
  "module": "./dist/index.js",
9
9
  "files": [
10
10
  "dist",
11
- "styles"
11
+ "styles",
12
+ "src/components/styles"
12
13
  ],
13
14
  "sideEffects": [
14
15
  "**/*.css",
@@ -23,18 +24,6 @@
23
24
  "./package.json": "./package.json"
24
25
  },
25
26
  "author": "Logora <contact@logora.fr>",
26
- "scripts": {
27
- "build": "vite build --config vite.lib.config.mjs",
28
- "dev": "storybook dev -p 6006",
29
- "storybook": "storybook dev -p 6006",
30
- "build-storybook": "storybook build",
31
- "format": "npx @biomejs/biome format --write ./src",
32
- "lint": "npx @biomejs/biome lint ./src",
33
- "check": "npx @biomejs/biome check ./src",
34
- "test": "vitest run",
35
- "test:watch": "vitest",
36
- "test:coverage": "vitest run --coverage"
37
- },
38
27
  "repository": {
39
28
  "type": "git",
40
29
  "url": "git+https://github.com/Logora/interface.git"
@@ -111,5 +100,17 @@
111
100
  "react-dom": "^17.0.0 || ^18.0.0",
112
101
  "react-router": "^6.29.0",
113
102
  "react-router-dom": "^6.29.0"
103
+ },
104
+ "scripts": {
105
+ "build": "vite build --config vite.lib.config.mjs",
106
+ "dev": "storybook dev -p 6006",
107
+ "storybook": "storybook dev -p 6006",
108
+ "build-storybook": "storybook build",
109
+ "format": "npx @biomejs/biome format --write ./src",
110
+ "lint": "npx @biomejs/biome lint ./src",
111
+ "check": "npx @biomejs/biome check ./src",
112
+ "test": "vitest run",
113
+ "test:watch": "vitest",
114
+ "test:coverage": "vitest run --coverage"
114
115
  }
115
- }
116
+ }
@@ -0,0 +1,127 @@
1
+ @use "sass:map";
2
+ @use "sass:list";
3
+
4
+ $grid-breakpoints: (
5
+ xs: 0,
6
+ sm: 576px,
7
+ md: 768px,
8
+ lg: 992px,
9
+ xl: 1200px
10
+ );
11
+
12
+ @mixin display($value, $breakpoint) {
13
+ @include media-breakpoint-up($breakpoint) {
14
+ display: $value !important;
15
+ }
16
+ }
17
+
18
+ @function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map.keys($breakpoints)) {
19
+ $n: list.index($breakpoint-names, $name);
20
+ @if $n != null and $n < list.length($breakpoint-names) {
21
+ @return list.nth($breakpoint-names, $n + 1);
22
+ }
23
+
24
+ @return null;
25
+ }
26
+
27
+ @function breakpoint-min($name, $breakpoints: $grid-breakpoints) {
28
+ $min: map.get($breakpoints, $name);
29
+ @if $min != 0 {
30
+ @return $min;
31
+ }
32
+
33
+ @return null;
34
+ }
35
+
36
+ @function breakpoint-max($name, $breakpoints: $grid-breakpoints) {
37
+ $next: breakpoint-next($name, $breakpoints);
38
+ @if $next {
39
+ @return breakpoint-min($next, $breakpoints) - .02;
40
+ }
41
+
42
+ @return null;
43
+ }
44
+
45
+ @mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {
46
+ $min: breakpoint-min($name, $breakpoints);
47
+ @if $min {
48
+ @container (min-width: #{$min}) {
49
+ @content;
50
+ }
51
+ } @else {
52
+ @content;
53
+ }
54
+ }
55
+
56
+ @mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {
57
+ $max: breakpoint-max($name, $breakpoints);
58
+ @if $max {
59
+ @container (max-width: #{$max}) {
60
+ @content;
61
+ }
62
+ } @else {
63
+ @content;
64
+ }
65
+ }
66
+
67
+ @mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {
68
+ $min: breakpoint-min($lower, $breakpoints);
69
+ $max: breakpoint-max($upper, $breakpoints);
70
+
71
+ @if $min != null and $max != null {
72
+ @container (min-width: #{$min}) and (max-width: #{$max}) {
73
+ @content;
74
+ }
75
+ } @else if $max == null {
76
+ @include media-breakpoint-up($lower, $breakpoints) {
77
+ @content;
78
+ }
79
+ } @else if $min == null {
80
+ @include media-breakpoint-down($upper, $breakpoints) {
81
+ @content;
82
+ }
83
+ }
84
+ }
85
+
86
+ @mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {
87
+ $min: breakpoint-min($name, $breakpoints);
88
+ $max: breakpoint-max($name, $breakpoints);
89
+
90
+ @if $min != null and $max != null {
91
+ @container (min-width: #{$min}) and (max-width: #{$max}) {
92
+ @content;
93
+ }
94
+ } @else if $max == null {
95
+ @include media-breakpoint-up($name, $breakpoints) {
96
+ @content;
97
+ }
98
+ } @else if $min == null {
99
+ @include media-breakpoint-down($name, $breakpoints) {
100
+ @content;
101
+ }
102
+ }
103
+ }
104
+
105
+ @mixin text-truncate() {
106
+ overflow: hidden;
107
+ text-overflow: ellipsis;
108
+ white-space: nowrap;
109
+ }
110
+
111
+ /* HYPHENS */
112
+ @mixin hyphens($mode) {
113
+ -webkit-hyphens: $mode;
114
+ -ms-hyphens: $mode;
115
+ -moz-hyphens: $mode;
116
+ hyphens: $mode;
117
+ }
118
+
119
+ /* LINE CLAMP */
120
+ @mixin line-clamp($number_lines) {
121
+ display: -webkit-box;
122
+ word-wrap: break-word;
123
+ -webkit-line-clamp: $number_lines;
124
+ -webkit-box-orient: vertical;
125
+ overflow: hidden;
126
+ text-overflow: ellipsis;
127
+ }
@@ -0,0 +1,8 @@
1
+ ---
2
+ description: SASS mixins for responsive and text display.
3
+ ---
4
+
5
+ ### Component usage
6
+ ```scss
7
+ @use '@logora/debate.styles.display' as display;
8
+ ```
@@ -0,0 +1 @@
1
+ @forward './display';
@@ -0,0 +1,55 @@
1
+ @use '../display' as display;
2
+
3
+ // Flex variation
4
+ //
5
+ // Custom styles for additional flex alignment options.
6
+
7
+ @mixin flex-direction($value, $breakpoint) {
8
+ @include display.media-breakpoint-up($breakpoint) {
9
+ flex-direction: $value !important;
10
+ }
11
+ }
12
+
13
+ @mixin flex-wrap($breakpoint) {
14
+ @include display.media-breakpoint-up($breakpoint) {
15
+ flex-wrap: wrap !important;
16
+ }
17
+ }
18
+
19
+ @mixin flex-nowrap ($breakpoint) {
20
+ @include display.media-breakpoint-up($breakpoint) {
21
+ flex-wrap: nowrap !important;
22
+ }
23
+ }
24
+
25
+ @mixin justify-content($value, $breakpoint) {
26
+ @include display.media-breakpoint-up($breakpoint) {
27
+ justify-content: $value !important;
28
+ }
29
+ }
30
+
31
+ @mixin align-items($value, $breakpoint) {
32
+ @include display.media-breakpoint-up($breakpoint) {
33
+ align-items: $value !important;
34
+ }
35
+ }
36
+
37
+ @mixin align-content($value, $breakpoint) {
38
+ @include display.media-breakpoint-up($breakpoint) {
39
+ align-content: $value !important;
40
+ }
41
+ }
42
+
43
+ @mixin align-self($value, $breakpoint) {
44
+ @include display.media-breakpoint-up($breakpoint) {
45
+ align-self: $value !important;
46
+ }
47
+ }
48
+
49
+ // ORDERS
50
+
51
+ @mixin order($value, $breakpoint) {
52
+ @include display.media-breakpoint-up($breakpoint) {
53
+ order: $value;
54
+ }
55
+ }
@@ -0,0 +1,8 @@
1
+ ---
2
+ description: SASS mixins for flex behavior.
3
+ ---
4
+
5
+ ### Component usage
6
+ ```scss
7
+ @use '@logora/debate.styles.flex' as flex;
8
+ ```
@@ -0,0 +1 @@
1
+ @forward './flex';
@@ -0,0 +1,107 @@
1
+ @use "sass:map";
2
+ @use '../display' as display;
3
+
4
+ $spacer: var(--space-unit, 1em) !default;
5
+ $spacer-xxs: var(--spacer-xxs, calc($spacer * .25));
6
+ $spacer-xs: var(--spacer-xs, calc($spacer * .325));
7
+ $spacer-sm: var(--spacer-sm, calc($spacer * .5));
8
+ $spacer-md: var(--spacer-md, calc($spacer * .75));
9
+ $spacer-lg: var(--spacer-lg, calc($spacer * 1.5));
10
+ $spacer-xl: var(--spacer-xl, calc($spacer * 3));
11
+ $spacers: () !default;
12
+ $spacers: map.merge(
13
+ (
14
+ 0: 0,
15
+ 1: $spacer-xxs,
16
+ 1.5: $spacer-xs,
17
+ 2: $spacer-sm,
18
+ 2.5: $spacer-md,
19
+ 3: $spacer,
20
+ 4: $spacer-lg,
21
+ 5: $spacer-xl
22
+ ),
23
+ $spacers
24
+ );
25
+ $box-spacing: var(--box-spacing, $spacer);
26
+
27
+ @mixin m($value, $breakpoint) {
28
+ @include display.media-breakpoint-up($breakpoint) {
29
+ margin: map.get($spacers, $value) !important;
30
+ }
31
+ }
32
+
33
+ @mixin mt($value, $breakpoint) {
34
+ @include display.media-breakpoint-up($breakpoint) {
35
+ margin-top: map.get($spacers, $value) !important;
36
+ }
37
+ }
38
+
39
+ @mixin ml($value, $breakpoint) {
40
+ @include display.media-breakpoint-up($breakpoint) {
41
+ margin-left: map.get($spacers, $value) !important;
42
+ }
43
+ }
44
+
45
+ @mixin mb($value, $breakpoint) {
46
+ @include display.media-breakpoint-up($breakpoint) {
47
+ margin-bottom: map.get($spacers, $value) !important;
48
+ }
49
+ }
50
+
51
+ @mixin mr($value, $breakpoint) {
52
+ @include display.media-breakpoint-up($breakpoint) {
53
+ margin-right: map.get($spacers, $value) !important;
54
+ }
55
+ }
56
+
57
+ @mixin my($value, $breakpoint) {
58
+ @include mt($value, $breakpoint);
59
+ @include mb($value, $breakpoint);
60
+ }
61
+
62
+ @mixin mx($value, $breakpoint) {
63
+ @include mr($value, $breakpoint);
64
+ @include ml($value, $breakpoint);
65
+ }
66
+
67
+ // PADDINGS
68
+
69
+ @mixin p($value, $breakpoint) {
70
+ @include display.media-breakpoint-up($breakpoint) {
71
+ padding: map.get($spacers, $value) !important;
72
+ }
73
+ }
74
+
75
+ @mixin pt($value, $breakpoint) {
76
+ @include display.media-breakpoint-up($breakpoint) {
77
+ padding-top: map.get($spacers, $value) !important;
78
+ }
79
+ }
80
+
81
+ @mixin pl($value, $breakpoint) {
82
+ @include display.media-breakpoint-up($breakpoint) {
83
+ padding-left: map.get($spacers, $value) !important;
84
+ }
85
+ }
86
+
87
+ @mixin pb($value, $breakpoint) {
88
+ @include display.media-breakpoint-up($breakpoint) {
89
+ padding-bottom: map.get($spacers, $value) !important;
90
+ }
91
+ }
92
+
93
+ @mixin pr($value, $breakpoint) {
94
+ @include display.media-breakpoint-up($breakpoint) {
95
+ padding-right: map.get($spacers, $value) !important;
96
+ }
97
+ }
98
+
99
+ @mixin py($value, $breakpoint) {
100
+ @include pt($value, $breakpoint);
101
+ @include pb($value, $breakpoint);
102
+ }
103
+
104
+ @mixin px($value, $breakpoint) {
105
+ @include pr($value, $breakpoint);
106
+ @include pl($value, $breakpoint);
107
+ }
@@ -0,0 +1 @@
1
+ @forward './spacing';
@@ -0,0 +1,8 @@
1
+ ---
2
+ description: SASS mixins for margin and padding.
3
+ ---
4
+
5
+ ### Component usage
6
+ ```scss
7
+ @use '@logora/debate.styles.spacing' as spacing;
8
+ ```
@@ -0,0 +1,159 @@
1
+ @use '../theme' as theme;
2
+ @use '../spacing' as spacing;
3
+ @use '../display' as display;
4
+
5
+ :global(.MuiTab-root:focus) {
6
+ outline: none !important;
7
+ }
8
+
9
+ .navTabs {
10
+ display: flex;
11
+ flex-wrap: nowrap;
12
+ gap: spacing.$spacer-lg;
13
+ white-space: nowrap;
14
+ padding-left: 0;
15
+ margin-bottom: 0;
16
+ border-bottom: 0 !important;
17
+ list-style: none;
18
+
19
+ @include display.media-breakpoint-down(xs) {
20
+ font-size: theme.$font-size-normal;
21
+ gap: spacing.$spacer;
22
+ }
23
+
24
+ &::-webkit-scrollbar {
25
+ display: none;
26
+ }
27
+
28
+ .navItem {
29
+ margin-bottom: -1px;
30
+ }
31
+
32
+ .navLink {
33
+ border: 1px solid transparent;
34
+ border-top-left-radius: theme.$box-border-radius;
35
+ border-top-right-radius: theme.$box-border-radius;
36
+
37
+ &:hover,
38
+ &:focus {
39
+ border-color: theme.$text-tertiary theme.$text-tertiary theme.$darken-text-tertiary;
40
+ }
41
+
42
+ &.disabled {
43
+ color: theme.$darkest-text-tertiary;
44
+ background-color: transparent;
45
+ border-color: transparent;
46
+ }
47
+ }
48
+
49
+ .navLink.active,
50
+ .navItem.show .navLink {
51
+ color: theme.$text-secondary;
52
+ background-color: theme.$background-color-primary;
53
+ border-color: theme.$darken-text-tertiary theme.$darken-text-tertiary theme.$background-color-primary;
54
+ }
55
+ }
56
+
57
+ .navLink {
58
+ display: block;
59
+ padding-bottom: spacing.$spacer-xs;
60
+
61
+ &:hover,
62
+ &:focus {
63
+ text-decoration: none;
64
+ }
65
+
66
+ // Disabled state lightens text
67
+ &.disabled {
68
+ color: theme.$darkest-text-tertiary;
69
+ pointer-events: none;
70
+ cursor: default;
71
+ }
72
+ }
73
+
74
+ .tabContent {
75
+ >.tabPane {
76
+ display: none;
77
+ }
78
+
79
+ >.active {
80
+ display: block;
81
+ }
82
+ }
83
+
84
+ .navTabs .navItem {
85
+ cursor: pointer;
86
+ position: relative;
87
+ }
88
+
89
+ .navLink.active,
90
+ .navLink:focus,
91
+ .navLink.active:hover {
92
+ background: transparent;
93
+ border-width: 0 !important;
94
+ }
95
+
96
+ .navLink {
97
+ border: none !important;
98
+ color: theme.$text-primary;
99
+ outline: 0;
100
+ }
101
+
102
+ .navLink.active,
103
+ .navLink:hover {
104
+ border: none !important;
105
+ color: theme.$text-primary !important;
106
+ background: transparent;
107
+ font-weight: theme.$font-weight-bold;
108
+ }
109
+
110
+ .navLink::after {
111
+ content: "";
112
+ background-color: theme.$text-primary;
113
+ height: 4px;
114
+ position: absolute;
115
+ width: 100%;
116
+ left: 0;
117
+ bottom: -1px;
118
+ transition: all 250ms ease 0s;
119
+ transform: scale(0);
120
+ }
121
+
122
+ .navLink.active::after,
123
+ .navTabs>.navItem:hover>.navLink::after {
124
+ transform: scale(1);
125
+ }
126
+
127
+ .navLink.active:hover {
128
+ background: transparent;
129
+ }
130
+
131
+ .tabPane {
132
+ padding: 10px 0;
133
+ min-height: 50vh;
134
+ }
135
+
136
+ .tabContainer {
137
+ display: flex;
138
+ flex-direction: column;
139
+ gap: spacing.$spacer-lg;
140
+ @include spacing.mt(2.5, xs);
141
+
142
+ @include display.media-breakpoint-down(xs) {
143
+ gap: spacing.$spacer;
144
+ }
145
+ }
146
+
147
+ .tab {
148
+ color: theme.$text-primary !important;
149
+ @include spacing.px(0, xs);
150
+ }
151
+
152
+ .tabSelected {
153
+ color: theme.$text-primary !important;
154
+ font-weight: theme.$font-weight-bold !important;
155
+ }
156
+
157
+ .tabIndicator {
158
+ background: theme.$text-primary !important;
159
+ }
@@ -0,0 +1 @@
1
+ @forward './tabs';
@@ -0,0 +1,8 @@
1
+ ---
2
+ description: SASS classes for tabs.
3
+ ---
4
+
5
+ ### Component usage
6
+ ```scss
7
+ @use '@logora/debate.styles.tabs' as tabs;
8
+ ```
@@ -0,0 +1,51 @@
1
+ $for-primary: var(--for-primary-color, #cc6a6d);
2
+ $against-primary: var(--against-primary-color,#7980bb);
3
+ $third-position-color-primary: var(--third-position-color-primary, #9b9b9b);
4
+ $call-primary: var(--call-primary-color, #434343);
5
+ $info-primary: var(--source-primary, #4485C3);
6
+ $success-primary: var(--success-primary, #4d9e33);
7
+ $cancel-primary: var(--cancel-primary, #c73c49);
8
+ $connected-green: var(--connected-green, #80d764);
9
+ $announcement-primary: var(--announcement-primary, #cce5ff);
10
+ $announcement-text-primary: var(--announcement-text-primary, #004085);
11
+ $background-color-container: var(--background-color-container, white);
12
+ $background-color-container-dark: var(--background-color-container-dark, #000000);
13
+ $background-color-primary: var(--background-color-primary, white);
14
+ $background-color-secondary: var(--background-color-secondary ,#E8E8E8);
15
+ $box-shadow: var(--box-shadow, 0px 2px 5px rgba(7,42,68, 0.1));
16
+ $box-shadow-main-container : var(--box-shadow-main-container, $box-shadow);
17
+ $box-border: var(--box-border, 1px solid rgba(7,42,68, 0.1));
18
+ $box-border-main-container: var(--box-border-main-container, $box-border);
19
+ $box-border-radius: var(--box-border-radius, 6px);
20
+ $button-shadow: var(--button-shadow, $box-shadow);
21
+ $button-border: var(--button-border, $box-border);
22
+ $button-border-radius: var(--button-border-radius, $box-border-radius);
23
+ $text-primary: var(--text-primary, #222222);
24
+ $text-secondary: var(--text-secondary, #5F5F5F);
25
+ $text-tertiary: var(--text-tertiary, #fafafa);
26
+ $text-light: var(--text-light, white);
27
+ $font-weight-normal: var(--font-weight-normal, 400);
28
+ $font-weight-bold: var(--font-weight-bold, 700);
29
+ $darken-text-tertiary: var(--darken-text-tertiary, #F1EFED);
30
+ $darkest-text-tertiary: var(--darkest-text-tertiary, #c7c7c7);
31
+ $font-family: var(--font-family, 'Montserrat');
32
+ $title-font-family: var(--title-font-family, $font-family);
33
+ $box-title-font-family: var(--box-title-font-family, $font-family);
34
+ $font-size-large: var(--font-size-large, 20px);
35
+ $font-size-extra-large: var(--font-size-extra-large, 22px);
36
+ $font-size-medium: var(--font-size-medium, 18px);
37
+ $font-size-normal: var(--font-size-normal, 16px);
38
+ $font-size-small: var(--font-size-small, 16px);
39
+ $font-size-extra-small: var(--font-size-extra-small, 14px);
40
+ $tag-border-color: var(--tag-border-color, $call-primary);
41
+ $tag-text-color: var(--tag-text-color, $call-primary);
42
+ $tag-text-color-active: var(--tag-text-color-active, white);
43
+ $layout-mobile-margin: var(--layout-horizontal-margin, 0);
44
+ $layout-max-width: 1400px;
45
+ $line-height-none: var(--line-height-none, 1em);
46
+ $line-height-tight: var(--line-height-tight, 1.08em);
47
+ $line-height-normal: var(--line-height-normal, 1.26em);
48
+ $line-height-loose: var(--line-height-loose, 1.38em);
49
+ $modal-margin-top: var(--modal-margin-top, 0.5em);
50
+ $modal-margin-bottom: var(--modal-margin-bottom, 0.5em);
51
+ $img-aspect-ratio: var(--img-aspect-ratio, 16/9);
@@ -0,0 +1 @@
1
+ @forward './theme';
@@ -0,0 +1,89 @@
1
+ ---
2
+ description: SASS variable declaration for the theme.
3
+ ---
4
+
5
+ ## Component usage
6
+ ```scss
7
+ @use '@logora/debate.styles.theme' as theme;
8
+ ```
9
+
10
+ ## Description
11
+
12
+
13
+ This SASS file contains all the variables used for defining colors, fonts, borders, shadows, layout, and other styles. Below is a comprehensive list of all variables and their purposes:
14
+
15
+
16
+ ### Colors
17
+
18
+ - **$for-primary**: Primary color for "for" elements (`#cc6a6d`).
19
+ - **$against-primary**: Primary color for "against" elements (`#7980bb`).
20
+ - **$third-position-color-primary**: Primary color for third position (`#9b9b9b`).
21
+ - **$call-primary**: Call to action color (`#434343`).
22
+ - **$info-primary**: Information color (`#4485C3`).
23
+ - **$success-primary**: Success color (`#4d9e33`).
24
+ - **$cancel-primary**: Cancel color (`#c73c49`).
25
+ - **$connected-green**: Connected pin color (`#80d764`).
26
+ - **$announcement-primary**: Announcement background color (`#cce5ff`).
27
+ - **$announcement-text-primary**: Announcement text color (`#004085`).
28
+ - **$background-color-container**: Container background color (`white`).
29
+ - **$background-color-primary**: Main background color (`white`).
30
+ - **$background-color-secondary**: Secondary background color (`#E8E8E8`).
31
+ - **$text-primary**: Main text color (`#222222`).
32
+ - **$text-secondary**: Secondary text color (`#767676`).
33
+ - **$text-tertiary**: Tertiary text color (`#fafafa`).
34
+ - **$text-light**: Light text color (`white`).
35
+ - **$darken-text-tertiary**: Slightly darker tertiary text (`#F1EFED`).
36
+ - **$darkest-text-tertiary**: Darkest tertiary text (`#c7c7c7`).
37
+ - **$tag-border-color**: Tag border color (defaults to `$call-primary`).
38
+ - **$tag-text-color**: Tag text color (defaults to `$call-primary`).
39
+ - **$tag-text-color-active**: Tag text color when active (`white`).
40
+
41
+ ### Fonts
42
+
43
+ - **$font-family**: Main font family (`'Montserrat'`).
44
+ - **$title-font-family**: Font family for titles (defaults to `$font-family`).
45
+ - **$box-title-font-family**: Font family for box titles (defaults to `$font-family`).
46
+ - **$font-size-extra-large**: Extra large font size (`22px`).
47
+ - **$font-size-large**: Large font size (`20px`).
48
+ - **$font-size-medium**: Medium font size (`18px`).
49
+ - **$font-size-normal**: Normal font size (`16px`).
50
+ - **$font-size-small**: Small font size (`16px`).
51
+ - **$font-size-extra-small**: Extra small font size (`14px`).
52
+ - **$font-weight-normal**: Normal font weight (`400`).
53
+ - **$font-weight-bold**: Bold font weight (`700`).
54
+
55
+ ### Borders
56
+
57
+ - **$box-border**: Border style for boxes (`1px solid rgba(7,42,68, 0.1)`).
58
+ - **$box-border-main-container**: Border for main containers (defaults to `$box-border`).
59
+ - **$box-border-radius**: Border radius for boxes (`6px`).
60
+ - **$button-border**: Border style for buttons (`1px solid rgba(7,42,68, 0.1)`).
61
+ - **$button-border-radius**: Border radius for buttons (`6px`).
62
+
63
+ ### Shadows
64
+
65
+ - **$box-shadow**: Box shadow for boxes (`0px 2px 5px rgba(7,42,68, 0.1)`).
66
+ - **$box-shadow-main-container**: Box shadow for main containers (defaults to `$box-shadow`).
67
+ - **$button-shadow**: Box shadow for buttons (`0px 2px 5px rgba(7,42,68, 0.1)`).
68
+
69
+ ### Layout
70
+
71
+ - **$layout-mobile-margin**: Horizontal margin for mobile layout (`0`).
72
+ - **$layout-max-width**: Maximum layout width (`1400px`).
73
+
74
+ ### Modal
75
+
76
+ - **$modal-margin-top**: Top margin for modal (`0.5em`).
77
+ - **$modal-margin-bottom**: Bottom margin for modal (`0.5em`).
78
+
79
+ ### Line Heights
80
+
81
+ - **$line-height-none**: No extra line height (`1em`).
82
+ - **$line-height-tight**: Tight line height (`1.08em`).
83
+ - **$line-height-normal**: Normal line height (`1.26em`).
84
+ - **$line-height-loose**: Loose line height (`1.38em`).
85
+
86
+ ---
87
+
88
+ All variables can be overridden using CSS custom properties (variables) for theming and customization.
89
+