This commit is contained in:
2024-12-31 11:07:09 +01:00
parent df7915205d
commit e089172b15
1916 changed files with 165422 additions and 271 deletions

View File

@ -0,0 +1,73 @@
<?php
/**
* @package Advanced Custom Fields
* @version 2.8.8 Pro
*
* @author Tassos Marinos <info@tassos.gr>
* @link https://www.tassos.gr
* @copyright Copyright © 2024 Tassos All Rights Reserved
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
*/
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper;
extract($displayData);
if (!isset($choices) || !is_array($choices) || !count($choices))
{
return;
}
$mode = isset($mode) ? $mode : 'svg';
$gap = isset($gap) && !empty($gap) ? $gap : 'inherit';
$class = isset($class) ? ' ' . $class : '';
$columns = isset($columns) ? $columns : null;
$id = isset($id) ? $id : null;
$class .= ' ' . $id;
if ($columns)
{
Factory::getDocument()->addStyleDeclaration('
.tf-choiceselector-control.' . $id . ' {
--columns: ' . $columns . ';
--gap: ' . $gap . ';
}'
);
}
HTMLHelper::stylesheet('plg_system_nrframework/controls/choiceselector.css', ['relative' => true, 'version' => 'auto']);
?>
<div class="tf-choiceselector-control mode-<?php echo $mode; ?><?php echo $class; ?>">
<?php
$i = 0;
foreach ($choices as $key => $_value)
{
$_value = !is_string($_value) ? (array) $_value : $_value;
$id = $name . '_' . (empty($item_id) ? $key : $item_id);
$image = isset($_value['image']) ? $_value['image'] : false;
$icon = isset($_value['icon']) ? $_value['icon'] : false;
$label = isset($_value['label']) ? $_value['label'] : $_value;
$pro = isset($_value['pro']) ? (bool) $_value['pro'] : false;
?>
<div class="tf-choiceselector-control--item<?php echo $pro ? ' pro' : ''; ?>"<?php echo $pro ? ' data-pro-only="' . Text::_($label) . '"' : ''; ?>>
<?php echo $pro ? '<span class="pro">' . Text::_('NR_PRO') . '</span>' : ''; ?>
<input type="radio" id="fpf-control-input-item_<?php echo $id; ?>" name="<?php echo $name; ?>" value="<?php echo $key; ?>"<?php echo $value == $key ? ' checked="checked"' : ''; ?> />
<label for="fpf-control-input-item_<?php echo $id; ?>">
<?php echo $mode == 'svg' && !empty($icon) ? $icon : ''; ?>
<span class="text"><?php echo Text::_($label); ?></span>
</label>
</div>
<?php
$i++;
}
?>
</div>

View File

@ -0,0 +1,65 @@
<?php
/**
* @package Advanced Custom Fields
* @version 2.8.8 Pro
*
* @author Tassos Marinos <info@tassos.gr>
* @link https://www.tassos.gr
* @copyright Copyright © 2024 Tassos All Rights Reserved
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
*/
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Language\Text;
use Joomla\CMS\Layout\FileLayout;
extract($displayData);
$unit = isset($value['unit']) ? $value['unit'] : 'px';
?>
<div class="tf-dimension-control<?php echo $units ? ' has-units' : ''; ?>">
<div class="tf-dimension-controls">
<?php
foreach ($dimensions as $key => $label)
{
$item_name = $name . '[' . $key . ']';
$item_value = isset($value[$key]) ? $value[$key] : '';
$is_linked = isset($value['linked']) ? $value['linked'] : $linked;
$item_id = rtrim(str_replace(['][', '[', ']'], '_', $item_name), '_');
?>
<div class="tf-dimension-controls--item form-control<?php echo $item_value !== '' ? ' has-value' : ''; ?>">
<input type="number" value="<?php echo $item_value; ?>" min="0" max="999" class="tf-dimension-controls--item--value" placeholder="<?php echo Text::_($label); ?>" id="<?php echo $item_id; ?>" name="<?php echo $item_name; ?>" />
<?php
if ($units)
{
$layout = new FileLayout('selector', JPATH_PLUGINS . '/system/nrframework/layouts/controls/unit');
echo $layout->render([
'name' => $name,
'units' => $units,
'unit' => $unit,
'hide_input' => true
]);
}
?>
</div>
<?php
}
?>
</div>
<?php
$layout = new FileLayout('input_value', JPATH_PLUGINS . '/system/nrframework/layouts/controls/unit');
echo $layout->render([
'name' => $name,
'unit' => $unit
]);
$layout = new FileLayout('linked', JPATH_PLUGINS . '/system/nrframework/layouts/controls/dimension');
echo $layout->render([
'dimension_control_locks' => $dimension_control_locks,
'name' => $name,
'is_linked' => $is_linked
]);
?>
</div>

