<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[11116] sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns: Pattern Directory: Sync with git WordPress/pattern-directory@274768973f555eaf35856299510e83e3e8510205</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { white-space: pre-line; overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta" style="font-size: 105%">
<dt style="float: left; width: 6em; font-weight: bold">Revision</dt> <dd><a style="font-weight: bold" href="http://meta.trac.wordpress.org/changeset/11116">11116</a><script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"Review this Commit","action":{"@type":"ViewAction","url":"http://meta.trac.wordpress.org/changeset/11116","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>ryelle</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2021-07-14 14:33:29 +0000 (Wed, 14 Jul 2021)</dd>
</dl>

<pre style='padding-left: 1em; margin: 2em 0; border-left: 2px solid #ccc; line-height: 1.25; font-size: 105%; font-family: sans-serif'>Pattern Directory: Sync with git WordPress/pattern-directory@274768973f555eaf35856299510e83e3e8510205</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgpatternsbuildindexassetphp">sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/build/index.asset.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgpatternsbuildindexjs">sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/build/index.js</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgpatternspackagejson">sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/package.json</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgpatternssrccomponentsquerymonitorindexjs">sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/src/components/query-monitor/index.js</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgpatternsbuildindexassetphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/build/index.asset.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/build/index.asset.php  2021-07-14 03:11:49 UTC (rev 11115)
+++ sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/build/index.asset.php    2021-07-14 14:33:29 UTC (rev 11116)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1 +1 @@
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-<?php return array('dependencies' => array('lodash', 'react', 'wp-a11y', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-data-controls', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-keycodes', 'wp-polyfill', 'wp-primitives', 'wp-url'), 'version' => '1ecf0e6d85d330ba84dad2e603b05fde');
</del><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php return array('dependencies' => array('lodash', 'react', 'wp-a11y', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-data-controls', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-keycodes', 'wp-polyfill', 'wp-primitives', 'wp-url'), 'version' => 'dfdc4485e4a5c19ff90c9b383712c6bb');
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgpatternsbuildindexjs"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/build/index.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/build/index.js 2021-07-14 03:11:49 UTC (rev 11115)
+++ sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/build/index.js   2021-07-14 14:33:29 UTC (rev 11116)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7560,6 +7560,104 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> /***/ }),
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+/***/ "../../../../node_modules/dequal/dist/index.mjs":
+/*!****************************************************************************************!*\
+  !*** /Users/ryelle/Projects/Work/pattern-directory/node_modules/dequal/dist/index.mjs ***!
+  \****************************************************************************************/
+/*! exports provided: dequal */
+/***/ (function(__webpack_module__, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "dequal", function() { return dequal; });
+var has = Object.prototype.hasOwnProperty;
+
+function find(iter, tar, key) {
+       for (key of iter.keys()) {
+               if (dequal(key, tar)) return key;
+       }
+}
+
+function dequal(foo, bar) {
+       var ctor, len, tmp;
+       if (foo === bar) return true;
+
+       if (foo && bar && (ctor=foo.constructor) === bar.constructor) {
+               if (ctor === Date) return foo.getTime() === bar.getTime();
+               if (ctor === RegExp) return foo.toString() === bar.toString();
+
+               if (ctor === Array) {
+                       if ((len=foo.length) === bar.length) {
+                               while (len-- && dequal(foo[len], bar[len]));
+                       }
+                       return len === -1;
+               }
+
+               if (ctor === Set) {
+                       if (foo.size !== bar.size) {
+                               return false;
+                       }
+                       for (len of foo) {
+                               tmp = len;
+                               if (tmp && typeof tmp === 'object') {
+                                       tmp = find(bar, tmp);
+                                       if (!tmp) return false;
+                               }
+                               if (!bar.has(tmp)) return false;
+                       }
+                       return true;
+               }
+
+               if (ctor === Map) {
+                       if (foo.size !== bar.size) {
+                               return false;
+                       }
+                       for (len of foo) {
+                               tmp = len[0];
+                               if (tmp && typeof tmp === 'object') {
+                                       tmp = find(bar, tmp);
+                                       if (!tmp) return false;
+                               }
+                               if (!dequal(len[1], bar.get(tmp))) {
+                                       return false;
+                               }
+                       }
+                       return true;
+               }
+
+               if (ctor === ArrayBuffer) {
+                       foo = new Uint8Array(foo);
+                       bar = new Uint8Array(bar);
+               } else if (ctor === DataView) {
+                       if ((len=foo.byteLength) === bar.byteLength) {
+                               while (len-- && foo.getInt8(len) === bar.getInt8(len));
+                       }
+                       return len === -1;
+               }
+
+               if (ArrayBuffer.isView(foo)) {
+                       if ((len=foo.byteLength) === bar.byteLength) {
+                               while (len-- && foo[len] === bar[len]);
+                       }
+                       return len === -1;
+               }
+
+               if (!ctor || typeof foo === 'object') {
+                       len = 0;
+                       for (ctor in foo) {
+                               if (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;
+                               if (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;
+                       }
+                       return Object.keys(bar).length === len;
+               }
+       }
+
+       return foo !== foo && bar !== bar;
+}
+
+
+/***/ }),
+
</ins><span class="cx" style="display: block; padding: 0 10px"> /***/ "../../../../node_modules/react-use-gesture/dist/reactusegesture.esm.js":
</span><span class="cx" style="display: block; padding: 0 10px"> /*!****************************************************************************************************************!*\
</span><span class="cx" style="display: block; padding: 0 10px">   !*** /Users/ryelle/Projects/Work/pattern-directory/node_modules/react-use-gesture/dist/reactusegesture.esm.js ***!
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -10459,6 +10557,68 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> /***/ }),
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+/***/ "../../../../node_modules/use-deep-compare-effect/dist/use-deep-compare-effect.esm.js":
+/*!******************************************************************************************************************************!*\
+  !*** /Users/ryelle/Projects/Work/pattern-directory/node_modules/use-deep-compare-effect/dist/use-deep-compare-effect.esm.js ***!
+  \******************************************************************************************************************************/
+/*! exports provided: default, useDeepCompareEffectNoCheck */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useDeepCompareEffectNoCheck", function() { return useDeepCompareEffectNoCheck; });
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var dequal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dequal */ "../../../../node_modules/dequal/dist/index.mjs");
+
+
+
+function checkDeps(deps) {
+  if (!deps || !deps.length) {
+    throw new Error('useDeepCompareEffect should not be used with no dependencies. Use React.useEffect instead.');
+  }
+
+  if (deps.every(isPrimitive)) {
+    throw new Error('useDeepCompareEffect should not be used with dependencies that are all primitive values. Use React.useEffect instead.');
+  }
+}
+
+function isPrimitive(val) {
+  return val == null || /^[sbn]/.test(typeof val);
+}
+
+function useDeepCompareMemoize(value) {
+  var ref = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])();
+  var signalRef = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(0);
+
+  if (!Object(dequal__WEBPACK_IMPORTED_MODULE_1__["dequal"])(value, ref.current)) {
+    ref.current = value;
+    signalRef.current += 1;
+  }
+
+  return [signalRef.current];
+}
+
+function useDeepCompareEffect(callback, dependencies) {
+  if (true) {
+    checkDeps(dependencies);
+  } // eslint-disable-next-line react-hooks/exhaustive-deps
+
+
+  return Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(callback, useDeepCompareMemoize(dependencies));
+}
+
+function useDeepCompareEffectNoCheck(callback, dependencies) {
+  // eslint-disable-next-line react-hooks/exhaustive-deps
+  return Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(callback, useDeepCompareMemoize(dependencies));
+}
+
+/* harmony default export */ __webpack_exports__["default"] = (useDeepCompareEffect);
+
+
+
+/***/ }),
+
</ins><span class="cx" style="display: block; padding: 0 10px"> /***/ "./node_modules/classnames/index.js":
</span><span class="cx" style="display: block; padding: 0 10px"> /*!******************************************!*\
</span><span class="cx" style="display: block; padding: 0 10px">   !*** ./node_modules/classnames/index.js ***!
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -12941,8 +13101,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> "use strict";
</span><span class="cx" style="display: block; padding: 0 10px"> __webpack_require__.r(__webpack_exports__);
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
-/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+/* harmony import */ var use_deep_compare_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! use-deep-compare-effect */ "../../../../node_modules/use-deep-compare-effect/dist/use-deep-compare-effect.esm.js");
</ins><span class="cx" style="display: block; padding: 0 10px"> /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/data */ "@wordpress/data");
</span><span class="cx" style="display: block; padding: 0 10px"> /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_1__);
</span><span class="cx" style="display: block; padding: 0 10px"> /* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/url */ "@wordpress/url");
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -12951,6 +13110,10 @@
</span><span class="cx" style="display: block; padding: 0 10px"> /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../hooks */ "./src/hooks/index.js");
</span><span class="cx" style="display: block; padding: 0 10px"> /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ "./src/utils/index.js");
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * External dependencies
+ */
+
+/**
</ins><span class="cx" style="display: block; padding: 0 10px">  * WordPress dependencies
</span><span class="cx" style="display: block; padding: 0 10px">  */
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -13022,9 +13185,10 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">   if (myPatternStatus && 'page' !== myPatternStatus) {
</span><span class="cx" style="display: block; padding: 0 10px">     query.status = myPatternStatus;
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  }
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  } // Deep compare the object dependency, since `query` is a new object on every render.
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(() => {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+  Object(use_deep_compare_effect__WEBPACK_IMPORTED_MODULE_0__["default"])(() => {
</ins><span class="cx" style="display: block; padding: 0 10px">     if (queryReady) {
</span><span class="cx" style="display: block; padding: 0 10px">       setCurrentQuery(query);
</span><span class="cx" style="display: block; padding: 0 10px">     }
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgpatternspackagejson"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/package.json</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/package.json   2021-07-14 03:11:49 UTC (rev 11115)
+++ sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/package.json     2021-07-14 14:33:29 UTC (rev 11116)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -56,7 +56,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                "postcss": "8.3.0",
</span><span class="cx" style="display: block; padding: 0 10px">                "react-use-gesture": "9.1.3",
</span><span class="cx" style="display: block; padding: 0 10px">                "rtlcss": "3.2.1",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                "sass": "1.34.1"
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         "sass": "1.34.1",
+               "use-deep-compare-effect": "1.6.1"
</ins><span class="cx" style="display: block; padding: 0 10px">         },
</span><span class="cx" style="display: block; padding: 0 10px">        "eslintConfig": {
</span><span class="cx" style="display: block; padding: 0 10px">                "extends": "../../../../.eslintrc.js",
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgpatternssrccomponentsquerymonitorindexjs"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/src/components/query-monitor/index.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/src/components/query-monitor/index.js  2021-07-14 03:11:49 UTC (rev 11115)
+++ sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/src/components/query-monitor/index.js    2021-07-14 14:33:29 UTC (rev 11116)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1,7 +1,11 @@
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * External dependencies
+ */
+import useDeepCompareEffect from 'use-deep-compare-effect';
+
+/**
</ins><span class="cx" style="display: block; padding: 0 10px">  * WordPress dependencies
</span><span class="cx" style="display: block; padding: 0 10px">  */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-import { useEffect } from '@wordpress/element';
</del><span class="cx" style="display: block; padding: 0 10px"> import { useDispatch, useSelect } from '@wordpress/data';
</span><span class="cx" style="display: block; padding: 0 10px"> import { getQueryArgs } from '@wordpress/url';
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -39,6 +43,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                },
</span><span class="cx" style="display: block; padding: 0 10px">                [ categorySlug ]
</span><span class="cx" style="display: block; padding: 0 10px">        );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">         if ( categoryId ) {
</span><span class="cx" style="display: block; padding: 0 10px">                query[ 'pattern-categories' ] = categoryId;
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -63,7 +68,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                query.status = myPatternStatus;
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        useEffect( () => {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ // Deep compare the object dependency, since `query` is a new object on every render.
+       useDeepCompareEffect( () => {
</ins><span class="cx" style="display: block; padding: 0 10px">                 if ( queryReady ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        setCurrentQuery( query );
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span></span></pre>
</div>
</div>

</body>
</html>