<!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>[12466] sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns: Pattern Directory: Sync with git WordPress/pattern-directory@cdae30e</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/12466">12466</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/12466","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>2023-03-13 16:04:19 +0000 (Mon, 13 Mar 2023)</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@cdae30e</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_htmlwpcontentthemespubwporgpatternssrccomponentspatternthumbnailcanvasjs">sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/src/components/pattern-thumbnail/canvas.js</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgpatternssrccomponentspatternthumbnailindexjs">sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/src/components/pattern-thumbnail/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 2023-03-13 08:08:55 UTC (rev 12465)
+++ sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/build/index.asset.php 2023-03-13 16:04:19 UTC (rev 12466)
</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' => 'b1857381e640e6b418b8');
</del><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' => '208bb83a23c591b3c3ee');
</ins></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 2023-03-13 08:08:55 UTC (rev 12465)
+++ sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/build/index.js 2023-03-13 16:04:19 UTC (rev 12466)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1,11 +1,11 @@
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-!function(){var e={184:function(e,t){var r;!function(){"use strict";var n={}.hasOwnProperty;function a(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)){if(r.length){var i=a.apply(null,r);i&&e.push(i)}}else if("object"===o){if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]")){e.push(r.toString());continue}for(var s in r)n.call(r,s)&&r[s]&&e.push(s)}}}return e.join(" ")}e.exports?(a.default=a,e.exports=a):void 0===(r=function(){return a}.apply(t,[]))||(e.exports=r)}()}},t={};function r(n){var a=t[n];if(void 0!==a)return a.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.defa
ult}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.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={};r.r(e),r.d(e,{addFavorite:function(){return F},fetchCategories:function(){return I},fetchPatternFlagReasons:function(){return L},fetchPatterns:function(){return k},loadCategories:function(){return O},loadFavorites:function(){return D},loadPattern:function(){return T},loadPatternFlagReasons:function(){return R},loadPatterns:function(){return C},removeFavorite:function(){return M},setCurrentQuery:function(){return A},setErrorPatterns:function(){return x}});var t={};r.r(t),r.d(t,{getCategori
es:function(){return V},getFavorites:function(){return z},getPattern:function(){return K},getPatternFlagReasons:function(){return G},getPatternsByQuery:function(){return U}});var n={};r.r(n),r.d(n,{getCategories:function(){return ne},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 H},getPatternsByQuery:function(){return Y},getQueryFromUrl:function(){return ue},getUrlFromQuery:function(){return pe},hasLoadedCategories:function(){return re},isFavorite:function(){return ce},isLoadingCategories:function(){return te},isLoadingPatternFlagReasons:function(){return se},isLoadingPatternsByQuery:function(){return W}});var a=window.wp.element,o=window.wp.i18n,i=window.wp.htmlEntities,s=window.wp.
data,l=e=>{let{name:t,url:r,avatar:n}=e;return(0,a.createElement)("a",{href:r,className:"pattern__author-avatar"},(0,a.createElement)("img",{alt:"",src:n}),t)};const c=e=>{let{className:t="",style:r,children:n}=e;return(0,a.createElement)("span",{className:`${t} pattern-skeleton__container`,style:r},n)},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 r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}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)(),r=(0,a.useRef)();return(0,a.useEffect)((()=>{r.current&&t(`${m(r.current.clientWidth)}px`)}),[r]),(0,a.createElement)("div",{ref:r},(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",marginLeft:"0.5rem"}))))};var v=e=>{let{length:t=6}=e;return Array(t).fill().map(((e,t)=>(0,a.createElement)(f,{key:t})))},h=window.wp.url;const _=e=>e.split("?")[0],y=(e,t)=>{if(!t||!e)return"";const r=(0,h.getQueryArgs)(e);if(r[t])return r[t];const n=(o=_(e).replace(/\/$/,""),o.replace(/^\//,"")).split("/"),a=n.indexOf(t);var o;return-1===a?"":n[a+1]||""},w=e=>Number(y(e,"page")||1),E=(0,a.createContext)();function b(e){let{children:t}=e;const[r,n]=(0,a.useState)((0,h.getPathAndQueryString)(window.location.href)),o=e=>{window.history.pushState("","",e),n(e)},i=()=>{n(document.location.href)};return(0,a.useEffect)((()=>(window.addEventListener("popstate",i),()=>{window.removeEventListener("popstate",i)})),[]),(0,a.creat
eElement)(E.Provider,{value:{path:r,update:e=>{const t=(e=>(e=>{const t={};return Object.keys(e).forEach((r=>{const n=e[r];null!=n&&n.toString().length>0&&(t[r]=n)})),t})({...(0,h.getQueryArgs)(r),...(0,h.getQueryArgs)(e)}))(e),n=_(e),a=(0,h.addQueryArgs)(n,t);o(a)},replace:o}},t)}function P(){const e=(0,a.useContext)(E);if(void 0===e)throw new Error("useRoute must be used within a Provider");return e}function S(e){let{currentPage:t=1,onNavigation:r,totalPages:n}=e;const{path:i,update:s}=P();if(!n||n<=1)return null;const l=t>1,c=t<n,u=(0,h.getQueryString)(i)?"?"+(0,h.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 r=Array.from({length:e},((e,t)=>t+1)),n=[];return e<=5?r:(n.push(...r.slice(0,2)),t>=2&&t<=e-1&&n.push(...r.slice(t-2,t+1)),n.push(...r.slice(-2
)),n.filter(((e,t,r)=>r.indexOf(e)===t)).reduce(((e,t,r,n)=>{if(0===r)return e.push(t),e;const a=Math.abs(n[r]-n[r-1]);return 0===a||(a>1&&e.push("…"),e.push(t)),e}),[]))}(n,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 r&&r()};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&qu
ot;,{"aria-hidden":!0},(0,o._x)("Previous","previous page link label","wporg-patterns")))),d.map(((e,r)=>"…"===e?(0,a.createElement)("li",{className:"pagination__item",key:`${r}-${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.
-(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 k(e){return{type:"FETCH_BLOCK_PATTERNS",query:e}}function T(e,t){return{type:"LOAD_BLOCK_PATTERN",postId:e,pattern:t}}function C(e,t){let{page:r,patterns:n,total:a,totalPages:o}=t;return{type:"LOAD_BLOCK_PATTERNS",query:e,page:r,patterns:n,total:a,totalPages:o}}function x(
e,t){let{page:r,error:n}=t;return{type:"ERROR_BLOCK_PATTERNS",query:e,page:r,error:n}}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}}function $(){let e=arguments.length>0&&void 0!==arguments[
0]?arguments[0]:{};const t=Object.keys(e).sort();let r="";for(let n=0;n<t.length;n++){const a=t[n];let o=e[a];switch(Array.isArray(o)&&(o=e[a].join()),a){case"page":case"per_page":case"_fields":break;default:r+=(r?"&":"")+(0,h.addQueryArgs)("",{[a]:o}).slice(1)}}return r}function B(){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 r=(t.patterns||[]).reduce(((e,t)=>({...e,[t.id]:t})),{});return{...e,...r}}case"LOAD_BLOCK_PATTERN":return{...e,[t.postId]:t.pattern};case"ADD_FAVORITE":case"REMOVE_FAVORITE":{const r={...e[t.patternId],favorite_count:t.count};return{...e,[t.patternId]:r}}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 r=(t.patterns||[]).map((e=>{let{id:t}=e;return t})),{page:n,total:a,totalPages:o}=t;switch(t.type){case"LOAD_BLOCK_PATTERNS":{const i={...e[t.query]||{},total:a,totalPages:o};return i[n]=r,{...e,[t.query]:i}}case"ERROR_BLOCK_PATTERNS":{const r=e[t.query]||{};return r[n]=[],{...e,[t.query]:r}}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.categories||[]).sort(((e,t)=>e.name.localeCompare(t.name)));return[B()
,...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:r}=t;switch(t.type){case"LOAD_FAVORITES":return t.patternIds;case"ADD_FAVORITE":return e.includes(r)?e:[...e,r];case"REMOVE_FAVORITE":return e.filter((e=>e!==r))}return e}});function*U(e){const t=$(e);try{yield k(t);const r=yield(0,N.apiFetch)({path:(0,h.addQueryArgs)("/wp/v2
/wporg-pattern",{...e,locale:wporgLocale.id}),parse:!1}),{total:n,totalPages:a,results:o}=yield(0,N.__unstableAwaitPromise)(async function(e){try{var t,r;return{total:Number((null===(t=e.headers)||void 0===t?void 0:t.get("X-WP-Total"))||0),totalPages:Number((null===(r=e.headers)||void 0===r?void 0:r.get("X-WP-TotalPages"))||0),results:await e.json()}}catch(e){return{}}}(r));yield C(t,{page:e.page||1,patterns:o,total:n,totalPages:a})}catch(r){const n=yield(0,N.__unstableAwaitPromise)(async function(e){try{return await e.json()}catch(e){return{}}}(r));yield x(t,{page:e.page||1,error:n})}}function*K(e){try{const t=yield(0,N.apiFetch)({path:(0,h.addQueryArgs)(`/wp/v2/wporg-pattern/${e}`)});yield T(e,t)}catch(e){}}function*V(){try{yield{type:"FETCH_CATEGORIES"};const e=yield(0,N.apiFetch)({path:(0,h.addQueryArgs)("/wp/v2/pattern-categories",{per_page:50})});yield O(e)}catch(e){}}function*G(){try{yield{type:"FETCH_PATTERN_FLAG_REASONS"
;};const e=yield(0,N.apiFetch)({path:(0,h.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 W(e,t){var r,n;const a=$(t),o=(null==t?void 0:t.page)||1;return!Array.isArray(null===(r=e.patterns.queries)||void 0===r||null===(n=r[a])||void 0===n?void 0:n[o])}function H(e){return Object.values(e.patterns.byId)}function Y(e,t){var r,n;const a=$(t),o=(null==t?void 0:t.page)||1;return((null===(r=e.patterns.queries)||void 0===r||null===(n=r[a])||void 0===n?void 0:n[o])||[]).map((t=>e.patterns.byId[t]))}function X(e,t){var r,n;const a=$(t);return(null===(r=e.patterns.queries)||void 0===r||null===(n=r[a])||void 0===n?void 0:n.total)||0}function J(e,t){var r,n;const a=$(t);return(null===(r=e.patterns.queries)||void 0===r||null===(n=r[a])||void 0===n?void 0:n.totalPages)||0}function Z(e,t){return e.patterns.byId[t]||null}function ee(e){re
turn e.currentQuery}function te(e){return null===e.categories}function re(e){return Array.isArray(e.categories)}function ne(e){return e.categories}function ae(e,t){if(!re(e))return;const[r]=e.categories.filter((e=>e.slug===t));return r}function oe(e,t){if(re(e))return e.categories.find((e=>{let{id:r}=e;return t===r}))}function ie(e){return e.patternFlagReasons}function se(e){return null===e.patternFlagReasons}function le(e){return e.favorites}function ce(e,t){var r;return null===(r=e.favorites)||void 0===r?void 0:r.includes(t)}function ue(e,t){const r=["categories","author","page","search"],n=(0,h.getQueryArgs)(t),a=y(t,"categories");if(a&&-1===r.indexOf(a)){const t=ae(e,a);null!=t&&t.id&&(n["pattern-categories"]=t.id)}const o=y(t,"author");o&&-1===r.indexOf(o)&&(n.author_name=o);const i=w(t);"number"==typeof i&&i>1&&(n.page=i);const s=deco
deURI(y(t,"search"));s.length>0&&-1===r.indexOf(s)&&(n.search=s);const l=y(t,"my-patterns");return l&&"page"!==l&&(n.status=l),n}function pe(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:wporgPatternsUrl.site;if(r=r.replace(/\/$/,""),t.author_name&&(r+=`/author/${t.author_name}`,delete t.author_name),t["pattern-categories"]){const n=t["pattern-categories"],a=ne(e).find((e=>{let{id:t}=e;return n===t}));null!=a&&a.slug&&(r+=`/categories/${a.slug}`),delete t["pattern-categories"]}return t.page&&(r+=`/page/${t.page}`,delete t.page),Object.keys(t).length?(r+="/?"+(0,h.buildQueryString)(t),r):r+"/"}const de=(0,s.createReduxStore)("wporg/pattern-directory",{reducer:q,selectors:n,actions:e,controls:N.controls,resolvers:t});(0
,s.register)(de);var ge=function(e){let{header:t,children:r,onNavigation:n,query:o,showPagination:i=!0}=e;const{isLoading:l,posts:c,totalPages:u}=(0,s.useSelect)((e=>{const{getPatternTotalPagesByQuery:t,getPatternsByQuery:r,isLoadingPatternsByQuery:n}=e(de);return{isLoading:o&&n(o),posts:o?r(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)(v,{length:null==o?void 0:o.per_page}):c.map(r)),i&&(0,a.createElement)(S,{totalPages:u,currentPage:null==o?void 0:o.page,onNavigation:n}))},me=window.wp.compose,fe=window.wp.components,ve=function(e){let{url:t}=e;return(0,a.createElement)("div",null,(0,a.createElement)("iframe",{className:"pattern-preview__viewport-iframe",title:(0,o.__)("Pattern Preview","wporg-patterns"),tabIndex:"-1",style:{width:"100%",height:"50vh"
;,minHeight:"600px",overflowY:"auto"},src:t}))},he=window.React,_e=r.n(he);function ye(e,t){return e.map((function(e,r){return e+t[r]}))}function we(e,t){return e.map((function(e,r){return e-t[r]}))}function Ee(e){return Math.hypot.apply(Math,e)}function be(e){return Math.sign?Math.sign(e):Number(e>0)-Number(e<0)||+e}function Pe(e,t,r){return 0===t||Math.abs(t)===1/0?function(e,t){return Math.pow(e,5*t)}(e,r):e*t*r/(t+r*e)}function Se(e,t,r,n){return void 0===n&&(n=.15),0===n?function(e,t,r){return Math.max(t,Math.min(e,r))}(e,t,r):e<t?-Pe(t-e,r-t,n)+t:e>r?+Pe(e-r,r-t,n)+r:e}function Ne(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function ke(){return ke=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}
return e},ke.apply(this,arguments)}function Te(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function Ce(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function xe(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Ae(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return xe(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?xe(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done
:!1,value:e[n++]}}}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(r=e[Symbol.iterator]()).next.bind(r)}function Ie(){}function Oe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return 0===t.length?Ie:1===t.length?t[0]:function(){for(var e,r,n=Ae(t);!(r=n()).done;){var a=r.value;e=a.apply(this,arguments)||e}return e}}function Le(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 Re(e){if("function"==typeof e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return e.apply(void 0,r)}return e}function De(e,t){void 0===e&&(e={});for(var r={},n=0,a=Object.entries(t);n<a.length;n++){var o=a[n],i=o[0],s=o[1];switch(typeof s){case"function":r[i]=s.call(r,e[i],i
,e);break;case"object":r[i]=De(e[i],s);break;case"boolean":s&&(r[i]=e[i])}}return r}function Fe(){return"undefined"!=typeof window&&"ontouchstart"in window}function Me(e){return"pointerId"in e?null:"touchend"===e.type?e.changedTouches:e.targetTouches}function $e(e){return Array.from(Me(e)).map((function(e){return e.identifier}))}function Be(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 je(e,t){void 0===t&&(t=Qe);var r=Me(e),n=r?r[0]:e;return t([n.clientX,n.clientY])}var qe=ke({},{threshold:function(e){return void 0===e&&(e=0),Le(e)},rubberband:function(e){switch(void 0===e&&(e=0),e){case!0:return Le(.15);case!1:return Le(0);default:return Le(e)}},enabled:function(e){return void 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:Le(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 qe.bounds(e(t))};var t=e,r=t.left,n=void 0===r?-1/0:r,a=t.right,o=void 0===a?1/0:a,i=t.top,s=void 0===i?-1/0:i,l=t.bottom;return[[n,o],[s,void 0===l?1/0:l]]}}),Ue="undefined"!=typeof window&&window.document&&window.document.createElement,Ke={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=Ue?window:void 0),e})),eventOptions:function(e){var t=void 0===e?{}:e,r=t.passive,n=void 0===r||r,a=t.capture;return{passive:n,capture:void 0!==a&&a}},transform:!0},Ve=ke({},qe,{useTouch:function(e){void 0
===e&&(e=!1);var t=Fe(),r="undefined"!=typeof window&&"onpointerdown"in window;return!(!e||!t)||!(!t||r)},experimental_preventWindowScrollY:function(e){return void 0===e&&(e=!1),e},threshold:function(e,t,r){var n=r.filterTaps,a=void 0!==n&&n,o=r.lockDirection,i=void 0!==o&&o,s=r.axis,l=Le(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),Le(e)},swipeDistance:function(e){return void 0===e&&(e=50),Le(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 Ge(e){var t,r=e.domTarget,n=e.eventOptions,a=e.window,o=e.enabled,i=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,["domTarget","eventOptions","wind
ow","enabled"]),s=(void 0===(t={domTarget:r,eventOptions:n,window:a,enabled:o})&&(t={}),De(t,Ke));return s.drag=function(e){return void 0===e&&(e={}),De(e,Ve)}(i),s}function ze(e){return ke({_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:Ie,canceled:!1,memo:void 0,args:void 0},e)}function We(){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:ze({_pointerId:void 0,axis:void 0,xy:[0,0],vxvy:[0,0],velocity:0,distance:0,tap:!1,swipe:[0,0]}),p
inch:ze({_pointerIds:[],da:[0,0],vdva:[0,0],origin:void 0,turns:0}),wheel:ze({axis:void 0,xy:[0,0],vxvy:[0,0],velocity:0,distance:0}),move:ze({axis:void 0,xy:[0,0],vxvy:[0,0],velocity:0,distance:0}),scroll:ze({axis:void 0,xy:[0,0],vxvy:[0,0],velocity:0,distance:0})}}var He=new Map,Ye=function(e){return e},Xe=function(){function e(e,t){var r=this;void 0===t&&(t=[]),this.controller=e,this.args=t,this.debounced=!0,this.setTimeout=function(e,t){var n;void 0===t&&(t=140),clearTimeout(r.controller.timeouts[r.stateKey]);for(var a=arguments.length,o=new Array(a>2?a-2:0),i=2;i<a;i++)o[i-2]=arguments[i];r.controller.timeouts[r.stateKey]=(n=window).setTimeout.apply(n,[e,t].concat(o))},this.clearTimeout=function(){clearTimeout(r.controller.timeouts[r.stateKey])},this.fireGestureHandler=function(e){if(void 0===e&&(e=!1),r.state._blocked)return r.debounced||(r.state._active=!1,r.clean()),null;if(!e&&!r.state.intentional&&!r.config.triggerAllEvents)ret
urn null;if(r.state.intentional){var t=r.state.active,n=r.state._active;r.state.active=n,r.state.first=n&&!t,r.state.last=t&&!n,r.controller.state.shared[r.ingKey]=n}var a=r.controller.pointerIds.size||r.controller.touchIds.size,o=r.controller.state.shared.buttons>0||a>0,i=ke({},r.controller.state.shared,r.state,r.mapStateValues(r.state),{locked:!!document.pointerLockElement,touches:a,down:o}),s=r.handler(i);return r.state.memo=void 0!==s?s:r.state.memo,i},this.controller=e,this.args=t}var t,r,n=e.prototype;return n.updateSharedState=function(e){Object.assign(this.controller.state.shared,e)},n.updateGestureState=function(e){Object.assign(this.state,e)},n.checkIntentionality=function(e,t){return{_intentional:e,_blocked:!1}},n.getMovement=function(e){var t=this.config.rubberband,r=this.state,n=r._bounds,a=r._initial,o=r._active,i=r._intentional,s=r.lastOffset,l=r.movement,c=r._threshold,u=this.getInternalMovement(e,this.state),p=!1===i[0]?Je(u[0],c[0]):i[0],d=!1=
==i[1]?Je(u[1],c[1]):i[1],g=this.checkIntentionality([p,d],u);if(g._blocked)return ke({},g,{_movement:u,delta:[0,0]});var m=g._intentional,f=u,v=[!1!==m[0]?u[0]-m[0]:0,!1!==m[1]?u[1]-m[1]:0],h=ye(v,s),_=o?t:[0,0];return v=Ze(n,ye(v,a),_),ke({},g,{intentional:!1!==m[0]||!1!==m[1],_initial:a,_movement:f,movement:v,values:e,offset:Ze(n,h,_),delta:we(v,l)})},n.clean=function(){this.clearTimeout()},t=e,(r=[{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||Ye}}])&&Ne(t.prototype,r),e}();function Je(e,t){return Math.abs(e)>=t&&be(e)*t}function Ze(e,t,r){v
ar n=t[0],a=t[1],o=r[0],i=r[1],s=e[0],l=s[0],c=s[1],u=e[1],p=u[0],d=u[1];return[Se(n,l,c,o),Se(a,p,d,i)]}function et(e,t,r){var n=e.state,a=t.timeStamp,o=t.type,i=n.values;return{_lastEventType:o,event:t,timeStamp:a,elapsedTime:r?0:a-n.startTime,previous:i}}function tt(e,t,r,n){var a=e.state,o=e.config,i=e.stateKey,s=e.args,l=e.transform,c=a.offset,u=r.timeStamp,p=o.initial,d=o.bounds,g=we(l(o.threshold),l([0,0])).map(Math.abs),m=ke({},We()[i],{_active:!0,args:s,values:t,initial:null!=n?n:t,_threshold:g,offset:c,lastOffset:c,startTime:u});return ke({},m,{_initial:Re(p,m),_bounds:Re(d,m)})}var rt=function(e){var t=this;this.classes=e,this.pointerIds=new Set,this.touchIds=new Set,this.supportsTouchEvents=Fe(),this.supportsGestureEvents=function(){try{return"constructor"in GestureEvent}catch(e){return!1}}(),this.bind=function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];for(var a,o={},i=Ae(t.classes);!(a=i()).done;){var s=a.value;new s(t,r).add
Bindings(o)}var l=function(e){pt(o,e,(function(n){return t.nativeRefs[e](ke({},t.state.shared,{event:n,args:r}))}))};for(var c in t.nativeRefs)l(c);return t.config.domTarget?st(t,o):lt(t,o)},this.effect=function(){return t.config.domTarget&&t.bind(),t.clean},this.clean=function(){var e=ut(t.config),r=t.config.eventOptions;e&>(e,ct(t.domListeners),r),Object.values(t.timeouts).forEach(clearTimeout),function(e){var t=e.config,r=t.window,n=t.eventOptions,a=e.windowListeners;if(r){for(var o in a)gt(r,a[o],n);e.windowListeners={}}}(t)},this.classes=e,this.state=We(),this.timeouts={},this.domListeners=[],this.windowListeners={}};function nt(e,t){"pointerId"in t?e.pointerIds.add(t.pointerId):e.touchIds=new Set($e(t))}function at(e,t){"pointerId"in t?e.pointerIds.delete(t.pointerId):$e(t).forEach((function(t){return e.touchIds.delete(t)}))}function ot(e,t,r){var n=e.config,a=e.windowListeners;void 0===r&&(r=n.eventOptions),n.window&&(gt(n
.window,a[t],r),delete a[t])}function it(e,t,r,n){var a=e.config,o=e.windowListeners;void 0===r&&(r=[]),void 0===n&&(n=a.eventOptions),a.window&&(gt(a.window,o[t],n),dt(a.window,o[t]=r,n))}function st(e,t){var r=e.config,n=e.domListeners,a=ut(r);if(!a)throw new Error("domTarget must be defined");var o=r.eventOptions;gt(a,ct(n),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();n.push([p,Oe.apply(void 0,u)])}dt(a,n,o)}function lt(e,t){for(var r={},n=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];r[s+n]=Oe.apply(void 0,c)}return r}function ct(e){return void 0===e&&(e=[]),e.splice(0,e.length)}function ut(e){var t=e.domTarget;return t&&"current"in t?t.current:t}function pt(e,t,r){e[t]||(e[t]=[]),e[t].push(r)}function dt(e,t,r){void 0===t&&(t=[]),void 0===r&am
p;&(r={});for(var n,a=Ae(t);!(n=a()).done;){var o=n.value,i=o[0],s=o[1];e.addEventListener(i,s,r)}}function gt(e,t,r){void 0===t&&(t=[]),void 0===r&&(r={});for(var n,a=Ae(t);!(n=a()).done;){var o=n.value,i=o[0],s=o[1];e.removeEventListener(i,s,r)}}function mt(){}var ft=function(e){function t(){return e.apply(this,arguments)||this}Te(t,e);var r=t.prototype;return r.getInternalMovement=function(e,t){return we(e,t.initial)},r.checkIntentionality=function(e,t){if(!1===e[0]&&!1===e[1])return{_intentional:e,axis:this.state.axis};var r=t.map(Math.abs),n=r[0],a=r[1],o=this.state.axis||(n>a?"x":n<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}},r.getKinematics=function(e,t){var r=this.getMovement(
e);if(!r._blocked){var n=t.timeStamp-this.state.timeStamp;Object.assign(r,function(e,t,r){var n=Ee(t),a=0===n?0:1/n,o=0===r?0:1/r,i=o*n,s=t.map((function(e){return o*e})),l=t.map((function(e){return a*e}));return{velocities:s,velocity:i,distance:Ee(e),direction:l}}(r.movement,r.delta,n))}return r},r.mapStateValues=function(e){return{xy:e.values,vxvy:e.velocities}},t}(Xe);function vt(e){"persist"in e&&"function"==typeof e.persist&&e.persist()}var ht=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 r=e.target,n=e.pointerId;r&&"setPointerCapture"in r&&r.setPointerCapture(n),t.updateGestureState({_dragTarget:r,_dragPointerId:n})}},t.releasePointerCapture=function(){if(!t.config.useTouch&&!document.pointerLockElement){var e=t.state,r=e._dragTarget
,n=e._dragPointerId;if(n&&r&&"releasePointerCapture"in r&&(!("hasPointerCapture"in r)||r.hasPointerCapture(n)))try{r.releasePointerCapture(n)}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){vt(e),it(t.controller,t.stateKey,[["touchmove",t.preventScroll],["touchend",t.clean.bind(Ce(t))],["touchcancel",t.clean.bind(Ce(t))]],{passive:!1}),t.setTimeout(t.startDrag.bind(Ce(t)),250,e)},t.setUpDelayedDragTrigger=function(e){t.state._dragDelayed=!0,vt(e),t.setTimeout(t.startDrag.bind(Ce(t)),t.config.delay,e)},t.setStartState=function
(e){var r=je(e,t.transform);t.updateSharedState(Be(e)),t.updateGestureState(ke({},tt(Ce(t),r,e),et(Ce(t),e,!0),{_pointerId:t.getEventId(e)})),t.updateGestureState(t.getMovement(r))},t.onDragStart=function(e){nt(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 r;if(document.pointerLockElement){var n=e.movementX,a=e.movementY;r=ye(t.transform([n,a]),t.state.values)}else r=je(e,t.transform);var o=t.getKinematics(r,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._act
ive=!1);t.startDrag(e)}var i=Be(e);t.updateSharedState(i);var s=et(Ce(t),e),l=Ee(o._movement),c=t.state._dragIsTap;c&&l>=3&&(c=!1),t.updateGestureState(ke({},s,o,{_dragIsTap:c})),t.fireGestureHandler()}},t.onDragEnd=function(e){if(at(t.controller,e),t.isValidEvent(e)&&(t.clean(),t.state._active)){t.state._active=!1;var r=t.state._dragIsTap,n=t.state.velocities,a=n[0],o=n[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,v=f[0],h=f[1],_=t.config.swipeDuration,y=ke({},et(Ce(t),e),t.getMovement(t.state.values)),w=[0,0];y.elapsedTime<_&&(!1!==u&&Math.abs(a)>g&&Math.abs(s)>v&&(w[0]=be(a)),!1!==p&&Math.abs(o)>m&&Math.abs(l)>h&&(w[1]=be(o))),t.updateSharedState({buttons:0}),t.updateGestureState(ke({},y,{tap:r,swipe:w})),t.fireGestureHandler(t.config.filterTaps&&!0===r)}},t.clean=function(){e.prototyp
e.clean.call(Ce(t)),t.state._dragStarted=!1,t.releasePointerCapture(),ot(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}Te(t,e);var r=t.prototype;return r.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())},r.addBindings=function(e){this.config.useTouch?(pt(e,"onTouchStart",this.onDragStart),pt(e,"onTouchMove",this.onDragChange),pt(e,"onTouchEnd",this.onDragEnd),pt(e,"onTouchCancel",this.onDragEnd)):(pt(e,"onPointerDown",this.onDragStart),pt(e,"onPointerMove",this.onDragChange),pt(e,&qu
ot;onPointerUp",this.onDragEnd),pt(e,"onPointerCancel",this.onDragEnd)),this.config.filterTaps&&pt(e,this.controller.config.eventOptions.capture?"onClick":"onClickCapture",this.onClick)},t}(ft);function _t(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){if(e.constructor!==t.constructor)return!1;var r,n,a,o;if(Array.isArray(e)){if((r=e.length)!==t.length)return!1;for(n=r;0!=n--;)if(!_t(e[n],t[n]))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();!(n=o.next()).done;)if(!t.has(n.value[0]))return!1;for(o=e.entries();!(n=o.next()).done;)if(!_t(n.value[1],t.get(n.value[0])))return!1;return!0}if("function"==typeof Set&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(o=e.entries();!(n=o.next()).done;)if(!t.has(n.value[0]))return!1;retu
rn!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((r=(a=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(n=r;0!=n--;)if(!Object.prototype.hasOwnProperty.call(t,a[n]))return!1;if("undefined"!=typeof Element&&e instanceof Element)return!1;for(n=r;0!=n--;)if(!("_owner"===a[n]&&e.$$typeof||_t(e[a[n]],t[a[n]])))return!1;return!0}return e!=e&&t!=t}function yt(e,t){try{return _t(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 wt=window.wp.keycodes,Et=function(e){let{label:t,className:r,onDragChange:n,onDragEnd:o,direction:i="left",...s}=e;const l=function(e,t){void 0===t&&(t={}),He.set("drag",ht);var r=(0,he
.useRef)();return r.current||(r.current=function(e,t){var r,n,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&&r===this&&t(s,a)||(n=e.apply(this,s),o=!0,r=this,a=s),n}}(Ge,yt)),function(e,t,r){void 0===r&&(r={});var n=function(e){var t=new Set;return e.drag&&t.add(He.get("drag")),e.wheel&&t.add(He.get("wheel")),e.scroll&&t.add(He.get("scroll")),e.move&&t.add(He.get("move")),e.pinch&&t.add(He.get("pinch")),e.hover&&t.add(He.get("hover")),t}(e),a=_e().useMemo((function(){return new rt(n)}),[]);return a.config=t,a.handlers=e,a.nativeRefs=r,_e().useEffect(a.effect,[]),a.config.domTarget?mt:a.bind}({drag:e=>{let{delta:t,dragging:r}=e;const a="left"===i?-2:2;r?n(t[0]*a):o()}},r.current(t))}();return(0,a.createElement)("div",{className:`pattern-preview__drag-handle ${r}`},(0
,a.createElement)("button",p({className:"pattern-preview__drag-handle-button","aria-label":t},s,{onKeyDown:e=>{const{keyCode:t}=e;"left"===i&&t===wt.LEFT||"right"===i&&t===wt.RIGHT?n(20):("left"===i&&t===wt.RIGHT||"right"===i&&t===wt.LEFT)&&n(-20)},onKeyUp:o},l())))},bt=function e(t){let{pattern:r}=t;const n=(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)((()=>n?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}]:[]),[n,i,s]);let m=!1;if(!g.some((e=>e.value===c))){const e=Math.max(Math.floor(c),280);m={
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+!function(){var e={184:function(e,t){var r;!function(){"use strict";var n={}.hasOwnProperty;function a(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)){if(r.length){var i=a.apply(null,r);i&&e.push(i)}}else if("object"===o){if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]")){e.push(r.toString());continue}for(var s in r)n.call(r,s)&&r[s]&&e.push(s)}}}return e.join(" ")}e.exports?(a.default=a,e.exports=a):void 0===(r=function(){return a}.apply(t,[]))||(e.exports=r)}()}},t={};function r(n){var a=t[n];if(void 0!==a)return a.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.defau
lt}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.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={};r.r(e),r.d(e,{addFavorite:function(){return F},fetchCategories:function(){return I},fetchPatternFlagReasons:function(){return L},fetchPatterns:function(){return k},loadCategories:function(){return O},loadFavorites:function(){return D},loadPattern:function(){return T},loadPatternFlagReasons:function(){return R},loadPatterns:function(){return x},removeFavorite:function(){return M},setCurrentQuery:function(){return A},setErrorPatterns:function(){return C}});var t={};r.r(t),r.d(t,{getCategorie
s:function(){return V},getFavorites:function(){return W},getPattern:function(){return K},getPatternFlagReasons:function(){return G},getPatternsByQuery:function(){return U}});var n={};r.r(n),r.d(n,{getCategories:function(){return ne},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 H},getPatternsByQuery:function(){return Y},getQueryFromUrl:function(){return ue},getUrlFromQuery:function(){return pe},hasLoadedCategories:function(){return re},isFavorite:function(){return ce},isLoadingCategories:function(){return te},isLoadingPatternFlagReasons:function(){return se},isLoadingPatternsByQuery:function(){return z}});var a=window.wp.element,o=window.wp.i18n,i=window.wp.htmlEntities,s=window.wp.d
ata,l=e=>{let{name:t,url:r,avatar:n}=e;return(0,a.createElement)("a",{href:r,className:"pattern__author-avatar"},(0,a.createElement)("img",{alt:"",src:n}),t)};const c=e=>{let{className:t="",style:r,children:n}=e;return(0,a.createElement)("span",{className:`${t} pattern-skeleton__container`,style:r},n)},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 r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}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)(),r=(0,a.useRef)();return(0,a.useEffect)((()=>{r.current&&t(`${m(r.current.clientWidth)}px`)}),[r]),(0,a.createElement)("div",{ref:r},(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:"p
attern-favorite-button__filled"}),(0,a.createElement)(u,{height:"12px",width:"32px",marginLeft:"0.5rem"}))))};var v=e=>{let{length:t=6}=e;return Array(t).fill().map(((e,t)=>(0,a.createElement)(f,{key:t})))},h=window.wp.url;const _=e=>e.split("?")[0],y=(e,t)=>{if(!t||!e)return"";const r=(0,h.getQueryArgs)(e);if(r[t])return r[t];const n=(o=_(e).replace(/\/$/,""),o.replace(/^\//,"")).split("/"),a=n.indexOf(t);var o;return-1===a?"":n[a+1]||""},w=e=>Number(y(e,"page")||1),E=(0,a.createContext)();function b(e){let{children:t}=e;const[r,n]=(0,a.useState)((0,h.getPathAndQueryString)(window.location.href)),o=e=>{window.history.pushState("","",e),n(e)},i=()=>{n(document.location.href)};return(0,a.useEffect)((()=>(window.addEventListener("popstate",i),()=>{window.removeEventListener("popstate",i)})),[]),(0,a.create
Element)(E.Provider,{value:{path:r,update:e=>{const t=(e=>(e=>{const t={};return Object.keys(e).forEach((r=>{const n=e[r];null!=n&&n.toString().length>0&&(t[r]=n)})),t})({...(0,h.getQueryArgs)(r),...(0,h.getQueryArgs)(e)}))(e),n=_(e),a=(0,h.addQueryArgs)(n,t);o(a)},replace:o}},t)}function P(){const e=(0,a.useContext)(E);if(void 0===e)throw new Error("useRoute must be used within a Provider");return e}function S(e){let{currentPage:t=1,onNavigation:r,totalPages:n}=e;const{path:i,update:s}=P();if(!n||n<=1)return null;const l=t>1,c=t<n,u=(0,h.getQueryString)(i)?"?"+(0,h.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 r=Array.from({length:e},((e,t)=>t+1)),n=[];return e<=5?r:(n.push(...r.slice(0,2)),t>=2&&t<=e-1&&n.push(...r.slice(t-2,t+1)),n.push(...r.slice(-2)
),n.filter(((e,t,r)=>r.indexOf(e)===t)).reduce(((e,t,r,n)=>{if(0===r)return e.push(t),e;const a=Math.abs(n[r]-n[r-1]);return 0===a||(a>1&&e.push("…"),e.push(t)),e}),[]))}(n,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 r&&r()};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&quo
t;,{"aria-hidden":!0},(0,o._x)("Previous","previous page link label","wporg-patterns")))),d.map(((e,r)=>"…"===e?(0,a.createElement)("li",{className:"pagination__item",key:`${r}-${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.
+(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 k(e){return{type:"FETCH_BLOCK_PATTERNS",query:e}}function T(e,t){return{type:"LOAD_BLOCK_PATTERN",postId:e,pattern:t}}function x(e,t){let{page:r,patterns:n,total:a,totalPages:o}=t;return{type:"LOAD_BLOCK_PATTERNS",query:e,page:r,patterns:n,total:a,totalPages:o}}function C(
e,t){let{page:r,error:n}=t;return{type:"ERROR_BLOCK_PATTERNS",query:e,page:r,error:n}}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}}function $(){let e=arguments.length>0&&void 0!==arguments[
0]?arguments[0]:{};const t=Object.keys(e).sort();let r="";for(let n=0;n<t.length;n++){const a=t[n];let o=e[a];switch(Array.isArray(o)&&(o=e[a].join()),a){case"page":case"per_page":case"_fields":break;default:r+=(r?"&":"")+(0,h.addQueryArgs)("",{[a]:o}).slice(1)}}return r}function B(){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 r=(t.patterns||[]).reduce(((e,t)=>({...e,[t.id]:t})),{});return{...e,...r}}case"LOAD_BLOCK_PATTERN":return{...e,[t.postId]:t.pattern};case"ADD_FAVORITE":case"REMOVE_FAVORITE":{const r={...e[t.patternId],favorite_count:t.count};return{...e,[t.patternId]:r}}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 r=(t.patterns||[]).map((e=>{let{id:t}=e;return t})),{page:n,total:a,totalPages:o}=t;switch(t.type){case"LOAD_BLOCK_PATTERNS":{const i={...e[t.query]||{},total:a,totalPages:o};return i[n]=r,{...e,[t.query]:i}}case"ERROR_BLOCK_PATTERNS":{const r=e[t.query]||{};return r[n]=[],{...e,[t.query]:r}}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.categories||[]).sort(((e,t)=>e.name.localeCompare(t.name)));return[B()
,...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:r}=t;switch(t.type){case"LOAD_FAVORITES":return t.patternIds;case"ADD_FAVORITE":return e.includes(r)?e:[...e,r];case"REMOVE_FAVORITE":return e.filter((e=>e!==r))}return e}});function*U(e){const t=$(e);try{yield k(t);const r=yield(0,N.apiFetch)({path:(0,h.addQueryArgs)("/wp/v2
/wporg-pattern",{...e,locale:wporgLocale.id}),parse:!1}),{total:n,totalPages:a,results:o}=yield(0,N.__unstableAwaitPromise)(async function(e){try{var t,r;return{total:Number((null===(t=e.headers)||void 0===t?void 0:t.get("X-WP-Total"))||0),totalPages:Number((null===(r=e.headers)||void 0===r?void 0:r.get("X-WP-TotalPages"))||0),results:await e.json()}}catch(e){return{}}}(r));yield x(t,{page:e.page||1,patterns:o,total:n,totalPages:a})}catch(r){const n=yield(0,N.__unstableAwaitPromise)(async function(e){try{return await e.json()}catch(e){return{}}}(r));yield C(t,{page:e.page||1,error:n})}}function*K(e){try{const t=yield(0,N.apiFetch)({path:(0,h.addQueryArgs)(`/wp/v2/wporg-pattern/${e}`)});yield T(e,t)}catch(e){}}function*V(){try{yield{type:"FETCH_CATEGORIES"};const e=yield(0,N.apiFetch)({path:(0,h.addQueryArgs)("/wp/v2/pattern-categories",{per_page:50})});yield O(e)}catch(e){}}function*G(){try{yield{type:"FETCH_PATTERN_FLAG_REASONS"
;};const e=yield(0,N.apiFetch)({path:(0,h.addQueryArgs)("/wp/v2/wporg-pattern-flag-reason")});yield R(e)}catch(e){}}function*W(){try{const e=yield(0,N.apiFetch)({path:"/wporg/v1/pattern-favorites"});yield D(e)}catch(e){}}function z(e,t){var r,n;const a=$(t),o=(null==t?void 0:t.page)||1;return!Array.isArray(null===(r=e.patterns.queries)||void 0===r||null===(n=r[a])||void 0===n?void 0:n[o])}function H(e){return Object.values(e.patterns.byId)}function Y(e,t){var r,n;const a=$(t),o=(null==t?void 0:t.page)||1;return((null===(r=e.patterns.queries)||void 0===r||null===(n=r[a])||void 0===n?void 0:n[o])||[]).map((t=>e.patterns.byId[t]))}function X(e,t){var r,n;const a=$(t);return(null===(r=e.patterns.queries)||void 0===r||null===(n=r[a])||void 0===n?void 0:n.total)||0}function J(e,t){var r,n;const a=$(t);return(null===(r=e.patterns.queries)||void 0===r||null===(n=r[a])||void 0===n?void 0:n.totalPages)||0}function Z(e,t){return e.patterns.byId[t]||null}function ee(e){re
turn e.currentQuery}function te(e){return null===e.categories}function re(e){return Array.isArray(e.categories)}function ne(e){return e.categories}function ae(e,t){if(!re(e))return;const[r]=e.categories.filter((e=>e.slug===t));return r}function oe(e,t){if(re(e))return e.categories.find((e=>{let{id:r}=e;return t===r}))}function ie(e){return e.patternFlagReasons}function se(e){return null===e.patternFlagReasons}function le(e){return e.favorites}function ce(e,t){var r;return null===(r=e.favorites)||void 0===r?void 0:r.includes(t)}function ue(e,t){const r=["categories","author","page","search"],n=(0,h.getQueryArgs)(t),a=y(t,"categories");if(a&&-1===r.indexOf(a)){const t=ae(e,a);null!=t&&t.id&&(n["pattern-categories"]=t.id)}const o=y(t,"author");o&&-1===r.indexOf(o)&&(n.author_name=o);const i=w(t);"number"==typeof i&&i>1&&(n.page=i);const s=deco
deURI(y(t,"search"));s.length>0&&-1===r.indexOf(s)&&(n.search=s);const l=y(t,"my-patterns");return l&&"page"!==l&&(n.status=l),n}function pe(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:wporgPatternsUrl.site;if(r=r.replace(/\/$/,""),t.author_name&&(r+=`/author/${t.author_name}`,delete t.author_name),t["pattern-categories"]){const n=t["pattern-categories"],a=ne(e).find((e=>{let{id:t}=e;return n===t}));null!=a&&a.slug&&(r+=`/categories/${a.slug}`),delete t["pattern-categories"]}return t.page&&(r+=`/page/${t.page}`,delete t.page),Object.keys(t).length?(r+="/?"+(0,h.buildQueryString)(t),r):r+"/"}const de=(0,s.createReduxStore)("wporg/pattern-directory",{reducer:q,selectors:n,actions:e,controls:N.controls,resolvers:t});(0
,s.register)(de);var ge=function(e){let{header:t,children:r,onNavigation:n,query:o,showPagination:i=!0}=e;const{isLoading:l,posts:c,totalPages:u}=(0,s.useSelect)((e=>{const{getPatternTotalPagesByQuery:t,getPatternsByQuery:r,isLoadingPatternsByQuery:n}=e(de);return{isLoading:o&&n(o),posts:o?r(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)(v,{length:null==o?void 0:o.per_page}):c.map(r)),i&&(0,a.createElement)(S,{totalPages:u,currentPage:null==o?void 0:o.page,onNavigation:n}))},me=window.wp.compose,fe=window.wp.components,ve=function(e){let{url:t}=e;return(0,a.createElement)("div",null,(0,a.createElement)("iframe",{className:"pattern-preview__viewport-iframe",title:(0,o.__)("Pattern Preview","wporg-patterns"),tabIndex:"-1",style:{width:"100%",height:"50vh"
;,minHeight:"600px",overflowY:"auto"},src:t}))},he=window.React,_e=r.n(he);function ye(e,t){return e.map((function(e,r){return e+t[r]}))}function we(e,t){return e.map((function(e,r){return e-t[r]}))}function Ee(e){return Math.hypot.apply(Math,e)}function be(e){return Math.sign?Math.sign(e):Number(e>0)-Number(e<0)||+e}function Pe(e,t,r){return 0===t||Math.abs(t)===1/0?function(e,t){return Math.pow(e,5*t)}(e,r):e*t*r/(t+r*e)}function Se(e,t,r,n){return void 0===n&&(n=.15),0===n?function(e,t,r){return Math.max(t,Math.min(e,r))}(e,t,r):e<t?-Pe(t-e,r-t,n)+t:e>r?+Pe(e-r,r-t,n)+r:e}function Ne(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function ke(){return ke=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}
return e},ke.apply(this,arguments)}function Te(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function xe(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ce(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Ae(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return Ce(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ce(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done
:!1,value:e[n++]}}}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(r=e[Symbol.iterator]()).next.bind(r)}function Ie(){}function Oe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return 0===t.length?Ie:1===t.length?t[0]:function(){for(var e,r,n=Ae(t);!(r=n()).done;){var a=r.value;e=a.apply(this,arguments)||e}return e}}function Le(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 Re(e){if("function"==typeof e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return e.apply(void 0,r)}return e}function De(e,t){void 0===e&&(e={});for(var r={},n=0,a=Object.entries(t);n<a.length;n++){var o=a[n],i=o[0],s=o[1];switch(typeof s){case"function":r[i]=s.call(r,e[i],i
,e);break;case"object":r[i]=De(e[i],s);break;case"boolean":s&&(r[i]=e[i])}}return r}function Fe(){return"undefined"!=typeof window&&"ontouchstart"in window}function Me(e){return"pointerId"in e?null:"touchend"===e.type?e.changedTouches:e.targetTouches}function $e(e){return Array.from(Me(e)).map((function(e){return e.identifier}))}function Be(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 je(e,t){void 0===t&&(t=Qe);var r=Me(e),n=r?r[0]:e;return t([n.clientX,n.clientY])}var qe=ke({},{threshold:function(e){return void 0===e&&(e=0),Le(e)},rubberband:function(e){switch(void 0===e&&(e=0),e){case!0:return Le(.15);case!1:return Le(0);default:return Le(e)}},enabled:function(e){return void 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:Le(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 qe.bounds(e(t))};var t=e,r=t.left,n=void 0===r?-1/0:r,a=t.right,o=void 0===a?1/0:a,i=t.top,s=void 0===i?-1/0:i,l=t.bottom;return[[n,o],[s,void 0===l?1/0:l]]}}),Ue="undefined"!=typeof window&&window.document&&window.document.createElement,Ke={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=Ue?window:void 0),e})),eventOptions:function(e){var t=void 0===e?{}:e,r=t.passive,n=void 0===r||r,a=t.capture;return{passive:n,capture:void 0!==a&&a}},transform:!0},Ve=ke({},qe,{useTouch:function(e){void 0
===e&&(e=!1);var t=Fe(),r="undefined"!=typeof window&&"onpointerdown"in window;return!(!e||!t)||!(!t||r)},experimental_preventWindowScrollY:function(e){return void 0===e&&(e=!1),e},threshold:function(e,t,r){var n=r.filterTaps,a=void 0!==n&&n,o=r.lockDirection,i=void 0!==o&&o,s=r.axis,l=Le(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),Le(e)},swipeDistance:function(e){return void 0===e&&(e=50),Le(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 Ge(e){var t,r=e.domTarget,n=e.eventOptions,a=e.window,o=e.enabled,i=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,["domTarget","eventOptions","wind
ow","enabled"]),s=(void 0===(t={domTarget:r,eventOptions:n,window:a,enabled:o})&&(t={}),De(t,Ke));return s.drag=function(e){return void 0===e&&(e={}),De(e,Ve)}(i),s}function We(e){return ke({_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:Ie,canceled:!1,memo:void 0,args:void 0},e)}function ze(){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]}),p
inch: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 He=new Map,Ye=function(e){return e},Xe=function(){function e(e,t){var r=this;void 0===t&&(t=[]),this.controller=e,this.args=t,this.debounced=!0,this.setTimeout=function(e,t){var n;void 0===t&&(t=140),clearTimeout(r.controller.timeouts[r.stateKey]);for(var a=arguments.length,o=new Array(a>2?a-2:0),i=2;i<a;i++)o[i-2]=arguments[i];r.controller.timeouts[r.stateKey]=(n=window).setTimeout.apply(n,[e,t].concat(o))},this.clearTimeout=function(){clearTimeout(r.controller.timeouts[r.stateKey])},this.fireGestureHandler=function(e){if(void 0===e&&(e=!1),r.state._blocked)return r.debounced||(r.state._active=!1,r.clean()),null;if(!e&&!r.state.intentional&&!r.config.triggerAllEvents)ret
urn null;if(r.state.intentional){var t=r.state.active,n=r.state._active;r.state.active=n,r.state.first=n&&!t,r.state.last=t&&!n,r.controller.state.shared[r.ingKey]=n}var a=r.controller.pointerIds.size||r.controller.touchIds.size,o=r.controller.state.shared.buttons>0||a>0,i=ke({},r.controller.state.shared,r.state,r.mapStateValues(r.state),{locked:!!document.pointerLockElement,touches:a,down:o}),s=r.handler(i);return r.state.memo=void 0!==s?s:r.state.memo,i},this.controller=e,this.args=t}var t,r,n=e.prototype;return n.updateSharedState=function(e){Object.assign(this.controller.state.shared,e)},n.updateGestureState=function(e){Object.assign(this.state,e)},n.checkIntentionality=function(e,t){return{_intentional:e,_blocked:!1}},n.getMovement=function(e){var t=this.config.rubberband,r=this.state,n=r._bounds,a=r._initial,o=r._active,i=r._intentional,s=r.lastOffset,l=r.movement,c=r._threshold,u=this.getInternalMovement(e,this.state),p=!1===i[0]?Je(u[0],c[0]):i[0],d=!1=
==i[1]?Je(u[1],c[1]):i[1],g=this.checkIntentionality([p,d],u);if(g._blocked)return ke({},g,{_movement:u,delta:[0,0]});var m=g._intentional,f=u,v=[!1!==m[0]?u[0]-m[0]:0,!1!==m[1]?u[1]-m[1]:0],h=ye(v,s),_=o?t:[0,0];return v=Ze(n,ye(v,a),_),ke({},g,{intentional:!1!==m[0]||!1!==m[1],_initial:a,_movement:f,movement:v,values:e,offset:Ze(n,h,_),delta:we(v,l)})},n.clean=function(){this.clearTimeout()},t=e,(r=[{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||Ye}}])&&Ne(t.prototype,r),e}();function Je(e,t){return Math.abs(e)>=t&&be(e)*t}function Ze(e,t,r){v
ar n=t[0],a=t[1],o=r[0],i=r[1],s=e[0],l=s[0],c=s[1],u=e[1],p=u[0],d=u[1];return[Se(n,l,c,o),Se(a,p,d,i)]}function et(e,t,r){var n=e.state,a=t.timeStamp,o=t.type,i=n.values;return{_lastEventType:o,event:t,timeStamp:a,elapsedTime:r?0:a-n.startTime,previous:i}}function tt(e,t,r,n){var a=e.state,o=e.config,i=e.stateKey,s=e.args,l=e.transform,c=a.offset,u=r.timeStamp,p=o.initial,d=o.bounds,g=we(l(o.threshold),l([0,0])).map(Math.abs),m=ke({},ze()[i],{_active:!0,args:s,values:t,initial:null!=n?n:t,_threshold:g,offset:c,lastOffset:c,startTime:u});return ke({},m,{_initial:Re(p,m),_bounds:Re(d,m)})}var rt=function(e){var t=this;this.classes=e,this.pointerIds=new Set,this.touchIds=new Set,this.supportsTouchEvents=Fe(),this.supportsGestureEvents=function(){try{return"constructor"in GestureEvent}catch(e){return!1}}(),this.bind=function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];for(var a,o={},i=Ae(t.classes);!(a=i()).done;){var s=a.value;new s(t,r).add
Bindings(o)}var l=function(e){pt(o,e,(function(n){return t.nativeRefs[e](ke({},t.state.shared,{event:n,args:r}))}))};for(var c in t.nativeRefs)l(c);return t.config.domTarget?st(t,o):lt(t,o)},this.effect=function(){return t.config.domTarget&&t.bind(),t.clean},this.clean=function(){var e=ut(t.config),r=t.config.eventOptions;e&>(e,ct(t.domListeners),r),Object.values(t.timeouts).forEach(clearTimeout),function(e){var t=e.config,r=t.window,n=t.eventOptions,a=e.windowListeners;if(r){for(var o in a)gt(r,a[o],n);e.windowListeners={}}}(t)},this.classes=e,this.state=ze(),this.timeouts={},this.domListeners=[],this.windowListeners={}};function nt(e,t){"pointerId"in t?e.pointerIds.add(t.pointerId):e.touchIds=new Set($e(t))}function at(e,t){"pointerId"in t?e.pointerIds.delete(t.pointerId):$e(t).forEach((function(t){return e.touchIds.delete(t)}))}function ot(e,t,r){var n=e.config,a=e.windowListeners;void 0===r&&(r=n.eventOptions),n.window&&(gt(n
.window,a[t],r),delete a[t])}function it(e,t,r,n){var a=e.config,o=e.windowListeners;void 0===r&&(r=[]),void 0===n&&(n=a.eventOptions),a.window&&(gt(a.window,o[t],n),dt(a.window,o[t]=r,n))}function st(e,t){var r=e.config,n=e.domListeners,a=ut(r);if(!a)throw new Error("domTarget must be defined");var o=r.eventOptions;gt(a,ct(n),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();n.push([p,Oe.apply(void 0,u)])}dt(a,n,o)}function lt(e,t){for(var r={},n=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];r[s+n]=Oe.apply(void 0,c)}return r}function ct(e){return void 0===e&&(e=[]),e.splice(0,e.length)}function ut(e){var t=e.domTarget;return t&&"current"in t?t.current:t}function pt(e,t,r){e[t]||(e[t]=[]),e[t].push(r)}function dt(e,t,r){void 0===t&&(t=[]),void 0===r&am
p;&(r={});for(var n,a=Ae(t);!(n=a()).done;){var o=n.value,i=o[0],s=o[1];e.addEventListener(i,s,r)}}function gt(e,t,r){void 0===t&&(t=[]),void 0===r&&(r={});for(var n,a=Ae(t);!(n=a()).done;){var o=n.value,i=o[0],s=o[1];e.removeEventListener(i,s,r)}}function mt(){}var ft=function(e){function t(){return e.apply(this,arguments)||this}Te(t,e);var r=t.prototype;return r.getInternalMovement=function(e,t){return we(e,t.initial)},r.checkIntentionality=function(e,t){if(!1===e[0]&&!1===e[1])return{_intentional:e,axis:this.state.axis};var r=t.map(Math.abs),n=r[0],a=r[1],o=this.state.axis||(n>a?"x":n<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}},r.getKinematics=function(e,t){var r=this.getMovement(
e);if(!r._blocked){var n=t.timeStamp-this.state.timeStamp;Object.assign(r,function(e,t,r){var n=Ee(t),a=0===n?0:1/n,o=0===r?0:1/r,i=o*n,s=t.map((function(e){return o*e})),l=t.map((function(e){return a*e}));return{velocities:s,velocity:i,distance:Ee(e),direction:l}}(r.movement,r.delta,n))}return r},r.mapStateValues=function(e){return{xy:e.values,vxvy:e.velocities}},t}(Xe);function vt(e){"persist"in e&&"function"==typeof e.persist&&e.persist()}var ht=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 r=e.target,n=e.pointerId;r&&"setPointerCapture"in r&&r.setPointerCapture(n),t.updateGestureState({_dragTarget:r,_dragPointerId:n})}},t.releasePointerCapture=function(){if(!t.config.useTouch&&!document.pointerLockElement){var e=t.state,r=e._dragTarget
,n=e._dragPointerId;if(n&&r&&"releasePointerCapture"in r&&(!("hasPointerCapture"in r)||r.hasPointerCapture(n)))try{r.releasePointerCapture(n)}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){vt(e),it(t.controller,t.stateKey,[["touchmove",t.preventScroll],["touchend",t.clean.bind(xe(t))],["touchcancel",t.clean.bind(xe(t))]],{passive:!1}),t.setTimeout(t.startDrag.bind(xe(t)),250,e)},t.setUpDelayedDragTrigger=function(e){t.state._dragDelayed=!0,vt(e),t.setTimeout(t.startDrag.bind(xe(t)),t.config.delay,e)},t.setStartState=function
(e){var r=je(e,t.transform);t.updateSharedState(Be(e)),t.updateGestureState(ke({},tt(xe(t),r,e),et(xe(t),e,!0),{_pointerId:t.getEventId(e)})),t.updateGestureState(t.getMovement(r))},t.onDragStart=function(e){nt(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 r;if(document.pointerLockElement){var n=e.movementX,a=e.movementY;r=ye(t.transform([n,a]),t.state.values)}else r=je(e,t.transform);var o=t.getKinematics(r,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._act
ive=!1);t.startDrag(e)}var i=Be(e);t.updateSharedState(i);var s=et(xe(t),e),l=Ee(o._movement),c=t.state._dragIsTap;c&&l>=3&&(c=!1),t.updateGestureState(ke({},s,o,{_dragIsTap:c})),t.fireGestureHandler()}},t.onDragEnd=function(e){if(at(t.controller,e),t.isValidEvent(e)&&(t.clean(),t.state._active)){t.state._active=!1;var r=t.state._dragIsTap,n=t.state.velocities,a=n[0],o=n[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,v=f[0],h=f[1],_=t.config.swipeDuration,y=ke({},et(xe(t),e),t.getMovement(t.state.values)),w=[0,0];y.elapsedTime<_&&(!1!==u&&Math.abs(a)>g&&Math.abs(s)>v&&(w[0]=be(a)),!1!==p&&Math.abs(o)>m&&Math.abs(l)>h&&(w[1]=be(o))),t.updateSharedState({buttons:0}),t.updateGestureState(ke({},y,{tap:r,swipe:w})),t.fireGestureHandler(t.config.filterTaps&&!0===r)}},t.clean=function(){e.prototyp
e.clean.call(xe(t)),t.state._dragStarted=!1,t.releasePointerCapture(),ot(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}Te(t,e);var r=t.prototype;return r.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())},r.addBindings=function(e){this.config.useTouch?(pt(e,"onTouchStart",this.onDragStart),pt(e,"onTouchMove",this.onDragChange),pt(e,"onTouchEnd",this.onDragEnd),pt(e,"onTouchCancel",this.onDragEnd)):(pt(e,"onPointerDown",this.onDragStart),pt(e,"onPointerMove",this.onDragChange),pt(e,&qu
ot;onPointerUp",this.onDragEnd),pt(e,"onPointerCancel",this.onDragEnd)),this.config.filterTaps&&pt(e,this.controller.config.eventOptions.capture?"onClick":"onClickCapture",this.onClick)},t}(ft);function _t(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){if(e.constructor!==t.constructor)return!1;var r,n,a,o;if(Array.isArray(e)){if((r=e.length)!==t.length)return!1;for(n=r;0!=n--;)if(!_t(e[n],t[n]))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();!(n=o.next()).done;)if(!t.has(n.value[0]))return!1;for(o=e.entries();!(n=o.next()).done;)if(!_t(n.value[1],t.get(n.value[0])))return!1;return!0}if("function"==typeof Set&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(o=e.entries();!(n=o.next()).done;)if(!t.has(n.value[0]))return!1;retu
rn!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((r=(a=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(n=r;0!=n--;)if(!Object.prototype.hasOwnProperty.call(t,a[n]))return!1;if("undefined"!=typeof Element&&e instanceof Element)return!1;for(n=r;0!=n--;)if(!("_owner"===a[n]&&e.$$typeof||_t(e[a[n]],t[a[n]])))return!1;return!0}return e!=e&&t!=t}function yt(e,t){try{return _t(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 wt=window.wp.keycodes,Et=function(e){let{label:t,className:r,onDragChange:n,onDragEnd:o,direction:i="left",...s}=e;const l=function(e,t){void 0===t&&(t={}),He.set("drag",ht);var r=(0,he
.useRef)();return r.current||(r.current=function(e,t){var r,n,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&&r===this&&t(s,a)||(n=e.apply(this,s),o=!0,r=this,a=s),n}}(Ge,yt)),function(e,t,r){void 0===r&&(r={});var n=function(e){var t=new Set;return e.drag&&t.add(He.get("drag")),e.wheel&&t.add(He.get("wheel")),e.scroll&&t.add(He.get("scroll")),e.move&&t.add(He.get("move")),e.pinch&&t.add(He.get("pinch")),e.hover&&t.add(He.get("hover")),t}(e),a=_e().useMemo((function(){return new rt(n)}),[]);return a.config=t,a.handlers=e,a.nativeRefs=r,_e().useEffect(a.effect,[]),a.config.domTarget?mt:a.bind}({drag:e=>{let{delta:t,dragging:r}=e;const a="left"===i?-2:2;r?n(t[0]*a):o()}},r.current(t))}();return(0,a.createElement)("div",{className:`pattern-preview__drag-handle ${r}`},(0
,a.createElement)("button",p({className:"pattern-preview__drag-handle-button","aria-label":t},s,{onKeyDown:e=>{const{keyCode:t}=e;"left"===i&&t===wt.LEFT||"right"===i&&t===wt.RIGHT?n(20):("left"===i&&t===wt.RIGHT||"right"===i&&t===wt.LEFT)&&n(-20)},onKeyUp:o},l())))},bt=function e(t){let{pattern:r}=t;const n=(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)((()=>n?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}]:[]),[n,i,s]);let m=!1;if(!g.some((e=>e.value===c))){const e=Math.max(Math.floor(c),280);m={
</ins><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"},n&&(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)(Et,{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)(ve,{url:(0,h.addQueryArgs)(r.link,{view:!0})}),(0,a.createElement)(Et,{label:(0,o.__)("Drag to r
esize","wporg-patterns"),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 Pt=()=>(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 St=e=>{let{onFinish:t}=e;return(0,a.createElement)(fe.Animate,{type:"appear",options:{origin:"bottom"}},(e=>{let{className:r}=e;return(0,a.createElement)(fe.Guide,{className:`pattern-actions__guide ${r}`,onFinish:t,finishButtonText:(0,o.__)("Close","wporg-pa
tterns"),pages:[{image:(0,a.createElement)(Pt,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",n
ull,(0,a.createElement)("p",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"})})))))}]})}))},Nt=r(184),kt=r.n(Nt),Tt=window.lodash,Ct=window.wp.a11y,xt=e=>{let{isSmall:t=!1,onSuccess:r=Tt.noop,content:n}=e;const[i,s]=(0,a.useState)(!1);if(!n){const e=document.getElementById("block-data");n=JSON.parse(decodeURIComponent(e.value))}(0,a.useEffect)((()=>{if(!i)return;(0,Ct.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-patter
ns");t&&(l=i?(0,o.__)("Copied","wporg-patterns"):(0,o.__)("Copy","wporg-patterns"));const c=kt()({"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 r=document.execCommand("copy");return document.body.removeChild(t),r})(n);s(a),t.focus(),a&&r()}},l)},At=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&
quot;}]},(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")))},It=window.wp.coreData;function Ot(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 Lt=e=>{let{showLabel:t=!0,patternId:r}=e;const{hasPermission:n,isFavorite:i}=(0,s.useSelect)((e
=>(e(de).getFavorites(),{hasPermission:!!e(It.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]);if(!n)return null;const p=kt()("button button-link pattern-favorite-button",{"is-favorited":i,"has-label":t}),d=kt()({"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)(Ot,{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")))},Rt=window.wp.apiFetch,Dt=r.n(Rt),Ft=(0,a.createElement)(d.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2
000/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"})),Mt=e=>{let{patternId:t,isSmall:r}=e;const{isDraft:n,parent:i}=(0,s.useSelect)((e=>{const r=e(de).getPattern(t);return{isDraft:"draft"===(null==r?void 0:r.status),parent:(null==r?void 0:r.parent)||0}}),[t]),{loadPattern:l}=(0,s.useDispatch)(de),c=()=>{Dt()({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"))&&Dt()({path:`/wp/v2/wporg-pattern/${t}/`,method:"DELETE"}).then((()=>{window.location=`${wporgPatternsUrl.site}/my-patterns/`}))},p=`${wporgPatternsUrl.site}/pattern/${i||t}/edit/`,d=r?(0,a.createElement)(fe.Icon,{icon:Ft}):(0,a.createElement)(a.Fragment,null,(0,o.__)("Options","wporg-patterns"),(0,a.createElement)(fe.Icon,{icon:
Ft})),g=r?"pattern-manage-options__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")),!n&&(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")))))},$t=e=>{let{postId:t,showOptions:r}=e;const[n,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.createElement)(xt,{onSuccess:()=>o(!0)}),(0,a.createElement)(Lt,{patternId:t}),r&&(0,a.createElement)(Mt,{patternId:t}),n&&(0,a.createElement)(At,{onClick:()=>s(!0)}),i&&(0,a.createElement)(St,{onFinish:()=>s(!1)})))};function Bt(e){let{alt:t,className:r,isReady:n=!1,src:i,style:s}=e;const l=(0,h.addQueryArgs)(`https://s0.wp.com/mshots/v1/${encodeURIComponent(i)}`,{w:600,vpw:1200,vph:m(1200)}),[c,u]=(0,a.useState)(0),[p,d]=(0,a.useState)(!1),[g,f]=(0,a.useState)(!1),[v,_]=(0,a.useState)(""),y=c>10,w=n&&!p&&!y&&!g;return function(e,t){const r=(0,a.useRef)();(0,a.useEffect)((()=>{r.current=e}),[e]),(0,a.useEffect)((()=>{if(null!==t){const e=setInterval((function(){r.current()}),t);return()=>clearInterval(e)}}),[t])}((async()=>{try{const e=await fetch(l);200!
==e.status||e.redirected?u(c+1):(await(async e=>{const t=await e.blob(),r=new FileReader;r.onload=e=>{_(e.target.result)},r.readAsDataURL(t)})(e),d(!0))}catch(e){f(!0)}}),w?1e3:null),n?w?(0,a.createElement)("div",{className:`${r} is-loading`,style:s},(0,a.createElement)(fe.Spinner,{style:{width:"32px",height:"32px"}}),(0,a.createElement)("span",{className:"screen-reader-text"},(0,o.__)("Loading","wporg-patterns"))):g||y?(0,a.createElement)("div",{className:`${r} has-error`,style:s},(0,o.__)("Error","wporg-patterns")):(0,a.createElement)("div",{className:r},(0,a.createElement)("img",{src:v,alt:t,style:{...s,verticalAlign:"middle"}})):null}function Qt(e){let{alt:t,url:r}=e;const n=(0,a.useRef)(),i=(e=>{let{element:t}=e;const[r,n]=(0,a.useState)(null);(0,a.useEffect)((()=>{if(!t.current)return;const e=(0,Tt.debounce)(o,200);return o(),window.addE
ventListener("scroll",e),window.addEventListener("resize",e),()=>{window.removeEventListener("scroll",e),window.removeEventListener("resize",e)}}),[t]);const o=()=>{if(!t.current)return;const e=window.innerHeight,{top:r}=t.current.getBoundingClientRect();n(r>=0&&r<=e)};return r})({element:n}),[s,l]=(0,a.useState)("1px"),[c,u]=(0,a.useState)(!1);(0,a.useEffect)((()=>{i&&u(!0)}),[i]),(0,a.useEffect)((()=>{const e=()=>{try{l(m(n.current.clientWidth))}catch(e){}};return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[i]);const p={border:"none",width:"100%",maxWidth:"none",height:`${s}px`,display:"flex",alignItems:"center",justifyContent:"center"};return(0,a.createElement)("div",{ref:n},(0,a.createElement)(Bt,{className:"pattern-grid__preview",alt:t||(0,o.__)(&q
uot;Pattern Preview","wporg-patterns"),style:p,isReady:c,src:"local"===wporgPatternsData.env?r.replace(wporgPatternsUrl.site,"https://wordpress.org/patterns"):r}))}var jt=e=>{let{className:t,label:r,patternId:n}=e;const{hasPermission:o,isFavorite:i}=(0,s.useSelect)((e=>(e(de).getFavorites(),{hasPermission:!!e(It.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]),p=kt()(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,r)):(0,a.createElement)("span",{className:p},(0,a.createElement)(g,{className:"pattern-favorite-butt
on__filled"}),(0,a.createElement)("span",null,r))},qt=function(e){let{pattern:t,showAvatar:r,showOptions:n}=e;const s=function(e){switch(e.status){case"pending-review":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)(Qt,{url:(0,h.addQueryArgs)(t.link,{view:!0,modified:t.modified_gmt,version:wporgPatternsData.thumbnailVersion})})),s?(0,a.createEleme
nt)("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)(Lt,{showLabel:!1,patternId:t.id}),n&&(0,a.createElement)(Mt,{isSmall:!0,patternId:t.id}),(0,a.createElement)(xt,{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"},r&&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)(jt,{className:"pattern-grid__favorite-count",patternId:t.id,label:(0,a.cre
ateElement)(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"},n&&(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)(Et,{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)(ve,{url:(0,h.addQueryArgs)(r.link,{view:!0})}),(0,a.createElement)(Et,{label:(0,o.__)("Drag to re
size","wporg-patterns"),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 Pt=()=>(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 St=e=>{let{onFinish:t}=e;return(0,a.createElement)(fe.Animate,{type:"appear",options:{origin:"bottom"}},(e=>{let{className:r}=e;return(0,a.createElement)(fe.Guide,{className:`pattern-actions__guide ${r}`,onFinish:t,finishButtonText:(0,o.__)("Close","wporg-pat
terns"),pages:[{image:(0,a.createElement)(Pt,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",nu
ll,(0,a.createElement)("p",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"})})))))}]})}))},Nt=r(184),kt=r.n(Nt),Tt=window.lodash,xt=window.wp.a11y,Ct=e=>{let{isSmall:t=!1,onSuccess:r=Tt.noop,content:n}=e;const[i,s]=(0,a.useState)(!1);if(!n){const e=document.getElementById("block-data");n=JSON.parse(decodeURIComponent(e.value))}(0,a.useEffect)((()=>{if(!i)return;(0,xt.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-pattern
s");t&&(l=i?(0,o.__)("Copied","wporg-patterns"):(0,o.__)("Copy","wporg-patterns"));const c=kt()({"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 r=document.execCommand("copy");return document.body.removeChild(t),r})(n);s(a),t.focus(),a&&r()}},l)},At=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&q
uot;}]},(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")))},It=window.wp.coreData;function Ot(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 Lt=e=>{let{showLabel:t=!0,patternId:r}=e;const{hasPermission:n,isFavorite:i}=(0,s.useSelect)((e=
>(e(de).getFavorites(),{hasPermission:!!e(It.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]);if(!n)return null;const p=kt()("button button-link pattern-favorite-button",{"is-favorited":i,"has-label":t}),d=kt()({"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)(Ot,{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")))},Rt=window.wp.apiFetch,Dt=r.n(Rt),Ft=(0,a.createElement)(d.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/20
00/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"})),Mt=e=>{let{patternId:t,isSmall:r}=e;const{isDraft:n,parent:i}=(0,s.useSelect)((e=>{const r=e(de).getPattern(t);return{isDraft:"draft"===(null==r?void 0:r.status),parent:(null==r?void 0:r.parent)||0}}),[t]),{loadPattern:l}=(0,s.useDispatch)(de),c=()=>{Dt()({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"))&&Dt()({path:`/wp/v2/wporg-pattern/${t}/`,method:"DELETE"}).then((()=>{window.location=`${wporgPatternsUrl.site}/my-patterns/`}))},p=`${wporgPatternsUrl.site}/pattern/${i||t}/edit/`,d=r?(0,a.createElement)(fe.Icon,{icon:Ft}):(0,a.createElement)(a.Fragment,null,(0,o.__)("Options","wporg-patterns"),(0,a.createElement)(fe.Icon,{icon:F
t})),g=r?"pattern-manage-options__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")),!n&&(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")))))},$t=e=>{let{postId:t,showOptions:r}=e;const[n,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.createElement)(Ct,{onSuccess:()=>o(!0)}),(0,a.createElement)(Lt,{patternId:t}),r&&(0,a.createElement)(Mt,{patternId:t}),n&&(0,a.createElement)(At,{onClick:()=>s(!0)}),i&&(0,a.createElement)(St,{onFinish:()=>s(!1)})))};function Bt(e){let{alt:t,className:r,isReady:n=!1,src:i,style:s}=e;const l=(0,h.addQueryArgs)(`https://s0.wp.com/mshots/v1/${encodeURIComponent(i)}`,{w:600,vpw:1200,vph:m(1200)}),[c,u]=(0,a.useState)(0),[p,d]=(0,a.useState)(!1),[g,f]=(0,a.useState)(!1),[v,_]=(0,a.useState)(""),y=c>10,w=n&&!p&&!y&&!g;return function(e,t){const r=(0,a.useRef)();(0,a.useEffect)((()=>{r.current=e}),[e]),(0,a.useEffect)((()=>{if(null!==t){const e=setInterval((function(){r.current()}),t);return()=>clearInterval(e)}}),[t])}((async()=>{try{const e=await fetch(l);200!=
=e.status||e.redirected?u(c+1):(await(async e=>{const t=await e.blob(),r=new FileReader;r.onload=e=>{_(e.target.result)},r.readAsDataURL(t)})(e),d(!0))}catch(e){f(!0)}}),w?1e3:null),n?w?(0,a.createElement)("div",{className:`${r} is-loading`,style:s},(0,a.createElement)(fe.Spinner,{style:{width:"32px",height:"32px"}}),(0,a.createElement)("span",{className:"screen-reader-text"},(0,o.__)("Loading","wporg-patterns"))):g||y?(0,a.createElement)("div",{className:`${r} has-error`,style:s},(0,o.__)("Error","wporg-patterns")):(0,a.createElement)("div",{className:r},(0,a.createElement)("img",{src:v,alt:t,style:{...s,verticalAlign:"middle"}})):null}function Qt(e){let{alt:t,url:r,useMShot:n=!0}=e;const i=(0,a.useRef)(),s=(e=>{let{element:t}=e;const[r,n]=(0,a.useState)(null);(0,a.useEffect)((()=>{if(!t.current)return;const e=(0,Tt.debounce)(o,200);return o(
),window.addEventListener("scroll",e),window.addEventListener("resize",e),()=>{window.removeEventListener("scroll",e),window.removeEventListener("resize",e)}}),[t]);const o=()=>{if(!t.current)return;const e=window.innerHeight,{top:r}=t.current.getBoundingClientRect();n(r>=0&&r<=e)};return r})({element:i}),[l,c]=(0,a.useState)(1),[u,p]=(0,a.useState)(1),[d,g]=(0,a.useState)(!1);(0,a.useEffect)((()=>{s&&g(!0)}),[s]),(0,a.useEffect)((()=>{const e=()=>{try{c(m(i.current.clientWidth)),p(i.current.clientWidth)}catch(e){}};return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[s]);const f={border:"none",width:"100%",maxWidth:"none",height:`${l}px`,display:"flex",alignItems:"center",justifyContent:"center"};return(0,a.createElement)("div",{ref:i},n?(0,a.createElement)(Bt,{className:&q
uot;pattern-grid__preview",alt:t||(0,o.__)("Pattern Preview","wporg-patterns"),style:f,isReady:d,src:"local"===wporgPatternsData.env?r.replace(wporgPatternsUrl.site,"https://wordpress.org/patterns"):r}):(0,a.createElement)("div",{style:{height:`${l}px`,overflow:"hidden"}},(0,a.createElement)("iframe",{className:"pattern-grid__preview",title:t||(0,o.__)("Pattern Preview","wporg-patterns"),tabIndex:"-1",style:{border:"none",width:4*u+"px",maxWidth:"none",height:4*l+"px",transform:"scale(0.25)",transformOrigin:(0,o.isRTL)()?"top right":"top left",pointerEvents:"none"},src:d?r:""})))}var jt=e=>{let{className:t,label:r,patternId:n}=e;const{hasPermission:o,isFavorite:i}=(0,s.useSelect)((e=>(e(de).getFavorites(),{hasPermission:!!e(It.store).canUser("create","../../wpo
rg/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]),p=kt()(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,r)):(0,a.createElement)("span",{className:p},(0,a.createElement)(g,{className:"pattern-favorite-button__filled"}),(0,a.createElement)("span",null,r))},qt=function(e){let{pattern:t,showAvatar:r,showOptions:n}=e;const s=function(e){switch(e.status){case"pending-review":case"pending":return(0,o.__)("Pending","wporg-patterns");case"draft":return(0,o.__)("Draft","wporg-patterns");case"unlisted":return(0,o.__)(&
quot;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)(Qt,{useMShot:"publish"===t.status,url:(0,h.addQueryArgs)(t.link,{view:!0,modified:t.modified_gmt,version:wporgPatternsData.thumbnailVersion})})),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)(Lt,{showLabel:!1,patternId:t.id}),n&&(0,a.createElement)(Mt,{isSmall:!0,patternId:t.id}),(0,a.createElement)(Ct,{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"},r&&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)(jt,{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><del style="background-color: #fdd; text-decoration:none; 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))},Ut=function(e){let{icon:t,size:r=24,...n}=e;return(0,a.cloneElement)(t,{width:r,height:r,...n})},Kt=(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 Vt=(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 Gt=e=>{let{postId:t,onClose:r}=e;const[n,i]=(0,a.useReducer)(Vt,{}),[l,c]=(0,a.useState)(""),[u,p]=(0,a.useState)(""),d=(0,a.useR
ef)(),g=(0,o.__)("Your report has been submitted.","wporg-patterns"),{isLoading:m,mappedReasons:f}=(0,s.useSelect)((e=>{const{getPatternFlagReasons:t,isLoadingPatternFlagReasons:r}=e(de),n=t()||[];return{isLoading:r(),mappedReasons:n.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()})))}})),v=()=>{r(n.isSubmitted)};return(0,a.createElement)(fe.Modal,{className:"pattern-report-modal "+(n.isSubmitted?"":"pattern-report-modal__has-fixed-height"),title:(0,o.__)("Report this pattern","wporg-patterns"),onRequestClose:v},(0,a.createElement)("div",{ref:d},m?(0,a.createElement)(fe.Spinner,null):n.isSubmitted?(0,a.createElement)("p",{className:"pattern-report-modal__copy"},g):(0,a.createElement)("form",{onSubmit:e=>{e.preventDefault(),l&&u.length&&!n.is
Submitted&&!n.isSubmitting&&(i({status:"submitting"}),Dt()({path:(0,h.addQueryArgs)("/wp/v2/wporg-pattern-flag"),method:"POST",data:{parent:t,"wporg-pattern-flag-reason":l,excerpt:u}}).then((()=>{i({status:"submitted"}),(0,Ct.speak)(g),d.current.closest('[role="dialog"]').focus()})).catch((e=>{i({status:"error",message:e.message}),(0,Ct.speak)((0,o.sprintf)(
</del><ins style="background-color: #dfd; text-decoration:none; 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))},Ut=function(e){let{icon:t,size:r=24,...n}=e;return(0,a.cloneElement)(t,{width:r,height:r,...n})},Kt=(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 Vt=(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 Gt=e=>{let{postId:t,onClose:r}=e;const[n,i]=(0,a.useReducer)(Vt,{}),[l,c]=(0,a.useState)(""),[u,p]=(0,a.useState)(""),d=(0,a.useRe
f)(),g=(0,o.__)("Your report has been submitted.","wporg-patterns"),{isLoading:m,mappedReasons:f}=(0,s.useSelect)((e=>{const{getPatternFlagReasons:t,isLoadingPatternFlagReasons:r}=e(de),n=t()||[];return{isLoading:r(),mappedReasons:n.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()})))}})),v=()=>{r(n.isSubmitted)};return(0,a.createElement)(fe.Modal,{className:"pattern-report-modal "+(n.isSubmitted?"":"pattern-report-modal__has-fixed-height"),title:(0,o.__)("Report this pattern","wporg-patterns"),onRequestClose:v},(0,a.createElement)("div",{ref:d},m?(0,a.createElement)(fe.Spinner,null):n.isSubmitted?(0,a.createElement)("p",{className:"pattern-report-modal__copy"},g):(0,a.createElement)("form",{onSubmit:e=>{e.preventDefault(),l&&u.length&&!n.isS
ubmitted&&!n.isSubmitting&&(i({status:"submitting"}),Dt()({path:(0,h.addQueryArgs)("/wp/v2/wporg-pattern-flag"),method:"POST",data:{parent:t,"wporg-pattern-flag-reason":l,excerpt:u}}).then((()=>{i({status:"submitted"}),(0,xt.speak)(g),d.current.closest('[role="dialog"]').focus()})).catch((e=>{i({status:"error",message:e.message}),(0,xt.speak)((0,o.sprintf)(
</ins><span class="cx" style="display: block; padding: 0 10px"> /* translators: %s: Error message. */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-(0,o.__)("Error: %s","wporg-patterns"),e.message))})))}},(0,a.createElement)(fe.RadioControl,{className:"pattern-report-modal__radio",label:(0,o.__)("Please choose a reason:","wporg-patterns"),selected:l,options:f,onChange:c,required:!0}),(0,a.createElement)(fe.TextareaControl,{label:(0,o.__)("Please provide details (required)","wporg-patterns"),value:u,onChange:p,required:!0}),n.hasError&&(0,a.createElement)("div",{className:"notice notice-large notice-alt notice-error"},n.message),(0,a.createElement)("div",{className:"pattern-report-modal__actions"},(0,a.createElement)(fe.Button,{isSecondary:!0,onClick:v},(0,o.__)("Cancel","wporg-patterns")),(0,a.createElement)(fe.Button,{type:"submit",isBusy:n.isSubmitting,isPrimary:!0},n.isSubmitting?(0,o
.__)("Submitting …","wporg-patterns"):(0,o.__)("Report","wporg-patterns"))))))},zt=e=>{let{postId:t,userHasReported:r}=e;const[n,i]=(0,a.useState)(!1),[s,l]=(0,a.useState)(!1),c=r||s,u=!!wporgPatternsData.userId;return c?(0,a.createElement)("p",{className:"pattern-report-button__copy"},(0,a.createElement)(Ut,{icon:Kt}),(0,o.__)("You've reported this pattern","wporg-patterns")):u?(0,a.createElement)(a.Fragment,null,(0,a.createElement)(fe.Button,{className:"pattern-report-button",isLink:!0,onClick:()=>i(!0)},(0,o.__)("Report this pattern","wporg-patterns")),n&&(0,a.createElement)(Gt,{postId:t,onClose:e=>{i(!1),l(e)}})):(0,a.createElement)("p",{className:"pattern-report-button__copy"},(0,a.createElement)("a",{href:(0,h.addQueryArgs)("/wp-login.php",{redirect_to:window.location.pathname})},(0,o.__)("Login to report
this pattern","wporg-patterns")))};function Wt(e){var t;let{pattern:r}=e;const[n,i]=(0,a.useState)(!1),s=()=>i(!0),l=()=>i(!1);switch(r.status){case"pending-review":case"pending":return(0,a.createElement)(a.Fragment,null,(0,a.createElement)(fe.Notice,{className:"pattern__status-notice",status:"warning",isDismissible:!1,actions:[{label:(0,o.__)("Learn More","wporg-patterns"),onClick:s,variant:"secondary"}]},(0,a.createElement)("p",null,(0,a.createElement)("strong",null,(0,o.__)("Review pending.","wporg-patterns")),(0,o.__)("This pattern is only visible to you. Once approved it will be published to everyone.","wporg-patterns"))),n&&(0,a.createElement)(fe.Modal,{title:(0,o.__)("Review Pending","wporg-patterns"),onRequestClose:l,className:"pattern__status-notice-modal"},(0,a.createElement)("p&quo
t;,null,(0,o.__)("All patterns submitted to WordPress.org are subject to both automated and manual approval. It might take a few days for your pattern to be approved.","wporg-patterns")),(0,a.createElement)("p",null,(0,o.__)("Reviewers look for content that may be problematic (copyright or trademark issues) and whether your pattern works as intended.","wporg-patterns"))));case"draft":return(0,a.createElement)(a.Fragment,null,(0,a.createElement)(fe.Notice,{className:"pattern__status-notice",status:"info",isDismissible:!1,actions:[{label:(0,o.__)("Learn More","wporg-patterns"),onClick:s,variant:"secondary"}]},(0,a.createElement)("p",null,(0,a.createElement)("strong",null,(0,o.__)("Saved as draft.","wporg-patterns")),(0,o.__)("This pattern is only visible to you. When you’re ready, submit it to be published to everyone.","
;wporg-patterns"))),n&&(0,a.createElement)(fe.Modal,{title:(0,o.__)("Drafts","wporg-patterns"),onRequestClose:l,className:"pattern__status-notice-modal"},(0,a.createElement)("p",null,(0,o.__)("Patterns can be saved as a draft which can be submitted for approval at any time. This allows you to save your design and come back to it later to submit.","wporg-patterns"))));case"unlisted":return(0,a.createElement)(a.Fragment,null,(0,a.createElement)(fe.Notice,{className:"pattern__status-notice",status:"error",isDismissible:!1,actions:[{label:(0,o.__)("Learn More","wporg-patterns"),onClick:s,variant:"secondary"}]},(0,a.createElement)("p",null,(0,a.createElement)("strong",null,(0,o.__)("Pattern declined.","wporg-patterns")),(0,o.__)("WordPress.org has chosen not to include this pattern in the directory.","w
porg-patterns"))),n&&(0,a.createElement)(fe.Modal,{title:(0,o.__)("Declined","wporg-patterns"),onRequestClose:l,className:"pattern__status-notice-modal"},(0,a.createElement)("p",null,(0,o.__)("WordPress.org has removed your pattern from the directory for the following reason:","wporg-patterns")),(0,a.createElement)("p",null,(0,a.createElement)("em",{dangerouslySetInnerHTML:{__html:(null===(t=r.unlisted_reason)||void 0===t?void 0:t.description)||(0,o.__)("This pattern doesn't meet the guidelines for the pattern directory.","wporg-patterns")}})),(0,a.createElement)("p",null,(0,o.__)("You can update your pattern to resubmit it for approval at any time.","wporg-patterns"))));case"publish":return(0,a.createElement)(fe.Notice,{className:"pattern__status-notice",status:"success",isDismissible:!1},(0,a.createElement)(&qu
ot;p",null,(0,a.createElement)("strong",null,(0,o.__)("Pattern published!","wporg-patterns")),(0,o.__)("Your new design is now available to everyone.","wporg-patterns")))}return null}var Ht=e=>{let{postId:t,userHasReported:r}=e;t=Number(t)||0;const{pattern:n,categories:c}=(0,s.useSelect)((e=>{const r=e(de).getPattern(t),n=e(de).getCategories()||[],a=null==r?void 0:r["pattern-categories"].map((e=>n.find((t=>{let{id:r}=t;return r===e})))).filter(Boolean);return{pattern:r,categories:a||[]}}),[t]);if(!n)return null;const u=window.wporgPatternsData.userId===n.author;return(0,a.createElement)(a.Fragment,null,(0,a.createElement)("header",{className:"entry-header"},u&&(0,a.createElement)(Wt,{pattern:n}),(0,a.createElement)("h1",{className:"entry-title"},(0,i.decodeEntities)(n.title.rendered)),(0,a.createElement)("div",{className:"pattern__categories&quo
t;},c.map((e=>{let{id:t,name:r,link:n}=e;return(0,a.createElement)("a",{href:n,key:t},(0,i.decodeEntities)(r))})))),(0,a.createElement)($t,{postId:t,showOptions:u}),(0,a.createElement)("div",{className:"pattern-preview__container"},(0,a.createElement)(bt,{pattern:n}),(0,a.createElement)("div",{className:"pattern__meta"},(0,a.createElement)(zt,{userHasReported:"true"===r,postId:t}))),(0,a.createElement)("div",{className:"pattern__related-patterns"},(0,a.createElement)(ge,{query:{author:n.author,per_page:3,exclude:t},showPagination:!1,header:(0,a.createElement)(a.Fragment,null,(0,a.createElement)("h2",null,(0,o.__)("More from this designer","wporg-patterns")),(0,a.createElement)(l,n.author_meta))},(e=>(0,a.createElement)(qt,{key:e.id,pattern:e})))))};const Yt=e=>{const t=document.getElementById("breadcrumb-part");t&&(t.innerText=e)};var Xt=()=>{co
nst{path:e}=P(),{authorName:t,categoryName:r}=(0,s.useSelect)((t=>{const r=t(de).getQueryFromUrl(e),n=t(de).getCategoryById(r["pattern-categories"]);return{authorName:wporgPatternsData.currentAuthorName||(null==r?void 0:r.author_name),categoryName:null==n?void 0:n.name}}),[]);return(0,a.useEffect)((()=>{t?
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+(0,o.__)("Error: %s","wporg-patterns"),e.message))})))}},(0,a.createElement)(fe.RadioControl,{className:"pattern-report-modal__radio",label:(0,o.__)("Please choose a reason:","wporg-patterns"),selected:l,options:f,onChange:c,required:!0}),(0,a.createElement)(fe.TextareaControl,{label:(0,o.__)("Please provide details (required)","wporg-patterns"),value:u,onChange:p,required:!0}),n.hasError&&(0,a.createElement)("div",{className:"notice notice-large notice-alt notice-error"},n.message),(0,a.createElement)("div",{className:"pattern-report-modal__actions"},(0,a.createElement)(fe.Button,{isSecondary:!0,onClick:v},(0,o.__)("Cancel","wporg-patterns")),(0,a.createElement)(fe.Button,{type:"submit",isBusy:n.isSubmitting,isPrimary:!0},n.isSubmitting?(0,o.
__)("Submitting …","wporg-patterns"):(0,o.__)("Report","wporg-patterns"))))))},Wt=e=>{let{postId:t,userHasReported:r}=e;const[n,i]=(0,a.useState)(!1),[s,l]=(0,a.useState)(!1),c=r||s,u=!!wporgPatternsData.userId;return c?(0,a.createElement)("p",{className:"pattern-report-button__copy"},(0,a.createElement)(Ut,{icon:Kt}),(0,o.__)("You've reported this pattern","wporg-patterns")):u?(0,a.createElement)(a.Fragment,null,(0,a.createElement)(fe.Button,{className:"pattern-report-button",isLink:!0,onClick:()=>i(!0)},(0,o.__)("Report this pattern","wporg-patterns")),n&&(0,a.createElement)(Gt,{postId:t,onClose:e=>{i(!1),l(e)}})):(0,a.createElement)("p",{className:"pattern-report-button__copy"},(0,a.createElement)("a",{href:(0,h.addQueryArgs)("/wp-login.php",{redirect_to:window.location.pathname})},(0,o.__)("Login to report t
his pattern","wporg-patterns")))};function zt(e){var t;let{pattern:r}=e;const[n,i]=(0,a.useState)(!1),s=()=>i(!0),l=()=>i(!1);switch(r.status){case"pending-review":case"pending":return(0,a.createElement)(a.Fragment,null,(0,a.createElement)(fe.Notice,{className:"pattern__status-notice",status:"warning",isDismissible:!1,actions:[{label:(0,o.__)("Learn More","wporg-patterns"),onClick:s,variant:"secondary"}]},(0,a.createElement)("p",null,(0,a.createElement)("strong",null,(0,o.__)("Review pending.","wporg-patterns")),(0,o.__)("This pattern is only visible to you. Once approved it will be published to everyone.","wporg-patterns"))),n&&(0,a.createElement)(fe.Modal,{title:(0,o.__)("Review Pending","wporg-patterns"),onRequestClose:l,className:"pattern__status-notice-modal"},(0,a.createElement)("p"
;,null,(0,o.__)("All patterns submitted to WordPress.org are subject to both automated and manual approval. It might take a few days for your pattern to be approved.","wporg-patterns")),(0,a.createElement)("p",null,(0,o.__)("Reviewers look for content that may be problematic (copyright or trademark issues) and whether your pattern works as intended.","wporg-patterns"))));case"draft":return(0,a.createElement)(a.Fragment,null,(0,a.createElement)(fe.Notice,{className:"pattern__status-notice",status:"info",isDismissible:!1,actions:[{label:(0,o.__)("Learn More","wporg-patterns"),onClick:s,variant:"secondary"}]},(0,a.createElement)("p",null,(0,a.createElement)("strong",null,(0,o.__)("Saved as draft.","wporg-patterns")),(0,o.__)("This pattern is only visible to you. When you’re ready, submit it to be published to everyone.","
wporg-patterns"))),n&&(0,a.createElement)(fe.Modal,{title:(0,o.__)("Drafts","wporg-patterns"),onRequestClose:l,className:"pattern__status-notice-modal"},(0,a.createElement)("p",null,(0,o.__)("Patterns can be saved as a draft which can be submitted for approval at any time. This allows you to save your design and come back to it later to submit.","wporg-patterns"))));case"unlisted":return(0,a.createElement)(a.Fragment,null,(0,a.createElement)(fe.Notice,{className:"pattern__status-notice",status:"error",isDismissible:!1,actions:[{label:(0,o.__)("Learn More","wporg-patterns"),onClick:s,variant:"secondary"}]},(0,a.createElement)("p",null,(0,a.createElement)("strong",null,(0,o.__)("Pattern declined.","wporg-patterns")),(0,o.__)("WordPress.org has chosen not to include this pattern in the directory.","wp
org-patterns"))),n&&(0,a.createElement)(fe.Modal,{title:(0,o.__)("Declined","wporg-patterns"),onRequestClose:l,className:"pattern__status-notice-modal"},(0,a.createElement)("p",null,(0,o.__)("WordPress.org has removed your pattern from the directory for the following reason:","wporg-patterns")),(0,a.createElement)("p",null,(0,a.createElement)("em",{dangerouslySetInnerHTML:{__html:(null===(t=r.unlisted_reason)||void 0===t?void 0:t.description)||(0,o.__)("This pattern doesn't meet the guidelines for the pattern directory.","wporg-patterns")}})),(0,a.createElement)("p",null,(0,o.__)("You can update your pattern to resubmit it for approval at any time.","wporg-patterns"))));case"publish":return(0,a.createElement)(fe.Notice,{className:"pattern__status-notice",status:"success",isDismissible:!1},(0,a.createElement)(&quo
t;p",null,(0,a.createElement)("strong",null,(0,o.__)("Pattern published!","wporg-patterns")),(0,o.__)("Your new design is now available to everyone.","wporg-patterns")))}return null}var Ht=e=>{let{postId:t,userHasReported:r}=e;t=Number(t)||0;const{pattern:n,categories:c}=(0,s.useSelect)((e=>{const r=e(de).getPattern(t),n=e(de).getCategories()||[],a=null==r?void 0:r["pattern-categories"].map((e=>n.find((t=>{let{id:r}=t;return r===e})))).filter(Boolean);return{pattern:r,categories:a||[]}}),[t]);if(!n)return null;const u=window.wporgPatternsData.userId===n.author;return(0,a.createElement)(a.Fragment,null,(0,a.createElement)("header",{className:"entry-header"},u&&(0,a.createElement)(zt,{pattern:n}),(0,a.createElement)("h1",{className:"entry-title"},(0,i.decodeEntities)(n.title.rendered)),(0,a.createElement)("div",{className:"pattern__categories"
;},c.map((e=>{let{id:t,name:r,link:n}=e;return(0,a.createElement)("a",{href:n,key:t},(0,i.decodeEntities)(r))})))),(0,a.createElement)($t,{postId:t,showOptions:u}),(0,a.createElement)("div",{className:"pattern-preview__container"},(0,a.createElement)(bt,{pattern:n}),(0,a.createElement)("div",{className:"pattern__meta"},(0,a.createElement)(Wt,{userHasReported:"true"===r,postId:t}))),(0,a.createElement)("div",{className:"pattern__related-patterns"},(0,a.createElement)(ge,{query:{author:n.author,per_page:3,exclude:t},showPagination:!1,header:(0,a.createElement)(a.Fragment,null,(0,a.createElement)("h2",null,(0,o.__)("More from this designer","wporg-patterns")),(0,a.createElement)(l,n.author_meta))},(e=>(0,a.createElement)(qt,{key:e.id,pattern:e})))))};const Yt=e=>{const t=document.getElementById("breadcrumb-part");t&&(t.innerText=e)};var Xt=()=>{con
st{path:e}=P(),{authorName:t,categoryName:r}=(0,s.useSelect)((t=>{const r=t(de).getQueryFromUrl(e),n=t(de).getCategoryById(r["pattern-categories"]);return{authorName:wporgPatternsData.currentAuthorName||(null==r?void 0:r.author_name),categoryName:null==n?void 0:n.name}}),[]);return(0,a.useEffect)((()=>{t?
</ins><span class="cx" style="display: block; padding: 0 10px"> // translators: %s is the author name.
</span><span class="cx" style="display: block; padding: 0 10px"> Yt((0,o.sprintf)((0,o.__)("Author: %s","wporg-patterns"),t)):r&&
</span><span class="cx" style="display: block; padding: 0 10px"> // translators: %s is the category name.
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgpatternssrccomponentspatternthumbnailcanvasjs"></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/pattern-thumbnail/canvas.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/pattern-thumbnail/canvas.js 2023-03-13 08:08:55 UTC (rev 12465)
+++ sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/src/components/pattern-thumbnail/canvas.js 2023-03-13 16:04:19 UTC (rev 12466)
</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"> /**
</span><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 { __ } from '@wordpress/i18n';
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+import { __, isRTL } from '@wordpress/i18n';
</ins><span class="cx" style="display: block; padding: 0 10px"> import { useEffect, useRef, useState } from '@wordpress/element';
</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">@@ -11,10 +11,11 @@
</span><span class="cx" style="display: block; padding: 0 10px"> import useInView from '../../hooks/in-view';
</span><span class="cx" style="display: block; padding: 0 10px"> import Screenshot from './screenshot';
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-export default function ( { alt, url } ) {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+export default function ( { alt, url, useMShot = true } ) {
</ins><span class="cx" style="display: block; padding: 0 10px"> const wrapperRef = useRef();
</span><span class="cx" style="display: block; padding: 0 10px"> const isVisible = useInView( { element: wrapperRef } );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- const [ frameHeight, setFrameHeight ] = useState( '1px' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ const [ frameHeight, setFrameHeight ] = useState( 1 );
+ const [ frameWidth, setFrameWidth ] = useState( 1 );
</ins><span class="cx" style="display: block; padding: 0 10px"> const [ shouldLoad, setShouldLoad ] = useState( false );
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> useEffect( () => {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -27,6 +28,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> const handleOnResize = () => {
</span><span class="cx" style="display: block; padding: 0 10px"> try {
</span><span class="cx" style="display: block; padding: 0 10px"> setFrameHeight( getCardFrameHeight( wrapperRef.current.clientWidth ) );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ setFrameWidth( wrapperRef.current.clientWidth );
</ins><span class="cx" style="display: block; padding: 0 10px"> } catch ( err ) {}
</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">@@ -51,17 +53,42 @@
</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"> <div ref={ wrapperRef }>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <Screenshot
- className="pattern-grid__preview"
- alt={ alt || __( 'Pattern Preview', 'wporg-patterns' ) }
- style={ style }
- isReady={ shouldLoad }
- src={
- wporgPatternsData.env === 'local'
- ? url.replace( wporgPatternsUrl.site, 'https://wordpress.org/patterns' )
- : url
- }
- />
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ { useMShot ? (
+ <Screenshot
+ className="pattern-grid__preview"
+ alt={ alt || __( 'Pattern Preview', 'wporg-patterns' ) }
+ style={ style }
+ isReady={ shouldLoad }
+ src={
+ wporgPatternsData.env === 'local'
+ ? url.replace( wporgPatternsUrl.site, 'https://wordpress.org/patterns' )
+ : url
+ }
+ />
+ ) : (
+ <div
+ style={ {
+ height: `${ frameHeight }px`,
+ overflow: 'hidden',
+ } }
+ >
+ <iframe
+ className="pattern-grid__preview"
+ title={ alt || __( 'Pattern Preview', 'wporg-patterns' ) }
+ tabIndex="-1"
+ style={ {
+ border: 'none',
+ width: `${ frameWidth * 4 }px`,
+ maxWidth: 'none',
+ height: `${ frameHeight * 4 }px`,
+ transform: 'scale(0.25)',
+ transformOrigin: isRTL() ? 'top right' : 'top left',
+ pointerEvents: 'none',
+ } }
+ src={ shouldLoad ? url : '' }
+ />
+ </div>
+ ) }
</ins><span class="cx" style="display: block; padding: 0 10px"> </div>
</span><span class="cx" style="display: block; padding: 0 10px"> );
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgpatternssrccomponentspatternthumbnailindexjs"></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/pattern-thumbnail/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/pattern-thumbnail/index.js 2023-03-13 08:08:55 UTC (rev 12465)
+++ sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-patterns/src/components/pattern-thumbnail/index.js 2023-03-13 16:04:19 UTC (rev 12466)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -35,6 +35,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> <a href={ pattern.link } rel="bookmark">
</span><span class="cx" style="display: block; padding: 0 10px"> <span className="screen-reader-text">{ decodeEntities( pattern.title.rendered ) }</span>
</span><span class="cx" style="display: block; padding: 0 10px"> <Canvas
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ useMShot={ 'publish' === pattern.status }
</ins><span class="cx" style="display: block; padding: 0 10px"> url={ addQueryArgs( pattern.link, {
</span><span class="cx" style="display: block; padding: 0 10px"> view: true,
</span><span class="cx" style="display: block; padding: 0 10px"> modified: pattern.modified_gmt,
</span></span></pre>
</div>
</div>
</body>
</html>