PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 3.5.2
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v3.5.2
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.2, at includes/Admin/Customizer/Sections/LiveSearch.php

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