<!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>[11225] sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn: WordPress.org Learn: Sync with GitHub</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/11225">11225</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/11225","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>coreymckrill</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2021-09-10 22:25:05 +0000 (Fri, 10 Sep 2021)</dd>
</dl>

<pre style='padding-left: 1em; margin: 2em 0; border-left: 2px solid #ccc; line-height: 1.25; font-size: 105%; font-family: sans-serif'>WordPress.org Learn: Sync with GitHub

https://github.com/WordPress/learn/compare/13104703090bd3b7f59cb7794a3a0ede50f4dfe8...b786efa59c12a5bb4c987f84ba5fc56e9c776c8f</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildblockstylesassetphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/block-styles.asset.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildblockstylesjs">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/block-styles.js</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildeventassetphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/event.asset.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildeventjs">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/event.js</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildformassetphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/form.asset.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildformjs">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/form.js</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildlocalenoticeassetphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/locale-notice.asset.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildlocalenoticejs">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/locale-notice.js</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildworkshopapplicationformassetphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/workshop-application-form.asset.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildworkshopapplicationformjs">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/workshop-application-form.js</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildworkshopdetailsassetphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/workshop-details.asset.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildworkshopdetailsjs">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/workshop-details.js</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnincadminphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/inc/admin.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnincpostmetaphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/inc/post-meta.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnwebpackconfigjs">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/webpack.config.js</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildexpirationdateassetphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/expiration-date.asset.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildexpirationdatejs">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/expiration-date.js</a></li>
<li>sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/js/expiration-date/</li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnjsexpirationdateindexjs">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/js/expiration-date/index.js</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildblockstylesassetphp"></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/plugins/wporg-learn/build/block-styles.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/plugins/wporg-learn/build/block-styles.asset.php 2021-09-09 19:59:58 UTC (rev 11224)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/block-styles.asset.php   2021-09-10 22:25:05 UTC (rev 11225)
</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('wp-blocks', 'wp-i18n', 'wp-polyfill'), 'version' => '18933d645390b46ece95dfd82c251889');
</del><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php return array('dependencies' => array('wp-blocks', 'wp-i18n', 'wp-polyfill'), 'version' => '7f9054db1e487ee9de65f00d04a4fc6c');
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildblockstylesjs"></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/plugins/wporg-learn/build/block-styles.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/plugins/wporg-learn/build/block-styles.js        2021-09-09 19:59:58 UTC (rev 11224)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/block-styles.js  2021-09-10 22:25:05 UTC (rev 11225)
</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">-(window.wporgLearnPlugin=window.wporgLearnPlugin||[]).push([[4],{6:function(e,r,t){}}]),function(e){function r(r){for(var n,u,i=r[0],c=r[1],a=r[2],f=0,s=[];f<i.length;f++)u=i[f],Object.prototype.hasOwnProperty.call(o,u)&&o[u]&&s.push(o[u][0]),o[u]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(p&&p(r);s.length;)s.shift()();return l.push.apply(l,a||[]),t()}function t(){for(var e,r=0;r<l.length;r++){for(var t=l[r],n=!0,i=1;i<t.length;i++){var c=t[i];0!==o[c]&&(n=!1)}n&&(l.splice(r--,1),e=u(u.s=t[0]))}return e}var n={},o={0:0},l=[];function u(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,u),t.l=!0,t.exports}u.m=e,u.c=n,u.d=function(e,r,t){u.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},u.r=function(e){"undefined"!=typeof Symbol&
 &Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,r){if(1&r&&(e=u(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(u.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)u.d(t,n,function(r){return e[r]}.bind(null,n));return t},u.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(r,"a",r),r},u.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},u.p="";var i=window.wporgLearnPlugin=window.wporgLearnPlugin||[],c=i.push.bind(i);i.push=r,i=i.slice();for(var a=0;a<i.length;a++)r(i[a]);var p=c;l.push([5,4]),t()}([function(e,r){!function(){e.exports=this.wp.i18n}()},function(e,r){!function(){
 e.exports=this.wp.blocks}()},,,,function(e,r,t){"use strict";t.r(r);var n=t(1),o=t(0);t(6);Object(n.registerBlockStyle)("core/button",{name:"primary",label:Object(o.__)("Primary","wporg-learn")}),Object(n.registerBlockStyle)("core/button",{name:"primary-full-width",label:Object(o.__)("Primary (Full-width)","wporg-learn")}),Object(n.registerBlockStyle)("core/button",{name:"secondary",label:Object(o.__)("Secondary","wporg-learn")}),Object(n.registerBlockStyle)("core/button",{name:"secondary-full-width",label:Object(o.__)("Secondary (Full-width)","wporg-learn")})}]);