View File

@ -0,0 +1,32 @@
<?php
/**
* @package Advanced Custom Fields
* @version 2.8.8 Pro
*
* @author Tassos Marinos <info@tassos.gr>
* @link http://www.tassos.gr
* @copyright Copyright © 2018 Tassos Marinos All Rights Reserved
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
*/
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Language\Text;
extract($displayData);
if (!$dimension_control_locks)
{
return;
}
?>
<div class="tf-dimension-control--locks" title="<?php echo Text::_('NR_LINK_UNLINK_VALUES_TOGETHER'); ?>">
<svg class="tf-dimension-control--locks--item<?php echo $is_linked ? ' active' : ''; ?>" data-type="lock" width="12" height="16" viewBox="0 0 12 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.5 15.875C1.0875 15.875 0.734375 15.7281 0.440625 15.4344C0.146875 15.1406 0 14.7875 0 14.375V6.875C0 6.4625 0.146875 6.10938 0.440625 5.81563C0.734375 5.52187 1.0875 5.375 1.5 5.375H2.25V3.875C2.25 2.8375 2.61563 1.95312 3.34688 1.22187C4.07812 0.490625 4.9625 0.125 6 0.125C7.0375 0.125 7.92188 0.490625 8.65313 1.22187C9.38438 1.95312 9.75 2.8375 9.75 3.875V5.375H10.5C10.9125 5.375 11.2656 5.52187 11.5594 5.81563C11.8531 6.10938 12 6.4625 12 6.875V14.375C12 14.7875 11.8531 15.1406 11.5594 15.4344C11.2656 15.7281 10.9125 15.875 10.5 15.875H1.5ZM1.5 14.375H10.5V6.875H1.5V14.375ZM6 12.125C6.4125 12.125 6.76563 11.9781 7.05938 11.6844C7.35313 11.3906 7.5 11.0375 7.5 10.625C7.5 10.2125 7.35313 9.85938 7.05938 9.56563C6.76563 9.27188 6.4125 9.125 6 9.125C5.5875 9.125 5.23438 9.27188 4.94063 9.56563C4.64687 9.85938 4.5 10.2125 4.5 10.625C4.5 11.0375 4.64687 11.3906 4.94063 11.6844C5.23438 11.9781 5.5875 12.125 6 12.125ZM3.75 5.375H8.25V3.875C8.25 3.25 8.03125 2.71875 7.59375 2.28125C7.15625 1.84375 6.625 1.625 6 1.625C5.375 1.625 4.84375 1.84375 4.40625 2.28125C3.96875 2.71875 3.75 3.25 3.75 3.875V5.375Z" fill="currentColor" />
</svg>
<svg class="tf-dimension-control--locks--item<?php echo !$is_linked ? ' active' : ''; ?>" data-type="unlock" width="12" height="16" viewBox="0 0 12 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.5 5.375H8.25V3.875C8.25 3.25 8.03125 2.71875 7.59375 2.28125C7.15625 1.84375 6.625 1.625 6 1.625C5.375 1.625 4.84375 1.84375 4.40625 2.28125C3.96875 2.71875 3.75 3.25 3.75 3.875H2.25C2.25 2.8375 2.61563 1.95312 3.34688 1.22187C4.07812 0.490625 4.9625 0.125 6 0.125C7.0375 0.125 7.92188 0.490625 8.65313 1.22187C9.38438 1.95312 9.75 2.8375 9.75 3.875V5.375H10.5C10.9125 5.375 11.2656 5.52187 11.5594 5.81563C11.8531 6.10938 12 6.4625 12 6.875V14.375C12 14.7875 11.8531 15.1406 11.5594 15.4344C11.2656 15.7281 10.9125 15.875 10.5 15.875H1.5C1.0875 15.875 0.734375 15.7281 0.440625 15.4344C0.146875 15.1406 0 14.7875 0 14.375V6.875C0 6.4625 0.146875 6.10938 0.440625 5.81563C0.734375 5.52187 1.0875 5.375 1.5 5.375ZM1.5 14.375H10.5V6.875H1.5V14.375ZM6 12.125C6.4125 12.125 6.76563 11.9781 7.05938 11.6844C7.35313 11.3906 7.5 11.0375 7.5 10.625C7.5 10.2125 7.35313 9.85938 7.05938 9.56563C6.76563 9.27188 6.4125 9.125 6 9.125C5.5875 9.125 5.23438 9.27188 4.94063 9.56563C4.64687 9.85938 4.5 10.2125 4.5 10.625C4.5 11.0375 4.64687 11.3906 4.94063 11.6844C5.23438 11.9781 5.5875 12.125 6 12.125Z" fill="currentColor" />
</svg>
</div>
<input type="hidden" class="tf-dimension-control-link-value" value="<?php echo $is_linked ? '1' : '0'; ?>" name="<?php echo $name; ?>[linked]" />

