ode-bootstrap 1.1.4-dev.202306051725 → 1.1.4-feat-produit.202306051650

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 (144) hide show
  1. package/README.md +63 -44
  2. package/assets/fonts/fa/fa-brands-400.eot +0 -0
  3. package/assets/fonts/fa/fa-brands-400.svg +3717 -0
  4. package/assets/fonts/fa/fa-brands-400.ttf +0 -0
  5. package/assets/fonts/fa/fa-brands-400.woff +0 -0
  6. package/assets/fonts/fa/fa-brands-400.woff2 +0 -0
  7. package/assets/fonts/fa/fa-regular-400.eot +0 -0
  8. package/assets/fonts/fa/fa-regular-400.svg +801 -0
  9. package/assets/fonts/fa/fa-regular-400.ttf +0 -0
  10. package/assets/fonts/fa/fa-regular-400.woff +0 -0
  11. package/assets/fonts/fa/fa-regular-400.woff2 +0 -0
  12. package/assets/fonts/fa/fa-solid-900.eot +0 -0
  13. package/assets/fonts/fa/fa-solid-900.svg +5034 -0
  14. package/assets/fonts/fa/fa-solid-900.ttf +0 -0
  15. package/assets/fonts/fa/fa-solid-900.woff +0 -0
  16. package/assets/fonts/fa/fa-solid-900.woff2 +0 -0
  17. package/assets/js/theme.js +3 -3
  18. package/dist/version.txt +1 -1
  19. package/package.json +25 -25
  20. package/scss/_bootstrap.scss +41 -0
  21. package/scss/_custom-utilities.scss +10 -0
  22. package/scss/atoms/_.scss +4 -0
  23. package/scss/atoms/_display.scss +17 -0
  24. package/scss/atoms/_fonts.scss +20 -0
  25. package/scss/atoms/_icons.scss +90 -0
  26. package/scss/atoms/_typography.scss +27 -0
  27. package/scss/components/_.scss +10 -26
  28. package/scss/components/_alerts.scss +30 -0
  29. package/scss/components/_avatar.scss +51 -122
  30. package/scss/components/_buttons.scss +60 -203
  31. package/scss/components/_container-advanced.scss +109 -109
  32. package/scss/components/_dragndrop.scss +16 -19
  33. package/scss/components/_dropdowns.scss +6 -0
  34. package/scss/components/_emptyscreen.scss +47 -11
  35. package/scss/components/_explorer.scss +31 -29
  36. package/scss/components/_feed.scss +166 -166
  37. package/scss/components/_filters.scss +58 -58
  38. package/scss/components/_forms.scss +36 -0
  39. package/scss/components/_media-library.scss +18 -18
  40. package/scss/components/_modal.scss +19 -111
  41. package/scss/components/_popover.scss +101 -61
  42. package/scss/components/_sticky-toolbox.scss +140 -130
  43. package/scss/components/_table-lists.scss +122 -119
  44. package/scss/components/_tables.scss +1 -1
  45. package/scss/components/_toast.scss +36 -39
  46. package/scss/components/_tree-structure.scss +143 -0
  47. package/scss/components/widget/_applications.scss +44 -44
  48. package/scss/components/widget/_base.scss +105 -105
  49. package/scss/components/widget/_bookmarks.scss +16 -14
  50. package/scss/components/widget/_calendar.scss +49 -49
  51. package/scss/components/widget/_dashboard.scss +89 -88
  52. package/scss/components/widget/_featured-news.scss +57 -56
  53. package/scss/components/widget/_flash.scss +81 -84
  54. package/scss/components/widget/_news.scss +26 -26
  55. package/scss/components/widget/_recently-viewed.scss +48 -48
  56. package/scss/components/widget/_record.scss +51 -47
  57. package/scss/components/widget/_rss.scss +24 -24
  58. package/scss/components/widget/_school.scss +78 -84
  59. package/scss/index.scss +12 -3
  60. package/scss/mixins/_.scss +4 -4
  61. package/scss/mixins/_align.scss +3 -3
  62. package/scss/mixins/_avatar.scss +5 -5
  63. package/scss/mixins/_icon.scss +52 -52
  64. package/scss/mixins/_layer.scss +26 -23
  65. package/scss/mixins/_shape.scss +7 -5
  66. package/scss/mixins/_text-truncate.scss +2 -2
  67. package/scss/mixins/_transition.scss +34 -37
  68. package/scss/variables/_.scss +2 -6
  69. package/scss/variables/_colors.scss +41 -143
  70. package/scss/variables/_icons.scss +48 -52
  71. package/scss/variables/_variables-bootstrap.scss +107 -0
  72. package/scss/variables/_variables-ode.scss +12 -0
  73. package/assets/fonts/fa/fa-v4compatibility.ttf +0 -0
  74. package/assets/fonts/fa/fa-v4compatibility.woff2 +0 -0
  75. package/assets/icons/apps.svg +0 -468
  76. package/assets/images/emptyscreen/illu-blog.svg +0 -1
  77. package/assets/images/emptyscreen/illu-collaborativeeditor.svg +0 -1
  78. package/assets/images/emptyscreen/illu-collaborativewall.svg +0 -1
  79. package/assets/images/emptyscreen/illu-exercizer.svg +0 -1
  80. package/assets/images/emptyscreen/illu-mindmap.svg +0 -1
  81. package/assets/images/emptyscreen/illu-noContentInFolder.svg +0 -31
  82. package/assets/images/emptyscreen/illu-scrapbook.svg +0 -1
  83. package/assets/images/emptyscreen/illu-search.svg +0 -1
  84. package/assets/images/emptyscreen/illu-timelinegenerator.svg +0 -1
  85. package/assets/images/emptyscreen/illu-trash.svg +0 -1
  86. package/assets/images/image-library.png +0 -0
  87. package/assets/images/no-avatar.svg +0 -14
  88. package/assets/images/onboarding/corbeille-delete.svg +0 -22
  89. package/assets/images/onboarding/corbeille-menu.svg +0 -43
  90. package/assets/images/onboarding/corbeille-notif.svg +0 -12
  91. package/assets/images/screen-loading.gif +0 -0
  92. package/dist/icons/apps.svg +0 -468
  93. package/dist/images/emptyscreen/illu-blog.svg +0 -1
  94. package/dist/images/emptyscreen/illu-collaborativeeditor.svg +0 -1
  95. package/dist/images/emptyscreen/illu-collaborativewall.svg +0 -1
  96. package/dist/images/emptyscreen/illu-exercizer.svg +0 -1
  97. package/dist/images/emptyscreen/illu-mindmap.svg +0 -1
  98. package/dist/images/emptyscreen/illu-noContentInFolder.svg +0 -31
  99. package/dist/images/emptyscreen/illu-scrapbook.svg +0 -1
  100. package/dist/images/emptyscreen/illu-search.svg +0 -1
  101. package/dist/images/emptyscreen/illu-timelinegenerator.svg +0 -1
  102. package/dist/images/emptyscreen/illu-trash.svg +0 -1
  103. package/dist/images/image-library.png +0 -0
  104. package/dist/images/image-placeholder.png +0 -0
  105. package/dist/images/no-avatar.svg +0 -14
  106. package/dist/images/onboarding/corbeille-delete.svg +0 -22
  107. package/dist/images/onboarding/corbeille-menu.svg +0 -43
  108. package/dist/images/onboarding/corbeille-notif.svg +0 -12
  109. package/dist/images/screen-loading.gif +0 -0
  110. package/scss/components/_actionbar.scss +0 -25
  111. package/scss/components/_alert.scss +0 -82
  112. package/scss/components/_app-card.scss +0 -67
  113. package/scss/components/_card.scss +0 -132
  114. package/scss/components/_dropdown.scss +0 -82
  115. package/scss/components/_form-control.scss +0 -69
  116. package/scss/components/_form-label.scss +0 -32
  117. package/scss/components/_form-text.scss +0 -12
  118. package/scss/components/_header.scss +0 -8
  119. package/scss/components/_help.scss +0 -82
  120. package/scss/components/_image-picker.scss +0 -40
  121. package/scss/components/_input-group.scss +0 -17
  122. package/scss/components/_loader.scss +0 -17
  123. package/scss/components/_loading-screen.scss +0 -7
  124. package/scss/components/_select-list.scss +0 -44
  125. package/scss/components/_spinner.scss +0 -10
  126. package/scss/components/_table-explorer.scss +0 -29
  127. package/scss/components/_treeview.scss +0 -61
  128. package/scss/components/_validate-mail.scss +0 -5
  129. package/scss/tokens/_.scss +0 -4
  130. package/scss/tokens/_display.scss +0 -9
  131. package/scss/tokens/_icons.scss +0 -118
  132. package/scss/tokens/_shadows.scss +0 -19
  133. package/scss/tokens/_type.scss +0 -85
  134. package/scss/utilities/_.scss +0 -3
  135. package/scss/utilities/_animation.scss +0 -8
  136. package/scss/utilities/_containers.scss +0 -37
  137. package/scss/utilities/_custom-utilities.scss +0 -96
  138. package/scss/variables/_bootstrap.scss +0 -234
  139. package/scss/variables/_options.scss +0 -2
  140. package/scss/variables/_type.scss +0 -37
  141. package/scss/vendors/_.scss +0 -3
  142. package/scss/vendors/_bootstrap.scss +0 -43
  143. package/scss/vendors/_reboot.scss +0 -28
  144. package/scss/vendors/_swiper.scss +0 -10
