@@ -111,11 +111,10 @@ wp.customize.controlConstructor['kirki-typography'] = wp.customize.Control.exten
111
111
control . saveValue ( 'font-family' , jQuery ( this ) . val ( ) ) ;
112
112
113
113
// Re-init variants selector.
114
- jQuery ( variantSelector ) . select2 ( 'destroy' ) ;
115
114
control . renderVariantSelector ( ) ;
116
115
116
+
117
117
// Re-init subsets selector.
118
- jQuery ( subsetSelector ) . select2 ( 'destroy' ) ;
119
118
control . renderSubsetSelector ( ) ;
120
119
} ) ;
121
120
} ,
@@ -132,29 +131,41 @@ wp.customize.controlConstructor['kirki-typography'] = wp.customize.Control.exten
132
131
variants = control . getVariants ( fontFamily ) ,
133
132
selector = control . selector + ' .variant select' ,
134
133
data = [ ] ,
134
+ isValid = false ,
135
135
variantSelector ;
136
136
137
137
if ( false !== variants ) {
138
138
jQuery ( control . selector + ' .variant' ) . show ( ) ;
139
139
_ . each ( variants , function ( variant ) {
140
+ if ( value . variant === variant . id ) {
141
+ isValid = true ;
142
+ }
140
143
data . push ( {
141
144
id : variant . id ,
142
145
text : variant . label
143
146
} ) ;
144
147
} ) ;
148
+ if ( ! isValid ) {
149
+ value . variant = 'regular' ;
150
+ control . saveValue ( 'variant' , value . variant ) ;
151
+ }
152
+
153
+ if ( jQuery ( selector ) . hasClass ( 'select2-hidden-accessible' ) ) {
154
+ jQuery ( selector ) . select2 ( 'destroy' ) ;
155
+ jQuery ( selector ) . empty ( ) ;
156
+ }
145
157
158
+ // Instantiate select2 with the data.
159
+ variantSelector = jQuery ( selector ) . select2 ( {
160
+ data : data
161
+ } ) ;
162
+ variantSelector . val ( value . variant ) ;
163
+ variantSelector . on ( 'change' , function ( ) {
164
+ control . saveValue ( 'variant' , jQuery ( this ) . val ( ) ) ;
165
+ } ) ;
146
166
} else {
147
167
jQuery ( control . selector + ' .variant' ) . hide ( ) ;
148
168
}
149
-
150
- // Instantiate select2 with the data.
151
- variantSelector = jQuery ( selector ) . select2 ( {
152
- data : data
153
- } ) ;
154
- variantSelector . val ( value . variant ) ;
155
- variantSelector . on ( 'change' , function ( ) {
156
- control . saveValue ( 'variant' , jQuery ( this ) . val ( ) ) ;
157
- } ) ;
158
169
} ,
159
170
160
171
/**
@@ -184,6 +195,11 @@ wp.customize.controlConstructor['kirki-typography'] = wp.customize.Control.exten
184
195
jQuery ( control . selector + ' .subsets' ) . hide ( ) ;
185
196
}
186
197
198
+ if ( jQuery ( selector ) . hasClass ( 'select2-hidden-accessible' ) ) {
199
+ jQuery ( selector ) . select2 ( 'destroy' ) ;
200
+ jQuery ( selector ) . empty ( ) ;
201
+ }
202
+
187
203
// Instantiate select2 with the data.
188
204
subsetSelector = jQuery ( selector ) . select2 ( {
189
205
data : data
0 commit comments