Gutenberg Blocks – ACF Blocks Suite - Version 2.1.0

Version Description

  • Added Facebook Page (Free)
  • Added Tilt Image (Pro)
  • Bug Fixes
Download this release

Release Info

Developer munirkamal
Plugin Icon 128x128 Gutenberg Blocks – ACF Blocks Suite
Version 2.1.0
Comparing to
See all releases

Code changes from version 2.0.1 to 2.1.0

acf-blocks.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin Name: ACF Blocks
5
  * Plugin URI: https://acfblocks.com/
6
  * Description: Supercharge your Gutenberg editor with high quality beautiful WordPress blocks. Ready-to-use ACF Blocks!
7
- * Version: 2.0.1
8
  * Author: munirkamal
9
  * Author URI: https://munirkamal.wordpress.com
10
  * License: GPL2
4
  * Plugin Name: ACF Blocks
5
  * Plugin URI: https://acfblocks.com/
6
  * Description: Supercharge your Gutenberg editor with high quality beautiful WordPress blocks. Ready-to-use ACF Blocks!
7
+ * Version: 2.1.0
8
  * Author: munirkamal
9
  * Author URI: https://munirkamal.wordpress.com
10
  * License: GPL2
acf-json/group_5d9f3dcad2c3d.json CHANGED
@@ -143,6 +143,27 @@
143
  "prepend": "",
144
  "append": "px"
145
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
146
  {
147
  "key": "field_5da06ca0027d2",
148
  "label": "Select Grid",
@@ -1313,10 +1334,10 @@
1313
  "id": ""
1314
  },
1315
  "margin_enable": 0,
1316
- "margin_top": "",
1317
- "margin_right": "",
1318
- "margin_bottom": "",
1319
- "margin_left": ""
1320
  },
1321
  {
1322
  "key": "field_5eaac237af2d3",
@@ -1332,10 +1353,10 @@
1332
  "id": ""
1333
  },
1334
  "padding_enable": 0,
1335
- "padding_top": "",
1336
- "padding_right": "",
1337
- "padding_bottom": "",
1338
- "padding_left": ""
1339
  },
1340
  {
1341
  "key": "field_5eaac64a5d468",
@@ -1372,7 +1393,7 @@
1372
  "label_placement": "top",
1373
  "instruction_placement": "label",
1374
  "hide_on_screen": "",
1375
- "active": 1,
1376
  "description": "",
1377
- "modified": 1588250220
1378
  }
143
  "prepend": "",
144
  "append": "px"
145
  },
146
+ {
147
+ "key": "field_5f05ac75bdf69",
148
+ "label": "Offset",
149
+ "name": "acfb_post_tiled_offset",
150
+ "type": "number",
151
+ "instructions": "",
152
+ "required": 0,
153
+ "conditional_logic": 0,
154
+ "wrapper": {
155
+ "width": "",
156
+ "class": "",
157
+ "id": ""
158
+ },
159
+ "default_value": "",
160
+ "placeholder": "",
161
+ "prepend": "",
162
+ "append": "",
163
+ "min": "",
164
+ "max": "",
165
+ "step": ""
166
+ },
167
  {
168
  "key": "field_5da06ca0027d2",
169
  "label": "Select Grid",
1334
  "id": ""
1335
  },
1336
  "margin_enable": 0,
1337
+ "margin_top": 0,
1338
+ "margin_right": 0,
1339
+ "margin_bottom": 0,
1340
+ "margin_left": 0
1341
  },
1342
  {
1343
  "key": "field_5eaac237af2d3",
1353
  "id": ""
1354
  },
1355
  "padding_enable": 0,
1356
+ "padding_top": 0,
1357
+ "padding_right": 0,
1358
+ "padding_bottom": 0,
1359
+ "padding_left": 0
1360
  },
1361
  {
1362
  "key": "field_5eaac64a5d468",
1393
  "label_placement": "top",
1394
  "instruction_placement": "label",
1395
  "hide_on_screen": "",
1396
+ "active": true,
1397
  "description": "",
1398
+ "modified": 1594207382
1399
  }
