PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / trunk
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments vtrunk
4.7.0 4.6.6 4.6.5 4.6.4 4.6.3 4.6.2 4.6.1 4.6.0 4.5.1 4.5.0 4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / packages / blocks-next / build / blocks / product-variant-pills / radio.php
surecart / packages / blocks-next / build / blocks / product-variant-pills Last commit date
block.json 3 months ago bundle.php 1 week ago controller.php 1 month ago index.asset.php 6 days ago index.js 6 days ago radio.php 1 month ago select.php 1 month ago style-index-rtl.css 1 month ago style-index.css 1 month ago view.php 3 months ago
radio.php
79 lines
1 <?php
2 // The composed (page) layout saves an inner product-variant-pill block.
3 // The bundle component layout reuses this picker without composed inner blocks,
4 // so synthesize a default pill so the markup/JS stay identical in both scopes.
5 $has_saved_inner = ! empty( $block->parsed_block['innerBlocks'] );
6
7 $inner_blocks = $has_saved_inner
8 ? $block->parsed_block['innerBlocks']
9 : array(
10 array(
11 'blockName' => 'surecart/product-variant-pill',
12 'attrs' => array(),
13 'innerBlocks' => array(),
14 'innerHTML' => '',
15 'innerContent' => array(),
16 ),
17 );
18
19 $inner_content = $has_saved_inner
20 ? ( $block->parsed_block['innerContent'] ?? array( null ) )
21 : array( null );
22
23 // Get highlight styles from the inner product-variant-pill block.
24 $pill_block = wp_get_first_block( $inner_blocks, 'surecart/product-variant-pill' );
25 $pill_block_attrs = $pill_block['attrs'] ?? array();
26 ?>
27
28 <label class="sc-form-label">
29 <?php echo wp_kses_post( $pill_group_label ?? $option->name ); ?>
30 </label>
31
32 <div
33 <?php
34 echo wp_kses_data(
35 get_block_wrapper_attributes(
36 [
37 'class' => 'sc-pill-option__wrapper',
38 'style' => sc_get_inline_styles(
39 array_filter(
40 [
41 '--sc-pill-option-active-background-color' => $pill_block_attrs['highlight_background'] ?? '',
42 '--sc-pill-option-active-text-color' => $pill_block_attrs['highlight_text'] ?? '',
43 '--sc-pill-option-active-border-color' => $pill_block_attrs['highlight_border'] ?? '',
44 ]
45 )
46 ),
47 ]
48 )
49 );
50 ?>
51 >
52 <?php
53 foreach ( $option->values as $value ) :
54 // Get an instance of the current Post Template block.
55 $block_instance = $block->parsed_block;
56
57 // Set the block name to one that does not correspond to an existing registered block.
58 // This ensures that for the inner instances of the Post Template block, we do not render any block supports.
59 $block_instance['blockName'] = 'core/null';
60 $block_instance['innerBlocks'] = $inner_blocks;
61 $block_instance['innerContent'] = $inner_content;
62
63 $filter_block_context = static function ( $context ) use ( $value, $option ) {
64 $context['value'] = $value;
65 $context['name'] = $option->name;
66 return $context;
67 };
68
69 // Use an early priority to so that other 'render_block_context' filters have access to the values.
70 add_filter( 'render_block_context', $filter_block_context, 1 );
71 // Render the inner blocks of the Post Template block with `dynamic` set to `false` to prevent calling
72 // `render_callback` and ensure that no wrapper markup is included.
73 $block_content = ( new WP_Block( $block_instance ) )->render( array( 'dynamic' => false ) );
74 remove_filter( 'render_block_context', $filter_block_context, 1 );
75 ?>
76 <?php echo $block_content; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
77 <?php endforeach; ?>
78 </div>
79