@@ -0,0 +1,20 @@
1
+ /* Font Awesome */
2
+
3
+ @import "node_modules/@fortawesome/fontawesome-free/scss/fontawesome.scss";
4
+ @import "node_modules/@fortawesome/fontawesome-free/scss/solid.scss";
5
+ @import "node_modules/@fortawesome/fontawesome-free/scss/regular.scss";
6
+ @import "node_modules/@fortawesome/fontawesome-free/scss/brands.scss";
7
+
8
+ /* Generic Icons */
9
+
10
+ @font-face {
11
+ font-family: "generic-icons";
12
+ font-display: swap;
13
+ font-style: normal;
14
+ font-weight: normal;
15
+ src: url(#{$fonts-path}/generic-icons/generic-icons.woff);
16
+ }
17
+
18
+ html {
19
+ font-size: 62.5%;
20
+ }
@@ -0,0 +1,90 @@
1
+ // Initialize good style and good font on all icons
2
+ [class*="ic-"] {
3
+ font-family: "generic-icons";
4
+ font-style: normal;
5
+ font-weight: 400;
6
+ }
7
+
8
+ // Icons list
9
+ .ic {
10
+ @each $icon, $data in $icons-interface {
11
+ &-#{$icon} {
12
+ &::before {
13
+ content: map-get($data, "glyph");
14
+ }
15
+ }
16
+ }
17
+ }
18
+
19
+ // Classes utilitaires par application
20
+ .color-app {
21
+ //applications
22
+ @each $app, $data in $icons-applications {
23
+ &-#{$app} {
24
+ color: map-get($data, "color");
25
+ }
26
+ }
27
+ //connectors
28
+ @each $app, $data in $icons-connectors {
29
+ &-#{$app} {
30
+ color: map-get($data, "color");
31
+ }
32
+ }
33
+ }
34
+
35
+ .bg-app {
36
+ //applications
37
+ @each $app, $data in $icons-applications {
38
+ &-#{$app} {
39
+ background-color: map-get($data, "color");
40
+ }
41
+ }
42
+ //connectors
43
+ @each $app, $data in $icons-connectors {
44
+ &-#{$app} {
45
+ background-color: map-get($data, "color");
46
+ }
47
+ }
48
+ }
49
+
50
+ .ic-app {
51
+ //applications
52
+ @each $app, $data in $icons-applications {
53
+ &-#{$app}, &-#{$app}-large {
54
+ &::before {
55
+ content: map-get($data, "glyph");
56
+ }
57
+ }
58
+ }
59
+ //connectors
60
+ @each $app, $data in $icons-connectors {
61
+ &-#{$app}, &-#{$app}-large {
62
+ &::before {
63
+ content: map-get($data, "glyph");
64
+ }
65
+ }
66
+ }
67
+ }
68
+
69
+ // Classes des icones pour les widgets
70
+ .ic-widget {
71
+ @each $app, $data in $icons-widgets {
72
+ &-#{$app}, &-#{$app}-large {
73
+ &::before {
74
+ content: map-get($data, "glyph");
75
+ }
76
+ }
77
+ }
78
+ }
79
+
80
+ // Classes des icones pour les humeurs
81
+ .ic-mood {
82
+ @each $mood, $data in $icons-mood {
83
+ &-#{$mood} {
84
+ &::before {
85
+ content: map-get($data, "glyph");
86
+ color: map-get($data, "color");
87
+ }
88
+ }
89
+ }
90
+ }
@@ -0,0 +1,27 @@
1
+ .link,
2
+ .link a {
3
+
4
+ @include color-to($primary);
5
+
6
+ font-weight: 400;
7
+ color: $third;
8
+ text-decoration: none;
9
+ }
10
+
11
+ .link-discret,
12
+ .link-discret a {
13
+
14
+ @include color-to($third);
15
+
16
+ font-weight: 400;
17
+ color: currentColor;
18
+ text-decoration: none;
19
+ cursor: pointer;
20
+ }
21
+
22
+ .subtitle {
23
+ font-size: 1.4rem;
24
+ font-weight: 700;
25
+ text-transform: uppercase;
26
+ // cursor: pointer;
27
+ }
@@ -1,37 +1,21 @@
1
- @import "actionbar";
2
- @import "alert";
1
+ @import "container-advanced";
3
2
  @import "avatar";