acf-json/group_5edb5f66c6103.json ADDED
@@ -0,0 +1,282 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "key": "group_5edb5f66c6103",
3
+ "title": "Facebook Image Gallery",
4
+ "fields": [
5
+ {
6
+ "key": "field_5edb5f6730e61",
7
+ "label": "Content",
8
+ "name": "",
9
+ "type": "tab",
10
+ "instructions": "",
11
+ "required": 0,
12
+ "conditional_logic": 0,
13
+ "wrapper": {
14
+ "width": "",
15
+ "class": "",
16
+ "id": ""
17
+ },
18
+ "placement": "top",
19
+ "endpoint": 0
20
+ },
21
+ {
22
+ "key": "field_5edb5f6731249",
23
+ "label": "Add Images",
24
+ "name": "acfb_add_fb_images",
25
+ "type": "gallery",
26
+ "instructions": "",
27
+ "required": 0,
28
+ "conditional_logic": 0,
29
+ "wrapper": {
30
+ "width": "",
31
+ "class": "",
32
+ "id": ""
33
+ },
34
+ "return_format": "array",
35
+ "preview_size": "full",
36
+ "insert": "append",
37
+ "library": "all",
38
+ "min": "",
39
+ "max": "",
40
+ "min_width": "",
41
+ "min_height": "",
42
+ "min_size": "",
43
+ "max_width": "",
44
+ "max_height": "",
45
+ "max_size": "",
46
+ "mime_types": ""
47
+ },
48
+ {
49
+ "key": "field_5edb5f67d6310",
50
+ "label": "Design",
51
+ "name": "",
52
+ "type": "tab",
53
+ "instructions": "",
54
+ "required": 0,
55
+ "conditional_logic": 0,
56
+ "wrapper": {
57
+ "width": "",
58
+ "class": "",
59
+ "id": ""
60
+ },
61
+ "placement": "top",
62
+ "endpoint": 0
63
+ },
64
+ {
65
+ "key": "field_5edb5f67e8fdc",
66
+ "label": "Typography",
67
+ "name": "",
68
+ "type": "accordion",
69
+ "instructions": "",
70
+ "required": 0,
71
+ "conditional_logic": 0,
72
+ "wrapper": {
73
+ "width": "",
74
+ "class": "",
75
+ "id": ""
76
+ },
77
+ "open": 0,
78
+ "multi_expand": 0,
79
+ "endpoint": 0
80
+ },
81
+ {
82
+ "key": "field_5edb5f680a949",
83
+ "label": "Overlay Content",
84
+ "name": "acfb_fbgallery_viewall_typo",
85
+ "type": "typography",
86
+ "instructions": "",
87
+ "required": 0,
88
+ "conditional_logic": 0,
89
+ "wrapper": {
90
+ "width": "",
91
+ "class": "",
92
+ "id": ""
93
+ },
94
+ "font_family_enable": 0,
95
+ "font_family": "default",
96
+ "font_size": 16,
97
+ "font_weight": "default",
98
+ "font_transform": "default",
99
+ "font_style": "default",
100
+ "font_decoration": "default",
101
+ "font_line_height": "0.1",
102
+ "font_letter_spacing": 0
103
+ },
104
+ {
105
+ "key": "field_5edb5f683454b",
106
+ "label": "Colors",
107
+ "name": "",
108
+ "type": "accordion",
109
+ "instructions": "",
110
+ "required": 0,
111
+ "conditional_logic": 0,
112
+ "wrapper": {
113
+ "width": "",
114
+ "class": "",
115
+ "id": ""
116
+ },
117
+ "open": 0,
118
+ "multi_expand": 0,
119
+ "endpoint": 0
120
+ },
121
+ {
122
+ "key": "field_5edb94cfdaaaa",
123
+ "label": "Content Color",
124
+ "name": "acfb_fbgallery_viewall_color",
125
+ "type": "color_picker",
126
+ "instructions": "",
127
+ "required": 0,
128
+ "conditional_logic": 0,
129
+ "wrapper": {
130
+ "width": "",
131
+ "class": "",
132
+ "id": ""
133
+ },
134
+ "default_value": "#ffffff"
135
+ },
136
+ {
137
+ "key": "field_5edb5f684d7a9",
138
+ "label": "Overlay Color",
139
+ "name": "acfb_fbgallery_overlay_background",
140
+ "type": "color_picker",
141
+ "instructions": "",
142
+ "required": 0,
143
+ "conditional_logic": 0,
144
+ "wrapper": {
145
+ "width": "",
146
+ "class": "",
147
+ "id": ""
148
+ },
149
+ "default_value": "#000000"
150
+ },
151
+ {
152
+ "key": "field_5edb93a09a635",
153
+ "label": "Overlay Opacity",
154
+ "name": "acfb_fbgallery_overlay_opacity",
155
+ "type": "range",
156
+ "instructions": "",
157
+ "required": 0,
158
+ "conditional_logic": 0,
159
+ "wrapper": {
160
+ "width": "",
161
+ "class": "",
162
+ "id": ""
163
+ },
164
+ "default_value": "0.5",
165
+ "min": "0.1",
166
+ "max": "0.9",
167
+ "step": "0.1",
168
+ "prepend": "",
169
+ "append": ""
170
+ },
171
+ {
172
+ "key": "field_5edb910410640",
173
+ "label": "Sizing",
174
+ "name": "",
175
+ "type": "accordion",
176
+ "instructions": "",
177
+ "required": 0,
178
+ "conditional_logic": 0,
179
+ "wrapper": {
180
+ "width": "",
181
+ "class": "",
182
+ "id": ""
183
+ },
184
+ "open": 0,
185
+ "multi_expand": 0,
186
+ "endpoint": 0
187
+ },
188
+ {
189
+ "key": "field_5edb911310641",
190
+ "label": "Images Height",
191
+ "name": "acfb_fbgallery_images_height",
192
+ "type": "range",
193
+ "instructions": "",
194
+ "required": 0,
195
+ "conditional_logic": 0,
196
+ "wrapper": {
197
+ "width": "",
198
+ "class": "",
199
+ "id": ""
200
+ },
201
+ "default_value": 200,
202
+ "min": "",
203
+ "max": 500,
204
+ "step": "",
205
+ "prepend": "",
206
+ "append": "px"
207
+ },
208
+ {
209
+ "key": "field_5edb5f68e22b4",
210
+ "label": "Spacing",
211
+ "name": "",
212
+ "type": "accordion",
213
+ "instructions": "",
214
+ "required": 0,
215
+ "conditional_logic": 0,
216
+ "wrapper": {
217
+ "width": "",
218
+ "class": "",
219
+ "id": ""
220
+ },
221
+ "open": 0,
222
+ "multi_expand": 0,
223
+ "endpoint": 0
224
+ },
225
+ {
226
+ "key": "field_5edb5f6901128",
227
+ "label": "Margin",
228
+ "name": "acfb_fbgallery_margin",
229
+ "type": "margin",
230
+ "instructions": "",
231
+ "required": 0,
232
+ "conditional_logic": 0,
233
+ "wrapper": {
234
+ "width": "",
235
+ "class": "",
236
+ "id": ""
237
+ },
238
+ "margin_enable": 0,
239
+ "margin_top": 0,
240
+ "margin_right": 0,
241
+ "margin_bottom": 0,
242
+ "margin_left": 0
243
+ },
244
+ {
245
+ "key": "field_5edb5f6918445",
246
+ "label": "Padding",
247
+ "name": "acfb_fbgallery_padding",
248
+ "type": "padding",
249
+ "instructions": "",
250
+ "required": 0,
251
+ "conditional_logic": 0,
252
+ "wrapper": {
253
+ "width": "",
254
+ "class": "",
255
+ "id": ""
256
+ },
257
+ "padding_enable": 0,
258
+ "padding_top": 0,
259
+ "padding_right": 0,
260
+ "padding_bottom": 0,
261
+ "padding_left": 0
262
+ }
263
+ ],
264
+ "location": [
265
+ [
266
+ {
267
+ "param": "block",
268
+ "operator": "==",
269
+ "value": "acf\/acfb-facebook-gallery"
270
+ }
271
+ ]
272
+ ],
273
+ "menu_order": 0,
274
+ "position": "normal",
275
+ "style": "default",
276
+ "label_placement": "top",
277
+ "instruction_placement": "label",
278
+ "hide_on_screen": "",
279
+ "active": 1,
280
+ "description": "",
281
+ "modified": 1591448991
282
+ }
acf-json/group_5ef5b7b078dd2.json ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "key": "group_5ef5b7b078dd2",
3
+ "title": "Content Toggle",
4
+ "fields": [
5
+ {
6
+ "key": "field_5ef5ef5317b57",
7
+ "label": "content 1",
8
+ "name": "content_1",
9
+ "type": "repeater",
10
+ "instructions": "",
11
+ "required": 0,
12
+ "conditional_logic": 0,
13
+ "wrapper": {
14
+ "width": "",
15
+ "class": "",
16
+ "id": ""
17
+ },
18
+ "collapsed": "",
19
+ "min": 0,
20
+ "max": 0,
21
+ "layout": "table",
22
+ "button_label": "",
23
+ "sub_fields": []
24
+ }
25
+ ],
26
+ "location": [
27
+ [
28
+ {
29
+ "param": "block",
30
+ "operator": "==",
31
+ "value": "acf\/acfb-content-toggle"
32
+ }
33
+ ]
34
+ ],
35
+ "menu_order": 0,
36
+ "position": "normal",
37
+ "style": "default",
38
+ "label_placement": "top",
39
+ "instruction_placement": "label",
40
+ "hide_on_screen": "",
41
+ "active": true,
42
+ "description": "",
43
+ "modified": 1593176182
44
+ }
acf-json/group_5eff17d865ae7.json ADDED
@@ -0,0 +1,814 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "key": "group_5eff17d865ae7",
3
+ "title": "Tilt Card",
4
+ "fields": [
5
+ {
6
+ "key": "field_5f003fac95204",
7
+ "label": "Content",
8
+ "name": "",
9
+ "type": "tab",
10
+ "instructions": "",
11
+ "required": 0,
12
+ "conditional_logic": 0,
13
+ "wrapper": {
14
+ "width": "",
15
+ "class": "",
16
+ "id": ""
17
+ },
18
+ "placement": "top",
19
+ "endpoint": 0
20
+ },
21
+ {
22
+ "key": "field_5f02e6579a6a4",
23
+ "label": "Image or Color",
24
+ "name": "acfb_tilt_imgorcolor",
25
+ "type": "button_group",
26
+ "instructions": "",
27
+ "required": 0,
28
+ "conditional_logic": 0,
29
+ "wrapper": {
30
+ "width": "",
31
+ "class": "",
32
+ "id": ""
33
+ },
34
+ "choices": {
35
+ "image": "<span class=\"dashicons dashicons-format-image\"><\/span>",
36
+ "color": "<span class=\"dashicons dashicons-admin-customizer\"><\/span>"
37
+ },
38
+ "allow_null": 0,
39
+ "default_value": "image",
40
+ "layout": "horizontal",
41
+ "return_format": "value"
42
+ },
43
+ {
44
+ "key": "field_5f003ffb95208",
45
+ "label": "Image",
46
+ "name": "acfb_tilt_image",
47
+ "type": "image",
48
+ "instructions": "",
49
+ "required": 0,
50
+ "conditional_logic": [
51
+ [
52
+ {
53
+ "field": "field_5f02e6579a6a4",
54
+ "operator": "==",
55
+ "value": "image"
56
+ }
57
+ ]
58
+ ],
59
+ "wrapper": {
60
+ "width": "",
61
+ "class": "",
62
+ "id": ""
63
+ },
64
+ "return_format": "url",
65
+ "preview_size": "full",
66
+ "library": "all",
67
+ "min_width": "",
68
+ "min_height": "",
69
+ "min_size": "",
70
+ "max_width": "",
71
+ "max_height": "",
72
+ "max_size": "",
73
+ "mime_types": ""
74
+ },
75
+ {
76
+ "key": "field_5f02e7321396e",
77
+ "label": "BG Color",
78
+ "name": "acfb_tilt_bg_color",
79
+ "type": "color_picker",
80
+ "instructions": "",
81
+ "required": 0,
82
+ "conditional_logic": [
83
+ [
84
+ {
85
+ "field": "field_5f02e6579a6a4",
86
+ "operator": "==",
87
+ "value": "color"
88
+ }
89
+ ]
90
+ ],
91
+ "wrapper": {
92
+ "width": "",
93
+ "class": "",
94
+ "id": ""
95
+ },
96
+ "default_value": "#f3f4f5"
97
+ },
98
+ {
99
+ "key": "field_5f02eea336385",
100
+ "label": "Content Image",
101
+ "name": "acfb_tilt_content_image",
102
+ "type": "image",
103
+ "instructions": "",
104
+ "required": 0,
105
+ "conditional_logic": 0,
106
+ "wrapper": {
107
+ "width": "",
108
+ "class": "",
109
+ "id": ""
110
+ },
111
+ "return_format": "url",
112
+ "preview_size": "medium",
113
+ "library": "all",
114
+ "min_width": "",
115
+ "min_height": "",
116
+ "min_size": "",
117
+ "max_width": "",
118
+ "max_height": "",
119
+ "max_size": "",
120
+ "mime_types": ""
121
+ },
122
+ {
123
+ "key": "field_5f003fca95207",
124
+ "label": "Title",
125
+ "name": "acfb_tilt_title",
126
+ "type": "text",
127
+ "instructions": "",
128
+ "required": 0,
129
+ "conditional_logic": 0,
130
+ "wrapper": {
131
+ "width": "",
132
+ "class": "",
133
+ "id": ""
134
+ },
135
+ "default_value": "",
136
+ "placeholder": "Title",
137
+ "prepend": "",
138
+ "append": "",
139
+ "maxlength": ""
140
+ },
141
+ {
142
+ "key": "field_5f003ffb95209",
143
+ "label": "Content",
144
+ "name": "acfb_tilt_content",
145
+ "type": "textarea",
146
+ "instructions": "",
147
+ "required": 0,
148
+ "conditional_logic": 0,
149
+ "wrapper": {
150
+ "width": "",
151
+ "class": "",
152
+ "id": ""
153
+ },
154
+ "default_value": "",
155
+ "placeholder": "Lorem Ipsum is simply dummy text of the printing and typesetting industry.",
156
+ "maxlength": "",
157
+ "rows": "",
158
+ "new_lines": ""
159
+ },
160
+ {
161
+ "key": "field_5f02ecdd26ab8",
162
+ "label": "Button Text",
163
+ "name": "acfb_tilt_content_button_text",
164
+ "type": "text",
165
+ "instructions": "",
166
+ "required": 0,
167
+ "conditional_logic": 0,
168
+ "wrapper": {
169
+ "width": "",
170
+ "class": "",
171
+ "id": ""
172
+ },
173
+ "default_value": "",
174
+ "placeholder": "Button text",
175
+ "prepend": "",
176
+ "append": "",
177
+ "maxlength": ""
178
+ },
179
+ {
180
+ "key": "field_5f02ed0826ab9",
181
+ "label": "Button Url",
182
+ "name": "acfb_tilt_content_button_url",
183
+ "type": "url",
184
+ "instructions": "",
185
+ "required": 0,
186
+ "conditional_logic": 0,
187
+ "wrapper": {
188
+ "width": "",
189
+ "class": "",
190
+ "id": ""
191
+ },
192
+ "default_value": "",
193
+ "placeholder": "#"
194
+ },
195
+ {
196
+ "key": "field_5f02e9491b518",
197
+ "label": "Content Vertical Align",
198
+ "name": "acfb_tilt_content_valign",
199
+ "type": "button_group",
200
+ "instructions": "",
201
+ "required": 0,
202
+ "conditional_logic": 0,
203
+ "wrapper": {
204
+ "width": "",
205
+ "class": "",
206
+ "id": ""
207
+ },
208
+ "choices": {
209
+ "flex-start": "Top",
210
+ "center": "Center",
211
+ "flex-end": "Bottom"
212
+ },
213
+ "allow_null": 0,
214
+ "default_value": "center",
215
+ "layout": "horizontal",
216
+ "return_format": "value"
217
+ },
218
+ {
219
+ "key": "field_5f02e9911b519",
220
+ "label": "Content Horizontal Align",
221
+ "name": "acfb_tilt_content_halign",
222
+ "type": "button_group",
223
+ "instructions": "",
224
+ "required": 0,
225
+ "conditional_logic": 0,
226
+ "wrapper": {
227
+ "width": "",
228
+ "class": "",
229
+ "id": ""
230
+ },
231
+ "choices": {
232
+ "flex-start": "Left",
233
+ "center": "Center",
234
+ "flex-end": "Right"
235
+ },
236
+ "allow_null": 0,
237
+ "default_value": "center",
238
+ "layout": "horizontal",
239
+ "return_format": "value"
240
+ },
241
+ {
242
+ "key": "field_5f0071f0d68a6",
243
+ "label": "Max",
244
+ "name": "acfb_tilt_max",
245
+ "type": "range",
246
+ "instructions": "",
247
+ "required": 0,
248
+ "conditional_logic": 0,
249
+ "wrapper": {
250
+ "width": "",
251
+ "class": "",
252
+ "id": ""
253
+ },
254
+ "default_value": 20,
255
+ "min": "",
256
+ "max": "",
257
+ "step": "",
258
+ "prepend": "",
259
+ "append": ""
260
+ },
261
+ {
262
+ "key": "field_5f00725dd68a7",
263
+ "label": "Perspective",
264
+ "name": "acfb_tilt_perspective",
265
+ "type": "range",
266
+ "instructions": "",
267
+ "required": 0,
268
+ "conditional_logic": 0,
269
+ "wrapper": {
270
+ "width": "",
271
+ "class": "",
272
+ "id": ""
273
+ },
274
+ "default_value": 1100,
275
+ "min": 100,
276
+ "max": 2000,
277
+ "step": 100,
278
+ "prepend": "",
279
+ "append": ""
280
+ },
281
+ {
282
+ "key": "field_5f0072add68a8",
283
+ "label": "Speed",
284
+ "name": "acfb_tilt_speed",
285
+ "type": "range",
286
+ "instructions": "",
287
+ "required": 0,
288
+ "conditional_logic": 0,
289
+ "wrapper": {
290
+ "width": "",
291
+ "class": "",
292
+ "id": ""
293
+ },
294
+ "default_value": 300,
295
+ "min": 100,
296
+ "max": 1000,
297
+ "step": 100,
298
+ "prepend": "",
299
+ "append": ""
300
+ },
301
+ {
302
+ "key": "field_5f0072d0d68a9",
303
+ "label": "Scale",
304
+ "name": "acfb_tilt_scale",
305
+ "type": "range",
306
+ "instructions": "",
307
+ "required": 0,
308
+ "conditional_logic": 0,
309
+ "wrapper": {
310
+ "width": "",
311
+ "class": "",
312
+ "id": ""
313
+ },
314
+ "default_value": 1,
315
+ "min": "",
316
+ "max": 5,
317
+ "step": "0.1",
318
+ "prepend": "",
319
+ "append": ""
320
+ },
321
+ {
322
+ "key": "field_5f007463639ed",
323
+ "label": "Glare",
324
+ "name": "acfb_tilt_glare",
325
+ "type": "true_false",
326
+ "instructions": "",
327
+ "required": 0,
328
+ "conditional_logic": 0,
329
+ "wrapper": {
330
+ "width": "",
331
+ "class": "",
332
+ "id": ""
333
+ },
334
+ "message": "",
335
+ "default_value": 0,
336
+ "ui": 1,
337
+ "ui_on_text": "",
338
+ "ui_off_text": ""
339
+ },
340
+ {
341
+ "key": "field_5f003fb795206",
342
+ "label": "Design",
343
+ "name": "",
344
+ "type": "tab",
345
+ "instructions": "",
346
+ "required": 0,
347
+ "conditional_logic": 0,
348
+ "wrapper": {
349
+ "width": "",
350
+ "class": "",
351
+ "id": ""
352
+ },
353
+ "placement": "top",
354
+ "endpoint": 0
355
+ },
356
+ {
357
+ "key": "field_5f006ed587c8b",
358
+ "label": "Typography",
359
+ "name": "",
360
+ "type": "accordion",
361
+ "instructions": "",
362
+ "required": 0,
363
+ "conditional_logic": 0,
364
+ "wrapper": {
365
+ "width": "",
366
+ "class": "",
367
+ "id": ""
368
+ },
369
+ "open": 0,
370
+ "multi_expand": 0,
371
+ "endpoint": 0
372
+ },
373
+ {
374
+ "key": "field_5f006f2187c90",
375
+ "label": "Title",
376
+ "name": "acfb_tilt_title_typo",
377
+ "type": "typography",
378
+ "instructions": "",
379
+ "required": 0,
380
+ "conditional_logic": 0,
381
+ "wrapper": {
382
+ "width": "",
383
+ "class": "",
384
+ "id": ""
385
+ },
386
+ "font_family_enable": 0,
387
+ "font_family": "default",
388
+ "font_size": 32,
389
+ "font_weight": "default",
390
+ "font_transform": "default",
391
+ "font_style": "default",
392
+ "font_decoration": "default",
393
+ "font_line_height": "0.1",
394
+ "font_letter_spacing": 0
395
+ },
396
+ {
397
+ "key": "field_5f006f6487c91",
398
+ "label": "Content",
399
+ "name": "acfb_tilt_content_typo",
400
+ "type": "typography",
401
+ "instructions": "",
402
+ "required": 0,
403
+ "conditional_logic": 0,
404
+ "wrapper": {
405
+ "width": "",
406
+ "class": "",
407
+ "id": ""
408
+ },
409
+ "font_family_enable": 0,
410
+ "font_family": "default",
411
+ "font_size": 18,
412
+ "font_weight": "default",
413
+ "font_transform": "default",
414
+ "font_style": "default",
415
+ "font_decoration": "default",
416
+ "font_line_height": "0.1",
417
+ "font_letter_spacing": 0
418
+ },
419
+ {
420
+ "key": "field_5f0319c75e5fe",
421
+ "label": "Button",
422
+ "name": "acfb_tilt_content_button_typo",
423
+ "type": "typography",
424
+ "instructions": "",
425
+ "required": 0,
426
+ "conditional_logic": 0,
427
+ "wrapper": {
428
+ "width": "",
429
+ "class": "",
430
+ "id": ""
431
+ },
432
+ "font_family_enable": 0,
433
+ "font_family": "default",
434
+ "font_size": 18,
435
+ "font_weight": "default",
436
+ "font_transform": "default",
437
+ "font_style": "default",
438
+ "font_decoration": "default",
439
+ "font_line_height": "0.1",
440
+ "font_letter_spacing": 0
441
+ },
442
+ {
443
+ "key": "field_5f006ee687c8c",
444
+ "label": "Colors",
445
+ "name": "",
446
+ "type": "accordion",
447
+ "instructions": "",
448
+ "required": 0,
449
+ "conditional_logic": 0,
450
+ "wrapper": {
451
+ "width": "",
452
+ "class": "",
453
+ "id": ""
454
+ },
455
+ "open": 0,
456
+ "multi_expand": 0,
457
+ "endpoint": 0
458
+ },
459
+ {
460
+ "key": "field_5f09a1823f37f",
461
+ "label": "Image Overlay",
462
+ "name": "acfb_tilt_image_overlay_switch",
463
+ "type": "true_false",
464
+ "instructions": "",
465
+ "required": 0,
466
+ "conditional_logic": [
467
+ [
468
+ {
469
+ "field": "field_5f02e6579a6a4",
470
+ "operator": "==",
471
+ "value": "image"
472
+ }
473
+ ]
474
+ ],
475
+ "wrapper": {
476
+ "width": "",
477
+ "class": "",
478
+ "id": ""
479
+ },
480
+ "message": "",
481
+ "default_value": 0,
482
+ "ui": 1,
483
+ "ui_on_text": "",
484
+ "ui_off_text": ""
485
+ },
486
+ {
487
+ "key": "field_5f09a1c33f380",
488
+ "label": "Overlay Color",
489
+ "name": "acfb_tilt_image_overlay_color",
490
+ "type": "color_picker",
491
+ "instructions": "",
492
+ "required": 0,
493
+ "conditional_logic": [
494
+ [
495
+ {
496
+ "field": "field_5f09a1823f37f",
497
+ "operator": "==",
498
+ "value": "1"
499
+ }
500
+ ]
501
+ ],
502
+ "wrapper": {
503
+ "width": "",
504
+ "class": "",
505
+ "id": ""
506
+ },
507
+ "default_value": "#000000"
508
+ },
509
+ {
510
+ "key": "field_5f09a1e13f381",
511
+ "label": "Overlay Opacity",
512
+ "name": "acfb_tilt_image_overlay_opacity",
513
+ "type": "range",
514
+ "instructions": "",
515
+ "required": 0,
516
+ "conditional_logic": [
517
+ [
518
+ {
519
+ "field": "field_5f09a1823f37f",
520
+ "operator": "==",
521
+ "value": "1"
522
+ }
523
+ ]
524
+ ],
525
+ "wrapper": {
526
+ "width": "",
527
+ "class": "",
528
+ "id": ""
529
+ },
530
+ "default_value": "0.3",
531
+ "min": "0.1",
532
+ "max": "0.9",
533
+ "step": ".1",
534
+ "prepend": "",
535
+ "append": ""
536
+ },
537
+ {
538
+ "key": "field_5f006f9487c92",
539
+ "label": "Title",
540
+ "name": "acfb_tilt_title_color",
541
+ "type": "color_picker",
542
+ "instructions": "",
543
+ "required": 0,
544
+ "conditional_logic": 0,
545
+ "wrapper": {
546
+ "width": "",
547
+ "class": "",
548
+ "id": ""
549
+ },
550
+ "default_value": "#ffffff"
551
+ },
552
+ {
553
+ "key": "field_5f006fa287c93",
554
+ "label": "Content",
555
+ "name": "acfb_tilt_content_color",
556
+ "type": "color_picker",
557
+ "instructions": "",
558
+ "required": 0,
559
+ "conditional_logic": 0,
560
+ "wrapper": {
561
+ "width": "",
562
+ "class": "",
563
+ "id": ""
564
+ },
565
+ "default_value": "#ffffff"
566
+ },
567
+ {
568
+ "key": "field_5f02f1f5e8074",
569
+ "label": "Button Background Color",
570
+ "name": "acfb_tilt_content_button_background_color",
571
+ "type": "color_picker",
572
+ "instructions": "",
573
+ "required": 0,
574
+ "conditional_logic": 0,
575
+ "wrapper": {
576
+ "width": "",
577
+ "class": "",
578
+ "id": ""
579
+ },
580
+ "default_value": "#e0e0e0"
581
+ },
582
+ {
583
+ "key": "field_5f02f225e8075",
584
+ "label": "Button Text Color",
585
+ "name": "acfb_tilt_content_button_text_color",
586
+ "type": "color_picker",
587
+ "instructions": "",
588
+ "required": 0,
589
+ "conditional_logic": 0,
590
+ "wrapper": {
591
+ "width": "",
592
+ "class": "",
593
+ "id": ""
594
+ },
595
+ "default_value": "#191e23"
596
+ },
597
+ {
598
+ "key": "field_5f02f242e8076",
599
+ "label": "Button Background Hover Color",
600
+ "name": "acfb_tilt_content_button_background_hover_color",
601
+ "type": "color_picker",
602
+ "instructions": "",
603
+ "required": 0,
604
+ "conditional_logic": 0,
605
+ "wrapper": {
606
+ "width": "",
607
+ "class": "",
608
+ "id": ""
609
+ },
610
+ "default_value": "#e0e0e0"
611
+ },
612
+ {
613
+ "key": "field_5f02f270e8077",
614
+ "label": "Button Text Hover Color",
615
+ "name": "acfb_tilt_content_button_text_hover_color",
616
+ "type": "color_picker",
617
+ "instructions": "",
618
+ "required": 0,
619
+ "conditional_logic": 0,
620
+ "wrapper": {
621
+ "width": "",
622
+ "class": "",
623
+ "id": ""
624
+ },
625
+ "default_value": "#191e23"
626
+ },
627
+ {
628
+ "key": "field_5f09a503b5712",
629
+ "label": "Border",
630
+ "name": "",
631
+ "type": "accordion",
632
+ "instructions": "",
633
+ "required": 0,
634
+ "conditional_logic": 0,
635
+ "wrapper": {
636
+ "width": "",
637
+ "class": "",
638
+ "id": ""
639
+ },
640
+ "open": 0,
641
+ "multi_expand": 0,
642
+ "endpoint": 0
643
+ },
644
+ {
645
+ "key": "field_5f09a50ab5713",
646
+ "label": "Border Radius",
647
+ "name": "acfb_tilt_image_radius",
648
+ "type": "range",
649
+ "instructions": "",
650
+ "required": 0,
651
+ "conditional_logic": 0,
652
+ "wrapper": {
653
+ "width": "",
654
+ "class": "",
655
+ "id": ""
656
+ },
657
+ "default_value": 0,
658
+ "min": "",
659
+ "max": "",
660
+ "step": "",
661
+ "prepend": "",
662
+ "append": "px"
663
+ },
664
+ {
665
+ "key": "field_5f03164fbab35",
666
+ "label": "Sizing",
667
+ "name": "",
668
+ "type": "accordion",
669
+ "instructions": "",
670
+ "required": 0,
671
+ "conditional_logic": 0,
672
+ "wrapper": {
673
+ "width": "",
674
+ "class": "",
675
+ "id": ""
676
+ },
677
+ "open": 0,
678
+ "multi_expand": 0,
679
+ "endpoint": 0
680
+ },
681
+ {
682
+ "key": "field_5f00737a3d044",
683
+ "label": "Height",
684
+ "name": "acfb_tilt_height",
685
+ "type": "range",
686
+ "instructions": "",
687
+ "required": 0,
688
+ "conditional_logic": 0,
689
+ "wrapper": {
690
+ "width": "",
691
+ "class": "",
692
+ "id": ""
693
+ },
694
+ "default_value": 300,
695
+ "min": "",
696
+ "max": 1000,
697
+ "step": "",
698
+ "prepend": "",
699
+ "append": "px"
700
+ },
701
+ {
702
+ "key": "field_5f02f0e260dfe",
703
+ "label": "Content Image Size",
704
+ "name": "acfb_tilt_content_image_size",
705
+ "type": "range",
706
+ "instructions": "",
707
+ "required": 0,
708
+ "conditional_logic": 0,
709
+ "wrapper": {
710
+ "width": "",
711
+ "class": "",
712
+ "id": ""
713
+ },
714
+ "default_value": 40,
715
+ "min": "",
716
+ "max": 1000,
717
+ "step": "",
718
+ "prepend": "",
719
+ "append": "px"
720
+ },
721
+ {
722
+ "key": "field_5f006f0d87c8f",
723
+ "label": "Spacing",
724
+ "name": "",
725
+ "type": "accordion",
726
+ "instructions": "",
727
+ "required": 0,
728
+ "conditional_logic": 0,
729
+ "wrapper": {
730
+ "width": "",
731
+ "class": "",
732
+ "id": ""
733
+ },
734
+ "open": 0,
735
+ "multi_expand": 0,
736
+ "endpoint": 0
737
+ },
738
+ {
739
+ "key": "field_5f0070f320ad7",
740
+ "label": "Margin",
741
+ "name": "acfb_tilt_image_margin",
742
+ "type": "margin",
743
+ "instructions": "",
744
+ "required": 0,
745
+ "conditional_logic": 0,
746
+ "wrapper": {
747
+ "width": "",
748
+ "class": "",
749
+ "id": ""
750
+ },
751
+ "margin_enable": 0,
752
+ "margin_top": 0,
753
+ "margin_right": 0,
754
+ "margin_bottom": 0,
755
+ "margin_left": 0
756
+ },
757
+ {
758
+ "key": "field_5f00711f20ad8",
759
+ "label": "Padding",
760
+ "name": "acfb_tilt_image_padding",
761
+ "type": "padding",
762
+ "instructions": "",
763
+ "required": 0,
764
+ "conditional_logic": 0,
765
+ "wrapper": {
766
+ "width": "",
767
+ "class": "",
768
+ "id": ""
769
+ },
770
+ "padding_enable": 0,
771
+ "padding_top": 0,
772
+ "padding_right": 0,
773
+ "padding_bottom": 0,
774
+ "padding_left": 0
775
+ },
776
+ {
777
+ "key": "field_5f0316bebab37",
778
+ "label": "Inner Padding",
779
+ "name": "acfb_tilt_image_inner_padding",
780
+ "type": "padding",
781
+ "instructions": "",
782
+ "required": 0,
783
+ "conditional_logic": 0,
784
+ "wrapper": {
785
+ "width": "",
786
+ "class": "",
787
+ "id": ""
788
+ },
789
+ "padding_enable": 1,
790
+ "padding_top": 40,
791
+ "padding_right": 40,
792
+ "padding_bottom": 40,
793
+ "padding_left": 40
794
+ }
795
+ ],
796
+ "location": [
797
+ [
798
+ {
799
+ "param": "block",
800
+ "operator": "==",
801
+ "value": "acf\/acfb-tilt-card"
802
+ }
803
+ ]
804
+ ],
805
+ "menu_order": 0,
806
+ "position": "normal",
807
+ "style": "default",
808
+ "label_placement": "top",
809
+ "instruction_placement": "label",
810
+ "hide_on_screen": "",
811
+ "active": true,
812
+ "description": "",
813
+ "modified": 1594475739
814
+ }
acf-json/group_5f082516b79d3.json ADDED
@@ -0,0 +1,328 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "key": "group_5f082516b79d3",
3
+ "title": "Facebook Page",
4
+ "fields": [
5
+ {
6
+ "key": "field_5f08276d6a1df",
7
+ "label": "Content",
8
+ "name": "",
9
+ "type": "tab",
10
+ "instructions": "",
11
+ "required": 0,
12
+ "conditional_logic": 0,
13
+ "wrapper": {
14
+ "width": "",
15
+ "class": "",
16
+ "id": ""
17
+ },
18
+ "placement": "top",
19
+ "endpoint": 0
20
+ },
21
+ {
22
+ "key": "field_5f08273d6a1de",
23
+ "label": "Page ID",
24
+ "name": "acfb_fb_page_id",
25
+ "type": "text",
26
+ "instructions": "",
27
+ "required": 0,
28
+ "conditional_logic": 0,
29
+ "wrapper": {
30
+ "width": "",
31
+ "class": "",
32
+ "id": ""
33
+ },
34
+ "default_value": "acfwpblocks",
35
+ "placeholder": "acfwpblocks",
36
+ "prepend": "",
37
+ "append": "",
38
+ "maxlength": ""
39
+ },
40
+ {
41
+ "key": "field_5f0827916a1e1",
42
+ "label": "Small Header",
43
+ "name": "acfb_fb_small_header",
44
+ "type": "true_false",
45
+ "instructions": "",
46
+ "required": 0,
47
+ "conditional_logic": 0,
48
+ "wrapper": {
49
+ "width": "",
50
+ "class": "",
51
+ "id": ""
52
+ },
53
+ "message": "",
54
+ "default_value": 0,
55
+ "ui": 1,
56
+ "ui_on_text": "",
57
+ "ui_off_text": ""
58
+ },
59
+ {
60
+ "key": "field_5f0828036a1e4",
61
+ "label": "Custom CTA Button",
62
+ "name": "acfb_fb_cta_button",
63
+ "type": "true_false",
64
+ "instructions": "",
65
+ "required": 0,
66
+ "conditional_logic": [
67
+ [
68
+ {
69
+ "field": "field_5f0827916a1e1",
70
+ "operator": "!=",
71
+ "value": "1"
72
+ }
73
+ ]
74
+ ],
75
+ "wrapper": {
76
+ "width": "",
77
+ "class": "",
78
+ "id": ""
79
+ },
80
+ "message": "",
81
+ "default_value": 1,
82
+ "ui": 1,
83
+ "ui_on_text": "",
84
+ "ui_off_text": ""
85
+ },
86
+ {
87
+ "key": "field_5f0827db6a1e2",
88
+ "label": "Hide Cover Photo",
89
+ "name": "acfb_fb_cover_photo",
90
+ "type": "true_false",
91
+ "instructions": "",
92
+ "required": 0,
93
+ "conditional_logic": 0,
94
+ "wrapper": {
95
+ "width": "",
96
+ "class": "",
97
+ "id": ""
98
+ },
99
+ "message": "",
100
+ "default_value": 0,
101
+ "ui": 1,
102
+ "ui_on_text": "",
103
+ "ui_off_text": ""
104
+ },
105
+ {
106
+ "key": "field_5f0827ee6a1e3",
107
+ "label": "Show Profile Photos",
108
+ "name": "acfb_fb_profile_photos",
109
+ "type": "true_false",
110
+ "instructions": "",
111
+ "required": 0,
112
+ "conditional_logic": 0,
113
+ "wrapper": {
114
+ "width": "",
115
+ "class": "",
116
+ "id": ""
117
+ },
118
+ "message": "",
119
+ "default_value": 1,
120
+ "ui": 1,
121
+ "ui_on_text": "",
122
+ "ui_off_text": ""
123
+ },
124
+ {
125
+ "key": "field_5f08472e4137f",
126
+ "label": "Timeline",
127
+ "name": "acfb_fb_timeline_tab",
128
+ "type": "true_false",
129
+ "instructions": "",
130
+ "required": 0,
131
+ "conditional_logic": 0,
132
+ "wrapper": {
133
+ "width": "",
134
+ "class": "",
135
+ "id": ""
136
+ },
137
+ "message": "",
138
+ "default_value": 1,
139
+ "ui": 1,
140
+ "ui_on_text": "",
141
+ "ui_off_text": ""
142
+ },
143
+ {
144
+ "key": "field_5f08475841380",
145
+ "label": "Event",
146
+ "name": "acfb_fb_events_tab",
147
+ "type": "true_false",
148
+ "instructions": "",
149
+ "required": 0,
150
+ "conditional_logic": 0,
151
+ "wrapper": {
152
+ "width": "",
153
+ "class": "",
154
+ "id": ""
155
+ },
156
+ "message": "",
157
+ "default_value": 1,
158
+ "ui": 1,
159
+ "ui_on_text": "",
160
+ "ui_off_text": ""
161
+ },
162
+ {
163
+ "key": "field_5f08476c41381",
164
+ "label": "Messages",
165
+ "name": "acfb_fb_messages_tab",
166
+ "type": "true_false",
167
+ "instructions": "",
168
+ "required": 0,
169
+ "conditional_logic": 0,
170
+ "wrapper": {
171
+ "width": "",
172
+ "class": "",
173
+ "id": ""
174
+ },
175
+ "message": "",
176
+ "default_value": 1,
177
+ "ui": 1,
178
+ "ui_on_text": "",
179
+ "ui_off_text": ""
180
+ },
181
+ {
182
+ "key": "field_5f08277a6a1e0",
183
+ "label": "Design",
184
+ "name": "",
185
+ "type": "tab",
186
+ "instructions": "",
187
+ "required": 0,
188
+ "conditional_logic": 0,
189
+ "wrapper": {
190
+ "width": "",
191
+ "class": "",
192
+ "id": ""
193
+ },
194
+ "placement": "top",
195
+ "endpoint": 0
196
+ },
197
+ {
198
+ "key": "field_5f0863f9d9edd",
199
+ "label": "Sizing",
200
+ "name": "",
201
+ "type": "accordion",
202
+ "instructions": "",
203
+ "required": 0,
204
+ "conditional_logic": 0,
205
+ "wrapper": {
206
+ "width": "",
207
+ "class": "",
208
+ "id": ""
209
+ },
210
+ "open": 0,
211
+ "multi_expand": 0,
212
+ "endpoint": 0
213
+ },
214
+ {
215
+ "key": "field_5f0863097c93e",
216
+ "label": "Width",
217
+ "name": "acfb_fb_page_width",
218
+ "type": "range",
219
+ "instructions": "",
220
+ "required": 0,
221
+ "conditional_logic": 0,
222
+ "wrapper": {
223
+ "width": "",
224
+ "class": "",
225
+ "id": ""
226
+ },
227
+ "default_value": 340,
228
+ "min": 180,
229
+ "max": 500,
230
+ "step": "",
231
+ "prepend": "",
232
+ "append": ""
233
+ },
234
+ {
235
+ "key": "field_5f08282c6a1e5",
236
+ "label": "Height",
237
+ "name": "acfb_fb_page_height",
238
+ "type": "range",
239
+ "instructions": "",
240
+ "required": 0,
241
+ "conditional_logic": 0,
242
+ "wrapper": {
243
+ "width": "",
244
+ "class": "",
245
+ "id": ""
246
+ },
247
+ "default_value": 500,
248
+ "min": 70,
249
+ "max": 500,
250
+ "step": "",
251
+ "prepend": "",
252
+ "append": ""
253
+ },
254
+ {
255
+ "key": "field_5f086409d9ede",
256
+ "label": "Spacing",
257
+ "name": "",
258
+ "type": "accordion",
259
+ "instructions": "",
260
+ "required": 0,
261
+ "conditional_logic": 0,
262
+ "wrapper": {
263
+ "width": "",
264
+ "class": "",
265
+ "id": ""
266
+ },
267
+ "open": 0,
268
+ "multi_expand": 0,
269
+ "endpoint": 0
270
+ },
271
+ {
272
+ "key": "field_5f086436d9edf",
273
+ "label": "Margin",
274
+ "name": "acfb_fb_page_margin",
275
+ "type": "margin",
276
+ "instructions": "",
277
+ "required": 0,
278
+ "conditional_logic": 0,
279
+ "wrapper": {
280
+ "width": "",
281
+ "class": "",
282
+ "id": ""
283
+ },
284
+ "margin_enable": 0,
285
+ "margin_top": "",
286
+ "margin_right": "",
287
+ "margin_bottom": "",
288
+ "margin_left": ""
289
+ },
290
+ {
291
+ "key": "field_5f086449d9ee0",
292
+ "label": "Padding",
293
+ "name": "acfb_fb_page_padding",
294
+ "type": "padding",
295
+ "instructions": "",
296
+ "required": 0,
297
+ "conditional_logic": 0,
298
+ "wrapper": {
299
+ "width": "",
300
+ "class": "",
301
+ "id": ""
302
+ },
303
+ "padding_enable": 0,
304
+ "padding_top": "",
305
+ "padding_right": "",
306
+ "padding_bottom": "",
307
+ "padding_left": ""
308
+ }
309
+ ],
310
+ "location": [
311
+ [
312
+ {
313
+ "param": "block",
314
+ "operator": "==",
315
+ "value": "acf\/acfb-facebook-page"
316
+ }
317
+ ]
318
+ ],
319
+ "menu_order": 0,
320
+ "position": "normal",
321
+ "style": "default",
322
+ "label_placement": "top",
323
+ "instruction_placement": "label",
324
+ "hide_on_screen": "",
325
+ "active": true,
326
+ "description": "",
327
+ "modified": 1594463367
328
+ }
admin/class-acf-admin-page.php CHANGED
@@ -21,7 +21,7 @@ class acfb_Settings_Page {
21
  <div class="components-panel">
22
  <div class="components-panel__body is-opened">
23
  <div class="components-panel__header">
24
- <h2>Getting Started with <strong>AcfBlocks</strong><code>1.8</code></h2>
25
  <p>Congratulations! You've just added awesome Gutenberg blocks. Check more information about the plugin below. ACF Blocks is built on top of ACF Pro, please make sure you have ACF Pro plugin installed & activated to use ACF Blocks Free.</p>
26
  <iframe width="650" height="380" src="https://www.youtube.com/embed/zupr0fl_qAw" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
27
  <?php if(acfb_fs()->is_free_plan()){ ?>
21
  <div class="components-panel">
22
  <div class="components-panel__body is-opened">
23
  <div class="components-panel__header">
24
+ <h2>Getting Started with <strong>AcfBlocks</strong></h2>
25
  <p>Congratulations! You've just added awesome Gutenberg blocks. Check more information about the plugin below. ACF Blocks is built on top of ACF Pro, please make sure you have ACF Pro plugin installed & activated to use ACF Blocks Free.</p>
26
  <iframe width="650" height="380" src="https://www.youtube.com/embed/zupr0fl_qAw" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
27
  <?php if(acfb_fs()->is_free_plan()){ ?>
block-templates/free/acfb-facebook-page.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $acfb_fb_page_margin = acfb_margin_name('acfb_fb_page_margin');
3
+ $acfb_fb_page_padding = acfb_padding_name('acfb_fb_page_padding');
4
+ $acfb_fb_timeline_tab = '';
5
+ $acfb_fb_events_tab = '';
6
+ $acfb_fb_messages_tab = '';
7
+
8
+
9
+ if(get_field('acfb_fb_timeline_tab') == 'true'){
10
+ $acfb_fb_timeline_tab = 'timeline';
11
+ }
12
+
13
+ if(get_field('acfb_fb_events_tab') == 'true'){
14
+ $acfb_fb_events_tab = 'events';
15
+ }
16
+
17
+ if(get_field('acfb_fb_messages_tab') == 'true'){
18
+ $acfb_fb_messages_tab = 'messages';
19
+ }
20
+
21
+
22
+ $uid = $block['id'];
23
+
24
+ $className = 'acfb_facebook_page_block';
25
+ if( !empty($block['className']) ) {
26
+ $className .= ' ' . $block['className'];
27
+ }
28
+ if( !empty($block['align']) ) {
29
+ $className .= ' align' . $block['align'];
30
+ }
31
+ ?>
32
+
33
+ <div class="<?php echo $uid; ?> <?php echo esc_attr($className); ?>">
34
+ <style type="text/css">
35
+ .<?php echo $uid; ?> {
36
+ <?php echo get_margin_field($acfb_fb_page_margin); ?>
37
+ <?php echo get_padding_field($acfb_fb_page_padding); ?>
38
+ }
39
+ </style>
40
+
41
+
42
+ <div class="acfb_fb_page_wrap" style="width: 100%;">
43
+ <iframe src="https://www.facebook.com/plugins/page.php?href=https%3A%2F%2Fwww.facebook.com%2F<?php the_field('acfb_fb_page_id'); ?>%2F&tabs=<?php echo $acfb_fb_timeline_tab; ?>,<?php echo $acfb_fb_events_tab; ?>,<?php echo $acfb_fb_messages_tab; ?>&width=<?php the_field('acfb_fb_page_width'); ?>&height=<?php the_field('acfb_fb_page_height'); ?>&small_header=<?php the_field('acfb_fb_small_header'); ?>&adapt_container_width=true&hide_cover=<?php the_field('acfb_fb_cover_photo'); ?>&hide_cta=<?php the_field('acfb_fb_cta_button'); ?>&show_facepile=<?php the_field('acfb_fb_profile_photos'); ?>&appId" width="<?php the_field('acfb_fb_page_width'); ?>" height="<?php the_field('acfb_fb_page_height'); ?>" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allow="encrypted-media"></iframe>
44
+ </div>
45
+
46
+ </div><!-- Uid -->
css/acfblocks.css CHANGED
@@ -671,14 +671,15 @@
671
  flex-direction: row;
672
  }
673
 
674
- ul.acf-radio-list li input[type="checkbox"],
675
- ul.acf-radio-list li input[type="radio"],
676
- ul.acf-checkbox-list li input[type="checkbox"],
677
- ul.acf-checkbox-list li input[type="radio"] {
678
- display: none;
679
- visibility: hidden;
680
  }
681
 
 
682
  .acfb_social_sharing_main_block a {
683
  padding: 10px;
684
  font-size: 16px;
@@ -2904,8 +2905,6 @@ transition: all .3s .3s;
2904
 
2905
 
2906
 
2907
-
2908
-
2909
  /************ Image Shape CSS ************/
2910
  .acfb_is_wrap .acfb_is{
2911
  -webkit-mask-position: center;
@@ -3066,6 +3065,139 @@ transition: all .3s .3s;
3066
 
3067
 
3068
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3069
 
3070
 
3071
 
@@ -3122,7 +3254,10 @@ transition: all .3s .3s;
3122
  .editor-block-list-item-acf-acfb-highlighted-headline .block-editor-block-types-list__item-title::after,
3123
 
3124
  .editor-block-list-item-acf-acfb-dual-button .editor-block-types-list__item-title::after,
3125
- .editor-block-list-item-acf-acfb-dual-button .block-editor-block-types-list__item-title::after{
 
 
 
3126
  content: " PRO";
3127
  color: #ffffff;
3128
  font-weight: bold;
671
  flex-direction: row;
672
  }
673
 
674
+ .acfb_social_networks ul.acf-radio-list li input[type="checkbox"],
675
+ .acfb_social_networks ul.acf-radio-list li input[type="radio"],
676
+ .acfb_social_networks ul.acf-checkbox-list li input[type="checkbox"],
677
+ .acfb_social_networks ul.acf-checkbox-list li input[type="radio"] {
678
+ display: none;
679
+ visibility: hidden;
680
  }
681
 
682
+
683
  .acfb_social_sharing_main_block a {
684
  padding: 10px;
685
  font-size: 16px;
2905
 
2906
 
2907
 
 
 
2908
  /************ Image Shape CSS ************/
2909
  .acfb_is_wrap .acfb_is{
2910
  -webkit-mask-position: center;
3065
 
3066
 
3067
 
3068
+ /************ Tilt Image CSS ************/
3069
+
3070
+ .acfb_tilt_card {
3071
+ position: relative;
3072
+ transform-style: preserve-3d;
3073
+ }
3074
+
3075
+
3076
+ .acfb_tilt_card .acfb_tilt_title,
3077
+ .acfb_tilt_card .acfb_tilt_content,
3078
+ .acfb_tilt_card .acfb_tilt_content_img,
3079
+ .acfb_tilt_card .acfb_tilt_btn {
3080
+ transform: translateZ(20px);
3081
+ }
3082
+
3083
+ .acfb_tilt_card .acfb_tilt_title {
3084
+ position: relative;
3085
+ z-index: 2;
3086
+ margin:0 0 10px 0 !important;
3087
+ }
3088
+
3089
+ .acfb_tilt_card .acfb_tilt_content_img{
3090
+ margin:0 0 10px 0 !important;
3091
+ }
3092
+
3093
+ .acfb_tilt_card .acfb_tilt_content{
3094
+ margin:0 0 15px 0 !important;
3095
+ }
3096
+
3097
+ .acfb_tilt_card .acfb_tilt_btn {
3098
+ padding: 10px 25px;
3099
+ }
3100
+
3101
+ .acfb_tilt_card .acfb_tilt_bg {
3102
+ position: absolute;
3103
+ z-index: -1;
3104
+ top: 0;
3105
+ left: 0;
3106
+ height: 100%;
3107
+ width: 100%;
3108
+ background-size: cover !important;
3109
+ background-position: center !important;
3110
+ }
3111
+
3112
+
3113
+
3114
+
3115
+
3116
+
3117
+
3118
+ /************ Facebook Page CSS ************/
3119
+
3120
+
3121
+
3122
+
3123
+
3124
+
3125
+
3126
+
3127
+
3128
+ /************ Content Toggle CSS ************/
3129
+ /*.acfb_ct_btn_wrap{
3130
+ display: flex;
3131
+ justify-content: center;
3132
+ align-items: center;
3133
+ }
3134
+
3135
+ .acfb_ct_btn_wrap h3{
3136
+ margin-bottom: 0;
3137
+ }
3138
+
3139
+ .acfb_ct_btn_wrap .acfb_ct_switch {
3140
+ position: relative;
3141
+ display: inline-block;
3142
+ width: 60px;
3143
+ height: 34px;
3144
+ margin: 0 10px;
3145
+ }
3146
+
3147
+ .acfb_ct_btn_wrap .acfb_ct_switch input {
3148
+ opacity: 0;
3149
+ width: 0;
3150
+ height: 0;
3151
+ }
3152
+
3153
+ .acfb_ct_btn_wrap .acfb_ct_slider {
3154
+ position: absolute;
3155
+ cursor: pointer;
3156
+ top: 0;
3157
+ left: 0;
3158
+ right: 0;
3159
+ bottom: 0;
3160
+ background-color: #ccc;
3161
+ -webkit-transition: .4s;
3162
+ transition: .4s;
3163
+ border-radius: 34px;
3164
+ }
3165
+
3166
+ .acfb_ct_btn_wrap .acfb_ct_slider:before {
3167
+ position: absolute;
3168
+ content: "";
3169
+ height: 26px;
3170
+ width: 26px;
3171
+ left: 4px;
3172
+ bottom: 4px;
3173
+ background-color: white;
3174
+ -webkit-transition: .4s;
3175
+ transition: .4s;
3176
+ border-radius: 50%;
3177
+ }
3178
+
3179
+ .acfb_ct_btn_wrap input:checked + .acfb_ct_slider {
3180
+ background-color: #2196F3;
3181
+ }
3182
+
3183
+ .acfb_ct_btn_wrap input:focus + .acfb_ct_slider {
3184
+ box-shadow: 0 0 1px #2196F3;
3185
+ }
3186
+
3187
+ .acfb_ct_btn_wrap input:checked + .acfb_ct_slider:before {
3188
+ -webkit-transform: translateX(26px);
3189
+ -ms-transform: translateX(26px);
3190
+ transform: translateX(26px);
3191
+ }
3192
+
3193
+
3194
+ .acfb_ct_content_two {
3195
+ display: none;
3196
+ }
3197
+ */
3198
+
3199
+
3200
+
3201
 
3202
 
3203
 
3254
  .editor-block-list-item-acf-acfb-highlighted-headline .block-editor-block-types-list__item-title::after,
3255
 
3256
  .editor-block-list-item-acf-acfb-dual-button .editor-block-types-list__item-title::after,
3257
+ .editor-block-list-item-acf-acfb-dual-button .block-editor-block-types-list__item-title::after,
3258
+
3259
+ .editor-block-list-item-acf-acfb-tilt-card .editor-block-types-list__item-title::after,
3260
+ .editor-block-list-item-acf-acfb-tilt-card .block-editor-block-types-list__item-title::after{
3261
  content: " PRO";
3262
  color: #ffffff;
3263
  font-weight: bold;
css/images-grid.css ADDED
@@ -0,0 +1,241 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*.imgs-grid {
2
+ max-width: 800px;
3
+ margin: 0 auto;
4
+ font-size: 0;
5
+ }*/
6
+ .imgs-grid.imgs-grid-1 .imgs-grid-image {
7
+ width: 100%;
8
+ text-align: center;
9
+ }
10
+ .imgs-grid.imgs-grid-2 .imgs-grid-image,
11
+ .imgs-grid.imgs-grid-4 .imgs-grid-image {
12
+ width: 50%;
13
+ }
14
+ .imgs-grid.imgs-grid-3 .imgs-grid-image,
15
+ .imgs-grid.imgs-grid-6 .imgs-grid-image {
16
+ width: 33.333333333333336%;
17
+ }
18
+ .imgs-grid.imgs-grid-5 .imgs-grid-image:nth-child(1),
19
+ .imgs-grid.imgs-grid-5 .imgs-grid-image:nth-child(2),
20
+ .imgs-grid.imgs-grid-5 .imgs-grid-image:nth-child(3) {
21
+ width: 33.333333333333336%;
22
+ }
23
+ .imgs-grid.imgs-grid-5 .imgs-grid-image:nth-child(4),
24
+ .imgs-grid.imgs-grid-5 .imgs-grid-image:nth-child(5) {
25
+ width: 50%;
26
+ }
27
+ .imgs-grid .imgs-grid-image {
28
+ position: relative;
29
+ display: inline-block;
30
+ padding: 1px;
31
+ box-sizing: border-box;
32
+ text-align: center;
33
+ }
34
+ .imgs-grid .imgs-grid-image:before {
35
+ content: "";
36
+ display: block;
37
+ position: absolute;
38
+ top: 1px;
39
+ left: 1px;
40
+ right: 1px;
41
+ bottom: 1px;
42
+ background-color: #f0f0f0;
43
+ }
44
+ .imgs-grid .imgs-grid-image:hover {
45
+ cursor: pointer;
46
+ }
47
+ .imgs-grid .imgs-grid-image .image-wrap {
48
+ position: relative;
49
+ display: inline-block;
50
+ overflow: hidden;
51
+ vertical-align: middle;
52
+ }
53
+ .imgs-grid .imgs-grid-image .image-wrap img {
54
+ position: relative;
55
+ width: 100%;
56
+ /*height: auto;*/
57
+ object-fit: cover;
58
+ margin: 0;
59
+ }
60
+ .imgs-grid .imgs-grid-image .view-all {
61
+ position: absolute;
62
+ top: 0;
63
+ left: 0;
64
+ right: 0;
65
+ bottom: 0;
66
+ text-align: center;
67
+ }
68
+ .imgs-grid .imgs-grid-image .view-all:before {
69
+ display: inline-block;
70
+ content: "";
71
+ vertical-align: middle;
72
+ height: 100%;
73
+ }
74
+ .imgs-grid .imgs-grid-image .view-all:hover {
75
+ cursor: pointer;
76
+ }
77
+ /*.imgs-grid .imgs-grid-image .view-all:hover .view-all-text {
78
+ text-decoration: underline;
79
+ }*/
80
+ .imgs-grid .imgs-grid-image .view-all .view-all-cover {
81
+ position: absolute;
82
+ top: 0;
83
+ left: 0;
84
+ width: 100%;
85
+ height: 100%;
86
+ /*background-color: black;*/
87
+ /*opacity: 0.4;*/
88
+ }
89
+ .imgs-grid .imgs-grid-image .view-all .view-all-text {
90
+ position: relative;
91
+ /*font-size: 16px;*/
92
+ /*font-family: sans-serif;*/
93
+ /*color: white;*/
94
+ }
95
+ @media (max-width: 350px) {
96
+ .imgs-grid .imgs-grid-image .view-all .view-all-text {
97
+ font-size: 10px;
98
+ }
99
+ }
100
+ .imgs-grid-modal {
101
+ position: fixed;
102
+ left: 0;
103
+ right: 0;
104
+ top: 0;
105
+ bottom: 0;
106
+ background-color: black;
107
+ opacity: 0;
108
+ z-index: 100;
109
+ -webkit-user-select: none;
110
+ -moz-user-select: -moz-none;
111
+ -khtml-user-select: none;
112
+ -o-user-select: none;
113
+ user-select: none;
114
+ }
115
+ .imgs-grid-modal .modal-caption {
116
+ padding: 30px 50px;
117
+ text-align: center;
118
+ color: white;
119
+ }
120
+ .imgs-grid-modal .modal-close {
121
+ position: absolute;
122
+ right: 10px;
123
+ top: 10px;
124
+ width: 35px;
125
+ height: 35px;
126
+ background-image: url("../img/imgs-grid-icons.png");
127
+ background-repeat: no-repeat;
128
+ background-position: -100px;
129
+ }
130
+ .imgs-grid-modal .modal-close:hover {
131
+ cursor: pointer;
132
+ }
133
+ .imgs-grid-modal .modal-inner {
134
+ position: absolute;
135
+ top: 60px;
136
+ bottom: 60px;
137
+ left: 0;
138
+ right: 0;
139
+ }
140
+ .imgs-grid-modal .modal-inner .modal-control {
141
+ position: absolute;
142
+ top: 0;
143
+ bottom: 0;
144
+ width: 70px;
145
+ }
146
+ .imgs-grid-modal .modal-inner .modal-control:hover {
147
+ cursor: pointer;
148
+ }
149
+ .imgs-grid-modal .modal-inner .modal-control.left {
150
+ left: 0;
151
+ }
152
+ .imgs-grid-modal .modal-inner .modal-control.right {
153
+ right: 0;
154
+ }
155
+ .imgs-grid-modal .modal-inner .modal-control .arrow {
156
+ margin: 0 auto;
157
+ height: 100%;
158
+ width: 40px;
159
+ background-repeat: no-repeat;
160
+ background-image: url("../img/imgs-grid-icons.png");
161
+ }
162
+ .imgs-grid-modal .modal-inner .modal-control .arrow.left {
163
+ background-position: 2px center;
164
+ }
165
+ .imgs-grid-modal .modal-inner .modal-control .arrow.right {
166
+ background-position: -42px center;
167
+ }
168
+ .imgs-grid-modal .modal-inner .modal-image {
169
+ position: absolute;
170
+ top: 0;
171
+ left: 70px;
172
+ right: 70px;
173
+ bottom: 0;
174
+ text-align: center;
175
+ }
176
+ .imgs-grid-modal .modal-inner .modal-image:before {
177
+ display: inline-block;
178
+ content: "";
179
+ vertical-align: middle;
180
+ height: 100%;
181
+ }
182
+ .imgs-grid-modal .modal-inner .modal-image img {
183
+ max-width: 100%;
184
+ max-height: 100%;
185
+ vertical-align: middle;
186
+ }
187
+ .imgs-grid-modal .modal-inner .modal-image img:hover {
188
+ cursor: pointer;
189
+ }
190
+ .imgs-grid-modal .modal-inner .modal-loader {
191
+ display: inline-block;
192
+ vertical-align: middle;
193
+ color: silver;
194
+ font-size: 14px;
195
+ }
196
+ @media (max-width: 800px) {
197
+ .imgs-grid-modal .modal-inner .modal-control {
198
+ width: 40px;
199
+ }
200
+ .imgs-grid-modal .modal-inner .modal-control .arrow {
201
+ -webkit-transform: scale(0.7);
202
+ -moz-transform: scale(0.7);
203
+ -o-transform: scale(0.7);
204
+ -ms-transform: scale(0.7);
205
+ transform: scale(0.7);
206
+ }
207
+ .imgs-grid-modal .modal-inner .modal-image {
208
+ left: 0;
209
+ right: 0;
210
+ }
211
+ }
212
+ .imgs-grid-modal .modal-indicator {
213
+ position: absolute;
214
+ bottom: 0;
215
+ height: 60px;
216
+ width: 100%;
217
+ text-align: center;
218
+ }
219
+ .imgs-grid-modal .modal-indicator ul {
220
+ margin: 0;
221
+ padding: 0;
222
+ }
223
+ .imgs-grid-modal .modal-indicator ul li {
224
+ display: inline-block;
225
+ width: 12px;
226
+ height: 12px;
227
+ border: 1px solid white;
228
+ box-sizing: border-box;
229
+ border-radius: 100%;
230
+ margin: 0 1px;
231
+ vertical-align: middle;
232
+ }
233
+ .imgs-grid-modal .modal-indicator ul li:hover {
234
+ cursor: pointer;
235
+ }
236
+ .imgs-grid-modal .modal-indicator ul li.selected {
237
+ background-color: white;
238
+ width: 14px;
239
+ height: 14px;
240
+ margin: 0;
241
+ }
free-acf-blocks.php CHANGED
@@ -326,6 +326,42 @@ function acfb_blocks_free() {
326
  },
327
  ));
328
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
329
  }
330
 
331
  }
326
  },
327
  ));
