@wwtdev/bsds-css 2.1.4 → 2.2.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.
@@ -5,10 +5,12 @@
5
5
  flex-direction: column;
6
6
  gap: 0.5rem;
7
7
  list-style: none;
8
- margin-block: 0.25rem;
8
+ margin-bottom: 0.25rem;
9
+ margin-top: 0.25rem;
9
10
  max-height: var(--options-height-max, 20rem);/* constrain scrollable to options section */
10
11
  overflow-y: auto;
11
12
  padding-block: 0.5rem;
13
+ padding-left: 0;
12
14
  }
13
15
 
14
16
  /* Option list item */
@@ -35,8 +37,15 @@
35
37
  grid-template-columns: min-content 1fr;
36
38
  }
37
39
 
40
+ /* Variant: 3-col */
41
+ .bs-dropdown-options :where(li[data-variant~="3-col"]) {
42
+ grid-template-columns: min-content min-content 1fr;
43
+ }
44
+
38
45
  /* Variant: description */
39
- .bs-dropdown-options :where(li:not([data-variant~="2-col"])[data-variant~="description"] > :nth-child(2)) {
46
+ .bs-dropdown-options :where(li:not([data-variant*="-col"])[data-variant~="description"] > :nth-child(2)),
47
+ .bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"] > :nth-child(3)),
48
+ .bs-dropdown-options :where(li[data-variant~="3-col"][data-variant~="description"] > :nth-child(4)) {
40
49
  color: var(--bs-ink-light);
41
50
  font-size: var(--bs-text-xs);
42
51
  min-height: 1.125rem;
@@ -45,11 +54,12 @@
45
54
 
46
55
  /* Variant: 2-col description */
47
56
  .bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"] > :nth-child(3)) {
48
- color: var(--bs-ink-light);
49
- font-size: var(--bs-text-xs);
50
57
  grid-column-start: 2;
51
- min-height: 1.125rem;
52
- line-height: 1.125rem;
58
+ }
59
+
60
+ /* Variant: 3-col description */
61
+ .bs-dropdown-options :where(li[data-variant~="3-col"][data-variant~="description"] > :nth-child(4)) {
62
+ grid-column-start: 3;
53
63
  }
54
64
 
55
65
  /* Hover or data-selected */
@@ -71,19 +81,23 @@
71
81
  color: var(--bs-red-500);
72
82
  }
73
83
 
74
- /* Hover or data-selected for 2-col/description variants */
75
- .bs-dropdown-options :where(li:not([data-variant~="2-col"])[data-variant~="description"]:hover > :nth-child(2)),
84
+ /* Hover or data-selected for 2-col/3-col/description variants */
85
+ .bs-dropdown-options :where(li:not([data-variant*="-col"])[data-variant~="description"]:hover > :nth-child(2)),
76
86
  .bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"]:hover > :nth-child(3)),
77
- .bs-dropdown-options :where(li:not([data-variant~="2-col"])[data-variant~="description"][data-selected] > :nth-child(2)),
78
- .bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"][data-selected] > :nth-child(3)) {
87
+ .bs-dropdown-options :where(li[data-variant~="3-col"][data-variant~="description"]:hover > :nth-child(4)),
88
+ .bs-dropdown-options :where(li:not([data-variant*="-col"])[data-variant~="description"][data-selected] > :nth-child(2)),
89
+ .bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"][data-selected] > :nth-child(3)),
90
+ .bs-dropdown-options :where(li[data-variant~="3-col"][data-variant~="description"][data-selected] > :nth-child(4)) {
79
91
  color: var(--bs-blue-base);
80
92
  }
81
93
 