View File

@ -0,0 +1,78 @@
<?php
/**
* @package Advanced Custom Fields
* @version 2.8.8 Pro
*
* @author Tassos Marinos <info@tassos.gr>
* @link https://www.tassos.gr
* @copyright Copyright © 2024 Tassos All Rights Reserved
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
*/
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Uri\Uri;
use Joomla\CMS\Language\Text;
extract($displayData);
// Get all countries data
$countries = \NRFramework\Countries::getCountriesData();
// Find the default country
$default_country_code = isset($value['code']) && !empty($value['code']) && isset($countries[$value['code']]) ? $value['code'] : 'AF';
// Find the default calling code
$default_calling_code = '+' . $countries[$default_country_code]['calling_code'];
$flag_base_url = implode('/', [rtrim(Uri::root(), '/'), 'media', 'plg_system_nrframework', 'img', 'flags']);
$placeholder = !empty($placeholder) ? $placeholder : '_ _ _ _ _ _';
if ($inputmask)
{
$placeholder = '';
}
?>
<div class="tf-phone-control<?php echo $class ? ' ' . $class : ''; ?>"<?php echo $readonly ? ' readonly' : ''; ?> data-flags-base-url="<?php echo $flag_base_url; ?>" data-id="<?php echo $id; ?>" data-required="<?php echo $required ? 'true' : 'false'; ?>">
<?php if ($required && (empty($value['code']) || empty($value['value']))) { ?>
<input type="hidden" required class="required tf-phone-control--validator" id="<?php echo $id; ?>"/>
<?php } ?>
<div class="tf-phone-control--skeleton tf-phone-control--flag">
<img width="27" height="13.5" src="<?php echo implode('/', [$flag_base_url, strtolower($default_country_code) . '.png']); ?>" alt="<?php echo $countries[$default_country_code]['name']; ?>" />
<svg class="tf-arrow" xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" width="19"><path fill="currentColor" d="M480-333 240-573l51-51 189 189 189-189 51 51-240 240Z"/></svg>
<span class="tf-flag-calling-code"><?php echo $default_calling_code; ?></span>
</div>
<select
class="tf-phone-control--flag--selector noChosen"
name="<?php echo $name ?>[code]"
<?php if ($aria_label): ?>
aria-label="<?php echo htmlspecialchars($aria_label, ENT_COMPAT, 'UTF-8'); ?>"
<?php endif; ?>
>
<?php
foreach ($countries as $key => $country)
{
$selected = isset($value['code']) && $value['code'] === $key;
?><option value="<?php echo $key; ?>" <?php echo $selected ? ' selected' : ''; ?>><?php echo $country['name']; ?></option><?php
}
?>
</select>
<input
type="tel"
class="tf-phone-control--number<?php echo !empty($input_class) ? ' ' . $input_class : ''; ?>"
id="<?php echo $id; ?>"
<?php echo $inputmask ? ' data-imask="' . $inputmask . '"' : ''; ?>
<?php echo $required ? ' required' : ''; ?>
<?php echo $readonly ? ' readonly' : ''; ?>
<?php echo $browserautocomplete ? ' autocomplete="off"' : ''; ?>
placeholder="<?php echo $placeholder ?>"
value="<?php echo isset($value['value']) ? $value['value'] : ''; ?>"
name="<?php echo $name; ?>[value]"
/>
</div>