328
 
329
+
330
+ // register a Facebook Page Block.
331
+ acf_register_block(array(
332
+ 'name' => 'acfb-facebook-page',
333
+ 'mode' => 'preview',
334
+ 'title' => __('Facebook Page'),
335
+ 'description' => __('Add Facebook Page in your pages/posts.'),
336
+ 'render_callback' => 'acf_blocks_template',
337
+ 'category' => 'acfb-blocks',
338
+ 'icon' => '<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
339
+ <g clip-path="url(#clip0)">
340
+ <rect width="100" height="100" fill="url(#pattern0)"/>
341
+ <rect x="61" y="-5" width="42" height="43.5273" rx="21" fill="white"/>
342
+ <rect x="61.7635" y="-3.47278" width="41.2364" height="41.2364" fill="url(#pattern1)"/>
343
+ </g>
344
+ <defs>
345
+ <pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1">
346
+ <use xlink:href="#image0" transform="scale(0.01)"/>
347
+ </pattern>
348
+ <pattern id="pattern1" patternContentUnits="objectBoundingBox" width="1" height="1">
349
+ <use xlink:href="#image1" transform="scale(0.01)"/>
350
+ </pattern>
351
+ <clipPath id="clip0">
352
+ <rect width="100" height="100" fill="white"/>
353
+ </clipPath>
354
+ <image id="image0" width="100" height="100" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAABmJLR0QA/wD/AP+gvaeTAAAEMElEQVR4nO2du2sVQRSHvxijjZoHEgu1Ed+iplELxUKj4KNQIZ1CfCCIXUT/CRNbUXyW4hOxVUvxVRgVsTWxSES88dHcoLGYK96YvXvX3Zk9527OB9MsnDNn5sfuzM6Z2QXDMAzDMAzDP02B/HYAa4HOQP6lGQUGgS/SgdRjOXAbGAcmCl7GgVvAMi89F4CdwFfkOyrvMgZ0e+g/ryxneopRLcrSzL3okTvId4p0uZm5F/EzqHcAI8BMD74amXFgARkH+hkeAlmPiQHQAqzL6sSHIB0efBSF+Vkd+BDEh4+ikLkvrDOVYYIowwRRhgmiDBNEGSaIMkwQZZggypBe8hgCLgPvgZ/CsTQDK4BjwCLhWDLRQ7rV0VdAq0C89WjDZQPTtKkna+WSj6w+XB5BGyXglFTlkoI8F6y7Hs+kKpYURPNzerFUxZKCnBasux5npCqWFKQXuAqswc1wpGnGxXIdOCQVhPS0t7dSjAr2YqgME0QZJogyTBBlmCDKMEGUYYIowwRRhgmiDBNEGSaIMkwQZUgvLv7JqQ8DG4AjuG39cYxXbJ4CPzzGYjl1pubUtwDlGJsysDloa4Rz6j5IK8j2Gv4uxNicD9WIf9gRE0NhNznUyqnH5bNfhAjkP2MIisacelw+O69nu+XUK7QBR2NsjgPtYcKZhFhO3Qdpx5AJ/ubU5+E+PPA6gc0g7qD+HM/tqM6pp21PQw/qRSwNPagbEZggyjBBlGGCKMMEUYb04iLAW9ziYhfu4y1JGAFe4n9xcSWw2qNPEdJOe8eAXVV+ZgH9CezOUn9FOAu7Sf/tr4Z+DzkR4asJeBxj85Bw34ms5mRMDIV9D7kXcW2ixvVqm4kw4Uzidg51RKJxUI+7A/K4O0DweISkIAcirjUB+2Js9pGPKPtzqCMYaceQr8CeKj+zgXMJ7AZwE4BQ7AW+pWxT5jFEcto7F3gAvMPl1rtI9uHlPuAgbtr73WM8zcCqShFDw3tImk7oZPKUuTBoHNSnNSaIMkwQZZggyjBBlCEtyBXcxoJW3Oa01wlsqjc5NHksMyuxXPPRMEnSvhheivDVCnyIsRkmn21AV2NiKOzi4kDEtTHcXVOLi+TzV5v+HOqIRFKQjzWuD6Ww8c1wTvVMQVKQjTWub4qx2RAikAhqxdYQpB1DBnFbR6vZSvz/q8q4IwshaSfZDsrCLS6uBd7gBvch3J1xuE5MLcAj3KD7hDA59WPAQo9+c8e2khZklmVEYIIowwRRhgmiDBNEGSaIMkwQZZggyvAhyC8PPopC5r7wIchnDz6KwqesDnxsy2wDRgl7RKARUPNz4hJw34OfRucu+STPErEMl+2TXtyTKiVgSeZe9Ew301OUErDNQ/8FYSlwk/hvXhWllIEbeL4zQp21aMcloJIe4mw0RnAZz5J0IIZhGIZhGEYSfgOAPc5a5UN6DQAAAABJRU5ErkJggg=="/>
355
+ <image id="image1" width="100" height="100" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAABmJLR0QA/wD/AP+gvaeTAAAFwElEQVR4nO2dW2gdRRjHfybGxFOFaiVGWzVa0CBSbFFQiZWmFa212IeiCFbqBS/1TSzog0K9PKgo1isFn+KlD4pS9EFsqiCRQhUqhrZGmyaaUo1ak6hpqDE9PnxHMCUx883OnJndMz8Y9mVm9z/f/+zOzmXnQCKRSCQSiUQikUgkEol4OCG0AEOagcXARf9JzcAc4LTKEWAMGK4ch4BvgW+AXmA38EtVVVsQqyEl4FqgA1gGXEJ2rWWgB/gU+ATYDoxnPGehqQPagS3AKBJAn2kU6ARWA/VVqF9uaAI2AAfwb8JMqQ+4H2j0XNeoKQEPAYcIZ8Tx6RDwYEVbTbEa6Ce8ATOlQWCtt9pHRCvwAeEDbpq2Aef6CEQMrAF+I3yQtWkUuNlDPILRCGwmfGCzpi0UoNGfB+wkfDBdpW7gdKcRqiJnA18TPoiu017gHIdxqgptwA+ED56v9D0yfJML5gMDhA+a73QQOM9NyPwxD7mlQwerWmkPEbcpjRSrATdNnxPp29fLhA9OqLTZQfwAd8Pva4F3HJ3LFePALmTgcBjplI4hg5knV45zKscW5M3pAuBUi2uVkRi8l1m1A1qBEcL/SsvIpNTTyDD+SRZ12ZTh2sNE0sjHMDY1DjxK9lHaLIaUkbGvoNxEeDMGgEWO6pPVkDJwoyMtakqE72/0Awsc1smFIQeQNsqKOnvtbCDsM3McmVc5GFDDdJwP3FvtizYRfqZvo4d6ubhDysiPxKpvYnuH3AmcZVnWBYPAiwGvPxvzgfU2BW0MqUPmwkPyEnA0sIbZ2IhFP8/GkGuQ52QojgFvBry+KQuBq7WFTrS40DqLMi7ZDfxoUe46ZKlPG7LqcTqs345mYB3wmeNzTqEE/E7Yxvw5C92PB9I6gnuTpxBDR3C9UvPKwHpXacRq25AOZX4f9CvzP+ZFhTmqmGkNWabM74NhRd4FwBW+hBjizZBmZBV6aEYVedu9qTBnEXCGaWaNIYuJ4/OFEUXehd5UmFOHxM44symxrLI4osgby3y3cezyaIiGptACKngx5EILIQnBOHYaQ1oshCQE49hpDLGZ/E8IxrFLhlQHL4acYiEkIRgboulXHMVuaY0plyILtGdD01MvoZu568TPIoW/THVoht/H8GvIKLpgm3AEXb/F1zzPH6YZNY+sMQsheaIefz37P00zagwxdjmntOKvI+nFkEELIXmizeO5TdpGQGfIfgshecLn0JBx7DSG9FkIyRM+DTGOncaQfRZC8oTPR1avj5POBSbxN/fc6kO0giH81GsSiZ0RmjtkBPl+sIjMZealQVnpQTGppl2X1Y2/adxbgcMG+V5HFsuZ0A5cbJDP53fn3R7PzSrCLwNqUOh9JQK9KxV61atOPsb98EaRGQF2aApoDZkAPlSWqWXeRwYWjbFZbP2GRZlaZau2gI0h25E3h8T/swfo0hay/WDnNctytcQLSKOuwtaQTnKwKXFAfgbesiloa8gY8KRl2VpgEwE2aW4AviP1Q45PvUqNU8jyWfQE8EiG8kXlYSQ2VmQxBOBdItlwJRK2IX0Pa7IaAvAAstNOrfMrDjYMcGHIT4gptc59yBB+NDxP7Tbqzyo0VY164CNqz5Au7D4vnxYXj6x/mQRuo7iTWNOxD7gF+NvVCV0aAtKwdeBpDjky9gMrMJtUM8a1ISAN2/XIZsNFZQBYjuyI5BQfhoAIvhLZBqNo9ABLUSx+0+DLEJD9SJYiDX1R6ELm6XO9irMBeAZZmJDXt6xjyKuts7epGFiO3DV5M2QIuMGqxjmgBXib/BiyFTjTsq65YgXyahyrIXuJY6OdqtIA3IUsRI7FkD7gHuU1CkcDcAfwJeEM+Qq4nYI12i5YAryK9Ph9G3IY2UxziSPthaYeuAp4CvgCWWyW1ZAJ5N8SnkD6EuluyEAjcDkyAaT5I+E1wN3AZcSzEU0ikUgkEolEIpFIJBKJ3PAPKXuAONOCAmsAAAAASUVORK5CYII="/>
356
+ </defs>
357
+ </svg>',
358
+ 'enqueue_assets' => function(){
359
+ wp_enqueue_style( 'acfb-blocks-css', plugin_dir_url( __FILE__ ) . 'css/acfblocks.css' );
360
+ },
361
+ ));
362
+
363
+
364
+
365
  }
