diff --git a/.wp-env.json b/.wp-env.json index 514085ac3..c550c9562 100644 --- a/.wp-env.json +++ b/.wp-env.json @@ -1,5 +1,5 @@ { - "core": "WordPress/WordPress#5.5", + "core": "WordPress/WordPress#5.5.3", "plugins": [ "." ], "mappings": { "wp-content/plugins/wp-bootstrap-blocks-test-plugins": "./e2e-tests/plugins" diff --git a/README.md b/README.md index cc62d0f61..c62850d6d 100755 --- a/README.md +++ b/README.md @@ -41,6 +41,8 @@ Bootstrap Gutenberg Blocks for WordPress. Supports Bootstrap 4 and **Bootstrap 5 #### Options * Style: Choose the styling of the button. +* Open in new tab: Choose if link should be opened in a new tab. +* Rel: Set rel attribute of the link. * Alignment: Horizontal alignment of the button. ## Further Information @@ -368,6 +370,10 @@ Modify default attributes of the button block. * `$default_attributes` (`array`) Default attributes of button block. * `url` (`string`) Default url of the button (Default: `''`) + * `linkTarget` (`string`) Default link target (Default: `''`). Possible values: + * `''`: Target attribute empty + * `_blank`: Target attribute is set to `_blank` + * `rel` (`string`) Default rel attribute of the link (Default: `''`) * `text` (`string`) Default text of the button (Default: `''`) * `style` (`string`) Default style of the button (Default: `''`) * `alignment` (`string`) Default alignment of the button (Default: `''`) @@ -379,6 +385,8 @@ add_filter( 'wp_bootstrap_blocks_button_default_attributes', 'my_button_default_ function my_button_default_attributes( $default_attributes ) { $default_attributes['url'] = 'https://getbootstrap.com/'; + $default_attributes['linkTarget'] = '_blank'; + $default_attributes['rel'] = 'noreferrer noopener'; $default_attributes['text'] = 'Bootstrap'; $default_attributes['style'] = 'secondary'; $default_attributes['alignment'] = 'right'; diff --git a/build/index.asset.php b/build/index.asset.php index 6e9dab4da..492d10de9 100644 --- a/build/index.asset.php +++ b/build/index.asset.php @@ -1 +1 @@ - array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill'), 'version' => '0c2c0621be9f2289794f9955ae3690f9'); \ No newline at end of file + array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill'), 'version' => '67aee816442ce60ef154e852f39f18fa'); \ No newline at end of file diff --git a/build/index.js b/build/index.js index 29d463672..824aaaa3f 100644 --- a/build/index.js +++ b/build/index.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{29:function(t,e,o){}}]),function(t){function e(e){for(var n,c,a=e[0],s=e[1],i=e[2],u=0,p=[];ut.length)&&(e=t.length);for(var o=0,n=new Array(e);o=0||Object.prototype.propertyIsEnumerable.call(t,o)&&(l[o]=t[o])}return l}},function(t,e){function o(e,n){return t.exports=o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},o(e,n)}t.exports=o},function(t,e){function o(e){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?t.exports=o=function(t){return typeof t}:t.exports=o=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(e)}t.exports=o},function(t,e){t.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}},function(t,e,o){var n=o(16);t.exports=function(t){if(Array.isArray(t))return n(t)}},function(t,e){t.exports=function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}},function(t,e,o){var n=o(16);t.exports=function(t,e){if(t){if("string"==typeof t)return n(t,e);var o=Object.prototype.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?n(t,e):void 0}}},function(t,e){t.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},function(t,e,o){},function(t,e){t.exports=function(t,e){if(null==t)return{};var o,n,r={},l=Object.keys(t);for(n=0;n=0||(r[o]=t[o]);return r}},function(t,e,o){},,function(t,e,o){},,,function(t,e,o){"use strict";o.r(e);var n=o(3);Object(n.hasFilter)("wpBootstrapBlocks.container.customMarginOptions")&&console.warn("`wpBootstrapBlocks.container.customMarginOptions` filter was renamed to `wpBootstrapBlocks.container.marginAfterOptions`. Please change your filter definition."),Object(n.hasFilter)("wpBootstrapBlocks.container.useFluidContainerPerDefault")&&console.warn("`wpBootstrapBlocks.container.useFluidContainerPerDefault` filter has been removed. Please use `wp_bootstrap_blocks_container_default_attributes` filter (PHP) instead."),Object(n.hasFilter)("wpBootstrapBlocks.row.useOldObjectTemplateStructure")&&console.warn("`wpBootstrapBlocks.row.useOldObjectTemplateStructure` filter has no effect since the old template structure is not supported anymore. You can safely remove this filter.");var r=o(0),l=o(7),c=o(2);l.updateCategory&&Object(l.updateCategory)("wp-bootstrap-blocks",{icon:Object(r.createElement)(c.SVG,{viewBox:"0 0 120 120",xmlns:"http://www.w3.org/2000/svg"},Object(r.createElement)(c.Rect,{stroke:"#979797",fill:"#6EA644",x:"-110.5",y:"-123.5",width:"340",height:"367"}),Object(r.createElement)(c.Path,{d:"M105.362393,45.9570783 C103.695123,44.8177711 101.427637,45.2868976 100.293893,46.9623494 C93.6915059,56.9480422 79.6864416,57.4841867 78.952843,57.4841867 C78.8194614,57.4841867 78.7527707,57.4841867 78.6193891,57.4841867 C61.3464764,57.4841867 54.744089,72.2951807 54.4773258,72.8983434 C53.6770365,74.7748494 54.5440166,76.9194277 56.3446678,77.7236446 C56.8115032,77.9246988 57.3450295,78.0587349 57.811865,78.0587349 C59.2123714,78.0587349 60.5461871,77.2545181 61.1464041,75.8471386 C61.2130949,75.7131024 65.7480681,65.5263554 77.418955,64.8561747 L77.418955,83.8222892 C76.9521195,87.9103916 75.0180868,91.127259 71.6168569,93.5399096 C68.0822455,96.0195783 63.3471999,97.2929217 57.5451018,97.2929217 C50.6092605,97.2929217 44.940544,94.8802711 40.7390247,90.121988 C36.4708146,85.3637048 34.3367095,78.5948795 34.3367095,69.8825301 L34.4034003,48.9728916 C34.7368542,41.2658133 36.8042685,35.1671687 40.7390247,30.810994 C45.0072347,26.0527108 50.6092605,23.6400602 57.5451018,23.6400602 C63.3471999,23.6400602 68.0822455,24.9134036 71.6168569,27.3930723 C75.1514684,29.872741 77.1521919,33.2906627 77.4856458,37.7138554 C77.4856458,37.8478916 77.4856458,38.0489458 77.4856458,38.1829819 C77.4856458,40.7296687 79.5530601,42.8072289 82.0873098,42.8072289 C84.6215595,42.8072289 86.6889738,40.7296687 86.6889738,38.1829819 C86.6889738,38.0489458 86.6889738,37.8478916 86.6889738,37.7138554 C86.022066,31.0790663 83.0209807,25.8516566 77.6190274,21.8975904 C72.217074,17.9435241 65.481305,16 57.3450295,16 C47.674866,16 39.8720445,19.2168675 33.9365648,25.5835843 C28.3345391,31.5481928 25.4001447,39.3893072 25.0666908,49.0399096 C25.0666908,49.7100904 25,50.3802711 25,51.0504518 L25.0666908,69.8825301 L25,69.8825301 C25,80.5384036 28.0010852,89.0496988 33.9365648,95.4164157 C39.8720445,101.783133 47.674866,105 57.3450295,105 C65.481305,105 72.217074,103.056476 77.6190274,99.1024096 C82.5541453,95.4834337 85.4885397,90.7251506 86.4889014,84.8275602 L86.6889738,63.7838855 C92.757835,62.309488 101.027492,58.9585843 106.229373,51.0504518 C107.563189,49.375 107.096353,47.0963855 105.362393,45.9570783 Z",stroke:"#FFFFFF",fill:"#FFFFFF"}))});var a=o(1),s=o(4),i=o(5),b=o(8),u=o.n(b),p=o(9),m=o.n(p),f=o(10),d=o.n(f),h=o(11),O=o.n(h),w=o(6),j=o.n(w),k=o(13),v=o.n(k),g=o(12),_=o(14),y=function(){return"1"===wpBootstrapBlocks.isBootstrap5Active};function C(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var o,n=j()(t);if(e){var r=j()(this).constructor;o=Reflect.construct(n,arguments,r)}else o=n.apply(this,arguments);return O()(this,o)}}var E=s||i,x=E.InnerBlocks,B=E.InspectorControls,S=[{label:Object(a.__)("Small","wp-bootstrap-blocks"),value:"mb-2"},{label:Object(a.__)("Medium","wp-bootstrap-blocks"),value:"mb-3"},{label:Object(a.__)("Large","wp-bootstrap-blocks"),value:"mb-5"}];S=Object(n.applyFilters)("wpBootstrapBlocks.container.marginAfterOptions",S),S=[{label:Object(a.__)("None","wp-bootstrap-blocks"),value:"mb-0"}].concat(v()(S));var P=[{label:Object(a.__)("Xl","wp-bootstrap-blocks"),value:"xl"},{label:Object(a.__)("Lg","wp-bootstrap-blocks"),value:"lg"},{label:Object(a.__)("Md","wp-bootstrap-blocks"),value:"md"},{label:Object(a.__)("Sm","wp-bootstrap-blocks"),value:"sm"}];y()&&(P=[{label:Object(a.__)("Xxl","wp-bootstrap-blocks"),value:"xxl"}].concat(v()(P))),P=[{label:Object(a.__)("No breakpoint selected","wp-bootstrap-blocks"),value:""}].concat(v()(P));var z=function(t){d()(o,t);var e=C(o);function o(){return u()(this,o),e.apply(this,arguments)}return m()(o,[{key:"render",value:function(){var t=this.props,e=t.attributes,o=t.className,n=t.setAttributes,l=t.hasChildBlocks,s=e.isFluid,i=e.fluidBreakpoint,b=e.marginAfter;return Object(r.createElement)(r.Fragment,null,Object(r.createElement)(B,null,Object(r.createElement)(c.PanelBody,{title:Object(a.__)("Fluid","wp-bootstrap-blocks")},Object(r.createElement)(c.CheckboxControl,{label:Object(a.__)("Fluid","wp-bootstrap-blocks"),checked:s,onChange:function(t){n({isFluid:t})}}),Object(r.createElement)(c.SelectControl,{label:Object(a.__)("Fluid Breakpoint","wp-bootstrap-blocks"),disabled:!s,value:i,options:P,onChange:function(t){n({fluidBreakpoint:t})},help:Object(a.__)("Fluid breakpoints only work with Bootstrap v4.4+. The container will be 100% wide until the specified breakpoint is reached, after which max-widths for each of the higher breakpoints will be applied.","wp-bootstrap-blocks")})),Object(r.createElement)(c.PanelBody,{title:Object(a.__)("Margin","wp-bootstrap-blocks")},Object(r.createElement)(c.SelectControl,{label:Object(a.__)("Margin After","wp-bootstrap-blocks"),value:b,options:S,onChange:function(t){n({marginAfter:t})}}))),Object(r.createElement)("div",{className:o},Object(r.createElement)(x,{renderAppender:l?void 0:function(){return Object(r.createElement)(x.ButtonBlockAppender,null)}})))}}]),o}(r.Component),M=Object(_.compose)(Object(g.withSelect)((function(t,e){var o=e.clientId;return{hasChildBlocks:(0,(t("core/block-editor")||t("core/editor")).getBlockOrder)(o).length>0}})))(z),A=(o(26),(s||i).InnerBlocks);Object(l.registerBlockType)("wp-bootstrap-blocks/container",{title:Object(a.__)("Container","wp-bootstrap-blocks"),icon:"feedback",category:"wp-bootstrap-blocks",keywords:[Object(a.__)("Container","wp-bootstrap-blocks"),Object(a.__)("Bootstrap Container","wp-bootstrap-blocks"),Object(a.__)("Bootstrap","wp-bootstrap-blocks")],supports:{align:!1},edit:M,save:function(){return Object(r.createElement)(A.Content,null)}});var V=o(17),F=o.n(V),R=o(15),H=o.n(R),L=o(18),N=o.n(L);function X(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var o,n=j()(t);if(e){var r=j()(this).constructor;o=Reflect.construct(n,arguments,r)}else o=n.apply(this,arguments);return O()(this,o)}}var q=s||i,G=q.InnerBlocks,I=q.InspectorControls,D=function(t){var e=t.label,o=t.attributeName,n=t.value,l=t.setAttributes,a=N()(t,["label","attributeName","value","setAttributes"]);return Object(r.createElement)(c.RangeControl,F()({label:e,value:n,onChange:function(t){l(H()({},o,t))},min:0,max:12},a))},W=[{name:"primary",color:"#007bff"},{name:"secondary",color:"#6c757d"}];W=Object(n.applyFilters)("wpBootstrapBlocks.column.bgColorOptions",W);var T=[{label:Object(a.__)("None","wp-bootstrap-blocks"),value:""},{label:Object(a.__)("Small","wp-bootstrap-blocks"),value:"p-2"},{label:Object(a.__)("Medium","wp-bootstrap-blocks"),value:"p-3"},{label:Object(a.__)("Large","wp-bootstrap-blocks"),value:"p-5"}];T=Object(n.applyFilters)("wpBootstrapBlocks.column.paddingOptions",T);var Z=function(t){d()(o,t);var e=X(o);function o(){return u()(this,o),e.apply(this,arguments)}return m()(o,[{key:"render",value:function(){var t=this.props,e=t.attributes,o=t.className,n=t.setAttributes,l=t.hasChildBlocks,s=e.sizeXxl,i=e.sizeXl,b=e.sizeLg,u=e.sizeMd,p=e.sizeSm,m=e.sizeXs,f=e.equalWidthXxl,d=e.equalWidthXl,h=e.equalWidthLg,O=e.equalWidthMd,w=e.equalWidthSm,j=e.equalWidthXs,k=e.bgColor,v=e.padding,g=e.centerContent;return!k&&g&&n({centerContent:!1}),Object(r.createElement)(r.Fragment,null,Object(r.createElement)(I,null,Object(r.createElement)(c.PanelBody,{title:Object(a.__)("Column size","wp-bootstrap-blocks"),initialOpen:!1},Object(r.createElement)(D,{label:Object(a.__)("Xs Column count","wp-bootstrap-blocks"),attributeName:"sizeXs",value:m,disabled:j,setAttributes:n}),Object(r.createElement)(c.CheckboxControl,{label:Object(a.__)("Xs equal-width","wp-bootstrap-blocks"),checked:j,onChange:function(t){return n({equalWidthXs:t})}}),Object(r.createElement)("hr",null),Object(r.createElement)(D,{label:Object(a.__)("Sm Column count","wp-bootstrap-blocks"),attributeName:"sizeSm",value:p,disabled:w,setAttributes:n}),Object(r.createElement)(c.CheckboxControl,{label:Object(a.__)("Sm equal-width","wp-bootstrap-blocks"),checked:w,onChange:function(t){return n({equalWidthSm:t})}}),Object(r.createElement)("hr",null),Object(r.createElement)(D,{label:Object(a.__)("Md Column count","wp-bootstrap-blocks"),attributeName:"sizeMd",value:u,disabled:O,setAttributes:n}),Object(r.createElement)(c.CheckboxControl,{label:Object(a.__)("Md equal-width","wp-bootstrap-blocks"),checked:O,onChange:function(t){return n({equalWidthMd:t})}}),Object(r.createElement)("hr",null),Object(r.createElement)(D,{label:Object(a.__)("Lg Column count","wp-bootstrap-blocks"),attributeName:"sizeLg",value:b,disabled:h,setAttributes:n}),Object(r.createElement)(c.CheckboxControl,{label:Object(a.__)("Lg equal-width","wp-bootstrap-blocks"),checked:h,onChange:function(t){return n({equalWidthLg:t})}}),Object(r.createElement)("hr",null),Object(r.createElement)(D,{label:Object(a.__)("Xl Column count","wp-bootstrap-blocks"),attributeName:"sizeXl",value:i,disabled:d,setAttributes:n}),Object(r.createElement)(c.CheckboxControl,{label:Object(a.__)("Xl equal-width","wp-bootstrap-blocks"),checked:d,onChange:function(t){return n({equalWidthXl:t})}}),y()&&Object(r.createElement)(r.Fragment,null,Object(r.createElement)("hr",null),Object(r.createElement)(D,{label:Object(a.__)("Xxl Column count","wp-bootstrap-blocks"),attributeName:"sizeXxl",value:s,disabled:f,setAttributes:n}),Object(r.createElement)(c.CheckboxControl,{label:Object(a.__)("Xxl equal-width","wp-bootstrap-blocks"),checked:f,onChange:function(t){return n({equalWidthXxl:t})}}))),Object(r.createElement)(c.PanelBody,{title:Object(a.__)("Background color","wp-bootstrap-blocks"),initialOpen:!1},Object(r.createElement)(c.ColorPalette,{colors:W,value:k,onChange:function(t){if(t){var e=W.find((function(e){return e.color===t}));e&&n({bgColor:e.name})}else n({bgColor:"",centerContent:!1})},disableCustomColors:!0}),k?Object(r.createElement)(c.CheckboxControl,{label:Object(a.__)("Center content vertically in row","wp-bootstrap-blocks"),checked:g,onChange:function(t){return n({centerContent:t})},help:Object(a.__)("This setting only applies if there is no vertical alignment set on the parent row block.","wp-bootstrap-blocks")}):null),Object(r.createElement)(c.PanelBody,{title:Object(a.__)("Padding (inside column)","wp-bootstrap-blocks"),initialOpen:!1},Object(r.createElement)(c.SelectControl,{label:Object(a.__)("Size","wp-bootstrap-blocks"),value:v,options:T,onChange:function(t){n({padding:t})}}))),Object(r.createElement)("div",{className:o},Object(r.createElement)(G,{templateLock:!1,renderAppender:l?void 0:function(){return Object(r.createElement)(G.ButtonBlockAppender,null)}})))}}]),o}(r.Component),J=Object(_.compose)(Object(g.withSelect)((function(t,e){var o=e.clientId;return{hasChildBlocks:(0,(t("core/block-editor")||t("core/editor")).getBlockOrder)(o).length>0}})))(Z),U=(s||i).InnerBlocks;Object(l.registerBlockType)("wp-bootstrap-blocks/column",{title:Object(a.__)("Column","wp-bootstrap-blocks"),icon:"menu",category:"wp-bootstrap-blocks",keywords:[Object(a.__)("Column","wp-bootstrap-blocks"),Object(a.__)("Bootstrap Column","wp-bootstrap-blocks"),Object(a.__)("Bootstrap","wp-bootstrap-blocks")],parent:["wp-bootstrap-blocks/row"],getEditWrapperProps:function(t){var e=t.sizeXxl,o=t.sizeXl,n=t.sizeLg,r=t.sizeMd,l=t.sizeSm,c=t.sizeXs,a=t.equalWidthXxl,s=t.equalWidthXl,i=t.equalWidthLg,b=t.equalWidthMd,u=t.equalWidthSm,p=t.equalWidthXs,m=t.bgColor,f=t.padding,d=t.centerContent,h={};if(m){var O=W.find((function(t){return t.name===m}));O&&(h={backgroundColor:O.color})}return{"data-size-xs":a||s||i||b||u||p?0:c,"data-size-sm":a||s||i||b||u?0:l,"data-size-md":a||s||i||b?0:r,"data-size-lg":a||s||i?0:n,"data-size-xl":a||s?0:o,"data-size-xxl":a?0:e,"data-bg-color":m,"data-padding":f,"data-center-content":d,style:h}},edit:J,save:function(){return Object(r.createElement)(U.Content,null)}});var Y=Object(r.createElement)(c.SVG,{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24"},Object(r.createElement)(c.Path,{fill:"none",d:"M0 0h24v24H0V0z"}),Object(r.createElement)(c.Path,{d:"M16 13h-3V3h-2v10H8l4 4 4-4zM4 19v2h16v-2H4z"})),$=Object(r.createElement)(c.SVG,{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24"},Object(r.createElement)(c.Path,{fill:"none",d:"M0 0h24v24H0V0z"}),Object(r.createElement)(c.Path,{d:"M8 19h3v4h2v-4h3l-4-4-4 4zm8-14h-3V1h-2v4H8l4 4 4-4zM4 11v2h16v-2H4z"})),K=Object(r.createElement)(c.SVG,{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24"},Object(r.createElement)(c.Path,{fill:"none",d:"M0 0h24v24H0V0z"}),Object(r.createElement)(c.Path,{d:"M8 11h3v10h2V11h3l-4-4-4 4zM4 3v2h16V3H4z"})),Q=Object(r.createElement)(c.SVG,{width:"48",height:"48",viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg"},Object(r.createElement)(c.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M23.58 26.28c0-.600003.1499985-1.099998.45-1.5.3000015-.400002.7433304-.8399976 1.33-1.32.5600028-.4533356.9833319-.8699981 1.27-1.25s.43-.8433306.43-1.39c0-.5466694-.1733316-1.0566643-.52-1.53s-.986662-.71-1.92-.71c-1.1066722 0-1.8533314.2766639-2.24.83-.3866686.5533361-.58 1.1766632-.58 1.87 0 .1466674.0033333.2666662.01.36.0066667.0933338.01.1533332.01.18h-1.78c-.0133334-.0533336-.0266666-.146666-.04-.28-.0133334-.133334-.02-.2733326-.02-.42 0-.7733372.1766649-1.4666636.53-2.08.3533351-.6133364.8899964-1.0999982 1.61-1.46.7200036-.3600018 1.5999948-.54 2.64-.54 1.2133394 0 2.2033295.3233301 2.97.97s1.15 1.5099946 1.15 2.59c0 .7066702-.1033323 1.3033309-.31 1.79-.2066677.4866691-.4533319.8799985-.74 1.18-.2866681.3000015-.6566644.6233316-1.11.97-.4800024.3866686-.8333322.7166653-1.06.99-.2266678.2733347-.34.6233312-.34 1.05v.82h-1.74zm-.14 2.56h2V31h-2zM39 12c1.1046 0 2 .8954 2 2v20c0 1.1046-.8954 2-2 2H9c-1.10457 0-2-.8954-2-2V14c0-1.1046.89543-2 2-2h30zm0 22V14H9v20h30z"}));function tt(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var o,n=j()(t);if(e){var r=j()(this).constructor;o=Reflect.construct(n,arguments,r)}else o=n.apply(this,arguments);return O()(this,o)}}function et(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.push.apply(o,n)}return o}var ot=s||i,nt=ot.InnerBlocks,rt=ot.InspectorControls,lt=ot.BlockControls,ct=ot.AlignmentToolbar,at=["wp-bootstrap-blocks/column"],st=[{name:"1-1",title:Object(a.__)("2 Columns (1:1)","wp-bootstrap-blocks"),icon:Object(r.createElement)(c.SVG,{width:"48",height:"48",viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg"},Object(r.createElement)(c.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H25V34H39ZM23 34H9V14H23V34Z"})),templateLock:"all",template:[["wp-bootstrap-blocks/column",{sizeMd:6}],["wp-bootstrap-blocks/column",{sizeMd:6}]]},{name:"1-2",title:Object(a.__)("2 Columns (1:2)","wp-bootstrap-blocks"),icon:Object(r.createElement)(c.SVG,{width:"48",height:"48",viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg"},Object(r.createElement)(c.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H20V34H39ZM18 34H9V14H18V34Z"})),templateLock:"all",template:[["wp-bootstrap-blocks/column",{sizeMd:4}],["wp-bootstrap-blocks/column",{sizeMd:8}]]},{name:"2-1",title:Object(a.__)("2 Columns (2:1)","wp-bootstrap-blocks"),icon:Object(r.createElement)(c.SVG,{width:"48",height:"48",viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg"},Object(r.createElement)(c.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H30V34H39ZM28 34H9V14H28V34Z"})),templateLock:"all",template:[["wp-bootstrap-blocks/column",{sizeMd:8}],["wp-bootstrap-blocks/column",{sizeMd:4}]]},{name:"1-1-1",title:Object(a.__)("3 Columns (1:1:1)","wp-bootstrap-blocks"),icon:Object(r.createElement)(c.SVG,{width:"48",height:"48",viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg"},Object(r.createElement)(c.Path,{fillRule:"evenodd",d:"M41 14a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h30a2 2 0 0 0 2-2V14zM28.5 34h-9V14h9v20zm2 0V14H39v20h-8.5zm-13 0H9V14h8.5v20z"})),templateLock:"all",template:[["wp-bootstrap-blocks/column",{sizeMd:4}],["wp-bootstrap-blocks/column",{sizeMd:4}],["wp-bootstrap-blocks/column",{sizeMd:4}]]}];st=Object(n.applyFilters)("wpBootstrapBlocks.row.templates",st),st=st.map((function(t){return function(t){for(var e=1;eo){var n=e.template[o][1];b(t.clientId,n)}})),s({template:t}))}(t.name)},className:u===t.name?"is-active":null},Object(r.createElement)("div",{className:"wp-bootstrap-blocks-template-selector-button-label"},t.title)))})))),Object(r.createElement)(c.PanelBody,{title:Object(a.__)("Row options","wp-bootstrap-blocks")},Object(r.createElement)(c.CheckboxControl,{label:Object(a.__)("No Gutters","wp-bootstrap-blocks"),checked:p,onChange:function(t){return s({noGutters:t})}}),y()&&!p&&Object(r.createElement)(r.Fragment,null,Object(r.createElement)(c.SelectControl,{label:Object(a.__)("Horizontal Gutters","wp-bootstrap-blocks"),value:h,options:it,onChange:function(t){s({horizontalGutters:t})}}),Object(r.createElement)(c.SelectControl,{label:Object(a.__)("Vertical Gutters","wp-bootstrap-blocks"),value:O,options:bt,onChange:function(t){s({verticalGutters:t})}})))),Object(r.createElement)(lt,null,Object(r.createElement)(ct,{value:m,label:Object(a.__)("Change horizontal alignment of columns","wp-bootstrap-blocks"),onChange:function(t){return s({alignment:t})},alignmentControls:w}),Object(r.createElement)(ct,{value:f,label:Object(a.__)("Change vertical alignment of columns","wp-bootstrap-blocks"),onChange:function(t){return s({verticalAlignment:t})},alignmentControls:j})),Object(r.createElement)("div",{className:n},Object(r.createElement)(nt,{allowedBlocks:at,template:(t=u,e=st.find((function(e){return e.name===t})),e?e.template:[]),templateLock:ut(u)})))}}]),o}(r.Component),mt=Object(g.withSelect)((function(t,e){var o=e.clientId,n=(t("core/block-editor")||t("core/editor")).getBlocksByClientId;return{columns:n(o)[0]?n(o)[0].innerBlocks:[]}})),ft=Object(g.withDispatch)((function(t){return{updateBlockAttributes:(t("core/block-editor")||t("core/editor")).updateBlockAttributes}})),dt=Object(_.compose)(mt,ft)(pt),ht=(o(28),o(29),(s||i).InnerBlocks);function Ot(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var o,n=j()(t);if(e){var r=j()(this).constructor;o=Reflect.construct(n,arguments,r)}else o=n.apply(this,arguments);return O()(this,o)}}Object(l.registerBlockType)("wp-bootstrap-blocks/row",{title:Object(a.__)("Row","wp-bootstrap-blocks"),icon:"layout",category:"wp-bootstrap-blocks",keywords:[Object(a.__)("Row","wp-bootstrap-blocks"),Object(a.__)("Bootstrap Row","wp-bootstrap-blocks"),Object(a.__)("Bootstrap","wp-bootstrap-blocks")],supports:{align:["full"]},getEditWrapperProps:function(t){return{"data-alignment":t.alignment,"data-vertical-alignment":t.verticalAlignment,"data-editor-stack-columns":t.editorStackColumns}},edit:dt,save:function(){return Object(r.createElement)(ht.Content,null)}});var wt=s||i,jt=wt.RichText,kt=wt.URLInput,vt=wt.InspectorControls,gt=wt.BlockControls,_t=wt.AlignmentToolbar,yt=function(t){d()(o,t);var e=Ot(o);function o(){return u()(this,o),e.apply(this,arguments)}return m()(o,[{key:"render",value:function(){var t=this.props,e=t.attributes,o=t.className,l=t.setAttributes,s=t.isSelected,i=e.url,b=e.text,u=e.style,p=e.alignment,m=[{label:Object(a.__)("Primary","wp-bootstrap-blocks"),value:"primary"},{label:Object(a.__)("Secondary","wp-bootstrap-blocks"),value:"secondary"}];return m=Object(n.applyFilters)("wpBootstrapBlocks.button.styleOptions",m),Object(r.createElement)(r.Fragment,null,Object(r.createElement)("div",{className:o,"data-alignment":p},Object(r.createElement)(jt,{placeholder:Object(a.__)("Add text...","wp-bootstrap-blocks"),value:b,onChange:function(t){return l({text:t})},formattingControls:[],keepPlaceholderOnFocus:!0}),Object(r.createElement)(vt,null,Object(r.createElement)(c.PanelBody,null,Object(r.createElement)(c.SelectControl,{label:Object(a.__)("Style","wp-bootstrap-blocks"),value:u,options:m,onChange:function(t){l({style:t})}}))),Object(r.createElement)(gt,null,Object(r.createElement)(_t,{value:p,label:Object(a.__)("Change button alignment","wp-bootstrap-blocks"),onChange:function(t){return l({alignment:t})}}))),s&&Object(r.createElement)("form",{className:"wp-block-wp-bootstrap-blocks-button-link",onSubmit:function(t){return t.preventDefault()}},Object(r.createElement)(c.Dashicon,{icon:"admin-links"}),Object(r.createElement)(kt,{value:i,onChange:function(t){return l({url:t})}}),Object(r.createElement)(c.IconButton,{icon:"editor-break",label:Object(a.__)("Apply","wp-bootstrap-blocks"),type:"submit"})))}}]),o}(r.Component);o(30);Object(l.registerBlockType)("wp-bootstrap-blocks/button",{title:Object(a.__)("Button","wp-bootstrap-blocks"),icon:Object(r.createElement)(c.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Object(r.createElement)(c.Path,{fill:"none",d:"M0 0h24v24H0V0z"}),Object(r.createElement)(c.G,null,Object(r.createElement)(c.Path,{d:"M19 6H5c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 10H5V8h14v8z"}))),category:"wp-bootstrap-blocks",keywords:[Object(a.__)("Button","wp-bootstrap-blocks"),Object(a.__)("Bootstrap Button","wp-bootstrap-blocks"),Object(a.__)("Bootstrap","wp-bootstrap-blocks")],example:{},getEditWrapperProps:function(t){return{"data-alignment":t.alignment}},edit:yt,save:function(){return null}})}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{29:function(t,e,o){}}]),function(t){function e(e){for(var n,c,a=e[0],s=e[1],i=e[2],u=0,p=[];ut.length)&&(e=t.length);for(var o=0,n=new Array(e);o=0||Object.prototype.propertyIsEnumerable.call(t,o)&&(l[o]=t[o])}return l}},function(t,e){function o(e,n){return t.exports=o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},o(e,n)}t.exports=o},function(t,e){function o(e){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?t.exports=o=function(t){return typeof t}:t.exports=o=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(e)}t.exports=o},function(t,e){t.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}},function(t,e,o){var n=o(16);t.exports=function(t){if(Array.isArray(t))return n(t)}},function(t,e){t.exports=function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}},function(t,e,o){var n=o(16);t.exports=function(t,e){if(t){if("string"==typeof t)return n(t,e);var o=Object.prototype.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?n(t,e):void 0}}},function(t,e){t.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},function(t,e,o){},function(t,e){t.exports=function(t,e){if(null==t)return{};var o,n,r={},l=Object.keys(t);for(n=0;n=0||(r[o]=t[o]);return r}},function(t,e,o){},,function(t,e,o){},,,function(t,e,o){"use strict";o.r(e);var n=o(3);Object(n.hasFilter)("wpBootstrapBlocks.container.customMarginOptions")&&console.warn("`wpBootstrapBlocks.container.customMarginOptions` filter was renamed to `wpBootstrapBlocks.container.marginAfterOptions`. Please change your filter definition."),Object(n.hasFilter)("wpBootstrapBlocks.container.useFluidContainerPerDefault")&&console.warn("`wpBootstrapBlocks.container.useFluidContainerPerDefault` filter has been removed. Please use `wp_bootstrap_blocks_container_default_attributes` filter (PHP) instead."),Object(n.hasFilter)("wpBootstrapBlocks.row.useOldObjectTemplateStructure")&&console.warn("`wpBootstrapBlocks.row.useOldObjectTemplateStructure` filter has no effect since the old template structure is not supported anymore. You can safely remove this filter.");var r=o(0),l=o(7),c=o(2);l.updateCategory&&Object(l.updateCategory)("wp-bootstrap-blocks",{icon:Object(r.createElement)(c.SVG,{viewBox:"0 0 120 120",xmlns:"http://www.w3.org/2000/svg"},Object(r.createElement)(c.Rect,{stroke:"#979797",fill:"#6EA644",x:"-110.5",y:"-123.5",width:"340",height:"367"}),Object(r.createElement)(c.Path,{d:"M105.362393,45.9570783 C103.695123,44.8177711 101.427637,45.2868976 100.293893,46.9623494 C93.6915059,56.9480422 79.6864416,57.4841867 78.952843,57.4841867 C78.8194614,57.4841867 78.7527707,57.4841867 78.6193891,57.4841867 C61.3464764,57.4841867 54.744089,72.2951807 54.4773258,72.8983434 C53.6770365,74.7748494 54.5440166,76.9194277 56.3446678,77.7236446 C56.8115032,77.9246988 57.3450295,78.0587349 57.811865,78.0587349 C59.2123714,78.0587349 60.5461871,77.2545181 61.1464041,75.8471386 C61.2130949,75.7131024 65.7480681,65.5263554 77.418955,64.8561747 L77.418955,83.8222892 C76.9521195,87.9103916 75.0180868,91.127259 71.6168569,93.5399096 C68.0822455,96.0195783 63.3471999,97.2929217 57.5451018,97.2929217 C50.6092605,97.2929217 44.940544,94.8802711 40.7390247,90.121988 C36.4708146,85.3637048 34.3367095,78.5948795 34.3367095,69.8825301 L34.4034003,48.9728916 C34.7368542,41.2658133 36.8042685,35.1671687 40.7390247,30.810994 C45.0072347,26.0527108 50.6092605,23.6400602 57.5451018,23.6400602 C63.3471999,23.6400602 68.0822455,24.9134036 71.6168569,27.3930723 C75.1514684,29.872741 77.1521919,33.2906627 77.4856458,37.7138554 C77.4856458,37.8478916 77.4856458,38.0489458 77.4856458,38.1829819 C77.4856458,40.7296687 79.5530601,42.8072289 82.0873098,42.8072289 C84.6215595,42.8072289 86.6889738,40.7296687 86.6889738,38.1829819 C86.6889738,38.0489458 86.6889738,37.8478916 86.6889738,37.7138554 C86.022066,31.0790663 83.0209807,25.8516566 77.6190274,21.8975904 C72.217074,17.9435241 65.481305,16 57.3450295,16 C47.674866,16 39.8720445,19.2168675 33.9365648,25.5835843 C28.3345391,31.5481928 25.4001447,39.3893072 25.0666908,49.0399096 C25.0666908,49.7100904 25,50.3802711 25,51.0504518 L25.0666908,69.8825301 L25,69.8825301 C25,80.5384036 28.0010852,89.0496988 33.9365648,95.4164157 C39.8720445,101.783133 47.674866,105 57.3450295,105 C65.481305,105 72.217074,103.056476 77.6190274,99.1024096 C82.5541453,95.4834337 85.4885397,90.7251506 86.4889014,84.8275602 L86.6889738,63.7838855 C92.757835,62.309488 101.027492,58.9585843 106.229373,51.0504518 C107.563189,49.375 107.096353,47.0963855 105.362393,45.9570783 Z",stroke:"#FFFFFF",fill:"#FFFFFF"}))});var a=o(1),s=o(4),i=o(5),b=o(8),u=o.n(b),p=o(9),f=o.n(p),m=o(10),d=o.n(m),h=o(11),O=o.n(h),w=o(6),j=o.n(w),k=o(13),v=o.n(k),g=o(12),_=o(14),y=function(){return"1"===wpBootstrapBlocks.isBootstrap5Active};function C(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var o,n=j()(t);if(e){var r=j()(this).constructor;o=Reflect.construct(n,arguments,r)}else o=n.apply(this,arguments);return O()(this,o)}}var E=s||i,x=E.InnerBlocks,B=E.InspectorControls,S=[{label:Object(a.__)("Small","wp-bootstrap-blocks"),value:"mb-2"},{label:Object(a.__)("Medium","wp-bootstrap-blocks"),value:"mb-3"},{label:Object(a.__)("Large","wp-bootstrap-blocks"),value:"mb-5"}];S=Object(n.applyFilters)("wpBootstrapBlocks.container.marginAfterOptions",S),S=[{label:Object(a.__)("None","wp-bootstrap-blocks"),value:"mb-0"}].concat(v()(S));var P=[{label:Object(a.__)("Xl","wp-bootstrap-blocks"),value:"xl"},{label:Object(a.__)("Lg","wp-bootstrap-blocks"),value:"lg"},{label:Object(a.__)("Md","wp-bootstrap-blocks"),value:"md"},{label:Object(a.__)("Sm","wp-bootstrap-blocks"),value:"sm"}];y()&&(P=[{label:Object(a.__)("Xxl","wp-bootstrap-blocks"),value:"xxl"}].concat(v()(P))),P=[{label:Object(a.__)("No breakpoint selected","wp-bootstrap-blocks"),value:""}].concat(v()(P));var z=function(t){d()(o,t);var e=C(o);function o(){return u()(this,o),e.apply(this,arguments)}return f()(o,[{key:"render",value:function(){var t=this.props,e=t.attributes,o=t.className,n=t.setAttributes,l=t.hasChildBlocks,s=e.isFluid,i=e.fluidBreakpoint,b=e.marginAfter;return Object(r.createElement)(r.Fragment,null,Object(r.createElement)(B,null,Object(r.createElement)(c.PanelBody,{title:Object(a.__)("Fluid","wp-bootstrap-blocks")},Object(r.createElement)(c.CheckboxControl,{label:Object(a.__)("Fluid","wp-bootstrap-blocks"),checked:s,onChange:function(t){n({isFluid:t})}}),Object(r.createElement)(c.SelectControl,{label:Object(a.__)("Fluid Breakpoint","wp-bootstrap-blocks"),disabled:!s,value:i,options:P,onChange:function(t){n({fluidBreakpoint:t})},help:Object(a.__)("Fluid breakpoints only work with Bootstrap v4.4+. The container will be 100% wide until the specified breakpoint is reached, after which max-widths for each of the higher breakpoints will be applied.","wp-bootstrap-blocks")})),Object(r.createElement)(c.PanelBody,{title:Object(a.__)("Margin","wp-bootstrap-blocks")},Object(r.createElement)(c.SelectControl,{label:Object(a.__)("Margin After","wp-bootstrap-blocks"),value:b,options:S,onChange:function(t){n({marginAfter:t})}}))),Object(r.createElement)("div",{className:o},Object(r.createElement)(x,{renderAppender:l?void 0:function(){return Object(r.createElement)(x.ButtonBlockAppender,null)}})))}}]),o}(r.Component),M=Object(_.compose)(Object(g.withSelect)((function(t,e){var o=e.clientId;return{hasChildBlocks:(0,(t("core/block-editor")||t("core/editor")).getBlockOrder)(o).length>0}})))(z),A=(o(26),(s||i).InnerBlocks);Object(l.registerBlockType)("wp-bootstrap-blocks/container",{title:Object(a.__)("Container","wp-bootstrap-blocks"),icon:"feedback",category:"wp-bootstrap-blocks",keywords:[Object(a.__)("Container","wp-bootstrap-blocks"),Object(a.__)("Bootstrap Container","wp-bootstrap-blocks"),Object(a.__)("Bootstrap","wp-bootstrap-blocks")],supports:{align:!1},edit:M,save:function(){return Object(r.createElement)(A.Content,null)}});var V=o(17),F=o.n(V),R=o(15),H=o.n(R),L=o(18),N=o.n(L);function X(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var o,n=j()(t);if(e){var r=j()(this).constructor;o=Reflect.construct(n,arguments,r)}else o=n.apply(this,arguments);return O()(this,o)}}var q=s||i,G=q.InnerBlocks,I=q.InspectorControls,T=function(t){var e=t.label,o=t.attributeName,n=t.value,l=t.setAttributes,a=N()(t,["label","attributeName","value","setAttributes"]);return Object(r.createElement)(c.RangeControl,F()({label:e,value:n,onChange:function(t){l(H()({},o,t))},min:0,max:12},a))},D=[{name:"primary",color:"#007bff"},{name:"secondary",color:"#6c757d"}];D=Object(n.applyFilters)("wpBootstrapBlocks.column.bgColorOptions",D);var W=[{label:Object(a.__)("None","wp-bootstrap-blocks"),value:""},{label:Object(a.__)("Small","wp-bootstrap-blocks"),value:"p-2"},{label:Object(a.__)("Medium","wp-bootstrap-blocks"),value:"p-3"},{label:Object(a.__)("Large","wp-bootstrap-blocks"),value:"p-5"}];W=Object(n.applyFilters)("wpBootstrapBlocks.column.paddingOptions",W);var Z=function(t){d()(o,t);var e=X(o);function o(){return u()(this,o),e.apply(this,arguments)}return f()(o,[{key:"render",value:function(){var t=this.props,e=t.attributes,o=t.className,n=t.setAttributes,l=t.hasChildBlocks,s=e.sizeXxl,i=e.sizeXl,b=e.sizeLg,u=e.sizeMd,p=e.sizeSm,f=e.sizeXs,m=e.equalWidthXxl,d=e.equalWidthXl,h=e.equalWidthLg,O=e.equalWidthMd,w=e.equalWidthSm,j=e.equalWidthXs,k=e.bgColor,v=e.padding,g=e.centerContent;return!k&&g&&n({centerContent:!1}),Object(r.createElement)(r.Fragment,null,Object(r.createElement)(I,null,Object(r.createElement)(c.PanelBody,{title:Object(a.__)("Column size","wp-bootstrap-blocks"),initialOpen:!1},Object(r.createElement)(T,{label:Object(a.__)("Xs Column count","wp-bootstrap-blocks"),attributeName:"sizeXs",value:f,disabled:j,setAttributes:n}),Object(r.createElement)(c.CheckboxControl,{label:Object(a.__)("Xs equal-width","wp-bootstrap-blocks"),checked:j,onChange:function(t){return n({equalWidthXs:t})}}),Object(r.createElement)("hr",null),Object(r.createElement)(T,{label:Object(a.__)("Sm Column count","wp-bootstrap-blocks"),attributeName:"sizeSm",value:p,disabled:w,setAttributes:n}),Object(r.createElement)(c.CheckboxControl,{label:Object(a.__)("Sm equal-width","wp-bootstrap-blocks"),checked:w,onChange:function(t){return n({equalWidthSm:t})}}),Object(r.createElement)("hr",null),Object(r.createElement)(T,{label:Object(a.__)("Md Column count","wp-bootstrap-blocks"),attributeName:"sizeMd",value:u,disabled:O,setAttributes:n}),Object(r.createElement)(c.CheckboxControl,{label:Object(a.__)("Md equal-width","wp-bootstrap-blocks"),checked:O,onChange:function(t){return n({equalWidthMd:t})}}),Object(r.createElement)("hr",null),Object(r.createElement)(T,{label:Object(a.__)("Lg Column count","wp-bootstrap-blocks"),attributeName:"sizeLg",value:b,disabled:h,setAttributes:n}),Object(r.createElement)(c.CheckboxControl,{label:Object(a.__)("Lg equal-width","wp-bootstrap-blocks"),checked:h,onChange:function(t){return n({equalWidthLg:t})}}),Object(r.createElement)("hr",null),Object(r.createElement)(T,{label:Object(a.__)("Xl Column count","wp-bootstrap-blocks"),attributeName:"sizeXl",value:i,disabled:d,setAttributes:n}),Object(r.createElement)(c.CheckboxControl,{label:Object(a.__)("Xl equal-width","wp-bootstrap-blocks"),checked:d,onChange:function(t){return n({equalWidthXl:t})}}),y()&&Object(r.createElement)(r.Fragment,null,Object(r.createElement)("hr",null),Object(r.createElement)(T,{label:Object(a.__)("Xxl Column count","wp-bootstrap-blocks"),attributeName:"sizeXxl",value:s,disabled:m,setAttributes:n}),Object(r.createElement)(c.CheckboxControl,{label:Object(a.__)("Xxl equal-width","wp-bootstrap-blocks"),checked:m,onChange:function(t){return n({equalWidthXxl:t})}}))),Object(r.createElement)(c.PanelBody,{title:Object(a.__)("Background color","wp-bootstrap-blocks"),initialOpen:!1},Object(r.createElement)(c.ColorPalette,{colors:D,value:k,onChange:function(t){if(t){var e=D.find((function(e){return e.color===t}));e&&n({bgColor:e.name})}else n({bgColor:"",centerContent:!1})},disableCustomColors:!0}),k?Object(r.createElement)(c.CheckboxControl,{label:Object(a.__)("Center content vertically in row","wp-bootstrap-blocks"),checked:g,onChange:function(t){return n({centerContent:t})},help:Object(a.__)("This setting only applies if there is no vertical alignment set on the parent row block.","wp-bootstrap-blocks")}):null),Object(r.createElement)(c.PanelBody,{title:Object(a.__)("Padding (inside column)","wp-bootstrap-blocks"),initialOpen:!1},Object(r.createElement)(c.SelectControl,{label:Object(a.__)("Size","wp-bootstrap-blocks"),value:v,options:W,onChange:function(t){n({padding:t})}}))),Object(r.createElement)("div",{className:o},Object(r.createElement)(G,{templateLock:!1,renderAppender:l?void 0:function(){return Object(r.createElement)(G.ButtonBlockAppender,null)}})))}}]),o}(r.Component),J=Object(_.compose)(Object(g.withSelect)((function(t,e){var o=e.clientId;return{hasChildBlocks:(0,(t("core/block-editor")||t("core/editor")).getBlockOrder)(o).length>0}})))(Z),U=(s||i).InnerBlocks;Object(l.registerBlockType)("wp-bootstrap-blocks/column",{title:Object(a.__)("Column","wp-bootstrap-blocks"),icon:"menu",category:"wp-bootstrap-blocks",keywords:[Object(a.__)("Column","wp-bootstrap-blocks"),Object(a.__)("Bootstrap Column","wp-bootstrap-blocks"),Object(a.__)("Bootstrap","wp-bootstrap-blocks")],parent:["wp-bootstrap-blocks/row"],getEditWrapperProps:function(t){var e=t.sizeXxl,o=t.sizeXl,n=t.sizeLg,r=t.sizeMd,l=t.sizeSm,c=t.sizeXs,a=t.equalWidthXxl,s=t.equalWidthXl,i=t.equalWidthLg,b=t.equalWidthMd,u=t.equalWidthSm,p=t.equalWidthXs,f=t.bgColor,m=t.padding,d=t.centerContent,h={};if(f){var O=D.find((function(t){return t.name===f}));O&&(h={backgroundColor:O.color})}return{"data-size-xs":a||s||i||b||u||p?0:c,"data-size-sm":a||s||i||b||u?0:l,"data-size-md":a||s||i||b?0:r,"data-size-lg":a||s||i?0:n,"data-size-xl":a||s?0:o,"data-size-xxl":a?0:e,"data-bg-color":f,"data-padding":m,"data-center-content":d,style:h}},edit:J,save:function(){return Object(r.createElement)(U.Content,null)}});var Y=Object(r.createElement)(c.SVG,{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24"},Object(r.createElement)(c.Path,{fill:"none",d:"M0 0h24v24H0V0z"}),Object(r.createElement)(c.Path,{d:"M16 13h-3V3h-2v10H8l4 4 4-4zM4 19v2h16v-2H4z"})),$=Object(r.createElement)(c.SVG,{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24"},Object(r.createElement)(c.Path,{fill:"none",d:"M0 0h24v24H0V0z"}),Object(r.createElement)(c.Path,{d:"M8 19h3v4h2v-4h3l-4-4-4 4zm8-14h-3V1h-2v4H8l4 4 4-4zM4 11v2h16v-2H4z"})),K=Object(r.createElement)(c.SVG,{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24"},Object(r.createElement)(c.Path,{fill:"none",d:"M0 0h24v24H0V0z"}),Object(r.createElement)(c.Path,{d:"M8 11h3v10h2V11h3l-4-4-4 4zM4 3v2h16V3H4z"})),Q=Object(r.createElement)(c.SVG,{width:"48",height:"48",viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg"},Object(r.createElement)(c.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M23.58 26.28c0-.600003.1499985-1.099998.45-1.5.3000015-.400002.7433304-.8399976 1.33-1.32.5600028-.4533356.9833319-.8699981 1.27-1.25s.43-.8433306.43-1.39c0-.5466694-.1733316-1.0566643-.52-1.53s-.986662-.71-1.92-.71c-1.1066722 0-1.8533314.2766639-2.24.83-.3866686.5533361-.58 1.1766632-.58 1.87 0 .1466674.0033333.2666662.01.36.0066667.0933338.01.1533332.01.18h-1.78c-.0133334-.0533336-.0266666-.146666-.04-.28-.0133334-.133334-.02-.2733326-.02-.42 0-.7733372.1766649-1.4666636.53-2.08.3533351-.6133364.8899964-1.0999982 1.61-1.46.7200036-.3600018 1.5999948-.54 2.64-.54 1.2133394 0 2.2033295.3233301 2.97.97s1.15 1.5099946 1.15 2.59c0 .7066702-.1033323 1.3033309-.31 1.79-.2066677.4866691-.4533319.8799985-.74 1.18-.2866681.3000015-.6566644.6233316-1.11.97-.4800024.3866686-.8333322.7166653-1.06.99-.2266678.2733347-.34.6233312-.34 1.05v.82h-1.74zm-.14 2.56h2V31h-2zM39 12c1.1046 0 2 .8954 2 2v20c0 1.1046-.8954 2-2 2H9c-1.10457 0-2-.8954-2-2V14c0-1.1046.89543-2 2-2h30zm0 22V14H9v20h30z"}));function tt(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var o,n=j()(t);if(e){var r=j()(this).constructor;o=Reflect.construct(n,arguments,r)}else o=n.apply(this,arguments);return O()(this,o)}}function et(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.push.apply(o,n)}return o}var ot=s||i,nt=ot.InnerBlocks,rt=ot.InspectorControls,lt=ot.BlockControls,ct=ot.AlignmentToolbar,at=["wp-bootstrap-blocks/column"],st=[{name:"1-1",title:Object(a.__)("2 Columns (1:1)","wp-bootstrap-blocks"),icon:Object(r.createElement)(c.SVG,{width:"48",height:"48",viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg"},Object(r.createElement)(c.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H25V34H39ZM23 34H9V14H23V34Z"})),templateLock:"all",template:[["wp-bootstrap-blocks/column",{sizeMd:6}],["wp-bootstrap-blocks/column",{sizeMd:6}]]},{name:"1-2",title:Object(a.__)("2 Columns (1:2)","wp-bootstrap-blocks"),icon:Object(r.createElement)(c.SVG,{width:"48",height:"48",viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg"},Object(r.createElement)(c.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H20V34H39ZM18 34H9V14H18V34Z"})),templateLock:"all",template:[["wp-bootstrap-blocks/column",{sizeMd:4}],["wp-bootstrap-blocks/column",{sizeMd:8}]]},{name:"2-1",title:Object(a.__)("2 Columns (2:1)","wp-bootstrap-blocks"),icon:Object(r.createElement)(c.SVG,{width:"48",height:"48",viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg"},Object(r.createElement)(c.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H30V34H39ZM28 34H9V14H28V34Z"})),templateLock:"all",template:[["wp-bootstrap-blocks/column",{sizeMd:8}],["wp-bootstrap-blocks/column",{sizeMd:4}]]},{name:"1-1-1",title:Object(a.__)("3 Columns (1:1:1)","wp-bootstrap-blocks"),icon:Object(r.createElement)(c.SVG,{width:"48",height:"48",viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg"},Object(r.createElement)(c.Path,{fillRule:"evenodd",d:"M41 14a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h30a2 2 0 0 0 2-2V14zM28.5 34h-9V14h9v20zm2 0V14H39v20h-8.5zm-13 0H9V14h8.5v20z"})),templateLock:"all",template:[["wp-bootstrap-blocks/column",{sizeMd:4}],["wp-bootstrap-blocks/column",{sizeMd:4}],["wp-bootstrap-blocks/column",{sizeMd:4}]]}];st=Object(n.applyFilters)("wpBootstrapBlocks.row.templates",st),st=st.map((function(t){return function(t){for(var e=1;eo){var n=e.template[o][1];b(t.clientId,n)}})),s({template:t}))}(t.name)},className:u===t.name?"is-active":null},Object(r.createElement)("div",{className:"wp-bootstrap-blocks-template-selector-button-label"},t.title)))})))),Object(r.createElement)(c.PanelBody,{title:Object(a.__)("Row options","wp-bootstrap-blocks")},Object(r.createElement)(c.CheckboxControl,{label:Object(a.__)("No Gutters","wp-bootstrap-blocks"),checked:p,onChange:function(t){return s({noGutters:t})}}),y()&&!p&&Object(r.createElement)(r.Fragment,null,Object(r.createElement)(c.SelectControl,{label:Object(a.__)("Horizontal Gutters","wp-bootstrap-blocks"),value:h,options:it,onChange:function(t){s({horizontalGutters:t})}}),Object(r.createElement)(c.SelectControl,{label:Object(a.__)("Vertical Gutters","wp-bootstrap-blocks"),value:O,options:bt,onChange:function(t){s({verticalGutters:t})}})))),Object(r.createElement)(lt,null,Object(r.createElement)(ct,{value:f,label:Object(a.__)("Change horizontal alignment of columns","wp-bootstrap-blocks"),onChange:function(t){return s({alignment:t})},alignmentControls:w}),Object(r.createElement)(ct,{value:m,label:Object(a.__)("Change vertical alignment of columns","wp-bootstrap-blocks"),onChange:function(t){return s({verticalAlignment:t})},alignmentControls:j})),Object(r.createElement)("div",{className:n},Object(r.createElement)(nt,{allowedBlocks:at,template:(t=u,e=st.find((function(e){return e.name===t})),e?e.template:[]),templateLock:ut(u)})))}}]),o}(r.Component),ft=Object(g.withSelect)((function(t,e){var o=e.clientId,n=(t("core/block-editor")||t("core/editor")).getBlocksByClientId;return{columns:n(o)[0]?n(o)[0].innerBlocks:[]}})),mt=Object(g.withDispatch)((function(t){return{updateBlockAttributes:(t("core/block-editor")||t("core/editor")).updateBlockAttributes}})),dt=Object(_.compose)(ft,mt)(pt),ht=(o(28),o(29),(s||i).InnerBlocks);function Ot(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var o,n=j()(t);if(e){var r=j()(this).constructor;o=Reflect.construct(n,arguments,r)}else o=n.apply(this,arguments);return O()(this,o)}}Object(l.registerBlockType)("wp-bootstrap-blocks/row",{title:Object(a.__)("Row","wp-bootstrap-blocks"),icon:"layout",category:"wp-bootstrap-blocks",keywords:[Object(a.__)("Row","wp-bootstrap-blocks"),Object(a.__)("Bootstrap Row","wp-bootstrap-blocks"),Object(a.__)("Bootstrap","wp-bootstrap-blocks")],supports:{align:["full"]},getEditWrapperProps:function(t){return{"data-alignment":t.alignment,"data-vertical-alignment":t.verticalAlignment,"data-editor-stack-columns":t.editorStackColumns}},edit:dt,save:function(){return Object(r.createElement)(ht.Content,null)}});var wt=s||i,jt=wt.RichText,kt=wt.URLInput,vt=wt.InspectorControls,gt=wt.BlockControls,_t=wt.AlignmentToolbar,yt=function(t){d()(o,t);var e=Ot(o);function o(){return u()(this,o),e.apply(this,arguments)}return f()(o,[{key:"render",value:function(){var t=this.props,e=t.attributes,o=t.className,l=t.setAttributes,s=t.isSelected,i=e.url,b=e.linkTarget,u=e.rel,p=e.text,f=e.style,m=e.alignment,d=[{label:Object(a.__)("Primary","wp-bootstrap-blocks"),value:"primary"},{label:Object(a.__)("Secondary","wp-bootstrap-blocks"),value:"secondary"}];d=Object(n.applyFilters)("wpBootstrapBlocks.button.styleOptions",d);return Object(r.createElement)(r.Fragment,null,Object(r.createElement)("div",{className:o,"data-alignment":m},Object(r.createElement)(jt,{placeholder:Object(a.__)("Add text...","wp-bootstrap-blocks"),value:p,onChange:function(t){return l({text:t})},formattingControls:[],keepPlaceholderOnFocus:!0}),Object(r.createElement)(vt,null,Object(r.createElement)(c.PanelBody,null,Object(r.createElement)(c.SelectControl,{label:Object(a.__)("Style","wp-bootstrap-blocks"),value:f,options:d,onChange:function(t){l({style:t})}})),Object(r.createElement)(c.PanelBody,{title:Object(a.__)("Link settings","wp-bootstrap-blocks")},Object(r.createElement)(c.ToggleControl,{label:Object(a.__)("Open in new tab","wp-bootstrap-blocks"),onChange:function(t){var e=t?"_blank":void 0,o=u;e&&!u?o="noreferrer noopener":e||"noreferrer noopener"!==u||(o=void 0),l({linkTarget:e,rel:o})},checked:"_blank"===b}),Object(r.createElement)(c.TextControl,{label:Object(a.__)("Link rel","wp-bootstrap-blocks"),value:u||"",onChange:function(t){l({rel:t})}}))),Object(r.createElement)(gt,null,Object(r.createElement)(_t,{value:m,label:Object(a.__)("Change button alignment","wp-bootstrap-blocks"),onChange:function(t){return l({alignment:t})}}))),s&&Object(r.createElement)("form",{className:"wp-block-wp-bootstrap-blocks-button-link",onSubmit:function(t){return t.preventDefault()}},Object(r.createElement)(c.Dashicon,{icon:"admin-links"}),Object(r.createElement)(kt,{value:i,onChange:function(t){return l({url:t})}}),Object(r.createElement)(c.IconButton,{icon:"editor-break",label:Object(a.__)("Apply","wp-bootstrap-blocks"),type:"submit"})))}}]),o}(r.Component);o(30);Object(l.registerBlockType)("wp-bootstrap-blocks/button",{title:Object(a.__)("Button","wp-bootstrap-blocks"),icon:Object(r.createElement)(c.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Object(r.createElement)(c.Path,{fill:"none",d:"M0 0h24v24H0V0z"}),Object(r.createElement)(c.G,null,Object(r.createElement)(c.Path,{d:"M19 6H5c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 10H5V8h14v8z"}))),category:"wp-bootstrap-blocks",keywords:[Object(a.__)("Button","wp-bootstrap-blocks"),Object(a.__)("Bootstrap Button","wp-bootstrap-blocks"),Object(a.__)("Bootstrap","wp-bootstrap-blocks")],example:{},getEditWrapperProps:function(t){return{"data-alignment":t.alignment}},edit:yt,save:function(){return null}})}]); \ No newline at end of file diff --git a/e2e-tests/button/__snapshots__/button-block.spec.js.snap b/e2e-tests/button/__snapshots__/button-block.spec.js.snap index 9315040ee..8328ecaf1 100644 --- a/e2e-tests/button/__snapshots__/button-block.spec.js.snap +++ b/e2e-tests/button/__snapshots__/button-block.spec.js.snap @@ -2,8 +2,16 @@ exports[`button block Button block should be initialized with default attributes 1`] = `""`; +exports[`button block Should be possible to enable and disable open in new tab 1`] = `""`; + +exports[`button block Should be possible to enable and disable open in new tab 2`] = `""`; + exports[`button block Should be possible to select style 1`] = `""`; exports[`button block Should be possible to set link url and text 1`] = `""`; exports[`button block Should be possible to set link url and text 2`] = `""`; + +exports[`button block Should keep rel value if set when open in new tab is enabled or disabled 1`] = `""`; + +exports[`button block Should keep rel value if set when open in new tab is enabled or disabled 2`] = `""`; diff --git a/e2e-tests/button/button-block.spec.js b/e2e-tests/button/button-block.spec.js index 8508d5474..e44914348 100644 --- a/e2e-tests/button/button-block.spec.js +++ b/e2e-tests/button/button-block.spec.js @@ -7,9 +7,17 @@ import { createNewPost, getEditedPostContent, } from '@wordpress/e2e-test-utils'; -import { ensureSidebarOpened, selectOption } from '../helper'; +import { + clickElementByText, + ensureSidebarOpened, + getTextControlValueByLabel, + selectOption, + setTextControlValueByLabel, +} from '../helper'; import { insertButtonBlock, selectButtonBlock } from './button-helper'; +const NEW_TAB_REL_DEFAULT_VALUE = 'noreferrer noopener'; + describe( 'button block', () => { beforeEach( async () => { await createNewPost(); @@ -72,4 +80,63 @@ describe( 'button block', () => { // Editor content should match snapshot expect( await getEditedPostContent() ).toMatchSnapshot(); } ); + + it( 'Should be possible to enable and disable open in new tab', async () => { + await insertButtonBlock(); + await selectButtonBlock(); + await ensureSidebarOpened(); + + // Enable open in new tab + await clickElementByText( 'label', 'Open in new tab' ); + + // Check if default rel value is set + expect( await getTextControlValueByLabel( 'Link rel' ) ).toMatch( + NEW_TAB_REL_DEFAULT_VALUE + ); + + // Editor content should match snapshot + expect( await getEditedPostContent() ).toMatchSnapshot(); + + // Disable open in new tab + await clickElementByText( 'label', 'Open in new tab' ); + + // Check if default rel value is removed + expect( await getTextControlValueByLabel( 'Link rel' ) ).toMatch( '' ); + + // Editor content should match snapshot + expect( await getEditedPostContent() ).toMatchSnapshot(); + } ); + + it( 'Should keep rel value if set when open in new tab is enabled or disabled', async () => { + await insertButtonBlock(); + await selectButtonBlock(); + await ensureSidebarOpened(); + + const customRelValue = 'custom rel value'; + + // Enable no gutters option + await setTextControlValueByLabel( 'Link rel', customRelValue ); + + // Enable open in new tab + await clickElementByText( 'label', 'Open in new tab' ); + + // Check if rel value hasn't changed + expect( await getTextControlValueByLabel( 'Link rel' ) ).toMatch( + customRelValue + ); + + // Editor content should match snapshot + expect( await getEditedPostContent() ).toMatchSnapshot(); + + // Disable open in new tab + await clickElementByText( 'label', 'Open in new tab' ); + + // Check if rel value hasn't changed + expect( await getTextControlValueByLabel( 'Link rel' ) ).toMatch( + customRelValue + ); + + // Editor content should match snapshot + expect( await getEditedPostContent() ).toMatchSnapshot(); + } ); } ); diff --git a/e2e-tests/button/button-filters.spec.js b/e2e-tests/button/button-filters.spec.js index a234fbeab..fb62b4291 100644 --- a/e2e-tests/button/button-filters.spec.js +++ b/e2e-tests/button/button-filters.spec.js @@ -13,6 +13,8 @@ import { getInputValueByLabel, getRichTextValueByLabel, getSelectedValueBySelectLabel, + getTextControlValueByLabel, + getToggleValueByLabel, selectOption, selectOptionIsAvailable, toolbarOptionIsActive, @@ -76,6 +78,14 @@ describe( 'button block filters', () => { 'https://liip.ch' ); + // Open in new tab is enabled + expect( await getToggleValueByLabel( 'Open in new tab' ) ).toBe( true ); + + // Rel should be set + expect( await getTextControlValueByLabel( 'Link rel' ) ).toBe( + 'custom rel' + ); + // Check if attributes are set correctly expect( await getEditedPostContent() ).toMatchSnapshot(); } ); diff --git a/e2e-tests/helper.js b/e2e-tests/helper.js index f6ac42075..1860b430b 100644 --- a/e2e-tests/helper.js +++ b/e2e-tests/helper.js @@ -83,6 +83,20 @@ export const getRichTextValueByLabel = async ( label ) => { ); }; +export const getTextControlValueByLabel = async ( label ) => { + const [ inputEl ] = await page.$x( + `//label[@class="components-base-control__label"][contains(text(),"${ label }")]/following-sibling::input[@class="components-text-control__input"]` + ); + return await page.evaluate( ( el ) => el.value, inputEl ); +}; + +export const setTextControlValueByLabel = async ( label, value ) => { + const [ inputEl ] = await page.$x( + `//label[@class="components-base-control__label"][contains(text(),"${ label }")]/following-sibling::input[@class="components-text-control__input"]` + ); + await inputEl.type( value ); +}; + export const inputIsDisabledByLabel = async ( label ) => { return ( ( await page.$( `input[aria-label="${ label }"][disabled]` ) ) !== null @@ -110,6 +124,13 @@ export const getCheckboxValueByLabel = async ( label ) => { return await page.evaluate( ( el ) => el.checked, inputEl ); }; +export const getToggleValueByLabel = async ( label ) => { + const [ inputEl ] = await page.$x( + `//label[@class="components-toggle-control__label"][contains(text(),"${ label }")]/preceding-sibling::span[contains(@class, "components-form-toggle")]/input` + ); + return await page.evaluate( ( el ) => el.checked, inputEl ); +}; + export const getSelectedValueBySelectLabel = async ( label ) => { const [ selectEl ] = await page.$x( `//label[@class="components-base-control__label"][contains(text(),"${ label }")]/following-sibling::select[@class="components-select-control__input"]` diff --git a/e2e-tests/plugins/button-filters.php b/e2e-tests/plugins/button-filters.php index 4e3b999dd..7f1d1bbc6 100644 --- a/e2e-tests/plugins/button-filters.php +++ b/e2e-tests/plugins/button-filters.php @@ -33,6 +33,8 @@ function enqueue_button_filters_plugin_script() { */ function button_filters_default_attributes( $default_attributes ) { $default_attributes['url'] = 'https://liip.ch'; + $default_attributes['linkTarget'] = '_blank'; + $default_attributes['rel'] = 'custom rel'; $default_attributes['text'] = 'Liip'; $default_attributes['style'] = 'secondary'; $default_attributes['alignment'] = 'center'; diff --git a/languages/wp-bootstrap-blocks-de_CH-dfbff627e6c248bcb3b61d7d06da9ca9.json b/languages/wp-bootstrap-blocks-de_CH-dfbff627e6c248bcb3b61d7d06da9ca9.json index 3fe618be4..11dbe48c8 100644 --- a/languages/wp-bootstrap-blocks-de_CH-dfbff627e6c248bcb3b61d7d06da9ca9.json +++ b/languages/wp-bootstrap-blocks-de_CH-dfbff627e6c248bcb3b61d7d06da9ca9.json @@ -1 +1 @@ -{"translation-revision-date":"2020-10-18 20:43+0200","generator":"WP-CLI\/2.4.0","source":"build\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH","plural-forms":"nplurals=2; plural=(n != 1);"},"Button":["Button"],"Bootstrap Button":["Bootstrap Button"],"Bootstrap":["Bootstrap"],"Primary":["Primary"],"Secondary":["Secondary"],"Add text...":["Text hinzuf\u00fcgen..."],"Style":["Stil"],"Change button alignment":["\u00c4ndere die Positionierung des Buttons"],"Apply":["\u00dcbernehmen"],"Column":["Column"],"Bootstrap Column":["Bootstrap Column"],"None":["Deaktiviert"],"Small":["Klein"],"Medium":["Mittel"],"Large":["Gross"],"Column size":["Anzahl Spalten"],"Xs Column count":["Xs Anzahl Spalten"],"Xs equal-width":["Xs gleiche Breite (equal-width)"],"Sm Column count":["Sm Anzahl Spalten"],"Sm equal-width":["Sm gleiche Breite (equal-width)"],"Md Column count":["Md Anzahl Spalten"],"Md equal-width":["Md gleiche Breite (equal-width)"],"Lg Column count":["Lg Anzahl Spalten"],"Lg equal-width":["Lg gleiche Breite (equal-width)"],"Xl Column count":["Xl Anzahl Spalten"],"Xl equal-width":["Xl gleiche Breite (equal-width)"],"Xxl Column count":["Xxl Anzahl Spalten"],"Xxl equal-width":["Xxl gleiche Breite (equal-width)"],"Background color":["Hintergrundfarbe"],"Center content vertically in row":["Zeileninhalt vertikal zentrieren"],"This setting only applies if there is no vertical alignment set on the parent row block.":["Diese Einstellung kann nur verwendet werden, wenn auf dem umschliessenden Row-Block keine vertikale Positionierung gesetzt ist."],"Padding (inside column)":["Padding (innerhalb der Spalte)"],"Size":["Gr\u00f6sse"],"Container":["Container"],"Bootstrap Container":["Bootstrap Container"],"Xl":["Xl"],"Lg":["Lg"],"Md":["Md"],"Sm":["Sm"],"Xxl":["Xxl"],"No breakpoint selected":["Kein Breakpoint ausgew\u00e4hlt"],"Fluid":["Fluid"],"Fluid Breakpoint":["Fluid Breakpoint"],"Fluid breakpoints only work with Bootstrap v4.4+. The container will be 100% wide until the specified breakpoint is reached, after which max-widths for each of the higher breakpoints will be applied.":["Fluid Breakpoints werden erst ab Bootstrap v4.4+ unterst\u00fctzt. Wenn die Option aktiviert ist, nimmt der Container 100% der Breite ein bis zum gew\u00e4hlten Breakpoint. Ab diesem Breakpoint gilt die jeweilige maximale Breite (max-width) des Containers."],"Margin":["Margin"],"Margin After":["Margin unterhalb vom Block"],"Row":["Row"],"Bootstrap Row":["Bootstrap Row"],"2 Columns (1:1)":["2 Spalten (1:1)"],"2 Columns (1:2)":["2 Spalten (1:2)"],"2 Columns (2:1)":["2 Spalten (2:1)"],"3 Columns (1:1:1)":["3 Spalten (1:1:1)"],"Custom":["Benutzerdefiniert"],"Bootstrap Default":["Bootstrap Standardwert"],"Bootstrap Default (None)":["Bootstrap Standardwert (Kein Abstand)"],"Align columns left":["Spalten links positionieren"],"Align columns center":["Spalten zentrieren"],"Align columns right":["Spalten rechts positionieren"],"Align columns top":["Spalten oben positionieren"],"Align columns bottom":["Spalten unten positionieren"],"Editor: Display columns stacked":["Editor: Spalten untereinander darstellen"],"Displays stacked columns in editor to enhance readability of block content. This option is only used in the editor and won't affect the output of the row.":["Stellt die Spalten untereinander dar um die Lesbarkeit der Block-Inhalte zu verbessern. Diese Option wird lediglich f\u00fcr den Editor verwendet und ver\u00e4ndert die Ausgabe des Blocks nicht."],"Change layout":["Layout \u00e4ndern"],"Row options":["Zeilen Optionen"],"No Gutters":["Keine Abst\u00e4nde zwischen Spalten (No Gutters)"],"Horizontal Gutters":["Horizontale Abst\u00e4nde zwischen Spalten"],"Vertical Gutters":["Vertikale Abst\u00e4nde zwischen Spalten"],"Change horizontal alignment of columns":["\u00c4ndere die horizontale Positionierung der Spalten"],"Change vertical alignment of columns":["\u00c4ndere die vertikale Positionierung der Spalten"]}}} \ No newline at end of file +{"translation-revision-date":"2020-10-18 22:25+0200","generator":"WP-CLI\/2.4.0","source":"build\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH","plural-forms":"nplurals=2; plural=(n != 1);"},"Button":["Button"],"Bootstrap Button":["Bootstrap Button"],"Bootstrap":["Bootstrap"],"Primary":["Primary"],"Secondary":["Secondary"],"Add text...":["Text hinzuf\u00fcgen..."],"Style":["Stil"],"Link settings":["Link-Einstellungen"],"Open in new tab":["In einem neuen Tab \u00f6ffnen"],"Link rel":["Link rel"],"Change button alignment":["\u00c4ndere die Positionierung des Buttons"],"Apply":["\u00dcbernehmen"],"Column":["Column"],"Bootstrap Column":["Bootstrap Column"],"None":["Deaktiviert"],"Small":["Klein"],"Medium":["Mittel"],"Large":["Gross"],"Column size":["Anzahl Spalten"],"Xs Column count":["Xs Anzahl Spalten"],"Xs equal-width":["Xs gleiche Breite (equal-width)"],"Sm Column count":["Sm Anzahl Spalten"],"Sm equal-width":["Sm gleiche Breite (equal-width)"],"Md Column count":["Md Anzahl Spalten"],"Md equal-width":["Md gleiche Breite (equal-width)"],"Lg Column count":["Lg Anzahl Spalten"],"Lg equal-width":["Lg gleiche Breite (equal-width)"],"Xl Column count":["Xl Anzahl Spalten"],"Xl equal-width":["Xl gleiche Breite (equal-width)"],"Xxl Column count":["Xxl Anzahl Spalten"],"Xxl equal-width":["Xxl gleiche Breite (equal-width)"],"Background color":["Hintergrundfarbe"],"Center content vertically in row":["Zeileninhalt vertikal zentrieren"],"This setting only applies if there is no vertical alignment set on the parent row block.":["Diese Einstellung kann nur verwendet werden, wenn auf dem umschliessenden Row-Block keine vertikale Positionierung gesetzt ist."],"Padding (inside column)":["Padding (innerhalb der Spalte)"],"Size":["Gr\u00f6sse"],"Container":["Container"],"Bootstrap Container":["Bootstrap Container"],"Xl":["Xl"],"Lg":["Lg"],"Md":["Md"],"Sm":["Sm"],"Xxl":["Xxl"],"No breakpoint selected":["Kein Breakpoint ausgew\u00e4hlt"],"Fluid":["Fluid"],"Fluid Breakpoint":["Fluid Breakpoint"],"Fluid breakpoints only work with Bootstrap v4.4+. The container will be 100% wide until the specified breakpoint is reached, after which max-widths for each of the higher breakpoints will be applied.":["Fluid Breakpoints werden erst ab Bootstrap v4.4+ unterst\u00fctzt. Wenn die Option aktiviert ist, nimmt der Container 100% der Breite ein bis zum gew\u00e4hlten Breakpoint. Ab diesem Breakpoint gilt die jeweilige maximale Breite (max-width) des Containers."],"Margin":["Margin"],"Margin After":["Margin unterhalb vom Block"],"Row":["Row"],"Bootstrap Row":["Bootstrap Row"],"2 Columns (1:1)":["2 Spalten (1:1)"],"2 Columns (1:2)":["2 Spalten (1:2)"],"2 Columns (2:1)":["2 Spalten (2:1)"],"3 Columns (1:1:1)":["3 Spalten (1:1:1)"],"Custom":["Benutzerdefiniert"],"Bootstrap Default":["Bootstrap Standardwert"],"Bootstrap Default (None)":["Bootstrap Standardwert (Kein Abstand)"],"Align columns left":["Spalten links positionieren"],"Align columns center":["Spalten zentrieren"],"Align columns right":["Spalten rechts positionieren"],"Align columns top":["Spalten oben positionieren"],"Align columns bottom":["Spalten unten positionieren"],"Editor: Display columns stacked":["Editor: Spalten untereinander darstellen"],"Displays stacked columns in editor to enhance readability of block content. This option is only used in the editor and won't affect the output of the row.":["Stellt die Spalten untereinander dar um die Lesbarkeit der Block-Inhalte zu verbessern. Diese Option wird lediglich f\u00fcr den Editor verwendet und ver\u00e4ndert die Ausgabe des Blocks nicht."],"Change layout":["Layout \u00e4ndern"],"Row options":["Zeilen Optionen"],"No Gutters":["Keine Abst\u00e4nde zwischen Spalten (No Gutters)"],"Horizontal Gutters":["Horizontale Abst\u00e4nde zwischen Spalten"],"Vertical Gutters":["Vertikale Abst\u00e4nde zwischen Spalten"],"Change horizontal alignment of columns":["\u00c4ndere die horizontale Positionierung der Spalten"],"Change vertical alignment of columns":["\u00c4ndere die vertikale Positionierung der Spalten"]}}} \ No newline at end of file diff --git a/languages/wp-bootstrap-blocks-de_CH.mo b/languages/wp-bootstrap-blocks-de_CH.mo index 026fdbb3f..62f2f40c0 100644 Binary files a/languages/wp-bootstrap-blocks-de_CH.mo and b/languages/wp-bootstrap-blocks-de_CH.mo differ diff --git a/languages/wp-bootstrap-blocks-de_CH.po b/languages/wp-bootstrap-blocks-de_CH.po index 700aac335..ba5e9c455 100644 --- a/languages/wp-bootstrap-blocks-de_CH.po +++ b/languages/wp-bootstrap-blocks-de_CH.po @@ -2,10 +2,10 @@ # This file is distributed under the same license as the Bootstrap Blocks plugin. msgid "" msgstr "" -"Project-Id-Version: Bootstrap Blocks 3.0.0\n" +"Project-Id-Version: Bootstrap Blocks 3.1.0\n" "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-bootstrap-" "blocks\n" -"POT-Creation-Date: 2020-10-18T20:23:35+00:00\n" +"POT-Creation-Date: 2020-11-01T09:43:16+00:00\n" "PO-Revision-Date: 2020-10-18 22:25+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -18,7 +18,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. Plugin Name of the plugin -#: src/class-wp-bootstrap-blocks.php:230 src/settings/class-settings.php:139 +#: src/class-wp-bootstrap-blocks.php:231 src/settings/class-settings.php:139 msgid "Bootstrap Blocks" msgstr "Bootstrap Blocks" @@ -38,11 +38,11 @@ msgstr "Liip AG" msgid "https://liip.ch" msgstr "https://liip.ch" -#: src/class-wp-bootstrap-blocks.php:280 src/class-wp-bootstrap-blocks.php:287 +#: src/class-wp-bootstrap-blocks.php:281 src/class-wp-bootstrap-blocks.php:288 msgid "Cheatin’ huh?" msgstr "Hier ist etwas falsch gelaufen" -#: src/settings/class-settings.php:139 src/settings/class-settings.php:228 +#: src/settings/class-settings.php:139 src/settings/class-settings.php:234 msgid "Bootstrap Blocks Settings" msgstr "Bootstrap Blocks Einstellungen" @@ -67,16 +67,16 @@ msgstr "" msgid "Main settings" msgstr "Haupteinstellungen" -#: src/settings/class-settings.php:224 +#: src/settings/class-settings.php:230 msgid "You do not have sufficient permissions to access this page." msgstr "Du hast nicht genügend Berechtigungen um diese Seite anzuzeigen." -#: src/settings/class-settings.php:251 +#: src/settings/class-settings.php:257 msgid "Field data missing." msgstr "Felddaten fehlen." #. translators: %s contains constant name -#: src/settings/class-settings.php:322 +#: src/settings/class-settings.php:324 msgctxt "%s contains constant name" msgid "Option is defined in the following constant: %s" msgstr "Die Option ist in der folgenden Konstante definiert: %s" @@ -94,122 +94,134 @@ msgstr "Button" msgid "Bootstrap Button" msgstr "Bootstrap Button" -#: build/index.js:624 build/index.js:844 build/index.js:1263 -#: build/index.js:1640 +#: build/index.js:624 build/index.js:879 build/index.js:1298 +#: build/index.js:1679 msgid "Bootstrap" msgstr "Bootstrap" -#: build/index.js:722 +#: build/index.js:726 msgid "Primary" msgstr "Primary" -#: build/index.js:725 +#: build/index.js:729 msgid "Secondary" msgstr "Secondary" -#: build/index.js:734 +#: build/index.js:755 msgid "Add text..." msgstr "Text hinzufügen..." -#: build/index.js:744 +#: build/index.js:765 msgid "Style" msgstr "Stil" -#: build/index.js:754 +#: build/index.js:774 +msgid "Link settings" +msgstr "Link-Einstellungen" + +#: build/index.js:776 +msgid "Open in new tab" +msgstr "In einem neuen Tab öffnen" + +#: build/index.js:780 +msgid "Link rel" +msgstr "Link rel" + +#: build/index.js:789 msgid "Change button alignment" msgstr "Ändere die Positionierung des Buttons" -#: build/index.js:776 +#: build/index.js:811 msgid "Apply" msgstr "Übernehmen" -#: build/index.js:838 build/index.js:844 +#: build/index.js:873 build/index.js:879 msgid "Column" msgstr "Column" -#: build/index.js:844 +#: build/index.js:879 msgid "Bootstrap Column" msgstr "Bootstrap Column" -#: build/index.js:999 build/index.js:1354 build/index.js:1840 +#: build/index.js:1034 build/index.js:1389 build/index.js:1879 msgid "None" msgstr "Deaktiviert" -#: build/index.js:1002 build/index.js:1343 build/index.js:1843 -#: build/index.js:1855 +#: build/index.js:1037 build/index.js:1378 build/index.js:1882 +#: build/index.js:1894 msgid "Small" msgstr "Klein" -#: build/index.js:1005 build/index.js:1346 +#: build/index.js:1040 build/index.js:1381 msgid "Medium" msgstr "Mittel" -#: build/index.js:1008 build/index.js:1349 build/index.js:1846 -#: build/index.js:1858 +#: build/index.js:1043 build/index.js:1384 build/index.js:1885 +#: build/index.js:1897 msgid "Large" msgstr "Gross" -#: build/index.js:1055 +#: build/index.js:1090 msgid "Column size" msgstr "Anzahl Spalten" -#: build/index.js:1058 +#: build/index.js:1093 msgid "Xs Column count" msgstr "Xs Anzahl Spalten" -#: build/index.js:1064 +#: build/index.js:1099 msgid "Xs equal-width" msgstr "Xs gleiche Breite (equal-width)" -#: build/index.js:1072 +#: build/index.js:1107 msgid "Sm Column count" msgstr "Sm Anzahl Spalten" -#: build/index.js:1078 +#: build/index.js:1113 msgid "Sm equal-width" msgstr "Sm gleiche Breite (equal-width)" -#: build/index.js:1086 +#: build/index.js:1121 msgid "Md Column count" msgstr "Md Anzahl Spalten" -#: build/index.js:1092 +#: build/index.js:1127 msgid "Md equal-width" msgstr "Md gleiche Breite (equal-width)" -#: build/index.js:1100 +#: build/index.js:1135 msgid "Lg Column count" msgstr "Lg Anzahl Spalten" -#: build/index.js:1106 +#: build/index.js:1141 msgid "Lg equal-width" msgstr "Lg gleiche Breite (equal-width)" -#: build/index.js:1114 +#: build/index.js:1149 msgid "Xl Column count" msgstr "Xl Anzahl Spalten" -#: build/index.js:1120 +#: build/index.js:1155 msgid "Xl equal-width" msgstr "Xl gleiche Breite (equal-width)" -#: build/index.js:1128 +#: build/index.js:1163 msgid "Xxl Column count" msgstr "Xxl Anzahl Spalten" -#: build/index.js:1134 +#: build/index.js:1169 msgid "Xxl equal-width" msgstr "Xxl gleiche Breite (equal-width)" -#: build/index.js:1142 +#: build/index.js:1177 msgid "Background color" msgstr "Hintergrundfarbe" -#: build/index.js:1168 +#: build/index.js:1203 msgid "Center content vertically in row" msgstr "Zeileninhalt vertikal zentrieren" -#: build/index.js:1175 +#: build/index.js:1210 msgid "" "This setting only applies if there is no vertical alignment set on the " "parent row block." @@ -217,55 +229,55 @@ msgstr "" "Diese Einstellung kann nur verwendet werden, wenn auf dem umschliessenden " "Row-Block keine vertikale Positionierung gesetzt ist." -#: build/index.js:1177 +#: build/index.js:1212 msgid "Padding (inside column)" msgstr "Padding (innerhalb der Spalte)" -#: build/index.js:1180 +#: build/index.js:1215 msgid "Size" msgstr "Grösse" -#: build/index.js:1257 build/index.js:1263 +#: build/index.js:1292 build/index.js:1298 msgid "Container" msgstr "Container" -#: build/index.js:1263 +#: build/index.js:1298 msgid "Bootstrap Container" msgstr "Bootstrap Container" -#: build/index.js:1358 +#: build/index.js:1393 msgid "Xl" msgstr "Xl" -#: build/index.js:1361 +#: build/index.js:1396 msgid "Lg" msgstr "Lg" -#: build/index.js:1364 +#: build/index.js:1399 msgid "Md" msgstr "Md" -#: build/index.js:1367 +#: build/index.js:1402 msgid "Sm" msgstr "Sm" -#: build/index.js:1373 +#: build/index.js:1408 msgid "Xxl" msgstr "Xxl" -#: build/index.js:1379 +#: build/index.js:1414 msgid "No breakpoint selected" msgstr "Kein Breakpoint ausgewählt" -#: build/index.js:1406 build/index.js:1408 +#: build/index.js:1441 build/index.js:1443 msgid "Fluid" msgstr "Fluid" -#: build/index.js:1416 +#: build/index.js:1451 msgid "Fluid Breakpoint" msgstr "Fluid Breakpoint" -#: build/index.js:1425 +#: build/index.js:1460 msgid "" "Fluid breakpoints only work with Bootstrap v4.4+. The container will be 100% " "wide until the specified breakpoint is reached, after which max-widths for " @@ -276,75 +288,75 @@ msgstr "" "gewählten Breakpoint. Ab diesem Breakpoint gilt die jeweilige maximale " "Breite (max-width) des Containers." -#: build/index.js:1427 +#: build/index.js:1462 msgid "Margin" msgstr "Margin" -#: build/index.js:1429 +#: build/index.js:1464 msgid "Margin After" msgstr "Margin unterhalb vom Block" -#: build/index.js:1634 build/index.js:1640 +#: build/index.js:1673 build/index.js:1679 msgid "Row" msgstr "Row" -#: build/index.js:1640 +#: build/index.js:1679 msgid "Bootstrap Row" msgstr "Bootstrap Row" -#: build/index.js:1749 +#: build/index.js:1788 msgid "2 Columns (1:1)" msgstr "2 Spalten (1:1)" -#: build/index.js:1768 +#: build/index.js:1807 msgid "2 Columns (1:2)" msgstr "2 Spalten (1:2)" -#: build/index.js:1787 +#: build/index.js:1826 msgid "2 Columns (2:1)" msgstr "2 Spalten (2:1)" -#: build/index.js:1806 +#: build/index.js:1845 msgid "3 Columns (1:1:1)" msgstr "3 Spalten (1:1:1)" -#: build/index.js:1832 +#: build/index.js:1871 msgid "Custom" msgstr "Benutzerdefiniert" -#: build/index.js:1851 +#: build/index.js:1890 msgid "Bootstrap Default" msgstr "Bootstrap Standardwert" -#: build/index.js:1863 +#: build/index.js:1902 msgid "Bootstrap Default (None)" msgstr "Bootstrap Standardwert (Kein Abstand)" -#: build/index.js:1930 +#: build/index.js:1969 msgid "Align columns left" msgstr "Spalten links positionieren" -#: build/index.js:1934 build/index.js:1947 +#: build/index.js:1973 build/index.js:1986 msgid "Align columns center" msgstr "Spalten zentrieren" -#: build/index.js:1938 +#: build/index.js:1977 msgid "Align columns right" msgstr "Spalten rechts positionieren" -#: build/index.js:1943 +#: build/index.js:1982 msgid "Align columns top" msgstr "Spalten oben positionieren" -#: build/index.js:1951 +#: build/index.js:1990 msgid "Align columns bottom" msgstr "Spalten unten positionieren" -#: build/index.js:1955 +#: build/index.js:1994 msgid "Editor: Display columns stacked" msgstr "Editor: Spalten untereinander darstellen" -#: build/index.js:1956 +#: build/index.js:1995 msgid "" "Displays stacked columns in editor to enhance readability of block content. " "This option is only used in the editor and won't affect the output of the " @@ -354,30 +366,30 @@ msgstr "" "verbessern. Diese Option wird lediglich für den Editor verwendet und " "verändert die Ausgabe des Blocks nicht." -#: build/index.js:1964 +#: build/index.js:2003 msgid "Change layout" msgstr "Layout ändern" -#: build/index.js:1983 +#: build/index.js:2022 msgid "Row options" msgstr "Zeilen Optionen" -#: build/index.js:1985 +#: build/index.js:2024 msgid "No Gutters" msgstr "Keine Abstände zwischen Spalten (No Gutters)" -#: build/index.js:1993 +#: build/index.js:2032 msgid "Horizontal Gutters" msgstr "Horizontale Abstände zwischen Spalten" -#: build/index.js:2002 +#: build/index.js:2041 msgid "Vertical Gutters" msgstr "Vertikale Abstände zwischen Spalten" -#: build/index.js:2012 +#: build/index.js:2051 msgid "Change horizontal alignment of columns" msgstr "Ändere die horizontale Positionierung der Spalten" -#: build/index.js:2021 +#: build/index.js:2060 msgid "Change vertical alignment of columns" msgstr "Ändere die vertikale Positionierung der Spalten" diff --git a/languages/wp-bootstrap-blocks-de_DE-dfbff627e6c248bcb3b61d7d06da9ca9.json b/languages/wp-bootstrap-blocks-de_DE-dfbff627e6c248bcb3b61d7d06da9ca9.json index eefc88ce2..9c1e8f55b 100644 --- a/languages/wp-bootstrap-blocks-de_DE-dfbff627e6c248bcb3b61d7d06da9ca9.json +++ b/languages/wp-bootstrap-blocks-de_DE-dfbff627e6c248bcb3b61d7d06da9ca9.json @@ -1 +1 @@ -{"translation-revision-date":"2020-10-18 20:41+0200","generator":"WP-CLI\/2.4.0","source":"build\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE","plural-forms":"nplurals=2; plural=(n != 1);"},"Button":["Button"],"Bootstrap Button":["Bootstrap Button"],"Bootstrap":["Bootstrap"],"Primary":["Primary"],"Secondary":["Secondary"],"Add text...":["Text hinzuf\u00fcgen..."],"Style":["Stil"],"Change button alignment":["\u00c4ndere die Positionierung des Buttons"],"Apply":["\u00dcbernehmen"],"Column":["Column"],"Bootstrap Column":["Bootstrap Column"],"None":["Deaktiviert"],"Small":["Klein"],"Medium":["Mittel"],"Large":["Gross"],"Column size":["Anzahl Spalten"],"Xs Column count":["Xs Anzahl Spalten"],"Xs equal-width":["Xs gleiche Breite (equal-width)"],"Sm Column count":["Sm Anzahl Spalten"],"Sm equal-width":["Sm gleiche Breite (equal-width)"],"Md Column count":["Md Anzahl Spalten"],"Md equal-width":["Md gleiche Breite (equal-width)"],"Lg Column count":["Lg Anzahl Spalten"],"Lg equal-width":["Lg gleiche Breite (equal-width)"],"Xl Column count":["Xl Anzahl Spalten"],"Xl equal-width":["Xl gleiche Breite (equal-width)"],"Xxl Column count":["Xxl Anzahl Spalten"],"Xxl equal-width":["Xxl gleiche Breite (equal-width)"],"Background color":["Hintergrundfarbe"],"Center content vertically in row":["Zeileninhalt vertikal zentrieren"],"This setting only applies if there is no vertical alignment set on the parent row block.":["Diese Einstellung kann nur verwendet werden, wenn auf dem umschliessenden Row-Block keine vertikale Positionierung gesetzt ist."],"Padding (inside column)":["Padding (innerhalb der Spalte)"],"Size":["Gr\u00f6sse"],"Container":["Container"],"Bootstrap Container":["Bootstrap Container"],"Xl":["Xl"],"Lg":["Lg"],"Md":["Md"],"Sm":["Sm"],"Xxl":["Xxl"],"No breakpoint selected":["Kein Breakpoint ausgew\u00e4hlt"],"Fluid":["Fluid"],"Fluid Breakpoint":["Fluid Breakpoint"],"Fluid breakpoints only work with Bootstrap v4.4+. The container will be 100% wide until the specified breakpoint is reached, after which max-widths for each of the higher breakpoints will be applied.":["Fluid Breakpoints werden erst ab Bootstrap v4.4+ unterst\u00fctzt. Wenn die Option aktiviert ist, nimmt der Container 100% der Breite ein bis zum gew\u00e4hlten Breakpoint. Ab diesem Breakpoint gilt die jeweilige maximale Breite (max-width) des Containers."],"Margin":["Margin"],"Margin After":["Margin unterhalb vom Block"],"Row":["Row"],"Bootstrap Row":["Bootstrap Row"],"2 Columns (1:1)":["2 Spalten (1:1)"],"2 Columns (1:2)":["2 Spalten (1:2)"],"2 Columns (2:1)":["2 Spalten (2:1)"],"3 Columns (1:1:1)":["3 Spalten (1:1:1)"],"Custom":["Benutzerdefiniert"],"Bootstrap Default":["Bootstrap Standardwert"],"Bootstrap Default (None)":["Bootstrap Standardwert (Kein Abstand)"],"Align columns left":["Spalten links positionieren"],"Align columns center":["Spalten zentrieren"],"Align columns right":["Spalten rechts positionieren"],"Align columns top":["Spalten oben positionieren"],"Align columns bottom":["Spalten unten positionieren"],"Editor: Display columns stacked":["Editor: Spalten untereinander darstellen"],"Displays stacked columns in editor to enhance readability of block content. This option is only used in the editor and won't affect the output of the row.":["Stellt die Spalten untereinander dar um die Lesbarkeit der Block-Inhalte zu verbessern. Diese Option wird lediglich f\u00fcr den Editor verwendet und ver\u00e4ndert die Ausgabe des Blocks nicht."],"Change layout":["Layout \u00e4ndern"],"Row options":["Zeilen Optionen"],"No Gutters":["Keine Abst\u00e4nde zwischen Spalten (No Gutters)"],"Horizontal Gutters":["Horizontale Abst\u00e4nde zwischen Spalten"],"Vertical Gutters":["Vertikale Abst\u00e4nde zwischen Spalten"],"Change horizontal alignment of columns":["\u00c4ndere die horizontale Positionierung der Spalten"],"Change vertical alignment of columns":["\u00c4ndere die vertikale Positionierung der Spalten"]}}} \ No newline at end of file +{"translation-revision-date":"2020-10-18 22:25+0200","generator":"WP-CLI\/2.4.0","source":"build\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE","plural-forms":"nplurals=2; plural=(n != 1);"},"Button":["Button"],"Bootstrap Button":["Bootstrap Button"],"Bootstrap":["Bootstrap"],"Primary":["Primary"],"Secondary":["Secondary"],"Add text...":["Text hinzuf\u00fcgen..."],"Style":["Stil"],"Link settings":["Link-Einstellungen"],"Open in new tab":["In einem neuen Tab \u00f6ffnen"],"Link rel":["Link rel"],"Change button alignment":["\u00c4ndere die Positionierung des Buttons"],"Apply":["\u00dcbernehmen"],"Column":["Column"],"Bootstrap Column":["Bootstrap Column"],"None":["Deaktiviert"],"Small":["Klein"],"Medium":["Mittel"],"Large":["Gross"],"Column size":["Anzahl Spalten"],"Xs Column count":["Xs Anzahl Spalten"],"Xs equal-width":["Xs gleiche Breite (equal-width)"],"Sm Column count":["Sm Anzahl Spalten"],"Sm equal-width":["Sm gleiche Breite (equal-width)"],"Md Column count":["Md Anzahl Spalten"],"Md equal-width":["Md gleiche Breite (equal-width)"],"Lg Column count":["Lg Anzahl Spalten"],"Lg equal-width":["Lg gleiche Breite (equal-width)"],"Xl Column count":["Xl Anzahl Spalten"],"Xl equal-width":["Xl gleiche Breite (equal-width)"],"Xxl Column count":["Xxl Anzahl Spalten"],"Xxl equal-width":["Xxl gleiche Breite (equal-width)"],"Background color":["Hintergrundfarbe"],"Center content vertically in row":["Zeileninhalt vertikal zentrieren"],"This setting only applies if there is no vertical alignment set on the parent row block.":["Diese Einstellung kann nur verwendet werden, wenn auf dem umschliessenden Row-Block keine vertikale Positionierung gesetzt ist."],"Padding (inside column)":["Padding (innerhalb der Spalte)"],"Size":["Gr\u00f6sse"],"Container":["Container"],"Bootstrap Container":["Bootstrap Container"],"Xl":["Xl"],"Lg":["Lg"],"Md":["Md"],"Sm":["Sm"],"Xxl":["Xxl"],"No breakpoint selected":["Kein Breakpoint ausgew\u00e4hlt"],"Fluid":["Fluid"],"Fluid Breakpoint":["Fluid Breakpoint"],"Fluid breakpoints only work with Bootstrap v4.4+. The container will be 100% wide until the specified breakpoint is reached, after which max-widths for each of the higher breakpoints will be applied.":["Fluid Breakpoints werden erst ab Bootstrap v4.4+ unterst\u00fctzt. Wenn die Option aktiviert ist, nimmt der Container 100% der Breite ein bis zum gew\u00e4hlten Breakpoint. Ab diesem Breakpoint gilt die jeweilige maximale Breite (max-width) des Containers."],"Margin":["Margin"],"Margin After":["Margin unterhalb vom Block"],"Row":["Row"],"Bootstrap Row":["Bootstrap Row"],"2 Columns (1:1)":["2 Spalten (1:1)"],"2 Columns (1:2)":["2 Spalten (1:2)"],"2 Columns (2:1)":["2 Spalten (2:1)"],"3 Columns (1:1:1)":["3 Spalten (1:1:1)"],"Custom":["Benutzerdefiniert"],"Bootstrap Default":["Bootstrap Standardwert"],"Bootstrap Default (None)":["Bootstrap Standardwert (Kein Abstand)"],"Align columns left":["Spalten links positionieren"],"Align columns center":["Spalten zentrieren"],"Align columns right":["Spalten rechts positionieren"],"Align columns top":["Spalten oben positionieren"],"Align columns bottom":["Spalten unten positionieren"],"Editor: Display columns stacked":["Editor: Spalten untereinander darstellen"],"Displays stacked columns in editor to enhance readability of block content. This option is only used in the editor and won't affect the output of the row.":["Stellt die Spalten untereinander dar um die Lesbarkeit der Block-Inhalte zu verbessern. Diese Option wird lediglich f\u00fcr den Editor verwendet und ver\u00e4ndert die Ausgabe des Blocks nicht."],"Change layout":["Layout \u00e4ndern"],"Row options":["Zeilen Optionen"],"No Gutters":["Keine Abst\u00e4nde zwischen Spalten (No Gutters)"],"Horizontal Gutters":["Horizontale Abst\u00e4nde zwischen Spalten"],"Vertical Gutters":["Vertikale Abst\u00e4nde zwischen Spalten"],"Change horizontal alignment of columns":["\u00c4ndere die horizontale Positionierung der Spalten"],"Change vertical alignment of columns":["\u00c4ndere die vertikale Positionierung der Spalten"]}}} \ No newline at end of file diff --git a/languages/wp-bootstrap-blocks-de_DE.mo b/languages/wp-bootstrap-blocks-de_DE.mo index de1b04c71..141ac88d1 100644 Binary files a/languages/wp-bootstrap-blocks-de_DE.mo and b/languages/wp-bootstrap-blocks-de_DE.mo differ diff --git a/languages/wp-bootstrap-blocks-de_DE.po b/languages/wp-bootstrap-blocks-de_DE.po index 31b3daf1d..edab1d581 100644 --- a/languages/wp-bootstrap-blocks-de_DE.po +++ b/languages/wp-bootstrap-blocks-de_DE.po @@ -2,10 +2,10 @@ # This file is distributed under the same license as the Bootstrap Blocks plugin. msgid "" msgstr "" -"Project-Id-Version: Bootstrap Blocks 3.0.0\n" +"Project-Id-Version: Bootstrap Blocks 3.1.0\n" "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-bootstrap-" "blocks\n" -"POT-Creation-Date: 2020-10-18T20:23:35+00:00\n" +"POT-Creation-Date: 2020-11-01T09:43:16+00:00\n" "PO-Revision-Date: 2020-10-18 22:25+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -18,7 +18,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. Plugin Name of the plugin -#: src/class-wp-bootstrap-blocks.php:230 src/settings/class-settings.php:139 +#: src/class-wp-bootstrap-blocks.php:231 src/settings/class-settings.php:139 msgid "Bootstrap Blocks" msgstr "Bootstrap Blocks" @@ -38,11 +38,11 @@ msgstr "Liip AG" msgid "https://liip.ch" msgstr "https://liip.ch" -#: src/class-wp-bootstrap-blocks.php:280 src/class-wp-bootstrap-blocks.php:287 +#: src/class-wp-bootstrap-blocks.php:281 src/class-wp-bootstrap-blocks.php:288 msgid "Cheatin’ huh?" msgstr "Hier ist etwas falsch gelaufen" -#: src/settings/class-settings.php:139 src/settings/class-settings.php:228 +#: src/settings/class-settings.php:139 src/settings/class-settings.php:234 msgid "Bootstrap Blocks Settings" msgstr "Bootstrap Blocks Einstellungen" @@ -67,16 +67,16 @@ msgstr "" msgid "Main settings" msgstr "Haupteinstellungen" -#: src/settings/class-settings.php:224 +#: src/settings/class-settings.php:230 msgid "You do not have sufficient permissions to access this page." msgstr "Du hast nicht genügend Berechtigungen um diese Seite anzuzeigen." -#: src/settings/class-settings.php:251 +#: src/settings/class-settings.php:257 msgid "Field data missing." msgstr "Felddaten fehlen." #. translators: %s contains constant name -#: src/settings/class-settings.php:322 +#: src/settings/class-settings.php:324 msgctxt "%s contains constant name" msgid "Option is defined in the following constant: %s" msgstr "Die Option ist in der folgenden Konstante definiert: %s" @@ -94,122 +94,134 @@ msgstr "Button" msgid "Bootstrap Button" msgstr "Bootstrap Button" -#: build/index.js:624 build/index.js:844 build/index.js:1263 -#: build/index.js:1640 +#: build/index.js:624 build/index.js:879 build/index.js:1298 +#: build/index.js:1679 msgid "Bootstrap" msgstr "Bootstrap" -#: build/index.js:722 +#: build/index.js:726 msgid "Primary" msgstr "Primary" -#: build/index.js:725 +#: build/index.js:729 msgid "Secondary" msgstr "Secondary" -#: build/index.js:734 +#: build/index.js:755 msgid "Add text..." msgstr "Text hinzufügen..." -#: build/index.js:744 +#: build/index.js:765 msgid "Style" msgstr "Stil" -#: build/index.js:754 +#: build/index.js:774 +msgid "Link settings" +msgstr "Link-Einstellungen" + +#: build/index.js:776 +msgid "Open in new tab" +msgstr "In einem neuen Tab öffnen" + +#: build/index.js:780 +msgid "Link rel" +msgstr "Link rel" + +#: build/index.js:789 msgid "Change button alignment" msgstr "Ändere die Positionierung des Buttons" -#: build/index.js:776 +#: build/index.js:811 msgid "Apply" msgstr "Übernehmen" -#: build/index.js:838 build/index.js:844 +#: build/index.js:873 build/index.js:879 msgid "Column" msgstr "Column" -#: build/index.js:844 +#: build/index.js:879 msgid "Bootstrap Column" msgstr "Bootstrap Column" -#: build/index.js:999 build/index.js:1354 build/index.js:1840 +#: build/index.js:1034 build/index.js:1389 build/index.js:1879 msgid "None" msgstr "Deaktiviert" -#: build/index.js:1002 build/index.js:1343 build/index.js:1843 -#: build/index.js:1855 +#: build/index.js:1037 build/index.js:1378 build/index.js:1882 +#: build/index.js:1894 msgid "Small" msgstr "Klein" -#: build/index.js:1005 build/index.js:1346 +#: build/index.js:1040 build/index.js:1381 msgid "Medium" msgstr "Mittel" -#: build/index.js:1008 build/index.js:1349 build/index.js:1846 -#: build/index.js:1858 +#: build/index.js:1043 build/index.js:1384 build/index.js:1885 +#: build/index.js:1897 msgid "Large" msgstr "Gross" -#: build/index.js:1055 +#: build/index.js:1090 msgid "Column size" msgstr "Anzahl Spalten" -#: build/index.js:1058 +#: build/index.js:1093 msgid "Xs Column count" msgstr "Xs Anzahl Spalten" -#: build/index.js:1064 +#: build/index.js:1099 msgid "Xs equal-width" msgstr "Xs gleiche Breite (equal-width)" -#: build/index.js:1072 +#: build/index.js:1107 msgid "Sm Column count" msgstr "Sm Anzahl Spalten" -#: build/index.js:1078 +#: build/index.js:1113 msgid "Sm equal-width" msgstr "Sm gleiche Breite (equal-width)" -#: build/index.js:1086 +#: build/index.js:1121 msgid "Md Column count" msgstr "Md Anzahl Spalten" -#: build/index.js:1092 +#: build/index.js:1127 msgid "Md equal-width" msgstr "Md gleiche Breite (equal-width)" -#: build/index.js:1100 +#: build/index.js:1135 msgid "Lg Column count" msgstr "Lg Anzahl Spalten" -#: build/index.js:1106 +#: build/index.js:1141 msgid "Lg equal-width" msgstr "Lg gleiche Breite (equal-width)" -#: build/index.js:1114 +#: build/index.js:1149 msgid "Xl Column count" msgstr "Xl Anzahl Spalten" -#: build/index.js:1120 +#: build/index.js:1155 msgid "Xl equal-width" msgstr "Xl gleiche Breite (equal-width)" -#: build/index.js:1128 +#: build/index.js:1163 msgid "Xxl Column count" msgstr "Xxl Anzahl Spalten" -#: build/index.js:1134 +#: build/index.js:1169 msgid "Xxl equal-width" msgstr "Xxl gleiche Breite (equal-width)" -#: build/index.js:1142 +#: build/index.js:1177 msgid "Background color" msgstr "Hintergrundfarbe" -#: build/index.js:1168 +#: build/index.js:1203 msgid "Center content vertically in row" msgstr "Zeileninhalt vertikal zentrieren" -#: build/index.js:1175 +#: build/index.js:1210 msgid "" "This setting only applies if there is no vertical alignment set on the " "parent row block." @@ -217,55 +229,55 @@ msgstr "" "Diese Einstellung kann nur verwendet werden, wenn auf dem umschliessenden " "Row-Block keine vertikale Positionierung gesetzt ist." -#: build/index.js:1177 +#: build/index.js:1212 msgid "Padding (inside column)" msgstr "Padding (innerhalb der Spalte)" -#: build/index.js:1180 +#: build/index.js:1215 msgid "Size" msgstr "Grösse" -#: build/index.js:1257 build/index.js:1263 +#: build/index.js:1292 build/index.js:1298 msgid "Container" msgstr "Container" -#: build/index.js:1263 +#: build/index.js:1298 msgid "Bootstrap Container" msgstr "Bootstrap Container" -#: build/index.js:1358 +#: build/index.js:1393 msgid "Xl" msgstr "Xl" -#: build/index.js:1361 +#: build/index.js:1396 msgid "Lg" msgstr "Lg" -#: build/index.js:1364 +#: build/index.js:1399 msgid "Md" msgstr "Md" -#: build/index.js:1367 +#: build/index.js:1402 msgid "Sm" msgstr "Sm" -#: build/index.js:1373 +#: build/index.js:1408 msgid "Xxl" msgstr "Xxl" -#: build/index.js:1379 +#: build/index.js:1414 msgid "No breakpoint selected" msgstr "Kein Breakpoint ausgewählt" -#: build/index.js:1406 build/index.js:1408 +#: build/index.js:1441 build/index.js:1443 msgid "Fluid" msgstr "Fluid" -#: build/index.js:1416 +#: build/index.js:1451 msgid "Fluid Breakpoint" msgstr "Fluid Breakpoint" -#: build/index.js:1425 +#: build/index.js:1460 msgid "" "Fluid breakpoints only work with Bootstrap v4.4+. The container will be 100% " "wide until the specified breakpoint is reached, after which max-widths for " @@ -276,75 +288,75 @@ msgstr "" "gewählten Breakpoint. Ab diesem Breakpoint gilt die jeweilige maximale " "Breite (max-width) des Containers." -#: build/index.js:1427 +#: build/index.js:1462 msgid "Margin" msgstr "Margin" -#: build/index.js:1429 +#: build/index.js:1464 msgid "Margin After" msgstr "Margin unterhalb vom Block" -#: build/index.js:1634 build/index.js:1640 +#: build/index.js:1673 build/index.js:1679 msgid "Row" msgstr "Row" -#: build/index.js:1640 +#: build/index.js:1679 msgid "Bootstrap Row" msgstr "Bootstrap Row" -#: build/index.js:1749 +#: build/index.js:1788 msgid "2 Columns (1:1)" msgstr "2 Spalten (1:1)" -#: build/index.js:1768 +#: build/index.js:1807 msgid "2 Columns (1:2)" msgstr "2 Spalten (1:2)" -#: build/index.js:1787 +#: build/index.js:1826 msgid "2 Columns (2:1)" msgstr "2 Spalten (2:1)" -#: build/index.js:1806 +#: build/index.js:1845 msgid "3 Columns (1:1:1)" msgstr "3 Spalten (1:1:1)" -#: build/index.js:1832 +#: build/index.js:1871 msgid "Custom" msgstr "Benutzerdefiniert" -#: build/index.js:1851 +#: build/index.js:1890 msgid "Bootstrap Default" msgstr "Bootstrap Standardwert" -#: build/index.js:1863 +#: build/index.js:1902 msgid "Bootstrap Default (None)" msgstr "Bootstrap Standardwert (Kein Abstand)" -#: build/index.js:1930 +#: build/index.js:1969 msgid "Align columns left" msgstr "Spalten links positionieren" -#: build/index.js:1934 build/index.js:1947 +#: build/index.js:1973 build/index.js:1986 msgid "Align columns center" msgstr "Spalten zentrieren" -#: build/index.js:1938 +#: build/index.js:1977 msgid "Align columns right" msgstr "Spalten rechts positionieren" -#: build/index.js:1943 +#: build/index.js:1982 msgid "Align columns top" msgstr "Spalten oben positionieren" -#: build/index.js:1951 +#: build/index.js:1990 msgid "Align columns bottom" msgstr "Spalten unten positionieren" -#: build/index.js:1955 +#: build/index.js:1994 msgid "Editor: Display columns stacked" msgstr "Editor: Spalten untereinander darstellen" -#: build/index.js:1956 +#: build/index.js:1995 msgid "" "Displays stacked columns in editor to enhance readability of block content. " "This option is only used in the editor and won't affect the output of the " @@ -354,30 +366,30 @@ msgstr "" "verbessern. Diese Option wird lediglich für den Editor verwendet und " "verändert die Ausgabe des Blocks nicht." -#: build/index.js:1964 +#: build/index.js:2003 msgid "Change layout" msgstr "Layout ändern" -#: build/index.js:1983 +#: build/index.js:2022 msgid "Row options" msgstr "Zeilen Optionen" -#: build/index.js:1985 +#: build/index.js:2024 msgid "No Gutters" msgstr "Keine Abstände zwischen Spalten (No Gutters)" -#: build/index.js:1993 +#: build/index.js:2032 msgid "Horizontal Gutters" msgstr "Horizontale Abstände zwischen Spalten" -#: build/index.js:2002 +#: build/index.js:2041 msgid "Vertical Gutters" msgstr "Vertikale Abstände zwischen Spalten" -#: build/index.js:2012 +#: build/index.js:2051 msgid "Change horizontal alignment of columns" msgstr "Ändere die horizontale Positionierung der Spalten" -#: build/index.js:2021 +#: build/index.js:2060 msgid "Change vertical alignment of columns" msgstr "Ändere die vertikale Positionierung der Spalten" diff --git a/languages/wp-bootstrap-blocks.pot b/languages/wp-bootstrap-blocks.pot index 0645b05fe..55651df68 100644 --- a/languages/wp-bootstrap-blocks.pot +++ b/languages/wp-bootstrap-blocks.pot @@ -2,20 +2,20 @@ # This file is distributed under the same license as the Bootstrap Blocks plugin. msgid "" msgstr "" -"Project-Id-Version: Bootstrap Blocks 3.0.0\n" +"Project-Id-Version: Bootstrap Blocks 3.1.0\n" "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-bootstrap-blocks\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"POT-Creation-Date: 2020-10-18T20:23:35+00:00\n" +"POT-Creation-Date: 2020-11-01T09:47:51+00:00\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "X-Generator: WP-CLI 2.4.0\n" "X-Domain: wp-bootstrap-blocks\n" #. Plugin Name of the plugin -#: src/class-wp-bootstrap-blocks.php:230 +#: src/class-wp-bootstrap-blocks.php:231 #: src/settings/class-settings.php:139 msgid "Bootstrap Blocks" msgstr "" @@ -36,13 +36,13 @@ msgstr "" msgid "https://liip.ch" msgstr "" -#: src/class-wp-bootstrap-blocks.php:280 -#: src/class-wp-bootstrap-blocks.php:287 +#: src/class-wp-bootstrap-blocks.php:281 +#: src/class-wp-bootstrap-blocks.php:288 msgid "Cheatin’ huh?" msgstr "" #: src/settings/class-settings.php:139 -#: src/settings/class-settings.php:228 +#: src/settings/class-settings.php:234 msgid "Bootstrap Blocks Settings" msgstr "" @@ -62,16 +62,16 @@ msgstr "" msgid "Main settings" msgstr "" -#: src/settings/class-settings.php:224 +#: src/settings/class-settings.php:230 msgid "You do not have sufficient permissions to access this page." msgstr "" -#: src/settings/class-settings.php:251 +#: src/settings/class-settings.php:257 msgid "Field data missing." msgstr "" #. translators: %s contains constant name -#: src/settings/class-settings.php:322 +#: src/settings/class-settings.php:324 msgctxt "%s contains constant name" msgid "Option is defined in the following constant: %s" msgstr "" @@ -91,286 +91,298 @@ msgid "Bootstrap Button" msgstr "" #: build/index.js:624 -#: build/index.js:844 -#: build/index.js:1263 -#: build/index.js:1640 +#: build/index.js:879 +#: build/index.js:1298 +#: build/index.js:1679 msgid "Bootstrap" msgstr "" -#: build/index.js:722 +#: build/index.js:726 msgid "Primary" msgstr "" -#: build/index.js:725 +#: build/index.js:729 msgid "Secondary" msgstr "" -#: build/index.js:734 +#: build/index.js:755 msgid "Add text..." msgstr "" -#: build/index.js:744 +#: build/index.js:765 msgid "Style" msgstr "" -#: build/index.js:754 -msgid "Change button alignment" +#: build/index.js:774 +msgid "Link settings" msgstr "" #: build/index.js:776 +msgid "Open in new tab" +msgstr "" + +#: build/index.js:780 +msgid "Link rel" +msgstr "" + +#: build/index.js:789 +msgid "Change button alignment" +msgstr "" + +#: build/index.js:811 msgid "Apply" msgstr "" -#: build/index.js:838 -#: build/index.js:844 +#: build/index.js:873 +#: build/index.js:879 msgid "Column" msgstr "" -#: build/index.js:844 +#: build/index.js:879 msgid "Bootstrap Column" msgstr "" -#: build/index.js:999 -#: build/index.js:1354 -#: build/index.js:1840 +#: build/index.js:1034 +#: build/index.js:1389 +#: build/index.js:1879 msgid "None" msgstr "" -#: build/index.js:1002 -#: build/index.js:1343 -#: build/index.js:1843 -#: build/index.js:1855 +#: build/index.js:1037 +#: build/index.js:1378 +#: build/index.js:1882 +#: build/index.js:1894 msgid "Small" msgstr "" -#: build/index.js:1005 -#: build/index.js:1346 +#: build/index.js:1040 +#: build/index.js:1381 msgid "Medium" msgstr "" -#: build/index.js:1008 -#: build/index.js:1349 -#: build/index.js:1846 -#: build/index.js:1858 +#: build/index.js:1043 +#: build/index.js:1384 +#: build/index.js:1885 +#: build/index.js:1897 msgid "Large" msgstr "" -#: build/index.js:1055 +#: build/index.js:1090 msgid "Column size" msgstr "" -#: build/index.js:1058 +#: build/index.js:1093 msgid "Xs Column count" msgstr "" -#: build/index.js:1064 +#: build/index.js:1099 msgid "Xs equal-width" msgstr "" -#: build/index.js:1072 +#: build/index.js:1107 msgid "Sm Column count" msgstr "" -#: build/index.js:1078 +#: build/index.js:1113 msgid "Sm equal-width" msgstr "" -#: build/index.js:1086 +#: build/index.js:1121 msgid "Md Column count" msgstr "" -#: build/index.js:1092 +#: build/index.js:1127 msgid "Md equal-width" msgstr "" -#: build/index.js:1100 +#: build/index.js:1135 msgid "Lg Column count" msgstr "" -#: build/index.js:1106 +#: build/index.js:1141 msgid "Lg equal-width" msgstr "" -#: build/index.js:1114 +#: build/index.js:1149 msgid "Xl Column count" msgstr "" -#: build/index.js:1120 +#: build/index.js:1155 msgid "Xl equal-width" msgstr "" -#: build/index.js:1128 +#: build/index.js:1163 msgid "Xxl Column count" msgstr "" -#: build/index.js:1134 +#: build/index.js:1169 msgid "Xxl equal-width" msgstr "" -#: build/index.js:1142 +#: build/index.js:1177 msgid "Background color" msgstr "" -#: build/index.js:1168 +#: build/index.js:1203 msgid "Center content vertically in row" msgstr "" -#: build/index.js:1175 +#: build/index.js:1210 msgid "This setting only applies if there is no vertical alignment set on the parent row block." msgstr "" -#: build/index.js:1177 +#: build/index.js:1212 msgid "Padding (inside column)" msgstr "" -#: build/index.js:1180 +#: build/index.js:1215 msgid "Size" msgstr "" -#: build/index.js:1257 -#: build/index.js:1263 +#: build/index.js:1292 +#: build/index.js:1298 msgid "Container" msgstr "" -#: build/index.js:1263 +#: build/index.js:1298 msgid "Bootstrap Container" msgstr "" -#: build/index.js:1358 +#: build/index.js:1393 msgid "Xl" msgstr "" -#: build/index.js:1361 +#: build/index.js:1396 msgid "Lg" msgstr "" -#: build/index.js:1364 +#: build/index.js:1399 msgid "Md" msgstr "" -#: build/index.js:1367 +#: build/index.js:1402 msgid "Sm" msgstr "" -#: build/index.js:1373 +#: build/index.js:1408 msgid "Xxl" msgstr "" -#: build/index.js:1379 +#: build/index.js:1414 msgid "No breakpoint selected" msgstr "" -#: build/index.js:1406 -#: build/index.js:1408 +#: build/index.js:1441 +#: build/index.js:1443 msgid "Fluid" msgstr "" -#: build/index.js:1416 +#: build/index.js:1451 msgid "Fluid Breakpoint" msgstr "" -#: build/index.js:1425 +#: build/index.js:1460 msgid "Fluid breakpoints only work with Bootstrap v4.4+. The container will be 100% wide until the specified breakpoint is reached, after which max-widths for each of the higher breakpoints will be applied." msgstr "" -#: build/index.js:1427 +#: build/index.js:1462 msgid "Margin" msgstr "" -#: build/index.js:1429 +#: build/index.js:1464 msgid "Margin After" msgstr "" -#: build/index.js:1634 -#: build/index.js:1640 +#: build/index.js:1673 +#: build/index.js:1679 msgid "Row" msgstr "" -#: build/index.js:1640 +#: build/index.js:1679 msgid "Bootstrap Row" msgstr "" -#: build/index.js:1749 +#: build/index.js:1788 msgid "2 Columns (1:1)" msgstr "" -#: build/index.js:1768 +#: build/index.js:1807 msgid "2 Columns (1:2)" msgstr "" -#: build/index.js:1787 +#: build/index.js:1826 msgid "2 Columns (2:1)" msgstr "" -#: build/index.js:1806 +#: build/index.js:1845 msgid "3 Columns (1:1:1)" msgstr "" -#: build/index.js:1832 +#: build/index.js:1871 msgid "Custom" msgstr "" -#: build/index.js:1851 +#: build/index.js:1890 msgid "Bootstrap Default" msgstr "" -#: build/index.js:1863 +#: build/index.js:1902 msgid "Bootstrap Default (None)" msgstr "" -#: build/index.js:1930 +#: build/index.js:1969 msgid "Align columns left" msgstr "" -#: build/index.js:1934 -#: build/index.js:1947 +#: build/index.js:1973 +#: build/index.js:1986 msgid "Align columns center" msgstr "" -#: build/index.js:1938 +#: build/index.js:1977 msgid "Align columns right" msgstr "" -#: build/index.js:1943 +#: build/index.js:1982 msgid "Align columns top" msgstr "" -#: build/index.js:1951 +#: build/index.js:1990 msgid "Align columns bottom" msgstr "" -#: build/index.js:1955 +#: build/index.js:1994 msgid "Editor: Display columns stacked" msgstr "" -#: build/index.js:1956 +#: build/index.js:1995 msgid "Displays stacked columns in editor to enhance readability of block content. This option is only used in the editor and won't affect the output of the row." msgstr "" -#: build/index.js:1964 +#: build/index.js:2003 msgid "Change layout" msgstr "" -#: build/index.js:1983 +#: build/index.js:2022 msgid "Row options" msgstr "" -#: build/index.js:1985 +#: build/index.js:2024 msgid "No Gutters" msgstr "" -#: build/index.js:1993 +#: build/index.js:2032 msgid "Horizontal Gutters" msgstr "" -#: build/index.js:2002 +#: build/index.js:2041 msgid "Vertical Gutters" msgstr "" -#: build/index.js:2012 +#: build/index.js:2051 msgid "Change horizontal alignment of columns" msgstr "" -#: build/index.js:2021 +#: build/index.js:2060 msgid "Change vertical alignment of columns" msgstr "" diff --git a/package-lock.json b/package-lock.json index 505473607..71cb9a5ce 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "wp-bootstrap-blocks", - "version": "3.0.0", + "version": "3.1.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1370,9 +1370,9 @@ "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" }, "@eslint/eslintrc": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.1.3.tgz", - "integrity": "sha512-4YVwPkANLeNtRjMekzux1ci8hIaH5eGKktGqR0d3LWsKNn5B2X/1Z6Trxy7jQXl9EBGE6Yj02O+t09FMeRllaA==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.1.tgz", + "integrity": "sha512-XRUeBZ5zBWLYgSANMpThFddrZZkEbGHgUdt5UJjZfnlN9BGCiUBrf+nvbRupSjMvqzwnQN0qwCmOxITt1cfywA==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -2134,9 +2134,9 @@ } }, "@popperjs/core": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.5.3.tgz", - "integrity": "sha512-RFwCobxsvZ6j7twS7dHIZQZituMIDJJNHS/qY6iuthVebxS3zhRY+jaC2roEKiAYaVuTcGmX6Luc6YBcf6zJVg==" + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.5.4.tgz", + "integrity": "sha512-ZpKr+WTb8zsajqgDkvCEWgp6d5eJT6Q63Ng2neTbzBO76Lbe91vX/iVIW9dikq+Fs3yEo+ls4cxeXABD2LtcbQ==" }, "@sindresorhus/is": { "version": "2.1.1", @@ -2248,9 +2248,9 @@ }, "dependencies": { "camelcase": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.1.0.tgz", - "integrity": "sha512-WCMml9ivU60+8rEJgELlFp1gxFcEGxwYleE3bziHEDeqsqAWGHdimB7beBFGjLzVNgPGyDsfgXLQEYMpmIFnVQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", "dev": true } } @@ -2346,9 +2346,9 @@ "dev": true }, "@types/babel__core": { - "version": "7.1.10", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.10.tgz", - "integrity": "sha512-x8OM8XzITIMyiwl5Vmo2B1cR1S1Ipkyv4mdlbJjMa1lmuKvKY9FrBbEANIaMlnWn5Rf7uO+rC/VgYabNkE17Hw==", + "version": "7.1.11", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.11.tgz", + "integrity": "sha512-E5nSOzrjnvhURYnbOR2dClTqcyhPbPvtEwLHf7JJADKedPbcZsoJVfP+I2vBNfBjz4bnZIuhL/tNmRi5nJ7Jlw==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -2418,9 +2418,9 @@ } }, "@types/graceful-fs": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz", - "integrity": "sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.4.tgz", + "integrity": "sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg==", "dev": true, "requires": { "@types/node": "*" @@ -2569,9 +2569,9 @@ "dev": true }, "@types/uglify-js": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.0.tgz", - "integrity": "sha512-I0Yd8TUELTbgRHq2K65j8rnDPAzAP+DiaF/syLem7yXwYLsHZhPd+AM2iXsWmf9P2F2NlFCgl5erZPQx9IbM9Q==", + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.1.tgz", + "integrity": "sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q==", "dev": true, "requires": { "source-map": "^0.6.1" @@ -2592,9 +2592,9 @@ "dev": true }, "@types/webpack": { - "version": "4.41.22", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.22.tgz", - "integrity": "sha512-JQDJK6pj8OMV9gWOnN1dcLCyU9Hzs6lux0wBO4lr1+gyEhIBR9U3FMrz12t2GPkg110XAxEAw2WHF6g7nZIbRQ==", + "version": "4.41.24", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.24.tgz", + "integrity": "sha512-1A0MXPwZiMOD3DPMuOKUKcpkdPo8Lq33UGggZ7xio6wJ/jV1dAu5cXDrOfGDnldUroPIRLsr/DT43/GqOA4RFQ==", "dev": true, "requires": { "@types/anymatch": "*", @@ -2969,15 +2969,15 @@ } }, "@wordpress/block-editor": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/block-editor/-/block-editor-5.1.0.tgz", - "integrity": "sha512-gOnJ5k1TlUH75IUUn3aLqgK6FAeSUZAQyRukNpVjxatz9mTBbK59PZO8do0nDdx/gEOjWKtMlcta4/r8DqW5rw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@wordpress/block-editor/-/block-editor-5.1.1.tgz", + "integrity": "sha512-DamR4NLKYz3ZFiMFjsocWc2WX0j+fexaOkYQbZ9MUbfoTxAJsY9ojJV19Gu+CH7C14Le+ewEcXw/BgViMlLmfw==", "requires": { "@babel/runtime": "^7.11.2", "@wordpress/a11y": "^2.13.0", "@wordpress/blob": "^2.11.0", - "@wordpress/blocks": "^6.24.0", - "@wordpress/components": "^11.1.0", + "@wordpress/blocks": "^6.24.1", + "@wordpress/components": "^11.1.1", "@wordpress/compose": "^3.22.0", "@wordpress/data": "^4.25.0", "@wordpress/deprecated": "^2.10.0", @@ -3025,9 +3025,9 @@ } }, "@wordpress/blocks": { - "version": "6.24.0", - "resolved": "https://registry.npmjs.org/@wordpress/blocks/-/blocks-6.24.0.tgz", - "integrity": "sha512-LXpCbYHscC+nAJY+ZIFZ/bs+PGYQHuKqD9Q0KDLTc9auIztN0mVEmlDllNNzo6hoMA6IdS7akAfgGXK6MuTh5w==", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/@wordpress/blocks/-/blocks-6.24.1.tgz", + "integrity": "sha512-SVE1fxqavmpxFKM2kj1orD3AfqyiZrLcYJrQitce7l7MoTwNqyO39yNoRskSSoL8+Mru9KEKXMIyzs6Vm9AwFw==", "requires": { "@babel/runtime": "^7.11.2", "@wordpress/autop": "^2.10.0", @@ -3060,9 +3060,9 @@ "dev": true }, "@wordpress/components": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-11.1.0.tgz", - "integrity": "sha512-R9/jHbp5UWsyLXIchl1z/Gx5IJVhhlqZbYHgBzSA/3rdSmXBr8nb7roVwMrJQ1CRkJc8g1V3FLkOsiU1dB6WyQ==", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-11.1.1.tgz", + "integrity": "sha512-aVKbYCXK5vb2ud5mpLUpoJv4o/7rfRjOTEyAE7nitp3+x0Gm3h8odKx5gx9fHEtNlCHclSTu8n/oFgISj1Nx/Q==", "requires": { "@babel/runtime": "^7.11.2", "@emotion/core": "^10.0.22", @@ -3119,13 +3119,13 @@ } }, "@wordpress/core-data": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/@wordpress/core-data/-/core-data-2.24.0.tgz", - "integrity": "sha512-bbKcRgO47oYos19lidZLCpsydRX+o6GxR8auFwgExAxOrQShb6p6ph3HNRs76gruLC3BieHg/thzBsKOl6IuOQ==", + "version": "2.24.1", + "resolved": "https://registry.npmjs.org/@wordpress/core-data/-/core-data-2.24.1.tgz", + "integrity": "sha512-I74E+Yz221isjOrP9eJ1DwSt7NS9tgs6CSNfDH8aXBCbcdLpPARZTW2LnqJ+huT73p82KSPTF2L3e2FtdT/Tsw==", "requires": { "@babel/runtime": "^7.11.2", "@wordpress/api-fetch": "^3.20.0", - "@wordpress/blocks": "^6.24.0", + "@wordpress/blocks": "^6.24.1", "@wordpress/data": "^4.25.0", "@wordpress/data-controls": "^1.19.0", "@wordpress/deprecated": "^2.10.0", @@ -3237,19 +3237,19 @@ } }, "@wordpress/editor": { - "version": "9.24.0", - "resolved": "https://registry.npmjs.org/@wordpress/editor/-/editor-9.24.0.tgz", - "integrity": "sha512-J/vMS2KDh442JJEzDMGPU9XBSdfOytvRzO13zXuAx1F048TuUHFatJcjjxTWaDI2vTUBnPaH5GvHFTd2Qme4uA==", + "version": "9.24.1", + "resolved": "https://registry.npmjs.org/@wordpress/editor/-/editor-9.24.1.tgz", + "integrity": "sha512-i/iQHYFzAbWwH3s4zj3m+Hn1KTcVLm6lotDeyqH7DsJepRgbGCJaYtv87lFFOecy3vp98ind3kMEpEYjI1X8qg==", "requires": { "@babel/runtime": "^7.11.2", "@wordpress/api-fetch": "^3.20.0", "@wordpress/autop": "^2.10.0", "@wordpress/blob": "^2.11.0", - "@wordpress/block-editor": "^5.1.0", - "@wordpress/blocks": "^6.24.0", - "@wordpress/components": "^11.1.0", + "@wordpress/block-editor": "^5.1.1", + "@wordpress/blocks": "^6.24.1", + "@wordpress/components": "^11.1.1", "@wordpress/compose": "^3.22.0", - "@wordpress/core-data": "^2.24.0", + "@wordpress/core-data": "^2.24.1", "@wordpress/data": "^4.25.0", "@wordpress/data-controls": "^1.19.0", "@wordpress/date": "^3.12.0", @@ -3264,9 +3264,9 @@ "@wordpress/keycodes": "^2.16.0", "@wordpress/media-utils": "^1.18.0", "@wordpress/notices": "^2.11.0", - "@wordpress/reusable-blocks": "^1.0.0", + "@wordpress/reusable-blocks": "^1.0.1", "@wordpress/rich-text": "^3.23.0", - "@wordpress/server-side-render": "^1.19.0", + "@wordpress/server-side-render": "^1.19.1", "@wordpress/url": "^2.19.0", "@wordpress/viewport": "^2.24.0", "@wordpress/wordcount": "^2.13.0", @@ -3482,9 +3482,9 @@ } }, "@wordpress/jest-preset-default": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@wordpress/jest-preset-default/-/jest-preset-default-6.4.0.tgz", - "integrity": "sha512-xey6qdRFnK3apC9qOjP5zsw+CsaEIyp6DBmeEgz8QXVd3kI9lE31HarKI/eBY7RBe0hSYLxUJ8tEuTDVMkKX4g==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@wordpress/jest-preset-default/-/jest-preset-default-6.5.0.tgz", + "integrity": "sha512-i17HNnPHr1fFQ2SC807f8JP/4bSP/uGbpf7ajzu+OraNHqYlXxC6QXDbQdqisgSfxvgXRt99ZVY+pCzo8aKO9A==", "dev": true, "requires": { "@jest/reporters": "^25.3.0", @@ -3606,15 +3606,15 @@ } }, "@wordpress/reusable-blocks": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@wordpress/reusable-blocks/-/reusable-blocks-1.0.0.tgz", - "integrity": "sha512-gj9/3VqIVxZUDeGl4wqa9T6nRnWtdhqcNSBFA2GAKj8iqnre7+s77eJmuGQRACRRiPKoE3YNfo1nWpjQg9gjkw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@wordpress/reusable-blocks/-/reusable-blocks-1.0.1.tgz", + "integrity": "sha512-ISk3jrlMedxFH9kWibyzG0TcN3r1+5R/nlOxH0XY71IZxYAboNbufmfzfsMKEb2B8opefLqH9NCeqVPLz5ioUA==", "requires": { - "@wordpress/block-editor": "^5.1.0", - "@wordpress/blocks": "^6.24.0", - "@wordpress/components": "^11.1.0", + "@wordpress/block-editor": "^5.1.1", + "@wordpress/blocks": "^6.24.1", + "@wordpress/components": "^11.1.1", "@wordpress/compose": "^3.22.0", - "@wordpress/core-data": "^2.24.0", + "@wordpress/core-data": "^2.24.1", "@wordpress/data": "^4.25.0", "@wordpress/element": "^2.18.0", "@wordpress/i18n": "^3.16.0", @@ -3643,16 +3643,16 @@ } }, "@wordpress/scripts": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/@wordpress/scripts/-/scripts-12.4.0.tgz", - "integrity": "sha512-eVQYu9DyDm1Ld2IdrdPs2JFSUVItUONFwDBVOqfJtYRIoQo8T7mUf4L5HnDXcrsQBoYlZ9e6XwAsTLuZvtbvvg==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@wordpress/scripts/-/scripts-12.5.0.tgz", + "integrity": "sha512-QyMdEMAbFJGsxHDGVNO/xQ8PxXw/8KFVv+XM0fEP2rFYVx85T7FlDhX8BZ8UM8315A/2Y30UmQ2yLUJOfGMuWQ==", "dev": true, "requires": { "@svgr/webpack": "^5.2.0", "@wordpress/babel-preset-default": "^4.19.0", "@wordpress/dependency-extraction-webpack-plugin": "^2.8.0", "@wordpress/eslint-plugin": "^7.3.0", - "@wordpress/jest-preset-default": "^6.4.0", + "@wordpress/jest-preset-default": "^6.5.0", "@wordpress/npm-package-json-lint-config": "^3.1.0", "@wordpress/postcss-plugins-preset": "^1.5.1", "@wordpress/prettier-config": "^0.4.0", @@ -3666,7 +3666,7 @@ "dir-glob": "^3.0.1", "eslint": "^7.1.0", "eslint-plugin-markdown": "^1.0.2", - "ignore-emit-webpack-plugin": "^2.0.2", + "ignore-emit-webpack-plugin": "2.0.3", "jest": "^25.3.0", "jest-puppeteer": "^4.4.0", "markdownlint": "^0.18.0", @@ -3745,13 +3745,13 @@ } }, "@wordpress/server-side-render": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/@wordpress/server-side-render/-/server-side-render-1.19.0.tgz", - "integrity": "sha512-QZDUu2ZLuMcZm4Lu6QRDYCgTsYPpr9JIw1FUrC9tAz75X3nSLgQ328+OkJknGnR7Ias94Eh6saxWxslR2ckmnQ==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@wordpress/server-side-render/-/server-side-render-1.19.1.tgz", + "integrity": "sha512-sPiB1WXw+EUp+zgU2XvEkm9nU14ejGTfaSsec1I9qk9zCRAcpNgXEs0GVWyTAM6/LFDMVfaLhwB0q6OrRWyjKQ==", "requires": { "@babel/runtime": "^7.11.2", "@wordpress/api-fetch": "^3.20.0", - "@wordpress/components": "^11.1.0", + "@wordpress/components": "^11.1.1", "@wordpress/data": "^4.25.0", "@wordpress/deprecated": "^2.10.0", "@wordpress/element": "^2.18.0", @@ -4311,9 +4311,9 @@ "dev": true }, "axe-core": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-3.5.5.tgz", - "integrity": "sha512-5P0QZ6J5xGikH780pghEdbEKijCTrruK9KxtPZCFWUpef0f6GipO+xEZ5GKCb020mmqgbiNO6TcA55CriL784Q==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.0.2.tgz", + "integrity": "sha512-arU1h31OGFu+LPrOLGZ7nB45v940NMDMEJeNmbutu57P+UFDVnkZg3e+J1I2HJRZ9hT7gO8J91dn/PMrAiKakA==", "dev": true }, "axobject-query": { @@ -5103,6 +5103,15 @@ "responselike": "^2.0.0" } }, + "call-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", + "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.0" + } + }, "caller-callsite": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", @@ -5163,9 +5172,9 @@ "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=" }, "caniuse-lite": { - "version": "1.0.30001148", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001148.tgz", - "integrity": "sha512-E66qcd0KMKZHNJQt9hiLZGE3J4zuTqE1OnU53miEVtylFbwOEmeA5OsRu90noZful+XGSQOni1aT2tiqu/9yYw==", + "version": "1.0.30001154", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001154.tgz", + "integrity": "sha512-y9DvdSti8NnYB9Be92ddMZQrcOe04kcQtcxtBx4NkB04+qZ+JUWotnXBJTmxlKudhxNTQ3RRknMwNU2YQl/Org==", "dev": true }, "capture-exit": { @@ -5184,9 +5193,9 @@ "dev": true }, "ccount": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.5.tgz", - "integrity": "sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", + "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", "dev": true }, "chalk": { @@ -6043,28 +6052,28 @@ "dev": true }, "csso": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", - "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.1.0.tgz", + "integrity": "sha512-h+6w/W1WqXaJA4tb1dk7r5tVbOm97MsKxzwnvOR04UQ6GILroryjMWu3pmCCtL2mLaEStQ0fZgeGiy99mo7iyg==", "dev": true, "requires": { - "css-tree": "1.0.0-alpha.39" + "css-tree": "^1.0.0" }, "dependencies": { "css-tree": { - "version": "1.0.0-alpha.39", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", - "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0.tgz", + "integrity": "sha512-CdVYz/Yuqw0VdKhXPBIgi8DO3NicJVYZNWeX9XcIuSp9ZoFT5IcleVRW07O5rMjdcx1mb+MEJPknTTEW7DdsYw==", "dev": true, "requires": { - "mdn-data": "2.0.6", + "mdn-data": "2.0.12", "source-map": "^0.6.1" } }, "mdn-data": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", - "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.12.tgz", + "integrity": "sha512-ULbAlgzVb8IqZ0Hsxm6hHSlQl3Jckst2YEQS7fODu9ilNWy2LvcoSY7TRFIktABP2mdppBioc66va90T+NUs8Q==", "dev": true }, "source-map": { @@ -6573,9 +6582,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.582", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.582.tgz", - "integrity": "sha512-0nCJ7cSqnkMC+kUuPs0YgklFHraWGl/xHqtZWWtOeVtyi+YqkoAOMGuZQad43DscXCQI/yizcTa3u6B5r+BLww==", + "version": "1.3.585", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.585.tgz", + "integrity": "sha512-xoeqjMQhgHDZM7FiglJAb2aeOxHZWFruUc3MbAGTgE7GB8rr5fTn1Sdh5THGuQtndU3GuXlu91ZKqRivxoCZ/A==", "dev": true }, "elliptic": { @@ -6909,13 +6918,13 @@ } }, "eslint": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.11.0.tgz", - "integrity": "sha512-G9+qtYVCHaDi1ZuWzBsOWo2wSwd70TXnU6UHA3cTYHp7gCTXZcpggWFoUVAMRarg68qtPoNfFbzPh+VdOgmwmw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.12.1.tgz", + "integrity": "sha512-HlMTEdr/LicJfN08LB3nM1rRYliDXOmfoO4vj39xN6BLpFzF00hbwBoqHk8UcJ2M/3nlARZWy/mslvGEuZFvsg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@eslint/eslintrc": "^0.1.3", + "@eslint/eslintrc": "^0.2.1", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -7128,9 +7137,9 @@ } }, "eslint-config-prettier": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.13.0.tgz", - "integrity": "sha512-LcT0i0LSmnzqK2t764pyIt7kKH2AuuqKRTtJTdddWxOiUja9HdG5GXBVF2gmCTvVYWVsTu8J2MhJLVGRh+pj8w==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz", + "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==", "dev": true, "requires": { "get-stdin": "^6.0.0" @@ -7146,9 +7155,9 @@ } }, "eslint-plugin-jsdoc": { - "version": "30.7.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-30.7.3.tgz", - "integrity": "sha512-slzJeKrm3vXabRYcFBpbUgWgdnATN9rNOFAr7IhmkxmR9Vk/6qN1c/IdvTqVSEctDRQ08chR+Lvk8fRayXgYZg==", + "version": "30.7.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-30.7.5.tgz", + "integrity": "sha512-Fue8NQruLtniEuQSv3LO1rzQ+wOTX+nGaKPSiiNtkfJTUuYYXu255IvJBtMzV6bCfWe/AfPvPNHOV36l40hqjw==", "dev": true, "requires": { "comment-parser": "^0.7.6", @@ -7184,28 +7193,28 @@ } }, "eslint-plugin-jsx-a11y": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.3.1.tgz", - "integrity": "sha512-i1S+P+c3HOlBJzMFORRbC58tHa65Kbo8b52/TwCwSKLohwvpfT5rm2GjGWzOHTEuq4xxf2aRlHHTtmExDQOP+g==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz", + "integrity": "sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==", "dev": true, "requires": { - "@babel/runtime": "^7.10.2", + "@babel/runtime": "^7.11.2", "aria-query": "^4.2.2", "array-includes": "^3.1.1", "ast-types-flow": "^0.0.7", - "axe-core": "^3.5.4", - "axobject-query": "^2.1.2", + "axe-core": "^4.0.2", + "axobject-query": "^2.2.0", "damerau-levenshtein": "^1.0.6", "emoji-regex": "^9.0.0", "has": "^1.0.3", - "jsx-ast-utils": "^2.4.1", + "jsx-ast-utils": "^3.1.0", "language-tags": "^1.0.5" }, "dependencies": { "emoji-regex": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.1.1.tgz", - "integrity": "sha512-AaWyDiNO9rbtMIcGl7tdxMcNu8SOLaDLxmQEFT5JhgKufOJzPPkYmgN2QwqTgw4doWMZZQttC6sUWVQjb+1VdA==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.0.tgz", + "integrity": "sha512-DNc3KFPK18bPdElMJnf/Pkv5TXhxFU3YFDEuGLDRtPmV4rkmCjBkCSEp22u6rBHdSN9Vlp/GK7k98prmE1Jgug==", "dev": true } } @@ -7250,9 +7259,9 @@ } }, "eslint-plugin-react-hooks": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.1.2.tgz", - "integrity": "sha512-ykUeqkGyUGgwTtk78C0o8UG2fzwmgJ0qxBGPp2WqRKsTwcLuVf01kTDRAtOsd4u6whX2XOC8749n2vPydP82fg==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz", + "integrity": "sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==", "dev": true }, "eslint-scope": { @@ -7814,9 +7823,9 @@ "dev": true }, "fastq": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz", - "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz", + "integrity": "sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -7975,14 +7984,86 @@ } }, "find-process": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/find-process/-/find-process-1.4.3.tgz", - "integrity": "sha512-+IA+AUsQCf3uucawyTwMWcY+2M3FXq3BRvw3S+j5Jvydjk31f/+NPWpYZOJs+JUs2GvxH4Yfr6Wham0ZtRLlPA==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/find-process/-/find-process-1.4.4.tgz", + "integrity": "sha512-rRSuT1LE4b+BFK588D2V8/VG9liW0Ark1XJgroxZXI0LtwmQJOb490DvDYvbm+Hek9ETFzTutGfJ90gumITPhQ==", "dev": true, "requires": { - "chalk": "^2.0.1", - "commander": "^2.11.0", - "debug": "^2.6.8" + "chalk": "^4.0.0", + "commander": "^5.1.0", + "debug": "^4.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true + }, + "debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "find-root": { @@ -8325,9 +8406,9 @@ } }, "gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, "get-caller-file": { @@ -8335,6 +8416,16 @@ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, + "get-intrinsic": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", + "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, "get-package-type": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", @@ -11747,13 +11838,13 @@ } }, "jsx-ast-utils": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz", - "integrity": "sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.1.0.tgz", + "integrity": "sha512-d4/UOjg+mxAWxCiF0c5UTSwyqbchkbqCvK87aBovhnh8GtysTjWmgC63tY0cJx/HzGgm9qnA147jVBdpOiQ2RA==", "dev": true, "requires": { "array-includes": "^3.1.1", - "object.assign": "^4.1.0" + "object.assign": "^4.1.1" } }, "keyv": { @@ -11787,9 +11878,9 @@ "dev": true }, "language-subtag-registry": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.20.tgz", - "integrity": "sha512-KPMwROklF4tEx283Xw0pNKtfTj1gZ4UByp4EsIFWLgBavJltF4TiYPc39k06zSTsLzxTVXXDSpbwaQXaFB4Qeg==", + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", + "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==", "dev": true }, "language-tags": { @@ -12206,9 +12297,9 @@ }, "dependencies": { "unist-util-is": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz", - "integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.3.tgz", + "integrity": "sha512-bTofCFVx0iQM8Jqb1TBDVRIQW03YkD3p66JOd/aCWuqzlLyUtx1ZAGw/u+Zw+SttKvSVcvTiKYbfrtLoLefykw==", "dev": true }, "unist-util-visit": { @@ -13017,9 +13108,9 @@ } }, "node-releases": { - "version": "1.1.64", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.64.tgz", - "integrity": "sha512-Iec8O9166/x2HRMJyLLLWkd0sFFLrFNy+Xf+JQfSQsdBJzPcHpNl3JQ9gD4j+aJxmCa25jNsIbM4bmACtSbkSg==", + "version": "1.1.65", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.65.tgz", + "integrity": "sha512-YpzJOe2WFIW0V4ZkJQd/DGR/zdVwc/pI4Nl1CZrBO19FdRcSTmsuhdttw9rsTzzJLrNcSloLiBbEYx1C4f6gpA==", "dev": true }, "node-sass": { @@ -13674,35 +13765,14 @@ } }, "object.assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", - "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.0", "has-symbols": "^1.0.1", "object-keys": "^1.1.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } } }, "object.entries": { @@ -14622,13 +14692,13 @@ } }, "prompts": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz", - "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", + "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", "dev": true, "requires": { "kleur": "^3.0.3", - "sisteransi": "^1.0.4" + "sisteransi": "^1.0.5" } }, "prop-types": { @@ -15531,9 +15601,9 @@ } }, "unist-util-is": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz", - "integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.3.tgz", + "integrity": "sha512-bTofCFVx0iQM8Jqb1TBDVRIQW03YkD3p66JOd/aCWuqzlLyUtx1ZAGw/u+Zw+SttKvSVcvTiKYbfrtLoLefykw==", "dev": true }, "unist-util-remove-position": { @@ -15912,9 +15982,9 @@ "dev": true }, "run-parallel": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", - "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", + "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", "dev": true }, "run-queue": { @@ -16885,21 +16955,63 @@ } }, "string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz", + "integrity": "sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==", "requires": { "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "es-abstract": "^1.18.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + } } }, "string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz", + "integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==", "requires": { "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "es-abstract": "^1.18.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + } } }, "string_decoder": { @@ -17774,9 +17886,9 @@ "dev": true }, "jest-worker": { - "version": "26.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.5.0.tgz", - "integrity": "sha512-kTw66Dn4ZX7WpjZ7T/SUDgRhapFRKWmisVAF0Rv4Fu8SLFD7eLbqpLvbxVqYhSgaWa7I+bW7pHnbyfNsH6stug==", + "version": "26.6.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.1.tgz", + "integrity": "sha512-R5IE3qSGz+QynJx8y+ICEkdI2OJ3RJjRQVEyCcFAd3yVhQSEtquziPO29Mlzgn07LOVE8u8jhJ1FqcwegiXWOw==", "dev": true, "requires": { "@types/node": "*", @@ -18025,9 +18137,9 @@ } }, "timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, "requires": { "setimmediate": "^1.0.4" @@ -18192,9 +18304,9 @@ "dev": true }, "trim-trailing-lines": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz", - "integrity": "sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", + "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==", "dev": true }, "trough": { @@ -18424,9 +18536,9 @@ }, "dependencies": { "unist-util-is": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz", - "integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.3.tgz", + "integrity": "sha512-bTofCFVx0iQM8Jqb1TBDVRIQW03YkD3p66JOd/aCWuqzlLyUtx1ZAGw/u+Zw+SttKvSVcvTiKYbfrtLoLefykw==", "dev": true } } @@ -18670,9 +18782,9 @@ "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==" }, "v8-compile-cache": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", - "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", + "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", "dev": true }, "v8-to-istanbul": { diff --git a/package.json b/package.json index 218013ecf..6861a68b4 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wp-bootstrap-blocks", - "version": "3.0.0", + "version": "3.1.0", "private": true, "description": "Bootstrap Gutenberg Blocks for WordPress", "author": "Liip AG", @@ -18,12 +18,12 @@ "url": "https://github.com/liip/bootstrap-blocks-wordpress-plugin/issues" }, "dependencies": { - "@wordpress/block-editor": "^5.1.0", - "@wordpress/blocks": "^6.24.0", - "@wordpress/components": "^11.1.0", + "@wordpress/block-editor": "^5.1.1", + "@wordpress/blocks": "^6.24.1", + "@wordpress/components": "^11.1.1", "@wordpress/compose": "^3.22.0", "@wordpress/data": "^4.25.0", - "@wordpress/editor": "^9.24.0", + "@wordpress/editor": "^9.24.1", "@wordpress/element": "^2.18.0", "@wordpress/hooks": "^2.10.0", "@wordpress/i18n": "^3.16.0" @@ -32,7 +32,7 @@ "@wordpress/base-styles": "^3.2.0", "@wordpress/e2e-test-utils": "^4.15.0", "@wordpress/env": "^2.1.0", - "@wordpress/scripts": "^12.4.0", + "@wordpress/scripts": "^12.5.0", "lodash": "^4.17.20", "prettier": "npm:wp-prettier@^2.0.5" }, diff --git a/phpunit/button/class-wp-bootstrap-blocks-button-test.php b/phpunit/button/class-wp-bootstrap-blocks-button-test.php index 59ccd84e9..61a6e5a24 100644 --- a/phpunit/button/class-wp-bootstrap-blocks-button-test.php +++ b/phpunit/button/class-wp-bootstrap-blocks-button-test.php @@ -51,4 +51,22 @@ public function test_button_alignment() { list( $expected, $actual ) = $this->get_block_output( $variant ); $this->assertEquals( $expected, $actual ); } + + /** + * Tests button open in new tab. + */ + public function test_button_open_in_new_tab() { + $variant = 'open-in-new-tab'; + list( $expected, $actual ) = $this->get_block_output( $variant ); + $this->assertEquals( $expected, $actual ); + } + + /** + * Tests button rel. + */ + public function test_button_rel() { + $variant = 'rel'; + list( $expected, $actual ) = $this->get_block_output( $variant ); + $this->assertEquals( $expected, $actual ); + } } diff --git a/phpunit/button/fixtures/button__alignment.output.html b/phpunit/button/fixtures/button__alignment.output.html index 96e045f08..b32bd6b7f 100644 --- a/phpunit/button/fixtures/button__alignment.output.html +++ b/phpunit/button/fixtures/button__alignment.output.html @@ -1,5 +1,8 @@ diff --git a/phpunit/button/fixtures/button__classname.output.html b/phpunit/button/fixtures/button__classname.output.html index fd3fbdad0..a7732f9ee 100644 --- a/phpunit/button/fixtures/button__classname.output.html +++ b/phpunit/button/fixtures/button__classname.output.html @@ -1,5 +1,8 @@ diff --git a/phpunit/button/fixtures/button__default.output.html b/phpunit/button/fixtures/button__default.output.html index aef2717e5..0e38e4736 100644 --- a/phpunit/button/fixtures/button__default.output.html +++ b/phpunit/button/fixtures/button__default.output.html @@ -1,5 +1,8 @@ diff --git a/phpunit/button/fixtures/button__open-in-new-tab.html b/phpunit/button/fixtures/button__open-in-new-tab.html new file mode 100644 index 000000000..0c1ff0300 --- /dev/null +++ b/phpunit/button/fixtures/button__open-in-new-tab.html @@ -0,0 +1 @@ + diff --git a/phpunit/button/fixtures/button__open-in-new-tab.output.html b/phpunit/button/fixtures/button__open-in-new-tab.output.html new file mode 100644 index 000000000..93c90563a --- /dev/null +++ b/phpunit/button/fixtures/button__open-in-new-tab.output.html @@ -0,0 +1,10 @@ + + diff --git a/phpunit/button/fixtures/button__rel.html b/phpunit/button/fixtures/button__rel.html new file mode 100644 index 000000000..6a70ddb3e --- /dev/null +++ b/phpunit/button/fixtures/button__rel.html @@ -0,0 +1 @@ + diff --git a/phpunit/button/fixtures/button__rel.output.html b/phpunit/button/fixtures/button__rel.output.html new file mode 100644 index 000000000..fd9595cfb --- /dev/null +++ b/phpunit/button/fixtures/button__rel.output.html @@ -0,0 +1,9 @@ + + diff --git a/phpunit/button/fixtures/button__style.output.html b/phpunit/button/fixtures/button__style.output.html index 0f46b687e..153f326b8 100644 --- a/phpunit/button/fixtures/button__style.output.html +++ b/phpunit/button/fixtures/button__style.output.html @@ -1,5 +1,8 @@ diff --git a/readme.txt b/readme.txt index 0bead8919..85c0eb7a1 100644 --- a/readme.txt +++ b/readme.txt @@ -5,7 +5,7 @@ Tags: gutenberg, blocks, bootstrap Requires at least: 5.0 Tested up to: 5.5 Requires PHP: 5.6 -Stable tag: 3.0.0 +Stable tag: 3.1.0 License: GPLv2 License URI: https://www.gnu.org/licenses/gpl-2.0.html @@ -52,6 +52,8 @@ Options: Options: * Style: Choose the styling of the button. +* Open in new tab: Choose if link should be opened in a new tab. +* Rel: Set rel attribute of the link. * Alignment: Horizontal alignment of the button. = Supported Bootstrap versions = @@ -119,6 +121,12 @@ Please create a new GitHub issue and let us know: [https://github.com/liip/boots == Changelog == += 3.1.0 = + +* [FEATURE] Add possibility to open link of `button` block in new tab. +* [FEATURE] Add possibility to set the `rel` attribute of the `button` blocks link. +* Modified Templates: `button.php` + = 3.0.0 = **This version adds (experimental) support for Bootstrap 5!** Please read the [documentation](https://github.com/liip/bootstrap-blocks-wordpress-plugin#supported-bootstrap-versions) for further information. diff --git a/src/button/class-button-block-type.php b/src/button/class-button-block-type.php index 1f9e9685f..338c398c1 100755 --- a/src/button/class-button-block-type.php +++ b/src/button/class-button-block-type.php @@ -35,6 +35,12 @@ class Button_Block_Type extends Block_Type { 'url' => array( 'type' => 'string', ), + 'linkTarget' => array( + 'type' => 'string', + ), + 'rel' => array( + 'type' => 'string', + ), 'text' => array( 'type' => 'string', ), @@ -53,6 +59,8 @@ class Button_Block_Type extends Block_Type { */ protected $default_attributes = array( 'url' => '', + 'linkTarget' => '', + 'rel' => '', 'text' => '', 'style' => '', 'alignment' => '', diff --git a/src/button/edit.js b/src/button/edit.js index 30b8a465b..5e8bc5019 100644 --- a/src/button/edit.js +++ b/src/button/edit.js @@ -6,6 +6,8 @@ import { IconButton, SelectControl, PanelBody, + ToggleControl, + TextControl, } from '@wordpress/components'; import { applyFilters } from '@wordpress/hooks'; import * as BlockEditor from '@wordpress/block-editor'; @@ -19,10 +21,12 @@ const { AlignmentToolbar, } = BlockEditor || Editor; // Fallback to deprecated '@wordpress/editor' for backwards compatibility +const NEW_TAB_REL_DEFAULT_VALUE = 'noreferrer noopener'; + class BootstrapButtonEdit extends Component { render() { const { attributes, className, setAttributes, isSelected } = this.props; - const { url, text, style, alignment } = attributes; + const { url, linkTarget, rel, text, style, alignment } = attributes; let styleOptions = [ { label: __( 'Primary', 'wp-bootstrap-blocks' ), value: 'primary' }, @@ -36,6 +40,23 @@ class BootstrapButtonEdit extends Component { styleOptions ); + // Open in new tab behavior from core/button (source: https://github.com/WordPress/gutenberg/blob/master/packages/block-library/src/button/edit.js) + const onToggleOpenInNewTab = ( value ) => { + const newLinkTarget = value ? '_blank' : undefined; + + let updatedRel = rel; + if ( newLinkTarget && ! rel ) { + updatedRel = NEW_TAB_REL_DEFAULT_VALUE; + } else if ( ! newLinkTarget && rel === NEW_TAB_REL_DEFAULT_VALUE ) { + updatedRel = undefined; + } + + setAttributes( { + linkTarget: newLinkTarget, + rel: updatedRel, + } ); + }; + return (
@@ -63,6 +84,31 @@ class BootstrapButtonEdit extends Component { } } /> + + + { + setAttributes( { rel: newRel } ); + } } + /> + diff --git a/wp-bootstrap-blocks.php b/wp-bootstrap-blocks.php index 42188567f..038130628 100755 --- a/wp-bootstrap-blocks.php +++ b/wp-bootstrap-blocks.php @@ -5,7 +5,7 @@ * Description: Bootstrap Gutenberg Blocks for WordPress. * Author: Liip AG * Author URI: https://liip.ch - * Version: 3.0.0 + * Version: 3.1.0 * License: GPL2+ * License URI: https://www.gnu.org/licenses/gpl-2.0.txt * Text Domain: wp-bootstrap-blocks