View File

@ -0,0 +1,28 @@
<?php
/**
* @package Advanced Custom Fields
* @version 2.8.8 Pro
*
* @author Tassos Marinos <info@tassos.gr>
* @link http://www.tassos.gr
* @copyright Copyright © 2018 Tassos Marinos All Rights Reserved
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
*/
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Layout\FileLayout;
extract($displayData);
?>
<div class="tf-unit-control form-control<?php echo isset($wrapper_class) && !empty($wrapper_class) ? ' ' . $wrapper_class : ''; ?>" data-hint="<?php echo $hint; ?>">
<?php
echo $input;
if (count($units) > 0)
{
$layout = new FileLayout('selector', JPATH_PLUGINS . '/system/nrframework/layouts/controls/unit');
echo $layout->render($displayData);
}
?>
</div>

View File

@ -0,0 +1,17 @@
<?php
/**
* @package Advanced Custom Fields
* @version 2.8.8 Pro
*
* @author Tassos Marinos <info@tassos.gr>
* @link http://www.tassos.gr
* @copyright Copyright © 2018 Tassos Marinos All Rights Reserved
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
*/
defined('_JEXEC') or die('Restricted access');
extract($displayData);
?>
<input type="hidden" name="<?php echo $name; ?>[unit]" class="tf-unit-control-unit-value" value="<?php echo $unit; ?>" />

View File

@ -0,0 +1,51 @@
<?php
/**
* @package Advanced Custom Fields
* @version 2.8.8 Pro
*
* @author Tassos Marinos <info@tassos.gr>
* @link http://www.tassos.gr
* @copyright Copyright © 2018 Tassos Marinos All Rights Reserved
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
*/
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Layout\FileLayout;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
extract($displayData);
HTMLHelper::stylesheet('plg_system_nrframework/controls/unit_selector.css', ['relative' => true, 'version' => 'auto']);
$multipleUnits = count($units) > 1;
if ($multipleUnits)
{
HTMLHelper::script('plg_system_nrframework/controls/unit_selector.js', ['relative' => true, 'version' => 'auto']);
}
?>
<div class="tf-unit-control-dropdown<?php echo $multipleUnits ? ' has-multiple-units' : ''; ?><?php echo isset($dropdown_class) && !empty($dropdown_class) ? ' ' . $dropdown_class : ''; ?>">
<div class="tf-unit-control-dropdown--opener"<?php echo count($units) > 1 ? ' title="' . Text::_('NR_SELECT_UNIT') . '"' : ''; ?>>
<span class="tf-unit-control-dropdown--opener--selected--unit"><?php echo $unit; ?></span>
<?php if ($multipleUnits): ?>
<svg width="8" height="6" viewBox="0 0 8 6" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 5.46666L0 1.46666L0.933333 0.533325L4 3.59999L7.06667 0.533325L8 1.46666L4 5.46666Z" fill="currentColor" /></svg>
<?php endif; ?>
</div>
<?php if ($multipleUnits): ?>
<ul class="tf-unit-control-dropdown--drop">
<?php foreach ($units as $unit_key): ?>
<li class="tf-unit-control-dropdown--drop--item<?php echo $unit_key === $unit ? ' selected' : ''; ?>"><?php echo $unit_key; ?></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<?php
if (!isset($hide_input))
{
$layout = new FileLayout('input_value', JPATH_PLUGINS . '/system/nrframework/layouts/controls/unit');
echo $layout->render($displayData);
}
?>
</div>