366
 
367
  }
img/imgs-grid-icons.png ADDED
Binary file
img/photo-grid-icons.png ADDED
Binary file
js/content-toggle.js ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function($){
2
+ var initializeBlock = function( $block ) {
3
+
4
+ $block.find("#switch-id").change(function () {
5
+ if ($(this).is(":checked")) {
6
+ $(".acfb_ct_content_two").show();
7
+ $(".acfb_ct_content_one").hide();
8
+ } else {
9
+ $(".acfb_ct_content_two").hide();
10
+ $(".acfb_ct_content_one").show();
11
+ }
12
+ });
13
+ }
14
+
15
+ $(document).ready(function(){
16
+ $('.acfb_content_toggle_block').each(function(){
17
+ initializeBlock( $(this) );
18
+ });
19
+ });
20
+
21
+ if( window.acf ) {
22
+ window.acf.addAction( 'render_block_preview/type=acfb-content-toggle', initializeBlock );
23
+ }
24
+ })(jQuery);
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+ // jQuery(document).ready(function($){
34
+
35
+
36
+ // $(function () {
37
+ // $("#switch-id").change(function () {
38
+ // if ($(this).is(":checked")) {
39
+ // $(".acfb_ct_content_two").show();
40
+ // $(".acfb_ct_content_one").hide();
41
+ // } else {
42
+ // $(".acfb_ct_content_two").hide();
43
+ // $(".acfb_ct_content_one").show();
44
+ // }
45
+ // });
46
+ // });
47
+
48
+ // });
js/fb-image-gallery.js ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function($){
2
+
3
+ var initializeBlock = function( $block ) {
4
+
5
+ const gallery = $block.find('.acfb-fb-gallery');
6
+ const pics = gallery.data('fbimages');
7
+
8
+ gallery.imagesGrid({
9
+ images: pics.split(","),
10
+ cells: 6,
11
+ });
12
+
13
+ }
14
+
15
+
16
+ // Initialize each block on page load (front end).
17
+ $(document).ready(function(){
18
+ $('.acfb_fb_gallery_block').each(function(){
19
+ initializeBlock( $(this) );
20
+ });
21
+ });
22
+
23
+ // Initialize dynamic block preview (editor).
24
+ if( window.acf ) {
25
+ window.acf.addAction( 'render_block_preview/type=acfb-facebook-gallery', initializeBlock );
26
+ }
27
+
28
+ })(jQuery);
js/frontend.js CHANGED
@@ -17,4 +17,5 @@ jQuery(document).ready(function($) {
17
  }
18
  );
