Plugin Directory

Changeset 3389193


Ignore:
Timestamp:
11/03/2025 09:59:52 PM (6 weeks ago)
Author:
google
Message:

Update to version 1.165.0 from GitHub

Location:
google-site-kit
Files:
90 added
82 deleted
44 edited
1 copied

Legend:

Unmodified
Added
Removed
  • google-site-kit/tags/1.165.0/dist/assets/blocks/reader-revenue-manager/contribute-with-google/block.json

    r3381521 r3389193  
    33    "apiVersion": 2,
    44    "name": "google-site-kit/rrm-contribute-with-google",
    5     "version": "1.164.0",
     5    "version": "1.165.0",
    66    "title": "Contribute with Google",
    77    "category": "widgets",
  • google-site-kit/tags/1.165.0/dist/assets/blocks/reader-revenue-manager/subscribe-with-google/block.json

    r3381521 r3389193  
    33    "apiVersion": 2,
    44    "name": "google-site-kit/rrm-subscribe-with-google",
    5     "version": "1.164.0",
     5    "version": "1.165.0",
    66    "title": "Subscribe with Google",
    77    "category": "widgets",
  • google-site-kit/tags/1.165.0/dist/assets/blocks/sign-in-with-google/block.json

    r3381521 r3389193  
    33    "apiVersion": 2,
    44    "name": "google-site-kit/sign-in-with-google",
    5     "version": "1.164.0",
     5    "version": "1.165.0",
    66    "title": "Sign in with Google",
    77    "category": "widgets",
    88    "icon": "google",
    99    "description": "Allow users to sign in to your site using their Google Account.",
    10     "textdomain": "google-site-kit"
     10    "textdomain": "google-site-kit",
     11    "attributes": {
     12        "shape": {
     13            "type": "string",
     14            "enum": [ "", "rectangular", "pill" ]
     15        },
     16        "text": {
     17            "type": "string",
     18            "enum": [
     19                "",
     20                "continue_with",
     21                "signin",
     22                "signin_with",
     23                "signup_with"
     24            ]
     25        },
     26        "theme": {
     27            "type": "string",
     28            "enum": [ "", "outline", "filled_blue", "filled_black" ]
     29        },
     30        "buttonClassName": {
     31            "type": "string"
     32        }
     33    }
    1134}
  • google-site-kit/tags/1.165.0/dist/assets/blocks/sign-in-with-google/index.js

    r3373932 r3389193  
    1 (()=>{"use strict";var e={192:(e,t,r)=>{var A=r(696),n=60103;if("function"==typeof Symbol&&Symbol.for){var o=Symbol.for;n=o("react.element"),o("react.fragment")}var i=A.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,u=Object.prototype.hasOwnProperty,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,r){var A,o={},c=null,a=null;for(A in void 0!==r&&(c=""+r),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(a=t.ref),t)u.call(t,A)&&!l.hasOwnProperty(A)&&(o[A]=t[A]);if(e&&e.defaultProps)for(A in t=e.defaultProps)void 0===o[A]&&(o[A]=t[A]);return{$$typeof:n,type:e,key:c,ref:a,props:o,_owner:i.current}}t.jsx=c},403:(e,t,r)=>{var A=r(664),n="function"==typeof Symbol&&Symbol.for,o=n?Symbol.for("react.element"):60103,i=n?Symbol.for("react.portal"):60106,u=n?Symbol.for("react.fragment"):60107,l=n?Symbol.for("react.strict_mode"):60108,c=n?Symbol.for("react.profiler"):60114,a=n?Symbol.for("react.provider"):60109,f=n?Symbol.for("react.context"):60110,s=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,g=n?Symbol.for("react.memo"):60115,v=n?Symbol.for("react.lazy"):60116,C="function"==typeof Symbol&&Symbol.iterator;function h(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},B={};function w(e,t,r){this.props=e,this.context=t,this.refs=B,this.updater=r||y}function E(){}function R(e,t,r){this.props=e,this.context=t,this.refs=B,this.updater=r||y}w.prototype.isReactComponent={},w.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(h(85));this.updater.enqueueSetState(this,e,t,"setState")},w.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},E.prototype=w.prototype;var m=R.prototype=new E;m.constructor=R,A(m,w.prototype),m.isPureReactComponent=!0;var Y={current:null},b=Object.prototype.hasOwnProperty,d={key:!0,ref:!0,__self:!0,__source:!0};function G(e,t,r){var A,n={},i=null,u=null;if(null!=t)for(A in void 0!==t.ref&&(u=t.ref),void 0!==t.key&&(i=""+t.key),t)b.call(t,A)&&!d.hasOwnProperty(A)&&(n[A]=t[A]);var l=arguments.length-2;if(1===l)n.children=r;else if(1<l){for(var c=Array(l),a=0;a<l;a++)c[a]=arguments[a+2];n.children=c}if(e&&e.defaultProps)for(A in l=e.defaultProps)void 0===n[A]&&(n[A]=l[A]);return{$$typeof:o,type:e,key:i,ref:u,props:n,_owner:Y.current}}function j(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var I=/\/+/g,P=[];function F(e,t,r,A){if(P.length){var n=P.pop();return n.result=e,n.keyPrefix=t,n.func=r,n.context=A,n.count=0,n}return{result:e,keyPrefix:t,func:r,context:A,count:0}}function S(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>P.length&&P.push(e)}function W(e,t,r,A){var n=typeof e;"undefined"!==n&&"boolean"!==n||(e=null);var u=!1;if(null===e)u=!0;else switch(n){case"string":case"number":u=!0;break;case"object":switch(e.$$typeof){case o:case i:u=!0}}if(u)return r(A,e,""===t?"."+N(e,0):t),1;if(u=0,t=""===t?".":t+":",Array.isArray(e))for(var l=0;l<e.length;l++){var c=t+N(n=e[l],l);u+=W(n,c,r,A)}else if(null===e||"object"!=typeof e?c=null:c="function"==typeof(c=C&&e[C]||e["@@iterator"])?c:null,"function"==typeof c)for(e=c.call(e),l=0;!(n=e.next()).done;)u+=W(n=n.value,c=t+N(n,l++),r,A);else if("object"===n)throw r=""+e,Error(h(31,"[object Object]"===r?"object with keys {"+Object.keys(e).join(", ")+"}":r,""));return u}function L(e,t,r){return null==e?0:W(e,"",t,r)}function N(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})}(e.key):t.toString(36)}function k(e,t){e.func.call(e.context,t,e.count++)}function V(e,t,r){var A=e.result,n=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?Z(e,A,r,function(e){return e}):null!=e&&(j(e)&&(e=function(e,t){return{$$typeof:o,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,n+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(I,"$&/")+"/")+r)),A.push(e))}function Z(e,t,r,A,n){var o="";null!=r&&(o=(""+r).replace(I,"$&/")+"/"),L(e,V,t=F(t,o,A,n)),S(t)}var D={current:null};function x(){var e=D.current;if(null===e)throw Error(h(321));return e}var Q={ReactCurrentDispatcher:D,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:Y,IsSomeRendererActing:{current:!1},assign:A};t.Children={map:function(e,t,r){if(null==e)return e;var A=[];return Z(e,A,null,t,r),A},forEach:function(e,t,r){if(null==e)return e;L(e,k,t=F(null,null,t,r)),S(t)},count:function(e){return L(e,function(){return null},null)},toArray:function(e){var t=[];return Z(e,t,null,function(e){return e}),t},only:function(e){if(!j(e))throw Error(h(143));return e}},t.Component=w,t.Fragment=u,t.Profiler=c,t.PureComponent=R,t.StrictMode=l,t.Suspense=p,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Q,t.cloneElement=function(e,t,r){if(null==e)throw Error(h(267,e));var n=A({},e.props),i=e.key,u=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(u=t.ref,l=Y.current),void 0!==t.key&&(i=""+t.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(a in t)b.call(t,a)&&!d.hasOwnProperty(a)&&(n[a]=void 0===t[a]&&void 0!==c?c[a]:t[a])}var a=arguments.length-2;if(1===a)n.children=r;else if(1<a){c=Array(a);for(var f=0;f<a;f++)c[f]=arguments[f+2];n.children=c}return{$$typeof:o,type:e.type,key:i,ref:u,props:n,_owner:l}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:f,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:a,_context:e},e.Consumer=e},t.createElement=G,t.createFactory=function(e){var t=G.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:s,render:e}},t.isValidElement=j,t.lazy=function(e){return{$$typeof:v,_ctor:e,_status:-1,_result:null}},t.memo=function(e,t){return{$$typeof:g,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return x().useCallback(e,t)},t.useContext=function(e,t){return x().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return x().useEffect(e,t)},t.useImperativeHandle=function(e,t,r){return x().useImperativeHandle(e,t,r)},t.useLayoutEffect=function(e,t){return x().useLayoutEffect(e,t)},t.useMemo=function(e,t){return x().useMemo(e,t)},t.useReducer=function(e,t,r){return x().useReducer(e,t,r)},t.useRef=function(e){return x().useRef(e)},t.useState=function(e){return x().useState(e)},t.version="16.14.0"},540:(e,t,r)=>{e.exports=r(192)},664:e=>{var t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var A={};return"abcdefghijklmnopqrst".split("").forEach(function(e){A[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},A)).join("")}catch(e){return!1}}()?Object.assign:function(e,n){for(var o,i,u=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;l<arguments.length;l++){for(var c in o=Object(arguments[l]))r.call(o,c)&&(u[c]=o[c]);if(t){i=t(o);for(var a=0;a<i.length;a++)A.call(o,i[a])&&(u[i[a]]=o[i[a]])}}return u}},696:(e,t,r)=>{e.exports=r(403)}},t={};function __webpack_require__(r){var A=t[r];if(void 0!==A)return A.exports;var n=t[r]={exports:{}};return e[r](n,n.exports,__webpack_require__),n.exports}const r=wp.blocks,A=wp.blockEditor;var n,o,i,u=__webpack_require__(696);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var A in r)({}).hasOwnProperty.call(r,A)&&(e[A]=r[A])}return e},l.apply(null,arguments)}const c=e=>u.createElement("svg",l({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",fill:"none",viewBox:"0 0 180 41"},e),n||(n=u.createElement("rect",{width:180,height:41,fill:"#fff",rx:20.5})),o||(o=u.createElement("path",{fill:"url(#icon_svg__a)",d:"M9 8h162v26H9z"})),i||(i=u.createElement("defs",null,u.createElement("pattern",{id:"icon_svg__a",width:1,height:1,patternContentUnits:"objectBoundingBox"},u.createElement("use",{xlinkHref:"#icon_svg__b",transform:"matrix(.00309 0 0 .01923 -.117 -.692)"})),u.createElement("image",{xlinkHref:"data:image/png;base64,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",id:"icon_svg__b",width:406,height:126}))));var a=__webpack_require__(540);const f=JSON.parse('{"UU":"google-site-kit/sign-in-with-google"}');(0,r.registerBlockType)(f.UU,{edit:function Edit(){const e=(0,A.useBlockProps)();return(0,a.jsx)("div",{...e,children:(0,a.jsx)("div",{className:"googlesitekit-blocks-sign-in-with-google",style:{maxWidth:"180px",minWidth:"120px"},children:(0,a.jsx)(c,{})})})}})})();
     1(()=>{"use strict";var e={192:(e,t,n)=>{var r=n(696),o=60103;if("function"==typeof Symbol&&Symbol.for){var A=Symbol.for;o=A("react.element"),A("react.fragment")}var i=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l=Object.prototype.hasOwnProperty,a={key:!0,ref:!0,__self:!0,__source:!0};function u(e,t,n){var r,A={},u=null,s=null;for(r in void 0!==n&&(u=""+n),void 0!==t.key&&(u=""+t.key),void 0!==t.ref&&(s=t.ref),t)l.call(t,r)&&!a.hasOwnProperty(r)&&(A[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===A[r]&&(A[r]=t[r]);return{$$typeof:o,type:e,key:u,ref:s,props:A,_owner:i.current}}t.jsx=u,t.jsxs=u},403:(e,t,n)=>{var r=n(664),o="function"==typeof Symbol&&Symbol.for,A=o?Symbol.for("react.element"):60103,i=o?Symbol.for("react.portal"):60106,l=o?Symbol.for("react.fragment"):60107,a=o?Symbol.for("react.strict_mode"):60108,u=o?Symbol.for("react.profiler"):60114,s=o?Symbol.for("react.provider"):60109,c=o?Symbol.for("react.context"):60110,f=o?Symbol.for("react.forward_ref"):60112,g=o?Symbol.for("react.suspense"):60113,p=o?Symbol.for("react.memo"):60115,v=o?Symbol.for("react.lazy"):60116,h="function"==typeof Symbol&&Symbol.iterator;function C(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},w={};function B(e,t,n){this.props=e,this.context=t,this.refs=w,this.updater=n||y}function m(){}function b(e,t,n){this.props=e,this.context=t,this.refs=w,this.updater=n||y}B.prototype.isReactComponent={},B.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(C(85));this.updater.enqueueSetState(this,e,t,"setState")},B.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},m.prototype=B.prototype;var E=b.prototype=new m;E.constructor=b,r(E,B.prototype),E.isPureReactComponent=!0;var d={current:null},R=Object.prototype.hasOwnProperty,Y={key:!0,ref:!0,__self:!0,__source:!0};function j(e,t,n){var r,o={},i=null,l=null;if(null!=t)for(r in void 0!==t.ref&&(l=t.ref),void 0!==t.key&&(i=""+t.key),t)R.call(t,r)&&!Y.hasOwnProperty(r)&&(o[r]=t[r]);var a=arguments.length-2;if(1===a)o.children=n;else if(1<a){for(var u=Array(a),s=0;s<a;s++)u[s]=arguments[s+2];o.children=u}if(e&&e.defaultProps)for(r in a=e.defaultProps)void 0===o[r]&&(o[r]=a[r]);return{$$typeof:A,type:e,key:i,ref:l,props:o,_owner:d.current}}function G(e){return"object"==typeof e&&null!==e&&e.$$typeof===A}var I=/\/+/g,P=[];function F(e,t,n,r){if(P.length){var o=P.pop();return o.result=e,o.keyPrefix=t,o.func=n,o.context=r,o.count=0,o}return{result:e,keyPrefix:t,func:n,context:r,count:0}}function S(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>P.length&&P.push(e)}function x(e,t,n,r){var o=typeof e;"undefined"!==o&&"boolean"!==o||(e=null);var l=!1;if(null===e)l=!0;else switch(o){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case A:case i:l=!0}}if(l)return n(r,e,""===t?"."+k(e,0):t),1;if(l=0,t=""===t?".":t+":",Array.isArray(e))for(var a=0;a<e.length;a++){var u=t+k(o=e[a],a);l+=x(o,u,n,r)}else if(null===e||"object"!=typeof e?u=null:u="function"==typeof(u=h&&e[h]||e["@@iterator"])?u:null,"function"==typeof u)for(e=u.call(e),a=0;!(o=e.next()).done;)l+=x(o=o.value,u=t+k(o,a++),n,r);else if("object"===o)throw n=""+e,Error(C(31,"[object Object]"===n?"object with keys {"+Object.keys(e).join(", ")+"}":n,""));return l}function N(e,t,n){return null==e?0:x(e,"",t,n)}function k(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})}(e.key):t.toString(36)}function W(e,t){e.func.call(e.context,t,e.count++)}function L(e,t,n){var r=e.result,o=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?D(e,r,n,function(e){return e}):null!=e&&(G(e)&&(e=function(e,t){return{$$typeof:A,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,o+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(I,"$&/")+"/")+n)),r.push(e))}function D(e,t,n,r,o){var A="";null!=n&&(A=(""+n).replace(I,"$&/")+"/"),N(e,L,t=F(t,A,r,o)),S(t)}var V={current:null};function Z(){var e=V.current;if(null===e)throw Error(C(321));return e}var Q={ReactCurrentDispatcher:V,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:d,IsSomeRendererActing:{current:!1},assign:r};t.Children={map:function(e,t,n){if(null==e)return e;var r=[];return D(e,r,null,t,n),r},forEach:function(e,t,n){if(null==e)return e;N(e,W,t=F(null,null,t,n)),S(t)},count:function(e){return N(e,function(){return null},null)},toArray:function(e){var t=[];return D(e,t,null,function(e){return e}),t},only:function(e){if(!G(e))throw Error(C(143));return e}},t.Component=B,t.Fragment=l,t.Profiler=u,t.PureComponent=b,t.StrictMode=a,t.Suspense=g,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Q,t.cloneElement=function(e,t,n){if(null==e)throw Error(C(267,e));var o=r({},e.props),i=e.key,l=e.ref,a=e._owner;if(null!=t){if(void 0!==t.ref&&(l=t.ref,a=d.current),void 0!==t.key&&(i=""+t.key),e.type&&e.type.defaultProps)var u=e.type.defaultProps;for(s in t)R.call(t,s)&&!Y.hasOwnProperty(s)&&(o[s]=void 0===t[s]&&void 0!==u?u[s]:t[s])}var s=arguments.length-2;if(1===s)o.children=n;else if(1<s){u=Array(s);for(var c=0;c<s;c++)u[c]=arguments[c+2];o.children=u}return{$$typeof:A,type:e.type,key:i,ref:l,props:o,_owner:a}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:c,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},t.createElement=j,t.createFactory=function(e){var t=j.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:f,render:e}},t.isValidElement=G,t.lazy=function(e){return{$$typeof:v,_ctor:e,_status:-1,_result:null}},t.memo=function(e,t){return{$$typeof:p,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return Z().useCallback(e,t)},t.useContext=function(e,t){return Z().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return Z().useEffect(e,t)},t.useImperativeHandle=function(e,t,n){return Z().useImperativeHandle(e,t,n)},t.useLayoutEffect=function(e,t){return Z().useLayoutEffect(e,t)},t.useMemo=function(e,t){return Z().useMemo(e,t)},t.useReducer=function(e,t,n){return Z().useReducer(e,t,n)},t.useRef=function(e){return Z().useRef(e)},t.useState=function(e){return Z().useState(e)},t.version="16.14.0"},540:(e,t,n)=>{e.exports=n(192)},664:e=>{var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,o){for(var A,i,l=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),a=1;a<arguments.length;a++){for(var u in A=Object(arguments[a]))n.call(A,u)&&(l[u]=A[u]);if(t){i=t(A);for(var s=0;s<i.length;s++)r.call(A,i[s])&&(l[i[s]]=A[i[s]])}}return l}},696:(e,t,n)=>{e.exports=n(403)}},t={};function __webpack_require__(n){var r=t[n];if(void 0!==r)return r.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,__webpack_require__),o.exports}const n=wp.blocks,r=wp.blockEditor,o=wp.components,A=wp.element,i=googlesitekit.i18n,l=[{value:"outline",label:"Light"},{value:"filled_blue",label:"Neutral"},{value:"filled_black",label:"Dark"}],a=[{value:"continue_with",label:"Continue with Google"},{value:"signin",label:"Sign in"},{value:"signin_with",label:"Sign in with Google"},{value:"signup_with",label:"Sign up with Google"}],u=[{value:"pill",label:"Pill"},{value:"rectangular",label:"Rectangular"}];var s,c,f,g=__webpack_require__(696);function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},p.apply(null,arguments)}const v=e=>g.createElement("svg",p({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",fill:"none",viewBox:"0 0 180 41"},e),s||(s=g.createElement("rect",{width:180,height:41,fill:"#fff",rx:20.5})),c||(c=g.createElement("path",{fill:"url(#icon_svg__a)",d:"M9 8h162v26H9z"})),f||(f=g.createElement("defs",null,g.createElement("pattern",{id:"icon_svg__a",width:1,height:1,patternContentUnits:"objectBoundingBox"},g.createElement("use",{xlinkHref:"#icon_svg__b",transform:"matrix(.00309 0 0 .01923 -.117 -.692)"})),g.createElement("image",{xlinkHref:"data:image/png;base64,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",id:"icon_svg__b",width:406,height:126}))));var h=__webpack_require__(540);const C={label:(0,i.__)("Default (use site settings)","google-site-kit"),value:""};const y=JSON.parse('{"UU":"google-site-kit/sign-in-with-google"}');(0,n.registerBlockType)(y.UU,{edit:function Edit({attributes:e,setAttributes:t,className:n}){const{shape:s,text:c,theme:f,buttonClassName:g}=e,p=(0,r.useBlockProps)({className:n});function y(e){return[C,...e]}function w(e){return function(n){!function(e,n){t({[e]:n||void 0})}(e,n)}}const B={...s?{"data-googlesitekit-siwg-shape":s}:{},...c?{"data-googlesitekit-siwg-text":c}:{},...f?{"data-googlesitekit-siwg-theme":f}:{}},m=["googlesitekit-blocks-sign-in-with-google",g||""].filter(Boolean).join(" ");return(0,h.jsxs)(A.Fragment,{children:[(0,h.jsx)(r.InspectorControls,{children:(0,h.jsxs)(o.PanelBody,{title:(0,i.__)("Button settings","google-site-kit"),initialOpen:!0,children:[(0,h.jsx)(o.SelectControl,{label:(0,i.__)("Button shape","google-site-kit"),value:null!=s?s:"",onChange:w("shape"),options:y(u),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),(0,h.jsx)(o.SelectControl,{label:(0,i.__)("Button text","google-site-kit"),value:null!=c?c:"",onChange:w("text"),options:y(a),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),(0,h.jsx)(o.SelectControl,{label:(0,i.__)("Button theme","google-site-kit"),value:null!=f?f:"",onChange:w("theme"),options:y(l),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),(0,h.jsx)(o.TextControl,{label:(0,i.__)("HTML class","google-site-kit"),help:(0,i.__)("Add optional classes to customize the button in the editor and on the frontend.","google-site-kit"),value:g||"",onChange:function(e){const n=e.trim();t({buttonClassName:n||void 0})},__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0})]})}),(0,h.jsx)("div",{...p,children:(0,h.jsx)("div",{className:m,style:{maxWidth:"180px",minWidth:"120px"},...B,children:(0,h.jsx)(v,{})})})]})}})})();
  • google-site-kit/tags/1.165.0/dist/manifest.php

    r3381521 r3389193  
    99return array(
    1010    'googlesitekit-consent-mode'                                      => array( "googlesitekit-consent-mode-bc2e26cfa69fcd4a8261.js", null ),
    11     'googlesitekit-events-provider-contact-form-7'                    => array( "googlesitekit-events-provider-contact-form-7-858d8c72283d3fbfaa98.js", null ),
     11    'googlesitekit-events-provider-contact-form-7'                    => array( "googlesitekit-events-provider-contact-form-7-40476021fb6e59177033.js", null ),
    1212    'googlesitekit-events-provider-easy-digital-downloads'            => array( "googlesitekit-events-provider-easy-digital-downloads-85026152b9292f580065.js", null ),
    13     'googlesitekit-events-provider-mailchimp'                         => array( "googlesitekit-events-provider-mailchimp-a4f9d772bc64ad5b383c.js", null ),
    14     'googlesitekit-events-provider-ninja-forms'                       => array( "googlesitekit-events-provider-ninja-forms-aa24820311d3e4ff028a.js", null ),
    15     'googlesitekit-events-provider-optin-monster'                     => array( "googlesitekit-events-provider-optin-monster-492972356bb4b9b04218.js", null ),
    16     'googlesitekit-events-provider-popup-maker'                       => array( "googlesitekit-events-provider-popup-maker-3e08ae2a503322243ba6.js", null ),
     13    'googlesitekit-events-provider-mailchimp'                         => array( "googlesitekit-events-provider-mailchimp-766d83b09856fae7cf87.js", null ),
     14    'googlesitekit-events-provider-ninja-forms'                       => array( "googlesitekit-events-provider-ninja-forms-1bcc43dc33ac5df43991.js", null ),
     15    'googlesitekit-events-provider-optin-monster'                     => array( "googlesitekit-events-provider-optin-monster-e6fa11a9d13d20a7ece5.js", null ),
     16    'googlesitekit-events-provider-popup-maker'                       => array( "googlesitekit-events-provider-popup-maker-561440dc30d29e4d73d1.js", null ),
    1717    'googlesitekit-events-provider-woocommerce'                       => array( "googlesitekit-events-provider-woocommerce-56777fd664fb7392edc2.js", null ),
    18     'googlesitekit-events-provider-wpforms'                           => array( "googlesitekit-events-provider-wpforms-9774e7805b244d82c869.js", null ),
     18    'googlesitekit-events-provider-wpforms'                           => array( "googlesitekit-events-provider-wpforms-ed443a3a3d45126a22ce.js", null ),
    1919    'googlesitekit-i18n'                                              => array( "googlesitekit-i18n-f0c172b703253d0876a2.js", null ),
    2020    'analytics-advanced-tracking'                                     => array( "analytics-advanced-tracking-78f90889e2d99b97b685.js", null ),
     
    2828    'sign-in-with-google/index'                                       => array( "sign-in-with-google/index.js", null ),
    2929    'sign-in-with-google/editor-styles'                               => array( "sign-in-with-google/editor-styles.js", null ),
    30     'googlesitekit-admin-css'                                         => array( "googlesitekit-admin-css-0aa580d3c352ea32302e.min.css", null ),
     30    'googlesitekit-admin-css'                                         => array( "googlesitekit-admin-css-2d878b524029ec067eec.min.css", null ),
    3131    'googlesitekit-adminbar-css'                                      => array( "googlesitekit-adminbar-css-d193e67e2cbecf306061.min.css", null ),
    3232    'googlesitekit-wp-dashboard-css'                                  => array( "googlesitekit-wp-dashboard-css-bd43e70c4bc5ecdc3695.min.css", null ),
    3333    'googlesitekit-authorize-application-css'                         => array( "googlesitekit-authorize-application-css-5b98b536e7f34c6411c1.min.css", null ),
    34     'googlesitekit-api'                                               => array( "googlesitekit-api-5415d897f4cfe6af537a.js", null ),
    35     'googlesitekit-data'                                              => array( "googlesitekit-data-a82cf53783cfc2587cae.js", null ),
    36     'googlesitekit-datastore-site'                                    => array( "googlesitekit-datastore-site-4fab9d4e493df1a7b75f.js", null ),
    37     'googlesitekit-datastore-user'                                    => array( "googlesitekit-datastore-user-9fbfa20e271014903635.js", null ),
    38     'googlesitekit-datastore-forms'                                   => array( "googlesitekit-datastore-forms-bb68e468edb671baec08.js", null ),
     34    'googlesitekit-api'                                               => array( "googlesitekit-api-4acd9eba95567bccec3c.js", null ),
     35    'googlesitekit-data'                                              => array( "googlesitekit-data-2868d5c75a96f60bd472.js", null ),
     36    'googlesitekit-datastore-site'                                    => array( "googlesitekit-datastore-site-3c39e3fbabbd2f01e016.js", null ),
     37    'googlesitekit-datastore-user'                                    => array( "googlesitekit-datastore-user-554efe90316700e16739.js", null ),
     38    'googlesitekit-datastore-forms'                                   => array( "googlesitekit-datastore-forms-d643ba5ba26668542bde.js", null ),
    3939    'googlesitekit-datastore-location'                                => array( "googlesitekit-datastore-location-a7fd5d1461e0562c934a.js", null ),
    40     'googlesitekit-datastore-ui'                                      => array( "googlesitekit-datastore-ui-c4f0c0ecf7e603d255ac.js", null ),
    41     'googlesitekit-modules'                                           => array( "googlesitekit-modules-0a1c37f4c7f1ccba2e70.js", null ),
    42     'googlesitekit-notifications'                                     => array( "googlesitekit-notifications-3b99b45672b70fa6c0c3.js", null ),
    43     'googlesitekit-widgets'                                           => array( "googlesitekit-widgets-89e6cf33318a2b4218b2.js", null ),
    44     'googlesitekit-modules-ads'                                       => array( "googlesitekit-modules-ads-3afd4c0d0448a6b9e55d.js", null ),
    45     'googlesitekit-modules-adsense'                                   => array( "googlesitekit-modules-adsense-ff252ea79a88ca6ed113.js", null ),
    46     'googlesitekit-modules-analytics-4'                               => array( "googlesitekit-modules-analytics-4-a3afd3f605d1d6cee9ae.js", null ),
    47     'googlesitekit-modules-pagespeed-insights'                        => array( "googlesitekit-modules-pagespeed-insights-a520ab4105bdb8b21f4b.js", null ),
    48     'googlesitekit-modules-reader-revenue-manager'                    => array( "googlesitekit-modules-reader-revenue-manager-3f5c91790bc27a05a1af.js", null ),
    49     'googlesitekit-modules-search-console'                            => array( "googlesitekit-modules-search-console-e91f3b157dee1fcc67f4.js", null ),
    50     'googlesitekit-modules-sign-in-with-google'                       => array( "googlesitekit-modules-sign-in-with-google-b45a6047e0a41d61dea8.js", null ),
    51     'googlesitekit-modules-tagmanager'                                => array( "googlesitekit-modules-tagmanager-94a8d4227d2d26a44073.js", null ),
    52     'googlesitekit-user-input'                                        => array( "googlesitekit-user-input-066d7b88b430e4488323.js", null ),
    53     'googlesitekit-ad-blocking-recovery'                              => array( "googlesitekit-ad-blocking-recovery-720a286901e7b9d4dce3.js", null ),
     40    'googlesitekit-datastore-ui'                                      => array( "googlesitekit-datastore-ui-ab5c239e3cf8b9ab02b0.js", null ),
     41    'googlesitekit-modules'                                           => array( "googlesitekit-modules-bee95690a7bf78bc07b4.js", null ),
     42    'googlesitekit-notifications'                                     => array( "googlesitekit-notifications-2736e03463ce2aa1bf04.js", null ),
     43    'googlesitekit-widgets'                                           => array( "googlesitekit-widgets-fa50a53f55279b0e87e6.js", null ),
     44    'googlesitekit-modules-ads'                                       => array( "googlesitekit-modules-ads-6547fa863cf79755997f.js", null ),
     45    'googlesitekit-modules-adsense'                                   => array( "googlesitekit-modules-adsense-8ffefc093acfb03d3939.js", null ),
     46    'googlesitekit-modules-analytics-4'                               => array( "googlesitekit-modules-analytics-4-b55732b33a3e8ecabb92.js", null ),
     47    'googlesitekit-modules-pagespeed-insights'                        => array( "googlesitekit-modules-pagespeed-insights-ce16569db5c5c3700246.js", null ),
     48    'googlesitekit-modules-reader-revenue-manager'                    => array( "googlesitekit-modules-reader-revenue-manager-0eaef957f6a1121c2632.js", null ),
     49    'googlesitekit-modules-search-console'                            => array( "googlesitekit-modules-search-console-a503191f619f430f2e1f.js", null ),
     50    'googlesitekit-modules-sign-in-with-google'                       => array( "googlesitekit-modules-sign-in-with-google-7a7375c0e3afa603c730.js", null ),
     51    'googlesitekit-modules-tagmanager'                                => array( "googlesitekit-modules-tagmanager-5cccb7a1aa3b8068a19d.js", null ),
     52    'googlesitekit-user-input'                                        => array( "googlesitekit-user-input-d8854daef0c71e933cbd.js", null ),
     53    'googlesitekit-ad-blocking-recovery'                              => array( "googlesitekit-ad-blocking-recovery-04056d66d815c45fe98f.js", null ),
    5454    'googlesitekit-block-tracking'                                    => array( "googlesitekit-block-tracking-1032e2e997b7685502b9.js", null ),
    5555    'googlesitekit-polyfills'                                         => array( "googlesitekit-polyfills-8b59b9627a8949df6deb.js", null ),
    56     'googlesitekit-components'                                        => array( "googlesitekit-components-3b61eacd2cb133eb7a54.js", null ),
    57     'googlesitekit-metric-selection'                                  => array( "googlesitekit-metric-selection-42ec83a16098134bfe05.js", null ),
    58     'googlesitekit-key-metrics-setup'                                 => array( "googlesitekit-key-metrics-setup-af470800b816f945f2ea.js", null ),
    59     'googlesitekit-activation'                                        => array( "googlesitekit-activation-265f42c4861de8dd5530.js", null ),
    60     'googlesitekit-adminbar'                                          => array( "googlesitekit-adminbar-516a7ae64b1fbe0dc86d.js", null ),
    61     'googlesitekit-settings'                                          => array( "googlesitekit-settings-b48696b40ea99bbb1ab5.js", null ),
    62     'googlesitekit-main-dashboard'                                    => array( "googlesitekit-main-dashboard-8c022ca3fc37671d18b6.js", null ),
    63     'googlesitekit-entity-dashboard'                                  => array( "googlesitekit-entity-dashboard-ff6cd35270edba385955.js", null ),
    64     'googlesitekit-splash'                                            => array( "googlesitekit-splash-4c8bdca6bedb04bc4242.js", null ),
    65     'googlesitekit-wp-dashboard'                                      => array( "googlesitekit-wp-dashboard-0e2822cc1689ca577f29.js", null ),
     56    'googlesitekit-components'                                        => array( "googlesitekit-components-75585de31a179a264558.js", null ),
     57    'googlesitekit-metric-selection'                                  => array( "googlesitekit-metric-selection-fa2203e0c4f9ef557b3b.js", null ),
     58    'googlesitekit-key-metrics-setup'                                 => array( "googlesitekit-key-metrics-setup-b01b0e10038a0489334a.js", null ),
     59    'googlesitekit-activation'                                        => array( "googlesitekit-activation-cf67b1551538a8d25daf.js", null ),
     60    'googlesitekit-adminbar'                                          => array( "googlesitekit-adminbar-a78c323609736404fc2f.js", null ),
     61    'googlesitekit-settings'                                          => array( "googlesitekit-settings-d1c3d5b87d5d2f793f91.js", null ),
     62    'googlesitekit-main-dashboard'                                    => array( "googlesitekit-main-dashboard-28000cf844561eb9fe35.js", null ),
     63    'googlesitekit-entity-dashboard'                                  => array( "googlesitekit-entity-dashboard-676fd34c9ca371e65aae.js", null ),
     64    'googlesitekit-splash'                                            => array( "googlesitekit-splash-a647b5365ab8001fb00a.js", null ),
     65    'googlesitekit-wp-dashboard'                                      => array( "googlesitekit-wp-dashboard-4d2dbf3c1b69b854232d.js", null ),
    6666    'googlesitekit-runtime'                                           => array( "runtime-4300400569c01237fc9a.js", null ),
    6767    'googlesitekit-vendor'                                            => array( "googlesitekit-vendor-599848015879dcc843df.js", null ),
  • google-site-kit/tags/1.165.0/google-site-kit.php

    r3381521 r3389193  
    1212 * Plugin URI:        https://sitekit.withgoogle.com
    1313 * Description:       Site Kit is a one-stop solution for WordPress users to use everything Google has to offer to make them successful on the web.
    14  * Version:           1.164.0
     14 * Version:           1.165.0
    1515 * Requires at least: 5.2
    1616 * Requires PHP:      7.4
     
    2727
    2828// Define most essential constants.
    29 define( 'GOOGLESITEKIT_VERSION', '1.164.0' );
     29define( 'GOOGLESITEKIT_VERSION', '1.165.0' );
    3030define( 'GOOGLESITEKIT_PLUGIN_MAIN_FILE', __FILE__ );
    3131define( 'GOOGLESITEKIT_PHP_MINIMUM', '7.4.0' );
  • google-site-kit/tags/1.165.0/includes/Core/Assets/Assets.php

    r3381521 r3389193  
    643643                    'src'          => $base_url . 'js/googlesitekit-settings.js',
    644644                    'dependencies' => $this->get_asset_dependencies( 'dashboard-sharing' ),
     645                )
     646            ),
     647            new Script(
     648                'googlesitekit-sign-in-with-google-comments',
     649                array(
     650                    'src'           => $base_url . 'js/googlesitekit-sign-in-with-google-comments.js',
     651                    'dependencies'  => array(
     652                        'googlesitekit-tracking-data',
     653                        'googlesitekit-data',
     654                    ),
     655                    'load_contexts' => array( Asset::CONTEXT_ADMIN_POST_EDITOR ),
    645656                )
    646657            ),
  • google-site-kit/tags/1.165.0/includes/Core/Conversion_Tracking/Conversion_Event_Providers/Easy_Digital_Downloads.php

    r3381521 r3389193  
    1515use Google\Site_Kit\Core\Util\Feature_Flags;
    1616use Google\Site_Kit\Core\Util\Method_Proxy_Trait;
    17 use Google\Site_Kit\Modules\Ads\Enhanced_Conversions;
     17use Google\Site_Kit\Core\Tags\Enhanced_Conversions\Enhanced_Conversions;
    1818
    1919/**
     
    5656
    5757        return $event_names;
     58    }
     59
     60    /**
     61     * Gets the enhanced conversion event names that are tracked by this provider.
     62     *
     63     * @since 1.165.0
     64     *
     65     * @return array List of enhanced conversion event names.
     66     */
     67    public function get_enhanced_event_names() {
     68        return array( 'add_to_cart' );
    5869    }
    5970
  • google-site-kit/tags/1.165.0/includes/Core/Conversion_Tracking/Conversion_Event_Providers/WooCommerce.php

    r3358056 r3389193  
    1414use Google\Site_Kit\Core\Conversion_Tracking\Conversion_Events_Provider;
    1515use Google\Site_Kit\Core\Util\Feature_Flags;
    16 use Google\Site_Kit\Modules\Ads\Enhanced_Conversions;
     16use Google\Site_Kit\Core\Tags\Enhanced_Conversions\Enhanced_Conversions;
    1717
    1818/**
     
    6767
    6868        return array_unique( array_merge( $events_to_track, $wgai_event_names ) );
     69    }
     70
     71    /**
     72     * Gets the enhanced conversion event names that are tracked by this provider.
     73     *
     74     * @since 1.165.0
     75     *
     76     * @return array List of enhanced conversion event names.
     77     */
     78    public function get_enhanced_event_names() {
     79        return array( 'add_to_cart', 'purchase' );
    6980    }
    7081
  • google-site-kit/tags/1.165.0/includes/Core/Conversion_Tracking/Conversion_Events_Provider.php

    r3305239 r3389193  
    7575
    7676    /**
     77     * Gets the enhanced conversion event names.
     78     *
     79     * @since 1.165.0
     80     *
     81     * @return array List of enhanced conversion event names. Default empty array.
     82     */
     83    public function get_enhanced_event_names() {
     84        return array();
     85    }
     86
     87    /**
    7788     * Registers any actions/hooks for this provider.
    7889     *
  • google-site-kit/tags/1.165.0/includes/Core/Conversion_Tracking/Conversion_Tracking.php

    r3373932 r3389193  
    247247
    248248    /**
     249     * Returns enhanced conversion events supported by active providers from the conversion tracking infrastructure.
     250     *
     251     * @since 1.165.0
     252     *
     253     * @return array Array of supported enhanced conversion events, or empty array.
     254     */
     255    public function get_enhanced_conversion_events() {
     256        $providers = $this->get_active_providers();
     257
     258        if ( empty( $providers ) ) {
     259            return array();
     260        }
     261
     262        $events = array();
     263
     264        foreach ( $providers as $provider ) {
     265            $supported_enhanced_events = array_intersect( $provider->get_enhanced_event_names(), $provider->get_event_names() );
     266
     267            $events = array_merge( $events, array_values( $supported_enhanced_events ) );
     268        }
     269
     270        return array_unique( $events );
     271    }
     272
     273    /**
    249274     * Gets an array of internal feature metrics.
    250275     *
     
    255280    public function get_feature_metrics() {
    256281        return array(
    257             'conversion_tracking_enabled'   => $this->conversion_tracking_settings->is_conversion_tracking_enabled(),
    258             'conversion_tracking_providers' => array_keys( $this->get_active_providers() ),
    259             'conversion_tracking_events'    => $this->get_supported_conversion_events(),
     282            'conversion_tracking_enabled'    => $this->conversion_tracking_settings->is_conversion_tracking_enabled(),
     283            'conversion_tracking_providers'  => array_keys( $this->get_active_providers() ),
     284            'conversion_tracking_events'     => $this->get_supported_conversion_events(),
     285            'conversion_tracking_events_enh' => $this->get_enhanced_conversion_events(),
    260286        );
    261287    }
  • google-site-kit/tags/1.165.0/includes/Core/User/User.php

    r3381521 r3389193  
    4040
    4141    /**
    42      * Proactive_User_Engagement instance.
     42     * Email_Reporting instance.
    4343     *
    4444     * @since 1.162.0
    45      * @var Proactive_User_Engagement
     45     * @var Email_Reporting
    4646     */
    47     private $proactive_user_engagement;
     47    private $email_reporting;
    4848
    4949    /**
     
    5959     *
    6060     * @since 1.134.0
    61      * @since 1.162.0 Added Proactive User Engagement.
     61     * @since 1.162.0 Added Email Reporting.
    6262     * @since 1.164.0 Added Initial Setup.
    6363     *
     
    6969
    7070        if ( Feature_Flags::enabled( 'proactiveUserEngagement' ) ) {
    71             $this->proactive_user_engagement = new Proactive_User_Engagement( $user_options );
     71            $this->email_reporting = new Email_Reporting( $user_options );
    7272        }
    7373
     
    8181     *
    8282     * @since 1.134.0
    83      * @since 1.162.0 Added Proactive User Engagement.
     83     * @since 1.162.0 Added Email Reporting.
    8484     * @since 1.164.0 Added Initial Setup.
    8585     */
     
    8888        $this->conversion_reporting->register();
    8989
    90         if ( Feature_Flags::enabled( 'proactiveUserEngagement' ) && $this->proactive_user_engagement ) {
    91             $this->proactive_user_engagement->register();
     90        if ( Feature_Flags::enabled( 'proactiveUserEngagement' ) && $this->email_reporting ) {
     91            $this->email_reporting->register();
    9292        }
    9393
  • google-site-kit/tags/1.165.0/includes/Modules/Ads.php

    r3373932 r3389193  
    3636use Google\Site_Kit\Core\Storage\User_Options;
    3737use Google\Site_Kit\Core\Util\Plugin_Status;
    38 use Google\Site_Kit\Modules\Ads\Enhanced_Conversions;
    3938use Google\Site_Kit\Modules\Ads\PAX_Config;
    4039use Google\Site_Kit\Modules\Ads\Settings;
     
    123122            10
    124123        );
    125 
    126         // Register the Enhanced Conversions class if the feature flag is enabled and the Ads module is connected.
    127         if ( $this->is_connected() && Feature_Flags::enabled( 'gtagUserData' ) ) {
    128             $enhanced_conversions = new Enhanced_Conversions();
    129             $enhanced_conversions->register();
    130         }
    131124    }
    132125
  • google-site-kit/tags/1.165.0/includes/Modules/Analytics_4.php

    r3381521 r3389193  
    999999
    10001000        if ( Feature_Flags::enabled( 'setupFlowRefresh' ) ) {
     1001            $show_progress = (bool) $input->filter( INPUT_GET, 'show_progress' );
     1002
    10011003            wp_safe_redirect(
    10021004                $this->context->admin_url(
    10031005                    'key-metrics-setup',
     1006                    array(
     1007                        'showProgress' => $show_progress ? 'true' : null,
     1008                    )
    10041009                )
    10051010            );
     
    12411246                $account_ticket_request->setRedirectUri( $this->get_provisioning_redirect_uri() );
    12421247                $account_ticket_request->setAccount( $account );
     1248
     1249                if ( Feature_Flags::enabled( 'setupFlowRefresh' ) ) {
     1250                    $account_ticket_request->setShowProgress( isset( $data['showProgress'] ) ? (bool) $data['showProgress'] : false );
     1251                }
    12431252
    12441253                return $this->get_service( 'analyticsprovisioning' )
  • google-site-kit/tags/1.165.0/includes/Modules/Analytics_4/GoogleAnalyticsAdmin/Proxy_GoogleAnalyticsAdminProvisionAccountTicketRequest.php

    r2897388 r3389193  
    3636     */
    3737    public $site_secret = '';
     38
     39    /**
     40     * The state of the show progress flag.
     41     *
     42     * @since 1.165.0
     43     * @var bool
     44     */
     45    public $show_progress = false;
    3846
    3947    /**
     
    7684        $this->site_secret = $secret;
    7785    }
     86
     87    /**
     88     * Sets the show progress flag.
     89     *
     90     * @since 1.165.0
     91     *
     92     * @param bool $show_progress The show progress flag.
     93     */
     94    public function setShowProgress( $show_progress ) {
     95        $this->show_progress = $show_progress;
     96    }
     97
     98    /**
     99     * Gets the show progress flag.
     100     *
     101     * @since 1.165.0
     102     */
     103    public function getShowProgress() {
     104        return $this->show_progress;
     105    }
    78106}
  • google-site-kit/tags/1.165.0/includes/Modules/Sign_In_With_Google.php

    r3381521 r3389193  
    2929use Google\Site_Kit\Core\Modules\Module_With_Tag_Trait;
    3030use Google\Site_Kit\Core\Modules\Tags\Module_Tag_Matchers;
    31 use Google\Site_Kit\Core\Permissions\Permissions;
     31use Google\Site_Kit\Core\REST_API\REST_Routes;
    3232use Google\Site_Kit\Core\Site_Health\Debug_Data;
    3333use Google\Site_Kit\Core\Storage\Options;
    3434use Google\Site_Kit\Core\Storage\User_Options;
     35use Google\Site_Kit\Core\Tracking\Feature_Metrics_Trait;
     36use Google\Site_Kit\Core\Tracking\Provides_Feature_Metrics;
    3537use Google\Site_Kit\Core\Util\BC_Functions;
    3638use Google\Site_Kit\Core\Util\Method_Proxy_Trait;
    37 use Google\Site_Kit\Core\Util\Plugin_Status;
    3839use Google\Site_Kit\Modules\Sign_In_With_Google\Authenticator;
    3940use Google\Site_Kit\Modules\Sign_In_With_Google\Authenticator_Interface;
     
    6263 * @ignore
    6364 */
    64 final class Sign_In_With_Google extends Module implements Module_With_Inline_Data, Module_With_Assets, Module_With_Settings, Module_With_Deactivation, Module_With_Debug_Fields, Module_With_Tag {
     65final class Sign_In_With_Google extends Module implements Module_With_Inline_Data, Module_With_Assets, Module_With_Settings, Module_With_Deactivation, Module_With_Debug_Fields, Module_With_Tag, Provides_Feature_Metrics {
    6566
    6667    use Method_Proxy_Trait;
     
    6970    use Module_With_Tag_Trait;
    7071    use Module_With_Inline_Data_Trait;
     72    use Feature_Metrics_Trait;
    7173
    7274    /**
     
    142144    public function register() {
    143145        $this->register_inline_data();
     146        $this->register_feature_metrics();
    144147
    145148        add_filter( 'wp_login_errors', array( $this, 'handle_login_errors' ) );
    146149
    147150        add_action( 'googlesitekit_render_sign_in_with_google_button', array( $this, 'render_sign_in_with_google_button' ), 10, 1 );
     151
     152        // Add support for a shortcode to render the Sign in with Google button.
     153        add_shortcode( 'site_kit_sign_in_with_google', array( $this, 'render_siwg_shortcode' ) );
    148154
    149155        add_action(
     
    193199        add_action( 'login_init', array( $this, 'register_tag' ) );
    194200
     201        // Place Sign in with Google button next to comments form if the
     202        // setting is enabled.
     203        add_action( 'comment_form_after_fields', array( $this, 'handle_comments_form' ) );
     204
     205        // Add the Sign in with Google compatibility checks datapoint to our
     206        // preloaded paths.
     207        add_filter(
     208            'googlesitekit_apifetch_preload_paths',
     209            function ( $paths ) {
     210                return array_merge(
     211                    $paths,
     212                    array(
     213                        '/' . REST_Routes::REST_ROOT . '/modules/sign-in-with-google/data/compatibility-checks',
     214                    )
     215                );
     216            }
     217        );
     218
    195219        // Check to see if the module is connected before registering the block.
    196220        if ( $this->is_connected() ) {
     
    220244            exit;
    221245        }
     246    }
     247
     248    /**
     249     * Conditionally show the Sign in with Google button in a comments form.
     250     *
     251     * @since 1.165.0
     252     */
     253    public function handle_comments_form() {
     254        $settings            = $this->get_settings()->get();
     255        $anyone_can_register = (bool) get_option( 'users_can_register' );
     256
     257        // Only show the button if:
     258        // - the comments form setting is enabled
     259        // - open user registration is enabled
     260        //
     261        // If the comments form setting is not enabled, do nothing.
     262        if ( empty( $settings['showNextToCommentsEnabled'] ) || ! $anyone_can_register ) {
     263            return;
     264        }
     265
     266        // Output the post ID to allow identitifying the post for this comment.
     267        $post_id = get_the_ID();
     268
     269        // Output the Sign in with Google button in the comments form.
     270        do_action(
     271            'googlesitekit_render_sign_in_with_google_button',
     272            array(
     273                'class' => array(
     274                    'googlesitekit-sign-in-with-google__comments-form-button',
     275                    "googlesitekit-sign-in-with-google__comments-form-button-postid-{$post_id}",
     276                ),
     277            )
     278        );
    222279    }
    223280
     
    502559        );
    503560
    504         $data_attributes = array( 'shape', 'text', 'theme' );
     561        $data_attributes = array( 'for-comment-form', 'post-id', 'shape', 'text', 'theme' );
    505562        foreach ( $data_attributes as $attribute ) {
    506563            if ( empty( $args[ $attribute ] ) || ! is_scalar( $args[ $attribute ] ) ) {
     
    517574
    518575        echo '<div ' . implode( ' ', $attribute_strings ) . '></div>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
     576    }
     577
     578    /**
     579     * Renders the Sign in with Google button for shortcode usage.
     580     *
     581     * This method captures the Sign in with Google button output
     582     * and returns it as a string for use in shortcodes.
     583     *
     584     * @since 1.165.0
     585     *
     586     * @param array $atts Shortcode attributes.
     587     * @return string The rendered button markup.
     588     */
     589    public function render_siwg_shortcode( $atts ) {
     590        $args = shortcode_atts(
     591            array(
     592                'class' => '',
     593                'shape' => '',
     594                'text'  => '',
     595                'theme' => '',
     596            ),
     597            $atts,
     598            'site_kit_sign_in_with_google'
     599        );
     600
     601        // Remove empty attributes.
     602        $args = array_filter( $args );
     603
     604        ob_start();
     605        do_action( 'googlesitekit_render_sign_in_with_google_button', $args );
     606        $markup = ob_get_clean();
     607
     608        return $markup;
    519609    }
    520610
     
    581671                'debug' => $settings['oneTapEnabled'] ? 'yes' : 'no',
    582672            ),
     673            'sign_in_with_google_comments'                 => array(
     674                /* translators: %s: Sign in with Google service name */
     675                'label' => sprintf( __( '%s: Show next to comments', 'google-site-kit' ), _x( 'Sign in with Google', 'Service name', 'google-site-kit' ) ),
     676                'value' => (bool) get_option( 'users_can_register' ) && $settings['showNextToCommentsEnabled'] ? __( 'Yes', 'google-site-kit' ) : __( 'No', 'google-site-kit' ),
     677                'debug' => (bool) get_option( 'users_can_register' ) && $settings['showNextToCommentsEnabled'] ? 'yes' : 'no',
     678            ),
    583679            'sign_in_with_google_authenticated_user_count' => array(
    584680                /* translators: %1$s: Sign in with Google service name */
     
    819915        return class_exists( 'WooCommerce' );
    820916    }
     917
     918    /**
     919     * Gets an array of internal feature metrics.
     920     *
     921     * @since 1.165.0
     922     *
     923     * @return array
     924     */
     925    public function get_feature_metrics() {
     926        return array(
     927            'siwg_onetap' => $this->get_settings()->get()['oneTapEnabled'] ? 1 : 0,
     928        );
     929    }
    821930}
  • google-site-kit/tags/1.165.0/includes/Modules/Sign_In_With_Google/Authenticator.php

    r3238118 r3389193  
    297297     */
    298298    protected function is_registration_open() {
    299         // No need to check the multisite settings because it is already incorporated in the following
    300         // users_can_register check.
     299        // No need to check the multisite settings because it is already
     300        // incorporated in the following users_can_register check.
    301301        // See: https://github.com/WordPress/WordPress/blob/505b7c55f5363d51e7e28d512ce7dcb2d5f45894/wp-includes/ms-default-filters.php#L20.
    302302        return get_option( 'users_can_register' );
  • google-site-kit/tags/1.165.0/includes/Modules/Sign_In_With_Google/Sign_In_With_Google_Block.php

    r3381521 r3389193  
    7878     *
    7979     * @since 1.147.0
     80     * @since 1.165.0 Added the `$attributes` parameter.
     81     *
     82     * @param array $attributes Block attributes.
    8083     * @return string Rendered block.
    8184     */
    82     public function render_callback() {
     85    public function render_callback( $attributes = array() ) {
    8386        // If the user is already signed in, do not render a Sign in
    8487        // with Google button.
    8588        if ( is_user_logged_in() ) {
    8689            return '';
     90        }
     91
     92        $attributes  = is_array( $attributes ) ? $attributes : array();
     93        $button_args = array();
     94
     95        $allowed_attributes = array(
     96            'text'  => wp_list_pluck( Settings::TEXTS, 'value' ),
     97            'theme' => wp_list_pluck( Settings::THEMES, 'value' ),
     98            'shape' => wp_list_pluck( Settings::SHAPES, 'value' ),
     99        );
     100
     101        foreach ( array( 'text', 'theme', 'shape' ) as $key ) {
     102            if ( ! empty( $attributes[ $key ] ) && in_array( $attributes[ $key ], $allowed_attributes[ $key ], true ) ) {
     103                $button_args[ $key ] = $attributes[ $key ];
     104            }
     105        }
     106
     107        if ( ! empty( $attributes['buttonClassName'] ) && is_string( $attributes['buttonClassName'] ) ) {
     108            $classes = array_filter(
     109                preg_split( '/\s+/', trim( $attributes['buttonClassName'] ) )
     110            );
     111
     112            if ( ! empty( $classes ) ) {
     113                $button_args['class'] = $classes;
     114            }
    87115        }
    88116
     
    95123         * @param array $args Optional arguments to customize button attributes.
    96124         */
    97         do_action( 'googlesitekit_render_sign_in_with_google_button' );
     125        do_action( 'googlesitekit_render_sign_in_with_google_button', $button_args );
    98126        return ob_get_clean();
    99127    }
  • google-site-kit/tags/1.165.0/includes/Modules/Sign_In_With_Google/Web_Tag.php

    r3381521 r3389193  
    157157            } );
    158158
    159             <?php if ( empty( $this->redirect_to ) && ! $is_login_page && $should_show_one_tap_prompt ) : // phpcs:ignore Generic.WhiteSpace.ScopeIndent.Incorrect ?>
     159            /*
     160                Preserve comment text in case of redirect after login on a page
     161                with a Sign in with Google button in the WordPress comments.
     162            */
     163            const commentText = document.querySelector( '#comment' )?.value;
     164            const postId = document.querySelectorAll( '.googlesitekit-sign-in-with-google__comments-form-button' )?.[0]?.className?.match(/googlesitekit-sign-in-with-google__comments-form-button-postid-(\d+)/)?.[1];
     165
     166            if ( !! commentText?.length ) {
     167                sessionStorage.setItem( `siwg-comment-text-${postId}`, commentText );
     168            }
     169
     170            <?php if ( empty( $this->redirect_to ) && ! $is_login_page ) : // phpcs:ignore Generic.WhiteSpace.ScopeIndent.Incorrect ?>
    160171                location.reload();
    161172            <?php else : // phpcs:ignore Generic.WhiteSpace.ScopeIndent.Incorrect ?>
     
    169180    }
    170181
    171     google.accounts.id.initialize( {
    172         client_id: '<?php echo esc_js( $this->settings['clientID'] ); ?>',
    173         callback: handleCredentialResponse,
    174         library_name: 'Site-Kit'
    175     } );
     182    if (typeof google !== 'undefined') {
     183        google.accounts.id.initialize( {
     184            client_id: '<?php echo esc_js( $this->settings['clientID'] ); ?>',
     185            callback: handleCredentialResponse,
     186            library_name: 'Site-Kit'
     187        } );
     188    }
    176189
    177190    <?php if ( $this->is_wp_login ) : // phpcs:ignore Generic.WhiteSpace.ScopeIndent.Incorrect ?>
     
    199212        };
    200213
    201         google.accounts.id.renderButton( siwgButtonDiv, buttonOptions );
     214        if (typeof google !== 'undefined') {
     215            google.accounts.id.renderButton( siwgButtonDiv, buttonOptions );
     216        }
    202217    });
    203218    <?php endif; // phpcs:ignore Generic.WhiteSpace.ScopeIndent.Incorrect ?>
    204219
    205220    <?php if ( $should_show_one_tap_prompt ) : // phpcs:ignore Generic.WhiteSpace.ScopeIndent.Incorrect ?>
    206         google.accounts.id.prompt();
     221        if (typeof google !== 'undefined') {
     222            google.accounts.id.prompt();
     223        }
    207224    <?php endif; // phpcs:ignore Generic.WhiteSpace.ScopeIndent.Incorrect ?>
    208225
     
    212229        document.cookie = "<?php echo esc_js( Authenticator::COOKIE_REDIRECT_TO ); ?>=<?php echo esc_js( $this->redirect_to ); ?>;expires=" + expires.toUTCString() + ";path=<?php echo esc_js( Authenticator::get_cookie_path() ); ?>";
    213230    <?php endif; // phpcs:ignore Generic.WhiteSpace.ScopeIndent.Incorrect ?>
     231
     232    /*
     233        If there is a matching saved comment text in sessionStorage, restore it
     234        to the comment field and remove it from sessionStorage.
     235    */
     236    const postId = document.body.className.match(/postid-(\d+)/)?.[1];
     237
     238    const commentField = document.querySelector( '#comment' );
     239    const commentText = sessionStorage.getItem( `siwg-comment-text-${postId}` );
     240
     241    if ( commentText?.length && commentField && !! postId ) {
     242        commentField.value = commentText;
     243        sessionStorage.removeItem( `siwg-comment-text-${postId}` );
     244    }
    214245} )();
    215246        <?php
     
    221252        // Output the Sign in with Google script.
    222253        printf( "\n<!-- %s -->\n", esc_html__( 'Sign in with Google button added by Site Kit', 'google-site-kit' ) );
     254        ?>
     255        <style>
     256        .googlesitekit-sign-in-with-google__frontend-output-button{max-width:320px}
     257        </style>
     258        <?php
    223259        BC_Functions::wp_print_script_tag( array( 'src' => 'https://accounts.google.com/gsi/client' ) );
    224260        BC_Functions::wp_print_inline_script_tag( $inline_script );
  • google-site-kit/tags/1.165.0/includes/Plugin.php

    r3373932 r3389193  
    230230                ( new Core\Conversion_Tracking\Conversion_Tracking( $this->context, $options ) )->register();
    231231                if ( Feature_Flags::enabled( 'proactiveUserEngagement' ) ) {
    232                     ( new Core\Proactive_User_Engagement\Proactive_User_Engagement( $this->context, $options ) )->register();
     232                    ( new Core\Email_Reporting\Email_Reporting( $this->context, $options ) )->register();
    233233                }
    234234                if ( Feature_Flags::enabled( 'googleTagGateway' ) ) {
     
    236236                }
    237237                ( new Core\Tracking\Feature_Metrics() )->register();
     238                if ( Feature_Flags::enabled( 'gtagUserData' ) ) {
     239                    ( new Core\Tags\Enhanced_Conversions\Enhanced_Conversions() )->register();
     240                }
    238241
    239242                // If a login is happening (runs after 'init'), update current user in dependency chain.
  • google-site-kit/tags/1.165.0/includes/vendor/composer/autoload_classmap.php

    r3381521 r3389193  
    8484    'Google\\Site_Kit\\Core\\Dismissals\\Dismissed_Items' => $baseDir . '/Core/Dismissals/Dismissed_Items.php',
    8585    'Google\\Site_Kit\\Core\\Dismissals\\REST_Dismissals_Controller' => $baseDir . '/Core/Dismissals/REST_Dismissals_Controller.php',
     86    'Google\\Site_Kit\\Core\\Email_Reporting\\Email_Reporting' => $baseDir . '/Core/Email_Reporting/Email_Reporting.php',
     87    'Google\\Site_Kit\\Core\\Email_Reporting\\Email_Reporting_Settings' => $baseDir . '/Core/Email_Reporting/Email_Reporting_Settings.php',
     88    'Google\\Site_Kit\\Core\\Email_Reporting\\REST_Email_Reporting_Controller' => $baseDir . '/Core/Email_Reporting/REST_Email_Reporting_Controller.php',
    8689    'Google\\Site_Kit\\Core\\Expirables\\Expirable_Items' => $baseDir . '/Core/Expirables/Expirable_Items.php',
    8790    'Google\\Site_Kit\\Core\\Expirables\\Expirables' => $baseDir . '/Core/Expirables/Expirables.php',
     
    138141    'Google\\Site_Kit\\Core\\Notifications\\Notifications' => $baseDir . '/Core/Notifications/Notifications.php',
    139142    'Google\\Site_Kit\\Core\\Permissions\\Permissions' => $baseDir . '/Core/Permissions/Permissions.php',
    140     'Google\\Site_Kit\\Core\\Proactive_User_Engagement\\Proactive_User_Engagement' => $baseDir . '/Core/Proactive_User_Engagement/Proactive_User_Engagement.php',
    141     'Google\\Site_Kit\\Core\\Proactive_User_Engagement\\Proactive_User_Engagement_Settings' => $baseDir . '/Core/Proactive_User_Engagement/Proactive_User_Engagement_Settings.php',
    142     'Google\\Site_Kit\\Core\\Proactive_User_Engagement\\REST_Proactive_User_Engagement_Controller' => $baseDir . '/Core/Proactive_User_Engagement/REST_Proactive_User_Engagement_Controller.php',
    143143    'Google\\Site_Kit\\Core\\Prompts\\Dismissed_Prompts' => $baseDir . '/Core/Prompts/Dismissed_Prompts.php',
    144144    'Google\\Site_Kit\\Core\\Prompts\\Prompts' => $baseDir . '/Core/Prompts/Prompts.php',
     
    184184    'Google\\Site_Kit\\Core\\Storage\\User_Transients' => $baseDir . '/Core/Storage/User_Transients.php',
    185185    'Google\\Site_Kit\\Core\\Tags\\Blockable_Tag_Interface' => $baseDir . '/Core/Tags/Blockable_Tag_Interface.php',
     186    'Google\\Site_Kit\\Core\\Tags\\Enhanced_Conversions\\Enhanced_Conversions' => $baseDir . '/Core/Tags/Enhanced_Conversions/Enhanced_Conversions.php',
    186187    'Google\\Site_Kit\\Core\\Tags\\GTag' => $baseDir . '/Core/Tags/GTag.php',
    187188    'Google\\Site_Kit\\Core\\Tags\\Google_Tag_Gateway\\Google_Tag_Gateway' => $baseDir . '/Core/Tags/Google_Tag_Gateway/Google_Tag_Gateway.php',
     
    208209    'Google\\Site_Kit\\Core\\User\\Conversion_Reporting' => $baseDir . '/Core/User/Conversion_Reporting.php',
    209210    'Google\\Site_Kit\\Core\\User\\Conversion_Reporting_Settings' => $baseDir . '/Core/User/Conversion_Reporting_Settings.php',
     211    'Google\\Site_Kit\\Core\\User\\Email_Reporting' => $baseDir . '/Core/User/Email_Reporting.php',
     212    'Google\\Site_Kit\\Core\\User\\Email_Reporting_Settings' => $baseDir . '/Core/User/Email_Reporting_Settings.php',
    210213    'Google\\Site_Kit\\Core\\User\\Initial_Setup' => $baseDir . '/Core/User/Initial_Setup.php',
    211214    'Google\\Site_Kit\\Core\\User\\Initial_Setup_Settings' => $baseDir . '/Core/User/Initial_Setup_Settings.php',
    212     'Google\\Site_Kit\\Core\\User\\Proactive_User_Engagement' => $baseDir . '/Core/User/Proactive_User_Engagement.php',
    213     'Google\\Site_Kit\\Core\\User\\Proactive_User_Engagement_Settings' => $baseDir . '/Core/User/Proactive_User_Engagement_Settings.php',
    214215    'Google\\Site_Kit\\Core\\User\\REST_Audience_Settings_Controller' => $baseDir . '/Core/User/REST_Audience_Settings_Controller.php',
    215216    'Google\\Site_Kit\\Core\\User\\REST_Conversion_Reporting_Controller' => $baseDir . '/Core/User/REST_Conversion_Reporting_Controller.php',
     217    'Google\\Site_Kit\\Core\\User\\REST_Email_Reporting_Controller' => $baseDir . '/Core/User/REST_Email_Reporting_Controller.php',
    216218    'Google\\Site_Kit\\Core\\User\\REST_Initial_Setup_Controller' => $baseDir . '/Core/User/REST_Initial_Setup_Controller.php',
    217     'Google\\Site_Kit\\Core\\User\\REST_Proactive_User_Engagement_Controller' => $baseDir . '/Core/User/REST_Proactive_User_Engagement_Controller.php',
    218219    'Google\\Site_Kit\\Core\\User\\User' => $baseDir . '/Core/User/User.php',
    219220    'Google\\Site_Kit\\Core\\User_Input\\REST_User_Input_Controller' => $baseDir . '/Core/User_Input/REST_User_Input_Controller.php',
     
    276277    'Google\\Site_Kit\\Modules\\Ads' => $baseDir . '/Modules/Ads.php',
    277278    'Google\\Site_Kit\\Modules\\Ads\\AMP_Tag' => $baseDir . '/Modules/Ads/AMP_Tag.php',
    278     'Google\\Site_Kit\\Modules\\Ads\\Enhanced_Conversions' => $baseDir . '/Modules/Ads/Enhanced_Conversions.php',
    279279    'Google\\Site_Kit\\Modules\\Ads\\Has_Tag_Guard' => $baseDir . '/Modules/Ads/Has_Tag_Guard.php',
    280280    'Google\\Site_Kit\\Modules\\Ads\\PAX_Config' => $baseDir . '/Modules/Ads/PAX_Config.php',
  • google-site-kit/tags/1.165.0/readme.txt

    r3381521 r3389193  
    55Tested up to:      6.8
    66Requires PHP:      7.4
    7 Stable tag:        1.164.0
     7Stable tag:        1.165.0
    88License:           Apache License 2.0
    99License URI:       https://www.apache.org/licenses/LICENSE-2.0
     
    110110== Changelog ==
    111111
    112 = 1.164.0 =
     112= 1.165.0 =
    113113
    114114**Added**
    115115
    116 * Add setting for using Sign in with Google for WordPress comments. See [#11472](https://github.com/google/site-kit-wp/issues/11472).
    117 * Add One-Tap to Sign in with Google setup when user registrations are open. See [#11469](https://github.com/google/site-kit-wp/issues/11469).
     116* Add support for using Sign in with Google for WordPress user comments. See [#11478](https://github.com/google/site-kit-wp/issues/11478).
     117* Add new “Enable Sign in with Google for user comments” Sign in with Google setting to Site Health. See [#11477](https://github.com/google/site-kit-wp/issues/11477).
     118* Add the "Show next to comments" toggle to the Sign in with Google setup form. See [#11476](https://github.com/google/site-kit-wp/issues/11476).
     119* Add developer documentation to the Sign in with Google action. See [#11446](https://github.com/google/site-kit-wp/issues/11446).
    118120
    119121**Enhanced**
    120122
    121 * Add client side compatibility checks for Sign in with Google. See [#11505](https://github.com/google/site-kit-wp/issues/11505).
    122 * Add ability to load Sign in with Google compatibility checks from Site Kit. See [#11463](https://github.com/google/site-kit-wp/issues/11463).
    123 * Add support for detecting plugins/hosting environments incompatible with Sign in with Google. See [#11458](https://github.com/google/site-kit-wp/issues/11458).
    124 * Add third-party support for the Sign in with Google button via a WordPress Action: `do_action( 'googlesitekit_render_sign_in_with_google_button' )`. See [#11455](https://github.com/google/site-kit-wp/issues/11455).
    125 * Add the email reporting settings selection panel. See [#11424](https://github.com/google/site-kit-wp/issues/11424).
    126 * Add API and data store infrastructure to preserve initial settings accompanying the new setup flow. See [#11387](https://github.com/google/site-kit-wp/issues/11387).
    127 * Add Analytics setup success toast notice in the Key Metrics setup screen. See [#11384](https://github.com/google/site-kit-wp/issues/11384).
    128 * Display the progress indicator on the Analytics setup screen when it's navigated to in the new setup flow. See [#11379](https://github.com/google/site-kit-wp/issues/11379).
    129 * Add the progress indicator to the new version of the splash screen. See [#11378](https://github.com/google/site-kit-wp/issues/11378).
    130 * Add a `ProgressIndicator` component to display progressions in user flows. See [#11377](https://github.com/google/site-kit-wp/issues/11377).
    131 * Redirect users to the Key Metrics setup screen after successfully connecting Analytics when the `setupFlowRefresh` feature flag is enabled. See [#11375](https://github.com/google/site-kit-wp/issues/11375).
    132 * Add Key Metrics setup screen with site purpose questionnaire and dashboard redirection functionality. See [#11374](https://github.com/google/site-kit-wp/issues/11374).
    133 * Implement the foundation for the forthcoming splash screen update. See [#11333](https://github.com/google/site-kit-wp/issues/11333).
    134 * Add a selector to allow users to customize frequency of reports when Proactive User Engagement is enabled. See [#11155](https://github.com/google/site-kit-wp/issues/11155).
    135 * Add the email reporting overlay notification. See [#11147](https://github.com/google/site-kit-wp/issues/11147).
    136 * Add Enhanced Conversions support for Mailchimp for WordPress by capturing and sending user data. See [#11127](https://github.com/google/site-kit-wp/issues/11127).
    137 * Add Enhanced Conversions support for OptinMonster by capturing and sending user data. See [#11126](https://github.com/google/site-kit-wp/issues/11126).
    138 * Add Enhanced Conversions support for Easy Digital Downloads by capturing and sending user data. See [#11011](https://github.com/google/site-kit-wp/issues/11011).
    139 * Add "Learn more" link to Visitor Groups notification banner. See [#10964](https://github.com/google/site-kit-wp/issues/10964).
    140 * Include Reader Revenue Manager in the list of services identified by the unsatisfied scopes alert. See [#10797](https://github.com/google/site-kit-wp/issues/10797).
    141 * Don't show the "How to Improve" tab in the Pagespeed Insights widget when no recommendations are available. See [#7612](https://github.com/google/site-kit-wp/issues/7612).
    142 * Standardize font sizes for Key Metric Widget subheadings. See [#6107](https://github.com/google/site-kit-wp/issues/6107).
     123* Implement GA4 tracking events for Enhanced Conversions notifications. See [#11644](https://github.com/google/site-kit-wp/issues/11644).
     124* Decouple Enhanced Conversions from the Ads module; send user data when any gtag-using service is connected (Ads, Analytics, or Tag Manager). See [#11600](https://github.com/google/site-kit-wp/issues/11600).
     125* Add feature metrics tracking for SiwG and Enhanced Conversions. See [#11572](https://github.com/google/site-kit-wp/issues/11572).
     126* Synchronise audiences and custom dimensions on the Key Metrics setup screen. See [#11386](https://github.com/google/site-kit-wp/issues/11386).
     127* Automatically set up Audience Segmentation when landing on the dashboard in the new Analytics setup flow. See [#11385](https://github.com/google/site-kit-wp/issues/11385).
     128* Add redirection to Key Metrics setup after successful Analytics account creation as part of the new setup flow. See [#11381](https://github.com/google/site-kit-wp/issues/11381).
     129* Display the progress indicator on the Key Metrics setup screen when it's navigated to in the new setup flow. See [#11380](https://github.com/google/site-kit-wp/issues/11380).
     130* Add "Exit setup" button to the splash screen header when `setupFlowRefresh` feature flag is enabled. See [#11337](https://github.com/google/site-kit-wp/issues/11337).
     131* Add info tooltip below the Sign in with Google CTA on the splash screen to explain why Google account connection is required. See [#11335](https://github.com/google/site-kit-wp/issues/11335).
     132* Add a "Recommended" badge below the Analytics checkbox on the new splash screen. See [#11334](https://github.com/google/site-kit-wp/issues/11334).
     133* Create setup email reports notice component. See [#11144](https://github.com/google/site-kit-wp/issues/11144).
     134* Add PUE settings section to the Admin settings screen. See [#11141](https://github.com/google/site-kit-wp/issues/11141).
     135* Add Enhanced Conversions notification components for Ads and Analytics modules. See [#11018](https://github.com/google/site-kit-wp/issues/11018).
     136* Fix bug that caused Sign in with Google button not to redirect the user to the page they signed in from. See [#10487](https://github.com/google/site-kit-wp/issues/10487).
     137* Set a max-width on the Sign in with Google button. See [#10476](https://github.com/google/site-kit-wp/issues/10476).
     138* Add support for block styling and custom HTML classes for the Sign in with Google block. See [#10475](https://github.com/google/site-kit-wp/issues/10475).
     139* Add support for Sign in with Google button using a shortcode (`site_kit_sign_in_with_google`). See [#10150](https://github.com/google/site-kit-wp/issues/10150).
     140
     141**Changed**
     142
     143* Display warning when incompatible plugin/other issues are detected after Sign in with Google is set up. See [#11457](https://github.com/google/site-kit-wp/issues/11457).
    143144
    144145**Fixed**
    145146
    146 * Fix Reader Revenue Manager setup screen displaying empty content when API errors occur. See [#11581](https://github.com/google/site-kit-wp/issues/11581).
    147 * Add "pinned notifications" to the notifications API, and use it to ensure the Audience Segmentation and Enhanced Measurement setup banners continue to be shown when returning from OAuth. See [#10890](https://github.com/google/site-kit-wp/issues/10890).
     147* Prevent empty fields being sent in user data for Enhanced Conversion events. See [#11626](https://github.com/google/site-kit-wp/issues/11626).
     148* Fix bug that could cause Sign in with Google client ID not to be persisted. See [#11611](https://github.com/google/site-kit-wp/issues/11611).
     149* Fix inconsistent plugin conversion tracking label in the Ads settings view. See [#11588](https://github.com/google/site-kit-wp/issues/11588).
     150* Fix phone number classification in Enhanced Conversions to disregard false positives. See [#11484](https://github.com/google/site-kit-wp/issues/11484).
     151* Fix visual bug in visitor group slide-over panel. See [#10991](https://github.com/google/site-kit-wp/issues/10991).
    148152
    149153[See changelog for all versions](https://raw.githubusercontent.com/google/site-kit-wp/main/changelog.txt).
  • google-site-kit/trunk/dist/assets/blocks/reader-revenue-manager/contribute-with-google/block.json

    r3381521 r3389193  
    33    "apiVersion": 2,
    44    "name": "google-site-kit/rrm-contribute-with-google",
    5     "version": "1.164.0",
     5    "version": "1.165.0",
    66    "title": "Contribute with Google",
    77    "category": "widgets",
  • google-site-kit/trunk/dist/assets/blocks/reader-revenue-manager/subscribe-with-google/block.json

    r3381521 r3389193  
    33    "apiVersion": 2,
    44    "name": "google-site-kit/rrm-subscribe-with-google",
    5     "version": "1.164.0",
     5    "version": "1.165.0",
    66    "title": "Subscribe with Google",
    77    "category": "widgets",
  • google-site-kit/trunk/dist/assets/blocks/sign-in-with-google/block.json

    r3381521 r3389193  
    33    "apiVersion": 2,
    44    "name": "google-site-kit/sign-in-with-google",
    5     "version": "1.164.0",
     5    "version": "1.165.0",
    66    "title": "Sign in with Google",
    77    "category": "widgets",
    88    "icon": "google",
    99    "description": "Allow users to sign in to your site using their Google Account.",
    10     "textdomain": "google-site-kit"
     10    "textdomain": "google-site-kit",
     11    "attributes": {
     12        "shape": {
     13            "type": "string",
     14            "enum": [ "", "rectangular", "pill" ]
     15        },
     16        "text": {
     17            "type": "string",
     18            "enum": [
     19                "",
     20                "continue_with",
     21                "signin",
     22                "signin_with",
     23                "signup_with"
     24            ]
     25        },
     26        "theme": {
     27            "type": "string",
     28            "enum": [ "", "outline", "filled_blue", "filled_black" ]
     29        },
     30        "buttonClassName": {
     31            "type": "string"
     32        }
     33    }
    1134}
  • google-site-kit/trunk/dist/assets/blocks/sign-in-with-google/index.js

    r3373932 r3389193  
    1 (()=>{"use strict";var e={192:(e,t,r)=>{var A=r(696),n=60103;if("function"==typeof Symbol&&Symbol.for){var o=Symbol.for;n=o("react.element"),o("react.fragment")}var i=A.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,u=Object.prototype.hasOwnProperty,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,r){var A,o={},c=null,a=null;for(A in void 0!==r&&(c=""+r),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(a=t.ref),t)u.call(t,A)&&!l.hasOwnProperty(A)&&(o[A]=t[A]);if(e&&e.defaultProps)for(A in t=e.defaultProps)void 0===o[A]&&(o[A]=t[A]);return{$$typeof:n,type:e,key:c,ref:a,props:o,_owner:i.current}}t.jsx=c},403:(e,t,r)=>{var A=r(664),n="function"==typeof Symbol&&Symbol.for,o=n?Symbol.for("react.element"):60103,i=n?Symbol.for("react.portal"):60106,u=n?Symbol.for("react.fragment"):60107,l=n?Symbol.for("react.strict_mode"):60108,c=n?Symbol.for("react.profiler"):60114,a=n?Symbol.for("react.provider"):60109,f=n?Symbol.for("react.context"):60110,s=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,g=n?Symbol.for("react.memo"):60115,v=n?Symbol.for("react.lazy"):60116,C="function"==typeof Symbol&&Symbol.iterator;function h(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},B={};function w(e,t,r){this.props=e,this.context=t,this.refs=B,this.updater=r||y}function E(){}function R(e,t,r){this.props=e,this.context=t,this.refs=B,this.updater=r||y}w.prototype.isReactComponent={},w.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(h(85));this.updater.enqueueSetState(this,e,t,"setState")},w.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},E.prototype=w.prototype;var m=R.prototype=new E;m.constructor=R,A(m,w.prototype),m.isPureReactComponent=!0;var Y={current:null},b=Object.prototype.hasOwnProperty,d={key:!0,ref:!0,__self:!0,__source:!0};function G(e,t,r){var A,n={},i=null,u=null;if(null!=t)for(A in void 0!==t.ref&&(u=t.ref),void 0!==t.key&&(i=""+t.key),t)b.call(t,A)&&!d.hasOwnProperty(A)&&(n[A]=t[A]);var l=arguments.length-2;if(1===l)n.children=r;else if(1<l){for(var c=Array(l),a=0;a<l;a++)c[a]=arguments[a+2];n.children=c}if(e&&e.defaultProps)for(A in l=e.defaultProps)void 0===n[A]&&(n[A]=l[A]);return{$$typeof:o,type:e,key:i,ref:u,props:n,_owner:Y.current}}function j(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var I=/\/+/g,P=[];function F(e,t,r,A){if(P.length){var n=P.pop();return n.result=e,n.keyPrefix=t,n.func=r,n.context=A,n.count=0,n}return{result:e,keyPrefix:t,func:r,context:A,count:0}}function S(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>P.length&&P.push(e)}function W(e,t,r,A){var n=typeof e;"undefined"!==n&&"boolean"!==n||(e=null);var u=!1;if(null===e)u=!0;else switch(n){case"string":case"number":u=!0;break;case"object":switch(e.$$typeof){case o:case i:u=!0}}if(u)return r(A,e,""===t?"."+N(e,0):t),1;if(u=0,t=""===t?".":t+":",Array.isArray(e))for(var l=0;l<e.length;l++){var c=t+N(n=e[l],l);u+=W(n,c,r,A)}else if(null===e||"object"!=typeof e?c=null:c="function"==typeof(c=C&&e[C]||e["@@iterator"])?c:null,"function"==typeof c)for(e=c.call(e),l=0;!(n=e.next()).done;)u+=W(n=n.value,c=t+N(n,l++),r,A);else if("object"===n)throw r=""+e,Error(h(31,"[object Object]"===r?"object with keys {"+Object.keys(e).join(", ")+"}":r,""));return u}function L(e,t,r){return null==e?0:W(e,"",t,r)}function N(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})}(e.key):t.toString(36)}function k(e,t){e.func.call(e.context,t,e.count++)}function V(e,t,r){var A=e.result,n=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?Z(e,A,r,function(e){return e}):null!=e&&(j(e)&&(e=function(e,t){return{$$typeof:o,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,n+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(I,"$&/")+"/")+r)),A.push(e))}function Z(e,t,r,A,n){var o="";null!=r&&(o=(""+r).replace(I,"$&/")+"/"),L(e,V,t=F(t,o,A,n)),S(t)}var D={current:null};function x(){var e=D.current;if(null===e)throw Error(h(321));return e}var Q={ReactCurrentDispatcher:D,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:Y,IsSomeRendererActing:{current:!1},assign:A};t.Children={map:function(e,t,r){if(null==e)return e;var A=[];return Z(e,A,null,t,r),A},forEach:function(e,t,r){if(null==e)return e;L(e,k,t=F(null,null,t,r)),S(t)},count:function(e){return L(e,function(){return null},null)},toArray:function(e){var t=[];return Z(e,t,null,function(e){return e}),t},only:function(e){if(!j(e))throw Error(h(143));return e}},t.Component=w,t.Fragment=u,t.Profiler=c,t.PureComponent=R,t.StrictMode=l,t.Suspense=p,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Q,t.cloneElement=function(e,t,r){if(null==e)throw Error(h(267,e));var n=A({},e.props),i=e.key,u=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(u=t.ref,l=Y.current),void 0!==t.key&&(i=""+t.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(a in t)b.call(t,a)&&!d.hasOwnProperty(a)&&(n[a]=void 0===t[a]&&void 0!==c?c[a]:t[a])}var a=arguments.length-2;if(1===a)n.children=r;else if(1<a){c=Array(a);for(var f=0;f<a;f++)c[f]=arguments[f+2];n.children=c}return{$$typeof:o,type:e.type,key:i,ref:u,props:n,_owner:l}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:f,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:a,_context:e},e.Consumer=e},t.createElement=G,t.createFactory=function(e){var t=G.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:s,render:e}},t.isValidElement=j,t.lazy=function(e){return{$$typeof:v,_ctor:e,_status:-1,_result:null}},t.memo=function(e,t){return{$$typeof:g,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return x().useCallback(e,t)},t.useContext=function(e,t){return x().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return x().useEffect(e,t)},t.useImperativeHandle=function(e,t,r){return x().useImperativeHandle(e,t,r)},t.useLayoutEffect=function(e,t){return x().useLayoutEffect(e,t)},t.useMemo=function(e,t){return x().useMemo(e,t)},t.useReducer=function(e,t,r){return x().useReducer(e,t,r)},t.useRef=function(e){return x().useRef(e)},t.useState=function(e){return x().useState(e)},t.version="16.14.0"},540:(e,t,r)=>{e.exports=r(192)},664:e=>{var t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var A={};return"abcdefghijklmnopqrst".split("").forEach(function(e){A[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},A)).join("")}catch(e){return!1}}()?Object.assign:function(e,n){for(var o,i,u=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;l<arguments.length;l++){for(var c in o=Object(arguments[l]))r.call(o,c)&&(u[c]=o[c]);if(t){i=t(o);for(var a=0;a<i.length;a++)A.call(o,i[a])&&(u[i[a]]=o[i[a]])}}return u}},696:(e,t,r)=>{e.exports=r(403)}},t={};function __webpack_require__(r){var A=t[r];if(void 0!==A)return A.exports;var n=t[r]={exports:{}};return e[r](n,n.exports,__webpack_require__),n.exports}const r=wp.blocks,A=wp.blockEditor;var n,o,i,u=__webpack_require__(696);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var A in r)({}).hasOwnProperty.call(r,A)&&(e[A]=r[A])}return e},l.apply(null,arguments)}const c=e=>u.createElement("svg",l({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",fill:"none",viewBox:"0 0 180 41"},e),n||(n=u.createElement("rect",{width:180,height:41,fill:"#fff",rx:20.5})),o||(o=u.createElement("path",{fill:"url(#icon_svg__a)",d:"M9 8h162v26H9z"})),i||(i=u.createElement("defs",null,u.createElement("pattern",{id:"icon_svg__a",width:1,height:1,patternContentUnits:"objectBoundingBox"},u.createElement("use",{xlinkHref:"#icon_svg__b",transform:"matrix(.00309 0 0 .01923 -.117 -.692)"})),u.createElement("image",{xlinkHref:"data:image/png;base64,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",id:"icon_svg__b",width:406,height:126}))));var a=__webpack_require__(540);const f=JSON.parse('{"UU":"google-site-kit/sign-in-with-google"}');(0,r.registerBlockType)(f.UU,{edit:function Edit(){const e=(0,A.useBlockProps)();return(0,a.jsx)("div",{...e,children:(0,a.jsx)("div",{className:"googlesitekit-blocks-sign-in-with-google",style:{maxWidth:"180px",minWidth:"120px"},children:(0,a.jsx)(c,{})})})}})})();
     1(()=>{"use strict";var e={192:(e,t,n)=>{var r=n(696),o=60103;if("function"==typeof Symbol&&Symbol.for){var A=Symbol.for;o=A("react.element"),A("react.fragment")}var i=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l=Object.prototype.hasOwnProperty,a={key:!0,ref:!0,__self:!0,__source:!0};function u(e,t,n){var r,A={},u=null,s=null;for(r in void 0!==n&&(u=""+n),void 0!==t.key&&(u=""+t.key),void 0!==t.ref&&(s=t.ref),t)l.call(t,r)&&!a.hasOwnProperty(r)&&(A[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===A[r]&&(A[r]=t[r]);return{$$typeof:o,type:e,key:u,ref:s,props:A,_owner:i.current}}t.jsx=u,t.jsxs=u},403:(e,t,n)=>{var r=n(664),o="function"==typeof Symbol&&Symbol.for,A=o?Symbol.for("react.element"):60103,i=o?Symbol.for("react.portal"):60106,l=o?Symbol.for("react.fragment"):60107,a=o?Symbol.for("react.strict_mode"):60108,u=o?Symbol.for("react.profiler"):60114,s=o?Symbol.for("react.provider"):60109,c=o?Symbol.for("react.context"):60110,f=o?Symbol.for("react.forward_ref"):60112,g=o?Symbol.for("react.suspense"):60113,p=o?Symbol.for("react.memo"):60115,v=o?Symbol.for("react.lazy"):60116,h="function"==typeof Symbol&&Symbol.iterator;function C(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},w={};function B(e,t,n){this.props=e,this.context=t,this.refs=w,this.updater=n||y}function m(){}function b(e,t,n){this.props=e,this.context=t,this.refs=w,this.updater=n||y}B.prototype.isReactComponent={},B.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(C(85));this.updater.enqueueSetState(this,e,t,"setState")},B.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},m.prototype=B.prototype;var E=b.prototype=new m;E.constructor=b,r(E,B.prototype),E.isPureReactComponent=!0;var d={current:null},R=Object.prototype.hasOwnProperty,Y={key:!0,ref:!0,__self:!0,__source:!0};function j(e,t,n){var r,o={},i=null,l=null;if(null!=t)for(r in void 0!==t.ref&&(l=t.ref),void 0!==t.key&&(i=""+t.key),t)R.call(t,r)&&!Y.hasOwnProperty(r)&&(o[r]=t[r]);var a=arguments.length-2;if(1===a)o.children=n;else if(1<a){for(var u=Array(a),s=0;s<a;s++)u[s]=arguments[s+2];o.children=u}if(e&&e.defaultProps)for(r in a=e.defaultProps)void 0===o[r]&&(o[r]=a[r]);return{$$typeof:A,type:e,key:i,ref:l,props:o,_owner:d.current}}function G(e){return"object"==typeof e&&null!==e&&e.$$typeof===A}var I=/\/+/g,P=[];function F(e,t,n,r){if(P.length){var o=P.pop();return o.result=e,o.keyPrefix=t,o.func=n,o.context=r,o.count=0,o}return{result:e,keyPrefix:t,func:n,context:r,count:0}}function S(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>P.length&&P.push(e)}function x(e,t,n,r){var o=typeof e;"undefined"!==o&&"boolean"!==o||(e=null);var l=!1;if(null===e)l=!0;else switch(o){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case A:case i:l=!0}}if(l)return n(r,e,""===t?"."+k(e,0):t),1;if(l=0,t=""===t?".":t+":",Array.isArray(e))for(var a=0;a<e.length;a++){var u=t+k(o=e[a],a);l+=x(o,u,n,r)}else if(null===e||"object"!=typeof e?u=null:u="function"==typeof(u=h&&e[h]||e["@@iterator"])?u:null,"function"==typeof u)for(e=u.call(e),a=0;!(o=e.next()).done;)l+=x(o=o.value,u=t+k(o,a++),n,r);else if("object"===o)throw n=""+e,Error(C(31,"[object Object]"===n?"object with keys {"+Object.keys(e).join(", ")+"}":n,""));return l}function N(e,t,n){return null==e?0:x(e,"",t,n)}function k(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})}(e.key):t.toString(36)}function W(e,t){e.func.call(e.context,t,e.count++)}function L(e,t,n){var r=e.result,o=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?D(e,r,n,function(e){return e}):null!=e&&(G(e)&&(e=function(e,t){return{$$typeof:A,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,o+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(I,"$&/")+"/")+n)),r.push(e))}function D(e,t,n,r,o){var A="";null!=n&&(A=(""+n).replace(I,"$&/")+"/"),N(e,L,t=F(t,A,r,o)),S(t)}var V={current:null};function Z(){var e=V.current;if(null===e)throw Error(C(321));return e}var Q={ReactCurrentDispatcher:V,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:d,IsSomeRendererActing:{current:!1},assign:r};t.Children={map:function(e,t,n){if(null==e)return e;var r=[];return D(e,r,null,t,n),r},forEach:function(e,t,n){if(null==e)return e;N(e,W,t=F(null,null,t,n)),S(t)},count:function(e){return N(e,function(){return null},null)},toArray:function(e){var t=[];return D(e,t,null,function(e){return e}),t},only:function(e){if(!G(e))throw Error(C(143));return e}},t.Component=B,t.Fragment=l,t.Profiler=u,t.PureComponent=b,t.StrictMode=a,t.Suspense=g,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Q,t.cloneElement=function(e,t,n){if(null==e)throw Error(C(267,e));var o=r({},e.props),i=e.key,l=e.ref,a=e._owner;if(null!=t){if(void 0!==t.ref&&(l=t.ref,a=d.current),void 0!==t.key&&(i=""+t.key),e.type&&e.type.defaultProps)var u=e.type.defaultProps;for(s in t)R.call(t,s)&&!Y.hasOwnProperty(s)&&(o[s]=void 0===t[s]&&void 0!==u?u[s]:t[s])}var s=arguments.length-2;if(1===s)o.children=n;else if(1<s){u=Array(s);for(var c=0;c<s;c++)u[c]=arguments[c+2];o.children=u}return{$$typeof:A,type:e.type,key:i,ref:l,props:o,_owner:a}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:c,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},t.createElement=j,t.createFactory=function(e){var t=j.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:f,render:e}},t.isValidElement=G,t.lazy=function(e){return{$$typeof:v,_ctor:e,_status:-1,_result:null}},t.memo=function(e,t){return{$$typeof:p,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return Z().useCallback(e,t)},t.useContext=function(e,t){return Z().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return Z().useEffect(e,t)},t.useImperativeHandle=function(e,t,n){return Z().useImperativeHandle(e,t,n)},t.useLayoutEffect=function(e,t){return Z().useLayoutEffect(e,t)},t.useMemo=function(e,t){return Z().useMemo(e,t)},t.useReducer=function(e,t,n){return Z().useReducer(e,t,n)},t.useRef=function(e){return Z().useRef(e)},t.useState=function(e){return Z().useState(e)},t.version="16.14.0"},540:(e,t,n)=>{e.exports=n(192)},664:e=>{var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,o){for(var A,i,l=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),a=1;a<arguments.length;a++){for(var u in A=Object(arguments[a]))n.call(A,u)&&(l[u]=A[u]);if(t){i=t(A);for(var s=0;s<i.length;s++)r.call(A,i[s])&&(l[i[s]]=A[i[s]])}}return l}},696:(e,t,n)=>{e.exports=n(403)}},t={};function __webpack_require__(n){var r=t[n];if(void 0!==r)return r.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,__webpack_require__),o.exports}const n=wp.blocks,r=wp.blockEditor,o=wp.components,A=wp.element,i=googlesitekit.i18n,l=[{value:"outline",label:"Light"},{value:"filled_blue",label:"Neutral"},{value:"filled_black",label:"Dark"}],a=[{value:"continue_with",label:"Continue with Google"},{value:"signin",label:"Sign in"},{value:"signin_with",label:"Sign in with Google"},{value:"signup_with",label:"Sign up with Google"}],u=[{value:"pill",label:"Pill"},{value:"rectangular",label:"Rectangular"}];var s,c,f,g=__webpack_require__(696);function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},p.apply(null,arguments)}const v=e=>g.createElement("svg",p({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",fill:"none",viewBox:"0 0 180 41"},e),s||(s=g.createElement("rect",{width:180,height:41,fill:"#fff",rx:20.5})),c||(c=g.createElement("path",{fill:"url(#icon_svg__a)",d:"M9 8h162v26H9z"})),f||(f=g.createElement("defs",null,g.createElement("pattern",{id:"icon_svg__a",width:1,height:1,patternContentUnits:"objectBoundingBox"},g.createElement("use",{xlinkHref:"#icon_svg__b",transform:"matrix(.00309 0 0 .01923 -.117 -.692)"})),g.createElement("image",{xlinkHref:"data:image/png;base64,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",id:"icon_svg__b",width:406,height:126}))));var h=__webpack_require__(540);const C={label:(0,i.__)("Default (use site settings)","google-site-kit"),value:""};const y=JSON.parse('{"UU":"google-site-kit/sign-in-with-google"}');(0,n.registerBlockType)(y.UU,{edit:function Edit({attributes:e,setAttributes:t,className:n}){const{shape:s,text:c,theme:f,buttonClassName:g}=e,p=(0,r.useBlockProps)({className:n});function y(e){return[C,...e]}function w(e){return function(n){!function(e,n){t({[e]:n||void 0})}(e,n)}}const B={...s?{"data-googlesitekit-siwg-shape":s}:{},...c?{"data-googlesitekit-siwg-text":c}:{},...f?{"data-googlesitekit-siwg-theme":f}:{}},m=["googlesitekit-blocks-sign-in-with-google",g||""].filter(Boolean).join(" ");return(0,h.jsxs)(A.Fragment,{children:[(0,h.jsx)(r.InspectorControls,{children:(0,h.jsxs)(o.PanelBody,{title:(0,i.__)("Button settings","google-site-kit"),initialOpen:!0,children:[(0,h.jsx)(o.SelectControl,{label:(0,i.__)("Button shape","google-site-kit"),value:null!=s?s:"",onChange:w("shape"),options:y(u),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),(0,h.jsx)(o.SelectControl,{label:(0,i.__)("Button text","google-site-kit"),value:null!=c?c:"",onChange:w("text"),options:y(a),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),(0,h.jsx)(o.SelectControl,{label:(0,i.__)("Button theme","google-site-kit"),value:null!=f?f:"",onChange:w("theme"),options:y(l),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),(0,h.jsx)(o.TextControl,{label:(0,i.__)("HTML class","google-site-kit"),help:(0,i.__)("Add optional classes to customize the button in the editor and on the frontend.","google-site-kit"),value:g||"",onChange:function(e){const n=e.trim();t({buttonClassName:n||void 0})},__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0})]})}),(0,h.jsx)("div",{...p,children:(0,h.jsx)("div",{className:m,style:{maxWidth:"180px",minWidth:"120px"},...B,children:(0,h.jsx)(v,{})})})]})}})})();
  • google-site-kit/trunk/dist/manifest.php

    r3381521 r3389193  
    99return array(
    1010    'googlesitekit-consent-mode'                                      => array( "googlesitekit-consent-mode-bc2e26cfa69fcd4a8261.js", null ),
    11     'googlesitekit-events-provider-contact-form-7'                    => array( "googlesitekit-events-provider-contact-form-7-858d8c72283d3fbfaa98.js", null ),
     11    'googlesitekit-events-provider-contact-form-7'                    => array( "googlesitekit-events-provider-contact-form-7-40476021fb6e59177033.js", null ),
    1212    'googlesitekit-events-provider-easy-digital-downloads'            => array( "googlesitekit-events-provider-easy-digital-downloads-85026152b9292f580065.js", null ),
    13     'googlesitekit-events-provider-mailchimp'                         => array( "googlesitekit-events-provider-mailchimp-a4f9d772bc64ad5b383c.js", null ),
    14     'googlesitekit-events-provider-ninja-forms'                       => array( "googlesitekit-events-provider-ninja-forms-aa24820311d3e4ff028a.js", null ),
    15     'googlesitekit-events-provider-optin-monster'                     => array( "googlesitekit-events-provider-optin-monster-492972356bb4b9b04218.js", null ),
    16     'googlesitekit-events-provider-popup-maker'                       => array( "googlesitekit-events-provider-popup-maker-3e08ae2a503322243ba6.js", null ),
     13    'googlesitekit-events-provider-mailchimp'                         => array( "googlesitekit-events-provider-mailchimp-766d83b09856fae7cf87.js", null ),
     14    'googlesitekit-events-provider-ninja-forms'                       => array( "googlesitekit-events-provider-ninja-forms-1bcc43dc33ac5df43991.js", null ),
     15    'googlesitekit-events-provider-optin-monster'                     => array( "googlesitekit-events-provider-optin-monster-e6fa11a9d13d20a7ece5.js", null ),
     16    'googlesitekit-events-provider-popup-maker'                       => array( "googlesitekit-events-provider-popup-maker-561440dc30d29e4d73d1.js", null ),
    1717    'googlesitekit-events-provider-woocommerce'                       => array( "googlesitekit-events-provider-woocommerce-56777fd664fb7392edc2.js", null ),
    18     'googlesitekit-events-provider-wpforms'                           => array( "googlesitekit-events-provider-wpforms-9774e7805b244d82c869.js", null ),
     18    'googlesitekit-events-provider-wpforms'                           => array( "googlesitekit-events-provider-wpforms-ed443a3a3d45126a22ce.js", null ),
    1919    'googlesitekit-i18n'                                              => array( "googlesitekit-i18n-f0c172b703253d0876a2.js", null ),
    2020    'analytics-advanced-tracking'                                     => array( "analytics-advanced-tracking-78f90889e2d99b97b685.js", null ),
     
    2828    'sign-in-with-google/index'                                       => array( "sign-in-with-google/index.js", null ),
    2929    'sign-in-with-google/editor-styles'                               => array( "sign-in-with-google/editor-styles.js", null ),
    30     'googlesitekit-admin-css'                                         => array( "googlesitekit-admin-css-0aa580d3c352ea32302e.min.css", null ),
     30    'googlesitekit-admin-css'                                         => array( "googlesitekit-admin-css-2d878b524029ec067eec.min.css", null ),
    3131    'googlesitekit-adminbar-css'                                      => array( "googlesitekit-adminbar-css-d193e67e2cbecf306061.min.css", null ),
    3232    'googlesitekit-wp-dashboard-css'                                  => array( "googlesitekit-wp-dashboard-css-bd43e70c4bc5ecdc3695.min.css", null ),
    3333    'googlesitekit-authorize-application-css'                         => array( "googlesitekit-authorize-application-css-5b98b536e7f34c6411c1.min.css", null ),
    34     'googlesitekit-api'                                               => array( "googlesitekit-api-5415d897f4cfe6af537a.js", null ),
    35     'googlesitekit-data'                                              => array( "googlesitekit-data-a82cf53783cfc2587cae.js", null ),
    36     'googlesitekit-datastore-site'                                    => array( "googlesitekit-datastore-site-4fab9d4e493df1a7b75f.js", null ),
    37     'googlesitekit-datastore-user'                                    => array( "googlesitekit-datastore-user-9fbfa20e271014903635.js", null ),
    38     'googlesitekit-datastore-forms'                                   => array( "googlesitekit-datastore-forms-bb68e468edb671baec08.js", null ),
     34    'googlesitekit-api'                                               => array( "googlesitekit-api-4acd9eba95567bccec3c.js", null ),
     35    'googlesitekit-data'                                              => array( "googlesitekit-data-2868d5c75a96f60bd472.js", null ),
     36    'googlesitekit-datastore-site'                                    => array( "googlesitekit-datastore-site-3c39e3fbabbd2f01e016.js", null ),
     37    'googlesitekit-datastore-user'                                    => array( "googlesitekit-datastore-user-554efe90316700e16739.js", null ),
     38    'googlesitekit-datastore-forms'                                   => array( "googlesitekit-datastore-forms-d643ba5ba26668542bde.js", null ),
    3939    'googlesitekit-datastore-location'                                => array( "googlesitekit-datastore-location-a7fd5d1461e0562c934a.js", null ),
    40     'googlesitekit-datastore-ui'                                      => array( "googlesitekit-datastore-ui-c4f0c0ecf7e603d255ac.js", null ),
    41     'googlesitekit-modules'                                           => array( "googlesitekit-modules-0a1c37f4c7f1ccba2e70.js", null ),
    42     'googlesitekit-notifications'                                     => array( "googlesitekit-notifications-3b99b45672b70fa6c0c3.js", null ),
    43     'googlesitekit-widgets'                                           => array( "googlesitekit-widgets-89e6cf33318a2b4218b2.js", null ),
    44     'googlesitekit-modules-ads'                                       => array( "googlesitekit-modules-ads-3afd4c0d0448a6b9e55d.js", null ),
    45     'googlesitekit-modules-adsense'                                   => array( "googlesitekit-modules-adsense-ff252ea79a88ca6ed113.js", null ),
    46     'googlesitekit-modules-analytics-4'                               => array( "googlesitekit-modules-analytics-4-a3afd3f605d1d6cee9ae.js", null ),
    47     'googlesitekit-modules-pagespeed-insights'                        => array( "googlesitekit-modules-pagespeed-insights-a520ab4105bdb8b21f4b.js", null ),
    48     'googlesitekit-modules-reader-revenue-manager'                    => array( "googlesitekit-modules-reader-revenue-manager-3f5c91790bc27a05a1af.js", null ),
    49     'googlesitekit-modules-search-console'                            => array( "googlesitekit-modules-search-console-e91f3b157dee1fcc67f4.js", null ),
    50     'googlesitekit-modules-sign-in-with-google'                       => array( "googlesitekit-modules-sign-in-with-google-b45a6047e0a41d61dea8.js", null ),
    51     'googlesitekit-modules-tagmanager'                                => array( "googlesitekit-modules-tagmanager-94a8d4227d2d26a44073.js", null ),
    52     'googlesitekit-user-input'                                        => array( "googlesitekit-user-input-066d7b88b430e4488323.js", null ),
    53     'googlesitekit-ad-blocking-recovery'                              => array( "googlesitekit-ad-blocking-recovery-720a286901e7b9d4dce3.js", null ),
     40    'googlesitekit-datastore-ui'                                      => array( "googlesitekit-datastore-ui-ab5c239e3cf8b9ab02b0.js", null ),
     41    'googlesitekit-modules'                                           => array( "googlesitekit-modules-bee95690a7bf78bc07b4.js", null ),
     42    'googlesitekit-notifications'                                     => array( "googlesitekit-notifications-2736e03463ce2aa1bf04.js", null ),
     43    'googlesitekit-widgets'                                           => array( "googlesitekit-widgets-fa50a53f55279b0e87e6.js", null ),
     44    'googlesitekit-modules-ads'                                       => array( "googlesitekit-modules-ads-6547fa863cf79755997f.js", null ),
     45    'googlesitekit-modules-adsense'                                   => array( "googlesitekit-modules-adsense-8ffefc093acfb03d3939.js", null ),
     46    'googlesitekit-modules-analytics-4'                               => array( "googlesitekit-modules-analytics-4-b55732b33a3e8ecabb92.js", null ),
     47    'googlesitekit-modules-pagespeed-insights'                        => array( "googlesitekit-modules-pagespeed-insights-ce16569db5c5c3700246.js", null ),
     48    'googlesitekit-modules-reader-revenue-manager'                    => array( "googlesitekit-modules-reader-revenue-manager-0eaef957f6a1121c2632.js", null ),
     49    'googlesitekit-modules-search-console'                            => array( "googlesitekit-modules-search-console-a503191f619f430f2e1f.js", null ),
     50    'googlesitekit-modules-sign-in-with-google'                       => array( "googlesitekit-modules-sign-in-with-google-7a7375c0e3afa603c730.js", null ),
     51    'googlesitekit-modules-tagmanager'                                => array( "googlesitekit-modules-tagmanager-5cccb7a1aa3b8068a19d.js", null ),
     52    'googlesitekit-user-input'                                        => array( "googlesitekit-user-input-d8854daef0c71e933cbd.js", null ),
     53    'googlesitekit-ad-blocking-recovery'                              => array( "googlesitekit-ad-blocking-recovery-04056d66d815c45fe98f.js", null ),
    5454    'googlesitekit-block-tracking'                                    => array( "googlesitekit-block-tracking-1032e2e997b7685502b9.js", null ),
    5555    'googlesitekit-polyfills'                                         => array( "googlesitekit-polyfills-8b59b9627a8949df6deb.js", null ),
    56     'googlesitekit-components'                                        => array( "googlesitekit-components-3b61eacd2cb133eb7a54.js", null ),
    57     'googlesitekit-metric-selection'                                  => array( "googlesitekit-metric-selection-42ec83a16098134bfe05.js", null ),
    58     'googlesitekit-key-metrics-setup'                                 => array( "googlesitekit-key-metrics-setup-af470800b816f945f2ea.js", null ),
    59     'googlesitekit-activation'                                        => array( "googlesitekit-activation-265f42c4861de8dd5530.js", null ),
    60     'googlesitekit-adminbar'                                          => array( "googlesitekit-adminbar-516a7ae64b1fbe0dc86d.js", null ),
    61     'googlesitekit-settings'                                          => array( "googlesitekit-settings-b48696b40ea99bbb1ab5.js", null ),
    62     'googlesitekit-main-dashboard'                                    => array( "googlesitekit-main-dashboard-8c022ca3fc37671d18b6.js", null ),
    63     'googlesitekit-entity-dashboard'                                  => array( "googlesitekit-entity-dashboard-ff6cd35270edba385955.js", null ),
    64     'googlesitekit-splash'                                            => array( "googlesitekit-splash-4c8bdca6bedb04bc4242.js", null ),
    65     'googlesitekit-wp-dashboard'                                      => array( "googlesitekit-wp-dashboard-0e2822cc1689ca577f29.js", null ),
     56    'googlesitekit-components'                                        => array( "googlesitekit-components-75585de31a179a264558.js", null ),
     57    'googlesitekit-metric-selection'                                  => array( "googlesitekit-metric-selection-fa2203e0c4f9ef557b3b.js", null ),
     58    'googlesitekit-key-metrics-setup'                                 => array( "googlesitekit-key-metrics-setup-b01b0e10038a0489334a.js", null ),
     59    'googlesitekit-activation'                                        => array( "googlesitekit-activation-cf67b1551538a8d25daf.js", null ),
     60    'googlesitekit-adminbar'                                          => array( "googlesitekit-adminbar-a78c323609736404fc2f.js", null ),
     61    'googlesitekit-settings'                                          => array( "googlesitekit-settings-d1c3d5b87d5d2f793f91.js", null ),
     62    'googlesitekit-main-dashboard'                                    => array( "googlesitekit-main-dashboard-28000cf844561eb9fe35.js", null ),
     63    'googlesitekit-entity-dashboard'                                  => array( "googlesitekit-entity-dashboard-676fd34c9ca371e65aae.js", null ),
     64    'googlesitekit-splash'                                            => array( "googlesitekit-splash-a647b5365ab8001fb00a.js", null ),
     65    'googlesitekit-wp-dashboard'                                      => array( "googlesitekit-wp-dashboard-4d2dbf3c1b69b854232d.js", null ),
    6666    'googlesitekit-runtime'                                           => array( "runtime-4300400569c01237fc9a.js", null ),
    6767    'googlesitekit-vendor'                                            => array( "googlesitekit-vendor-599848015879dcc843df.js", null ),
  • google-site-kit/trunk/google-site-kit.php

    r3381521 r3389193  
    1212 * Plugin URI:        https://sitekit.withgoogle.com
    1313 * Description:       Site Kit is a one-stop solution for WordPress users to use everything Google has to offer to make them successful on the web.
    14  * Version:           1.164.0
     14 * Version:           1.165.0
    1515 * Requires at least: 5.2
    1616 * Requires PHP:      7.4
     
    2727
    2828// Define most essential constants.
    29 define( 'GOOGLESITEKIT_VERSION', '1.164.0' );
     29define( 'GOOGLESITEKIT_VERSION', '1.165.0' );
    3030define( 'GOOGLESITEKIT_PLUGIN_MAIN_FILE', __FILE__ );
    3131define( 'GOOGLESITEKIT_PHP_MINIMUM', '7.4.0' );
  • google-site-kit/trunk/includes/Core/Assets/Assets.php

    r3381521 r3389193  
    643643                    'src'          => $base_url . 'js/googlesitekit-settings.js',
    644644                    'dependencies' => $this->get_asset_dependencies( 'dashboard-sharing' ),
     645                )
     646            ),
     647            new Script(
     648                'googlesitekit-sign-in-with-google-comments',
     649                array(
     650                    'src'           => $base_url . 'js/googlesitekit-sign-in-with-google-comments.js',
     651                    'dependencies'  => array(
     652                        'googlesitekit-tracking-data',
     653                        'googlesitekit-data',
     654                    ),
     655                    'load_contexts' => array( Asset::CONTEXT_ADMIN_POST_EDITOR ),
    645656                )
    646657            ),
  • google-site-kit/trunk/includes/Core/Conversion_Tracking/Conversion_Event_Providers/Easy_Digital_Downloads.php

    r3381521 r3389193  
    1515use Google\Site_Kit\Core\Util\Feature_Flags;
    1616use Google\Site_Kit\Core\Util\Method_Proxy_Trait;
    17 use Google\Site_Kit\Modules\Ads\Enhanced_Conversions;
     17use Google\Site_Kit\Core\Tags\Enhanced_Conversions\Enhanced_Conversions;
    1818
    1919/**
     
    5656
    5757        return $event_names;
     58    }
     59
     60    /**
     61     * Gets the enhanced conversion event names that are tracked by this provider.
     62     *
     63     * @since 1.165.0
     64     *
     65     * @return array List of enhanced conversion event names.
     66     */
     67    public function get_enhanced_event_names() {
     68        return array( 'add_to_cart' );
    5869    }
    5970
  • google-site-kit/trunk/includes/Core/Conversion_Tracking/Conversion_Event_Providers/WooCommerce.php

    r3358056 r3389193  
    1414use Google\Site_Kit\Core\Conversion_Tracking\Conversion_Events_Provider;
    1515use Google\Site_Kit\Core\Util\Feature_Flags;
    16 use Google\Site_Kit\Modules\Ads\Enhanced_Conversions;
     16use Google\Site_Kit\Core\Tags\Enhanced_Conversions\Enhanced_Conversions;
    1717
    1818/**
     
    6767
    6868        return array_unique( array_merge( $events_to_track, $wgai_event_names ) );
     69    }
     70
     71    /**
     72     * Gets the enhanced conversion event names that are tracked by this provider.
     73     *
     74     * @since 1.165.0
     75     *
     76     * @return array List of enhanced conversion event names.
     77     */
     78    public function get_enhanced_event_names() {
     79        return array( 'add_to_cart', 'purchase' );
    6980    }
    7081
  • google-site-kit/trunk/includes/Core/Conversion_Tracking/Conversion_Events_Provider.php

    r3305239 r3389193  
    7575
    7676    /**
     77     * Gets the enhanced conversion event names.
     78     *
     79     * @since 1.165.0
     80     *
     81     * @return array List of enhanced conversion event names. Default empty array.
     82     */
     83    public function get_enhanced_event_names() {
     84        return array();
     85    }
     86
     87    /**
    7788     * Registers any actions/hooks for this provider.
    7889     *
  • google-site-kit/trunk/includes/Core/Conversion_Tracking/Conversion_Tracking.php

    r3373932 r3389193  
    247247
    248248    /**
     249     * Returns enhanced conversion events supported by active providers from the conversion tracking infrastructure.
     250     *
     251     * @since 1.165.0
     252     *
     253     * @return array Array of supported enhanced conversion events, or empty array.
     254     */
     255    public function get_enhanced_conversion_events() {
     256        $providers = $this->get_active_providers();
     257
     258        if ( empty( $providers ) ) {
     259            return array();
     260        }
     261
     262        $events = array();
     263
     264        foreach ( $providers as $provider ) {
     265            $supported_enhanced_events = array_intersect( $provider->get_enhanced_event_names(), $provider->get_event_names() );
     266
     267            $events = array_merge( $events, array_values( $supported_enhanced_events ) );
     268        }
     269
     270        return array_unique( $events );
     271    }
     272
     273    /**
    249274     * Gets an array of internal feature metrics.
    250275     *
     
    255280    public function get_feature_metrics() {
    256281        return array(
    257             'conversion_tracking_enabled'   => $this->conversion_tracking_settings->is_conversion_tracking_enabled(),
    258             'conversion_tracking_providers' => array_keys( $this->get_active_providers() ),
    259             'conversion_tracking_events'    => $this->get_supported_conversion_events(),
     282            'conversion_tracking_enabled'    => $this->conversion_tracking_settings->is_conversion_tracking_enabled(),
     283            'conversion_tracking_providers'  => array_keys( $this->get_active_providers() ),
     284            'conversion_tracking_events'     => $this->get_supported_conversion_events(),
     285            'conversion_tracking_events_enh' => $this->get_enhanced_conversion_events(),
    260286        );
    261287    }
  • google-site-kit/trunk/includes/Core/User/User.php

    r3381521 r3389193  
    4040
    4141    /**
    42      * Proactive_User_Engagement instance.
     42     * Email_Reporting instance.
    4343     *
    4444     * @since 1.162.0
    45      * @var Proactive_User_Engagement
     45     * @var Email_Reporting
    4646     */
    47     private $proactive_user_engagement;
     47    private $email_reporting;
    4848
    4949    /**
     
    5959     *
    6060     * @since 1.134.0
    61      * @since 1.162.0 Added Proactive User Engagement.
     61     * @since 1.162.0 Added Email Reporting.
    6262     * @since 1.164.0 Added Initial Setup.
    6363     *
     
    6969
    7070        if ( Feature_Flags::enabled( 'proactiveUserEngagement' ) ) {
    71             $this->proactive_user_engagement = new Proactive_User_Engagement( $user_options );
     71            $this->email_reporting = new Email_Reporting( $user_options );
    7272        }
    7373
     
    8181     *
    8282     * @since 1.134.0
    83      * @since 1.162.0 Added Proactive User Engagement.
     83     * @since 1.162.0 Added Email Reporting.
    8484     * @since 1.164.0 Added Initial Setup.
    8585     */
     
    8888        $this->conversion_reporting->register();
    8989
    90         if ( Feature_Flags::enabled( 'proactiveUserEngagement' ) && $this->proactive_user_engagement ) {
    91             $this->proactive_user_engagement->register();
     90        if ( Feature_Flags::enabled( 'proactiveUserEngagement' ) && $this->email_reporting ) {
     91            $this->email_reporting->register();
    9292        }
    9393
  • google-site-kit/trunk/includes/Modules/Ads.php

    r3373932 r3389193  
    3636use Google\Site_Kit\Core\Storage\User_Options;
    3737use Google\Site_Kit\Core\Util\Plugin_Status;
    38 use Google\Site_Kit\Modules\Ads\Enhanced_Conversions;
    3938use Google\Site_Kit\Modules\Ads\PAX_Config;
    4039use Google\Site_Kit\Modules\Ads\Settings;
     
    123122            10
    124123        );
    125 
    126         // Register the Enhanced Conversions class if the feature flag is enabled and the Ads module is connected.
    127         if ( $this->is_connected() && Feature_Flags::enabled( 'gtagUserData' ) ) {
    128             $enhanced_conversions = new Enhanced_Conversions();
    129             $enhanced_conversions->register();
    130         }
    131124    }
    132125
  • google-site-kit/trunk/includes/Modules/Analytics_4.php

    r3381521 r3389193  
    999999
    10001000        if ( Feature_Flags::enabled( 'setupFlowRefresh' ) ) {
     1001            $show_progress = (bool) $input->filter( INPUT_GET, 'show_progress' );
     1002
    10011003            wp_safe_redirect(
    10021004                $this->context->admin_url(
    10031005                    'key-metrics-setup',
     1006                    array(
     1007                        'showProgress' => $show_progress ? 'true' : null,
     1008                    )
    10041009                )
    10051010            );
     
    12411246                $account_ticket_request->setRedirectUri( $this->get_provisioning_redirect_uri() );
    12421247                $account_ticket_request->setAccount( $account );
     1248
     1249                if ( Feature_Flags::enabled( 'setupFlowRefresh' ) ) {
     1250                    $account_ticket_request->setShowProgress( isset( $data['showProgress'] ) ? (bool) $data['showProgress'] : false );
     1251                }
    12431252
    12441253                return $this->get_service( 'analyticsprovisioning' )
  • google-site-kit/trunk/includes/Modules/Analytics_4/GoogleAnalyticsAdmin/Proxy_GoogleAnalyticsAdminProvisionAccountTicketRequest.php

    r2897388 r3389193  
    3636     */
    3737    public $site_secret = '';
     38
     39    /**
     40     * The state of the show progress flag.
     41     *
     42     * @since 1.165.0
     43     * @var bool
     44     */
     45    public $show_progress = false;
    3846
    3947    /**
     
    7684        $this->site_secret = $secret;
    7785    }
     86
     87    /**
     88     * Sets the show progress flag.
     89     *
     90     * @since 1.165.0
     91     *
     92     * @param bool $show_progress The show progress flag.
     93     */
     94    public function setShowProgress( $show_progress ) {
     95        $this->show_progress = $show_progress;
     96    }
     97
     98    /**
     99     * Gets the show progress flag.
     100     *
     101     * @since 1.165.0
     102     */
     103    public function getShowProgress() {
     104        return $this->show_progress;
     105    }
    78106}
  • google-site-kit/trunk/includes/Modules/Sign_In_With_Google.php

    r3381521 r3389193  
    2929use Google\Site_Kit\Core\Modules\Module_With_Tag_Trait;
    3030use Google\Site_Kit\Core\Modules\Tags\Module_Tag_Matchers;
    31 use Google\Site_Kit\Core\Permissions\Permissions;
     31use Google\Site_Kit\Core\REST_API\REST_Routes;
    3232use Google\Site_Kit\Core\Site_Health\Debug_Data;
    3333use Google\Site_Kit\Core\Storage\Options;
    3434use Google\Site_Kit\Core\Storage\User_Options;
     35use Google\Site_Kit\Core\Tracking\Feature_Metrics_Trait;
     36use Google\Site_Kit\Core\Tracking\Provides_Feature_Metrics;
    3537use Google\Site_Kit\Core\Util\BC_Functions;
    3638use Google\Site_Kit\Core\Util\Method_Proxy_Trait;
    37 use Google\Site_Kit\Core\Util\Plugin_Status;
    3839use Google\Site_Kit\Modules\Sign_In_With_Google\Authenticator;
    3940use Google\Site_Kit\Modules\Sign_In_With_Google\Authenticator_Interface;
     
    6263 * @ignore
    6364 */
    64 final class Sign_In_With_Google extends Module implements Module_With_Inline_Data, Module_With_Assets, Module_With_Settings, Module_With_Deactivation, Module_With_Debug_Fields, Module_With_Tag {
     65final class Sign_In_With_Google extends Module implements Module_With_Inline_Data, Module_With_Assets, Module_With_Settings, Module_With_Deactivation, Module_With_Debug_Fields, Module_With_Tag, Provides_Feature_Metrics {
    6566
    6667    use Method_Proxy_Trait;
     
    6970    use Module_With_Tag_Trait;
    7071    use Module_With_Inline_Data_Trait;
     72    use Feature_Metrics_Trait;
    7173
    7274    /**
     
    142144    public function register() {
    143145        $this->register_inline_data();
     146        $this->register_feature_metrics();
    144147
    145148        add_filter( 'wp_login_errors', array( $this, 'handle_login_errors' ) );
    146149
    147150        add_action( 'googlesitekit_render_sign_in_with_google_button', array( $this, 'render_sign_in_with_google_button' ), 10, 1 );
     151
     152        // Add support for a shortcode to render the Sign in with Google button.
     153        add_shortcode( 'site_kit_sign_in_with_google', array( $this, 'render_siwg_shortcode' ) );
    148154
    149155        add_action(
     
    193199        add_action( 'login_init', array( $this, 'register_tag' ) );
    194200
     201        // Place Sign in with Google button next to comments form if the
     202        // setting is enabled.
     203        add_action( 'comment_form_after_fields', array( $this, 'handle_comments_form' ) );
     204
     205        // Add the Sign in with Google compatibility checks datapoint to our
     206        // preloaded paths.
     207        add_filter(
     208            'googlesitekit_apifetch_preload_paths',
     209            function ( $paths ) {
     210                return array_merge(
     211                    $paths,
     212                    array(
     213                        '/' . REST_Routes::REST_ROOT . '/modules/sign-in-with-google/data/compatibility-checks',
     214                    )
     215                );
     216            }
     217        );
     218
    195219        // Check to see if the module is connected before registering the block.
    196220        if ( $this->is_connected() ) {
     
    220244            exit;
    221245        }
     246    }
     247
     248    /**
     249     * Conditionally show the Sign in with Google button in a comments form.
     250     *
     251     * @since 1.165.0
     252     */
     253    public function handle_comments_form() {
     254        $settings            = $this->get_settings()->get();
     255        $anyone_can_register = (bool) get_option( 'users_can_register' );
     256
     257        // Only show the button if:
     258        // - the comments form setting is enabled
     259        // - open user registration is enabled
     260        //
     261        // If the comments form setting is not enabled, do nothing.
     262        if ( empty( $settings['showNextToCommentsEnabled'] ) || ! $anyone_can_register ) {
     263            return;
     264        }
     265
     266        // Output the post ID to allow identitifying the post for this comment.
     267        $post_id = get_the_ID();
     268
     269        // Output the Sign in with Google button in the comments form.
     270        do_action(
     271            'googlesitekit_render_sign_in_with_google_button',
     272            array(
     273                'class' => array(
     274                    'googlesitekit-sign-in-with-google__comments-form-button',
     275                    "googlesitekit-sign-in-with-google__comments-form-button-postid-{$post_id}",
     276                ),
     277            )
     278        );
    222279    }
    223280
     
    502559        );
    503560
    504         $data_attributes = array( 'shape', 'text', 'theme' );
     561        $data_attributes = array( 'for-comment-form', 'post-id', 'shape', 'text', 'theme' );
    505562        foreach ( $data_attributes as $attribute ) {
    506563            if ( empty( $args[ $attribute ] ) || ! is_scalar( $args[ $attribute ] ) ) {
     
    517574
    518575        echo '<div ' . implode( ' ', $attribute_strings ) . '></div>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
     576    }
     577
     578    /**
     579     * Renders the Sign in with Google button for shortcode usage.
     580     *
     581     * This method captures the Sign in with Google button output
     582     * and returns it as a string for use in shortcodes.
     583     *
     584     * @since 1.165.0
     585     *
     586     * @param array $atts Shortcode attributes.
     587     * @return string The rendered button markup.
     588     */
     589    public function render_siwg_shortcode( $atts ) {
     590        $args = shortcode_atts(
     591            array(
     592                'class' => '',
     593                'shape' => '',
     594                'text'  => '',
     595                'theme' => '',
     596            ),
     597            $atts,
     598            'site_kit_sign_in_with_google'
     599        );
     600
     601        // Remove empty attributes.
     602        $args = array_filter( $args );
     603
     604        ob_start();
     605        do_action( 'googlesitekit_render_sign_in_with_google_button', $args );
     606        $markup = ob_get_clean();
     607
     608        return $markup;
    519609    }
    520610
     
    581671                'debug' => $settings['oneTapEnabled'] ? 'yes' : 'no',
    582672            ),
     673            'sign_in_with_google_comments'                 => array(
     674                /* translators: %s: Sign in with Google service name */
     675                'label' => sprintf( __( '%s: Show next to comments', 'google-site-kit' ), _x( 'Sign in with Google', 'Service name', 'google-site-kit' ) ),
     676                'value' => (bool) get_option( 'users_can_register' ) && $settings['showNextToCommentsEnabled'] ? __( 'Yes', 'google-site-kit' ) : __( 'No', 'google-site-kit' ),
     677                'debug' => (bool) get_option( 'users_can_register' ) && $settings['showNextToCommentsEnabled'] ? 'yes' : 'no',
     678            ),
    583679            'sign_in_with_google_authenticated_user_count' => array(
    584680                /* translators: %1$s: Sign in with Google service name */
     
    819915        return class_exists( 'WooCommerce' );
    820916    }
     917
     918    /**
     919     * Gets an array of internal feature metrics.
     920     *
     921     * @since 1.165.0
     922     *
     923     * @return array
     924     */
     925    public function get_feature_metrics() {
     926        return array(
     927            'siwg_onetap' => $this->get_settings()->get()['oneTapEnabled'] ? 1 : 0,
     928        );
     929    }
    821930}
  • google-site-kit/trunk/includes/Modules/Sign_In_With_Google/Authenticator.php

    r3238118 r3389193  
    297297     */
    298298    protected function is_registration_open() {
    299         // No need to check the multisite settings because it is already incorporated in the following
    300         // users_can_register check.
     299        // No need to check the multisite settings because it is already
     300        // incorporated in the following users_can_register check.
    301301        // See: https://github.com/WordPress/WordPress/blob/505b7c55f5363d51e7e28d512ce7dcb2d5f45894/wp-includes/ms-default-filters.php#L20.
    302302        return get_option( 'users_can_register' );
  • google-site-kit/trunk/includes/Modules/Sign_In_With_Google/Sign_In_With_Google_Block.php

    r3381521 r3389193  
    7878     *
    7979     * @since 1.147.0
     80     * @since 1.165.0 Added the `$attributes` parameter.
     81     *
     82     * @param array $attributes Block attributes.
    8083     * @return string Rendered block.
    8184     */
    82     public function render_callback() {
     85    public function render_callback( $attributes = array() ) {
    8386        // If the user is already signed in, do not render a Sign in
    8487        // with Google button.
    8588        if ( is_user_logged_in() ) {
    8689            return '';
     90        }
     91
     92        $attributes  = is_array( $attributes ) ? $attributes : array();
     93        $button_args = array();
     94
     95        $allowed_attributes = array(
     96            'text'  => wp_list_pluck( Settings::TEXTS, 'value' ),
     97            'theme' => wp_list_pluck( Settings::THEMES, 'value' ),
     98            'shape' => wp_list_pluck( Settings::SHAPES, 'value' ),
     99        );
     100
     101        foreach ( array( 'text', 'theme', 'shape' ) as $key ) {
     102            if ( ! empty( $attributes[ $key ] ) && in_array( $attributes[ $key ], $allowed_attributes[ $key ], true ) ) {
     103                $button_args[ $key ] = $attributes[ $key ];
     104            }
     105        }
     106
     107        if ( ! empty( $attributes['buttonClassName'] ) && is_string( $attributes['buttonClassName'] ) ) {
     108            $classes = array_filter(
     109                preg_split( '/\s+/', trim( $attributes['buttonClassName'] ) )
     110            );
     111
     112            if ( ! empty( $classes ) ) {
     113                $button_args['class'] = $classes;
     114            }
    87115        }
    88116
     
    95123         * @param array $args Optional arguments to customize button attributes.
    96124         */
    97         do_action( 'googlesitekit_render_sign_in_with_google_button' );
     125        do_action( 'googlesitekit_render_sign_in_with_google_button', $button_args );
    98126        return ob_get_clean();
    99127    }
  • google-site-kit/trunk/includes/Modules/Sign_In_With_Google/Web_Tag.php

    r3381521 r3389193  
    157157            } );
    158158
    159             <?php if ( empty( $this->redirect_to ) && ! $is_login_page && $should_show_one_tap_prompt ) : // phpcs:ignore Generic.WhiteSpace.ScopeIndent.Incorrect ?>
     159            /*
     160                Preserve comment text in case of redirect after login on a page
     161                with a Sign in with Google button in the WordPress comments.
     162            */
     163            const commentText = document.querySelector( '#comment' )?.value;
     164            const postId = document.querySelectorAll( '.googlesitekit-sign-in-with-google__comments-form-button' )?.[0]?.className?.match(/googlesitekit-sign-in-with-google__comments-form-button-postid-(\d+)/)?.[1];
     165
     166            if ( !! commentText?.length ) {
     167                sessionStorage.setItem( `siwg-comment-text-${postId}`, commentText );
     168            }
     169
     170            <?php if ( empty( $this->redirect_to ) && ! $is_login_page ) : // phpcs:ignore Generic.WhiteSpace.ScopeIndent.Incorrect ?>
    160171                location.reload();
    161172            <?php else : // phpcs:ignore Generic.WhiteSpace.ScopeIndent.Incorrect ?>
     
    169180    }
    170181
    171     google.accounts.id.initialize( {
    172         client_id: '<?php echo esc_js( $this->settings['clientID'] ); ?>',
    173         callback: handleCredentialResponse,
    174         library_name: 'Site-Kit'
    175     } );
     182    if (typeof google !== 'undefined') {
     183        google.accounts.id.initialize( {
     184            client_id: '<?php echo esc_js( $this->settings['clientID'] ); ?>',
     185            callback: handleCredentialResponse,
     186            library_name: 'Site-Kit'
     187        } );
     188    }
    176189
    177190    <?php if ( $this->is_wp_login ) : // phpcs:ignore Generic.WhiteSpace.ScopeIndent.Incorrect ?>
     
    199212        };
    200213
    201         google.accounts.id.renderButton( siwgButtonDiv, buttonOptions );
     214        if (typeof google !== 'undefined') {
     215            google.accounts.id.renderButton( siwgButtonDiv, buttonOptions );
     216        }
    202217    });
    203218    <?php endif; // phpcs:ignore Generic.WhiteSpace.ScopeIndent.Incorrect ?>
    204219
    205220    <?php if ( $should_show_one_tap_prompt ) : // phpcs:ignore Generic.WhiteSpace.ScopeIndent.Incorrect ?>
    206         google.accounts.id.prompt();
     221        if (typeof google !== 'undefined') {
     222            google.accounts.id.prompt();
     223        }
    207224    <?php endif; // phpcs:ignore Generic.WhiteSpace.ScopeIndent.Incorrect ?>
    208225
     
    212229        document.cookie = "<?php echo esc_js( Authenticator::COOKIE_REDIRECT_TO ); ?>=<?php echo esc_js( $this->redirect_to ); ?>;expires=" + expires.toUTCString() + ";path=<?php echo esc_js( Authenticator::get_cookie_path() ); ?>";
    213230    <?php endif; // phpcs:ignore Generic.WhiteSpace.ScopeIndent.Incorrect ?>
     231
     232    /*
     233        If there is a matching saved comment text in sessionStorage, restore it
     234        to the comment field and remove it from sessionStorage.
     235    */
     236    const postId = document.body.className.match(/postid-(\d+)/)?.[1];
     237
     238    const commentField = document.querySelector( '#comment' );
     239    const commentText = sessionStorage.getItem( `siwg-comment-text-${postId}` );
     240
     241    if ( commentText?.length && commentField && !! postId ) {
     242        commentField.value = commentText;
     243        sessionStorage.removeItem( `siwg-comment-text-${postId}` );
     244    }
    214245} )();
    215246        <?php
     
    221252        // Output the Sign in with Google script.
    222253        printf( "\n<!-- %s -->\n", esc_html__( 'Sign in with Google button added by Site Kit', 'google-site-kit' ) );
     254        ?>
     255        <style>
     256        .googlesitekit-sign-in-with-google__frontend-output-button{max-width:320px}
     257        </style>
     258        <?php
    223259        BC_Functions::wp_print_script_tag( array( 'src' => 'https://accounts.google.com/gsi/client' ) );
    224260        BC_Functions::wp_print_inline_script_tag( $inline_script );
  • google-site-kit/trunk/includes/Plugin.php

    r3373932 r3389193  
    230230                ( new Core\Conversion_Tracking\Conversion_Tracking( $this->context, $options ) )->register();
    231231                if ( Feature_Flags::enabled( 'proactiveUserEngagement' ) ) {
    232                     ( new Core\Proactive_User_Engagement\Proactive_User_Engagement( $this->context, $options ) )->register();
     232                    ( new Core\Email_Reporting\Email_Reporting( $this->context, $options ) )->register();
    233233                }
    234234                if ( Feature_Flags::enabled( 'googleTagGateway' ) ) {
     
    236236                }
    237237                ( new Core\Tracking\Feature_Metrics() )->register();
     238                if ( Feature_Flags::enabled( 'gtagUserData' ) ) {
     239                    ( new Core\Tags\Enhanced_Conversions\Enhanced_Conversions() )->register();
     240                }
    238241
    239242                // If a login is happening (runs after 'init'), update current user in dependency chain.
  • google-site-kit/trunk/includes/vendor/composer/autoload_classmap.php

    r3381521 r3389193  
    8484    'Google\\Site_Kit\\Core\\Dismissals\\Dismissed_Items' => $baseDir . '/Core/Dismissals/Dismissed_Items.php',
    8585    'Google\\Site_Kit\\Core\\Dismissals\\REST_Dismissals_Controller' => $baseDir . '/Core/Dismissals/REST_Dismissals_Controller.php',
     86    'Google\\Site_Kit\\Core\\Email_Reporting\\Email_Reporting' => $baseDir . '/Core/Email_Reporting/Email_Reporting.php',
     87    'Google\\Site_Kit\\Core\\Email_Reporting\\Email_Reporting_Settings' => $baseDir . '/Core/Email_Reporting/Email_Reporting_Settings.php',
     88    'Google\\Site_Kit\\Core\\Email_Reporting\\REST_Email_Reporting_Controller' => $baseDir . '/Core/Email_Reporting/REST_Email_Reporting_Controller.php',
    8689    'Google\\Site_Kit\\Core\\Expirables\\Expirable_Items' => $baseDir . '/Core/Expirables/Expirable_Items.php',
    8790    'Google\\Site_Kit\\Core\\Expirables\\Expirables' => $baseDir . '/Core/Expirables/Expirables.php',
     
    138141    'Google\\Site_Kit\\Core\\Notifications\\Notifications' => $baseDir . '/Core/Notifications/Notifications.php',
    139142    'Google\\Site_Kit\\Core\\Permissions\\Permissions' => $baseDir . '/Core/Permissions/Permissions.php',
    140     'Google\\Site_Kit\\Core\\Proactive_User_Engagement\\Proactive_User_Engagement' => $baseDir . '/Core/Proactive_User_Engagement/Proactive_User_Engagement.php',
    141     'Google\\Site_Kit\\Core\\Proactive_User_Engagement\\Proactive_User_Engagement_Settings' => $baseDir . '/Core/Proactive_User_Engagement/Proactive_User_Engagement_Settings.php',
    142     'Google\\Site_Kit\\Core\\Proactive_User_Engagement\\REST_Proactive_User_Engagement_Controller' => $baseDir . '/Core/Proactive_User_Engagement/REST_Proactive_User_Engagement_Controller.php',
    143143    'Google\\Site_Kit\\Core\\Prompts\\Dismissed_Prompts' => $baseDir . '/Core/Prompts/Dismissed_Prompts.php',
    144144    'Google\\Site_Kit\\Core\\Prompts\\Prompts' => $baseDir . '/Core/Prompts/Prompts.php',
     
    184184    'Google\\Site_Kit\\Core\\Storage\\User_Transients' => $baseDir . '/Core/Storage/User_Transients.php',
    185185    'Google\\Site_Kit\\Core\\Tags\\Blockable_Tag_Interface' => $baseDir . '/Core/Tags/Blockable_Tag_Interface.php',
     186    'Google\\Site_Kit\\Core\\Tags\\Enhanced_Conversions\\Enhanced_Conversions' => $baseDir . '/Core/Tags/Enhanced_Conversions/Enhanced_Conversions.php',
    186187    'Google\\Site_Kit\\Core\\Tags\\GTag' => $baseDir . '/Core/Tags/GTag.php',
    187188    'Google\\Site_Kit\\Core\\Tags\\Google_Tag_Gateway\\Google_Tag_Gateway' => $baseDir . '/Core/Tags/Google_Tag_Gateway/Google_Tag_Gateway.php',
     
    208209    'Google\\Site_Kit\\Core\\User\\Conversion_Reporting' => $baseDir . '/Core/User/Conversion_Reporting.php',
    209210    'Google\\Site_Kit\\Core\\User\\Conversion_Reporting_Settings' => $baseDir . '/Core/User/Conversion_Reporting_Settings.php',
     211    'Google\\Site_Kit\\Core\\User\\Email_Reporting' => $baseDir . '/Core/User/Email_Reporting.php',
     212    'Google\\Site_Kit\\Core\\User\\Email_Reporting_Settings' => $baseDir . '/Core/User/Email_Reporting_Settings.php',
    210213    'Google\\Site_Kit\\Core\\User\\Initial_Setup' => $baseDir . '/Core/User/Initial_Setup.php',
    211214    'Google\\Site_Kit\\Core\\User\\Initial_Setup_Settings' => $baseDir . '/Core/User/Initial_Setup_Settings.php',
    212     'Google\\Site_Kit\\Core\\User\\Proactive_User_Engagement' => $baseDir . '/Core/User/Proactive_User_Engagement.php',
    213     'Google\\Site_Kit\\Core\\User\\Proactive_User_Engagement_Settings' => $baseDir . '/Core/User/Proactive_User_Engagement_Settings.php',
    214215    'Google\\Site_Kit\\Core\\User\\REST_Audience_Settings_Controller' => $baseDir . '/Core/User/REST_Audience_Settings_Controller.php',
    215216    'Google\\Site_Kit\\Core\\User\\REST_Conversion_Reporting_Controller' => $baseDir . '/Core/User/REST_Conversion_Reporting_Controller.php',
     217    'Google\\Site_Kit\\Core\\User\\REST_Email_Reporting_Controller' => $baseDir . '/Core/User/REST_Email_Reporting_Controller.php',
    216218    'Google\\Site_Kit\\Core\\User\\REST_Initial_Setup_Controller' => $baseDir . '/Core/User/REST_Initial_Setup_Controller.php',
    217     'Google\\Site_Kit\\Core\\User\\REST_Proactive_User_Engagement_Controller' => $baseDir . '/Core/User/REST_Proactive_User_Engagement_Controller.php',
    218219    'Google\\Site_Kit\\Core\\User\\User' => $baseDir . '/Core/User/User.php',
    219220    'Google\\Site_Kit\\Core\\User_Input\\REST_User_Input_Controller' => $baseDir . '/Core/User_Input/REST_User_Input_Controller.php',
     
    276277    'Google\\Site_Kit\\Modules\\Ads' => $baseDir . '/Modules/Ads.php',
    277278    'Google\\Site_Kit\\Modules\\Ads\\AMP_Tag' => $baseDir . '/Modules/Ads/AMP_Tag.php',
    278     'Google\\Site_Kit\\Modules\\Ads\\Enhanced_Conversions' => $baseDir . '/Modules/Ads/Enhanced_Conversions.php',
    279279    'Google\\Site_Kit\\Modules\\Ads\\Has_Tag_Guard' => $baseDir . '/Modules/Ads/Has_Tag_Guard.php',
    280280    'Google\\Site_Kit\\Modules\\Ads\\PAX_Config' => $baseDir . '/Modules/Ads/PAX_Config.php',
  • google-site-kit/trunk/readme.txt

    r3381521 r3389193  
    55Tested up to:      6.8
    66Requires PHP:      7.4
    7 Stable tag:        1.164.0
     7Stable tag:        1.165.0
    88License:           Apache License 2.0
    99License URI:       https://www.apache.org/licenses/LICENSE-2.0
     
    110110== Changelog ==
    111111
    112 = 1.164.0 =
     112= 1.165.0 =
    113113
    114114**Added**
    115115
    116 * Add setting for using Sign in with Google for WordPress comments. See [#11472](https://github.com/google/site-kit-wp/issues/11472).
    117 * Add One-Tap to Sign in with Google setup when user registrations are open. See [#11469](https://github.com/google/site-kit-wp/issues/11469).
     116* Add support for using Sign in with Google for WordPress user comments. See [#11478](https://github.com/google/site-kit-wp/issues/11478).
     117* Add new “Enable Sign in with Google for user comments” Sign in with Google setting to Site Health. See [#11477](https://github.com/google/site-kit-wp/issues/11477).
     118* Add the "Show next to comments" toggle to the Sign in with Google setup form. See [#11476](https://github.com/google/site-kit-wp/issues/11476).
     119* Add developer documentation to the Sign in with Google action. See [#11446](https://github.com/google/site-kit-wp/issues/11446).
    118120
    119121**Enhanced**
    120122
    121 * Add client side compatibility checks for Sign in with Google. See [#11505](https://github.com/google/site-kit-wp/issues/11505).
    122 * Add ability to load Sign in with Google compatibility checks from Site Kit. See [#11463](https://github.com/google/site-kit-wp/issues/11463).
    123 * Add support for detecting plugins/hosting environments incompatible with Sign in with Google. See [#11458](https://github.com/google/site-kit-wp/issues/11458).
    124 * Add third-party support for the Sign in with Google button via a WordPress Action: `do_action( 'googlesitekit_render_sign_in_with_google_button' )`. See [#11455](https://github.com/google/site-kit-wp/issues/11455).
    125 * Add the email reporting settings selection panel. See [#11424](https://github.com/google/site-kit-wp/issues/11424).
    126 * Add API and data store infrastructure to preserve initial settings accompanying the new setup flow. See [#11387](https://github.com/google/site-kit-wp/issues/11387).
    127 * Add Analytics setup success toast notice in the Key Metrics setup screen. See [#11384](https://github.com/google/site-kit-wp/issues/11384).
    128 * Display the progress indicator on the Analytics setup screen when it's navigated to in the new setup flow. See [#11379](https://github.com/google/site-kit-wp/issues/11379).
    129 * Add the progress indicator to the new version of the splash screen. See [#11378](https://github.com/google/site-kit-wp/issues/11378).
    130 * Add a `ProgressIndicator` component to display progressions in user flows. See [#11377](https://github.com/google/site-kit-wp/issues/11377).
    131 * Redirect users to the Key Metrics setup screen after successfully connecting Analytics when the `setupFlowRefresh` feature flag is enabled. See [#11375](https://github.com/google/site-kit-wp/issues/11375).
    132 * Add Key Metrics setup screen with site purpose questionnaire and dashboard redirection functionality. See [#11374](https://github.com/google/site-kit-wp/issues/11374).
    133 * Implement the foundation for the forthcoming splash screen update. See [#11333](https://github.com/google/site-kit-wp/issues/11333).
    134 * Add a selector to allow users to customize frequency of reports when Proactive User Engagement is enabled. See [#11155](https://github.com/google/site-kit-wp/issues/11155).
    135 * Add the email reporting overlay notification. See [#11147](https://github.com/google/site-kit-wp/issues/11147).
    136 * Add Enhanced Conversions support for Mailchimp for WordPress by capturing and sending user data. See [#11127](https://github.com/google/site-kit-wp/issues/11127).
    137 * Add Enhanced Conversions support for OptinMonster by capturing and sending user data. See [#11126](https://github.com/google/site-kit-wp/issues/11126).
    138 * Add Enhanced Conversions support for Easy Digital Downloads by capturing and sending user data. See [#11011](https://github.com/google/site-kit-wp/issues/11011).
    139 * Add "Learn more" link to Visitor Groups notification banner. See [#10964](https://github.com/google/site-kit-wp/issues/10964).
    140 * Include Reader Revenue Manager in the list of services identified by the unsatisfied scopes alert. See [#10797](https://github.com/google/site-kit-wp/issues/10797).
    141 * Don't show the "How to Improve" tab in the Pagespeed Insights widget when no recommendations are available. See [#7612](https://github.com/google/site-kit-wp/issues/7612).
    142 * Standardize font sizes for Key Metric Widget subheadings. See [#6107](https://github.com/google/site-kit-wp/issues/6107).
     123* Implement GA4 tracking events for Enhanced Conversions notifications. See [#11644](https://github.com/google/site-kit-wp/issues/11644).
     124* Decouple Enhanced Conversions from the Ads module; send user data when any gtag-using service is connected (Ads, Analytics, or Tag Manager). See [#11600](https://github.com/google/site-kit-wp/issues/11600).
     125* Add feature metrics tracking for SiwG and Enhanced Conversions. See [#11572](https://github.com/google/site-kit-wp/issues/11572).
     126* Synchronise audiences and custom dimensions on the Key Metrics setup screen. See [#11386](https://github.com/google/site-kit-wp/issues/11386).
     127* Automatically set up Audience Segmentation when landing on the dashboard in the new Analytics setup flow. See [#11385](https://github.com/google/site-kit-wp/issues/11385).
     128* Add redirection to Key Metrics setup after successful Analytics account creation as part of the new setup flow. See [#11381](https://github.com/google/site-kit-wp/issues/11381).
     129* Display the progress indicator on the Key Metrics setup screen when it's navigated to in the new setup flow. See [#11380](https://github.com/google/site-kit-wp/issues/11380).
     130* Add "Exit setup" button to the splash screen header when `setupFlowRefresh` feature flag is enabled. See [#11337](https://github.com/google/site-kit-wp/issues/11337).
     131* Add info tooltip below the Sign in with Google CTA on the splash screen to explain why Google account connection is required. See [#11335](https://github.com/google/site-kit-wp/issues/11335).
     132* Add a "Recommended" badge below the Analytics checkbox on the new splash screen. See [#11334](https://github.com/google/site-kit-wp/issues/11334).
     133* Create setup email reports notice component. See [#11144](https://github.com/google/site-kit-wp/issues/11144).
     134* Add PUE settings section to the Admin settings screen. See [#11141](https://github.com/google/site-kit-wp/issues/11141).
     135* Add Enhanced Conversions notification components for Ads and Analytics modules. See [#11018](https://github.com/google/site-kit-wp/issues/11018).
     136* Fix bug that caused Sign in with Google button not to redirect the user to the page they signed in from. See [#10487](https://github.com/google/site-kit-wp/issues/10487).
     137* Set a max-width on the Sign in with Google button. See [#10476](https://github.com/google/site-kit-wp/issues/10476).
     138* Add support for block styling and custom HTML classes for the Sign in with Google block. See [#10475](https://github.com/google/site-kit-wp/issues/10475).
     139* Add support for Sign in with Google button using a shortcode (`site_kit_sign_in_with_google`). See [#10150](https://github.com/google/site-kit-wp/issues/10150).
     140
     141**Changed**
     142
     143* Display warning when incompatible plugin/other issues are detected after Sign in with Google is set up. See [#11457](https://github.com/google/site-kit-wp/issues/11457).
    143144
    144145**Fixed**
    145146
    146 * Fix Reader Revenue Manager setup screen displaying empty content when API errors occur. See [#11581](https://github.com/google/site-kit-wp/issues/11581).
    147 * Add "pinned notifications" to the notifications API, and use it to ensure the Audience Segmentation and Enhanced Measurement setup banners continue to be shown when returning from OAuth. See [#10890](https://github.com/google/site-kit-wp/issues/10890).
     147* Prevent empty fields being sent in user data for Enhanced Conversion events. See [#11626](https://github.com/google/site-kit-wp/issues/11626).
     148* Fix bug that could cause Sign in with Google client ID not to be persisted. See [#11611](https://github.com/google/site-kit-wp/issues/11611).
     149* Fix inconsistent plugin conversion tracking label in the Ads settings view. See [#11588](https://github.com/google/site-kit-wp/issues/11588).
     150* Fix phone number classification in Enhanced Conversions to disregard false positives. See [#11484](https://github.com/google/site-kit-wp/issues/11484).
     151* Fix visual bug in visitor group slide-over panel. See [#10991](https://github.com/google/site-kit-wp/issues/10991).
    148152
    149153[See changelog for all versions](https://raw.githubusercontent.com/google/site-kit-wp/main/changelog.txt).
Note: See TracChangeset for help on using the changeset viewer.