@cityway/basic-ui 1.0.1 → 1.0.2-beta001
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/README.md +1 -2
- package/cityway-basic-ui-1.0.2-beta001.tgz +0 -0
- package/fesm2022/cityway-basic-ui.mjs +849 -194
- package/fesm2022/cityway-basic-ui.mjs.map +1 -1
- package/index.d.ts +574 -42
- package/lib/assets/fonts/nunito/_nunito.scss +10 -10
- package/lib/assets/icons/sprite.ids.txt +467 -0
- package/lib/assets/icons/sprite.preview.html +4966 -0
- package/lib/assets/icons/sprite.svg +1404 -0
- package/lib/assets/styles/scss/_custom-bootstrap.scss +1 -1
- package/lib/assets/styles/scss/bootstrap/_breadcrumb.scss +6 -6
- package/lib/assets/styles/scss/cw-ds/_reboot.scss +3 -11
- package/lib/assets/styles/scss/cw-ds/_root-bo.scss +1 -0
- package/lib/assets/styles/scss/cw-ds/_root-fo.scss +1 -0
- package/lib/assets/styles/scss/cw-ds/components/_accordion.scss +35 -0
- package/lib/assets/styles/scss/cw-ds/components/_alert.scss +10 -10
- package/lib/assets/styles/scss/cw-ds/components/_badge.scss +22 -22
- package/lib/assets/styles/scss/cw-ds/components/_close.scss +5 -0
- package/lib/assets/styles/scss/cw-ds/components/_icon-notification.scss +10 -10
- package/lib/assets/styles/scss/cw-ds/components/_icon.scss +35 -9
- package/lib/assets/styles/scss/cw-ds/components/_modal.scss +161 -0
- package/lib/assets/styles/scss/cw-ds/components/_numerical-range.scss +4 -4
- package/lib/assets/styles/scss/cw-ds/components/button/_button-bo-variant.scss +87 -21
- package/lib/assets/styles/scss/cw-ds/components/button/_button-fo-variant.scss +21 -87
- package/lib/assets/styles/scss/cw-ds/components/button/_button.scss +11 -1
- package/lib/assets/styles/scss/cw-ds/components/tab/_tab-bo.scss +96 -0
- package/lib/assets/styles/scss/cw-ds/components/{_tab.scss → tab/_tab-fo.scss} +6 -4
- package/lib/assets/styles/scss/cw-ds/helpers/_skeleton.scss +67 -0
- package/lib/assets/styles/scss/cw-ds/helpers/_spinner.scss +15 -9
- package/lib/assets/styles/scss/cw-ds/mixins/_type.scss +17 -0
- package/lib/assets/styles/scss/cw-ds/utilities/_breakpoints.scss +30 -0
- package/lib/assets/styles/scss/cw-ds/utilities/_flex.scss +4 -0
- package/lib/assets/styles/scss/cw-ds/utilities/_grid.scss +65 -0
- package/lib/assets/styles/scss/cw-ds/utilities/type/_type-bo.scss +40 -0
- package/lib/assets/styles/scss/cw-ds/utilities/type/_type-fo.scss +1 -0
- package/lib/assets/styles/scss/cw-ds/utilities/type/_type.scss +18 -0
- package/lib/assets/styles/scss/styles-bo.scss +18 -10
- package/lib/assets/styles/scss/styles-fo.scss +18 -10
- package/package.json +3 -4
- package/styles/styles-bo.min.css +5 -0
- package/styles/styles-bo.min.css.map +1 -0
- package/styles/styles-fo.min.css +5 -0
- package/styles/styles-fo.min.css.map +1 -0
- package/cityway-basic-ui-1.0.1.tgz +0 -0
- package/lib/assets/styles/scss/cw-ds/utilities/_type.scss +0 -3
- package/styles-bo.min.css +0 -5
- package/styles-bo.min.css.map +0 -1
- package/styles-fo.min.css +0 -5
- package/styles-fo.min.css.map +0 -1
|
@@ -7,104 +7,38 @@
|
|
|
7
7
|
// ---------------------------------
|
|
8
8
|
$buttons: (
|
|
9
9
|
primary: (
|
|
10
|
-
surface: var(
|
|
11
|
-
text: var(
|
|
12
|
-
border: var(
|
|
13
|
-
surface-hover: var(
|
|
14
|
-
text-hover: var(
|
|
15
|
-
border-hover: var(
|
|
16
|
-
surface-disabled: var(
|
|
17
|
-
text-disabled: var(
|
|
18
|
-
border-disabled: var(
|
|
10
|
+
surface: var(--#{p.$prefix}-primary),
|
|
11
|
+
text: var(--#{p.$prefix}-primary-contrasted),
|
|
12
|
+
border: var(--#{p.$prefix}-primary),
|
|
13
|
+
surface-hover: var(--#{p.$prefix}-primary-hover),
|
|
14
|
+
text-hover: var(--#{p.$prefix}-primary-contrasted),
|
|
15
|
+
border-hover: var(--#{p.$prefix}-primary-hover),
|
|
16
|
+
surface-disabled: var(--#{p.$prefix}-disabled),
|
|
17
|
+
text-disabled: var(--#{p.$prefix}-disabled-contrasted),
|
|
18
|
+
border-disabled: var(--#{p.$prefix}-disabled),
|
|
19
19
|
),
|
|
20
20
|
secondary: (
|
|
21
|
-
surface: var(
|
|
22
|
-
text: var(
|
|
23
|
-
border: var(
|
|
24
|
-
surface-hover: var(
|
|
25
|
-
text-hover: var(
|
|
26
|
-
border-hover: var(
|
|
27
|
-
surface-disabled: var(
|
|
28
|
-
text-disabled: var(
|
|
29
|
-
border-disabled: var(
|
|
21
|
+
surface: var(--#{p.$prefix}-primary-contrasted),
|
|
22
|
+
text: var(--#{p.$prefix}-primary),
|
|
23
|
+
border: var(--#{p.$prefix}-primary),
|
|
24
|
+
surface-hover: var(--#{p.$prefix}-primary-contrasted),
|
|
25
|
+
text-hover: var(--#{p.$prefix}-primary-hover),
|
|
26
|
+
border-hover: var(--#{p.$prefix}-primary-hover),
|
|
27
|
+
surface-disabled: var(--#{p.$prefix}-disabled-contrasted),
|
|
28
|
+
text-disabled: var(--#{p.$prefix}-disabled),
|
|
29
|
+
border-disabled: var(--#{p.$prefix}-disabled),
|
|
30
30
|
),
|
|
31
31
|
link: (
|
|
32
32
|
surface: transparent,
|
|
33
|
-
text: var(
|
|
33
|
+
text: var(--#{p.$prefix}-primary),
|
|
34
34
|
border: transparent,
|
|
35
35
|
surface-hover: transparent,
|
|
36
|
-
text-hover: var(
|
|
36
|
+
text-hover: var(--#{p.$prefix}-primary-hover),
|
|
37
37
|
border-hover: transparent,
|
|
38
38
|
surface-disabled: transparent,
|
|
39
|
-
text-disabled: var(
|
|
39
|
+
text-disabled: var(--#{p.$prefix}-disabled),
|
|
40
40
|
border-disabled: transparent,
|
|
41
41
|
),
|
|
42
|
-
info: (
|
|
43
|
-
surface: var(--cw-info),
|
|
44
|
-
text: var(--cw-info-contrasted),
|
|
45
|
-
border: var(--cw-info),
|
|
46
|
-
surface-hover: var(--cw-info-hover),
|
|
47
|
-
text-hover: var(--cw-info-contrasted),
|
|
48
|
-
border-hover: var(--cw-info-hover),
|
|
49
|
-
surface-disabled: var(--cw-disabled),
|
|
50
|
-
text-disabled: var(--cw-disabled-contrasted),
|
|
51
|
-
border-disabled: var(--cw-disabled),
|
|
52
|
-
),
|
|
53
|
-
success: (
|
|
54
|
-
surface: var(--cw-success),
|
|
55
|
-
text: var(--cw-success-contrasted),
|
|
56
|
-
border: var(--cw-success),
|
|
57
|
-
surface-hover: var(--cw-success-hover),
|
|
58
|
-
text-hover: var(--cw-success-contrasted),
|
|
59
|
-
border-hover: var(--cw-success-hover),
|
|
60
|
-
surface-disabled: var(--cw-disabled),
|
|
61
|
-
text-disabled: var(--cw-disabled-contrasted),
|
|
62
|
-
border-disabled: var(--cw-disabled),
|
|
63
|
-
),
|
|
64
|
-
warning: (
|
|
65
|
-
surface: var(--cw-warning),
|
|
66
|
-
text: var(--cw-warning-contrasted),
|
|
67
|
-
border: var(--cw-warning),
|
|
68
|
-
surface-hover: var(--cw-warning-hover),
|
|
69
|
-
text-hover: var(--cw-warning-contrasted),
|
|
70
|
-
border-hover: var(--cw-warning-hover),
|
|
71
|
-
surface-disabled: var(--cw-disabled),
|
|
72
|
-
text-disabled: var(--cw-disabled-contrasted),
|
|
73
|
-
border-disabled: var(--cw-disabled),
|
|
74
|
-
),
|
|
75
|
-
danger: (
|
|
76
|
-
surface: var(--cw-danger),
|
|
77
|
-
text: var(--cw-danger-contrasted),
|
|
78
|
-
border: var(--cw-danger),
|
|
79
|
-
surface-hover: var(--cw-danger-hover),
|
|
80
|
-
text-hover: var(--cw-danger-contrasted),
|
|
81
|
-
border-hover: var(--cw-danger-hover),
|
|
82
|
-
surface-disabled: var(--cw-disabled),
|
|
83
|
-
text-disabled: var(--cw-disabled-contrasted),
|
|
84
|
-
border-disabled: var(--cw-disabled),
|
|
85
|
-
),
|
|
86
|
-
danger-outline: (
|
|
87
|
-
surface: var(--cw-danger-contrasted),
|
|
88
|
-
text: var(--cw-danger),
|
|
89
|
-
border: var(--cw-danger),
|
|
90
|
-
surface-hover: var(--cw-danger-contrasted),
|
|
91
|
-
text-hover: var(--cw-danger-hover),
|
|
92
|
-
border-hover: var(--cw-danger-hover),
|
|
93
|
-
surface-disabled: var(--cw-disabled-contrasted),
|
|
94
|
-
text-disabled: var(--cw-disabled),
|
|
95
|
-
border-disabled: var(--cw-disabled),
|
|
96
|
-
),
|
|
97
|
-
light: (
|
|
98
|
-
surface: var(--cw-light),
|
|
99
|
-
text: var(--cw-light-contrasted),
|
|
100
|
-
border: var(--cw-light),
|
|
101
|
-
surface-hover: var(--cw-light-hover),
|
|
102
|
-
text-hover: var(--cw-light-contrasted),
|
|
103
|
-
border-hover: var(--cw-light-hover),
|
|
104
|
-
surface-disabled: var(--cw-disabled),
|
|
105
|
-
text-disabled: var(--cw-disabled-contrasted),
|
|
106
|
-
border-disabled: var(--cw-disabled),
|
|
107
|
-
),
|
|
108
42
|
);
|
|
109
43
|
|
|
110
44
|
// Générer toutes les variantes
|
|
@@ -5,17 +5,23 @@
|
|
|
5
5
|
.btn {
|
|
6
6
|
--#{p.$prefix}-btn-padding-x: #{size(2xl)};
|
|
7
7
|
--#{p.$prefix}-btn-padding-y: #{size(sm)};
|
|
8
|
-
--#{p.$prefix}-btn-
|
|
8
|
+
--#{p.$prefix}-btn-min-width: 17rem;
|
|
9
|
+
|
|
9
10
|
--#{p.$prefix}-btn-bg: #{color(base, "white")};
|
|
11
|
+
--#{p.$prefix}-btn-color: #{color(base, "dark")};
|
|
12
|
+
|
|
10
13
|
--#{p.$prefix}-btn-fs: #{font(fs, md)};
|
|
11
14
|
--#{p.$prefix}-btn-lh: #{font(lh, md)};
|
|
12
15
|
--#{p.$prefix}-btn-fw: #{font(fw, semibold)};
|
|
16
|
+
|
|
13
17
|
--#{p.$prefix}-btn-border-color: #{color(base, "white")};
|
|
14
18
|
--#{p.$prefix}-btn-border-width: #{size(5xs)};
|
|
15
19
|
--#{p.$prefix}-btn-br: var(--#{p.$prefix}-border-radius-input);
|
|
20
|
+
|
|
16
21
|
--#{p.$prefix}-btn-hover-color: #{color(base, "dark")};
|
|
17
22
|
--#{p.$prefix}-btn-hover-bg: #{color(base, "white")};
|
|
18
23
|
--#{p.$prefix}-btn-hover-border-color: #{color(base, "white")};
|
|
24
|
+
|
|
19
25
|
--#{p.$prefix}-btn-disabled-color: #{color(base, "white")};
|
|
20
26
|
--#{p.$prefix}-btn-disabled-bg: #{color("grey", 700)};
|
|
21
27
|
--#{p.$prefix}-btn-disabled-border-color: #{color("grey", 700)};
|
|
@@ -50,6 +56,10 @@
|
|
|
50
56
|
border-color: var(--#{p.$prefix}-btn-disabled-bg);
|
|
51
57
|
}
|
|
52
58
|
|
|
59
|
+
&.btn-min-width {
|
|
60
|
+
min-width: var(--#{p.$prefix}-btn-min-width);
|
|
61
|
+
}
|
|
62
|
+
|
|
53
63
|
&-link {
|
|
54
64
|
text-decoration: underline;
|
|
55
65
|
&:hover, &:active {
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
@use "sass:map";
|
|
2
|
+
@use "@cityway/design-tokens/primitives" as p;
|
|
3
|
+
@use "@cityway/design-tokens/functions" as *;
|
|
4
|
+
|
|
5
|
+
.tab {
|
|
6
|
+
--#{p.$prefix}-tab-padding: #{size(sm)} #{size(lg)};
|
|
7
|
+
--#{p.$prefix}-tab-bg: var(--#{p.$prefix}-base-white);
|
|
8
|
+
--#{p.$prefix}-tab-fs: #{font(fs, sm)};
|
|
9
|
+
|
|
10
|
+
h2,.h2 {
|
|
11
|
+
margin: 0;
|
|
12
|
+
padding: var(--#{p.$prefix}-tab-padding);
|
|
13
|
+
border-bottom: 1px solid #{color('grey', 200)};
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.tab-items {
|
|
17
|
+
list-style: none;
|
|
18
|
+
margin: 0;
|
|
19
|
+
padding: #{size(2xs)} 0;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.tab-link {
|
|
23
|
+
padding: var(--#{p.$prefix}-tab-padding);
|
|
24
|
+
color: var(--#{p.$prefix}-primary);
|
|
25
|
+
font-size: var(--#{p.$prefix}-tab-fs);
|
|
26
|
+
font-weight: font(fw, semibold);
|
|
27
|
+
text-decoration: none;
|
|
28
|
+
border: 0;
|
|
29
|
+
|
|
30
|
+
&:hover,
|
|
31
|
+
&:active {
|
|
32
|
+
color: var(--#{p.$prefix}-primary-hover);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&.active {
|
|
36
|
+
color: var(--#{p.$prefix}-body-color);
|
|
37
|
+
|
|
38
|
+
&:hover,
|
|
39
|
+
&:active {
|
|
40
|
+
color: inherit;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.tab-card {
|
|
47
|
+
@extend .tab;
|
|
48
|
+
|
|
49
|
+
--#{p.$prefix}-tab-br: #{border(br, xs)};
|
|
50
|
+
--#{p.$prefix}-tab-bs: #{border(bs, md)};
|
|
51
|
+
|
|
52
|
+
margin-bottom: size(lg);
|
|
53
|
+
border-radius: var(--#{p.$prefix}-tab-br);
|
|
54
|
+
box-shadow: var(--#{p.$prefix}-tab-bs);
|
|
55
|
+
background-color: var(--#{p.$prefix}-tab-bg);
|
|
56
|
+
|
|
57
|
+
.tab-items {
|
|
58
|
+
gap: size(md);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.tab-basic {
|
|
63
|
+
@extend .tab;
|
|
64
|
+
|
|
65
|
+
--#{p.$prefix}-tab-br: #{border(br, xs)} #{border(br, xs)} 0 0;
|
|
66
|
+
--#{p.$prefix}-tab-bs: 0 #{size(md)} 0 #fff,
|
|
67
|
+
#{border(bs, md)};
|
|
68
|
+
|
|
69
|
+
.tab-items {
|
|
70
|
+
gap: size(lg);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.tab-link {
|
|
74
|
+
border-radius: 0;
|
|
75
|
+
|
|
76
|
+
&.active {
|
|
77
|
+
border-radius: var(--#{p.$prefix}-tab-br);
|
|
78
|
+
box-shadow: var(--#{p.$prefix}-tab-bs);
|
|
79
|
+
background-color: var(--#{p.$prefix}-tab-bg);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.tab-content-basic {
|
|
85
|
+
--#{p.$prefix}-tab-content-bg: var(--#{p.$prefix}-base-white);
|
|
86
|
+
--#{p.$prefix}-tab-content-br: #{border(br, md)};
|
|
87
|
+
--#{p.$prefix}-tab-content-bs: #{border(bs, md)};
|
|
88
|
+
--#{p.$prefix}-tab-content-padding-y: #{size(md)};
|
|
89
|
+
--#{p.$prefix}-tab-content-padding-x: #{size(md)};
|
|
90
|
+
|
|
91
|
+
padding: var(--#{p.$prefix}-tab-content-padding-y) var(--#{p.$prefix}-tab-content-padding-x);
|
|
92
|
+
|
|
93
|
+
border-radius: var(--#{p.$prefix}-tab-content-br);
|
|
94
|
+
box-shadow: var(--#{p.$prefix}-tab-content-bs);
|
|
95
|
+
background-color: var(--#{p.$prefix}-tab-content-bg);
|
|
96
|
+
}
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
.tab {
|
|
7
7
|
--#{p.$prefix}-tab-fs: #{font(fs, md)};
|
|
8
8
|
|
|
9
|
+
margin-bottom: size(xl);
|
|
10
|
+
|
|
9
11
|
&-default-xl {
|
|
10
12
|
--#{p.$prefix}-tab-fs: #{font(fs, xl)};
|
|
11
13
|
}
|
|
@@ -25,7 +27,7 @@
|
|
|
25
27
|
width: 100%;
|
|
26
28
|
height: size(3xs);
|
|
27
29
|
border-radius: 100rem;
|
|
28
|
-
background-color: var(
|
|
30
|
+
background-color: var(--#{p.$prefix}-base-white);
|
|
29
31
|
}
|
|
30
32
|
}
|
|
31
33
|
|
|
@@ -50,12 +52,12 @@
|
|
|
50
52
|
&.active,
|
|
51
53
|
&:active,
|
|
52
54
|
&:hover {
|
|
53
|
-
background-color: var(
|
|
55
|
+
background-color: var(--#{p.$prefix}-base-white);
|
|
54
56
|
}
|
|
55
57
|
|
|
56
58
|
&:active,
|
|
57
59
|
&:hover {
|
|
58
|
-
color: var(
|
|
60
|
+
color: var(--#{p.$prefix}-primary);
|
|
59
61
|
}
|
|
60
62
|
|
|
61
63
|
&.active {
|
|
@@ -74,7 +76,7 @@
|
|
|
74
76
|
width: 100%;
|
|
75
77
|
height: size(3xs);
|
|
76
78
|
border-radius: border(br, round);
|
|
77
|
-
background-color: var(
|
|
79
|
+
background-color: var(--#{p.$prefix}-primary);
|
|
78
80
|
}
|
|
79
81
|
}
|
|
80
82
|
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
@use "sass:map";
|
|
2
|
+
@use "@cityway/design-tokens/primitives" as p;
|
|
3
|
+
@use "@cityway/design-tokens/functions" as *;
|
|
4
|
+
|
|
5
|
+
@keyframes sk-shimmer {
|
|
6
|
+
100% {
|
|
7
|
+
transform: translateX(100%);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.skeleton {
|
|
12
|
+
display: block;
|
|
13
|
+
position: relative;
|
|
14
|
+
overflow: hidden;
|
|
15
|
+
max-width: 50%;
|
|
16
|
+
min-height: 16px;
|
|
17
|
+
|
|
18
|
+
background-color: #e8e8e8 !important;
|
|
19
|
+
|
|
20
|
+
/* Masquer le contenu sans casser le layout */
|
|
21
|
+
color: transparent !important;
|
|
22
|
+
-webkit-text-fill-color: transparent !important;
|
|
23
|
+
pointer-events: none;
|
|
24
|
+
user-select: none;
|
|
25
|
+
|
|
26
|
+
/* Cacher les enfants (textes, icônes…) */
|
|
27
|
+
* {
|
|
28
|
+
visibility: hidden !important;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/* Cacher les images sans les retirer du flux */
|
|
32
|
+
img,
|
|
33
|
+
picture,
|
|
34
|
+
svg {
|
|
35
|
+
opacity: 0 !important;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
&::after {
|
|
39
|
+
content: "";
|
|
40
|
+
position: absolute;
|
|
41
|
+
inset: 0;
|
|
42
|
+
|
|
43
|
+
background: linear-gradient(90deg,
|
|
44
|
+
transparent,
|
|
45
|
+
rgba(255, 255, 255, 0.6),
|
|
46
|
+
transparent);
|
|
47
|
+
|
|
48
|
+
transform: translateX(-100%);
|
|
49
|
+
animation: sk-shimmer 1.4s infinite;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
&.btn,
|
|
53
|
+
&.badge {
|
|
54
|
+
display: inline-flex;
|
|
55
|
+
max-width: 100%;
|
|
56
|
+
min-width: 5rem;
|
|
57
|
+
padding: 0;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
&.btn {
|
|
61
|
+
min-width: 7rem;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
&.form-control {
|
|
65
|
+
border: 0;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
@use "@cityway/design-tokens/functions" as *;
|
|
4
4
|
|
|
5
5
|
.spinner-border {
|
|
6
|
-
--#{p.$prefix}spinner-width: #{size(3xl)};
|
|
7
|
-
--#{p.$prefix}spinner-height: #{size(3xl)};
|
|
8
|
-
--#{p.$prefix}spinner-border-width: #{size(4xs)};
|
|
6
|
+
--#{p.$prefix}-spinner-width: #{size(3xl)};
|
|
7
|
+
--#{p.$prefix}-spinner-height: #{size(3xl)};
|
|
8
|
+
--#{p.$prefix}-spinner-border-width: #{size(4xs)};
|
|
9
9
|
|
|
10
10
|
display: inline-block;
|
|
11
11
|
flex-shrink: 0;
|
|
12
|
-
width: var(--#{p.$prefix}spinner-width);
|
|
13
|
-
height: var(--#{p.$prefix}spinner-height);
|
|
12
|
+
width: var(--#{p.$prefix}-spinner-width);
|
|
13
|
+
height: var(--#{p.$prefix}-spinner-height);
|
|
14
14
|
vertical-align: -0.125em;
|
|
15
15
|
|
|
16
|
-
border: var(--#{p.$prefix}spinner-border-width) solid
|
|
16
|
+
border: var(--#{p.$prefix}-spinner-border-width) solid var(--#{p.$prefix}-primary);
|
|
17
17
|
border-right-color: transparent;
|
|
18
18
|
border-radius: 50%;
|
|
19
19
|
animation: 0.75s linear infinite spinner-border;
|
|
@@ -24,7 +24,13 @@
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
.spinner-border-sm {
|
|
27
|
-
--#{p.$prefix}spinner-width: #{size(lg)};
|
|
28
|
-
--#{p.$prefix}spinner-height: #{size(lg)};
|
|
29
|
-
--#{p.$prefix}spinner-border-width: 0.188rem;
|
|
27
|
+
--#{p.$prefix}-spinner-width: #{size(lg)};
|
|
28
|
+
--#{p.$prefix}-spinner-height: #{size(lg)};
|
|
29
|
+
--#{p.$prefix}-spinner-border-width: 0.188rem;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.spinner-border-lg {
|
|
33
|
+
--#{p.$prefix}-spinner-width: #{size(7xl)};
|
|
34
|
+
--#{p.$prefix}-spinner-height: #{size(7xl)};
|
|
35
|
+
--#{p.$prefix}-spinner-border-width: 0.5rem;
|
|
30
36
|
}
|
|
@@ -24,4 +24,21 @@
|
|
|
24
24
|
font-weight: font(fw, $key);
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
+
|
|
28
|
+
// Font color (text)
|
|
29
|
+
$text-colors: (
|
|
30
|
+
info: info,
|
|
31
|
+
success: success,
|
|
32
|
+
warning: warning,
|
|
33
|
+
danger: danger,
|
|
34
|
+
primary: primary,
|
|
35
|
+
secondary: secondary,
|
|
36
|
+
light: disabled
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
@each $key, $value in $text-colors {
|
|
40
|
+
.text-#{$key} {
|
|
41
|
+
color: var(--#{p.$prefix}-#{$value});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
27
44
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
|
|
2
|
+
@use "sass:map";
|
|
3
|
+
@use "@cityway/design-tokens/primitives" as p;
|
|
4
|
+
|
|
5
|
+
@mixin media-breakpoint-up($name) {
|
|
6
|
+
$min: map.get(p.$grid, "breakpoints", $name);
|
|
7
|
+
|
|
8
|
+
@if $min and $min != 0 {
|
|
9
|
+
@media (min-width: $min) {
|
|
10
|
+
@content;
|
|
11
|
+
}
|
|
12
|
+
} @else if $min == 0 {
|
|
13
|
+
// Pour 'xs', on n'enveloppe pas dans une media query (Mobile First)
|
|
14
|
+
@content;
|
|
15
|
+
} @else {
|
|
16
|
+
@warn "Le breakpoint '#{$name}' n'existe pas dans p.$grid.";
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@mixin media-breakpoint-down($name) {
|
|
21
|
+
$breakpoint-value: map.get(p.$grid, "breakpoints", $name);
|
|
22
|
+
@if $breakpoint-value and $breakpoint-value != 0 {
|
|
23
|
+
// On retire 0.02px pour éviter les conflits de précision sur les écrans Retina
|
|
24
|
+
@media (max-width: ($breakpoint-value - 0.02px)) {
|
|
25
|
+
@content;
|
|
26
|
+
}
|
|
27
|
+
} @else {
|
|
28
|
+
@warn "Le breakpoint '#{$name}' n'est pas valide pour un down (ou est à 0).";
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
@use "sass:map";
|
|
2
|
+
@use "@cityway/design-tokens/primitives" as p;
|
|
3
|
+
|
|
4
|
+
// --- Mixins de Breakpoints ---
|
|
5
|
+
@mixin media-breakpoint-up($name) {
|
|
6
|
+
$min: map.get(p.$grid, "breakpoints", $name);
|
|
7
|
+
@if $min and $min != 0 {
|
|
8
|
+
@media (min-width: $min) { @content; }
|
|
9
|
+
} @else {
|
|
10
|
+
@content;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// --- Container ---
|
|
15
|
+
.container, .container-fluid {
|
|
16
|
+
width: 100%;
|
|
17
|
+
margin-right: auto;
|
|
18
|
+
margin-left: auto;
|
|
19
|
+
// Utilise la gutter de ta map colonnes
|
|
20
|
+
padding-right: var(--#{p.$prefix}-columns-gutter);
|
|
21
|
+
padding-left: var(--#{p.$prefix}-columns-gutter);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.container {
|
|
25
|
+
width: 100%;
|
|
26
|
+
margin-inline: auto;
|
|
27
|
+
padding-inline: var(--#{p.$prefix}-columns-gutter);
|
|
28
|
+
|
|
29
|
+
@each $bp, $value in map.get(p.$grid, "breakpoints") {
|
|
30
|
+
@if $value > 0 {
|
|
31
|
+
@include media-breakpoint-up($bp) {
|
|
32
|
+
max-width: calc(#{$value} - (var(--#{p.$prefix}-columns-gutter) * 2));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// --- Row & Columns (Grid) ---
|
|
39
|
+
.row {
|
|
40
|
+
display: grid;
|
|
41
|
+
grid-template-columns: repeat(var(--#{p.$prefix}-columns-number), 1fr);
|
|
42
|
+
gap: var(--#{p.$prefix}-columns-gutter);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
[class^="col-"] {
|
|
46
|
+
grid-column: span var(--#{p.$prefix}-columns-number);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// --- Générateur de colonnes et offsets ---
|
|
50
|
+
@each $name, $width in map.get(p.$grid, "breakpoints") {
|
|
51
|
+
@include media-breakpoint-up($name) {
|
|
52
|
+
@for $i from 1 through map.get(p.$grid, "columns", "number") {
|
|
53
|
+
.col-#{$name}-#{$i} {
|
|
54
|
+
grid-column: span #{$i};
|
|
55
|
+
}
|
|
56
|
+
.offset-#{$name}-#{$i} {
|
|
57
|
+
grid-column-start: #{$i + 1};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// Reset offset
|
|
61
|
+
.offset-#{$name}-0 {
|
|
62
|
+
grid-column-start: auto;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
@use "@cityway/design-tokens/primitives" as p;
|
|
2
|
+
@use "@cityway/design-tokens/functions" as *;
|
|
3
|
+
@use "type" as mixin;
|
|
4
|
+
|
|
5
|
+
// Variables
|
|
6
|
+
// ---------------------------------
|
|
7
|
+
$heading: (
|
|
8
|
+
h1: (
|
|
9
|
+
ff: var(--#{p.$prefix}-body-ff-heading),
|
|
10
|
+
fw: font(fw, normal),
|
|
11
|
+
fs: font(fs, xl),
|
|
12
|
+
lh: font(lh, xl),
|
|
13
|
+
color: var(--#{p.$prefix}-body-color)
|
|
14
|
+
),
|
|
15
|
+
h2: (
|
|
16
|
+
ff: var(--#{p.$prefix}-body-ff-heading),
|
|
17
|
+
fw: font(fw, normal),
|
|
18
|
+
fs: font(fs, xl),
|
|
19
|
+
lh: font(lh, xl),
|
|
20
|
+
color: var(--#{p.$prefix}-body-color)
|
|
21
|
+
),
|
|
22
|
+
h3: (
|
|
23
|
+
ff: var(--#{p.$prefix}-body-ff-heading),
|
|
24
|
+
fw: font(fw, normal),
|
|
25
|
+
fs: font(fs, lg),
|
|
26
|
+
lh: font(lh, lg),
|
|
27
|
+
color: var(--#{p.$prefix}-base-disabled)
|
|
28
|
+
),
|
|
29
|
+
h4: (
|
|
30
|
+
ff: var(--#{p.$prefix}-body-ff-heading),
|
|
31
|
+
fw: font(fw, bold),
|
|
32
|
+
fs: font(fs, md),
|
|
33
|
+
lh: font(lh, md),
|
|
34
|
+
color: var(--#{p.$prefix}-body-color)
|
|
35
|
+
)
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
// Générer toutes les variantes
|
|
39
|
+
// ---------------------------------
|
|
40
|
+
@include mixin.heading-variants($heading);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
@use "sass:map";
|
|
2
|
+
@use "../../mixins/type" as *;
|
|
3
|
+
|
|
4
|
+
@include generate-type-utilities();
|
|
5
|
+
|
|
6
|
+
// MIXIN - Variantes
|
|
7
|
+
// ---------------------------------
|
|
8
|
+
@mixin heading-variants($variants) {
|
|
9
|
+
@each $tag, $props in $variants {
|
|
10
|
+
#{$tag}, .#{$tag} {
|
|
11
|
+
font-family: #{map.get($props, ff)};
|
|
12
|
+
font-weight: #{map.get($props, fw)};
|
|
13
|
+
font-size: #{map.get($props, fs)};
|
|
14
|
+
line-height: #{map.get($props, lh)};
|
|
15
|
+
color: #{map.get($props, color)};
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
@use "cw-ds/reboot";
|
|
2
2
|
@use "cw-ds/root-bo";
|
|
3
3
|
|
|
4
|
-
// Utilities
|
|
5
|
-
@use "cw-ds/utilities/flex";
|
|
6
|
-
@use "cw-ds/utilities/spacing";
|
|
7
|
-
@use "cw-ds/utilities/type";
|
|
8
|
-
@use "cw-ds/utilities/alignment";
|
|
9
|
-
|
|
10
4
|
// Helpers
|
|
11
5
|
@use "cw-ds/helpers/visually-hidden";
|
|
12
6
|
@use "cw-ds/helpers/stretched-link";
|
|
13
7
|
@use "cw-ds/helpers/spinner";
|
|
14
8
|
|
|
15
9
|
// Components
|
|
10
|
+
@use "cw-ds/components/accordion";
|
|
16
11
|
@use "cw-ds/components/button/button";
|
|
17
12
|
@use "cw-ds/components/button/button-bo-variant";
|
|
18
13
|
@use "cw-ds/components/badge";
|
|
@@ -23,10 +18,23 @@
|
|
|
23
18
|
@use "cw-ds/components/close";
|
|
24
19
|
@use "cw-ds/components/btn-collapse";
|
|
25
20
|
@use "cw-ds/components/card";
|
|
26
|
-
@use "cw-ds/components/tab";
|
|
21
|
+
@use "cw-ds/components/tab/tab-bo";
|
|
27
22
|
@use "cw-ds/components/stepper";
|
|
28
23
|
@use "cw-ds/components/file-to-download";
|
|
29
24
|
@use "cw-ds/components/numerical-range";
|
|
25
|
+
@use "cw-ds/components/modal";
|
|
26
|
+
|
|
27
|
+
// Utilities
|
|
28
|
+
@use "cw-ds/utilities/breakpoints";
|
|
29
|
+
@use "cw-ds/utilities/grid";
|
|
30
|
+
@use "cw-ds/utilities/flex";
|
|
31
|
+
@use "cw-ds/utilities/spacing";
|
|
32
|
+
@use "cw-ds/utilities/type/type";
|
|
33
|
+
@use "cw-ds/utilities/type/type-bo";
|
|
34
|
+
@use "cw-ds/utilities/alignment";
|
|
35
|
+
|
|
36
|
+
// En surcharge
|
|
37
|
+
@use "cw-ds/helpers/skeleton";
|
|
30
38
|
|
|
31
39
|
|
|
32
40
|
//## Import des variables de couleurs
|
|
@@ -75,7 +83,7 @@
|
|
|
75
83
|
@import "bootstrap/scss/list-group";
|
|
76
84
|
//@import "bootstrap/scss/close";
|
|
77
85
|
//@import "bootstrap/scss/toasts";
|
|
78
|
-
|
|
86
|
+
//@import "bootstrap/scss/modal";
|
|
79
87
|
@import "bootstrap/scss/tooltip";
|
|
80
88
|
@import "bootstrap/scss/popover";
|
|
81
89
|
//@import "bootstrap/scss/carousel";
|
|
@@ -100,8 +108,8 @@
|
|
|
100
108
|
//## Import des fonts
|
|
101
109
|
//--------------------------------------------------------
|
|
102
110
|
@import "../../fonts/nunito/nunito";
|
|
103
|
-
@import "../../fonts/optyweb/optyweb";
|
|
104
|
-
@import "../../fonts/bo/bo";
|
|
111
|
+
// @import "../../fonts/optyweb/optyweb";
|
|
112
|
+
// @import "../../fonts/bo/bo";
|
|
105
113
|
|
|
106
114
|
|
|
107
115
|
//## Import styles
|