checkbox.php
80 lines
| 1 | <?php |
| 2 | |
| 3 | /** |
| 4 | * Checkbox component. |
| 5 | * @var string $name |
| 6 | * @var string $value |
| 7 | * @var string|null $classes |
| 8 | * @var string|null $id |
| 9 | * @var string|null $dataId |
| 10 | * @var string|null $dataDirType |
| 11 | * @var string|null $dataPrefix |
| 12 | * @var string|null $dataPath |
| 13 | * @var string|null $dataDeletePath |
| 14 | * @var string|null $isDataScanned |
| 15 | * @var string|null $isDataNavigatable |
| 16 | * @var string|null $onChange |
| 17 | * @var bool $usePrimitive |
| 18 | * |
| 19 | * @package WPStaging\Component |
| 20 | * @see \WPStaging\Component\Checkbox::render() |
| 21 | */ |
| 22 | |
| 23 | $wrapperClasses = 'wpstg--checkbox-wrapper'; |
| 24 | $inputClasses = empty($classes) ? '' : $classes; |
| 25 | |
| 26 | if (!empty($usePrimitive)) { |
| 27 | $wrapperClasses .= ' wpstg--checkbox-wrapper--primitive'; |
| 28 | $inputClasses = trim('wpstg-checkbox ' . $inputClasses); |
| 29 | } |
| 30 | |
| 31 | ?> |
| 32 | <span class="<?php echo esc_attr($wrapperClasses); ?>"> |
| 33 | <input type="checkbox" |
| 34 | name='<?php echo empty($name) ? '' : esc_attr($name); ?>' |
| 35 | value='<?php echo empty($value) ? '' : esc_attr($value); ?>' |
| 36 | <?php if (!empty($inputClasses)) : ?> |
| 37 | class='<?php echo esc_attr($inputClasses); ?>' |
| 38 | <?php endif; ?> |
| 39 | <?php if (!empty($id)) : ?> |
| 40 | id='<?php echo esc_attr($id); ?>' |
| 41 | <?php endif; ?> |
| 42 | <?php if (!empty($dataId)) : ?> |
| 43 | data-id='<?php echo esc_attr($dataId); ?>' |
| 44 | <?php endif; ?> |
| 45 | <?php if (!empty($dataDirType)) : ?> |
| 46 | data-dir-type='<?php echo esc_attr($dataDirType); ?>' |
| 47 | <?php endif; ?> |
| 48 | <?php if (!empty($dataPrefix)) : ?> |
| 49 | data-prefix='<?php echo esc_attr($dataPrefix); ?>' |
| 50 | <?php endif; ?> |
| 51 | <?php if (!empty($dataPath)) : ?> |
| 52 | data-path='<?php echo esc_attr($dataPath); ?>' |
| 53 | <?php endif; ?> |
| 54 | <?php if (!empty($dataDeletePath)) : ?> |
| 55 | data-deletepath='<?php echo esc_attr($dataDeletePath); ?>' |
| 56 | <?php endif; ?> |
| 57 | <?php if (!empty($isDataScanned)) : ?> |
| 58 | data-scanned='<?php echo esc_attr($isDataScanned); ?>' |
| 59 | <?php endif; ?> |
| 60 | <?php if (!empty($isDataNavigatable)) : ?> |
| 61 | data-navigatable='<?php echo esc_attr($isDataNavigatable); ?>' |
| 62 | <?php endif; ?> |
| 63 | <?php if (!empty($displayDependency)) : ?> |
| 64 | data-wpstg-display-dependency="true" |
| 65 | <?php endif; ?> |
| 66 | <?php if (!empty($onChange)) : ?> |
| 67 | onchange='<?php echo esc_attr($onChange); ?>' |
| 68 | <?php endif; ?> |
| 69 | <?php echo $isDisabled ? 'disabled' : '';?> |
| 70 | <?php echo $isChecked ? 'checked' : '';?> |
| 71 | /> |
| 72 | <?php if (empty($usePrimitive)) : ?> |
| 73 | <svg viewBox="0 0 20 16" width="20" height="20"> |
| 74 | <rect class="wpstg--checkbox-border" x="1" y="1" width="16" height="16" rx="3" ry="3"></rect> |
| 75 | <rect class="wpstg--checkbox-background" x="1" y="1" width="16" height="16" rx="3" ry="3"></rect> |
| 76 | <polyline class="wpstg--check-mark" points="4.5 10 7.5 13 13.5 5"></polyline> |
| 77 | </svg> |
| 78 | <?php endif; ?> |
| 79 | </span> |
| 80 |