PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 3.3.2
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v3.3.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 / Sidebar.php

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

1,084 lines 45.3 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 WPDeveloper\BetterDocs\Admin\Customizer\Controls\TitleControl;
7 use WPDeveloper\BetterDocs\Admin\Customizer\Controls\SelectControl;
8 use WPDeveloper\BetterDocs\Admin\Customizer\Controls\DimensionControl;
9 use WPDeveloper\BetterDocs\Admin\Customizer\Controls\SeparatorControl;
10 use WPDeveloper\BetterDocs\Admin\Customizer\Controls\AlphaColorControl;
11 use WPDeveloper\BetterDocs\Admin\Customizer\Controls\RangeValueControl;
12
13 class Sidebar extends Section {
14 /**
15 * Section Priority
16 * @var int
17 */
18 protected $priority = 300;
19
20 /**
21 * Get the section id.
22 * @return string
23 */
24 public function get_id() {
25 return 'betterdocs_sidebar_settings';
26 }
27
28 /**
29 * Get the title of the section.
30 * @return string
31 */
32 public function get_title() {
33 return __( 'Sidebar', 'betterdocs' );
34 }
35
36 public function sidebar_bg_color() {
37 $this->customizer->add_setting( 'betterdocs_sidebar_bg_color', [
38 'default' => $this->defaults['betterdocs_sidebar_bg_color'],
39 'capability' => 'edit_theme_options',
40 'transport' => 'postMessage',
41 'sanitize_callback' => [$this->sanitizer, 'rgba']
42 ] );
43
44 $this->customizer->add_control(
45 new AlphaColorControl(
46 $this->customizer,
47 'betterdocs_sidebar_bg_color',
48 [
49 'label' => __( 'Background Color', 'betterdocs' ),
50 'section' => 'betterdocs_sidebar_settings',
51 'settings' => 'betterdocs_sidebar_bg_color'
52 ]
53 )
54 );
55 }
56
57 public function sidebar_padding() {
58 $this->customizer->add_setting( 'betterdocs_sidebar_padding', [
59 'default' => $this->defaults['betterdocs_sidebar_padding'],
60 'capability' => 'edit_theme_options',
61 'transport' => 'postMessage',
62 'sanitize_callback' => [$this->sanitizer, 'integer']
63
64 ] );
65
66 $this->customizer->add_control( new TitleControl(
67 $this->customizer, 'betterdocs_sidebar_padding', [
68 'type' => 'betterdocs-title',
69 'section' => 'betterdocs_sidebar_settings',
70 'settings' => 'betterdocs_sidebar_padding',
71 'label' => __( 'Sidebar Padding', 'betterdocs' ),
72 'input_attrs' => [
73 'id' => 'betterdocs_sidebar_padding',
74 'class' => 'betterdocs-dimension'
75 ]
76 ] )
77 );
78
79 $this->customizer->add_setting( 'betterdocs_sidebar_padding_top', [
80 'default' => $this->defaults['betterdocs_sidebar_padding_top'],
81 'capability' => 'edit_theme_options',
82 'transport' => 'postMessage',
83 'sanitize_callback' => [$this->sanitizer, 'integer']
84 ] );
85
86 $this->customizer->add_control( new DimensionControl(
87 $this->customizer, 'betterdocs_sidebar_padding_top', [
88 'type' => 'betterdocs-dimension',
89 'section' => 'betterdocs_sidebar_settings',
90 'settings' => 'betterdocs_sidebar_padding_top',
91 'label' => __( 'Top', 'betterdocs' ),
92 'input_attrs' => [
93 'class' => 'betterdocs_sidebar_padding betterdocs-dimension'
94 ]
95 ] )
96 );
97
98 $this->customizer->add_setting( 'betterdocs_sidebar_padding_right', [
99 'default' => $this->defaults['betterdocs_sidebar_padding_right'],
100 'capability' => 'edit_theme_options',
101 'transport' => 'postMessage',
102 'sanitize_callback' => [$this->sanitizer, 'integer']
103
104 ] );
105
106 $this->customizer->add_control( new DimensionControl(
107 $this->customizer, 'betterdocs_sidebar_padding_right', [
108 'type' => 'betterdocs-dimension',
109 'section' => 'betterdocs_sidebar_settings',
110 'settings' => 'betterdocs_sidebar_padding_right',
111 'label' => __( 'Right', 'betterdocs' ),
112 'input_attrs' => [
113 'class' => 'betterdocs_sidebar_padding betterdocs-dimension'
114 ]
115 ] )
116 );
117
118 $this->customizer->add_setting( 'betterdocs_sidebar_padding_bottom', [
119 'default' => $this->defaults['betterdocs_sidebar_padding_bottom'],
120 'capability' => 'edit_theme_options',
121 'transport' => 'postMessage',
122 'sanitize_callback' => [$this->sanitizer, 'integer']
123
124 ] );
125
126 $this->customizer->add_control( new DimensionControl(
127 $this->customizer, 'betterdocs_sidebar_padding_bottom', [
128 'type' => 'betterdocs-dimension',
129 'section' => 'betterdocs_sidebar_settings',
130 'settings' => 'betterdocs_sidebar_padding_bottom',
131 'label' => __( 'Bottom', 'betterdocs' ),
132 'input_attrs' => [
133 'class' => 'betterdocs_sidebar_padding betterdocs-dimension'
134 ]
135 ] )
136 );
137
138 $this->customizer->add_setting( 'betterdocs_sidebar_padding_left', [
139 'default' => $this->defaults['betterdocs_sidebar_padding_left'],
140 'capability' => 'edit_theme_options',
141 'transport' => 'postMessage',
142 'sanitize_callback' => [$this->sanitizer, 'integer']
143
144 ] );
145
146 $this->customizer->add_control( new DimensionControl(
147 $this->customizer, 'betterdocs_sidebar_padding_left', [
148 'type' => 'betterdocs-dimension',
149 'section' => 'betterdocs_sidebar_settings',
150 'settings' => 'betterdocs_sidebar_padding_left',
151 'label' => __( 'Left', 'betterdocs' ),
152 'input_attrs' => [
153 'class' => 'betterdocs_sidebar_padding betterdocs-dimension'
154 ]
155 ] )
156 );
157 }
158
159 public function sidebar_border() {
160 $this->customizer->add_setting( 'betterdocs_sidebar_borderr', [
161 'default' => $this->defaults['betterdocs_sidebar_borderr'],
162 'capability' => 'edit_theme_options',
163 'transport' => 'postMessage',
164 'sanitize_callback' => [$this->sanitizer, 'integer']
165
166 ] );
167
168 $this->customizer->add_control( new TitleControl(
169 $this->customizer, 'betterdocs_sidebar_borderr', [
170 'type' => 'betterdocs-title',
171 'section' => 'betterdocs_sidebar_settings',
172 'settings' => 'betterdocs_sidebar_borderr',
173 'label' => __( 'Sidebar Border Radius', 'betterdocs' ),
174 'input_attrs' => [
175 'id' => 'betterdocs_sidebar_borderr',
176 'class' => 'betterdocs-dimension'
177 ]
178 ] )
179 );
180
181 $this->customizer->add_setting( 'betterdocs_sidebar_borderr_topleft', [
182 'default' => $this->defaults['betterdocs_sidebar_borderr_topleft'],
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_sidebar_borderr_topleft', [
190 'type' => 'betterdocs-dimension',
191 'section' => 'betterdocs_sidebar_settings',
192 'settings' => 'betterdocs_sidebar_borderr_topleft',
193 'label' => __( 'Top Left', 'betterdocs' ),
194 'input_attrs' => [
195 'class' => 'betterdocs_sidebar_borderr betterdocs-dimension'
196 ]
197 ] )
198 );
199
200 $this->customizer->add_setting( 'betterdocs_sidebar_borderr_topright', [
201 'default' => $this->defaults['betterdocs_sidebar_borderr_topright'],
202 'capability' => 'edit_theme_options',
203 'transport' => 'postMessage',
204 'sanitize_callback' => [$this->sanitizer, 'integer']
205 ] );
206
207 $this->customizer->add_control( new DimensionControl(
208 $this->customizer, 'betterdocs_sidebar_borderr_topright', [
209 'type' => 'betterdocs-dimension',
210 'section' => 'betterdocs_sidebar_settings',
211 'settings' => 'betterdocs_sidebar_borderr_topright',
212 'label' => __( 'Top Right', 'betterdocs' ),
213 'input_attrs' => [
214 'class' => 'betterdocs_sidebar_borderr betterdocs-dimension'
215 ]
216 ] )
217 );
218
219 $this->customizer->add_setting( 'betterdocs_sidebar_borderr_bottomright', [
220 'default' => $this->defaults['betterdocs_sidebar_borderr_bottomright'],
221 'capability' => 'edit_theme_options',
222 'transport' => 'postMessage',
223 'sanitize_callback' => [$this->sanitizer, 'integer']
224
225 ] );
226
227 $this->customizer->add_control( new DimensionControl(
228 $this->customizer, 'betterdocs_sidebar_borderr_bottomright', [
229 'type' => 'betterdocs-dimension',
230 'section' => 'betterdocs_sidebar_settings',
231 'settings' => 'betterdocs_sidebar_borderr_bottomright',
232 'label' => __( 'Bottom Right', 'betterdocs' ),
233 'input_attrs' => [
234 'class' => 'betterdocs_sidebar_borderr betterdocs-dimension'
235 ]
236 ] )
237 );
238
239 $this->customizer->add_setting( 'betterdocs_sidebar_borderr_bottomleft', [
240 'default' => $this->defaults['betterdocs_sidebar_borderr_bottomleft'],
241 'capability' => 'edit_theme_options',
242 'transport' => 'postMessage',
243 'sanitize_callback' => [$this->sanitizer, 'integer']
244
245 ] );
246
247 $this->customizer->add_control( new DimensionControl(
248 $this->customizer, 'betterdocs_sidebar_borderr_bottomleft', [
249 'type' => 'betterdocs-dimension',
250 'section' => 'betterdocs_sidebar_settings',
251 'settings' => 'betterdocs_sidebar_borderr_bottomleft',
252 'label' => __( 'Bottom Left', 'betterdocs' ),
253 'input_attrs' => [
254 'class' => 'betterdocs_sidebar_borderr betterdocs-dimension'
255 ]
256 ] )
257 );
258 }
259
260 public function sidebar_title() {
261 $this->customizer->add_setting( 'betterdocs_sidebar_title', [
262 'default' => $this->defaults['betterdocs_sidebar_title'],
263 'sanitize_callback' => 'esc_html'
264 ] );
265
266 $this->customizer->add_control( new SeparatorControl(
267 $this->customizer, 'betterdocs_sidebar_title', [
268 'label' => __( 'Sidebar Title', 'betterdocs' ),
269 'settings' => 'betterdocs_sidebar_title',
270 'section' => 'betterdocs_sidebar_settings'
271 ] )
272 );
273 }
274
275 public function title_tag() {
276 $this->customizer->add_setting( 'betterdocs_sidebar_title_tag', [
277 'default' => $this->defaults['betterdocs_sidebar_title_tag'],
278 'capability' => 'edit_theme_options',
279 'sanitize_callback' => [$this->sanitizer, 'select']
280 ] );
281
282 $this->customizer->add_control(
283 new WP_Customize_Control(
284 $this->customizer,
285 'betterdocs_sidebar_title_tag',
286 [
287 'label' => __( 'Category Title Tag', 'betterdocs' ),
288 'section' => 'betterdocs_sidebar_settings',
289 'settings' => 'betterdocs_sidebar_title_tag',
290 'type' => 'select',
291 'choices' => [
292 'h1' => 'h1',
293 'h2' => 'h2',
294 'h3' => 'h3',
295 'h4' => 'h4',
296 'h5' => 'h5',
297 'h6' => 'h6'
298 ]
299 ]
300 )
301 );
302 }
303
304 public function icon_size() {
305 $this->customizer->add_setting( 'betterdocs_sidebar_icon_size', [
306 'default' => $this->defaults['betterdocs_sidebar_icon_size'],
307 'capability' => 'edit_theme_options',
308 'transport' => 'postMessage',
309 'sanitize_callback' => [$this->sanitizer, 'integer']
310
311 ] );
312
313 $this->customizer->add_control( new RangeValueControl(
314 $this->customizer, 'betterdocs_sidebar_icon_size', [
315 'type' => 'betterdocs-range-value',
316 'section' => 'betterdocs_sidebar_settings',
317 'settings' => 'betterdocs_sidebar_icon_size',
318 'label' => __( 'Icon Size', 'betterdocs' ),
319 'input_attrs' => [
320 'class' => '',
321 'min' => 0,
322 'max' => 50,
323 'step' => 1,
324 'suffix' => 'px' //optional suffix
325 ]
326 ] )
327 );
328 }
329
330 public function title_bg_color() {
331 $this->customizer->add_setting( 'betterdocs_sidebar_title_bg_color', [
332 'default' => $this->defaults['betterdocs_sidebar_title_bg_color'],
333 'capability' => 'edit_theme_options',
334 'transport' => 'postMessage',
335 'sanitize_callback' => [$this->sanitizer, 'rgba']
336 ] );
337
338 $this->customizer->add_control(
339 new AlphaColorControl(
340 $this->customizer,
341 'betterdocs_sidebar_title_bg_color',
342 [
343 'label' => __( 'Title Background Color', 'betterdocs' ),
344 'section' => 'betterdocs_sidebar_settings',
345 'settings' => 'betterdocs_sidebar_title_bg_color'
346 ]
347 )
348 );
349 }
350
351 public function active_cat_background_color() {
352 $this->customizer->add_setting( 'betterdocs_sidebar_active_cat_background_color', [
353 'default' => $this->defaults['betterdocs_sidebar_active_cat_background_color'],
354 'capability' => 'edit_theme_options',
355 'transport' => 'postMessage',
356 'sanitize_callback' => [$this->sanitizer, 'rgba']
357 ] );
358
359 $this->customizer->add_control(
360 new AlphaColorControl(
361 $this->customizer,
362 'betterdocs_sidebar_active_cat_background_color',
363 [
364 'label' => __( 'Active Title Background Color', 'betterdocs' ),
365 'section' => 'betterdocs_sidebar_settings',
366 'settings' => 'betterdocs_sidebar_active_cat_background_color'
367 ]
368 )
369 );
370 }
371
372 public function active_cat_border_color() {
373 $this->customizer->add_setting( 'betterdocs_sidebar_active_cat_border_color', [
374 'default' => $this->defaults['betterdocs_sidebar_active_cat_border_color'],
375 'capability' => 'edit_theme_options',
376 'transport' => 'postMessage',
377 'sanitize_callback' => [$this->sanitizer, 'rgba']
378 ] );
379
380 $this->customizer->add_control(
381 new AlphaColorControl(
382 $this->customizer,
383 'betterdocs_sidebar_active_cat_border_color',
384 [
385 'label' => __( 'Active Title Border Color', 'betterdocs' ),
386 'section' => 'betterdocs_sidebar_settings',
387 'settings' => 'betterdocs_sidebar_active_cat_border_color'
388 ]
389 )
390 );
391 }
392
393 public function title_color() {
394 $this->customizer->add_setting( 'betterdocs_sidebar_title_color', [
395 'default' => $this->defaults['betterdocs_sidebar_title_color'],
396 'capability' => 'edit_theme_options',
397 'transport' => 'postMessage',
398 'sanitize_callback' => [$this->sanitizer, 'rgba']
399 ] );
400
401 $this->customizer->add_control(
402 new AlphaColorControl(
403 $this->customizer,
404 'betterdocs_sidebar_title_color',
405 [
406 'label' => __( 'Title Color', 'betterdocs' ),
407 'section' => 'betterdocs_sidebar_settings',
408 'settings' => 'betterdocs_sidebar_title_color'
409 ]
410 )
411 );
412 }
413
414 public function title_hover_color() {
415 $this->customizer->add_setting( 'betterdocs_sidebar_title_hover_color', [
416 'default' => $this->defaults['betterdocs_sidebar_title_hover_color'],
417 'capability' => 'edit_theme_options',
418 'sanitize_callback' => [$this->sanitizer, 'rgba']
419 ] );
420
421 $this->customizer->add_control(
422 new AlphaColorControl(
423 $this->customizer,
424 'betterdocs_sidebar_title_hover_color',
425 [
426 'label' => __( 'Title Hover Color', 'betterdocs' ),
427 'section' => 'betterdocs_sidebar_settings',
428 'settings' => 'betterdocs_sidebar_title_hover_color'
429 ]
430 )
431 );
432 }
433
434 public function active_title_color() {
435 $this->customizer->add_setting( 'betterdocs_sidebar_active_title_color', [
436 'default' => $this->defaults['betterdocs_sidebar_active_title_color'],
437 'capability' => 'edit_theme_options',
438 'transport' => 'postMessage',
439 'sanitize_callback' => [$this->sanitizer, 'rgba']
440 ] );
441
442 $this->customizer->add_control(
443 new AlphaColorControl(
444 $this->customizer,
445 'betterdocs_sidebar_active_title_color',
446 [
447 'label' => __( 'Active Title Color', 'betterdocs' ),
448 'section' => 'betterdocs_sidebar_settings',
449 'settings' => 'betterdocs_sidebar_active_title_color'
450 ]
451 )
452 );
453 }
454
455 public function title_font_size() {
456 $this->customizer->add_setting( 'betterdocs_sidebar_title_font_size', [
457 'default' => $this->defaults['betterdocs_sidebar_title_font_size'],
458 'capability' => 'edit_theme_options',
459 'transport' => 'postMessage',
460 'sanitize_callback' => [$this->sanitizer, 'integer']
461
462 ] );
463
464 $this->customizer->add_control( new RangeValueControl(
465 $this->customizer, 'betterdocs_sidebar_title_font_size', [
466 'type' => 'betterdocs-range-value',
467 'section' => 'betterdocs_sidebar_settings',
468 'settings' => 'betterdocs_sidebar_title_font_size',
469 'label' => __( 'Title Font Size', 'betterdocs' ),
470 'input_attrs' => [
471 'class' => '',
472 'min' => 0,
473 'max' => 50,
474 'step' => 1,
475 'suffix' => 'px' //optional suffix
476 ]
477 ] )
478 );
479 }
480
481 public function title_padding() {
482 $this->customizer->add_setting( 'betterdocs_sidebar_title_padding', [
483 'default' => $this->defaults['betterdocs_sidebar_title_padding'],
484 'capability' => 'edit_theme_options',
485 'transport' => 'postMessage',
486 'sanitize_callback' => [$this->sanitizer, 'integer']
487
488 ] );
489
490 $this->customizer->add_control( new TitleControl(
491 $this->customizer, 'betterdocs_sidebar_title_padding', [
492 'type' => 'betterdocs-title',
493 'section' => 'betterdocs_sidebar_settings',
494 'settings' => 'betterdocs_sidebar_title_padding',
495 'label' => __( 'Title Padding', 'betterdocs' ),
496 'input_attrs' => [
497 'id' => 'betterdocs_sidebar_title_padding',
498 'class' => 'betterdocs-dimension'
499 ]
500 ] )
501 );
502
503 $this->customizer->add_setting( 'betterdocs_sidebar_title_padding_top', [
504 'default' => $this->defaults['betterdocs_sidebar_title_padding_top'],
505 'capability' => 'edit_theme_options',
506 'transport' => 'postMessage',
507 'sanitize_callback' => [$this->sanitizer, 'integer']
508 ] );
509
510 $this->customizer->add_control( new DimensionControl(
511 $this->customizer, 'betterdocs_sidebar_title_padding_top', [
512 'type' => 'betterdocs-dimension',
513 'section' => 'betterdocs_sidebar_settings',
514 'settings' => 'betterdocs_sidebar_title_padding_top',
515 'label' => __( 'Top', 'betterdocs' ),
516 'input_attrs' => [
517 'class' => 'betterdocs_sidebar_title_padding betterdocs-dimension'
518 ]
519 ] )
520 );
521
522 $this->customizer->add_setting( 'betterdocs_sidebar_title_padding_right', [
523 'default' => $this->defaults['betterdocs_sidebar_title_padding_right'],
524 'capability' => 'edit_theme_options',
525 'transport' => 'postMessage',
526 'sanitize_callback' => [$this->sanitizer, 'integer']
527 ] );
528
529 $this->customizer->add_control( new DimensionControl(
530 $this->customizer, 'betterdocs_sidebar_title_padding_right', [
531 'type' => 'betterdocs-dimension',
532 'section' => 'betterdocs_sidebar_settings',
533 'settings' => 'betterdocs_sidebar_title_padding_right',
534 'label' => __( 'Right', 'betterdocs' ),
535 'input_attrs' => [
536 'class' => 'betterdocs_sidebar_title_padding betterdocs-dimension'
537 ]
538 ] )
539 );
540
541 $this->customizer->add_setting( 'betterdocs_sidebar_title_padding_bottom', [
542 'default' => $this->defaults['betterdocs_sidebar_title_padding_bottom'],
543 'capability' => 'edit_theme_options',
544 'transport' => 'postMessage',
545 'sanitize_callback' => [$this->sanitizer, 'integer']
546
547 ] );
548
549 $this->customizer->add_control( new DimensionControl(
550 $this->customizer, 'betterdocs_sidebar_title_padding_bottom', [
551 'type' => 'betterdocs-dimension',
552 'section' => 'betterdocs_sidebar_settings',
553 'settings' => 'betterdocs_sidebar_title_padding_bottom',
554 'label' => __( 'Bottom', 'betterdocs' ),
555 'input_attrs' => [
556 'class' => 'betterdocs_sidebar_title_padding betterdocs-dimension'
557 ]
558 ] )
559 );
560
561 $this->customizer->add_setting( 'betterdocs_sidebar_title_padding_left', [
562 'default' => $this->defaults['betterdocs_sidebar_title_padding_left'],
563 'capability' => 'edit_theme_options',
564 'transport' => 'postMessage',
565 'sanitize_callback' => [$this->sanitizer, 'integer']
566
567 ] );
568
569 $this->customizer->add_control( new DimensionControl(
570 $this->customizer, 'betterdocs_sidebar_title_padding_left', [
571 'type' => 'betterdocs-dimension',
572 'section' => 'betterdocs_sidebar_settings',
573 'settings' => 'betterdocs_sidebar_title_padding_left',
574 'label' => __( 'Left', 'betterdocs' ),
575 'input_attrs' => [
576 'class' => 'betterdocs_sidebar_title_padding betterdocs-dimension'
577 ]
578 ] )
579 );
580 }
581
582 public function title_margin() {
583 $this->customizer->add_setting( 'betterdocs_sidebar_title_margin', [
584 'default' => $this->defaults['betterdocs_sidebar_title_margin'],
585 'capability' => 'edit_theme_options',
586 'transport' => 'postMessage',
587 'sanitize_callback' => [$this->sanitizer, 'integer']
588 ] );
589
590 $this->customizer->add_control( new TitleControl(
591 $this->customizer, 'betterdocs_sidebar_title_margin', [
592 'type' => 'betterdocs-title',
593 'section' => 'betterdocs_sidebar_settings',
594 'settings' => 'betterdocs_sidebar_title_margin',
595 'label' => __( 'Title Margin', 'betterdocs' ),
596 'input_attrs' => [
597 'id' => 'betterdocs_sidebar_title_margin',
598 'class' => 'betterdocs-dimension'
599 ]
600 ] )
601 );
602
603 $this->customizer->add_setting( 'betterdocs_sidebar_title_margin_top', [
604 'default' => $this->defaults['betterdocs_sidebar_title_margin_top'],
605 'capability' => 'edit_theme_options',
606 'transport' => 'postMessage',
607 'sanitize_callback' => [$this->sanitizer, 'integer']
608 ] );
609
610 $this->customizer->add_control( new DimensionControl(
611 $this->customizer, 'betterdocs_sidebar_title_margin_top', [
612 'type' => 'betterdocs-dimension',
613 'section' => 'betterdocs_sidebar_settings',
614 'settings' => 'betterdocs_sidebar_title_margin_top',
615 'label' => __( 'Top', 'betterdocs' ),
616 'input_attrs' => [
617 'class' => 'betterdocs_sidebar_title_margin betterdocs-dimension'
618 ]
619 ] )
620 );
621
622 $this->customizer->add_setting( 'betterdocs_sidebar_title_margin_right', [
623 'default' => $this->defaults['betterdocs_sidebar_title_margin_right'],
624 'capability' => 'edit_theme_options',
625 'transport' => 'postMessage',
626 'sanitize_callback' => [$this->sanitizer, 'integer']
627 ] );
628
629 $this->customizer->add_control( new DimensionControl(
630 $this->customizer, 'betterdocs_sidebar_title_margin_right', [
631 'type' => 'betterdocs-dimension',
632 'section' => 'betterdocs_sidebar_settings',
633 'settings' => 'betterdocs_sidebar_title_margin_right',
634 'label' => __( 'Right', 'betterdocs' ),
635 'input_attrs' => [
636 'class' => 'betterdocs_sidebar_title_margin betterdocs-dimension'
637 ]
638 ] )
639 );
640
641 $this->customizer->add_setting( 'betterdocs_sidebar_title_margin_bottom', [
642 'default' => $this->defaults['betterdocs_sidebar_title_margin_bottom'],
643 'capability' => 'edit_theme_options',
644 'transport' => 'postMessage',
645 'sanitize_callback' => [$this->sanitizer, 'integer']
646
647 ] );
648
649 $this->customizer->add_control( new DimensionControl(
650 $this->customizer, 'betterdocs_sidebar_title_margin_bottom', [
651 'type' => 'betterdocs-dimension',
652 'section' => 'betterdocs_sidebar_settings',
653 'settings' => 'betterdocs_sidebar_title_margin_bottom',
654 'label' => __( 'Bottom', 'betterdocs' ),
655 'input_attrs' => [
656 'class' => 'betterdocs_sidebar_title_margin betterdocs-dimension'
657 ]
658 ] )
659 );
660
661 $this->customizer->add_setting( 'betterdocs_sidebar_title_margin_left', [
662 'default' => $this->defaults['betterdocs_sidebar_title_margin_left'],
663 'capability' => 'edit_theme_options',
664 'transport' => 'postMessage',
665 'sanitize_callback' => [$this->sanitizer, 'integer']
666 ] );
667
668 $this->customizer->add_control( new DimensionControl(
669 $this->customizer, 'betterdocs_sidebar_title_margin_left', [
670 'type' => 'betterdocs-dimension',
671 'section' => 'betterdocs_sidebar_settings',
672 'settings' => 'betterdocs_sidebar_title_margin_left',
673 'label' => __( 'Left', 'betterdocs' ),
674 'input_attrs' => [
675 'class' => 'betterdocs_sidebar_title_margin betterdocs-dimension'
676 ]
677 ] )
678 );
679 }
680
681 public function item_counter_title() {
682 $this->customizer->add_setting( 'betterdocs_sidebar_item_counter_title', [
683 'default' => $this->defaults['betterdocs_sidebar_item_counter_title'],
684 'sanitize_callback' => 'esc_html'
685 ] );
686
687 $this->customizer->add_control( new SeparatorControl(
688 $this->customizer, 'betterdocs_sidebar_item_counter_title', [
689 'label' => __( 'Sidebar Item Counter', 'betterdocs' ),
690 'settings' => 'betterdocs_sidebar_item_counter_title',
691 'section' => 'betterdocs_sidebar_settings'
692 ] )
693 );
694 }
695
696 public function item_count_bg_color() {
697 $this->customizer->add_setting( 'betterdocs_sidbebar_item_count_bg_color', [
698 'default' => $this->defaults['betterdocs_sidbebar_item_count_bg_color'],
699 'capability' => 'edit_theme_options',
700 'transport' => 'postMessage',
701 'sanitize_callback' => [$this->sanitizer, 'rgba']
702 ] );
703
704 $this->customizer->add_control(
705 new AlphaColorControl(
706 $this->customizer,
707 'betterdocs_sidbebar_item_count_bg_color',
708 [
709 'label' => __( 'Background Color', 'betterdocs' ),
710 'section' => 'betterdocs_sidebar_settings',
711 'settings' => 'betterdocs_sidbebar_item_count_bg_color'
712 ]
713 )
714 );
715 }
716
717 public function item_count_inner_bg_color() {
718 $this->customizer->add_setting( 'betterdocs_sidbebar_item_count_inner_bg_color', [
719 'default' => $this->defaults['betterdocs_sidbebar_item_count_inner_bg_color'],
720 'capability' => 'edit_theme_options',
721 'transport' => 'postMessage',
722 'sanitize_callback' => [$this->sanitizer, 'rgba']
723 ] );
724
725 $this->customizer->add_control(
726 new AlphaColorControl(
727 $this->customizer,
728 'betterdocs_sidbebar_item_count_inner_bg_color',
729 [
730 'label' => __( 'Inner Circle Background Color', 'betterdocs' ),
731 'section' => 'betterdocs_sidebar_settings',
732 'settings' => 'betterdocs_sidbebar_item_count_inner_bg_color'
733 ]
734 )
735 );
736 }
737
738 public function item_counter_size() {
739 $this->customizer->add_setting( 'betterdocs_sidebar_item_counter_size', [
740 'default' => $this->defaults['betterdocs_sidebar_item_counter_size'],
741 'capability' => 'edit_theme_options',
742 'transport' => 'postMessage',
743 'sanitize_callback' => [$this->sanitizer, 'integer']
744
745 ] );
746
747 $this->customizer->add_control( new RangeValueControl(
748 $this->customizer, 'betterdocs_sidebar_item_counter_size', [
749 'type' => 'betterdocs-range-value',
750 'section' => 'betterdocs_sidebar_settings',
751 'settings' => 'betterdocs_sidebar_item_counter_size',
752 'label' => __( 'Size (Height, Width)', 'betterdocs' ),
753 'input_attrs' => [
754 'class' => '',
755 'min' => 10,
756 'max' => 100,
757 'step' => 1,
758 'suffix' => 'px' //optional suffix
759 ]
760 ] )
761 );
762 }
763
764 public function item_count_color() {
765 $this->customizer->add_setting( 'betterdocs_sidebar_item_count_color', [
766 'default' => $this->defaults['betterdocs_sidebar_item_count_color'],
767 'capability' => 'edit_theme_options',
768 'transport' => 'postMessage',
769 'sanitize_callback' => [$this->sanitizer, 'rgba']
770 ] );
771
772 $this->customizer->add_control(
773 new AlphaColorControl(
774 $this->customizer,
775 'betterdocs_sidebar_item_count_color',
776 [
777 'label' => __( 'Color', 'betterdocs' ),
778 'section' => 'betterdocs_sidebar_settings',
779 'settings' => 'betterdocs_sidebar_item_count_color'
780 ]
781 )
782 );
783 }
784
785 public function item_count_font_size() {
786 $this->customizer->add_setting( 'betterdocs_sidebat_item_count_font_size', [
787 'default' => $this->defaults['betterdocs_sidebat_item_count_font_size'],
788 'capability' => 'edit_theme_options',
789 'transport' => 'postMessage',
790 'sanitize_callback' => [$this->sanitizer, 'integer']
791
792 ] );
793
794 $this->customizer->add_control( new RangeValueControl(
795 $this->customizer, 'betterdocs_sidebat_item_count_font_size', [
796 'type' => 'betterdocs-range-value',
797 'section' => 'betterdocs_sidebar_settings',
798 'settings' => 'betterdocs_sidebat_item_count_font_size',
799 'label' => __( 'Font Size', 'betterdocs' ),
800 'input_attrs' => [
801 'class' => '',
802 'min' => 0,
803 'max' => 50,
804 'step' => 1,
805 'suffix' => 'px' //optional suffix
806 ]
807 ] )
808 );
809 }
810
811 public function sidebar_content() {
812 $this->customizer->add_setting( 'betterdocs_sidebar_content', [
813 'default' => $this->defaults['betterdocs_sidebar_content'],
814 'sanitize_callback' => 'esc_html'
815 ] );
816
817 $this->customizer->add_control( new SeparatorControl(
818 $this->customizer, 'betterdocs_sidebar_content', [
819 'label' => __( 'Sidebar Content', 'betterdocs' ),
820 'settings' => 'betterdocs_sidebar_content',
821 'section' => 'betterdocs_sidebar_settings'
822 ] )
823 );
824 }
825
826 public function item_list_bg_color() {
827 $this->customizer->add_setting( 'betterdocs_sidbebar_item_list_bg_color', [
828 'default' => $this->defaults['betterdocs_sidbebar_item_list_bg_color'],
829 'capability' => 'edit_theme_options',
830 'transport' => 'postMessage',
831 'sanitize_callback' => [$this->sanitizer, 'rgba']
832 ] );
833
834 $this->customizer->add_control(
835 new AlphaColorControl(
836 $this->customizer,
837 'betterdocs_sidbebar_item_list_bg_color',
838 [
839 'label' => __( 'List Background Color', 'betterdocs' ),
840 'section' => 'betterdocs_sidebar_settings',
841 'settings' => 'betterdocs_sidbebar_item_list_bg_color'
842 ]
843 )
844 );
845 }
846
847 public function list_item_color() {
848 $this->customizer->add_setting( 'betterdocs_sidebar_list_item_color', [
849 'default' => $this->defaults['betterdocs_sidebar_list_item_color'],
850 'capability' => 'edit_theme_options',
851 'transport' => 'postMessage',
852 'sanitize_callback' => [$this->sanitizer, 'rgba']
853 ] );
854
855 $this->customizer->add_control(
856 new AlphaColorControl(
857 $this->customizer,
858 'betterdocs_sidebar_list_item_color',
859 [
860 'label' => __( 'List Item Color', 'betterdocs' ),
861 'section' => 'betterdocs_sidebar_settings',
862 'settings' => 'betterdocs_sidebar_list_item_color'
863 ]
864 )
865 );
866 }
867
868 public function list_item_hover_color() {
869 $this->customizer->add_setting( 'betterdocs_sidebar_list_item_hover_color', [
870 'default' => $this->defaults['betterdocs_sidebar_list_item_hover_color'],
871 'capability' => 'edit_theme_options',
872 'sanitize_callback' => [$this->sanitizer, 'rgba']
873 ] );
874
875 $this->customizer->add_control(
876 new AlphaColorControl(
877 $this->customizer,
878 'betterdocs_sidebar_list_item_hover_color',
879 [
880 'label' => __( 'List Item Hover Color', 'betterdocs' ),
881 'section' => 'betterdocs_sidebar_settings',
882 'settings' => 'betterdocs_sidebar_list_item_hover_color'
883 ]
884 )
885 );
886 }
887
888 public function list_item_font_size() {
889 $this->customizer->add_setting( 'betterdocs_sidebar_list_item_font_size', [
890 'default' => $this->defaults['betterdocs_sidebar_list_item_font_size'],
891 'capability' => 'edit_theme_options',
892 'transport' => 'postMessage',
893 'sanitize_callback' => [$this->sanitizer, 'integer']
894
895 ] );
896
897 $this->customizer->add_control( new RangeValueControl(
898 $this->customizer, 'betterdocs_sidebar_list_item_font_size', [
899 'type' => 'betterdocs-range-value',
900 'section' => 'betterdocs_sidebar_settings',
901 'settings' => 'betterdocs_sidebar_list_item_font_size',
902 'label' => __( 'List Item Font Size', 'betterdocs' ),
903 'input_attrs' => [
904 'class' => '',
905 'min' => 0,
906 'max' => 50,
907 'step' => 1,
908 'suffix' => 'px' //optional suffix
909 ]
910 ] )
911 );
912 }
913
914 public function list_icon_color() {
915 $this->customizer->add_setting( 'betterdocs_sidebar_list_icon_color', [
916 'default' => $this->defaults['betterdocs_sidebar_list_icon_color'],
917 'capability' => 'edit_theme_options',
918 'transport' => 'postMessage',
919 'sanitize_callback' => [$this->sanitizer, 'rgba']
920 ] );
921
922 $this->customizer->add_control(
923 new AlphaColorControl(
924 $this->customizer,
925 'betterdocs_sidebar_list_icon_color',
926 [
927 'label' => __( 'List Icon Color', 'betterdocs' ),
928 'section' => 'betterdocs_sidebar_settings',
929 'settings' => 'betterdocs_sidebar_list_icon_color'
930 ]
931 )
932 );
933 }
934
935 public function list_icon_font_size() {
936 $this->customizer->add_setting( 'betterdocs_sidebar_list_icon_font_size', [
937 'default' => $this->defaults['betterdocs_sidebar_list_icon_font_size'],
938 'capability' => 'edit_theme_options',
939 'transport' => 'postMessage',
940 'sanitize_callback' => [$this->sanitizer, 'integer']
941
942 ] );
943
944 $this->customizer->add_control( new RangeValueControl(
945 $this->customizer, 'betterdocs_sidebar_list_icon_font_size', [
946 'type' => 'betterdocs-range-value',
947 'section' => 'betterdocs_sidebar_settings',
948 'settings' => 'betterdocs_sidebar_list_icon_font_size',
949 'label' => __( 'List Icon Font Size', 'betterdocs' ),
950 'input_attrs' => [
951 'class' => '',
952 'min' => 0,
953 'max' => 50,
954 'step' => 1,
955 'suffix' => 'px' //optional suffix
956 ]
957 ] )
958 );
959 }
960
961 public function list_item_margin() {
962 $this->customizer->add_setting( 'betterdocs_sidebar_list_item_margin', [
963 'default' => $this->defaults['betterdocs_sidebar_list_item_margin'],
964 'capability' => 'edit_theme_options',
965 'transport' => 'postMessage',
966 'sanitize_callback' => [$this->sanitizer, 'integer']
967
968 ] );
969
970 $this->customizer->add_control( new TitleControl(
971 $this->customizer, 'betterdocs_sidebar_list_item_margin', [
972 'type' => 'betterdocs-title',
973 'section' => 'betterdocs_sidebar_settings',
974 'settings' => 'betterdocs_sidebar_list_item_margin',
975 'label' => __( 'List Item Margin', 'betterdocs' ),
976 'input_attrs' => [
977 'id' => 'betterdocs_sidebar_list_item_margin',
978 'class' => 'betterdocs-dimension'
979 ]
980 ] )
981 );
982
983 $this->customizer->add_setting( 'betterdocs_sidebar_list_item_margin_top', [
984 'default' => $this->defaults['betterdocs_sidebar_list_item_margin_top'],
985 'capability' => 'edit_theme_options',
986 'transport' => 'postMessage',
987 'sanitize_callback' => [$this->sanitizer, 'integer']
988 ] );
989
990 $this->customizer->add_control( new DimensionControl(
991 $this->customizer, 'betterdocs_sidebar_list_item_margin_top', [
992 'type' => 'betterdocs-dimension',
993 'section' => 'betterdocs_sidebar_settings',
994 'settings' => 'betterdocs_sidebar_list_item_margin_top',
995 'label' => __( 'Top', 'betterdocs' ),
996 'input_attrs' => [
997 'class' => 'betterdocs_sidebar_list_item_margin betterdocs-dimension'
998 ]
999 ] )
1000 );
1001
1002 $this->customizer->add_setting( 'betterdocs_sidebar_list_item_margin_right', [
1003 'default' => $this->defaults['betterdocs_sidebar_list_item_margin_right'],
1004 'capability' => 'edit_theme_options',
1005 'transport' => 'postMessage',
1006 'sanitize_callback' => [$this->sanitizer, 'integer']
1007
1008 ] );
1009
1010 $this->customizer->add_control( new DimensionControl(
1011 $this->customizer, 'betterdocs_sidebar_list_item_margin_right', [
1012 'type' => 'betterdocs-dimension',
1013 'section' => 'betterdocs_sidebar_settings',
1014 'settings' => 'betterdocs_sidebar_list_item_margin_right',
1015 'label' => __( 'Right', 'betterdocs' ),
1016 'input_attrs' => [
1017 'class' => 'betterdocs_sidebar_list_item_margin betterdocs-dimension'
1018 ]
1019 ] )
1020 );
1021
1022 $this->customizer->add_setting( 'betterdocs_sidebar_list_item_margin_bottom', [
1023 'default' => $this->defaults['betterdocs_sidebar_list_item_margin_bottom'],
1024 'capability' => 'edit_theme_options',
1025 'transport' => 'postMessage',
1026 'sanitize_callback' => [$this->sanitizer, 'integer']
1027
1028 ] );
1029
1030 $this->customizer->add_control( new DimensionControl(
1031 $this->customizer, 'betterdocs_sidebar_list_item_margin_bottom', [
1032 'type' => 'betterdocs-dimension',
1033 'section' => 'betterdocs_sidebar_settings',
1034 'settings' => 'betterdocs_sidebar_list_item_margin_bottom',
1035 'label' => __( 'Bottom', 'betterdocs' ),
1036 'input_attrs' => [
1037 'class' => 'betterdocs_sidebar_list_item_margin betterdocs-dimension'
1038 ]
1039 ] )
1040 );
1041
1042 $this->customizer->add_setting( 'betterdocs_sidebar_list_item_margin_left', [
1043 'default' => $this->defaults['betterdocs_sidebar_list_item_margin_left'],
1044 'capability' => 'edit_theme_options',
1045 'transport' => 'postMessage',
1046 'sanitize_callback' => [$this->sanitizer, 'integer']
1047
1048 ] );
1049
1050 $this->customizer->add_control( new DimensionControl(
1051 $this->customizer, 'betterdocs_sidebar_list_item_margin_left', [
1052 'type' => 'betterdocs-dimension',
1053 'section' => 'betterdocs_sidebar_settings',
1054 'settings' => 'betterdocs_sidebar_list_item_margin_left',
1055 'label' => __( 'Left', 'betterdocs' ),
1056 'input_attrs' => [
1057 'class' => 'betterdocs_sidebar_list_item_margin betterdocs-dimension'
1058 ]
1059 ] )
1060 );
1061 }
1062
1063 public function active_list_item_color() {
1064 $this->customizer->add_setting( 'betterdocs_sidebar_active_list_item_color', [
1065 'default' => $this->defaults['betterdocs_sidebar_active_list_item_color'],
1066 'capability' => 'edit_theme_options',
1067 'transport' => 'postMessage',
1068 'sanitize_callback' => [$this->sanitizer, 'rgba']
1069 ] );
1070
1071 $this->customizer->add_control(
1072 new AlphaColorControl(
1073 $this->customizer,
1074 'betterdocs_sidebar_active_list_item_color',
1075 [
1076 'label' => __( 'Active List Item Color', 'betterdocs' ),
1077 'section' => 'betterdocs_sidebar_settings',
1078 'settings' => 'betterdocs_sidebar_active_list_item_color'
1079 ]
1080 )
1081 );
1082 }
1083 }
1084