Compare commits
640 Commits
main
...
b16bd77355
| Author | SHA1 | Date | |
|---|---|---|---|
| b16bd77355 | |||
| 7d1beee2da | |||
| 292fc01370 | |||
| 68a42deebb | |||
| f6ba2ea71b | |||
| ab4aad0fc6 | |||
| 5558a60696 | |||
| 2ee1171474 | |||
| 046da1742e | |||
| 65bc75b56e | |||
| 8ac6583758 | |||
| b03bdc2139 | |||
| 0055a25420 | |||
| 00d0861014 | |||
| de94d0e68e | |||
| b31aa7550b | |||
| b258482ca3 | |||
| 010160ce46 | |||
|
|
ddf23d2c29 | ||
|
|
5ffb5636b2 | ||
|
|
3d87ce1f6a | ||
|
|
cf25bcd20f | ||
|
|
20d1d07c21 | ||
|
|
afbebbe816 | ||
|
|
9864d7cf36 | ||
|
|
da70c86f5e | ||
|
|
9ecea45705 | ||
|
|
86864166f9 | ||
|
|
c8a7dcdf05 | ||
|
|
b134d39172 | ||
|
|
194ab5af52 | ||
|
|
3012d2875c | ||
|
|
be72015657 | ||
|
|
5948da928d | ||
|
|
2f2d67fb7f | ||
|
|
8cc24bab95 | ||
|
|
24bb08f02e | ||
|
|
9ec39fb246 | ||
|
|
677d658ecb | ||
|
|
77eda834d4 | ||
|
|
57cf6ab817 | ||
|
|
f6385cd4a3 | ||
|
|
1e9790c37d | ||
|
|
0656c7ba68 | ||
|
|
8d81e1ba3e | ||
|
|
a3b9e82240 | ||
|
|
464e977d5a | ||
|
|
47a48480bd | ||
|
|
6012bf1886 | ||
|
|
04b2404e47 | ||
|
|
8c91368c4f | ||
|
|
a9fa2433a5 | ||
|
|
7d3bbd2122 | ||
|
|
487716a1ac | ||
|
|
723506daba | ||
|
|
8d5a1ac4f4 | ||
|
|
3f808812dd | ||
|
|
37e3773d88 | ||
|
|
2ff215a3df | ||
|
|
0755a90847 | ||
|
|
e5f46df7bc | ||
|
|
41e232bcdd | ||
|
|
713594d768 | ||
|
|
0957f59fcd | ||
|
|
9362ba6c26 | ||
|
|
fbb87394f3 | ||
|
|
89e5ebcd55 | ||
|
|
e7a87f09c5 | ||
|
|
25ef858d58 | ||
|
|
256128b0cc | ||
|
|
a969be597c | ||
|
|
a482791397 | ||
|
|
bc60adb1b5 | ||
|
|
b26907ad79 | ||
|
|
586da211df | ||
|
|
b81a59e682 | ||
|
|
33d0146a4c | ||
|
|
c437137134 | ||
|
|
93d9838cbd | ||
|
|
feebb7c94a | ||
|
|
d0733bfc01 | ||
|
|
6cd48fdd31 | ||
|
|
2204d6691c | ||
|
|
3bfd6c6c9d | ||
|
|
c85142272e | ||
|
|
d203a49bab | ||
|
|
c6a21c4611 | ||
|
|
a31f120492 | ||
|
|
f1b9646655 | ||
|
|
d58fcc7976 | ||
|
|
56a121182d | ||
|
|
5693139abc | ||
|
|
081782f05e | ||
|
|
308cc20859 | ||
|
|
a86946e39f | ||
|
|
3932435866 | ||
|
|
947831ac1c | ||
|
|
4ff19c77ca | ||
|
|
0fe7047fa3 | ||
|
|
f0c5224112 | ||
|
|
c6ff21662b | ||
|
|
68898723a1 | ||
|
|
2e17f81c5d | ||
|
|
0365fb2515 | ||
|
|
c841a02361 | ||
|
|
8bbc14e781 | ||
|
|
e5b06d37d9 | ||
|
|
c72f14c68d | ||
|
|
ad93e8b8c7 | ||
|
|
e27af6282b | ||
|
|
a3807c7e94 | ||
|
|
4301b2827a | ||
|
|
f44d6b8c72 | ||
|
|
bf4c7759ba | ||
|
|
eccb8ba90e | ||
|
|
cca3ffaed1 | ||
|
|
6bb5325f66 | ||
|
|
f57d9aab30 | ||
|
|
6f46605b83 | ||
|
|
5b07f46c2c | ||
|
|
94a1787838 | ||
|
|
5cd2c43847 | ||
|
|
66a39822ee | ||
|
|
3c07fae355 | ||
|
|
aa2d27699b | ||
|
|
b94e545e82 | ||
|
|
dd114a4798 | ||
|
|
588297f063 | ||
|
|
8109f7d039 | ||
|
|
f53aee2c1f | ||
|
|
4495474c9f | ||
|
|
2208c11c62 | ||
|
|
00691cbeac | ||
|
|
285a273030 | ||
|
|
be5281cdd1 | ||
|
|
be730d90df | ||
|
|
806993d4f9 | ||
|
|
14f2f9ade4 | ||
|
|
c6e9191686 | ||
|
|
3c366a8f3d | ||
|
|
b123a6bf58 | ||
|
|
b022da215c | ||
|
|
1bbd32b6ad | ||
|
|
c0d3dd87f7 | ||
|
|
3159cadabb | ||
|
|
27a63ecacd | ||
|
|
505c310d1f | ||
|
|
a2c29f4949 | ||
|
|
cc94b1bc47 | ||
|
|
102778abcf | ||
|
|
fe34ad86d0 | ||
|
|
46e0a8407a | ||
|
|
41c7f2c508 | ||
|
|
d6e6e21339 | ||
|
|
d1e1c8ea90 | ||
|
|
d22e3935cb | ||
|
|
e99867daca | ||
|
|
eb41bd8c63 | ||
|
|
40dedd67a5 | ||
|
|
7129b9b4df | ||
|
|
07f28076ca | ||
|
|
51d60f9c43 | ||
|
|
d5f5fbef27 | ||
|
|
03386f06ab | ||
|
|
523c99c4ec | ||
|
|
3b4b261e3e | ||
|
|
e0f9f7cd1c | ||
|
|
6f2b46dbae | ||
|
|
9aa9c00f0b | ||
|
|
353a60711d | ||
|
|
d644887612 | ||
|
|
7eb78a0789 | ||
|
|
cd5285864d | ||
|
|
4c9308983f | ||
|
|
8e310aeed6 | ||
|
|
b63f8773a6 | ||
|
|
d23fcfb5a4 | ||
|
|
fce1ab7da6 | ||
|
|
0f0fd6995a | ||
|
|
fe2885dd9e | ||
|
|
f4474ecb00 | ||
|
|
8865b86bef | ||
|
|
8a62486cdf | ||
|
|
009298f1c0 | ||
|
|
c7d5324d89 | ||
|
|
2aef9a2b40 | ||
|
|
fd72d7a21e | ||
|
|
3d767ac76b | ||
|
|
026e1e58c4 | ||
|
|
20f92ebe64 | ||
|
|
6235f2fc53 | ||
|
|
b0adc8b781 | ||
|
|
05be790280 | ||
|
|
634e1f3182 | ||
|
|
c326d50595 | ||
|
|
3d7dc7a128 | ||
|
|
2e05b35205 | ||
|
|
1b79a949c4 | ||
|
|
b063fa030d | ||
|
|
74bad62814 | ||
|
|
8e37498eaa | ||
|
|
a2bd26a4af | ||
|
|
fb8de9a301 | ||
|
|
972f4cd55c | ||
|
|
7332184315 | ||
|
|
5544c50bc6 | ||
|
|
dec43c4d37 | ||
|
|
7bafa7c89a | ||
|
|
7f45932ce1 | ||
|
|
15e81e5a7a | ||
|
|
034d18ed6a | ||
|
|
3540877dd0 | ||
|
|
46babd52df | ||
|
|
76efb28b63 | ||
|
|
bc73bebdf7 | ||
|
|
fd674fa18b | ||
|
|
9838a8e4c1 | ||
|
|
cce6f19292 | ||
|
|
108a7fd671 | ||
|
|
d488b670c0 | ||
|
|
8192a15e50 | ||
|
|
16d99623a9 | ||
|
|
8b0df45311 | ||
|
|
830ceaf3f2 | ||
|
|
b04dc3fae6 | ||
|
|
b73f3a8fdd | ||
|
|
d6f53f5e3c | ||
|
|
03921768f3 | ||
|
|
112bec8628 | ||
|
|
828e5709e9 | ||
|
|
0ccb907838 | ||
|
|
90a1680639 | ||
|
|
bd97fb26a8 | ||
|
|
a2e21df741 | ||
|
|
82ad056fae | ||
|
|
7abdb7490c | ||
|
|
a6f1c8c49f | ||
|
|
9eb1b7af41 | ||
|
|
ef6913f286 | ||
|
|
614d47f0d9 | ||
|
|
9df7a7ccb4 | ||
|
|
9e6d73fdca | ||
|
|
6b5789c05c | ||
|
|
019506d69a | ||
|
|
2dc6fe908b | ||
|
|
8035e1d49d | ||
|
|
12eb244d03 | ||
|
|
2494f6d73b | ||
|
|
2d05b855ca | ||
|
|
93ea049113 | ||
|
|
d76b6c93c2 | ||
|
|
74709f31e0 | ||
|
|
500b3e4c8b | ||
|
|
eb85b33f69 | ||
|
|
ed89b07f4c | ||
|
|
ffd3f94701 | ||
|
|
8f109a9261 | ||
|
|
260672b786 | ||
|
|
8b4031a029 | ||
|
|
cf2dc5430a | ||
|
|
7a89349347 | ||
|
|
f04d35f717 | ||
|
|
67805292e2 | ||
|
|
f297df0942 | ||
|
|
fc93185a7a | ||
|
|
5a95a6200c | ||
|
|
c51960bada | ||
|
|
42f4344a91 | ||
|
|
7900dd3748 | ||
|
|
52add4944d | ||
|
|
c630a224d0 | ||
|
|
cd1e3af50f | ||
|
|
0bd1f42982 | ||
|
|
9fad6e758d | ||
|
|
5c7587f8d6 | ||
|
|
7080c225a6 | ||
|
|
b1d291e63f | ||
|
|
9857121ed0 | ||
|
|
85366aeb06 | ||
|
|
258d1f9675 | ||
|
|
60e4c24d97 | ||
|
|
f63033ef3a | ||
|
|
c036636022 | ||
|
|
c26b7691ee | ||
|
|
ea4da9c211 | ||
|
|
4281ffff90 | ||
|
|
90c9fe1da8 | ||
|
|
16f3330a4a | ||
|
|
fc53cf18b8 | ||
|
|
21491ce84f | ||
|
|
489fd5af6b | ||
|
|
1d3d60ba0a | ||
|
|
fee03bf186 | ||
|
|
7b427c42e0 | ||
|
|
7a66350da9 | ||
|
|
443e493161 | ||
|
|
0eeda78340 | ||
|
|
339e718806 | ||
|
|
6523ebccb7 | ||
|
|
ee889edf16 | ||
|
|
0cea0c3c86 | ||
|
|
f1adf08902 | ||
|
|
ed8a80c052 | ||
|
|
85db9c25ca | ||
|
|
a2f8e0242e | ||
|
|
0eae57f278 | ||
|
|
1274cbcafc | ||
|
|
27f565a63a | ||
|
|
a870896df9 | ||
|
|
358ae364d7 | ||
|
|
c74afa4789 | ||
|
|
09234d21f0 | ||
|
|
83ced2339c | ||
|
|
0bc00b0907 | ||
|
|
0af9543b6b | ||
|
|
bb8e4be381 | ||
|
|
fd94cff640 | ||
|
|
d1d9dc03bf | ||
|
|
4e1d4ccfaf | ||
|
|
2331f43a84 | ||
|
|
44c09a6212 | ||
|
|
7b5d7a9bce | ||
|
|
11bbb913bf | ||
|
|
f011851803 | ||
|
|
4cbbf5ba9c | ||
|
|
b7961a8b95 | ||
|
|
26ff3fa9ff | ||
|
|
60271ef7e6 | ||
|
|
0ae5f93e17 | ||
|
|
a8266b98ec | ||
|
|
c58deddd61 | ||
|
|
a18d02713b | ||
|
|
eb9bcf9d1a | ||
|
|
a19f9df351 | ||
|
|
0976ced31f | ||
|
|
759eb08030 | ||
|
|
9717df84de | ||
|
|
174c64f261 | ||
|
|
54b2711c01 | ||
|
|
6d2ecce590 | ||
|
|
6957fa7531 | ||
|
|
64c9dea8eb | ||
|
|
7383c9892d | ||
|
|
319d5ad1a0 | ||
|
|
771db437cd | ||
|
|
652b7ae24c | ||
|
|
69dfbfc65c | ||
|
|
e533e1bd15 | ||
|
|
2f50547c20 | ||
|
|
7c034f42c6 | ||
|
|
653832edb2 | ||
|
|
385452469a | ||
|
|
66014d7770 | ||
|
|
8cb0124750 | ||
|
|
824a2cc18c | ||
|
|
a03f55880a | ||
|
|
acb7bc59a2 | ||
|
|
982ab458bb | ||
|
|
e7de7b256a | ||
|
|
933f9ad8a5 | ||
|
|
6d66debe17 | ||
|
|
cb5a5b57fe | ||
|
|
926c71eb30 | ||
|
|
ff62e351aa | ||
|
|
e5a59753c7 | ||
|
|
0808d80063 | ||
|
|
3c985bf416 | ||
|
|
b4146f9af6 | ||
|
|
428f456a20 | ||
|
|
90abb3197f | ||
|
|
f19e1a52a6 | ||
|
|
b4e63a5922 | ||
|
|
f19b1dd360 | ||
|
|
749d9d4798 | ||
|
|
8d5df52eb7 | ||
|
|
6ca0aa6b74 | ||
|
|
19e59450ae | ||
|
|
af960211f6 | ||
|
|
ac7312ea15 | ||
|
|
9b1241997e | ||
|
|
78855e51c8 | ||
|
|
b13f4dd85d | ||
|
|
171b1a7aef | ||
|
|
e845481fc2 | ||
|
|
a3d3e54a9d | ||
|
|
23e374d773 | ||
|
|
a5836af8d3 | ||
|
|
6d4a52b46c | ||
|
|
648ad5de25 | ||
|
|
e1d55e5254 | ||
|
|
cfb446e78e | ||
|
|
be1b316a83 | ||
|
|
ddb46a868f | ||
|
|
d8dad85a0e | ||
|
|
23fd09baea | ||
|
|
7c247fa5d8 | ||
|
|
08716e6a78 | ||
|
|
a5398d2830 | ||
|
|
57c24f8ba7 | ||
|
|
38cae9f8e5 | ||
|
|
6269cee56a | ||
|
|
cc2d02d7de | ||
|
|
efbb13f282 | ||
|
|
96974bf20a | ||
|
|
3e2d9baac3 | ||
|
|
b3bdf487fb | ||
|
|
8f2779a99d | ||
|
|
098f2fcfe5 | ||
|
|
f64c975375 | ||
|
|
5518ea165a | ||
|
|
33005e59b4 | ||
|
|
af2089a7f5 | ||
|
|
a54a2a1221 | ||
|
|
21cef41ecd | ||
|
|
f70de3d052 | ||
|
|
36937b4cea | ||
|
|
1d4f5675c8 | ||
|
|
24ac51d510 | ||
|
|
5535ea6184 | ||
|
|
be73e2c2dd | ||
|
|
fc292199e5 | ||
|
|
c1fe8fb22a | ||
|
|
3ae83c7e57 | ||
|
|
eb93c64b6c | ||
|
|
41d8239271 | ||
|
|
604f3ccc92 | ||
|
|
7ef97a583a | ||
|
|
a4f3392da2 | ||
|
|
2c5479995d | ||
|
|
d2d5df8295 | ||
|
|
95cbfd155d | ||
|
|
dcde0c47e3 | ||
|
|
bd38502616 | ||
|
|
56680bb5e5 | ||
|
|
8255e0feaf | ||
|
|
f6e5b08569 | ||
|
|
b430525f14 | ||
|
|
9100cea66b | ||
|
|
9a8ca10365 | ||
|
|
e7b2d27569 | ||
|
|
03e7d0c430 | ||
|
|
f3e794a093 | ||
|
|
ba30b01456 | ||
|
|
fbf041b9d8 | ||
|
|
cee92a97fd | ||
|
|
19057f60be | ||
|
|
899ceac132 | ||
|
|
889e13f8c0 | ||
|
|
64cf06058d | ||
|
|
3b36eb5b41 | ||
|
|
0cb6bf2a89 | ||
|
|
c7faf46591 | ||
|
|
7a9ac5ccde | ||
|
|
788cec525c | ||
|
|
1e31a901b1 | ||
|
|
d60f1f675d | ||
|
|
f3a2e6ab6a | ||
|
|
96ad12a650 | ||
|
|
33832739fe | ||
|
|
c9252f4180 | ||
|
|
7f61dc8682 | ||
|
|
dfe4b878a3 | ||
|
|
f793a212d1 | ||
|
|
2ccaa47f06 | ||
|
|
fbd2f552b5 | ||
|
|
524d1e2f9d | ||
|
|
b06e4aebe6 | ||
|
|
517b7ff62f | ||
|
|
7773e7db41 | ||
|
|
eee07a84f4 | ||
|
|
93ee95dfac | ||
|
|
863bbb5b3a | ||
|
|
28acba4f09 | ||
|
|
e9bf0beaa2 | ||
|
|
435e9f26dc | ||
|
|
79fddf944f | ||
|
|
ede699368e | ||
|
|
37c7e0dd93 | ||
|
|
a33bbe5091 | ||
|
|
60e547aa19 | ||
|
|
f087320908 | ||
|
|
e72b490626 | ||
|
|
375b06a22b | ||
|
|
ed0b52bddc | ||
|
|
dc53b90a37 | ||
|
|
c9d2c8a223 | ||
|
|
c9bb05a93d | ||
|
|
b8c0ebc3ae | ||
|
|
b7aeb66655 | ||
|
|
798e1a2ef1 | ||
|
|
931ffd39c7 | ||
|
|
190e828cfd | ||
|
|
b16e619da6 | ||
|
|
81925de598 | ||
|
|
68f8d9791d | ||
|
|
fa1681dad9 | ||
|
|
8a023b4307 | ||
|
|
d7acd3a04f | ||
|
|
0d4b251130 | ||
|
|
907825ee88 | ||
|
|
3377d94f69 | ||
|
|
53d67e1755 | ||
|
|
b298b969cc | ||
|
|
c2abb7f8d4 | ||
|
|
351394fb2f | ||
|
|
7016fa48ed | ||
|
|
32ecc08e38 | ||
|
|
5c947b2aff | ||
|
|
75a68059f8 | ||
|
|
372415045f | ||
|
|
6280fc97db | ||
|
|
157c97b6ae | ||
|
|
165a38f4d4 | ||
|
|
21b578b593 | ||
|
|
7d13888557 | ||
|
|
c1bc6ef596 | ||
|
|
d13e8fd9be | ||
|
|
e898cf1f4d | ||
|
|
b41047f5a1 | ||
|
|
d93964b9c4 | ||
|
|
1ccc2eed76 | ||
|
|
e84108c44d | ||
|
|
a9312c0633 | ||
|
|
61f923413a | ||
|
|
6325f11cd6 | ||
|
|
2d9b9d16bf | ||
|
|
2af688c4f1 | ||
|
|
8f039f1944 | ||
|
|
fd2a94fa1b | ||
|
|
093b5a6500 | ||
|
|
4a9094b12d | ||
|
|
405aedfb13 | ||
|
|
2f51b51c95 | ||
|
|
248c569bff | ||
|
|
9040a3dc75 | ||
|
|
987a1d8bb2 | ||
|
|
9dd101f56c | ||
|
|
d1c8a2eee7 | ||
|
|
ab3763856e | ||
|
|
9a4b81c43a | ||
|
|
b1f645b825 | ||
|
|
b6f89bf652 | ||
|
|
29f4b2fc62 | ||
|
|
82618b7441 | ||
|
|
fa6e6f93a3 | ||
|
|
b08db80c7b | ||
|
|
8d001c7571 | ||
|
|
922ed72ad9 | ||
|
|
571c49f698 | ||
|
|
061d3ad700 | ||
|
|
8df602fb50 | ||
|
|
ef28dae253 | ||
|
|
9834098dd1 | ||
|
|
5103f511c6 | ||
|
|
77e7ce0c64 | ||
|
|
fb7dabe369 | ||
|
|
d44a6b0332 | ||
|
|
9d5de7db39 | ||
|
|
c60bf29dc2 | ||
|
|
8d8b158ad4 | ||
|
|
de1796e1b6 | ||
|
|
cdc49cbf86 | ||
|
|
8766826f17 | ||
|
|
9947b1d591 | ||
|
|
d3267f06d7 | ||
|
|
022c4aafcd | ||
|
|
ffad63566a | ||
|
|
be1b8887f4 | ||
|
|
c59b373c27 | ||
|
|
f2c47cf41b | ||
|
|
0c11974859 | ||
|
|
ea76b61cd5 | ||
|
|
8088207e75 | ||
|
|
8096f74a7a | ||
|
|
808e37a085 | ||
|
|
a4a19a5375 | ||
|
|
c5a1782c50 | ||
|
|
0c53b57ffd | ||
|
|
a62cb8be04 | ||
|
|
393215507d | ||
|
|
de27307b82 | ||
|
|
87560e7eed | ||
|
|
e5edc8dd5f | ||
|
|
6e3d873784 | ||
|
|
b3a0b7ff08 | ||
|
|
11e37a5184 | ||
|
|
4470c26ddd | ||
|
|
c46e073cf6 | ||
|
|
4981becae9 | ||
|
|
ffe2aa4cb3 | ||
|
|
f7b182df6d | ||
|
|
f6bfff16bd | ||
|
|
77a601df68 | ||
|
|
623217c524 | ||
|
|
62f86043e6 | ||
|
|
951274bb15 | ||
|
|
42db9f9c99 | ||
|
|
ca76f57316 | ||
|
|
789eec1a57 | ||
|
|
ea2d4070aa | ||
|
|
626c9e6535 | ||
|
|
80a00245ab | ||
|
|
bb840aa126 | ||
|
|
f6d8c9fd6e | ||
|
|
985fb5e830 | ||
|
|
6dbb3614b1 | ||
|
|
2cae6148d5 | ||
|
|
9073a29fd5 | ||
|
|
5c4c500716 | ||
|
|
52c08d1454 | ||
|
|
2b53c6997f | ||
|
|
412740e644 | ||
|
|
7deb83faf2 | ||
|
|
e6b15b6e3b | ||
|
|
db78e401e2 | ||
|
|
059a89e715 | ||
|
|
72bfc1ff57 | ||
|
|
7e9744b377 | ||
|
|
fe66ed52cd | ||
|
|
59cd31540d | ||
|
|
182a7d6595 | ||
|
|
8bcd754d59 | ||
|
|
4b37859008 | ||
|
|
3f9d31c19a | ||
|
|
b4421be269 | ||
|
|
7bfe868afb | ||
|
|
7ce252939c | ||
|
|
c2a7b5edd0 | ||
|
|
ea7186b15b | ||
|
|
219babfda5 | ||
|
|
d27ac38e93 | ||
|
|
681ad997a2 | ||
|
|
eb3164cb85 | ||
|
|
739fac8131 | ||
|
|
2c777ec5f8 | ||
|
|
dcbd5a7366 | ||
|
|
499f809c6e | ||
|
|
e00eaf7e8f | ||
|
|
6022309d33 | ||
|
|
fb55b6464a |
58
app/ACF/CloneGroup.php
Normal file
58
app/ACF/CloneGroup.php
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
namespace App\ACF;
|
||||
|
||||
class CloneGroup
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
|
||||
}
|
||||
public function block_background()
|
||||
{
|
||||
return [
|
||||
'contrast',
|
||||
'bg_colour',
|
||||
'bg_tint',
|
||||
];
|
||||
}
|
||||
|
||||
public function block_intro()
|
||||
{
|
||||
return [
|
||||
'overline',
|
||||
'heading',
|
||||
'blurb',
|
||||
'intro_alignment',
|
||||
];
|
||||
}
|
||||
|
||||
public function block_footer()
|
||||
{
|
||||
return [
|
||||
'blurb_footer',
|
||||
'links',
|
||||
'footer_alignment',
|
||||
];
|
||||
}
|
||||
|
||||
public function block_settings()
|
||||
{
|
||||
return [
|
||||
'section_anchor_id',
|
||||
'padding_top',
|
||||
'padding_bottom',
|
||||
'container_width',
|
||||
'angle_status',
|
||||
'angle_position',
|
||||
'angle_direction',
|
||||
'angle_colour',
|
||||
'angle_tint',
|
||||
];
|
||||
}
|
||||
|
||||
public function block_all()
|
||||
{
|
||||
return array_merge($this->block_intro(), $this->block_footer(), $this->block_settings(), $this->block_background());
|
||||
}
|
||||
}
|
||||
@@ -8,15 +8,14 @@ class Dynamic
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
add_filter('acf/load_field/name=colour', [ $this, 'load_colours' ]);
|
||||
add_filter('acf/load_field/name=bg_colour', [ $this, 'load_colours' ]);
|
||||
add_filter('acf/load_field/name=tint', [ $this, 'load_tints' ]);
|
||||
add_filter('acf/load_field/name=bg_tint', [ $this, 'load_tints' ]);
|
||||
add_filter('acf/load_field/name=container_width', [ $this, 'container_width' ]);
|
||||
add_filter('acf/load_field/name=colour', [ $this, 'load_colours' ]);
|
||||
add_filter('acf/load_field/name=bg_colour', [ $this, 'load_colours' ]);
|
||||
add_filter('acf/load_field/name=tint', [ $this, 'load_tints' ]);
|
||||
add_filter('acf/load_field/name=bg_tint', [ $this, 'load_tints' ]);
|
||||
add_filter('acf/load_field/name=fontawesome_regular', [ $this, 'load_fontawesome_regular_icons' ]);
|
||||
add_filter('acf/load_field/name=fontawesome_solid', [ $this, 'load_fontawesome_solid_icons' ]);
|
||||
add_filter('acf/load_field/name=fontawesome_brands', [ $this, 'load_fontawesome_brand_icons' ]);
|
||||
add_action('acf/input/admin_footer', [ $this, 'colour_ui' ]);
|
||||
add_filter('acf/load_field/name=fontawesome_solid', [ $this, 'load_fontawesome_solid_icons' ]);
|
||||
add_filter('acf/load_field/name=fontawesome_brands', [ $this, 'load_fontawesome_brand_icons' ]);
|
||||
add_action('acf/input/admin_footer', [$this, 'colour_ui'] );
|
||||
}
|
||||
|
||||
public function load_colours( $field )
|
||||
@@ -26,9 +25,7 @@ class Dynamic
|
||||
|
||||
$colours = $colour->values();
|
||||
|
||||
$field['choices'] = [
|
||||
'0' => __('None', 'badegg'),
|
||||
];
|
||||
$field['choices'] = [];
|
||||
|
||||
foreach($colours as $slug => $hex):
|
||||
$field['choices'][$slug] = '<i class="fas fa-circle" style="color: '. $hex .'"></i> ' . @$NameThatColour->name($hex)['name'];
|
||||
@@ -50,27 +47,13 @@ class Dynamic
|
||||
$field['choices'][$slug] = ucfirst($slug);
|
||||
|
||||
else:
|
||||
$field['choices'][0] = __('None', 'badegg');
|
||||
$field['choices'][0] = 'None';
|
||||
endif;
|
||||
endforeach;
|
||||
|
||||
return $field;
|
||||
}
|
||||
|
||||
public function container_width( $field )
|
||||
{
|
||||
$field['choices'] = [
|
||||
0 => 'Auto',
|
||||
'narrow' => __('Narrow', 'badegg'),
|
||||
'small' => __('Small', 'badegg'),
|
||||
'medium' => __('Medium', 'badegg'),
|
||||
'large' => __('Large', 'badegg'),
|
||||
'full' => __('Edge to edge', 'badegg'),
|
||||
];
|
||||
|
||||
return $field;
|
||||
}
|
||||
|
||||
public function load_fontawesome_regular_icons( $field )
|
||||
{
|
||||
$field['choices'] = [];
|
||||
@@ -108,7 +91,9 @@ class Dynamic
|
||||
'0' => '<i class="fa-solid"></i> <span>Please select an icon</span>',
|
||||
];
|
||||
|
||||
foreach($icons as $slug):
|
||||
foreach($icons as $slug => $props):
|
||||
if(in_array($slug, range(0,9))) continue;
|
||||
|
||||
$choices[$slug] = '<i class="fa-'.$set.' fa-'.$slug.'" style="color: #2271b1;"></i> <span>' . (ucwords(str_replace('-', ' ', $slug))) . '</span>';
|
||||
endforeach;
|
||||
|
||||
@@ -135,8 +120,6 @@ class Dynamic
|
||||
'bg_colour',
|
||||
'angle_colour',
|
||||
'fontawesome_brands',
|
||||
'fontawesome_regular',
|
||||
'fontawesome_solid',
|
||||
];
|
||||
|
||||
// do something to the original_value to override the default escaping, then return it.
|
||||
|
||||
@@ -6,8 +6,8 @@ class DisablePost
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
// add_filter('register_post_type_args', [$this, 'args'], 0, 2);
|
||||
// add_filter('register_taxonomy_args', [$this, 'args'], 0, 2);
|
||||
add_filter('register_post_type_args', [$this, 'args'], 0, 2);
|
||||
add_filter('register_taxonomy_args', [$this, 'args'], 0, 2);
|
||||
}
|
||||
|
||||
public function args($args, $type)
|
||||
|
||||
@@ -13,9 +13,9 @@ class Enqueue
|
||||
{
|
||||
wp_enqueue_style(
|
||||
'fontawesome',
|
||||
'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/css/all.min.css',
|
||||
'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css',
|
||||
false,
|
||||
'7.0.1',
|
||||
'6.5.2',
|
||||
'all'
|
||||
);
|
||||
}
|
||||
|
||||
@@ -7,7 +7,6 @@ class Integrations
|
||||
public function __construct()
|
||||
{
|
||||
add_action( 'wp_head', [$this, 'FathomAnalytics']);
|
||||
add_action( 'wp_footer', [$this, 'FontAwesomeKit'], 100);
|
||||
}
|
||||
|
||||
public function FathomAnalytics()
|
||||
@@ -22,17 +21,4 @@ class Integrations
|
||||
|
||||
<?php endif;
|
||||
}
|
||||
|
||||
public function FontAwesomeKit()
|
||||
{
|
||||
$kit = get_field('badegg_integrations_fontawesome_kit', 'option');
|
||||
|
||||
if($kit): ?>
|
||||
|
||||
<!-- FontAwesome Kit -->
|
||||
<script src="https://kit.fontawesome.com/<?= $kit ?>.js" crossorigin="anonymous"></script>
|
||||
<!-- / FontAwesome Kit -->
|
||||
|
||||
<?php endif;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Admin;
|
||||
use ourcodeworld\NameThatColor\ColorInterpreter as NameThatColor;
|
||||
use App\Utilities;
|
||||
|
||||
class Theme
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
add_action( 'after_setup_theme', [$this, 'DynamicPalette'] );
|
||||
}
|
||||
|
||||
public function DynamicPalette()
|
||||
{
|
||||
$colour = new Utilities\Colour;
|
||||
$NameThatColour = new NameThatColor;
|
||||
|
||||
$palette = [];
|
||||
|
||||
$colours = $colour->values();
|
||||
|
||||
foreach($colours as $slug => $hex) {
|
||||
$palette[] = [
|
||||
'name' => esc_html__(@$NameThatColour->name($hex)['name'], 'badegg'),
|
||||
'slug' => $slug,
|
||||
'color' => $hex,
|
||||
];
|
||||
}
|
||||
|
||||
if(!empty($colours)) {
|
||||
add_theme_support('editor-color-palette', $palette);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,8 +10,6 @@ class Colour
|
||||
|
||||
if($colour == 'black'):
|
||||
$hex = '#000000';
|
||||
elseif($colour == 'grey'):
|
||||
$hex = '#808080';
|
||||
elseif($colour == 'white'):
|
||||
$hex = '#FFFFFF';
|
||||
else:
|
||||
@@ -29,23 +27,20 @@ class Colour
|
||||
|
||||
public function values()
|
||||
{
|
||||
$colours = get_field('badegg_colours', 'option');
|
||||
|
||||
$values = [];
|
||||
|
||||
if(function_exists('get_field')):
|
||||
$colours = @get_field('badegg_colours', 'option');
|
||||
if($colours):
|
||||
foreach($colours as $index => $props):
|
||||
$index = $index + 1;
|
||||
$hex = @$props['hex'];
|
||||
|
||||
if($colours):
|
||||
foreach($colours as $index => $props):
|
||||
$index = $index + 1;
|
||||
$hex = @$props['hex'];
|
||||
|
||||
if($hex) $values[$this->latinate($index)] = $hex;
|
||||
endforeach;
|
||||
endif;
|
||||
if($hex) $values[$this->latinate($index)] = $hex;
|
||||
endforeach;
|
||||
endif;
|
||||
|
||||
$values['white'] = '#FFFFFF';
|
||||
$values['grey'] = '#808080';
|
||||
$values['0'] = '#FFFFFF';
|
||||
$values['black'] = '#000000';
|
||||
|
||||
return $values;
|
||||
@@ -54,13 +49,13 @@ class Colour
|
||||
public function tints()
|
||||
{
|
||||
return [
|
||||
'lightest' => 40,
|
||||
'lighter' => 25,
|
||||
'light' => 10,
|
||||
'lightest' => 100,
|
||||
'lighter' => 66,
|
||||
'light' => 33,
|
||||
'0' => 0,
|
||||
'dark' => -10,
|
||||
'darker' => -25,
|
||||
'darkest' => -40,
|
||||
'dark' => -33,
|
||||
'darker' => -66,
|
||||
'darkest' => -100,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -3,94 +3,56 @@
|
||||
namespace App\Utilities;
|
||||
|
||||
class CssClasses {
|
||||
public function section($props = [], $name = 'unnamed', $knockout = false)
|
||||
public function section($props = [])
|
||||
{
|
||||
$defaults = [
|
||||
'padding_top' => null,
|
||||
'padding_bottom' => null,
|
||||
'bg_colour' => null,
|
||||
'bg_tint' => null,
|
||||
'contrast' => null,
|
||||
'bg_image' => null,
|
||||
];
|
||||
|
||||
$props = wp_parse_args($props, $defaults);
|
||||
|
||||
$Colour = new Colour;
|
||||
$hex = $Colour->name2hex($props['bg_colour'], $props['bg_tint']);
|
||||
$hex = $Colour->name2hex(@$props['bg_colour'], @$props['bg_tint']);
|
||||
|
||||
$pattern = @$props['pattern'];
|
||||
$pattern_top = @$props['pattern_top'];
|
||||
$pattern_bottom = @$props['pattern_bottom'];
|
||||
|
||||
$classes = [
|
||||
'section',
|
||||
'section-' . str_replace('/', '-', $name),
|
||||
'section-' . $props['name'],
|
||||
// 'section-' . str_replace('acf/', '', $props['name']),
|
||||
'bg-' . $this->colourTint([
|
||||
'colour' => @$props['bg_colour'],
|
||||
'tint' => @$props['bg_tint'],
|
||||
]),
|
||||
];
|
||||
|
||||
if($props['bg_colour'])
|
||||
$classes[] = 'bg-' . $this->colourTint([
|
||||
'colour' => $props['bg_colour'],
|
||||
'tint' => $props['bg_tint'],
|
||||
]);
|
||||
|
||||
if(($props['contrast'] && $knockout))
|
||||
if($Colour->is_dark($hex) && $this->is_knockout_block($props['name']))
|
||||
$classes[] = 'knockout';
|
||||
|
||||
if(!$props['padding_top'])
|
||||
if(@$props['padding_top'])
|
||||
$classes[] = 'section-zero-top';
|
||||
|
||||
if(!$props['padding_bottom'])
|
||||
if(@$props['padding_bottom'])
|
||||
$classes[] = 'section-zero-bottom';
|
||||
|
||||
if($props['bg_image'])
|
||||
$classes[] = "has-bg-image";
|
||||
if($pattern):
|
||||
if($pattern == 'both'):
|
||||
$classes[] = 'pattern-top';
|
||||
$classes[] = 'pattern-bottom';
|
||||
|
||||
return $classes;
|
||||
}
|
||||
else:
|
||||
$classes[] = 'pattern-' . $pattern;
|
||||
|
||||
public function container($args = [], $bg_props = [])
|
||||
{
|
||||
$args = wp_parse_args($args, [
|
||||
'width' => null,
|
||||
'location' => null,
|
||||
'section' => false,
|
||||
'align' => null,
|
||||
'wysiwyg' => false,
|
||||
]);
|
||||
endif;
|
||||
|
||||
$bg_props = wp_parse_args($bg_props, [
|
||||
'bg_colour' => null,
|
||||
'bg_tint' => null,
|
||||
'contrast' => null,
|
||||
]);
|
||||
if(in_array($pattern, ['top', 'both']))
|
||||
$classes[] = 'pattern-top-' . $this->colourTint($pattern_top);
|
||||
|
||||
$Colour = new Colour;
|
||||
$hex = $Colour->name2hex($bg_props['bg_colour'], $bg_props['bg_tint']);
|
||||
if(in_array($pattern, ['bottom', 'both']))
|
||||
$classes[] = 'pattern-bottom-' . $this->colourTint($pattern_bottom);
|
||||
|
||||
$classes = [
|
||||
'container',
|
||||
];
|
||||
endif;
|
||||
|
||||
if($args['width'])
|
||||
$classes[] = 'container-' . $args['width'];
|
||||
if(@$props['bg_image'])
|
||||
$classes[] = "bg-watermarked";
|
||||
|
||||
if($args['location'])
|
||||
$classes[] = $args['location'];
|
||||
|
||||
if($args['section'])
|
||||
$classes[] = 'section';
|
||||
|
||||
if(str_contains($args['location'], 'intro'))
|
||||
$classes[] = 'section-zero-top';
|
||||
|
||||
if(str_contains($args['location'], 'footer'))
|
||||
$classes[] = 'section-zero-bottom';
|
||||
|
||||
if($args['wysiwyg'])
|
||||
$classes[] = 'wysiwyg';
|
||||
|
||||
if($args['align'])
|
||||
$classes[] = 'align-' . $args['align'];
|
||||
|
||||
if(($bg_props['contrast']))
|
||||
$classes[] = 'knockout';
|
||||
if(@$props['className']) $args = array_merge($classes, explode(' ', $props['className']));
|
||||
|
||||
return $classes;
|
||||
}
|
||||
@@ -132,7 +94,7 @@ class CssClasses {
|
||||
public function is_knockout_block($name = null)
|
||||
{
|
||||
$blacklist = [
|
||||
'badegg/acfdemo',
|
||||
'bad-example',
|
||||
];
|
||||
|
||||
if(in_array($name, $blacklist)):
|
||||
|
||||
@@ -1,105 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Utilities;
|
||||
use ourcodeworld\NameThatColor\ColorInterpreter as NameThatColor;
|
||||
|
||||
class RestAPI
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
add_filter( 'wp_prepare_attachment_for_js', [$this, 'image_sizes'], 10, 3 );
|
||||
add_action( 'rest_api_init', [$this, 'blocks']);
|
||||
}
|
||||
|
||||
public function image_sizes( $response, $attachment, $meta )
|
||||
{
|
||||
if ( empty( $response['sizes'] ) || empty( $meta['sizes'] ) ) {
|
||||
return $response;
|
||||
}
|
||||
|
||||
$custom_sizes = [ 'hero', 'lazy' ];
|
||||
|
||||
foreach ( $custom_sizes as $size ) {
|
||||
if ( ! empty( $meta['sizes'][ $size ] ) ) {
|
||||
$response['sizes'][ $size ] = [
|
||||
'url' => wp_get_attachment_image_url( $attachment->ID, $size ),
|
||||
'width' => $meta['sizes'][ $size ]['width'],
|
||||
'height' => $meta['sizes'][ $size ]['height'],
|
||||
'orientation' =>
|
||||
$meta['sizes'][ $size ]['height'] > $meta['sizes'][ $size ]['width']
|
||||
? 'portrait'
|
||||
: 'landscape',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function blocks( )
|
||||
{
|
||||
$restBase = 'badegg/v1';
|
||||
|
||||
register_rest_route($restBase, '/blocks/config', [
|
||||
'methods' => 'GET',
|
||||
'callback' => [ $this, 'config'],
|
||||
'permission_callback' => function(){
|
||||
return true;
|
||||
},
|
||||
]);
|
||||
}
|
||||
|
||||
public function config()
|
||||
{
|
||||
return rest_ensure_response([
|
||||
'container' => $this->containerWidths(),
|
||||
'colours' => $this->colours(),
|
||||
'tints' => $this->tints(),
|
||||
]);
|
||||
}
|
||||
|
||||
public function containerWidths()
|
||||
{
|
||||
return [
|
||||
[ 'label' => __('Auto', 'badegg'), 'value' => 0 ],
|
||||
[ 'label' => __('Narrow', 'badegg'), 'value' => 'narrow' ],
|
||||
[ 'label' => __('Small', 'badegg'), 'value' => 'small' ],
|
||||
[ 'label' => __('Medium', 'badegg'), 'value' => 'medium' ],
|
||||
[ 'label' => __('Large', 'badegg'), 'value' => 'large' ],
|
||||
[ 'label' => __('Edge to edge', 'badegg'), 'value' => 'full' ],
|
||||
];
|
||||
}
|
||||
|
||||
public function colours()
|
||||
{
|
||||
$colour = new Colour;
|
||||
$NameThatColour = new NameThatColor;
|
||||
|
||||
$palette = [];
|
||||
|
||||
$colours = $colour->values();
|
||||
|
||||
foreach($colours as $slug => $hex) {
|
||||
$palette[] = [
|
||||
'name' => esc_html__(@$NameThatColour->name($hex)['name'], 'badegg'),
|
||||
'slug' => $slug,
|
||||
'color' => $hex,
|
||||
];
|
||||
}
|
||||
|
||||
return $palette;
|
||||
}
|
||||
|
||||
public function tints()
|
||||
{
|
||||
return [
|
||||
['label' => __('Lightest', 'badegg'), 'value' => 'lightest'],
|
||||
['label' => __('Lighter', 'badegg'), 'value' => 'lighter' ],
|
||||
['label' => __('Light', 'badegg'), 'value' => 'light' ],
|
||||
['label' => __('None', 'badegg'), 'value' => 0 ],
|
||||
['label' => __('Dark', 'badegg'), 'value' => 'dark' ],
|
||||
['label' => __('Darker', 'badegg'), 'value' => 'darker' ],
|
||||
['label' => __('Darkest', 'badegg'), 'value' => 'darkest' ],
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\View\Composers;
|
||||
|
||||
use Roots\Acorn\View\Composer;
|
||||
use App\Utilities;
|
||||
|
||||
class Blocks extends Composer
|
||||
{
|
||||
/**
|
||||
* List of views served by this composer.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected static $views = [
|
||||
'layouts.block-acf',
|
||||
'partials.block-*',
|
||||
];
|
||||
|
||||
/**
|
||||
* Data to be passed to view before rendering.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function with()
|
||||
{
|
||||
return [
|
||||
'CssClasses' => new Utilities\CssClasses,
|
||||
];
|
||||
}
|
||||
}
|
||||
322
app/blocks.php
322
app/blocks.php
@@ -4,91 +4,9 @@
|
||||
* Theme Blocks.
|
||||
*/
|
||||
|
||||
namespace App\Blocks;
|
||||
namespace App;
|
||||
|
||||
/**
|
||||
* Disable block styles in frontend
|
||||
*/
|
||||
add_filter( 'should_load_separate_core_block_assets', '__return_false', 99 );
|
||||
add_filter( 'wp_img_tag_add_auto_sizes', '__return_false' );
|
||||
add_action( 'init', __NAMESPACE__ . '\\remove_action_block_inline' );
|
||||
add_action( 'wp_enqueue_scripts', __NAMESPACE__ . '\\disable_frontend_inline_css', 20 );
|
||||
add_action( 'template_redirect', __NAMESPACE__ . '\\delete_block_support_inline_css' );
|
||||
|
||||
/**
|
||||
* block editor back end tweaks
|
||||
* - Disable all core blocks except what we need as inner blocks
|
||||
* - resources/js/editor.js handles hiding the inner blocks at the top level
|
||||
*/
|
||||
add_action( 'allowed_block_types_all', __NAMESPACE__ . '\\list_allowed', 100, 2 );
|
||||
add_action( 'admin_init', __NAMESPACE__ . '\\admin_block_cleanup' );
|
||||
add_filter( 'block_type_metadata', __NAMESPACE__ . '\\unset_core_supports' );
|
||||
|
||||
/**
|
||||
* Custom blocks
|
||||
*/
|
||||
add_filter( 'block_categories_all' , __NAMESPACE__ . '\\add_categories' );
|
||||
add_filter( 'badegg_block_types_allow', __NAMESPACE__ . '\\allowed_list' );
|
||||
add_action( 'init', __NAMESPACE__ . '\\auto_register' );
|
||||
|
||||
/**
|
||||
* Core Blocks
|
||||
*/
|
||||
add_filter( 'render_block_core/details', __NAMESPACE__ . '\\core_details_modified', 10, 2 );
|
||||
add_filter( 'render_block_core/image', __NAMESPACE__ . '\\core_image_modified', 10, 2 );
|
||||
|
||||
|
||||
function remove_action_block_inline()
|
||||
{
|
||||
remove_action( 'wp_enqueue_scripts', 'wp_enqueue_global_styles' );
|
||||
remove_action( 'wp_enqueue_scripts', 'wp_enqueue_block_support_styles');
|
||||
remove_action( 'wp_footer', 'wp_enqueue_global_styles', 1 );
|
||||
remove_action( 'wp_body_open', 'wp_global_styles_render_svg_filters' );
|
||||
}
|
||||
|
||||
function admin_block_cleanup()
|
||||
{
|
||||
remove_action( 'enqueue_block_editor_assets', 'wp_enqueue_editor_block_directory_assets' );
|
||||
}
|
||||
|
||||
function disable_frontend_inline_css()
|
||||
{
|
||||
wp_dequeue_style( 'wp-block-library' );
|
||||
wp_dequeue_style( 'wp-block-library-theme' );
|
||||
wp_dequeue_style( 'classic-theme-styles' );
|
||||
}
|
||||
|
||||
function delete_block_support_inline_css ()
|
||||
{
|
||||
ob_start( function ( $html ) {
|
||||
return preg_replace(
|
||||
'#<style id=[\'"]core-block-supports-inline-css[\'"][^>]*>.*?</style>#s',
|
||||
'',
|
||||
$html
|
||||
);
|
||||
} );
|
||||
}
|
||||
|
||||
function unset_core_supports($metadata){
|
||||
$name = $metadata['name'];
|
||||
|
||||
if (str_starts_with($name, 'core/') ) {
|
||||
unset($metadata['supports']['color']);
|
||||
unset($metadata['supports']['typography']);
|
||||
unset($metadata['supports']['border']);
|
||||
}
|
||||
|
||||
return $metadata;
|
||||
}
|
||||
|
||||
|
||||
function allowed_list($allowed){
|
||||
return array_merge($allowed, [
|
||||
// 'core/categories',
|
||||
]);
|
||||
}
|
||||
|
||||
function add_categories( $categories ) {
|
||||
add_filter( 'block_categories_all' , function ( $categories ) {
|
||||
|
||||
// Adding a new category.
|
||||
$categories = array_merge([
|
||||
@@ -99,230 +17,66 @@ function add_categories( $categories ) {
|
||||
], $categories);
|
||||
|
||||
return $categories;
|
||||
}
|
||||
});
|
||||
|
||||
function auto_register() {
|
||||
$blocks = glob(get_theme_file_path('resources/views/blocks/*/block.json'));
|
||||
// add_action('init', function () {
|
||||
// $blocks = glob(get_theme_file_path('resources/blocks/*/block.json'));
|
||||
|
||||
foreach ($blocks as $block_json) {
|
||||
$json = json_decode(file_get_contents($block_json));
|
||||
$slug = basename(dirname($block_json));
|
||||
$blockPath = "resources/views/blocks/{$slug}";
|
||||
// foreach ($blocks as $block_json) {
|
||||
// register_block_type($block_json, [
|
||||
// 'render_callback' => function ($attributes, $content, $block) {
|
||||
// $slug = basename($block->name);
|
||||
// $view = "blocks.{$slug}.render";
|
||||
|
||||
$viewScript = "{$blockPath}/view.js";
|
||||
$script = "{$blockPath}/script.js";
|
||||
$editorCSS = "{$blockPath}/editor.scss";
|
||||
$style = "{$blockPath}/style.scss";
|
||||
// if (\Roots\view()->exists($view)) {
|
||||
// return \Roots\view($view, [
|
||||
// 'attributes' => $attributes,
|
||||
// 'content' => $content,
|
||||
// 'block' => $block,
|
||||
// ]);
|
||||
// }
|
||||
|
||||
// editorStyle
|
||||
if (file_exists(get_theme_file_path($editorCSS))) {
|
||||
wp_register_style(
|
||||
"{$slug}-editor-style",
|
||||
\Vite::asset($editorCSS),
|
||||
[],
|
||||
null
|
||||
);
|
||||
}
|
||||
// return $content;
|
||||
// }
|
||||
// ]);
|
||||
// }
|
||||
// });
|
||||
|
||||
// script
|
||||
if(file_exists(get_theme_file_path($script))) {
|
||||
wp_register_script(
|
||||
"{$slug}-script",
|
||||
\Vite::asset($script),
|
||||
[],
|
||||
null,
|
||||
true
|
||||
);
|
||||
}
|
||||
add_action('allowed_block_types_all', function(){
|
||||
$blocks = array_keys( \WP_Block_Type_Registry::get_instance()->get_all_registered() );
|
||||
$blacklist = array_diff(block_blacklist(), block_whitelist());
|
||||
|
||||
// style
|
||||
if (file_exists(get_theme_file_path($style))) {
|
||||
wp_register_style(
|
||||
"{$slug}-style",
|
||||
\Vite::asset($style),
|
||||
[],
|
||||
null
|
||||
);
|
||||
}
|
||||
return array_values( array_diff( $blocks, $blacklist ) );
|
||||
}, 100, 2);
|
||||
|
||||
// viewScript
|
||||
if(file_exists(get_theme_file_path($viewScript))) {
|
||||
wp_register_script(
|
||||
"{$slug}-view-script",
|
||||
\Vite::asset($viewScript),
|
||||
[],
|
||||
null,
|
||||
true
|
||||
);
|
||||
}
|
||||
|
||||
$props = [
|
||||
'editor_style' => "{$slug}-editor-style",
|
||||
'style' => "{$slug}-style",
|
||||
'script' => "{$slug}-script",
|
||||
'view_script' => "{$slug}-view-script",
|
||||
'attributes' => attributes(),
|
||||
];
|
||||
|
||||
if(!property_exists($json, 'acf') && \Roots\view()->exists("blocks.{$slug}.render")) {
|
||||
$props['render_callback'] = function ($attributes, $content, $block) {
|
||||
$slug = basename($block->name);
|
||||
|
||||
return \Roots\view("blocks.{$slug}.render", [
|
||||
'attributes' => $attributes,
|
||||
'content' => $content,
|
||||
'block' => $block,
|
||||
]);
|
||||
};
|
||||
}
|
||||
|
||||
register_block_type($block_json, $props);
|
||||
}
|
||||
}
|
||||
|
||||
function list_inner()
|
||||
function block_blacklist()
|
||||
{
|
||||
$file = file_get_contents(get_theme_file_path("resources/json/block-core-whitelist.json"));
|
||||
$file = file_get_contents(get_theme_file_path("resources/json/core-block-blacklist.json"));
|
||||
$json = json_decode($file);
|
||||
|
||||
return $json;
|
||||
}
|
||||
|
||||
function attributes()
|
||||
function block_whitelist()
|
||||
{
|
||||
$file = file_get_contents(get_theme_file_path("resources/json/block-attributes.json"));
|
||||
$json = json_decode($file, true);
|
||||
$file = file_get_contents(get_theme_file_path("resources/json/core-block-whitelist.json"));
|
||||
$json = json_decode($file);
|
||||
|
||||
return $json;
|
||||
}
|
||||
|
||||
function list_all()
|
||||
function block_all()
|
||||
{
|
||||
$blocks = array_map(function($block) {
|
||||
$enabled_blocks = array_map(function($block) {
|
||||
$name = $block->name;
|
||||
|
||||
return $block->name;
|
||||
|
||||
}, \WP_Block_Type_Registry::get_instance()->get_all_registered());
|
||||
|
||||
return array_values($blocks);
|
||||
return array_values($enabled_blocks);
|
||||
}
|
||||
|
||||
function list_custom()
|
||||
{
|
||||
return array_filter(list_all(), function($value){
|
||||
if (str_starts_with($value, 'acf/') || str_starts_with($value, 'badegg/')) return $value;
|
||||
});
|
||||
}
|
||||
|
||||
function list_allowed()
|
||||
{
|
||||
$add_allowed = [];
|
||||
|
||||
return array_merge(
|
||||
list_custom(),
|
||||
list_inner(),
|
||||
apply_filters('badegg_block_types_allow', $add_allowed),
|
||||
);
|
||||
}
|
||||
|
||||
function render_acf($block, $content = '', $is_preview = false, $post_id = 0, $wp_block = false, $context = false) {
|
||||
$slug = basename($block['name']);
|
||||
$block['slug'] = $slug;
|
||||
|
||||
$blade = \Roots\view(
|
||||
"blocks.{$slug}.render",
|
||||
[
|
||||
'block' => $block,
|
||||
'content' => $content,
|
||||
'is_preview' => $is_preview,
|
||||
'post_id' => $post_id,
|
||||
'wp_block' => $wp_block,
|
||||
'context' => $context,
|
||||
],
|
||||
);
|
||||
|
||||
if($blade) {
|
||||
echo $blade;
|
||||
} else {
|
||||
ob_start(); ?>
|
||||
|
||||
<section class="section bg-error knockout">
|
||||
<div class="container container-small align-centre wysiwyg">
|
||||
<h2>Missing Blade Template</h2>
|
||||
<p>(resources/views/blocks/<?= $slug ?>/render.blade.php)</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php echo ob_get_clean();
|
||||
}
|
||||
}
|
||||
|
||||
function core_details_modified($content, $block)
|
||||
{
|
||||
$content = str_replace('</summary>', '</summary><div class="wp-block-details__inner inner inner-zero-x wysiwyg">', $content);
|
||||
$content = str_replace('</details>', '</div></details>', $content);
|
||||
|
||||
return $content;
|
||||
}
|
||||
|
||||
function core_image_modified($content, $block)
|
||||
{
|
||||
if(!$content) return '';
|
||||
|
||||
$dom = new \DomDocument();
|
||||
$dom->strictErrorChecking = false;
|
||||
@$dom->loadHTML($content);
|
||||
|
||||
$images = @$dom->getElementsByTagName('img');
|
||||
$figures = @$dom->getElementsByTagName('figure');
|
||||
|
||||
if(!$figures) return $content;
|
||||
|
||||
// get image data
|
||||
$imageID = @$block['attrs']['id'];
|
||||
$lazy = wp_get_attachment_image_src($imageID, 'lazy');
|
||||
$specifiedSize = @wp_get_attachment_image_src($imageID, $block['sizeSlug']);
|
||||
$large = wp_get_attachment_image_src($imageID, '2048x2048');
|
||||
|
||||
// create lightbox link node
|
||||
$link = $dom->createElement('a');
|
||||
$link->setAttribute('class', 'badegg-lightbox');
|
||||
$link->setAttribute('target', '_blank');
|
||||
$link->setAttribute('role', 'button');
|
||||
$link->setAttribute('tabindex', '0');
|
||||
$link->setAttribute('aria-label', __('expand image', 'badegg'));
|
||||
|
||||
foreach($images as $image) {
|
||||
// define new image attributes
|
||||
$src = $image->getAttribute('src');
|
||||
$srcset = $image->getAttribute('srcset');
|
||||
$class = $image->getAttribute('class');
|
||||
|
||||
// set image attributes
|
||||
$image->setAttribute('src', $lazy[0]);
|
||||
$image->setAttribute('srcset', '');
|
||||
$image->setAttribute('data-src', $src);
|
||||
$image->setAttribute('data-srcset', $srcset);
|
||||
$image->setAttribute('class', $class . ' lazy');
|
||||
|
||||
if($specifiedSize) {
|
||||
$image->setAttribute('width', $specifiedSize[1]);
|
||||
$image->setAttribute('height', $specifiedSize[2]);
|
||||
}
|
||||
|
||||
// clone lightbox link
|
||||
$linkClone = $link->cloneNode();
|
||||
|
||||
// set lightbox link attributes
|
||||
$linkClone->setAttribute('href', $large[0]);
|
||||
|
||||
// replace image with lightbox link
|
||||
$image->parentNode->replaceChild($linkClone, $image);
|
||||
|
||||
// append original image to lightbox link
|
||||
$linkClone->appendChild($image);
|
||||
}
|
||||
|
||||
return $dom->saveHTML($figures[0]);
|
||||
}
|
||||
add_action('wp_footer', function(){
|
||||
echo '<pre>',print_r(block_all()),'</pre>';
|
||||
});
|
||||
|
||||
@@ -164,17 +164,9 @@ function cors() {
|
||||
if(WP_ENV == 'development'):
|
||||
header( 'Access-Control-Allow-Origin: *' );
|
||||
endif;
|
||||
|
||||
}
|
||||
|
||||
add_action('wp_head', function(){
|
||||
if(file_exists(get_theme_file_path('resources/images/favicon/site.webmanifest'))) {
|
||||
echo \Roots\view("partials.favicon")->render();
|
||||
}
|
||||
});
|
||||
|
||||
add_action('after_setup_theme', function(){
|
||||
$image_srcset = new Utilities\ImageSrcset;
|
||||
$image_srcset->add(['name' => 'hero', 'width' => 1920, 'height' => 1080]);
|
||||
add_image_size('lazy', 50, 50);
|
||||
add_image_size('hero', 1920, 1080, true);
|
||||
});
|
||||
$image_srcset = new Utilities\ImageSrcset;
|
||||
$image_srcset->add(['name' => 'hero', 'width' => 1920, 'height' => 1000]);
|
||||
add_image_size('lazy', 50, 50);
|
||||
|
||||
@@ -35,7 +35,8 @@
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"App\\": "app/"
|
||||
"App\\": "app/",
|
||||
"Blocks\\": "resources/views/blocks"
|
||||
}
|
||||
},
|
||||
"require": {
|
||||
|
||||
@@ -57,7 +57,21 @@ autoload_psr4('PostTypes');
|
||||
autoload_psr4('ACF');
|
||||
autoload_psr4('Utilities');
|
||||
autoload_psr4('Admin');
|
||||
autoload_psr4('Ajax');
|
||||
|
||||
function autoload_psr4_blocks() {
|
||||
$path = __dir__ . '/resources/views/blocks/*';
|
||||
$namespace = 'Blocks\\';
|
||||
|
||||
foreach(glob($path, GLOB_ONLYDIR) as $directory) {
|
||||
$name = basename($directory);
|
||||
$class = $namespace . $name . '\\' . $name;
|
||||
|
||||
new $class();
|
||||
}
|
||||
}
|
||||
|
||||
autoload_psr4_blocks();
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
||||
274
package-lock.json
generated
274
package-lock.json
generated
@@ -7,7 +7,6 @@
|
||||
"name": "sage",
|
||||
"devDependencies": {
|
||||
"@roots/vite-plugin": "^1.0.2",
|
||||
"fast-glob": "^3.3.3",
|
||||
"laravel-vite-plugin": "^1.2.0",
|
||||
"sass": "^1.93.2",
|
||||
"vite": "^6.2.0"
|
||||
@@ -464,6 +463,7 @@
|
||||
"integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jridgewell/sourcemap-codec": "^1.5.0",
|
||||
"@jridgewell/trace-mapping": "^0.3.24"
|
||||
@@ -475,6 +475,7 @@
|
||||
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=6.0.0"
|
||||
}
|
||||
@@ -485,6 +486,7 @@
|
||||
"integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jridgewell/gen-mapping": "^0.3.5",
|
||||
"@jridgewell/trace-mapping": "^0.3.25"
|
||||
@@ -495,7 +497,8 @@
|
||||
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
|
||||
"integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@jridgewell/trace-mapping": {
|
||||
"version": "0.3.31",
|
||||
@@ -503,49 +506,12 @@
|
||||
"integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jridgewell/resolve-uri": "^3.1.0",
|
||||
"@jridgewell/sourcemap-codec": "^1.4.14"
|
||||
}
|
||||
},
|
||||
"node_modules/@nodelib/fs.scandir": {
|
||||
"version": "2.1.5",
|
||||
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
|
||||
"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@nodelib/fs.stat": "2.0.5",
|
||||
"run-parallel": "^1.1.9"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/@nodelib/fs.stat": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
|
||||
"integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/@nodelib/fs.walk": {
|
||||
"version": "1.2.8",
|
||||
"resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
|
||||
"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@nodelib/fs.scandir": "2.1.5",
|
||||
"fastq": "^1.6.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher": {
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz",
|
||||
@@ -1190,6 +1156,7 @@
|
||||
"integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/estree": "*",
|
||||
"@types/json-schema": "*"
|
||||
@@ -1201,6 +1168,7 @@
|
||||
"integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/eslint": "*",
|
||||
"@types/estree": "*"
|
||||
@@ -1218,7 +1186,8 @@
|
||||
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
|
||||
"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "24.9.2",
|
||||
@@ -1226,6 +1195,7 @@
|
||||
"integrity": "sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"undici-types": "~7.16.0"
|
||||
}
|
||||
@@ -1236,6 +1206,7 @@
|
||||
"integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/helper-numbers": "1.13.2",
|
||||
"@webassemblyjs/helper-wasm-bytecode": "1.13.2"
|
||||
@@ -1246,21 +1217,24 @@
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz",
|
||||
"integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@webassemblyjs/helper-api-error": {
|
||||
"version": "1.13.2",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz",
|
||||
"integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@webassemblyjs/helper-buffer": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz",
|
||||
"integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@webassemblyjs/helper-numbers": {
|
||||
"version": "1.13.2",
|
||||
@@ -1268,6 +1242,7 @@
|
||||
"integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/floating-point-hex-parser": "1.13.2",
|
||||
"@webassemblyjs/helper-api-error": "1.13.2",
|
||||
@@ -1279,7 +1254,8 @@
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz",
|
||||
"integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@webassemblyjs/helper-wasm-section": {
|
||||
"version": "1.14.1",
|
||||
@@ -1287,6 +1263,7 @@
|
||||
"integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.14.1",
|
||||
"@webassemblyjs/helper-buffer": "1.14.1",
|
||||
@@ -1300,6 +1277,7 @@
|
||||
"integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@xtuc/ieee754": "^1.2.0"
|
||||
}
|
||||
@@ -1310,6 +1288,7 @@
|
||||
"integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@xtuc/long": "4.2.2"
|
||||
}
|
||||
@@ -1319,7 +1298,8 @@
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz",
|
||||
"integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@webassemblyjs/wasm-edit": {
|
||||
"version": "1.14.1",
|
||||
@@ -1327,6 +1307,7 @@
|
||||
"integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.14.1",
|
||||
"@webassemblyjs/helper-buffer": "1.14.1",
|
||||
@@ -1344,6 +1325,7 @@
|
||||
"integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.14.1",
|
||||
"@webassemblyjs/helper-wasm-bytecode": "1.13.2",
|
||||
@@ -1358,6 +1340,7 @@
|
||||
"integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.14.1",
|
||||
"@webassemblyjs/helper-buffer": "1.14.1",
|
||||
@@ -1371,6 +1354,7 @@
|
||||
"integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.14.1",
|
||||
"@webassemblyjs/helper-api-error": "1.13.2",
|
||||
@@ -1386,6 +1370,7 @@
|
||||
"integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.14.1",
|
||||
"@xtuc/long": "4.2.2"
|
||||
@@ -1413,14 +1398,16 @@
|
||||
"resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
|
||||
"integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
|
||||
"dev": true,
|
||||
"license": "BSD-3-Clause"
|
||||
"license": "BSD-3-Clause",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@xtuc/long": {
|
||||
"version": "4.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
|
||||
"integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0"
|
||||
"license": "Apache-2.0",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/acorn": {
|
||||
"version": "8.15.0",
|
||||
@@ -1442,6 +1429,7 @@
|
||||
"integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=10.13.0"
|
||||
},
|
||||
@@ -1473,6 +1461,7 @@
|
||||
"integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"ajv": "^8.0.0"
|
||||
},
|
||||
@@ -1491,6 +1480,7 @@
|
||||
"integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.3"
|
||||
},
|
||||
@@ -1504,6 +1494,7 @@
|
||||
"integrity": "sha512-JU0h5APyQNsHOlAM7HnQnPToSDQoEBZqzu/YBlqDnEeymPnZDREeXJA3KBMQee+dKteAxZ2AtvQEvVYdZf241Q==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"baseline-browser-mapping": "dist/cli.js"
|
||||
}
|
||||
@@ -1514,6 +1505,7 @@
|
||||
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"fill-range": "^7.1.1"
|
||||
},
|
||||
@@ -1561,7 +1553,8 @@
|
||||
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
|
||||
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001751",
|
||||
@@ -1582,7 +1575,8 @@
|
||||
"url": "https://github.com/sponsors/ai"
|
||||
}
|
||||
],
|
||||
"license": "CC-BY-4.0"
|
||||
"license": "CC-BY-4.0",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/chokidar": {
|
||||
"version": "4.0.3",
|
||||
@@ -1606,6 +1600,7 @@
|
||||
"integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=6.0"
|
||||
}
|
||||
@@ -1615,7 +1610,8 @@
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
||||
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/detect-libc": {
|
||||
"version": "1.0.3",
|
||||
@@ -1636,7 +1632,8 @@
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.244.tgz",
|
||||
"integrity": "sha512-OszpBN7xZX4vWMPJwB9illkN/znA8M36GQqQxi6MNy9axWxhOfJyZZJtSLQCpEFLHP2xK33BiWx9aIuIEXVCcw==",
|
||||
"dev": true,
|
||||
"license": "ISC"
|
||||
"license": "ISC",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/enhanced-resolve": {
|
||||
"version": "5.18.3",
|
||||
@@ -1644,6 +1641,7 @@
|
||||
"integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"graceful-fs": "^4.2.4",
|
||||
"tapable": "^2.2.0"
|
||||
@@ -1657,7 +1655,8 @@
|
||||
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz",
|
||||
"integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/esbuild": {
|
||||
"version": "0.25.11",
|
||||
@@ -1707,6 +1706,7 @@
|
||||
"integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
@@ -1717,6 +1717,7 @@
|
||||
"integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
|
||||
"dev": true,
|
||||
"license": "BSD-2-Clause",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"esrecurse": "^4.3.0",
|
||||
"estraverse": "^4.1.1"
|
||||
@@ -1731,6 +1732,7 @@
|
||||
"integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
|
||||
"dev": true,
|
||||
"license": "BSD-2-Clause",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"estraverse": "^5.2.0"
|
||||
},
|
||||
@@ -1744,6 +1746,7 @@
|
||||
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
|
||||
"dev": true,
|
||||
"license": "BSD-2-Clause",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=4.0"
|
||||
}
|
||||
@@ -1754,6 +1757,7 @@
|
||||
"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
|
||||
"dev": true,
|
||||
"license": "BSD-2-Clause",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=4.0"
|
||||
}
|
||||
@@ -1764,6 +1768,7 @@
|
||||
"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=0.8.x"
|
||||
}
|
||||
@@ -1773,24 +1778,8 @@
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
||||
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/fast-glob": {
|
||||
"version": "3.3.3",
|
||||
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
|
||||
"integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@nodelib/fs.stat": "^2.0.2",
|
||||
"@nodelib/fs.walk": "^1.2.3",
|
||||
"glob-parent": "^5.1.2",
|
||||
"merge2": "^1.3.0",
|
||||
"micromatch": "^4.0.8"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.6.0"
|
||||
}
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/fast-uri": {
|
||||
"version": "3.1.0",
|
||||
@@ -1807,17 +1796,8 @@
|
||||
"url": "https://opencollective.com/fastify"
|
||||
}
|
||||
],
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/fastq": {
|
||||
"version": "1.19.1",
|
||||
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
|
||||
"integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"reusify": "^1.0.4"
|
||||
}
|
||||
"license": "BSD-3-Clause",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/fdir": {
|
||||
"version": "6.5.0",
|
||||
@@ -1843,6 +1823,7 @@
|
||||
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"to-regex-range": "^5.0.1"
|
||||
},
|
||||
@@ -1865,32 +1846,21 @@
|
||||
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/glob-parent": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
||||
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"is-glob": "^4.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/glob-to-regexp": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
|
||||
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
|
||||
"dev": true,
|
||||
"license": "BSD-2-Clause"
|
||||
"license": "BSD-2-Clause",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/graceful-fs": {
|
||||
"version": "4.2.11",
|
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
|
||||
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
|
||||
"dev": true,
|
||||
"license": "ISC"
|
||||
"license": "ISC",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/has-flag": {
|
||||
"version": "4.0.0",
|
||||
@@ -1898,6 +1868,7 @@
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
@@ -1915,6 +1886,7 @@
|
||||
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
@@ -1925,6 +1897,7 @@
|
||||
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"is-extglob": "^2.1.1"
|
||||
},
|
||||
@@ -1938,6 +1911,7 @@
|
||||
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=0.12.0"
|
||||
}
|
||||
@@ -1948,6 +1922,7 @@
|
||||
"integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/node": "*",
|
||||
"merge-stream": "^2.0.0",
|
||||
@@ -1962,14 +1937,16 @@
|
||||
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
|
||||
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/json-schema-traverse": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
||||
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/json2php": {
|
||||
"version": "0.0.7",
|
||||
@@ -2004,6 +1981,7 @@
|
||||
"integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=6.11.5"
|
||||
},
|
||||
@@ -2017,17 +1995,8 @@
|
||||
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
|
||||
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/merge2": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
|
||||
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 8"
|
||||
}
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/micromatch": {
|
||||
"version": "4.0.8",
|
||||
@@ -2035,6 +2004,7 @@
|
||||
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"braces": "^3.0.3",
|
||||
"picomatch": "^2.3.1"
|
||||
@@ -2049,6 +2019,7 @@
|
||||
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=8.6"
|
||||
},
|
||||
@@ -2062,6 +2033,7 @@
|
||||
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
@@ -2072,6 +2044,7 @@
|
||||
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"mime-db": "1.52.0"
|
||||
},
|
||||
@@ -2103,7 +2076,8 @@
|
||||
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
|
||||
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/node-addon-api": {
|
||||
"version": "7.1.1",
|
||||
@@ -2118,7 +2092,8 @@
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz",
|
||||
"integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/picocolors": {
|
||||
"version": "1.1.1",
|
||||
@@ -2133,7 +2108,6 @@
|
||||
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
@@ -2170,33 +2144,13 @@
|
||||
"node": "^10 || ^12 || >=14"
|
||||
}
|
||||
},
|
||||
"node_modules/queue-microtask": {
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
|
||||
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/randombytes": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
|
||||
"integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"safe-buffer": "^5.1.0"
|
||||
}
|
||||
@@ -2221,21 +2175,11 @@
|
||||
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/reusify": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
|
||||
"integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"iojs": ">=1.0.0",
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/rollup": {
|
||||
"version": "4.52.5",
|
||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.5.tgz",
|
||||
@@ -2278,30 +2222,6 @@
|
||||
"fsevents": "~2.3.2"
|
||||
}
|
||||
},
|
||||
"node_modules/run-parallel": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
|
||||
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"queue-microtask": "^1.2.2"
|
||||
}
|
||||
},
|
||||
"node_modules/safe-buffer": {
|
||||
"version": "5.2.1",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
||||
@@ -2321,7 +2241,8 @@
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/sass": {
|
||||
"version": "1.93.2",
|
||||
@@ -2329,7 +2250,6 @@
|
||||
"integrity": "sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"chokidar": "^4.0.0",
|
||||
"immutable": "^5.0.2",
|
||||
@@ -2351,6 +2271,7 @@
|
||||
"integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/json-schema": "^7.0.9",
|
||||
"ajv": "^8.9.0",
|
||||
@@ -2371,6 +2292,7 @@
|
||||
"integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
|
||||
"dev": true,
|
||||
"license": "BSD-3-Clause",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"randombytes": "^2.1.0"
|
||||
}
|
||||
@@ -2381,6 +2303,7 @@
|
||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||
"dev": true,
|
||||
"license": "BSD-3-Clause",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
@@ -2401,6 +2324,7 @@
|
||||
"integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"buffer-from": "^1.0.0",
|
||||
"source-map": "^0.6.0"
|
||||
@@ -2412,6 +2336,7 @@
|
||||
"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"has-flag": "^4.0.0"
|
||||
},
|
||||
@@ -2428,6 +2353,7 @@
|
||||
"integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
},
|
||||
@@ -2442,6 +2368,7 @@
|
||||
"integrity": "sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==",
|
||||
"dev": true,
|
||||
"license": "BSD-2-Clause",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jridgewell/source-map": "^0.3.3",
|
||||
"acorn": "^8.15.0",
|
||||
@@ -2461,6 +2388,7 @@
|
||||
"integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jridgewell/trace-mapping": "^0.3.25",
|
||||
"jest-worker": "^27.4.5",
|
||||
@@ -2513,6 +2441,7 @@
|
||||
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"is-number": "^7.0.0"
|
||||
},
|
||||
@@ -2525,7 +2454,8 @@
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
|
||||
"integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/update-browserslist-db": {
|
||||
"version": "1.1.4",
|
||||
@@ -2547,6 +2477,7 @@
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"escalade": "^3.2.0",
|
||||
"picocolors": "^1.1.1"
|
||||
@@ -2564,7 +2495,6 @@
|
||||
"integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"esbuild": "^0.25.0",
|
||||
"fdir": "^6.4.4",
|
||||
@@ -2664,6 +2594,7 @@
|
||||
"integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"glob-to-regexp": "^0.4.1",
|
||||
"graceful-fs": "^4.1.2"
|
||||
@@ -2728,6 +2659,7 @@
|
||||
"integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=10.13.0"
|
||||
}
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@roots/vite-plugin": "^1.0.2",
|
||||
"fast-glob": "^3.3.3",
|
||||
"laravel-vite-plugin": "^1.2.0",
|
||||
"sass": "^1.93.2",
|
||||
"vite": "^6.2.0"
|
||||
|
||||
@@ -1,131 +0,0 @@
|
||||
{
|
||||
"key": "group_block_acfdemo",
|
||||
"title": "Block: ACF Demo",
|
||||
"fields": [
|
||||
{
|
||||
"key": "field_693d7783d862a",
|
||||
"label": "Content",
|
||||
"name": "",
|
||||
"aria-label": "",
|
||||
"type": "accordion",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"open": 1,
|
||||
"multi_expand": 1,
|
||||
"endpoint": 0
|
||||
},
|
||||
{
|
||||
"key": "field_693d779cd862b",
|
||||
"label": "",
|
||||
"name": "content",
|
||||
"aria-label": "",
|
||||
"type": "wysiwyg",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"allow_in_bindings": 0,
|
||||
"tabs": "all",
|
||||
"toolbar": "full",
|
||||
"media_upload": 1,
|
||||
"delay": 0
|
||||
},
|
||||
{
|
||||
"key": "field_693d7764938f3",
|
||||
"label": "Introduction",
|
||||
"name": "block_intro",
|
||||
"aria-label": "",
|
||||
"type": "clone",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"clone": [
|
||||
"group_clone_block_intro"
|
||||
],
|
||||
"display": "seamless",
|
||||
"layout": "block",
|
||||
"prefix_label": 0,
|
||||
"prefix_name": 0
|
||||
},
|
||||
{
|
||||
"key": "field_6940187f74afb",
|
||||
"label": "Footer",
|
||||
"name": "block_footer",
|
||||
"aria-label": "",
|
||||
"type": "clone",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"clone": [
|
||||
"group_clone_block_footer"
|
||||
],
|
||||
"display": "seamless",
|
||||
"layout": "block",
|
||||
"prefix_label": 0,
|
||||
"prefix_name": 0
|
||||
},
|
||||
{
|
||||
"key": "field_693d776493992",
|
||||
"label": "Settings",
|
||||
"name": "block_settings",
|
||||
"aria-label": "",
|
||||
"type": "clone",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"clone": [
|
||||
"group_clone_block_settings"
|
||||
],
|
||||
"display": "seamless",
|
||||
"layout": "block",
|
||||
"prefix_label": 0,
|
||||
"prefix_name": 0
|
||||
}
|
||||
],
|
||||
"location": [
|
||||
[
|
||||
{
|
||||
"param": "block",
|
||||
"operator": "==",
|
||||
"value": "badegg\/acfdemo"
|
||||
}
|
||||
]
|
||||
],
|
||||
"menu_order": 0,
|
||||
"position": "normal",
|
||||
"style": "default",
|
||||
"label_placement": "top",
|
||||
"instruction_placement": "label",
|
||||
"hide_on_screen": "",
|
||||
"active": true,
|
||||
"description": "",
|
||||
"show_in_rest": 0,
|
||||
"display_title": "",
|
||||
"modified": 1765814950
|
||||
}
|
||||
@@ -17,12 +17,7 @@
|
||||
"id": ""
|
||||
},
|
||||
"choices": {
|
||||
"0": "None",
|
||||
"primary": "<i class=\"fas fa-circle\" style=\"color: #dd3333\"><\/i> Punch",
|
||||
"secondary": "<i class=\"fas fa-circle\" style=\"color: #81d742\"><\/i> Atlantis",
|
||||
"tertiary": "<i class=\"fas fa-circle\" style=\"color: #8224e3\"><\/i> Purple Heart",
|
||||
"white": "<i class=\"fas fa-circle\" style=\"color: #FFFFFF\"><\/i> White",
|
||||
"grey": "<i class=\"fas fa-circle\" style=\"color: #808080\"><\/i> Gray",
|
||||
"0": "<i class=\"fas fa-circle\" style=\"color: #FFFFFF\"><\/i> White",
|
||||
"black": "<i class=\"fas fa-circle\" style=\"color: #000000\"><\/i> Black"
|
||||
},
|
||||
"default_value": 0,
|
||||
@@ -44,29 +39,7 @@
|
||||
"type": "select",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": [
|
||||
[
|
||||
{
|
||||
"field": "field_67325dd23234e",
|
||||
"operator": "!=",
|
||||
"value": "0"
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"field": "field_67325dd23234e",
|
||||
"operator": "!=",
|
||||
"value": "black"
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"field": "field_67325dd23234e",
|
||||
"operator": "!=",
|
||||
"value": "white"
|
||||
}
|
||||
]
|
||||
],
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "50",
|
||||
"class": "",
|
||||
@@ -94,10 +67,10 @@
|
||||
},
|
||||
{
|
||||
"key": "field_67350f526abf1",
|
||||
"label": "",
|
||||
"label": "Text Contrast",
|
||||
"name": "contrast",
|
||||
"aria-label": "",
|
||||
"type": "true_false",
|
||||
"type": "select",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
@@ -106,12 +79,20 @@
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"message": "Text Contrast",
|
||||
"choices": {
|
||||
"0": "Auto",
|
||||
"dark": "Force dark text",
|
||||
"light": "Force light text"
|
||||
},
|
||||
"default_value": 0,
|
||||
"allow_in_bindings": 0,
|
||||
"ui_on_text": "Light",
|
||||
"ui_off_text": "Dark",
|
||||
"ui": 1
|
||||
"return_format": "value",
|
||||
"multiple": 0,
|
||||
"allow_null": 0,
|
||||
"ui": 0,
|
||||
"ajax": 0,
|
||||
"placeholder": "",
|
||||
"create_options": 0,
|
||||
"save_options": 0
|
||||
}
|
||||
],
|
||||
"location": [
|
||||
@@ -132,6 +113,5 @@
|
||||
"active": true,
|
||||
"description": "",
|
||||
"show_in_rest": 0,
|
||||
"display_title": "",
|
||||
"modified": 1767548180
|
||||
"modified": 1764224358
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"title": "Clone: Block Footer",
|
||||
"fields": [
|
||||
{
|
||||
"key": "field_694016b164221",
|
||||
"key": "field_67659b49a6db2",
|
||||
"label": "Footer",
|
||||
"name": "",
|
||||
"aria-label": "",
|
||||
@@ -21,11 +21,31 @@
|
||||
"endpoint": 0
|
||||
},
|
||||
{
|
||||
"key": "field_694016b164272",
|
||||
"label": "",
|
||||
"name": "footer",
|
||||
"key": "field_67659b49a754a",
|
||||
"label": "Blurb",
|
||||
"name": "blurb_footer",
|
||||
"aria-label": "",
|
||||
"type": "group",
|
||||
"type": "textarea",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"maxlength": "",
|
||||
"rows": 3,
|
||||
"placeholder": "",
|
||||
"new_lines": ""
|
||||
},
|
||||
{
|
||||
"key": "field_67659b7502137",
|
||||
"label": "Links",
|
||||
"name": "links",
|
||||
"aria-label": "",
|
||||
"type": "repeater",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
@@ -35,33 +55,19 @@
|
||||
"id": ""
|
||||
},
|
||||
"layout": "block",
|
||||
"pagination": 0,
|
||||
"min": 0,
|
||||
"max": 2,
|
||||
"collapsed": "",
|
||||
"button_label": "Add Button",
|
||||
"rows_per_page": 20,
|
||||
"sub_fields": [
|
||||
{
|
||||
"key": "field_694016b165315",
|
||||
"label": "Blurb",
|
||||
"name": "blurb",
|
||||
"key": "field_67659b8702138",
|
||||
"label": "Button",
|
||||
"name": "button",
|
||||
"aria-label": "",
|
||||
"type": "textarea",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"maxlength": "",
|
||||
"rows": 3,
|
||||
"placeholder": "",
|
||||
"new_lines": ""
|
||||
},
|
||||
{
|
||||
"key": "field_69401a2f06555",
|
||||
"label": "Links",
|
||||
"name": "links",
|
||||
"aria-label": "",
|
||||
"type": "repeater",
|
||||
"type": "clone",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
@@ -70,106 +76,49 @@
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"clone": [
|
||||
"group_clone_button"
|
||||
],
|
||||
"display": "seamless",
|
||||
"layout": "block",
|
||||
"pagination": 0,
|
||||
"min": 0,
|
||||
"max": 0,
|
||||
"collapsed": "",
|
||||
"button_label": "Add Row",
|
||||
"rows_per_page": 20,
|
||||
"sub_fields": [
|
||||
{
|
||||
"key": "field_69401a4006556",
|
||||
"label": "Link",
|
||||
"name": "link",
|
||||
"aria-label": "",
|
||||
"type": "clone",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"clone": [
|
||||
"group_clone_button"
|
||||
],
|
||||
"display": "seamless",
|
||||
"layout": "block",
|
||||
"prefix_label": 0,
|
||||
"prefix_name": 0,
|
||||
"parent_repeater": "field_69401a2f06555"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "field_694016b165337",
|
||||
"label": "Alignment",
|
||||
"name": "align",
|
||||
"aria-label": "",
|
||||
"type": "select",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": {
|
||||
"left": "Left",
|
||||
"centre": "Centre",
|
||||
"right": "Right"
|
||||
},
|
||||
"default_value": "centre",
|
||||
"return_format": "value",
|
||||
"multiple": 0,
|
||||
"allow_null": 0,
|
||||
"allow_in_bindings": 0,
|
||||
"ui": 0,
|
||||
"ajax": 0,
|
||||
"placeholder": "",
|
||||
"create_options": 0,
|
||||
"save_options": 0
|
||||
},
|
||||
{
|
||||
"key": "field_694016b16537f",
|
||||
"label": "Container width",
|
||||
"name": "container_width",
|
||||
"aria-label": "",
|
||||
"type": "select",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": {
|
||||
"0": "Auto",
|
||||
"narrow": "Narrow",
|
||||
"small": "Small",
|
||||
"medium": "Medium",
|
||||
"large": "Large",
|
||||
"full": "Edge to edge"
|
||||
},
|
||||
"default_value": "narrow",
|
||||
"return_format": "value",
|
||||
"multiple": 0,
|
||||
"allow_null": 0,
|
||||
"allow_in_bindings": 0,
|
||||
"ui": 0,
|
||||
"ajax": 0,
|
||||
"placeholder": "",
|
||||
"create_options": 0,
|
||||
"save_options": 0
|
||||
"prefix_label": 0,
|
||||
"prefix_name": 0,
|
||||
"parent_repeater": "field_67659b7502137"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "field_694016b1642c5",
|
||||
"key": "field_682fb9ff58080",
|
||||
"label": "Alignment",
|
||||
"name": "footer_alignment",
|
||||
"aria-label": "",
|
||||
"type": "select",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": {
|
||||
"centre": "Centre",
|
||||
"left": "Left",
|
||||
"right": "Right"
|
||||
},
|
||||
"default_value": "centre",
|
||||
"return_format": "value",
|
||||
"multiple": 0,
|
||||
"allow_null": 0,
|
||||
"allow_in_bindings": 0,
|
||||
"ui": 0,
|
||||
"ajax": 0,
|
||||
"placeholder": "",
|
||||
"create_options": 0,
|
||||
"save_options": 0
|
||||
},
|
||||
{
|
||||
"key": "field_6828dac95eb68",
|
||||
"label": "Footer (end)",
|
||||
"name": "",
|
||||
"aria-label": "",
|
||||
@@ -205,6 +154,5 @@
|
||||
"active": true,
|
||||
"description": "",
|
||||
"show_in_rest": 0,
|
||||
"display_title": "",
|
||||
"modified": 1765809897
|
||||
"modified": 1747958307
|
||||
}
|
||||
|
||||
@@ -21,11 +21,52 @@
|
||||
"endpoint": 0
|
||||
},
|
||||
{
|
||||
"key": "field_693f37ad7fa70",
|
||||
"label": "",
|
||||
"name": "intro",
|
||||
"key": "field_676599964d3cc",
|
||||
"label": "Heading",
|
||||
"name": "heading",
|
||||
"aria-label": "",
|
||||
"type": "group",
|
||||
"type": "textarea",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "hfont",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"maxlength": "",
|
||||
"allow_in_bindings": 0,
|
||||
"rows": 2,
|
||||
"placeholder": "",
|
||||
"new_lines": ""
|
||||
},
|
||||
{
|
||||
"key": "field_6765999d4d3cd",
|
||||
"label": "Blurb",
|
||||
"name": "blurb",
|
||||
"aria-label": "",
|
||||
"type": "textarea",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"maxlength": "",
|
||||
"rows": 3,
|
||||
"placeholder": "",
|
||||
"new_lines": ""
|
||||
},
|
||||
{
|
||||
"key": "field_68bf1126c2760",
|
||||
"label": "Links",
|
||||
"name": "links",
|
||||
"aria-label": "",
|
||||
"type": "repeater",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
@@ -35,34 +76,19 @@
|
||||
"id": ""
|
||||
},
|
||||
"layout": "block",
|
||||
"pagination": 0,
|
||||
"min": 0,
|
||||
"max": 1,
|
||||
"collapsed": "",
|
||||
"button_label": "Add Button",
|
||||
"rows_per_page": 20,
|
||||
"sub_fields": [
|
||||
{
|
||||
"key": "field_676599964d3cc",
|
||||
"label": "Heading",
|
||||
"name": "heading",
|
||||
"key": "field_68bf1171c2761",
|
||||
"label": "Link",
|
||||
"name": "link",
|
||||
"aria-label": "",
|
||||
"type": "text",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "hfont",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"maxlength": "",
|
||||
"allow_in_bindings": 0,
|
||||
"placeholder": "",
|
||||
"prepend": "",
|
||||
"append": ""
|
||||
},
|
||||
{
|
||||
"key": "field_6765999d4d3cd",
|
||||
"label": "Blurb",
|
||||
"name": "blurb",
|
||||
"aria-label": "",
|
||||
"type": "textarea",
|
||||
"type": "clone",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
@@ -71,74 +97,14 @@
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"maxlength": "",
|
||||
"rows": 3,
|
||||
"placeholder": "",
|
||||
"new_lines": ""
|
||||
},
|
||||
{
|
||||
"key": "field_69400cbafb964",
|
||||
"label": "Alignment",
|
||||
"name": "align",
|
||||
"aria-label": "",
|
||||
"type": "select",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": {
|
||||
"left": "Left",
|
||||
"centre": "Centre",
|
||||
"right": "Right"
|
||||
},
|
||||
"default_value": "centre",
|
||||
"return_format": "value",
|
||||
"multiple": 0,
|
||||
"allow_null": 0,
|
||||
"allow_in_bindings": 0,
|
||||
"ui": 0,
|
||||
"ajax": 0,
|
||||
"placeholder": "",
|
||||
"create_options": 0,
|
||||
"save_options": 0
|
||||
},
|
||||
{
|
||||
"key": "field_693f3a7fae85e",
|
||||
"label": "Container width",
|
||||
"name": "container_width",
|
||||
"aria-label": "",
|
||||
"type": "select",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": {
|
||||
"0": "Auto",
|
||||
"narrow": "Narrow",
|
||||
"small": "Small",
|
||||
"medium": "Medium",
|
||||
"large": "Large",
|
||||
"full": "Edge to edge"
|
||||
},
|
||||
"default_value": "narrow",
|
||||
"return_format": "value",
|
||||
"multiple": 0,
|
||||
"allow_null": 0,
|
||||
"allow_in_bindings": 0,
|
||||
"ui": 0,
|
||||
"ajax": 0,
|
||||
"placeholder": "",
|
||||
"create_options": 0,
|
||||
"save_options": 0
|
||||
"clone": [
|
||||
"group_clone_button"
|
||||
],
|
||||
"display": "seamless",
|
||||
"layout": "block",
|
||||
"prefix_label": 0,
|
||||
"prefix_name": 0,
|
||||
"parent_repeater": "field_68bf1126c2760"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -179,6 +145,5 @@
|
||||
"active": true,
|
||||
"description": "",
|
||||
"show_in_rest": 0,
|
||||
"display_title": "",
|
||||
"modified": 1765809893
|
||||
"modified": 1757498726
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"title": "Clone: Block Settings",
|
||||
"fields": [
|
||||
{
|
||||
"key": "field_69403228d2637",
|
||||
"key": "field_673511c31122f",
|
||||
"label": "Settings",
|
||||
"name": "",
|
||||
"aria-label": "",
|
||||
@@ -21,11 +21,11 @@
|
||||
"endpoint": 0
|
||||
},
|
||||
{
|
||||
"key": "field_694031b513e66",
|
||||
"label": "",
|
||||
"name": "settings",
|
||||
"key": "field_680016e0fac24",
|
||||
"label": "Anchor ID",
|
||||
"name": "section_anchor_id",
|
||||
"aria-label": "",
|
||||
"type": "group",
|
||||
"type": "text",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
@@ -34,127 +34,136 @@
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"layout": "block",
|
||||
"sub_fields": [
|
||||
{
|
||||
"key": "field_6800097e61765",
|
||||
"label": "Container Width",
|
||||
"name": "container_width",
|
||||
"aria-label": "",
|
||||
"type": "select",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": {
|
||||
"0": "Auto",
|
||||
"narrow": "Narrow",
|
||||
"small": "Small",
|
||||
"medium": "Medium",
|
||||
"large": "Large",
|
||||
"full": "Edge to edge"
|
||||
},
|
||||
"default_value": 0,
|
||||
"return_format": "value",
|
||||
"multiple": 0,
|
||||
"allow_null": 0,
|
||||
"allow_in_bindings": 1,
|
||||
"ui": 0,
|
||||
"ajax": 0,
|
||||
"placeholder": "",
|
||||
"create_options": 0,
|
||||
"save_options": 0
|
||||
},
|
||||
{
|
||||
"key": "field_67350eb62cdf9",
|
||||
"label": "",
|
||||
"name": "padding_top",
|
||||
"aria-label": "",
|
||||
"type": "true_false",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"message": "Top Padding",
|
||||
"default_value": 1,
|
||||
"allow_in_bindings": 0,
|
||||
"ui_on_text": "On",
|
||||
"ui_off_text": "Off",
|
||||
"ui": 1
|
||||
},
|
||||
{
|
||||
"key": "field_673510c1dc830",
|
||||
"label": "",
|
||||
"name": "padding_bottom",
|
||||
"aria-label": "",
|
||||
"type": "true_false",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"message": "Bottom Padding",
|
||||
"default_value": 1,
|
||||
"allow_in_bindings": 0,
|
||||
"ui_on_text": "On",
|
||||
"ui_off_text": "Off",
|
||||
"ui": 1
|
||||
},
|
||||
{
|
||||
"key": "field_695aa550e16d4",
|
||||
"label": "Background",
|
||||
"name": "",
|
||||
"aria-label": "",
|
||||
"type": "message",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"message": "",
|
||||
"new_lines": "wpautop",
|
||||
"esc_html": 0
|
||||
},
|
||||
{
|
||||
"key": "field_67350aeb146ca",
|
||||
"label": "Background",
|
||||
"name": "background",
|
||||
"aria-label": "",
|
||||
"type": "clone",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"clone": [
|
||||
"group_clone_background_settings"
|
||||
],
|
||||
"display": "seamless",
|
||||
"layout": "block",
|
||||
"prefix_label": 0,
|
||||
"prefix_name": 0
|
||||
}
|
||||
]
|
||||
"default_value": "",
|
||||
"maxlength": "",
|
||||
"placeholder": "",
|
||||
"prepend": "#",
|
||||
"append": ""
|
||||
},
|
||||
{
|
||||
"key": "field_69403239d2638",
|
||||
"key": "field_6800097e61765",
|
||||
"label": "Container Width",
|
||||
"name": "container_width",
|
||||
"aria-label": "",
|
||||
"type": "select",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": {
|
||||
"full": "Full Width",
|
||||
"large": "Large",
|
||||
"medium": "Medium",
|
||||
"small": "Small",
|
||||
"narrow": "Narrow"
|
||||
},
|
||||
"default_value": "medium",
|
||||
"return_format": "value",
|
||||
"multiple": 0,
|
||||
"allow_null": 0,
|
||||
"allow_in_bindings": 1,
|
||||
"ui": 0,
|
||||
"ajax": 0,
|
||||
"placeholder": "",
|
||||
"create_options": 0,
|
||||
"save_options": 0
|
||||
},
|
||||
{
|
||||
"key": "field_67350eb62cdf9",
|
||||
"label": "Top Padding",
|
||||
"name": "padding_top",
|
||||
"aria-label": "",
|
||||
"type": "radio",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "50",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": [
|
||||
"On",
|
||||
"Off"
|
||||
],
|
||||
"default_value": "",
|
||||
"return_format": "value",
|
||||
"allow_null": 0,
|
||||
"other_choice": 0,
|
||||
"layout": "horizontal",
|
||||
"save_other_choice": 0
|
||||
},
|
||||
{
|
||||
"key": "field_673510c1dc830",
|
||||
"label": "Bottom Padding",
|
||||
"name": "padding_bottom",
|
||||
"aria-label": "",
|
||||
"type": "radio",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "50",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"choices": [
|
||||
"On",
|
||||
"Off"
|
||||
],
|
||||
"default_value": "",
|
||||
"return_format": "value",
|
||||
"allow_null": 0,
|
||||
"other_choice": 0,
|
||||
"layout": "horizontal",
|
||||
"save_other_choice": 0
|
||||
},
|
||||
{
|
||||
"key": "field_6735258c2d9ff",
|
||||
"label": "Background",
|
||||
"name": "",
|
||||
"aria-label": "",
|
||||
"type": "accordion",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"open": 1,
|
||||
"multi_expand": 1,
|
||||
"endpoint": 0
|
||||
},
|
||||
{
|
||||
"key": "field_67350aeb146ca",
|
||||
"label": "Background",
|
||||
"name": "background",
|
||||
"aria-label": "",
|
||||
"type": "clone",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"clone": [
|
||||
"group_clone_background_settings"
|
||||
],
|
||||
"display": "seamless",
|
||||
"layout": "block",
|
||||
"prefix_label": 0,
|
||||
"prefix_name": 0
|
||||
},
|
||||
{
|
||||
"key": "field_6828da67543fc",
|
||||
"label": "Settings (end)",
|
||||
"name": "",
|
||||
"aria-label": "",
|
||||
@@ -190,6 +199,5 @@
|
||||
"active": true,
|
||||
"description": "",
|
||||
"show_in_rest": 0,
|
||||
"display_title": "",
|
||||
"modified": 1767548583
|
||||
"modified": 1764247227
|
||||
}
|
||||
|
||||
@@ -17,8 +17,7 @@
|
||||
"id": ""
|
||||
},
|
||||
"placement": "top",
|
||||
"endpoint": 0,
|
||||
"selected": 0
|
||||
"endpoint": 0
|
||||
},
|
||||
{
|
||||
"key": "field_67658e49aba4f",
|
||||
@@ -59,10 +58,7 @@
|
||||
"default_value": "",
|
||||
"enable_opacity": 0,
|
||||
"return_format": "string",
|
||||
"parent_repeater": "field_67658e49aba4f",
|
||||
"custom_palette_source": "",
|
||||
"palette_colors": "",
|
||||
"show_color_wheel": true
|
||||
"parent_repeater": "field_67658e49aba4f"
|
||||
},
|
||||
{
|
||||
"key": "field_67658fba41889",
|
||||
@@ -171,7 +167,6 @@
|
||||
"id": ""
|
||||
},
|
||||
"layout": "block",
|
||||
"parent_repeater": "field_67658e49aba4f",
|
||||
"sub_fields": [
|
||||
{
|
||||
"key": "field_676590414188c",
|
||||
@@ -189,10 +184,7 @@
|
||||
},
|
||||
"default_value": "",
|
||||
"enable_opacity": 0,
|
||||
"return_format": "string",
|
||||
"custom_palette_source": "",
|
||||
"palette_colors": "",
|
||||
"show_color_wheel": true
|
||||
"return_format": "string"
|
||||
},
|
||||
{
|
||||
"key": "field_676590684188d",
|
||||
@@ -210,10 +202,7 @@
|
||||
},
|
||||
"default_value": "",
|
||||
"enable_opacity": 0,
|
||||
"return_format": "string",
|
||||
"custom_palette_source": "",
|
||||
"palette_colors": "",
|
||||
"show_color_wheel": true
|
||||
"return_format": "string"
|
||||
},
|
||||
{
|
||||
"key": "field_6765907f4188e",
|
||||
@@ -231,10 +220,7 @@
|
||||
},
|
||||
"default_value": "",
|
||||
"enable_opacity": 0,
|
||||
"return_format": "string",
|
||||
"custom_palette_source": "",
|
||||
"palette_colors": "",
|
||||
"show_color_wheel": true
|
||||
"return_format": "string"
|
||||
},
|
||||
{
|
||||
"key": "field_676590924188f",
|
||||
@@ -252,10 +238,7 @@
|
||||
},
|
||||
"default_value": "",
|
||||
"enable_opacity": 0,
|
||||
"return_format": "string",
|
||||
"custom_palette_source": "",
|
||||
"palette_colors": "",
|
||||
"show_color_wheel": true
|
||||
"return_format": "string"
|
||||
},
|
||||
{
|
||||
"key": "field_6765909941890",
|
||||
@@ -273,10 +256,7 @@
|
||||
},
|
||||
"default_value": "",
|
||||
"enable_opacity": 0,
|
||||
"return_format": "string",
|
||||
"custom_palette_source": "",
|
||||
"palette_colors": "",
|
||||
"show_color_wheel": true
|
||||
"return_format": "string"
|
||||
},
|
||||
{
|
||||
"key": "field_6765909f41891",
|
||||
@@ -294,12 +274,10 @@
|
||||
},
|
||||
"default_value": "",
|
||||
"enable_opacity": 0,
|
||||
"return_format": "string",
|
||||
"custom_palette_source": "",
|
||||
"palette_colors": "",
|
||||
"show_color_wheel": true
|
||||
"return_format": "string"
|
||||
}
|
||||
]
|
||||
],
|
||||
"parent_repeater": "field_67658e49aba4f"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -318,8 +296,7 @@
|
||||
"id": ""
|
||||
},
|
||||
"placement": "top",
|
||||
"endpoint": 0,
|
||||
"selected": 0
|
||||
"endpoint": 0
|
||||
},
|
||||
{
|
||||
"key": "field_67659cb08081e",
|
||||
@@ -395,8 +372,7 @@
|
||||
"id": ""
|
||||
},
|
||||
"placement": "top",
|
||||
"endpoint": 0,
|
||||
"selected": 0
|
||||
"endpoint": 0
|
||||
},
|
||||
{
|
||||
"key": "field_676594615ead2",
|
||||
@@ -417,27 +393,6 @@
|
||||
"placeholder": "",
|
||||
"prepend": "",
|
||||
"append": ""
|
||||
},
|
||||
{
|
||||
"key": "field_698b36010d055",
|
||||
"label": "Font Awesome Kit ID",
|
||||
"name": "badegg_integrations_fontawesome_kit",
|
||||
"aria-label": "",
|
||||
"type": "text",
|
||||
"instructions": "The internet's icon library + toolkit. Used by millions of designers, devs, & content creators. Open-source. Always free. Always awesome. <a href=\"https:\/\/fontawesome.com\/\" target=\"_blank\" rel=\"noopener nofollow noindex\">Visit website<\/a>",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"maxlength": "",
|
||||
"allow_in_bindings": 1,
|
||||
"placeholder": "",
|
||||
"prepend": "",
|
||||
"append": ""
|
||||
}
|
||||
],
|
||||
"location": [
|
||||
@@ -458,6 +413,5 @@
|
||||
"active": true,
|
||||
"description": "",
|
||||
"show_in_rest": 0,
|
||||
"display_title": "",
|
||||
"modified": 1770736471
|
||||
"modified": 1734712625
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,25 +1,23 @@
|
||||
// Global Variables, Mixins, and Framework
|
||||
@forward "global/variables";
|
||||
@forward "global/mixins";
|
||||
@forward "global/fonts";
|
||||
@forward "global/typography";
|
||||
@forward "global/framework";
|
||||
@use "global/variables";
|
||||
@use "global/mixins";
|
||||
@use "global/fonts";
|
||||
@use "global/typography";
|
||||
@use "global/framework";
|
||||
|
||||
// Third Party Plugins
|
||||
@forward "plugins/contact-form-7";
|
||||
@forward "plugins/mce";
|
||||
|
||||
// Components
|
||||
@forward "components/block";
|
||||
@forward "components/forms";
|
||||
@forward "components/button";
|
||||
@forward "components/card";
|
||||
@forward "components/BadEggLightbox";
|
||||
@use "plugins/contact-form-7";
|
||||
@use "plugins/mce";
|
||||
|
||||
// Sections
|
||||
@forward "../views/sections/header/header";
|
||||
@forward "../views/sections/footer/footer";
|
||||
@use "sections/header";
|
||||
@use "sections/footer";
|
||||
|
||||
// Components
|
||||
@use "components/forms";
|
||||
@use "components/button";
|
||||
@use "components/card";
|
||||
|
||||
// Page Styles
|
||||
@forward "views/page";
|
||||
@use "views/page";
|
||||
|
||||
|
||||
@@ -1,92 +0,0 @@
|
||||
#badegg-lightbox {
|
||||
&-overlay,
|
||||
&-image,
|
||||
&-close {
|
||||
transition: all 300ms ease;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
&-modal {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
z-index: 9999;
|
||||
padding: 3em;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
&-overlay {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: rgba(white, 0.5);
|
||||
|
||||
.open & {
|
||||
opacity: 1;
|
||||
backdrop-filter: blur(1em);
|
||||
}
|
||||
}
|
||||
|
||||
&-image {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
object-fit: contain;
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
width: auto;
|
||||
height: auto;
|
||||
transform: scale(0.8);
|
||||
|
||||
.open & {
|
||||
transform: none;
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
&-close {
|
||||
position: absolute;
|
||||
z-index: 3;
|
||||
top: 1em;
|
||||
right: 1em;
|
||||
display: block;
|
||||
appearance: none;
|
||||
border: none;
|
||||
background: transparent;
|
||||
border: 2px solid black;
|
||||
border-radius: 50%;
|
||||
width: 2em;
|
||||
height: 2em;
|
||||
cursor: pointer;
|
||||
transform: scale(0.01) rotate(-360deg);
|
||||
|
||||
.open & {
|
||||
opacity: 1;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
transform: scale(1.2) rotate(90deg);
|
||||
}
|
||||
|
||||
.admin-bar & {
|
||||
top: calc(1em + 32px);
|
||||
|
||||
@media (max-width: 782px) {
|
||||
top: calc(1em + 46px);
|
||||
}
|
||||
}
|
||||
|
||||
svg {
|
||||
display: block;
|
||||
width: 100%;
|
||||
stroke: black;
|
||||
stroke-width: 5;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
outline: 2px dashed red;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
|
||||
|
||||
.has-bg-image {
|
||||
position: relative;
|
||||
|
||||
>.container {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.badegg-block-background {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
@use "../global/variables/fonts";
|
||||
@use "../global/fonts";
|
||||
@use "../global/variables/colours";
|
||||
|
||||
button {
|
||||
@@ -13,13 +13,13 @@ button {
|
||||
|
||||
button,
|
||||
input[type="submit"] {
|
||||
&.btn {
|
||||
&.button {
|
||||
appearance: none;
|
||||
}
|
||||
}
|
||||
|
||||
%button,
|
||||
.btn {
|
||||
.button {
|
||||
display: inline-block;
|
||||
padding: 0.5em 1.25em;
|
||||
border: 0.125em solid colours.$black;
|
||||
@@ -102,10 +102,10 @@ input[type="submit"] {
|
||||
&.bigger { font-size: 1.5em; }
|
||||
}
|
||||
|
||||
.btn-wrap {
|
||||
.button-wrap {
|
||||
margin: 1.5em -0.25em -0.25em;
|
||||
|
||||
.btn {
|
||||
.button {
|
||||
margin: 0.25em;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
@use "../global/variables/fonts";
|
||||
@use "../global/fonts";
|
||||
@use "../global/variables/breakpoints";
|
||||
@use "../global/variables/colours";
|
||||
|
||||
textarea {
|
||||
min-height: 10.375em;
|
||||
}
|
||||
|
||||
input,
|
||||
textarea {
|
||||
color: colours.$grey;
|
||||
|
||||
@@ -1,14 +1,10 @@
|
||||
@use "app";
|
||||
@use "global/variables";
|
||||
|
||||
html :where(.wp-block) {
|
||||
max-width: none;
|
||||
}
|
||||
@use "global/variables/colours";
|
||||
|
||||
.block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable=true]) {
|
||||
&:hover:after {
|
||||
content: '';
|
||||
outline: 2px solid variables.$wpblue;
|
||||
outline: 2px solid colours.$wpblue;
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
}
|
||||
@@ -19,55 +15,51 @@ html :where(.wp-block) {
|
||||
}
|
||||
|
||||
.editor-styles-wrapper {
|
||||
padding: 0;
|
||||
padding: 1em;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.editor-visual-editor {
|
||||
&__post-title-wrapper {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
padding: 1rem;
|
||||
margin: 0 !important;
|
||||
background: white;
|
||||
box-shadow: 0 0.5rem 1rem rgba(black, 0.15);
|
||||
.wp-block {
|
||||
max-width: none;
|
||||
}
|
||||
}
|
||||
|
||||
.editor-styles-wrapper {
|
||||
background: variables.$grey-lightest;
|
||||
.is-root-container > .wp-block:not(.block-list-appender) {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.block-list-appender {
|
||||
width: 350px;
|
||||
max-width: 90%;
|
||||
margin: 1em auto;
|
||||
}
|
||||
}
|
||||
|
||||
.wp-block-post-title {
|
||||
position: relative;
|
||||
padding: 0.5rem;
|
||||
border: 1px solid rgba(black, 0.3);
|
||||
margin: 0;
|
||||
|
||||
&::before {
|
||||
content: 'Page Title';
|
||||
position: absolute;
|
||||
top: -0.5rem;
|
||||
left: 0.5rem;
|
||||
color: rgba(black, 0.3);
|
||||
font-size: 0.8rem;
|
||||
display: block;
|
||||
padding: 0 0.5rem;
|
||||
margin: 0;
|
||||
&__post-title-wrapper {
|
||||
padding: 1rem;
|
||||
margin: 0 0 3rem !important;
|
||||
background: white;
|
||||
line-height: 1;
|
||||
font-weight: 400;
|
||||
box-shadow: 0 0.5rem 1rem rgba(black, 0.15);
|
||||
}
|
||||
|
||||
.wp-block-post-title {
|
||||
position: relative;
|
||||
padding: 0.5rem;
|
||||
border: 1px solid rgba(black, 0.3);
|
||||
margin: 0;
|
||||
|
||||
&::before {
|
||||
content: 'Page Title';
|
||||
position: absolute;
|
||||
top: -0.5rem;
|
||||
left: 0.5rem;
|
||||
color: rgba(black, 0.3);
|
||||
font-size: 0.8rem;
|
||||
display: block;
|
||||
padding: 0 0.5rem;
|
||||
margin: 0;
|
||||
background: white;
|
||||
line-height: 1;
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.is-root-container > .wp-block:not(.block-list-appender) {
|
||||
max-width: none;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
$font: "Ubuntu", Helvetica, Arial, sans-serif;
|
||||
|
||||
/*
|
||||
* Roots Fonts Setup
|
||||
* https://roots.io/sage/docs/fonts-setup/
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@forward "framework/breakpoints";
|
||||
@forward "framework/normalise";
|
||||
@forward "framework/colours";
|
||||
@forward "framework/spacing";
|
||||
@use "framework/breakpoints";
|
||||
@use "framework/normalise";
|
||||
@use "framework/colours";
|
||||
@use "framework/spacing";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@forward "mixins/linear-gradient";
|
||||
@forward "mixins/text-contrast";
|
||||
@forward "mixins/generate-colour-classes";
|
||||
@forward "mixins/generate-button-classes";
|
||||
@use "mixins/linear-gradient";
|
||||
@use "mixins/text-contrast";
|
||||
@use "mixins/generate-colour-classes";
|
||||
@use "mixins/generate-button-classes";
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
@use "variables";
|
||||
@use "fonts";
|
||||
@use "variables/breakpoints";
|
||||
@use "variables/colours";
|
||||
@use "variables/spacing";
|
||||
|
||||
.wysiwyg {
|
||||
> *:first-child {
|
||||
*:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
> *:last-child {
|
||||
*:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
@@ -16,9 +19,9 @@ h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
color: variables.$primary;
|
||||
color: colours.$primary;
|
||||
font-weight: 700;
|
||||
font-family: variables.$font;
|
||||
font-family: fonts.$font;
|
||||
line-height: 1.1em;
|
||||
margin: 1.5em 0 0.25em;
|
||||
padding: 0;
|
||||
@@ -29,7 +32,7 @@ h6 {
|
||||
|
||||
@media screen {
|
||||
.knockout & {
|
||||
color: variables.$white;
|
||||
color: colours.$white;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -45,7 +48,7 @@ h3 { font-size: 1.25em; }
|
||||
h4,
|
||||
h5 { font-size: 1.15em; }
|
||||
|
||||
@media (min-width: variables.$screen-sm) {
|
||||
@media (min-width: breakpoints.$screen-sm) {
|
||||
h1 { font-size: 2.5em; }
|
||||
h2 { font-size: 2em; }
|
||||
h3 { font-size: 1.5em; }
|
||||
@@ -60,8 +63,8 @@ p,
|
||||
li,
|
||||
td,
|
||||
label {
|
||||
color: variables.$grey-darker;
|
||||
font-family: variables.$font;
|
||||
color: colours.$grey-dark;
|
||||
font-family: fonts.$font;
|
||||
font-weight: 400;
|
||||
line-height: 1.5em;
|
||||
margin: 0 0 0.8em;
|
||||
@@ -69,30 +72,30 @@ label {
|
||||
|
||||
@media screen {
|
||||
.knockout & {
|
||||
color: variables.$white;
|
||||
color: colours.$white;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
color: variables.$primary;
|
||||
color: colours.$primary;
|
||||
text-decoration: none;
|
||||
outline: none;
|
||||
transition: all 300ms ease;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: variables.$primary-dark;
|
||||
color: colours.$primary-dark;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
@media screen {
|
||||
.knockout & {
|
||||
color: variables.$white;
|
||||
color: colours.$white;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: variables.$primary-light;
|
||||
color: colours.$primary-light;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -110,6 +113,7 @@ ul,
|
||||
ol {
|
||||
margin: 0 0 0.7em;
|
||||
padding: 0 0 0 1.2em;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.nolist {
|
||||
@@ -125,20 +129,24 @@ ol {
|
||||
}
|
||||
|
||||
hr {
|
||||
margin: 2em auto;
|
||||
margin: 1.5em auto 2em;
|
||||
height: 0;
|
||||
border: 0 solid variables.$grey-light;
|
||||
border-width: variables.$borderThin 0 0;
|
||||
border: 0 solid colours.$grey-light;
|
||||
border-width: spacing.$borderThin 0 0;
|
||||
|
||||
@media screen {
|
||||
.knockout & {
|
||||
border-color: variables.$white;
|
||||
border-color: colours.$white;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.align {
|
||||
&-left { text-align: left; }
|
||||
&-centre, &-center { text-align: center; }
|
||||
&-right { text-align: right; }
|
||||
&-centre {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
&-right {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
@forward "variables/fonts";
|
||||
@forward "variables/colours";
|
||||
@forward "variables/breakpoints";
|
||||
@forward "variables/spacing";
|
||||
@use "variables/colours";
|
||||
@use "variables/breakpoints";
|
||||
@use "variables/spacing";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
@use "../variables";
|
||||
@use "../variables/breakpoints";
|
||||
|
||||
@each $label, $value in variables.$breakpoints {
|
||||
@each $label, $value in breakpoints.$breakpoints {
|
||||
.min-#{$label} {
|
||||
@media (min-width: $value) {
|
||||
display: none;
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
@use "../mixins";
|
||||
@use "../variables";
|
||||
@use "../mixins/generate-button-classes";
|
||||
@use "../mixins/generate-colour-classes";
|
||||
@use "../variables/colours";
|
||||
|
||||
::selection {
|
||||
color: variables.$white;
|
||||
background: variables.$primary;
|
||||
color: colours.$white;
|
||||
background: colours.$primary;
|
||||
}
|
||||
|
||||
@each $color, $hex in variables.$colors {
|
||||
@include mixins.generate_colour_classes($color, $hex);
|
||||
@include mixins.generate_button_colors($color, $hex);
|
||||
@each $color, $hex in colours.$colors {
|
||||
@include generate-colour-classes.generate_colour_classes($color, $hex);
|
||||
@include generate-button-classes.generate_button_colors($color, $hex);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@use "../variables";
|
||||
@use "../variables/colours";
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
@@ -13,7 +13,7 @@ body,
|
||||
html {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background: variables.$white;
|
||||
background: colours.$white;
|
||||
}
|
||||
|
||||
.visually-hidden {
|
||||
@@ -30,20 +30,8 @@ img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
transition: all 300ms ease;
|
||||
}
|
||||
|
||||
video {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
img.lazy,
|
||||
.lazy-bg,
|
||||
.lazy-loaded {
|
||||
transition: all 300ms ease;
|
||||
}
|
||||
|
||||
img.lazy,
|
||||
.lazy-bg {
|
||||
filter: blur(0.25em);
|
||||
&.lazy {
|
||||
filter: blur(0.25em);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,120 +1,71 @@
|
||||
@use "../variables";
|
||||
@use "../variables/colours";
|
||||
@use "../variables/spacing";
|
||||
|
||||
.brand {
|
||||
display: block;
|
||||
width: variables.$brandWidth;
|
||||
height: variables.$brandHeight;
|
||||
width: spacing.$brandWidth;
|
||||
height: spacing.$brandHeight;
|
||||
|
||||
svg,
|
||||
img {
|
||||
display: block;
|
||||
width: variables.$brandWidth;
|
||||
height: variables.$brandHeight;
|
||||
width: spacing.$brandWidth;
|
||||
height: spacing.$brandHeight;
|
||||
}
|
||||
|
||||
.knockout & {
|
||||
@media screen {
|
||||
.fill-primary {
|
||||
fill: variables.$white;
|
||||
fill: colours.$white;
|
||||
}
|
||||
|
||||
.fill-grey {
|
||||
fill: rgba(variables.$white, 0.8);
|
||||
fill: rgba(colours.$white, 0.8);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: calc(100% - variables.$innerMedium * 2);
|
||||
width: 90%;
|
||||
margin: auto;
|
||||
|
||||
@container (min-width: #{variables.$screen-md}) {
|
||||
width: calc(100% - variables.$innerLarge * 3);
|
||||
}
|
||||
|
||||
@container (min-width: #{variables.$screen-lg}) {
|
||||
width: calc(100% - variables.$innerLarge * 4);
|
||||
}
|
||||
|
||||
&-full { width: auto; }
|
||||
&-larger { max-width: variables.$containerLarger; }
|
||||
&-large { max-width: variables.$containerLarge; }
|
||||
&-medium { max-width: variables.$containerMedium; }
|
||||
&-small { max-width: variables.$containerSmall; }
|
||||
&-narrow { max-width: variables.$containerNarrow; }
|
||||
&-large { max-width: spacing.$containerLarge; }
|
||||
&-medium { max-width: spacing.$containerMedium; }
|
||||
&-small { max-width: spacing.$containerSmall; }
|
||||
&-narrow { max-width: spacing.$containerNarrow; }
|
||||
}
|
||||
|
||||
.section {
|
||||
padding: variables.$sectionMedium 0;
|
||||
padding: spacing.$sectionMedium 0;
|
||||
|
||||
&-small { padding: variables.$sectionSmall unset; }
|
||||
&-medium { padding: variables.$sectionMedium unset; }
|
||||
&-large { padding: variables.$sectionLarge unset; }
|
||||
&-small { padding: spacing.$sectionSmall 0; }
|
||||
&-medium { padding: spacing.$sectionMedium 0; }
|
||||
&-large { padding: spacing.$sectionLarge 0; }
|
||||
|
||||
@container (min-width: #{variables.$screen-md}) {
|
||||
padding: (variables.$sectionMedium * 1.5) unset;
|
||||
|
||||
&-small { padding: (variables.$sectionSmall * 1.5) unset; }
|
||||
&-medium { padding: (variables.$sectionMedium * 1.5) unset; }
|
||||
&-large { padding: (variables.$sectionLarge * 1.5) unset; }
|
||||
}
|
||||
|
||||
@container (min-width: #{variables.$screen-lg}) {
|
||||
padding: (variables.$sectionMedium * 2) 0;
|
||||
|
||||
&-small { padding: (variables.$sectionSmall * 2) 0; }
|
||||
&-medium { padding: (variables.$sectionMedium * 2) 0; }
|
||||
&-large { padding: (variables.$sectionLarge * 2) 0; }
|
||||
}
|
||||
|
||||
&-zero-top { padding-top: unset; }
|
||||
&-zero-bottom { padding-bottom: unset; }
|
||||
&-zero-top { padding-top: 0; }
|
||||
&-zero-bottom { padding-bottom: 0; }
|
||||
}
|
||||
|
||||
.inner {
|
||||
padding: variables.$innerMedium;
|
||||
padding: spacing.$innerMedium;
|
||||
|
||||
&-largest { padding: variables.$innerLargest; }
|
||||
&-larger { padding: variables.$innerLarger; }
|
||||
&-large { padding: variables.$innerLarge; }
|
||||
&-small { padding: variables.$innerSmall; }
|
||||
&-smaller { padding: variables.$innerSmaller; }
|
||||
&-smallest { padding: variables.$innerSmallest; }
|
||||
&-small { padding: spacing.$innerSmall; }
|
||||
&-large { padding: spacing.$innerLarge; }
|
||||
|
||||
@container (min-width: #{variables.$screen-md}) {
|
||||
padding: (variables.$innerMedium * 1.5);
|
||||
|
||||
&-largest { padding: (variables.$innerLargest * 1.25); }
|
||||
&-larger { padding: (variables.$innerLarger * 1.25); }
|
||||
&-large { padding: (variables.$innerLarge * 1.25); }
|
||||
&-small { padding: (variables.$innerSmall * 1.25); }
|
||||
&-smaller { padding: (variables.$innerSmaller * 1.25); }
|
||||
&-smallest { padding: (variables.$innerSmallest * 1.25); }
|
||||
&-zero-x {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
@container (min-width: #{variables.$screen-lg}) {
|
||||
padding: (variables.$innerMedium * 2);
|
||||
|
||||
&-largest { padding: (variables.$innerLargest * 1.5); }
|
||||
&-larger { padding: (variables.$innerLarger * 1.5); }
|
||||
&-large { padding: (variables.$innerLarge * 1.5); }
|
||||
&-small { padding: (variables.$innerSmall * 1.5); }
|
||||
&-smaller { padding: (variables.$innerSmaller * 1.5); }
|
||||
&-smallest { padding: (variables.$innerSmallest * 1.5); }
|
||||
&-zero-y {
|
||||
padding-top: 0;
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
&-zero-x { padding-left: unset; padding-right: unset; }
|
||||
&-zero-y { padding-top: unset; padding-top: unset; }
|
||||
}
|
||||
|
||||
.rounded {
|
||||
border-radius: variables.$borderRadius;
|
||||
border-radius: spacing.$borderRadius;
|
||||
|
||||
&-top {
|
||||
border-bottom-right-radius: 0;
|
||||
@@ -129,12 +80,12 @@ figure {
|
||||
|
||||
.border {
|
||||
border-style: solid;
|
||||
border-width: variables.$borderWidth;
|
||||
border-width: spacing.$borderWidth;
|
||||
|
||||
&-thin { border-width: 0.0625em; }
|
||||
&-regular { border-width: variables.$borderWidth; }
|
||||
&-thick { border-width: variables.$borderThick; }
|
||||
&-thicker { border-width: variables.$borderThicker; }
|
||||
&-regular { border-width: spacing.$borderWidth; }
|
||||
&-thick { border-width: spacing.$borderThick; }
|
||||
&-thicker { border-width: spacing.$borderThicker; }
|
||||
|
||||
&-top {
|
||||
border-right-width: 0;
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
@use "../variables";
|
||||
@use "../variables/colours";
|
||||
|
||||
@use "sass:color";
|
||||
|
||||
@mixin generate_button_colors($name, $hex) {
|
||||
|
||||
$buttons: (
|
||||
".btn",
|
||||
".button",
|
||||
"button",
|
||||
"input[type=submit]",
|
||||
);
|
||||
|
||||
@each $button in $buttons {
|
||||
#{$button}.#{$name} {
|
||||
color: variables.$white;
|
||||
color: colours.$white;
|
||||
background: $hex;
|
||||
border-color: $hex;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: variables.$white;
|
||||
color: colours.$white;
|
||||
background: color.adjust($hex, $lightness: 10%);
|
||||
border-color: color.adjust($hex, $lightness: 10%);
|
||||
}
|
||||
}
|
||||
|
||||
#{$button}.#{$name}.outline {
|
||||
#{$button}.#{$name}.inverted {
|
||||
color: $hex;
|
||||
background: transparent;
|
||||
border-color: $hex;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
@use "text-contrast";
|
||||
@use "../variables";
|
||||
|
||||
@use "sass:color";
|
||||
|
||||
@@ -23,16 +22,6 @@
|
||||
::selection {
|
||||
@include text-contrast.text_contrast(color.invert($hex));
|
||||
background: color.invert($hex);
|
||||
@if($name == "white") {
|
||||
color: variables.$white;
|
||||
background: variables.$primary;
|
||||
} @else if($name == "black") {
|
||||
color: variables.$white;
|
||||
background: variables.$primary-lighter;
|
||||
} @else {
|
||||
@include text-contrast.text_contrast(color.invert($hex));
|
||||
background: color.invert($hex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
@use "../variables/colours";
|
||||
|
||||
@use "sass:color";
|
||||
@use "sass:math";
|
||||
|
||||
@use "../variables";
|
||||
|
||||
@mixin text-contrast($n, $dark: variables.$black, $light: variables.$white, $cutoff: 1.667) {
|
||||
@mixin text-contrast($n, $dark: colours.$black, $light: colours.$white, $cutoff: 1.667) {
|
||||
$brightness: math.round((color.channel($n, "red") * 299) + (color.channel($n, "green") * 587) + math.div((color.channel($n, "blue") * 114), 1000));
|
||||
$light-color: math.round((color.channel(variables.$white, "red") * 299) + (color.channel(variables.$white, "green") * 587) + math.div((color.channel(variables.$white, "blue") * 114), 1000));
|
||||
$light-color: math.round((color.channel(colours.$white, "red") * 299) + (color.channel(colours.$white, "green") * 587) + math.div((color.channel(colours.$white, "blue") * 114), 1000));
|
||||
|
||||
@if math.abs($brightness) < (math.div($light-color, $cutoff)) {
|
||||
color: $light;
|
||||
|
||||
@@ -13,50 +13,48 @@ $secondary: #5bc0de;
|
||||
$tertiary: color.invert($primary);
|
||||
$quaternary: color.invert($secondary);
|
||||
|
||||
//== Shades
|
||||
$white: #FFFFFF;
|
||||
$grey: #808080;
|
||||
$black: #000000;
|
||||
|
||||
//== Primary Tints
|
||||
$primary-darkest: color.adjust($primary, $lightness: -45%);
|
||||
$primary-darker: color.adjust($primary, $lightness: -30%);
|
||||
$primary-dark: color.adjust($primary, $lightness: -15%);
|
||||
$primary-light: color.adjust($primary, $lightness: 15%);
|
||||
$primary-lighter: color.adjust($primary, $lightness: 30%);
|
||||
$primary-lightest: color.adjust($primary, $lightness: 45%);
|
||||
$primary-darkest: color.adjust($primary, $lightness: -30%);
|
||||
$primary-darker: color.adjust($primary, $lightness: -20%);
|
||||
$primary-dark: color.adjust($primary, $lightness: -10%);
|
||||
$primary-light: color.adjust($primary, $lightness: 10%);
|
||||
$primary-lighter: color.adjust($primary, $lightness: 20%);
|
||||
$primary-lightest: color.adjust($primary, $lightness: 30%);
|
||||
|
||||
//== Secondary Tints
|
||||
$secondary-darkest: color.adjust($secondary, $lightness: -45%);
|
||||
$secondary-darker: color.adjust($secondary, $lightness: -30%);
|
||||
$secondary-dark: color.adjust($secondary, $lightness: -15%);
|
||||
$secondary-light: color.adjust($secondary, $lightness: 15%);
|
||||
$secondary-lighter: color.adjust($secondary, $lightness: 30%);
|
||||
$secondary-lightest: color.adjust($secondary, $lightness: 45%);
|
||||
$secondary-darkest: color.adjust($secondary, $lightness: -30%);
|
||||
$secondary-darker: color.adjust($secondary, $lightness: -20%);
|
||||
$secondary-dark: color.adjust($secondary, $lightness: -10%);
|
||||
$secondary-light: color.adjust($secondary, $lightness: 10%);
|
||||
$secondary-lighter: color.adjust($secondary, $lightness: 20%);
|
||||
$secondary-lightest: color.adjust($secondary, $lightness: 30%);
|
||||
|
||||
//== Tertiary Tints
|
||||
$tertiary-darkest: color.adjust($tertiary, $lightness: -45%);
|
||||
$tertiary-darker: color.adjust($tertiary, $lightness: -30%);
|
||||
$tertiary-dark: color.adjust($tertiary, $lightness: -15%);
|
||||
$tertiary-light: color.adjust($tertiary, $lightness: 15%);
|
||||
$tertiary-lighter: color.adjust($tertiary, $lightness: 30%);
|
||||
$tertiary-lightest: color.adjust($tertiary, $lightness: 45%);
|
||||
$tertiary-darkest: color.adjust($tertiary, $lightness: -30%);
|
||||
$tertiary-darker: color.adjust($tertiary, $lightness: -20%);
|
||||
$tertiary-dark: color.adjust($tertiary, $lightness: -10%);
|
||||
$tertiary-light: color.adjust($tertiary, $lightness: 10%);
|
||||
$tertiary-lighter: color.adjust($tertiary, $lightness: 20%);
|
||||
$tertiary-lightest: color.adjust($tertiary, $lightness: 30%);
|
||||
|
||||
//== quaternary Tints
|
||||
$quaternary-darkest: color.adjust($quaternary, $lightness: -45%);
|
||||
$quaternary-darker: color.adjust($quaternary, $lightness: -30%);
|
||||
$quaternary-dark: color.adjust($quaternary, $lightness: -15%);
|
||||
$quaternary-light: color.adjust($quaternary, $lightness: 15%);
|
||||
$quaternary-lighter: color.adjust($quaternary, $lightness: 30%);
|
||||
$quaternary-lightest: color.adjust($quaternary, $lightness: 45%);
|
||||
$quaternary-darkest: color.adjust($quaternary, $lightness: -30%);
|
||||
$quaternary-darker: color.adjust($quaternary, $lightness: -20%);
|
||||
$quaternary-dark: color.adjust($quaternary, $lightness: -10%);
|
||||
$quaternary-light: color.adjust($quaternary, $lightness: 10%);
|
||||
$quaternary-lighter: color.adjust($quaternary, $lightness: 20%);
|
||||
$quaternary-lightest: color.adjust($quaternary, $lightness: 30%);
|
||||
|
||||
//== six shades of grey
|
||||
$grey-darkest: color.adjust(grey, $lightness: -40%);
|
||||
$grey-darker: color.adjust(grey, $lightness: -25%);
|
||||
$grey-dark: color.adjust(grey, $lightness: -10%);
|
||||
$grey-light: color.adjust(grey, $lightness: 10%);
|
||||
$grey-lighter: color.adjust(grey, $lightness: 25%);
|
||||
$grey-lightest: color.adjust(grey, $lightness: 40%);
|
||||
//== Shades
|
||||
$white: white;
|
||||
$grey-lightest: color.adjust(black, $lightness: 95%);
|
||||
$grey-lighter: color.adjust(black, $lightness: 80%);
|
||||
$grey-light: color.adjust(black, $lightness: 70%);
|
||||
$grey: color.adjust(black, $lightness: 50%);
|
||||
$grey-dark: color.adjust(black, $lightness: 40%);
|
||||
$grey-darker: color.adjust(black, $lightness: 20%);
|
||||
$grey-darkest: color.adjust(black, $lightness: 05%);
|
||||
$black: black;
|
||||
|
||||
//## Colour Array (used in generating colour classes).
|
||||
$colors: (
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
$font: "Ubuntu", Helvetica, Arial, sans-serif;
|
||||
$blockquote: serif;
|
||||
@@ -17,13 +17,12 @@ $sectionLarge: 5.000em;
|
||||
$sectionLarger: 7.500em;
|
||||
$sectionLargest: 10.000em;
|
||||
|
||||
$containerLarger: 87.000em;
|
||||
$containerLarge: 73.125em;
|
||||
$containerMedium: 60.000em;
|
||||
$containerSmall: 50.000em;
|
||||
$containerNarrow: 34.000em;
|
||||
|
||||
$innerLargest: 5.000em;
|
||||
$innerLarger: 5.000em;
|
||||
$innerLarger: 3.000em;
|
||||
$innerLarge: 2.000em;
|
||||
$innerMedium: 1.500em;
|
||||
@@ -31,11 +30,6 @@ $innerSmall: 1.000em;
|
||||
$innerSmaller: 0.750em;
|
||||
$innerSmallest: 0.500em;
|
||||
|
||||
$gap: 1em;
|
||||
$gapSmall: 0.5em;
|
||||
$gapMedium: 1em;
|
||||
$gapLarge: 2em;
|
||||
|
||||
$borderRadiusLargeer: 1.500em;
|
||||
$borderRadiusLarge: 1.000em;
|
||||
$borderRadius: 1.000em;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@use "../global/variables";
|
||||
@use "../global/variables/colours";
|
||||
|
||||
.wpcf7 .screen-reader-response {
|
||||
display: none;
|
||||
@@ -11,11 +11,11 @@
|
||||
|
||||
padding: 1em 0 0;
|
||||
margin-top: 2em;
|
||||
border: 1px solid variables.$grey-light;
|
||||
border: 1px solid colours.$grey-light;
|
||||
border-width: 1px 0 0;
|
||||
|
||||
.knockout & {
|
||||
border-color: rgba(variables.$white, 0.3);
|
||||
border-color: rgba(colours.$white, 0.3);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
@use "../global/variables";
|
||||
@use "../global/variables/colours";
|
||||
|
||||
#mce-responses {
|
||||
.response {
|
||||
padding: 0 0 1em;
|
||||
margin: 0 0 1em;
|
||||
font-size: 0.875em;
|
||||
border-bottom: 1px solid variables.$grey-lighter;
|
||||
border-bottom: 1px solid colours.$grey-lighter;
|
||||
}
|
||||
}
|
||||
|
||||
.knockout #mce-responses .response {
|
||||
border-bottom-color: rgba(variables.$white, 0.3);
|
||||
border-bottom-color: rgba(colours.$white, 0.3);
|
||||
}
|
||||
|
||||
0
resources/css/sections/_footer.scss
Normal file
0
resources/css/sections/_footer.scss
Normal file
0
resources/css/sections/_header.scss
Normal file
0
resources/css/sections/_header.scss
Normal file
@@ -5,8 +5,6 @@ import.meta.glob([
|
||||
|
||||
import Header from '../views/sections/header/header.js';
|
||||
import LazyLoad from './lib/Lazy.js';
|
||||
import BadEggLightbox from './lib/BadEggLightbox';
|
||||
|
||||
Header();
|
||||
LazyLoad();
|
||||
BadEggLightbox();
|
||||
Header();
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
import { useSelect } from '@wordpress/data';
|
||||
|
||||
/**
|
||||
* AttachmentImage
|
||||
*
|
||||
* This component is used to display an image from the media library.
|
||||
* It's meant as a JS companion to the PHP function `wp_get_attachment_image()`.
|
||||
*
|
||||
* @link https://www.briancoords.com/getting-wordpress-media-library-images-in-javascript/
|
||||
*
|
||||
* @param {object} props
|
||||
* @param {number} props.imageId The ID of the image to display.
|
||||
* @param {string} props.size The size of the image to display. Defaults to 'full'.
|
||||
* @returns {*} React JSX
|
||||
*/
|
||||
export default function AttachmentImage({ imageId, size = 'full' }) {
|
||||
|
||||
const { image } = useSelect((select) => ({
|
||||
image: select('core').getEntityRecord('postType', 'attachment', imageId),
|
||||
}));
|
||||
|
||||
const imageAttributes = () =>{
|
||||
let attributes = {
|
||||
src: image.source_url,
|
||||
alt: image.alt_text,
|
||||
className: `attachment-${size} size-${size}`,
|
||||
width: image.media_details.width,
|
||||
height: image.media_details.height,
|
||||
};
|
||||
if (image.media_details && image.media_details.sizes && image.media_details.sizes[size]) {
|
||||
attributes.src = image.media_details.sizes[size].source_url;
|
||||
attributes.width = image.media_details.sizes[size].width;
|
||||
attributes.height = image.media_details.sizes[size].height;
|
||||
}
|
||||
|
||||
return attributes;
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
{image && (
|
||||
<img {...imageAttributes()} />
|
||||
)}
|
||||
</>
|
||||
)
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
import { select } from '@wordpress/data';
|
||||
|
||||
/**
|
||||
* BackgroundImage
|
||||
*
|
||||
* This component is used to display a background image for a block based on its attributes.
|
||||
*
|
||||
* @param {object} props
|
||||
* @param {string} props.background_url The desired full size url.
|
||||
* @param {string} props.background_url_lazy Tiny lazy url.
|
||||
* @param {boolean} props.background_lazy Whether or not to lazy load the background image.
|
||||
* @param {object} props.background_position x and y coordinates as decimals from 0 to 1.
|
||||
* @param {boolean} props.background_fixed Toggle for background-attachment: fixed.
|
||||
* @param {number} props.background_opacity The opacity value applied to the image.
|
||||
* @returns {*} React JSX
|
||||
*/
|
||||
export default function BackgroundImage({
|
||||
background_url,
|
||||
background_url_lazy,
|
||||
background_lazy,
|
||||
background_position = 'center',
|
||||
background_fixed = false,
|
||||
background_opacity = 70,
|
||||
disableLazyBG = false,
|
||||
}) {
|
||||
|
||||
if (background_url) {
|
||||
let styles = {
|
||||
backgroundImage: `url(${background_url})`,
|
||||
backgroundPosition: `${ background_position.x * 100}% ${ background_position.y * 100}%`,
|
||||
backgroundSize: 'cover',
|
||||
backgroundAttachment: background_fixed ? 'fixed' : 'scroll',
|
||||
opacity: Number(background_opacity) * 0.01,
|
||||
}
|
||||
|
||||
let attributes = {
|
||||
className: 'badegg-block-background',
|
||||
style: styles,
|
||||
};
|
||||
|
||||
if(background_lazy && !disableLazyBG) {
|
||||
attributes['data-bg'] = background_url;
|
||||
attributes.style.backgroundImage = `url(${background_url_lazy})`;
|
||||
attributes.className += ' lazy-bg';
|
||||
}
|
||||
|
||||
return (
|
||||
<div { ...attributes } />
|
||||
)
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,260 +0,0 @@
|
||||
/**
|
||||
* BlockSettings
|
||||
*
|
||||
* Bundles the <InspectorControls> used for several blocks
|
||||
* *
|
||||
* @param {object} props
|
||||
* @param {number} props.attributes the data
|
||||
* @param {string} props.setAttributes the state
|
||||
* @returns {*} React JSX
|
||||
*/
|
||||
|
||||
import { __ } from '@wordpress/i18n';
|
||||
import { select } from '@wordpress/data';
|
||||
import { useState, useEffect } from '@wordpress/element';
|
||||
import apiFetch from '@wordpress/api-fetch';
|
||||
|
||||
import {
|
||||
Panel,
|
||||
PanelBody,
|
||||
PanelRow,
|
||||
SelectControl,
|
||||
ToggleControl,
|
||||
RangeControl,
|
||||
ColorPalette,
|
||||
FocalPointPicker,
|
||||
Button,
|
||||
Spinner,
|
||||
} from '@wordpress/components';
|
||||
|
||||
import {
|
||||
InspectorControls,
|
||||
BlockControls,
|
||||
AlignmentToolbar,
|
||||
MediaUpload,
|
||||
MediaUploadCheck,
|
||||
} from '@wordpress/block-editor';
|
||||
|
||||
export default function BlockSettings({ attributes, setAttributes }) {
|
||||
const [ configOptions, setConfigOptions ] = useState([]);
|
||||
const [ isLoading, setIsLoading ] = useState(true);
|
||||
|
||||
useEffect( () => {
|
||||
let isMounted = true;
|
||||
|
||||
apiFetch( { path: '/badegg/v1/blocks/config' } )
|
||||
.then( ( data ) => {
|
||||
if ( isMounted ) {
|
||||
setConfigOptions( data );
|
||||
setIsLoading( false );
|
||||
}
|
||||
} )
|
||||
.catch( () => {
|
||||
if ( isMounted ) {
|
||||
setConfigOptions( null );
|
||||
setIsLoading( false );
|
||||
}
|
||||
} );
|
||||
|
||||
return () => {
|
||||
isMounted = false;
|
||||
};
|
||||
}, [] );
|
||||
|
||||
if ( isLoading ) {
|
||||
return (
|
||||
<InspectorControls>
|
||||
<Panel>
|
||||
<PanelBody>
|
||||
<Spinner />
|
||||
</PanelBody>
|
||||
</Panel>
|
||||
</InspectorControls>
|
||||
);
|
||||
}
|
||||
|
||||
if ( ! configOptions ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const {
|
||||
alignment,
|
||||
container_width,
|
||||
padding_top,
|
||||
padding_bottom,
|
||||
background_hex,
|
||||
background_tint,
|
||||
background_image,
|
||||
background_url,
|
||||
background_lazy,
|
||||
background_position,
|
||||
background_opacity,
|
||||
background_contrast,
|
||||
background_fixed,
|
||||
} = attributes;
|
||||
|
||||
return (
|
||||
<>
|
||||
<BlockControls>
|
||||
<AlignmentToolbar
|
||||
value={ alignment }
|
||||
onChange={(value) => setAttributes({alignment: value})}
|
||||
/>
|
||||
</BlockControls>
|
||||
<InspectorControls>
|
||||
<Panel className="badegg-components-panel">
|
||||
<PanelBody title={ __("Spacing", "badegg") }>
|
||||
<SelectControl
|
||||
label={ __("Container Width", "badegg") }
|
||||
value={ container_width }
|
||||
options={ configOptions.container }
|
||||
onChange={ (value) => setAttributes({ container_width: value }) }
|
||||
__next40pxDefaultSize={ true }
|
||||
__nextHasNoMarginBottom={ true }
|
||||
/>
|
||||
<ToggleControl
|
||||
label={ __('Top padding', 'badegg') }
|
||||
checked={ padding_top }
|
||||
onChange={(value) => setAttributes({ padding_top: value }) }
|
||||
__nextHasNoMarginBottom
|
||||
/>
|
||||
<ToggleControl
|
||||
label={ __('Bottom padding', 'badegg') }
|
||||
checked={ padding_bottom }
|
||||
onChange={(value) => setAttributes({ padding_bottom: value }) }
|
||||
__nextHasNoMarginBottom
|
||||
/>
|
||||
</PanelBody>
|
||||
<PanelBody title={ __("Background", "badegg") }>
|
||||
<p style={{ textTransform: 'uppercase', fontSize: '11px' }} className="components-truncate components-text components-input-control__label">
|
||||
{ __('Colour', 'badegg') }
|
||||
</p>
|
||||
<ColorPalette
|
||||
colors={ configOptions.colours }
|
||||
value={ background_hex }
|
||||
clearable={ false }
|
||||
disableCustomColors={ true }
|
||||
style={{ marginBottom: '16px' }}
|
||||
onChange={ ( value ) => {
|
||||
let slug, hex, selected = '';
|
||||
|
||||
if(value) {
|
||||
selected = configOptions.colours.find(
|
||||
( c ) => c.color === value
|
||||
);
|
||||
|
||||
hex = value;
|
||||
}
|
||||
|
||||
if(selected) {
|
||||
slug = selected.slug;
|
||||
}
|
||||
|
||||
let colourAttributes = {
|
||||
background_colour: slug,
|
||||
background_hex: hex,
|
||||
};
|
||||
|
||||
if(!slug || [0, '0', 'white', 'black'].includes(slug)) {
|
||||
colourAttributes.background_tint = '0';
|
||||
}
|
||||
|
||||
setAttributes( colourAttributes );
|
||||
|
||||
} }
|
||||
/>
|
||||
|
||||
{ 'background_colour' in attributes && attributes.background_colour && ![0, '0', 'white', 'black'].includes(attributes.background_colour) ? (
|
||||
<SelectControl
|
||||
label={ __("Tint", "badegg") }
|
||||
value={ background_tint }
|
||||
options={ configOptions.tints }
|
||||
onChange={ (value) => setAttributes({ background_tint: value }) }
|
||||
__next40pxDefaultSize={ true }
|
||||
__nextHasNoMarginBottom={ true }
|
||||
/>
|
||||
) : null }
|
||||
|
||||
<ToggleControl
|
||||
label={ __('Text Contrast', 'badegg') }
|
||||
checked={ background_contrast }
|
||||
onChange={(value) => setAttributes({ background_contrast: value }) }
|
||||
__nextHasNoMarginBottom
|
||||
/>
|
||||
|
||||
{ background_image != 0 && (
|
||||
<>
|
||||
<ToggleControl
|
||||
label={ __('Fixed Position', 'badegg') }
|
||||
checked={ background_fixed }
|
||||
onChange={(value) => setAttributes({ background_fixed: value }) }
|
||||
__nextHasNoMarginBottom
|
||||
/>
|
||||
<ToggleControl
|
||||
label={ __('Lazy Loaded', 'badegg') }
|
||||
checked={ background_lazy }
|
||||
onChange={(value) => setAttributes({ background_lazy: value }) }
|
||||
__nextHasNoMarginBottom
|
||||
/>
|
||||
<FocalPointPicker
|
||||
url={ background_url }
|
||||
value={ background_position }
|
||||
onDragStart={ (value) => setAttributes({ background_position: value }) }
|
||||
onDrag={ (value) => setAttributes({ background_position: value }) }
|
||||
onChange={ (value) => setAttributes({ background_position: value }) }
|
||||
__nextHasNoMarginBottom
|
||||
/>
|
||||
<RangeControl
|
||||
__next40pxDefaultSize
|
||||
__nextHasNoMarginBottom
|
||||
label={ __("Opacity", "badegg") }
|
||||
value={ background_opacity }
|
||||
onChange={ ( value ) => setAttributes({ background_opacity: value }) }
|
||||
min={ 5 }
|
||||
max={ 100 }
|
||||
/>
|
||||
</>
|
||||
)}
|
||||
|
||||
<PanelRow>
|
||||
<MediaUploadCheck>
|
||||
<MediaUpload
|
||||
onSelect={ (media) => setAttributes({
|
||||
background_image: media.id,
|
||||
background_url: media.sizes.hero.url,
|
||||
background_url_lazy: media.sizes.lazy.url,
|
||||
})}
|
||||
allowedTypes={ ['image'] }
|
||||
value={ background_image }
|
||||
render={ ({ open }) => (
|
||||
<Button
|
||||
onClick={ open }
|
||||
variant="primary"
|
||||
>
|
||||
{ background_image ? __("Replace image", "badegg") : __("Choose image", "badegg") }
|
||||
</Button>
|
||||
)}
|
||||
/>
|
||||
</MediaUploadCheck>
|
||||
|
||||
{ background_image != 0 && (
|
||||
<Button
|
||||
onClick={ () => setAttributes({
|
||||
background_image: 0,
|
||||
background_url: '',
|
||||
background_url_lazy: '',
|
||||
}) }
|
||||
isDestructive
|
||||
variant="secondary"
|
||||
>
|
||||
{ __("Remove image", "badegg") }
|
||||
</Button>
|
||||
)}
|
||||
</PanelRow>
|
||||
|
||||
</PanelBody>
|
||||
</Panel>
|
||||
</InspectorControls>
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
export function containerClassNames(attributes, extraClasses = [])
|
||||
{
|
||||
|
||||
let classNames = [
|
||||
'container',
|
||||
];
|
||||
|
||||
if('container_width' in attributes && !['', '0'].includes(attributes.container_width))
|
||||
classNames.push(`container-${attributes.container_width}`);
|
||||
|
||||
if('alignment' in attributes)
|
||||
classNames.push(`align-${attributes.alignment}`);
|
||||
|
||||
// combine arrays
|
||||
classNames = classNames.concat(extraClasses);
|
||||
|
||||
return classNames;
|
||||
}
|
||||
|
||||
export function sectionClassNames(attributes, defaultClasses = '', extraClasses = [])
|
||||
{
|
||||
let classNames = [
|
||||
'section',
|
||||
];
|
||||
|
||||
if('padding_top'in attributes && !attributes.padding_top)
|
||||
classNames.push('section-zero-top');
|
||||
|
||||
if('padding_bottom'in attributes && !attributes.padding_bottom)
|
||||
classNames.push('section-zero-bottom');
|
||||
|
||||
if('background_hex' in attributes && attributes.background_hex) {
|
||||
let bg = `bg-${ attributes.background_colour }`;
|
||||
|
||||
if(
|
||||
'background_tint' in attributes &&
|
||||
attributes.background_tint != 0 &&
|
||||
!['white', 'black'].includes(attributes.background_colour)
|
||||
) {
|
||||
bg += `-${ attributes.background_tint }`;
|
||||
}
|
||||
|
||||
classNames.push(bg);
|
||||
}
|
||||
|
||||
if('background_image' in attributes && attributes.background_image != '0')
|
||||
classNames.push('has-bg-image');
|
||||
|
||||
if('background_contrast' in attributes && attributes.background_contrast)
|
||||
classNames.push('knockout');
|
||||
|
||||
// combine arrays
|
||||
classNames = classNames.concat(defaultClasses).concat(extraClasses);
|
||||
|
||||
// remove duplicate items
|
||||
classNames = [ ...new Set(classNames) ];
|
||||
|
||||
return classNames;
|
||||
}
|
||||
@@ -1,31 +1,52 @@
|
||||
import domReady from '@wordpress/dom-ready';
|
||||
import blockParents from '../json/block-parents.json';
|
||||
import blockWhitelist from '../json/block-core-whitelist.json';
|
||||
import.meta.glob('../views/blocks/**/{index.jsx,index.js}', { eager: true })
|
||||
|
||||
domReady(() => {
|
||||
|
||||
const restrictEditorParentBlocks = (settings, name) => {
|
||||
if (blockWhitelist.includes(name)) {
|
||||
settings.parent = blockParents;
|
||||
const TEXT_EDITOR_BLOCKS = [
|
||||
// Design
|
||||
'core/separator',
|
||||
'core/spacer',
|
||||
|
||||
// Media
|
||||
'core/cover',
|
||||
'core/file',
|
||||
'core/gallery',
|
||||
'core/image',
|
||||
'core/media-text',
|
||||
'core/audio',
|
||||
'core/video',
|
||||
|
||||
// Text
|
||||
'core/footnotes',
|
||||
'core/heading',
|
||||
'core/list',
|
||||
'core/code',
|
||||
'core/details',
|
||||
'core/freeform',
|
||||
'core/list-item',
|
||||
'core/missing',
|
||||
'core/paragraph',
|
||||
'core/preformatted',
|
||||
'core/pullquote',
|
||||
'core/quote',
|
||||
'core/table',
|
||||
'core/verse',
|
||||
];
|
||||
|
||||
if (TEXT_EDITOR_BLOCKS.includes(name)) {
|
||||
settings.parent = ['acf/badegg-editor']
|
||||
}
|
||||
|
||||
// console.log(settings, name)
|
||||
|
||||
return settings
|
||||
}
|
||||
|
||||
const coreInnerBlocks = (settings, name) => {
|
||||
if (['core/media-text', 'core/details', 'core/quote'].includes(name)) {
|
||||
|
||||
settings.allowedBlocks = [
|
||||
'core/paragraph',
|
||||
'core/heading',
|
||||
'core/list',
|
||||
];
|
||||
}
|
||||
|
||||
return settings;
|
||||
}
|
||||
|
||||
wp.hooks.addFilter( 'blocks.registerBlockType', 'badegg/restrict-parent-blocks', restrictEditorParentBlocks );
|
||||
wp.hooks.addFilter( 'blocks.registerBlockType', 'badegg/core-inner-blocks', coreInnerBlocks );
|
||||
wp.hooks.addFilter(
|
||||
'blocks.registerBlockType',
|
||||
'your-project-name/restrict-parent-blocks',
|
||||
restrictEditorParentBlocks
|
||||
);
|
||||
|
||||
});
|
||||
|
||||
@@ -1,81 +0,0 @@
|
||||
export default function BadEggLightbox()
|
||||
{
|
||||
const lightboxes = document.querySelectorAll(".badegg-lightbox");
|
||||
|
||||
if(!lightboxes) return;
|
||||
|
||||
lightboxes.forEach(lightbox => {
|
||||
const fullSize = lightbox.getAttribute('href');
|
||||
const thumbnail = lightbox.querySelector("img");
|
||||
|
||||
lightbox.addEventListener("click", (e) => {
|
||||
e.preventDefault();
|
||||
// console.log(e);
|
||||
|
||||
modal(fullSize, thumbnail);
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function modal(src = '', img = '')
|
||||
{
|
||||
if(!src || !img) {
|
||||
alert('Error: No image defined');
|
||||
return;
|
||||
}
|
||||
|
||||
const title = img.getAttribute("title") || '';
|
||||
const alt = img.getAttribute("alt") || '';
|
||||
|
||||
const body = document.querySelector("body");
|
||||
|
||||
let template = `
|
||||
<img id="badegg-lightbox-image" src="${src}" tabindex="0" title="${title}" alt="${alt}" />
|
||||
<button id="badegg-lightbox-close" aria-label="close" aria-expanded="true" tabindex="0">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
||||
<line x2="32" y2="32"/>
|
||||
<line x1="32" y2="32"/>
|
||||
</svg>
|
||||
</button>
|
||||
<div id="badegg-lightbox-overlay"></div>
|
||||
`;
|
||||
|
||||
let modal = document.createElement("div");
|
||||
|
||||
modal.setAttribute("id", "badegg-lightbox-modal");
|
||||
modal.setAttribute("aria-modal", "true");
|
||||
modal.innerHTML = template;
|
||||
|
||||
body.appendChild(modal);
|
||||
|
||||
setTimeout(() => modal.classList.add("open"), 100);
|
||||
|
||||
document.getElementById("badegg-lightbox-image").focus();
|
||||
|
||||
modalDeleteListener();
|
||||
}
|
||||
|
||||
function modalDeleteListener()
|
||||
{
|
||||
const modal = document.getElementById("badegg-lightbox-modal");
|
||||
|
||||
if(!modal) return;
|
||||
|
||||
const modalClose = document.getElementById("badegg-lightbox-close");
|
||||
const modalOverlay = document.getElementById("badegg-lightbox-overlay");
|
||||
|
||||
modalClose.addEventListener("click", (e) => {
|
||||
modal.remove();
|
||||
});
|
||||
|
||||
modalOverlay.addEventListener("click", (e) => {
|
||||
modal.remove();
|
||||
});
|
||||
|
||||
document.addEventListener("keydown", (e) => {
|
||||
if(e.key === 'Escape') {
|
||||
modal.remove();
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -5,50 +5,29 @@ export default function LazyLoadInit()
|
||||
|
||||
function LazyLoad() {
|
||||
|
||||
const lazyElements = [].slice.call(
|
||||
document.querySelectorAll('img.lazy, .lazy-bg')
|
||||
);
|
||||
var lazyImages = [].slice.call(document.querySelectorAll('img.lazy'));
|
||||
|
||||
if ('IntersectionObserver' in window) {
|
||||
const lazyObserver = new IntersectionObserver((entries, observer) => {
|
||||
entries.forEach(entry => {
|
||||
if (!entry.isIntersecting) return;
|
||||
let lazyImageObserver = new IntersectionObserver(function(entries, observer) {
|
||||
entries.forEach(function(entry) {
|
||||
if (entry.isIntersecting) {
|
||||
let lazyImage = entry.target;
|
||||
lazyImage.src = lazyImage.dataset.src;
|
||||
|
||||
const el = entry.target;
|
||||
|
||||
// Handle <img>
|
||||
if (el.tagName === 'IMG') {
|
||||
el.src = el.dataset.src;
|
||||
|
||||
if (el.dataset.srcset) {
|
||||
el.srcset = el.dataset.srcset;
|
||||
if(lazyImage.dataset.srcset) {
|
||||
lazyImage.srcset = lazyImage.dataset.srcset;
|
||||
}
|
||||
|
||||
el.classList.remove('lazy');
|
||||
lazyImage.classList.remove('lazy');
|
||||
lazyImageObserver.unobserve(lazyImage);
|
||||
}
|
||||
|
||||
// Handle background images
|
||||
else {
|
||||
if (el.dataset.bg) {
|
||||
el.style.backgroundImage = `url("${el.dataset.bg}")`;
|
||||
el.classList.remove('lazy-bg');
|
||||
el.classList.add('lazy-loaded');
|
||||
}
|
||||
}
|
||||
|
||||
observer.unobserve(el);
|
||||
});
|
||||
});
|
||||
|
||||
lazyElements.forEach(el => lazyObserver.observe(el));
|
||||
} else {
|
||||
// Optional fallback: load everything immediately
|
||||
lazyElements.forEach(el => {
|
||||
if (el.tagName === 'IMG' && el.dataset.src) {
|
||||
el.src = el.dataset.src;
|
||||
} else if (el.dataset.bg) {
|
||||
el.style.backgroundImage = `url("${el.dataset.bg}")`;
|
||||
}
|
||||
lazyImages.forEach(function(lazyImage) {
|
||||
lazyImageObserver.observe(lazyImage);
|
||||
});
|
||||
} else {
|
||||
// Possibly fall back to a more compatible method here
|
||||
}
|
||||
}
|
||||
|
||||
12
resources/js/lib/isInsideBlock.js
Normal file
12
resources/js/lib/isInsideBlock.js
Normal file
@@ -0,0 +1,12 @@
|
||||
export default function isInsideMyACFBlock(blockName)
|
||||
{
|
||||
const editor = wp.data.select('core/block-editor');
|
||||
const selectedId = editor.getSelectedBlockClientId();
|
||||
|
||||
if (!selectedId) return false;
|
||||
|
||||
const parents = editor.getBlockParents(selectedId);
|
||||
const parentNames = parents.map(id => editor.getBlockName(id));
|
||||
|
||||
return parentNames.includes(blockName);
|
||||
}
|
||||
@@ -1,64 +0,0 @@
|
||||
{
|
||||
"container_width": {
|
||||
"type": "string",
|
||||
"default": ""
|
||||
},
|
||||
"alignment": {
|
||||
"type": "string"
|
||||
},
|
||||
"padding_top": {
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
"padding_bottom": {
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
"background_colour": {
|
||||
"type": "string",
|
||||
"default": ""
|
||||
},
|
||||
"background_hex": {
|
||||
"type": "string",
|
||||
"default": ""
|
||||
},
|
||||
"background_tint": {
|
||||
"type": "string",
|
||||
"default": "0"
|
||||
},
|
||||
"background_image": {
|
||||
"type": "integer",
|
||||
"default": 0
|
||||
},
|
||||
"background_url": {
|
||||
"type": "string",
|
||||
"default": ""
|
||||
},
|
||||
"background_url_lazy": {
|
||||
"type": "string",
|
||||
"default": ""
|
||||
},
|
||||
"background_lazy": {
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
"background_opacity": {
|
||||
"type": "integer",
|
||||
"default": 30
|
||||
},
|
||||
"background_position": {
|
||||
"type": "object",
|
||||
"default": {
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
}
|
||||
},
|
||||
"background_fixed": {
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"background_contrast": {
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
[
|
||||
"acf/badegg-editor",
|
||||
"badegg/article"
|
||||
]
|
||||
102
resources/json/core-block-blacklist.json
Normal file
102
resources/json/core-block-blacklist.json
Normal file
@@ -0,0 +1,102 @@
|
||||
[
|
||||
"core/button",
|
||||
"core/comment-template",
|
||||
"core/home-link",
|
||||
"core/navigation-link",
|
||||
"core/navigation-submenu",
|
||||
"core/buttons",
|
||||
"core/column",
|
||||
"core/columns",
|
||||
"core/group",
|
||||
"core/more",
|
||||
"core/nextpage",
|
||||
"core/separator",
|
||||
"core/spacer",
|
||||
"core/text-columns",
|
||||
|
||||
"core/embed",
|
||||
|
||||
"core/cover",
|
||||
"core/file",
|
||||
"core/gallery",
|
||||
"core/image",
|
||||
"core/media-text",
|
||||
"core/audio",
|
||||
"core/video",
|
||||
|
||||
"core/block",
|
||||
|
||||
"core/footnotes",
|
||||
"core/heading",
|
||||
"core/list",
|
||||
"core/code",
|
||||
"core/details",
|
||||
"core/freeform",
|
||||
"core/list-item",
|
||||
"core/missing",
|
||||
"core/paragraph",
|
||||
"core/preformatted",
|
||||
"core/pullquote",
|
||||
"core/quote",
|
||||
"core/table",
|
||||
"core/verse",
|
||||
|
||||
"core/avatar",
|
||||
"core/comment-author-name",
|
||||
"core/comment-content",
|
||||
"core/comment-date",
|
||||
"core/comment-edit-link",
|
||||
"core/comment-reply-link",
|
||||
"core/comments",
|
||||
"core/comments-pagination",
|
||||
"core/comments-pagination-next",
|
||||
"core/comments-pagination-numbers",
|
||||
"core/comments-pagination-previous",
|
||||
"core/comments-title",
|
||||
"core/loginout",
|
||||
"core/navigation",
|
||||
"core/pattern",
|
||||
"core/post-author",
|
||||
"core/post-author-biography",
|
||||
"core/post-author-name",
|
||||
"core/post-comments-form",
|
||||
"core/post-content",
|
||||
"core/post-date",
|
||||
"core/post-excerpt",
|
||||
"core/post-featured-image",
|
||||
"core/post-navigation-link",
|
||||
"core/post-template",
|
||||
"core/post-terms",
|
||||
"core/post-title",
|
||||
"core/query",
|
||||
"core/query-no-results",
|
||||
"core/query-pagination",
|
||||
"core/query-pagination-next",
|
||||
"core/query-pagination-numbers",
|
||||
"core/query-pagination-previous",
|
||||
"core/query-title",
|
||||
"core/read-more",
|
||||
"core/site-logo",
|
||||
"core/site-tagline",
|
||||
"core/site-title",
|
||||
"core/template-part",
|
||||
"core/term-description",
|
||||
"core/post-comments",
|
||||
|
||||
"core/legacy-widget",
|
||||
"core/widget-group",
|
||||
"core/archives",
|
||||
"core/calendar",
|
||||
"core/categories",
|
||||
"core/latest-comments",
|
||||
"core/latest-posts",
|
||||
"core/page-list",
|
||||
"core/page-list-item",
|
||||
"core/rss",
|
||||
"core/search",
|
||||
"core/shortcode",
|
||||
"core/social-link",
|
||||
"core/tag-cloud",
|
||||
"core/html",
|
||||
"core/social-links"
|
||||
]
|
||||
@@ -2,21 +2,25 @@
|
||||
"core/separator",
|
||||
"core/spacer",
|
||||
|
||||
"core/cover",
|
||||
"core/file",
|
||||
"core/gallery",
|
||||
"core/image",
|
||||
"core/media-text",
|
||||
"core/audio",
|
||||
"core/video",
|
||||
"core/embed",
|
||||
|
||||
"core/footnotes",
|
||||
"core/heading",
|
||||
"core/list",
|
||||
"core/code",
|
||||
"core/details",
|
||||
"core/list-item",
|
||||
"core/missing",
|
||||
"core/paragraph",
|
||||
"core/quote",
|
||||
"core/preformatted",
|
||||
"core/pullquote",
|
||||
"core/quote",
|
||||
"core/table",
|
||||
"core/verse"
|
||||
]
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
21
resources/views/blocks/Editor/Editor.blade.php
Normal file
21
resources/views/blocks/Editor/Editor.blade.php
Normal file
@@ -0,0 +1,21 @@
|
||||
@if(@$data['section_anchor_id'])
|
||||
<div id="{{ $data['section_anchor_id'] }}" class="section-anchor"></div>
|
||||
@endif
|
||||
|
||||
<section
|
||||
id="{{ $block['id'] }}"
|
||||
class="badegg-block
|
||||
@if(@$data['section_classes']) {{ implode(' ', $data['section_classes']) }} @endif
|
||||
{{ @$block['className'] }}
|
||||
">
|
||||
|
||||
<div class="section-{{ $block['name'] }}-inner">
|
||||
<div class="container container-{{ @$data['container_width'] ? $data['container_width'] : 'medium' }} block-content wysiwyg">
|
||||
<InnerBlocks
|
||||
allowedBlocks="{!! esc_attr( wp_json_encode( $data['allowed_blocks'] ) ) !!}"
|
||||
template="{!! esc_attr( wp_json_encode( $data['template'] ) ) !!}"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
BIN
resources/views/blocks/Editor/Editor.jpg
Normal file
BIN
resources/views/blocks/Editor/Editor.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 40 KiB |
103
resources/views/blocks/Editor/Editor.php
Normal file
103
resources/views/blocks/Editor/Editor.php
Normal file
@@ -0,0 +1,103 @@
|
||||
<?php
|
||||
|
||||
namespace Blocks\Editor;
|
||||
use App\Utilities;
|
||||
use App\ACF;
|
||||
|
||||
class Editor
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
add_action('acf/init', [$this, 'init']);
|
||||
}
|
||||
|
||||
public function init()
|
||||
{
|
||||
acf_register_block_type([
|
||||
'name' => 'badegg-editor',
|
||||
'title' => __('Text Editor'),
|
||||
'description' => __('Long form text content with support for things like headings, lists, and images.'),
|
||||
'render_callback' => [ $this, 'render'],
|
||||
'category' => 'badegg',
|
||||
'icon' => 'media-document',
|
||||
'supports' => [
|
||||
'align' => false,
|
||||
'jsx' => true,
|
||||
],
|
||||
'example' => [
|
||||
'attributes' => [
|
||||
'mode' => 'preview',
|
||||
'data' => [
|
||||
'inserter' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
public function render($block, string $content = '', bool $is_preview = false, int $post_id = 0)
|
||||
{
|
||||
$name = basename(__FILE__, '.php');
|
||||
$themeURL = get_template_directory_uri();
|
||||
|
||||
if($is_preview && @$block['data']['inserter']):
|
||||
echo '<img style="display: block; width: 100%" src="' . $themeURL . '/resources/views/blocks/' . $name . '/' . $name . '.jpg" />';
|
||||
return;
|
||||
endif;
|
||||
|
||||
$CssClasses = new Utilities\CssClasses;
|
||||
$Colour = new Utilities\Colour;
|
||||
$CloneGroup = new ACF\CloneGroup;
|
||||
|
||||
$data = [];
|
||||
|
||||
$fields = [
|
||||
|
||||
];
|
||||
|
||||
$fields = array_merge($fields, $CloneGroup->block_all());
|
||||
|
||||
foreach($fields as $field):
|
||||
$data[$field] = get_field($field);
|
||||
endforeach;
|
||||
|
||||
unset($block['data']);
|
||||
$block['name'] = str_replace('acf/', '', $block['name']);
|
||||
|
||||
$data = array_merge($data, $block);
|
||||
$data['section_classes'] = $CssClasses->section($data);
|
||||
$data['allowed_blocks'] = \App\block_whitelist();
|
||||
$data['template'] = $this->default_template();
|
||||
$data['block'] = $block;
|
||||
|
||||
echo \Roots\view("blocks.$name.$name", [
|
||||
'data' => $data,
|
||||
'block' => $block,
|
||||
])->render();
|
||||
}
|
||||
|
||||
public function default_template()
|
||||
{
|
||||
return [
|
||||
[
|
||||
'core/heading',
|
||||
[
|
||||
'level' => 1,
|
||||
'placeholder' => 'Heading',
|
||||
],
|
||||
],
|
||||
[
|
||||
'core/paragraph',
|
||||
[
|
||||
'placeholder' => 'You can type your own text, change the heading level, or delete it altogether. You can also type over this text.',
|
||||
],
|
||||
],
|
||||
[
|
||||
'core/paragraph',
|
||||
[
|
||||
'placeholder' => 'To adjust block settings, click the Text Editor icon floating above this block to display them in the sidebar.',
|
||||
],
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
||||
0
resources/views/blocks/Editor/Editor.scss
Normal file
0
resources/views/blocks/Editor/Editor.scss
Normal file
@@ -1,28 +0,0 @@
|
||||
{
|
||||
"apiVersion": 3,
|
||||
"name": "badegg/acfdemo",
|
||||
"title": "ACF Demo",
|
||||
"category": "badegg",
|
||||
"icon": "media-document",
|
||||
"description": "An example block powered by ACF",
|
||||
"keywords": ["acf", "demo"],
|
||||
|
||||
"acf": {
|
||||
"mode": "preview",
|
||||
"validate": "false",
|
||||
"renderCallback": "\\App\\Blocks\\render_acf"
|
||||
},
|
||||
"supports": {
|
||||
"anchor": true,
|
||||
"align": false,
|
||||
"jsx": true
|
||||
},
|
||||
"example": {
|
||||
"attributes": {
|
||||
"mode": "preview",
|
||||
"data": {
|
||||
"inserter": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
// block.json's editorStyle, applied in block editor and front end
|
||||
.wp-block-acf-demo.block-editor-block-list__block {
|
||||
display: block;
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
// block.json's editorScript, loaded only in the block editor
|
||||
@@ -1,10 +0,0 @@
|
||||
@extends('layouts.block-acf', [
|
||||
'block' => $block,
|
||||
'is_preview' => $is_preview,
|
||||
'context' => $context,
|
||||
'knockout' => true,
|
||||
])
|
||||
|
||||
@section('block-content')
|
||||
{!! the_field('content') !!}
|
||||
@overwrite
|
||||
@@ -1 +0,0 @@
|
||||
// block.json's script, loaded in block editor and front end
|
||||
@@ -1,4 +0,0 @@
|
||||
// block.json's style, applied in block editor and front end
|
||||
.wp-block-acf-demo {
|
||||
display: block;
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
// block.json's viewScript, applied on front end only
|
||||
@@ -1,25 +0,0 @@
|
||||
# Bad Egg's Article Builder
|
||||
|
||||
Designed as a full width component, Article Builder bundles core wordpress blocks commonly used in articles into a classic editor like experience.
|
||||
|
||||
## Features
|
||||
- Uses the `<InnerBlocks/>` component with a whitelist defined in `resources/json/core-block-whitelist.json`
|
||||
- Provides spacing and background configuration options
|
||||
- Default block attributes are defined in `resources/json/block-attributes.json` so that they are not needed in duplicate in `block.json`
|
||||
- A reusable customisation UI is defined in `resources/js/blocks/components/BlockSettings.jsx` so that multiple blocks can rely on the same controls
|
||||
|
||||
## Theme-level changes
|
||||
- All core wordpress blocks are disabled at the top level to prevent them from being used alongside full-width blocks designed to craft page layouts
|
||||
- Blocks that can use core whitelisted inner blocks are defined in `resources/json/block-parents.json`
|
||||
|
||||
## Attributes
|
||||
- Top Padding
|
||||
- Bottom Padding
|
||||
- Container width
|
||||
- Background
|
||||
- Colour
|
||||
- Tint
|
||||
- Image
|
||||
- Image opacity
|
||||
- Text contrast toggle
|
||||
- Fixed position toggle
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
"apiVersion": 3,
|
||||
"name": "badegg/article",
|
||||
"title": "Article Builder",
|
||||
"category": "badegg",
|
||||
"icon": {
|
||||
"src": "format-aside",
|
||||
"foreground": "#f58762"
|
||||
},
|
||||
"description": "A wrapper to contain core blocks",
|
||||
"supports": {
|
||||
"html": true,
|
||||
"color": {
|
||||
"background": false,
|
||||
"text": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
@use "sass:math";
|
||||
|
||||
@use "../../../../css/global/variables/breakpoints";
|
||||
@use "../../../../css/global/variables/spacing";
|
||||
@use "../../../../css/global/variables/colours";
|
||||
|
||||
.wp-block-badegg-article {
|
||||
container-name: BadEggArticle;
|
||||
container-type: inline-size;
|
||||
|
||||
> .container > [class^="wp-block-"]:not(.wp-block-heading) {
|
||||
margin: spacing.$innerLarge auto;
|
||||
}
|
||||
|
||||
.is-layout-flex {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: spacing.$gap;
|
||||
}
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
@use "../../../../css/global/variables/colours";
|
||||
@use "../../../../css/global/variables/fonts";
|
||||
|
||||
.wp-block-details {
|
||||
summary {
|
||||
font-family: fonts.$font;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
@media screen {
|
||||
.knockout & {
|
||||
summary {
|
||||
color: colours.$white;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
.wp-block-badegg-article {
|
||||
.is-type-video {
|
||||
iframe {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
aspect-ratio: 16 / 9;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
@use "sass:math";
|
||||
|
||||
@use "../../../../css/global/variables/breakpoints";
|
||||
@use "../../../../css/global/variables/spacing";
|
||||
|
||||
.wp-block-badegg-article {
|
||||
.wp-block-gallery {
|
||||
@for $i from 2 through 8 {
|
||||
&.columns-#{$i} > * { width: calc(math.div(1, $i) * 100% - (spacing.$gap - math.div(spacing.$gap, $i))); }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,52 +0,0 @@
|
||||
@use "../../../../css/global/variables/breakpoints";
|
||||
@use "../../../../css/global/variables/spacing";
|
||||
|
||||
.wp-block-badegg-article {
|
||||
figure {
|
||||
img {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.wp-block-image {
|
||||
&.is-style-rounded {
|
||||
img {
|
||||
border-radius: 9999px;
|
||||
}
|
||||
}
|
||||
|
||||
@container BadEggArticle (min-width: #{breakpoints.$screen-sm}) {
|
||||
.alignleft,
|
||||
.alignright {
|
||||
margin-bottom: spacing.$innerSmall;
|
||||
}
|
||||
|
||||
.alignleft {
|
||||
float: left;
|
||||
margin-right: spacing.$innerLarge;
|
||||
}
|
||||
|
||||
.alignright {
|
||||
float: right;
|
||||
margin-left: spacing.$innerLarge;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.is-image-fill-element,
|
||||
.is-cropped {
|
||||
figure {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin: 0;
|
||||
|
||||
img {
|
||||
flex: 1 0 0%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
width: 100%;
|
||||
aspect-ratio: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
@use "../../../../css/global/variables/breakpoints";
|
||||
@use "../../../../css/global/variables/spacing";
|
||||
|
||||
.wp-block-badegg-article {
|
||||
.wp-block-media-text {
|
||||
display: grid;
|
||||
gap: spacing.$innerLarge;
|
||||
|
||||
@container BadEggArticle (max-width: #{breakpoints.$screen-xs-max}) {
|
||||
&.is-stacked-on-mobile {
|
||||
display: block;
|
||||
|
||||
.wp-block-media-text__media {
|
||||
margin-bottom: spacing.$innerLarge;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&__content {
|
||||
> *:first-child { margin-top: 0; }
|
||||
> *:last-child { margin-bottom: 0; }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,117 +0,0 @@
|
||||
@use "../../../../css/global/variables/breakpoints";
|
||||
@use "../../../../css/global/variables/spacing";
|
||||
@use "../../../../css/global/variables/colours";
|
||||
@use "../../../../css/global/variables/fonts";
|
||||
|
||||
.wp-block-badegg-article {
|
||||
.wp-block-pullquote blockquote,
|
||||
.wp-block-quote {
|
||||
position: relative;
|
||||
text-align: center;
|
||||
font-size: 1.25em;
|
||||
padding: 0;
|
||||
padding: 1em 0;
|
||||
margin: spacing.$innerLarge auto;
|
||||
|
||||
* {
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
p {
|
||||
font-family: fonts.$blockquote;
|
||||
font-style: italic;
|
||||
margin: 0 0 0.25em;
|
||||
color: colours.$primary;
|
||||
}
|
||||
|
||||
cite {
|
||||
font-size: 0.6em;
|
||||
font-family: fonts.$font;
|
||||
font-style: normal;
|
||||
color: colours.$grey;
|
||||
}
|
||||
|
||||
&::before {
|
||||
content: '\201C';
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
top: -0.25em;
|
||||
left: calc(50% - 0.5em);
|
||||
display: block;
|
||||
text-align: center;
|
||||
font-size: 1.5em;
|
||||
width: 1em;
|
||||
color: colours.$secondary;
|
||||
}
|
||||
|
||||
&::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
inset: auto calc(20% - 1em) 0;
|
||||
border-width: 1px 0 0;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
> *:first-child {
|
||||
&::before,
|
||||
&::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: -0.75em;
|
||||
display: block;
|
||||
width: 30%;
|
||||
border-width: 1px 0 0;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
&::before {
|
||||
right: calc(50% + 1em);
|
||||
}
|
||||
|
||||
&::after {
|
||||
left: calc(50% + 1em);
|
||||
}
|
||||
}
|
||||
|
||||
&::after,
|
||||
> *:first-child::before,
|
||||
> *:first-child::after {
|
||||
border-color: colours.$grey-lighter;
|
||||
}
|
||||
|
||||
&.is-style-plain {
|
||||
&::before,
|
||||
&::after,
|
||||
> *:first-child::before,
|
||||
> *:first-child::after {
|
||||
content: none;
|
||||
}
|
||||
}
|
||||
|
||||
@container BadEggArticle (min-width: #{breakpoints.$screen-sm}) {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen {
|
||||
&.knockout {
|
||||
.wp-block-pullquote blockquote,
|
||||
.wp-block-quote {
|
||||
p {
|
||||
color: colours.$primary-light;
|
||||
}
|
||||
|
||||
cite {
|
||||
color: rgba(colours.$white, 0.7);
|
||||
}
|
||||
|
||||
&::after,
|
||||
> *:first-child::before,
|
||||
> *:first-child::after {
|
||||
border-color: rgba(colours.$white,0.2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
@use "../../../../css/global/variables/colours";
|
||||
@use "../../../../css/global/variables/fonts";
|
||||
|
||||
.wp-block-verse {
|
||||
font-family: fonts.$font;
|
||||
line-height: 2;
|
||||
word-wrap: normal;
|
||||
|
||||
@media screen {
|
||||
.knockout & {
|
||||
color: colours.$white;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
@use "../../../css/global/variables/spacing";
|
||||
|
||||
.wp-block-badegg-article {
|
||||
position: relative;
|
||||
|
||||
.wp-block-pullquote {
|
||||
padding: 0;
|
||||
margin: spacing.$innerLarge auto;
|
||||
}
|
||||
|
||||
.badegg-article-select-parent {
|
||||
appearance: none;
|
||||
display: block;
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: transparent;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.block-editor-block-list {
|
||||
&__layout {
|
||||
> *:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
> *:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,73 +0,0 @@
|
||||
// block.json's editorScript, loaded only in the block editor
|
||||
|
||||
import metadata from './block.json';
|
||||
import { __ } from '@wordpress/i18n';
|
||||
import { registerBlockType } from '@wordpress/blocks';
|
||||
|
||||
import {
|
||||
useBlockProps,
|
||||
InnerBlocks,
|
||||
} from '@wordpress/block-editor';
|
||||
|
||||
import allowedBlocks from '../../../json/block-core-whitelist.json';
|
||||
import { containerClassNames, sectionClassNames } from '../../../js/blocks/lib/classNames';
|
||||
import BackgroundImage from '../../../js/blocks/components/BackgroundImage';
|
||||
import BlockSettings from '../../../js/blocks/components/BlockSettings';
|
||||
|
||||
registerBlockType(metadata.name, {
|
||||
edit({ attributes, setAttributes, clientId }) {
|
||||
const blockProps = useBlockProps();
|
||||
|
||||
blockProps.className = containerClassNames(attributes, [ 'wysiwyg' ]).join(' ');
|
||||
|
||||
return (
|
||||
<div className={ sectionClassNames(attributes, 'wp-block-badegg-article').join(' ') }>
|
||||
<BlockSettings
|
||||
attributes={ attributes }
|
||||
setAttributes={ setAttributes }
|
||||
/>
|
||||
|
||||
<button
|
||||
className="badegg-article-select-parent"
|
||||
onClick={() => {
|
||||
wp.data.dispatch('core/block-editor').selectBlock(clientId);
|
||||
}}
|
||||
>
|
||||
<span className="visually-hidden">Select Block</span>
|
||||
</button>
|
||||
|
||||
<div { ...blockProps }>
|
||||
<InnerBlocks
|
||||
allowedBlocks={ allowedBlocks }
|
||||
defaultBlock={
|
||||
{
|
||||
name: "core/paragraph",
|
||||
attributes: {
|
||||
placeholder: "start typing",
|
||||
}
|
||||
}
|
||||
}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<BackgroundImage { ...attributes } />
|
||||
|
||||
</div>
|
||||
);
|
||||
},
|
||||
save({ attributes }) {
|
||||
const blockProps = useBlockProps.save();
|
||||
blockProps.className = containerClassNames(attributes, [ 'wysiwyg' ]).join(' ');
|
||||
|
||||
return (
|
||||
<div className={ sectionClassNames(attributes, 'wp-block-badegg-article').join(' ') }>
|
||||
<div { ...blockProps }>
|
||||
<InnerBlocks.Content />
|
||||
</div>
|
||||
|
||||
<BackgroundImage { ...attributes } />
|
||||
|
||||
</div>
|
||||
)
|
||||
}
|
||||
});
|
||||
@@ -1,8 +0,0 @@
|
||||
@use 'css/base';
|
||||
@use 'css/image';
|
||||
@use 'css/gallery';
|
||||
@use 'css/media-text';
|
||||
@use 'css/quote';
|
||||
@use 'css/embed';
|
||||
@use 'css/verse';
|
||||
@use 'css/details';
|
||||
@@ -1,40 +0,0 @@
|
||||
# Bad Egg's Native Wordpress Block Example
|
||||
|
||||
This block serves as a placeholder that can be copied and extended to build native Wordpress blocks.
|
||||
|
||||
## Features
|
||||
- Automatic registration and asset building through the theme's `app/blocks.php` file and `vite.config.js`
|
||||
- Automatic enqueueing of block scripts and styles if the correct files are included in the block's directory
|
||||
- Supports Laravel Blade templates if the `render.blade.php` file is present, with access to the `$attributes`, `$block`, and `$content` variables.
|
||||
- Default block attributes are defined in `resources/json/block-attributes.json` so that they are not needed in duplicate in `block.json`
|
||||
- A reusable customisation UI is defined in `resources/js/blocks/components/BlockSettings.jsx` so that multiple blocks can rely on the same controls
|
||||
|
||||
## Directory Structure
|
||||
```
|
||||
app
|
||||
│ ...
|
||||
│
|
||||
│ blocks.php -> this is where the auto registration functions live
|
||||
│
|
||||
resources
|
||||
│ ...
|
||||
│
|
||||
└── js
|
||||
│ └── editor.js
|
||||
│
|
||||
└── views
|
||||
│ ...
|
||||
│
|
||||
└── blocks
|
||||
│ ...
|
||||
│
|
||||
└── example
|
||||
│ README.md -> this file
|
||||
│ block.json -> (required) the block's metadata
|
||||
│ index.jsx -> (required) EditorScript
|
||||
│ script.js -> (optional) Editor & Front end
|
||||
│ view.js -> (optional) Front end
|
||||
│ editor.scss -> (optional) Editor
|
||||
│ style.scss -> (optional) Editor & Front end
|
||||
│ render.blade.php -> (optional) falls back to index.jsx save
|
||||
```
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
"apiVersion": 3,
|
||||
"name": "badegg/example",
|
||||
"title": "Example",
|
||||
"category": "badegg",
|
||||
"icon": "cover-image",
|
||||
"description": "This is an example of a custom native block",
|
||||
"editorScript": "example-editor-script",
|
||||
"editorStyle": "example-editor-style",
|
||||
"style": "example-style",
|
||||
"script": "example-script",
|
||||
"supports": {
|
||||
"html": false
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
// block.json's editorStyle, applied in block editor and front end
|
||||
.wp-block-badegg-example.block-editor-block-list__block {
|
||||
display: block;
|
||||
border: 2px solid red;
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
// block.json's editorScript, loaded only in the block editor
|
||||
|
||||
import metadata from './block.json';
|
||||
import { registerBlockType } from '@wordpress/blocks';
|
||||
import { useBlockProps } from '@wordpress/block-editor';
|
||||
import { containerClassNames, sectionClassNames } from '../../../js/blocks/lib/classNames';
|
||||
|
||||
registerBlockType(metadata.name, {
|
||||
edit({ attributes }) {
|
||||
const blockProps = useBlockProps();
|
||||
|
||||
blockProps.className = sectionClassNames(attributes, blockProps.className, ['bg-success', 'knockout']).join(' ');
|
||||
|
||||
return (
|
||||
<div { ...blockProps }>
|
||||
<div className="container align-center wysiwyg">
|
||||
<h2>Bad Egg Block Example</h2>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
});
|
||||
@@ -1,7 +0,0 @@
|
||||
<div {!! get_block_wrapper_attributes([
|
||||
'class' => 'section bg-success knockout',
|
||||
]) !!}>
|
||||
<div class="container wysiwyg align-center">
|
||||
<h2>Bad Egg Example Block (Blade)</h2>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,2 +0,0 @@
|
||||
// block.json's script, loaded in block editor and front end
|
||||
console.log('bad egg example block script.js loaded.');
|
||||
@@ -1,4 +0,0 @@
|
||||
// block.json's style, applied in block editor and front end
|
||||
.wp-block-badegg-example {
|
||||
display: block;
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
// block.json's viewScript, applied on front end only
|
||||
console.log('bad egg example block view.js loaded.');
|
||||
@@ -1,12 +1,12 @@
|
||||
@if($socials)
|
||||
<ul class="socials nolist">
|
||||
@foreach($socials as $social)
|
||||
<li>
|
||||
<a href="{{ get_field('url', $social) }}" rel="noopener nofollow noreferrer me" target="_blank">
|
||||
<i class="fa-brands fa-{{ get_field('fontawesome_brands', $social) }}"></i>
|
||||
<span class="visually-hidden">{{ get_the_title($social) }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@endif
|
||||
<ul class="socials nolist">
|
||||
@foreach($socials as $social)
|
||||
<li>
|
||||
<a
|
||||
class="fa-brands fa-{{ get_field('fontawesome_brands', $social) }}"
|
||||
href="{{ get_field('url', $social) }}"
|
||||
rel="noopener nofollow noreferrer"
|
||||
target="_blank"
|
||||
><span class="visually-hidden">{{ get_the_title($social) }}</span></a>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
@php
|
||||
$settings = get_field('settings');
|
||||
|
||||
$sectionProps = [
|
||||
'class' => implode(' ', $CssClasses->section(get_field('settings'), @$block['name'], @$knockout)),
|
||||
];
|
||||
|
||||
$containerProps = [
|
||||
'width' => @$settings['container_width'],
|
||||
];
|
||||
@endphp
|
||||
|
||||
<div id="{{ @$block['anchor'] }}" @if($is_preview) class="{{ $sectionProps['class'] }}" @else {!! get_block_wrapper_attributes($sectionProps) !!} @endif>
|
||||
|
||||
@include('partials.block-acf-intro', ['props' => get_field('intro'), 'settings' => $settings])
|
||||
|
||||
<div class="{{ implode(' ', $CssClasses->container($containerProps)) }}">
|
||||
@yield('block-content')
|
||||
</div>
|
||||
|
||||
@include('partials.block-acf-footer', ['props' => get_field('footer'), 'settings' => $settings])
|
||||
|
||||
</div>
|
||||
@@ -1,11 +1,50 @@
|
||||
@if(!$is_preview)
|
||||
<div {!! get_block_wrapper_attributes() !!}>
|
||||
@if(@$data['section_anchor_id'])
|
||||
<div id="{{ $data['section_anchor_id'] }}" class="section-anchor"></div>
|
||||
@endif
|
||||
|
||||
<div class="wp-block-inner">
|
||||
@yield('block-content')
|
||||
</div>
|
||||
<section
|
||||
id="{{ $block['id'] }}"
|
||||
class="badegg-block
|
||||
@if(@$data['section_classes']) {{ implode(' ', $data['section_classes']) }} @endif
|
||||
{{ @$block['className'] }}
|
||||
">
|
||||
|
||||
<div class="section-{{ $block['name'] }}-inner">
|
||||
@if(@$data['heading'] || @$data['blurb'])
|
||||
<div class="section-intro inner inner-bottom @if($data['bg_colour'] != 'white') knockout @endif">
|
||||
<div class="container">
|
||||
<div class="section-intro-inner wysiwyg">
|
||||
<h2>{{ @$data['heading'] }}</h2>
|
||||
<p>{{ @$data['blurb'] }}</p>
|
||||
</div>
|
||||
|
||||
@if(@$data['links'])
|
||||
<div class="btn-wrap">
|
||||
@foreach($data['links'] as $link)
|
||||
@include('components.button', $link)
|
||||
@endforeach
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="container container-{{ @$data['container_width'] ? $data['container_width'] : 'medium' }} block-content">
|
||||
@yield('block-content')
|
||||
</div>
|
||||
|
||||
@if(@$data['links'])
|
||||
<div class="section-footer inner-top">
|
||||
<div class="container">
|
||||
<div class="btn-wrap">
|
||||
@foreach($data['links'] as $link)
|
||||
@include('components.button', $link)
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if(!$is_preview)
|
||||
</div>
|
||||
@endif
|
||||
|
||||
</section>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user