PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 3.5.0
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v3.5.0
4.9.1 4.9.0 4.8.2 4.8.1 4.8.0 4.7.0 4.6.2 4.6.1 4.6.0 4.5.6 4.5.5 4.5.4 4.5.3 4.5.2 4.5.1 4.5.0 4.4.1 4.4.0 3.3.4 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.5.2 All 199 releases
betterdocs / includes / Admin / Customizer / Sections / LiveSearch.php

LiveSearch.php in BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot 3.5.0, at includes/Admin/Customizer/Sections/LiveSearch.php

1,639 lines 70.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace WPDeveloper\BetterDocs\Admin\Customizer\Sections;
4
5 use WP_Customize_Control;
6 use WP_Customize_Image_Control;
7 use WPDeveloper\BetterDocs\Admin\Customizer\Controls\TitleControl;
8 use WPDeveloper\BetterDocs\Admin\Customizer\Controls\SelectControl;
9 use WPDeveloper\BetterDocs\Admin\Customizer\Controls\ToggleControl;
10 use WPDeveloper\BetterDocs\Admin\Customizer\Controls\DimensionControl;
11 use WPDeveloper\BetterDocs\Admin\Customizer\Controls\SeparatorControl;
12 use WPDeveloper\BetterDocs\Admin\Customizer\Controls\AlphaColorControl;
13 use WPDeveloper\BetterDocs\Admin\Customizer\Controls\RangeValueControl;
14
15 class LiveSearch extends Section {
16 /**
17 * Section Priority
18 * @var int
19 */
20 protected $priority = 500;
21
22 /**
23 * Get the section id.
24 * @return string
25 */
26 public function get_id() {
27 return 'betterdocs_live_search_settings';
28 }
29
30 /**
31 * Get the title of the section.
32 * @return string
33 */
34 public function get_title() {
35 return __( 'Live Search', 'betterdocs' );
36 }
37
38 public function search_heading_switch() {
39 $this->customizer->add_setting( 'betterdocs_live_search_heading_switch', [
40 'default' => $this->defaults['betterdocs_live_search_heading_switch'],
41 'capability' => 'edit_theme_options'
42
43 ] );
44
45 $this->customizer->add_control( new ToggleControl(
46 $this->customizer, 'betterdocs_live_search_heading_switch', [
47 'label' => __( 'Search Heading', 'betterdocs' ),
48 'section' => 'betterdocs_live_search_settings',
49 'settings' => 'betterdocs_live_search_heading_switch',
50 'type' => 'light', // light, ios, flat
51 'priority' => 501
52 ] )
53 );
54 }
55
56 public function search_heading() {
57 $this->customizer->add_setting( 'betterdocs_live_search_heading', [
58 'default' => $this->defaults['betterdocs_live_search_heading'],
59 'capability' => 'edit_theme_options',
60 'sanitize_callback' => 'esc_html'
61 ] );
62
63 $this->customizer->add_control(
64 new SelectControl(
65 $this->customizer,
66 'betterdocs_live_search_heading',
67 [
68 'label' => __( 'Heading', 'betterdocs' ),
69 'section' => 'betterdocs_live_search_settings',
70 'settings' => 'betterdocs_live_search_heading',
71 'type' => 'text',
72 'priority' => 502
73 ]
74 )
75 );
76 }
77
78 public function heading_tag() {
79 $this->customizer->add_setting( 'betterdocs_live_search_heading_tag', [
80 'default' => $this->defaults['betterdocs_live_search_heading_tag'],
81 'capability' => 'edit_theme_options',
82 'sanitize_callback' => [$this->sanitizer, 'select']
83 ] );
84
85 $this->customizer->add_control(
86 new WP_Customize_Control(
87 $this->customizer,
88 'betterdocs_live_search_heading_tag',
89 [
90 'label' => __( 'Heading Tags', 'betterdocs' ),
91 'section' => 'betterdocs_live_search_settings',
92 'settings' => 'betterdocs_live_search_heading_tag',
93 'type' => 'select',
94 'choices' => [
95 'h1' => 'h1',
96 'h2' => 'h2',
97 'h3' => 'h3',
98 'h4' => 'h4',
99 'h5' => 'h5',
100 'h6' => 'h6'
101 ],
102 'priority' => 502
103 ]
104 )
105 );
106 }
107
108 public function heading_font_size() {
109 $this->customizer->add_setting( 'betterdocs_live_search_heading_font_size', [
110 'default' => $this->defaults['betterdocs_live_search_heading_font_size'],
111 'capability' => 'edit_theme_options',
112 'transport' => 'postMessage',
113 'sanitize_callback' => [$this->sanitizer, 'integer']
114
115 ] );
116
117 $this->customizer->add_control( new RangeValueControl(
118 $this->customizer, 'betterdocs_live_search_heading_font_size', [
119 'type' => 'betterdocs-range-value',
120 'section' => 'betterdocs_live_search_settings',
121 'settings' => 'betterdocs_live_search_heading_font_size',
122 'label' => __( 'Heading Font Size', 'betterdocs' ),
123 'input_attrs' => [
124 'class' => '',
125 'min' => 0,
126 'max' => 100,
127 'step' => 1,
128 'suffix' => 'px' //optional suffix
129 ],
130 'priority' => 503
131 ] )
132 );
133 }
134
135 public function heading_font_color() {
136 $this->customizer->add_setting( 'betterdocs_live_search_heading_font_color', [
137 'default' => $this->defaults['betterdocs_live_search_heading_font_color'],
138 'capability' => 'edit_theme_options',
139 'transport' => 'postMessage',
140 'sanitize_callback' => [$this->sanitizer, 'rgba']
141 ] );
142
143 $this->customizer->add_control(
144 new AlphaColorControl(
145 $this->customizer,
146 'betterdocs_live_search_heading_font_color',
147 [
148 'label' => __( 'Heading Color', 'betterdocs' ),
149 'section' => 'betterdocs_live_search_settings',
150 'settings' => 'betterdocs_live_search_heading_font_color',
151 'priority' => 504
152 ]
153 )
154 );
155 }
156
157 public function heading_margin() {
158 $this->customizer->add_setting( 'betterdocs_search_heading_margin', [
159 'default' => $this->defaults['betterdocs_search_heading_margin'],
160 'capability' => 'edit_theme_options',
161 'transport' => 'postMessage',
162 'sanitize_callback' => [$this->sanitizer, 'integer']
163
164 ] );
165
166 $this->customizer->add_control( new TitleControl(
167 $this->customizer, 'betterdocs_search_heading_margin', [
168 'type' => 'betterdocs-title',
169 'section' => 'betterdocs_live_search_settings',
170 'settings' => 'betterdocs_search_heading_margin',
171 'label' => __( 'Heading Margin', 'betterdocs' ),
172 'input_attrs' => [
173 'id' => 'betterdocs_search_heading_margin',
174 'class' => 'betterdocs-dimension'
175 ],
176 'priority' => 505
177 ] )
178 );
179
180 $this->customizer->add_setting( 'betterdocs_search_heading_margin_top', [
181 'default' => $this->defaults['betterdocs_search_heading_margin_top'],
182 'capability' => 'edit_theme_options',
183 'transport' => 'postMessage',
184 'sanitize_callback' => [$this->sanitizer, 'integer']
185 ] );
186
187 $this->customizer->add_control( new DimensionControl(
188 $this->customizer, 'betterdocs_search_heading_margin_top', [
189 'type' => 'betterdocs-dimension',
190 'section' => 'betterdocs_live_search_settings',
191 'settings' => 'betterdocs_search_heading_margin_top',
192 'label' => __( 'Top', 'betterdocs' ),
193 'input_attrs' => [
194 'class' => 'betterdocs_search_heading_margin betterdocs-dimension'
195 ],
196 'priority' => 505
197 ] )
198 );
199
200 $this->customizer->add_setting( 'betterdocs_search_heading_margin_right', [
201 'default' => $this->defaults['betterdocs_search_heading_margin_right'],
202 'capability' => 'edit_theme_options',
203 'transport' => 'postMessage',
204 'sanitize_callback' => [$this->sanitizer, 'integer']
205
206 ] );
207
208 $this->customizer->add_control( new DimensionControl(
209 $this->customizer, 'betterdocs_search_heading_margin_right', [
210 'type' => 'betterdocs-dimension',
211 'section' => 'betterdocs_live_search_settings',
212 'settings' => 'betterdocs_search_heading_margin_right',
213 'label' => __( 'Right', 'betterdocs' ),
214 'input_attrs' => [
215 'class' => 'betterdocs_search_heading_margin betterdocs-dimension'
216 ],
217 'priority' => 505
218 ] )
219 );
220
221 $this->customizer->add_setting( 'betterdocs_search_heading_margin_bottom', [
222 'default' => $this->defaults['betterdocs_search_heading_margin_bottom'],
223 'capability' => 'edit_theme_options',
224 'transport' => 'postMessage',
225 'sanitize_callback' => [$this->sanitizer, 'integer']
226
227 ] );
228
229 $this->customizer->add_control( new DimensionControl(
230 $this->customizer, 'betterdocs_search_heading_margin_bottom', [
231 'type' => 'betterdocs-dimension',
232 'section' => 'betterdocs_live_search_settings',
233 'settings' => 'betterdocs_search_heading_margin_bottom',
234 'label' => __( 'Bottom', 'betterdocs' ),
235 'input_attrs' => [
236 'class' => 'betterdocs_search_heading_margin betterdocs-dimension'
237 ],
238 'priority' => 505
239 ] )
240 );
241
242 $this->customizer->add_setting( 'betterdocs_search_heading_margin_left', [
243 'default' => $this->defaults['betterdocs_search_heading_margin_left'],
244 'capability' => 'edit_theme_options',
245 'transport' => 'postMessage',
246 'sanitize_callback' => [$this->sanitizer, 'integer']
247
248 ] );
249
250 $this->customizer->add_control( new DimensionControl(
251 $this->customizer, 'betterdocs_search_heading_margin_left', [
252 'type' => 'betterdocs-dimension',
253 'section' => 'betterdocs_live_search_settings',
254 'settings' => 'betterdocs_search_heading_margin_left',
255 'label' => __( 'Left', 'betterdocs' ),
256 'input_attrs' => [
257 'class' => 'betterdocs_search_heading_margin betterdocs-dimension'
258 ],
259 'priority' => 505
260 ] )
261 );
262 }
263
264 public function search_subheading() {
265 $this->customizer->add_setting( 'betterdocs_live_search_subheading', [
266 'default' => $this->defaults['betterdocs_live_search_subheading'],
267 'capability' => 'edit_theme_options',
268 'sanitize_callback' => 'esc_html'
269 ] );
270
271 $this->customizer->add_control(
272 new SelectControl(
273 $this->customizer,
274 'betterdocs_live_search_subheading',
275 [
276 'label' => __( 'Sub Heading', 'betterdocs' ),
277 'section' => 'betterdocs_live_search_settings',
278 'settings' => 'betterdocs_live_search_subheading',
279 'type' => 'text',
280 'priority' => 506
281 ]
282 )
283 );
284 }
285
286 public function subheading_tag() {
287 $this->customizer->add_setting( 'betterdocs_live_search_subheading_tag', [
288 'default' => $this->defaults['betterdocs_live_search_subheading_tag'],
289 'capability' => 'edit_theme_options',
290 'sanitize_callback' => [$this->sanitizer, 'select']
291 ] );
292
293 $this->customizer->add_control(
294 new WP_Customize_Control(
295 $this->customizer,
296 'betterdocs_live_search_subheading_tag',
297 [
298 'label' => __( 'Sub Heading Tags', 'betterdocs' ),
299 'section' => 'betterdocs_live_search_settings',
300 'settings' => 'betterdocs_live_search_subheading_tag',
301 'type' => 'select',
302 'choices' => [
303 'h1' => 'h1',
304 'h2' => 'h2',
305 'h3' => 'h3',
306 'h4' => 'h4',
307 'h5' => 'h5',
308 'h6' => 'h6'
309 ],
310 'priority' => 507
311 ]
312 )
313 );
314 }
315
316 public function subheading_font_size() {
317 $this->customizer->add_setting( 'betterdocs_live_search_subheading_font_size', [
318 'default' => $this->defaults['betterdocs_live_search_subheading_font_size'],
319 'capability' => 'edit_theme_options',
320 'transport' => 'postMessage',
321 'sanitize_callback' => [$this->sanitizer, 'integer']
322
323 ] );
324
325 $this->customizer->add_control( new RangeValueControl(
326 $this->customizer, 'betterdocs_live_search_subheading_font_size', [
327 'type' => 'betterdocs-range-value',
328 'section' => 'betterdocs_live_search_settings',
329 'settings' => 'betterdocs_live_search_subheading_font_size',
330 'label' => __( 'Sub Heading Font Size', 'betterdocs' ),
331 'input_attrs' => [
332 'class' => '',
333 'min' => 0,
334 'max' => 100,
335 'step' => 1,
336 'suffix' => 'px' //optional suffix
337 ],
338 'priority' => 507
339 ] )
340 );
341 }
342
343 public function subheading_font_color() {
344 $this->customizer->add_setting( 'betterdocs_live_search_subheading_font_color', [
345 'default' => $this->defaults['betterdocs_live_search_subheading_font_color'],
346 'capability' => 'edit_theme_options',
347 'transport' => 'postMessage',
348 'sanitize_callback' => [$this->sanitizer, 'rgba']
349 ] );
350
351 $this->customizer->add_control(
352 new AlphaColorControl(
353 $this->customizer,
354 'betterdocs_live_search_subheading_font_color',
355 [
356 'label' => __( 'Sub Heading Color', 'betterdocs' ),
357 'section' => 'betterdocs_live_search_settings',
358 'settings' => 'betterdocs_live_search_subheading_font_color',
359 'priority' => 508
360 ]
361 )
362 );
363 }
364
365 public function subheading_margin() {
366 $this->customizer->add_setting( 'betterdocs_search_subheading_margin', [
367 'default' => $this->defaults['betterdocs_search_subheading_margin'],
368 'capability' => 'edit_theme_options',
369 'transport' => 'postMessage',
370 'sanitize_callback' => [$this->sanitizer, 'integer']
371
372 ] );
373
374 $this->customizer->add_control( new TitleControl(
375 $this->customizer, 'betterdocs_search_subheading_margin', [
376 'type' => 'betterdocs-title',
377 'section' => 'betterdocs_live_search_settings',
378 'settings' => 'betterdocs_search_subheading_margin',
379 'label' => __( 'Sub Heading Margin', 'betterdocs' ),
380 'input_attrs' => [
381 'id' => 'betterdocs_search_subheading_margin',
382 'class' => 'betterdocs-dimension'
383 ],
384 'priority' => 509
385 ] )
386 );
387
388 $this->customizer->add_setting( 'betterdocs_search_subheading_margin_top', [
389 'default' => $this->defaults['betterdocs_search_subheading_margin_top'],
390 'capability' => 'edit_theme_options',
391 'transport' => 'postMessage',
392 'sanitize_callback' => [$this->sanitizer, 'integer']
393 ] );
394
395 $this->customizer->add_control( new DimensionControl(
396 $this->customizer, 'betterdocs_search_subheading_margin_top', [
397 'type' => 'betterdocs-dimension',
398 'section' => 'betterdocs_live_search_settings',
399 'settings' => 'betterdocs_search_subheading_margin_top',
400 'label' => __( 'Top', 'betterdocs' ),
401 'input_attrs' => [
402 'class' => 'betterdocs_search_subheading_margin betterdocs-dimension'
403 ],
404 'priority' => 509
405 ] )
406 );
407
408 $this->customizer->add_setting( 'betterdocs_search_subheading_margin_right', [
409 'default' => $this->defaults['betterdocs_search_subheading_margin_right'],
410 'capability' => 'edit_theme_options',
411 'transport' => 'postMessage',
412 'sanitize_callback' => [$this->sanitizer, 'integer']
413
414 ] );
415
416 $this->customizer->add_control( new DimensionControl(
417 $this->customizer, 'betterdocs_search_subheading_margin_right', [
418 'type' => 'betterdocs-dimension',
419 'section' => 'betterdocs_live_search_settings',
420 'settings' => 'betterdocs_search_subheading_margin_right',
421 'label' => __( 'Right', 'betterdocs' ),
422 'input_attrs' => [
423 'class' => 'betterdocs_search_subheading_margin betterdocs-dimension'
424 ],
425 'priority' => 509
426 ] )
427 );
428
429 $this->customizer->add_setting( 'betterdocs_search_subheading_margin_bottom', [
430 'default' => $this->defaults['betterdocs_search_subheading_margin_bottom'],
431 'capability' => 'edit_theme_options',
432 'transport' => 'postMessage',
433 'sanitize_callback' => [$this->sanitizer, 'integer']
434
435 ] );
436
437 $this->customizer->add_control( new DimensionControl(
438 $this->customizer, 'betterdocs_search_subheading_margin_bottom', [
439 'type' => 'betterdocs-dimension',
440 'section' => 'betterdocs_live_search_settings',
441 'settings' => 'betterdocs_search_subheading_margin_bottom',
442 'label' => __( 'Bottom', 'betterdocs' ),
443 'input_attrs' => [
444 'class' => 'betterdocs_search_subheading_margin betterdocs-dimension'
445 ],
446 'priority' => 509
447 ] )
448 );
449
450 $this->customizer->add_setting( 'betterdocs_search_subheading_margin_left', [
451 'default' => $this->defaults['betterdocs_search_subheading_margin_left'],
452 'capability' => 'edit_theme_options',
453 'transport' => 'postMessage',
454 'sanitize_callback' => [$this->sanitizer, 'integer']
455
456 ] );
457
458 $this->customizer->add_control( new DimensionControl(
459 $this->customizer, 'betterdocs_search_subheading_margin_left', [
460 'type' => 'betterdocs-dimension',
461 'section' => 'betterdocs_live_search_settings',
462 'settings' => 'betterdocs_search_subheading_margin_left',
463 'label' => __( 'Left', 'betterdocs' ),
464 'input_attrs' => [
465 'class' => 'betterdocs_search_subheading_margin betterdocs-dimension'
466 ],
467 'priority' => 509
468 ] )
469 );
470 }
471
472 public function background_color() {
473 $this->customizer->add_setting( 'betterdocs_live_search_background_color', [
474 'default' => $this->defaults['betterdocs_live_search_background_color'],
475 'capability' => 'edit_theme_options',
476 'transport' => 'postMessage',
477 'sanitize_callback' => [$this->sanitizer, 'rgba']
478 ] );
479
480 $this->customizer->add_control(
481 new AlphaColorControl(
482 $this->customizer,
483 'betterdocs_live_search_background_color',
484 [
485 'label' => __( 'Background Color', 'betterdocs' ),
486 'section' => 'betterdocs_live_search_settings',
487 'settings' => 'betterdocs_live_search_background_color',
488 'priority' => 510
489 ]
490 )
491 );
492 }
493
494 public function background_image() {
495 $this->customizer->add_setting( 'betterdocs_live_search_background_image', [
496 'default' => $this->defaults['betterdocs_live_search_background_image'],
497 'capability' => 'edit_theme_options',
498 'transport' => 'postMessage'
499
500 ] );
501
502 $this->customizer->add_control( new WP_Customize_Image_Control(
503 $this->customizer, 'betterdocs_live_search_background_image', [
504 'section' => 'betterdocs_live_search_settings',
505 'settings' => 'betterdocs_live_search_background_image',
506 'label' => __( 'Background Image', 'betterdocs' ),
507 'priority' => 511
508 ] )
509 );
510 }
511
512 public function background_property() {
513 $this->customizer->add_setting( 'betterdocs_live_search_background_property', [
514 'default' => $this->defaults['betterdocs_live_search_background_property'],
515 'capability' => 'edit_theme_options',
516 'transport' => 'postMessage',
517 'sanitize_callback' => [$this->sanitizer, 'select']
518 ] );
519
520 $this->customizer->add_control( new TitleControl(
521 $this->customizer, 'betterdocs_live_search_background_property', [
522 'type' => 'betterdocs-title',
523 'section' => 'betterdocs_live_search_settings',
524 'settings' => 'betterdocs_live_search_background_property',
525 'label' => __( 'Background Property', 'betterdocs' ),
526 'input_attrs' => [
527 'id' => 'betterdocs_live_search_background_property',
528 'class' => 'betterdocs-select'
529 ],
530 'priority' => 512
531 ] )
532 );
533
534 $this->customizer->add_setting( 'betterdocs_live_search_background_size', [
535 'default' => $this->defaults['betterdocs_live_search_background_size'],
536 'capability' => 'edit_theme_options',
537 'transport' => 'postMessage',
538 'sanitize_callback' => [$this->sanitizer, 'select']
539
540 ] );
541
542 $this->customizer->add_control( new SelectControl(
543 $this->customizer, 'betterdocs_live_search_background_size', [
544 'type' => 'betterdocs-select',
545 'section' => 'betterdocs_live_search_settings',
546 'settings' => 'betterdocs_live_search_background_size',
547 'label' => __( 'Size', 'betterdocs' ),
548 'input_attrs' => [
549 'class' => 'betterdocs_live_search_background_property betterdocs-select'
550 ],
551 'choices' => [
552 'auto' => __( 'auto', 'betterdocs' ),
553 'length' => __( 'length', 'betterdocs' ),
554 'cover' => __( 'cover', 'betterdocs' ),
555 'contain' => __( 'contain', 'betterdocs' ),
556 'initial' => __( 'initial', 'betterdocs' ),
557 'inherit' => __( 'inherit', 'betterdocs' )
558 ],
559 'priority' => 513
560 ] )
561 );
562
563 $this->customizer->add_setting( 'betterdocs_live_search_background_repeat', [
564 'default' => $this->defaults['betterdocs_live_search_background_repeat'],
565 'capability' => 'edit_theme_options',
566 'transport' => 'postMessage',
567 'sanitize_callback' => [$this->sanitizer, 'select']
568
569 ] );
570
571 $this->customizer->add_control( new SelectControl(
572 $this->customizer, 'betterdocs_live_search_background_repeat', [
573 'type' => 'betterdocs-select',
574 'section' => 'betterdocs_live_search_settings',
575 'settings' => 'betterdocs_live_search_background_repeat',
576 'label' => __( 'Repeat', 'betterdocs' ),
577 'input_attrs' => [
578 'class' => 'betterdocs_live_search_background_property betterdocs-select'
579 ],
580 'choices' => [
581 'no-repeat' => __( 'no-repeat', 'betterdocs' ),
582 'initial' => __( 'initial', 'betterdocs' ),
583 'inherit' => __( 'inherit', 'betterdocs' ),
584 'repeat' => __( 'repeat', 'betterdocs' ),
585 'repeat-x' => __( 'repeat-x', 'betterdocs' ),
586 'repeat-y' => __( 'repeat-y', 'betterdocs' )
587 ],
588 'priority' => 513
589 ] )
590 );
591
592 $this->customizer->add_setting( 'betterdocs_live_search_background_attachment', [
593 'default' => $this->defaults['betterdocs_live_search_background_attachment'],
594 'capability' => 'edit_theme_options',
595 'transport' => 'postMessage',
596 'sanitize_callback' => [$this->sanitizer, 'select']
597
598 ] );
599
600 $this->customizer->add_control( new SelectControl(
601 $this->customizer, 'betterdocs_live_search_background_attachment', [
602 'type' => 'betterdocs-select',
603 'section' => 'betterdocs_live_search_settings',
604 'settings' => 'betterdocs_live_search_background_attachment',
605 'label' => __( 'Attachment', 'betterdocs' ),
606 'input_attrs' => [
607 'class' => 'betterdocs_live_search_background_property betterdocs-select'
608 ],
609 'choices' => [
610 'initial' => __( 'initial', 'betterdocs' ),
611 'inherit' => __( 'inherit', 'betterdocs' ),
612 'scroll' => __( 'scroll', 'betterdocs' ),
613 'fixed' => __( 'fixed', 'betterdocs' ),
614 'local' => __( 'local', 'betterdocs' )
615 ],
616 'priority' => 513
617 ] )
618 );
619
620 $this->customizer->add_setting( 'betterdocs_live_search_background_position', [
621 'default' => $this->defaults['betterdocs_live_search_background_position'],
622 'capability' => 'edit_theme_options',
623 'transport' => 'postMessage',
624 'sanitize_callback' => 'esc_html'
625
626 ] );
627
628 $this->customizer->add_control( new SelectControl(
629 $this->customizer, 'betterdocs_live_search_background_position', [
630 'type' => 'betterdocs-select',
631 'section' => 'betterdocs_live_search_settings',
632 'settings' => 'betterdocs_live_search_background_position',
633 'label' => __( 'Position', 'betterdocs' ),
634 'input_attrs' => [
635 'class' => 'betterdocs_live_search_background_property betterdocs-select'
636 ],
637 'choices' => [
638 'left top' => __( 'left top', 'betterdocs' ),
639 'left center' => __( 'left center', 'betterdocs' ),
640 'left bottom' => __( 'left bottom', 'betterdocs' ),
641 'right top' => __( 'right top', 'betterdocs' ),
642 'right center' => __( 'right center', 'betterdocs' ),
643 'right bottom' => __( 'right bottom', 'betterdocs' ),
644 'center top' => __( 'center top', 'betterdocs' ),
645 'center center' => __( 'center center', 'betterdocs' ),
646 'center bottom' => __( 'center bottom', 'betterdocs' )
647 ],
648 'priority' => 513
649 ] )
650 );
651 }
652
653 public function custom_background_switch() {
654 $this->customizer->add_setting( 'betterdocs_live_search_custom_background_switch', [
655 'default' => $this->defaults['betterdocs_live_search_custom_background_switch'],
656 'capability' => 'edit_theme_options'
657
658 ] );
659
660 $this->customizer->add_control( new ToggleControl(
661 $this->customizer, 'betterdocs_live_search_custom_background_switch', [
662 'label' => __( 'Custom Background Image Size', 'betterdocs' ),
663 'section' => 'betterdocs_live_search_settings',
664 'settings' => 'betterdocs_live_search_custom_background_switch',
665 'type' => 'light', // light, ios, flat
666 'priority' => 515
667 ] )
668 );
669 }
670
671 public function custom_background_width() {
672 $this->customizer->add_setting( 'betterdocs_live_search_custom_background_width', [
673 'default' => $this->defaults['betterdocs_live_search_custom_background_width'],
674 'capability' => 'edit_theme_options',
675 'sanitize_callback' => [$this->sanitizer, 'integer']
676 ] );
677
678 $this->customizer->add_control( new RangeValueControl(
679 $this->customizer, 'betterdocs_live_search_custom_background_width', [
680 'type' => 'betterdocs-range-value',
681 'section' => 'betterdocs_live_search_settings',
682 'settings' => 'betterdocs_live_search_custom_background_width',
683 'label' => __( 'Background Image Width', 'betterdocs' ),
684 'input_attrs' => [
685 'class' => '',
686 'min' => 0,
687 'max' => 200,
688 'step' => 1,
689 'suffix' => '%' //optional suffix
690 ],
691 'priority' => 516
692 ] )
693 );
694 }
695
696 public function custom_background_height() {
697 $this->customizer->add_setting( 'betterdocs_live_search_custom_background_height', [
698 'default' => $this->defaults['betterdocs_live_search_custom_background_height'],
699 'capability' => 'edit_theme_options',
700 'sanitize_callback' => [$this->sanitizer, 'integer']
701 ] );
702
703 $this->customizer->add_control( new RangeValueControl(
704 $this->customizer, 'betterdocs_live_search_custom_background_height', [
705 'type' => 'betterdocs-range-value',
706 'section' => 'betterdocs_live_search_settings',
707 'settings' => 'betterdocs_live_search_custom_background_height',
708 'label' => __( 'Background Image Height', 'betterdocs' ),
709 'input_attrs' => [
710 'class' => '',
711 'min' => 0,
712 'max' => 200,
713 'step' => 1,
714 'suffix' => '%' //optional suffix
715 ],
716 'priority' => 517
717 ] )
718 );
719 }
720
721 public function search_margin() {
722 $this->customizer->add_setting( 'betterdocs_live_search_margin', [
723 'default' => $this->defaults['betterdocs_live_search_margin'],
724 'capability' => 'edit_theme_options',
725 'transport' => 'postMessage',
726 'sanitize_callback' => [$this->sanitizer, 'integer']
727 ] );
728
729 $this->customizer->add_control( new TitleControl(
730 $this->customizer, 'betterdocs_live_search_margin', [
731 'type' => 'betterdocs-title',
732 'section' => 'betterdocs_live_search_settings',
733 'settings' => 'betterdocs_live_search_margin',
734 'label' => __( 'Margin', 'betterdocs' ),
735 'input_attrs' => [
736 'id' => 'betterdocs_live_search_margin',
737 'class' => 'betterdocs-dimension'
738 ],
739 'priority' => 518
740 ] )
741 );
742
743 $this->customizer->add_setting( 'betterdocs_live_search_margin_top', [
744 'default' => $this->defaults['betterdocs_live_search_margin_top'],
745 'capability' => 'edit_theme_options',
746 'transport' => 'postMessage',
747 'sanitize_callback' => [$this->sanitizer, 'integer']
748 ] );
749
750 $this->customizer->add_control( new DimensionControl(
751 $this->customizer, 'betterdocs_live_search_margin_top', [
752 'type' => 'betterdocs-dimension',
753 'section' => 'betterdocs_live_search_settings',
754 'settings' => 'betterdocs_live_search_margin_top',
755 'label' => __( 'Top', 'betterdocs' ),
756 'input_attrs' => [
757 'class' => 'betterdocs_live_search_margin betterdocs-dimension'
758 ],
759 'priority' => 518
760 ] )
761 );
762
763 $this->customizer->add_setting( 'betterdocs_live_search_margin_right', [
764 'default' => $this->defaults['betterdocs_live_search_margin_right'],
765 'capability' => 'edit_theme_options',
766 'transport' => 'postMessage',
767 'sanitize_callback' => [$this->sanitizer, 'integer']
768
769 ] );
770
771 $this->customizer->add_control( new DimensionControl(
772 $this->customizer, 'betterdocs_live_search_margin_right', [
773 'type' => 'betterdocs-dimension',
774 'section' => 'betterdocs_live_search_settings',
775 'settings' => 'betterdocs_live_search_margin_right',
776 'label' => __( 'Right', 'betterdocs' ),
777 'input_attrs' => [
778 'class' => 'betterdocs_live_search_margin betterdocs-dimension'
779 ],
780 'priority' => 518
781 ] )
782 );
783
784 $this->customizer->add_setting( 'betterdocs_live_search_margin_bottom', [
785 'default' => $this->defaults['betterdocs_live_search_margin_bottom'],
786 'capability' => 'edit_theme_options',
787 'transport' => 'postMessage',
788 'sanitize_callback' => [$this->sanitizer, 'integer']
789
790 ] );
791
792 $this->customizer->add_control( new DimensionControl(
793 $this->customizer, 'betterdocs_live_search_margin_bottom', [
794 'type' => 'betterdocs-dimension',
795 'section' => 'betterdocs_live_search_settings',
796 'settings' => 'betterdocs_live_search_margin_bottom',
797 'label' => __( 'Bottom', 'betterdocs' ),
798 'input_attrs' => [
799 'class' => 'betterdocs_live_search_margin betterdocs-dimension'
800 ],
801 'priority' => 518
802 ] )
803 );
804
805 $this->customizer->add_setting( 'betterdocs_live_search_margin_left', [
806 'default' => $this->defaults['betterdocs_live_search_margin_left'],
807 'capability' => 'edit_theme_options',
808 'transport' => 'postMessage',
809 'sanitize_callback' => [$this->sanitizer, 'integer']
810 ] );
811
812 $this->customizer->add_control( new DimensionControl(
813 $this->customizer, 'betterdocs_live_search_margin_left', [
814 'type' => 'betterdocs-dimension',
815 'section' => 'betterdocs_live_search_settings',
816 'settings' => 'betterdocs_live_search_margin_left',
817 'label' => __( 'Left', 'betterdocs' ),
818 'input_attrs' => [
819 'class' => 'betterdocs_live_search_margin betterdocs-dimension'
820 ],
821 'priority' => 518
822 ] )
823 );
824 }
825
826 public function search_padding() {
827 $this->customizer->add_setting( 'betterdocs_live_search_padding', [
828 'default' => $this->defaults['betterdocs_live_search_padding'],
829 'capability' => 'edit_theme_options',
830 'transport' => 'postMessage',
831 'sanitize_callback' => [$this->sanitizer, 'integer']
832 ] );
833
834 $this->customizer->add_control( new TitleControl(
835 $this->customizer, 'betterdocs_live_search_padding', [
836 'type' => 'betterdocs-title',
837 'section' => 'betterdocs_live_search_settings',
838 'settings' => 'betterdocs_live_search_padding',
839 'label' => __( 'Padding', 'betterdocs' ),
840 'input_attrs' => [
841 'id' => 'betterdocs_live_search_padding',
842 'class' => 'betterdocs-dimension'
843 ],
844 'priority' => 519
845 ] )
846 );
847
848 $this->customizer->add_setting( 'betterdocs_live_search_padding_top', [
849 'default' => $this->defaults['betterdocs_live_search_padding_top'],
850 'capability' => 'edit_theme_options',
851 'transport' => 'postMessage',
852 'sanitize_callback' => [$this->sanitizer, 'integer']
853 ] );
854
855 $this->customizer->add_control( new DimensionControl(
856 $this->customizer, 'betterdocs_live_search_padding_top', [
857 'type' => 'betterdocs-dimension',
858 'section' => 'betterdocs_live_search_settings',
859 'settings' => 'betterdocs_live_search_padding_top',
860 'label' => __( 'Top', 'betterdocs' ),
861 'input_attrs' => [
862 'class' => 'betterdocs_live_search_padding betterdocs-dimension'
863 ],
864 'priority' => 519
865 ] )
866 );
867
868 $this->customizer->add_setting( 'betterdocs_live_search_padding_right', [
869 'default' => $this->defaults['betterdocs_live_search_padding_right'],
870 'capability' => 'edit_theme_options',
871 'transport' => 'postMessage',
872 'sanitize_callback' => [$this->sanitizer, 'integer']
873
874 ] );
875
876 $this->customizer->add_control( new DimensionControl(
877 $this->customizer, 'betterdocs_live_search_padding_right', [
878 'type' => 'betterdocs-dimension',
879 'section' => 'betterdocs_live_search_settings',
880 'settings' => 'betterdocs_live_search_padding_right',
881 'label' => __( 'Right', 'betterdocs' ),
882 'input_attrs' => [
883 'class' => 'betterdocs_live_search_padding betterdocs-dimension'
884 ],
885 'priority' => 519
886 ] )
887 );
888
889 $this->customizer->add_setting( 'betterdocs_live_search_padding_bottom', [
890 'default' => $this->defaults['betterdocs_live_search_padding_bottom'],
891 'capability' => 'edit_theme_options',
892 'transport' => 'postMessage',
893 'sanitize_callback' => [$this->sanitizer, 'integer']
894 ] );
895
896 $this->customizer->add_control( new DimensionControl(
897 $this->customizer, 'betterdocs_live_search_padding_bottom', [
898 'type' => 'betterdocs-dimension',
899 'section' => 'betterdocs_live_search_settings',
900 'settings' => 'betterdocs_live_search_padding_bottom',
901 'label' => __( 'Bottom', 'betterdocs' ),
902 'input_attrs' => [
903 'class' => 'betterdocs_live_search_padding betterdocs-dimension'
904 ],
905 'priority' => 519
906 ] )
907 );
908
909 $this->customizer->add_setting( 'betterdocs_live_search_padding_left', [
910 'default' => $this->defaults['betterdocs_live_search_padding_left'],
911 'capability' => 'edit_theme_options',
912 'transport' => 'postMessage',
913 'sanitize_callback' => [$this->sanitizer, 'integer']
914
915 ] );
916
917 $this->customizer->add_control( new DimensionControl(
918 $this->customizer, 'betterdocs_live_search_padding_left', [
919 'type' => 'betterdocs-dimension',
920 'section' => 'betterdocs_live_search_settings',
921 'settings' => 'betterdocs_live_search_padding_left',
922 'label' => __( 'Left', 'betterdocs' ),
923 'input_attrs' => [
924 'class' => 'betterdocs_live_search_padding betterdocs-dimension'
925 ],
926 'priority' => 519
927 ] )
928 );
929 }
930
931 public function field_settings() {
932 $this->customizer->add_setting( 'betterdocs_search_field_settings', [
933 'default' => $this->defaults['betterdocs_search_field_settings'],
934 'sanitize_callback' => 'esc_html'
935 ] );
936
937 $this->customizer->add_control( new SeparatorControl(
938 $this->customizer, 'betterdocs_search_field_settings', [
939 'label' => __( 'Search Field Settings', 'betterdocs' ),
940 'settings' => 'betterdocs_search_field_settings',
941 'section' => 'betterdocs_live_search_settings',
942 'priority' => 530
943 ] )
944 );
945 }
946
947 public function field_background_color() {
948 $this->customizer->add_setting( 'betterdocs_search_field_background_color', [
949 'default' => $this->defaults['betterdocs_search_field_background_color'],
950 'capability' => 'edit_theme_options',
951 'transport' => 'postMessage',
952 'sanitize_callback' => [$this->sanitizer, 'rgba']
953 ] );
954
955 $this->customizer->add_control(
956 new AlphaColorControl(
957 $this->customizer,
958 'betterdocs_search_field_background_color',
959 [
960 'label' => __( 'Search Field Background Color', 'betterdocs' ),
961 'section' => 'betterdocs_live_search_settings',
962 'settings' => 'betterdocs_search_field_background_color',
963 'priority' => 531
964 ]
965 )
966 );
967 }
968
969 public function field_font_size() {
970 $this->customizer->add_setting( 'betterdocs_search_field_font_size', [
971 'default' => $this->defaults['betterdocs_search_field_font_size'],
972 'capability' => 'edit_theme_options',
973 'transport' => 'postMessage',
974 'sanitize_callback' => [$this->sanitizer, 'integer']
975
976 ] );
977
978 $this->customizer->add_control( new RangeValueControl(
979 $this->customizer, 'betterdocs_search_field_font_size', [
980 'type' => 'betterdocs-range-value',
981 'section' => 'betterdocs_live_search_settings',
982 'settings' => 'betterdocs_search_field_font_size',
983 'label' => __( 'Search Field Font Size', 'betterdocs' ),
984 'input_attrs' => [
985 'class' => '',
986 'min' => 0,
987 'max' => 50,
988 'step' => 1,
989 'suffix' => 'px' //optional suffix
990 ],
991 'priority' => 532
992 ] )
993 );
994 }
995
996 public function field_color() {
997 $this->customizer->add_setting( 'betterdocs_search_field_color', [
998 'default' => $this->defaults['betterdocs_search_field_color'],
999 'capability' => 'edit_theme_options',
1000 'transport' => 'postMessage',
1001 'sanitize_callback' => [$this->sanitizer, 'rgba']
1002 ] );
1003
1004 $this->customizer->add_control(
1005 new AlphaColorControl(
1006 $this->customizer,
1007 'betterdocs_search_field_color',
1008 [
1009 'label' => __( 'Search Text Color', 'betterdocs' ),
1010 'section' => 'betterdocs_live_search_settings',
1011 'settings' => 'betterdocs_search_field_color',
1012 'priority' => 533
1013 ]
1014 )
1015 );
1016 }
1017
1018 public function placeholder_color() {
1019 $this->customizer->add_setting( 'betterdocs_search_placeholder_color', [
1020 'default' => $this->defaults['betterdocs_search_placeholder_color'],
1021 'capability' => 'edit_theme_options',
1022 'sanitize_callback' => [$this->sanitizer, 'rgba']
1023 ] );
1024
1025 $this->customizer->add_control(
1026 new AlphaColorControl(
1027 $this->customizer,
1028 'betterdocs_search_placeholder_color',
1029 [
1030 'label' => __( 'Search Placeholder Color', 'betterdocs' ),
1031 'section' => 'betterdocs_live_search_settings',
1032 'settings' => 'betterdocs_search_placeholder_color',
1033 'priority' => 533
1034 ]
1035 )
1036 );
1037 }
1038
1039 public function field_padding() {
1040 $this->customizer->add_setting( 'betterdocs_search_field_padding', [
1041 'default' => $this->defaults['betterdocs_search_field_padding'],
1042 'capability' => 'edit_theme_options',
1043 'transport' => 'postMessage',
1044 'sanitize_callback' => [$this->sanitizer, 'integer']
1045
1046 ] );
1047
1048 $this->customizer->add_control( new TitleControl(
1049 $this->customizer, 'betterdocs_search_field_padding', [
1050 'type' => 'betterdocs-title',
1051 'section' => 'betterdocs_live_search_settings',
1052 'settings' => 'betterdocs_search_field_padding',
1053 'label' => __( 'Search Field Padding', 'betterdocs' ),
1054 'input_attrs' => [
1055 'id' => 'betterdocs_search_field_padding',
1056 'class' => 'betterdocs-dimension'
1057 ],
1058 'priority' => 534
1059 ] )
1060 );
1061
1062 $this->customizer->add_setting( 'betterdocs_search_field_padding_top', [
1063 'default' => $this->defaults['betterdocs_search_field_padding_top'],
1064 'capability' => 'edit_theme_options',
1065 'transport' => 'postMessage',
1066 'sanitize_callback' => [$this->sanitizer, 'integer']
1067 ] );
1068
1069 $this->customizer->add_control( new DimensionControl(
1070 $this->customizer, 'betterdocs_search_field_padding_top', [
1071 'type' => 'betterdocs-dimension',
1072 'section' => 'betterdocs_live_search_settings',
1073 'settings' => 'betterdocs_search_field_padding_top',
1074 'label' => __( 'Top', 'betterdocs' ),
1075 'input_attrs' => [
1076 'class' => 'betterdocs_search_field_padding betterdocs-dimension'
1077 ],
1078 'priority' => 534
1079 ] )
1080 );
1081
1082 $this->customizer->add_setting( 'betterdocs_search_field_padding_right', [
1083 'default' => $this->defaults['betterdocs_search_field_padding_right'],
1084 'capability' => 'edit_theme_options',
1085 'transport' => 'postMessage',
1086 'sanitize_callback' => [$this->sanitizer, 'integer']
1087
1088 ] );
1089
1090 $this->customizer->add_control( new DimensionControl(
1091 $this->customizer, 'betterdocs_search_field_padding_right', [
1092 'type' => 'betterdocs-dimension',
1093 'section' => 'betterdocs_live_search_settings',
1094 'settings' => 'betterdocs_search_field_padding_right',
1095 'label' => __( 'Right', 'betterdocs' ),
1096 'input_attrs' => [
1097 'class' => 'betterdocs_search_field_padding betterdocs-dimension'
1098 ],
1099 'priority' => 534
1100 ] )
1101 );
1102
1103 $this->customizer->add_setting( 'betterdocs_search_field_padding_bottom', [
1104 'default' => $this->defaults['betterdocs_search_field_padding_bottom'],
1105 'capability' => 'edit_theme_options',
1106 'transport' => 'postMessage',
1107 'sanitize_callback' => [$this->sanitizer, 'integer']
1108
1109 ] );
1110
1111 $this->customizer->add_control( new DimensionControl(
1112 $this->customizer, 'betterdocs_search_field_padding_bottom', [
1113 'type' => 'betterdocs-dimension',
1114 'section' => 'betterdocs_live_search_settings',
1115 'settings' => 'betterdocs_search_field_padding_bottom',
1116 'label' => __( 'Bottom', 'betterdocs' ),
1117 'input_attrs' => [
1118 'class' => 'betterdocs_search_field_padding betterdocs-dimension'
1119 ],
1120 'priority' => 534
1121 ] )
1122 );
1123
1124 $this->customizer->add_setting( 'betterdocs_search_field_padding_left', [
1125 'default' => $this->defaults['betterdocs_search_field_padding_left'],
1126 'capability' => 'edit_theme_options',
1127 'transport' => 'postMessage',
1128 'sanitize_callback' => [$this->sanitizer, 'integer']
1129
1130 ] );
1131
1132 $this->customizer->add_control( new DimensionControl(
1133 $this->customizer, 'betterdocs_search_field_padding_left', [
1134 'type' => 'betterdocs-dimension',
1135 'section' => 'betterdocs_live_search_settings',
1136 'settings' => 'betterdocs_search_field_padding_left',
1137 'label' => __( 'Left', 'betterdocs' ),
1138 'input_attrs' => [
1139 'class' => 'betterdocs_search_field_padding betterdocs-dimension'
1140 ],
1141 'priority' => 534
1142 ] )
1143 );
1144 }
1145
1146 public function field_border_radius() {
1147 $this->customizer->add_setting( 'betterdocs_search_field_border_radius', [
1148 'default' => $this->defaults['betterdocs_search_field_border_radius'],
1149 'capability' => 'edit_theme_options',
1150 'transport' => 'postMessage',
1151 'sanitize_callback' => [$this->sanitizer, 'integer']
1152
1153 ] );
1154
1155 $this->customizer->add_control( new RangeValueControl(
1156 $this->customizer, 'betterdocs_search_field_border_radius', [
1157 'type' => 'betterdocs-range-value',
1158 'section' => 'betterdocs_live_search_settings',
1159 'settings' => 'betterdocs_search_field_border_radius',
1160 'label' => __( 'Search Field Border Radius', 'betterdocs' ),
1161 'input_attrs' => [
1162 'class' => '',
1163 'min' => 0,
1164 'max' => 100,
1165 'step' => 1,
1166 'suffix' => 'px' //optional suffix
1167 ],
1168 'priority' => 539
1169 ] )
1170 );
1171 }
1172
1173 public function icon_size() {
1174 $this->customizer->add_setting( 'betterdocs_search_icon_size', [
1175 'default' => $this->defaults['betterdocs_search_icon_size'],
1176 'capability' => 'edit_theme_options',
1177 'transport' => 'postMessage',
1178 'sanitize_callback' => [$this->sanitizer, 'integer']
1179 ] );
1180
1181 $this->customizer->add_control( new RangeValueControl(
1182 $this->customizer, 'betterdocs_search_icon_size', [
1183 'type' => 'betterdocs-range-value',
1184 'section' => 'betterdocs_live_search_settings',
1185 'settings' => 'betterdocs_search_icon_size',
1186 'label' => __( 'Search Icon Size', 'betterdocs' ),
1187 'input_attrs' => [
1188 'min' => 0,
1189 'max' => 100,
1190 'step' => 1,
1191 'suffix' => 'px' //optional suffix
1192 ],
1193 'priority' => 540
1194 ] )
1195 );
1196 }
1197
1198 public function icon_color() {
1199 $this->customizer->add_setting( 'betterdocs_search_icon_color', [
1200 'default' => $this->defaults['betterdocs_search_icon_color'],
1201 'capability' => 'edit_theme_options',
1202 'transport' => 'postMessage',
1203 'sanitize_callback' => [$this->sanitizer, 'rgba']
1204 ] );
1205
1206 $this->customizer->add_control(
1207 new AlphaColorControl(
1208 $this->customizer,
1209 'betterdocs_search_icon_color',
1210 [
1211 'label' => __( 'Search Icon Color', 'betterdocs' ),
1212 'section' => 'betterdocs_live_search_settings',
1213 'settings' => 'betterdocs_search_icon_color',
1214 'priority' => 541
1215 ]
1216 )
1217 );
1218 }
1219
1220 public function icon_hover_color() {
1221 $this->customizer->add_setting( 'betterdocs_search_icon_hover_color', [
1222 'default' => $this->defaults['betterdocs_search_icon_hover_color'],
1223 'capability' => 'edit_theme_options',
1224 'sanitize_callback' => [$this->sanitizer, 'rgba']
1225 ] );
1226
1227 $this->customizer->add_control(
1228 new AlphaColorControl(
1229 $this->customizer,
1230 'betterdocs_search_icon_hover_color',
1231 [
1232 'label' => __( 'Search Icon Hover Color', 'betterdocs' ),
1233 'section' => 'betterdocs_live_search_settings',
1234 'settings' => 'betterdocs_search_icon_hover_color',
1235 'priority' => 542
1236 ]
1237 )
1238 );
1239 }
1240
1241 public function close_icon_color() {
1242 $this->customizer->add_setting( 'betterdocs_search_close_icon_color', [
1243 'default' => $this->defaults['betterdocs_search_close_icon_color'],
1244 'capability' => 'edit_theme_options',
1245 'transport' => 'postMessage',
1246 'sanitize_callback' => [$this->sanitizer, 'rgba']
1247 ] );
1248
1249 $this->customizer->add_control(
1250 new AlphaColorControl(
1251 $this->customizer,
1252 'betterdocs_search_close_icon_color',
1253 [
1254 'label' => __( 'Close Icon Color', 'betterdocs' ),
1255 'section' => 'betterdocs_live_search_settings',
1256 'settings' => 'betterdocs_search_close_icon_color',
1257 'priority' => 543
1258 ]
1259 )
1260 );
1261 }
1262
1263 public function close_icon_border_color() {
1264 $this->customizer->add_setting( 'betterdocs_search_close_icon_border_color', [
1265 'default' => $this->defaults['betterdocs_search_close_icon_border_color'],
1266 'capability' => 'edit_theme_options',
1267 'transport' => 'postMessage',
1268 'sanitize_callback' => [$this->sanitizer, 'rgba']
1269 ] );
1270
1271 $this->customizer->add_control(
1272 new AlphaColorControl(
1273 $this->customizer,
1274 'betterdocs_search_close_icon_border_color',
1275 [
1276 'label' => __( 'Close Icon Border Color', 'betterdocs' ),
1277 'section' => 'betterdocs_live_search_settings',
1278 'settings' => 'betterdocs_search_close_icon_border_color',
1279 'priority' => 544
1280 ]
1281 )
1282 );
1283 }
1284
1285 public function result_settings() {
1286 $this->customizer->add_setting( 'betterdocs_search_result_settings', [
1287 'default' => $this->defaults['betterdocs_search_result_settings'],
1288 'capability' => 'edit_theme_options',
1289 'sanitize_callback' => 'esc_html'
1290 ] );
1291
1292 $this->customizer->add_control( new SeparatorControl(
1293 $this->customizer, 'betterdocs_search_result_settings', [
1294 'label' => __( 'Search Result Settings', 'betterdocs' ),
1295 'settings' => 'betterdocs_search_result_settings',
1296 'section' => 'betterdocs_live_search_settings',
1297 'priority' => 545
1298 ] )
1299 );
1300 }
1301
1302 public function result_width() {
1303 $this->customizer->add_setting( 'betterdocs_search_result_width', [
1304 'default' => $this->defaults['betterdocs_search_result_width'],
1305 'capability' => 'edit_theme_options',
1306 'transport' => 'postMessage',
1307 'sanitize_callback' => [$this->sanitizer, 'integer']
1308
1309 ] );
1310
1311 $this->customizer->add_control( new RangeValueControl(
1312 $this->customizer, 'betterdocs_search_result_width', [
1313 'type' => 'betterdocs-range-value',
1314 'section' => 'betterdocs_live_search_settings',
1315 'settings' => 'betterdocs_search_result_width',
1316 'label' => __( 'Search Result Box Width', 'betterdocs' ),
1317 'input_attrs' => [
1318 'min' => 0,
1319 'max' => 100,
1320 'step' => 1,
1321 'suffix' => '%' //optional suffix
1322 ],
1323 'priority' => 546
1324 ] )
1325 );
1326 }
1327
1328 public function result_max_width() {
1329 $this->customizer->add_setting( 'betterdocs_search_result_max_width', [
1330 'default' => $this->defaults['betterdocs_search_result_max_width'],
1331 'capability' => 'edit_theme_options',
1332 'transport' => 'postMessage',
1333 'sanitize_callback' => [$this->sanitizer, 'integer']
1334
1335 ] );
1336
1337 $this->customizer->add_control( new RangeValueControl(
1338 $this->customizer, 'betterdocs_search_result_max_width', [
1339 'type' => 'betterdocs-range-value',
1340 'section' => 'betterdocs_live_search_settings',
1341 'settings' => 'betterdocs_search_result_max_width',
1342 'label' => __( 'Search Result Box Maximum Width', 'betterdocs' ),
1343 'input_attrs' => [
1344 'min' => 0,
1345 'max' => 1000,
1346 'step' => 1,
1347 'suffix' => 'px' //optional suffix
1348 ],
1349 'priority' => 547
1350 ] )
1351 );
1352 }
1353
1354 public function result_background_color() {
1355 $this->customizer->add_setting( 'betterdocs_search_result_background_color', [
1356 'default' => $this->defaults['betterdocs_search_result_background_color'],
1357 'capability' => 'edit_theme_options',
1358 'transport' => 'postMessage',
1359 'sanitize_callback' => [$this->sanitizer, 'rgba']
1360 ] );
1361
1362 $this->customizer->add_control(
1363 new AlphaColorControl(
1364 $this->customizer,
1365 'betterdocs_search_result_background_color',
1366 [
1367 'label' => __( 'Search Result Box Background Color', 'betterdocs' ),
1368 'section' => 'betterdocs_live_search_settings',
1369 'settings' => 'betterdocs_search_result_background_color',
1370 'priority' => 548
1371 ]
1372 )
1373 );
1374 }
1375
1376 public function result_border_color() {
1377 $this->customizer->add_setting( 'betterdocs_search_result_border_color', [
1378 'default' => $this->defaults['betterdocs_search_result_border_color'],
1379 'capability' => 'edit_theme_options',
1380 'transport' => 'postMessage',
1381 'sanitize_callback' => [$this->sanitizer, 'rgba']
1382 ] );
1383
1384 $this->customizer->add_control(
1385 new AlphaColorControl(
1386 $this->customizer,
1387 'betterdocs_search_result_border_color',
1388 [
1389 'label' => __( 'Search Result Box Border Color', 'betterdocs' ),
1390 'section' => 'betterdocs_live_search_settings',
1391 'settings' => 'betterdocs_search_result_border_color',
1392 'priority' => 549
1393 ]
1394 )
1395 );
1396 }
1397
1398 public function result_item_font_size() {
1399 $this->customizer->add_setting( 'betterdocs_search_result_item_font_size', [
1400 'default' => $this->defaults['betterdocs_search_result_item_font_size'],
1401 'capability' => 'edit_theme_options',
1402 'transport' => 'postMessage',
1403 'sanitize_callback' => [$this->sanitizer, 'integer']
1404
1405 ] );
1406
1407 $this->customizer->add_control( new RangeValueControl(
1408 $this->customizer, 'betterdocs_search_result_item_font_size', [
1409 'type' => 'betterdocs-range-value',
1410 'section' => 'betterdocs_live_search_settings',
1411 'settings' => 'betterdocs_search_result_item_font_size',
1412 'label' => __( 'Search Result Item Font Size', 'betterdocs' ),
1413 'input_attrs' => [
1414 'class' => '',
1415 'min' => 0,
1416 'max' => 50,
1417 'step' => 1,
1418 'suffix' => 'px' //optional suffix
1419 ],
1420 'priority' => 550
1421 ] )
1422 );
1423 }
1424
1425 public function result_item_font_color() {
1426 $this->customizer->add_setting( 'betterdocs_search_result_item_font_color', [
1427 'default' => $this->defaults['betterdocs_search_result_item_font_color'],
1428 'capability' => 'edit_theme_options',
1429 'transport' => 'postMessage',
1430 'sanitize_callback' => [$this->sanitizer, 'rgba']
1431 ] );
1432
1433 $this->customizer->add_control(
1434 new AlphaColorControl(
1435 $this->customizer,
1436 'betterdocs_search_result_item_font_color',
1437 [
1438 'label' => __( 'Search Result Item Font Color', 'betterdocs' ),
1439 'section' => 'betterdocs_live_search_settings',
1440 'settings' => 'betterdocs_search_result_item_font_color',
1441 'priority' => 551
1442 ]
1443 )
1444 );
1445 }
1446
1447 public function result_item_cat_font_color() {
1448 $this->customizer->add_setting( 'betterdocs_search_result_item_cat_font_color', [
1449 'default' => $this->defaults['betterdocs_search_result_item_cat_font_color'],
1450 'capability' => 'edit_theme_options',
1451 'transport' => 'postMessage',
1452 'sanitize_callback' => [$this->sanitizer, 'rgba']
1453 ] );
1454
1455 $this->customizer->add_control(
1456 new AlphaColorControl(
1457 $this->customizer,
1458 'betterdocs_search_result_item_cat_font_color',
1459 [
1460 'label' => __( 'Search Result Item Category Font Color', 'betterdocs' ),
1461 'section' => 'betterdocs_live_search_settings',
1462 'settings' => 'betterdocs_search_result_item_cat_font_color',
1463 'priority' => 552
1464 ]
1465 )
1466 );
1467 }
1468
1469 public function result_item_padding() {
1470 $this->customizer->add_setting( 'betterdocs_search_result_item_padding', [
1471 'default' => $this->defaults['betterdocs_search_result_item_padding'],
1472 'capability' => 'edit_theme_options',
1473 'transport' => 'postMessage',
1474 'sanitize_callback' => [$this->sanitizer, 'integer']
1475
1476 ] );
1477
1478 $this->customizer->add_control( new TitleControl(
1479 $this->customizer, 'betterdocs_search_result_item_padding', [
1480 'type' => 'betterdocs-title',
1481 'section' => 'betterdocs_live_search_settings',
1482 'settings' => 'betterdocs_search_result_item_padding',
1483 'label' => __( 'Search Result Item Padding', 'betterdocs' ),
1484 'input_attrs' => [
1485 'id' => 'betterdocs_search_result_item_padding',
1486 'class' => 'betterdocs-dimension'
1487 ],
1488 'priority' => 553
1489 ] )
1490 );
1491
1492 $this->customizer->add_setting( 'betterdocs_search_result_item_padding_top', [
1493 'default' => $this->defaults['betterdocs_search_result_item_padding_top'],
1494 'capability' => 'edit_theme_options',
1495 'transport' => 'postMessage',
1496 'sanitize_callback' => [$this->sanitizer, 'integer']
1497 ] );
1498
1499 $this->customizer->add_control( new DimensionControl(
1500 $this->customizer, 'betterdocs_search_result_item_padding_top', [
1501 'type' => 'betterdocs-dimension',
1502 'section' => 'betterdocs_live_search_settings',
1503 'settings' => 'betterdocs_search_result_item_padding_top',
1504 'label' => __( 'Top', 'betterdocs' ),
1505 'input_attrs' => [
1506 'class' => 'betterdocs_search_result_item_padding betterdocs-dimension'
1507 ],
1508 'priority' => 553
1509 ] )
1510 );
1511
1512 $this->customizer->add_setting( 'betterdocs_search_result_item_padding_right', [
1513 'default' => $this->defaults['betterdocs_search_result_item_padding_right'],
1514 'capability' => 'edit_theme_options',
1515 'transport' => 'postMessage',
1516 'sanitize_callback' => [$this->sanitizer, 'integer']
1517
1518 ] );
1519
1520 $this->customizer->add_control( new DimensionControl(
1521 $this->customizer, 'betterdocs_search_result_item_padding_right', [
1522 'type' => 'betterdocs-dimension',
1523 'section' => 'betterdocs_live_search_settings',
1524 'settings' => 'betterdocs_search_result_item_padding_right',
1525 'label' => __( 'Right', 'betterdocs' ),
1526 'input_attrs' => [
1527 'class' => 'betterdocs_search_result_item_padding betterdocs-dimension'
1528 ],
1529 'priority' => 553
1530 ] )
1531 );
1532
1533 $this->customizer->add_setting( 'betterdocs_search_result_item_padding_bottom', [
1534 'default' => $this->defaults['betterdocs_search_result_item_padding_bottom'],
1535 'capability' => 'edit_theme_options',
1536 'transport' => 'postMessage',
1537 'sanitize_callback' => [$this->sanitizer, 'integer']
1538
1539 ] );
1540
1541 $this->customizer->add_control( new DimensionControl(
1542 $this->customizer, 'betterdocs_search_result_item_padding_bottom', [
1543 'type' => 'betterdocs-dimension',
1544 'section' => 'betterdocs_live_search_settings',
1545 'settings' => 'betterdocs_search_result_item_padding_bottom',
1546 'label' => __( 'Bottom', 'betterdocs' ),
1547 'input_attrs' => [
1548 'class' => 'betterdocs_search_result_item_padding betterdocs-dimension'
1549 ],
1550 'priority' => 553
1551 ] )
1552 );
1553
1554 $this->customizer->add_setting( 'betterdocs_search_result_item_padding_left', [
1555 'default' => $this->defaults['betterdocs_search_result_item_padding_left'],
1556 'capability' => 'edit_theme_options',
1557 'transport' => 'postMessage',
1558 'sanitize_callback' => [$this->sanitizer, 'integer']
1559
1560 ] );
1561
1562 $this->customizer->add_control( new DimensionControl(
1563 $this->customizer, 'betterdocs_search_result_item_padding_left', [
1564 'type' => 'betterdocs-dimension',
1565 'section' => 'betterdocs_live_search_settings',
1566 'settings' => 'betterdocs_search_result_item_padding_left',
1567 'label' => __( 'Left', 'betterdocs' ),
1568 'input_attrs' => [
1569 'class' => 'betterdocs_search_result_item_padding betterdocs-dimension'
1570 ],
1571 'priority' => 553
1572 ] )
1573 );
1574 }
1575
1576 public function result_item_border_color() {
1577 $this->customizer->add_setting( 'betterdocs_search_result_item_border_color', [
1578 'default' => $this->defaults['betterdocs_search_result_item_border_color'],
1579 'capability' => 'edit_theme_options',
1580 'transport' => 'postMessage',
1581 'sanitize_callback' => [$this->sanitizer, 'rgba']
1582 ] );
1583
1584 $this->customizer->add_control(
1585 new AlphaColorControl(
1586 $this->customizer,
1587 'betterdocs_search_result_item_border_color',
1588 [
1589 'label' => __( 'Search Result Item Border Color', 'betterdocs' ),
1590 'section' => 'betterdocs_live_search_settings',
1591 'settings' => 'betterdocs_search_result_item_border_color',
1592 'priority' => 558
1593 ]
1594 )
1595 );
1596 }
1597
1598 public function result_item_hover_font_color() {
1599 $this->customizer->add_setting( 'betterdocs_search_result_item_hover_font_color', [
1600 'default' => $this->defaults['betterdocs_search_result_item_hover_font_color'],
1601 'capability' => 'edit_theme_options',
1602 'sanitize_callback' => [$this->sanitizer, 'rgba']
1603 ] );
1604
1605 $this->customizer->add_control(
1606 new AlphaColorControl(
1607 $this->customizer,
1608 'betterdocs_search_result_item_hover_font_color',
1609 [
1610 'label' => __( 'Search Result Item Font Hover Color', 'betterdocs' ),
1611 'section' => 'betterdocs_live_search_settings',
1612 'settings' => 'betterdocs_search_result_item_hover_font_color',
1613 'priority' => 559
1614 ]
1615 )
1616 );
1617 }
1618
1619 public function result_item_hover_background_color() {
1620 $this->customizer->add_setting( 'betterdocs_search_result_item_hover_background_color', [
1621 'default' => $this->defaults['betterdocs_search_result_item_hover_background_color'],
1622 'sanitize_callback' => [$this->sanitizer, 'rgba']
1623 ] );
1624
1625 $this->customizer->add_control(
1626 new AlphaColorControl(
1627 $this->customizer,
1628 'betterdocs_search_result_item_hover_background_color',
1629 [
1630 'label' => __( 'Item Background Hover Color', 'betterdocs' ),
1631 'section' => 'betterdocs_live_search_settings',
1632 'settings' => 'betterdocs_search_result_item_hover_background_color',
1633 'priority' => 560
1634 ]
1635 )
1636 );
1637 }
1638 }
1639