<!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>[11512] sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns: Pattern Directory: Sync with git WordPress/pattern-directory@bee5deaa150f8a8af032f0ec68ea67f1d06ed3eb</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/11512">11512</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/11512","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>2022-02-03 19:18:26 +0000 (Thu, 03 Feb 2022)</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@bee5deaa150f8a8af032f0ec68ea67f1d06ed3eb</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_htmlwpcontentthemespubwporgpatternssrccomponentsmanageoptionsindexjs">sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/src/components/manage-options/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  2022-02-03 08:34:14 UTC (rev 11511)
+++ sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/build/index.asset.php    2022-02-03 19:18:26 UTC (rev 11512)
</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-dom', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-keycodes', 'wp-primitives', 'wp-url'), 'version' => 'bafe4ac98134f8440c06017bb61b2533');
</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-dom', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-keycodes', 'wp-primitives', 'wp-url'), 'version' => '24c169ea4e7d85c36375a1d017c5eccd');
</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 2022-02-03 08:34:14 UTC (rev 11511)
+++ sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/build/index.js   2022-02-03 19:18:26 UTC (rev 11512)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1,7 +1,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> !function(){var e={472:function(e,t){var n;!function(){"use strict";var r={}.hasOwnProperty;function a(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var o=typeof n;if("string"===o||"number"===o)e.push(n);else if(Array.isArray(n)){if(n.length){var i=a.apply(null,n);i&&e.push(i)}}else if("object"===o)if(n.toString===Object.prototype.toString)for(var s in n)r.call(n,s)&&n[s]&&e.push(s);else e.push(n.toString())}}return e.join(" ")}e.exports?(a.default=a,e.exports=a):void 0===(n=function(){return a}.apply(t,[]))||(e.exports=n)}()}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,n),o.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r
 )&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){"use strict";var e={};n.r(e),n.d(e,{addFavorite:function(){return F},fetchCategories:function(){return I},fetchPatternFlagReasons:function(){return L},fetchPatterns:function(){return T},loadCategories:function(){return O},loadFavorites:function(){return D},loadPattern:function(){return k},loadPatternFlagReasons:function(){return R},loadPatterns:function(){return C},removeFavorite:function(){return M},setCurrentQuery:function(){return A},setErrorPatterns:function(){return x}});var t={};n.r(t),n.d(t,{getCategories:function(){return V},getFavorites:function(){return z},getPattern:function(){return K},getPatternFlagReas
 ons:function(){return G},getPatternsByQuery:function(){return U}});var r={};n.r(r),n.d(r,{getCategories:function(){return re},getCategoryById:function(){return oe},getCategoryBySlug:function(){return ae},getCurrentQuery:function(){return ee},getFavorites:function(){return le},getPattern:function(){return Z},getPatternFlagReasons:function(){return ie},getPatternTotalPagesByQuery:function(){return J},getPatternTotalsByQuery:function(){return X},getPatterns:function(){return W},getPatternsByQuery:function(){return Y},getQueryFromUrl:function(){return ue},getUrlFromQuery:function(){return pe},hasLoadedCategories:function(){return ne},isFavorite:function(){return ce},isLoadingCategories:function(){return te},isLoadingPatternFlagReasons:function(){return se},isLoadingPatternsByQuery:function(){return H}});var a=window.wp.element,o=window.wp.i18n,i=window.wp.htmlEntities,s=window.wp.data,l=e=>{let{name:t,url:n,avatar:r}=e;return(0,a.createElement)("a",{href:n,className:"p
 attern__author-avatar"},(0,a.createElement)("img",{alt:"",src:r}),t)};const c=e=>{let{className:t="",style:n,children:r}=e;return(0,a.createElement)("span",{className:`${t} pattern-skeleton__container`,style:n},r)},u=e=>(0,a.createElement)("span",{className:"pattern-skeleton",style:e});function p(){return p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},p.apply(this,arguments)}var d=window.wp.primitives;function g(e){return(0,a.createElement)(d.SVG,p({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},e),(0,a.createElement)(d.Path,{d:"M11.941 21.175l-1.443-1.32c-5.124-4.67-8.508-7.75-8.508-11.53 0-3.08 2.408-5.5 5.473-5.5 1.732 0 3.394.81 4.478 2.09 1.085-1.28 2.747-2.09 4.478-2.09 3.065 0 5.473 2.42 5.473 5.5 0 3.78-
 3.383 6.86-8.508 11.54l-1.443 1.31z"}))}function m(e){return.6666666666666666*e}const f=()=>{const[e,t]=(0,a.useState)(),n=(0,a.useRef)();return(0,a.useEffect)((()=>{n.current&&t(`${m(n.current.clientWidth)}px`)}),[n]),(0,a.createElement)("div",{ref:n},(0,a.createElement)(c,null,(0,a.createElement)(u,{height:e}),(0,a.createElement)(u,{height:"14px",marginTop:"1rem"}),(0,a.createElement)(c,{style:{flexDirection:"row",marginTop:"0.5rem",alignItems:"center"}},(0,a.createElement)(u,{height:"18px",width:"18px",marginRight:"0.5rem",borderRadius:"32px"}),(0,a.createElement)(u,{height:"12px",width:"100px",marginRight:"0.75rem"}),(0,a.createElement)(g,{width:"16px",height:"16px",fill:"#787c82",className:"pattern-favorite-button__filled"}),(0,a.createElement)(u,{height:"12px",width:"32px&quot
 ;,marginLeft:"0.5rem"}))))};var h=e=>{let{length:t=6}=e;return Array(t).fill().map(((e,t)=>(0,a.createElement)(f,{key:t})))},v=window.wp.url;const _=e=>e.split("?")[0],y=(e,t)=>{if(!t||!e)return"";const n=(0,v.getQueryArgs)(e);if(n[t])return n[t];const r=(o=_(e).replace(/\/$/,""),o.replace(/^\//,"")).split("/"),a=r.indexOf(t);var o;return-1===a?"":r[a+1]||""},w=e=>Number(y(e,"page")||1),E=(0,a.createContext)();function b(e){let{children:t}=e;const[n,r]=(0,a.useState)((0,v.getPathAndQueryString)(window.location.href)),o=e=>{window.history.pushState("","",e),r(e)},i=()=>{r(document.location.href)};return(0,a.useEffect)((()=>(window.addEventListener("popstate",i),()=>{window.removeEventListener("popstate",i)})),[]),(0,a.createElement)(E.Provider,{value:{path:n,update:e=>{const t=(e=>(e=>{const t={};return Object.keys(e).fo
 rEach((n=>{const r=e[n];null!=r&&r.toString().length>0&&(t[n]=r)})),t})({...(0,v.getQueryArgs)(n),...(0,v.getQueryArgs)(e)}))(e),r=_(e),a=(0,v.addQueryArgs)(r,t);o(a)},replace:o}},t)}function S(){const e=(0,a.useContext)(E);if(void 0===e)throw new Error("useRoute must be used within a Provider");return e}function P(e){let{currentPage:t=1,onNavigation:n,totalPages:r}=e;const{path:i,update:s}=S();if(!r||r<=1)return null;const l=t>1,c=t<r,u=(0,v.getQueryString)(i)?"?"+(0,v.getQueryString)(i):"",p=i.replace(u,"").replace(/page\/\d+\/?/,""),d=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;const n=Array.from({length:e},((e,t)=>t+1)),r=[];return e<=5?n:(r.push(...n.slice(0,2)),t>=2&&t<=e-1&&r.push(...n.slice(t-2,t+1)),r.push(...n.slice(-2)),r.filter(((e,t,n)=>n.indexOf(e)===t)).reduce(((e,t,n,r)=>{if(0===n)return e.push(t),e;const a=Math.
 abs(r[n]-r[n-1]);return 0===a||(a>1&&e.push("…"),e.push(t)),e}),[]))}(r,t),g=`${p}page/%s/${u}`,m=e=>1===e?`${p}${u}`:(0,o.sprintf)(g,e),f=(e,t)=>{e.preventDefault(),s(m(t)),"function"==typeof n&&n()};return(0,a.createElement)("nav",{className:"pagination","aria-label":(0,o.__)("Pagination","wporg-patterns")},(0,a.createElement)("ul",{className:"pagination__list"},(0,a.createElement)("li",{className:"pagination__item pagination__item-previous-page"},l&&(0,a.createElement)("a",{className:"pagination__link",href:m(t-1),onClick:e=>f(e,t-1)},(0,a.createElement)("span",{className:"screen-reader-text"},(0,o.__)("Previous page","wporg-patterns")),(0,a.createElement)("span",{"aria-hidden":!0},(0,o._x)("Previous","previous page link label","wp
 org-patterns")))),d.map(((e,n)=>"…"===e?(0,a.createElement)("li",{className:"pagination__item",key:`${n}-${e}`},e):(0,a.createElement)("li",{className:"pagination__item",key:e},(0,a.createElement)("a",{className:"pagination__link",href:m(e),"aria-current":e===t?"page":void 0,onClick:t=>f(t,e)},(0,a.createElement)("span",{className:"screen-reader-text"},(0,o.sprintf)(// translators: %s is the page number.
</span><span class="cx" style="display: block; padding: 0 10px"> (0,o.__)("Page %s","wporg-patterns"),e)),(0,a.createElement)("span",{"aria-hidden":!0},e))))),(0,a.createElement)("li",{className:"pagination__item pagination__item-next-page"},c&&(0,a.createElement)("a",{className:"pagination__link",href:m(t+1),onClick:e=>f(e,t+1)},(0,a.createElement)("span",{className:"screen-reader-text"},(0,o.__)("Next page","wporg-patterns")),(0,a.createElement)("span",{"aria-hidden":!0},(0,o._x)("Next","next page link label","wporg-patterns"))))))}var N=window.wp.dataControls;function T(e){return{type:"FETCH_BLOCK_PATTERNS",query:e}}function k(e,t){return{type:"LOAD_BLOCK_PATTERN",postId:e,pattern:t}}function C(e,t){let{page:n,patterns:r,total:a,totalPages:o}=t;return{type:"LOAD_BLOCK_PATTERNS&q
 uot;,query:e,page:n,patterns:r,total:a,totalPages:o}}function x(e,t){let{page:n,error:r}=t;return{type:"ERROR_BLOCK_PATTERNS",query:e,page:n,error:r}}function A(e){return{type:"SET_CURRENT_QUERY",query:e}}function I(){return{type:"FETCH_CATEGORIES"}}function O(e){return{type:"LOAD_CATEGORIES",categories:e}}function L(){return{type:"FETCH_PATTERN_FLAG_REASONS"}}function R(e){return{type:"LOAD_PATTERN_FLAG_REASONS",reasons:e}}function D(e){return{type:"LOAD_FAVORITES",patternIds:e}}function*F(e){const t=yield(0,N.apiFetch)({path:"/wporg/v1/pattern-favorites",method:"POST",data:{id:e}});if("number"==typeof t)return{type:"ADD_FAVORITE",patternId:e,count:t}}function*M(e){const t=yield(0,N.apiFetch)({path:"/wporg/v1/pattern-favorites",method:"DELETE",data:{id:e}});if("number"==typeof t)return{type:"REMOVE_FAVORITE",patternId:e,count:t}}funct
 ion B(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=Object.keys(e).sort();let n="";for(let r=0;r<t.length;r++){const a=t[r];let o=e[a];switch(Array.isArray(o)&&(o=e[a].join()),a){case"page":case"per_page":case"_fields":break;default:n+=(n?"&":"")+(0,v.addQueryArgs)("",{[a]:o}).slice(1)}}return n}function $(){return{id:-1,slug:"",name:(0,o.__)("All","wporg-patterns"),link:wporgPatternsUrl.site}}function Q(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"LOAD_BLOCK_PATTERNS":{const n=(t.patterns||[]).reduce(((e,t)=>({...e,[t.id]:t})),{});return{...e,...n}}case"LOAD_BLOCK_PATTERN":return{...e,[t.postId]:t.pattern};case"ADD_FAVORITE":case"REMOVE_FAVORITE":{const n={...e[t.patternId],favorite_count:t.cou
 nt};return{...e,[t.patternId]:n}}default:return e}}function j(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;const n=(t.patterns||[]).map((e=>{let{id:t}=e;return t})),{page:r,total:a,totalPages:o}=t;switch(t.type){case"LOAD_BLOCK_PATTERNS":{const i={...e[t.query]||{},total:a,totalPages:o};return i[r]=n,{...e,[t.query]:i}}case"ERROR_BLOCK_PATTERNS":{const n=e[t.query]||{};return n[r]=[],{...e,[t.query]:n}}default:return e}}var q=(0,s.combineReducers)({patterns:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return{byId:Q(e.byId,t),queries:j(e.queries,t)}},categories:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"FETCH_CATEGORIES":return null;case"LOAD_CATEGORIES":const e=(t.categorie
 s||[]).sort(((e,t)=>e.name.localeCompare(t.name)));return[$(),...e]}return e},currentQuery:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,t=arguments.length>1?arguments[1]:void 0;return"SET_CURRENT_QUERY"===t.type?t.query:e},patternFlagReasons:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"FETCH_PATTERN_FLAG_REASONS":return null;case"LOAD_PATTERN_FLAG_REASONS":return[...t.reasons];default:return e}},favorites:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1?arguments[1]:void 0;const{patternId:n}=t;switch(t.type){case"LOAD_FAVORITES":return t.patternIds;case"ADD_FAVORITE":return e.includes(n)?e:[...e,n];case"REMOVE_FAVORITE":return e.filter((e=>e!==n))}return e}});function*U(e){const t=B(e);try{yield T(t);c
 onst n=yield(0,N.apiFetch)({path:(0,v.addQueryArgs)("/wp/v2/wporg-pattern",{...e,locale:JSON.parse(wporgLocale)}),parse:!1}),{total:r,totalPages:a,results:o}=yield(0,N.__unstableAwaitPromise)(async function(e){try{var t,n;return{total:Number((null===(t=e.headers)||void 0===t?void 0:t.get("X-WP-Total"))||0),totalPages:Number((null===(n=e.headers)||void 0===n?void 0:n.get("X-WP-TotalPages"))||0),results:await e.json()}}catch(e){return{}}}(n));yield C(t,{page:e.page||1,patterns:o,total:r,totalPages:a})}catch(n){const r=yield(0,N.__unstableAwaitPromise)(async function(e){try{return await e.json()}catch(e){return{}}}(n));yield x(t,{page:e.page||1,error:r})}}function*K(e){try{const t=yield(0,N.apiFetch)({path:(0,v.addQueryArgs)(`/wp/v2/wporg-pattern/${e}`)});yield k(e,t)}catch(e){}}function*V(){try{yield{type:"FETCH_CATEGORIES"};const e=yield(0,N.apiFetch)({path:(0,v.addQueryArgs)("/wp/v2/pattern-categories")});yield O(e)}catch(e){}}functi
 on*G(){try{yield{type:"FETCH_PATTERN_FLAG_REASONS"};const e=yield(0,N.apiFetch)({path:(0,v.addQueryArgs)("/wp/v2/wporg-pattern-flag-reason")});yield R(e)}catch(e){}}function*z(){try{const e=yield(0,N.apiFetch)({path:"/wporg/v1/pattern-favorites"});yield D(e)}catch(e){}}function H(e,t){var n,r;const a=B(t),o=(null==t?void 0:t.page)||1;return!Array.isArray(null===(n=e.patterns.queries)||void 0===n||null===(r=n[a])||void 0===r?void 0:r[o])}function W(e){return Object.values(e.patterns.byId)}function Y(e,t){var n,r;const a=B(t),o=(null==t?void 0:t.page)||1;return((null===(n=e.patterns.queries)||void 0===n||null===(r=n[a])||void 0===r?void 0:r[o])||[]).map((t=>e.patterns.byId[t]))}function X(e,t){var n,r;const a=B(t);return(null===(n=e.patterns.queries)||void 0===n||null===(r=n[a])||void 0===r?void 0:r.total)||0}function J(e,t){var n,r;const a=B(t);return(null===(n=e.patterns.queries)||void 0===n||null===(r=n[a])||void 0===r?void 0:r.totalPages)||0}functi
 on Z(e,t){return e.patterns.byId[t]||null}function ee(e){return e.currentQuery}function te(e){return null===e.categories}function ne(e){return Array.isArray(e.categories)}function re(e){return e.categories}function ae(e,t){if(!ne(e))return;const[n]=e.categories.filter((e=>e.slug===t));return n}function oe(e,t){if(ne(e))return e.categories.find((e=>{let{id:n}=e;return t===n}))}function ie(e){return e.patternFlagReasons}function se(e){return null===e.patternFlagReasons}function le(e){return e.favorites}function ce(e,t){var n;return null===(n=e.favorites)||void 0===n?void 0:n.includes(t)}function ue(e,t){const n=["categories","author","page","search"],r=(0,v.getQueryArgs)(t),a=y(t,"categories");if(a&&-1===n.indexOf(a)){const t=ae(e,a);null!=t&&t.id&&(r["pattern-categories"]=t.id)}const o=y(t,"author");o&&-1===n.indexOf(o)&&(r.author_name=o);const i=w(t);"number"
 ==typeof i&&i>1&&(r.page=i);const s=decodeURI(y(t,"search"));s.length>0&&-1===n.indexOf(s)&&(r.search=s);const l=y(t,"my-patterns");return l&&"page"!==l&&(r.status=l),r}function pe(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:wporgPatternsUrl.site;if(n=n.replace(/\/$/,""),t.author_name&&(n+=`/author/${t.author_name}`,delete t.author_name),t["pattern-categories"]){const r=t["pattern-categories"],a=re(e).find((e=>{let{id:t}=e;return r===t}));null!=a&&a.slug&&(n+=`/categories/${a.slug}`),delete t["pattern-categories"]}return t.page&&(n+=`/page/${t.page}`,delete t.page),Object.keys(t).length?(n+="/?"+(0,v.buildQueryString)(t),n):n+"/"}const de=(0,s.createReduxStore)("wporg/pattern-directory",{reducer:q
 ,selectors:r,actions:e,controls:N.controls,resolvers:t});(0,s.register)(de);var ge=function(e){let{header:t,children:n,onNavigation:r,query:o,showPagination:i=!0}=e;const{isLoading:l,posts:c,totalPages:u}=(0,s.useSelect)((e=>{const{getPatternTotalPagesByQuery:t,getPatternsByQuery:n,isLoadingPatternsByQuery:r}=e(de);return{isLoading:o&&r(o),posts:o?n(o):[],totalPages:o?t(o):0}}));return(0,a.createElement)(a.Fragment,null,c.length?t:null,(0,a.createElement)("div",{className:"pattern-grid"},l?(0,a.createElement)(h,{length:null==o?void 0:o.per_page}):c.map(n)),i&&(0,a.createElement)(P,{totalPages:u,currentPage:null==o?void 0:o.page,onNavigation:r}))},me=window.wp.compose,fe=window.wp.components;function he(e){e.dir=document.dir,e.body.className="pattern-wrapper";for(const t of document.body.classList)t.startsWith("admin-color-")&&e.body.classList.add(t)}var ve=(0,a.forwardRef)((function(e,t){let{contentRef:n,children:r,h
 ead:i,headHTML:s,bodyStyle:l="",themeSlug:c="twentytwentyone",...u}=e;const[d,g]=(0,a.useState)();s+=`<link rel="stylesheet" href="https://wp-themes.com/wp-content/themes/${c}/style.css" media="all" />`,s+=`<style>\n    body {\n        display: flex;\n        min-height: 100vh;\n        align-items: center;\n        justify-content: center;\n        background-color: white;\n    }\n    .pattern-wrapper {\n        padding: 0;\n        ${l}\n    }\n    body > div {\n        width: 100%;\n        max-height: 100%;\n        pointer-events: none;\n    }\n    </style>`;const m=(0,a.useCallback)((e=>{function t(){const{contentDocument:t}=e,{readyState:r,body:a}=t;return("interactive"===r||"complete"===r)&&("function"==typeof n?n(a):n&&(n.current=a),function(e,t){e.head.innerHTML="<style>body{margin:0}</style>"+t}(t,s),he(t),function(e){const{defaultV
 iew:t}=e,{frameElement:n}=t;function r(e){const r=Object.getPrototypeOf(e).constructor.name,a=window[r],o={};for(const t in e)o[t]=e[t];if(e instanceof t.MouseEvent){const e=n.getBoundingClientRect();o.clientX+=e.left,o.clientY+=e.top}const i=new a(e.type,o);!n.dispatchEvent(i)&&e.preventDefault()}const a=["keydown","keypress","dragover"];for(const t of a)e.addEventListener(t,r)}(t),he(t),g(t),!0)}e&&(t()||e.addEventListener("load",(()=>{t()})))}),[]);return(0,a.createElement)("iframe",p({title:(0,o.__)("Pattern Preview","wporg-patterns"),tabIndex:"-1"},u,{ref:(0,me.useMergeRefs)([t,m])}),d&&(0,a.createPortal)(r,d.body),d&&(0,a.createPortal)(i,d.head))})),_e=function(e){let{html:t}=e;return(0,a.createElement)("div",null,(0,a.createElement)(ve,{className:"pattern-preview__viewport-iframe",style:{width:"100%",height:"50vh",minHeight
 :"600px",overflowY:"auto"},headHTML:window.__editorStyles.html},(0,a.createElement)("div",{dangerouslySetInnerHTML:{__html:t}})))},ye=window.React,we=n.n(ye);function Ee(e,t){return e.map((function(e,n){return e+t[n]}))}function be(e,t){return e.map((function(e,n){return e-t[n]}))}function Se(e){return Math.hypot.apply(Math,e)}function Pe(e){return Math.sign?Math.sign(e):Number(e>0)-Number(e<0)||+e}function Ne(e,t,n){return 0===t||Math.abs(t)===1/0?function(e,t){return Math.pow(e,5*t)}(e,n):e*t*n/(t+n*e)}function Te(e,t,n,r){return void 0===r&&(r=.15),0===r?function(e,t,n){return Math.max(t,Math.min(e,n))}(e,t,n):e<t?-Ne(t-e,n-t,r)+t:e>n?+Ne(e-n,n-t,r)+n:e}function ke(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ce(){return Ce=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var 
 n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ce.apply(this,arguments)}function xe(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function Ae(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ie(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Oe(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Ie(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ie(e,t):void 0}}(e))||t&&e&&"number"==type
 of e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function Le(){}function Re(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return 0===t.length?Le:1===t.length?t[0]:function(){for(var e,n,r=Oe(t);!(n=r()).done;){var a=n.value;e=a.apply(this,arguments)||e}return e}}function De(e,t){if(void 0===e){if(void 0===t)throw new Error("Must define fallback value if undefined is expected");e=t}return Array.isArray(e)?e:[e,e]}function Fe(e){if("function"==typeof e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return e.apply(void 0,n)}return e}function Me(e,t){void 0===e&&(e={});for(var n={},r=0,a=Object.entries(t);r<a.length
 ;r++){var o=a[r],i=o[0],s=o[1];switch(typeof s){case"function":n[i]=s.call(n,e[i],i,e);break;case"object":n[i]=Me(e[i],s);break;case"boolean":s&&(n[i]=e[i])}}return n}function Be(){return"undefined"!=typeof window&&"ontouchstart"in window}function $e(e){return"pointerId"in e?null:"touchend"===e.type?e.changedTouches:e.targetTouches}function Qe(e){return Array.from($e(e)).map((function(e){return e.identifier}))}function je(e){return{buttons:"buttons"in e?e.buttons:0,shiftKey:e.shiftKey,altKey:e.altKey,metaKey:e.metaKey,ctrlKey:e.ctrlKey}}var qe=function(e){return e};function Ue(e,t){void 0===t&&(t=qe);var n=$e(e),r=n?n[0]:e;return t([r.clientX,r.clientY])}var Ke=Ce({},{threshold:function(e){return void 0===e&&(e=0),De(e)},rubberband:function(e){switch(void 0===e&&(e=0),e){case!0:return De(.15);case!1:return De(0);default:return De(e)}},enabled:function(e){return voi
 d 0===e&&(e=!0),e},triggerAllEvents:function(e){return void 0===e&&(e=!1),e},initial:function(e){return void 0===e&&(e=0),"function"==typeof e?e:De(e)},transform:!0},{axis:!0,lockDirection:function(e){return void 0===e&&(e=!1),e},bounds:function(e){if(void 0===e&&(e={}),"function"==typeof e)return function(t){return Ke.bounds(e(t))};var t=e,n=t.left,r=void 0===n?-1/0:n,a=t.right,o=void 0===a?1/0:a,i=t.top,s=void 0===i?-1/0:i,l=t.bottom;return[[r,o],[s,void 0===l?1/0:l]]}}),Ve="undefined"!=typeof window&&window.document&&window.document.createElement,Ge={enabled:function(e){return void 0===e&&(e=!0),e},domTarget:!0,window:function(e){function t(_x){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){return void 0===e&&(e=Ve?window:void 0),e})),eventOptions:function(e){var t=void 0===e?{}:e,n=t.passive,r=void 0===n||n,a=t.capture;return{pas
 sive:r,capture:void 0!==a&&a}},transform:!0},ze=Ce({},Ke,{useTouch:function(e){void 0===e&&(e=!1);var t=Be(),n="undefined"!=typeof window&&"onpointerdown"in window;return!(!e||!t)||!(!t||n)},experimental_preventWindowScrollY:function(e){return void 0===e&&(e=!1),e},threshold:function(e,t,n){var r=n.filterTaps,a=void 0!==r&&r,o=n.lockDirection,i=void 0!==o&&o,s=n.axis,l=De(e,a?3:i||(void 0===s?void 0:s)?1:0);return this.filterTaps=a,l},swipeVelocity:function(e){return void 0===e&&(e=.5),De(e)},swipeDistance:function(e){return void 0===e&&(e=50),De(e)},swipeDuration:function(e){return void 0===e&&(e=250),e},delay:function(e){switch(void 0===e&&(e=0),e){case!0:return 180;case!1:return 0;default:return e}}});function He(e){var t,n=e.domTarget,r=e.eventOptions,a=e.window,o=e.enabled,i=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf
 (n)>=0||(a[n]=e[n]);return a}(e,["domTarget","eventOptions","window","enabled"]),s=(void 0===(t={domTarget:n,eventOptions:r,window:a,enabled:o})&&(t={}),Me(t,Ge));return s.drag=function(e){return void 0===e&&(e={}),Me(e,ze)}(i),s}function We(e){return Ce({_active:!1,_blocked:!1,_intentional:[!1,!1],_movement:[0,0],_initial:[0,0],_bounds:[[-1/0,1/0],[-1/0,1/0]],_threshold:[0,0],_lastEventType:void 0,_dragStarted:!1,_dragPreventScroll:!1,_dragIsTap:!0,_dragDelayed:!1,event:void 0,intentional:!1,values:[0,0],velocities:[0,0],delta:[0,0],movement:[0,0],offset:[0,0],lastOffset:[0,0],direction:[0,0],initial:[0,0],previous:[0,0],first:!1,last:!1,active:!1,timeStamp:0,startTime:0,elapsedTime:0,cancel:Le,canceled:!1,memo:void 0,args:void 0},e)}function Ye(){return{shared:{hovering:!1,scrolling:!1,wheeling:!1,dragging:!1,moving:!1,pinching:!1,touches:0,buttons:0,down:!1,shiftKey:!1,altKey:!1,metaKey:!1,ctrlKey:!1,locked:!1},drag:We({_
 pointerId:void 0,axis:void 0,xy:[0,0],vxvy:[0,0],velocity:0,distance:0,tap:!1,swipe:[0,0]}),pinch:We({_pointerIds:[],da:[0,0],vdva:[0,0],origin:void 0,turns:0}),wheel:We({axis:void 0,xy:[0,0],vxvy:[0,0],velocity:0,distance:0}),move:We({axis:void 0,xy:[0,0],vxvy:[0,0],velocity:0,distance:0}),scroll:We({axis:void 0,xy:[0,0],vxvy:[0,0],velocity:0,distance:0})}}var Xe=new Map,Je=function(e){return e},Ze=function(){function e(e,t){var n=this;void 0===t&&(t=[]),this.controller=e,this.args=t,this.debounced=!0,this.setTimeout=function(e,t){var r;void 0===t&&(t=140),clearTimeout(n.controller.timeouts[n.stateKey]);for(var a=arguments.length,o=new Array(a>2?a-2:0),i=2;i<a;i++)o[i-2]=arguments[i];n.controller.timeouts[n.stateKey]=(r=window).setTimeout.apply(r,[e,t].concat(o))},this.clearTimeout=function(){clearTimeout(n.controller.timeouts[n.stateKey])},this.fireGestureHandler=function(e){if(void 0===e&&(e=!1),n.state._blocked)return n.debounced||(n.state._active=!
 1,n.clean()),null;if(!e&&!n.state.intentional&&!n.config.triggerAllEvents)return null;if(n.state.intentional){var t=n.state.active,r=n.state._active;n.state.active=r,n.state.first=r&&!t,n.state.last=t&&!r,n.controller.state.shared[n.ingKey]=r}var a=n.controller.pointerIds.size||n.controller.touchIds.size,o=n.controller.state.shared.buttons>0||a>0,i=Ce({},n.controller.state.shared,n.state,n.mapStateValues(n.state),{locked:!!document.pointerLockElement,touches:a,down:o}),s=n.handler(i);return n.state.memo=void 0!==s?s:n.state.memo,i},this.controller=e,this.args=t}var t,n,r=e.prototype;return r.updateSharedState=function(e){Object.assign(this.controller.state.shared,e)},r.updateGestureState=function(e){Object.assign(this.state,e)},r.checkIntentionality=function(e,t){return{_intentional:e,_blocked:!1}},r.getMovement=function(e){var t=this.config.rubberband,n=this.state,r=n._bounds,a=n._initial,o=n._active,i=n._intentional,s=n.lastOffset,l=n.movement
 ,c=n._threshold,u=this.getInternalMovement(e,this.state),p=!1===i[0]?et(u[0],c[0]):i[0],d=!1===i[1]?et(u[1],c[1]):i[1],g=this.checkIntentionality([p,d],u);if(g._blocked)return Ce({},g,{_movement:u,delta:[0,0]});var m=g._intentional,f=u,h=[!1!==m[0]?u[0]-m[0]:0,!1!==m[1]?u[1]-m[1]:0],v=Ee(h,s),_=o?t:[0,0];return h=tt(r,Ee(h,a),_),Ce({},g,{intentional:!1!==m[0]||!1!==m[1],_initial:a,_movement:f,movement:h,values:e,offset:tt(r,v,_),delta:be(h,l)})},r.clean=function(){this.clearTimeout()},t=e,(n=[{key:"config",get:function(){return this.controller.config[this.stateKey]}},{key:"enabled",get:function(){return this.controller.config.enabled&&this.config.enabled}},{key:"state",get:function(){return this.controller.state[this.stateKey]}},{key:"handler",get:function(){return this.controller.handlers[this.stateKey]}},{key:"transform",get:function(){return this.config.transform||this.controller.config.transform||Je}}])&&ke(t.prot
 otype,n),e}();function et(e,t){return Math.abs(e)>=t&&Pe(e)*t}function tt(e,t,n){var r=t[0],a=t[1],o=n[0],i=n[1],s=e[0],l=s[0],c=s[1],u=e[1],p=u[0],d=u[1];return[Te(r,l,c,o),Te(a,p,d,i)]}function nt(e,t,n){var r=e.state,a=t.timeStamp,o=t.type,i=r.values;return{_lastEventType:o,event:t,timeStamp:a,elapsedTime:n?0:a-r.startTime,previous:i}}function rt(e,t,n,r){var a=e.state,o=e.config,i=e.stateKey,s=e.args,l=e.transform,c=a.offset,u=n.timeStamp,p=o.initial,d=o.bounds,g=be(l(o.threshold),l([0,0])).map(Math.abs),m=Ce({},Ye()[i],{_active:!0,args:s,values:t,initial:null!=r?r:t,_threshold:g,offset:c,lastOffset:c,startTime:u});return Ce({},m,{_initial:Fe(p,m),_bounds:Fe(d,m)})}var at=function(e){var t=this;this.classes=e,this.pointerIds=new Set,this.touchIds=new Set,this.supportsTouchEvents=Be(),this.supportsGestureEvents=function(){try{return"constructor"in GestureEvent}catch(e){return!1}}(),this.bind=function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)
 n[r]=arguments[r];for(var a,o={},i=Oe(t.classes);!(a=i()).done;){var s=a.value;new s(t,n).addBindings(o)}var l=function(e){gt(o,e,(function(r){return t.nativeRefs[e](Ce({},t.state.shared,{event:r,args:n}))}))};for(var c in t.nativeRefs)l(c);return t.config.domTarget?ct(t,o):ut(t,o)},this.effect=function(){return t.config.domTarget&&t.bind(),t.clean},this.clean=function(){var e=dt(t.config),n=t.config.eventOptions;e&&ft(e,pt(t.domListeners),n),Object.values(t.timeouts).forEach(clearTimeout),function(e){var t=e.config,n=t.window,r=t.eventOptions,a=e.windowListeners;if(n){for(var o in a)ft(n,a[o],r);e.windowListeners={}}}(t)},this.classes=e,this.state=Ye(),this.timeouts={},this.domListeners=[],this.windowListeners={}};function ot(e,t){"pointerId"in t?e.pointerIds.add(t.pointerId):e.touchIds=new Set(Qe(t))}function it(e,t){"pointerId"in t?e.pointerIds.delete(t.pointerId):Qe(t).forEach((function(t){return e.touchIds.delete(t)}))}function st(e,t,n){var 
 r=e.config,a=e.windowListeners;void 0===n&&(n=r.eventOptions),r.window&&(ft(r.window,a[t],n),delete a[t])}function lt(e,t,n,r){var a=e.config,o=e.windowListeners;void 0===n&&(n=[]),void 0===r&&(r=a.eventOptions),a.window&&(ft(a.window,o[t],r),mt(a.window,o[t]=n,r))}function ct(e,t){var n=e.config,r=e.domListeners,a=dt(n);if(!a)throw new Error("domTarget must be defined");var o=n.eventOptions;ft(a,pt(r),o);for(var i=0,s=Object.entries(t);i<s.length;i++){var l=s[i],c=l[0],u=l[1],p=c.slice(2).toLowerCase();r.push([p,Re.apply(void 0,u)])}mt(a,r,o)}function ut(e,t){for(var n={},r=e.config.eventOptions.capture?"Capture":"",a=0,o=Object.entries(t);a<o.length;a++){var i=o[a],s=i[0],l=i[1],c=Array.isArray(l)?l:[l];n[s+r]=Re.apply(void 0,c)}return n}function pt(e){return void 0===e&&(e=[]),e.splice(0,e.length)}function dt(e){var t=e.domTarget;return t&&"current"in t?t.current:t}function gt(e,
 t,n){e[t]||(e[t]=[]),e[t].push(n)}function mt(e,t,n){void 0===t&&(t=[]),void 0===n&&(n={});for(var r,a=Oe(t);!(r=a()).done;){var o=r.value,i=o[0],s=o[1];e.addEventListener(i,s,n)}}function ft(e,t,n){void 0===t&&(t=[]),void 0===n&&(n={});for(var r,a=Oe(t);!(r=a()).done;){var o=r.value,i=o[0],s=o[1];e.removeEventListener(i,s,n)}}function ht(){}var vt=function(e){function t(){return e.apply(this,arguments)||this}xe(t,e);var n=t.prototype;return n.getInternalMovement=function(e,t){return be(e,t.initial)},n.checkIntentionality=function(e,t){if(!1===e[0]&&!1===e[1])return{_intentional:e,axis:this.state.axis};var n=t.map(Math.abs),r=n[0],a=n[1],o=this.state.axis||(r>a?"x":r<a?"y":void 0);return this.config.axis||this.config.lockDirection?o?this.config.axis&&o!==this.config.axis?{_intentional:e,_blocked:!0,axis:o}:(e["x"===o?1:0]=!1,{_intentional:e,_blocked:!1,axis:o}):{_intentional:[!1,!1],_blocked:!1,axis:
 o}:{_intentional:e,_blocked:!1,axis:o}},n.getKinematics=function(e,t){var n=this.getMovement(e);if(!n._blocked){var r=t.timeStamp-this.state.timeStamp;Object.assign(n,function(e,t,n){var r=Se(t),a=0===r?0:1/r,o=0===n?0:1/n,i=o*r,s=t.map((function(e){return o*e})),l=t.map((function(e){return a*e}));return{velocities:s,velocity:i,distance:Se(e),direction:l}}(n.movement,n.delta,r))}return n},n.mapStateValues=function(e){return{xy:e.values,vxvy:e.velocities}},t}(Ze);function _t(e){"persist"in e&&"function"==typeof e.persist&&e.persist()}var yt=function(e){function t(){var t;return(t=e.apply(this,arguments)||this).ingKey="dragging",t.stateKey="drag",t.setPointerCapture=function(e){if(!t.config.useTouch&&!document.pointerLockElement){var n=e.target,r=e.pointerId;n&&"setPointerCapture"in n&&n.setPointerCapture(r),t.updateGestureState({_dragTarget:n,_dragPointerId:r})}},t.releasePointerCapture=function
 (){if(!t.config.useTouch&&!document.pointerLockElement){var e=t.state,n=e._dragTarget,r=e._dragPointerId;if(r&&n&&"releasePointerCapture"in n&&(!("hasPointerCapture"in n)||n.hasPointerCapture(r)))try{n.releasePointerCapture(r)}catch(e){}}},t.preventScroll=function(e){t.state._dragPreventScroll&&e.cancelable&&e.preventDefault()},t.getEventId=function(e){return t.config.useTouch?e.changedTouches[0].identifier:e.pointerId},t.isValidEvent=function(e){return t.state._pointerId===t.getEventId(e)},t.shouldPreventWindowScrollY=t.config.experimental_preventWindowScrollY&&t.controller.supportsTouchEvents,t.setUpWindowScrollDetection=function(e){_t(e),lt(t.controller,t.stateKey,[["touchmove",t.preventScroll],["touchend",t.clean.bind(Ae(t))],["touchcancel",t.clean.bind(Ae(t))]],{passive:!1}),t.setTimeout(t.startDrag.bind(Ae(t)),250,e)},t.setUpDelayedDragTrigger=function(e){t.state._dragDela
 yed=!0,_t(e),t.setTimeout(t.startDrag.bind(Ae(t)),t.config.delay,e)},t.setStartState=function(e){var n=Ue(e,t.transform);t.updateSharedState(je(e)),t.updateGestureState(Ce({},rt(Ae(t),n,e),nt(Ae(t),e,!0),{_pointerId:t.getEventId(e)})),t.updateGestureState(t.getMovement(n))},t.onDragStart=function(e){ot(t.controller,e),t.enabled&&!t.state._active&&(t.setStartState(e),t.setPointerCapture(e),t.shouldPreventWindowScrollY?t.setUpWindowScrollDetection(e):t.config.delay>0?t.setUpDelayedDragTrigger(e):t.startDrag(e,!0))},t.onDragChange=function(e){if(!t.state.canceled&&t.state._active&&t.isValidEvent(e)&&(t.state._lastEventType!==e.type||e.timeStamp!==t.state.timeStamp)){var n;if(document.pointerLockElement){var r=e.movementX,a=e.movementY;n=Ee(t.transform([r,a]),t.state.values)}else n=Ue(e,t.transform);var o=t.getKinematics(n,e);if(!t.state._dragStarted){if(t.state._dragDelayed)return void t.startDrag(e);if(!t.shouldPreventWindowScrollY)return;if(
 t.state._dragPreventScroll||!o.axis)return;if("x"!==o.axis)return void(t.state._active=!1);t.startDrag(e)}var i=je(e);t.updateSharedState(i);var s=nt(Ae(t),e),l=Se(o._movement),c=t.state._dragIsTap;c&&l>=3&&(c=!1),t.updateGestureState(Ce({},s,o,{_dragIsTap:c})),t.fireGestureHandler()}},t.onDragEnd=function(e){if(it(t.controller,e),t.isValidEvent(e)&&(t.clean(),t.state._active)){t.state._active=!1;var n=t.state._dragIsTap,r=t.state.velocities,a=r[0],o=r[1],i=t.state.movement,s=i[0],l=i[1],c=t.state._intentional,u=c[0],p=c[1],d=t.config.swipeVelocity,g=d[0],m=d[1],f=t.config.swipeDistance,h=f[0],v=f[1],_=t.config.swipeDuration,y=Ce({},nt(Ae(t),e),t.getMovement(t.state.values)),w=[0,0];y.elapsedTime<_&&(!1!==u&&Math.abs(a)>g&&Math.abs(s)>h&&(w[0]=Pe(a)),!1!==p&&Math.abs(o)>m&&Math.abs(l)>v&&(w[1]=Pe(o))),t.updateSharedState({buttons:0}),t.updateGestureState(Ce({},y,{tap:n,swipe:w
 })),t.fireGestureHandler(t.config.filterTaps&&!0===n)}},t.clean=function(){e.prototype.clean.call(Ae(t)),t.state._dragStarted=!1,t.releasePointerCapture(),st(t.controller,t.stateKey)},t.onCancel=function(){t.state.canceled||(t.updateGestureState({canceled:!0,_active:!1}),t.updateSharedState({buttons:0}),setTimeout((function(){return t.fireGestureHandler()}),0))},t.onClick=function(e){t.state._dragIsTap||e.stopPropagation()},t}xe(t,e);var n=t.prototype;return n.startDrag=function(e,t){void 0===t&&(t=!1),this.state._active&&!this.state._dragStarted&&(t||this.setStartState(e),this.updateGestureState({_dragStarted:!0,_dragPreventScroll:!0,cancel:this.onCancel}),this.clearTimeout(),this.fireGestureHandler())},n.addBindings=function(e){this.config.useTouch?(gt(e,"onTouchStart",this.onDragStart),gt(e,"onTouchMove",this.onDragChange),gt(e,"onTouchEnd",this.onDragEnd),gt(e,"onTouchCancel",this.onDragEnd)):(gt(e,"onP
 ointerDown",this.onDragStart),gt(e,"onPointerMove",this.onDragChange),gt(e,"onPointerUp",this.onDragEnd),gt(e,"onPointerCancel",this.onDragEnd)),this.config.filterTaps&&gt(e,this.controller.config.eventOptions.capture?"onClick":"onClickCapture",this.onClick)},t}(vt);function wt(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){if(e.constructor!==t.constructor)return!1;var n,r,a,o;if(Array.isArray(e)){if((n=e.length)!==t.length)return!1;for(r=n;0!=r--;)if(!wt(e[r],t[r]))return!1;return!0}if("function"==typeof Map&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;for(o=e.entries();!(r=o.next()).done;)if(!wt(r.value[1],t.get(r.value[0])))return!1;return!0}if("function"==typeof Set&&e instanceof Set&&t instanceof Set){if(e.siz
 e!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if((n=(a=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!Object.prototype.hasOwnProperty.call(t,a[r]))return!1;if("undefined"!=typeof Element&&e instanceof Element)return!1;for(r=n;0!=r--;)if(!("_owner"===a[r]&&e.$$typeof||wt(e[a[r]],t[a[r]])))return!1;return!0}return e!=e&&t!=t}function Et(e,t){try{return wt(e,t)}catch(e){if((e.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw e}}var bt=window.wp.keycodes,St=function(e){let{label:t,className:n,onDragChange:r,onDragEnd:o,direction:i="left",...
 s}=e;const l=function(e,t){void 0===t&&(t={}),Xe.set("drag",yt);var n=(0,ye.useRef)();return n.current||(n.current=function(e,t){var n,r,a=[],o=!1;return function(){for(var i=arguments.length,s=new Array(i),l=0;l<i;l++)s[l]=arguments[l];return o&&n===this&&t(s,a)||(r=e.apply(this,s),o=!0,n=this,a=s),r}}(He,Et)),function(e,t,n){void 0===n&&(n={});var r=function(e){var t=new Set;return e.drag&&t.add(Xe.get("drag")),e.wheel&&t.add(Xe.get("wheel")),e.scroll&&t.add(Xe.get("scroll")),e.move&&t.add(Xe.get("move")),e.pinch&&t.add(Xe.get("pinch")),e.hover&&t.add(Xe.get("hover")),t}(e),a=we().useMemo((function(){return new at(r)}),[]);return a.config=t,a.handlers=e,a.nativeRefs=n,we().useEffect(a.effect,[]),a.config.domTarget?ht:a.bind}({drag:e=>{let{delta:t,dragging:n}=e;const a="left"===i?-2:2;n?r(t[0]*a):o()}},n.current(t))}()
 ;return(0,a.createElement)("div",{className:`pattern-preview__drag-handle ${n}`},(0,a.createElement)("button",p({className:"pattern-preview__drag-handle-button","aria-label":t},s,{onKeyDown:e=>{const{keyCode:t}=e;"left"===i&&t===bt.LEFT||"right"===i&&t===bt.RIGHT?r(20):("left"===i&&t===bt.RIGHT||"right"===i&&t===bt.LEFT)&&r(-20)},onKeyUp:o},l())))},Pt=function e(t){let{blockContent:n}=t;const r=(0,me.useViewportMatch)("mobile",">="),i=(0,me.useViewportMatch)("large",">="),s=(0,me.useViewportMatch)("wide",">="),l=(0,me.useInstanceId)(e),[c,u]=(0,a.useState)(window.innerWidth<960?window.innerWidth:960),p=(0,a.useCallback)((e=>u((t=>t+e))),[u]),d=()=>{c<280&&u(280)},g=(0,a.useMemo)((()=>r?s?[{label:(0,o.__)("Full (1200px)","wporg-patterns"),value:1200}
 ,{label:(0,o.__)("Default (960px)","wporg-patterns"),value:960},{label:(0,o.__)("Medium (480px)","wporg-patterns"),value:480},{label:(0,o.__)("Narrow (320px)","wporg-patterns"),value:320}]:i?[{label:(0,o.__)("Default (960px)","wporg-patterns"),value:960},{label:(0,o.__)("Medium (480px)","wporg-patterns"),value:480},{label:(0,o.__)("Narrow (320px)","wporg-patterns"),value:320}]:[{label:(0,o.__)("Medium (480px)","wporg-patterns"),value:480},{label:(0,o.__)("Narrow (320px)","wporg-patterns"),value:320}]:[]),[r,i,s]);let m=!1;if(!g.some((e=>e.value===c))){const e=Math.max(Math.floor(c),280);m={
</span><span class="cx" style="display: block; padding: 0 10px"> /* translators: %s is the width in pixels, ex 600. */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-label:(0,o.sprintf)((0,o.__)("Current (%spx)","wporg-patterns"),e),value:e}}return(0,a.createElement)(a.Fragment,null,(0,a.createElement)("div",{className:"pattern-preview__size-control"},r&&(0,a.createElement)(fe.SelectControl,{hideLabelFromVision:!0,label:(0,o.__)("Preview Width","wporg-patterns"),value:c,options:m?[m,...g]:g,onChange:e=>u(Number(e))})),(0,a.createElement)("div",{className:"pattern-preview__viewport",style:{width:c+40}},(0,a.createElement)(St,{label:(0,o.__)("Drag to resize","wporg-patterns"),className:"is-left",onDragChange:p,onDragEnd:d,direction:"left","aria-describedby":`pattern-preview__resize-help-${l}`}),(0,a.createElement)(_e,{html:n}),(0,a.createElement)(St,{label:(0,o.__)("Drag to resize","wporg-patterns&q
 uot;),className:"is-right",onDragChange:p,onDragEnd:d,direction:"right","aria-describedby":`pattern-preview__resize-help-${l}`}),(0,a.createElement)(fe.VisuallyHidden,{id:`pattern-preview__resize-help-${l}`,className:"pattern-preview__resize-help"},(0,o.__)("Use left and right arrow keys to resize the preview.","wporg-patterns"))))};const Nt=()=>(0,a.createElement)("div",{style:{height:"220px"}},(0,a.createElement)("img",{src:`${wporgPatternsUrl.assets}/images/copy-paste-demo.gif`,alt:(0,o.__)("GIF of copy and pasting.","wporg-patterns")}));var Tt=e=>{let{onFinish:t}=e;return(0,a.createElement)(fe.Animate,{type:"appear",options:{origin:"bottom"}},(e=>{let{className:n}=e;return(0,a.createElement)(fe.Guide,{className:`pattern-actions__guide ${n}`,onFinish:t,finishButtonText:(0,o.__)("Close","wporg-patterns"),pages:[{image:(0,a.c
 reateElement)(Nt,null),content:(0,a.createElement)("div",{className:"pattern-actions__guide-content"},(0,a.createElement)("h3",{className:"pattern-actions__guide-title"},(0,o.__)("How to use patterns on your WordPress site.","wporg-patterns")),(0,a.createElement)("p",null,(0,o.__)("Patterns are really just text. And, just like you can copy and paste text, you can copy and paste patterns. It’s really easy!","wporg-patterns")),(0,a.createElement)("ol",null,(0,a.createElement)("li",null,(0,a.createElement)("p",null,(0,o.__)("Open any post or page in the WordPress block editor.","wporg-patterns"))),(0,a.createElement)("li",null,(0,a.createElement)("p",null,(0,o.__)("Place your cursor where you want to add the pattern.","wporg-patterns"))),(0,a.createElement)("li",null,(0,a.createElement)("p&qu
 ot;,null,(0,a.createInterpolateElement)((0,o.__)("Paste the contents of your clipboard by holding down <kbd>ctrl</kbd> control (Windows) or <kbd>⌘</kbd> command (Mac) and pressing the <kbd>v</kbd> key, or right-clicking and choose “Paste” from the menu.","wporg-patterns"),{kbd:(0,a.createElement)("kbd",{className:"pattern-actions__guide-shortcut"})})))))}]})}))},kt=n(472),Ct=n.n(kt),xt=window.lodash,At=window.wp.a11y,It=e=>{let{isSmall:t=!1,onSuccess:n=xt.noop,content:r}=e;const[i,s]=(0,a.useState)(!1);if(!r){const e=document.getElementById("block-data");r=JSON.parse(decodeURIComponent(e.value))}(0,a.useEffect)((()=>{if(!i)return;(0,At.speak)((0,o.__)("Copied pattern to clipboard.","wporg-patterns"));const e=setTimeout((()=>s(!1)),2e4);return()=>{clearTimeout(e)}}),[i]);let l=(0,o.__)("Copy Pattern","wporg-patterns");t&&(l=i?(0,o.__)
 ("Copied","wporg-patterns"):(0,o.__)("Copy","wporg-patterns"));const c=Ct()({"pattern-copy-button":!0,"is-small-label":t});return(0,a.createElement)(fe.Button,{className:c,isPrimary:!0,onClick:e=>{let{target:t}=e;const a=(e=>{const t=document.createElement("textarea");t.setAttribute("readonly",""),t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.left="-9999px",t.value=e,document.body.appendChild(t),t.select();const n=document.execCommand("copy");return document.body.removeChild(t),n})(r);s(a),t.focus(),a&&n()}},l)},Ot=e=>{let{onClick:t}=e;return(0,a.createElement)(fe.Notice,{className:"pattern-actions__notice",status:"success",isDismissible:!1,actions:[{label:(0,o.__)("Learn More","wporg-patterns"),onClick:t,variant:"secondary"}]},(0,a.createElement)(&quot
 ;div",null,(0,a.createElement)("strong",null,(0,o.__)("Pattern copied!","wporg-patterns")),(0,o.__)("Now you can paste it into any WordPress post or page.","wporg-patterns")))},Lt=window.wp.coreData;function Rt(e){return(0,a.createElement)(d.SVG,p({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},e),(0,a.createElement)(d.Path,{d:"M12 4.915c1.09-1.28 2.76-2.09 4.5-2.09 3.08 0 5.5 2.42 5.5 5.5 0 3.777-3.394 6.855-8.537 11.518l-.013.012-1.45 1.32-1.45-1.31-.04-.036C5.384 15.17 2 12.095 2 8.325c0-3.08 2.42-5.5 5.5-5.5 1.74 0 3.41.81 4.5 2.09zm0 13.56l.1-.1c4.76-4.31 7.9-7.16 7.9-10.05 0-2-1.5-3.5-3.5-3.5-1.54 0-3.04.99-3.56 2.36h-1.87c-.53-1.37-2.03-2.36-3.57-2.36-2 0-3.5 1.5-3.5 3.5 0 2.89 3.14 5.74 7.9 10.05l.1.1z"}))}var Dt=e=>{let{showLabel:t=!0,patternId:n}=e;const{hasPermission:r,isFavorite:i}=(0,s.useSelect)((e=>(e(de).getFavorites(),{hasPer
 mission:!!e(Lt.store).canUser("create","../../wporg/v1/pattern-favorites"),isFavorite:e(de).isFavorite(n)}))),{addFavorite:l,removeFavorite:c}=(0,s.useDispatch)(de),u=(0,a.useCallback)((()=>{i?c(n):l(n)}),[i]);if(!r)return null;const p=Ct()("button button-link pattern-favorite-button",{"is-favorited":i,"has-label":t}),d=Ct()({"screen-reader-text":!t});return(0,a.createElement)("button",{className:p,onClick:u},(0,a.createElement)(g,{className:"pattern-favorite-button__filled"}),(0,a.createElement)(Rt,{className:"pattern-favorite-button__outline"}),(0,a.createElement)("span",{className:d},i?(0,o.__)("Remove from favorites","wporg-patterns"):(0,o.__)("Add to favorites","wporg-patterns")))},Ft=window.wp.apiFetch,Mt=n.n(Ft),Bt=(0,a.createElement)(d.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},(0,a.createElement)
 (d.Path,{d:"M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 14l4.5-3.6 1 1.2z"})),$t=e=>{let{patternId:t,isSmall:n}=e;const{isDraft:r}=(0,s.useSelect)((e=>{const n=e(de).getPattern(t);return{isDraft:"draft"===(null==n?void 0:n.status)}}),[t]),{loadPattern:i}=(0,s.useDispatch)(de),l=()=>{Mt()({path:`/wp/v2/wporg-pattern/${t}/`,method:"PUT",data:{status:"draft"}}).then((e=>{i(t,e)}))},c=()=>{window.confirm((0,o.__)("Are you sure you want to delete this pattern?","wporg-patterns"))&&Mt()({path:`/wp/v2/wporg-pattern/${t}/`,method:"DELETE"}).then((()=>{window.location=`${wporgPatternsUrl.site}/my-patterns/`}))},u=`${wporgPatternsUrl.site}/pattern/${t}/edit/`,p=n?(0,a.createElement)(fe.Icon,{icon:Bt}):(0,a.createElement)(a.Fragment,null,(0,o.__)("Options","wporg-patterns"),(0,a.createElement)(fe.Icon,{icon:Bt})),d=n?"pattern-manage-options__button is-small":"pattern-manage
 -options__button";return(0,a.createElement)(fe.DropdownMenu,{className:"pattern-manage-options",icon:null,toggleProps:{className:d,children:p,variant:"secondary"},popoverProps:{position:"bottom center",className:"pattern-manage-options__popover"}},(()=>(0,a.createElement)(a.Fragment,null,(0,a.createElement)(fe.MenuItem,{href:u},(0,o.__)("Open in editor","wporg-patterns")),!r&&(0,a.createElement)(fe.MenuItem,{onClick:l},(0,o.__)("Revert to draft","wporg-patterns")),(0,a.createElement)(fe.MenuItem,{isDestructive:!0,variant:"link",onClick:c},(0,o.__)("Delete pattern","wporg-patterns")))))},Qt=e=>{let{postId:t,showOptions:n}=e;const[r,o]=(0,a.useState)(!1),[i,s]=(0,a.useState)(!1);return(0,a.createElement)("div",{className:"pattern-actions"},(0,a.createElement)("div",{className:"pattern-actions__container"},(0,a.createEl
 ement)(It,{onSuccess:()=>o(!0)}),(0,a.createElement)(Dt,{patternId:t}),n&&(0,a.createElement)($t,{patternId:t}),r&&(0,a.createElement)(Ot,{onClick:()=>s(!0)}),i&&(0,a.createElement)(Tt,{onFinish:()=>s(!1)})))},jt=function(e){let{className:t,html:n}=e;const r=(0,a.useRef)(),[i,s]=(0,a.useState)("1px"),[l,c]=(0,a.useState)(.3125),u=(e=>{let{element:t}=e;const[n,r]=(0,a.useState)(null);(0,a.useEffect)((()=>{if(!t.current)return;const e=(0,xt.debounce)(o,200);return o(),window.addEventListener("scroll",e),window.addEventListener("resize",e),()=>{window.removeEventListener("scroll",e),window.addEventListener("resize",e)}}),[t]);const o=()=>{if(!t.current)return;const e=window.innerHeight,{top:n}=t.current.getBoundingClientRect();r(n>=0&&n<=e)};return n})({element:r}),[p,d]=(0,a.useState)(!1);(0,a.useEffect)((()=>{u&&d(!0)}),[u]),(0,a.useEffect)((()=>{const e=()=>{
 try{s(m(r.current.clientWidth)),c(r.current.clientWidth/800)}catch(e){}};return e(),window.addEventListener("resize",e),()=>{window.addEventListener("resize",e)}}),[]);const g={border:"none",width:"800px",maxWidth:"none",height:`${m(800)}px`,transform:`scale(${l})`,transformOrigin:(0,o.isRTL)()?"top right":"top left",pointerEvents:"none"};return(0,a.createElement)("div",{className:t,ref:r,style:{height:i},tabIndex:"-1"},(0,a.createElement)(ve,{className:"pattern-grid__preview-iframe",style:g,bodyStyle:"overflow: hidden;",headHTML:window.__editorStyles.html},(0,a.createElement)("div",{dangerouslySetInnerHTML:{__html:p?n:""}})))},qt=e=>{let{className:t,label:n,patternId:r}=e;const{hasPermission:o,isFavorite:i}=(0,s.useSelect)((e=>(e(de).getFavorites(),{hasPermission:!!e(Lt.store).canUser("create","../../wporg/v1/pattern-fav
 orites"),isFavorite:e(de).isFavorite(r)}))),{addFavorite:l,removeFavorite:c}=(0,s.useDispatch)(de),u=(0,a.useCallback)((()=>{i?c(r):l(r)}),[i]),p=Ct()(t,"pattern-favorite-button-small",{button:o,"button-link":o,"is-favorited":i});return o?(0,a.createElement)("button",{className:p,onClick:u},(0,a.createElement)(g,{className:"pattern-favorite-button__filled"}),(0,a.createElement)("span",null,n)):(0,a.createElement)("span",{className:p},(0,a.createElement)(g,{className:"pattern-favorite-button__filled"}),(0,a.createElement)("span",null,n))},Ut=function(e){let{pattern:t,showAvatar:n,showOptions:r}=e;const s=function(e){switch(e.status){case"pending":return(0,o.__)("Pending","wporg-patterns");case"draft":return(0,o.__)("Draft","wporg-patterns");case"unlisted":return(0,o.__)("Declined","wporg-patterns")}
 return""}(t);return(0,a.createElement)("div",{className:"pattern-grid__pattern"},(0,a.createElement)("div",{className:"pattern-grid__pattern-frame"},(0,a.createElement)("a",{href:t.link,rel:"bookmark"},(0,a.createElement)("span",{className:"screen-reader-text"},(0,i.decodeEntities)(t.title.rendered)),(0,a.createElement)(fe.Disabled,null,(0,a.createElement)(jt,{className:"pattern-grid__preview",html:t.content.rendered}))),s?(0,a.createElement)("div",{className:`pattern-grid__status is-${t.status}`},(0,a.createElement)("span",null,s)):null,(0,a.createElement)("span",{className:"pattern-grid__actions"},(0,a.createElement)(Dt,{showLabel:!1,patternId:t.id}),r&&(0,a.createElement)($t,{isSmall:!0,patternId:t.id}),(0,a.createElement)(It,{isSmall:!0,content:t.pattern_content}))),(0,a.createElement)("h2",{className:"pattern-grid__ti
 tle"},(0,a.createElement)("a",{href:t.link},(0,i.decodeEntities)(t.title.rendered))),(0,a.createElement)("p",{className:"pattern-grid__meta"},n&&t.author_meta?(0,a.createElement)("a",{href:t.author_meta.url,className:"pattern-grid__author-avatar"},(0,a.createElement)("img",{alt:"",src:t.author_meta.avatar}),t.author_meta.name):null,t.favorite_count>0?(0,a.createElement)(qt,{className:"pattern-grid__favorite-count",patternId:t.id,label:(0,a.createElement)(a.Fragment,null,(0,a.createElement)("span",{className:"screen-reader-text"},(0,o.sprintf)(
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+label:(0,o.sprintf)((0,o.__)("Current (%spx)","wporg-patterns"),e),value:e}}return(0,a.createElement)(a.Fragment,null,(0,a.createElement)("div",{className:"pattern-preview__size-control"},r&&(0,a.createElement)(fe.SelectControl,{hideLabelFromVision:!0,label:(0,o.__)("Preview Width","wporg-patterns"),value:c,options:m?[m,...g]:g,onChange:e=>u(Number(e))})),(0,a.createElement)("div",{className:"pattern-preview__viewport",style:{width:c+40}},(0,a.createElement)(St,{label:(0,o.__)("Drag to resize","wporg-patterns"),className:"is-left",onDragChange:p,onDragEnd:d,direction:"left","aria-describedby":`pattern-preview__resize-help-${l}`}),(0,a.createElement)(_e,{html:n}),(0,a.createElement)(St,{label:(0,o.__)("Drag to resize","wporg-patterns&qu
 ot;),className:"is-right",onDragChange:p,onDragEnd:d,direction:"right","aria-describedby":`pattern-preview__resize-help-${l}`}),(0,a.createElement)(fe.VisuallyHidden,{id:`pattern-preview__resize-help-${l}`,className:"pattern-preview__resize-help"},(0,o.__)("Use left and right arrow keys to resize the preview.","wporg-patterns"))))};const Nt=()=>(0,a.createElement)("div",{style:{height:"220px"}},(0,a.createElement)("img",{src:`${wporgPatternsUrl.assets}/images/copy-paste-demo.gif`,alt:(0,o.__)("GIF of copy and pasting.","wporg-patterns")}));var Tt=e=>{let{onFinish:t}=e;return(0,a.createElement)(fe.Animate,{type:"appear",options:{origin:"bottom"}},(e=>{let{className:n}=e;return(0,a.createElement)(fe.Guide,{className:`pattern-actions__guide ${n}`,onFinish:t,finishButtonText:(0,o.__)("Close","wporg-patterns"),pages:[{image:(0,a.cr
 eateElement)(Nt,null),content:(0,a.createElement)("div",{className:"pattern-actions__guide-content"},(0,a.createElement)("h3",{className:"pattern-actions__guide-title"},(0,o.__)("How to use patterns on your WordPress site.","wporg-patterns")),(0,a.createElement)("p",null,(0,o.__)("Patterns are really just text. And, just like you can copy and paste text, you can copy and paste patterns. It’s really easy!","wporg-patterns")),(0,a.createElement)("ol",null,(0,a.createElement)("li",null,(0,a.createElement)("p",null,(0,o.__)("Open any post or page in the WordPress block editor.","wporg-patterns"))),(0,a.createElement)("li",null,(0,a.createElement)("p",null,(0,o.__)("Place your cursor where you want to add the pattern.","wporg-patterns"))),(0,a.createElement)("li",null,(0,a.createElement)("p&quo
 t;,null,(0,a.createInterpolateElement)((0,o.__)("Paste the contents of your clipboard by holding down <kbd>ctrl</kbd> control (Windows) or <kbd>⌘</kbd> command (Mac) and pressing the <kbd>v</kbd> key, or right-clicking and choose “Paste” from the menu.","wporg-patterns"),{kbd:(0,a.createElement)("kbd",{className:"pattern-actions__guide-shortcut"})})))))}]})}))},kt=n(472),Ct=n.n(kt),xt=window.lodash,At=window.wp.a11y,It=e=>{let{isSmall:t=!1,onSuccess:n=xt.noop,content:r}=e;const[i,s]=(0,a.useState)(!1);if(!r){const e=document.getElementById("block-data");r=JSON.parse(decodeURIComponent(e.value))}(0,a.useEffect)((()=>{if(!i)return;(0,At.speak)((0,o.__)("Copied pattern to clipboard.","wporg-patterns"));const e=setTimeout((()=>s(!1)),2e4);return()=>{clearTimeout(e)}}),[i]);let l=(0,o.__)("Copy Pattern","wporg-patterns");t&&(l=i?(0,o.__)(
 "Copied","wporg-patterns"):(0,o.__)("Copy","wporg-patterns"));const c=Ct()({"pattern-copy-button":!0,"is-small-label":t});return(0,a.createElement)(fe.Button,{className:c,isPrimary:!0,onClick:e=>{let{target:t}=e;const a=(e=>{const t=document.createElement("textarea");t.setAttribute("readonly",""),t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.left="-9999px",t.value=e,document.body.appendChild(t),t.select();const n=document.execCommand("copy");return document.body.removeChild(t),n})(r);s(a),t.focus(),a&&n()}},l)},Ot=e=>{let{onClick:t}=e;return(0,a.createElement)(fe.Notice,{className:"pattern-actions__notice",status:"success",isDismissible:!1,actions:[{label:(0,o.__)("Learn More","wporg-patterns"),onClick:t,variant:"secondary"}]},(0,a.createElement)("
 div",null,(0,a.createElement)("strong",null,(0,o.__)("Pattern copied!","wporg-patterns")),(0,o.__)("Now you can paste it into any WordPress post or page.","wporg-patterns")))},Lt=window.wp.coreData;function Rt(e){return(0,a.createElement)(d.SVG,p({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},e),(0,a.createElement)(d.Path,{d:"M12 4.915c1.09-1.28 2.76-2.09 4.5-2.09 3.08 0 5.5 2.42 5.5 5.5 0 3.777-3.394 6.855-8.537 11.518l-.013.012-1.45 1.32-1.45-1.31-.04-.036C5.384 15.17 2 12.095 2 8.325c0-3.08 2.42-5.5 5.5-5.5 1.74 0 3.41.81 4.5 2.09zm0 13.56l.1-.1c4.76-4.31 7.9-7.16 7.9-10.05 0-2-1.5-3.5-3.5-3.5-1.54 0-3.04.99-3.56 2.36h-1.87c-.53-1.37-2.03-2.36-3.57-2.36-2 0-3.5 1.5-3.5 3.5 0 2.89 3.14 5.74 7.9 10.05l.1.1z"}))}var Dt=e=>{let{showLabel:t=!0,patternId:n}=e;const{hasPermission:r,isFavorite:i}=(0,s.useSelect)((e=>(e(de).getFavorites(),{hasPerm
 ission:!!e(Lt.store).canUser("create","../../wporg/v1/pattern-favorites"),isFavorite:e(de).isFavorite(n)}))),{addFavorite:l,removeFavorite:c}=(0,s.useDispatch)(de),u=(0,a.useCallback)((()=>{i?c(n):l(n)}),[i]);if(!r)return null;const p=Ct()("button button-link pattern-favorite-button",{"is-favorited":i,"has-label":t}),d=Ct()({"screen-reader-text":!t});return(0,a.createElement)("button",{className:p,onClick:u},(0,a.createElement)(g,{className:"pattern-favorite-button__filled"}),(0,a.createElement)(Rt,{className:"pattern-favorite-button__outline"}),(0,a.createElement)("span",{className:d},i?(0,o.__)("Remove from favorites","wporg-patterns"):(0,o.__)("Add to favorites","wporg-patterns")))},Ft=window.wp.apiFetch,Mt=n.n(Ft),Bt=(0,a.createElement)(d.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},(0,a.createElement)(
 d.Path,{d:"M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 14l4.5-3.6 1 1.2z"})),$t=e=>{let{patternId:t,isSmall:n}=e;const{isDraft:r,parent:i}=(0,s.useSelect)((e=>{const n=e(de).getPattern(t);return{isDraft:"draft"===(null==n?void 0:n.status),parent:(null==n?void 0:n.parent)||0}}),[t]),{loadPattern:l}=(0,s.useDispatch)(de),c=()=>{Mt()({path:`/wp/v2/wporg-pattern/${t}/`,method:"PUT",data:{status:"draft"}}).then((e=>{l(t,e)}))},u=()=>{window.confirm((0,o.__)("Are you sure you want to delete this pattern?","wporg-patterns"))&&Mt()({path:`/wp/v2/wporg-pattern/${t}/`,method:"DELETE"}).then((()=>{window.location=`${wporgPatternsUrl.site}/my-patterns/`}))},p=`${wporgPatternsUrl.site}/pattern/${i||t}/edit/`,d=n?(0,a.createElement)(fe.Icon,{icon:Bt}):(0,a.createElement)(a.Fragment,null,(0,o.__)("Options","wporg-patterns"),(0,a.createElement)(fe.Icon,{icon:Bt})),g=n?"pattern-manage-opti
 ons__button is-small":"pattern-manage-options__button";return(0,a.createElement)(fe.DropdownMenu,{className:"pattern-manage-options",icon:null,toggleProps:{className:g,children:d,variant:"secondary"},popoverProps:{position:"bottom center",className:"pattern-manage-options__popover"}},(()=>(0,a.createElement)(a.Fragment,null,(0,a.createElement)(fe.MenuItem,{href:p},i?(0,o.__)("Open original in editor","wporg-patterns"):(0,o.__)("Open in editor","wporg-patterns")),!r&&(0,a.createElement)(fe.MenuItem,{onClick:c},(0,o.__)("Revert to draft","wporg-patterns")),(0,a.createElement)(fe.MenuItem,{isDestructive:!0,variant:"link",onClick:u},(0,o.__)("Delete pattern","wporg-patterns")))))},Qt=e=>{let{postId:t,showOptions:n}=e;const[r,o]=(0,a.useState)(!1),[i,s]=(0,a.useState)(!1);return(0,a.createElement)("div",{className:"p
 attern-actions"},(0,a.createElement)("div",{className:"pattern-actions__container"},(0,a.createElement)(It,{onSuccess:()=>o(!0)}),(0,a.createElement)(Dt,{patternId:t}),n&&(0,a.createElement)($t,{patternId:t}),r&&(0,a.createElement)(Ot,{onClick:()=>s(!0)}),i&&(0,a.createElement)(Tt,{onFinish:()=>s(!1)})))},jt=function(e){let{className:t,html:n}=e;const r=(0,a.useRef)(),[i,s]=(0,a.useState)("1px"),[l,c]=(0,a.useState)(.3125),u=(e=>{let{element:t}=e;const[n,r]=(0,a.useState)(null);(0,a.useEffect)((()=>{if(!t.current)return;const e=(0,xt.debounce)(o,200);return o(),window.addEventListener("scroll",e),window.addEventListener("resize",e),()=>{window.removeEventListener("scroll",e),window.addEventListener("resize",e)}}),[t]);const o=()=>{if(!t.current)return;const e=window.innerHeight,{top:n}=t.current.getBoundingClientRect();r(n>=0&&n<=e)};return n})({eleme
 nt:r}),[p,d]=(0,a.useState)(!1);(0,a.useEffect)((()=>{u&&d(!0)}),[u]),(0,a.useEffect)((()=>{const e=()=>{try{s(m(r.current.clientWidth)),c(r.current.clientWidth/800)}catch(e){}};return e(),window.addEventListener("resize",e),()=>{window.addEventListener("resize",e)}}),[]);const g={border:"none",width:"800px",maxWidth:"none",height:`${m(800)}px`,transform:`scale(${l})`,transformOrigin:(0,o.isRTL)()?"top right":"top left",pointerEvents:"none"};return(0,a.createElement)("div",{className:t,ref:r,style:{height:i},tabIndex:"-1"},(0,a.createElement)(ve,{className:"pattern-grid__preview-iframe",style:g,bodyStyle:"overflow: hidden;",headHTML:window.__editorStyles.html},(0,a.createElement)("div",{dangerouslySetInnerHTML:{__html:p?n:""}})))},qt=e=>{let{className:t,label:n,patternId:r}=e;const{hasPermission:o,isFavorite:i}=(0,s.useSel
 ect)((e=>(e(de).getFavorites(),{hasPermission:!!e(Lt.store).canUser("create","../../wporg/v1/pattern-favorites"),isFavorite:e(de).isFavorite(r)}))),{addFavorite:l,removeFavorite:c}=(0,s.useDispatch)(de),u=(0,a.useCallback)((()=>{i?c(r):l(r)}),[i]),p=Ct()(t,"pattern-favorite-button-small",{button:o,"button-link":o,"is-favorited":i});return o?(0,a.createElement)("button",{className:p,onClick:u},(0,a.createElement)(g,{className:"pattern-favorite-button__filled"}),(0,a.createElement)("span",null,n)):(0,a.createElement)("span",{className:p},(0,a.createElement)(g,{className:"pattern-favorite-button__filled"}),(0,a.createElement)("span",null,n))},Ut=function(e){let{pattern:t,showAvatar:n,showOptions:r}=e;const s=function(e){switch(e.status){case"pending":return(0,o.__)("Pending","wporg-patterns");case"draft":return(0,o.__)("Draft&q
 uot;,"wporg-patterns");case"unlisted":return(0,o.__)("Declined","wporg-patterns")}return""}(t);return(0,a.createElement)("div",{className:"pattern-grid__pattern"},(0,a.createElement)("div",{className:"pattern-grid__pattern-frame"},(0,a.createElement)("a",{href:t.link,rel:"bookmark"},(0,a.createElement)("span",{className:"screen-reader-text"},(0,i.decodeEntities)(t.title.rendered)),(0,a.createElement)(fe.Disabled,null,(0,a.createElement)(jt,{className:"pattern-grid__preview",html:t.content.rendered}))),s?(0,a.createElement)("div",{className:`pattern-grid__status is-${t.status}`},(0,a.createElement)("span",null,s)):null,(0,a.createElement)("span",{className:"pattern-grid__actions"},(0,a.createElement)(Dt,{showLabel:!1,patternId:t.id}),r&&(0,a.createElement)($t,{isSmall:!0,patternId:t.id}),(0,a.create
 Element)(It,{isSmall:!0,content:t.pattern_content}))),(0,a.createElement)("h2",{className:"pattern-grid__title"},(0,a.createElement)("a",{href:t.link},(0,i.decodeEntities)(t.title.rendered))),(0,a.createElement)("p",{className:"pattern-grid__meta"},n&&t.author_meta?(0,a.createElement)("a",{href:t.author_meta.url,className:"pattern-grid__author-avatar"},(0,a.createElement)("img",{alt:"",src:t.author_meta.avatar}),t.author_meta.name):null,t.favorite_count>0?(0,a.createElement)(qt,{className:"pattern-grid__favorite-count",patternId:t.id,label:(0,a.createElement)(a.Fragment,null,(0,a.createElement)("span",{className:"screen-reader-text"},(0,o.sprintf)(
</ins><span class="cx" style="display: block; padding: 0 10px"> /* translators: %s is the favorite count for a pattern. */
</span><span class="cx" style="display: block; padding: 0 10px"> (0,o._n)("Favorited %s times","Favorited %s times",t.favorite_count,"wporg-patterns"),t.favorite_count)),(0,a.createElement)("span",{"aria-hidden":!0},t.favorite_count))}):null))},Kt=function(e){let{icon:t,size:n=24,...r}=e;return(0,a.cloneElement)(t,{width:n,height:n,...r})},Vt=(0,a.createElement)(d.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,a.createElement)(d.Path,{d:"M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z"}));const Gt=(e,t)=>{switch(t.status){case"submitting":return{isSubmitting:!0};case"submitted":return{isSubmitted:!0};case"error":return{hasError:!0,message:t.message};default:return{}}};var zt=e=>{let{postId:t,onClose:n}=e;const[r,i]=(0,a.useReducer)(Gt,{}),[l,c]=(0,a.useState)(""),[u,p]=(0,a.useState)(""),d=(0,a.useRef)(),g=(0,o.__)("Your repor
 t has been submitted.","wporg-patterns"),{isLoading:m,mappedReasons:f}=(0,s.useSelect)((e=>{const{getPatternFlagReasons:t,isLoadingPatternFlagReasons:n}=e(de),r=t()||[];return{isLoading:n(),mappedReasons:r.sort(((e,t)=>{switch(!0){case e.slug<t.slug:return-1;case e.slug>t.slug:return 1;default:return 0}})).map((e=>({label:e.name,value:e.id.toString()})))}})),h=()=>{n(r.isSubmitted)};return(0,a.createElement)(fe.Modal,{className:"pattern-report-modal "+(r.isSubmitted?"":"pattern-report-modal__has-fixed-height"),title:(0,o.__)("Report this pattern","wporg-patterns"),onRequestClose:h},(0,a.createElement)("div",{ref:d},m?(0,a.createElement)(fe.Spinner,null):r.isSubmitted?(0,a.createElement)("p",{className:"pattern-report-modal__copy"},g):(0,a.createElement)("form",{onSubmit:e=>{e.preventDefault(),l&&u.length&&!r.isSubmitted&&!r.isSubmittin
 g&&(i({status:"submitting"}),Mt()({path:(0,v.addQueryArgs)("/wp/v2/wporg-pattern-flag"),method:"POST",data:{parent:t,"wporg-pattern-flag-reason":l,excerpt:u}}).then((()=>{i({status:"submitted"}),(0,At.speak)(g),d.current.closest('[role="dialog"]').focus()})).catch((e=>{i({status:"error",message:e.message}),(0,At.speak)((0,o.sprintf)(
</span><span class="cx" style="display: block; padding: 0 10px"> /* translators: %s: Error message. */
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgpatternssrccomponentsmanageoptionsindexjs"></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/manage-options/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/manage-options/index.js 2022-02-03 08:34:14 UTC (rev 11511)
+++ sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/src/components/manage-options/index.js   2022-02-03 19:18:26 UTC (rev 11512)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -13,12 +13,13 @@
</span><span class="cx" style="display: block; padding: 0 10px"> import { store as patternStore } from '../../store';
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> const ManageOptions = ( { patternId, isSmall } ) => {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        const { isDraft } = useSelect(
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ const { isDraft, parent } = useSelect(
</ins><span class="cx" style="display: block; padding: 0 10px">                 ( select ) => {
</span><span class="cx" style="display: block; padding: 0 10px">                        const _pattern = select( patternStore ).getPattern( patternId );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        return {
</span><span class="cx" style="display: block; padding: 0 10px">                                isDraft: _pattern?.status === 'draft',
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                parent: _pattern?.parent || 0,
</ins><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">                [ patternId ]
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -48,7 +49,7 @@
</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><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        const editLink = `${ wporgPatternsUrl.site }/pattern/${ patternId }/edit/`;
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ const editLink = `${ wporgPatternsUrl.site }/pattern/${ parent ? parent : patternId }/edit/`;
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        const toggleContent = isSmall ? (
</span><span class="cx" style="display: block; padding: 0 10px">                <Icon icon={ chevronDown } />
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -76,7 +77,11 @@
</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><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        <MenuItem href={ editLink }>{ __( 'Open in editor', 'wporg-patterns' ) }</MenuItem>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 <MenuItem href={ editLink }>
+                                               { parent
+                                                       ? __( 'Open original in editor', 'wporg-patterns' )
+                                                       : __( 'Open in editor', 'wporg-patterns' ) }
+                                       </MenuItem>
</ins><span class="cx" style="display: block; padding: 0 10px">                                         { ! isDraft && (
</span><span class="cx" style="display: block; padding: 0 10px">                                                <MenuItem onClick={ onRevertToDraft }>
</span><span class="cx" style="display: block; padding: 0 10px">                                                        { __( 'Revert to draft', 'wporg-patterns' ) }
</span></span></pre>
</div>
</div>

</body>
</html>