updates from most recent website build
This commit is contained in:
28
app/ACF/CloneGroup.php
Normal file
28
app/ACF/CloneGroup.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\ACF;
|
||||
|
||||
class CloneGroup
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
|
||||
}
|
||||
public function background()
|
||||
{
|
||||
return [
|
||||
'contrast',
|
||||
'bg_type',
|
||||
'bg_colour',
|
||||
'bg_tint',
|
||||
'bg_opacity',
|
||||
'bg_image',
|
||||
'bg_video',
|
||||
'pattern',
|
||||
'pattern_top',
|
||||
'pattern_bottom',
|
||||
'padding_top',
|
||||
'padding_bottom',
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,58 @@
|
||||
<?php
|
||||
|
||||
namespace App\ACF;
|
||||
use ourcodeworld\NameThatColor\ColorInterpreter as NameThatColor;
|
||||
use App\Utilities;
|
||||
|
||||
class Dynamic
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
add_filter('acf/load_field/name=colour', [ $this, 'load_colours' ]);
|
||||
add_filter('acf/load_field/name=bg_colour', [ $this, 'load_colours' ]);
|
||||
add_filter('acf/load_field/name=tint', [ $this, 'load_tints' ]);
|
||||
add_filter('acf/load_field/name=bg_tint', [ $this, 'load_tints' ]);
|
||||
add_filter('acf/load_field/name=fontawesome_regular', [ $this, 'load_fontawesome_regular_icons' ]);
|
||||
add_filter('acf/load_field/name=fontawesome_solid', [ $this, 'load_fontawesome_solid_icons' ]);
|
||||
add_filter('acf/load_field/name=fontawesome_brands', [ $this, 'load_fontawesome_brand_icons' ]);
|
||||
}
|
||||
|
||||
public function load_colours( $field )
|
||||
{
|
||||
$colour = new Utilities\Colour;
|
||||
$NameThatColour = new NameThatColor;
|
||||
|
||||
$colours = $colour->values();
|
||||
|
||||
$field['choices'] = [];
|
||||
|
||||
foreach($colours as $slug => $hex):
|
||||
$field['choices'][$slug] = '<i class="fas fa-circle" style="color: '. $hex .'"></i> ' . @$NameThatColour->name($hex)['name'];
|
||||
endforeach;
|
||||
|
||||
return $field;
|
||||
|
||||
}
|
||||
|
||||
public function load_tints( $field )
|
||||
{
|
||||
$colour = new Utilities\Colour;
|
||||
$tints = $colour->tints();
|
||||
|
||||
$field['choices'] = [];
|
||||
|
||||
foreach($tints as $slug => $hex):
|
||||
if($slug):
|
||||
$field['choices'][$slug] = ucfirst($slug);
|
||||
|
||||
else:
|
||||
$field['choices'][0] = 'None';
|
||||
endif;
|
||||
endforeach;
|
||||
|
||||
return $field;
|
||||
}
|
||||
|
||||
public function load_fontawesome_regular_icons( $field )
|
||||
{
|
||||
$field['choices'] = [];
|
||||
|
||||
23
app/ACF/Options.php
Normal file
23
app/ACF/Options.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\ACF;
|
||||
|
||||
class Options
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
add_filter('acf/init', [$this, 'company']);
|
||||
}
|
||||
|
||||
public function company()
|
||||
{
|
||||
acf_add_options_page([
|
||||
'page_title' => __('Global Settings'),
|
||||
'menu_title' => __('Global Settings'),
|
||||
'menu_slug' => 'theme-global-settings',
|
||||
'capability' => 'edit_others_posts',
|
||||
'redirect' => false,
|
||||
'icon_url' => 'dashicons-admin-site',
|
||||
]);
|
||||
}
|
||||
}
|
||||
135
app/Admin/Blocks.php
Normal file
135
app/Admin/Blocks.php
Normal file
@@ -0,0 +1,135 @@
|
||||
<?php
|
||||
|
||||
namespace App\Admin;
|
||||
|
||||
class Blocks
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
add_action('allowed_block_types_all', [$this, 'blacklist'], 100, 2);
|
||||
}
|
||||
|
||||
public function blacklist()
|
||||
{
|
||||
// Reference:
|
||||
// https://www.wpexplorer.com/how-to-remove-gutenberg-blocks/
|
||||
// https://www.wpexplorer.com/wordpress-core-blocks-list/
|
||||
|
||||
// Existing blocks with Blade templates
|
||||
// https://roots.io/acorn/docs/rendering-blade-views/#existing-blocks-with-blade-templates
|
||||
|
||||
$blocks = array_keys( \WP_Block_Type_Registry::get_instance()->get_all_registered() );
|
||||
|
||||
$blacklist = [
|
||||
// Design
|
||||
'core/button',
|
||||
'core/comment-template',
|
||||
'core/home-link',
|
||||
'core/navigation-link',
|
||||
'core/navigation-submenu',
|
||||
'core/buttons',
|
||||
'core/column',
|
||||
'core/columns',
|
||||
'core/group',
|
||||
'core/more',
|
||||
'core/nextpage',
|
||||
'core/separator',
|
||||
'core/spacer',
|
||||
'core/text-columns',
|
||||
|
||||
// Embed
|
||||
'core/embed',
|
||||
|
||||
// Media
|
||||
'core/cover',
|
||||
'core/file',
|
||||
'core/gallery',
|
||||
'core/image',
|
||||
'core/media-text',
|
||||
'core/audio',
|
||||
'core/video',
|
||||
|
||||
// Reusable
|
||||
'core/block',
|
||||
|
||||
// Text
|
||||
'core/footnotes',
|
||||
'core/heading',
|
||||
'core/list',
|
||||
'core/code',
|
||||
'core/details',
|
||||
'core/freeform',
|
||||
'core/list-item',
|
||||
'core/missing',
|
||||
'core/paragraph',
|
||||
'core/preformatted',
|
||||
'core/pullquote',
|
||||
'core/quote',
|
||||
'core/table',
|
||||
'core/verse',
|
||||
|
||||
// Theme
|
||||
'core/avatar',
|
||||
'core/comment-author-name',
|
||||
'core/comment-content',
|
||||
'core/comment-date',
|
||||
'core/comment-edit-link',
|
||||
'core/comment-reply-link',
|
||||
'core/comments',
|
||||
'core/comments-pagination',
|
||||
'core/comments-pagination-next',
|
||||
'core/comments-pagination-numbers',
|
||||
'core/comments-pagination-previous',
|
||||
'core/comments-title',
|
||||
'core/loginout',
|
||||
'core/navigation',
|
||||
'core/pattern',
|
||||
'core/post-author',
|
||||
'core/post-author-biography',
|
||||
'core/post-author-name',
|
||||
'core/post-comments-form',
|
||||
'core/post-content',
|
||||
'core/post-date',
|
||||
'core/post-excerpt',
|
||||
'core/post-featured-image',
|
||||
'core/post-navigation-link',
|
||||
'core/post-template',
|
||||
'core/post-terms',
|
||||
'core/post-title',
|
||||
'core/query',
|
||||
'core/query-no-results',
|
||||
'core/query-pagination',
|
||||
'core/query-pagination-next',
|
||||
'core/query-pagination-numbers',
|
||||
'core/query-pagination-previous',
|
||||
'core/query-title',
|
||||
'core/read-more',
|
||||
'core/site-logo',
|
||||
'core/site-tagline',
|
||||
'core/site-title',
|
||||
'core/template-part',
|
||||
'core/term-description',
|
||||
'core/post-comments',
|
||||
|
||||
// Widgets
|
||||
'core/legacy-widget',
|
||||
'core/widget-group',
|
||||
'core/archives',
|
||||
'core/calendar',
|
||||
'core/categories',
|
||||
'core/latest-comments',
|
||||
'core/latest-posts',
|
||||
'core/page-list',
|
||||
'core/page-list-item',
|
||||
'core/rss',
|
||||
'core/search',
|
||||
'core/shortcode',
|
||||
'core/social-link',
|
||||
'core/tag-cloud',
|
||||
'core/html',
|
||||
'core/social-links',
|
||||
];
|
||||
|
||||
return array_values( array_diff( $blocks, $blacklist ) );
|
||||
}
|
||||
}
|
||||
27
app/Admin/DisablePost.php
Normal file
27
app/Admin/DisablePost.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Admin;
|
||||
|
||||
class DisablePost
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
add_filter('register_post_type_args', [$this, 'args'], 0, 2);
|
||||
add_filter('register_taxonomy_args', [$this, 'args'], 0, 2);
|
||||
}
|
||||
|
||||
public function args($args, $type)
|
||||
{
|
||||
$types = [
|
||||
'post',
|
||||
'post_tag',
|
||||
'category',
|
||||
];
|
||||
|
||||
if(in_array($type, $types)) {
|
||||
$args['public'] = false;
|
||||
}
|
||||
|
||||
return $args;
|
||||
}
|
||||
}
|
||||
24
app/Admin/Integrations.php
Normal file
24
app/Admin/Integrations.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Admin;
|
||||
|
||||
class Integrations
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
add_action( 'wp_head', [$this, 'FathomAnalytics']);
|
||||
}
|
||||
|
||||
public function FathomAnalytics()
|
||||
{
|
||||
$fathomID = get_field('badegg_integrations_fathom_id', 'option');
|
||||
|
||||
if($fathomID && WP_ENV == 'production'): ?>
|
||||
|
||||
<!-- Fathom - beautiful, simple website analytics -->
|
||||
<script src="https://cdn.usefathom.com/script.js" data-site="<?= $fathomID ?>" defer></script>
|
||||
<!-- / Fathom -->
|
||||
|
||||
<?php endif;
|
||||
}
|
||||
}
|
||||
65
app/Blocks/BadExample.php
Normal file
65
app/Blocks/BadExample.php
Normal file
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
|
||||
namespace App\Blocks;
|
||||
use App\Utilities;
|
||||
use App\ACF;
|
||||
|
||||
class BadExample
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
add_action('acf/init', [$this, 'init']);
|
||||
}
|
||||
|
||||
public function init()
|
||||
{
|
||||
acf_register_block_type([
|
||||
'name' => 'badegg/bad-example',
|
||||
'title' => __('Bad Example'),
|
||||
'description' => __('This is an example block'),
|
||||
'render_callback' => [ $this, 'render'],
|
||||
'category' => 'layout',
|
||||
'multiple' => false,
|
||||
'icon' => [
|
||||
'src' => 'dismiss',
|
||||
],
|
||||
'supports' => [
|
||||
'align' => false,
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
public function render($block)
|
||||
{
|
||||
$CssClasses = new Utilities\CssClasses;
|
||||
$Colour = new Utilities\Colour;
|
||||
$CloneGroup = new ACF\CloneGroup;
|
||||
|
||||
$data = [];
|
||||
|
||||
$fields = [
|
||||
'heading',
|
||||
'blurb',
|
||||
];
|
||||
|
||||
$fields = array_merge($fields, $CloneGroup->background());
|
||||
|
||||
foreach($fields as $field):
|
||||
$data[$field] = get_field($field);
|
||||
endforeach;
|
||||
|
||||
unset($block['data']);
|
||||
$block['name'] = str_replace('acf/', '', $block['name']);
|
||||
|
||||
$data = array_merge($data, $block);
|
||||
$data['section_classes'] = $CssClasses->section($data);
|
||||
$data['block'] = $block;
|
||||
|
||||
$data['knockout'] = ($Colour->is_dark($data['bg_colour'], $data['bg_tint'], $data['contrast'])) ? null : 'knockout';
|
||||
|
||||
echo \Roots\view('blocks.bad-example', [
|
||||
'data' => $data,
|
||||
'block' => $block,
|
||||
])->render();
|
||||
}
|
||||
}
|
||||
168
app/Utilities/Colour.php
Normal file
168
app/Utilities/Colour.php
Normal file
@@ -0,0 +1,168 @@
|
||||
<?php
|
||||
|
||||
namespace App\Utilities;
|
||||
|
||||
class Colour
|
||||
{
|
||||
public function name2hex($colour = null, $tint = null)
|
||||
{
|
||||
if(!$colour) return false;
|
||||
|
||||
if($colour == 'black'):
|
||||
$hex = '#000000';
|
||||
elseif($colour == 'white'):
|
||||
$hex = '#FFFFFF';
|
||||
else:
|
||||
// TODO: replace company_info settings page and lookup function
|
||||
$hex = $this->values()[(string)$colour];
|
||||
endif;
|
||||
|
||||
if($tint):
|
||||
$tints = $this->tints();
|
||||
$hex = $this->adjustBrightness($hex, $tints[$tint]);
|
||||
endif;
|
||||
|
||||
return $hex;
|
||||
}
|
||||
|
||||
public function values()
|
||||
{
|
||||
$colours = get_field('badegg_colours', 'option');
|
||||
|
||||
$values = [];
|
||||
|
||||
if($colours):
|
||||
foreach($colours as $index => $props):
|
||||
$index = $index + 1;
|
||||
$hex = @$props['hex'];
|
||||
|
||||
if($hex) $values[$this->latinate($index)] = $hex;
|
||||
endforeach;
|
||||
endif;
|
||||
|
||||
$values['0'] = '#FFFFFF';
|
||||
$values['black'] = '#000000';
|
||||
|
||||
return $values;
|
||||
}
|
||||
|
||||
public function tints()
|
||||
{
|
||||
return [
|
||||
'lightest' => 100,
|
||||
'lighter' => 66,
|
||||
'light' => 33,
|
||||
'0' => 0,
|
||||
'dark' => -33,
|
||||
'darker' => -66,
|
||||
'darkest' => -100,
|
||||
];
|
||||
}
|
||||
|
||||
public function is_dark($colour = '#FFFFF', $tint = null, $override = null)
|
||||
{
|
||||
|
||||
if($override == 'light') return true;
|
||||
if($override == 'dark') return false;
|
||||
|
||||
// https://css-tricks.com/snippets/php/convert-hex-to-rgb/
|
||||
|
||||
if($tint) $colour = $this->adjustBrightness($colour, $this->tints()[$tint]);
|
||||
|
||||
if ( @$colour[0] == '#' ) {
|
||||
$colour = substr( $colour, 1 );
|
||||
}
|
||||
|
||||
if ( strlen( $colour ) == 6 ) {
|
||||
list( $r, $g, $b ) = [
|
||||
$colour[0] . $colour[1],
|
||||
$colour[2] . $colour[3],
|
||||
$colour[4] . $colour[5],
|
||||
];
|
||||
|
||||
} elseif ( strlen( $colour ) == 3 ) {
|
||||
list( $r, $g, $b ) = [
|
||||
$colour[0] . $colour[0],
|
||||
$colour[1] . $colour[1],
|
||||
$colour[2] . $colour[2],
|
||||
];
|
||||
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
$r = hexdec( $r );
|
||||
$g = hexdec( $g );
|
||||
$b = hexdec( $b );
|
||||
// return array( 'red' => $r, 'green' => $g, 'blue' => $b );
|
||||
|
||||
$hsp = sqrt(
|
||||
0.299 * ($r * $r) +
|
||||
0.587 * ($g * $g) +
|
||||
0.114 * ($b * $b)
|
||||
);
|
||||
|
||||
if($hsp > 200) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public function is_light($colour = '#000000', $tint = null)
|
||||
{
|
||||
if($this->is_dark($colour, $tint)) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public function adjustBrightness($hex, $steps)
|
||||
{
|
||||
// Steps should be between -255 and 255. Negative = darker, positive = lighter
|
||||
$steps = max(-255, min(255, $steps));
|
||||
|
||||
// Normalize into a six character long hex string
|
||||
$hex = str_replace('#', '', $hex);
|
||||
if (strlen($hex) == 3) {
|
||||
$hex = str_repeat(substr($hex,0,1), 2).str_repeat(substr($hex,1,1), 2).str_repeat(substr($hex,2,1), 2);
|
||||
}
|
||||
|
||||
// Split into three parts: R, G and B
|
||||
$color_parts = str_split($hex, 2);
|
||||
$return = '#';
|
||||
|
||||
foreach ($color_parts as $color) {
|
||||
$color = hexdec($color); // Convert to decimal
|
||||
$color = max(0,min(255,$color + $steps)); // Adjust color
|
||||
$return .= str_pad(dechex($color), 2, '0', STR_PAD_LEFT); // Make two char hex code
|
||||
}
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
||||
public function latinate($x = 0)
|
||||
{
|
||||
$latinate = [
|
||||
1 => 'primary',
|
||||
2 => 'secondary',
|
||||
3 => 'tertiary',
|
||||
4 => 'quaternary',
|
||||
5 => 'quinary',
|
||||
6 => 'senary',
|
||||
7 => 'septenary',
|
||||
8 => 'octonary',
|
||||
9 => 'nonary',
|
||||
10 => 'denary',
|
||||
11 => 'undenary',
|
||||
12 => 'duodenary',
|
||||
];
|
||||
|
||||
if(array_key_exists($x, $latinate)):
|
||||
return $latinate[$x];
|
||||
else:
|
||||
return 0;
|
||||
endif;
|
||||
}
|
||||
}
|
||||
105
app/Utilities/CssClasses.php
Normal file
105
app/Utilities/CssClasses.php
Normal file
@@ -0,0 +1,105 @@
|
||||
<?php
|
||||
|
||||
namespace App\Utilities;
|
||||
|
||||
class CssClasses {
|
||||
public function section($props = [])
|
||||
{
|
||||
$Colour = new Colour;
|
||||
$hex = $Colour->name2hex(@$props['bg_colour'], @$props['bg_tint']);
|
||||
|
||||
$pattern = @$props['pattern'];
|
||||
$pattern_top = @$props['pattern_top'];
|
||||
$pattern_bottom = @$props['pattern_bottom'];
|
||||
|
||||
$classes = [
|
||||
'section',
|
||||
'section-' . str_replace('acf/', '', $props['name']),
|
||||
'bg-' . $this->colourTint([
|
||||
'colour' => @$props['bg_colour'],
|
||||
'tint' => @$props['bg_tint'],
|
||||
]),
|
||||
];
|
||||
|
||||
if($Colour->is_dark($hex) && $this->is_knockout_block($props['name']))
|
||||
$classes[] = 'knockout';
|
||||
|
||||
if(@$props['padding_top'])
|
||||
$classes[] = 'section-zero-top';
|
||||
|
||||
if(@$props['padding_bottom'])
|
||||
$classes[] = 'section-zero-bottom';
|
||||
|
||||
if($pattern):
|
||||
if($pattern == 'both'):
|
||||
$classes[] = 'pattern-top';
|
||||
$classes[] = 'pattern-bottom';
|
||||
|
||||
else:
|
||||
$classes[] = 'pattern-' . $pattern;
|
||||
|
||||
endif;
|
||||
|
||||
if(in_array($pattern, ['top', 'both']))
|
||||
$classes[] = 'pattern-top-' . $this->colourTint($pattern_top);
|
||||
|
||||
if(in_array($pattern, ['bottom', 'both']))
|
||||
$classes[] = 'pattern-bottom-' . $this->colourTint($pattern_bottom);
|
||||
|
||||
endif;
|
||||
|
||||
if(@$props['bg_image'])
|
||||
$classes[] = "bg-watermarked";
|
||||
|
||||
if(@$props['className']) $args = array_merge($classes, explode(' ', $props['className']));
|
||||
|
||||
return $classes;
|
||||
}
|
||||
|
||||
public function button($args = [])
|
||||
{
|
||||
$default_args = [
|
||||
'colour' => null,
|
||||
'style' => null,
|
||||
];
|
||||
|
||||
$args = wp_parse_args($args, $default_args);
|
||||
|
||||
$classes = [
|
||||
'button',
|
||||
];
|
||||
|
||||
if($args['colour']) $classes[] = $args['colour'];
|
||||
if($args['style']) $classes[] = $args['style'];
|
||||
|
||||
return $classes;
|
||||
}
|
||||
|
||||
public function colourTint($props = [])
|
||||
{
|
||||
if(@$props['colour']):
|
||||
$colour = $props['colour'];
|
||||
|
||||
if($props['colour'] != 'black' && @$props['tint']):
|
||||
$colour .= '-' . $props['tint'];
|
||||
endif;
|
||||
else:
|
||||
$colour = 'white';
|
||||
endif;
|
||||
|
||||
return $colour;
|
||||
}
|
||||
|
||||
public function is_knockout_block($name = null)
|
||||
{
|
||||
$blacklist = [
|
||||
'bad-example',
|
||||
];
|
||||
|
||||
if(in_array($name, $blacklist)):
|
||||
return false;
|
||||
else:
|
||||
return true;
|
||||
endif;
|
||||
}
|
||||
}
|
||||
124
app/Utilities/ImageSrcset.php
Normal file
124
app/Utilities/ImageSrcset.php
Normal file
@@ -0,0 +1,124 @@
|
||||
<?php
|
||||
|
||||
namespace App\Utilities;
|
||||
|
||||
class ImageSrcset
|
||||
{
|
||||
public function add($args = [])
|
||||
{
|
||||
$args = wp_parse_args($args, $this->default_args());
|
||||
$multipliers = $this->multipliers();
|
||||
|
||||
if(is_null($args['height'])) $args['height'] = $args['width'];
|
||||
|
||||
|
||||
if($args['sizes'] < 5) $multipliers = array_slice($multipliers, 0, $args['sizes']);
|
||||
|
||||
foreach ( $multipliers as $slug => $scale ):
|
||||
add_image_size (
|
||||
$args['name'] . '-' . $slug,
|
||||
round((int)$args['width'] * $scale),
|
||||
round((int)$args['height'] * $scale),
|
||||
$args['crop']
|
||||
);
|
||||
endforeach;
|
||||
}
|
||||
|
||||
public function default_args()
|
||||
{
|
||||
return [
|
||||
'name' => 'hero',
|
||||
'width' => 1920,
|
||||
'height' => null,
|
||||
'crop' => true,
|
||||
'sizes' => 5,
|
||||
];
|
||||
}
|
||||
|
||||
public function multipliers()
|
||||
{
|
||||
return [
|
||||
'xl' => 1,
|
||||
'lg' => 0.75,
|
||||
'md' => 0.52083333,
|
||||
'sm' => 0.33333333,
|
||||
'xs' => 0.20833333,
|
||||
];
|
||||
}
|
||||
|
||||
public function render($args = [])
|
||||
{
|
||||
global $_wp_additional_image_sizes;
|
||||
|
||||
$default_args = [
|
||||
'name' => 'hero',
|
||||
'image' => null,
|
||||
'lazy' => true,
|
||||
'sizes' => 5,
|
||||
'class' => null,
|
||||
];
|
||||
|
||||
$args = wp_parse_args($args, $default_args);
|
||||
$name = $args['name'];
|
||||
$image = ($args['image']) ? $args['image'] : get_post_thumbnail_id();
|
||||
|
||||
if(!$image) return false;
|
||||
|
||||
$properties = @$_wp_additional_image_sizes[$name . '-xl'];
|
||||
$width = @$properties['width'];
|
||||
$height = @$properties['height'];
|
||||
|
||||
$sizes = [
|
||||
'xl' => 1,
|
||||
'lg' => 0.75,
|
||||
'md' => 0.52083333,
|
||||
'sm' => 0.33333333,
|
||||
'xs' => 0.20833333,
|
||||
];
|
||||
|
||||
if($args['sizes'] < 5) $sizes = array_slice($sizes, 0, $args['sizes']);
|
||||
|
||||
$class = $name . '-image';
|
||||
if($args['class']) $class .= ' ' . $args['class'];
|
||||
|
||||
ob_start();
|
||||
|
||||
$full = wp_get_attachment_image_src($image, $name . '-xl');
|
||||
$lazy = wp_get_attachment_image_src($image, 'lazy');
|
||||
$alt = get_post_meta( $image, '_wp_attachment_image_alt', true );
|
||||
|
||||
$srcsets = [];
|
||||
foreach($sizes as $size => $multiplier) {
|
||||
$file = wp_get_attachment_image_src($image, $name . '-' . $size);
|
||||
$srcsets[] = $file[0] . ' ' . $file[1] . 'w';
|
||||
}
|
||||
|
||||
$atts = [
|
||||
'class' => $class,
|
||||
'src' => $full[0],
|
||||
'srcset' => implode(', ', $srcsets),
|
||||
'width' => $width,
|
||||
'height' => $height,
|
||||
'alt' => $alt,
|
||||
];
|
||||
|
||||
if($args['lazy']):
|
||||
$atts['class'] .= ' lazy';
|
||||
$atts['src'] = $lazy[0];
|
||||
$atts['srcset'] = null;
|
||||
$atts['data-src'] = $full[0];
|
||||
$atts['data-srcset'] = implode(', ', $srcsets);
|
||||
endif;
|
||||
|
||||
?>
|
||||
|
||||
<img
|
||||
<?php foreach($atts as $att => $value):
|
||||
if($value) echo $att . '="' . $value . '" ';
|
||||
endforeach; ?>
|
||||
/>
|
||||
|
||||
<?php
|
||||
return ob_get_clean();
|
||||
}
|
||||
}
|
||||
39
app/Utilities/VideoSrcset.php
Normal file
39
app/Utilities/VideoSrcset.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
namespace App\Utilities;
|
||||
|
||||
class VideoSrcset
|
||||
{
|
||||
public function sizes($video_srcset = [])
|
||||
{
|
||||
if(empty($video_srcset)) return false;
|
||||
|
||||
$sizes = [];
|
||||
|
||||
foreach($video_srcset as $size => $video):
|
||||
if($video):
|
||||
$sizes[$size] = $video['width'];
|
||||
endif;
|
||||
endforeach;
|
||||
|
||||
if(!empty($sizes)):
|
||||
return json_encode($sizes);
|
||||
else:
|
||||
return false;
|
||||
endif;
|
||||
}
|
||||
|
||||
public function smallest($video_srcset = [])
|
||||
{
|
||||
if(empty($video_srcset)) return false;
|
||||
|
||||
$smallest = null;
|
||||
|
||||
foreach($video_srcset as $size => $video):
|
||||
if($smallest) continue;
|
||||
if($video) $smallest = $size;
|
||||
endforeach;
|
||||
|
||||
return $smallest;
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace App\View\Composers;
|
||||
|
||||
use Roots\Acorn\View\Composer;
|
||||
use App\Utilities;
|
||||
|
||||
class App extends Composer
|
||||
{
|
||||
@@ -23,7 +24,14 @@ class App extends Composer
|
||||
public function with()
|
||||
{
|
||||
return [
|
||||
'Colour' => new Utilities\Colour,
|
||||
'VideoSrcset' => new Utilities\VideoSrcset,
|
||||
'ImageSrcset' => new Utilities\ImageSrcset,
|
||||
'siteName' => $this->siteName(),
|
||||
'siteLogo' => @file_get_contents(get_template_directory() . '/resources/images/logo-rhythm-road-entertainment.svg'),
|
||||
'company_legal' => get_field('badegg_company_legal', 'option'),
|
||||
'company_tel' => get_field('badegg_company_tel', 'option'),
|
||||
'company_email' => get_field('badegg_company_email', 'option'),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
35
app/View/Composers/Socials.php
Normal file
35
app/View/Composers/Socials.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace App\View\Composers;
|
||||
|
||||
use Roots\Acorn\View\Composer;
|
||||
|
||||
class Socials extends Composer
|
||||
{
|
||||
/**
|
||||
* List of views served by this composer.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected static $views = [
|
||||
'components.socials',
|
||||
];
|
||||
|
||||
/**
|
||||
* Data to be passed to view before rendering.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function with()
|
||||
{
|
||||
return [
|
||||
'socials' => get_posts([
|
||||
'post_type' => 'social',
|
||||
'order' => 'ASC',
|
||||
'orderby' => 'menu_order name',
|
||||
'posts_per_page' => -1,
|
||||
'fields' => 'ids',
|
||||
]),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -122,3 +122,20 @@ add_action('widgets_init', function () {
|
||||
'id' => 'sidebar-footer',
|
||||
] + $config);
|
||||
});
|
||||
|
||||
add_filter('admin_post_thumbnail_size', function(){
|
||||
return "medium";
|
||||
});
|
||||
|
||||
add_action( 'init', __NAMESPACE__ . '\\cors', 15 );
|
||||
function cors() {
|
||||
|
||||
if(WP_ENV == 'development'):
|
||||
header( 'Access-Control-Allow-Origin: *' );
|
||||
endif;
|
||||
|
||||
}
|
||||
|
||||
$image_srcset = new Utilities\ImageSrcset;
|
||||
$image_srcset->add(['name' => 'hero', 'width' => 1920, 'height' => 1000]);
|
||||
add_image_size('lazy', 50, 50);
|
||||
|
||||
@@ -39,7 +39,8 @@
|
||||
}
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.1"
|
||||
"php": ">=8.1",
|
||||
"ourcodeworld/name-that-color": "dev-master"
|
||||
},
|
||||
"require-dev": {
|
||||
"laravel/pint": "^1.13"
|
||||
|
||||
54
composer.lock
generated
54
composer.lock
generated
@@ -4,8 +4,58 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "d8fb7181c59363e264a92e0c7c1c932f",
|
||||
"packages": [],
|
||||
"content-hash": "4a53dd50b29d4fb05ac63597d41276d0",
|
||||
"packages": [
|
||||
{
|
||||
"name": "ourcodeworld/name-that-color",
|
||||
"version": "dev-master",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ourcodeworld/name-that-color.git",
|
||||
"reference": "758b1f9b4b521da63f0ae4226e80cae620b0f648"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/ourcodeworld/name-that-color/zipball/758b1f9b4b521da63f0ae4226e80cae620b0f648",
|
||||
"reference": "758b1f9b4b521da63f0ae4226e80cae620b0f648",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"default-branch": true,
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"ourcodeworld\\NameThatColor\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"mit"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Carlos Delgado",
|
||||
"email": "dev@ourcodeworld.com",
|
||||
"homepage": "https://ourcodeworld.com"
|
||||
}
|
||||
],
|
||||
"description": "A non-official PHP port of the NTC JS library to find out the name of the closest matching color.",
|
||||
"keywords": [
|
||||
"color converted",
|
||||
"hex",
|
||||
"hsl",
|
||||
"name that color",
|
||||
"rgb"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/ourcodeworld/name-that-color/issues",
|
||||
"source": "https://github.com/ourcodeworld/name-that-color/tree/master"
|
||||
},
|
||||
"time": "2018-08-03T18:14:49+00:00"
|
||||
}
|
||||
],
|
||||
"packages-dev": [
|
||||
{
|
||||
"name": "laravel/pint",
|
||||
|
||||
@@ -60,7 +60,10 @@ function autoload_psr4($name) {
|
||||
|
||||
autoload_psr4('PostTypes');
|
||||
autoload_psr4('ACF');
|
||||
autoload_psr4('Utilities');
|
||||
autoload_psr4('Admin');
|
||||
autoload_psr4('Blocks');
|
||||
autoload_psr4('Ajax');
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
||||
144
resources/acf/group_block_bad_example.json
Normal file
144
resources/acf/group_block_bad_example.json
Normal file
@@ -0,0 +1,144 @@
|
||||
{
|
||||
"key": "group_block_bad_example",
|
||||
"title": "Block: Bad Example",
|
||||
"fields": [
|
||||
{
|
||||
"key": "field_676599038e31d",
|
||||
"label": "",
|
||||
"name": "",
|
||||
"aria-label": "",
|
||||
"type": "message",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"message": "<h3><span class=\"dashicons dashicons-dismiss\"><\/span> Bad Example<\/h3>",
|
||||
"new_lines": "wpautop",
|
||||
"esc_html": 0
|
||||
},
|
||||
{
|
||||
"key": "field_67659accdc794",
|
||||
"label": "Content",
|
||||
"name": "",
|
||||
"aria-label": "",
|
||||
"type": "tab",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"placement": "top",
|
||||
"endpoint": 0
|
||||
},
|
||||
{
|
||||
"key": "field_67659ad8dc795",
|
||||
"label": "Example",
|
||||
"name": "",
|
||||
"aria-label": "",
|
||||
"type": "message",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"message": "Place your block-specific custom fields here.",
|
||||
"new_lines": "wpautop",
|
||||
"esc_html": 0
|
||||
},
|
||||
{
|
||||
"key": "field_67659a9bdc792",
|
||||
"label": "Introduction",
|
||||
"name": "introduction",
|
||||
"aria-label": "",
|
||||
"type": "clone",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"clone": [
|
||||
"group_block_intro"
|
||||
],
|
||||
"display": "seamless",
|
||||
"layout": "block",
|
||||
"prefix_label": 0,
|
||||
"prefix_name": 0
|
||||
},
|
||||
{
|
||||
"key": "field_67659bca78cfa",
|
||||
"label": "Footer",
|
||||
"name": "footer",
|
||||
"aria-label": "",
|
||||
"type": "clone",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"clone": [
|
||||
"group_block_footer"
|
||||
],
|
||||
"display": "seamless",
|
||||
"layout": "block",
|
||||
"prefix_label": 0,
|
||||
"prefix_name": 0
|
||||
},
|
||||
{
|
||||
"key": "field_67659ab5dc793",
|
||||
"label": "Settings",
|
||||
"name": "settings",
|
||||
"aria-label": "",
|
||||
"type": "clone",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"clone": [
|
||||
"group_clone_block_settings"
|
||||
],
|
||||
"display": "seamless",
|
||||
"layout": "block",
|
||||
"prefix_label": 0,
|
||||
"prefix_name": 0
|
||||
}
|
||||
],
|
||||
"location": [
|
||||
[
|
||||
{
|
||||
"param": "block",
|
||||
"operator": "==",
|
||||
"value": "acf\/badegg-bad-example"
|
||||
}
|
||||
]
|
||||
],
|
||||
"menu_order": 0,
|
||||
"position": "normal",
|
||||
"style": "default",
|
||||
"label_placement": "top",
|
||||
"instruction_placement": "label",
|
||||
"hide_on_screen": "",
|
||||
"active": true,
|
||||
"description": "",
|
||||
"show_in_rest": 0,
|
||||
"modified": 1734712286
|
||||
}
|
||||
109
resources/acf/group_block_footer.json
Normal file
109
resources/acf/group_block_footer.json
Normal file
@@ -0,0 +1,109 @@
|
||||
{
|
||||
"key": "group_block_footer",
|
||||
"title": "Clone: Block Footer",
|
||||
"fields": [
|
||||
{
|
||||
"key": "field_67659b49a6db2",
|
||||
"label": "Footer",
|
||||
"name": "",
|
||||
"aria-label": "",
|
||||
"type": "tab",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"placement": "top",
|
||||
"endpoint": 0
|
||||
},
|
||||
{
|
||||
"key": "field_67659b49a754a",
|
||||
"label": "Blurb",
|
||||
"name": "blurb_footer",
|
||||
"aria-label": "",
|
||||
"type": "textarea",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"maxlength": "",
|
||||
"rows": 3,
|
||||
"placeholder": "",
|
||||
"new_lines": ""
|
||||
},
|
||||
{
|
||||
"key": "field_67659b7502137",
|
||||
"label": "Links",
|
||||
"name": "links",
|
||||
"aria-label": "",
|
||||
"type": "repeater",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"layout": "table",
|
||||
"pagination": 0,
|
||||
"min": 0,
|
||||
"max": 2,
|
||||
"collapsed": "",
|
||||
"button_label": "Add Button",
|
||||
"rows_per_page": 20,
|
||||
"sub_fields": [
|
||||
{
|
||||
"key": "field_67659b8702138",
|
||||
"label": "Button",
|
||||
"name": "button",
|
||||
"aria-label": "",
|
||||
"type": "clone",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"clone": [
|
||||
"group_clone_button"
|
||||
],
|
||||
"display": "seamless",
|
||||
"layout": "block",
|
||||
"prefix_label": 0,
|
||||
"prefix_name": 0,
|
||||
"parent_repeater": "field_67659b7502137"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"location": [
|
||||
[
|
||||
{
|
||||
"param": "widget",
|
||||
"operator": "==",
|
||||
"value": "rss"
|
||||
}
|
||||
]
|
||||
],
|
||||
"menu_order": 0,
|
||||
"position": "normal",
|
||||
"style": "default",
|
||||
"label_placement": "top",
|
||||
"instruction_placement": "label",
|
||||
"hide_on_screen": "",
|
||||
"active": true,
|
||||
"description": "",
|
||||
"show_in_rest": 0,
|
||||
"modified": 1734712326
|
||||
}
|
||||
82
resources/acf/group_block_intro.json
Normal file
82
resources/acf/group_block_intro.json
Normal file
@@ -0,0 +1,82 @@
|
||||
{
|
||||
"key": "group_block_intro",
|
||||
"title": "Clone: Block Intro",
|
||||
"fields": [
|
||||
{
|
||||
"key": "field_67659970db415",
|
||||
"label": "Introduction",
|
||||
"name": "",
|
||||
"aria-label": "",
|
||||
"type": "tab",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"placement": "top",
|
||||
"endpoint": 0
|
||||
},
|
||||
{
|
||||
"key": "field_676599964d3cc",
|
||||
"label": "Heading",
|
||||
"name": "heading",
|
||||
"aria-label": "",
|
||||
"type": "text",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"maxlength": "",
|
||||
"placeholder": "",
|
||||
"prepend": "",
|
||||
"append": ""
|
||||
},
|
||||
{
|
||||
"key": "field_6765999d4d3cd",
|
||||
"label": "Blurb",
|
||||
"name": "blurb",
|
||||
"aria-label": "",
|
||||
"type": "textarea",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"maxlength": "",
|
||||
"rows": 3,
|
||||
"placeholder": "",
|
||||
"new_lines": ""
|
||||
}
|
||||
],
|
||||
"location": [
|
||||
[
|
||||
{
|
||||
"param": "widget",
|
||||
"operator": "==",
|
||||
"value": "rss"
|
||||
}
|
||||
]
|
||||
],
|
||||
"menu_order": 0,
|
||||
"position": "normal",
|
||||
"style": "default",
|
||||
"label_placement": "top",
|
||||
"instruction_placement": "label",
|
||||
"hide_on_screen": "",
|
||||
"active": true,
|
||||
"description": "",
|
||||
"show_in_rest": 0,
|
||||
"modified": 1734711913
|
||||
}
|
||||
547
resources/acf/group_clone_background_settings.json
Normal file
547
resources/acf/group_clone_background_settings.json
Normal file
@@ -0,0 +1,547 @@
|
||||
{
|
||||
"key": "group_clone_background_settings",
|
||||
"title": "Clone: Background Settings",
|
||||
"fields": [
|
||||
{
|
||||
"key": "field_672d3ba78bc40",
|
||||
"label": "Background Type",
|
||||
"name": "bg_type",
|
||||
"aria-label": "",
|
||||
"type": "select",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "20",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": {
|
||||
"0": "Solid Colour",
|
||||
"image": "Still Photo",
|
||||
"video": "Looping Video"
|
||||
},
|
||||
"default_value": 0,
|
||||
"return_format": "value",
|
||||
"multiple": 0,
|
||||
"allow_null": 0,
|
||||
"ui": 0,
|
||||
"ajax": 0,
|
||||
"placeholder": ""
|
||||
},
|
||||
{
|
||||
"key": "field_67325dd23234e",
|
||||
"label": "Background Colour",
|
||||
"name": "bg_colour",
|
||||
"aria-label": "",
|
||||
"type": "select",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "20",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": {
|
||||
"primary": "<i class=\"fas fa-circle\" style=\"color: #7A74A6\"><\/i> Kimberly",
|
||||
"secondary": "<i class=\"fas fa-circle\" style=\"color: #9C729E\"><\/i> Trendy Pink",
|
||||
"tertiary": "<i class=\"fas fa-circle\" style=\"color: #B8728B\"><\/i> Turkish Rose",
|
||||
"quaternary": "<i class=\"fas fa-circle\" style=\"color: #5875A0\"><\/i> Waikawa Gray",
|
||||
"quinary": "<i class=\"fas fa-circle\" style=\"color: #4298B7\"><\/i> Boston Blue",
|
||||
"black": "<i class=\"fas fa-circle\" style=\"color: #000000\"><\/i> Black",
|
||||
"0": "<i class=\"fas fa-circle\" style=\"color: #FFFFFF\"><\/i> White"
|
||||
},
|
||||
"default_value": 0,
|
||||
"return_format": "value",
|
||||
"multiple": 0,
|
||||
"allow_null": 0,
|
||||
"ui": 1,
|
||||
"ajax": 0,
|
||||
"placeholder": ""
|
||||
},
|
||||
{
|
||||
"key": "field_67325e213234f",
|
||||
"label": "Background Tint",
|
||||
"name": "bg_tint",
|
||||
"aria-label": "",
|
||||
"type": "select",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "20",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": {
|
||||
"lightest": "Lightest",
|
||||
"lighter": "Lighter",
|
||||
"light": "Light",
|
||||
"0": "None",
|
||||
"dark": "Dark",
|
||||
"darker": "Darker",
|
||||
"darkest": "Darkest"
|
||||
},
|
||||
"default_value": 0,
|
||||
"return_format": "value",
|
||||
"multiple": 0,
|
||||
"allow_null": 0,
|
||||
"ui": 1,
|
||||
"ajax": 0,
|
||||
"placeholder": ""
|
||||
},
|
||||
{
|
||||
"key": "field_67350f526abf1",
|
||||
"label": "Text Contrast",
|
||||
"name": "contrast",
|
||||
"aria-label": "",
|
||||
"type": "select",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "20",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": {
|
||||
"0": "Auto",
|
||||
"dark": "Force dark text",
|
||||
"light": "Force light text"
|
||||
},
|
||||
"default_value": 0,
|
||||
"return_format": "value",
|
||||
"multiple": 0,
|
||||
"allow_null": 0,
|
||||
"ui": 0,
|
||||
"ajax": 0,
|
||||
"placeholder": ""
|
||||
},
|
||||
{
|
||||
"key": "field_67325e3432350",
|
||||
"label": "Opacity",
|
||||
"name": "bg_opacity",
|
||||
"aria-label": "",
|
||||
"type": "range",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": [
|
||||
[
|
||||
{
|
||||
"field": "field_672d3ba78bc40",
|
||||
"operator": "!=",
|
||||
"value": "0"
|
||||
}
|
||||
]
|
||||
],
|
||||
"wrapper": {
|
||||
"width": "20",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": 30,
|
||||
"min": 5,
|
||||
"max": 100,
|
||||
"step": 5,
|
||||
"prepend": "",
|
||||
"append": "%"
|
||||
},
|
||||
{
|
||||
"key": "field_6734b234f9c47",
|
||||
"label": "Pattern Edge",
|
||||
"name": "pattern",
|
||||
"aria-label": "",
|
||||
"type": "select",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "20",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": {
|
||||
"0": "Disabled",
|
||||
"top": "Top",
|
||||
"bottom": "Bottom",
|
||||
"both": "Both"
|
||||
},
|
||||
"default_value": 0,
|
||||
"return_format": "value",
|
||||
"multiple": 0,
|
||||
"allow_null": 0,
|
||||
"ui": 0,
|
||||
"ajax": 0,
|
||||
"placeholder": ""
|
||||
},
|
||||
{
|
||||
"key": "field_6734b2daf9c4b",
|
||||
"label": "Top Pattern",
|
||||
"name": "pattern_top",
|
||||
"aria-label": "",
|
||||
"type": "group",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": [
|
||||
[
|
||||
{
|
||||
"field": "field_6734b234f9c47",
|
||||
"operator": "==",
|
||||
"value": "top"
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"field": "field_6734b234f9c47",
|
||||
"operator": "==",
|
||||
"value": "both"
|
||||
}
|
||||
]
|
||||
],
|
||||
"wrapper": {
|
||||
"width": "40",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"layout": "block",
|
||||
"sub_fields": [
|
||||
{
|
||||
"key": "field_673514b45e977",
|
||||
"label": "Colour",
|
||||
"name": "colour",
|
||||
"aria-label": "",
|
||||
"type": "select",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "50",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": {
|
||||
"primary": "<i class=\"fas fa-circle\" style=\"color: #7A74A6\"><\/i> Kimberly",
|
||||
"secondary": "<i class=\"fas fa-circle\" style=\"color: #9C729E\"><\/i> Trendy Pink",
|
||||
"tertiary": "<i class=\"fas fa-circle\" style=\"color: #B8728B\"><\/i> Turkish Rose",
|
||||
"quaternary": "<i class=\"fas fa-circle\" style=\"color: #5875A0\"><\/i> Waikawa Gray",
|
||||
"quinary": "<i class=\"fas fa-circle\" style=\"color: #4298B7\"><\/i> Boston Blue",
|
||||
"black": "<i class=\"fas fa-circle\" style=\"color: #000000\"><\/i> Black",
|
||||
"0": "<i class=\"fas fa-circle\" style=\"color: #FFFFFF\"><\/i> White"
|
||||
},
|
||||
"default_value": false,
|
||||
"return_format": "",
|
||||
"multiple": 0,
|
||||
"allow_null": 0,
|
||||
"ui": 1,
|
||||
"ajax": 0,
|
||||
"placeholder": ""
|
||||
},
|
||||
{
|
||||
"key": "field_673514d85e978",
|
||||
"label": "Tint",
|
||||
"name": "tint",
|
||||
"aria-label": "",
|
||||
"type": "select",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "50",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": {
|
||||
"lightest": "Lightest",
|
||||
"lighter": "Lighter",
|
||||
"light": "Light",
|
||||
"0": "None",
|
||||
"dark": "Dark",
|
||||
"darker": "Darker",
|
||||
"darkest": "Darkest"
|
||||
},
|
||||
"default_value": 0,
|
||||
"return_format": "value",
|
||||
"multiple": 0,
|
||||
"allow_null": 0,
|
||||
"ui": 0,
|
||||
"ajax": 0,
|
||||
"placeholder": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "field_673514f15e979",
|
||||
"label": "Bottom Pattern",
|
||||
"name": "pattern_bottom",
|
||||
"aria-label": "",
|
||||
"type": "group",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "40",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"layout": "block",
|
||||
"sub_fields": [
|
||||
{
|
||||
"key": "field_673514f15e97a",
|
||||
"label": "Colour",
|
||||
"name": "colour",
|
||||
"aria-label": "",
|
||||
"type": "select",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "50",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": {
|
||||
"primary": "<i class=\"fas fa-circle\" style=\"color: #7A74A6\"><\/i> Kimberly",
|
||||
"secondary": "<i class=\"fas fa-circle\" style=\"color: #9C729E\"><\/i> Trendy Pink",
|
||||
"tertiary": "<i class=\"fas fa-circle\" style=\"color: #B8728B\"><\/i> Turkish Rose",
|
||||
"quaternary": "<i class=\"fas fa-circle\" style=\"color: #5875A0\"><\/i> Waikawa Gray",
|
||||
"quinary": "<i class=\"fas fa-circle\" style=\"color: #4298B7\"><\/i> Boston Blue",
|
||||
"black": "<i class=\"fas fa-circle\" style=\"color: #000000\"><\/i> Black",
|
||||
"0": "<i class=\"fas fa-circle\" style=\"color: #FFFFFF\"><\/i> White"
|
||||
},
|
||||
"default_value": false,
|
||||
"return_format": "value",
|
||||
"multiple": 0,
|
||||
"allow_null": 0,
|
||||
"ui": 1,
|
||||
"ajax": 0,
|
||||
"placeholder": ""
|
||||
},
|
||||
{
|
||||
"key": "field_673514f15e97b",
|
||||
"label": "Tint",
|
||||
"name": "tint",
|
||||
"aria-label": "",
|
||||
"type": "select",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": [
|
||||
[
|
||||
{
|
||||
"field": "field_673514f15e97a",
|
||||
"operator": "!=",
|
||||
"value": "black"
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"field": "field_673514f15e97a",
|
||||
"operator": "!=",
|
||||
"value": "0"
|
||||
}
|
||||
]
|
||||
],
|
||||
"wrapper": {
|
||||
"width": "50",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": {
|
||||
"lightest": "Lightest",
|
||||
"lighter": "Lighter",
|
||||
"light": "Light",
|
||||
"0": "None",
|
||||
"dark": "Dark",
|
||||
"darker": "Darker",
|
||||
"darkest": "Darkest"
|
||||
},
|
||||
"default_value": 0,
|
||||
"return_format": "value",
|
||||
"multiple": 0,
|
||||
"allow_null": 0,
|
||||
"ui": 0,
|
||||
"ajax": 0,
|
||||
"placeholder": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "field_672d3b128bc39",
|
||||
"label": "Background Image",
|
||||
"name": "bg_image",
|
||||
"aria-label": "",
|
||||
"type": "image",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": [
|
||||
[
|
||||
{
|
||||
"field": "field_672d3ba78bc40",
|
||||
"operator": "!=",
|
||||
"value": "0"
|
||||
}
|
||||
]
|
||||
],
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"return_format": "id",
|
||||
"library": "all",
|
||||
"min_width": "",
|
||||
"min_height": "",
|
||||
"min_size": "",
|
||||
"max_width": "",
|
||||
"max_height": "",
|
||||
"max_size": "",
|
||||
"mime_types": "",
|
||||
"preview_size": "medium"
|
||||
},
|
||||
{
|
||||
"key": "field_672d3b228bc3a",
|
||||
"label": "Background Video",
|
||||
"name": "bg_video",
|
||||
"aria-label": "",
|
||||
"type": "group",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": [
|
||||
[
|
||||
{
|
||||
"field": "field_672d3ba78bc40",
|
||||
"operator": "==",
|
||||
"value": "video"
|
||||
}
|
||||
]
|
||||
],
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"layout": "block",
|
||||
"sub_fields": [
|
||||
{
|
||||
"key": "field_672d3b428bc3b",
|
||||
"label": "Extra Small",
|
||||
"name": "xs",
|
||||
"aria-label": "",
|
||||
"type": "file",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "20",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"return_format": "array",
|
||||
"library": "all",
|
||||
"min_size": "",
|
||||
"max_size": "",
|
||||
"mime_types": "mp4"
|
||||
},
|
||||
{
|
||||
"key": "field_672d3b678bc3c",
|
||||
"label": "Small",
|
||||
"name": "sm",
|
||||
"aria-label": "",
|
||||
"type": "file",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "20",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"return_format": "array",
|
||||
"library": "all",
|
||||
"min_size": "",
|
||||
"max_size": "",
|
||||
"mime_types": "mp4"
|
||||
},
|
||||
{
|
||||
"key": "field_672d3b728bc3d",
|
||||
"label": "Medium",
|
||||
"name": "md",
|
||||
"aria-label": "",
|
||||
"type": "file",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "20",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"return_format": "array",
|
||||
"library": "all",
|
||||
"min_size": "",
|
||||
"max_size": "",
|
||||
"mime_types": "mp4"
|
||||
},
|
||||
{
|
||||
"key": "field_672d3b7a8bc3e",
|
||||
"label": "Large",
|
||||
"name": "lg",
|
||||
"aria-label": "",
|
||||
"type": "file",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "20",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"return_format": "array",
|
||||
"library": "all",
|
||||
"min_size": "",
|
||||
"max_size": "",
|
||||
"mime_types": "mp4"
|
||||
},
|
||||
{
|
||||
"key": "field_672d3b838bc3f",
|
||||
"label": "Extra Large",
|
||||
"name": "xl",
|
||||
"aria-label": "",
|
||||
"type": "file",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "20",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"return_format": "array",
|
||||
"library": "all",
|
||||
"min_size": "",
|
||||
"max_size": "",
|
||||
"mime_types": "mp4"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"location": [
|
||||
[
|
||||
{
|
||||
"param": "widget",
|
||||
"operator": "==",
|
||||
"value": "rss"
|
||||
}
|
||||
]
|
||||
],
|
||||
"menu_order": 0,
|
||||
"position": "normal",
|
||||
"style": "default",
|
||||
"label_placement": "top",
|
||||
"instruction_placement": "label",
|
||||
"hide_on_screen": "",
|
||||
"active": true,
|
||||
"description": "",
|
||||
"show_in_rest": 0,
|
||||
"modified": 1733505903
|
||||
}
|
||||
132
resources/acf/group_clone_block_settings.json
Normal file
132
resources/acf/group_clone_block_settings.json
Normal file
@@ -0,0 +1,132 @@
|
||||
{
|
||||
"key": "group_clone_block_settings",
|
||||
"title": "Clone: Block Settings",
|
||||
"fields": [
|
||||
{
|
||||
"key": "field_673511c31122f",
|
||||
"label": "Settings",
|
||||
"name": "",
|
||||
"aria-label": "",
|
||||
"type": "tab",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"placement": "top",
|
||||
"endpoint": 0
|
||||
},
|
||||
{
|
||||
"key": "field_67350eb62cdf9",
|
||||
"label": "Top Padding",
|
||||
"name": "padding_top",
|
||||
"aria-label": "",
|
||||
"type": "radio",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "33.33",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": [
|
||||
"On",
|
||||
"Off"
|
||||
],
|
||||
"default_value": "",
|
||||
"return_format": "value",
|
||||
"allow_null": 0,
|
||||
"other_choice": 0,
|
||||
"layout": "horizontal",
|
||||
"save_other_choice": 0
|
||||
},
|
||||
{
|
||||
"key": "field_673510c1dc830",
|
||||
"label": "Bottom Padding",
|
||||
"name": "padding_bottom",
|
||||
"aria-label": "",
|
||||
"type": "radio",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "33.33",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": [
|
||||
"On",
|
||||
"Off"
|
||||
],
|
||||
"default_value": "",
|
||||
"return_format": "value",
|
||||
"allow_null": 0,
|
||||
"other_choice": 0,
|
||||
"layout": "horizontal",
|
||||
"save_other_choice": 0
|
||||
},
|
||||
{
|
||||
"key": "field_6735258c2d9ff",
|
||||
"label": "Background",
|
||||
"name": "",
|
||||
"aria-label": "",
|
||||
"type": "accordion",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"open": 0,
|
||||
"multi_expand": 0,
|
||||
"endpoint": 0
|
||||
},
|
||||
{
|
||||
"key": "field_67350aeb146ca",
|
||||
"label": "Background",
|
||||
"name": "background",
|
||||
"aria-label": "",
|
||||
"type": "clone",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"clone": [
|
||||
"group_clone_background_settings"
|
||||
],
|
||||
"display": "seamless",
|
||||
"layout": "block",
|
||||
"prefix_label": 0,
|
||||
"prefix_name": 0
|
||||
}
|
||||
],
|
||||
"location": [
|
||||
[
|
||||
{
|
||||
"param": "widget",
|
||||
"operator": "==",
|
||||
"value": "rss"
|
||||
}
|
||||
]
|
||||
],
|
||||
"menu_order": 0,
|
||||
"position": "normal",
|
||||
"style": "default",
|
||||
"label_placement": "top",
|
||||
"instruction_placement": "label",
|
||||
"hide_on_screen": "",
|
||||
"active": true,
|
||||
"description": "",
|
||||
"show_in_rest": 0,
|
||||
"modified": 1731536288
|
||||
}
|
||||
118
resources/acf/group_clone_button.json
Normal file
118
resources/acf/group_clone_button.json
Normal file
@@ -0,0 +1,118 @@
|
||||
{
|
||||
"key": "group_clone_button",
|
||||
"title": "Clone: Button",
|
||||
"fields": [
|
||||
{
|
||||
"key": "field_672d3d7b2c273",
|
||||
"label": "Link",
|
||||
"name": "link",
|
||||
"aria-label": "",
|
||||
"type": "link",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "40",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"return_format": "array"
|
||||
},
|
||||
{
|
||||
"key": "field_673529a2a37a1",
|
||||
"label": "Class",
|
||||
"name": "class",
|
||||
"aria-label": "",
|
||||
"type": "text",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "20",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"maxlength": "",
|
||||
"placeholder": "",
|
||||
"prepend": "",
|
||||
"append": ""
|
||||
},
|
||||
{
|
||||
"key": "field_672d3db22c274",
|
||||
"label": "Colour",
|
||||
"name": "colour",
|
||||
"aria-label": "",
|
||||
"type": "select",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "20",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": {
|
||||
"primary": "<i class=\"fas fa-circle\" style=\"color: #7A74A6\"><\/i> Kimberly",
|
||||
"secondary": "<i class=\"fas fa-circle\" style=\"color: #9C729E\"><\/i> Trendy Pink",
|
||||
"tertiary": "<i class=\"fas fa-circle\" style=\"color: #B8728B\"><\/i> Turkish Rose",
|
||||
"quaternary": "<i class=\"fas fa-circle\" style=\"color: #5875A0\"><\/i> Waikawa Gray",
|
||||
"quinary": "<i class=\"fas fa-circle\" style=\"color: #4298B7\"><\/i> Boston Blue",
|
||||
"black": "<i class=\"fas fa-circle\" style=\"color: #000000\"><\/i> Black",
|
||||
"0": "<i class=\"fas fa-circle\" style=\"color: #FFFFFF\"><\/i> White"
|
||||
},
|
||||
"default_value": 0,
|
||||
"return_format": "value",
|
||||
"multiple": 0,
|
||||
"allow_null": 0,
|
||||
"ui": 1,
|
||||
"ajax": 0,
|
||||
"placeholder": ""
|
||||
},
|
||||
{
|
||||
"key": "field_672d3dc52c275",
|
||||
"label": "Style",
|
||||
"name": "style",
|
||||
"aria-label": "",
|
||||
"type": "select",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "20",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": {
|
||||
"0": "Solid",
|
||||
"outline": "Outline"
|
||||
},
|
||||
"default_value": 0,
|
||||
"return_format": "value",
|
||||
"multiple": 0,
|
||||
"allow_null": 0,
|
||||
"ui": 0,
|
||||
"ajax": 0,
|
||||
"placeholder": ""
|
||||
}
|
||||
],
|
||||
"location": [
|
||||
[
|
||||
{
|
||||
"param": "widget",
|
||||
"operator": "==",
|
||||
"value": "rss"
|
||||
}
|
||||
]
|
||||
],
|
||||
"menu_order": 0,
|
||||
"position": "normal",
|
||||
"style": "default",
|
||||
"label_placement": "top",
|
||||
"instruction_placement": "label",
|
||||
"hide_on_screen": "",
|
||||
"active": true,
|
||||
"description": "",
|
||||
"show_in_rest": 0,
|
||||
"modified": 1731537485
|
||||
}
|
||||
417
resources/acf/group_options_global_settings.json
Normal file
417
resources/acf/group_options_global_settings.json
Normal file
@@ -0,0 +1,417 @@
|
||||
{
|
||||
"key": "group_options_global_settings",
|
||||
"title": "Options: Global Settings",
|
||||
"fields": [
|
||||
{
|
||||
"key": "field_67658e28aba4e",
|
||||
"label": "Colours",
|
||||
"name": "",
|
||||
"aria-label": "",
|
||||
"type": "tab",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"placement": "top",
|
||||
"endpoint": 0
|
||||
},
|
||||
{
|
||||
"key": "field_67658e49aba4f",
|
||||
"label": "Brand Colours",
|
||||
"name": "badegg_colours",
|
||||
"aria-label": "",
|
||||
"type": "repeater",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"layout": "block",
|
||||
"pagination": 0,
|
||||
"min": 0,
|
||||
"max": 12,
|
||||
"collapsed": "field_67658e96aba50",
|
||||
"button_label": "Add Colour",
|
||||
"rows_per_page": 20,
|
||||
"sub_fields": [
|
||||
{
|
||||
"key": "field_67658e96aba50",
|
||||
"label": "",
|
||||
"name": "hex",
|
||||
"aria-label": "",
|
||||
"type": "color_picker",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"enable_opacity": 0,
|
||||
"return_format": "string",
|
||||
"parent_repeater": "field_67658e49aba4f"
|
||||
},
|
||||
{
|
||||
"key": "field_67658fba41889",
|
||||
"label": "Tints",
|
||||
"name": "tints",
|
||||
"aria-label": "",
|
||||
"type": "radio",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": [
|
||||
[
|
||||
{
|
||||
"field": "field_67658e49aba4f",
|
||||
"operator": "!=empty"
|
||||
},
|
||||
{
|
||||
"field": "field_67658e49aba4f",
|
||||
"operator": "==empty"
|
||||
}
|
||||
]
|
||||
],
|
||||
"wrapper": {
|
||||
"width": "15",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": [
|
||||
"Auto",
|
||||
"Manual"
|
||||
],
|
||||
"default_value": 0,
|
||||
"return_format": "value",
|
||||
"allow_null": 0,
|
||||
"other_choice": 0,
|
||||
"layout": "horizontal",
|
||||
"save_other_choice": 0,
|
||||
"parent_repeater": "field_67658e49aba4f"
|
||||
},
|
||||
{
|
||||
"key": "field_67658fe84188a",
|
||||
"label": "Tint Selection",
|
||||
"name": "",
|
||||
"aria-label": "",
|
||||
"type": "message",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": [
|
||||
[
|
||||
{
|
||||
"field": "field_67658fba41889",
|
||||
"operator": "==",
|
||||
"value": "0"
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"field": "field_67658e49aba4f",
|
||||
"operator": "!=empty"
|
||||
},
|
||||
{
|
||||
"field": "field_67658e49aba4f",
|
||||
"operator": "==empty"
|
||||
}
|
||||
]
|
||||
],
|
||||
"wrapper": {
|
||||
"width": "70",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"message": "Colour tints are automatically set by mathematically adjusting the brightness.",
|
||||
"new_lines": "wpautop",
|
||||
"esc_html": 0,
|
||||
"parent_repeater": "field_67658e49aba4f"
|
||||
},
|
||||
{
|
||||
"key": "field_6765902f4188b",
|
||||
"label": "Tint Selection",
|
||||
"name": "tints",
|
||||
"aria-label": "",
|
||||
"type": "group",
|
||||
"instructions": "Colour tints are automatically set by mathematically adjusting the brightness. Specify manual overrides here:",
|
||||
"required": 0,
|
||||
"conditional_logic": [
|
||||
[
|
||||
{
|
||||
"field": "field_67658fba41889",
|
||||
"operator": "==",
|
||||
"value": "1"
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"field": "field_67658e49aba4f",
|
||||
"operator": "!=empty"
|
||||
},
|
||||
{
|
||||
"field": "field_67658e49aba4f",
|
||||
"operator": "==empty"
|
||||
}
|
||||
]
|
||||
],
|
||||
"wrapper": {
|
||||
"width": "70",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"layout": "block",
|
||||
"sub_fields": [
|
||||
{
|
||||
"key": "field_676590414188c",
|
||||
"label": "Lightest",
|
||||
"name": "lightest",
|
||||
"aria-label": "",
|
||||
"type": "color_picker",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "16.66",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"enable_opacity": 0,
|
||||
"return_format": "string"
|
||||
},
|
||||
{
|
||||
"key": "field_676590684188d",
|
||||
"label": "Lighter",
|
||||
"name": "lighter",
|
||||
"aria-label": "",
|
||||
"type": "color_picker",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "16.66",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"enable_opacity": 0,
|
||||
"return_format": "string"
|
||||
},
|
||||
{
|
||||
"key": "field_6765907f4188e",
|
||||
"label": "Light",
|
||||
"name": "light",
|
||||
"aria-label": "",
|
||||
"type": "color_picker",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "16.66",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"enable_opacity": 0,
|
||||
"return_format": "string"
|
||||
},
|
||||
{
|
||||
"key": "field_676590924188f",
|
||||
"label": "Dark",
|
||||
"name": "dark",
|
||||
"aria-label": "",
|
||||
"type": "color_picker",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "16.66",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"enable_opacity": 0,
|
||||
"return_format": "string"
|
||||
},
|
||||
{
|
||||
"key": "field_6765909941890",
|
||||
"label": "Darker",
|
||||
"name": "darker",
|
||||
"aria-label": "",
|
||||
"type": "color_picker",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "16.66",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"enable_opacity": 0,
|
||||
"return_format": "string"
|
||||
},
|
||||
{
|
||||
"key": "field_6765909f41891",
|
||||
"label": "Darkest",
|
||||
"name": "darkest",
|
||||
"aria-label": "",
|
||||
"type": "color_picker",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "16.66",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"enable_opacity": 0,
|
||||
"return_format": "string"
|
||||
}
|
||||
],
|
||||
"parent_repeater": "field_67658e49aba4f"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "field_67659ca28081d",
|
||||
"label": "Company",
|
||||
"name": "",
|
||||
"aria-label": "",
|
||||
"type": "tab",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"placement": "top",
|
||||
"endpoint": 0
|
||||
},
|
||||
{
|
||||
"key": "field_67659cb08081e",
|
||||
"label": "Legal Name",
|
||||
"name": "badegg_company_legal",
|
||||
"aria-label": "",
|
||||
"type": "text",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"maxlength": "",
|
||||
"placeholder": "",
|
||||
"prepend": "",
|
||||
"append": ""
|
||||
},
|
||||
{
|
||||
"key": "field_67659cf08081f",
|
||||
"label": "Telephone",
|
||||
"name": "badegg_company_tel",
|
||||
"aria-label": "",
|
||||
"type": "text",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "50",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"maxlength": "",
|
||||
"placeholder": "",
|
||||
"prepend": "",
|
||||
"append": ""
|
||||
},
|
||||
{
|
||||
"key": "field_67659d0780820",
|
||||
"label": "Email",
|
||||
"name": "badegg_company_email",
|
||||
"aria-label": "",
|
||||
"type": "email",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "50",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"placeholder": "",
|
||||
"prepend": "",
|
||||
"append": ""
|
||||
},
|
||||
{
|
||||
"key": "field_676594565ead1",
|
||||
"label": "Integrations",
|
||||
"name": "",
|
||||
"aria-label": "",
|
||||
"type": "tab",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"placement": "top",
|
||||
"endpoint": 0
|
||||
},
|
||||
{
|
||||
"key": "field_676594615ead2",
|
||||
"label": "Fathom Analytics ID",
|
||||
"name": "badegg_integrations_fathom_id",
|
||||
"aria-label": "",
|
||||
"type": "text",
|
||||
"instructions": "A Google Analytics alternative that’s simple & privacy-first. <a href=\"https:\/\/usefathom.com\" target=\"_blank\" rel=\"noopener nofollow noindex\">Visit website<\/a>",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"maxlength": "",
|
||||
"placeholder": "",
|
||||
"prepend": "",
|
||||
"append": ""
|
||||
}
|
||||
],
|
||||
"location": [
|
||||
[
|
||||
{
|
||||
"param": "options_page",
|
||||
"operator": "==",
|
||||
"value": "theme-global-settings"
|
||||
}
|
||||
]
|
||||
],
|
||||
"menu_order": 0,
|
||||
"position": "normal",
|
||||
"style": "seamless",
|
||||
"label_placement": "top",
|
||||
"instruction_placement": "label",
|
||||
"hide_on_screen": "",
|
||||
"active": true,
|
||||
"description": "",
|
||||
"show_in_rest": 0,
|
||||
"modified": 1734712625
|
||||
}
|
||||
@@ -530,5 +530,5 @@
|
||||
"active": true,
|
||||
"description": "",
|
||||
"show_in_rest": 0,
|
||||
"modified": 1730933517
|
||||
"modified": 1734711372
|
||||
}
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
import domReady from '@roots/sage/client/dom-ready';
|
||||
import blocks from './blocks.js';
|
||||
import Header from './sections/header.js';
|
||||
import LazyLoad from './lib/Lazy.js';
|
||||
|
||||
/**
|
||||
* Application entrypoint
|
||||
*/
|
||||
domReady(async () => {
|
||||
// ...
|
||||
LazyLoad();
|
||||
blocks();
|
||||
Header();
|
||||
});
|
||||
|
||||
/**
|
||||
|
||||
6
resources/scripts/blocks.js
Normal file
6
resources/scripts/blocks.js
Normal file
@@ -0,0 +1,6 @@
|
||||
import BadExample from "./blocks/BadExample";
|
||||
|
||||
export default function()
|
||||
{
|
||||
BadExample();
|
||||
}
|
||||
4
resources/scripts/blocks/BadExample.js
Normal file
4
resources/scripts/blocks/BadExample.js
Normal file
@@ -0,0 +1,4 @@
|
||||
export default function BadExample()
|
||||
{
|
||||
|
||||
}
|
||||
33
resources/scripts/lib/Lazy.js
Normal file
33
resources/scripts/lib/Lazy.js
Normal file
@@ -0,0 +1,33 @@
|
||||
export default function LazyLoadInit()
|
||||
{
|
||||
document.addEventListener('DOMContentLoaded', LazyLoad());
|
||||
}
|
||||
|
||||
function LazyLoad() {
|
||||
|
||||
var lazyImages = [].slice.call(document.querySelectorAll('img.lazy'));
|
||||
|
||||
if ('IntersectionObserver' in window) {
|
||||
let lazyImageObserver = new IntersectionObserver(function(entries, observer) {
|
||||
entries.forEach(function(entry) {
|
||||
if (entry.isIntersecting) {
|
||||
let lazyImage = entry.target;
|
||||
lazyImage.src = lazyImage.dataset.src;
|
||||
|
||||
if(lazyImage.dataset.srcset) {
|
||||
lazyImage.srcset = lazyImage.dataset.srcset;
|
||||
}
|
||||
|
||||
lazyImage.classList.remove('lazy');
|
||||
lazyImageObserver.unobserve(lazyImage);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
lazyImages.forEach(function(lazyImage) {
|
||||
lazyImageObserver.observe(lazyImage);
|
||||
});
|
||||
} else {
|
||||
// Possibly fall back to a more compatible method here
|
||||
}
|
||||
}
|
||||
24
resources/scripts/lib/VideoSrcset.js
Normal file
24
resources/scripts/lib/VideoSrcset.js
Normal file
@@ -0,0 +1,24 @@
|
||||
export default function VideoSrcset( element )
|
||||
{
|
||||
const sizes = JSON.parse(element.dataset.sizes);
|
||||
|
||||
Object.keys(sizes).forEach((key) => {
|
||||
const size = key;
|
||||
const source = element.querySelector('.bgvid-' + size);
|
||||
|
||||
if(source) {
|
||||
const sourceWidth = source.dataset.width;
|
||||
const poster = source.dataset.poster;
|
||||
|
||||
if(window.innerWidth >= sourceWidth) {
|
||||
console.log('screen width is greater than or equal to the source width');
|
||||
console.log('screen width: ' + window.innerWidth);
|
||||
console.log('source width: ' + sourceWidth);
|
||||
|
||||
element.src = source.src;
|
||||
element.poster = poster;
|
||||
element.load;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
33
resources/scripts/sections/header.js
Normal file
33
resources/scripts/sections/header.js
Normal file
@@ -0,0 +1,33 @@
|
||||
export default function Header() {
|
||||
const body = document.querySelector("body");
|
||||
// const menuToggle = document.querySelector(".js-menu-toggle");
|
||||
// const menuClose = document.querySelector(".js-menu-close");
|
||||
|
||||
// menuToggle.addEventListener("click", (e) => {
|
||||
// e.preventDefault();
|
||||
// body.classList.toggle("menu-open");
|
||||
// });
|
||||
|
||||
// menuClose.addEventListener("click", (e) => {
|
||||
// e.preventDefault();
|
||||
// body.classList.remove("menu-open");
|
||||
// });
|
||||
|
||||
// document.addEventListener("keyup", function (event) {
|
||||
// if (event.key === "Escape") {
|
||||
// body.classList.remove("menu-open");
|
||||
// }
|
||||
// });
|
||||
|
||||
document.addEventListener("scroll", () => {
|
||||
const scrolled = document.scrollingElement.scrollTop;
|
||||
const position = body.offsetTop;
|
||||
const header = document.querySelector(".site-header");
|
||||
|
||||
if (scrolled > position + header.offsetHeight) {
|
||||
body.classList.add("scrolled");
|
||||
} else {
|
||||
body.classList.remove("scrolled");
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -9,8 +9,18 @@
|
||||
@import "plugins/contact-form-7";
|
||||
@import "plugins/mce";
|
||||
|
||||
// Sections
|
||||
@import "sections/header";
|
||||
@import "sections/footer";
|
||||
|
||||
// Components
|
||||
@import "components/forms";
|
||||
@import "components/button";
|
||||
@import "components/card";
|
||||
|
||||
// Blocks
|
||||
@import "blocks/BadExample";
|
||||
|
||||
// Page Styles
|
||||
@import "views/page";
|
||||
|
||||
// Component Styles
|
||||
@import "components/card";
|
||||
|
||||
0
resources/styles/blocks/BadExample.scss
Normal file
0
resources/styles/blocks/BadExample.scss
Normal file
108
resources/styles/components/_button.scss
Normal file
108
resources/styles/components/_button.scss
Normal file
@@ -0,0 +1,108 @@
|
||||
button {
|
||||
&%block,
|
||||
&.block {
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
font-size: 1em;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
button,
|
||||
input[type="submit"] {
|
||||
&.button {
|
||||
appearance: none;
|
||||
}
|
||||
}
|
||||
|
||||
%button,
|
||||
.button {
|
||||
display: inline-block;
|
||||
padding: 0.5em 1.25em;
|
||||
border: 0.125em solid $black;
|
||||
border-radius: 0.25em;
|
||||
background-color: $black;
|
||||
color: $white;
|
||||
font-family: $font;
|
||||
font-weight: 700;
|
||||
text-decoration: none;
|
||||
white-space: normal;
|
||||
cursor: pointer;
|
||||
transition: 300ms ease all;
|
||||
|
||||
.knockout & {
|
||||
background-color: $white;
|
||||
border-color: $white;
|
||||
color: currentcolor;
|
||||
}
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: $white;
|
||||
text-decoration: none;
|
||||
background-color: rgba($black, 0.5);
|
||||
border-color: rgba($black, 0.5);
|
||||
|
||||
.knockout & {
|
||||
background-color: rgba($white, 0.5);
|
||||
border-color: rgba($white, 0.5);
|
||||
color: currentcolor;
|
||||
}
|
||||
}
|
||||
|
||||
&.outline {
|
||||
border-color: $black;
|
||||
background-color: transparent;
|
||||
color: $black;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
background-color: $black;
|
||||
color: $white;
|
||||
}
|
||||
|
||||
.knockout & {
|
||||
@media screen {
|
||||
border-color: $white;
|
||||
color: $white;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
background-color: $white;
|
||||
color: $black;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.wide {
|
||||
padding-right: 3em;
|
||||
padding-left: 3em;
|
||||
}
|
||||
|
||||
&.thin {
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
|
||||
&.full {
|
||||
display: block;
|
||||
width: 100%;
|
||||
padding-right: 0.625em;
|
||||
padding-left: 0.625em;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
&.small { font-size: 1em; }
|
||||
&.smaller { font-size: 0.875em; }
|
||||
&.big { font-size: 1.25em; }
|
||||
&.bigger { font-size: 1.5em; }
|
||||
}
|
||||
|
||||
.button-wrap {
|
||||
margin: 1.5em -0.25em -0.25em;
|
||||
|
||||
.button {
|
||||
margin: 0.25em;
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,13 @@
|
||||
.card {
|
||||
position: relative;
|
||||
margin: 0.5em;
|
||||
flex: 0 0 calc(100% - 1em);
|
||||
|
||||
&-wrap {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin: -0.5em;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
286
resources/styles/components/_forms.scss
Normal file
286
resources/styles/components/_forms.scss
Normal file
@@ -0,0 +1,286 @@
|
||||
textarea {
|
||||
min-height: 10.375em;
|
||||
}
|
||||
|
||||
input,
|
||||
textarea {
|
||||
color: $grey;
|
||||
background: white;
|
||||
font-weight: 400;
|
||||
font-size: 1em;
|
||||
font-family: $font;
|
||||
width: 100%;
|
||||
padding: 0.875em 1em;
|
||||
margin: 0 0 1em;
|
||||
// border-radius: 0.125em;
|
||||
border: 0.0625em solid rgba($black, 0.1);
|
||||
outline: none;
|
||||
transition: all 300ms ease;
|
||||
|
||||
&::placeholder {
|
||||
color: $grey-light;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
box-shadow: 0 0.25em 0.5em rgba($black, 0.1);
|
||||
}
|
||||
}
|
||||
|
||||
input[type="radio"],
|
||||
input[type="checkbox"] {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
width: auto;
|
||||
|
||||
&:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
select {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.field-wrap {
|
||||
flex: 1 1 calc(100% - 1em);
|
||||
margin: 0 0.5em;
|
||||
transition: all 300ms ease;
|
||||
|
||||
p {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
label {
|
||||
flex: 0 0 100%;
|
||||
max-width: 100%;
|
||||
width: 100%;
|
||||
order: -1;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
textarea,
|
||||
input {
|
||||
flex: 1 1 100%;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* stylelint-disable selector-class-pattern */
|
||||
.mce_inline_error {
|
||||
flex: 0 0 100%;
|
||||
max-width: 100%;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
font-family: $font;
|
||||
}
|
||||
/* stylelint-enable selector-class-pattern */
|
||||
|
||||
@media (min-width: $screen-sm) {
|
||||
&.half {
|
||||
flex: 0 0 calc(50% - 1em);
|
||||
max-width: calc(50% - 1em);
|
||||
width: calc(50% - 1em);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.form-footer {
|
||||
p {
|
||||
margin: 0;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
button,
|
||||
.button,
|
||||
input[type="submit"] {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.wpcf7-list-item {
|
||||
margin: 0;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.form-footer-button {
|
||||
flex: 1 1 100%;
|
||||
display: block;
|
||||
margin: 2em 0 0;
|
||||
}
|
||||
|
||||
@media (min-width: $screen-sm) {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.form-footer-button {
|
||||
flex: 0 0 8.5em;
|
||||
max-width: 8.5em;
|
||||
width: 8.5em;
|
||||
margin: 0 0 0 2em;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.form-footer-text {
|
||||
flex: 1 1 5em;
|
||||
margin: auto;
|
||||
|
||||
p {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.section-form {
|
||||
button {
|
||||
margin: 1em 0 0;
|
||||
}
|
||||
|
||||
span.label {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.textarea-wrap {
|
||||
span.label {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
form {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin: 1em -0.5em 0;
|
||||
position: relative;
|
||||
|
||||
.wpcf7 {
|
||||
.screen-reader-response {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&-spinner {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
top: calc(50% - 12px);
|
||||
left: calc(50% - 12px);
|
||||
}
|
||||
|
||||
&-not-valid-tip {
|
||||
background: $error;
|
||||
color: $white;
|
||||
padding: 0.5em 1em;
|
||||
border-radius: 0 0 0.5em 0.5em;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
&-response-output {
|
||||
margin: 1em 0.5em 0;
|
||||
max-width: calc(100% - 1em);
|
||||
width: calc(100% - 1em);
|
||||
flex: 0 0 calc(100% - 1em);
|
||||
text-align: center;
|
||||
color: $white;
|
||||
font-family: $font;
|
||||
font-weight: 700;
|
||||
background: $black;
|
||||
border: 0.125em solid $white;
|
||||
padding: 0.5em 1em;
|
||||
border-radius: 0.5em;
|
||||
}
|
||||
|
||||
&-display-none {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&-checkbox {
|
||||
label {
|
||||
display: block;
|
||||
padding: 0 0 0 1.75em;
|
||||
margin: 0;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
input[type="checkbox"] {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
top: 0;
|
||||
left: 0;
|
||||
appearance: none;
|
||||
display: block;
|
||||
width: 1.25em;
|
||||
height: 1.25em;
|
||||
border: 0.125em solid $black;
|
||||
background: transparent;
|
||||
color: currentcolor;
|
||||
|
||||
&::before {
|
||||
content: "\f00c";
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
top: 0;
|
||||
left: 0.125em;
|
||||
font-family: "Font Awesome 6 Free", serif;
|
||||
font-weight: 900;
|
||||
opacity: 0;
|
||||
transition: all 300ms ease;
|
||||
}
|
||||
|
||||
&:checked {
|
||||
&::before {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.submitting {
|
||||
.field-wrap:not(.form-footer) {
|
||||
opacity: 0.1;
|
||||
}
|
||||
|
||||
.form-footer {
|
||||
.form-footer-text {
|
||||
opacity: 0.1;
|
||||
}
|
||||
|
||||
.form-footer-button input {
|
||||
opacity: 0.1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.sent {
|
||||
.wpcf7-response-output {
|
||||
background: $success;
|
||||
border-color: $white;
|
||||
}
|
||||
}
|
||||
|
||||
&.invalid {
|
||||
.wpcf7-response-output {
|
||||
background: $error;
|
||||
border-color: $white;
|
||||
}
|
||||
}
|
||||
|
||||
.ajax-loader {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
top: calc(50% - 12px);
|
||||
right: calc(50% - 12px);
|
||||
display: block;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&.knockout {
|
||||
form {
|
||||
.wpcf7 {
|
||||
&-checkbox {
|
||||
input[type="checkbox"] {
|
||||
border-color: $white;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -135,3 +135,13 @@ hr {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.align {
|
||||
&-centre {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
&-right {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,3 +23,13 @@ html {
|
||||
white-space: nowrap;
|
||||
width: 1px;
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
transition: all 300ms ease;
|
||||
|
||||
&.lazy {
|
||||
filter: blur(0.25em);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,28 @@
|
||||
.brand {
|
||||
display: block;
|
||||
width: $brandWidth;
|
||||
height: $brandHeight;
|
||||
|
||||
svg,
|
||||
img {
|
||||
display: block;
|
||||
width: $brandWidth;
|
||||
height: $brandHeight;
|
||||
}
|
||||
|
||||
.knockout & {
|
||||
@media screen {
|
||||
.fill-primary {
|
||||
fill: $white;
|
||||
}
|
||||
|
||||
.fill-grey {
|
||||
fill: rgba($white, 0.8);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 90%;
|
||||
margin: auto;
|
||||
@@ -9,19 +34,11 @@
|
||||
}
|
||||
|
||||
.section {
|
||||
padding: $sectionSmall;
|
||||
padding: $sectionMedium 0;
|
||||
|
||||
@media (min-width: $screen-md) {
|
||||
padding: $sectionMedium;
|
||||
}
|
||||
|
||||
@media (min-width: $screen-lg) {
|
||||
padding: $sectionLarge;
|
||||
}
|
||||
|
||||
&-small { padding: $sectionSmall; }
|
||||
&-medium { padding: $sectionMedium; }
|
||||
&-large { padding: $sectionLarge; }
|
||||
&-small { padding: $sectionSmall 0; }
|
||||
&-medium { padding: $sectionMedium 0; }
|
||||
&-large { padding: $sectionLarge 0; }
|
||||
|
||||
&-zero-top { padding-top: 0; }
|
||||
&-zero-bottom { padding-bottom: 0; }
|
||||
@@ -32,6 +49,16 @@
|
||||
|
||||
&-small { padding: $innerSmall; }
|
||||
&-large { padding: $innerLarge; }
|
||||
|
||||
&-zero-x {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
&-zero-y {
|
||||
padding-top: 0;
|
||||
padding-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.rounded {
|
||||
|
||||
0
resources/styles/sections/_footer.scss
Normal file
0
resources/styles/sections/_footer.scss
Normal file
0
resources/styles/sections/_header.scss
Normal file
0
resources/styles/sections/_header.scss
Normal file
0
resources/views/blocks/bad-example.blade.php
Normal file
0
resources/views/blocks/bad-example.blade.php
Normal file
15
resources/views/components/image.blade.php
Normal file
15
resources/views/components/image.blade.php
Normal file
@@ -0,0 +1,15 @@
|
||||
@php($image = wp_get_attachment_image_src(@$id, 'medium'))
|
||||
|
||||
<img
|
||||
@if(@$lazy)
|
||||
src="{{ wp_get_attachment_image_src($id, 'lazy')[0] }}"
|
||||
data-src="{{ $image[0] }}"
|
||||
class="lazy"
|
||||
@else
|
||||
src="{{ $image[0] }}"
|
||||
@endif
|
||||
|
||||
alt="{{ get_post_meta( $id, '_wp_attachment_image_alt', true ) }}"
|
||||
width="{{ $image[1] }}"
|
||||
height="{{ $image[2] }}"
|
||||
/>
|
||||
12
resources/views/components/socials.blade.php
Normal file
12
resources/views/components/socials.blade.php
Normal file
@@ -0,0 +1,12 @@
|
||||
<ul class="socials nolist">
|
||||
@foreach($socials as $social)
|
||||
<li>
|
||||
<a
|
||||
class="fa-brands fa-{{ get_field('fontawesome_brands', $social) }}"
|
||||
href="{{ get_field('url', $social) }}"
|
||||
rel="noopener nofollow noreferrer"
|
||||
target="_blank"
|
||||
><span class="visually-hidden">{{ get_the_title($social) }}</span></a>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
34
resources/views/layouts/block.blade.php
Normal file
34
resources/views/layouts/block.blade.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<section id="{{ $block['id'] }}" class="{{ implode(' ', $data['section_classes']) }} {{ @$block['className'] }}">
|
||||
@if(@$data['heading'] || @$data['blurb'])
|
||||
<div class="section-intro container container-narrow align-centre wysiwyg bg-watermarked-content {{ @$data['knockout'] }}">
|
||||
<h2>{{ @$data['heading'] }}</h2>
|
||||
@include('components.divider')
|
||||
<p>{{ @$data['blurb'] }}</p>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="section container container-large block-content bg-watermarked-content">
|
||||
@yield('block-content')
|
||||
</div>
|
||||
|
||||
@if(@$data['links'])
|
||||
<div class="section-footer container container-narrow align-centre wysiwyg bg-watermarked-content {{ @$data['knockout'] }}">
|
||||
<div class="button-wrap">
|
||||
@foreach($data['links'] as $link)
|
||||
@include('components.button', $link)
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if(@$data['bg_image'])
|
||||
<div class="bg-watermarked-image" style="opacity: {!! (@$data['bg_opacity'] ?: 30) * 0.01 !!}">
|
||||
{!! $ImageSrcset->render([
|
||||
'image' => $data['bg_image'],
|
||||
'name' => 'hero',
|
||||
'lazy' => true,
|
||||
]) !!}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
</section>
|
||||
@@ -1840,9 +1840,9 @@ caniuse-lite@1.0.30001643:
|
||||
integrity sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==
|
||||
|
||||
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001640, caniuse-lite@^1.0.30001646, caniuse-lite@^1.0.30001669:
|
||||
version "1.0.30001677"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001677.tgz#27c2e2c637e007cfa864a16f7dfe7cde66b38b5f"
|
||||
integrity sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog==
|
||||
version "1.0.30001690"
|
||||
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz"
|
||||
integrity sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==
|
||||
|
||||
ccount@^2.0.0:
|
||||
version "2.0.1"
|
||||
|
||||
Reference in New Issue
Block a user