82
- /* Hover or data-selected for negative + 2-col/description variants */
83
- .bs-dropdown-options :where(li[data-variant~="negative"]:not([data-variant~="2-col"])[data-variant~="description"]:hover > :nth-child(2)),
94
+ /* Hover or data-selected for negative + 2-col/3-col/description variants */
95
+ .bs-dropdown-options :where(li[data-variant~="negative"]:not([data-variant*="-col"])[data-variant~="description"]:hover > :nth-child(2)),
84
96
  .bs-dropdown-options :where(li[data-variant~="negative"][data-variant~="2-col"][data-variant~="description"]:hover > :nth-child(3)),
85
- .bs-dropdown-options :where(li[data-variant~="negative"]:not([data-variant~="2-col"])[data-variant~="description"][data-selected] > :nth-child(2)),
86
- .bs-dropdown-options :where(li[data-variant~="negative"][data-variant~="2-col"][data-variant~="description"][data-selected] > :nth-child(3)) {
97
+ .bs-dropdown-options :where(li[data-variant~="negative"][data-variant~="3-col"][data-variant~="description"]:hover > :nth-child(4)),
98
+ .bs-dropdown-options :where(li[data-variant~="negative"]:not([data-variant*="-col"])[data-variant~="description"][data-selected] > :nth-child(2)),
99
+ .bs-dropdown-options :where(li[data-variant~="negative"][data-variant~="2-col"][data-variant~="description"][data-selected] > :nth-child(3)),
100
+ .bs-dropdown-options :where(li[data-variant~="negative"][data-variant~="3-col"][data-variant~="description"][data-selected] > :nth-child(4)) {
87
101
  color: var(--bs-red-500);
88
102
  }
89
103
 
@@ -123,6 +137,7 @@
123
137
  padding-right: 1.375rem;
124
138
  }
125
139
 
140
+ /* Multi-select divider line */
126
141
  .bs-dropdown-options :where(hr) {
127
142
  background-color: var(--bs-navy-light);
128
143
  height: .0625rem;
@@ -130,6 +145,53 @@
130
145
  margin-inline: 0;
131
146
  }
132
147
 
