From de317675a8069b747cb253ba3e2b5dc394ca36ef Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sat, 18 Jul 2026 21:44:51 +0000
Subject: [PATCH] =Base Integrations mainly done - doing a test with setting up the Square integration to follow

---
 inc/integrations/Field.php |   38 ++++++++++++++++++++++++++++++++++++--
 1 files changed, 36 insertions(+), 2 deletions(-)

diff --git a/inc/integrations/Field.php b/inc/integrations/Field.php
index 9217387..788400b 100644
--- a/inc/integrations/Field.php
+++ b/inc/integrations/Field.php
@@ -11,9 +11,13 @@
 	public string $name;
 	public string $label;
 	public string $type;
+	public string $hint;
 	public bool $required;
 	public string|Closure|bool $permission;
 	protected array $options;
+	protected mixed $default;
+	protected string $subtype;
+	protected bool $hidden = false;
 
 	public function __construct(string $name, string $label, string $type, callable|string|bool $permission)
 	{
@@ -49,6 +53,24 @@
 	{
 		$this->options = $options;
 	}
+	public function setDefault(mixed $default):void
+	{
+		$this->default = $default;
+	}
+
+	public function setHint(string $hint):void
+	{
+		$this->hint = $hint;
+	}
+	public function setHidden(bool $hidden = true):void
+	{
+		$this->hidden = $hidden;
+	}
+
+	public function setSubType(string $type):void
+	{
+		$this->subType = $type;
+	}
 
 	public function getConfig():array
 	{
@@ -57,12 +79,24 @@
 			'label'	=> $this->label,
 			'type'	=> $this->type,
 		];
-		if ($this->required) {
+		if (isset($this->required)) {
 			$conf['required'] = true;
 		}
-		if ($this->options) {
+		if (isset($this->options)) {
 			$conf['options'] = $this->options;
 		}
+		if (isset($this->default)) {
+			$conf['default'] = $this->default;
+		}
+		if (isset($this->hint)) {
+			$conf['hint'] = $this->hint;
+		}
+		if (isset($this->subType)) {
+			$conf['subtype'] = $this->subType;
+		}
+		if ($this->hidden) {
+			$conf['hidden'] = true;
+		}
 		return $conf;
 	}
 }

--
Gitblit v1.10.0