Version Description
Download this release
Release Info
Developer | hiddenpearls |
Plugin | BlocksBuster |
Version | 0.0.1 |
Comparing to | |
See all releases |
Version 0.0.1
- README.txt +55 -0
- assets/css/blocks.editor.css +1 -0
- assets/css/blocks.style.css +1 -0
- assets/js/editor.blocks.js +6 -0
- assets/js/frontend.blocks.js +1 -0
- blocks-buster.php +53 -0
- blocks/frontend.js +1 -0
- blocks/i18n.js +1 -0
- blocks/index.js +6 -0
- blocks/profile/editor.scss +5 -0
- blocks/profile/index.js +290 -0
- blocks/profile/inspector.js +132 -0
- blocks/profile/schema.js +94 -0
- blocks/profile/sicons.js +38 -0
- blocks/profile/style.scss +94 -0
- blocks/profile/utils.js +21 -0
- lib/enqueue-scripts.php +63 -0
README.txt
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
=== BlocksBuster ===
|
2 |
+
Contributors: hiddenpearls, WPBrigade
|
3 |
+
Donate link: https://WPBrigade.com/
|
4 |
+
Tags: blocks, profile, Gutenberg
|
5 |
+
Requires at least: 5.0
|
6 |
+
Tested up to: 5.0.3
|
7 |
+
Stable tag: 0.0.1
|
8 |
+
License: GPLv2 or later
|
9 |
+
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
10 |
+
|
11 |
+
This plugin is a collection of blocks that will help in making WordPress sites by using Gutenberg editor.
|
12 |
+
|
13 |
+
We will build more blocks in the future that will integrate in this plugin.
|
14 |
+
|
15 |
+
== Description ==
|
16 |
+
|
17 |
+
This plugin is a collection of blocks that will help in making WordPress sites within Gutenberg.
|
18 |
+
|
19 |
+
We will build more blocks in the future that will integrate in this plugin.
|
20 |
+
|
21 |
+
List of blocks:
|
22 |
+
|
23 |
+
1. Author Profile
|
24 |
+
|
25 |
+
== Installation ==
|
26 |
+
|
27 |
+
This section describes how to install the plugin and get it working.
|
28 |
+
|
29 |
+
e.g.
|
30 |
+
|
31 |
+
1. Upload the plugin files to the `/wp-content/plugins/blocksbuster` directory, or install the plugin through the WordPress plugins screen directly.
|
32 |
+
1. Activate the plugin through the 'Plugins' screen in WordPress
|
33 |
+
1. Install Gutenberg plugin if not integrated in WordPress already.
|
34 |
+
1. Search 'author profile' from Common blocks section.
|
35 |
+
1. Edit block text and image according to your needs.
|
36 |
+
|
37 |
+
|
38 |
+
== Frequently Asked Questions ==
|
39 |
+
|
40 |
+
Nothing yet.
|
41 |
+
|
42 |
+
== Screenshots ==
|
43 |
+
|
44 |
+
1. coming soon
|
45 |
+
|
46 |
+
== Changelog ==
|
47 |
+
|
48 |
+
=s0.0.1 1st feb, 2019 =
|
49 |
+
* Initial Release
|
50 |
+
|
51 |
+
== Upgrade Notice ==
|
52 |
+
|
53 |
+
= 1.0.0 =
|
54 |
+
launched
|
55 |
+
|
assets/css/blocks.editor.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.button.button_img_upload{height:auto;padding:0;border:0}
|
assets/css/blocks.style.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.wp-block-blocksbuster-profile .wpbb-section{padding:0 20px}.wp-block-blocksbuster-profile .wpbb-hero-title{margin:0;padding:25px 0 100px;text-align:center;text-align:center}.wp-block-blocksbuster-profile .wpbb-hero-title::before{display:none}.wp-block-blocksbuster-profile .wpbb-card-profile{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;background-color:#f2f2f2;border:1px solid rgba(0,0,0,0.125);border-radius:.25rem;box-shadow:0px 12px 19px -7px rgba(0,0,0,0.3);transform:translateY(-10px);-webkit-transform:translateY(-10px);width:400px;max-width:100%;margin:0 auto}.wp-block-blocksbuster-profile .wpbb-card-avatar{max-width:120px;max-height:120px;margin:-60px auto 0;border-radius:50%;overflow:hidden}.wp-block-blocksbuster-profile .wpbb-card-block{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem;text-align:center}.wp-block-blocksbuster-profile .wpb-card-footer{text-align:center}.wp-block-blocksbuster-profile .wpbb-card-description p{margin:0}.wp-block-blocksbuster-profile .wpbb-description-font-1{font-size:1px}.wp-block-blocksbuster-profile .wpbb-description-font-2{font-size:2px}.wp-block-blocksbuster-profile .wpbb-description-font-3{font-size:3px}.wp-block-blocksbuster-profile .wpbb-description-font-4{font-size:4px}.wp-block-blocksbuster-profile .wpbb-description-font-5{font-size:5px}.wp-block-blocksbuster-profile .wpbb-description-font-6{font-size:6px}.wp-block-blocksbuster-profile .wpbb-description-font-7{font-size:7px}.wp-block-blocksbuster-profile .wpbb-description-font-8{font-size:8px}.wp-block-blocksbuster-profile .wpbb-description-font-9{font-size:9px}.wp-block-blocksbuster-profile .wpbb-description-font-10{font-size:10px}.wp-block-blocksbuster-profile .wpbb-description-font-11{font-size:11px}.wp-block-blocksbuster-profile .wpbb-description-font-12{font-size:12px}.wp-block-blocksbuster-profile .wpbb-description-font-13{font-size:13px}.wp-block-blocksbuster-profile .wpbb-description-font-14{font-size:14px}.wp-block-blocksbuster-profile .wpbb-description-font-15{font-size:15px}.wp-block-blocksbuster-profile .wpbb-description-font-16{font-size:16px}.wp-block-blocksbuster-profile .wpbb-description-font-17{font-size:17px}.wp-block-blocksbuster-profile .wpbb-description-font-18{font-size:18px}.wp-block-blocksbuster-profile .wpbb-description-font-19{font-size:19px}.wp-block-blocksbuster-profile .wpbb-description-font-20{font-size:20px}.wp-block-blocksbuster-profile .wpbb-description-font-21{font-size:21px}.wp-block-blocksbuster-profile .wpbb-description-font-22{font-size:22px}.wp-block-blocksbuster-profile .wpbb-description-font-23{font-size:23px}.wp-block-blocksbuster-profile .wpbb-description-font-24{font-size:24px}.wp-block-blocksbuster-profile .wpbb-description-font-25{font-size:25px}.wp-block-blocksbuster-profile .wpbb-description-font-26{font-size:26px}.wp-block-blocksbuster-profile .wpbb-description-font-27{font-size:27px}.wp-block-blocksbuster-profile .wpbb-description-font-28{font-size:28px}.wp-block-blocksbuster-profile .wpbb-description-font-29{font-size:29px}.wp-block-blocksbuster-profile .wpbb-description-font-30{font-size:30px}.wp-block-blocksbuster-profile .wpbb-social-link{width:40px;height:40px;color:#fff;background:#767676;border-radius:50%;-webkit-border-radius:50%;display:-ms-inline-flexbox;display:inline-flex;vertical-align:top;margin:0 5px;line-height:40px;text-align:center;-ms-flex-line-pack:center;align-content:center;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.wp-block-blocksbuster-profile .wpbb-social-link svg{height:20px;width:20px}.wp-block-blocksbuster-profile .wpbb-card-footer{text-align:center;padding-bottom:25px}.wp-block-blocksbuster-profile .button_img_upload{border:0}
|
assets/js/editor.blocks.js
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=42)}([function(e,t){var n=e.exports={version:"2.6.3"};"number"==typeof __e&&(__e=n)},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t,n){var r=n(1),o=n(0),i=n(30),a=n(6),c=n(5),u=function(e,t,n){var l,s,f,p=e&u.F,b=e&u.G,m=e&u.S,d=e&u.P,y=e&u.B,v=e&u.W,h=b?o:o[t]||(o[t]={}),g=h.prototype,w=b?r:m?r[t]:(r[t]||{}).prototype;b&&(n=t);for(l in n)(s=!p&&w&&void 0!==w[l])&&c(h,l)||(f=s?w[l]:n[l],h[l]=b&&"function"!=typeof w[l]?n[l]:y&&s?i(f,r):v&&w[l]==f?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(f):d&&"function"==typeof f?i(Function.call,f):f,d&&((h.virtual||(h.virtual={}))[l]=f,e&u.R&&g&&!g[l]&&a(g,l,f)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,e.exports=u},function(e,t,n){var r=n(11),o=n(31),i=n(17),a=Object.defineProperty;t.f=n(4)?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),o)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){e.exports=!n(8)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(3),o=n(12);e.exports=n(4)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){var r=n(34),o=n(18);e.exports=function(e){return r(o(e))}},function(e,t,n){var r=n(21)("wks"),o=n(15),i=n(1).Symbol,a="function"==typeof i;(e.exports=function(e){return r[e]||(r[e]=a&&i[e]||(a?i:o)("Symbol."+e))}).store=r},function(e,t,n){var r=n(7);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(33),o=n(22);e.exports=Object.keys||function(e){return r(e,o)}},function(e,t){e.exports=!0},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var r=n(7);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r=n(21)("keys"),o=n(15);e.exports=function(e){return r[e]||(r[e]=o(e))}},function(e,t,n){var r=n(0),o=n(1),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:r.version,mode:n(14)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,n){var r=n(18);e.exports=function(e){return Object(r(e))}},function(e,t){e.exports={}},function(e,t,n){var r=n(11),o=n(74),i=n(22),a=n(20)("IE_PROTO"),c=function(){},u=function(){var e,t=n(32)("iframe"),r=i.length;for(t.style.display="none",n(75).appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write("<script>document.F=Object<\/script>"),e.close(),u=e.F;r--;)delete u.prototype[i[r]];return u()};e.exports=Object.create||function(e,t){var n;return null!==e?(c.prototype=r(e),n=new c,c.prototype=null,n[a]=e):n=u(),void 0===t?n:o(n,t)}},function(e,t,n){var r=n(3).f,o=n(5),i=n(10)("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},function(e,t,n){t.f=n(10)},function(e,t,n){var r=n(1),o=n(0),i=n(14),a=n(28),c=n(3).f;e.exports=function(e){var t=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});"_"==e.charAt(0)||e in t||c(t,e,{value:a.f(e)})}},function(e,t,n){var r=n(49);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){e.exports=!n(4)&&!n(8)(function(){return 7!=Object.defineProperty(n(32)("div"),"a",{get:function(){return 7}}).a})},function(e,t,n){var r=n(7),o=n(1).document,i=r(o)&&r(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},function(e,t,n){var r=n(5),o=n(9),i=n(51)(!1),a=n(20)("IE_PROTO");e.exports=function(e,t){var n,c=o(e),u=0,l=[];for(n in c)n!=a&&r(c,n)&&l.push(n);for(;t.length>u;)r(c,n=t[u++])&&(~i(l,n)||l.push(n));return l}},function(e,t,n){var r=n(35);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(5),o=n(24),i=n(20)("IE_PROTO"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=o(e),r(e,i)?e[i]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(69),i=r(o),a=n(80),c=r(a),u="function"==typeof c.default&&"symbol"==typeof i.default?function(e){return typeof e}:function(e){return e&&"function"==typeof c.default&&e.constructor===c.default&&e!==c.default.prototype?"symbol":typeof e};t.default="function"==typeof c.default&&"symbol"===u(i.default)?function(e){return void 0===e?"undefined":u(e)}:function(e){return e&&"function"==typeof c.default&&e.constructor===c.default&&e!==c.default.prototype?"symbol":void 0===e?"undefined":u(e)}},function(e,t,n){"use strict";var r=n(14),o=n(2),i=n(39),a=n(6),c=n(25),u=n(73),l=n(27),s=n(36),f=n(10)("iterator"),p=!([].keys&&"next"in[].keys()),b=function(){return this};e.exports=function(e,t,n,m,d,y,v){u(n,t,m);var h,g,w,k=function(e){if(!p&&e in O)return O[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},_=t+" Iterator",x="values"==d,E=!1,O=e.prototype,S=O[f]||O["@@iterator"]||d&&O[d],C=S||k(d),L=d?x?k("entries"):C:void 0,j="Array"==t?O.entries||S:S;if(j&&(w=s(j.call(new e)))!==Object.prototype&&w.next&&(l(w,_,!0),r||"function"==typeof w[f]||a(w,f,b)),x&&S&&"values"!==S.name&&(E=!0,C=function(){return S.call(this)}),r&&!v||!p&&!E&&O[f]||a(O,f,C),c[t]=C,c[_]=b,d)if(h={values:x?C:k("values"),keys:y?C:k("keys"),entries:L},v)for(g in h)g in O||i(O,g,h[g]);else o(o.P+o.F*(p||E),t,h);return h}},function(e,t,n){e.exports=n(6)},function(e,t,n){var r=n(33),o=n(22).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,o)}},function(e,t,n){var r=n(16),o=n(12),i=n(9),a=n(17),c=n(5),u=n(31),l=Object.getOwnPropertyDescriptor;t.f=n(4)?l:function(e,t){if(e=i(e),t=a(t,!0),u)try{return l(e,t)}catch(e){}if(c(e,t))return o(!r.f.call(e,t),e[t])}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(43);n.n(r),n(44)},function(e,t){wp.i18n.setLocaleData({"":{}},"blocksbuster")},function(e,t,n){"use strict";var r=n(45),o=n.n(r),i=n(54),a=(n.n(i),n(55)),c=(n.n(a),n(56)),u=n.n(c),l=n(57),s=n(58),f=n(98),p=wp.i18n.__,b=wp.blocks.registerBlockType,m=wp.hooks,d=m.applyFilters,y=(m.doAction,m.addFilter,wp.element.Fragment),v=wp.editor,h=v.RichText,g=v.MediaUpload,w=(v.BlockControls,v.BlockAlignmentToolbar,wp.components.Button),k=["image"];b("blocksbuster/profile",{title:p("Author Profile","blocksbuster"),description:p("Profile block use to show info about users.","blocksbuster"),category:"common",icon:{src:"admin-users"},keywords:d("blocksbuster_profile_keywords",[p("Profile","blocksbuster"),p("Author","blocksbuster"),p("User","blocksbuster")]),attributes:l.a,supports:{align:["left","center","right"]},edit:function(e){var t=e.className,n=e.setAttributes,r=(e.isSelected,e.attributes),i=r.heroTitle,a=r.title,c=r.subTitle,l=r.profileContent,p=r.profileImageID,b=r.profileImageURL,m=r.profileImageALT,d=r.facebookURL,v=r.twitterURL,_=r.youtubeURL,x=r.instagramURL,E=r.headerBackgroundColor,O=r.profileBackgroundColor,S=r.borderRadius,C=r.profileFontSize,L=r.iconColor,j=r.iconBackgroundColor,N=(r.align,function(e){n({profileImageID:e.id,profileImageURL:e.url,profileImageAlt:e.alt})}),P=function(){n({imgID:0,imgURL:"",imgAlt:""})},R=u()("wpbb-card-description","wpbb-description-font-"+C);return wp.element.createElement(y,null,wp.element.createElement(s.a,o()({setAttributes:n},e)),wp.element.createElement("div",{className:t},wp.element.createElement("div",{className:"wpbb-section",style:{backgroundColor:E}},wp.element.createElement("div",{className:"wpbb-card-wrapper"},wp.element.createElement(h,{tagName:"h2",className:"wpbb-hero-title",multiline:!1,placeholder:"Let's talk togethers",onChange:function(e){return n({heroTitle:e})},value:i,keepPlaceholderOnFocus:!0}),wp.element.createElement("div",{className:"wpbb-card-profile",style:{backgroundColor:O,borderRadius:S+"px"}},wp.element.createElement("div",{className:"wpbb-card-avatar"},wp.element.createElement("a",{href:"javascript:void(0)"},wp.element.createElement(g,{title:"Upload Profile Image",onSelect:N,onRemove:P,allowedTypes:k,value:p,render:function(e){var t=e.open;return wp.element.createElement(w,{className:"button button_img_upload",onClick:t},wp.element.createElement("img",{className:"wpbb-profile-img",src:b||"https://multiversitystatic.s3.amazonaws.com/uploads/2013/02/Bruce-Wayne-Jordan-Gibson-Art-Of-The-Week.png",alt:m}))}}))),wp.element.createElement("div",{className:"wpbb-card-block"},wp.element.createElement("div",{className:"wpbb-author"},wp.element.createElement(h,{tagName:"h4",className:"wpbb-card-title",multiline:!1,placeholder:"Shahjehan Ali",onChange:function(e){return n({title:e})},formattingControls:[],keepPlaceholderOnFocus:!0,value:a}),wp.element.createElement(h,{tagName:"h6",className:"wpbb-card-category",multiline:!1,placeholder:"Front-end developer",onChange:function(e){return n({subTitle:e})},formattingControls:[],keepPlaceholderOnFocus:!0,value:c})),wp.element.createElement(h,{tagName:"div",className:R,multiline:"p",placeholder:"Be the person you are searching for. Else, be the Batman. Note to self: Always be the Batman.",onChange:function(e){return n({profileContent:e})},value:l,keepPlaceholderOnFocus:!0})),wp.element.createElement("div",{className:"wpbb-card-footer"},d&&wp.element.createElement("a",{href:d,className:"wpbb-social-link wpbb-facebook",style:{backgroundColor:j,color:L}}," ",f.a.facebook," "),v&&wp.element.createElement("a",{href:v,className:"wpbb-social-link wpbb-twitter",style:{backgroundColor:j,color:L}}," ",f.a.twitter," "),_&&wp.element.createElement("a",{href:_,className:"wpbb-social-link wpbb-youtube",style:{backgroundColor:j,color:L}}," ",f.a.youtube," "),x&&wp.element.createElement("a",{href:x,className:"wpbb-social-link wpbb-instagram",style:{backgroundColor:j,color:L}}," ",f.a.instagram," ")))))))},save:function(e){var t=e.className,n=(e.sSelected,e.attributes),r=n.heroTitle,o=n.title,i=n.subTitle,a=n.profileContent,c=n.profileImageURL,l=n.profileImageALT,s=n.facebookURL,p=n.twitterURL,b=n.youtubeURL,m=n.instagramURL,d=n.headerBackgroundColor,y=n.profileBackgroundColor,v=n.borderRadius,h=n.profileFontSize,g=n.iconBackgroundColor,w=n.iconColor,k=u()("wpbb-card-description","wpbb-description-font-"+h);return wp.element.createElement("div",{className:t},wp.element.createElement("div",{className:"wpbb-section",style:{backgroundColor:d}},wp.element.createElement("div",{className:"wpbb-card-wrapper"},wp.element.createElement("h2",{className:"wpbb-hero-title"},r),wp.element.createElement("div",{className:"wpbb-card-profile",style:{backgroundColor:y,borderRadius:v+"px"}},wp.element.createElement("div",{className:"wpbb-card-avatar"},wp.element.createElement("a",{href:"#avatar"},wp.element.createElement("img",{className:"wpbb-profile-img",src:c||"https://multiversitystatic.s3.amazonaws.com/uploads/2013/02/Bruce-Wayne-Jordan-Gibson-Art-Of-The-Week.png",alt:l}))),wp.element.createElement("div",{className:"wpbb-card-block"},wp.element.createElement("div",{className:"wpbb-author"},wp.element.createElement("h4",{className:"wpbb-card-title "},o),wp.element.createElement("h6",{className:"wpbb-card-category"},i)),wp.element.createElement("div",{className:k},a)),wp.element.createElement("div",{className:"wpbb-card-footer text-center"},s&&wp.element.createElement("a",{href:s,className:"wpbb-social-link wpb-facebook",style:{backgroundColor:g,color:w}},f.a.facebook),p&&wp.element.createElement("a",{href:p,className:"wpbb-social-link wpb-twitter",style:{backgroundColor:g,color:w}},f.a.twitter),b&&wp.element.createElement("a",{href:b,className:"wpbb-social-link wpb-youtube",style:{backgroundColor:g,color:w}},f.a.youtube),m&&wp.element.createElement("a",{href:m,className:"wpbb-social-link wpb-instagram",style:{backgroundColor:g,color:w}},f.a.instagram))))))}})},function(e,t,n){"use strict";t.__esModule=!0;var r=n(46),o=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=o.default||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}},function(e,t,n){e.exports={default:n(47),__esModule:!0}},function(e,t,n){n(48),e.exports=n(0).Object.assign},function(e,t,n){var r=n(2);r(r.S+r.F,"Object",{assign:n(50)})},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,n){"use strict";var r=n(13),o=n(23),i=n(16),a=n(24),c=n(34),u=Object.assign;e.exports=!u||n(8)(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=u({},e)[n]||Object.keys(u({},t)).join("")!=r})?function(e,t){for(var n=a(e),u=arguments.length,l=1,s=o.f,f=i.f;u>l;)for(var p,b=c(arguments[l++]),m=s?r(b).concat(s(b)):r(b),d=m.length,y=0;d>y;)f.call(b,p=m[y++])&&(n[p]=b[p]);return n}:u},function(e,t,n){var r=n(9),o=n(52),i=n(53);e.exports=function(e){return function(t,n,a){var c,u=r(t),l=o(u.length),s=i(a,l);if(e&&n!=n){for(;l>s;)if((c=u[s++])!=c)return!0}else for(;l>s;s++)if((e||s in u)&&u[s]===n)return e||s||0;return!e&&-1}}},function(e,t,n){var r=n(19),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t,n){var r=n(19),o=Math.max,i=Math.min;e.exports=function(e,t){return e=r(e),e<0?o(e+t,0):i(e,t)}},function(e,t){},function(e,t){},function(e,t,n){var r,o;/*!
|
2 |
+
Copyright (c) 2017 Jed Watson.
|
3 |
+
Licensed under the MIT License (MIT), see
|
4 |
+
http://jedwatson.github.io/classnames
|
5 |
+
*/
|
6 |
+
!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){"use strict";var r={heroTitle:{type:"sting",default:"Let's work together"},title:{type:"string",default:"Shahjehan Ali"},subTitle:{type:"string",default:"Front-end developer"},profileContent:{type:"array",selector:".wpbb-card-description",source:"children",default:"Be the person you are searching for. Else, be the Batman. Note to self: Always be the Batman."},profileAlignment:{type:"string"},profileImgURL:{type:"string",source:"attribute",attribute:"src",selector:"img"},profileImgID:{type:"number"},profileImgALT:{type:"string",source:"attribute",attribute:"alt",selector:"img"},headerBackgroundColor:{type:"string"},profileBackgroundColor:{type:"string",default:"#f2f2f2"},profileTextColor:{type:"string",default:"#32373c"},iconColor:{type:"string",default:"#fff"},iconBackgroundColor:{type:"string",default:"#534f57"},profileFontSize:{type:"number",default:16},borderRadius:{type:"number",default:12},twitterURL:{type:"url",default:"#"},facebookURL:{type:"url",default:"#"},instagramURL:{type:"url",default:"#"},youtubeURL:{type:"url",default:"#"},align:{type:"string",default:"center"}};t.a=r},function(e,t,n){"use strict";var r=n(59),o=n.n(r),i=n(63),a=n.n(i),c=n(64),u=n.n(c),l=n(68),s=n.n(l),f=n(90),p=n.n(f),b=wp.i18n.__,m=wp.element.Component,d=wp.editor,y=d.InspectorControls,v=d.PanelColorSettings,h=(d.BlockControls,d.BlockAlignmentToolbar,wp.components),g=h.PanelBody,w=h.PanelRow,k=h.RangeControl,_=h.TextControl,x=function(e){function t(){return a()(this,t),s()(this,(t.__proto__||o()(t)).apply(this,arguments))}return p()(t,e),u()(t,[{key:"render",value:function(){var e=this.props,t=e.attributes,n=(t.headerBackgroundColor,t.profileBackgroundColor),r=(t.profileTextColor,t.iconColor),o=t.iconBackgroundColor,i=t.profileFontSize,a=t.borderRadius,c=t.twitterURL,u=t.facebookURL,l=t.instagramURL,s=t.youtubeURL,f=e.setAttributes;return wp.element.createElement(y,null,wp.element.createElement(g,null,wp.element.createElement(k,{label:b("Font Size","blockbuster"),value:i,onChange:function(e){return f({profileFontSize:e})},min:1,max:25})),wp.element.createElement(g,null,wp.element.createElement(k,{label:b("Border Radius","blockbuster"),value:a,onChange:function(e){return f({borderRadius:e})},min:0,max:100})),wp.element.createElement(v,{initialOpen:!1,title:b("Color Settings","blocksbuster"),colorSettings:[{value:n,onChange:function(e){f({profileBackgroundColor:e})},label:b("Body Color","blocksbuster")}]}),wp.element.createElement(v,{initialOpen:!1,title:b("Social Icon Color Settings","blocksbuster"),colorSettings:[{value:r,onChange:function(e){f({iconColor:e})},label:b("Icon Color","blocksbuster")},{value:o,onChange:function(e){f({iconBackgroundColor:e})},label:b("Background Color","blocksbuster")}]}),wp.element.createElement(g,{title:"Social Links",initialOpen:!1},wp.element.createElement(w,null,"Add links to your social profile."),wp.element.createElement(_,{label:b("Facebook URL","blocksbuster"),value:u,onChange:function(e){return f({facebookURL:e})}}),wp.element.createElement(_,{label:b("Twitter URL","blocksbuster"),value:c,onChange:function(e){return f({twitterURL:e})}}),wp.element.createElement(_,{label:b("Instagram URL","blocksbuster"),value:l,onChange:function(e){return f({instagramURL:e})}}),wp.element.createElement(_,{label:b("Youtube URL","blocksbuster"),value:s,onChange:function(e){return f({youtubeURL:e})}})))}}]),t}(m);t.a=x},function(e,t,n){e.exports={default:n(60),__esModule:!0}},function(e,t,n){n(61),e.exports=n(0).Object.getPrototypeOf},function(e,t,n){var r=n(24),o=n(36);n(62)("getPrototypeOf",function(){return function(e){return o(r(e))}})},function(e,t,n){var r=n(2),o=n(0),i=n(8);e.exports=function(e,t){var n=(o.Object||{})[e]||Object[e],a={};a[e]=t(n),r(r.S+r.F*i(function(){n(1)}),"Object",a)}},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(65),o=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),(0,o.default)(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()},function(e,t,n){e.exports={default:n(66),__esModule:!0}},function(e,t,n){n(67);var r=n(0).Object;e.exports=function(e,t,n){return r.defineProperty(e,t,n)}},function(e,t,n){var r=n(2);r(r.S+r.F*!n(4),"Object",{defineProperty:n(3).f})},function(e,t,n){"use strict";t.__esModule=!0;var r=n(37),o=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==(void 0===t?"undefined":(0,o.default)(t))&&"function"!=typeof t?e:t}},function(e,t,n){e.exports={default:n(70),__esModule:!0}},function(e,t,n){n(71),n(76),e.exports=n(28).f("iterator")},function(e,t,n){"use strict";var r=n(72)(!0);n(38)(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){var r=n(19),o=n(18);e.exports=function(e){return function(t,n){var i,a,c=String(o(t)),u=r(n),l=c.length;return u<0||u>=l?e?"":void 0:(i=c.charCodeAt(u),i<55296||i>56319||u+1===l||(a=c.charCodeAt(u+1))<56320||a>57343?e?c.charAt(u):i:e?c.slice(u,u+2):a-56320+(i-55296<<10)+65536)}}},function(e,t,n){"use strict";var r=n(26),o=n(12),i=n(27),a={};n(6)(a,n(10)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:o(1,n)}),i(e,t+" Iterator")}},function(e,t,n){var r=n(3),o=n(11),i=n(13);e.exports=n(4)?Object.defineProperties:function(e,t){o(e);for(var n,a=i(t),c=a.length,u=0;c>u;)r.f(e,n=a[u++],t[n]);return e}},function(e,t,n){var r=n(1).document;e.exports=r&&r.documentElement},function(e,t,n){n(77);for(var r=n(1),o=n(6),i=n(25),a=n(10)("toStringTag"),c="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),u=0;u<c.length;u++){var l=c[u],s=r[l],f=s&&s.prototype;f&&!f[a]&&o(f,a,l),i[l]=i.Array}},function(e,t,n){"use strict";var r=n(78),o=n(79),i=n(25),a=n(9);e.exports=n(38)(Array,"Array",function(e,t){this._t=a(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,o(1)):"keys"==t?o(0,n):"values"==t?o(0,e[n]):o(0,[n,e[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(e,t){e.exports=function(){}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){e.exports={default:n(81),__esModule:!0}},function(e,t,n){n(82),n(87),n(88),n(89),e.exports=n(0).Symbol},function(e,t,n){"use strict";var r=n(1),o=n(5),i=n(4),a=n(2),c=n(39),u=n(83).KEY,l=n(8),s=n(21),f=n(27),p=n(15),b=n(10),m=n(28),d=n(29),y=n(84),v=n(85),h=n(11),g=n(7),w=n(9),k=n(17),_=n(12),x=n(26),E=n(86),O=n(41),S=n(3),C=n(13),L=O.f,j=S.f,N=E.f,P=r.Symbol,R=r.JSON,T=R&&R.stringify,M=b("_hidden"),A=b("toPrimitive"),B={}.propertyIsEnumerable,F=s("symbol-registry"),I=s("symbols"),U=s("op-symbols"),z=Object.prototype,D="function"==typeof P,G=r.QObject,V=!G||!G.prototype||!G.prototype.findChild,W=i&&l(function(){return 7!=x(j({},"a",{get:function(){return j(this,"a",{value:7}).a}})).a})?function(e,t,n){var r=L(z,t);r&&delete z[t],j(e,t,n),r&&e!==z&&j(z,t,r)}:j,H=function(e){var t=I[e]=x(P.prototype);return t._k=e,t},J=D&&"symbol"==typeof P.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof P},K=function(e,t,n){return e===z&&K(U,t,n),h(e),t=k(t,!0),h(n),o(I,t)?(n.enumerable?(o(e,M)&&e[M][t]&&(e[M][t]=!1),n=x(n,{enumerable:_(0,!1)})):(o(e,M)||j(e,M,_(1,{})),e[M][t]=!0),W(e,t,n)):j(e,t,n)},Y=function(e,t){h(e);for(var n,r=y(t=w(t)),o=0,i=r.length;i>o;)K(e,n=r[o++],t[n]);return e},q=function(e,t){return void 0===t?x(e):Y(x(e),t)},Q=function(e){var t=B.call(this,e=k(e,!0));return!(this===z&&o(I,e)&&!o(U,e))&&(!(t||!o(this,e)||!o(I,e)||o(this,M)&&this[M][e])||t)},X=function(e,t){if(e=w(e),t=k(t,!0),e!==z||!o(I,t)||o(U,t)){var n=L(e,t);return!n||!o(I,t)||o(e,M)&&e[M][t]||(n.enumerable=!0),n}},Z=function(e){for(var t,n=N(w(e)),r=[],i=0;n.length>i;)o(I,t=n[i++])||t==M||t==u||r.push(t);return r},$=function(e){for(var t,n=e===z,r=N(n?U:w(e)),i=[],a=0;r.length>a;)!o(I,t=r[a++])||n&&!o(z,t)||i.push(I[t]);return i};D||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var e=p(arguments.length>0?arguments[0]:void 0),t=function(n){this===z&&t.call(U,n),o(this,M)&&o(this[M],e)&&(this[M][e]=!1),W(this,e,_(1,n))};return i&&V&&W(z,e,{configurable:!0,set:t}),H(e)},c(P.prototype,"toString",function(){return this._k}),O.f=X,S.f=K,n(40).f=E.f=Z,n(16).f=Q,n(23).f=$,i&&!n(14)&&c(z,"propertyIsEnumerable",Q,!0),m.f=function(e){return H(b(e))}),a(a.G+a.W+a.F*!D,{Symbol:P});for(var ee="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),te=0;ee.length>te;)b(ee[te++]);for(var ne=C(b.store),re=0;ne.length>re;)d(ne[re++]);a(a.S+a.F*!D,"Symbol",{for:function(e){return o(F,e+="")?F[e]:F[e]=P(e)},keyFor:function(e){if(!J(e))throw TypeError(e+" is not a symbol!");for(var t in F)if(F[t]===e)return t},useSetter:function(){V=!0},useSimple:function(){V=!1}}),a(a.S+a.F*!D,"Object",{create:q,defineProperty:K,defineProperties:Y,getOwnPropertyDescriptor:X,getOwnPropertyNames:Z,getOwnPropertySymbols:$}),R&&a(a.S+a.F*(!D||l(function(){var e=P();return"[null]"!=T([e])||"{}"!=T({a:e})||"{}"!=T(Object(e))})),"JSON",{stringify:function(e){for(var t,n,r=[e],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=t=r[1],(g(t)||void 0!==e)&&!J(e))return v(t)||(t=function(e,t){if("function"==typeof n&&(t=n.call(this,e,t)),!J(t))return t}),r[1]=t,T.apply(R,r)}}),P.prototype[A]||n(6)(P.prototype,A,P.prototype.valueOf),f(P,"Symbol"),f(Math,"Math",!0),f(r.JSON,"JSON",!0)},function(e,t,n){var r=n(15)("meta"),o=n(7),i=n(5),a=n(3).f,c=0,u=Object.isExtensible||function(){return!0},l=!n(8)(function(){return u(Object.preventExtensions({}))}),s=function(e){a(e,r,{value:{i:"O"+ ++c,w:{}}})},f=function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,r)){if(!u(e))return"F";if(!t)return"E";s(e)}return e[r].i},p=function(e,t){if(!i(e,r)){if(!u(e))return!0;if(!t)return!1;s(e)}return e[r].w},b=function(e){return l&&m.NEED&&u(e)&&!i(e,r)&&s(e),e},m=e.exports={KEY:r,NEED:!1,fastKey:f,getWeak:p,onFreeze:b}},function(e,t,n){var r=n(13),o=n(23),i=n(16);e.exports=function(e){var t=r(e),n=o.f;if(n)for(var a,c=n(e),u=i.f,l=0;c.length>l;)u.call(e,a=c[l++])&&t.push(a);return t}},function(e,t,n){var r=n(35);e.exports=Array.isArray||function(e){return"Array"==r(e)}},function(e,t,n){var r=n(9),o=n(40).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(e){try{return o(e)}catch(e){return a.slice()}};e.exports.f=function(e){return a&&"[object Window]"==i.call(e)?c(e):o(r(e))}},function(e,t){},function(e,t,n){n(29)("asyncIterator")},function(e,t,n){n(29)("observable")},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(91),i=r(o),a=n(95),c=r(a),u=n(37),l=r(u);t.default=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":(0,l.default)(t)));e.prototype=(0,c.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(i.default?(0,i.default)(e,t):e.__proto__=t)}},function(e,t,n){e.exports={default:n(92),__esModule:!0}},function(e,t,n){n(93),e.exports=n(0).Object.setPrototypeOf},function(e,t,n){var r=n(2);r(r.S,"Object",{setPrototypeOf:n(94).set})},function(e,t,n){var r=n(7),o=n(11),i=function(e,t){if(o(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{r=n(30)(Function.call,n(41).f(Object.prototype,"__proto__").set,2),r(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return i(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:i}},function(e,t,n){e.exports={default:n(96),__esModule:!0}},function(e,t,n){n(97);var r=n(0).Object;e.exports=function(e,t){return r.create(e,t)}},function(e,t,n){var r=n(2);r(r.S,"Object",{create:n(26)})},function(e,t,n){"use strict";var r={facebook:wp.element.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 264 512"},wp.element.createElement("path",{fill:"currentColor",d:"M215.8 85H264V3.6C255.7 2.5 227.1 0 193.8 0 124.3 0 76.7 42.4 76.7 120.3V192H0v91h76.7v229h94V283h73.6l11.7-91h-85.3v-62.7c0-26.3 7.3-44.3 45.1-44.3z",class:""})),twitter:wp.element.createElement("svg",{viewBox:"0 0 512 512"},wp.element.createElement("path",{fill:"currentColor",d:"M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"})),instagram:wp.element.createElement("svg",{viewBox:"0 0 448 512",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{fill:"currentColor",d:"M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"})),youtube:wp.element.createElement("svg",{viewBox:"0 0 576 512"},wp.element.createElement("path",{fill:"currentColor",d:"M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"}))};t.a=r}]);
|
assets/js/frontend.blocks.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
!function(n){function e(t){if(r[t])return r[t].exports;var o=r[t]={i:t,l:!1,exports:{}};return n[t].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var r={};e.m=n,e.c=r,e.d=function(n,r,t){e.o(n,r)||Object.defineProperty(n,r,{configurable:!1,enumerable:!0,get:t})},e.n=function(n){var r=n&&n.__esModule?function(){return n.default}:function(){return n};return e.d(r,"a",r),r},e.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},e.p="",e(e.s=99)}({99:function(n,e){console.log("Frontend Block JS")}});
|
blocks-buster.php
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plugin Name: BlocksBuster
|
4 |
+
* Description: A Family of Gutenberg Blocks
|
5 |
+
* Version: 0.0.1
|
6 |
+
* Author: WPBrigade
|
7 |
+
* Author URI: https://wpbrigade.com/
|
8 |
+
* Text Domain: blocksbuster
|
9 |
+
* Domain Path: /languages
|
10 |
+
* License: GPL2+
|
11 |
+
* License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
12 |
+
*/
|
13 |
+
|
14 |
+
namespace Blocks_Buster;
|
15 |
+
|
16 |
+
// Exit if accessed directly.
|
17 |
+
defined( 'ABSPATH' ) || exit;
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Gets this plugin's absolute directory path.
|
21 |
+
*
|
22 |
+
* @since 0.0.1
|
23 |
+
* @ignore
|
24 |
+
* @access private
|
25 |
+
*
|
26 |
+
* @return string
|
27 |
+
*/
|
28 |
+
function _get_plugin_directory() {
|
29 |
+
return __DIR__;
|
30 |
+
}
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Gets this plugin's URL.
|
34 |
+
*
|
35 |
+
* @since 0.0.1
|
36 |
+
* @ignore
|
37 |
+
* @access private
|
38 |
+
*
|
39 |
+
* @return string
|
40 |
+
*/
|
41 |
+
function _get_plugin_url() {
|
42 |
+
static $plugin_url;
|
43 |
+
|
44 |
+
if ( empty( $plugin_url ) ) {
|
45 |
+
$plugin_url = plugins_url( null, __FILE__ );
|
46 |
+
}
|
47 |
+
|
48 |
+
return $plugin_url;
|
49 |
+
}
|
50 |
+
|
51 |
+
// Enqueue JS and CSS
|
52 |
+
require __DIR__ . '/lib/enqueue-scripts.php';
|
53 |
+
|
blocks/frontend.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
console.log( 'Frontend Block JS' );
|
blocks/i18n.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
wp.i18n.setLocaleData({ '': {} }, 'blocksbuster' );
|
blocks/index.js
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import "./i18n.js";
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Import example blocks
|
5 |
+
*/
|
6 |
+
import "./profile";
|
blocks/profile/editor.scss
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.button.button_img_upload{
|
2 |
+
height:auto;
|
3 |
+
padding:0;
|
4 |
+
border:0;
|
5 |
+
}
|
blocks/profile/index.js
ADDED
@@ -0,0 +1,290 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Block dependencies
|
3 |
+
*/
|
4 |
+
//import icon from './icon';
|
5 |
+
import './style.scss';
|
6 |
+
import './editor.scss';
|
7 |
+
import classnames from 'classnames';
|
8 |
+
import schema from './schema';
|
9 |
+
import Inspector from './inspector';
|
10 |
+
import socialIcons from './sicons';
|
11 |
+
/**
|
12 |
+
* Internal block libraries
|
13 |
+
*/
|
14 |
+
const { __ } = wp.i18n;
|
15 |
+
const { registerBlockType } = wp.blocks;
|
16 |
+
const {
|
17 |
+
applyFilters,
|
18 |
+
doAction,
|
19 |
+
addFilter
|
20 |
+
} = wp.hooks;
|
21 |
+
const { Fragment } = wp.element;
|
22 |
+
const{
|
23 |
+
RichText,
|
24 |
+
MediaUpload,
|
25 |
+
BlockControls,
|
26 |
+
BlockAlignmentToolbar,
|
27 |
+
} = wp.editor;
|
28 |
+
|
29 |
+
const { Button } = wp.components;
|
30 |
+
const ALLOWED_MEDIA_TYPES = ['image'];
|
31 |
+
|
32 |
+
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Register block
|
36 |
+
*/
|
37 |
+
export default registerBlockType(
|
38 |
+
'blocksbuster/profile',
|
39 |
+
{
|
40 |
+
title: __('Author Profile', 'blocksbuster'),
|
41 |
+
description: __('Profile block use to show info about users.', 'blocksbuster'),
|
42 |
+
category: 'common',
|
43 |
+
icon: {
|
44 |
+
src: 'admin-users',
|
45 |
+
},
|
46 |
+
keywords: applyFilters('blocksbuster_profile_keywords' ,[
|
47 |
+
__('Profile', 'blocksbuster'),
|
48 |
+
__('Author', 'blocksbuster'),
|
49 |
+
__('User', 'blocksbuster'),
|
50 |
+
]),
|
51 |
+
attributes: schema,
|
52 |
+
supports:{
|
53 |
+
align: ['left', 'center', 'right']
|
54 |
+
},
|
55 |
+
edit: props => {
|
56 |
+
const {
|
57 |
+
className,
|
58 |
+
setAttributes ,
|
59 |
+
isSelected } = props;
|
60 |
+
|
61 |
+
const {
|
62 |
+
heroTitle,
|
63 |
+
title,
|
64 |
+
subTitle,
|
65 |
+
profileContent,
|
66 |
+
profileImageID,
|
67 |
+
profileImageURL,
|
68 |
+
profileImageALT,
|
69 |
+
facebookURL,
|
70 |
+
twitterURL,
|
71 |
+
youtubeURL,
|
72 |
+
instagramURL,
|
73 |
+
headerBackgroundColor,
|
74 |
+
profileBackgroundColor,
|
75 |
+
borderRadius,
|
76 |
+
profileFontSize,
|
77 |
+
iconColor,
|
78 |
+
iconBackgroundColor,
|
79 |
+
align
|
80 |
+
|
81 |
+
} = props.attributes;
|
82 |
+
|
83 |
+
const onSelectImage = img => {
|
84 |
+
setAttributes({
|
85 |
+
profileImageID: img.id,
|
86 |
+
profileImageURL: img.url,
|
87 |
+
profileImageAlt: img.alt
|
88 |
+
});
|
89 |
+
};
|
90 |
+
const onRemoveImage = () => {
|
91 |
+
setAttributes({
|
92 |
+
imgID: 0,
|
93 |
+
imgURL: '',
|
94 |
+
imgAlt: '',
|
95 |
+
});
|
96 |
+
};
|
97 |
+
const descriptionClasses = classnames( 'wpbb-card-description', `wpbb-description-font-${profileFontSize}` );
|
98 |
+
return <Fragment>
|
99 |
+
<Inspector {...{ setAttributes, ...props }} />
|
100 |
+
<div className={className}>
|
101 |
+
<div className="wpbb-section" style={ {
|
102 |
+
backgroundColor : headerBackgroundColor,
|
103 |
+
}}>
|
104 |
+
<div className="wpbb-card-wrapper">
|
105 |
+
<RichText tagName="h2" className={"wpbb-hero-title"} multiline={false} placeholder={"Let's talk togethers"} onChange={title => setAttributes(
|
106 |
+
{ heroTitle: title }
|
107 |
+
)} value={heroTitle} keepPlaceholderOnFocus />
|
108 |
+
<div className="wpbb-card-profile"
|
109 |
+
style={{
|
110 |
+
backgroundColor: profileBackgroundColor ,
|
111 |
+
borderRadius: `${borderRadius}px`
|
112 |
+
}}>
|
113 |
+
<div className="wpbb-card-avatar">
|
114 |
+
<a href="javascript:void(0)">
|
115 |
+
<MediaUpload
|
116 |
+
title={"Upload Profile Image"}
|
117 |
+
onSelect={onSelectImage}
|
118 |
+
onRemove={onRemoveImage}
|
119 |
+
allowedTypes={ALLOWED_MEDIA_TYPES}
|
120 |
+
value={profileImageID}
|
121 |
+
render={({ open }) => <Button className={"button button_img_upload"} onClick={open}>
|
122 |
+
{<img className="wpbb-profile-img" src={profileImageURL ? profileImageURL : "https://multiversitystatic.s3.amazonaws.com/uploads/2013/02/Bruce-Wayne-Jordan-Gibson-Art-Of-The-Week.png"} alt={profileImageALT} />}
|
123 |
+
</Button>} />
|
124 |
+
</a>
|
125 |
+
</div>
|
126 |
+
<div className="wpbb-card-block">
|
127 |
+
<div className="wpbb-author">
|
128 |
+
<RichText
|
129 |
+
tagName="h4"
|
130 |
+
className={"wpbb-card-title"}
|
131 |
+
multiline={false}
|
132 |
+
placeholder={"Shahjehan Ali"}
|
133 |
+
onChange={title => setAttributes({ title } )}
|
134 |
+
formattingControls={[]}
|
135 |
+
keepPlaceholderOnFocus value={title} />
|
136 |
+
<RichText
|
137 |
+
tagName="h6"
|
138 |
+
className={"wpbb-card-category"}
|
139 |
+
multiline={false}
|
140 |
+
placeholder={"Front-end developer"}
|
141 |
+
onChange={subTitle => setAttributes(
|
142 |
+
{ subTitle }
|
143 |
+
)}
|
144 |
+
formattingControls={[]}
|
145 |
+
keepPlaceholderOnFocus
|
146 |
+
value={subTitle} />
|
147 |
+
</div>
|
148 |
+
|
149 |
+
<RichText
|
150 |
+
tagName="div"
|
151 |
+
className={descriptionClasses}
|
152 |
+
multiline="p"
|
153 |
+
placeholder={"Be the person you are searching for. Else, be the Batman. Note to self: Always be the Batman."}
|
154 |
+
onChange={profileContent => setAttributes(
|
155 |
+
{ profileContent }
|
156 |
+
)}
|
157 |
+
value={profileContent} keepPlaceholderOnFocus />
|
158 |
+
</div>
|
159 |
+
<div className="wpbb-card-footer">
|
160 |
+
{facebookURL && <a href={facebookURL} className="wpbb-social-link wpbb-facebook" style={{ backgroundColor: iconBackgroundColor , color:iconColor}}> {socialIcons.facebook} </a>}
|
161 |
+
{twitterURL && <a href={twitterURL} className="wpbb-social-link wpbb-twitter" style={{ backgroundColor: iconBackgroundColor, color: iconColor }}> {socialIcons.twitter} </a>}
|
162 |
+
{youtubeURL && <a href={youtubeURL} className="wpbb-social-link wpbb-youtube" style={{ backgroundColor: iconBackgroundColor, color: iconColor }}> {socialIcons.youtube} </a>}
|
163 |
+
{instagramURL && <a href={instagramURL} className="wpbb-social-link wpbb-instagram" style={{ backgroundColor: iconBackgroundColor, color: iconColor }}> {socialIcons.instagram} </a>}
|
164 |
+
</div>
|
165 |
+
</div>
|
166 |
+
</div>
|
167 |
+
</div>
|
168 |
+
</div>
|
169 |
+
</Fragment>;
|
170 |
+
},
|
171 |
+
save: props => {
|
172 |
+
const { className, sSelected } = props;
|
173 |
+
const {
|
174 |
+
heroTitle,
|
175 |
+
title,
|
176 |
+
subTitle,
|
177 |
+
profileContent,
|
178 |
+
profileImageURL,
|
179 |
+
profileImageALT,
|
180 |
+
facebookURL,
|
181 |
+
twitterURL,
|
182 |
+
youtubeURL,
|
183 |
+
instagramURL,
|
184 |
+
headerBackgroundColor,
|
185 |
+
profileBackgroundColor,
|
186 |
+
borderRadius,
|
187 |
+
profileFontSize,
|
188 |
+
iconBackgroundColor,
|
189 |
+
iconColor
|
190 |
+
} = props.attributes;
|
191 |
+
const descriptionClasses = classnames('wpbb-card-description', `wpbb-description-font-${profileFontSize}`);
|
192 |
+
return (
|
193 |
+
<div className={className}>
|
194 |
+
<div
|
195 |
+
className="wpbb-section"
|
196 |
+
style={{
|
197 |
+
backgroundColor: headerBackgroundColor
|
198 |
+
}}
|
199 |
+
>
|
200 |
+
<div className="wpbb-card-wrapper">
|
201 |
+
<h2 className={"wpbb-hero-title"}>{heroTitle}</h2>
|
202 |
+
<div
|
203 |
+
className="wpbb-card-profile"
|
204 |
+
style={{
|
205 |
+
backgroundColor: profileBackgroundColor,
|
206 |
+
borderRadius: `${borderRadius}px`
|
207 |
+
}}
|
208 |
+
>
|
209 |
+
<div className="wpbb-card-avatar">
|
210 |
+
<a href="#avatar">
|
211 |
+
<img
|
212 |
+
className="wpbb-profile-img"
|
213 |
+
src={
|
214 |
+
profileImageURL
|
215 |
+
? profileImageURL
|
216 |
+
: "https://multiversitystatic.s3.amazonaws.com/uploads/2013/02/Bruce-Wayne-Jordan-Gibson-Art-Of-The-Week.png"
|
217 |
+
}
|
218 |
+
alt={profileImageALT}
|
219 |
+
/>
|
220 |
+
</a>
|
221 |
+
</div>
|
222 |
+
<div className="wpbb-card-block">
|
223 |
+
<div className="wpbb-author">
|
224 |
+
<h4 className={"wpbb-card-title "}>{title}</h4>
|
225 |
+
<h6 className={"wpbb-card-category"}>{subTitle}</h6>
|
226 |
+
</div>
|
227 |
+
|
228 |
+
<div className={descriptionClasses}>
|
229 |
+
{profileContent}
|
230 |
+
</div>
|
231 |
+
</div>
|
232 |
+
<div className="wpbb-card-footer text-center">
|
233 |
+
{facebookURL && (
|
234 |
+
<a
|
235 |
+
href={facebookURL}
|
236 |
+
className="wpbb-social-link wpb-facebook"
|
237 |
+
style={{
|
238 |
+
backgroundColor: iconBackgroundColor,
|
239 |
+
color: iconColor
|
240 |
+
}}
|
241 |
+
>
|
242 |
+
{socialIcons.facebook}
|
243 |
+
</a>
|
244 |
+
)}
|
245 |
+
{twitterURL && (
|
246 |
+
<a
|
247 |
+
href={twitterURL}
|
248 |
+
className="wpbb-social-link wpb-twitter"
|
249 |
+
style={{
|
250 |
+
backgroundColor: iconBackgroundColor,
|
251 |
+
color: iconColor
|
252 |
+
}}
|
253 |
+
>
|
254 |
+
|
255 |
+
{socialIcons.twitter}
|
256 |
+
</a>
|
257 |
+
)}
|
258 |
+
{youtubeURL && (
|
259 |
+
<a
|
260 |
+
href={youtubeURL}
|
261 |
+
className="wpbb-social-link wpb-youtube"
|
262 |
+
style={{
|
263 |
+
backgroundColor: iconBackgroundColor,
|
264 |
+
color: iconColor
|
265 |
+
}}
|
266 |
+
>
|
267 |
+
{socialIcons.youtube}
|
268 |
+
</a>
|
269 |
+
)}
|
270 |
+
{instagramURL && (
|
271 |
+
<a
|
272 |
+
href={instagramURL}
|
273 |
+
className="wpbb-social-link wpb-instagram"
|
274 |
+
style={{
|
275 |
+
backgroundColor: iconBackgroundColor,
|
276 |
+
color: iconColor
|
277 |
+
}}
|
278 |
+
>
|
279 |
+
{socialIcons.instagram}
|
280 |
+
</a>
|
281 |
+
)}
|
282 |
+
</div>
|
283 |
+
</div>
|
284 |
+
</div>
|
285 |
+
</div>
|
286 |
+
</div>
|
287 |
+
);
|
288 |
+
}
|
289 |
+
}
|
290 |
+
);
|
blocks/profile/inspector.js
ADDED
@@ -0,0 +1,132 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Internal block libraries
|
3 |
+
*/
|
4 |
+
const { __ } = wp.i18n;
|
5 |
+
const { Component } = wp.element;
|
6 |
+
const {
|
7 |
+
InspectorControls,
|
8 |
+
PanelColorSettings,
|
9 |
+
BlockControls,
|
10 |
+
BlockAlignmentToolbar
|
11 |
+
} = wp.editor;
|
12 |
+
|
13 |
+
const {
|
14 |
+
PanelBody,
|
15 |
+
PanelRow,
|
16 |
+
RangeControl,
|
17 |
+
TextControl,
|
18 |
+
} = wp.components;
|
19 |
+
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Create an Inspector Controls wrapper Component
|
23 |
+
*/
|
24 |
+
export default class Inspector extends Component {
|
25 |
+
|
26 |
+
constructor(){
|
27 |
+
super( ...arguments)
|
28 |
+
}
|
29 |
+
render(){
|
30 |
+
const {
|
31 |
+
attributes: {
|
32 |
+
headerBackgroundColor,
|
33 |
+
profileBackgroundColor,
|
34 |
+
profileTextColor,
|
35 |
+
iconColor,
|
36 |
+
iconBackgroundColor,
|
37 |
+
profileFontSize,
|
38 |
+
borderRadius,
|
39 |
+
twitterURL,
|
40 |
+
facebookURL,
|
41 |
+
instagramURL,
|
42 |
+
youtubeURL
|
43 |
+
},
|
44 |
+
setAttributes
|
45 |
+
} = this.props;
|
46 |
+
|
47 |
+
return (
|
48 |
+
|
49 |
+
<InspectorControls>
|
50 |
+
<PanelBody>
|
51 |
+
<RangeControl
|
52 |
+
label={__("Font Size", "blockbuster")}
|
53 |
+
value={profileFontSize}
|
54 |
+
onChange={profileFontSize => setAttributes({ profileFontSize })}
|
55 |
+
min={1}
|
56 |
+
max={25}
|
57 |
+
/>
|
58 |
+
</PanelBody>
|
59 |
+
<PanelBody>
|
60 |
+
<RangeControl
|
61 |
+
label={__("Border Radius", "blockbuster")}
|
62 |
+
value={borderRadius}
|
63 |
+
onChange={borderRadius => setAttributes({ borderRadius })}
|
64 |
+
min={0}
|
65 |
+
max={100}
|
66 |
+
/>
|
67 |
+
</PanelBody>
|
68 |
+
<PanelColorSettings
|
69 |
+
initialOpen={false}
|
70 |
+
title={__("Color Settings", "blocksbuster")}
|
71 |
+
colorSettings={[
|
72 |
+
|
73 |
+
{
|
74 |
+
value: profileBackgroundColor,
|
75 |
+
onChange: profileBackgroundColor => {
|
76 |
+
setAttributes({ profileBackgroundColor });
|
77 |
+
},
|
78 |
+
label: __("Body Color", "blocksbuster")
|
79 |
+
}
|
80 |
+
|
81 |
+
]}
|
82 |
+
/>
|
83 |
+
<PanelColorSettings
|
84 |
+
initialOpen={false}
|
85 |
+
title={__("Social Icon Color Settings", "blocksbuster")}
|
86 |
+
colorSettings={[
|
87 |
+
{
|
88 |
+
value: iconColor,
|
89 |
+
onChange: iconColor => {
|
90 |
+
setAttributes({ iconColor });
|
91 |
+
},
|
92 |
+
label: __("Icon Color", "blocksbuster")
|
93 |
+
},
|
94 |
+
{
|
95 |
+
value: iconBackgroundColor,
|
96 |
+
onChange: iconBackgroundColor => {
|
97 |
+
setAttributes({ iconBackgroundColor });
|
98 |
+
},
|
99 |
+
label: __("Background Color", "blocksbuster")
|
100 |
+
}
|
101 |
+
]}
|
102 |
+
/>
|
103 |
+
<PanelBody title={"Social Links"} initialOpen={false}>
|
104 |
+
<PanelRow>Add links to your social profile.</PanelRow>
|
105 |
+
<TextControl
|
106 |
+
label={__("Facebook URL", "blocksbuster")}
|
107 |
+
value={facebookURL}
|
108 |
+
onChange={facebook => setAttributes({ facebookURL: facebook })}
|
109 |
+
/>
|
110 |
+
<TextControl
|
111 |
+
label={__("Twitter URL", "blocksbuster")}
|
112 |
+
value={twitterURL}
|
113 |
+
onChange={twitter => setAttributes({ twitterURL: twitter })}
|
114 |
+
/>
|
115 |
+
<TextControl
|
116 |
+
label={__("Instagram URL", "blocksbuster")}
|
117 |
+
value={instagramURL}
|
118 |
+
onChange={instagram =>
|
119 |
+
setAttributes({ instagramURL: instagram })
|
120 |
+
}
|
121 |
+
/>
|
122 |
+
<TextControl
|
123 |
+
label={__("Youtube URL", "blocksbuster")}
|
124 |
+
value={youtubeURL}
|
125 |
+
onChange={youtube => setAttributes({ youtubeURL: youtube })}
|
126 |
+
/>
|
127 |
+
</PanelBody>
|
128 |
+
</InspectorControls>
|
129 |
+
);
|
130 |
+
}
|
131 |
+
|
132 |
+
}
|
blocks/profile/schema.js
ADDED
@@ -0,0 +1,94 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* @package BlocksBuster
|
3 |
+
* @since 0.0.1
|
4 |
+
*
|
5 |
+
*/
|
6 |
+
|
7 |
+
const profileSchema = {
|
8 |
+
heroTitle: {
|
9 |
+
type: "sting",
|
10 |
+
default:"Let's work together"
|
11 |
+
},
|
12 |
+
title: {
|
13 |
+
type: "string",
|
14 |
+
default: "Shahjehan Ali"
|
15 |
+
},
|
16 |
+
subTitle: {
|
17 |
+
type: "string",
|
18 |
+
default: "Front-end developer"
|
19 |
+
},
|
20 |
+
profileContent: {
|
21 |
+
type: "array",
|
22 |
+
selector: ".wpbb-card-description",
|
23 |
+
source: "children",
|
24 |
+
default: "Be the person you are searching for. Else, be the Batman. Note to self: Always be the Batman."
|
25 |
+
|
26 |
+
},
|
27 |
+
profileAlignment: {
|
28 |
+
type: "string"
|
29 |
+
},
|
30 |
+
profileImgURL: {
|
31 |
+
type: "string",
|
32 |
+
source: "attribute",
|
33 |
+
attribute: "src",
|
34 |
+
selector: "img"
|
35 |
+
},
|
36 |
+
profileImgID: {
|
37 |
+
type: "number"
|
38 |
+
},
|
39 |
+
profileImgALT: {
|
40 |
+
type: "string",
|
41 |
+
source: "attribute",
|
42 |
+
attribute: "alt",
|
43 |
+
selector: "img"
|
44 |
+
},
|
45 |
+
headerBackgroundColor: {
|
46 |
+
type: "string"
|
47 |
+
},
|
48 |
+
profileBackgroundColor: {
|
49 |
+
type: "string",
|
50 |
+
default: "#f2f2f2"
|
51 |
+
},
|
52 |
+
profileTextColor: {
|
53 |
+
type: "string",
|
54 |
+
default: "#32373c"
|
55 |
+
},
|
56 |
+
iconColor: {
|
57 |
+
type: "string",
|
58 |
+
default: "#fff"
|
59 |
+
},
|
60 |
+
iconBackgroundColor: {
|
61 |
+
type: "string",
|
62 |
+
default: "#534f57"
|
63 |
+
},
|
64 |
+
profileFontSize: {
|
65 |
+
type: "number",
|
66 |
+
default: 16
|
67 |
+
},
|
68 |
+
borderRadius: {
|
69 |
+
type: "number",
|
70 |
+
default: 12
|
71 |
+
},
|
72 |
+
twitterURL: {
|
73 |
+
type: "url",
|
74 |
+
default: "#"
|
75 |
+
},
|
76 |
+
facebookURL: {
|
77 |
+
type: "url",
|
78 |
+
default: "#"
|
79 |
+
},
|
80 |
+
instagramURL: {
|
81 |
+
type: "url",
|
82 |
+
default: "#"
|
83 |
+
},
|
84 |
+
youtubeURL: {
|
85 |
+
type: "url",
|
86 |
+
default: "#"
|
87 |
+
},
|
88 |
+
align: {
|
89 |
+
type: 'string',
|
90 |
+
default: 'center'
|
91 |
+
},
|
92 |
+
};
|
93 |
+
|
94 |
+
export default profileSchema;
|
blocks/profile/sicons.js
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
const socialIcons = {
|
2 |
+
facebook: (
|
3 |
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512">
|
4 |
+
<path
|
5 |
+
fill="currentColor"
|
6 |
+
d="M215.8 85H264V3.6C255.7 2.5 227.1 0 193.8 0 124.3 0 76.7 42.4 76.7 120.3V192H0v91h76.7v229h94V283h73.6l11.7-91h-85.3v-62.7c0-26.3 7.3-44.3 45.1-44.3z"
|
7 |
+
class=""
|
8 |
+
/>
|
9 |
+
</svg>
|
10 |
+
),
|
11 |
+
twitter: (
|
12 |
+
<svg viewBox="0 0 512 512">
|
13 |
+
<path
|
14 |
+
fill="currentColor"
|
15 |
+
d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"
|
16 |
+
/>
|
17 |
+
</svg>
|
18 |
+
),
|
19 |
+
instagram: (
|
20 |
+
<svg
|
21 |
+
viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg" >
|
22 |
+
<path
|
23 |
+
fill="currentColor"
|
24 |
+
d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"
|
25 |
+
/>
|
26 |
+
</svg>
|
27 |
+
),
|
28 |
+
youtube: (
|
29 |
+
<svg viewBox="0 0 576 512">
|
30 |
+
<path
|
31 |
+
fill="currentColor"
|
32 |
+
d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"
|
33 |
+
/>
|
34 |
+
</svg>
|
35 |
+
)
|
36 |
+
};
|
37 |
+
|
38 |
+
export default socialIcons;
|
blocks/profile/style.scss
ADDED
@@ -0,0 +1,94 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
$white: #fff;
|
2 |
+
$black: #000;
|
3 |
+
$blue: #ff0000;
|
4 |
+
$grey: #f2f2f2;
|
5 |
+
$class-slug: wpbb-description-font !default;
|
6 |
+
.wp-block-blocksbuster-profile{
|
7 |
+
.wpbb-section{
|
8 |
+
padding: 0 20px;
|
9 |
+
}
|
10 |
+
.wpbb-hero-title{
|
11 |
+
margin: 0;
|
12 |
+
padding: 25px 0 100px;
|
13 |
+
text-align: center;
|
14 |
+
text-align: center;
|
15 |
+
&::before{
|
16 |
+
display: none;
|
17 |
+
}
|
18 |
+
}
|
19 |
+
.wpbb-card-profile{
|
20 |
+
position: relative;
|
21 |
+
display: -webkit-box;
|
22 |
+
display: -webkit-flex;
|
23 |
+
display: -ms-flexbox;
|
24 |
+
display: flex;
|
25 |
+
-webkit-box-orient: vertical;
|
26 |
+
-webkit-box-direction: normal;
|
27 |
+
-webkit-flex-direction: column;
|
28 |
+
-ms-flex-direction: column;
|
29 |
+
flex-direction: column;
|
30 |
+
background-color: $grey;
|
31 |
+
border: 1px solid rgba($black,.125);
|
32 |
+
border-radius: .25rem;
|
33 |
+
box-shadow: 0px 12px 19px -7px rgba($black,.3);
|
34 |
+
transform: translateY(-10px);
|
35 |
+
-webkit-transform: translateY(-10px);
|
36 |
+
width: 400px;
|
37 |
+
max-width: 100%;
|
38 |
+
margin: 0 auto;
|
39 |
+
}
|
40 |
+
.wpbb-card-avatar {
|
41 |
+
max-width: 120px;
|
42 |
+
max-height: 120px;
|
43 |
+
margin: -60px auto 0;
|
44 |
+
border-radius: 50%;
|
45 |
+
overflow: hidden;
|
46 |
+
}
|
47 |
+
.wpbb-card-block {
|
48 |
+
-webkit-box-flex: 1;
|
49 |
+
-webkit-flex: 1 1 auto;
|
50 |
+
-ms-flex: 1 1 auto;
|
51 |
+
flex: 1 1 auto;
|
52 |
+
padding: 1.25rem;
|
53 |
+
text-align: center;
|
54 |
+
}
|
55 |
+
|
56 |
+
.wpb-card-footer{
|
57 |
+
text-align: center;
|
58 |
+
}
|
59 |
+
.wpbb-card-description p{
|
60 |
+
margin: 0;
|
61 |
+
}
|
62 |
+
@for $i from 1 through 30{
|
63 |
+
.#{$class-slug}-#{$i}{
|
64 |
+
font-size: 0px + $i
|
65 |
+
}
|
66 |
+
}
|
67 |
+
.wpbb-social-link{
|
68 |
+
width: 40px;
|
69 |
+
height: 40px;
|
70 |
+
color: $white;
|
71 |
+
background: #767676;
|
72 |
+
border-radius: 50%;
|
73 |
+
-webkit-border-radius: 50%;
|
74 |
+
display: inline-flex;
|
75 |
+
vertical-align: top;
|
76 |
+
margin: 0 5px;
|
77 |
+
line-height: 40px;
|
78 |
+
text-align: center;
|
79 |
+
align-content: center;
|
80 |
+
justify-content: center;
|
81 |
+
align-items: center;
|
82 |
+
svg{
|
83 |
+
height: 20px;
|
84 |
+
width: 20px;
|
85 |
+
}
|
86 |
+
}
|
87 |
+
.wpbb-card-footer{
|
88 |
+
text-align: center;
|
89 |
+
padding-bottom: 25px;
|
90 |
+
}
|
91 |
+
.button_img_upload{
|
92 |
+
border: 0;
|
93 |
+
}
|
94 |
+
}
|
blocks/profile/utils.js
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Utils function for Profile Block
|
3 |
+
*/
|
4 |
+
|
5 |
+
export const onSelectImage = image => {
|
6 |
+
setAttributes({
|
7 |
+
profileImgURL: image.url,
|
8 |
+
profileImgID: image.id,
|
9 |
+
profileImgALT: image.alt,
|
10 |
+
})
|
11 |
+
};
|
12 |
+
|
13 |
+
export const onRemoveImage = image => {
|
14 |
+
setAttributes({
|
15 |
+
profileImgURL: image.url,
|
16 |
+
profileImgID: image.id,
|
17 |
+
profileImgALT: image.alt
|
18 |
+
});
|
19 |
+
};
|
20 |
+
|
21 |
+
|
lib/enqueue-scripts.php
ADDED
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Blocks_Buster;
|
4 |
+
|
5 |
+
add_action( 'enqueue_block_editor_assets', __NAMESPACE__ . '\enqueue_block_editor_assets' );
|
6 |
+
/**
|
7 |
+
* Enqueue block editor only JavaScript and CSS.
|
8 |
+
*/
|
9 |
+
function enqueue_block_editor_assets() {
|
10 |
+
// Make paths variables so we don't write em twice ;)
|
11 |
+
$block_path = '/assets/js/editor.blocks.js';
|
12 |
+
$style_path = '/assets/css/blocks.editor.css';
|
13 |
+
|
14 |
+
// Enqueue the bundled block JS file
|
15 |
+
wp_enqueue_script(
|
16 |
+
'blocksbuster-blocks-js',
|
17 |
+
_get_plugin_url() . $block_path,
|
18 |
+
[ 'wp-i18n', 'wp-element', 'wp-blocks', 'wp-components', 'wp-editor', 'wp-hooks' ],
|
19 |
+
filemtime( _get_plugin_directory() . $block_path )
|
20 |
+
);
|
21 |
+
|
22 |
+
// Enqueue optional editor only styles
|
23 |
+
wp_enqueue_style(
|
24 |
+
'blocksbuster-editor-css',
|
25 |
+
_get_plugin_url() . $style_path,
|
26 |
+
[ ],
|
27 |
+
filemtime( _get_plugin_directory() . $style_path )
|
28 |
+
);
|
29 |
+
}
|
30 |
+
|
31 |
+
add_action( 'enqueue_block_assets', __NAMESPACE__ . '\enqueue_assets' );
|
32 |
+
/**
|
33 |
+
* Enqueue front end and editor JavaScript and CSS assets.
|
34 |
+
*/
|
35 |
+
function enqueue_assets() {
|
36 |
+
$style_path = '/assets/css/blocks.style.css';
|
37 |
+
wp_enqueue_style(
|
38 |
+
'blocksbuster-blocks',
|
39 |
+
_get_plugin_url() . $style_path,
|
40 |
+
null,
|
41 |
+
filemtime( _get_plugin_directory() . $style_path )
|
42 |
+
);
|
43 |
+
}
|
44 |
+
|
45 |
+
add_action( 'enqueue_block_assets', __NAMESPACE__ . '\enqueue_frontend_assets' );
|
46 |
+
/**
|
47 |
+
* Enqueue frontend JavaScript and CSS assets.
|
48 |
+
*/
|
49 |
+
function enqueue_frontend_assets() {
|
50 |
+
|
51 |
+
// If in the backend, bail out.
|
52 |
+
if ( is_admin() ) {
|
53 |
+
return;
|
54 |
+
}
|
55 |
+
|
56 |
+
$block_path = '/assets/js/frontend.blocks.js';
|
57 |
+
wp_enqueue_script(
|
58 |
+
'blocksbuster-frontend',
|
59 |
+
_get_plugin_url() . $block_path,
|
60 |
+
[],
|
61 |
+
filemtime( _get_plugin_directory() . $block_path )
|
62 |
+
);
|
63 |
+
}
|