148
+ /* Disable hover styles */
149
+ .bs-dropdown-options :where(li[data-no-hover]:hover) {
150
+ background-color: transparent;
151
+ border-left-color: transparent;
152
+ color: var(--bs-ink-base);
153
+ cursor: default;
154
+ }
155
+
156
+ /* Style label to look like other options */
157
+ .bs-dropdown-options :where(li label) {
158
+ cursor: pointer;
159
+ font-size: 1rem;
160
+ font-weight: 400;
161
+ }
162
+
163
+ /* Don't change option color when checkbox is present */
164
+ .bs-dropdown-options :where(li[data-variant~="checkbox"]):hover,
165
+ .bs-dropdown-options :where(li[data-variant~="checkbox"][data-selected]) {
166
+ color: var(--bs-ink-base);
167
+ }
168
+
169
+ /* Don't change description color when checkbox is present */
170
+ .bs-dropdown-options :where(li[data-variant~="checkbox"][data-variant~="2-col"][data-variant~="description"]):hover > :nth-child(3),
171
+ .bs-dropdown-options :where(li[data-variant~="checkbox"][data-variant~="2-col"][data-variant~="description"][data-selected]) > :nth-child(3),
172
+ .bs-dropdown-options :where(li[data-variant~="checkbox"][data-variant~="3-col"][data-variant~="description"]):hover > :nth-child(4),
173
+ .bs-dropdown-options :where(li[data-variant~="checkbox"][data-variant~="3-col"][data-variant~="description"][data-selected]) > :nth-child(4) {
174
+ color: var(--bs-ink-light);
175
+ }
176
+
177
+ /* Overrides mobile style when not min-width 752 */
178
+ .bs-dropdown:where([data-no-mobile="true"]) :where(.bs-dropdown-options) :where(li) {
179
+ padding-left: 0.5rem;
180
+ padding-right: 0.75rem;
181
+ }
182
+
183
+ .bs-dropdown:where([data-no-mobile="true"]) :where(.bs-dropdown-options) :where(li[role="separator"]) {
184
+ padding-right: 0.625rem;
185
+ }
186
+
187
+ .bs-dropdown:where([data-no-mobile="true"]) :where(.bs-dropdown-options) :where(li:focus-visible) {
188
+ padding-left: 0.625rem;
189
+ }
190
+
191
+ .bs-dropdown:where([data-no-mobile="true"]) :where(.bs-dropdown-options) :where(li[data-selected]:focus-visible) {
192
+ padding-left: 0.5rem;
193
+ }
194
+
133
195
  @media (min-width: 752px) {
134
196
  .bs-dropdown-options :where(li) {
135
197
  padding-left: 0.5rem;
@@ -19,13 +19,15 @@
19
19
  z-index: 998;
20
20
  }
21
21
 
22
- /* Content (mobile version and general styles) */
22
+ /* Content */
23
23
  .bs-dropdown {
24
24
  --dropdown-bottom: 0;
25
25
  --dropdown-left: 0;
26
26
  --dropdown-right: auto;
27
27
  --dropdown-top: auto;
28
28
  --dropdown-width: 100%;
29
+ --dropdown-transform: translate(0, 100%);
30
+
29
31
  background-color: var(--bs-bg-base-elevated);
30
32
  border-radius: 4px;
31
33
  bottom: var(--dropdown-bottom);
@@ -39,16 +41,15 @@
39
41
  right: var(--dropdown-right);
40
42
  top: var(--dropdown-top);
41
43
  transform-origin: center bottom;
42
- transform: translateY(100%);
44
+ transform: var(--dropdown-transform);
43
45
  transition-duration: 75ms;
44
46
  transition-property: opacity, transform;
45
47
  transition-timing-function: ease-in-out;
46
48
  width: var(--dropdown-width);
47
- z-index: -1;
49
+ z-index: 999;
48
50
  }
49
51
 
50
- /* mobile header */
51
- /* TODO: h3 may not be the right tag to use here... label, possibly? */
52
+ /* Mobile Header */
52
53
  .bs-dropdown > :where(header) {
53
54
  border-bottom: 1px solid var(--bs-border-base);
54
55
  display: flex;
@@ -70,26 +71,61 @@
70
71
  width: 1rem;
71
72
  }
72
73
 
73
- /* mobile search input */
74
- .bs-dropdown :where(.bs-dropdown-search) {
75
- padding: 1.5rem 1.5rem 0 1.5rem;
74
+ /* data-shown */
75
+ .bs-dropdown:where([data-shown]:not([data-shown="false"])) {
76
+ --dropdown-transform: translate(0, 0);
77
+ opacity: 1;
76
78
  }
77
79
 
78
- .bs-dropdown :where(.bs-dropdown-search bs-input-search) {
79
- margin-bottom: 1rem;
80
- margin-left: -0.75rem;
81
- width: calc(100% + 1.5rem);
80
+ /* Sizing */
81
+ .bs-dropdown:where([data-width="sm"]) {
82
+ --dropdown-wscreen-width: 10rem;
82
83
  }
83
84
 
84
- .bs-dropdown:where([data-search]:not([data-search="false"])) :where(.bs-dropdown-options) {
85
- --options-height-max: 11.5rem;
85
+ .bs-dropdown:where([data-width="md"]),
86
+ .bs-dropdown:where(:not([data-width])) {
87
+ --dropdown-wscreen-width: 20rem;
86
88
  }
87
89
 
88
- /* data-shown */
89
- .bs-dropdown:where([data-shown]:not([data-shown="false"])) {
90
- opacity: 1;
91
- transform: translateY(0);
92
- z-index: 999;
90
+ .bs-dropdown:where([data-width="lg"]) {
91
+ --dropdown-wscreen-width: 40rem;
92
+ }
93
+
94
+ .bs-dropdown:where([data-width="content"]) {
95
+ --dropdown-wscreen-width: auto;
96
+ }
97
+
98
+ .bs-dropdown-parent:where([data-width="toggle"]) :where(.bs-dropdown),
99
+ .bs-dropdown-parent:where([data-width="anchor"]) :where(.bs-dropdown) {
100
+ --dropdown-wscreen-width: 100%;
101
+ }
102
+
103
+ /* data-top */
104
+ .bs-dropdown:where([data-top]:not([data-top="false"])) {
105
+ --dropdown-wscreen-bottom: calc(100% + 0.5rem);
106
+ --dropdown-wscreen-top: auto;
107
+ }
108
+
109
+ /* data-center */
110
+ .bs-dropdown-parent:where([data-center]:not([data-center="false"])) :where(.bs-dropdown) {
111
+ --dropdown-transform: translate(-50%, 0);
112
+ --dropdown-wscreen-left: 50%;
113
+ }
114
+
115
+ /* Overrides mobile style when not min-width 752 */
116
+ .bs-dropdown:where([data-no-mobile="true"]) {
117
+ --dropdown-bottom: var(--dropdown-wscreen-bottom, auto);
118
+ --dropdown-left: var(--dropdown-wscreen-left, initial);
119
+ --dropdown-right: var(--dropdown-wscreen-right, initial);
120
+ --dropdown-top: var(--dropdown-wscreen-top, calc(100% + 0.5rem));
121
+ --dropdown-width: var(--dropdown-wscreen-width, initial);
122
+ --dropdown-transform: initial;
123
+
124
+ position: absolute;
125
+ }
126
+
127
+ .bs-dropdown:where([data-no-mobile="true"]) > :where(header) {
128
+ display: none;
93
129
  }
94
130
 
95
131
  @media (min-width: 752px) {
@@ -103,64 +139,16 @@
103
139
  --dropdown-right: var(--dropdown-wscreen-right, initial);
104
140
  --dropdown-top: var(--dropdown-wscreen-top, calc(100% + 0.5rem));
105
141
  --dropdown-width: var(--dropdown-wscreen-width, initial);
142
+ --dropdown-transform: initial;
143
+
106
144
  position: absolute;
107
- transform: initial;
108
145
  }
109
146
 
110
147
  /* Hide the header */
111
148
  .bs-dropdown > :where(header) {
112
149
  display: none;
113
150
  }
114
-
115
- /* Sizing */
116
- .bs-dropdown:where([data-width="sm"]) {
117
- --dropdown-wscreen-width: 10rem;
118
- }
119
-
120
- .bs-dropdown:where([data-width="md"]),
121
- .bs-dropdown:where(:not([data-width])) {
122
- --dropdown-wscreen-width: 20rem;
123
- }
124
-
125
- .bs-dropdown:where([data-width="lg"]) {
126
- --dropdown-wscreen-width: 40rem;
127
- }
128
-
129
- .bs-dropdown:where([data-width="content"]) {
130
- --dropdown-wscreen-width: auto;
131
- }
132
-
133
- .bs-dropdown-parent:where([data-width="toggle"]) :where(.bs-dropdown) {
134
- --dropdown-wscreen-width: 100%;
135
- }
136
-
137
- /* data-shown */
138
- .bs-dropdown:where([data-shown]:not([data-shown="false"])) {
139
- opacity: 1;
140
- }
141
-
142
- /* data-top */
143
- .bs-dropdown:where([data-top]:not([data-top="false"])) {
144
- --dropdown-wscreen-bottom: calc(100% + 0.5rem);
145
- --dropdown-wscreen-top: auto;
146
- }
147
-
148
- /* data-justify="center" */
149
- .bs-dropdown-parent:where([data-center]:not([data-center="false"])) :where(.bs-dropdown) {
150
- --dropdown-wscreen-left: 50%;
151
- transform: translateX(-50%);
152
- }
153
-
154
- .bs-dropdown :where(.bs-dropdown-options) {
155
- --options-height-max: 20rem;
156
- }
157
- .bs-dropdown:where([data-search]:not([data-search="false"])) :where(.bs-dropdown-options) {
158
- --options-height-max: 17.25rem;
159
- }
160
151
  }
161
152
 
162
-
163
-
164
-
165
153
  }
166
154
 
@@ -100,8 +100,8 @@ and issues with box-sizing
100
100
 
101
101
  /* -------- Inner-bordered styles -------- */
102
102
  /** Inner borders should be straight; shown only if variant: "inner-bordered" */
103
- .bs-input-addon:where([data-variant="inner-bordered"]),
104
- .bs-input-addon:where([data-variant="inner-bordered"]) :where(.bs-input-addon) {
103
+
104
+ .bs-input-addon:where([data-variant="inner-bordered"]) {
105
105
  --input-addon-nested-border: var(--bs-violet-lightest);
106
106
  }
107
107
 
@@ -165,7 +165,7 @@ and issues with box-sizing
165
165
  z-index: 1;
166
166
  }
167
167
 
168
- .bs-input-addon:where([data-multifocus]:not([data-multifocus="false"])) > :where(:not(.bs-input-addon)) > :where(input:focus, select:focus, button:focus),
168
+ .bs-input-addon:where([data-multifocus]:not([data-multifocus="false"])) > :where(:not(.bs-input-addon)) > :is(input, select, button):where(:focus),
169
169
  .bs-input-addon:where([data-multifocus]:not([data-multifocus="false"])) > :is(input, select):where(.bs-input, .bs-select):where(:focus),
170
170
  .bs-input-addon:where([data-multifocus]:not([data-multifocus="false"])) > :is(bs-input, bs-select) :where(input:focus, select:focus),
171
171
  .bs-input-addon:where([data-multifocus]:not([data-multifocus="false"])) > :where(input:focus, select:focus, button:focus) {
@@ -199,6 +199,7 @@ and issues with box-sizing
199
199
  .bs-input-addon:where([data-disabled]:not([data-disabled="false"])) .bs-button {
200
200
  --input-bg: var(--bs-bg-disabled);
201
201
  --input-border: var(--bs-ink-disabled);
202
+ --input-addon-nested-border: var(--bs-ink-disabled);
202
203
  color: var(--bs-ink-disabled);
203
204
  }
204
205
  .bs-input-addon:where([data-disabled]:not([data-disabled="false"])) * {
@@ -0,0 +1,16 @@
1
+ @mixin form-input-phone() {
2
+ .bs-input-phone :where(.bs-input-addon) > button {
3
+ align-items: center;
4
+ column-gap: .5rem;
5
+ cursor: pointer;
6
+ display: grid;
7
+ grid-template-columns: 1.25rem auto .75rem;
8
+ min-width: 6rem;
9
+ padding: 0 1rem;
10
+ }
11
+ .bs-input-phone ul:where(.bs-dropdown-options) {
12
+ min-width: 7.5rem;
13
+ }
14
+
15
+ }
16
+
@@ -40,13 +40,14 @@
40
40
  }
41
41
  /* Initials */
42
42
  .bs-profile-img:where([data-no-img]:not([data-no-img="false"]))::after {
43
+ align-items: center;
43
44
  border: 1px solid currentColor;
44
45
  color: var(--bs-blue-500);
45
46
  content: attr(data-initials);
47
+ display: flex;
46
48
  font-size: var(--profile-text);
49
+ justify-content: center;
47
50
  text-transform: uppercase;
48
- display: grid;
49
- place-items: center;
50
51
  }
51
52
 
52
53
  /* Profile Sizes */
@@ -4,10 +4,12 @@
4
4
  flex-direction: column;
5
5
  gap: 0.5rem;
6
6
  list-style: none;
7
- margin-block: 0.25rem;
7
+ margin-bottom: 0.25rem;
8
+ margin-top: 0.25rem;
8
9
  max-height: var(--options-height-max, 20rem);/* constrain scrollable to options section */
9
10
  overflow-y: auto;
10
11
  padding-block: 0.5rem;
12
+ padding-left: 0;
11
13
  }
12
14
 
13
15
  /* Option list item */
@@ -34,8 +36,15 @@
34
36
  grid-template-columns: min-content 1fr;
35
37
  }
36
38
 
39
+ /* Variant: 3-col */
40
+ .bs-dropdown-options :where(li[data-variant~="3-col"]) {
41
+ grid-template-columns: min-content min-content 1fr;
42
+ }
43
+
37
44
  /* Variant: description */
38
- .bs-dropdown-options :where(li:not([data-variant~="2-col"])[data-variant~="description"] > :nth-child(2)) {
45
+ .bs-dropdown-options :where(li:not([data-variant*="-col"])[data-variant~="description"] > :nth-child(2)),
46
+ .bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"] > :nth-child(3)),
47
+ .bs-dropdown-options :where(li[data-variant~="3-col"][data-variant~="description"] > :nth-child(4)) {
39
48
  color: var(--bs-ink-light);
40
49
  font-size: var(--bs-text-xs);
41
50
  min-height: 1.125rem;
@@ -44,11 +53,12 @@
44
53
 
45
54
  /* Variant: 2-col description */
46
55
  .bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"] > :nth-child(3)) {
47
- color: var(--bs-ink-light);
48
- font-size: var(--bs-text-xs);
49
56
  grid-column-start: 2;
50
- min-height: 1.125rem;
51
- line-height: 1.125rem;
57
+ }
58
+
59
+ /* Variant: 3-col description */
60
+ .bs-dropdown-options :where(li[data-variant~="3-col"][data-variant~="description"] > :nth-child(4)) {
61
+ grid-column-start: 3;
52
62
  }
53
63
 
54
64
  /* Hover or data-selected */
@@ -70,19 +80,23 @@
70
80
  color: var(--bs-red-500);
71
81
  }
72
82
 
73
- /* Hover or data-selected for 2-col/description variants */
74
- .bs-dropdown-options :where(li:not([data-variant~="2-col"])[data-variant~="description"]:hover > :nth-child(2)),
83
+ /* Hover or data-selected for 2-col/3-col/description variants */
84
+ .bs-dropdown-options :where(li:not([data-variant*="-col"])[data-variant~="description"]:hover > :nth-child(2)),
75
85
  .bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"]:hover > :nth-child(3)),
76
- .bs-dropdown-options :where(li:not([data-variant~="2-col"])[data-variant~="description"][data-selected] > :nth-child(2)),
77
- .bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"][data-selected] > :nth-child(3)) {
86
+ .bs-dropdown-options :where(li[data-variant~="3-col"][data-variant~="description"]:hover > :nth-child(4)),
87
+ .bs-dropdown-options :where(li:not([data-variant*="-col"])[data-variant~="description"][data-selected] > :nth-child(2)),
88
+ .bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"][data-selected] > :nth-child(3)),
89
+ .bs-dropdown-options :where(li[data-variant~="3-col"][data-variant~="description"][data-selected] > :nth-child(4)) {
78
90
  color: var(--bs-blue-base);
79
91
  }
80
92
 
81
- /* Hover or data-selected for negative + 2-col/description variants */
82
- .bs-dropdown-options :where(li[data-variant~="negative"]:not([data-variant~="2-col"])[data-variant~="description"]:hover > :nth-child(2)),
93
+ /* Hover or data-selected for negative + 2-col/3-col/description variants */
94
+ .bs-dropdown-options :where(li[data-variant~="negative"]:not([data-variant*="-col"])[data-variant~="description"]:hover > :nth-child(2)),
83
95
  .bs-dropdown-options :where(li[data-variant~="negative"][data-variant~="2-col"][data-variant~="description"]:hover > :nth-child(3)),
84
- .bs-dropdown-options :where(li[data-variant~="negative"]:not([data-variant~="2-col"])[data-variant~="description"][data-selected] > :nth-child(2)),
85
- .bs-dropdown-options :where(li[data-variant~="negative"][data-variant~="2-col"][data-variant~="description"][data-selected] > :nth-child(3)) {
96
+ .bs-dropdown-options :where(li[data-variant~="negative"][data-variant~="3-col"][data-variant~="description"]:hover > :nth-child(4)),
97
+ .bs-dropdown-options :where(li[data-variant~="negative"]:not([data-variant*="-col"])[data-variant~="description"][data-selected] > :nth-child(2)),
98
+ .bs-dropdown-options :where(li[data-variant~="negative"][data-variant~="2-col"][data-variant~="description"][data-selected] > :nth-child(3)),
99
+ .bs-dropdown-options :where(li[data-variant~="negative"][data-variant~="3-col"][data-variant~="description"][data-selected] > :nth-child(4)) {
86
100
  color: var(--bs-red-500);
87
101
  }
88
102
 
@@ -122,6 +136,7 @@
122
136
  padding-right: 1.375rem;
123
137
  }
124
138
 
139
+ /* Multi-select divider line */
125
140
  .bs-dropdown-options :where(hr) {
126
141
  background-color: var(--bs-navy-light);
127
142
  height: .0625rem;
@@ -129,6 +144,53 @@
129
144
  margin-inline: 0;
130
145
  }
131
146
 
147
+ /* Disable hover styles */
148
+ .bs-dropdown-options :where(li[data-no-hover]:hover) {
149
+ background-color: transparent;
150
+ border-left-color: transparent;
151
+ color: var(--bs-ink-base);
152
+ cursor: default;
153
+ }
154
+
155
+ /* Style label to look like other options */
156
+ .bs-dropdown-options :where(li label) {
157
+ cursor: pointer;
158
+ font-size: 1rem;
159
+ font-weight: 400;
160
+ }
161
+
162
+ /* Don't change option color when checkbox is present */
163
+ .bs-dropdown-options :where(li[data-variant~="checkbox"]):hover,
164
+ .bs-dropdown-options :where(li[data-variant~="checkbox"][data-selected]) {
165
+ color: var(--bs-ink-base);
166
+ }
167
+
168
+ /* Don't change description color when checkbox is present */
169
+ .bs-dropdown-options :where(li[data-variant~="checkbox"][data-variant~="2-col"][data-variant~="description"]):hover > :nth-child(3),
170
+ .bs-dropdown-options :where(li[data-variant~="checkbox"][data-variant~="2-col"][data-variant~="description"][data-selected]) > :nth-child(3),
171
+ .bs-dropdown-options :where(li[data-variant~="checkbox"][data-variant~="3-col"][data-variant~="description"]):hover > :nth-child(4),
172
+ .bs-dropdown-options :where(li[data-variant~="checkbox"][data-variant~="3-col"][data-variant~="description"][data-selected]) > :nth-child(4) {
173
+ color: var(--bs-ink-light);
174
+ }
175
+
176
+ /* Overrides mobile style when not min-width 752 */
177
+ .bs-dropdown:where([data-no-mobile="true"]) :where(.bs-dropdown-options) :where(li) {
178
+ padding-left: 0.5rem;
179
+ padding-right: 0.75rem;
180
+ }
181
+
182
+ .bs-dropdown:where([data-no-mobile="true"]) :where(.bs-dropdown-options) :where(li[role="separator"]) {
183
+ padding-right: 0.625rem;
184
+ }
185
+
186
+ .bs-dropdown:where([data-no-mobile="true"]) :where(.bs-dropdown-options) :where(li:focus-visible) {
187
+ padding-left: 0.625rem;
188
+ }
189
+
190
+ .bs-dropdown:where([data-no-mobile="true"]) :where(.bs-dropdown-options) :where(li[data-selected]:focus-visible) {
191
+ padding-left: 0.5rem;
192
+ }
193
+
132
194
  @media (min-width: 752px) {
133
195
  .bs-dropdown-options :where(li) {
134
196
  padding-left: 0.5rem;