bootstrap-italia 2.17.2 → 3.0.0-alpha.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 (155) hide show
  1. package/README.EN.md +1 -1
  2. package/README.md +1 -1
  3. package/dist/css/bootstrap-italia.min.css +1 -9
  4. package/dist/css/bootstrap-italia.min.css.map +1 -1
  5. package/dist/fonts/Titillium_Sans_Pro/OFL.txt +92 -0
  6. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Bold.woff +0 -0
  7. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Bold.woff2 +0 -0
  8. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-BoldItalic.woff +0 -0
  9. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-BoldItalic.woff2 +0 -0
  10. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Italic.woff +0 -0
  11. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Italic.woff2 +0 -0
  12. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Light.woff +0 -0
  13. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Light.woff2 +0 -0
  14. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-LightItalic.woff +0 -0
  15. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-LightItalic.woff2 +0 -0
  16. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Regular.woff +0 -0
  17. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Regular.woff2 +0 -0
  18. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Semibold.woff +0 -0
  19. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Semibold.woff2 +0 -0
  20. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-SemiboldItalic.woff +0 -0
  21. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-SemiboldItalic.woff2 +0 -0
  22. package/dist/js/bootstrap-italia.bundle.min.js +10 -10
  23. package/dist/js/bootstrap-italia.min.js +4 -4
  24. package/dist/plugins/dropdown.js +1 -1
  25. package/dist/plugins/dropdown.js.map +1 -1
  26. package/dist/plugins/fonts-loader.js +340 -111
  27. package/dist/plugins/fonts-loader.js.map +1 -1
  28. package/dist/version.js +1 -1
  29. package/dist/version.js.map +1 -1
  30. package/package.json +3 -3
  31. package/src/fonts/Titillium_Sans_Pro/OFL.txt +92 -0
  32. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Bold.woff +0 -0
  33. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Bold.woff2 +0 -0
  34. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-BoldItalic.woff +0 -0
  35. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-BoldItalic.woff2 +0 -0
  36. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Italic.woff +0 -0
  37. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Italic.woff2 +0 -0
  38. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Light.woff +0 -0
  39. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Light.woff2 +0 -0
  40. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-LightItalic.woff +0 -0
  41. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-LightItalic.woff2 +0 -0
  42. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Regular.woff +0 -0
  43. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Regular.woff2 +0 -0
  44. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Semibold.woff +0 -0
  45. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Semibold.woff2 +0 -0
  46. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-SemiboldItalic.woff +0 -0
  47. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-SemiboldItalic.woff2 +0 -0
  48. package/src/js/plugins/dropdown.js +1 -1
  49. package/src/js/plugins/fonts-loader.js +340 -111
  50. package/src/js/version.js +1 -1
  51. package/src/scss/base/_maps.scss +11 -0
  52. package/src/scss/base/_mixins.scss +2 -1
  53. package/src/scss/base/_reboot.scss +15 -147
  54. package/src/scss/base/_root.scss +272 -45
  55. package/src/scss/base/_utilities.scss +3 -3
  56. package/src/scss/base/_variables.scss +44 -55
  57. package/src/scss/base/_version.scss +1 -1
  58. package/src/scss/base/mixins/_banner.scss +7 -9
  59. package/src/scss/base/mixins/_focus.scss +14 -0
  60. package/src/scss/bootstrap-italia.scss +29 -32
  61. package/src/scss/components/_accept-overlay.scss +74 -50
  62. package/src/scss/components/_accordion.scss +120 -97
  63. package/src/scss/components/_affix.scss +14 -0
  64. package/src/scss/components/_alert.scss +60 -45
  65. package/src/scss/components/_anchor.scss +14 -0
  66. package/src/scss/components/_avatar.scss +236 -369
  67. package/src/scss/components/_back-to-top.scss +70 -54
  68. package/src/scss/components/_badge.scss +69 -36
  69. package/src/scss/components/_bottomnav.scss +14 -0
  70. package/src/scss/components/_breadcrumb.scss +78 -71
  71. package/src/scss/components/_button-group.scss +21 -7
  72. package/src/scss/components/_buttons.scss +289 -318
  73. package/src/scss/components/_calendar.scss +22 -8
  74. package/src/scss/components/_callout.scss +133 -125
  75. package/src/scss/components/_card-old.scss +14 -0
  76. package/src/scss/components/_card.scss +476 -518
  77. package/src/scss/components/_carousel.scss +14 -0
  78. package/src/scss/components/_chips.scss +150 -209
  79. package/src/scss/components/_code.scss +31 -6
  80. package/src/scss/components/_cookiebar.scss +14 -0
  81. package/src/scss/components/_dimmer.scss +14 -0
  82. package/src/scss/components/_dropdown.scss +144 -179
  83. package/src/scss/components/_figcaption.scss +14 -0
  84. package/src/scss/components/_font.scss +14 -0
  85. package/src/scss/components/_footer.scss +99 -75
  86. package/src/scss/components/_forward.scss +14 -0
  87. package/src/scss/components/_grid.scss +31 -22
  88. package/src/scss/components/_gridlist.scss +41 -19
  89. package/src/scss/components/_header.scss +150 -142
  90. package/src/scss/components/_headercenter.scss +129 -193
  91. package/src/scss/components/_headercentertheme.scss +14 -0
  92. package/src/scss/components/_headernavbar.scss +22 -14
  93. package/src/scss/components/_headernavbartheme.scss +16 -2
  94. package/src/scss/components/_headerslim.scss +133 -137
  95. package/src/scss/components/_headerslimtheme.scss +14 -0
  96. package/src/scss/components/_hero.scss +93 -202
  97. package/src/scss/components/_images.scss +14 -0
  98. package/src/scss/components/_imgresponsive.scss +14 -0
  99. package/src/scss/components/_linklist.scss +241 -262
  100. package/src/scss/components/_list-group.scss +26 -14
  101. package/src/scss/components/_list.scss +66 -123
  102. package/src/scss/components/_map.scss +14 -0
  103. package/src/scss/components/_masonry-loader.scss +14 -0
  104. package/src/scss/components/_megamenu.scss +191 -256
  105. package/src/scss/components/_modal.scss +115 -204
  106. package/src/scss/components/_nav.scss +43 -41
  107. package/src/scss/components/_navbar.scss +408 -91
  108. package/src/scss/components/_navigation.scss +56 -459
  109. package/src/scss/components/_navigationtheme.scss +109 -171
  110. package/src/scss/components/_navscroll.scss +210 -208
  111. package/src/scss/components/_navscrolltheme.scss +14 -0
  112. package/src/scss/components/_notifications.scss +14 -0
  113. package/src/scss/components/_offcanvas.scss +14 -0
  114. package/src/scss/components/_overlay-panel.scss +14 -0
  115. package/src/scss/components/_page-scroll.scss +14 -0
  116. package/src/scss/components/_pagination.scss +135 -80
  117. package/src/scss/components/_placeholders.scss +14 -0
  118. package/src/scss/components/_point-list.scss +15 -0
  119. package/src/scss/components/_popover.scss +29 -19
  120. package/src/scss/components/_print.scss +14 -0
  121. package/src/scss/components/_progress-bars.scss +14 -0
  122. package/src/scss/components/_progress-donuts.scss +14 -0
  123. package/src/scss/components/_progress-spinners.scss +14 -0
  124. package/src/scss/components/_rating-list.scss +14 -0
  125. package/src/scss/components/_rating.scss +76 -45
  126. package/src/scss/components/_sections.scss +51 -30
  127. package/src/scss/components/_sidebar.scss +119 -121
  128. package/src/scss/components/_sidebarthemes.scss +14 -0
  129. package/src/scss/components/_skiplinks.scss +14 -0
  130. package/src/scss/components/_steppers.scss +14 -0
  131. package/src/scss/components/_sticky.scss +14 -0
  132. package/src/scss/components/_tab.scss +14 -0
  133. package/src/scss/components/_tables.scss +14 -0
  134. package/src/scss/components/_thumbnav.scss +14 -0
  135. package/src/scss/components/_timeline.scss +14 -0
  136. package/src/scss/components/_toasts.scss +14 -0
  137. package/src/scss/components/_toolbar.scss +14 -0
  138. package/src/scss/components/_tooltip.scss +23 -9
  139. package/src/scss/components/_type.scss +176 -176
  140. package/src/scss/components/_videoplayer.scss +25 -5
  141. package/src/scss/forms/_accessible-autocomplete.scss +25 -27
  142. package/src/scss/forms/_autocomplete.scss +99 -144
  143. package/src/scss/forms/_form-control.scss +47 -116
  144. package/src/scss/forms/_form-input-file.scss +7 -6
  145. package/src/scss/forms/_form-input-number.scss +38 -22
  146. package/src/scss/forms/_form-input-upload.scss +149 -147
  147. package/src/scss/forms/_form-password.scss +14 -11
  148. package/src/scss/forms/_form-select.scss +3 -92
  149. package/src/scss/forms/_forms.scss +304 -247
  150. package/src/scss/forms/_input-group.scss +23 -36
  151. package/src/scss/forms/_just-validate.scss +11 -12
  152. package/src/scss/utilities/focus.scss +3 -12
  153. package/src/scss/utilities/icons.scss +59 -13
  154. package/src/scss/components/_pager.scss +0 -166
  155. package/src/scss/forms/_form-text.scss +0 -11
