Skip to content

Commit 74e79b8

Browse files
committed
fix: add theme class to MeiliSearchBox
The theme class is set according the enableDarkMode setting (auto, light, dark)
1 parent f037c97 commit 74e79b8

File tree

1 file changed

+58
-29
lines changed

1 file changed

+58
-29
lines changed

MeiliSearchBox.vue

Lines changed: 58 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
id="search-form"
44
class="meilisearch-search-wrapper search-box"
55
role="search"
6+
:class="'theme-' + theme"
67
>
78
<input
89
id="meilisearch-search-input"
@@ -17,6 +18,7 @@ export default {
1718
name: 'MeiliSearchBox',
1819
data() {
1920
return {
21+
theme: false,
2022
placeholder: undefined
2123
}
2224
},
@@ -43,6 +45,7 @@ export default {
4345
debug: DEBUG,
4446
enableDarkMode: ENABLE_DARK_MODE
4547
}
48+
this.updateTheme(options)
4649
this.initialize(options)
4750
this.placeholder =
4851
PLACEHOLDER || this.$site.themeConfig.searchPlaceholder || ''
@@ -72,9 +75,14 @@ export default {
7275
},
7376
7477
update(options) {
78+
this.updateTheme(options)
7579
this.$el.innerHTML =
7680
'<input id="meilisearch-search-input" class="search-query">'
7781
this.initialize(options)
82+
},
83+
84+
updateTheme(options) {
85+
this.theme = options.enableDarkMode === true ? 'dark' : options.enableDarkMode === false ? 'light' : 'auto'
7886
}
7987
}
8088
}
@@ -83,6 +91,55 @@ export default {
8391
<style lang="stylus">
8492
@require './styles/palette.styl'
8593
94+
light-input()
95+
color lighten($textColor, 25%)
96+
border 1px solid darken($borderColor, 10%)
97+
background-color #fff
98+
&:focus
99+
border-color $accentColor
100+
101+
dark-input()
102+
color $textDarkColor
103+
border 1px solid $borderDarkColor
104+
background-color $inputDarkBgColor
105+
&:focus
106+
border-color $accentDarkColor
107+
108+
// Searchbox
109+
#meilisearch-search-input
110+
cursor text
111+
width 10rem
112+
height: 2rem
113+
display inline-block
114+
border-radius 2rem
115+
font-size 0.9rem
116+
line-height 2rem
117+
padding 0 0.5rem 0 2rem
118+
outline none
119+
transition border .2s ease
120+
background: url(assets/search.svg) 0.6rem 0.5rem no-repeat
121+
&:focus
122+
cursor auto
123+
background-size 1rem
124+
125+
.meilisearch-search-wrapper.theme-light
126+
#meilisearch-search-input
127+
light-input()
128+
129+
.meilisearch-search-wrapper.theme-dark
130+
#meilisearch-search-input
131+
dark-input()
132+
133+
@media (prefers-color-scheme: dark)
134+
.meilisearch-search-wrapper.theme-auto
135+
#meilisearch-search-input
136+
dark-input()
137+
138+
@media (prefers-color-scheme: light)
139+
.meilisearch-search-wrapper.theme-auto
140+
#meilisearch-search-input
141+
light-input()
142+
86143
.meilisearch-search-wrapper
87144
display: inline-block;
88145
position: relative;
@@ -91,29 +148,9 @@ export default {
91148
vertical-align middle
92149
.dsb-cursor
93150
background rgba($accentColor, 0.05)
94-
95-
// Searchbox
96-
#meilisearch-search-input
97-
cursor text
98-
width 10rem
99-
height: 2rem
100-
color lighten($textColor, 25%)
101-
display inline-block
102-
border 1px solid darken($borderColor, 10%)
103-
border-radius 2rem
104-
font-size 0.9rem
105-
line-height 2rem
106-
padding 0 0.5rem 0 2rem
107-
outline none
108-
transition all .2s ease
109-
&:focus
110-
cursor auto
111-
border-color $accentColor
112-
background #fff url(assets/search.svg) 0.6rem 0.5rem no-repeat
113-
background-size 1rem
114-
115151
.meilisearch-autocomplete
116152
line-height: 2
153+
117154
// Layout "columns"
118155
.docs-searchbar-suggestion:not(.suggestion-layout-simple)
119156
border-color $borderColor
@@ -178,14 +215,6 @@ export default {
178215
.dsb-dropdown-menu [class^=dsb-dataset-], .docs-searchbar-suggestion
179216
background $dropdownBgDarkColor
180217
181-
// Searchbox
182-
#meilisearch-search-input
183-
color $textDarkColor
184-
border 1px solid $borderDarkColor
185-
background-color $inputDarkBgColor
186-
&:focus
187-
border-color $accentDarkColor
188-
189218
// Layout "columns"
190219
.docs-searchbar-suggestion:not(.suggestion-layout-simple)
191220
border-color $borderDarkColor

0 commit comments

Comments
 (0)