From 46d681c6b825d21b3f698d793c4e630c687d90ad Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Thu, 21 May 2026 21:41:53 +0000
Subject: [PATCH] =Major CustomBlocks.php overhaul, expanding block support and customization from the editor. theme.json should now be updated on new themes to set brand colours, etc. Also note: major change to .col vs .row alignment: simplifying it to .top .bottom vs the confusion of the differences for .col/.row .start and .a-start
---
inc/meta/Form.php | 45 +++++++++++++++++++++++++++++----------------
1 files changed, 29 insertions(+), 16 deletions(-)
diff --git a/inc/meta/Form.php b/inc/meta/Form.php
index 99a128b..2cf3f05 100644
--- a/inc/meta/Form.php
+++ b/inc/meta/Form.php
@@ -463,7 +463,7 @@
if (!array_key_exists('class', $config)) {
$config['class'] = [];
}
- $config['class'][] ='row btw';
+ $config['class'][] ='row x-btw';
$checked = filter_var($value, FILTER_VALIDATE_BOOLEAN);
@@ -784,7 +784,7 @@
</div>
</div>
- <div class="selection-actions row btw" hidden>
+ <div class="selection-actions row x-btw" hidden>
<button type="button" data-action="add-to-group">
%sGroup
</button>
@@ -848,7 +848,7 @@
protected static function renderUploadItemActions(?int $attachmentId = null):string
{
return sprintf(
- '<div class="item-actions row btw">
+ '<div class="item-actions row x-btw">
<div class="btn">
<input type="radio" class="featured btn" name="featured" id="featured%s" hidden>
<label for="featured">
@@ -1207,7 +1207,7 @@
$containerId = sprintf('%s-%s-selector', $name, $config['subtype']);
$input = sprintf(
- '<div class="row btw">
+ '<div class="row x-btw">
<input type="hidden" name="%s" value="%s">
<label for="%s-autocomplete">%s<span>%s</span></label>',
esc_attr($name),
@@ -1224,7 +1224,7 @@
}
$plural = static::getPlural($config);
$input .= sprintf(
- '<div class="selected-items row start" role="region" aria-label="Selected %s"></div>',
+ '<div class="selected-items row left" role="region" aria-label="Selected %s"></div>',
$plural[1]??''
);
@@ -1498,7 +1498,7 @@
$config['data']['tag-format'] = esc_attr($tagFormat);
$input = sprintf(
- '<h3>%s</h3><div class="row start wrap">',
+ '<h3>%s</h3><div class="row left wrap">',
esc_html($config['label']??'')
);
@@ -1657,7 +1657,7 @@
%s
</button>
<details%s>
- <summary class="row btw repeater-row-header">
+ <summary class="row x-btw repeater-row-header">
<span class="drag-handle">%s</span>
<span class="row-number">#%s</span>
<span class="row-title">%s</span>
@@ -1729,8 +1729,8 @@
<div class="items-wrap">
<!-- Common/Favorite terms section -->
<details class="favourite-terms" hidden>
- <summary class="title row btw">Your Go Tos:</summary>
- <ul class="favourite-list row btw"></ul>
+ <summary class="title row x-btw">Your Go Tos:</summary>
+ <ul class="favourite-list row x-btw"></ul>
</details>
<!-- Pagination info -->
@@ -1748,7 +1748,7 @@
{ <span>loading items</span> }
</p>
<!-- Terms list -->
- <ul class="items-container col start" role="listbox" aria-label="Available terms">
+ <ul class="items-container col top" role="listbox" aria-label="Available terms">
<!-- Terms will be populated here -->
</ul>
@@ -1767,7 +1767,7 @@
<!-- Create new term section -->
<details class="create-term" hidden>
- <summary class="row btw">Add New Term</summary>
+ <summary class="row x-btw">Add New Term</summary>
<div class="create-new-term-section">
<form class="create-term" data-nocache data-form-id="create-term" data-save="terms">
<div class="form-group">
@@ -1826,20 +1826,33 @@
);
}
- public static function search(string $placeholder = 'Search...', string $id = 'search'):string
+ public static function search(string $placeholder = 'Search...', string $id = 'search', string $label = '', string $buttonText = '',bool $buttonInside = false, bool $hideSearch = false):string
{
$id = sanitize_title($id);
+ $label = empty($label) ? '' : sprintf(
+ '<h3>%s</h3>',
+ $label
+ );
+ $buttonText = empty($buttonText) ? '' : sprintf(
+ '<span>%s</span>',
+ $buttonText
+ );
+ $hideSearch = $hideSearch ? ' hidden' : '';
return sprintf(
- '<div class="search-container row start nowrap">
- <input type="search" id="%s" placeholder="%s">
+ '%s<div class="search-container row left nowrap%s">
+ <input type="search" id="%s" placeholder="%s"%s>
<button title="Clear Search" type="button" class="clear-search" aria-label="Clear search"
onclick="this.previousElementSibling.value = \'\'; this.previousElementSibling.focus();">%s</button>
- <button type="button" title="Search" class="toggle search" aria-label="Toggles search input visually" onclick="this.parentNode.classList.toggle(\'open\');this.previousElementSibling.previousElementSibling.focus();">%s</button>
+ <button type="button" title="Search" class="toggle search" aria-label="Toggles search input visually" onclick="this.parentNode.classList.toggle(\'open\');this.previousElementSibling.previousElementSibling.focus();">%s%s</button>
</div>',
+ $label,
+ $buttonInside ? ' insideButton' : '',
$id,
$placeholder,
+ $hideSearch,
jvbIcon('x', ['title' => 'Clear Search']),
- jvbIcon('magnifying-glass')
+ jvbIcon('magnifying-glass'),
+ $buttonText
);
}
}
--
Gitblit v1.10.0