4
- @import "app-card";
5
3
  @import "buttons";
6
- @import "card";
7
- @import "container-advanced";
8
- // @import "dominos";
4
+ @import "modal";
5
+ @import "toast";
6
+ @import "dominos";
9
7
  @import "dragndrop";
10
- @import "dropdown";
8
+ @import "dropdowns";
11
9
  @import "emptyscreen";
12
- // @import "explorer";
10
+ @import "explorer";
13
11
  @import "feed";
14
12
  @import "filters";
15
- @import "form-control";
16
- @import "form-label";
17
- @import "form-text";
18
- @import "loading-screen";
13
+ @import "forms";
19
14
  @import "media-library";
20
- @import "help";
21
- @import "input-group";
22
- @import "image-picker";
23
- @import "modal";
24
- @import "header";
25
- @import "popover";
26
- @import "loader";
27
- @import "select-list";
28
- @import "spinner";
29
15
  @import "sticky-toolbox";
30
16
  @import "tables";
31
17
  @import "table-lists";
32
- @import "table-explorer";
33
- @import "toast";
34
- @import "treeview";
35
- @import "validate-mail";
18
+ @import "tree-structure";
19
+ @import "popover";
36
20
 
37
- @import "widget/";
21
+ @import "widget/";
@@ -0,0 +1,30 @@
1
+ .alert {
2
+ display: flex;
3
+ align-items: center;
4
+
5
+ i {
6
+ display: flex;
7
+ flex: none;
8
+ align-items: center;
9
+ justify-content: center;
10
+ width: 50px;
11
+ font-size: 2rem;
12
+ }
13
+
14
+ &.alert-dismissible .btn-close {
15
+ font-size: 1rem;
16
+ opacity: 0.25;
17
+ }
18
+ }
19
+
20
+ .feedback {
21
+ .alert {
22
+ position: fixed;
23
+ top: 75px;
24
+ right: 10px;
25
+ width: 350px;
26
+ font-size: 1.4rem;
27
+ border-width: 1px;
28
+ box-shadow: 3px 2px 5px rgba($gray-700, 0.15);
29
+ }
30
+ }
@@ -1,146 +1,75 @@
1
1
  $avatar-size: 65px !default;