19
  });
 
20
  });
17
  }
18
  );
19
  });
20
+
21
  });
js/images-grid.js ADDED
@@ -0,0 +1,652 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ ;(function($) {
3
+
4
+ /**
5
+ * Plugin
6
+ */
7
+
8
+ $.fn.imagesGrid = function(options) {
9
+
10
+ var args = arguments;
11
+
12
+ return this.each(function() {
13
+
14
+ // If options is plain object - destroy previous instance and create new
15
+ if ($.isPlainObject(options)) {
16
+
17
+ if (this._imgGrid instanceof ImagesGrid) {
18
+ this._imgGrid.destroy();
19
+ delete this._imgGrid;
20
+ }
21
+
22
+ var opts = $.extend({}, $.fn.imagesGrid.defaults, options);
23
+ opts.element = $(this);
24
+ this._imgGrid = new ImagesGrid(opts);
25
+
26
+ return;
27
+ }
28
+
29
+ // If options is string - execute method
30
+ if (typeof options === 'string' && this._imgGrid instanceof ImagesGrid) {
31
+ switch (options) {
32
+ case 'modal.open':
33
+ this._imgGrid.modal.open(args[1]);
34
+ break;
35
+ case 'modal.close':
36
+ this._imgGrid.modal.close();
37
+ break;
38
+ case 'destroy':
39
+ this._imgGrid.destroy();
40
+ delete this._imgGrid;
41
+ break;
42
+ }
43
+ }
44
+
45
+ });
46
+
47
+ };
48
+
49
+ /**
50
+ * Plugin default options
51
+ */
52
+
53
+ $.fn.imagesGrid.defaults = {
54
+ images: [],
55
+ cells: 5,
56
+ align: false,
57
+ nextOnClick: true,
58
+ showViewAll: 'more',
59
+ viewAllStartIndex: 'auto',
60
+ loading: 'loading...',
61
+ getViewAllText: function(imagesCount) {
62
+ return 'View all ' + imagesCount + ' images';
63
+ },
64
+ onGridRendered: $.noop,
65
+ onGridItemRendered: $.noop,
66
+ onGridLoaded: $.noop,
67
+ onGridImageLoaded: $.noop,
68
+ onModalOpen: $.noop,
69
+ onModalClose: $.noop,
70
+ onModalImageClick: $.noop,
71
+ onModalImageUpdate: $.noop
72
+ };
73
+
74
+ /**
75
+ * ImagesGrid
76
+ * opts - Grid options
77
+ * opts.element - Element where to render images grid
78
+ * opts.images - Array of images. Array item can be string or object { src, alt, title, caption, thumbnail }
79
+ * opts.align - Align images with different height
80
+ * opts.cells - Maximum number of cells (from 1 to 6)
81
+ * opts.showViewAll - Show view all text:
82
+ * 'more' - show if number of images greater than number of cells
83
+ * 'always' - always show
84
+ * false - never show
85
+ * opts.viewAllStartIndex - Start image index when view all link clicked
86
+ * opts.getViewAllText - Callback function returns text for "view all images" link
87
+ * opts.onGridRendered - Callback function fired when grid items added to the DOM
88
+ * opts.onGridItemRendered - Callback function fired when grid item added to the DOM
89
+ * opts.onGridLoaded - Callback function fired when grid images loaded
90
+ * opts.onGridImageLoaded - Callback function fired when grid image loaded
91
+ */
92
+
93
+ function ImagesGrid(opts) {
94
+
95
+ this.opts = opts || {};
96
+
97
+ this.$window = $(window);
98
+ this.$element = this.opts.element;
99
+ this.$gridItems = [];
100
+
101
+ this.modal = null;
102
+ this.imageLoadCount = 0;
103
+
104
+ var cells = this.opts.cells;
105
+ this.opts.cells = (cells < 1)? 1: (cells > 6)? 6: cells;
106
+
107
+ this.onWindowResize = this.onWindowResize.bind(this);
108
+ this.onImageClick = this.onImageClick.bind(this);
109
+
110
+ this.init();
111
+ }
112
+
113
+ ImagesGrid.prototype.init = function() {
114
+
115
+ this.setGridClass();
116
+ this.renderGridItems();
117
+ this.createModal();
118
+
119
+ this.$window.on('resize', this.onWindowResize);
120
+ }
121
+
122
+ ImagesGrid.prototype.createModal = function() {
123
+
124
+ var opts = this.opts;
125
+
126
+ this.modal = new ImagesGridModal({
127
+ loading: opts.loading,
128
+ images: opts.images,
129
+ nextOnClick: opts.nextOnClick,
130
+ onModalOpen: opts.onModalOpen,
131
+ onModalClose: opts.onModalClose,
132
+ onModalImageClick: opts.onModalImageClick,
133
+ onModalImageUpdate: opts.onModalImageUpdate
134
+ });
135
+ }
136
+
137
+ ImagesGrid.prototype.setGridClass = function() {
138
+
139
+ var opts = this.opts,
140
+ imgsLen = opts.images.length,
141
+ cellsCount = (imgsLen < opts.cells)? imgsLen: opts.cells;
142
+
143
+ this.$element.addClass('imgs-grid imgs-grid-' + cellsCount);
144
+ }
145
+
146
+ ImagesGrid.prototype.renderGridItems = function() {
147
+
148
+ var opts = this.opts,
149
+ imgs = opts.images,
150
+ imgsLen = imgs.length;
151
+
152
+ if (!imgs) {
153
+ return;
154
+ }
155
+
156
+ this.$element.empty();
157
+ this.$gridItems = [];
158
+
159
+ for (var i = 0; i < imgsLen; ++i) {
160
+ if (i === opts.cells) {
161
+ break;
162
+ }
163
+ this.renderGridItem(imgs[i], i);
164
+ }
165
+
166
+ if (opts.showViewAll === 'always' ||
167
+ (opts.showViewAll === 'more' && imgsLen > opts.cells)
168
+ ) {
169
+ this.renderViewAll();
170
+ }
171
+
172
+ opts.onGridRendered(this.$element);
173
+ }
174
+
175
+ ImagesGrid.prototype.renderGridItem = function(image, index) {
176
+
177
+ var src = image,
178
+ alt = '',
179
+ title = '',
180
+ opts = this.opts,
181
+ _this = this;
182
+
183
+ if ($.isPlainObject(image)) {
184
+ src = image.thumbnail || image.src;
185
+ alt = image.alt || '';
186
+ title = image.title || '';
187
+ }
188
+
189
+ var item = $('<div>', {
190
+ class: 'imgs-grid-image',
191
+ click: this.onImageClick,
192
+ data: { index: index }
193
+ });
194
+
195
+ item.append(
196
+ $('<div>', {
197
+ class: 'image-wrap'
198
+ }).append(
199
+ $('<img>', {
200
+ src: src,
201
+ alt: alt,
202
+ title: title,
203
+ on: {
204
+ load: function(event) {
205
+ _this.onImageLoaded(event, $(this), image);
206
+ }
207
+ }
208
+ })
209
+ )
210
+ );
211
+
212
+ this.$gridItems.push(item);
213
+ this.$element.append(item);
214
+
215
+ opts.onGridItemRendered(item, image);
216
+ }
217
+
218
+ ImagesGrid.prototype.renderViewAll = function() {
219
+
220
+ var opts = this.opts;
221
+
222
+ this.$element.find('.imgs-grid-image:last .image-wrap').append(
223
+ $('<div>', {
224
+ class: 'view-all'
225
+ }).append(
226
+ $('<span>', {
227
+ class: 'view-all-cover',
228
+ }),
229
+ $('<span>', {
230
+ class: 'view-all-text',
231
+ text: opts.getViewAllText(opts.images.length)
232
+ })
233
+ )
234
+ );
235
+ }
236
+
237
+ ImagesGrid.prototype.onWindowResize = function(event) {
238
+ if (this.opts.align) {
239
+ this.align();
240
+ }
241
+ }
242
+
243
+ ImagesGrid.prototype.onImageClick = function(event) {
244
+
245
+ var opts = this.opts,
246
+ img = $(event.currentTarget),
247
+ imageIndex;
248
+
249
+ if (img.find('.view-all').length > 0 &&
250
+ typeof opts.viewAllStartIndex === 'number' ) {
251
+ imageIndex = opts.viewAllStartIndex;
252
+ } else {
253
+ imageIndex = img.data('index');
254
+ }
255
+
256
+ this.modal.open(imageIndex);
257
+ }
258
+
259
+ ImagesGrid.prototype.onImageLoaded = function(event, imageEl, image) {
260
+
261
+ var opts = this.opts;
262
+
263
+ ++this.imageLoadCount;
264
+
265
+ opts.onGridImageLoaded(event, imageEl, image);
266
+
267
+ if (this.imageLoadCount === this.$gridItems.length) {
268
+ this.imageLoadCount = 0;
269
+ this.onAllImagesLoaded()
270
+ }
271
+ }
272
+
273
+ ImagesGrid.prototype.onAllImagesLoaded = function() {
274
+
275
+ var opts = this.opts;
276
+
277
+ if (opts.align) {
278
+ this.align();
279
+ }
280
+
281
+ opts.onGridLoaded(this.$element);
282
+ }
283
+
284
+ ImagesGrid.prototype.align = function() {
285
+
286
+ var itemsLen = this.$gridItems.length;
287
+
288
+ switch (itemsLen) {
289
+ case 2:
290
+ case 3:
291
+ this.alignItems(this.$gridItems);
292
+ break;
293
+ case 4:
294
+ this.alignItems(this.$gridItems.slice(0, 2));
295
+ this.alignItems(this.$gridItems.slice(2));
296
+ break;
297
+ case 5:
298
+ case 6:
299
+ this.alignItems(this.$gridItems.slice(0, 3));
300
+ this.alignItems(this.$gridItems.slice(3));
301
+ break;
302
+ }
303
+ }
304
+
305
+ ImagesGrid.prototype.alignItems = function(items) {
306
+
307
+ var itemsHeight = items.map(function(item) {
308
+ return item.find('img').height();
309
+ });
310
+
311
+ var normalizedHeight = Math.min.apply(null, itemsHeight);
312
+
313
+ $(items).each(function() {
314
+
315
+ var item = $(this),
316
+ imgWrap = item.find('.image-wrap'),
317
+ img = item.find('img'),
318
+ imgHeight = img.height();
319
+
320
+ imgWrap.height(normalizedHeight);
321
+
322
+ if (imgHeight > normalizedHeight) {
323
+ var top = Math.floor((imgHeight - normalizedHeight) / 2);
324
+ img.css({ top: -top });
325
+ }
326
+ });
327
+ }
328
+
329
+ ImagesGrid.prototype.destroy = function() {
330
+
331
+ this.$window.off('resize',this.onWindowResize);
332
+
333
+ this.$element.empty()
334
+ .removeClass('imgs-grid imgs-grid-' + this.$gridItems.length);
335
+
336
+ this.modal.destroy();
337
+ }
338
+
339
+ /**
340
+ * ImagesGridModal
341
+ * opts - Modal options
342
+ * opts.images - Array of images
343
+ * opts.nextOnClick - Show next image when click on modal image
344
+ * opts.loading - Image loading text
345
+ * opts.onModalOpen - Callback function called when modal opened
346
+ * opts.onModalClose - Callback function called when modal closed
347
+ * opts.onModalImageClick - Callback function called on modal image click
348
+ */
349
+
350
+ function ImagesGridModal(opts) {
351
+
352
+ this.opts = opts || {};
353
+
354
+ this.imageIndex = null;
355
+
356
+ this.$document = $(document);
357
+ this.$modal = null;
358
+ this.$indicator = null;
359
+
360
+ this.close = this.close.bind(this);
361
+ this.prev = this.prev.bind(this);
362
+ this.next = this.next.bind(this);
363
+ this.onIndicatorClick = this.onIndicatorClick.bind(this);
364
+ this.onImageLoaded = this.onImageLoaded.bind(this);
365
+ this.onKeyUp = this.onKeyUp.bind(this);
366
+
367
+ this.$document.on('keyup', this.onKeyUp);
368
+ }
369
+
370
+ ImagesGridModal.prototype.open = function(imageIndex) {
371
+
372
+ if (this.isOpened()) {
373
+ return;
374
+ }
375
+
376
+ this.imageIndex = parseInt(imageIndex) || 0;
377
+ this.render();
378
+ }
379
+
380
+ ImagesGridModal.prototype.close = function(event) {
381
+
382
+ if (!this.$modal) {
383
+ return;
384
+ }
385
+
386
+ var opts = this.opts;
387
+
388
+ this.$modal.animate({
389
+ opacity: 0
390
+ }, {
391
+ duration: 100,
392
+ complete: function() {
393
+ this.$modal.remove();
394
+ this.$modal = null;
395
+ this.$indicator = null;
396
+ this.imageIndex = null;
397
+ opts.onModalClose();
398
+ }.bind(this)
399
+ });
400
+ }
401
+
402
+ ImagesGridModal.prototype.isOpened = function() {
403
+ return (this.$modal && this.$modal.is(':visible'));
404
+ }
405
+
406
+ ImagesGridModal.prototype.render = function() {
407
+
408
+ var opts = this.opts;
409
+
410
+ this.renderModal();
411
+ this.renderCaption();
412
+ this.renderCloseButton();
413
+ this.renderInnerContainer();
414
+ this.renderIndicatorContainer();
415
+
416
+ this.$modal.animate({
417
+ opacity: 1
418
+ }, {
419
+ duration: 100,
420
+ complete: function() {
421
+ opts.onModalOpen(this.$modal, opts.images[this.imageIndex]);
422
+ }.bind(this)
423
+ });
424
+ }
425
+
426
+ ImagesGridModal.prototype.renderModal = function() {
427
+ this.$modal = $('<div>', {
428
+ class: 'imgs-grid-modal'
429
+ }).appendTo('body');
430
+ }
431
+
432
+ ImagesGridModal.prototype.renderCaption = function() {
433
+ this.$caption = $('<div>', {
434
+ class: 'modal-caption',
435
+ text: this.getImageCaption(this.imageIndex)
436
+ }).appendTo(this.$modal);
437
+ }
438
+
439
+ ImagesGridModal.prototype.renderCloseButton = function() {
440
+ this.$modal.append($('<div>', {
441
+ class: 'modal-close',
442
+ click: this.close
443
+ }));
444
+ }
445
+
446
+ ImagesGridModal.prototype.renderInnerContainer = function() {
447
+
448
+ var opts = this.opts,
449
+ image = this.getImage(this.imageIndex);
450
+
451
+ this.$modal.append(
452
+ $('<div>', {
453
+ class: 'modal-inner'
454
+ }).append(
455
+ $('<div>', {
456
+ class: 'modal-image'
457
+ }).append(
458
+ $('<img>', {
459
+ src: image.src,
460
+ alt: image.alt,
461
+ title: image.title,
462
+ on: {
463
+ load: this.onImageLoaded,
464
+ click: function(event) {
465
+ this.onImageClick(event, $(this), image);
466
+ }.bind(this)
467
+ }
468
+ }),
469
+ $('<div>', {
470
+ class: 'modal-loader',
471
+ html: opts.loading
472
+ })
473
+ ),
474
+ $('<div>', {
475
+ class: 'modal-control left',
476
+ click: this.prev
477
+ }).append(
478
+ $('<div>', {
479
+ class: 'arrow left'
480
+ })
481
+ ),
482
+ $('<div>', {
483
+ class: 'modal-control right',
484
+ click: this.next
485
+ }).append(
486
+ $('<div>', {
487
+ class: 'arrow right'
488
+ })
489
+ )
490
+ )
491
+ );
492
+
493
+ if (opts.images.length <= 1) {
494
+ this.$modal.find('.modal-control').hide();
495
+ }
496
+ }
497
+
498
+ ImagesGridModal.prototype.renderIndicatorContainer = function() {
499
+
500
+ var opts = this.opts,
501
+ imgsLen = opts.images.length;
502
+
503
+ if (imgsLen == 1) {
504
+ return;
505
+ }
506
+
507
+ this.$indicator = $('<div>', {
508
+ class: 'modal-indicator'
509
+ });
510
+
511
+ var list = $('<ul>'), i;
512
+ for (i = 0; i < imgsLen; ++i) {
513
+ list.append($('<li>', {
514
+ class: this.imageIndex == i? 'selected': '',
515
+ click: this.onIndicatorClick,
516
+ data: { index: i }
517
+ }));
518
+ }
519
+
520
+ this.$indicator.append(list);
521
+ this.$modal.append(this.$indicator);
522
+ }
523
+
524
+ ImagesGridModal.prototype.prev = function() {
525
+
526
+ var imgsLen = this.opts.images.length;
527
+
528
+ if (this.imageIndex > 0) {
529
+ --this.imageIndex;
530
+ } else {
531
+ this.imageIndex = imgsLen - 1;
532
+ }
533
+
534
+ this.updateImage();
535
+ }
536
+
537
+ ImagesGridModal.prototype.next = function() {
538
+
539
+ var imgsLen = this.opts.images.length;
540
+
541
+ if (this.imageIndex < imgsLen - 1) {
542
+ ++this.imageIndex;
543
+ } else {
544
+ this.imageIndex = 0;
545
+ }
546
+
547
+ this.updateImage();
548
+ }
549
+
550
+ ImagesGridModal.prototype.updateImage = function() {
551
+
552
+ var opts = this.opts,
553
+ image = this.getImage(this.imageIndex),
554
+ imageEl = this.$modal.find('.modal-image img');
555
+
556
+ imageEl.attr({
557
+ src: image.src,
558
+ alt: image.alt,
559
+ title: image.title
560
+ });
561
+
562
+ this.$modal.find('.modal-caption').text(
563
+ this.getImageCaption(this.imageIndex) );
564
+
565
+ if (this.$indicator) {
566
+ var indicatorList = this.$indicator.find('ul');
567
+ indicatorList.children().removeClass('selected');
568
+ indicatorList.children().eq(this.imageIndex).addClass('selected');
569
+ }
570
+
571
+ this.showLoader();
572
+
573
+ opts.onModalImageUpdate(imageEl, image);
574
+ }
575
+
576
+ ImagesGridModal.prototype.onImageClick = function(event, imageEl, image) {
577
+
578
+ var opts = this.opts;
579
+
580
+ if (opts.nextOnClick) {
581
+ this.next();
582
+ }
583
+
584
+ opts.onModalImageClick(event, imageEl, image);
585
+ }
586
+
587
+ ImagesGridModal.prototype.onImageLoaded = function() {
588
+ this.hideLoader();
589
+ }
590
+
591
+ ImagesGridModal.prototype.onIndicatorClick = function(event) {
592
+ var index = $(event.target).data('index');
593
+ this.imageIndex = index;
594
+ this.updateImage();
595
+ }
596
+
597
+ ImagesGridModal.prototype.onKeyUp = function(event) {
598
+
599
+ if (!this.$modal) {
600
+ return;
601
+ }
602
+
603
+ switch (event.keyCode) {
604
+ case 27: // Esc
605
+ this.close();
606
+ break;
607
+ case 37: // Left arrow
608
+ this.prev();
609
+ break;
610
+ case 39: // Right arrow
611
+ this.next();
612
+ break;
613
+ }
614
+ }
615
+
616
+ ImagesGridModal.prototype.getImage = function(index) {
617
+
618
+ var opts = this.opts,
619
+ image = opts.images[index];
620
+
621
+ if ($.isPlainObject(image)) {
622
+ return image;
623
+ } else {
624
+ return { src: image, alt: '', title: '' }
625
+ }
626
+ }
627
+
628
+ ImagesGridModal.prototype.getImageCaption = function(imgIndex) {
629
+ var img = this.getImage(imgIndex);
630
+ return img.caption || '';
631
+ }
632
+
633
+ ImagesGridModal.prototype.showLoader = function() {
634
+ if (this.$modal) {
635
+ this.$modal.find('.modal-image img').hide();
636
+ this.$modal.find('.modal-loader').show();
637
+ }
638
+ }
639
+
640
+ ImagesGridModal.prototype.hideLoader = function() {
641
+ if (this.$modal) {
642
+ this.$modal.find('.modal-image img').show();
643
+ this.$modal.find('.modal-loader').hide();
644
+ }
645
+ }
646
+
647
+ ImagesGridModal.prototype.destroy = function() {
648
+ this.$document.off('keyup', this.onKeyUp);
649
+ this.close();
650
+ }
651
+
652
+ })(jQuery);
js/tilt-card.js ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function($){
2
+ var initializeBlock = function( $block ) {
3
+
4
+ var acfb_tilt_max = $($block).find(".acfb_tilt_card").data('max');
5
+ var acfb_tilt_perspective = $($block).find(".acfb_tilt_card").data('perspective');
6
+ var acfb_tilt_speed = $($block).find(".acfb_tilt_card").data('speed');
7
+ var acfb_tilt_scale = $($block).find(".acfb_tilt_card").data('scale');
8
+ var acfb_tilt_glare_switch = $($block).find(".acfb_tilt_card").data('glare') === 1 ? true : false;
9
+
10
+
11
+ $block.find(".acfb_tilt_card").tilt({
12
+
13
+ maxTilt: acfb_tilt_max,
14
+ perspective: acfb_tilt_perspective, // Transform perspective, the lower the more extreme the tilt gets.
15
+ easing: "cubic-bezier(.03,.98,.52,.99)", // Easing on enter/exit.
16
+ scale: acfb_tilt_scale, // 2 = 200%, 1.5 = 150%, etc..
17
+ speed: acfb_tilt_speed, // Speed of the enter/exit transition.
18
+ transition: true, // Set a transition on enter/exit.
19
+ disableAxis: null, // What axis should be disabled. Can be X or Y.
20
+ reset: true, // If the tilt effect has to be reset on exit.
21
+ glare: acfb_tilt_glare_switch, // Enables glare effect
22
+ maxGlare: 1 // From 0 - 1.
23
+
24
+ });
25
+
26
+ }
27
+
28
+ $(document).ready(function(){
29
+ $('.acfb_tilt_card_block').each(function(){
30
+ initializeBlock( $(this) );
31
+
32
+ });
33
+ });
34
+
35
+ if( window.acf ) {
36
+ window.acf.addAction( 'render_block_preview/type=acfb-tilt-card', initializeBlock );
37
+ }
38
+ })(jQuery);
js/tilt.jquery.js ADDED
@@ -0,0 +1,305 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function (factory) {
2
+ if (typeof define === 'function' && define.amd) {
3
+ // AMD. Register as an anonymous module.
4
+ define(['jquery'], factory);
5
+ } else if (typeof module === 'object' && module.exports) {
6
+ // Node/CommonJS
7
+ module.exports = function( root, jQuery ) {
8
+ if ( jQuery === undefined ) {
9
+ // require('jQuery') returns a factory that requires window to
10
+ // build a jQuery instance, we normalize how we use modules
11
+ // that require this pattern but the window provided is a noop
12
+ // if it's defined (how jquery works)
13
+ if ( typeof window !== 'undefined' ) {
14
+ jQuery = require('jquery');
15
+ }
16
+ else {
17
+ jQuery = require('jquery')(root);
18
+ }
19
+ }
20
+ factory(jQuery);
21
+ return jQuery;
22
+ };
23
+ } else {
24
+ // Browser globals
25
+ factory(jQuery);
26
+ }
27
+ }(function ($) {
28
+ $.fn.tilt = function (options) {
29
+
30
+ /**
31
+ * RequestAnimationFrame
32
+ */
33
+ const requestTick = function() {
34
+ if (this.ticking) return;
35
+ requestAnimationFrame(updateTransforms.bind(this));
36
+ this.ticking = true;
37
+ };
38
+
39
+ /**
40
+ * Bind mouse movement evens on instance
41
+ */
42
+ const bindEvents = function() {
43
+ const _this = this;
44
+ $(this).on('mousemove', mouseMove);
45
+ $(this).on('mouseenter', mouseEnter);
46
+ if (this.settings.reset) $(this).on('mouseleave', mouseLeave);
47
+ if (this.settings.glare) $(window).on('resize', updateGlareSize.bind(_this));
48
+ };
49
+
50
+ /**
51
+ * Set transition only on mouse leave and mouse enter so it doesn't influence mouse move transforms
52
+ */
53
+ const setTransition = function() {
54
+ if (this.timeout !== undefined) clearTimeout(this.timeout);
55
+ $(this).css({'transition': `${this.settings.speed}ms ${this.settings.easing}`});
56
+ if(this.settings.glare) this.glareElement.css({'transition': `opacity ${this.settings.speed}ms ${this.settings.easing}`});
57
+ this.timeout = setTimeout(() => {
58
+ $(this).css({'transition': ''});
59
+ if(this.settings.glare) this.glareElement.css({'transition': ''});
60
+ }, this.settings.speed);
61
+ };
62
+
63
+ /**
64
+ * When user mouse enters tilt element
65
+ */
66
+ const mouseEnter = function(event) {
67
+ this.ticking = false;
68
+ $(this).css({'will-change': 'transform'});
69
+ setTransition.call(this);
70
+
71
+ // Trigger change event
72
+ $(this).trigger("tilt.mouseEnter");
73
+ };
74
+
75
+ /**
76
+ * Return the x,y position of the mouse on the tilt element
77
+ * @returns {{x: *, y: *}}
78
+ */
79
+ const getMousePositions = function(event) {
80
+ if (typeof(event) === "undefined") {
81
+ event = {
82
+ pageX: $(this).offset().left + $(this).outerWidth() / 2,
83
+ pageY: $(this).offset().top + $(this).outerHeight() / 2
84
+ };
85
+ }
86
+ return {x: event.pageX, y: event.pageY};
87
+ };
88
+
89
+ /**
90
+ * When user mouse moves over the tilt element
91
+ */
92
+ const mouseMove = function(event) {
93
+ this.mousePositions = getMousePositions(event);
94
+ requestTick.call(this);
95
+ };
96
+
97
+ /**
98
+ * When user mouse leaves tilt element
99
+ */
100
+ const mouseLeave = function() {
101
+ setTransition.call(this);
102
+ this.reset = true;
103
+ requestTick.call(this);
104
+
105
+ // Trigger change event
106
+ $(this).trigger("tilt.mouseLeave");
107
+ };
108
+
109
+ /**
110
+ * Get tilt values
111
+ *
112
+ * @returns {{x: tilt value, y: tilt value}}
113
+ */
114
+ const getValues = function() {
115
+ const width = $(this).outerWidth();
116
+ const height = $(this).outerHeight();
117
+ const left = $(this).offset().left;
118
+ const top = $(this).offset().top;
119
+ const percentageX = (this.mousePositions.x - left) / width;
120
+ const percentageY = (this.mousePositions.y - top) / height;
121
+ // x or y position inside instance / width of instance = percentage of position inside instance * the max tilt value
122
+ const tiltX = ((this.settings.maxTilt / 2) - ((percentageX) * this.settings.maxTilt)).toFixed(2);
123
+ const tiltY = (((percentageY) * this.settings.maxTilt) - (this.settings.maxTilt / 2)).toFixed(2);
124
+ // angle
125
+ const angle = Math.atan2(this.mousePositions.x - (left+width/2),- (this.mousePositions.y - (top+height/2)) )*(180/Math.PI);
126
+ // Return x & y tilt values
127
+ return {tiltX, tiltY, 'percentageX': percentageX * 100, 'percentageY': percentageY * 100, angle};
128
+ };
129
+
130
+ /**
131
+ * Update tilt transforms on mousemove
132
+ */
133
+ const updateTransforms = function() {
134
+ this.transforms = getValues.call(this);
135
+
136
+ if (this.reset) {
137
+ this.reset = false;
138
+ $(this).css('transform', `perspective(${this.settings.perspective}px) rotateX(0deg) rotateY(0deg)`);
139
+
140
+ // Rotate glare if enabled
141
+ if (this.settings.glare){
142
+ this.glareElement.css('transform', `rotate(180deg) translate(-50%, -50%)`);
143
+ this.glareElement.css('opacity', `0`);
144
+ }
145
+
146
+ return;
147
+ } else {
148
+ $(this).css('transform', `perspective(${this.settings.perspective}px) rotateX(${this.settings.disableAxis === 'x' ? 0 : this.transforms.tiltY}deg) rotateY(${this.settings.disableAxis === 'y' ? 0 : this.transforms.tiltX}deg) scale3d(${this.settings.scale},${this.settings.scale},${this.settings.scale})`);
149
+
150
+ // Rotate glare if enabled
151
+ if (this.settings.glare){
152
+ this.glareElement.css('transform', `rotate(${this.transforms.angle}deg) translate(-50%, -50%)`);
153
+ this.glareElement.css('opacity', `${this.transforms.percentageY * this.settings.maxGlare / 100}`);
154
+ }
155
+ }
156
+
157
+ // Trigger change event
158
+ $(this).trigger("change", [this.transforms]);
159
+
160
+ this.ticking = false;
161
+ };
162
+
163
+ /**
164
+ * Prepare elements
165
+ */
166
+ const prepareGlare = function () {
167
+ const glarePrerender = this.settings.glarePrerender;
168
+
169
+ // If option pre-render is enabled we assume all html/css is present for an optimal glare effect.
170
+ if (!glarePrerender)
171
+ // Create glare element
172
+ $(this).append('<div class="js-tilt-glare"><div class="js-tilt-glare-inner"></div></div>');
173
+
174
+ // Store glare selector if glare is enabled
175
+ this.glareElementWrapper = $(this).find(".js-tilt-glare");
176
+ this.glareElement = $(this).find(".js-tilt-glare-inner");
177
+
178
+ // Remember? We assume all css is already set, so just return
179
+ if (glarePrerender) return;
180
+
181
+ // Abstracted re-usable glare styles
182
+ const stretch = {
183
+ 'position': 'absolute',
184
+ 'top': '0',
185
+ 'left': '0',
186
+ 'width': '100%',
187
+ 'height': '100%',
188
+ };
189
+
190
+ // Style glare wrapper
191
+ this.glareElementWrapper.css(stretch).css({
192
+ 'overflow': 'hidden',
193
+ 'pointer-events': 'none',
194
+ });
195
+
196
+ // Style glare element
197
+ this.glareElement.css({
198
+ 'position': 'absolute',
199
+ 'top': '50%',
200
+ 'left': '50%',
201
+ 'background-image': `linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%)`,
202
+ 'width': `${$(this).outerWidth()*2}`,
203
+ 'height': `${$(this).outerWidth()*2}`,
204
+ 'transform': 'rotate(180deg) translate(-50%, -50%)',
205
+ 'transform-origin': '0% 0%',
206
+ 'opacity': '0',
207
+ });
208
+
209
+ };
210
+
211
+ /**
212
+ * Update glare on resize
213
+ */
214
+ const updateGlareSize = function () {
215
+ this.glareElement.css({
216
+ 'width': `${$(this).outerWidth()*2}`,
217
+ 'height': `${$(this).outerWidth()*2}`,
218
+ });
219
+ };
220
+
221
+ /**
222
+ * Public methods
223
+ */
224
+ $.fn.tilt.destroy = function() {
225
+ $(this).each(function () {
226
+ $(this).find('.js-tilt-glare').remove();
227
+ $(this).css({'will-change': '', 'transform': ''});
228
+ $(this).off('mousemove mouseenter mouseleave');
229
+ });
230
+ };
231
+
232
+ $.fn.tilt.getValues = function() {
233
+ const results = [];
234
+ $(this).each(function () {
235
+ this.mousePositions = getMousePositions.call(this);
236
+ results.push(getValues.call(this));
237
+ });
238
+ return results;
239
+ };
240
+
241
+ $.fn.tilt.reset = function() {
242
+ $(this).each(function () {
243
+ this.mousePositions = getMousePositions.call(this);
244
+ this.settings = $(this).data('settings');
245
+ mouseLeave.call(this);
246
+ setTimeout(() => {
247
+ this.reset = false;
248
+ }, this.settings.transition);
249
+ });
250
+ };
251
+
252
+ /**
253
+ * Loop every instance
254
+ */
255
+ return this.each(function () {
256
+
257
+ /**
258
+ * Default settings merged with user settings
259
+ * Can be set trough data attributes or as parameter.
260
+ * @type {*}
261
+ */
262
+ this.settings = $.extend({
263
+ maxTilt: $(this).is('[data-tilt-max]') ? $(this).data('tilt-max') : 20,
264
+ perspective: $(this).is('[data-tilt-perspective]') ? $(this).data('tilt-perspective') : 300,
265
+ easing: $(this).is('[data-tilt-easing]') ? $(this).data('tilt-easing') : 'cubic-bezier(.03,.98,.52,.99)',
266
+ scale: $(this).is('[data-tilt-scale]') ? $(this).data('tilt-scale') : '1',
267
+ speed: $(this).is('[data-tilt-speed]') ? $(this).data('tilt-speed') : '400',
268
+ transition: $(this).is('[data-tilt-transition]') ? $(this).data('tilt-transition') : true,
269
+ disableAxis: $(this).is('[data-tilt-disable-axis]') ? $(this).data('tilt-disable-axis') : null,
270
+ axis: $(this).is('[data-tilt-axis]') ? $(this).data('tilt-axis') : null,
271
+ reset: $(this).is('[data-tilt-reset]') ? $(this).data('tilt-reset') : true,
272
+ glare: $(this).is('[data-tilt-glare]') ? $(this).data('tilt-glare') : false,
273
+ maxGlare: $(this).is('[data-tilt-maxglare]') ? $(this).data('tilt-maxglare') : 1,
274
+ }, options);
275
+
276
+ // Add deprecation warning & set disableAxis to deprecated axis setting
277
+ if(this.settings.axis !== null){
278
+ console.warn('Tilt.js: the axis setting has been renamed to disableAxis. See https://github.com/gijsroge/tilt.js/pull/26 for more information');
279
+ this.settings.disableAxis = this.settings.axis;
280
+ }
281
+
282
+ this.init = () => {
283
+ // Store settings
284
+ $(this).data('settings', this.settings);
285
+
286
+ // Prepare element
287
+ if(this.settings.glare) prepareGlare.call(this);
288
+
289
+ // Bind events
290
+ bindEvents.call(this);
291
+ };
292
+
293
+ // Init
294
+ this.init();
295
+
296
+ });
297
+ };
298
+
299
+ /**
300
+ * Auto load
301
+ */
302
+ $('[data-tilt]').tilt();
303
+
304
+ return true;
305
+ }));
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
  === Gutenberg Blocks - ACF Blocks Suite ===
