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

1,085 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 'p' => 'p'
299 ]
300 ]
301 )
302 );
303 }
304
305 public function icon_size() {
306 $this->customizer->add_setting( 'betterdocs_sidebar_icon_size', [
307 'default' => $this->defaults['betterdocs_sidebar_icon_size'],
308 'capability' => 'edit_theme_options',
309 'transport' => 'postMessage',
310 'sanitize_callback' => [$this->sanitizer, 'integer']
311
312 ] );
313
314 $this->customizer->add_control( new RangeValueControl(
315 $this->customizer, 'betterdocs_sidebar_icon_size', [
316 'type' => 'betterdocs-range-value',
317 'section' => 'betterdocs_sidebar_settings',
318 'settings' => 'betterdocs_sidebar_icon_size',
319 'label' => __( 'Icon Size', 'betterdocs' ),
320 'input_attrs' => [
321 'class' => '',
322 'min' => 0,
323 'max' => 50,
324 'step' => 1,
325 'suffix' => 'px' //optional suffix
326 ]
327 ] )
328 );
329 }
330
331 public function title_bg_color() {
332 $this->customizer->add_setting( 'betterdocs_sidebar_title_bg_color', [
333 'default' => $this->defaults['betterdocs_sidebar_title_bg_color'],
334 'capability' => 'edit_theme_options',
335 'transport' => 'postMessage',
336 'sanitize_callback' => [$this->sanitizer, 'rgba']
337 ] );
338
339 $this->customizer->add_control(
340 new AlphaColorControl(
341 $this->customizer,
342 'betterdocs_sidebar_title_bg_color',
343 [
344 'label' => __( 'Title Background Color', 'betterdocs' ),
345 'section' => 'betterdocs_sidebar_settings',
346 'settings' => 'betterdocs_sidebar_title_bg_color'
347 ]
348 )
349 );
350 }
351
352 public function active_cat_background_color() {
353 $this->customizer->add_setting( 'betterdocs_sidebar_active_cat_background_color', [
354 'default' => $this->defaults['betterdocs_sidebar_active_cat_background_color'],
355 'capability' => 'edit_theme_options',
356 'transport' => 'postMessage',
357 'sanitize_callback' => [$this->sanitizer, 'rgba']
358 ] );
359
360 $this->customizer->add_control(
361 new AlphaColorControl(
362 $this->customizer,
363 'betterdocs_sidebar_active_cat_background_color',
364 [
365 'label' => __( 'Active Title Background Color', 'betterdocs' ),
366 'section' => 'betterdocs_sidebar_settings',
367 'settings' => 'betterdocs_sidebar_active_cat_background_color'
368 ]
369 )
370 );
371 }
372
373 public function active_cat_border_color() {
374 $this->customizer->add_setting( 'betterdocs_sidebar_active_cat_border_color', [
375 'default' => $this->defaults['betterdocs_sidebar_active_cat_border_color'],
376 'capability' => 'edit_theme_options',
377 'transport' => 'postMessage',
378 'sanitize_callback' => [$this->sanitizer, 'rgba']
379 ] );
380
381 $this->customizer->add_control(
382 new AlphaColorControl(
383 $this->customizer,
384 'betterdocs_sidebar_active_cat_border_color',
385 [
386 'label' => __( 'Active Title Border Color', 'betterdocs' ),
387 'section' => 'betterdocs_sidebar_settings',
388 'settings' => 'betterdocs_sidebar_active_cat_border_color'
389 ]
390 )
391 );
392 }
393
394 public function title_color() {
395 $this->customizer->add_setting( 'betterdocs_sidebar_title_color', [
396 'default' => $this->defaults['betterdocs_sidebar_title_color'],
397 'capability' => 'edit_theme_options',
398 'transport' => 'postMessage',
399 'sanitize_callback' => [$this->sanitizer, 'rgba']
400 ] );
401
402 $this->customizer->add_control(
403 new AlphaColorControl(
404 $this->customizer,
405 'betterdocs_sidebar_title_color',
406 [
407 'label' => __( 'Title Color', 'betterdocs' ),
408 'section' => 'betterdocs_sidebar_settings',
409 'settings' => 'betterdocs_sidebar_title_color'
410 ]
411 )
412 );
413 }
414
415 public function title_hover_color() {
416 $this->customizer->add_setting( 'betterdocs_sidebar_title_hover_color', [
417 'default' => $this->defaults['betterdocs_sidebar_title_hover_color'],
418 'capability' => 'edit_theme_options',
419 'sanitize_callback' => [$this->sanitizer, 'rgba']
420 ] );
421
422 $this->customizer->add_control(
423 new AlphaColorControl(
424 $this->customizer,
425 'betterdocs_sidebar_title_hover_color',
426 [
427 'label' => __( 'Title Hover Color', 'betterdocs' ),
428 'section' => 'betterdocs_sidebar_settings',
429 'settings' => 'betterdocs_sidebar_title_hover_color'
430 ]
431 )
432 );
433 }
434
435 public function active_title_color() {
436 $this->customizer->add_setting( 'betterdocs_sidebar_active_title_color', [
437 'default' => $this->defaults['betterdocs_sidebar_active_title_color'],
438 'capability' => 'edit_theme_options',
439 'transport' => 'postMessage',
440 'sanitize_callback' => [$this->sanitizer, 'rgba']
441 ] );
442
443 $this->customizer->add_control(
444 new AlphaColorControl(
445 $this->customizer,
446 'betterdocs_sidebar_active_title_color',
447 [
448 'label' => __( 'Active Title Color', 'betterdocs' ),
449 'section' => 'betterdocs_sidebar_settings',
450 'settings' => 'betterdocs_sidebar_active_title_color'
451 ]
452 )
453 );
454 }
455
456 public function title_font_size() {
457 $this->customizer->add_setting( 'betterdocs_sidebar_title_font_size', [
458 'default' => $this->defaults['betterdocs_sidebar_title_font_size'],
459 'capability' => 'edit_theme_options',
460 'transport' => 'postMessage',
461 'sanitize_callback' => [$this->sanitizer, 'integer']
462
463 ] );
464
465 $this->customizer->add_control( new RangeValueControl(
466 $this->customizer, 'betterdocs_sidebar_title_font_size', [
467 'type' => 'betterdocs-range-value',
468 'section' => 'betterdocs_sidebar_settings',
469 'settings' => 'betterdocs_sidebar_title_font_size',
470 'label' => __( 'Title Font Size', 'betterdocs' ),
471 'input_attrs' => [
472 'class' => '',
473 'min' => 0,
474 'max' => 50,
475 'step' => 1,
476 'suffix' => 'px' //optional suffix
477 ]
478 ] )
479 );
480 }
481
482 public function title_padding() {
483 $this->customizer->add_setting( 'betterdocs_sidebar_title_padding', [
484 'default' => $this->defaults['betterdocs_sidebar_title_padding'],
485 'capability' => 'edit_theme_options',
486 'transport' => 'postMessage',
487 'sanitize_callback' => [$this->sanitizer, 'integer']
488
489 ] );
490
491 $this->customizer->add_control( new TitleControl(
492 $this->customizer, 'betterdocs_sidebar_title_padding', [
493 'type' => 'betterdocs-title',
494 'section' => 'betterdocs_sidebar_settings',
495 'settings' => 'betterdocs_sidebar_title_padding',
496 'label' => __( 'Title Padding', 'betterdocs' ),
497 'input_attrs' => [
498 'id' => 'betterdocs_sidebar_title_padding',
499 'class' => 'betterdocs-dimension'
500 ]
501 ] )
502 );
503
504 $this->customizer->add_setting( 'betterdocs_sidebar_title_padding_top', [
505 'default' => $this->defaults['betterdocs_sidebar_title_padding_top'],
506 'capability' => 'edit_theme_options',
507 'transport' => 'postMessage',
508 'sanitize_callback' => [$this->sanitizer, 'integer']
509 ] );
510
511 $this->customizer->add_control( new DimensionControl(
512 $this->customizer, 'betterdocs_sidebar_title_padding_top', [
513 'type' => 'betterdocs-dimension',
514 'section' => 'betterdocs_sidebar_settings',
515 'settings' => 'betterdocs_sidebar_title_padding_top',
516 'label' => __( 'Top', 'betterdocs' ),
517 'input_attrs' => [
518 'class' => 'betterdocs_sidebar_title_padding betterdocs-dimension'
519 ]
520 ] )
521 );
522
523 $this->customizer->add_setting( 'betterdocs_sidebar_title_padding_right', [
524 'default' => $this->defaults['betterdocs_sidebar_title_padding_right'],
525 'capability' => 'edit_theme_options',
526 'transport' => 'postMessage',
527 'sanitize_callback' => [$this->sanitizer, 'integer']
528 ] );
529
530 $this->customizer->add_control( new DimensionControl(
531 $this->customizer, 'betterdocs_sidebar_title_padding_right', [
532 'type' => 'betterdocs-dimension',
533 'section' => 'betterdocs_sidebar_settings',
534 'settings' => 'betterdocs_sidebar_title_padding_right',
535 'label' => __( 'Right', 'betterdocs' ),
536 'input_attrs' => [
537 'class' => 'betterdocs_sidebar_title_padding betterdocs-dimension'
538 ]
539 ] )
540 );
541
542 $this->customizer->add_setting( 'betterdocs_sidebar_title_padding_bottom', [
543 'default' => $this->defaults['betterdocs_sidebar_title_padding_bottom'],
544 'capability' => 'edit_theme_options',
545 'transport' => 'postMessage',
546 'sanitize_callback' => [$this->sanitizer, 'integer']
547
548 ] );
549
550 $this->customizer->add_control( new DimensionControl(
551 $this->customizer, 'betterdocs_sidebar_title_padding_bottom', [
552 'type' => 'betterdocs-dimension',
553 'section' => 'betterdocs_sidebar_settings',
554 'settings' => 'betterdocs_sidebar_title_padding_bottom',
555 'label' => __( 'Bottom', 'betterdocs' ),
556 'input_attrs' => [
557 'class' => 'betterdocs_sidebar_title_padding betterdocs-dimension'
558 ]
559 ] )
560 );
561
562 $this->customizer->add_setting( 'betterdocs_sidebar_title_padding_left', [
563 'default' => $this->defaults['betterdocs_sidebar_title_padding_left'],
564 'capability' => 'edit_theme_options',
565 'transport' => 'postMessage',
566 'sanitize_callback' => [$this->sanitizer, 'integer']
567
568 ] );
569
570 $this->customizer->add_control( new DimensionControl(
571 $this->customizer, 'betterdocs_sidebar_title_padding_left', [
572 'type' => 'betterdocs-dimension',
573 'section' => 'betterdocs_sidebar_settings',
574 'settings' => 'betterdocs_sidebar_title_padding_left',
575 'label' => __( 'Left', 'betterdocs' ),
576 'input_attrs' => [
577 'class' => 'betterdocs_sidebar_title_padding betterdocs-dimension'
578 ]
579 ] )
580 );
581 }
582
583 public function title_margin() {
584 $this->customizer->add_setting( 'betterdocs_sidebar_title_margin', [
585 'default' => $this->defaults['betterdocs_sidebar_title_margin'],
586 'capability' => 'edit_theme_options',
587 'transport' => 'postMessage',
588 'sanitize_callback' => [$this->sanitizer, 'integer']
589 ] );
590
591 $this->customizer->add_control( new TitleControl(
592 $this->customizer, 'betterdocs_sidebar_title_margin', [
593 'type' => 'betterdocs-title',
594 'section' => 'betterdocs_sidebar_settings',
595 'settings' => 'betterdocs_sidebar_title_margin',
596 'label' => __( 'Title Margin', 'betterdocs' ),
597 'input_attrs' => [
598 'id' => 'betterdocs_sidebar_title_margin',
599 'class' => 'betterdocs-dimension'
600 ]
601 ] )
602 );
603
604 $this->customizer->add_setting( 'betterdocs_sidebar_title_margin_top', [
605 'default' => $this->defaults['betterdocs_sidebar_title_margin_top'],
606 'capability' => 'edit_theme_options',
607 'transport' => 'postMessage',
608 'sanitize_callback' => [$this->sanitizer, 'integer']
609 ] );
610
611 $this->customizer->add_control( new DimensionControl(
612 $this->customizer, 'betterdocs_sidebar_title_margin_top', [
613 'type' => 'betterdocs-dimension',
614 'section' => 'betterdocs_sidebar_settings',
615 'settings' => 'betterdocs_sidebar_title_margin_top',
616 'label' => __( 'Top', 'betterdocs' ),
617 'input_attrs' => [
618 'class' => 'betterdocs_sidebar_title_margin betterdocs-dimension'
619 ]
620 ] )
621 );
622
623 $this->customizer->add_setting( 'betterdocs_sidebar_title_margin_right', [
624 'default' => $this->defaults['betterdocs_sidebar_title_margin_right'],
625 'capability' => 'edit_theme_options',
626 'transport' => 'postMessage',
627 'sanitize_callback' => [$this->sanitizer, 'integer']
628 ] );
629
630 $this->customizer->add_control( new DimensionControl(
631 $this->customizer, 'betterdocs_sidebar_title_margin_right', [
632 'type' => 'betterdocs-dimension',
633 'section' => 'betterdocs_sidebar_settings',
634 'settings' => 'betterdocs_sidebar_title_margin_right',
635 'label' => __( 'Right', 'betterdocs' ),
636 'input_attrs' => [
637 'class' => 'betterdocs_sidebar_title_margin betterdocs-dimension'
638 ]
639 ] )
640 );
641
642 $this->customizer->add_setting( 'betterdocs_sidebar_title_margin_bottom', [
643 'default' => $this->defaults['betterdocs_sidebar_title_margin_bottom'],
644 'capability' => 'edit_theme_options',
645 'transport' => 'postMessage',
646 'sanitize_callback' => [$this->sanitizer, 'integer']
647
648 ] );
649
650 $this->customizer->add_control( new DimensionControl(
651 $this->customizer, 'betterdocs_sidebar_title_margin_bottom', [
652 'type' => 'betterdocs-dimension',
653 'section' => 'betterdocs_sidebar_settings',
654 'settings' => 'betterdocs_sidebar_title_margin_bottom',
655 'label' => __( 'Bottom', 'betterdocs' ),
656 'input_attrs' => [
657 'class' => 'betterdocs_sidebar_title_margin betterdocs-dimension'
658 ]
659 ] )
660 );
661
662 $this->customizer->add_setting( 'betterdocs_sidebar_title_margin_left', [
663 'default' => $this->defaults['betterdocs_sidebar_title_margin_left'],
664 'capability' => 'edit_theme_options',
665 'transport' => 'postMessage',
666 'sanitize_callback' => [$this->sanitizer, 'integer']
667 ] );
668
669 $this->customizer->add_control( new DimensionControl(
670 $this->customizer, 'betterdocs_sidebar_title_margin_left', [
671 'type' => 'betterdocs-dimension',
672 'section' => 'betterdocs_sidebar_settings',
673 'settings' => 'betterdocs_sidebar_title_margin_left',
674 'label' => __( 'Left', 'betterdocs' ),
675 'input_attrs' => [
676 'class' => 'betterdocs_sidebar_title_margin betterdocs-dimension'
677 ]
678 ] )
679 );
680 }
681
682 public function item_counter_title() {
683 $this->customizer->add_setting( 'betterdocs_sidebar_item_counter_title', [
684 'default' => $this->defaults['betterdocs_sidebar_item_counter_title'],
685 'sanitize_callback' => 'esc_html'
686 ] );
687
688 $this->customizer->add_control( new SeparatorControl(
689 $this->customizer, 'betterdocs_sidebar_item_counter_title', [
690 'label' => __( 'Sidebar Item Counter', 'betterdocs' ),
691 'settings' => 'betterdocs_sidebar_item_counter_title',
692 'section' => 'betterdocs_sidebar_settings'
693 ] )
694 );
695 }
696
697 public function item_count_bg_color() {
698 $this->customizer->add_setting( 'betterdocs_sidbebar_item_count_bg_color', [
699 'default' => $this->defaults['betterdocs_sidbebar_item_count_bg_color'],
700 'capability' => 'edit_theme_options',
701 'transport' => 'postMessage',
702 'sanitize_callback' => [$this->sanitizer, 'rgba']
703 ] );
704
705 $this->customizer->add_control(
706 new AlphaColorControl(
707 $this->customizer,
708 'betterdocs_sidbebar_item_count_bg_color',
709 [
710 'label' => __( 'Background Color', 'betterdocs' ),
711 'section' => 'betterdocs_sidebar_settings',
712 'settings' => 'betterdocs_sidbebar_item_count_bg_color'
713 ]
714 )
715 );
716 }
717
718 public function item_count_inner_bg_color() {
719 $this->customizer->add_setting( 'betterdocs_sidbebar_item_count_inner_bg_color', [
720 'default' => $this->defaults['betterdocs_sidbebar_item_count_inner_bg_color'],
721 'capability' => 'edit_theme_options',
722 'transport' => 'postMessage',
723 'sanitize_callback' => [$this->sanitizer, 'rgba']
724 ] );
725
726 $this->customizer->add_control(
727 new AlphaColorControl(
728 $this->customizer,
729 'betterdocs_sidbebar_item_count_inner_bg_color',
730 [
731 'label' => __( 'Inner Circle Background Color', 'betterdocs' ),
732 'section' => 'betterdocs_sidebar_settings',
733 'settings' => 'betterdocs_sidbebar_item_count_inner_bg_color'
734 ]
735 )
736 );
737 }
738
739 public function item_counter_size() {
740 $this->customizer->add_setting( 'betterdocs_sidebar_item_counter_size', [
741 'default' => $this->defaults['betterdocs_sidebar_item_counter_size'],
742 'capability' => 'edit_theme_options',
743 'transport' => 'postMessage',
744 'sanitize_callback' => [$this->sanitizer, 'integer']
745
746 ] );
747
748 $this->customizer->add_control( new RangeValueControl(
749 $this->customizer, 'betterdocs_sidebar_item_counter_size', [
750 'type' => 'betterdocs-range-value',
751 'section' => 'betterdocs_sidebar_settings',
752 'settings' => 'betterdocs_sidebar_item_counter_size',
753 'label' => __( 'Size (Height, Width)', 'betterdocs' ),
754 'input_attrs' => [
755 'class' => '',
756 'min' => 10,
757 'max' => 100,
758 'step' => 1,
759 'suffix' => 'px' //optional suffix
760 ]
761 ] )
762 );
763 }
764
765 public function item_count_color() {
766 $this->customizer->add_setting( 'betterdocs_sidebar_item_count_color', [
767 'default' => $this->defaults['betterdocs_sidebar_item_count_color'],
768 'capability' => 'edit_theme_options',
769 'transport' => 'postMessage',
770 'sanitize_callback' => [$this->sanitizer, 'rgba']
771 ] );
772
773 $this->customizer->add_control(
774 new AlphaColorControl(
775 $this->customizer,
776 'betterdocs_sidebar_item_count_color',
777 [
778 'label' => __( 'Color', 'betterdocs' ),
779 'section' => 'betterdocs_sidebar_settings',
780 'settings' => 'betterdocs_sidebar_item_count_color'
781 ]
782 )
783 );
784 }
785
786 public function item_count_font_size() {
787 $this->customizer->add_setting( 'betterdocs_sidebat_item_count_font_size', [
788 'default' => $this->defaults['betterdocs_sidebat_item_count_font_size'],
789 'capability' => 'edit_theme_options',
790 'transport' => 'postMessage',
791 'sanitize_callback' => [$this->sanitizer, 'integer']
792
793 ] );
794
795 $this->customizer->add_control( new RangeValueControl(
796 $this->customizer, 'betterdocs_sidebat_item_count_font_size', [
797 'type' => 'betterdocs-range-value',
798 'section' => 'betterdocs_sidebar_settings',
799 'settings' => 'betterdocs_sidebat_item_count_font_size',
800 'label' => __( 'Font Size', 'betterdocs' ),
801 'input_attrs' => [
802 'class' => '',
803 'min' => 0,
804 'max' => 50,
805 'step' => 1,
806 'suffix' => 'px' //optional suffix
807 ]
808 ] )
809 );
810 }
811
812 public function sidebar_content() {
813 $this->customizer->add_setting( 'betterdocs_sidebar_content', [
814 'default' => $this->defaults['betterdocs_sidebar_content'],
815 'sanitize_callback' => 'esc_html'
816 ] );
817
818 $this->customizer->add_control( new SeparatorControl(
819 $this->customizer, 'betterdocs_sidebar_content', [
820 'label' => __( 'Sidebar Content', 'betterdocs' ),
821 'settings' => 'betterdocs_sidebar_content',
822 'section' => 'betterdocs_sidebar_settings'
823 ] )
824 );
825 }
826
827 public function item_list_bg_color() {
828 $this->customizer->add_setting( 'betterdocs_sidbebar_item_list_bg_color', [
829 'default' => $this->defaults['betterdocs_sidbebar_item_list_bg_color'],
830 'capability' => 'edit_theme_options',
831 'transport' => 'postMessage',
832 'sanitize_callback' => [$this->sanitizer, 'rgba']
833 ] );
834
835 $this->customizer->add_control(
836 new AlphaColorControl(
837 $this->customizer,
838 'betterdocs_sidbebar_item_list_bg_color',
839 [
840 'label' => __( 'List Background Color', 'betterdocs' ),
841 'section' => 'betterdocs_sidebar_settings',
842 'settings' => 'betterdocs_sidbebar_item_list_bg_color'
843 ]
844 )
845 );
846 }
847
848 public function list_item_color() {
849 $this->customizer->add_setting( 'betterdocs_sidebar_list_item_color', [
850 'default' => $this->defaults['betterdocs_sidebar_list_item_color'],
851 'capability' => 'edit_theme_options',
852 'transport' => 'postMessage',
853 'sanitize_callback' => [$this->sanitizer, 'rgba']
854 ] );
855
856 $this->customizer->add_control(
857 new AlphaColorControl(
858 $this->customizer,
859 'betterdocs_sidebar_list_item_color',
860 [
861 'label' => __( 'List Item Color', 'betterdocs' ),
862 'section' => 'betterdocs_sidebar_settings',
863 'settings' => 'betterdocs_sidebar_list_item_color'
864 ]
865 )
866 );
867 }
868
869 public function list_item_hover_color() {
870 $this->customizer->add_setting( 'betterdocs_sidebar_list_item_hover_color', [
871 'default' => $this->defaults['betterdocs_sidebar_list_item_hover_color'],
872 'capability' => 'edit_theme_options',
873 'sanitize_callback' => [$this->sanitizer, 'rgba']
874 ] );
875
876 $this->customizer->add_control(
877 new AlphaColorControl(
878 $this->customizer,
879 'betterdocs_sidebar_list_item_hover_color',
880 [
881 'label' => __( 'List Item Hover Color', 'betterdocs' ),
882 'section' => 'betterdocs_sidebar_settings',
883 'settings' => 'betterdocs_sidebar_list_item_hover_color'
884 ]
885 )
886 );
887 }
888
889 public function list_item_font_size() {
890 $this->customizer->add_setting( 'betterdocs_sidebar_list_item_font_size', [
891 'default' => $this->defaults['betterdocs_sidebar_list_item_font_size'],
892 'capability' => 'edit_theme_options',
893 'transport' => 'postMessage',
894 'sanitize_callback' => [$this->sanitizer, 'integer']
895
896 ] );
897
898 $this->customizer->add_control( new RangeValueControl(
899 $this->customizer, 'betterdocs_sidebar_list_item_font_size', [
900 'type' => 'betterdocs-range-value',
901 'section' => 'betterdocs_sidebar_settings',
902 'settings' => 'betterdocs_sidebar_list_item_font_size',
903 'label' => __( 'List Item Font Size', 'betterdocs' ),
904 'input_attrs' => [
905 'class' => '',
906 'min' => 0,
907 'max' => 50,
908 'step' => 1,
909 'suffix' => 'px' //optional suffix
910 ]
911 ] )
912 );
913 }
914
915 public function list_icon_color() {
916 $this->customizer->add_setting( 'betterdocs_sidebar_list_icon_color', [
917 'default' => $this->defaults['betterdocs_sidebar_list_icon_color'],
918 'capability' => 'edit_theme_options',
919 'transport' => 'postMessage',
920 'sanitize_callback' => [$this->sanitizer, 'rgba']
921 ] );
922
923 $this->customizer->add_control(
924 new AlphaColorControl(
925 $this->customizer,
926 'betterdocs_sidebar_list_icon_color',
927 [
928 'label' => __( 'List Icon Color', 'betterdocs' ),
929 'section' => 'betterdocs_sidebar_settings',
930 'settings' => 'betterdocs_sidebar_list_icon_color'
931 ]
932 )
933 );
934 }
935
936 public function list_icon_font_size() {
937 $this->customizer->add_setting( 'betterdocs_sidebar_list_icon_font_size', [
938 'default' => $this->defaults['betterdocs_sidebar_list_icon_font_size'],
939 'capability' => 'edit_theme_options',
940 'transport' => 'postMessage',
941 'sanitize_callback' => [$this->sanitizer, 'integer']
942
943 ] );
944
945 $this->customizer->add_control( new RangeValueControl(
946 $this->customizer, 'betterdocs_sidebar_list_icon_font_size', [
947 'type' => 'betterdocs-range-value',
948 'section' => 'betterdocs_sidebar_settings',
949 'settings' => 'betterdocs_sidebar_list_icon_font_size',
950 'label' => __( 'List Icon Font Size', 'betterdocs' ),
951 'input_attrs' => [
952 'class' => '',
953 'min' => 0,
954 'max' => 50,
955 'step' => 1,
956 'suffix' => 'px' //optional suffix
957 ]
958 ] )
959 );
960 }
961
962 public function list_item_margin() {
963 $this->customizer->add_setting( 'betterdocs_sidebar_list_item_margin', [
964 'default' => $this->defaults['betterdocs_sidebar_list_item_margin'],
965 'capability' => 'edit_theme_options',
966 'transport' => 'postMessage',
967 'sanitize_callback' => [$this->sanitizer, 'integer']
968
969 ] );
970
971 $this->customizer->add_control( new TitleControl(
972 $this->customizer, 'betterdocs_sidebar_list_item_margin', [
973 'type' => 'betterdocs-title',
974 'section' => 'betterdocs_sidebar_settings',
975 'settings' => 'betterdocs_sidebar_list_item_margin',
976 'label' => __( 'List Item Margin', 'betterdocs' ),
977 'input_attrs' => [
978 'id' => 'betterdocs_sidebar_list_item_margin',
979 'class' => 'betterdocs-dimension'
980 ]
981 ] )
982 );
983
984 $this->customizer->add_setting( 'betterdocs_sidebar_list_item_margin_top', [
985 'default' => $this->defaults['betterdocs_sidebar_list_item_margin_top'],
986 'capability' => 'edit_theme_options',
987 'transport' => 'postMessage',
988 'sanitize_callback' => [$this->sanitizer, 'integer']
989 ] );
990
991 $this->customizer->add_control( new DimensionControl(
992 $this->customizer, 'betterdocs_sidebar_list_item_margin_top', [
993 'type' => 'betterdocs-dimension',
994 'section' => 'betterdocs_sidebar_settings',
995 'settings' => 'betterdocs_sidebar_list_item_margin_top',
996 'label' => __( 'Top', 'betterdocs' ),
997 'input_attrs' => [
998 'class' => 'betterdocs_sidebar_list_item_margin betterdocs-dimension'
999 ]
1000 ] )
1001 );
1002
1003 $this->customizer->add_setting( 'betterdocs_sidebar_list_item_margin_right', [
1004 'default' => $this->defaults['betterdocs_sidebar_list_item_margin_right'],
1005 'capability' => 'edit_theme_options',
1006 'transport' => 'postMessage',
1007 'sanitize_callback' => [$this->sanitizer, 'integer']
1008
1009 ] );
1010
1011 $this->customizer->add_control( new DimensionControl(
1012 $this->customizer, 'betterdocs_sidebar_list_item_margin_right', [
1013 'type' => 'betterdocs-dimension',
1014 'section' => 'betterdocs_sidebar_settings',
1015 'settings' => 'betterdocs_sidebar_list_item_margin_right',
1016 'label' => __( 'Right', 'betterdocs' ),
1017 'input_attrs' => [
1018 'class' => 'betterdocs_sidebar_list_item_margin betterdocs-dimension'
1019 ]
1020 ] )
1021 );
1022
1023 $this->customizer->add_setting( 'betterdocs_sidebar_list_item_margin_bottom', [
1024 'default' => $this->defaults['betterdocs_sidebar_list_item_margin_bottom'],
1025 'capability' => 'edit_theme_options',
1026 'transport' => 'postMessage',
1027 'sanitize_callback' => [$this->sanitizer, 'integer']
1028
1029 ] );
1030
1031 $this->customizer->add_control( new DimensionControl(
1032 $this->customizer, 'betterdocs_sidebar_list_item_margin_bottom', [
1033 'type' => 'betterdocs-dimension',
1034 'section' => 'betterdocs_sidebar_settings',
1035 'settings' => 'betterdocs_sidebar_list_item_margin_bottom',
1036 'label' => __( 'Bottom', 'betterdocs' ),
1037 'input_attrs' => [
1038 'class' => 'betterdocs_sidebar_list_item_margin betterdocs-dimension'
1039 ]
1040 ] )
1041 );
1042
1043 $this->customizer->add_setting( 'betterdocs_sidebar_list_item_margin_left', [
1044 'default' => $this->defaults['betterdocs_sidebar_list_item_margin_left'],
1045 'capability' => 'edit_theme_options',
1046 'transport' => 'postMessage',
1047 'sanitize_callback' => [$this->sanitizer, 'integer']
1048
1049 ] );
1050
1051 $this->customizer->add_control( new DimensionControl(
1052 $this->customizer, 'betterdocs_sidebar_list_item_margin_left', [
1053 'type' => 'betterdocs-dimension',
1054 'section' => 'betterdocs_sidebar_settings',
1055 'settings' => 'betterdocs_sidebar_list_item_margin_left',
1056 'label' => __( 'Left', 'betterdocs' ),
1057 'input_attrs' => [
1058 'class' => 'betterdocs_sidebar_list_item_margin betterdocs-dimension'
1059 ]
1060 ] )
1061 );
1062 }
1063
1064 public function active_list_item_color() {
1065 $this->customizer->add_setting( 'betterdocs_sidebar_active_list_item_color', [
1066 'default' => $this->defaults['betterdocs_sidebar_active_list_item_color'],
1067 'capability' => 'edit_theme_options',
1068 'transport' => 'postMessage',
1069 'sanitize_callback' => [$this->sanitizer, 'rgba']
1070 ] );
1071
1072 $this->customizer->add_control(
1073 new AlphaColorControl(
1074 $this->customizer,
1075 'betterdocs_sidebar_active_list_item_color',
1076 [
1077 'label' => __( 'Active List Item Color', 'betterdocs' ),
1078 'section' => 'betterdocs_sidebar_settings',
1079 'settings' => 'betterdocs_sidebar_active_list_item_color'
1080 ]
1081 )
1082 );
1083 }
1084 }
1085