</del><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+(window.wporgLearnPlugin=window.wporgLearnPlugin||[]).push([[5],{11:function(e,r,t){}}]),function(e){function r(r){for(var n,u,i=r[0],c=r[1],a=r[2],f=0,s=[];f<i.length;f++)u=i[f],Object.prototype.hasOwnProperty.call(o,u)&&o[u]&&s.push(o[u][0]),o[u]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(p&&p(r);s.length;)s.shift()();return l.push.apply(l,a||[]),t()}function t(){for(var e,r=0;r<l.length;r++){for(var t=l[r],n=!0,i=1;i<t.length;i++){var c=t[i];0!==o[c]&&(n=!1)}n&&(l.splice(r--,1),e=u(u.s=t[0]))}return e}var n={},o={0:0},l=[];function u(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,u),t.l=!0,t.exports}u.m=e,u.c=n,u.d=function(e,r,t){u.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},u.r=function(e){"undefined"!=typeof Symbol&amp
 ;&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,r){if(1&r&&(e=u(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(u.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)u.d(t,n,function(r){return e[r]}.bind(null,n));return t},u.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(r,"a",r),r},u.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},u.p="";var i=window.wporgLearnPlugin=window.wporgLearnPlugin||[],c=i.push.bind(i);i.push=r,i=i.slice();for(var a=0;a<i.length;a++)r(i[a]);var p=c;l.push([10,5]),t()}({1:function(e,r){!function(){e.exports=this.wp.i18n}()},10:function(e,r,t){&qu
 ot;use strict";t.r(r);var n=t(2),o=t(1);t(11);Object(n.registerBlockStyle)("core/button",{name:"primary",label:Object(o.__)("Primary","wporg-learn")}),Object(n.registerBlockStyle)("core/button",{name:"primary-full-width",label:Object(o.__)("Primary (Full-width)","wporg-learn")}),Object(n.registerBlockStyle)("core/button",{name:"secondary",label:Object(o.__)("Secondary","wporg-learn")}),Object(n.registerBlockStyle)("core/button",{name:"secondary-full-width",label:Object(o.__)("Secondary (Full-width)","wporg-learn")})},2:function(e,r){!function(){e.exports=this.wp.blocks}()}});
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildeventassetphp"></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/plugins/wporg-learn/build/event.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/plugins/wporg-learn/build/event.asset.php        2021-09-09 19:59:58 UTC (rev 11224)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/event.asset.php  2021-09-10 22:25:05 UTC (rev 11225)
</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('wp-date', 'wp-polyfill'), 'version' => '09ab956fd218879057b719ac22233c5f');
</del><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php return array('dependencies' => array('wp-date', 'wp-polyfill'), 'version' => 'c13930e099ad0930395439aaff46d2c0');
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildeventjs"></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/plugins/wporg-learn/build/event.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/plugins/wporg-learn/build/event.js       2021-09-09 19:59:58 UTC (rev 11224)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/event.js 2021-09-10 22:25:05 UTC (rev 11225)
</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">-!function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?functio
 n(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=8)}({4:function(t,e){!function(){t.exports=this.wp.date}()},8:function(t,e,r){"use strict";r.r(e);var n,o=r(4);n=document.querySelectorAll("[data-date-utc]"),Array.from(n).forEach((function(t){var e=t.dataset.dateUtc;t.textContent=Object(o.format)("l, F j, Y, g:i a (\\U\\T\\CP)",e)}))}});
</del><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+!function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?functio
 n(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=19)}({19:function(t,e,r){"use strict";r.r(e);var n,o=r(4);n=document.querySelectorAll("[data-date-utc]"),Array.from(n).forEach((function(t){var e=t.dataset.dateUtc;t.textContent=Object(o.format)("l, F j, Y, g:i a (\\U\\T\\CP)",e)}))},4:function(t,e){!function(){t.exports=this.wp.date}()}});
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildexpirationdateassetphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/expiration-date.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/plugins/wporg-learn/build/expiration-date.asset.php                              (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/expiration-date.asset.php        2021-09-10 22:25:05 UTC (rev 11225)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php return array('dependencies' => array('wp-components', 'wp-data', 'wp-date', 'wp-edit-post', 'wp-element', 'wp-i18n', 'wp-plugins', 'wp-polyfill'), 'version' => '70efa9d96d68eabf0d8dce2dbd1b6aba');
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildexpirationdatejs"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/expiration-date.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/plugins/wporg-learn/build/expiration-date.js                             (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/expiration-date.js       2021-09-10 22:25:05 UTC (rev 11225)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?functio
 n(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=12)}([function(e,t){!function(){e.exports=this.wp.element}()},function(e,t){!function(){e.exports=this.wp.i18n}()},,function(e,t){!function(){e.exports=this.wp.components}()},function(e,t){!function(){e.exports=this.wp.date}()},function(e,t){!function(){e.exports=this.wp.data}()},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t,n){var r=n(13),o=n(14),c=n(15),i=n(17);e.exports=function(e,t){return r(e)||o(e,t)||c(e,t)||i()}},function(e,t){!function(){e.exports=this.wp.editPost}()},function(e,t){!function(){e.exports=this.wp.plugins}()},,,function(e,t,n){"use strict";n.r(t);var r=n(6),o=n.n(r),c=n(7),i=n.n(c),u=n(0),a=n(3),l=n(5),s=n(4),f=n(8),p=n(1),b=n(9);function d(e,t){var n=Object.keys(e);if(Object.g
 etOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach((function(t){o()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function O(e){var t=e.date,n=Object(s.__experimentalGetSettings)();return t?Object(s.format)("".concat(n.formats.date," ").concat(n.formats.time),t):Object(p.__)("No expiration date","wporg-learn")}var j=function(){var e=Object(l.useSelect)((function(e){return e("core/editor").getEditedPostAttribute("meta")||{}})),t=Object(l.useDispatch)("core/editor").editPost,n=Object(u.useState)(nu
 ll==e?void 0:e.expiration_date),r=i()(n,2),o=r[0],c=r[1],s=Object(u.useRef)(),b=Object(u.useRef)();return Object(u.createElement)(f.PluginPostStatusInfo,null,Object(u.createElement)(a.PanelRow,{className:"edit-post-post-schedule",ref:s},Object(u.createElement)("span",null,Object(p.__)("Expiration","wporg-learn")),Object(u.createElement)(a.Dropdown,{popoverProps:{anchorRef:s.current},position:"bottom left",contentClassName:"edit-post-post-schedule__dialog",renderToggle:function(e){var t=e.onToggle,n=e.isOpen;return Object(u.createElement)(u.Fragment,null,Object(u.createElement)(a.Button,{className:"edit-post-post-schedule__toggle",onClick:t,"aria-expanded":n,variant:"tertiary"},Object(u.createElement)(O,{date:o})))},renderContent:function(){return Object(u.createElement)(u.Fragment,null,Object(u.createElement)("p",{className:"help-text",style:{padding:"0 16px"}},Obj
 ect(p.__)("A date when the content in this post might become obsolete.","wporg-learn")),Object(u.createElement)(a.DateTimePicker,{ref:b,currentDate:o,onChange:function(n){c(n),t({meta:m(m({},e),{},{expiration_date:n})}),b.current.ownerDocument.activeElement.blur()}}))}})))};Object(b.registerPlugin)("wporg-learn-expiration-date",{render:function(){return Object(u.createElement)(j,null)}})},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,o=!1,c=void 0;try{for(var i,u=e[Symbol.iterator]();!(r=(i=u.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){o=!0,c=e}finally{try{r||null==u.return||u.return()}finally{if(o)throw c}}return n}}},function(e,t,n){var r=n(16);e.exports=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);re
 turn"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}}]);
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildformassetphp"></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/plugins/wporg-learn/build/form.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/plugins/wporg-learn/build/form.asset.php 2021-09-09 19:59:58 UTC (rev 11224)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/form.asset.php   2021-09-10 22:25:05 UTC (rev 11225)
</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('wp-polyfill'), 'version' => '661fa5f9ce11797c09f97d519d9f2228');
</del><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php return array('dependencies' => array('wp-polyfill'), 'version' => '3189e23b25b30e886a66f5f9a9093bc8');
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildformjs"></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/plugins/wporg-learn/build/form.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/plugins/wporg-learn/build/form.js        2021-09-09 19:59:58 UTC (rev 11224)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/form.js  2021-09-10 22:25:05 UTC (rev 11225)
</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">-!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?functio
 n(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=9)}({9:function(e,t){var r,n,o=window.jQuery||{};r=o,n=document.querySelectorAll(".checkbox-and-text"),Array.from(n).forEach((function(e){var t=e.querySelector('input[type="checkbox"]'),r=e.querySelector('input[type="text"]');r.addEventListener("input",(function(e){return t.checked=!!e.target.value})),t.addEventListener("change",(function(e){e.target.checked?r.focus():r.value=""}))})),r(".do-select2").select2({dropdownParent:r(".wporg-learn-workshop-application-form")})}});
</del><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?functio
 n(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=20)}({20:function(e,t){var r,n,o=window.jQuery||{};r=o,n=document.querySelectorAll(".checkbox-and-text"),Array.from(n).forEach((function(e){var t=e.querySelector('input[type="checkbox"]'),r=e.querySelector('input[type="text"]');r.addEventListener("input",(function(e){return t.checked=!!e.target.value})),t.addEventListener("change",(function(e){e.target.checked?r.focus():r.value=""}))})),r(".do-select2").select2({dropdownParent:r(".wporg-learn-workshop-application-form")})}});
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildlocalenoticeassetphp"></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/plugins/wporg-learn/build/locale-notice.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/plugins/wporg-learn/build/locale-notice.asset.php        2021-09-09 19:59:58 UTC (rev 11224)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/locale-notice.asset.php  2021-09-10 22:25:05 UTC (rev 11225)
</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('wp-polyfill'), 'version' => '84f5ab9ec09410e4706b2a76183b69b6');
</del><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php return array('dependencies' => array('wp-polyfill'), 'version' => '0ed9ee006e970f0abe5e909b4e6a294f');
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildlocalenoticejs"></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/plugins/wporg-learn/build/locale-notice.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/plugins/wporg-learn/build/locale-notice.js       2021-09-09 19:59:58 UTC (rev 11224)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/locale-notice.js 2021-09-10 22:25:05 UTC (rev 11225)
</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">-!function(e){var n={};function t(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,t),i.l=!0,i.exports}t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(t.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var i in e)t.d(o,i,function(n){return e[n]}.bind(null,i));return o},t.n=function(e){var n=e&&e.__esModule?functio
 n(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=10)}({10:function(e,n){!function(e,n,t){"use strict";var o=e.WPOrgLearnLocaleNotice||{},i=n.extend(o,{$notice:n(),init:function(){i.$notice=n(".wporg-learn-locale-notice"),i.$notice.on("click",".wporg-learn-locale-notice-dismiss",(function(e){e.preventDefault(),i.dismissNotice()}))},dismissNotice:function(){i.$notice.fadeTo(100,0,(function(){i.$notice.slideUp(100,(function(){i.$notice.remove()}))})),t.set("wporg-learn-locale-notice-dismissed",!0,i.cookie.expires,i.cookie.cpath,i.cookie.domain,i.cookie.secure)}});n(document).ready((function(){i.init()}))}(window,jQuery,wpCookies)}});
</del><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+!function(e){var n={};function t(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,t),i.l=!0,i.exports}t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(t.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var i in e)t.d(o,i,function(n){return e[n]}.bind(null,i));return o},t.n=function(e){var n=e&&e.__esModule?functio
 n(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=21)}({21:function(e,n){!function(e,n,t){"use strict";var o=e.WPOrgLearnLocaleNotice||{},i=n.extend(o,{$notice:n(),init:function(){i.$notice=n(".wporg-learn-locale-notice"),i.$notice.on("click",".wporg-learn-locale-notice-dismiss",(function(e){e.preventDefault(),i.dismissNotice()}))},dismissNotice:function(){i.$notice.fadeTo(100,0,(function(){i.$notice.slideUp(100,(function(){i.$notice.remove()}))})),t.set("wporg-learn-locale-notice-dismissed",!0,i.cookie.expires,i.cookie.cpath,i.cookie.domain,i.cookie.secure)}});n(document).ready((function(){i.init()}))}(window,jQuery,wpCookies)}});
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildworkshopapplicationformassetphp"></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/plugins/wporg-learn/build/workshop-application-form.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/plugins/wporg-learn/build/workshop-application-form.asset.php    2021-09-09 19:59:58 UTC (rev 11224)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/workshop-application-form.asset.php      2021-09-10 22:25:05 UTC (rev 11225)
</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('wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '7a52258e4bf9fa512337ebbe9049aa41');
</del><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php return array('dependencies' => array('wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '48a2c146975d765c0e319d558b741068');
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildworkshopapplicationformjs"></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/plugins/wporg-learn/build/workshop-application-form.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/plugins/wporg-learn/build/workshop-application-form.js   2021-09-09 19:59:58 UTC (rev 11224)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/workshop-application-form.js     2021-09-10 22:25:05 UTC (rev 11225)
</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">-!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?functio
 n(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=11)}([function(e,t){!function(){e.exports=this.wp.i18n}()},function(e,t){!function(){e.exports=this.wp.blocks}()},function(e,t){!function(){e.exports=this.wp.element}()},function(e,t){!function(){e.exports=this.wp.components}()},,,,,,,,function(e,t,n){"use strict";n.r(t);var r=n(1),o=n(0),i=n(2),c=n(3);Object(r.registerBlockType)("wporg-learn/workshop-application-form",{title:Object(o.__)("Workshop Application Form","wporg-learn"),description:Object(o.__)("Render a form for applying to present a workshop.","wporg-learn"),category:"widgets",icon:"forms",supports:{html:!1},edit:function(){return Object(i.createElement)(c.Placeholder,{label:Object(o.__)("Workshop Application Form","wporg-learn"),instructions:Object(o.__)(&q
 uot;This will render a form on the front end.","wporg-learn")})},save:function(){return null}})}]);
</del><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?functio
 n(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=22)}({0:function(e,t){!function(){e.exports=this.wp.element}()},1:function(e,t){!function(){e.exports=this.wp.i18n}()},2:function(e,t){!function(){e.exports=this.wp.blocks}()},22:function(e,t,n){"use strict";n.r(t);var r=n(2),o=n(1),i=n(0),c=n(3);Object(r.registerBlockType)("wporg-learn/workshop-application-form",{title:Object(o.__)("Workshop Application Form","wporg-learn"),description:Object(o.__)("Render a form for applying to present a workshop.","wporg-learn"),category:"widgets",icon:"forms",supports:{html:!1},edit:function(){return Object(i.createElement)(c.Placeholder,{label:Object(o.__)("Workshop Application Form","wporg-learn"),instructions:Object(o.__)("This will render a form on the front end.",&quot
 ;wporg-learn")})},save:function(){return null}})},3:function(e,t){!function(){e.exports=this.wp.components}()}});
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildworkshopdetailsassetphp"></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/plugins/wporg-learn/build/workshop-details.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/plugins/wporg-learn/build/workshop-details.asset.php     2021-09-09 19:59:58 UTC (rev 11224)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/workshop-details.asset.php       2021-09-10 22:25:05 UTC (rev 11225)
</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('wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '92e896bab5233e81222807890a1ef4bb');
</del><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php return array('dependencies' => array('wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => 'aea68dc33f0adc84cae8ee661ef82bde');
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildworkshopdetailsjs"></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/plugins/wporg-learn/build/workshop-details.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/plugins/wporg-learn/build/workshop-details.js    2021-09-09 19:59:58 UTC (rev 11224)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/workshop-details.js      2021-09-10 22:25:05 UTC (rev 11225)
</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">-(window.wporgLearnPlugin=window.wporgLearnPlugin||[]).push([[5],{7:function(e,t,n){}}]),function(e){function t(t){for(var r,l,u=t[0],p=t[1],a=t[2],s=0,f=[];s<u.length;s++)l=u[s],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&f.push(o[l][0]),o[l]=0;for(r in p)Object.prototype.hasOwnProperty.call(p,r)&&(e[r]=p[r]);for(c&&c(t);f.length;)f.shift()();return i.push.apply(i,a||[]),n()}function n(){for(var e,t=0;t<i.length;t++){for(var n=i[t],r=!0,u=1;u<n.length;u++){var p=n[u];0!==o[p]&&(r=!1)}r&&(i.splice(t--,1),e=l(l.s=n[0]))}return e}var r={},o={7:0},i=[];function l(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,l),n.l=!0,n.exports}l.m=e,l.c=r,l.d=function(e,t,n){l.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},l.r=function(e){"undefined"!=typeof Symbol&
 &Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,t){if(1&t&&(e=l(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(l.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)l.d(n,r,function(t){return e[t]}.bind(null,r));return n},l.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(t,"a",t),t},l.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},l.p="";var u=window.wporgLearnPlugin=window.wporgLearnPlugin||[],p=u.push.bind(u);u.push=t,u=u.slice();for(var a=0;a<u.length;a++)t(u[a]);var c=p;i.push([12,5]),n()}([function(e,t){!function(){e.exports=this.wp.i18n}()},function(e,t){!function()
 {e.exports=this.wp.blocks}()},function(e,t){!function(){e.exports=this.wp.element}()},function(e,t){!function(){e.exports=this.wp.components}()},,,,,,,,,function(e,t,n){"use strict";n.r(t);var r=n(1),o=n(0),i=(n(7),n(2)),l=n(3);Object(r.registerBlockType)("wporg-learn/workshop-details",{title:Object(o.__)("Workshop Details","wporg-learn"),description:Object(o.__)("Show details about the workshop, pulled from post meta.","wporg-learn"),category:"widgets",icon:"smiley",supports:{html:!1},edit:function(){return Object(i.createElement)(l.Placeholder,{label:Object(o.__)("Workshop Details","wporg-learn")},Object(i.createElement)("p",null,Object(o.__)("This will be dynamically populated based on settings in the Workshop Details meta box.","wporg-learn")))},save:function(){return null}})}]);
</del><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+(window.wporgLearnPlugin=window.wporgLearnPlugin||[]).push([[6],{18:function(e,t,n){}}]),function(e){function t(t){for(var r,l,u=t[0],p=t[1],a=t[2],s=0,f=[];s<u.length;s++)l=u[s],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&f.push(o[l][0]),o[l]=0;for(r in p)Object.prototype.hasOwnProperty.call(p,r)&&(e[r]=p[r]);for(c&&c(t);f.length;)f.shift()();return i.push.apply(i,a||[]),n()}function n(){for(var e,t=0;t<i.length;t++){for(var n=i[t],r=!0,u=1;u<n.length;u++){var p=n[u];0!==o[p]&&(r=!1)}r&&(i.splice(t--,1),e=l(l.s=n[0]))}return e}var r={},o={8:0},i=[];function l(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,l),n.l=!0,n.exports}l.m=e,l.c=r,l.d=function(e,t,n){l.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},l.r=function(e){"undefined"!=typeof Symbol&amp
 ;&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,t){if(1&t&&(e=l(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(l.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)l.d(n,r,function(t){return e[t]}.bind(null,r));return n},l.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(t,"a",t),t},l.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},l.p="";var u=window.wporgLearnPlugin=window.wporgLearnPlugin||[],p=u.push.bind(u);u.push=t,u=u.slice();for(var a=0;a<u.length;a++)t(u[a]);var c=p;i.push([23,6]),n()}({0:function(e,t){!function(){e.exports=this.wp.element}()},1:function(e,t){!fu
 nction(){e.exports=this.wp.i18n}()},2:function(e,t){!function(){e.exports=this.wp.blocks}()},23:function(e,t,n){"use strict";n.r(t);var r=n(2),o=n(1),i=(n(18),n(0)),l=n(3);Object(r.registerBlockType)("wporg-learn/workshop-details",{title:Object(o.__)("Workshop Details","wporg-learn"),description:Object(o.__)("Show details about the workshop, pulled from post meta.","wporg-learn"),category:"widgets",icon:"smiley",supports:{html:!1},edit:function(){return Object(i.createElement)(l.Placeholder,{label:Object(o.__)("Workshop Details","wporg-learn")},Object(i.createElement)("p",null,Object(o.__)("This will be dynamically populated based on settings in the Workshop Details meta box.","wporg-learn")))},save:function(){return null}})},3:function(e,t){!function(){e.exports=this.wp.components}()}});
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnincadminphp"></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/plugins/wporg-learn/inc/admin.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/plugins/wporg-learn/inc/admin.php        2021-09-09 19:59:58 UTC (rev 11224)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/inc/admin.php  2021-09-10 22:25:05 UTC (rev 11225)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -17,6 +17,11 @@
</span><span class="cx" style="display: block; padding: 0 10px"> add_filter( 'manage_edit-wporg_workshop_sortable_columns', __NAMESPACE__ . '\add_workshop_list_table_sortable_columns' );
</span><span class="cx" style="display: block; padding: 0 10px"> add_action( 'restrict_manage_posts', __NAMESPACE__ . '\add_workshop_list_table_filters', 10, 2 );
</span><span class="cx" style="display: block; padding: 0 10px"> add_action( 'pre_get_posts', __NAMESPACE__ . '\handle_workshop_list_table_filters' );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+add_filter( 'display_post_states', __NAMESPACE__ . '\add_post_states', 10, 2 );
+foreach ( array( 'lesson-plan', 'wporg_workshop', 'course', 'lesson' ) as $pt ) {
+       add_filter( 'views_edit-' . $pt, __NAMESPACE__ . '\list_table_views' );
+}
+add_action( 'pre_get_posts', __NAMESPACE__ . '\handle_list_table_views' );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="cx" style="display: block; padding: 0 10px">  * Show a notice on taxonomy term screens about terms being translatable.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -207,3 +212,125 @@
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+/**
+ * Custom post states for list tables.
+ *
+ * @param array    $post_states
+ * @param \WP_Post $post
+ *
+ * @return mixed
+ */
+function add_post_states( $post_states, $post ) {
+       $expiration_date = $post->expiration_date;
+
+       if ( $expiration_date ) {
+               $exp = strtotime( $expiration_date );
+               $now = strtotime( 'now' );
+
+               if ( $exp > $now ) {
+                       $post_states[] = sprintf(
+                               esc_html__( 'Expires in %s', 'wporg-learn' ),
+                               esc_html( human_time_diff( $now, $exp ) )
+                       );
+               } else {
+                       $post_states[] = sprintf(
+                               '<span style="color: #b32d2e;">%s</span>',
+                               esc_html__( 'Expired', 'wporg-learn' )
+                       );
+               }
+       }
+
+       return $post_states;
+}
+
+/**
+ * Add view links to the patterns list table.
+ *
+ * @param array $views
+ *
+ * @return array
+ */
+function list_table_views( $views ) {
+       global $typenow;
+
+       $wants_expired = filter_input( INPUT_GET, 'expired', FILTER_VALIDATE_BOOLEAN );
+
+       $url = add_query_arg(
+               array(
+                       'post_type' => $typenow,
+                       'expired' => 1,
+               ),
+               admin_url( 'edit.php' )
+       );
+
+       $extra_attributes = '';
+       if ( $wants_expired ) {
+               $extra_attributes = ' class="current" aria-current="page"';
+       }
+
+       $expired_posts_query = new \WP_Query( array(
+               'post_type'   => $typenow,
+               'post_status' => 'any',
+               'numberposts' => 1,
+               'meta_query'  => array(
+                       array(
+                               'key'     => 'expiration_date',
+                               'value'   => current_time( 'mysql' ),
+                               'compare' => '<',
+                       ),
+               ),
+       ) );
+
+       $views['expired'] = sprintf(
+               '<a href="%s"%s>%s</a>',
+               esc_url( $url ),
+               $extra_attributes,
+               sprintf(
+                       /* translators: %s: Number of posts. */
+                       _n(
+                               'Expired <span class="count">(%s)</span>',
+                               'Expired <span class="count">(%s)</span>',
+                               $expired_posts_query->found_posts,
+                               'wporg-learn'
+                       ),
+                       number_format_i18n( $expired_posts_query->found_posts )
+               )
+       );
+
+       return $views;
+}
+
+
+/**
+ * Modify the query that populates the patterns list table.
+ *
+ * @param WP_Query $query
+ *
+ * @return void
+ */
+function handle_list_table_views( WP_Query $query ) {
+       global $typenow;
+
+       $wants_expired = filter_input( INPUT_GET, 'expired', FILTER_VALIDATE_BOOLEAN );
+
+       if ( ! is_admin() || ! $query->is_main_query() ) {
+               return;
+       }
+
+       $current_screen = get_current_screen();
+
+       if ( 'edit-' . $typenow === $current_screen->id ) {
+               if ( $wants_expired ) {
+                       $meta_query = $query->get( 'meta_query', array() );
+
+                       $meta_query[] = array(
+                               'key'     => 'expiration_date',
+                               'value'   => current_time( 'mysql' ),
+                               'compare' => '<',
+                       );
+
+                       $query->set( 'meta_query', $meta_query );
+               }
+       }
+}
</ins></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnincpostmetaphp"></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/plugins/wporg-learn/inc/post-meta.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/plugins/wporg-learn/inc/post-meta.php    2021-09-09 19:59:58 UTC (rev 11224)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/inc/post-meta.php      2021-09-10 22:25:05 UTC (rev 11225)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5,7 +5,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> use DateTime, DateInterval;
</span><span class="cx" style="display: block; padding: 0 10px"> use WP_Post;
</span><span class="cx" style="display: block; padding: 0 10px"> use function WordPressdotorg\Locales\{ get_locales_with_english_names };
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-use function WPOrg_Learn\get_views_path;
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+use function WPOrg_Learn\{ get_build_path, get_build_url, get_views_path };
</ins><span class="cx" style="display: block; padding: 0 10px"> use function WPOrg_Learn\Form\get_workshop_application_field_schema;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> defined( 'WPINC' ) || die();
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -18,6 +18,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> add_action( 'add_meta_boxes', __NAMESPACE__ . '\add_workshop_metaboxes' );
</span><span class="cx" style="display: block; padding: 0 10px"> add_action( 'save_post_lesson-plan', __NAMESPACE__ . '\save_lesson_plan_metabox_fields' );
</span><span class="cx" style="display: block; padding: 0 10px"> add_action( 'save_post_wporg_workshop', __NAMESPACE__ . '\save_workshop_metabox_fields' );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+add_action( 'enqueue_block_editor_assets', __NAMESPACE__ . '\enqueue_editor_assets' );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="cx" style="display: block; padding: 0 10px">  * Register all post meta keys.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -25,6 +26,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> function register() {
</span><span class="cx" style="display: block; padding: 0 10px">        register_lesson_plan_meta();
</span><span class="cx" style="display: block; padding: 0 10px">        register_workshop_meta();
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        register_misc_meta();
</ins><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -141,6 +143,31 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * Register other post meta keys.
+ *
+ * For multiple post types, for example.
+ */
+function register_misc_meta() {
+       // Expiration field.
+       $post_types = array( 'lesson-plan', 'wporg_workshop', 'course', 'lesson' );
+       foreach ( $post_types as $post_type ) {
+               register_post_meta(
+                       $post_type,
+                       'expiration_date',
+                       array(
+                               'description'       => __( 'The date when the content of the post may be obsolete.', 'wporg_learn' ),
+                               'type'              => 'string',
+                               'single'            => true,
+                               'sanitize_callback' => function( $value ) {
+                                       return filter_var( $value, FILTER_SANITIZE_STRING );
+                               },
+                               'show_in_rest'      => true,
+                       )
+               );
+       }
+}
+
+/**
</ins><span class="cx" style="display: block; padding: 0 10px">  * Sanitize a locale value.
</span><span class="cx" style="display: block; padding: 0 10px">  *
</span><span class="cx" style="display: block; padding: 0 10px">  * @param string $meta_value
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -430,3 +457,29 @@
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+/**
+ * Enqueue scripts for the block editor.
+ */
+function enqueue_editor_assets() {
+       global $typenow;
+
+       $post_types_with_expiration = array( 'lesson-plan', 'wporg_workshop', 'course', 'lesson' );
+       if ( in_array( $typenow, $post_types_with_expiration, true ) ) {
+               $script_asset_path = get_build_path() . 'expiration-date.asset.php';
+               if ( ! file_exists( $script_asset_path ) ) {
+                       wp_die( 'You need to run `yarn start` or `yarn build` to build the required assets.' );
+               }
+
+               $script_asset = require( $script_asset_path );
+               wp_enqueue_script(
+                       'wporg-learn-expiration-date',
+                       get_build_url() . 'expiration-date.js',
+                       $script_asset['dependencies'],
+                       $script_asset['version'],
+                       true
+               );
+
+               wp_set_script_translations( 'wporg-learn-expiration-date', 'wporg-learn' );
+       }
+}
</ins></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnjsexpirationdateindexjs"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/js/expiration-date/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/plugins/wporg-learn/js/expiration-date/index.js                          (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/js/expiration-date/index.js    2021-09-10 22:25:05 UTC (rev 11225)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,100 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+/**
+ * WordPress dependencies
+ */
+import {
+       Button,
+       DateTimePicker,
+       Dropdown,
+       PanelRow,
+} from '@wordpress/components';
+import { useDispatch, useSelect } from '@wordpress/data';
+import { format, __experimentalGetSettings } from '@wordpress/date';
+import { PluginPostStatusInfo } from '@wordpress/edit-post';
+import { useState, useRef } from '@wordpress/element';
+import { __ } from '@wordpress/i18n';
+import { registerPlugin } from '@wordpress/plugins';
+
+function ExpirationLabel( { date } ) {
+       const settings = __experimentalGetSettings();
+       return date
+               ? format(
+                               `${ settings.formats.date } ${ settings.formats.time }`,
+                               date
+                 )
+               : __( 'No expiration date', 'wporg-learn' );
+}
+
+const ExpirationDate = () => {
+       const postMetaData = useSelect(
+               ( select ) =>
+                       select( 'core/editor' ).getEditedPostAttribute( 'meta' ) || {}
+       );
+       const { editPost } = useDispatch( 'core/editor' );
+       const [ expDate, setExpDate ] = useState( postMetaData?.expiration_date );
+       const anchorRef = useRef();
+       const pickerRef = useRef();
+
+       return (
+               <PluginPostStatusInfo>
+                       <PanelRow className="edit-post-post-schedule" ref={ anchorRef }>
+                               <span>{ __( 'Expiration', 'wporg-learn' ) }</span>
+                               <Dropdown
+                                       popoverProps={ { anchorRef: anchorRef.current } }
+                                       position="bottom left"
+                                       contentClassName="edit-post-post-schedule__dialog"
+                                       renderToggle={ ( { onToggle, isOpen } ) => (
+                                               <>
+                                                       <Button
+                                                               className="edit-post-post-schedule__toggle"
+                                                               onClick={ onToggle }
+                                                               aria-expanded={ isOpen }
+                                                               variant="tertiary"
+                                                       >
+                                                               <ExpirationLabel date={ expDate } />
+                                                       </Button>
+                                               </>
+                                       ) }
+                                       renderContent={ () => {
+                                               return (
+                                                       <>
+                                                               <p style={ { padding: '0 16px' } }>
+                                                                       { __(
+                                                                               'A date when the content in this post might become obsolete.',
+                                                                               'wporg-learn'
+                                                                       ) }
+                                                               </p>
+                                                               <DateTimePicker
+                                                                       ref={ pickerRef }
+                                                                       currentDate={ expDate }
+                                                                       onChange={ ( newDate ) => {
+                                                                               setExpDate( newDate );
+
+                                                                               editPost( {
+                                                                                       meta: {
+                                                                                               ...postMetaData,
+                                                                                               expiration_date: newDate,
+                                                                                       },
+                                                                               } );
+
+                                                                               const {
+                                                                                       ownerDocument,
+                                                                               } = pickerRef.current;
+                                                                               ownerDocument.activeElement.blur();
+                                                                       } }
+                                                               />
+                                                       </>
+                                               );
+                                       } }
+                               />
+                       </PanelRow>
+               </PluginPostStatusInfo>
+       );
+};
+
+const PluginWrapper = () => {
+       return <ExpirationDate />;
+};
+
+registerPlugin( 'wporg-learn-expiration-date', {
+       render: PluginWrapper,
+} );
</ins></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnwebpackconfigjs"></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/plugins/wporg-learn/webpack.config.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/plugins/wporg-learn/webpack.config.js    2021-09-09 19:59:58 UTC (rev 11224)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/webpack.config.js      2021-09-10 22:25:05 UTC (rev 11225)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5,6 +5,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">  */
</span><span class="cx" style="display: block; padding: 0 10px"> config.entry = {
</span><span class="cx" style="display: block; padding: 0 10px">        'block-styles': './js/block-styles/index.js',
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        'expiration-date': './js/expiration-date/index.js',
</ins><span class="cx" style="display: block; padding: 0 10px">         'workshop-application-form': './js/workshop-application-form/src/index.js',
</span><span class="cx" style="display: block; padding: 0 10px">        'workshop-details': './js/workshop-details/src/index.js',
</span><span class="cx" style="display: block; padding: 0 10px">        'event': './js/event.js',
</span></span></pre>
</div>
</div>

</body>
</html>