';
+ $html .= '
';
+ $html .= '
' . Text::_('COM_MOKOBACKUP_FIELD_EXCLUDE_TABLES_HELP') . '
';
+ $html .= '
';
+
+ // Script to sync checkboxes to hidden field
+ $html .= <<
+SCRIPT;
+
+ return $html;
+ }
+}
diff --git a/src/packages/com_mokobackup/src/Field/ExcludeListField.php b/src/packages/com_mokobackup/src/Field/ExcludeListField.php
new file mode 100644
index 00000000..483e68cd
--- /dev/null
+++ b/src/packages/com_mokobackup/src/Field/ExcludeListField.php
@@ -0,0 +1,120 @@
+
+ * @copyright Copyright (C) 2026 Moko Consulting. All rights reserved.
+ * @license GNU General Public License version 3 or later; see LICENSE
+ */
+
+namespace Joomla\Component\MokoBackup\Administrator\Field;
+
+defined('_JEXEC') or die;
+
+use Joomla\CMS\Form\FormField;
+use Joomla\CMS\Language\Text;
+
+class ExcludeListField extends FormField
+{
+ protected $type = 'ExcludeList';
+
+ protected function getInput(): string
+ {
+ $id = htmlspecialchars($this->id, ENT_QUOTES, 'UTF-8');
+ $name = htmlspecialchars($this->name, ENT_QUOTES, 'UTF-8');
+ $placeholder = htmlspecialchars((string) ($this->element['hint'] ?? ''), ENT_QUOTES, 'UTF-8');
+
+ // Parse current values (newline-separated)
+ $items = [];
+
+ if (!empty($this->value)) {
+ $items = array_values(array_filter(array_map('trim', explode("\n", str_replace("\r", '', $this->value)))));
+ }
+
+ $html = '