PluginProbe
ShopBuilder – WooCommerce Builder For Elementor / 1.0.0
ShopBuilder – WooCommerce Builder For Elementor v1.0.0
3.4.2 3.4.1 3.4.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 All 63 releases
shopbuilder / app / Elementor / Widgets / Controls / CheckoutFromSettings.php

CheckoutFromSettings.php in ShopBuilder – WooCommerce Builder For Elementor 1.0.0, at app/Elementor/Widgets/Controls/CheckoutFromSettings.php

255 lines 7.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Main ProductDescription class.
4 *
5 * @package RadiusTheme\SB
6 */
7
8 namespace RadiusTheme\SB\Elementor\Widgets\Controls;
9
10 use Elementor\Controls_Manager;
11 use RadiusTheme\SB\Helpers\Fns;
12
13 // Do not allow directly accessing this file.
14 if ( ! defined( 'ABSPATH' ) ) {
15 exit( 'This script cannot be accessed directly.' );
16 }
17
18 /**
19 * Product Description class
20 */
21 class CheckoutFromSettings {
22 /**
23 * Widget Control Selectors
24 *
25 * @var object
26 */
27 private static $widget = [];
28 /**
29 * Widget Control Selectors
30 *
31 * @var array
32 */
33 private static $selectors = [];
34 /**
35 * Controls Settings
36 *
37 * @param object $widget widget object.
38 * @return array
39 */
40 public static function widget_fields( $widget ) {
41 self::$widget = $widget;
42 self::$selectors = self::$widget->selectors;
43 $fields = [];
44 if ( 'rtsb-billing-form' === $widget->rtsb_base ) {
45 $fields = self::general_settings() + TitleSettings::title_settings( self::$widget );
46 }
47 $fields = $fields + self::fields_settings();
48
49 return $fields;
50 }
51 /**
52 * Widget Field
53 *
54 * @return array
55 */
56 public static function general_settings() {
57 // The function will Overwrite.
58 $fields = TitleSettings::general_settings();
59 $fields['show_title']['selectors'] = [
60 self::$selectors['show_title'] => 'display:block;',
61 ];
62 return $fields;
63 }
64
65 /**
66 * Widget Field
67 *
68 * @return array
69 */
70 public static function fields_settings() {
71 $fields = [
72 'fields_label_style_start' => [
73 'mode' => 'section_start',
74 'tab' => 'style',
75 'label' => esc_html__( 'Form Label', 'shopbuilder' ),
76 ],
77 'fields_label_typo' => [
78 'mode' => 'group',
79 'type' => 'typography',
80 'label' => esc_html__( 'Label Typography', 'shopbuilder' ),
81 'selector' => self::$selectors['fields_label_typo'],
82 ],
83 'fields_label_color' => [
84 'label' => esc_html__( 'Label Color', 'shopbuilder' ),
85 'type' => 'color',
86 'selectors' => [
87 self::$selectors['fields_label_color'] => 'color: {{VALUE}} !important;',
88 ],
89 ],
90 'fields_label_margin' => [
91 'label' => esc_html__( 'Label Margin', 'shopbuilder' ),
92 'type' => 'dimensions',
93 'size_units' => [ 'px' ],
94 'selectors' => [
95 self::$selectors['fields_label_margin'] => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
96 ],
97 ],
98 'fields_label_style_end' => [
99 'mode' => 'section_end',
100 ],
101 'fields_style_start' => [
102 'mode' => 'section_start',
103 'tab' => 'style',
104 'label' => esc_html__( 'Form Field\'s', 'shopbuilder' ),
105 ],
106 'fields_height' => [
107 'label' => esc_html__( 'Fields Height', 'shopbuilder' ),
108 'type' => 'slider',
109 'separator' => 'default',
110 'range' => [
111 'px' => [
112 'min' => 10,
113 'max' => 200,
114 ],
115 ],
116 'selectors' => [
117 self::$selectors['fields_height'] => 'height: {{SIZE}}{{UNIT}};',
118 ],
119 ],
120
121 'fields_tabs_start' => [
122 'mode' => 'tabs_start',
123 ],
124 // Tab For normal view.
125 'fields_normal' => [
126 'mode' => 'tab_start',
127 'label' => esc_html__( 'Normal', 'shopbuilder' ),
128 ],
129 'fields_border' => [
130 'mode' => 'group',
131 'type' => 'border',
132 'selector' => self::$selectors['fields_border'],
133 'size_units' => [ 'px' ],
134 ],
135 'fields_text_color' => [
136 'label' => esc_html__( 'Text Color', 'shopbuilder' ),
137 'type' => 'color',
138
139 'selectors' => [
140 self::$selectors['fields_text_color'] => 'color: {{VALUE}};',
141 ],
142 ],
143 'fields_bg_color' => [
144 'label' => esc_html__( 'Background Color', 'shopbuilder' ),
145 'type' => 'color',
146 'alpha' => true,
147 'selectors' => [
148 self::$selectors['fields_bg_color'] => 'background-color: {{VALUE}};',
149 ],
150 ],
151 'fields_normal_end' => [
152 'mode' => 'tab_end',
153 ],
154 'fields_hover' => [
155 'mode' => 'tab_start',
156 'label' => esc_html__( 'Hover & Focus', 'shopbuilder' ),
157 ],
158
159 'fields_hover_border' => [
160 'mode' => 'group',
161 'type' => 'border',
162 'selector' => self::$selectors['fields_hover_border'],
163 'size_units' => [ 'px' ],
164 ],
165 'fields_hover_text_color' => [
166 'label' => esc_html__( 'Text Color', 'shopbuilder' ),
167 'type' => 'color',
168 'selectors' => [
169 self::$selectors['fields_hover_text_color'] => 'color: {{VALUE}};',
170 ],
171 ],
172 'fields_hover_bg_color' => [
173 'label' => esc_html__( 'Background Color', 'shopbuilder' ),
174 'type' => 'color',
175 'alpha' => true,
176 'selectors' => [
177 self::$selectors['fields_hover_bg_color'] => 'background-color: {{VALUE}};',
178 ],
179 ],
180
181 'fields_hover_end' => [
182 'mode' => 'tab_end',
183 ],
184 'fields_tabs_end' => [
185 'mode' => 'tabs_end',
186 ],
187
188 'fields_padding' => [
189 'label' => esc_html__( 'Fields Padding (px)', 'shopbuilder' ),
190 'type' => 'dimensions',
191 'size_units' => [ 'px' ],
192 'selectors' => [
193 self::$selectors['fields_padding'] => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
194 ],
195 ],
196 'fields_style_end' => [
197 'mode' => 'section_end',
198 ],
199 ];
200
201 if ( 'rtsb-shipping-form' === self::$widget->rtsb_base ) {
202
203 $insert_array = [
204 'form_heading_label' => [
205 'type' => 'html',
206 'raw' => sprintf(
207 '<h3 class="rtsb-elementor-group-heading">%s</h3>',
208 esc_html__( 'Form Heading', 'shopbuilder' )
209 ),
210 'content_classes' => 'elementor-panel-heading-title',
211 'separator' => 'default',
212 ],
213 'form_heading_typo' => [
214 'mode' => 'group',
215 'type' => 'typography',
216 'label' => esc_html__( 'Form Heading Typography', 'shopbuilder' ),
217 'selector' => self::$selectors['form_heading_typo'],
218 ],
219 'form_heading_color' => [
220 'label' => esc_html__( 'Form Heading Color', 'shopbuilder' ),
221 'type' => 'color',
222 'selectors' => [
223 self::$selectors['form_heading_color'] => 'color: {{VALUE}} !important;',
224 ],
225 ],
226 'form_heading_gap' => [
227 'label' => esc_html__( 'Form Heading Gap', 'shopbuilder' ),
228 'type' => 'slider',
229 'range' => [
230 'px' => [
231 'min' => 10,
232 'max' => 100,
233 ],
234 ],
235 'selectors' => [
236 self::$selectors['form_heading_gap'] => 'margin-bottom: {{SIZE}}{{UNIT}};',
237 ],
238 ],
239 'form_field_label' => [
240 'type' => 'html',
241 'raw' => sprintf(
242 '<h3 class="rtsb-elementor-group-heading">%s</h3>',
243 esc_html__( 'Form Label', 'shopbuilder' )
244 ),
245 'content_classes' => 'elementor-panel-heading-title',
246 'separator' => 'default',
247 ],
248 ];
249 $fields = Fns::insert_controls( 'fields_label_style_start', $fields, $insert_array, true );
250 }
251
252 return $fields;
253 }
254 }
255