2
  Contributors: munirkamal
3
  Tags: block, gutenberg block, acf block, gutenberg, acf, editor
4
- Requires at least: 4.7
5
  Requires PHP: 5.6
6
  Tested up to: 5.4
7
- Stable tag: 2.0.1
8
  License: GPLv2 or later
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -38,6 +38,7 @@ ACF Blocks is a collection of ready-to-use Gutenberg Blocks for WordPress. Super
38
  <li>Counter Number Block</li>
39
  <li>Click to tweet Block</li>
40
  <li>Business Hours Block</li>
 
41
  </ol>
42
 
43
  == ACF Blocks Pro Brings More Power ==
@@ -62,6 +63,7 @@ Have a Sneak-peek to ACF Pro Blocks.
62
  <li>Highlighted Headline Block</li>
63
  <li>Animated Headline Block</li>
64
  <li>Dual Button Block</li>
 
65
  <li>Many more to come...</li>
66
  </ol>
67
 
@@ -137,6 +139,11 @@ Absolutely! You can definitely use the ACF Blocks on yours as well as your clien
137
 
138
  == Changelog ==
139
 
 
 
 
 
 
140
  = 2.0.1 =
141
  * Bug Fixes
142
  * Remove default margin padding values
1
  === Gutenberg Blocks - ACF Blocks Suite ===
2
  Contributors: munirkamal
3
  Tags: block, gutenberg block, acf block, gutenberg, acf, editor
4
+ Requires at least: 5.0
5
  Requires PHP: 5.6
6
  Tested up to: 5.4
7
+ Stable tag: 2.1.0
8
  License: GPLv2 or later
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
10
 
38
  <li>Counter Number Block</li>
39
  <li>Click to tweet Block</li>
40
  <li>Business Hours Block</li>
41
+ <li>Facebook Page Block</li>
42
  </ol>
43
 
44
  == ACF Blocks Pro Brings More Power ==
63
  <li>Highlighted Headline Block</li>
64
  <li>Animated Headline Block</li>
65
  <li>Dual Button Block</li>
66
+ <li>Tilt Card Block</li>
67
  <li>Many more to come...</li>
68
  </ol>
69
 
139
 
140
  == Changelog ==
141
 
142
+ = 2.1.0 =
143
+ * Added Facebook Page (Free)
144
+ * Added Tilt Image (Pro)
145
+ * Bug Fixes
146
+
147
  = 2.0.1 =
148
  * Bug Fixes
149
  * Remove default margin padding values