@@ -1,219 +1,174 @@
1
- //mobile
2
-
3
- //search field
1
+ // Autocomplete input field
4
2
  .autocomplete {
5
- padding: 0.375rem $v-gap * 6 0.375rem $v-gap * 3;
3
+ padding-left: var(--#{$prefix}spacing-xl);
6
4
 
7
- &::placeholder {
8
- color: $color-text-muted; // UI kit
9
- }
10
-
11
- &:disabled {
12
- background-color: #cacacc;
13
-
14
- &::placeholder {
15
- color: $gray-secondary;
16
- }
5
+ @include media-breakpoint-up(sm) {
6
+ padding-left: var(--#{$prefix}spacing-xxl);
17
7
  }
18
8
  }
19
9
 
20
- //search icon
10
+ // Autocomplete input icon
21
11
  .autocomplete-icon {
22
12
  position: absolute;
23
- right: 0;
24
- top: 0.5rem;
25
- padding: 0 $spacer * 0.5;
26
- background-color: $white;
27
- .icon {
28
- fill: $gray-secondary;
29
- }
13
+ top: var(--#{$prefix}spacing-xxs);
14
+ left: var(--#{$prefix}spacing-3xs);
15
+ padding: 0 var(--#{$prefix}form-control-spacing);
30
16
  }
31
17
 
32
- //results list
18
+ // Aucomplete result list
33
19
  .autocomplete-list {
20
+ --#{$prefix}autocomplete-list-spacing: 0;
21
+ --#{$prefix}autocomplete-list-background-color: var(--#{$prefix}color-background-inverse);
22
+ --#{$prefix}autocomplete-list-border-color: transparent; // change to show border
23
+ --#{$prefix}autocomplete-list-border-size: 0; // change to 1px to show border
24
+ --#{$prefix}autocomplete-list-radius: var(--#{$prefix}radius-smooth);
25
+ --#{$prefix}autocomplete-list-shadow: var(--#{$prefix}elevation-high);
26
+ --#{$prefix}autocomplete-item-color: var(--#{$prefix}color-text-secondary);
27
+ --#{$prefix}autocomplete-item-hover-color: var(--#{$prefix}color-text-primary);
28
+ --#{$prefix}autocomplete-item-hover-background-color: var(--#{$prefix}color-background-primary-lighter);
29
+ --#{$prefix}autocomplete-item-hover-icon-color: var(--#{$prefix}icon-primary);
30
+ --#{$prefix}autocomplete-item-text-size: var(--#{$prefix}body-font-size);
31
+ --#{$prefix}autocomplete-item-spacing: var(--#{$prefix}spacing-xs) var(--#{$prefix}spacing-s);
32
+ --#{$prefix}autocomplete-text-highlight: var(--#{$prefix}color-text-primary);
33
+
34
34
  position: absolute;
35
- left: 0;
36
35
  right: 0;
37
- width: 100%;
38
- background-color: $white;
39
- padding: $v-gap 0;
40
- box-shadow: $dropdown-box-shadow;
41
- border-top: 1px solid $gray-secondary;
42
- transition: opacity 0.3s;
36
+ left: 0;
43
37
  display: none;
38
+ width: 100%;
39
+ padding: var(--#{$prefix}autocomplete-list-spacing);
40
+ border-bottom-right-radius: var(--#{$prefix}autocomplete-list-radius);
41
+ border-bottom-left-radius: var(--#{$prefix}autocomplete-list-radius);
42
+ border-color: var(--#{$prefix}autocomplete-list-border-color);
43
+ border-style: solid;
44
+ border-top-width: 0;
45
+ border-left-width: var(--#{$prefix}autocomplete-list-border-size);
46
+ border-right-width: var(--#{$prefix}autocomplete-list-border-size);
47
+ border-bottom-width: var(--#{$prefix}autocomplete-list-border-size);
48
+ background-color: var(--#{$prefix}autocomplete-list-background-color);
49
+ box-shadow: var(--#{$prefix}autocomplete-list-shadow);
50
+ transition: opacity var(--#{$prefix}transition-instant);
44
51
 
45
52
  &.autocomplete-list-show {
46
- display: block;
47
53
  z-index: 10;
54
+ display: block;
48
55
  }
49
56
 
50
57
  li {
51
- list-style-type: none;
52
58
  padding: 0;
59
+ list-style-type: none;
53
60
  }
54
61
 
55
- //single item
56
62
  a {
57
- padding: 12px $v-gap * 3;
58
63
  display: flex;
64
+ align-items: center;
59
65
  justify-content: flex-start;
60
- align-items: flex-start;
61
- color: $gray-primary;
66
+ padding: var(--#{$prefix}autocomplete-item-spacing);
67
+ color: var(--#{$prefix}autocomplete-item-color);
68
+ font-size: var(--#{$prefix}autocomplete-item-text-size);
62
69
  line-height: 1.2;
63
- font-size: 1rem;
64
70
  text-decoration: none;
65
- //hover state
71
+
66
72
  &:hover {
67
- color: $primary;
73
+ background-color: var(--#{$prefix}color-background-primary-lighter);
74
+ color: var(--#{$prefix}color-text-primary);
68
75
  text-decoration: none;
69
76
 
70
77
  .icon {
71
- fill: $primary;
78
+ fill: var(--#{$prefix}icon-primary);
72
79
  }
73
80
 
74
81
  .autocomplete-list-text {
75
- //item text
76
82
  span {
77
83
  text-decoration: underline;
78
84
  }
79
85
 
80
86
  //item label
81
87
  em {
82
- color: $primary;
88
+ color: var(--#{$prefix}color-link-hover);
83
89
  }
84
90
  }
85
-
86
- //search highlight
87
- mark {
88
- color: $primary;
89
- }
90
91
  }
91
92
 
92
- //item icon + avatar
93
+ // List item icon and avatar
93
94
  .icon,
94
95
  .avatar {
95
- margin-right: $v-gap * 2;
96
96
  flex-shrink: 0;
97
+ margin-right: $v-gap * 2;
97
98
  }
98
99
 
99
- .icon {
100
- fill: $gray-primary;
101
- }
102
-
103
- //item text
100
+ // List item text
104
101
  .autocomplete-list-text {
105
- margin-top: 2px;
106
- //item label
102
+ // margin-top: 2px;
103
+ margin-left: 0;
104
+ display: flex;
105
+ align-items: center;
106
+ gap: var(--#{$prefix}spacing-s);
107
+
107
108
  em {
109
+ color: var(--#{$prefix}color-text-secondary);
110
+ font-size: var(--#{$prefix}label-font-size-xs);
108
111
  font-style: normal;
112
+ font-weight: var(--#{$prefix}font-weight-solid);
109
113
  text-transform: uppercase;
110
- font-size: 0.75rem;
111
- color: $color-text-secondary; // UI kit
112
- font-weight: 600;
113
- letter-spacing: 0.1em;
114
- display: block;
115
- margin-top: $v-gap * 0.5;
116
114
  }
117
115
  }
118
116
  }
119
117
 
120
- //search highlight
118
+ // Autocomplete search highlight
121
119
  mark {
122
120
  padding: 0;
123
121
  background: transparent;
124
- font-weight: bold;
122
+ color: var(--#{$prefix}autocomplete-text-highlight);
123
+ font-weight: var(--#{$prefix}font-weight-strong);
125
124
  }
126
125
  }
127
126
 
128
- //big version
127
+ // Variant Big
129
128
  .autocomplete-wrapper-big {
130
- //search field
131
- .autocomplete {
132
- height: $v-gap * 7;
133
- font-size: 1.5rem;
134
- font-weight: normal;
135
- padding-left: $spacer * 4;
136
- padding-right: $v-gap * 3;
137
- }
129
+ --#{$prefix}autocomplete-item-text-size: var(--#{$prefix}body-font-size-l);
138
130
 
139
- //search icon
140
- .autocomplete-icon {
141
- position: absolute;
142
- left: 0.5rem;
143
- right: auto;
144
- top: 1rem;
145
-
146
- .icon {
147
- fill: $primary;
148
- width: 24px;
149
- height: 24px;
150
- }
151
- }
152
-
153
- //results list
154
- .autocomplete-list {
155
- a {
156
- font-size: 1.125rem;
157
-
158
- .autocomplete-list-text {
159
- margin-top: 0;
160
- }
161
- }
131
+ .autocomplete {
132
+ @extend .form-control-lg;
162
133
  }
163
- }
164
-
165
- //small - tablet
166
- @include media-breakpoint-up(sm) {
167
- //results list
168
- .autocomplete-list {
169
- a {
170
- font-size: 0.875rem;
171
- align-items: flex-start;
172
-
173
- .autocomplete-list-text {
174
- //item text
175
- span {
176
- margin-right: $v-gap;
177
- }
178
134
 
179
- //item label
180
- em {
181
- display: inline-block;
182
- font-size: 0.75rem;
183
- margin-top: 0;
184
- }
185
- }
186
- }
135
+ .autocomplete-list .autocomplete-list-text {
136
+ margin-top: 0;
187
137
  }
188
138
 
189
- //big version
190
- .autocomplete-wrapper-big {
191
- //search field
192
- .autocomplete {
193
- height: $v-gap * 9;
194
- font-size: 2.25rem;
195
- padding-left: $v-gap * 8;
196
- }
197
-
198
- //search icon
139
+ @include media-breakpoint-up(sm) {
199
140
  .autocomplete-icon {
200
- .icon {
201
- width: 40px;
202
- height: 40px;
203
- }
141
+ top: var(--#{$prefix}spacing-xs);
142
+ left: var(--#{$prefix}spacing-3xs);
143
+ padding: 0 var(--#{$prefix}form-control-spacing);
204
144
  }
205
145
 
206
- //results list
207
- .autocomplete-list {
208
- a {
209
- font-size: 1.125rem;
210
- //item text
211
- .autocomplete-list-text {
212
- span {
213
- margin-right: $v-gap * 2;
214
- }
215
- }
216
- }
146
+ .autocomplete-list-text span {
147
+ margin-right: var(--#{$prefix}spacing-s);
217
148
  }
218
149
  }
219
150
  }
151
+
152
+ // @include media-breakpoint-up(sm) {
153
+
154
+ // //results list
155
+ // .autocomplete-list {
156
+ // a {
157
+ // font-size: var(--#{$prefix}label-font-size);
158
+
159
+ // .autocomplete-list-text {
160
+ // span {
161
+ // margin-right: var(--#{$prefix}spacing-xxs);
162
+ // }
163
+
164
+ // //item label
165
+ // em {
166
+ // display: inline-block;
167
+ // margin-top: 0;
168
+ // font-size: var(--#{$prefix}label-font-size-xs);
169
+ // }
170
+ // }
171
+ // }
172
+ // }
173
+
174
+ // }
@@ -4,136 +4,69 @@
4
4
 
5
5
  @import '../base/mixins';
6
6
 
7
- .form-control {
8
- display: block;
9
- width: 100%;
10
- padding: $input-padding-y $input-padding-x;
11
- font-family: $input-font-family;
12
- @include font-size($input-font-size);
13
- font-weight: $input-font-weight;
14
- line-height: $input-line-height;
15
- color: $input-color;
16
- background-color: $input-bg;
17
- background-clip: padding-box;
18
- border: $input-border-width solid $input-border-color;
19
- appearance: none; // Fix appearance for date inputs in Safari
20
-
21
- // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.
22
- @include border-radius($input-border-radius, 0);
23
-
24
- @include box-shadow($input-box-shadow);
25
- @include transition($input-transition);
26
-
27
- &[type='file'] {
28
- overflow: hidden; // prevent pseudo element button overlap
29
-
30
- &:not(:disabled):not([readonly]) {
31
- cursor: pointer;
32
- }
33
- }
34
-
35
- // Customize the `:focus` state to imitate native WebKit styles.
36
- &:focus {
37
- color: $input-focus-color;
38
- background-color: $input-focus-bg;
39
- border-color: $input-focus-border-color;
40
- outline: 0;
41
- @if $enable-shadows {
42
- @include box-shadow($input-box-shadow, $input-focus-box-shadow);
43
- } @else {
44
- // Avoid using mixin so we can pass custom focus shadow properly
45
- box-shadow: $input-focus-box-shadow;
46
- }
47
- }
48
-
49
- // Add some height to date inputs on iOS
50
- // https://github.com/twbs/bootstrap/issues/23307
51
- // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved
52
- &::-webkit-date-and-time-value {
53
- // Multiply line-height by 1em if it has no unit
54
- height: if(unit($input-line-height) == '', $input-line-height * 1em, $input-line-height);
55
- }
56
-
57
- // Placeholder
58
- &::placeholder {
59
- color: $input-placeholder-color;
60
- // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.
61
- opacity: 1;
62
- }
63
-
64
- // Disabled inputs
65
- //
66
- // HTML5 says that controls under a fieldset > legend:first-child won't be
67
- // disabled if the fieldset is disabled. Due to implementation difficulty, we
68
- // don't honor that edge case; we style them as disabled anyway.
69
- &:disabled {
70
- color: $input-disabled-color;
71
- background-color: $input-disabled-bg;
72
- border-color: $input-disabled-border-color;
73
- // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.
74
- opacity: 1;
75
- }
76
-
77
- // File input buttons theming
78
- &::file-selector-button {
79
- padding: $input-padding-y $input-padding-x;
80
- margin: (-$input-padding-y) (-$input-padding-x);
81
- margin-inline-end: $input-padding-x;
82
- color: $form-file-button-color;
83
- @include gradient-bg($form-file-button-bg);
84
- pointer-events: none;
85
- border-color: inherit;
86
- border-style: solid;
87
- border-width: 0;
88
- border-inline-end-width: $input-border-width;
89
- border-radius: 0; // stylelint-disable-line property-disallowed-list
90
- @include transition($btn-transition);
91
- }
92
-
93
- &:hover:not(:disabled):not([readonly])::file-selector-button {
94
- background-color: $form-file-button-hover-bg;
95
- }
96
- }
97
-
98
7
  // Readonly controls as plain text
99
8
  //
100
9
  // Apply class to a readonly input to make it appear like regular plain
101
10
  // text (without any border, background color, focus indicator)
102
11
 
103
12
  .form-control-plaintext {
104
- display: block;
105
- width: 100%;
106
- padding: $input-padding-y 0;
107
- margin-bottom: 0; // match inputs if this class comes on inputs with default margins
108
- line-height: $input-line-height;
109
- color: $input-plaintext-color;
110
- background-color: transparent;
111
- border: solid transparent;
112
- border-width: $input-border-width 0;
13
+ border: 0;
14
+ --#{$prefix}form-control-border-color: transparent;
15
+ --#{$prefix}form-control-border-radius: 0;
16
+ --#{$prefix}form-control-background-color: transparent;
17
+ --#{$prefix}form-control-spacing: 0;
113
18
 
114
19
  &:focus {
115
20
  outline: 0;
21
+ box-shadow: none !important;
116
22
  }
117
23
 
118
- &.form-control-sm,
119
- &.form-control-lg {
120
- padding-right: 0;
121
- padding-left: 0;
24
+ & + label {
25
+ cursor: text;
26
+ }
27
+ }
28
+
29
+ // BI form control
30
+ .form-control {
31
+ background-repeat: no-repeat;
32
+ background-position: center right;
33
+ background-size: 45px 30%;
34
+
35
+ &:disabled {
36
+ cursor: not-allowed;
37
+ background: var(--#{$prefix}color-background-disabled);
38
+ border: 0;
39
+ color: var(--#{$prefix}color-text-disabled);
40
+ }
41
+
42
+ .was-validated &:valid,
43
+ &.is-valid {
44
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23008055' viewBox='0 0 192 512'%3E%3Cpath d='M435.848 83.466L172.804 346.51l-96.652-96.652c-4.686-4.686-12.284-4.686-16.971 0l-28.284 28.284c-4.686 4.686-4.686 12.284 0 16.971l133.421 133.421c4.686 4.686 12.284 4.686 16.971 0l299.813-299.813c4.686-4.686 4.686-12.284 0-16.971l-28.284-28.284c-4.686-4.686-12.284-4.686-16.97 0z'/%3E%3C/svg%3E");
45
+ }
46
+
47
+ .was-validated &:invalid,
48
+ &.is-invalid {
49
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23cc334d' viewBox='0 0 384 512'%3E%3Cpath d='M231.6 256l130.1-130.1c4.7-4.7 4.7-12.3 0-17l-22.6-22.6c-4.7-4.7-12.3-4.7-17 0L192 216.4 61.9 86.3c-4.7-4.7-12.3-4.7-17 0l-22.6 22.6c-4.7 4.7-4.7 12.3 0 17L152.4 256 22.3 386.1c-4.7 4.7-4.7 12.3 0 17l22.6 22.6c4.7 4.7 12.3 4.7 17 0L192 295.6l130.1 130.1c4.7 4.7 12.3 4.7 17 0l22.6-22.6c4.7-4.7 4.7-12.3 0-17L231.6 256z'/%3E%3C/svg%3E");
50
+ border-color: var(--#{$prefix}color-border-danger);
51
+ }
52
+
53
+ &.warning {
54
+ background-image: url('data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M2%2012C2%206.47715%206.47715%202%2012%202C14.6522%202%2017.1957%203.05357%2019.0711%204.92893C20.9464%206.8043%2022%209.34784%2022%2012C22%2017.5228%2017.5228%2022%2012%2022C6.47715%2022%202%2017.5228%202%2012ZM3%2012C3%2016.9706%207.02944%2021%2012%2021C16.9706%2021%2021%2016.9706%2021%2012C21%207.02944%2016.9706%203%2012%203C7.02944%203%203%207.02944%203%2012ZM11.5%2014.2V5.7H12.7V14.2H11.5ZM12.6%2018.3V16.5H11.4V18.3H12.6Z%22/%3E%0A%3C/svg%3E')
55
+ no-repeat;
56
+ border-color: var(--#{$prefix}color-border-warning);
57
+ }
58
+
59
+ &.is-valid ~ .warning-feedback {
60
+ display: block;
122
61
  }
123
62
  }
124
63
 
125
64
  // Form control sizing
126
65
  //
127
- // Build on `.form-control` with modifier classes to decrease or increase the
128
- // height and font-size of form controls.
129
- //
130
- // Repeated in `_input_group.scss` to avoid Sass extend issues.
131
66
 
132
67
  .form-control-sm {
133
- min-height: $input-height-sm;
134
- padding: $input-padding-y-sm $input-padding-x-sm;
135
- @include font-size($input-font-size-sm);
136
- @include border-radius($input-border-radius-sm);
68
+ --#{$prefix}form-control-spacing: var(--#{$prefix}spacing-xxs) var(--#{$prefix}spacing-3xs);
69
+ --#{$prefix}form-control-font-size: var(--#{$prefix}label-font-size);
137
70
 
138
71
  &::file-selector-button {
139
72
  padding: $input-padding-y-sm $input-padding-x-sm;
@@ -143,10 +76,7 @@
143
76
  }
144
77
 
145
78
  .form-control-lg {
146
- min-height: $input-height-lg;
147
- padding: $input-padding-y-lg $input-padding-x-lg;
148
- @include font-size($input-font-size-lg);
149
- @include border-radius($input-border-radius-lg);
79
+ --#{$prefix}form-control-font-size: var(--#{$prefix}lead-font-size);
150
80
 
151
81
  &::file-selector-button {
152
82
  padding: $input-padding-y-lg $input-padding-x-lg;
@@ -158,6 +88,7 @@
158
88
  // Make sure textareas don't shrink too much when resized
159
89
  // https://github.com/twbs/bootstrap/pull/29124
160
90
  // stylelint-disable selector-no-qualifying-type
91
+
161
92
  textarea {
162
93
  &.form-control {
163
94
  min-height: $input-height;
@@ -9,11 +9,12 @@ input[type='file'] + label {
9
9
  max-width: 100%;
10
10
  opacity: 0;
11
11
  }
12
+
12
13
  .form-file-name {
13
- background-color: $white;
14
+ background-color: var(--#{$prefix}color-background-inverse);
14
15
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
15
16
  border-radius: 0;
16
- color: $color-text-secondary;
17
+ color: var(--#{$prefix}color-text-secondary);
17
18
  left: 0;
18
19
  line-height: 1.7;
19
20
  overflow: hidden;
@@ -26,15 +27,15 @@ input[type='file'] + label {
26
27
  user-select: none;
27
28
  z-index: 5;
28
29
  &::before {
29
- background-color: $white;
30
+ background-color: var(--#{$prefix}color-background-inverse);
30
31
  bottom: -1px;
31
- color: $primary;
32
+ color: var(--#{$prefix}color-text-primary);
32
33
  content: 'Sfoglia';
33
34
  display: block;
34
- height: $input-height;
35
+ height: 2.5rem;
35
36
  line-height: 1.7;
36
37
  padding: 0.4rem 1rem 1.5rem;
37
- border: 1px solid $primary;
38
+ border: 1px solid var(--#{$prefix}color-border-primnary);
38
39
  position: absolute;
39
40
  right: 0;
40
41
  top: 0;
@@ -5,13 +5,16 @@
5
5
  width: fit-content;
6
6
  input[type='number'] {
7
7
  width: auto;
8
- transition: all 0.3s;
8
+ transition: all va(--#{$prefix}transition-instant);
9
9
  }
10
10
  }
11
11
 
12
12
  //reset input style
13
13
  input[type='number'] {
14
14
  appearance: textfield;
15
+ border-top-right-radius: var(--#{$prefix}form-control-border-radius) !important;
16
+ border-bottom-right-radius: var(--#{$prefix}form-control-border-radius) !important;
17
+
15
18
  &::-webkit-inner-spin-button,
16
19
  &::-webkit-outer-spin-button {
17
20
  -webkit-appearance: none;
@@ -20,31 +23,26 @@
20
23
  display: none;
21
24
  }
22
25
 
23
- // color: $color-text-muted;
26
+ // Apply the border when not disabled - avoid specific styling for disabled inputs
27
+ &:not(:disabled) {
28
+ border-left: 1px solid var(--#{$prefix}form-control-border-color);
29
+ }
24
30
 
25
- &:focus {
26
- color: $color-text-base;
31
+ &[readonly] ~ .input-group-text {
32
+ .input-number-add,
33
+ .input-number-sub {
34
+ display: none;
35
+ }
27
36
  }
28
37
  }
29
38
 
30
39
  //disabled version
31
40
  &.disabled {
32
- input[type='number'] {
33
- background-color: $gray-disabled;
34
- color: $gray-800;
41
+ button {
42
+ display: none;
43
+ pointer-events: none;
35
44
  &:hover {
36
45
  cursor: not-allowed;
37
- color: $gray-label-disabled;
38
- }
39
- }
40
- .input-group-text {
41
- background-color: $gray-disabled;
42
- color: $gray-800;
43
- button {
44
- pointer-events: none;
45
- &:hover {
46
- cursor: not-allowed;
47
- }
48
46
  }
49
47
  }
50
48
  }
@@ -56,7 +54,18 @@
56
54
  bottom: 0;
57
55
  right: 0;
58
56
  z-index: 10;
57
+
58
+ padding-right: var(--#{$prefix}form-control-spacing);
59
+ // border-left: 0;
60
+ // border-right-width: 1px;
61
+ border: none;
62
+ background: transparent;
63
+
64
+ .is-invalid + & {
65
+ bottom: 0;
66
+ }
59
67
  }
68
+
60
69
  .input-group-text button {
61
70
  position: relative;
62
71
  transition: opacity 0.1s;
@@ -79,12 +88,12 @@
79
88
  &:hover {
80
89
  &.input-number-add {
81
90
  &:after {
82
- border-color: transparent transparent $dark transparent; // TODO Check if still necessary
91
+ border-color: transparent transparent var(--#{$prefix}form-control-border-color) transparent;
83
92
  }
84
93
  }
85
94
  &.input-number-sub {
86
95
  &:after {
87
- border-color: $dark transparent transparent transparent; // TODO Check if still necessary
96
+ border-color: var(--#{$prefix}form-control-border-color) transparent transparent transparent;
88
97
  }
89
98
  }
90
99
  }
@@ -95,13 +104,13 @@
95
104
  &.input-number-add {
96
105
  &:after {
97
106
  border-width: 0 5px 6px 5px;
98
- border-color: transparent transparent $neutral-1-a7 transparent; // TODO Check if still necessary
107
+ border-color: transparent transparent var(--#{$prefix}form-control-border-color) transparent;
99
108
  }
100
109
  }
101
110
  &.input-number-sub {
102
111
  &:after {
103
112
  border-width: 6px 5px 0 5px;
104
- border-color: $neutral-1-a7 transparent transparent transparent; // TODO Check if still necessary
113
+ border-color: var(--#{$prefix}form-control-border-color) transparent transparent transparent;
105
114
  }
106
115
  }
107
116
  &:hover {
@@ -110,6 +119,13 @@
110
119
  }
111
120
  }
112
121
 
122
+ // Reset border when input is prepended with input-group-text
123
+ input[type='number'] {
124
+ .input-number .input-group-text + & {
125
+ border-left: 0;
126
+ }
127
+ }
128
+
113
129
  //Desktop
114
130
  @include media-breakpoint-up(xl) {
115
131
  .input-number {