2
2
 
3
3
  .avatar {
4
- --#{$prefix}avatar-size: 8rem;
5
- --#{$prefix}avatar-svg-size: 5rem;
6
- --#{$prefix}avatar-bg-color: #{$white};
4
+ display: inline-block;
5
+ vertical-align: middle;
6
+ border-radius: 50%;
7
7
 
8
- background-color: var(--#{$prefix}avatar-bg-color);
9
- border-radius: 0.8rem;
10
- overflow: clip;
11
- min-width: var(--ode-avatar-size);
12
- height: var(--#{$prefix}avatar-size);
13
- display: flex;
14
- align-items: center;
15
- justify-content: center;
16
- aspect-ratio: 1 / 1;
17
-
18
- > img {
19
- object-fit: cover;
20
- margin: 0 auto;
21
- }
22
-
23
- > svg {
24
- width: var(--#{$prefix}avatar-svg-size);
25
- height: var(--#{$prefix}avatar-svg-size);
26
- }
27
-
28
- &.avatar-square {
29
- border-radius: $border-radius;
8
+ &--20 {
9
+ width: 20px;
10
+ height: 20px;
30
11
  }
31
12
 
32
- &.avatar-rounded {
33
- border-radius: 50%;
13
+ &--25 {
14
+ width: 25px;
15
+ height: 25px;
34
16
  }
35
-
36
- &.avatar-title {
37
- height: 100%;
38
- }
39
-
40
- &.avatar-xs {
41
- --#{$prefix}avatar-size: 2.4rem;
42
- --#{$prefix}avatar-svg-size: 1.25rem;
43
- }
44
-
45
- &.avatar-sm {
46
- --#{$prefix}avatar-size: 3.2rem;
47
- --#{$prefix}avatar-svg-size: 2.5rem;
17
+ &--50 {
18
+ width: 50px;
19
+ height: 50px;
48
20
  }
49
21
 
50
- &.avatar-md {
51
- --#{$prefix}avatar-size: 4rem;
52
- --#{$prefix}avatar-svg-size: 2.5rem;
22
+ &--100 {
23
+ width: 100px;
24
+ height: 100px;
53
25
  }
54
26
 
55
- &.avatar-lg {
56
- --#{$prefix}avatar-size: 8rem;
57
- --#{$prefix}avatar-svg-size: 5rem;
58
- }
59
-
60
- &.avatar-xl {
61
- --#{$prefix}avatar-size: 16rem;
62
- --#{$prefix}avatar-svg-size: 10rem;
63
- }
64
-
65
- &.avatar-auto {
66
- --#{$prefix}avatar-size: auto;
67
- --#{$prefix}avatar-svg-size: 100%;
68
- }
69
- }
70
-
71
- body:not(.app-react) {
72
- .avatar {
73
- display: inline-block;
74
- vertical-align: middle;
75
- border-radius: 50%;
76
-
77
- /*&--20 {
78
- width: 20px;
79
- height: 20px;
80
- }
81
-
82
- &--25 {
83
- width: 25px;
84
- height: 25px;
85
- }
86
- &--50 {
87
- width: 50px;
88
- height: 50px;
89
- }
90
-
91
- &--100 {
92
- width: 100px;
93
- height: 100px;
94
- }*/
27
+ &-social {
28
+ position: relative;
95
29
 
96
- &-social {
97
- position: relative;
30
+ @include circle($avatar-size);
98
31
 
99
- @include circle($avatar-size);
100
-
101
- .photo {
102
- overflow: hidden;
32
+ .photo {
33
+ img {
103
34
  @include avatar-image($avatar-size);
104
35
  }
36
+ }
105
37
 
106
- .circle {
107
- @include have-child-in-middle();
108
- @include circle(calc(#{$avatar-size} / 1.8));
38
+ .circle {
39
+ @include have-child-in-middle();
40
+ @include circle(calc(#{$avatar-size} / 1.8));
109
41
 
110
- position: absolute;
111
- right: 0;
112
- bottom: 0;
113
- font-size: calc(#{$avatar-size} / 3.5);
114
- color: $white;
115
- transform: translate(20%, 20%);
116
- }
42
+ position: absolute;
43
+ right: 0;
44
+ bottom: 0;
45
+ font-size: calc(#{$avatar-size} / 3.5);
46
+ color: $white;
47
+ transform: translate(20%, 20%);
117
48
  }
49
+ }
118
50
 
119
- /*&-link {
120
- cursor: pointer;
121
- overflow: hidden;
122
- @include avatar-image($avatar-size);
51
+ &-link {
52
+ display: inline-block;
53
+ cursor: pointer;
123
54
 
124
- img {
125
- background: $white;
126
- }
127
- }*/
55
+ img {
56
+ @include avatar-image($avatar-size);
57
+ background: #ffff;
58
+ }
128
59
  }
129
60
 
130
- /*.navbar.no-1d {
131
- .avatar {
132
- margin-top: -0.3rem;
133
- width: 3rem;
134
- max-width: 3rem;
135
- height: 3rem;
136
- background-color: $white;
137
-
138
- @include media-breakpoint-down(md) {
139
- display: inline-block;
140
- width: 2rem;
141
- max-width: 2rem;
142
- height: 2rem;
143
- }
61
+ .navbar.no-1d & {
62
+ margin-top: -0.3rem;
63
+ width: 3rem;
64
+ max-width: 3rem;
65
+ height: 3rem;
66
+ background-color: $white;
67
+
68
+ @include media-breakpoint-down(md) {
69
+ display: inline-block;
70
+ width: 2rem;
71
+ max-width: 2rem;
72
+ height: 2rem;
144
73
  }
145
- }*/
74
+ }
146
75
  }
@@ -1,221 +1,78 @@
1
- .btn {
2
- --#{$prefix}btn-active-box-shadow-color: #{$btn-box-shadow};
3
- --#{$prefix}btn-align-items: #{$btn-align-items};
4
- --#{$prefix}btn-border-radius: #{$btn-border-radius};
5
- --#{$prefix}btn-border-width: #{$btn-border-width};
6
- --#{$prefix}btn-box-shadow: #{$btn-box-shadow};
7
- --#{$prefix}btn-disabled-opacity: #{$btn-disabled-opacity};
8
- --#{$prefix}btn-display-mode: #{$btn-display-mode};
9
- --#{$prefix}btn-focus-bg: #{$primary};
10
- --#{$prefix}btn-focus-border-color: #{$orange-200};
11
- --#{$prefix}btn-focus-box-shadow-color: #{$btn-box-shadow};
12
- --#{$prefix}btn-focus-color: #{$white};
13
- --#{$prefix}btn-font-family: #{$btn-font-family};
14
- --#{$prefix}btn-font-size: #{$btn-font-size};
15
- --#{$prefix}btn-font-weight: #{$btn-font-weight};
16
- --#{$prefix}btn-gap: #{$btn-gap};
17
- --#{$prefix}btn-justify-content: #{$btn-justify-content};
18
- --#{$prefix}btn-search-bg: #{$btn-search-bg};
19
- --#{$prefix}btn-search-focus-border-color: #{$btn-search-focus-border-color};
20
- --#{$prefix}btn-active-box-shadow-width: 0.1rem;
21
-
22
- transition: all 250ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
23
-
24
- span,
25
- .loading {
26
- align-items: var(--#{$prefix}btn-align-items);
27
- display: var(--#{$prefix}btn-display-mode);
28
- gap: var(--#{$prefix}btn-gap);
29
- justify-content: var(--#{$prefix}btn-justify-content);
30
- transition: all 250ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
31
- }
32
-
33
- svg {
34
- height: $btn-svg-size;
35
- width: $btn-svg-size;
36
- min-width: $btn-svg-size;
37
-
38
- path {
39
- fill: currentColor;
40
- }
41
- }
42
-
43
- &:first-child:active:focus-visible {
44
- box-shadow: none;
45
- }
46
-
47
- &:active,
48
- &.active {
49
- box-shadow: none;
50
-
51
- &:focus-visible {
52
- box-shadow: none;
53
- }
54
- }
55
-
56
- &:not(.btn-icon):focus-visible {
57
- background-color: var(--#{$prefix}btn-focus-bg);
58
- border-color: var(--#{$prefix}btn-focus-border-color);
59
- box-shadow: none;
60
- }
61
-
62
- @if $enable-one {
63
- text-transform: uppercase;
64
-
65
- &:not(.btn-icon, .btn-search, .btn-ghost-primary, .btn-ghost-secondary, .btn-ghost-tertiary, .btn-ghost-danger) {
66
- svg {
67
- transform: translateY(-0.2rem);
68
- }
69
- }
70
-
71
- &:hover,
72
- &.hover {
73
- &:not(.btn-search) {
74
- transform: translateY(-0.2rem);
75
- box-shadow: 0 0.2rem 0 0 var(--#{$prefix}btn-hover-border-color);
76
- }
77
-
78
- &:is(.btn-search) {
79
- span {
80
- transform: translateY(-0.2rem);
81
- }
82
- }
83
- }
84
-
85
- &:active,
86
- &.active {
87
- &:not(.btn-search) {
88
- transform: translateY(0);
89
- box-shadow: none;
90
- }
91
- }
92
-
93
- &:not(.btn-icon):focus-visible {
94
- --#{$prefix}btn-border-width: 0.1rem;
95
- box-shadow: inset 0 0 0 0.1rem var(--#{$prefix}btn-focus-border-color);
96
- }
97
- } @else {
98
- &:hover,
99
- &.hover,
100
- &:focus-visible {
101
- > span {
102
- transform: translateY(-0.2rem);
103
- }
104
- }
105
-
106
- &:active,
107
- &.active {
108
- box-shadow: inset
109
- 0
110
- 0
111
- 0
112
- var(--#{$prefix}btn-active-box-shadow-width)
113
- var(--#{$prefix}btn-active-border-color);
114
-
115
- > span {
116
- transform: translateY(0);
117
- }
118
- }
119
-
120
- &:focus-visible {
121
- box-shadow: inset
122
- 0
123
- 0
124
- 0
125
- var(--#{$prefix}btn-active-box-shadow-width)
126
- var(--#{$prefix}btn-focus-border-color);
127
- }
128
- }
129
-
130
- &.btn-sm {
131
- --#{$prefix}btn-padding-x: #{$spacer-8};
132
- --#{$prefix}btn-padding-y: #{$spacer-8};
133
- }
134
-
135
- &.btn-md {
136
- --#{$prefix}btn-padding-x: #{$btn-padding-x};
137
- --#{$prefix}btn-padding-y: #{$btn-padding-y};
138
- }
139
-
140
- &.btn-loading {
141
- pointer-events: none;
142
- }
143
-
144
- &.btn-circle {
145
- @include circle(2.5em);
146
- @include have-child-in-middle();
147
-
148
- @include add-transitions(color, background-color) {
149
- color: #fff;
150
- text-decoration: none;
151
- background-color: $secondary-900;
152
- }
153
-
1
+ %btn-alt-base {
154
2
  position: relative;
155
- display: inline-flex;
156
- font-size: 2em;
157
- color: $white;
158
- background-color: $secondary;
3
+ z-index: 2;
4
+ padding: 0 15px;
5
+ font-size: 14px;
6
+ line-height: 2.4em;
7
+ color: #fff;
8
+ letter-spacing: 1.08px;
9
+ border: 1px solid currentColor;
10
+ border-radius: 30px;
11
+ }
159
12
 
160
- .label {
161
- position: absolute;
162
- bottom: -2em;
163
- font-size: 0.8em;
164
- color: $gray-700;
165
- }
166
- }
13
+ .btn {
14
+ &.btn-alt {
15
+ @extend %btn-alt-base;
167
16
 
168
- &.btn-search {
169
- --#{$prefix}btn-border-color: #{$gray-400};
170
- --#{$prefix}btn-border-width: 0.1rem;
171
- background-color: var(--#{$prefix}btn-search-bg);
172
- color: $gray-800;
17
+ background-color: $third;
18
+ border-color: $third;
173
19
 
174
- svg {
175
- height: $btn-search-icon-size;
176
- width: $btn-search-icon-size;
177
- min-width: $btn-search-icon-size;
20
+ @include add-transitions(border-color, background-color) {
21
+ background-color: $orange;
22
+ border-color: $orange;
23
+ }
178
24
  }
179
25
 
180
- &:hover {
181
- --#{$prefix}btn-hover-border-color: #{$gray-400};
182
- }
26
+ &.btn-alt-outline {
27
+ @extend %btn-alt-base;
183
28
 
184
- &:active {
185
- --#{$prefix}btn-active-border-color: #{$gray-400};
186
- background-color: var(--#{$prefix}btn-search-bg);
187
- color: $gray-900;
188
- }
29
+ @include add-transitions(border-color, color) {
30
+ color: $orange;
31
+ border-color: $orange;
32
+ }
189
33
 
190
- &:focus-visible {
191
- border-color: var(--#{$prefix}btn-search-focus-border-color);
192
- box-shadow: none;
34
+ color: $third;
35
+ background-color: transparent;
36
+ border: 1px solid $third;
193
37
  }
194
38
 
195
- &:disabled {
196
- --#{$prefix}btn-disabled-border-color: transparent;
39
+ &-light {
40
+ background-color: $gray-200;
41
+
42
+ @include add-transitions(color, background-color) {
43
+ color: $primary;
44
+ text-decoration: none;
45
+ background-color: $gray-200;
46
+ }
197
47
  }
198
- }
199
48
 
200
- &.logout {
201
- background-color: transparent;
202
- border: 0;
203
- }
49
+ &-circle {
50
+ @include circle(2.5em);
51
+ @include have-child-in-middle();
204
52
 
205
- &.btn-naked {
206
- all: unset;
53
+ @include add-transitions(color, background-color) {
54
+ color: #fff;
55
+ text-decoration: none;
56
+ background-color: $cyan;
57
+ }
207
58
 
208
- &:focus-visible {
209
- background-color: transparent;
59
+ position: relative;
60
+ display: inline-flex;
61
+ // margin-bottom: 1.5em;
62
+ font-size: 2em;
63
+ color: #fff;
64
+ background-color: $third;
65
+
66
+ .label {
67
+ position: absolute;
68
+ bottom: -2em;
69
+ font-size: 0.8em;
70
+ color: $gray-700;
71
+ }
210
72
  }
211
- }
212
-
213
- &.btn-close {
214
- background-position: center;
215
- background-size: 1.35rem;
73
+ // A réécrire, mais le btn-circle de Julien ne colle pas à mon cas (les width en em, la font-size, la couleur, etc)
216
74
 
217
- &:focus-visible {
218
- background-color: transparent;
75
+ &-circular {
76
+ @include circle(32px);
219
77
  }
220
- }
221
78
  }