diff --git a/.config/travis/add-on.yml b/.config/travis/add-on.yml deleted file mode 100644 index 74e475dd46..0000000000 --- a/.config/travis/add-on.yml +++ /dev/null @@ -1,25 +0,0 @@ -# -# This travis config file is intended to be used by LifterLMS Add-ons. -# -# Example usage in .travis.yml: -# -# import: -# - gocodebox/lifterlms:.config/travis/add-on.yml -# - -# Import main configs. -import: - - gocodebox/lifterlms:.config/travis/main.yml - -# If $LLMS_BRANCH is specified, install the plugin from git. -install: - - | - if [ ! -z "$LLMS_BRANCH" ]; then - ./vendor/bin/llms-tests plugin https://github.com/gocodebox/lifterlms.git@${LLMS_BRANCH} - fi - -# Test against the "nightly" dev branch of the the LifterLMS core. -jobs: - include: - - php: "8.0" - env: LLMS_BRANCH=dev WP_VERSION=latest diff --git a/.config/travis/e2e.yml b/.config/travis/e2e.yml deleted file mode 100644 index 39e269b8cb..0000000000 --- a/.config/travis/e2e.yml +++ /dev/null @@ -1,20 +0,0 @@ -addons: - artifacts: - paths: - - ./tmp/e2e-screenshots - -services: - - xvfb - - docker - -jobs: - allow_failures: - - php: "8.0" - env: WP_VERSION=nightly LLMS_TRAVIS_TESTS=E2E - - include: - - php: "8.0" - env: WP_VERSION=latest LLMS_TRAVIS_TESTS=E2E - - php: "8.0" - env: WP_VERSION=nightly LLMS_TRAVIS_TESTS=E2E - diff --git a/.config/travis/eslint.yml b/.config/travis/eslint.yml deleted file mode 100644 index 1fbeaf66da..0000000000 --- a/.config/travis/eslint.yml +++ /dev/null @@ -1,23 +0,0 @@ -# -# TravisCI config file partial for running an eslint job -# -# This partial is intended to be used alongside the main.yml config found within this same directory. -# -# Example usage in .travis.yml: -# -# import: -# - gocodebox/lifterlms:.config/travis/main.yml -# - gocodebox/lifterlms:.config/travis/eslint.yml -# - -jobs: - include: - - env: ESLINT=1 - language: node_js - node_js: lts/* - before_install: - install: - - npm ci - script: - - npm run lint:js - after_script: diff --git a/.config/travis/main.yml b/.config/travis/main.yml deleted file mode 100644 index 55acdeae12..0000000000 --- a/.config/travis/main.yml +++ /dev/null @@ -1,129 +0,0 @@ -os: linux -dist: bionic -language: php - -services: - - mysql - -cache: - directories: - - node_modules - - vendor - - $HOME/.composer/cache - -env: - global: - - TESTS_DB_HOST=localhost - - TESTS_DB_NAME=llms_tests - - TESTS_DB_PASS="" - jobs: - - WP_VERSION=latest # 5.8 - - WP_VERSION="5.7" - - WP_VERSION="5.6" - - WP_VERSION="5.5" - - WP_VERSION="5.4" - -php: - - "8.0" - - "7.4" - - "7.3" - -jobs: - fast_finish: true - - allow_failures: - - env: WP_VERSION=nightly - - env: WP_VERSION=latest RUN_CODE_COVERAGE=1 - - php: nightly - - exclude: - # These WP Versions don't work on PHP 8.0 - - php: "8.0" - env: WP_VERSION="5.5" - - php: "8.0" - env: WP_VERSION="5.4" - - include: - - php: "8.0" - env: PHPCS=1 - - php: nightly - env: WP_VERSION=latest - - php: "8.0" - env: WP_VERSION=nightly - - php: "7.4" - env: WP_VERSION=latest RUN_CODE_COVERAGE=1 - before_script: - # Download CodeClimate Test Reporter - - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter - - chmod +x ./cc-test-reporter - script: - - ./cc-test-reporter before-build - - composer run-script tests-run -- --coverage-clover clover.xml - after_script: - - ./cc-test-reporter after-build --coverage-input-type clover --exit-code $TRAVIS_TEST_RESULT - -before_install: - # Disable xDebug for faster builds - - | - if [ "1" != $RUN_CODE_COVERAGE ] && [ -f ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini ]; then - phpenv config-rm xdebug.ini - fi - # Raise PHP memory limit to 2048MB - - echo 'memory_limit = 2048M' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini - # Install composer deps. - - | - if [ "8" != $( php -r "echo PHP_MAJOR_VERSION;" ) ]; then - composer install - else - composer run install-php8 - fi - -install: - - | - if [ "E2E" = "$LLMS_TRAVIS_TESTS" ]; then - sudo rm /usr/local/bin/docker-compose - curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > docker-compose - chmod +x docker-compose - sudo mv docker-compose /usr/local/bin - nvm install --lts - npm ci - [[ -n $DOCKER_USERNAME ]] && [[ -n $DOCKER_PASSWORD ]] && echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - composer run env up - composer run env:setup - if [ "latest" != $WP_VERSION ]; then - ./vendor/bin/llms-env version $WP_VERSION - fi; - WP_VERSION_REAL=$( ./vendor/bin/llms-env wp core version ) - echo $WP_VERSION_REAL - elif [ "1" = "$PHPCS" ]; then - echo "Nothing to install" - else - composer run tests-install - fi - -script: - - | - if [ "E2E" = "$LLMS_TRAVIS_TESTS" ]; then - WP_VERSION=$WP_VERSION_REAL npm run test - elif [ "1" = "$PHPCS" ]; then - if [ "trunk" = "$TRAVIS_BRANCH" ]; then - composer run-script check-cs-errors - else - composer run-script check-cs-errors -- $( git diff --name-only --diff-filter=ACMR $TRAVIS_COMMIT_RANGE ) - fi - else - composer run-script tests-run - fi - -after_script: - - | - if [ "E2E" = "$LLMS_TRAVIS_TESTS" ]; then - ./vendor/bin/llms-env down - fi - -notifications: - slack: - on_success: change - on_failure: always - rooms: - - secure: VzwXDPjuNCrKed9ACY7dwzyIjcnt6G1iC1LnKAOIx9fyPZ7TARLIf5bSa9M7P5w4uQHK7kpm5yFNtPHKGwaazZnCZxH8jcDMc4M8y3w6j9uNlbidOgfrCpp07lY6kpd8ViR7ANZ4V5Noz+ts8/gSA0yUib6vGP87s6RKHTyVTfNuFmHui7t6vF3S1VCXm4JmOrqmZbY9DlN+8JcyE0Ao3KOk/UDSCZICqo7cYnMci2oHGfb+2VRu49B61tASnV0r/dRu7gjEQTtqwElIJfuP0hGeAYc6bee5vFLA4EIdz2TMgr/Fm1El5eIg+1ZB4bOVEHzUlonLLGaUlqcYfKtmmYiV8BBnte1xBlEflLxYj92ethTUtTvkicVmtK50IlyL8kpb4WBwhXMEjSoKGLmdfaeNGKZ0vS/BnyDA0eWmt4EQ5ZVQL50ukhvmOAXhMB5T+K6Bg6T3yJzXIxej0MrSSNVygpeIwl5RqleXOKJJtJe3TsrsQfdqidXVrKAGSrwlwDRSMLC7JN3l99+5PEXzgb106TE0TBgrMOEClTVyH4gAjplqQ70diw9SAp0rnU518dTDj9HMvZ7KcGQgnAzKI82iB1LaWsWrMjqHtPbn/h+2vRDQNRnx8umnCmC8ezRr4l+xZ8Cb9KgrhvJW+bed3pQFmD/LerSuW6ZgHFsN/KI= diff --git a/.gitignore b/.gitignore index 59ac4ca4db..6cbb1d5fa2 100644 --- a/.gitignore +++ b/.gitignore @@ -31,10 +31,16 @@ assets/js/llms-builder.js assets/js/llms-builder.min.js assets/js/llms-admin-elementor-editor.js assets/js/llms-admin-elementor-editor.asset.php +assets/js/llms-admin-certificate-editor.asset.php +assets/js/llms-admin-certificate-editor.js +assets/js/llms-components.asset.php +assets/js/llms-components.js +assets/js/llms.js assets/js/*.min.js assets/js/llms-metaboxes.js blocks/certificate-title/* blocks/my-account/* +blocks/pricing-table/* includes/class.llms.l10n.frontend.php languages/lifterlms.pot diff --git a/CHANGELOG.md b/CHANGELOG.md index f94c427c63..7a584730e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,35 @@ LifterLMS Changelog =================== +v7.8.7 - 2024-12-17 +------------------- + +##### Bug Fixes + ++ Fix translation error during the setup wizard. [#2835](https://github.com/gocodebox/lifterlms/issues/2835) ++ Fixes Pagespeed notice regarding deprecated Javascript event usage. [#2620](https://github.com/gocodebox/lifterlms/issues/2620) + + +v7.8.6 - 2024-12-16 +------------------- + +##### Bug Fixes + ++ Adds additional check for valid quiz attempt key when ending or exiting a quiz. [#2824](https://github.com/gocodebox/lifterlms/issues/2824) ++ Fix for daylight savings and leap years when scheduling engagements. [#2799](https://github.com/gocodebox/lifterlms/issues/2799) ++ Avoid showing course opens message if no Course Start Date has been set. [#2810](https://github.com/gocodebox/lifterlms/issues/2810) ++ Improved accessibility of the lessons listing on a course page, when a lesson is restricted. [#2827](https://github.com/gocodebox/lifterlms/issues/2827) + +##### Security Fixes + ++ Adding additional checks before the deletion of a certificate. Thanks Lucio Sá! + +##### Updated Templates + ++ [templates/content-single-course-before.php](https://github.com/gocodebox/lifterlms/blob/7.8.6/templates/content-single-course-before.php) ++ [templates/course/lesson-preview.php](https://github.com/gocodebox/lifterlms/blob/7.8.6/templates/course/lesson-preview.php) + + v7.8.5 - 2024-12-03 ------------------- diff --git a/assets/js/app/llms-lesson-preview.js b/assets/js/app/llms-lesson-preview.js index dd6ca7974d..c872dc7eb4 100644 --- a/assets/js/app/llms-lesson-preview.js +++ b/assets/js/app/llms-lesson-preview.js @@ -109,7 +109,12 @@ LLMS.LessonPreview = { */ get_tooltip: function( msg ) { var $el = $( '
' ); - $el.append( '
' + msg + '
' ); + $el.append( + $('
', { + 'class': 'llms-tooltip-content', + 'aria-hidden': 'true' + }).text( msg ) + ); return $el; }, diff --git a/assets/js/app/llms-tracking.js b/assets/js/app/llms-tracking.js index 9997e29cc1..cbf7f772e2 100644 --- a/assets/js/app/llms-tracking.js +++ b/assets/js/app/llms-tracking.js @@ -35,7 +35,7 @@ LLMS.Tracking = function( settings ) { self.addEvent( 'page.load' ); window.addEventListener( 'beforeunload', onBeforeUnload ); - window.addEventListener( 'unload', onUnload ); + window.addEventListener( 'pagehide', onUnload ); document.addEventListener( 'visibilitychange', onVisibilityChange ); diff --git a/assets/js/llms-admin-certificate-editor.asset.php b/assets/js/llms-admin-certificate-editor.asset.php deleted file mode 100644 index 2ed1b50fbb..0000000000 --- a/assets/js/llms-admin-certificate-editor.asset.php +++ /dev/null @@ -1 +0,0 @@ - array('llms-components', 'llms-icons', 'llms-utils', 'react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-dom-ready', 'wp-edit-post', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-rich-text', 'wp-url'), 'version' => '60767b838123827faba1'); diff --git a/assets/js/llms-admin-certificate-editor.js b/assets/js/llms-admin-certificate-editor.js deleted file mode 100644 index d95c7f61b2..0000000000 --- a/assets/js/llms-admin-certificate-editor.js +++ /dev/null @@ -1,22 +0,0 @@ -(()=>{"use strict";var e={n:t=>{var r=t&&t.__esModule?()=>t.default:()=>t;return e.d(r,{a:r}),r},d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.wp.plugins,r=window.wp.coreData,n=window.wp.data,i=window.wp.blocks,a=window.wp.domReady;var o=e.n(a);const l=window.wp.editor,s=window.wp.blockEditor;let c=!1;function u(){const{getCurrentPostAttribute:e,getEditedPostAttribute:t,getCurrentPostType:a}=(0,n.select)(l.store),o=t("certificate_background"),u=t("certificate_margins"),d=t("certificate_width"),m=t("certificate_height"),f=t("certificate_unit"),p=t("certificate_orientation"),h=e("content"),g=t("content"),y=document.querySelector(".block-editor-block-list__layout.is-root-container");if(y){const e="portrait"===p?d:m,t="portrait"===p?m:d,i=u.map((e=>`${e}%`)).join(" ");y.style.backgroundImage=`url( '${function(){const e=function(){const{getEditedPostAttribute:e}=(0,n.select)(l.store),{getMedia:t}=(0,n.select)(r.store),i=e("featured_media");return i?t(i):{}}(),{default_image:t}=window.llms.certificates;if(void 0===e)return null;const{source_url:i}=e;return i||t}()}' )`,y.style.backgroundSize=`${e}${f} ${t}${f}`,y.style.backgroundRepeat="no-repeat",y.style.marginLeft="auto",y.style.marginRight="auto",y.style.padding=i,y.style.width=`${e}${f}`,y.style.minHeight=`${t}${f}`,y.style.boxSizing="border-box"}const b=document.querySelector(".editor-styles-wrapper");if(b&&(b.style.backgroundColor=o),"llms_my_certificate"===a()){!function(e,t){const{isSavingPost:r}=(0,n.select)(l.store),a=r();if(a)c=!0;else if(!a&&c){c=!1;const r=/(\{[A-Za-z_].*\})|(\[llms-user .+]|())/g,a=e.match(r),o=t.match(r);null==o||!o.length||null!=a&&a.length||function(e){const{replaceBlocks:t}=(0,n.dispatch)(s.store),{savePost:r}=(0,n.dispatch)(l.store),{getBlocks:a}=(0,n.select)(s.store);t(a().map((e=>{let{clientId:t}=e;return t})),(0,i.rawHandler)({HTML:e})),r()}(e)}}(h,g);const e=document.querySelector(".edit-post-visual-editor__post-title-wrapper");e&&(e.style.display=function(){const{getInserterItems:e}=(0,n.select)(s.store),{isDisabled:t}=e().find((e=>{let{name:t}=e;return"llms/certificate-title"===t}));return t}()?"none":"initial")}}o()((()=>{!function(){const e=document.createElement("style");e.type="text/css",e.appendChild(document.createTextNode(".editor-styles-wrapper .wp-block { max-width: 100% !important; }")),e.appendChild(document.createTextNode(".editor-styles-wrapper [data-block], .wp-block { margin-top: 0 !important; margin-bottom: 0 !important }")),document.head.appendChild(e)}(),(0,n.subscribe)(u)}));const d=window.wp.hooks,m=window.wp.i18n,f=(0,n.subscribe)((()=>{const{getCurrentPostType:e}=(0,n.select)(l.store),t=e();var r;null!==t&&(r="llms_my_certificate"===t,f(),r&&(0,d.addFilter)("i18n.gettext_default","llms/certificates",(function(e){return"Move to trash"===e?(0,m.__)("Delete permanently","lifterlms"):e})))})),p=window.wp.element,h=window.wp.components,g=window.wp.richText,y=window.llms.components,b=window.llms.icons;function w(e){let{closeModal:t,onChange:r,value:n}=e;const{merge_codes:i}=window.llms.certificates;return Object.entries(i).map(((e,i)=>{let[a,o]=e;return(0,p.createElement)("tr",{key:i},(0,p.createElement)("td",{style:{textAlign:"left"}},o),(0,p.createElement)("td",null,(0,p.createElement)(y.CopyButton,{buttonText:a,copyText:a,onCopy:t,isLink:!0})),(0,p.createElement)("td",null,(0,p.createElement)(h.Button,{isSecondary:!0,isSmall:!0,onClick:()=>{t(),r((0,g.insert)(n,a))}},(0,m.__)("Insert","lifterlms"))))}))}(0,g.registerFormatType)("llms/certificate-merge-codes",{title:(0,m.__)("LifterLMS Certificate Merge Codes","lifterlms"),tagName:"span",className:"llms-cert-mc-wrap",edit:function(e){const[t,r]=(0,p.useState)(!1),n=()=>r(!1),{value:i,onChange:a}=e;return(0,p.createElement)(p.Fragment,null,(0,p.createElement)(s.RichTextToolbarButton,{icon:(0,p.createElement)(b.Icon,{icon:b.lifterlms}),title:(0,m.__)("Merge Codes","lifterlms"),onClick:()=>r(!0)}),t&&(0,p.createElement)(h.Modal,{className:"llms-certificate-merge-codes-modal",title:(0,m.__)("LifterLMS Certificate Merge Codes","lifterlms"),onRequestClose:n},(0,p.createElement)("div",{className:"llms-certificate-merge-codes-modal--main"},(0,p.createElement)("table",{className:"llms-table zebra",style:{width:"480px"}},(0,p.createElement)("thead",null,(0,p.createElement)("tr",null,(0,p.createElement)("th",{style:{textAlign:"left"}},(0,m.__)("Name","lifterlms")),(0,p.createElement)("th",null,(0,m.__)("Merge code","lifterlms")),(0,p.createElement)("th",null,(0,m.__)("Insert","lifterlms")))),(0,p.createElement)("tbody",null,(0,p.createElement)(w,{closeModal:n,onChange:a,value:i}))))))}});const v=(0,n.subscribe)((()=>{const e=new URLSearchParams(window.location.search);if(1!==parseInt(e.get("llms-migrate-legacy-certificate")))return _(!1);0!==k().length&&_(!0)}));function _(e){v(),e&&function(){const e=k().filter((e=>{let{name:t}=e;return"core/freeform"===t}));if(0===e.length)return;const{replaceBlocks:t}=(0,n.dispatch)(s.store),{savePost:r}=(0,n.dispatch)(l.store);e.forEach((e=>{t(e.clientId,(0,i.rawHandler)({HTML:(0,i.serialize)(e)}))})),r()}()}function k(){const{getBlocks:e}=(0,n.select)(s.store);return e()}(0,d.addFilter)("blocks.registerBlockType","llms/certificate-editor/columns-block",(function(e,t){return"core/columns"===t&&(e.variations=e.variations.map((e=>{const{attributes:t={}}=e;return e.attributes={...t,isStackedOnMobile:!1},e}))),e}));const C=window.wp.notices,x=window.wp.url;o()((()=>{if("1"!==(0,x.getQueryArg)(window.location.href,"newAwardMsg"))return;const{createSuccessNotice:e}=(0,n.dispatch)(C.store);e((0,m.__)("The certificate award has been created as a draft.","lifterlms"))}));const E=window.wp.compose,S=window.wp.editPost;function P(e,t){const{editPost:r}=(0,n.dispatch)(l.store),i={};i[`certificate_${e}`]=t,r(i)}function T(){let e=(0,s.useSetting)("color.palette");return e.length||(e=window.llms.certificates.colors),e.map((e=>{const{color:t}=e;return{...e,color:t.startsWith("#")?t.toLowerCase():t}}))}function A(e){let{background:t}=e;const[r,n]=(0,p.useState)(t);return(0,p.createElement)(h.BaseControl,{label:(0,m.__)("Background Color","lifterlms"),id:"llms-certificate-control--background-color"},(0,p.createElement)(h.ColorPalette,{colors:T(),onChange:e=>{n(e),P("background",e)},value:r,clearable:!1}))}const $=window.React;function I(){return I=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?F(K,--Y):0,X--,10===Z&&(X=1,V--),Z}function re(){return Z=Y2||oe(Z)>3?"":" "}function de(e,t){for(;--t&&re()&&!(Z<48||Z>102||Z>57&&Z<65||Z>70&&Z<97););return ae(e,ie()+(t<6&&32==ne()&&32==re()))}function me(e){for(;re();)switch(Z){case e:return Y;case 34:case 39:34!==e&&39!==e&&me(Z);break;case 40:41===e&&me(e);break;case 92:re()}return Y}function fe(e,t){for(;re()&&e+Z!==57&&(e+Z!==84||47!==ne()););return"/*"+ae(t,Y-1)+"*"+N(47===e?e:re())}function pe(e){for(;!oe(ne());)re();return ae(e,Y)}var he="-ms-",ge="-moz-",ye="-webkit-",be="comm",we="rule",ve="decl",_e="@keyframes";function ke(e,t){for(var r="",n=W(e),i=0;i6)switch(F(e,t+1)){case 109:if(45!==F(e,t+4))break;case 102:return U(e,/(.+:)(.+)-([^]+)/,"$1-webkit-$2-$3$1"+ge+(108==F(e,t+3)?"$3":"$2-$3"))+e;case 115:return~j(e,"stretch")?xe(U(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==F(e,t+1))break;case 6444:switch(F(e,H(e)-3-(~j(e,"!important")&&10))){case 107:return U(e,":",":"+ye)+e;case 101:return U(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+ye+(45===F(e,14)?"inline-":"")+"box$3$1"+ye+"$2$3$1"+he+"$2box$3")+e}break;case 5936:switch(F(e,t+11)){case 114:return ye+e+he+U(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return ye+e+he+U(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return ye+e+he+U(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return ye+e+he+e+e}return e}function Ee(e){return se(Se("",null,null,null,[""],e=le(e),0,[0],e))}function Se(e,t,r,n,i,a,o,l,s){for(var c=0,u=0,d=o,m=0,f=0,p=0,h=1,g=1,y=1,b=0,w="",v=i,_=a,k=n,C=w;g;)switch(p=b,b=re()){case 40:if(108!=p&&58==C.charCodeAt(d-1)){-1!=j(C+=U(ce(b),"&","&\f"),"&\f")&&(y=-1);break}case 34:case 39:case 91:C+=ce(b);break;case 9:case 10:case 13:case 32:C+=ue(p);break;case 92:C+=de(ie()-1,7);continue;case 47:switch(ne()){case 42:case 47:G(Te(fe(re(),ie()),t,r),s);break;default:C+="/"}break;case 123*h:l[c++]=H(C)*y;case 125*h:case 59:case 0:switch(b){case 0:case 125:g=0;case 59+u:f>0&&H(C)-d&&G(f>32?Ae(C+";",n,r,d-1):Ae(U(C," ","")+";",n,r,d-2),s);break;case 59:C+=";";default:if(G(k=Pe(C,t,r,c,u,i,l,w,v=[],_=[],d),a),123===b)if(0===u)Se(C,t,k,k,v,a,d,l,_);else switch(m){case 100:case 109:case 115:Se(e,k,k,n&&G(Pe(e,k,k,0,0,i,l,w,i,v=[],d),_),i,_,d,l,n?v:_);break;default:Se(C,k,k,k,[""],_,0,l,_)}}c=u=f=0,h=y=1,w=C="",d=o;break;case 58:d=1+H(C),f=p;default:if(h<1)if(123==b)--h;else if(125==b&&0==h++&&125==te())continue;switch(C+=N(b),b*h){case 38:y=u>0?1:(C+="\f",-1);break;case 44:l[c++]=(H(C)-1)*y,y=1;break;case 64:45===ne()&&(C+=ce(re())),m=ne(),u=d=H(w=C+=pe(ie())),b++;break;case 45:45===p&&2==H(C)&&(h=0)}}return a}function Pe(e,t,r,n,i,a,o,l,s,c,u){for(var d=i-1,m=0===i?a:[""],f=W(m),p=0,h=0,g=0;p0?m[y]+" "+b:U(b,/&\f/g,m[y])))&&(s[g++]=w);return J(e,t,r,0===i?we:l,s,c,u)}function Te(e,t,r){return J(e,t,r,be,N(Z),D(e,2,-2),0)}function Ae(e,t,r,n){return J(e,t,r,ve,D(e,0,n),D(e,n+1,-1),n)}var $e=function(e,t,r){for(var n=0,i=0;n=i,i=ne(),38===n&&12===i&&(t[r]=1),!oe(i);)re();return ae(e,Y)},Ie=new WeakMap,Me=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,r=e.parent,n=e.column===r.column&&e.line===r.line;"rule"!==r.type;)if(!(r=r.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||Ie.get(r))&&!n){Ie.set(e,!0);for(var i=[],a=function(e,t){return se(function(e,t){var r=-1,n=44;do{switch(oe(n)){case 0:38===n&&12===ne()&&(t[r]=1),e[r]+=$e(Y-1,t,r);break;case 2:e[r]+=ce(n);break;case 4:if(44===n){e[++r]=58===ne()?"&\f":"",t[r]=e[r].length;break}default:e[r]+=N(n)}}while(n=re());return e}(le(e),t))}(t,i),o=r.props,l=0,s=0;l-1&&!e.return)switch(e.type){case ve:e.return=xe(e.value,e.length);break;case _e:return ke([ee(e,{value:U(e.value,"@","@"+ye)})],n);case we:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return(e=/(::plac\w+|:read-\w+)/.exec(e))?e[0]:e}(t)){case":read-only":case":read-write":return ke([ee(e,{props:[U(t,/:(read-\w+)/,":-moz-$1")]})],n);case"::placeholder":return ke([ee(e,{props:[U(t,/:(plac\w+)/,":-webkit-input-$1")]}),ee(e,{props:[U(t,/:(plac\w+)/,":-moz-$1")]}),ee(e,{props:[U(t,/:(plac\w+)/,he+"input-$1")]})],n)}return""}))}}];const Re=function(e){var t=e.key;if("css"===t){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))}var n,i,a=e.stylisPlugins||Oe,o={},l=[];n=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),r=1;r=4;++n,i-=4)t=1540483477*(65535&(t=255&e.charCodeAt(n)|(255&e.charCodeAt(++n))<<8|(255&e.charCodeAt(++n))<<16|(255&e.charCodeAt(++n))<<24))+(59797*(t>>>16)<<16),r=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&r)+(59797*(r>>>16)<<16);switch(i){case 3:r^=(255&e.charCodeAt(n+2))<<16;case 2:r^=(255&e.charCodeAt(n+1))<<8;case 1:r=1540483477*(65535&(r^=255&e.charCodeAt(n)))+(59797*(r>>>16)<<16)}return(((r=1540483477*(65535&(r^=r>>>13))+(59797*(r>>>16)<<16))^r>>>15)>>>0).toString(36)},Ne={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};var Be=/[A-Z]|^ms/g,qe=/_EMO_([^_]+?)_([^]*?)_EMO_/g,Ue=function(e){return 45===e.charCodeAt(1)},je=function(e){return null!=e&&"boolean"!=typeof e},Fe=M((function(e){return Ue(e)?e:e.replace(Be,"-$&").toLowerCase()})),De=function(e,t){switch(e){case"animation":case"animationName":if("string"==typeof t)return t.replace(qe,(function(e,t,r){return We={name:t,styles:r,next:We},t}))}return 1===Ne[e]||Ue(e)||"number"!=typeof t||0===t?t:t+"px"};function He(e,t,r){if(null==r)return"";if(void 0!==r.__emotion_styles)return r;switch(typeof r){case"boolean":return"";case"object":if(1===r.anim)return We={name:r.name,styles:r.styles,next:We},r.name;if(void 0!==r.styles){var n=r.next;if(void 0!==n)for(;void 0!==n;)We={name:n.name,styles:n.styles,next:We},n=n.next;return r.styles+";"}return function(e,t,r){var n="";if(Array.isArray(r))for(var i=0;i96?tt:rt},it=function(e,t,r){var n;if(t){var i=t.shouldForwardProp;n=e.__emotion_forwardProp&&i?function(t){return e.__emotion_forwardProp(t)&&i(t)}:i}return"function"!=typeof n&&r&&(n=e.__emotion_forwardProp),n},at=function(e){var t=e.cache,r=e.serialized,n=e.isStringTag;return et(t,r,n),Qe((function(){return function(e,t,r){et(e,t,r);var n=e.key+"-"+t.name;if(void 0===e.inserted[t.name]){var i=t;do{e.insert(t===i?"."+n:"",i,e.sheet,!0),i=i.next}while(void 0!==i)}}(t,r,n)})),null};var ot=function e(t,r){var n,i,a=t.__emotion_real===t,o=a&&t.__emotion_base||t;void 0!==r&&(n=r.label,i=r.target);var l=it(t,r,a),s=l||nt(o),c=!s("as");return function(){var u=arguments,d=a&&void 0!==t.__emotion_styles?t.__emotion_styles.slice(0):[];if(void 0!==n&&d.push("label:"+n+";"),null==u[0]||void 0===u[0].raw)d.push.apply(d,u);else{d.push(u[0][0]);for(var m=u.length,f=1;f{n(e,r,a)}}),(0,p.createElement)("em",{style:{display:"block",marginLeft:"4px",marginTop:"-8px"}},function(e){return[(0,m.__)("Top","lifterlms"),(0,m.__)("Right","lifterlms"),(0,m.__)("Bottom","lifterlms"),(0,m.__)("Left","lifterlms")][e]}(r)))}function ut(e){let{margins:t}=e;const r=(e,r,n)=>{const i=[...t];i[r]=e,n(e),P("margins",i)};return(0,p.createElement)(h.BaseControl,{label:(0,m.__)("Inner Margins","lifterlms"),id:"llms-certificate-margins-control"},(0,p.createElement)("div",{style:{display:"flex"}},t.map(((e,t)=>(0,p.createElement)(ct,{key:t,margin:e,index:t,editMargins:r})))))}function dt(e){let{orientation:t}=e;const{orientations:r}=window.llms.certificates,n=Object.entries(r).map((e=>{let[t,r]=e;return{value:t,label:r}}));return(0,p.createElement)(y.ButtonGroupControl,{id:"llms-certificate-orientation-control",label:(0,m.__)("Orientation","lifterlms"),selected:t,options:n,onClick:e=>P("orientation",e)})}function mt(e){let{sequentialId:t}=e;const[r,n]=(0,p.useState)(t);let{minSequentialId:i}=window.llms.certificates;return i||(i=t,window.llms.certificates.minSequentialId=i),(0,p.createElement)(h.TextControl,{id:"llms-certificate-title-control",label:(0,m.__)("Next Sequential ID","lifterlms"),value:r,type:"number",step:"1",min:i,onChange:e=>{n(e),P("sequential_id",e)},help:(0,m.__)("Used for the {sequential_id} merge code when generating a certificate from this template.","lifterlms")})}function ft(e){let{name:t,width:r,height:n,unit:i}=e;const{units:a}=window.llms.certificates,{symbol:o}=a[i]||{};return(0,m.sprintf)("%1$s (%2$s%4$s x %3$s%4$s)",t,r,n,o)}function pt(e){let{width:t,height:r,unit:n}=e;const[i,a]=(0,p.useState)(t),[o,l]=(0,p.useState)(r),[s,c]=(0,p.useState)(n);return(0,p.createElement)("div",{style:{display:"flex"}},(0,p.createElement)("div",{style:{flex:1}},(0,p.createElement)(h.TextControl,{id:"llms-certificate-control--size--custom-width",label:(0,m.__)("Custom Size Width","lifterlms"),placeholder:(0,m.__)("Width","lifterlms"),type:"number",value:i,hideLabelFromVision:!0,onChange:e=>{a(e),P("width",e)}})),(0,p.createElement)("div",{style:{flex:1}},(0,p.createElement)(h.TextControl,{id:"llms-certificate-control--size--custom-height",label:(0,m.__)("Custom Size Height","lifterlms"),placeholder:(0,m.__)("Height","lifterlms"),type:"number",value:o,hideLabelFromVision:!0,onChange:e=>{l(e),P("height",e)}})),(0,p.createElement)("div",{style:{flex:2}},(0,p.createElement)(h.SelectControl,{id:"llms-certificate-control--size--custom-unit",label:(0,m.__)("Custom Size Dimension","lifterlms"),hideLabelFromVision:!0,value:s,onChange:e=>{c(e),P("unit",e)},options:[{value:"in",label:(0,m.__)("in (Inches)","lifterlms")},{value:"mm",label:(0,m.__)("mm (Millimeters)","lifterlms")}]})))}function ht(e){let{size:t,width:r,height:n,unit:i}=e;const{sizes:a}=window.llms.certificates,o=Object.entries(a).map((e=>{let[t,r]=e;return{value:t,label:ft(r)}})),[l,s]=(0,p.useState)(t);return o.push({value:"CUSTOM",label:(0,m._x)("Custom","certificate sizing option","lifterlms")}),(0,p.createElement)(p.Fragment,null,(0,p.createElement)(h.SelectControl,{id:"llms-certificate-control--size",label:(0,m.__)("Size","lifterlms"),value:l,options:o,onChange:e=>{if(s(e),P("size",e),"CUSTOM"!==e){const t=a[e];P("unit",t.unit),P("width",t.width),P("height",t.height)}}}),"CUSTOM"===l&&(0,p.createElement)(pt,{editCertificate:P,width:r,height:n,unit:i}))}function gt(e){let{children:t}=e;const{getCurrentPostType:r}=(0,n.useSelect)(l.store),{getInserterItems:i}=(0,n.useSelect)(s.store);if("llms_certificate"!==r())return null;const{isDisabled:a}=i().find((e=>{let{name:t}=e;return"llms/certificate-title"===t}));return a?null:t}function yt(e){let{title:t}=e;return(0,p.createElement)(h.TextControl,{id:"llms-certificate-title-control",label:(0,m.__)("Title","lifterlms"),value:t,onChange:e=>P("title",e),help:(0,m.__)("Used as the title for certificates generated from this template.","lifterlms")})}const bt=(0,n.withSelect)((e=>{const{getEditedPostAttribute:t}=e(l.store);return{type:t("type"),title:t("certificate_title"),sequentialId:t("certificate_sequential_id"),background:t("certificate_background"),height:t("certificate_height"),margins:t("certificate_margins"),orientation:t("certificate_orientation"),size:t("certificate_size"),unit:t("certificate_unit"),width:t("certificate_width")}})),wt=(0,E.compose)([bt])((function(e){let{type:t,title:r,sequentialId:n,background:i,height:a,margins:o,orientation:l,size:s,unit:c,width:u}=e;return(0,p.createElement)(S.PluginDocumentSettingPanel,{className:"llms-certificate-doc-settings",name:"llms-certificate-doc-settings",title:(0,m.__)("Settings","lifterlms"),opened:!0},(0,p.createElement)(gt,null,(0,p.createElement)(yt,{title:r}),(0,p.createElement)("br",null)),(0,p.createElement)(ht,{size:s,width:u,height:a,unit:c}),(0,p.createElement)("br",null),(0,p.createElement)(dt,{orientation:l}),(0,p.createElement)("br",null),(0,p.createElement)(ut,{margins:o,unit:c}),(0,p.createElement)("br",null),(0,p.createElement)(A,{background:i}),"llms_certificate"===t&&(0,p.createElement)(p.Fragment,null,(0,p.createElement)("br",null),(0,p.createElement)(mt,{sequentialId:n})))}));function vt(e){let{postType:t,children:r}=e;return t&&"llms_certificate"===t?r:null}const _t=window.llms.utils;function kt(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const t={post_type:"llms_my_certificate"};return e&&(t.sid=e),(0,x.addQueryArgs)(`${(0,_t.getAdminUrl)()}/post-new.php`,t)}function Ct(e){let{modalTitle:t=(0,m.__)("Award a New Certificate","lifterlms"),buttonLabel:i=(0,m.__)("Award","lifterlms"),isDisabled:a=!1,enableScratch:o=!0,selectStudent:l=!0,selectTemplate:s=!0,studentId:c=null,templateId:u=null}=e;const[d,f]=(0,p.useState)(!1),[g,b]=(0,p.useState)(!1),[w,v]=(0,p.useState)(c),[_,k]=(0,p.useState)(u),C=()=>f(!1),E=w&&_;return(0,p.createElement)(p.Fragment,null,d&&(0,p.createElement)(h.Modal,{title:t,style:{maxWidth:"420px"},onRequestClose:C},(0,p.createElement)("p",null,function(e,t){let r="";return e&&t?r=(0,m.__)("Create a new certificate award from the selected template for the selected student.","lifterlms"):e&&!t?r=(0,m.__)("Create a new certificate award from this template for the selected student.","lifterlms"):!e&&t&&(r=(0,m.__)("Create a new certificate award from the selected template for this student.","lifterlms")),r}(l,s)),l&&(0,p.createElement)(y.UserSearchControl,{isClearable:!0,label:(0,m.__)("Award to","lifterlms"),selectedValue:c?[c]:[],onUpdate:e=>{const t=(null==e?void 0:e.id)||null;v(t)}}),s&&(0,p.createElement)(y.PostSearchControl,{isClearable:!0,postType:"llms_certificate",label:(0,m.__)("Template","lifterlms"),placeholder:(0,m.__)("Search for a certificate template…","lifterlms"),selectedValue:u?[u]:[],onUpdate:e=>{const t=(null==e?void 0:e.id)||null;k(t)}}),(0,p.createElement)("div",{style:{textAlign:"right",padding:"24px 32px 0",margin:"24px -32px 0",borderTop:"1px solid #ddd"}},(0,p.createElement)(h.Button,{style:{marginRight:"5px"},disabled:!E,isBusy:g,variant:"primary",onClick:()=>{b(!0),function(e,t){const{saveEntityRecord:i}=(0,n.dispatch)(r.store);return i("postType","llms_my_certificate",{author:e,certificate_template:t,status:"draft"})}(w,_).then((e=>{let{id:t}=e;var r;window.location=(r=t,(0,x.addQueryArgs)(`${(0,_t.getAdminUrl)()}/post.php`,{post:r,action:"edit",newAwardMsg:1}))}))}},(0,m.__)("Create Draft")),o&&(0,p.createElement)(h.Button,{style:{marginRight:"5px"},variant:"secondary",href:kt(w)},(0,m.__)("Start from Scratch","lifterlms")),(0,p.createElement)(h.Button,{variant:"tertiary",onClick:C},(0,m.__)("Cancel","lifterlms")))),(0,p.createElement)(h.Button,{disabled:a,variant:"secondary",onClick:()=>f(!0)},i))}function xt(e){let{postId:t,postType:r,isSaving:n,isPublished:i}=e;return(0,p.createElement)(vt,{postType:r},(0,p.createElement)(Ct,{enableScratch:!1,selectTemplate:!1,templateId:t,isDisabled:n||!i}))}function Et(e){let{children:t}=e;const{getCurrentPost:r}=(0,n.useSelect)(l.store),i=r(),{type:a,certificate_template:o}=i;return a&&("llms_certificate"===a||"llms_my_certificate"===a&&0===o)?t:null}function St(e){let{isSaving:t,isPublished:r}=e;const[a,o]=(0,p.useState)(!1),c=()=>o(!1);let u=(0,m.__)("Are you sure you wish to replace the certificate content with the original default layout? This action cannot be undone!","lifterlms");return r&&(u=(0,m.__)("Are you sure you wish to unpublish the certificate and replace it's content with the original default layout? This action cannot be undone!","lifterlms")),(0,p.createElement)(Et,null,a&&(0,p.createElement)(h.Modal,{title:(0,m.__)("Confirm template reset","lifterlms"),style:{maxWidth:"360px"},onRequestClose:c},(0,p.createElement)("p",null,u),(0,p.createElement)("div",{style:{textAlign:"right"}},(0,p.createElement)(h.Button,{variant:"tertiary",onClick:c},(0,m.__)("Cancel","lifterlms"))," ",(0,p.createElement)(h.Button,{variant:"primary",onClick:()=>function(e,t){const{getBlocks:r,getTemplate:a}=(0,n.select)(s.store),{replaceBlocks:o,insertBlocks:c}=(0,n.dispatch)(s.store),{editPost:u,savePost:m}=(0,n.dispatch)(l.store),f=r().map((e=>{let{clientId:t}=e;return t})),p=(0,i.synchronizeBlocksWithTemplate)([],a());!function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!t){const{getCurrentPostType:e}=(0,n.select)(l.store);t=e()}const{editPost:r}=(0,n.dispatch)(l.store),i={};"llms_certificate"===t?i.certificate_title=e:"llms_my_certificate"===t&&(i.title=e),r(i)}(""),t&&u({status:"draft"}),(0,d.doAction)("llms.resetCertificateTemplate.before",p),f.length?o(f,p):c(p),(0,d.doAction)("llms.resetCertificateTemplate.after",p),m(),e()}(c,r)},(0,m.__)("Reset template","lifterlms")))),(0,p.createElement)(h.Button,{onClick:()=>o(!0),disabled:t,isDestructive:!0},(0,m.__)("Reset template","lifterlms")))}const Pt=(0,E.compose)([(0,n.withSelect)((e=>{const{isSavingPost:t,isCurrentPostPublished:r,getCurrentPostId:n,getCurrentPostType:i}=e(l.store);return{isPublished:r(),isSaving:t(),postId:n(),postType:i()}}))])((function(e){let{isPublished:t,isSaving:r,postId:n,postType:i}=e;return(0,p.createElement)(S.PluginPostStatusInfo,null,(0,p.createElement)("div",null,(0,p.createElement)(xt,{postId:n,postType:i,isPublished:t,isSaving:r})," ",(0,p.createElement)(St,{isPublished:t,isSaving:r,postType:i})))})),Tt=lt(h.PanelRow)` - width: 100%; -`;function At(e){let{userId:t}=e;const i=(0,n.useSelect)((e=>{const{getEntityRecord:n}=e(r.store),i=n("root","user",t);return null==i?void 0:i.name}),[t]);return i?(0,p.createElement)(h.ExternalLink,{href:(0,x.addQueryArgs)("admin.php",{page:"llms-reporting",tab:"students",stab:"certificates",student_id:t})},i):(0,p.createElement)("span",null,(0,m.__)("Loading…","lifterlms"))}const $t=(0,n.withSelect)((e=>{const{getEditedPostAttribute:t,isEditedPostNew:r}=e(l.store);return{isNew:r(),type:t("type"),userId:t("author")}})),It=(0,E.compose)([$t])((function(e){let{type:t,userId:r,isNew:i}=e;if("llms_my_certificate"!==t)return null;const a=(0,x.getQueryArg)(window.location.href,"sid");return r=a||r,(0,p.createElement)(S.PluginPostStatusInfo,null,(0,p.createElement)(Tt,null,(0,p.createElement)("span",{style:{display:"block",width:"45%"}},(0,m.__)("Student","lifterlms")),(!i||a)&&(0,p.createElement)(At,{userId:r}),i&&!a&&(0,p.createElement)(y.UserSearchControl,{selectedValue:r,onUpdate:e=>{let{id:t}=e;const{editPost:r}=(0,n.dispatch)(l.store);r({author:t})}})))}));(0,t.registerPlugin)("llms-certificate-doc-settings",{render:wt,icon:""}),(0,t.registerPlugin)("llms-certificate-user",{render:It}),(0,t.registerPlugin)("llms-certificate-post-status-info",{render:Pt})})(); \ No newline at end of file diff --git a/assets/js/llms-components.asset.php b/assets/js/llms-components.asset.php deleted file mode 100644 index 9348cda78f..0000000000 --- a/assets/js/llms-components.asset.php +++ /dev/null @@ -1 +0,0 @@ - array('lodash', 'react', 'react-dom', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => '464fe9fba4695f2489fc'); diff --git a/assets/js/llms-components.js b/assets/js/llms-components.js deleted file mode 100644 index 39bec16eec..0000000000 --- a/assets/js/llms-components.js +++ /dev/null @@ -1,17 +0,0 @@ -(()=>{"use strict";var e={679:(e,t,n)=>{var r=n(296),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?a:s[e.$$typeof]||o}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=a;var u=Object.defineProperty,c=Object.getOwnPropertyNames,p=Object.getOwnPropertySymbols,d=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var o=f(n);o&&o!==m&&e(t,o,r)}var a=c(n);p&&(a=a.concat(p(n)));for(var s=l(t),h=l(n),v=0;v{var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,o=n?Symbol.for("react.portal"):60106,i=n?Symbol.for("react.fragment"):60107,a=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,l=n?Symbol.for("react.provider"):60109,u=n?Symbol.for("react.context"):60110,c=n?Symbol.for("react.async_mode"):60111,p=n?Symbol.for("react.concurrent_mode"):60111,d=n?Symbol.for("react.forward_ref"):60112,f=n?Symbol.for("react.suspense"):60113,m=n?Symbol.for("react.suspense_list"):60120,h=n?Symbol.for("react.memo"):60115,v=n?Symbol.for("react.lazy"):60116,g=n?Symbol.for("react.block"):60121,b=n?Symbol.for("react.fundamental"):60117,y=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function O(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case c:case p:case i:case s:case a:case f:return e;default:switch(e=e&&e.$$typeof){case u:case d:case v:case h:case l:return e;default:return t}}case o:return t}}}function S(e){return O(e)===p}t.AsyncMode=c,t.ConcurrentMode=p,t.ContextConsumer=u,t.ContextProvider=l,t.Element=r,t.ForwardRef=d,t.Fragment=i,t.Lazy=v,t.Memo=h,t.Portal=o,t.Profiler=s,t.StrictMode=a,t.Suspense=f,t.isAsyncMode=function(e){return S(e)||O(e)===c},t.isConcurrentMode=S,t.isContextConsumer=function(e){return O(e)===u},t.isContextProvider=function(e){return O(e)===l},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return O(e)===d},t.isFragment=function(e){return O(e)===i},t.isLazy=function(e){return O(e)===v},t.isMemo=function(e){return O(e)===h},t.isPortal=function(e){return O(e)===o},t.isProfiler=function(e){return O(e)===s},t.isStrictMode=function(e){return O(e)===a},t.isSuspense=function(e){return O(e)===f},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===i||e===p||e===s||e===a||e===f||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===v||e.$$typeof===h||e.$$typeof===l||e.$$typeof===u||e.$$typeof===d||e.$$typeof===b||e.$$typeof===y||e.$$typeof===w||e.$$typeof===g)},t.typeOf=O},296:(e,t,n)=>{e.exports=n(103)}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={};n.r(e),n.d(e,{get:()=>Er,start:()=>Mr,stop:()=>Ir});var t={};n.r(t),n.d(t,{BaseSearchControl:()=>br,ButtonGroupControl:()=>i,CopyButton:()=>u,PostSearchControl:()=>yr,Spinner:()=>e,UserSearchControl:()=>wr});const r=window.wp.element,o=window.wp.components;function i(e){let{label:t,onClick:n=(()=>{}),className:i=null,id:a=null,selected:s="",options:l=[]}=e;const[u,c]=(0,r.useState)(s);return i=i?` ${i}`:"",(0,r.createElement)(o.BaseControl,{label:t,className:`llms-button-group-control${i}`,id:a},(0,r.createElement)(o.ButtonGroup,{style:{display:"flex"}},l.map((e=>{let{label:t,value:i,icon:a=null}=e;return(0,r.createElement)(o.Button,{style:{padding:"6px 8px"},key:i,isPrimary:i===u,isSecondary:i!==u,icon:a,onClick:()=>{c(i),n(i)}},t)}))))}function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const e=(0,l.useCopyToClipboard)(n,i);return(0,r.createElement)(o.Button,a({},c,{ref:e}),t)}),null),!p&&(0,r.createElement)((()=>(0,r.createElement)(o.ClipboardButton,a({},c,{text:n,onCopy:i}),t)),null))}const c=window.React;var p=function(){function e(e){var t=this;this._insertTag=function(e){var n;n=0===t.tags.length?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,n),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)==0&&this._insertTag(function(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var n=function(e){if(e.sheet)return e.sheet;for(var t=0;t0?b(M,--P):0,C--,10===E&&(C=1,x--),E}function A(){return E=P2||F(E)>3?"":" "}function $(e,t){for(;--t&&A()&&!(E<48||E>102||E>57&&E<65||E>70&&E<97););return D(e,L()+(t<6&&32==T()&&32==A()))}function U(e){for(;A();)switch(E){case e:return P;case 34:case 39:34!==e&&39!==e&&U(E);break;case 40:41===e&&U(e);break;case 92:A()}return P}function z(e,t){for(;A()&&e+E!==57&&(e+E!==84||47!==T()););return"/*"+D(t,P-1)+"*"+f(47===e?e:A())}function B(e){for(;!F(T());)A();return D(e,P)}var W="-ms-",G="-moz-",Y="-webkit-",q="comm",X="rule",K="decl",Q="@keyframes";function Z(e,t){for(var n="",r=O(e),o=0;o6)switch(b(e,t+1)){case 109:if(45!==b(e,t+4))break;case 102:return v(e,/(.+:)(.+)-([^]+)/,"$1-webkit-$2-$3$1"+G+(108==b(e,t+3)?"$3":"$2-$3"))+e;case 115:return~g(e,"stretch")?ee(v(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==b(e,t+1))break;case 6444:switch(b(e,w(e)-3-(~g(e,"!important")&&10))){case 107:return v(e,":",":"+Y)+e;case 101:return v(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Y+(45===b(e,14)?"inline-":"")+"box$3$1"+Y+"$2$3$1"+W+"$2box$3")+e}break;case 5936:switch(b(e,t+11)){case 114:return Y+e+W+v(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Y+e+W+v(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Y+e+W+v(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Y+e+W+e+e}return e}function te(e){return _(ne("",null,null,null,[""],e=N(e),0,[0],e))}function ne(e,t,n,r,o,i,a,s,l){for(var u=0,c=0,p=a,d=0,m=0,h=0,b=1,y=1,O=1,x=0,C="",k=o,P=i,E=r,M=C;y;)switch(h=x,x=A()){case 40:if(108!=h&&58==M.charCodeAt(p-1)){-1!=g(M+=v(H(x),"&","&\f"),"&\f")&&(O=-1);break}case 34:case 39:case 91:M+=H(x);break;case 9:case 10:case 13:case 32:M+=j(h);break;case 92:M+=$(L()-1,7);continue;case 47:switch(T()){case 42:case 47:S(oe(z(A(),L()),t,n),l);break;default:M+="/"}break;case 123*b:s[u++]=w(M)*O;case 125*b:case 59:case 0:switch(x){case 0:case 125:y=0;case 59+c:m>0&&w(M)-p&&S(m>32?ie(M+";",r,n,p-1):ie(v(M," ","")+";",r,n,p-2),l);break;case 59:M+=";";default:if(S(E=re(M,t,n,u,c,o,s,C,k=[],P=[],p),i),123===x)if(0===c)ne(M,t,E,E,k,i,p,s,P);else switch(d){case 100:case 109:case 115:ne(e,E,E,r&&S(re(e,E,E,0,0,o,s,C,o,k=[],p),P),o,P,p,s,r?k:P);break;default:ne(M,E,E,E,[""],P,0,s,P)}}u=c=m=0,b=O=1,C=M="",p=a;break;case 58:p=1+w(M),m=h;default:if(b<1)if(123==x)--b;else if(125==x&&0==b++&&125==R())continue;switch(M+=f(x),x*b){case 38:O=c>0?1:(M+="\f",-1);break;case 44:s[u++]=(w(M)-1)*O,O=1;break;case 64:45===T()&&(M+=H(A())),d=T(),c=p=w(C=M+=B(L())),x++;break;case 45:45===h&&2==w(M)&&(b=0)}}return i}function re(e,t,n,r,o,i,a,s,l,u,c){for(var p=o-1,f=0===o?i:[""],m=O(f),g=0,b=0,w=0;g0?f[S]+" "+x:v(x,/&\f/g,f[S])))&&(l[w++]=C);return I(e,t,n,0===o?X:s,l,u,c)}function oe(e,t,n){return I(e,t,n,q,f(E),y(e,2,-2),0)}function ie(e,t,n,r){return I(e,t,n,K,y(e,0,r),y(e,r+1,-1),r)}var ae=function(e,t,n){for(var r=0,o=0;r=o,o=T(),38===r&&12===o&&(t[n]=1),!F(o);)A();return D(e,P)},se=new WeakMap,le=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;"rule"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||se.get(n))&&!r){se.set(e,!0);for(var o=[],i=function(e,t){return _(function(e,t){var n=-1,r=44;do{switch(F(r)){case 0:38===r&&12===T()&&(t[n]=1),e[n]+=ae(P-1,t,n);break;case 2:e[n]+=H(r);break;case 4:if(44===r){e[++n]=58===T()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=f(r)}}while(r=A());return e}(N(e),t))}(t,o),a=n.props,s=0,l=0;s-1&&!e.return)switch(e.type){case K:e.return=ee(e.value,e.length);break;case Q:return Z([V(e,{value:v(e.value,"@","@"+Y)})],r);case X:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return(e=/(::plac\w+|:read-\w+)/.exec(e))?e[0]:e}(t)){case":read-only":case":read-write":return Z([V(e,{props:[v(t,/:(read-\w+)/,":-moz-$1")]})],r);case"::placeholder":return Z([V(e,{props:[v(t,/:(plac\w+)/,":-webkit-input-$1")]}),V(e,{props:[v(t,/:(plac\w+)/,":-moz-$1")]}),V(e,{props:[v(t,/:(plac\w+)/,W+"input-$1")]})],r)}return""}))}}];const pe=function(e){var t=e.key;if("css"===t){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))}var r,o,i=e.stylisPlugins||ce,a={},s=[];r=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),n=1;n=4;++r,o-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(o){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)},ve={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},ge=function(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}};var be=/[A-Z]|^ms/g,ye=/_EMO_([^_]+?)_([^]*?)_EMO_/g,we=function(e){return 45===e.charCodeAt(1)},Oe=function(e){return null!=e&&"boolean"!=typeof e},Se=ge((function(e){return we(e)?e:e.replace(be,"-$&").toLowerCase()})),xe=function(e,t){switch(e){case"animation":case"animationName":if("string"==typeof t)return t.replace(ye,(function(e,t,n){return ke={name:t,styles:n,next:ke},t}))}return 1===ve[e]||we(e)||"number"!=typeof t||0===t?t:t+"px"};function Ce(e,t,n){if(null==n)return"";if(void 0!==n.__emotion_styles)return n;switch(typeof n){case"boolean":return"";case"object":if(1===n.anim)return ke={name:n.name,styles:n.styles,next:ke},n.name;if(void 0!==n.styles){var r=n.next;if(void 0!==r)for(;void 0!==r;)ke={name:r.name,styles:r.styles,next:ke},r=r.next;return n.styles+";"}return function(e,t,n){var r="";if(Array.isArray(n))for(var o=0;o=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function We(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1}function ht(e){return mt(e)?window.pageYOffset:e.scrollTop}function vt(e,t){mt(e)?window.scrollTo(0,t):e.scrollTop=t}function gt(e,t,n,r){return n*((e=e/r-1)*e*e+1)+t}function bt(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:200,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:ut,o=ht(e),i=t-o,a=10,s=0;function l(){var t=gt(s+=a,o,i,n);vt(e,t),s=m)return{placement:"bottom",maxHeight:t};if(C>=m&&!a)return i&&bt(l,k,E),{placement:"bottom",maxHeight:t};if(!a&&C>=r||a&&S>=r)return i&&bt(l,k,E),{placement:"bottom",maxHeight:a?S-y:C-y};if("auto"===o||a){var M=t,I=a?O:x;return I>=r&&(M=Math.min(I-y-s.controlHeight,t)),{placement:"top",maxHeight:M}}if("bottom"===o)return i&&vt(l,k),{placement:"bottom",maxHeight:t};break;case"top":if(O>=m)return{placement:"top",maxHeight:t};if(x>=m&&!a)return i&&bt(l,P,E),{placement:"top",maxHeight:t};if(!a&&x>=r||a&&O>=r){var V=t;return(!a&&x>=r||a&&O>=r)&&(V=a?O-w:x-w),i&&bt(l,P,E),{placement:"top",maxHeight:V}}return{placement:"bottom",maxHeight:t};default:throw new Error('Invalid placement provided "'.concat(o,'".'))}return u}var Et=function(e){return"auto"===e?"bottom":e},Mt=(0,c.createContext)({getPortalPlacement:null}),It=function(e){Je(n,e);var t=st(n);function n(){var e;Xe(this,n);for(var r=arguments.length,o=new Array(r),i=0;i1?"s":""," ").concat(o.join(","),", selected.");case"select-option":return"option ".concat(r,i?" is disabled. Select another option.":", selected.");default:return""}},onFocus:function(e){var t=e.context,n=e.focused,r=e.options,o=e.label,i=void 0===o?"":o,a=e.selectValue,s=e.isDisabled,l=e.isSelected,u=function(e,t){return e&&e.length?"".concat(e.indexOf(t)+1," of ").concat(e.length):""};if("value"===t&&a)return"value ".concat(i," focused, ").concat(u(a,n),".");if("menu"===t){var c=s?" disabled":"",p="".concat(l?"selected":"focused").concat(c);return"option ".concat(i," ").concat(p,", ").concat(u(r,n),".")}return""},onFilter:function(e){var t=e.inputValue,n=e.resultsMessage;return"".concat(n).concat(t?" for search term "+t:"",".")}},cn=function(e){var t=e.ariaSelection,n=e.focusedOption,r=e.focusedValue,o=e.focusableOptions,i=e.isFocused,a=e.selectValue,s=e.selectProps,l=e.id,u=s.ariaLiveMessages,p=s.getOptionLabel,d=s.inputValue,f=s.isMulti,m=s.isOptionDisabled,h=s.isSearchable,v=s.menuIsOpen,g=s.options,b=s.screenReaderStatus,y=s.tabSelectsValue,w=s["aria-label"],O=s["aria-live"],S=(0,c.useMemo)((function(){return ot(ot({},un),u||{})}),[u]),x=(0,c.useMemo)((function(){var e,n="";if(t&&S.onChange){var r=t.option,o=t.options,i=t.removedValue,s=t.removedValues,l=t.value,u=i||r||(e=l,Array.isArray(e)?null:e),c=u?p(u):"",d=o||s||void 0,f=d?d.map(p):[],h=ot({isDisabled:u&&m(u,a),label:c,labels:f},t);n=S.onChange(h)}return n}),[t,S,m,a,p]),C=(0,c.useMemo)((function(){var e="",t=n||r,o=!!(n&&a&&a.includes(n));if(t&&S.onFocus){var i={focused:t,label:p(t),isDisabled:m(t,a),isSelected:o,options:g,context:t===n?"menu":"value",selectValue:a};e=S.onFocus(i)}return e}),[n,r,p,m,S,g,a]),k=(0,c.useMemo)((function(){var e="";if(v&&g.length&&S.onFilter){var t=b({count:o.length});e=S.onFilter({inputValue:d,resultsMessage:t})}return e}),[o,d,v,S,g,b]),P=(0,c.useMemo)((function(){var e="";if(S.guidance){var t=r?"value":v?"menu":"input";e=S.guidance({"aria-label":w,context:t,isDisabled:n&&m(n,a),isMulti:f,isSearchable:h,tabSelectsValue:y})}return e}),[w,n,r,f,m,h,v,S,a,y]),E="".concat(C," ").concat(k," ").concat(P),M=_e(c.Fragment,null,_e("span",{id:"aria-selection"},x),_e("span",{id:"aria-context"},E)),I="initial-input-focus"===(null==t?void 0:t.action);return _e(c.Fragment,null,_e(ln,{id:l},I&&M),_e(ln,{"aria-live":O,"aria-atomic":"false","aria-relevant":"additions text"},i&&!I&&M))},pn=[{base:"A",letters:"AⒶAÀÁÂẦẤẪẨÃĀĂẰẮẴẲȦǠÄǞẢÅǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"ÆǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷBḂḄḆɃƂƁ"},{base:"C",letters:"CⒸCĆĈĊČÇḈƇȻꜾ"},{base:"D",letters:"DⒹDḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"DZDŽ"},{base:"Dz",letters:"DzDž"},{base:"E",letters:"EⒺEÈÉÊỀẾỄỂẼĒḔḖĔĖËẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻFḞƑꝻ"},{base:"G",letters:"GⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾIÌÍÎĨĪĬİÏḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿJĴɈ"},{base:"K",letters:"KⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"LJ"},{base:"Lj",letters:"Lj"},{base:"M",letters:"MⓂMḾṀṂⱮƜ"},{base:"N",letters:"NⓃNǸŃÑṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"NJ"},{base:"Nj",letters:"Nj"},{base:"O",letters:"OⓄOÒÓÔỒỐỖỔÕṌȬṎŌṐṒŎȮȰÖȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬØǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"P",letters:"PⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆQꝖꝘɊ"},{base:"R",letters:"RⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊUÙÚÛŨṸŪṺŬÜǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋVṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌWẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍXẊẌ"},{base:"Y",letters:"YⓎYỲÝŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐaẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"æǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑbḃḅḇƀƃɓ"},{base:"c",letters:"cⓒcćĉċčçḉƈȼꜿↄ"},{base:"d",letters:"dⓓdḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"dzdž"},{base:"e",letters:"eⓔeèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕfḟƒꝼ"},{base:"g",letters:"gⓖgǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘiìíîĩīĭïḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙjĵǰɉ"},{base:"k",letters:"kⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"lj"},{base:"m",letters:"mⓜmḿṁṃɱɯ"},{base:"n",letters:"nⓝnǹńñṅňṇņṋṉƞɲʼnꞑꞥ"},{base:"nj",letters:"nj"},{base:"o",letters:"oⓞoòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟpṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠqɋꝗꝙ"},{base:"r",letters:"rⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢsßśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤuùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥvṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧxẋẍ"},{base:"y",letters:"yⓨyỳýŷỹȳẏÿỷẙỵƴɏỿ"},{base:"z",letters:"zⓩzźẑżžẓẕƶȥɀⱬꝣ"}],dn=new RegExp("["+pn.map((function(e){return e.letters})).join("")+"]","g"),fn={},mn=0;mn1?t-1:0),r=1;r0,h=p-d-c,v=!1;h>t&&a.current&&(r&&r(e),a.current=!1),m&&s.current&&(i&&i(e),s.current=!1),m&&t>h?(n&&!a.current&&n(e),f.scrollTop=p,v=!0,a.current=!0):!m&&-t>c&&(o&&!s.current&&o(e),f.scrollTop=0,v=!0,s.current=!0),v&&function(e){e.preventDefault(),e.stopPropagation()}(e)}}),[n,r,o,i]),d=(0,c.useCallback)((function(e){p(e,e.deltaY)}),[p]),f=(0,c.useCallback)((function(e){l.current=e.changedTouches[0].clientY}),[]),m=(0,c.useCallback)((function(e){var t=l.current-e.changedTouches[0].clientY;p(e,t)}),[p]),h=(0,c.useCallback)((function(e){if(e){var t=!!xt&&{passive:!1};e.addEventListener("wheel",d,t),e.addEventListener("touchstart",f,t),e.addEventListener("touchmove",m,t)}}),[m,f,d]),v=(0,c.useCallback)((function(e){e&&(e.removeEventListener("wheel",d,!1),e.removeEventListener("touchstart",f,!1),e.removeEventListener("touchmove",m,!1))}),[m,f,d]);return(0,c.useEffect)((function(){if(t){var e=u.current;return h(e),function(){v(e)}}}),[t,h,v]),function(e){u.current=e}}({isEnabled:void 0===r||r,onBottomArrive:e.onBottomArrive,onBottomLeave:e.onBottomLeave,onTopArrive:e.onTopArrive,onTopLeave:e.onTopLeave}),i=function(e){var t=e.isEnabled,n=e.accountForScrollbars,r=void 0===n||n,o=(0,c.useRef)({}),i=(0,c.useRef)(null),a=(0,c.useCallback)((function(e){if(In){var t=document.body,n=t&&t.style;if(r&&xn.forEach((function(e){var t=n&&n[e];o.current[e]=t})),r&&Vn<1){var i=parseInt(o.current.paddingRight,10)||0,a=document.body?document.body.clientWidth:0,s=window.innerWidth-a+i||0;Object.keys(Cn).forEach((function(e){var t=Cn[e];n&&(n[e]=t)})),n&&(n.paddingRight="".concat(s,"px"))}t&&Mn()&&(t.addEventListener("touchmove",kn,Rn),e&&(e.addEventListener("touchstart",En,Rn),e.addEventListener("touchmove",Pn,Rn))),Vn+=1}}),[r]),s=(0,c.useCallback)((function(e){if(In){var t=document.body,n=t&&t.style;Vn=Math.max(Vn-1,0),r&&Vn<1&&xn.forEach((function(e){var t=o.current[e];n&&(n[e]=t)})),t&&Mn()&&(t.removeEventListener("touchmove",kn,Rn),e&&(e.removeEventListener("touchstart",En,Rn),e.removeEventListener("touchmove",Pn,Rn)))}}),[r]);return(0,c.useEffect)((function(){if(t){var e=i.current;return a(e),function(){s(e)}}}),[t,a,s]),function(e){i.current=e}}({isEnabled:n});return _e(c.Fragment,null,n&&_e("div",{onClick:An,css:Tn}),t((function(e){o(e),i(e)})))}var Dn={clearIndicator:Gt,container:function(e){var t=e.isDisabled;return{label:"container",direction:e.isRtl?"rtl":void 0,pointerEvents:t?"none":void 0,position:"relative"}},control:function(e){var t=e.isDisabled,n=e.isFocused,r=e.theme,o=r.colors,i=r.borderRadius,a=r.spacing;return{label:"control",alignItems:"center",backgroundColor:t?o.neutral5:o.neutral0,borderColor:t?o.neutral10:n?o.primary:o.neutral20,borderRadius:i,borderStyle:"solid",borderWidth:1,boxShadow:n?"0 0 0 1px ".concat(o.primary):void 0,cursor:"default",display:"flex",flexWrap:"wrap",justifyContent:"space-between",minHeight:a.controlHeight,outline:"0 !important",position:"relative",transition:"all 100ms","&:hover":{borderColor:n?o.primary:o.neutral30}}},dropdownIndicator:Wt,group:function(e){var t=e.theme.spacing;return{paddingBottom:2*t.baseUnit,paddingTop:2*t.baseUnit}},groupHeading:function(e){var t=e.theme.spacing;return{label:"group",color:"#999",cursor:"default",display:"block",fontSize:"75%",fontWeight:500,marginBottom:"0.25em",paddingLeft:3*t.baseUnit,paddingRight:3*t.baseUnit,textTransform:"uppercase"}},indicatorsContainer:function(){return{alignItems:"center",alignSelf:"stretch",display:"flex",flexShrink:0}},indicatorSeparator:function(e){var t=e.isDisabled,n=e.theme,r=n.spacing.baseUnit,o=n.colors;return{label:"indicatorSeparator",alignSelf:"stretch",backgroundColor:t?o.neutral10:o.neutral20,marginBottom:2*r,marginTop:2*r,width:1}},input:function(e){var t=e.isDisabled,n=e.value,r=e.theme,o=r.spacing,i=r.colors;return ot({margin:o.baseUnit/2,paddingBottom:o.baseUnit/2,paddingTop:o.baseUnit/2,visibility:t?"hidden":"visible",color:i.neutral80,transform:n?"translateZ(0)":""},Jt)},loadingIndicator:function(e){var t=e.isFocused,n=e.size,r=e.theme,o=r.colors,i=r.spacing.baseUnit;return{label:"loadingIndicator",color:t?o.neutral60:o.neutral20,display:"flex",padding:2*i,transition:"color 150ms",alignSelf:"center",fontSize:n,lineHeight:1,marginRight:n,textAlign:"center",verticalAlign:"middle"}},loadingMessage:At,menu:function(e){var t,n=e.placement,r=e.theme,o=r.borderRadius,i=r.spacing,a=r.colors;return et(t={label:"menu"},function(e){return e?{bottom:"top",top:"bottom"}[e]:"bottom"}(n),"100%"),et(t,"backgroundColor",a.neutral0),et(t,"borderRadius",o),et(t,"boxShadow","0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)"),et(t,"marginBottom",i.menuGutter),et(t,"marginTop",i.menuGutter),et(t,"position","absolute"),et(t,"width","100%"),et(t,"zIndex",1),t},menuList:function(e){var t=e.maxHeight,n=e.theme.spacing.baseUnit;return{maxHeight:t,overflowY:"auto",paddingBottom:n,paddingTop:n,position:"relative",WebkitOverflowScrolling:"touch"}},menuPortal:function(e){var t=e.rect,n=e.offset,r=e.position;return{left:t.left,position:r,top:n,width:t.width,zIndex:1}},multiValue:function(e){var t=e.theme,n=t.spacing,r=t.borderRadius;return{label:"multiValue",backgroundColor:t.colors.neutral10,borderRadius:r/2,display:"flex",margin:n.baseUnit/2,minWidth:0}},multiValueLabel:function(e){var t=e.theme,n=t.borderRadius,r=t.colors,o=e.cropWithEllipsis;return{borderRadius:n/2,color:r.neutral80,fontSize:"85%",overflow:"hidden",padding:3,paddingLeft:6,textOverflow:o||void 0===o?"ellipsis":void 0,whiteSpace:"nowrap"}},multiValueRemove:function(e){var t=e.theme,n=t.spacing,r=t.borderRadius,o=t.colors;return{alignItems:"center",borderRadius:r/2,backgroundColor:e.isFocused?o.dangerLight:void 0,display:"flex",paddingLeft:n.baseUnit,paddingRight:n.baseUnit,":hover":{backgroundColor:o.dangerLight,color:o.danger}}},noOptionsMessage:Rt,option:function(e){var t=e.isDisabled,n=e.isFocused,r=e.isSelected,o=e.theme,i=o.spacing,a=o.colors;return{label:"option",backgroundColor:r?a.primary:n?a.primary25:"transparent",color:t?a.neutral20:r?a.neutral0:"inherit",cursor:"default",display:"block",fontSize:"inherit",padding:"".concat(2*i.baseUnit,"px ").concat(3*i.baseUnit,"px"),width:"100%",userSelect:"none",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)",":active":{backgroundColor:t?void 0:r?a.primary:a.primary50}}},placeholder:function(e){var t=e.theme,n=t.spacing;return{label:"placeholder",color:t.colors.neutral50,gridArea:"1 / 1 / 2 / 3",marginLeft:n.baseUnit/2,marginRight:n.baseUnit/2}},singleValue:function(e){var t=e.isDisabled,n=e.theme,r=n.spacing,o=n.colors;return{label:"singleValue",color:t?o.neutral40:o.neutral80,gridArea:"1 / 1 / 2 / 3",marginLeft:r.baseUnit/2,marginRight:r.baseUnit/2,maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},valueContainer:function(e){var t=e.theme.spacing,n=e.isMulti,r=e.hasValue,o=e.selectProps.controlShouldRenderValue;return{alignItems:"center",display:n&&r&&o?"flex":"grid",flex:1,flexWrap:"wrap",padding:"".concat(t.baseUnit/2,"px ").concat(2*t.baseUnit,"px"),WebkitOverflowScrolling:"touch",position:"relative",overflow:"hidden"}}},Fn={borderRadius:4,colors:{primary:"#2684FF",primary75:"#4C9AFF",primary50:"#B2D4FF",primary25:"#DEEBFF",danger:"#DE350B",dangerLight:"#FFBDAD",neutral0:"hsl(0, 0%, 100%)",neutral5:"hsl(0, 0%, 95%)",neutral10:"hsl(0, 0%, 90%)",neutral20:"hsl(0, 0%, 80%)",neutral30:"hsl(0, 0%, 70%)",neutral40:"hsl(0, 0%, 60%)",neutral50:"hsl(0, 0%, 50%)",neutral60:"hsl(0, 0%, 40%)",neutral70:"hsl(0, 0%, 30%)",neutral80:"hsl(0, 0%, 20%)",neutral90:"hsl(0, 0%, 10%)"},spacing:{baseUnit:4,controlHeight:38,menuGutter:8}},Nn={"aria-live":"polite",backspaceRemovesValue:!0,blurInputOnSelect:yt(),captureMenuScroll:!yt(),closeMenuOnSelect:!0,closeMenuOnScroll:!1,components:{},controlShouldRenderValue:!0,escapeClearsValue:!1,filterOption:function(e,t){if(e.data.__isNew__)return!0;var n=ot({ignoreCase:!0,ignoreAccents:!0,stringify:wn,trim:!0,matchFrom:"any"},undefined),r=n.ignoreCase,o=n.ignoreAccents,i=n.stringify,a=n.trim,s=n.matchFrom,l=a?yn(t):t,u=a?yn(i(e)):i(e);return r&&(l=l.toLowerCase(),u=u.toLowerCase()),o&&(l=bn(l),u=gn(u)),"start"===s?u.substr(0,l.length)===l:u.indexOf(l)>-1},formatGroupLabel:function(e){return e.label},getOptionLabel:function(e){return e.label},getOptionValue:function(e){return e.value},isDisabled:!1,isLoading:!1,isMulti:!1,isRtl:!1,isSearchable:!0,isOptionDisabled:function(e){return!!e.isDisabled},loadingMessage:function(){return"Loading..."},maxMenuHeight:300,minMenuHeight:140,menuIsOpen:!1,menuPlacement:"bottom",menuPosition:"absolute",menuShouldBlockScroll:!1,menuShouldScrollIntoView:!function(){try{return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}catch(e){return!1}}(),noOptionsMessage:function(){return"No options"},openMenuOnFocus:!1,openMenuOnClick:!0,options:[],pageSize:5,placeholder:"Select...",screenReaderStatus:function(e){var t=e.count;return"".concat(t," result").concat(1!==t?"s":""," available")},styles:{},tabIndex:0,tabSelectsValue:!0};function Hn(e,t,n,r){return{type:"option",data:t,isDisabled:Wn(e,t,n),isSelected:Gn(e,t,n),label:zn(e,t),value:Bn(e,t),index:r}}function jn(e,t){return e.options.map((function(n,r){if("options"in n){var o=n.options.map((function(n,r){return Hn(e,n,t,r)})).filter((function(t){return Un(e,t)}));return o.length>0?{type:"group",data:n,options:o,index:r}:void 0}var i=Hn(e,n,t,r);return Un(e,i)?i:void 0})).filter(Ct)}function $n(e){return e.reduce((function(e,t){return"group"===t.type?e.push.apply(e,rn(t.options.map((function(e){return e.data})))):e.push(t.data),e}),[])}function Un(e,t){var n=e.inputValue,r=void 0===n?"":n,o=t.data,i=t.isSelected,a=t.label,s=t.value;return(!qn(e)||!i)&&Yn(e,{label:a,value:s,data:o},r)}var zn=function(e,t){return e.getOptionLabel(t)},Bn=function(e,t){return e.getOptionValue(t)};function Wn(e,t,n){return"function"==typeof e.isOptionDisabled&&e.isOptionDisabled(t,n)}function Gn(e,t,n){if(n.indexOf(t)>-1)return!0;if("function"==typeof e.isOptionSelected)return e.isOptionSelected(t,n);var r=Bn(e,t);return n.some((function(t){return Bn(e,t)===r}))}function Yn(e,t,n){return!e.filterOption||e.filterOption(t,n)}var qn=function(e){var t=e.hideSelectedOptions,n=e.isMulti;return void 0===t?n:t},Xn=1,Kn=function(e){Je(n,e);var t=st(n);function n(e){var r;return Xe(this,n),(r=t.call(this,e)).state={ariaSelection:null,focusedOption:null,focusedValue:null,inputIsHidden:!1,isFocused:!1,selectValue:[],clearFocusValueOnUpdate:!1,prevWasFocused:!1,inputIsHiddenAfterUpdate:void 0,prevProps:void 0},r.blockOptionHover=!1,r.isComposing=!1,r.commonProps=void 0,r.initialTouchX=0,r.initialTouchY=0,r.instancePrefix="",r.openAfterFocus=!1,r.scrollToFocusedOptionOnUpdate=!1,r.userIsDragging=void 0,r.controlRef=null,r.getControlRef=function(e){r.controlRef=e},r.focusedOptionRef=null,r.getFocusedOptionRef=function(e){r.focusedOptionRef=e},r.menuListRef=null,r.getMenuListRef=function(e){r.menuListRef=e},r.inputRef=null,r.getInputRef=function(e){r.inputRef=e},r.focus=r.focusInput,r.blur=r.blurInput,r.onChange=function(e,t){var n=r.props,o=n.onChange,i=n.name;t.name=i,r.ariaOnChange(e,t),o(e,t)},r.setValue=function(e,t,n){var o=r.props,i=o.closeMenuOnSelect,a=o.isMulti,s=o.inputValue;r.onInputChange("",{action:"set-value",prevInputValue:s}),i&&(r.setState({inputIsHiddenAfterUpdate:!a}),r.onMenuClose()),r.setState({clearFocusValueOnUpdate:!0}),r.onChange(e,{action:t,option:n})},r.selectOption=function(e){var t=r.props,n=t.blurInputOnSelect,o=t.isMulti,i=t.name,a=r.state.selectValue,s=o&&r.isOptionSelected(e,a),l=r.isOptionDisabled(e,a);if(s){var u=r.getOptionValue(e);r.setValue(a.filter((function(e){return r.getOptionValue(e)!==u})),"deselect-option",e)}else{if(l)return void r.ariaOnChange(e,{action:"select-option",option:e,name:i});o?r.setValue([].concat(rn(a),[e]),"select-option",e):r.setValue(e,"select-option")}n&&r.blurInput()},r.removeValue=function(e){var t=r.props.isMulti,n=r.state.selectValue,o=r.getOptionValue(e),i=n.filter((function(e){return r.getOptionValue(e)!==o})),a=kt(t,i,i[0]||null);r.onChange(a,{action:"remove-value",removedValue:e}),r.focusInput()},r.clearValue=function(){var e=r.state.selectValue;r.onChange(kt(r.props.isMulti,[],null),{action:"clear",removedValues:e})},r.popValue=function(){var e=r.props.isMulti,t=r.state.selectValue,n=t[t.length-1],o=t.slice(0,t.length-1),i=kt(e,o,o[0]||null);r.onChange(i,{action:"pop-value",removedValue:n})},r.getValue=function(){return r.state.selectValue},r.cx=function(){for(var e=arguments.length,t=new Array(e),n=0;n5||i>5}},r.onTouchEnd=function(e){r.userIsDragging||(r.controlRef&&!r.controlRef.contains(e.target)&&r.menuListRef&&!r.menuListRef.contains(e.target)&&r.blurInput(),r.initialTouchX=0,r.initialTouchY=0)},r.onControlTouchEnd=function(e){r.userIsDragging||r.onControlMouseDown(e)},r.onClearIndicatorTouchEnd=function(e){r.userIsDragging||r.onClearIndicatorMouseDown(e)},r.onDropdownIndicatorTouchEnd=function(e){r.userIsDragging||r.onDropdownIndicatorMouseDown(e)},r.handleInputChange=function(e){var t=r.props.inputValue,n=e.currentTarget.value;r.setState({inputIsHiddenAfterUpdate:!1}),r.onInputChange(n,{action:"input-change",prevInputValue:t}),r.props.menuIsOpen||r.onMenuOpen()},r.onInputFocus=function(e){r.props.onFocus&&r.props.onFocus(e),r.setState({inputIsHiddenAfterUpdate:!1,isFocused:!0}),(r.openAfterFocus||r.props.openMenuOnFocus)&&r.openMenu("first"),r.openAfterFocus=!1},r.onInputBlur=function(e){var t=r.props.inputValue;r.menuListRef&&r.menuListRef.contains(document.activeElement)?r.inputRef.focus():(r.props.onBlur&&r.props.onBlur(e),r.onInputChange("",{action:"input-blur",prevInputValue:t}),r.onMenuClose(),r.setState({focusedValue:null,isFocused:!1}))},r.onOptionHover=function(e){r.blockOptionHover||r.state.focusedOption===e||r.setState({focusedOption:e})},r.shouldHideSelectedOptions=function(){return qn(r.props)},r.onKeyDown=function(e){var t=r.props,n=t.isMulti,o=t.backspaceRemovesValue,i=t.escapeClearsValue,a=t.inputValue,s=t.isClearable,l=t.isDisabled,u=t.menuIsOpen,c=t.onKeyDown,p=t.tabSelectsValue,d=t.openMenuOnFocus,f=r.state,m=f.focusedOption,h=f.focusedValue,v=f.selectValue;if(!(l||"function"==typeof c&&(c(e),e.defaultPrevented))){switch(r.blockOptionHover=!0,e.key){case"ArrowLeft":if(!n||a)return;r.focusValue("previous");break;case"ArrowRight":if(!n||a)return;r.focusValue("next");break;case"Delete":case"Backspace":if(a)return;if(h)r.removeValue(h);else{if(!o)return;n?r.popValue():s&&r.clearValue()}break;case"Tab":if(r.isComposing)return;if(e.shiftKey||!u||!p||!m||d&&r.isOptionSelected(m,v))return;r.selectOption(m);break;case"Enter":if(229===e.keyCode)break;if(u){if(!m)return;if(r.isComposing)return;r.selectOption(m);break}return;case"Escape":u?(r.setState({inputIsHiddenAfterUpdate:!1}),r.onInputChange("",{action:"menu-close",prevInputValue:a}),r.onMenuClose()):s&&i&&r.clearValue();break;case" ":if(a)return;if(!u){r.openMenu("first");break}if(!m)return;r.selectOption(m);break;case"ArrowUp":u?r.focusOption("up"):r.openMenu("last");break;case"ArrowDown":u?r.focusOption("down"):r.openMenu("first");break;case"PageUp":if(!u)return;r.focusOption("pageup");break;case"PageDown":if(!u)return;r.focusOption("pagedown");break;case"Home":if(!u)return;r.focusOption("first");break;case"End":if(!u)return;r.focusOption("last");break;default:return}e.preventDefault()}},r.instancePrefix="react-select-"+(r.props.instanceId||++Xn),r.state.selectValue=dt(e.value),r}return Qe(n,[{key:"componentDidMount",value:function(){this.startListeningComposition(),this.startListeningToTouch(),this.props.closeMenuOnScroll&&document&&document.addEventListener&&document.addEventListener("scroll",this.onScroll,!0),this.props.autoFocus&&this.focusInput()}},{key:"componentDidUpdate",value:function(e){var t,n,r,o,i,a=this.props,s=a.isDisabled,l=a.menuIsOpen,u=this.state.isFocused;(u&&!s&&e.isDisabled||u&&l&&!e.menuIsOpen)&&this.focusInput(),u&&s&&!e.isDisabled&&this.setState({isFocused:!1},this.onMenuClose),this.menuListRef&&this.focusedOptionRef&&this.scrollToFocusedOptionOnUpdate&&(t=this.menuListRef,n=this.focusedOptionRef,r=t.getBoundingClientRect(),o=n.getBoundingClientRect(),i=n.offsetHeight/3,o.bottom+i>r.bottom?vt(t,Math.min(n.offsetTop+n.clientHeight-t.offsetHeight+i,t.scrollHeight)):o.top-i-1&&(a=s)}this.scrollToFocusedOptionOnUpdate=!(o&&this.menuListRef),this.setState({inputIsHiddenAfterUpdate:!1,focusedValue:null,focusedOption:i[a]},(function(){return t.onMenuOpen()}))}},{key:"focusValue",value:function(e){var t=this.state,n=t.selectValue,r=t.focusedValue;if(this.props.isMulti){this.setState({focusedOption:null});var o=n.indexOf(r);r||(o=-1);var i=n.length-1,a=-1;if(n.length){switch(e){case"previous":a=0===o?0:-1===o?i:o-1;break;case"next":o>-1&&o0&&void 0!==arguments[0]?arguments[0]:"first",t=this.props.pageSize,n=this.state.focusedOption,r=this.getFocusableOptions();if(r.length){var o=0,i=r.indexOf(n);n||(i=-1),"up"===e?o=i>0?i-1:r.length-1:"down"===e?o=(i+1)%r.length:"pageup"===e?(o=i-t)<0&&(o=0):"pagedown"===e?(o=i+t)>r.length-1&&(o=r.length-1):"last"===e&&(o=r.length-1),this.scrollToFocusedOptionOnUpdate=!0,this.setState({focusedOption:r[o],focusedValue:null})}}},{key:"getTheme",value:function(){return this.props.theme?"function"==typeof this.props.theme?this.props.theme(Fn):ot(ot({},Fn),this.props.theme):Fn}},{key:"getCommonProps",value:function(){var e=this.clearValue,t=this.cx,n=this.getStyles,r=this.getValue,o=this.selectOption,i=this.setValue,a=this.props,s=a.isMulti,l=a.isRtl,u=a.options;return{clearValue:e,cx:t,getStyles:n,getValue:r,hasValue:this.hasValue(),isMulti:s,isRtl:l,options:u,selectOption:o,selectProps:a,setValue:i,theme:this.getTheme()}}},{key:"hasValue",value:function(){return this.state.selectValue.length>0}},{key:"hasOptions",value:function(){return!!this.getFocusableOptions().length}},{key:"isClearable",value:function(){var e=this.props,t=e.isClearable,n=e.isMulti;return void 0===t?n:t}},{key:"isOptionDisabled",value:function(e,t){return Wn(this.props,e,t)}},{key:"isOptionSelected",value:function(e,t){return Gn(this.props,e,t)}},{key:"filterOption",value:function(e,t){return Yn(this.props,e,t)}},{key:"formatOptionLabel",value:function(e,t){if("function"==typeof this.props.formatOptionLabel){var n=this.props.inputValue,r=this.state.selectValue;return this.props.formatOptionLabel(e,{context:t,inputValue:n,selectValue:r})}return this.getOptionLabel(e)}},{key:"formatGroupLabel",value:function(e){return this.props.formatGroupLabel(e)}},{key:"startListeningComposition",value:function(){document&&document.addEventListener&&(document.addEventListener("compositionstart",this.onCompositionStart,!1),document.addEventListener("compositionend",this.onCompositionEnd,!1))}},{key:"stopListeningComposition",value:function(){document&&document.removeEventListener&&(document.removeEventListener("compositionstart",this.onCompositionStart),document.removeEventListener("compositionend",this.onCompositionEnd))}},{key:"startListeningToTouch",value:function(){document&&document.addEventListener&&(document.addEventListener("touchstart",this.onTouchStart,!1),document.addEventListener("touchmove",this.onTouchMove,!1),document.addEventListener("touchend",this.onTouchEnd,!1))}},{key:"stopListeningToTouch",value:function(){document&&document.removeEventListener&&(document.removeEventListener("touchstart",this.onTouchStart),document.removeEventListener("touchmove",this.onTouchMove),document.removeEventListener("touchend",this.onTouchEnd))}},{key:"renderInput",value:function(){var e=this.props,t=e.isDisabled,n=e.isSearchable,r=e.inputId,o=e.inputValue,i=e.tabIndex,s=e.form,l=e.menuIsOpen,u=this.getComponents().Input,p=this.state,d=p.inputIsHidden,f=p.ariaSelection,m=this.commonProps,h=r||this.getElementId("input"),v=ot(ot(ot({"aria-autocomplete":"list","aria-expanded":l,"aria-haspopup":!0,"aria-errormessage":this.props["aria-errormessage"],"aria-invalid":this.props["aria-invalid"],"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],role:"combobox"},l&&{"aria-controls":this.getElementId("listbox"),"aria-owns":this.getElementId("listbox")}),!n&&{"aria-readonly":!0}),this.hasValue()?"initial-input-focus"===(null==f?void 0:f.action)&&{"aria-describedby":this.getElementId("live-region")}:{"aria-describedby":this.getElementId("placeholder")});return n?c.createElement(u,a({},m,{autoCapitalize:"none",autoComplete:"off",autoCorrect:"off",id:h,innerRef:this.getInputRef,isDisabled:t,isHidden:d,onBlur:this.onInputBlur,onChange:this.handleInputChange,onFocus:this.onInputFocus,spellCheck:"false",tabIndex:i,form:s,type:"text",value:o},v)):c.createElement(Sn,a({id:h,innerRef:this.getInputRef,onBlur:this.onInputBlur,onChange:ut,onFocus:this.onInputFocus,disabled:t,tabIndex:i,inputMode:"none",form:s,value:""},v))}},{key:"renderPlaceholderOrValue",value:function(){var e=this,t=this.getComponents(),n=t.MultiValue,r=t.MultiValueContainer,o=t.MultiValueLabel,i=t.MultiValueRemove,s=t.SingleValue,l=t.Placeholder,u=this.commonProps,p=this.props,d=p.controlShouldRenderValue,f=p.isDisabled,m=p.isMulti,h=p.inputValue,v=p.placeholder,g=this.state,b=g.selectValue,y=g.focusedValue,w=g.isFocused;if(!this.hasValue()||!d)return h?null:c.createElement(l,a({},u,{key:"placeholder",isDisabled:f,isFocused:w,innerProps:{id:this.getElementId("placeholder")}}),v);if(m)return b.map((function(t,s){var l=t===y,p="".concat(e.getOptionLabel(t),"-").concat(e.getOptionValue(t));return c.createElement(n,a({},u,{components:{Container:r,Label:o,Remove:i},isFocused:l,isDisabled:f,key:p,index:s,removeProps:{onClick:function(){return e.removeValue(t)},onTouchEnd:function(){return e.removeValue(t)},onMouseDown:function(e){e.preventDefault()}},data:t}),e.formatOptionLabel(t,"value"))}));if(h)return null;var O=b[0];return c.createElement(s,a({},u,{data:O,isDisabled:f}),this.formatOptionLabel(O,"value"))}},{key:"renderClearIndicator",value:function(){var e=this.getComponents().ClearIndicator,t=this.commonProps,n=this.props,r=n.isDisabled,o=n.isLoading,i=this.state.isFocused;if(!this.isClearable()||!e||r||!this.hasValue()||o)return null;var s={onMouseDown:this.onClearIndicatorMouseDown,onTouchEnd:this.onClearIndicatorTouchEnd,"aria-hidden":"true"};return c.createElement(e,a({},t,{innerProps:s,isFocused:i}))}},{key:"renderLoadingIndicator",value:function(){var e=this.getComponents().LoadingIndicator,t=this.commonProps,n=this.props,r=n.isDisabled,o=n.isLoading,i=this.state.isFocused;return e&&o?c.createElement(e,a({},t,{innerProps:{"aria-hidden":"true"},isDisabled:r,isFocused:i})):null}},{key:"renderIndicatorSeparator",value:function(){var e=this.getComponents(),t=e.DropdownIndicator,n=e.IndicatorSeparator;if(!t||!n)return null;var r=this.commonProps,o=this.props.isDisabled,i=this.state.isFocused;return c.createElement(n,a({},r,{isDisabled:o,isFocused:i}))}},{key:"renderDropdownIndicator",value:function(){var e=this.getComponents().DropdownIndicator;if(!e)return null;var t=this.commonProps,n=this.props.isDisabled,r=this.state.isFocused,o={onMouseDown:this.onDropdownIndicatorMouseDown,onTouchEnd:this.onDropdownIndicatorTouchEnd,"aria-hidden":"true"};return c.createElement(e,a({},t,{innerProps:o,isDisabled:n,isFocused:r}))}},{key:"renderMenu",value:function(){var e=this,t=this.getComponents(),n=t.Group,r=t.GroupHeading,o=t.Menu,i=t.MenuList,s=t.MenuPortal,l=t.LoadingMessage,u=t.NoOptionsMessage,p=t.Option,d=this.commonProps,f=this.state.focusedOption,m=this.props,h=m.captureMenuScroll,v=m.inputValue,g=m.isLoading,b=m.loadingMessage,y=m.minMenuHeight,w=m.maxMenuHeight,O=m.menuIsOpen,S=m.menuPlacement,x=m.menuPosition,C=m.menuPortalTarget,k=m.menuShouldBlockScroll,P=m.menuShouldScrollIntoView,E=m.noOptionsMessage,M=m.onMenuScrollToTop,I=m.onMenuScrollToBottom;if(!O)return null;var V,R=function(t,n){var r=t.type,o=t.data,i=t.isDisabled,s=t.isSelected,l=t.label,u=t.value,m=f===o,h=i?void 0:function(){return e.onOptionHover(o)},v=i?void 0:function(){return e.selectOption(o)},g="".concat(e.getElementId("option"),"-").concat(n),b={id:g,onClick:v,onMouseMove:h,onMouseOver:h,tabIndex:-1};return c.createElement(p,a({},d,{innerProps:b,data:o,isDisabled:i,isSelected:s,key:g,label:l,type:r,value:u,isFocused:m,innerRef:m?e.getFocusedOptionRef:void 0}),e.formatOptionLabel(t.data,"menu"))};if(this.hasOptions())V=this.getCategorizedOptions().map((function(t){if("group"===t.type){var o=t.data,i=t.options,s=t.index,l="".concat(e.getElementId("group"),"-").concat(s),u="".concat(l,"-heading");return c.createElement(n,a({},d,{key:l,data:o,options:i,Heading:r,headingProps:{id:u,data:t.data},label:e.formatGroupLabel(t.data)}),t.options.map((function(e){return R(e,"".concat(s,"-").concat(e.index))})))}if("option"===t.type)return R(t,"".concat(t.index))}));else if(g){var A=b({inputValue:v});if(null===A)return null;V=c.createElement(l,d,A)}else{var T=E({inputValue:v});if(null===T)return null;V=c.createElement(u,d,T)}var L={minMenuHeight:y,maxMenuHeight:w,menuPlacement:S,menuPosition:x,menuShouldScrollIntoView:P},D=c.createElement(It,a({},d,L),(function(t){var n=t.ref,r=t.placerProps,s=r.placement,l=r.maxHeight;return c.createElement(o,a({},d,L,{innerRef:n,innerProps:{onMouseDown:e.onMenuMouseDown,onMouseMove:e.onMenuMouseMove,id:e.getElementId("listbox")},isLoading:g,placement:s}),c.createElement(Ln,{captureEnabled:h,onTopArrive:M,onBottomArrive:I,lockEnabled:k},(function(t){return c.createElement(i,a({},d,{innerRef:function(n){e.getMenuListRef(n),t(n)},isLoading:g,maxHeight:l,focusedOption:f}),V)})))}));return C||"fixed"===x?c.createElement(s,a({},d,{appendTo:C,controlElement:this.controlRef,menuPlacement:S,menuPosition:x}),D):D}},{key:"renderFormField",value:function(){var e=this,t=this.props,n=t.delimiter,r=t.isDisabled,o=t.isMulti,i=t.name,a=this.state.selectValue;if(i&&!r){if(o){if(n){var s=a.map((function(t){return e.getOptionValue(t)})).join(n);return c.createElement("input",{name:i,type:"hidden",value:s})}var l=a.length>0?a.map((function(t,n){return c.createElement("input",{key:"i-".concat(n),name:i,type:"hidden",value:e.getOptionValue(t)})})):c.createElement("input",{name:i,type:"hidden"});return c.createElement("div",null,l)}var u=a[0]?this.getOptionValue(a[0]):"";return c.createElement("input",{name:i,type:"hidden",value:u})}}},{key:"renderLiveRegion",value:function(){var e=this.commonProps,t=this.state,n=t.ariaSelection,r=t.focusedOption,o=t.focusedValue,i=t.isFocused,s=t.selectValue,l=this.getFocusableOptions();return c.createElement(cn,a({},e,{id:this.getElementId("live-region"),ariaSelection:n,focusedOption:r,focusedValue:o,isFocused:i,selectValue:s,focusableOptions:l}))}},{key:"render",value:function(){var e=this.getComponents(),t=e.Control,n=e.IndicatorsContainer,r=e.SelectContainer,o=e.ValueContainer,i=this.props,s=i.className,l=i.id,u=i.isDisabled,p=i.menuIsOpen,d=this.state.isFocused,f=this.commonProps=this.getCommonProps();return c.createElement(r,a({},f,{className:s,innerProps:{id:l,onKeyDown:this.onKeyDown},isDisabled:u,isFocused:d}),this.renderLiveRegion(),c.createElement(t,a({},f,{innerRef:this.getControlRef,innerProps:{onMouseDown:this.onControlMouseDown,onTouchEnd:this.onControlTouchEnd},isDisabled:u,isFocused:d,menuIsOpen:p}),c.createElement(o,a({},f,{isDisabled:u}),this.renderPlaceholderOrValue(),this.renderInput()),c.createElement(n,a({},f,{isDisabled:u}),this.renderClearIndicator(),this.renderLoadingIndicator(),this.renderIndicatorSeparator(),this.renderDropdownIndicator())),this.renderMenu(),this.renderFormField())}}],[{key:"getDerivedStateFromProps",value:function(e,t){var n=t.prevProps,r=t.clearFocusValueOnUpdate,o=t.inputIsHiddenAfterUpdate,i=t.ariaSelection,a=t.isFocused,s=t.prevWasFocused,l=e.options,u=e.value,c=e.menuIsOpen,p=e.inputValue,d=e.isMulti,f=dt(u),m={};if(n&&(u!==n.value||l!==n.options||c!==n.menuIsOpen||p!==n.inputValue)){var h=c?function(e,t){return $n(jn(e,t))}(e,f):[],v=r?function(e,t){var n=e.focusedValue,r=e.selectValue.indexOf(n);if(r>-1){if(t.indexOf(n)>-1)return n;if(r-1?n:t[0]}(t,h);m={selectValue:f,focusedOption:g,focusedValue:v,clearFocusValueOnUpdate:!1}}var b=null!=o&&e!==n?{inputIsHidden:o,inputIsHiddenAfterUpdate:void 0}:{},y=i,w=a&&s;return a&&!w&&(y={value:kt(d,f,f[0]||null),options:f,action:"initial-input-focus"},w=!s),"initial-input-focus"===(null==i?void 0:i.action)&&(y=null),ot(ot(ot({},m),b),{},{prevProps:e,ariaSelection:y,prevWasFocused:w})}}]),n}(c.Component);Kn.defaultProps=Nn;var Qn=["defaultInputValue","defaultMenuIsOpen","defaultValue","inputValue","menuIsOpen","onChange","onInputChange","onMenuClose","onMenuOpen","value"],Zn=["defaultOptions","cacheOptions","loadOptions","options","isLoading","onInputChange","filterOption"],Jn=(0,c.forwardRef)((function(e,t){var n=function(e){var t=e.defaultOptions,n=void 0!==t&&t,r=e.cacheOptions,o=void 0!==r&&r,i=e.loadOptions;e.options;var a=e.isLoading,s=void 0!==a&&a,l=e.onInputChange,u=e.filterOption,p=void 0===u?null:u,d=Be(e,Zn),f=d.inputValue,m=(0,c.useRef)(void 0),h=(0,c.useRef)(!1),v=Ye((0,c.useState)(Array.isArray(n)?n:void 0),2),g=v[0],b=v[1],y=Ye((0,c.useState)(void 0!==f?f:""),2),w=y[0],O=y[1],S=Ye((0,c.useState)(!0===n),2),x=S[0],C=S[1],k=Ye((0,c.useState)(void 0),2),P=k[0],E=k[1],M=Ye((0,c.useState)([]),2),I=M[0],V=M[1],R=Ye((0,c.useState)(!1),2),A=R[0],T=R[1],L=Ye((0,c.useState)({}),2),D=L[0],F=L[1],N=Ye((0,c.useState)(void 0),2),_=N[0],H=N[1],j=Ye((0,c.useState)(void 0),2),$=j[0],U=j[1];o!==$&&(F({}),U(o)),n!==_&&(b(Array.isArray(n)?n:void 0),H(n)),(0,c.useEffect)((function(){return h.current=!0,function(){h.current=!1}}),[]);var z=(0,c.useCallback)((function(e,t){if(!i)return t();var n=i(e,t);n&&"function"==typeof n.then&&n.then(t,(function(){return t()}))}),[i]);(0,c.useEffect)((function(){!0===n&&z(w,(function(e){h.current&&(b(e||[]),C(!!m.current))}))}),[]);var B=(0,c.useCallback)((function(e,t){var n=function(e,t,n){if(n){var r=n(e,t);if("string"==typeof r)return r}return e}(e,t,l);if(!n)return m.current=void 0,O(""),E(""),V([]),C(!1),void T(!1);if(o&&D[n])O(n),E(n),V(D[n]),C(!1),T(!1);else{var r=m.current={};O(n),C(!0),T(!P),z(n,(function(e){h&&r===m.current&&(m.current=void 0,C(!1),E(n),V(e||[]),T(!1),F(e?ot(ot({},D),{},et({},n,e)):D))}))}}),[o,z,P,D,l]),W=A?[]:w&&P?I:g||[];return ot(ot({},d),{},{options:W,isLoading:x||s,onInputChange:B,filterOption:p})}(e),r=function(e){var t=e.defaultInputValue,n=void 0===t?"":t,r=e.defaultMenuIsOpen,o=void 0!==r&&r,i=e.defaultValue,a=void 0===i?null:i,s=e.inputValue,l=e.menuIsOpen,u=e.onChange,p=e.onInputChange,d=e.onMenuClose,f=e.onMenuOpen,m=e.value,h=Be(e,Qn),v=Ye((0,c.useState)(void 0!==s?s:n),2),g=v[0],b=v[1],y=Ye((0,c.useState)(void 0!==l?l:o),2),w=y[0],O=y[1],S=Ye((0,c.useState)(void 0!==m?m:a),2),x=S[0],C=S[1],k=(0,c.useCallback)((function(e,t){"function"==typeof u&&u(e,t),C(e)}),[u]),P=(0,c.useCallback)((function(e,t){var n;"function"==typeof p&&(n=p(e,t)),b(void 0!==n?n:e)}),[p]),E=(0,c.useCallback)((function(){"function"==typeof f&&f(),O(!0)}),[f]),M=(0,c.useCallback)((function(){"function"==typeof d&&d(),O(!1)}),[d]),I=void 0!==s?s:g,V=void 0!==l?l:w,R=void 0!==m?m:x;return ot(ot({},h),{},{inputValue:I,menuIsOpen:V,onChange:k,onInputChange:P,onMenuClose:M,onMenuOpen:E,value:R})}(n);return c.createElement(Kn,a({ref:t},r))}));const er=Jn;function tr(e,t,n,r){var o,i=!1,a=0;function s(){o&&clearTimeout(o)}function l(){for(var l=arguments.length,u=new Array(l),c=0;ce?f():!0!==t&&(o=setTimeout(r?m:f,void 0===r?e-d:e)))}return"boolean"!=typeof t&&(r=n,n=t,t=void 0),l.cancel=function(){s(),i=!0},l}const nr=window.lodash,rr=window.wp.apiFetch;var or=n.n(rr);const ir=window.wp.url;var ar=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,sr=ge((function(e){return ar.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91})),lr=function(e){return"theme"!==e},ur=function(e){return"string"==typeof e&&e.charCodeAt(0)>96?sr:lr},cr=function(e,t,n){var r;if(t){var o=t.shouldForwardProp;r=e.__emotion_forwardProp&&o?function(t){return e.__emotion_forwardProp(t)&&o(t)}:o}return"function"!=typeof r&&n&&(r=e.__emotion_forwardProp),r},pr=function(e){var t=e.cache,n=e.serialized,r=e.isStringTag;return fe(t,n,r),Ie((function(){return me(t,n,r)})),null};var dr=function e(t,n){var r,o,i=t.__emotion_real===t,s=i&&t.__emotion_base||t;void 0!==n&&(r=n.label,o=n.target);var l=cr(t,n,i),u=l||ur(s),p=!u("as");return function(){var d=arguments,f=i&&void 0!==t.__emotion_styles?t.__emotion_styles.slice(0):[];if(void 0!==r&&f.push("label:"+r+";"),null==d[0]||void 0===d[0].raw)f.push.apply(f,d);else{f.push(d[0][0]);for(var m=d.length,h=1;h{var r;return r=e,(0,nr.isPlainObject)(r)&&r.label&&r.value||!Number.isInteger(e)||(e=n.find((t=>{let{id:n}=t;return n===e}))||await or()({path:`${t}/${e}`})),e})))}const hr={control:e=>({...e,borderColor:"#8d96a0","&:hover":{...e["&:hover"],borderColor:"#8d96a0"}})};function vr(e){return{...e,colors:{...e.colors,primary:"var( --wp-admin-theme-color )"},spacing:{...e.spacing,baseUnit:2,controlHeight:28,menuGutter:4}}}function gr(e,t,n){return e.map((e=>({...e,label:t(e),value:n(e)})))}function br(e){let{searchPath:t,onUpdate:n=(()=>{}),selectedValue:o=[],additionalSearchArgs:i={},defaultOptions:l=null,getSearchArgs:u=null,label:c=null,getSearchURL:p=null,hydrateValues:d=null,formatSearchResults:f=null,formatSearchResultLabel:m=null,formatSearchResultValue:h=null,id:v=null,placeholder:g=(0,s.__)("Search…","lifterlms"),className:b="llms-base-search-control",classNamePrefix:y="llms-search-control",searchDebounceDelay:w=300,...O}=e;const[S,x]=(0,r.useState)([]),C=e=>x(S.concat(e)),[k,P]=(0,r.useState)(Array.isArray(o)?o:[o]);(0,r.useEffect)((()=>{o.length&&(d=d||mr,d(k,t,S).then((e=>{e=f(e,m,h);const t=(0,nr.differenceBy)(e,S,"id");return t.length&&C(t),P(e),e})))}),[o]);const E=(M=(e,n)=>{or()({path:p(t,u(e))}).then((e=>{const t=f(e,m,h);C(t),n(t)}))},tr(w,M,!1));var M;return v=v||(0,nr.uniqueId)(`${b}--`),f=f||gr,m=m||(e=>null==e?void 0:e.id),h=h||(e=>null==e?void 0:e.id),u=u||(e=>({per_page:10,search:e,...i})),p=p||((e,t)=>(0,ir.addQueryArgs)(e,t)),O.styles=O.styles||hr,O.theme=O.theme||vr,null===l&&k.length&&(l=!S.length||(0,nr.uniqBy)(S,"id")),(0,r.createElement)(fr,{id:v,label:c},(0,r.createElement)(er,a({className:b,classNamePrefix:y,value:k,placeholder:g,loadOptions:E,defaultOptions:l,onChange:e=>{P(Array.isArray(e)?e:[e]),n(e)}},O)))}function yr(e){let{postType:t="posts",baseSearchPath:n="/wp/v2/",searchPath:o=null,className:i="llms-post-search-control",placeholder:l=(0,s.__)("Search for posts…","lifterlms"),formatSearchResultLabel:u=null,additionalSearchArgs:c={},...p}=e;return u=u||(e=>{let{title:t,id:n}=e;return(0,s.sprintf)( -// Translators: %1$s = Post title; %2$s = Post id. -(0,s._x)("%1$s (ID# %2$d)","Post search result label","lifterlms"),t.rendered,n)}),(0,r.createElement)(br,a({searchPath:o||`${n}${t}`,className:i,placeholder:l,formatSearchResultLabel:u,additionalSearchArgs:c},p))}function wr(e){let{searchPath:t="/wp/v2/users",className:n="llms-user-search-control",placeholder:o=(0,s.__)("Search users by email or name…","lifterlms"),formatSearchResultLabel:i=null,additionalSearchArgs:l={},...u}=e;return i=i||(e=>{let{name:t,id:n}=e;return(0,s.sprintf)( -// Translators: %1$s = User's name; %2$s = User's id. -(0,s._x)("%1$s (ID# %2$d)","User search result label","lifterlms"),t,n)}),(0,r.createElement)(br,a({searchPath:t,className:n,placeholder:o,formatSearchResultLabel:i,additionalSearchArgs:l},u))}const Or="llms-spinning",Sr="default";function xr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Sr;const n=document.createElement("div"),r=(0,s.__)("Loading…","lifterlms");return n.innerHTML=`${r}`,n.classList.add(Or),e.appendChild(n),n}function Cr(e){if((e="string"==typeof e?document.querySelectorAll(e):e)instanceof NodeList)return Array.from(e);const t=[];return e instanceof Element?t.push(e):"undefined"!=typeof jQuery&&e instanceof jQuery&&e.toArray().forEach((e=>t.push(e))),t}function kr(e){const t=e.querySelectorAll(".llms-spinning");return t.length?Array.from(t).find((t=>e===t.parentNode)):null}function Pr(){const e="llms-spinner-styles";if(!document.getElementById(e)){const t=document.createElement("style");t.textContent="\n\t.llms-spinning {\n\t\tbackground: rgba( 250, 250, 250, 0.7 );\n\t\tbottom: 0;\n\t\tdisplay: none;\n\t\tleft: 0;\n\t\tposition: absolute;\n\t\tright: 0;\n\t\ttop: 0;\n\t\tz-index: 2;\n\t}\n\n\t.llms-spinner {\n\t\tanimation: llms-spinning 1.5s linear infinite;\n\t\tbox-sizing: border-box;\n\t\tborder: 4px solid #313131;\n\t\tborder-radius: 50%;\n\t\theight: 40px;\n\t\tleft: 50%;\n\t\tmargin-left: -20px;\n\t\tmargin-top: -20px;\n\t\tposition: absolute;\n\t\ttop: 50%;\n\t\twidth: 40px;\n\n\t}\n\n\t.llms-spinner.small {\n\t\tborder-width: 2px;\n\t\theight: 20px;\n\t\tmargin-left: -10px;\n\t\tmargin-top: -10px;\n\t\twidth: 20px;\n\t}\n\n\t@keyframes llms-spinning {\n\t\t0% {\n\t\t\ttransform: rotate( 0deg )\n\t\t}\n\t\t50% {\n\t\t\tborder-radius: 5%;\n\t\t}\n\t\t100% {\n\t\t\ttransform: rotate( 220deg) \n\t\t}\n\t}\n".replace(/\n/g,"").replace(/\t/g," ").replace(/\s\s+/g," "),t.id=e,document.head.appendChild(t)}}function Er(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Sr,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];Pr();const r=Cr(e);if(!r.length)return null;const o=r[0],i=kr(o)||xr(o,t);return n&&"undefined"!=typeof jQuery?jQuery(i):i}function Mr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Sr;Cr(e).forEach((e=>{const n=Er(e,t,!1);n&&(n.style.display="block")}))}function Ir(e){Cr(e).forEach((e=>{const t=Er(e,Sr,!1);t&&(t.style.display="none")}))}window.llms=window.llms||{};const{components:Vr={}}=window.llms;window.llms.components={...Vr,...t}})()})(); \ No newline at end of file diff --git a/assets/js/llms.js b/assets/js/llms.js deleted file mode 100644 index ffdd429296..0000000000 --- a/assets/js/llms.js +++ /dev/null @@ -1,2609 +0,0 @@ -/**************************************************************** - * - * Contributor's Notice - * - * This is a compiled file and should not be edited directly! - * The uncompiled script is located in the "assets/private" directory - * - ****************************************************************/ - -/** - * Main LLMS Namespace - * - * @since 1.0.0 - * @version 5.3.3 - */ - -var LLMS = window.LLMS || {}; -( function( $ ){ - - 'use strict'; - - /** - * Load all app modules - */ - /** - * Front End Achievements - * - * @package LifterLMS/Scripts - * - * @since 3.14.0 - * @version 6.10.2 - */ - - LLMS.Achievements = { - - /** - * Init - * - * @since 3.14.0 - * @since 4.5.1 Fix conditional loading check. - * - * @return {void} - */ - init: function() { - - if ( $( '.llms-achievement' ).length ) { - - var self = this; - - $( function() { - self.bind(); - self.maybe_open(); - } ); - } - - }, - - /** - * Bind DOM events - * - * @since 3.14.0 - * - * @return {void} - */ - bind: function() { - - var self = this; - - $( '.llms-achievement' ).each( function() { - - self.create_modal( $( this ) ); - - } ); - - $( '.llms-achievement' ).on( 'click', function() { - - var $this = $( this ), - id = 'achievement-' + $this.attr( 'data-id' ), - $modal = $( '#' + id ); - - if ( ! $modal.length ) { - self.create_modal( $this ); - } - - $modal.iziModal( 'open' ); - - } ); - - }, - - /** - * Creates modal a modal for an achievement - * - * @since 3.14.0 - * - * @param obj $el The jQuery selector for the modal card. - * @return {void} - */ - create_modal: function( $el ) { - - var id = 'achievement-' + $el.attr( 'data-id' ), - $modal = $( '#' + id ); - - if ( ! $modal.length ) { - $modal = $( '
' ); - $( 'body' ).append( $modal ); - } - - $modal.iziModal( { - headerColor: '#3a3a3a', - group: 'achievements', - history: true, - loop: true, - overlayColor: 'rgba( 0, 0, 0, 0.6 )', - transitionIn: 'fadeInDown', - transitionOut: 'fadeOutDown', - width: 340, - onOpening: function( modal ) { - - modal.setTitle( $el.find( '.llms-achievement-title' ).html() ); - modal.setSubtitle( $el.find( '.llms-achievement-date' ).html() ); - modal.setContent( '
' + $el.html() + '
' ); - - }, - - onClosing: function() { - window.history.pushState( '', document.title, window.location.pathname + window.location.search ); - }, - - } ); - - }, - - /** - * On page load, opens a modal if the URL contains an achievement in the location hash - * - * @since 3.14.0 - * @since 6.10.2 Sanitize achievement IDs before using window.location.hash to trigger the modal open. - * - * @return {void} - */ - maybe_open: function() { - - let hash = window.location.hash.split( '-' ); - if ( 2 !== hash.length ) { - return; - } - - hash[1] = parseInt( hash[1] ); - if ( '#achievement-' !== hash[0] || ! Number.isInteger( hash[1] ) ) { - return; - } - - const a = document.querySelector( `a[href="${ hash.join( '-' ) }"]` ) - if ( ! a ) { - return; - } - - a.click(); - - } - - }; - - /** - * Main Ajax class - * Handles Primary Ajax connection - * - * @package LifterLMS/Scripts - * - * @since Unknown - * @version Unknown - */ - - LLMS.Ajax = { - - /** - * Url - * - * @type {String} - */ - url: window.ajaxurl || window.llms.ajaxurl, - - /** - * Type - * - * @type {[type]} - */ - type: 'post', - - /** - * Data - * - * @type {[type]} - */ - data: [], - - /** - * Cache - * - * @type {[type]} - */ - cache: false, - - /** - * DataType - * defaulted to json - * - * @type {String} - */ - dataType: 'json', - - /** - * Async - * default to false - * - * @type {Boolean} - */ - async: true, - - response:[], - - /** - * Initialize Ajax methods - * - * @since Unknown - * @since 4.4.0 Update ajax nonce source. - * - * @param {Object} obj Options object. - * @return {Object} - */ - init: function( obj ) { - - // If obj is not of type object or null return false. - if ( obj === null || typeof obj !== 'object' ) { - return false; - } - - // set object defaults if values are not supplied - obj.url = 'url' in obj ? obj.url : this.url; - obj.type = 'type' in obj ? obj.type : this.type; - obj.data = 'data' in obj ? obj.data : this.data; - obj.cache = 'cache' in obj ? obj.cache : this.cache; - obj.dataType = 'dataType' in obj ? obj.dataType : this.dataType; - obj.async = 'async' in obj ? obj.async : this.async; - - // Add nonce to data object. - obj.data._ajax_nonce = window.llms.ajax_nonce || wp_ajax_data.nonce; - - // Add post id to data object. - var $R = LLMS.Rest, - query_vars = $R.get_query_vars(); - obj.data.post_id = 'post' in query_vars ? query_vars.post : null; - if ( ! obj.data.post_id && $( 'input#post_ID' ).length ) { - obj.data.post_id = $( 'input#post_ID' ).val(); - } - - return obj; - }, - - /** - * Call - * Called by external classes - * Sets up jQuery Ajax object - * - * @param {[object]} [object of ajax settings] - * @return {[mixed]} [false if not object or this] - */ - call: function(obj) { - - // get default variables if not included in call - var settings = this.init( obj ); - - // if init return a response of false - if ( ! settings) { - return false; - } else { - this.request( settings ); - } - - return this; - - }, - - /** - * Calls jQuery Ajax on settings object - * - * @return {[object]} [this] - */ - request: function(settings) { - - $.ajax( settings ); - - return this; - - } - - }; - - /** - * Create a Donut Chart - * - * @package LifterLMS/Scripts - * - * @since 3.9.0 - * @version 4.15.0 - * - * @link https://gist.github.com/joeyinbox/8205962 - * - * @param {Object} $el jQuery element to draw a chart within. - */ - - LLMS.Donut = function( $el ) { - - /** - * Constructor - * - * @since 3.9.0 - * @since 4.15.0 Flip animation in RTL. - * - * @param {Object} options Donut options. - * @return {Void} - */ - function Donut(options) { - - this.settings = $.extend( { - element: options.element, - percent: 100 - }, options ); - - this.circle = this.settings.element.find( 'path' ); - this.settings.stroke_width = parseInt( this.circle.css( 'stroke-width' ) ); - this.radius = ( parseInt( this.settings.element.css( 'width' ) ) - this.settings.stroke_width ) / 2; - this.angle = $( 'body' ).hasClass( 'rtl' ) ? 82.5 : 97.5; // Origin of the draw at the top of the circle - this.i = Math.round( 0.75 * this.settings.percent ); - this.first = true; - this.increment = $( 'body' ).hasClass( 'rtl' ) ? -5 : 5; - - this.animate = function() { - this.timer = setInterval( this.loop.bind( this ), 10 ); - }; - - this.loop = function() { - this.angle += this.increment; - this.angle %= 360; - var radians = ( this.angle / 180 ) * Math.PI, - x = this.radius + this.settings.stroke_width / 2 + Math.cos( radians ) * this.radius, - y = this.radius + this.settings.stroke_width / 2 + Math.sin( radians ) * this.radius, - d; - if (this.first === true) { - d = this.circle.attr( 'd' ) + ' M ' + x + ' ' + y; - this.first = false; - } else { - d = this.circle.attr( 'd' ) + ' L ' + x + ' ' + y; - } - this.circle.attr( 'd', d ); - this.i--; - - if (this.i <= 0) { - clearInterval( this.timer ); - } - }; - } - - /** - * Draw donut element - * - * @since 3.9.0 - * - * @param {Object} $el jQuery element to draw a chart within. - * @return {Void} - */ - function draw( $el ) { - var path = ''; - $el.append( '' + path + '' ); - var donut = new Donut( { - element: $el, - percent: $el.attr( 'data-perc' ) - } ); - donut.animate(); - } - - draw( $el ); - - }; - - /** - * Forms - * - * @package LifterLMS/Scripts - * - * @since 5.0.0 - * @version 7.0.0 - */ - - LLMS.Forms = { - - /** - * Stores locale information. - * - * Added via PHP. - * - * @type {Object} - */ - address_info: {}, - - /** - * jQuery ref. to the city text field. - * - * @type {Object} - */ - $cities: null, - - /** - * jQuery ref. to the countries select field. - * - * @type {Object} - */ - $countries: null, - - /** - * jQuery ref. to the states select field. - * - * @type {Object} - */ - $states: null, - - /** - * jQuery ref. to the hidden states holder field. - * - * @type {Object} - */ - $states_holder: null, - - /** - * Init - * - * @since 5.0.0 - * @since 5.3.3 Move select2 dependency check into the `bind_l10_selects()` method. - * - * @return {void} - */ - init: function() { - - if ( $( 'body' ).hasClass( 'wp-admin' ) ) { - if ( ! ( $( 'body' ).hasClass( 'profile-php' ) || $( 'body' ).hasClass( 'user-edit-php' ) ) ) { - return; - } - } - - var self = this; - - self.bind_matching_fields(); - self.bind_voucher_field(); - self.bind_edit_account(); - self.bind_l10n_selects(); - - }, - - /** - * Bind DOM events for the edit account screen. - * - * @since 5.0.0 - * - * @return {void} - */ - bind_edit_account: function() { - - // Not an edit account form. - if ( ! $( 'form.llms-person-form.edit-account' ).length ) { - return; - } - - $( '.llms-toggle-fields' ).on( 'click', this.handle_toggle_click ); - - }, - - /** - * Bind DOM Events fields with dynamic localization values and language. - * - * @since 5.0.0 - * @since 5.3.3 Bind select2-related events after ensuring select2 is available. - * - * @return {void} - */ - bind_l10n_selects: function() { - - var self = this; - - self.$cities = $( '#llms_billing_city' ); - self.$countries = $( '.llms-l10n-country-select select' ); - self.$states = $( '.llms-l10n-state-select select' ); - self.$zips = $( '#llms_billing_zip' ); - - if ( ! self.$countries.length ) { - return; - } - - var isSelect2Available = function() { - return ( undefined !== $.fn.llmsSelect2 ); - }; - - LLMS.wait_for( isSelect2Available, function() { - - if ( self.$states.length ) { - self.prep_state_field(); - } - - self.$countries.add( self.$states ).llmsSelect2( { width: '100%' } ); - - if ( window.llms.address_info ) { - self.address_info = JSON.parse( window.llms.address_info ); - } - - self.$countries.on( 'change', function() { - - var val = $( this ).val(); - self.update_locale_info( val ); - - } ).trigger( 'change' ); - - }, 'llmsSelect2' ); - - }, - - /** - * Ensure "matching" fields match. - * - * @since 5.0.0 - * - * @return {Void} - */ - bind_matching_fields: function() { - - var $fields = $( 'input[data-match]' ).not( '[type="password"]' ); - - $fields.each( function() { - - var $field = $( this ), - $match = $( '#' + $field.attr( 'data-match' ) ), - $parents; - - if ( $match.length ) { - - $parents = $field.closest( '.llms-form-field' ).add( $match.closest( '.llms-form-field' ) ); - - $field.on( 'input change', function() { - - var val_1 = $field.val(), - val_2 = $match.val(); - - if ( val_1 && val_2 && val_1 !== val_2 ) { - $parents.addClass( 'invalid' ); - } else { - $parents.removeClass( 'invalid' ); - } - - } ); - - } - - } ); - - }, - - /** - * Bind DOM events for voucher toggles UX. - * - * @since 5.0.0 - * - * @return {void} - */ - bind_voucher_field: function() { - - $( '#llms-voucher-toggle' ).on( 'click', function( e ) { - e.preventDefault(); - $( '#llms_voucher' ).toggle(); - } ); - - }, - - /** - * Retrieve the parent element for a given field. - * - * The parent element is hidden when the field isn't required. - * - * @since 5.0.0 - * @since 7.0.0 Do not look for a WP column wrapper anymore, always return the field's wrapper div. - * - * @param {Object} $field jQuery dom object. - * @return {Object} - */ - get_field_parent: function( $field ) { - - return $field.closest( '.llms-form-field' ); - - }, - - /** - * Retrieve the text of a label - * - * Removes any children HTML elements (eg: required span elements) and returns only the labels text. - * - * @since 5.0.0 - * - * @param {Object} $label jQuery object for a label element. - * @return {String} - */ - get_label_text: function( $label ) { - - var $clone = $label.clone(); - $clone.find( '*' ).remove(); - return $clone.text().trim(); - - }, - - /** - * Callback function to handle the "toggle" button links for changing email address and password on account edit forms - * - * @since 5.0.0 - * - * @param {Object} event Native JS event object. - * @return {void} - */ - handle_toggle_click: function( event ) { - - event.preventDefault(); - - var $this = $( this ), - $fields = $( $( this ).attr( 'data-fields' ) ), - isShowing = $this.attr( 'data-is-showing' ) || 'no', - displayFunc = 'yes' === isShowing ? 'hide' : 'show', - disabled = 'yes' === isShowing ? 'disabled' : null, - textAttr = 'yes' === isShowing ? 'data-change-text' : 'data-cancel-text'; - - $fields.each( function() { - - $( this ).closest( '.llms-form-field' )[ displayFunc ](); - $( this ).attr( 'disabled', disabled ); - - } ); - - $this.text( $this.attr( textAttr ) ); - $this.attr( 'data-is-showing', 'yes' === isShowing ? 'no' : 'yes' ); - - }, - - /** - * Prepares the state select field. - * - * Moves All optgroup elements into a hidden & disabled select element. - * - * @since 5.0.0 - * - * @return {void} - */ - prep_state_field: function() { - - var $parent = this.$states.closest( '.llms-form-field' ); - - this.$holder = $( '', - { name: $field.attr('name'), class: $field.attr( 'class' ) + ' hidden', type: 'hidden' } - ).insertAfter( $field ); - $field.attr( 'disabled', 'disabled' ); - this.get_field_parent( $field ).hide(); - }, - - /** - * Enable a given field - * - * It also shows the parent element, and removes the empty hidden input field - * previously added by disable_field(). - * - * @since 5.0.0 - * - * @param {Object} $field The jQuery object for the field. - */ - enable_field: function( $field ) { - $field.removeAttr( 'disabled' ); - $field.next( '.hidden[name='+$field.attr('name')+']' ).detach(); - this.get_field_parent( $field ).show(); - } - - }; - - /** - * Instructors List - * - * @package LifterLMS/Scripts - * - * @since Unknown - * @version Unknown - */ - - LLMS.Instructors = { - - /** - * Init - */ - init: function() { - - var self = this; - - if ( $( 'body' ).hasClass( 'wp-admin' ) ) { - return; - } - - if ( $( '.llms-instructors' ).length ) { - - LLMS.wait_for_matchHeight( function() { - self.bind(); - } ); - - } - - }, - - /** - * Bind Method - * Handles dom binding on load - * - * @return {[type]} [description] - */ - bind: function() { - - $( '.llms-instructors .llms-author' ).matchHeight(); - - }, - - }; - - /** - * Localization functions for LifterLMS Javascript - * - * @package LifterLMS/Scripts - * - * @since 2.7.3 - * @version 2.7.3 - * - * @todo we need more robust translation functions to handle sprintf and pluralization - * at this moment we don't need those and haven't stubbed them out - * those will be added when they're needed - */ - - LLMS.l10n = LLMS.l10n || {}; - - LLMS.l10n.translate = function ( string ) { - - var self = this; - - if ( self.strings[string] ) { - - return self.strings[string]; - - } else { - - return string; - - } - - }; - - /** - * Translate and replace placeholders in a string - * - * @example LLMS.l10n.replace( 'This is a %2$s %1$s String', { - * '%1$s': 'cool', - * '%2$s': 'very' - * } ); - * Output: "This is a very cool String" - * - * @param string string text string - * @param object replacements object containing token => replacement pairs - * @return string - * @since 3.16.0 - * @version 3.16.0 - */ - LLMS.l10n.replace = function( string, replacements ) { - - var str = this.translate( string ); - - $.each( replacements, function( token, value ) { - - if ( -1 !== token.indexOf( 's' ) ) { - value = value.toString(); - } else if ( -1 !== token.indexOf( 'd' ) ) { - value = value * 1; - } - - str = str.replace( token, value ); - - } ); - - return str; - - }; - - /** - * Handle Lesson Preview Elements - * - * @package LifterLMS/Scripts - * - * @since 3.0.0 - * @version 3.16.12 - */ - - LLMS.LessonPreview = { - - /** - * A jQuery object of all outlines present on the current screen - * - * @type obj - */ - $els: null, - - /** - * Initialize - * - * @return void - */ - init: function() { - - var self = this; - - this.$locked = $( 'a[href="#llms-lesson-locked"]' ); - - if ( this.$locked.length ) { - - self.bind(); - - } - - if ( $( '.llms-course-navigation' ).length ) { - - LLMS.wait_for_matchHeight( function() { - - self.match_height(); - - } ); - - } - - }, - - /** - * Bind DOM events - * - * @return void - * @since 3.0.0 - * @version 3.16.12 - */ - bind: function() { - - var self = this; - - this.$locked.on( 'click', function() { - return false; - } ); - - this.$locked.on( 'mouseenter', function() { - - var $tip = $( this ).find( '.llms-tooltip' ); - if ( ! $tip.length ) { - var msg = $( this ).attr( 'data-tooltip-msg' ); - if ( ! msg ) { - msg = LLMS.l10n.translate( 'You do not have permission to access this content' ); - } - $tip = self.get_tooltip( msg ); - $( this ).append( $tip ); - } - setTimeout( function() { - $tip.addClass( 'show' ); - }, 10 ); - - } ); - - this.$locked.on( 'mouseleave', function() { - - var $tip = $( this ).find( '.llms-tooltip' ); - $tip.removeClass( 'show' ); - - } ); - - }, - - /** - * Match the height of lesson preview items in course navigation blocks - * - * @return void - * @since 3.0.0 - * @version 3.0.0 - */ - match_height: function() { - - $( '.llms-course-navigation .llms-lesson-link' ).matchHeight(); - - }, - - /** - * Get a tooltip element - * - * @param string msg message to display inside the tooltip - * @return obj - * @since 3.0.0 - * @version 3.2.4 - */ - get_tooltip: function( msg ) { - var $el = $( '
' ); - $el.append( '
' + msg + '
' ); - return $el; - }, - - }; - - /** - * LifterLMS Loops JS - * - * @package LifterLMS/Scripts - * - * @since 3.0.0 - * @version 3.14.0 - */ - - LLMS.Loops = { - - /** - * Initialize - * - * @return void - */ - init: function() { - - var self = this; - - if ( $( '.llms-loop' ).length ) { - - LLMS.wait_for_matchHeight( function() { - - self.match_height(); - - } ); - - } - - }, - - /** - * Match the height of .llms-loop-item - * - * @return void - * @since 3.0.0 - * @version 3.14.0 - */ - match_height: function() { - - $( '.llms-loop-item .llms-loop-item-content' ).matchHeight(); - $( '.llms-achievement-loop-item .llms-achievement' ).matchHeight(); - $( '.llms-certificate-loop-item .llms-certificate' ).matchHeight(); - - }, - - }; - - /** - * Handle the Collapsible Syllabus Widget / Shortcode - * - * @package LifterLMS/Scripts - * - * @since Unknown - * @version Unknown - */ - - LLMS.OutlineCollapse = { - - /** - * A jQuery object of all outlines present on the current screen - * - * @type obj - */ - $outlines: null, - - /** - * Initialize - * - * @return void - */ - init: function() { - - this.$outlines = $( '.llms-widget-syllabus--collapsible' ); - - if ( this.$outlines.length ) { - - this.bind(); - - } - - }, - - /** - * Bind DOM events - * - * @return void - */ - bind: function() { - - var self = this; - - this.$outlines.each( function() { - - var $outline = $( this ), - $headers = $outline.find( '.llms-section .section-header' ); - - // bind header clicks - $headers.on( 'click', function( e ) { - - e.preventDefault(); - - var $toggle = $( this ), - $section = $toggle.closest( '.llms-section' ), - state = self.get_section_state( $section ); - - switch ( state ) { - - case 'closed': - self.open_section( $section ); - break; - - case 'opened': - self.close_section( $section ); - break; - - } - - } ); - - // bind optional toggle "buttons" - $outline.find( '.llms-collapse-toggle' ).on( 'click', function( e ) { - - e.preventDefault(); - - var $btn = $( this ), - action = $btn.attr( 'data-action' ), - opposite_action = ( 'close' === action ) ? 'opened' : 'closed'; - - $headers.each( function() { - - var $section = $( this ).closest( '.llms-section' ), - state = self.get_section_state( $section ); - - if ( opposite_action !== state ) { - return true; - } - - switch ( state ) { - - case 'closed': - self.close_section( $section ); - break; - - case 'opened': - self.open_section( $section ); - break; - - } - - $( this ).trigger( 'click' ); - - } ); - - } ); - - } ); - - }, - - /** - * Close an outline section - * - * @param obj $section jQuery selector of a '.llms-section' - * @return void - */ - close_section: function( $section ) { - - $section.removeClass( 'llms-section--opened' ).addClass( 'llms-section--closed' ); - - }, - - /** - * Open an outline section - * - * @param obj $section jQuery selector of a '.llms-section' - * @return void - */ - open_section: function( $section ) { - - $section.removeClass( 'llms-section--closed' ).addClass( 'llms-section--opened' ); - - }, - - /** - * Get the current state (open or closed) of an outline section - * - * @param obj $section jQuery selector of a '.llms-section' - * @return string 'opened' or 'closed' - */ - get_section_state: function( $section ) { - - return $section.hasClass( 'llms-section--opened' ) ? 'opened' : 'closed'; - - } - - }; - - /** - * Handle Password Strength Meter for registration and password update fields - * - * @package LifterLMS/Scripts - * - * @since 3.0.0 - * @version 5.0.0 - */ - - $.extend( LLMS.PasswordStrength, { - - /** - * jQuery ref for the password strength meter object. - * - * @type {Object} - */ - $meter: $( '.llms-password-strength-meter' ), - - /** - * jQuery ref for the password field. - * - * @type {Object} - */ - $pass: null, - - /** - * jQuery ref for the password confirmation field - * - * @type {Object} - */ - $conf: null, - - /** - * jQuery ref for form element. - * - * @type {Object} - */ - $form: null, - - /** - * Init - * loads class methods - * - * @since 3.0.0 - * @since 3.7.0 Unknown - * @since 5.0.0 Move reference setup to `setup_references()`. - * Use `LLMS.wait_for()` for dependency waiting. - * - * @return {Void} - */ - init: function() { - - if ( $( 'body' ).hasClass( 'wp-admin' ) ) { - return; - } - - if ( ! this.setup_references() ) { - return; - } - - var self = this; - - LLMS.wait_for( function() { - return ( 'undefined' !== typeof wp && 'undefined' !== typeof wp.passwordStrength ); - }, function() { - self.bind(); - self.$form.trigger( 'llms-password-strength-ready' ); - } ); - - }, - - /** - * Bind DOM Events - * - * @since 3.0.0 - * - * @return void - */ - bind: function() { - - var self = this; - - // add submission event handlers when not on a checkout form - if ( ! this.$form.hasClass( 'llms-checkout' ) ) { - self.$form.on( 'submit', self, self.submit ); - } - - // check password strength on keyup - self.$pass.add( self.$conf ).on( 'keyup', function() { - self.check_strength(); - } ); - - }, - - /** - * Check the strength of a user entered password - * and update elements depending on the current strength - * - * @since 3.0.0 - * @since 5.0.0 Allow password confirmation to be optional when checking strength. - * - * @return void - */ - check_strength: function() { - - var $pass_field = this.$pass.closest( '.llms-form-field' ), - $conf_field = this.$conf && this.$conf.length ? this.$conf.closest( '.llms-form-field' ) : null, - pass_length = this.$pass.val().length, - conf_length = this.$conf && this.$conf.length ? this.$conf.val().length : 0; - - // hide the meter if both fields are empty - if ( ! pass_length && ! conf_length ) { - $pass_field.removeClass( 'valid invalid' ); - if ( $conf_field ) { - $conf_field.removeClass( 'valid invalid' ); - } - this.$meter.hide(); - return; - } - - if ( this.get_current_strength_status() ) { - $pass_field.removeClass( 'invalid' ).addClass( 'valid' ); - if ( conf_length ) { - $conf_field.removeClass( 'invalid' ).addClass( 'valid' ); - } - } else { - $pass_field.removeClass( 'valid' ).addClass( 'invalid' ); - if ( conf_length ) { - $conf_field.removeClass( 'valid' ).addClass( 'invalid' ); - } - } - - this.$meter.removeClass( 'too-short very-weak weak medium strong mismatch' ); - this.$meter.show().addClass( this.get_current_strength( 'slug' ) ); - this.$meter.html( this.get_current_strength( 'text' ) ); - - }, - - /** - * Form submission action called during registration on checkout screen - * - * @since 3.0.0 - * - * @param obj self instance of this class - * @param Function callback callback function, passes error message or success back to checkout handler - * @return void - */ - checkout: function( self, callback ) { - - if ( self.get_current_strength_status() ) { - - callback( true ); - - } else { - - callback( LLMS.l10n.translate( 'There is an issue with your chosen password.' ) ); - - } - }, - - /** - * Get the list of blocklisted strings - * - * @since 5.0.0 - * - * @return array - */ - get_blocklist: function() { - - // Default values from WP Core + any values added via settings filter.. - var blocklist = wp.passwordStrength.userInputDisallowedList().concat( this.get_setting( 'blocklist', [] ) ); - - // Add values from all text fields in the form. - this.$form.find( 'input[type="text"], input[type="email"], input[type="tel"], input[type="number"]' ).each( function() { - var val = $( this ).val(); - if ( val ) { - blocklist.push( val ); - } - } ); - - return blocklist; - - }, - - /** - * Retrieve current strength as a number, a slug, or a translated text string - * - * @since 3.0.0 - * @since 5.0.0 Allow password confirmation to be optional when checking strength. - * - * @param {String} format Derived return format [int|slug|text] defaults to int. - * @return mixed - */ - get_current_strength: function( format ) { - - format = format || 'int'; - var pass = this.$pass.val(), - conf = this.$conf && this.$conf.length ? this.$conf.val() : '', - val; - - // enforce custom length requirement - if ( pass.length < this.get_setting( 'min_length', 6 ) ) { - val = -1; - } else { - val = wp.passwordStrength.meter( pass, this.get_blocklist(), conf ); - // 0 & 1 are both very-weak - if ( 0 === val ) { - val = 1; - } - } - - if ( 'slug' === format ) { - return this.get_strength_slug( val ); - } else if ( 'text' === format ) { - return this.get_strength_text( val ); - } else { - return val; - } - }, - - /** - * Determines if the current password strength meets the user-defined - * minimum password strength requirements - * - * @since 3.0.0 - * - * @return boolean - */ - get_current_strength_status: function() { - var curr = this.get_current_strength(), - min = this.get_strength_value( this.get_minimum_strength() ); - return ( 5 === curr ) ? false : ( curr >= min ); - }, - - /** - * Retrieve the minimum password strength for the current form. - * - * @since 3.0.0 - * @since 5.0.0 Replaces the version output via an inline PHP script in favor of utilizing values configured in the settings object. - * - * @return {string} - */ - get_minimum_strength: function() { - return this.get_setting( 'min_strength', 'strong' ); - }, - - /** - * Get a setting and fallback to a default value. - * - * @since 5.0.0 - * - * @param {String} key Setting key. - * @param {mixed} default_val Default value when the requested setting cannot be located. - * @return {mixed} - */ - get_setting: function( key, default_val ) { - var settings = this.get_settings(); - return settings[ key ] ? settings[ key ] : default_val; - }, - - /** - * Get the slug associated with a strength value - * - * @since 3.0.0 - * - * @param int strength_val Strength value number. - * @return string - */ - get_strength_slug: function( strength_val ) { - - var slugs = { - '-1': 'too-short', - 1: 'very-weak', - 2: 'weak', - 3: 'medium', - 4: 'strong', - 5: 'mismatch', - }; - - return ( slugs[ strength_val ] ) ? slugs[ strength_val ] : slugs[5]; - - }, - - /** - * Gets the translated text associated with a strength value - * - * @since 3.0.0 - * - * @param {Integer} strength_val Strength value - * @return {String} - */ - get_strength_text: function( strength_val ) { - - var texts = { - '-1': LLMS.l10n.translate( 'Too Short' ), - 1: LLMS.l10n.translate( 'Very Weak' ), - 2: LLMS.l10n.translate( 'Weak' ), - 3: LLMS.l10n.translate( 'Medium' ), - 4: LLMS.l10n.translate( 'Strong' ), - 5: LLMS.l10n.translate( 'Mismatch' ), - }; - - return ( texts[ strength_val ] ) ? texts[ strength_val ] : texts[5]; - - }, - - /** - * Get the value associated with a strength slug - * - * @since 3.0.0 - * - * @param string strength_slug A strength slug. - * @return {Integer} - */ - get_strength_value: function( strength_slug ) { - - var values = { - 'too-short': -1, - 'very-weak': 1, - weak: 2, - medium: 3, - strong: 4, - mismatch: 5, - }; - - return ( values[ strength_slug ] ) ? values[ strength_slug ] : values.mismatch; - - }, - - /** - * Setup jQuery references to DOM elements needed to power the password meter. - * - * @since 5.0.0 - * - * @return {Boolean} Returns `true` if a meter element and password field are found, otherwise returns `false`. - */ - setup_references: function() { - - if ( ! this.$meter.length ) { - return false; - } - - this.$form = this.$meter.closest( 'form' ); - this.$pass = this.$form.find( 'input#password' ); - - if ( this.$pass.length && this.$pass.attr( 'data-match' ) ) { - this.$conf = this.$form.find( '#' + this.$pass.attr( 'data-match' ) ); - } - - return ( this.$pass.length > 0 ); - - }, - - /** - * Form submission handler for registration and update forms - * - * @since 3.0.0 - * @since 5.0.0 Allow the account edit for to bypass strength checking when the password field is disabled (not being submitted). - * - * @param obj e Event data. - * @return void - */ - submit: function( e ) { - - var self = e.data; - e.preventDefault(); - self.$pass.trigger( 'keyup' ); - - // Meets the status requirements OR we're on the account edit form and the password field is disabled. - if ( self.get_current_strength_status() || ( self.$form.hasClass( 'edit-account' ) && 'disabled' === self.$pass.attr( 'disabled' ) ) ) { - self.$form.off( 'submit', self.submit ); - self.$form.trigger( 'submit' ); - } else { - $( 'html, body' ).animate( { - scrollTop: self.$meter.offset().top - 100, - }, 200 ); - self.$meter.hide(); - setTimeout( function() { - self.$meter.fadeIn( 400 ); - }, 220 ); - } - }, - - /** - * Get the list of blocklist strings - * - * @since 3.0.0 - * @deprecated 5.0.0 `LLMS.PasswordStrength.get_blacklist()` is deprecated in favor of `LLMS.PasswordStrength.get_blocklist()`. - * - * @return array - */ - get_blacklist: function() { - console.log( 'Method `get_blacklist()` is deprecated in favor of `get_blocklist()`.' ); - return this.get_blacklist(); - }, - - } ); - - /** - * Pricing Table UI - * - * @package LifterLMS/Scripts - * - * @since Unknown. - * @version Unknown. - */ - - LLMS.Pricing_Tables = { - - /** - * Init - */ - init: function() { - - var self = this; - - if ( $( 'body' ).hasClass( 'wp-admin' ) ) { - return; - } - - if ( $( '.llms-access-plans' ).length ) { - - LLMS.wait_for_matchHeight( function() { - self.bind(); - } ); - - this.$locked = $( 'a[href="#llms-plan-locked"]' ); - - if ( this.$locked.length ) { - - LLMS.wait_for_popover( function() { - self.bind_locked(); - } ); - - } - - } - - }, - - /** - * Bind Method - * Handles dom binding on load - * - * @return {[type]} [description] - */ - bind: function() { - - $( '.llms-access-plan-content' ).matchHeight(); - $( '.llms-access-plan-pricing.trial' ).matchHeight(); - - }, - - /** - * Setup a popover for members-only restricted plans - * - * @return void - * @since 3.0.0 - * @version 3.9.1 - */ - bind_locked: function() { - - this.$locked.each( function() { - - $( this ).webuiPopover( { - animation: 'pop', - closeable: true, - content: function( e ) { - var $content = $( '
' ); - $content.append( e.$element.closest( '.llms-access-plan' ).find( '.llms-access-plan-restrictions ul' ).clone() ); - return $content; - }, - placement: 'top', - style: 'inverse', - title: LLMS.l10n.translate( 'Members Only Pricing' ), - width: '280px', - } ); - - } ); - - }, - - }; - - /** - * Quiz Attempt - * - * @package LifterLMS/Scripts - * - * @since 7.3.0 - * @version 7.3.0 - */ - - LLMS.Quiz_Attempt = { - /** - * Initialize - * - * @return void - */ - init: function() { - - $( '.llms-quiz-attempt-question-header a.toggle-answer' ).on( 'click', function( e ) { - - e.preventDefault(); - - var $curr = $( this ).closest( 'header' ).next( '.llms-quiz-attempt-question-main' ); - - $( this ).closest( 'li' ).siblings().find( '.llms-quiz-attempt-question-main' ).slideUp( 200 ); - - if ( $curr.is( ':visible' ) ) { - $curr.slideUp( 200 ); - } else { - $curr.slideDown( 200 ); - } - - } ); - } - - } - - /** - * LifterLMS Reviews JS - * - * @package LifterLMS/Scripts - * - * @since Unknown - * @version Unknown - */ - - LLMS.Review = { - /** - * Init - * loads class methods - */ - init: function() { - // console.log('Initializing Review '); - this.bind(); - }, - - /** - * This function binds actions to the appropriate hooks - */ - bind: function() { - $( '#llms_review_submit_button' ).click(function() - { - if ($( '#review_title' ).val() !== '' && $( '#review_text' ).val() !== '') { - jQuery.ajax({ - type : 'post', - dataType : 'json', - url : window.llms.ajaxurl, - data : { - action : 'LLMSSubmitReview', - review_title: $( '#review_title' ).val(), - review_text: $( '#review_text' ).val(), - pageID : $( '#post_ID' ).val(), - llms_review_nonce: $( '#llms_review_nonce' ).val() - }, - success: function() - { - console.log( 'Review success' ); - $( '#review_box' ).hide( 'swing' ); - $( '#thank_you_box' ).show( 'swing' ); - }, - error: function(jqXHR, textStatus, errorThrown ) - { - console.log( jqXHR ); - console.log( textStatus ); - console.log( errorThrown ); - }, - }); - } else { - if ($( '#review_title' ).val() === '') { - $( '#review_title_error' ).show( 'swing' ); - } else { - $( '#review_title_error' ).hide( 'swing' ); - } - if ($( '#review_text' ).val() === '') { - $( '#review_text_error' ).show( 'swing' ); - } else { - $( '#review_text_error' ).hide( 'swing' ); - } - } - }); - if ( $( '#_llms_display_reviews' ).attr( 'checked' ) ) { - $( '.llms-num-reviews-top' ).addClass( 'top' ); - $( '.llms-num-reviews-bottom' ).show(); - - } else { - $( '.llms-num-reviews-bottom' ).hide(); - } - $( '#_llms_display_reviews' ).change(function() { - if ( $( '#_llms_display_reviews' ).attr( 'checked' ) ) { - $( '.llms-num-reviews-top' ).addClass( 'top' ); - $( '.llms-num-reviews-bottom' ).show(); - } else { - $( '.llms-num-reviews-top' ).removeClass( 'top' ); - $( '.llms-num-reviews-bottom' ).hide(); - } - }); - - }, - }; - - /* global LLMS, $ */ - - /*! - * JavaScript Cookie v2.2.1 - * https://github.com/js-cookie/js-cookie - * - * Copyright 2006, 2015 Klaus Hartl & Fagner Brack - * Released under the MIT license - */ - ;(function (factory) { - var registeredInModuleLoader; - if (typeof define === 'function' && define.amd) { - define(factory); - registeredInModuleLoader = true; - } - if (typeof exports === 'object') { - module.exports = factory(); - registeredInModuleLoader = true; - } - if (!registeredInModuleLoader) { - var OldCookies = window.Cookies; - var api = window.Cookies = factory(); - api.noConflict = function () { - window.Cookies = OldCookies; - return api; - }; - } - }(function () { - function extend () { - var i = 0; - var result = {}; - for (; i < arguments.length; i++) { - var attributes = arguments[ i ]; - for (var key in attributes) { - result[key] = attributes[key]; - } - } - return result; - } - - function decode (s) { - return s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent); - } - - function init (converter) { - function api() {} - - function set (key, value, attributes) { - if (typeof document === 'undefined') { - return; - } - - attributes = extend({ - path: '/' - }, api.defaults, attributes); - - if (typeof attributes.expires === 'number') { - attributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5); - } - - // We're using "expires" because "max-age" is not supported by IE - attributes.expires = attributes.expires ? attributes.expires.toUTCString() : ''; - - try { - var result = JSON.stringify(value); - if (/^[\{\[]/.test(result)) { - value = result; - } - } catch (e) {} - - value = converter.write ? - converter.write(value, key) : - encodeURIComponent(String(value)) - .replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent); - - key = encodeURIComponent(String(key)) - .replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent) - .replace(/[\(\)]/g, escape); - - var stringifiedAttributes = ''; - for (var attributeName in attributes) { - if (!attributes[attributeName]) { - continue; - } - stringifiedAttributes += '; ' + attributeName; - if (attributes[attributeName] === true) { - continue; - } - - // Considers RFC 6265 section 5.2: - // ... - // 3. If the remaining unparsed-attributes contains a %x3B (";") - // character: - // Consume the characters of the unparsed-attributes up to, - // not including, the first %x3B (";") character. - // ... - stringifiedAttributes += '=' + attributes[attributeName].split(';')[0]; - } - - return (document.cookie = key + '=' + value + stringifiedAttributes); - } - - function get (key, json) { - if (typeof document === 'undefined') { - return; - } - - var jar = {}; - // To prevent the for loop in the first place assign an empty array - // in case there are no cookies at all. - var cookies = document.cookie ? document.cookie.split('; ') : []; - var i = 0; - - for (; i < cookies.length; i++) { - var parts = cookies[i].split('='); - var cookie = parts.slice(1).join('='); - - if (!json && cookie.charAt(0) === '"') { - cookie = cookie.slice(1, -1); - } - - try { - var name = decode(parts[0]); - cookie = (converter.read || converter)(cookie, name) || - decode(cookie); - - if (json) { - try { - cookie = JSON.parse(cookie); - } catch (e) {} - } - - jar[name] = cookie; - - if (key === name) { - break; - } - } catch (e) {} - } - - return key ? jar[key] : jar; - } - - api.set = set; - api.get = function (key) { - return get(key, false /* read as raw */); - }; - api.getJSON = function (key) { - return get(key, true /* read as json */); - }; - api.remove = function (key, attributes) { - set(key, '', extend(attributes, { - expires: -1 - })); - }; - - api.defaults = {}; - - api.withConverter = init; - - return api; - } - - return init(function () {}); - })); - - /** - * Create a no conflict reference to JS Cookies. - * - * @type {Object} - */ - LLMS.CookieStore = Cookies.noConflict(); - - /** - * Store information in Local Storage by group. - * - * @since 3.36.0 - * @since 3.37.14 Use persistent reference to JS Cookies. - * @since 4.2.0 Set sameSite to `strict` for cookies. - * - * @param string group Storage group id/name. - */ - LLMS.Storage = function( group ) { - - var self = this, - store = LLMS.CookieStore; - - /** - * Clear all data for the group. - * - * @since 3.36.0 - * - * @return void - */ - this.clearAll = function() { - store.remove( group ); - }; - - /** - * Clear a single item from the group by key. - * - * @since 3.36.0 - * - * @return obj - */ - this.clear = function( key ) { - var data = self.getAll(); - delete data[ key ]; - return store.set( group, data ); - }; - - /** - * Retrieve (and parse) all data stored for the group. - * - * @since 3.36.0 - * - * @return obj - */ - this.getAll = function() { - return store.getJSON( group ) || {}; - } - - /** - * Retrieve an item from the group by key. - * - * @since 3.36.0 - * - * @param string key Item key/name. - * @param mixed default_val Item default value to be returned when item not found in the group. - * @return mixed - */ - this.get = function( key, default_val ) { - var data = self.getAll(); - return data[ key ] ? data[ key ] : default_val; - } - - /** - * Store an item in the group by key. - * - * @since 3.36.0 - * @since 4.2.0 Set sameSite to `strict` for cookies. - * - * @param string key Item key name. - * @param mixed val Item value - * @return obj - */ - this.set = function( key, val ) { - var data = self.getAll(); - data[ key ] = val; - return store.set( group, data, { sameSite: 'strict' } ); - }; - - } - - /** - * Student Dashboard related JS - * - * @package LifterLMS/Scripts - * - * @since 3.7.0 - * @since 3.10.0 Bind events on the orders screen. - * @since 5.0.0 Removed redundant password toggle logic for edit account screen. - * @version 5.0.0 - */ - LLMS.StudentDashboard = { - - /** - * Slug for the current screen/endpoint - * - * @type {String} - */ - screen: '', - - /** - * Init - * - * @since 3.7.0 - * @since 3.10.0 Unknown - * @since 5.0.0 Removed password toggle logic. - * - * @return void - */ - init: function() { - - if ( $( '.llms-student-dashboard' ).length ) { - this.bind(); - if ( 'orders' === this.get_screen() ) { - this.bind_orders(); - } - } - - }, - - /** - * Bind DOM events - * - * @since 3.7.0 - * @since 3.7.4 Unknown. - * @since 5.0.0 Removed password toggle logic. - * - * @return void - */ - bind: function() { - - $( '.llms-donut' ).each( function() { - LLMS.Donut( $( this ) ); - } ); - - }, - - /** - * Bind events related to the orders screen on the dashboard - * - * @since 3.10.0 - * - * @return void - */ - bind_orders: function() { - - $( '#llms-cancel-subscription-form' ).on( 'submit', this.order_cancel_warning ); - $( '#llms_update_payment_method' ).on( 'click', function() { - $( 'input[name="llms_payment_gateway"]:checked' ).trigger( 'change' ); - $( this ).closest( 'form' ).find( '.llms-switch-payment-source-main' ).slideToggle( '200' ); - } ); - - }, - - /** - * Get the current dashboard endpoint/tab slug - * - * @since 3.10.0 - * - * @return void - */ - get_screen: function() { - if ( ! this.screen ) { - this.screen = $( '.llms-student-dashboard' ).attr( 'data-current' ); - } - return this.screen; - }, - - /** - * Show a confirmation warning when Cancel Subscription form is submitted - * - * @since 3.10.0 - * - * @param obj e JS event data. - * @return void - */ - order_cancel_warning: function( e ) { - e.preventDefault(); - var msg = LLMS.l10n.translate( 'Are you sure you want to cancel your subscription?' ); - if ( window.confirm( LLMS.l10n.translate( msg ) ) ) { - $( this ).off( 'submit', this.order_cancel_warning ); - $( this ).submit(); - } - }, - - }; - - /* global LLMS, $ */ - - /** - * User event/interaction tracking. - * - * @since 3.36.0 - * @since 3.36.2 Fix JS error when settings aren't loaded. - * @since 3.37.2 When adding an event to the storae also make sure the nonce is set for server-side verification. - * @since 3.37.9 Fix IE compatibility issue related to usage of `Object.assign()`. - * @since 3.37.14 Persist the tracking events via ajax when reaching the cookie size limit. - * @since 5.0.0 Set `settings` as an empty object when no settings supplied. - * @since 7.1.0 Only attempt to add a nonce to the datastore when a nonce exists in the settings object. - */ - LLMS.Tracking = function( settings ) { - - settings = settings || {}; - - var self = this, - store = new LLMS.Storage( 'llms-tracking' ); - - settings = 'string' === typeof settings ? JSON.parse( settings ) : settings; - - /** - * Initialize / Bind all tracking event listeners. - * - * @since 3.36.0 - * @since 5.0.0 Only attempt to add a nonce to the datastore when a nonce exists in the settings object. - * @since 7.1.0 Do not add a nonce to the datastore by default, will be added/updated - * when storing an event to track. - * - * @return {void} - */ - function init() { - - self.addEvent( 'page.load' ); - - window.addEventListener( 'beforeunload', onBeforeUnload ); - window.addEventListener( 'unload', onUnload ); - - document.addEventListener( 'visibilitychange', onVisibilityChange ); - - }; - - /** - * Add an event. - * - * @since 3.36.0 - * @since 3.36.2 Fix error when settings aren't loaded. - * @since 3.37.2 Always make sure the nonce is set for server-side verification. - * @since 3.37.14 Persist the tracking events via ajax when reaching the cookie size limit. - * @since 7.1.0 Only attempt to add a nonce to the datastore when a nonce exists in the settings object. - * - * @param string|obj event Event Id (type.event) or a full event object from `this.makeEventObj()`. - * @param int args Optional additional arguments to pass to `this.makeEventObj()`. - * @return {void} - */ - this.addEvent = function( event, args ) { - - args = args || {}; - if ( 'string' === typeof event ) { - args.event = event; - } - - // If the event isn't registered in the settings don't proceed. - if ( !settings.events || -1 === settings.events.indexOf( args.event ) ) { - return; - } - - // Make sure the nonce is set for server-side verification. - if ( settings.nonce ) { - store.set( 'nonce', settings.nonce ); - } - - event = self.makeEventObj( args ); - - var all = store.get( 'events', [] ); - all.push( event ); - store.set( 'events', all ); - - // If couldn't store the latest event because of size limits. - if ( all.length > store.get( 'events', [] ).length ) { - - // Copy the cookie in a temporary variable. - var _temp = store.getAll(); - // Clear the events from the cookie. - store.clear('events'); - - // Add the latest event to the temporary variable. - _temp['events'].push( event ); - - // Send the temporary variable as string via ajax. - LLMS.Ajax.call( { - data: { - action: 'persist_tracking_events', - 'llms-tracking': JSON.stringify(_temp) - }, - - error: function( xhr, status, error ) { - - console.log( xhr, status, error ); - - }, - success: function( r ) { - - if ( 'error' === r.code ) { - console.log(r.code, r.message); - } - - } - - } ); - - } - - } - - /** - * Retrieve initialization settings. - * - * @since 3.36.0 - * - * @return obj - */ - this.getSettings = function() { - return settings; - } - - /** - * Create an event object suitable to save as an event. - * - * @since 3.36.0 - * @since 3.37.9 Use `$.extend()` in favor of `Object.assign()`. - * - * @param obj event { - * Event hash - * - * @param {string} event (Required) Event ID, eg: "page.load". - * @param {url} url Event URL. (Optional, added automatically) Stored as metadata and used to infer an object_id for post events. - * @param {time} float (Optional, added automatically) Timestamp (in milliseconds). Used for the event creation date. - * @param {int} obj_id (Optional). The object ID. Inferred automatically via `url` if not provided. - * @param {obj} meta (Optional) Hash of metadata to store with the event. - * } - * @return obj - */ - this.makeEventObj = function( event ) { - return $.extend( event, { - url: window.location.href, - time: Math.round( new Date().getTime() / 1000 ), - } ); - } - - - /** - * Remove the visibility change event listener on window.beforeunload - * - * Prevents actual unloading from recording a blur event from the visibility change listener - * - * @param obj e JS event object. - * @return void - */ - function onBeforeUnload( e ) { - document.removeEventListener( 'visibilitychange', onVisibilityChange ); - } - - /** - * Record a `page.exit` event on window.unload. - * - * @since 3.36.0 - * - * @param obj e JS event object. - * @return void - */ - function onUnload( e ) { - self.addEvent( 'page.exit' ); - } - - /** - * Record `page.blur` and `page.focus` events via document.visilibitychange events. - * - * @since 3.36.0 - * - * @param obj e JS event object. - * @return void - */ - function onVisibilityChange( e ) { - - var event = document.hidden ? 'page.blur' : 'page.focus'; - self.addEvent( event ); - - } - - // Initialize on the frontend only. - if ( ! $( 'body' ).hasClass( 'wp-admin' ) ) { - init(); - } - - }; - - llms.tracking = new LLMS.Tracking( llms.tracking ); - - /** - * Rest Methods - * Manages URL and Rest object parsing - * - * @package LifterLMS/Scripts - * - * @since Unknown - * @version Unknown - */ - - LLMS.Rest = { - - /** - * Init - * loads class methods - */ - init: function() { - this.bind(); - }, - - /** - * Bind Method - * Handles dom binding on load - * - * @return {[type]} [description] - */ - bind: function() { - }, - - /** - * Searches for string matches in url path - * - * @param {Array} strings [Array of strings to search for matches] - * @return {Boolean} [Was a match found?] - */ - is_path: function( strings ) { - - var path_exists = false, - url = window.location.href; - - for ( var i = 0; i < strings.length; i++ ) { - - if ( url.search( strings[i] ) > 0 && ! path_exists ) { - - path_exists = true; - } - } - - return path_exists; - }, - - /** - * Retrieves query variables - * - * @return {[Array]} [array object of query variable key=>value pairs] - */ - get_query_vars: function() { - - var vars = [], hash, - hashes = window.location.href.slice( window.location.href.indexOf( '?' ) + 1 ).split( '&' ); - - for (var i = 0; i < hashes.length; i++) { - hash = hashes[i].split( '=' ); - vars.push( hash[0] ); - vars[hash[0]] = hash[1]; - } - - return vars; - } - - }; - - - (()=>{"use strict";var t={d:(n,e)=>{for(var r in e)t.o(e,r)&&!t.o(n,r)&&Object.defineProperty(n,r,{enumerable:!0,get:e[r]})},o:(t,n)=>Object.prototype.hasOwnProperty.call(t,n),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},n={};t.r(n),t.d(n,{get:()=>d,start:()=>p,stop:()=>c});const e="llms-spinning",r="default",o=window.wp.i18n;function i(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r;const i=document.createElement("div"),l=(0,o.__)("Loading…","lifterlms");return i.innerHTML=`${l}`,i.classList.add(e),t.appendChild(i),i}function l(t){if((t="string"==typeof t?document.querySelectorAll(t):t)instanceof NodeList)return Array.from(t);const n=[];return t instanceof Element?n.push(t):"undefined"!=typeof jQuery&&t instanceof jQuery&&t.toArray().forEach((t=>n.push(t))),n}function s(t){const n=t.querySelectorAll(".llms-spinning");return n.length?Array.from(n).find((n=>t===n.parentNode)):null}function a(){const t="llms-spinner-styles";if(!document.getElementById(t)){const n=document.createElement("style");n.textContent="\n\t.llms-spinning {\n\t\tbackground: rgba( 250, 250, 250, 0.7 );\n\t\tbottom: 0;\n\t\tdisplay: none;\n\t\tleft: 0;\n\t\tposition: absolute;\n\t\tright: 0;\n\t\ttop: 0;\n\t\tz-index: 2;\n\t}\n\n\t.llms-spinner {\n\t\tanimation: llms-spinning 1.5s linear infinite;\n\t\tbox-sizing: border-box;\n\t\tborder: 4px solid #313131;\n\t\tborder-radius: 50%;\n\t\theight: 40px;\n\t\tleft: 50%;\n\t\tmargin-left: -20px;\n\t\tmargin-top: -20px;\n\t\tposition: absolute;\n\t\ttop: 50%;\n\t\twidth: 40px;\n\n\t}\n\n\t.llms-spinner.small {\n\t\tborder-width: 2px;\n\t\theight: 20px;\n\t\tmargin-left: -10px;\n\t\tmargin-top: -10px;\n\t\twidth: 20px;\n\t}\n\n\t@keyframes llms-spinning {\n\t\t0% {\n\t\t\ttransform: rotate( 0deg )\n\t\t}\n\t\t50% {\n\t\t\tborder-radius: 5%;\n\t\t}\n\t\t100% {\n\t\t\ttransform: rotate( 220deg) \n\t\t}\n\t}\n".replace(/\n/g,"").replace(/\t/g," ").replace(/\s\s+/g," "),n.id=t,document.head.appendChild(n)}}function d(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r,e=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];a();const o=l(t);if(!o.length)return null;const d=o[0],p=s(d)||i(d,n);return e&&"undefined"!=typeof jQuery?jQuery(p):p}function p(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r;l(t).forEach((t=>{const e=d(t,n,!1);e&&(e.style.display="block")}))}function c(t){l(t).forEach((t=>{const n=d(t,r,!1);n&&(n.style.display="none")}))}window.LLMS=window.LLMS||{},window.LLMS.Spinner=n})(); - - /** - * Initializes all classes within the LLMS Namespace - * - * @since Unknown - * - * @return {void} - */ - LLMS.init = function() { - - for (var func in LLMS) { - - if ( typeof LLMS[func] === 'object' && LLMS[func] !== null ) { - - if ( LLMS[func].init !== undefined ) { - - if ( typeof LLMS[func].init === 'function') { - LLMS[func].init(); - } - - } - - } - - } - - }; - - /** - * Determine if the current device is touch-enabled - * - * @since 3.24.3 - * - * @see {@link https://stackoverflow.com/a/4819886/400568} - * - * @return {Boolean} Whether or not the device is touch-enabled. - */ - LLMS.is_touch_device = function() { - - var prefixes = ' -webkit- -moz- -o- -ms- '.split( ' ' ); - var mq = function( query ) { - return window.matchMedia( query ).matches; - } - - if ( ( 'ontouchstart' in window ) || window.DocumentTouch && document instanceof DocumentTouch ) { - return true; - } - - /** - * Include the 'heartz' as a way to have a non matching MQ to help terminate the join. - * - * @see {@link https://git.io/vznFH} - */ - var query = ['(', prefixes.join( 'touch-enabled),(' ), 'heartz', ')'].join( '' ); - return mq( query ); - - }; - - /** - * Wait for matchHeight to load - * - * @since 3.0.0 - * @since 3.16.6 Unknown. - * @since 5.3.3 Pass a dependency name to `wait_for()`. - * - * @param {Function} cb Callback function to run when matchheight is ready. - * @return {void} - */ - LLMS.wait_for_matchHeight = function( cb ) { - this.wait_for( function() { - return ( undefined !== $.fn.matchHeight ); - }, cb, 'matchHeight' ); - } - - /** - * Wait for webuiPopover to load - * - * @since 3.9.1 - * @since 3.16.6 Unknown. - * - * @param {Function} cb Callback function to run when matchheight is ready. - * @return {void} - */ - LLMS.wait_for_popover = function( cb ) { - this.wait_for( function() { - return ( undefined !== $.fn.webuiPopover ); - }, cb, 'webuiPopover' ); - } - - /** - * Wait for a dependency to load and then run a callback once it has - * - * Temporary fix for a less-than-optimal assets loading function on the PHP side of things. - * - * @since 3.9.1 - * @since 5.3.3 Added optional `name` parameter. - * - * @param {Function} test A function that returns a truthy if the dependency is loaded. - * @param {Function} cb A callback function executed once the dependency is loaded. - * @param {string} name The dependency name. - * @return {void} - */ - LLMS.wait_for = function( test, cb, name ) { - - var counter = 0, - interval; - - name = name ? name : 'unnamed'; - - interval = setInterval( function() { - - // If we get to 30 seconds log an error message. - if ( counter >= 300 ) { - - console.log( 'Unable to load dependency: ' + name ); - - // If we can't access yet, increment and wait... - } else { - - // Bind the events, we're good! - if ( test() ) { - cb(); - } else { - // console.log( 'Waiting for dependency: ' + name ); - counter++; - return; - } - - } - - clearInterval( interval ); - - }, 100 ); - - }; - - LLMS.init( $ ); - -} )( jQuery ); - -//# sourceMappingURL=../maps/js/llms.js.map diff --git a/assets/js/llms.min.js b/assets/js/llms.min.js deleted file mode 100644 index e87887cf16..0000000000 --- a/assets/js/llms.min.js +++ /dev/null @@ -1,2 +0,0 @@ -var LLMS=window.LLMS||{};!function(l){"use strict";var t,e,n;LLMS.Achievements={init:function(){var t;l(".llms-achievement").length&&(t=this,l(function(){t.bind(),t.maybe_open()}))},bind:function(){var n=this;l(".llms-achievement").each(function(){n.create_modal(l(this))}),l(".llms-achievement").on("click",function(){var t=l(this),e="achievement-"+t.attr("data-id"),e=l("#"+e);e.length||n.create_modal(t),e.iziModal("open")})},create_modal:function(e){var t="achievement-"+e.attr("data-id"),n=l("#"+t);n.length||(n=l('
'),l("body").append(n)),n.iziModal({headerColor:"#3a3a3a",group:"achievements",history:!0,loop:!0,overlayColor:"rgba( 0, 0, 0, 0.6 )",transitionIn:"fadeInDown",transitionOut:"fadeOutDown",width:340,onOpening:function(t){t.setTitle(e.find(".llms-achievement-title").html()),t.setSubtitle(e.find(".llms-achievement-date").html()),t.setContent('
'+e.html()+"
")},onClosing:function(){window.history.pushState("",document.title,window.location.pathname+window.location.search)}})},maybe_open:function(){var t=window.location.hash.split("-");2===t.length&&(t[1]=parseInt(t[1]),"#achievement-"===t[0]&&Number.isInteger(t[1])&&(t=document.querySelector(`a[href="${t.join("-")}"]`))&&t.click())}},LLMS.Ajax={url:window.ajaxurl||window.llms.ajaxurl,type:"post",data:[],cache:!1,dataType:"json",async:!0,response:[],init:function(t){if(null===t||"object"!=typeof t)return!1;t.url=("url"in t?t:this).url,t.type=("type"in t?t:this).type,t.data=("data"in t?t:this).data,t.cache=("cache"in t?t:this).cache,t.dataType=("dataType"in t?t:this).dataType,t.async=("async"in t?t:this).async,t.data._ajax_nonce=window.llms.ajax_nonce||wp_ajax_data.nonce;var e=LLMS.Rest.get_query_vars();return t.data.post_id="post"in e?e.post:null,!t.data.post_id&&l("input#post_ID").length&&(t.data.post_id=l("input#post_ID").val()),t},call:function(t){t=this.init(t);return!!t&&(this.request(t),this)},request:function(t){return l.ajax(t),this}},LLMS.Donut=function(t){function e(t){this.settings=l.extend({element:t.element,percent:100},t),this.circle=this.settings.element.find("path"),this.settings.stroke_width=parseInt(this.circle.css("stroke-width")),this.radius=(parseInt(this.settings.element.css("width"))-this.settings.stroke_width)/2,this.angle=l("body").hasClass("rtl")?82.5:97.5,this.i=Math.round(.75*this.settings.percent),this.first=!0,this.increment=l("body").hasClass("rtl")?-5:5,this.animate=function(){this.timer=setInterval(this.loop.bind(this),10)},this.loop=function(){this.angle+=this.increment,this.angle%=360;var t,e=this.angle/180*Math.PI,n=this.radius+this.settings.stroke_width/2+Math.cos(e)*this.radius,e=this.radius+this.settings.stroke_width/2+Math.sin(e)*this.radius;!0===this.first?(t=this.circle.attr("d")+" M "+n+" "+e,this.first=!1):t=this.circle.attr("d")+" L "+n+" "+e,this.circle.attr("d",t),this.i--,this.i<=0&&clearInterval(this.timer)}}(t=t).append(''),new e({element:t,percent:t.attr("data-perc")}).animate()},LLMS.Forms={address_info:{},$cities:null,$countries:null,$states:null,$states_holder:null,init:function(){var t;l("body").hasClass("wp-admin")&&!l("body").hasClass("profile-php")&&!l("body").hasClass("user-edit-php")||((t=this).bind_matching_fields(),t.bind_voucher_field(),t.bind_edit_account(),t.bind_l10n_selects())},bind_edit_account:function(){l("form.llms-person-form.edit-account").length&&l(".llms-toggle-fields").on("click",this.handle_toggle_click)},bind_l10n_selects:function(){var e=this;e.$cities=l("#llms_billing_city"),e.$countries=l(".llms-l10n-country-select select"),e.$states=l(".llms-l10n-state-select select"),e.$zips=l("#llms_billing_zip"),e.$countries.length&&LLMS.wait_for(function(){return void 0!==l.fn.llmsSelect2},function(){e.$states.length&&e.prep_state_field(),e.$countries.add(e.$states).llmsSelect2({width:"100%"}),window.llms.address_info&&(e.address_info=JSON.parse(window.llms.address_info)),e.$countries.on("change",function(){var t=l(this).val();e.update_locale_info(t)}).trigger("change")},"llmsSelect2")},bind_matching_fields:function(){l("input[data-match]").not('[type="password"]').each(function(){var n,i=l(this),s=l("#"+i.attr("data-match"));s.length&&(n=i.closest(".llms-form-field").add(s.closest(".llms-form-field")),i.on("input change",function(){var t=i.val(),e=s.val();t&&e&&t!==e?n.addClass("invalid"):n.removeClass("invalid")}))})},bind_voucher_field:function(){l("#llms-voucher-toggle").on("click",function(t){t.preventDefault(),l("#llms_voucher").toggle()})},get_field_parent:function(t){return t.closest(".llms-form-field")},get_label_text:function(t){t=t.clone();return t.find("*").remove(),t.text().trim()},handle_toggle_click:function(t){t.preventDefault();var t=l(this),e=l(l(this).attr("data-fields")),n=t.attr("data-is-showing")||"no",i="yes"===n?"hide":"show",s="yes"===n?"disabled":null,o="yes"===n?"data-change-text":"data-cancel-text";e.each(function(){l(this).closest(".llms-form-field")[i](),l(this).attr("disabled",s)}),t.text(t.attr(o)),t.attr("data-is-showing","yes"===n?"no":"yes")},prep_state_field:function(){var t=this.$states.closest(".llms-form-field");this.$holder=l('",{name:t.attr("name"),class:t.attr("class")+" hidden",type:"hidden"}).insertAfter(t),t.attr("disabled","disabled"),this.get_field_parent(t).hide()},enable_field:function(t){t.removeAttr("disabled"),t.next(".hidden[name="+t.attr("name")+"]").detach(),this.get_field_parent(t).show()}},LLMS.Instructors={init:function(){var t=this;l("body").hasClass("wp-admin")||l(".llms-instructors").length&&LLMS.wait_for_matchHeight(function(){t.bind()})},bind:function(){l(".llms-instructors .llms-author").matchHeight()}},LLMS.l10n=LLMS.l10n||{},LLMS.l10n.translate=function(t){return this.strings[t]||t},LLMS.l10n.replace=function(t,e){var n=this.translate(t);return l.each(e,function(t,e){-1!==t.indexOf("s")?e=e.toString():-1!==t.indexOf("d")&&(e=+e),n=n.replace(t,e)}),n},LLMS.LessonPreview={$els:null,init:function(){var t=this;this.$locked=l('a[href="#llms-lesson-locked"]'),this.$locked.length&&t.bind(),l(".llms-course-navigation").length&&LLMS.wait_for_matchHeight(function(){t.match_height()})},bind:function(){var n=this;this.$locked.on("click",function(){return!1}),this.$locked.on("mouseenter",function(){var t,e=l(this).find(".llms-tooltip");e.length||(t=(t=l(this).attr("data-tooltip-msg"))||LLMS.l10n.translate("You do not have permission to access this content"),e=n.get_tooltip(t),l(this).append(e)),setTimeout(function(){e.addClass("show")},10)}),this.$locked.on("mouseleave",function(){l(this).find(".llms-tooltip").removeClass("show")})},match_height:function(){l(".llms-course-navigation .llms-lesson-link").matchHeight()},get_tooltip:function(t){var e=l('
');return e.append('
'+t+"
"),e}},LLMS.Loops={init:function(){var t=this;l(".llms-loop").length&&LLMS.wait_for_matchHeight(function(){t.match_height()})},match_height:function(){l(".llms-loop-item .llms-loop-item-content").matchHeight(),l(".llms-achievement-loop-item .llms-achievement").matchHeight(),l(".llms-certificate-loop-item .llms-certificate").matchHeight()}},LLMS.OutlineCollapse={$outlines:null,init:function(){this.$outlines=l(".llms-widget-syllabus--collapsible"),this.$outlines.length&&this.bind()},bind:function(){var i=this;this.$outlines.each(function(){var t=l(this),e=t.find(".llms-section .section-header");e.on("click",function(t){t.preventDefault();var e=l(this).closest(".llms-section");switch(i.get_section_state(e)){case"closed":i.open_section(e);break;case"opened":i.close_section(e)}}),t.find(".llms-collapse-toggle").on("click",function(t){t.preventDefault();var n="close"===l(this).attr("data-action")?"opened":"closed";e.each(function(){var t=l(this).closest(".llms-section"),e=i.get_section_state(t);if(n!==e)return!0;switch(e){case"closed":i.close_section(t);break;case"opened":i.open_section(t)}l(this).trigger("click")})})})},close_section:function(t){t.removeClass("llms-section--opened").addClass("llms-section--closed")},open_section:function(t){t.removeClass("llms-section--closed").addClass("llms-section--opened")},get_section_state:function(t){return t.hasClass("llms-section--opened")?"opened":"closed"}},l.extend(LLMS.PasswordStrength,{$meter:l(".llms-password-strength-meter"),$pass:null,$conf:null,$form:null,init:function(){var t;l("body").hasClass("wp-admin")||this.setup_references()&&(t=this,LLMS.wait_for(function(){return"undefined"!=typeof wp&&void 0!==wp.passwordStrength},function(){t.bind(),t.$form.trigger("llms-password-strength-ready")}))},bind:function(){var t=this;this.$form.hasClass("llms-checkout")||t.$form.on("submit",t,t.submit),t.$pass.add(t.$conf).on("keyup",function(){t.check_strength()})},check_strength:function(){var t=this.$pass.closest(".llms-form-field"),e=this.$conf&&this.$conf.length?this.$conf.closest(".llms-form-field"):null,n=this.$pass.val().length,i=this.$conf&&this.$conf.length?this.$conf.val().length:0;n||i?(this.get_current_strength_status()?(t.removeClass("invalid").addClass("valid"),i&&e.removeClass("invalid").addClass("valid")):(t.removeClass("valid").addClass("invalid"),i&&e.removeClass("valid").addClass("invalid")),this.$meter.removeClass("too-short very-weak weak medium strong mismatch"),this.$meter.show().addClass(this.get_current_strength("slug")),this.$meter.html(this.get_current_strength("text"))):(t.removeClass("valid invalid"),e&&e.removeClass("valid invalid"),this.$meter.hide())},checkout:function(t,e){t.get_current_strength_status()?e(!0):e(LLMS.l10n.translate("There is an issue with your chosen password."))},get_blocklist:function(){var e=wp.passwordStrength.userInputDisallowedList().concat(this.get_setting("blocklist",[]));return this.$form.find('input[type="text"], input[type="email"], input[type="tel"], input[type="number"]').each(function(){var t=l(this).val();t&&e.push(t)}),e},get_current_strength:function(t){t=t||"int";var e,n=this.$pass.val(),i=this.$conf&&this.$conf.length?this.$conf.val():"";return n.length');return e.append(t.$element.closest(".llms-access-plan").find(".llms-access-plan-restrictions ul").clone()),e},placement:"top",style:"inverse",title:LLMS.l10n.translate("Members Only Pricing"),width:"280px"})})}},LLMS.Quiz_Attempt={init:function(){l(".llms-quiz-attempt-question-header a.toggle-answer").on("click",function(t){t.preventDefault();t=l(this).closest("header").next(".llms-quiz-attempt-question-main");l(this).closest("li").siblings().find(".llms-quiz-attempt-question-main").slideUp(200),t.is(":visible")?t.slideUp(200):t.slideDown(200)})}},LLMS.Review={init:function(){this.bind()},bind:function(){l("#llms_review_submit_button").click(function(){""!==l("#review_title").val()&&""!==l("#review_text").val()?jQuery.ajax({type:"post",dataType:"json",url:window.llms.ajaxurl,data:{action:"LLMSSubmitReview",review_title:l("#review_title").val(),review_text:l("#review_text").val(),pageID:l("#post_ID").val(),llms_review_nonce:l("#llms_review_nonce").val()},success:function(){console.log("Review success"),l("#review_box").hide("swing"),l("#thank_you_box").show("swing")},error:function(t,e,n){console.log(t),console.log(e),console.log(n)}}):(""===l("#review_title").val()?l("#review_title_error").show("swing"):l("#review_title_error").hide("swing"),""===l("#review_text").val()?l("#review_text_error").show("swing"):l("#review_text_error").hide("swing"))}),l("#_llms_display_reviews").attr("checked")?(l(".llms-num-reviews-top").addClass("top"),l(".llms-num-reviews-bottom").show()):l(".llms-num-reviews-bottom").hide(),l("#_llms_display_reviews").change(function(){l("#_llms_display_reviews").attr("checked")?(l(".llms-num-reviews-top").addClass("top"),l(".llms-num-reviews-bottom").show()):(l(".llms-num-reviews-top").removeClass("top"),l(".llms-num-reviews-bottom").hide())})}},t=function(){function a(){for(var t=0,e={};ts.get("events",[]).length&&(e=s.getAll(),s.clear("events"),e.events.push(t),LLMS.Ajax.call({data:{action:"persist_tracking_events","llms-tracking":JSON.stringify(e)},error:function(t,e,n){console.log(t,e,n)},success:function(t){"error"===t.code&&console.log(t.code,t.message)}})))},this.getSettings=function(){return n},this.makeEventObj=function(t){return l.extend(t,{url:window.location.href,time:Math.round((new Date).getTime()/1e3)})},l("body").hasClass("wp-admin")||(i.addEvent("page.load"),window.addEventListener("beforeunload",t),window.addEventListener("unload",e),document.addEventListener("visibilitychange",o))},llms.tracking=new LLMS.Tracking(llms.tracking),LLMS.Rest={init:function(){this.bind()},bind:function(){},is_path:function(t){for(var e=!1,n=window.location.href,i=0;i{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},s={};i.r(s),i.d(s,{get:()=>o,start:()=>function(t){let e=1{t=o(t,e,!1);t&&(t.style.display="block")})},stop:()=>function(t){a(t).forEach(t=>{t=o(t,c,!1);t&&(t.style.display="none")})}});const r="llms-spinning",c="default",d=window.wp.i18n;function a(t){if((t="string"==typeof t?document.querySelectorAll(t):t)instanceof NodeList)return Array.from(t);const e=[];return t instanceof Element?e.push(t):"undefined"!=typeof jQuery&&t instanceof jQuery&&t.toArray().forEach(t=>e.push(t)),e}function o(t){var e,n,i=1n===t.parentNode):null)||function(t,e){var e=1${i}`,n.classList.add(r),t.appendChild(n),n}(e,i),s&&"undefined"!=typeof jQuery?jQuery(o):o):null}window.LLMS=window.LLMS||{},window.LLMS.Spinner=s}LLMS.init=function(){for(var t in LLMS)"object"==typeof LLMS[t]&&null!==LLMS[t]&&void 0!==LLMS[t].init&&"function"==typeof LLMS[t].init&&LLMS[t].init()},LLMS.is_touch_device=function(){var t=" -webkit- -moz- -o- -ms- ".split(" ");return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)||(t=["(",t.join("touch-enabled),("),"heartz",")"].join(""),window.matchMedia(t).matches)},LLMS.wait_for_matchHeight=function(t){this.wait_for(function(){return void 0!==l.fn.matchHeight},t,"matchHeight")},LLMS.wait_for_popover=function(t){this.wait_for(function(){return void 0!==l.fn.webuiPopover},t,"webuiPopover")},LLMS.wait_for=function(t,e,n){var i,s=0;n=n||"unnamed",i=setInterval(function(){if(300<=s)console.log("Unable to load dependency: "+n);else{if(!t())return void s++;e()}clearInterval(i)},100)},LLMS.init(l)}(jQuery); -//# sourceMappingURL=../maps/js/llms.min.js.map diff --git a/blocks/pricing-table/block.json b/blocks/pricing-table/block.json deleted file mode 100644 index ab41049e6e..0000000000 --- a/blocks/pricing-table/block.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "$schema": "https://schemas.wp.org/trunk/block.json", - "apiVersion": 2, - "name": "llms/pricing-table", - "title": "Pricing Table", - "category": "llms-blocks", - "description": "Outputs a LifterLMS Pricing table (like those found on a course or membership page) for a course or membership outside of a course or membership. Useful if you want to create custom sales pages.", - "textdomain": "lifterlms", - "attributes": { - "product": { - "type": "integer" - }, - "postType": { - "type": "string", - "default": "course" - }, - "llms_visibility": { - "type": "string" - }, - "llms_visibility_in": { - "type": "string" - }, - "llms_visibility_posts": { - "type": "string" - } - }, - "supports": { - "align": [ - "wide", - "full" - ] - }, - "editorScript": "file:./index.js" -} \ No newline at end of file diff --git a/blocks/pricing-table/index.asset.php b/blocks/pricing-table/index.asset.php deleted file mode 100644 index 9141706b3f..0000000000 --- a/blocks/pricing-table/index.asset.php +++ /dev/null @@ -1 +0,0 @@ - array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n', 'wp-primitives', 'wp-server-side-render'), 'version' => '65b0c21e9d0e26c2d988'); diff --git a/blocks/pricing-table/index.js b/blocks/pricing-table/index.js deleted file mode 100644 index 78ff60afd9..0000000000 --- a/blocks/pricing-table/index.js +++ /dev/null @@ -1,5 +0,0 @@ -(()=>{"use strict";var e={};function t(){return t=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var l=t&&t.__esModule?()=>t.default:()=>t;return e.d(l,{a:l}),l},e.d=(t,l)=>{for(var r in l)e.o(l,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:l[r]})},e.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);const l=window.wp.element,r=window.wp.blocks,s=window.wp.components,o=window.wp.blockEditor,n=window.wp.i18n,i=window.wp.serverSideRender;var c=e.n(i);const a=JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":2,"name":"llms/pricing-table","title":"Pricing Table","category":"llms-blocks","description":"Outputs a LifterLMS Pricing table (like those found on a course or membership page) for a course or membership outside of a course or membership. Useful if you want to create custom sales pages.","textdomain":"lifterlms","attributes":{"product":{"type":"integer"},"postType":{"type":"string","default":"course"},"llms_visibility":{"type":"string"},"llms_visibility_in":{"type":"string"},"llms_visibility_posts":{"type":"string"}},"supports":{"align":["wide","full"]},"editorScript":"file:./index.js"}'),u=window.wp.primitives,p=(0,l.createElement)(u.SVG,{className:"llms-block-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512"},(0,l.createElement)(u.Path,{d:"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zM272 192H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-8.8 0-16-7.2-16-16s7.2-16 16-16zM256 304c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-8.8 0-16-7.2-16-16zM164 152v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V360c0 11-9 20-20 20s-20-9-20-20V345.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V152c0-11 9-20 20-20s20 9 20 20z"})),m=window.wp.data,d=["course","lesson","llms_quiz"],b=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"name";const l=null==e?void 0:e.replace("llms_",""),r=l.charAt(0).toUpperCase()+l.slice(1);return"name"===t?l:r},h=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"course";const{posts:t,currentPostType:l}=(0,m.useSelect)((t=>{var l;return{posts:t("core").getEntityRecords("postType",e),currentPostType:null===(l=t("core/editor"))||void 0===l?void 0:l.getCurrentPostType()}}),[]),r=(b(e),[]);return d.includes(l)||r.push({label:(0,n.__)("Select course","lifterlms"),value:0}),null!=t&&t.length&&t.forEach((e=>{r.push({label:e.title.rendered+" (ID: "+e.id+")",value:e.id})})),d.includes(l)&&r.unshift({label:(0,n.sprintf)( -// Translators: %s = Post type name. -(0,n.__)("Inherit from current %s","lifterlms"),b(l)),value:0}),null!=r&&r.length||r.push({label:(0,n.__)("Loading","lifterlms"),value:0}),r},v=e=>{var t,r;let{attributes:o,setAttributes:i,postType:c="course",attribute:a="course_id"}=e;const u=h(c),p=b(c),m=b(c,"title"),d=(0,n.sprintf)( -// Translators: %s = Post type name. -(0,n.__)("Select the %s to associate with this block.","lifterlms"),p);return(0,l.createElement)(s.PanelRow,null,(0,l.createElement)(s.SelectControl,{label:m,help:d,value:null!==(t=null==o?void 0:o[a])&&void 0!==t?t:null==u||null===(r=u[0])||void 0===r?void 0:r.value,options:u,onChange:e=>{i({[a]:parseInt(e,10)})}}))},w=[{label:(0,n.__)("Course","lifterlms"),value:"course"},{label:(0,n.__)("Membership","lifterlms"),value:"llms_membership"}];(0,r.registerBlockType)(a,{icon:p,edit:e=>{var r;const{attributes:i,setAttributes:u}=e,p=(0,o.useBlockProps)(),m=h(),d=(0,l.useMemo)((()=>{let e=(0,n.__)("Author not found. This block will not be displayed.","lifterlms");return!i.product&&m.length>0&&(e=(0,n.__)("No course selected. Please choose a Course from the block sidebar panel.","lifterlms")),(0,l.createElement)(c(),{block:a.name,attributes:i,LoadingResponsePlaceholder:()=>(0,l.createElement)(s.Spinner,null),ErrorResponsePlaceholder:()=>(0,l.createElement)("p",{className:"llms-block-error"},(0,n.__)("Error loading content. Please check block settings are valid. This block will not be displayed.","lifterlms")),EmptyResponsePlaceholder:()=>(0,l.createElement)("p",{className:"llms-block-empty"},e)})}),[i]);return(0,l.createElement)(l.Fragment,null,(0,l.createElement)(o.InspectorControls,null,(0,l.createElement)(s.PanelBody,{title:(0,n.__)("Pricing Table Settings","lifterlms")},(0,l.createElement)(s.PanelRow,null,(0,l.createElement)(s.SelectControl,{label:(0,n.__)("Post Type","lifterlms"),value:i.postType,options:w,onChange:e=>u({postType:e,product:""})})),(0,l.createElement)(v,t({},e,{postType:null!==(r=null==i?void 0:i.postType)&&void 0!==r?r:"course",attribute:"product"})))),(0,l.createElement)("div",p,(0,l.createElement)(s.Disabled,null,d)))}})})(); \ No newline at end of file diff --git a/class-lifterlms.php b/class-lifterlms.php index 7f3f5f5991..ada1ed472c 100644 --- a/class-lifterlms.php +++ b/class-lifterlms.php @@ -34,7 +34,7 @@ final class LifterLMS { * * @var string */ - public $version = '7.8.5'; + public $version = '7.8.7'; /** * LLMS_Assets instance diff --git a/docs/releases.md b/docs/releases.md deleted file mode 100644 index 120ada8d3b..0000000000 --- a/docs/releases.md +++ /dev/null @@ -1,163 +0,0 @@ -Releasing LifterLMS Builds -========================== - -This document outlines the workflow used by LifterLMS core maintainers to build and publish LifterLMS releases. - -This document assumes you have already installed LifterLMS for development following the [Installing for Development guide](./installing.md). - -## 0. Get ready - -Make sure you have your local repository up to date. If your origin is set to the gocodebox/lifterlms repo, these commands will get you up to date. - -1. `git checkout dev` and `git pull` -2. `git checkout trunk` and `git pull` - -Make sure your @lifterlms/dev package in package.json is on the latest version. If it needs to be updated, update it, commit to the dev branch, and then run `npm install`. - -Make sure you are back on the dev branch. - -1. `git checkout dev` - -Make sure you have installed composer requirements via `composer install`. - -Make sure you have the latest `@lifterlms` JS packages. Note that this will update node_modules using the latest published/stable version of the packages, and won't include any updates made to those packages by this release itself. - -1. `npm install` - -Make sure that the dev version (or trunk since it will merge automatically) are tested up to the latest version of WordPress. - -For Add-ons, also confirm that the plugin headers include appropriate values for LLMS minimum version and LLMS tested up to as follows: - -1. Adjust these lines in the header of the main plugin .php file. - -* ` * Tested up to: 6.4.1` (this is the WordPress tested up to value) -* ` * LLMS requires at least: 6.0.0` (only update this value if you are sure that the update breaks backwards compatibility) -* ` * LLMS tested up to: 7.5.0 ` (this should be updated to the latest LifterLMS stable version) - -## 1. Build the Release - -Prepare the release: `npm run dev release prepare`: - -When running this command, the following happens: - -1. Determines the version number based on the significance values found in `.changelogs/` files. Unless `-F` is passed to the command to force a specific version number. -2. Write the changelog entries to `CHANGELOG.md`. -3. Updates version numbers of placeholder `[version]` tags, `package.json`, etc... -4. Runs the release build command, `npm run build`. - -## 2. Run tests and coding standards checks - -0. Ensure phpunit tests are installed: `composer run tests-install`. -1. Ensure phpunit tests pass: `composer run tests-run`. -2. Ensure phpcs checks pass: `composer run check-cs-errors`. -3. Ensure e2e tests pass: `npm run test`. -4. Ensure eslint checks pass: `npm run lint:js`. - -## 3. Commit and push - -After building and testing the built release, all changes should be committed and pushed to GitHub. - -1. `git commit -a` -2. Enter something like "build version 7.1.1" for the commit message. -3. `git push` - -## 4. Generate the Distribution Archive - -Run `npm run dev release archive -- -i`. - -This is a more pedantic version of `npm run dev release archive` that will allow to easily inspect -the archive: once created, the archive will be unpacked into the `dist` directory so that its content -could be easily inspected. E.g. make sure it doesn't contain undesired files such as unwanted dependencies -into the `vendor` directory, and so on. - -## 5. Run pre-release tests on the archived - -Install and activate the zip file on a temporary sandbox site. - -Note: If you are reusing a testing site that already has LifterLMS installed, you can add this line to your wp-config.php and then uninstall and delete LifterLMS from the plugins screen and it will delete all of the LifterLMS data. - -`define( 'LLMS_REMOVE_ALL_DATA', true );` - - 1. Run the setup wizard. - 2. Import sample course - 3. Enroll a student into the course. - 4. Complete a lesson. - -_This manual testing ensures no errors occurred in the build steps above._ - -## 6. Publish the Release - -Run `npm run dev release create`. - -The following steps are performed automatically by the above task: - -1. Publish to GitHub - 1. The contents of the distribution archive is force-pushed to the `release` branch. - 1. A new release tag draft is created for the current version number using `release` as the commit target. - 1. The distribution archive is uploaded to the release. - 1. The release is published. - 1. A webhook ping notifies the `llms-releaser` server which performs the remaining steps of the release: -1. Publish to WordPress plugin repository - 1. Create a new SVN tag using the release asset (distribution archive) as the base. - 1. Update the `trunk` branch to match the new tag. -1. A changelog blog post is published to make.lifterlms.com. -1. The number is updated at LifterLMS.com -1. The distribution archive is synced to the release asset bucket in AWS S3 as a backup. - -## 7. Update Trunk - -After everything is complete, the final version of should be committed and pushed to GitHub trunk branch. It is possible this can also be done on GitHub.com directly by create a Pull Request from `dev` to `trunk` - -1. `git checkout trunk` -2. `git merge dev` -3. `git push` - -## 8. Push to WordPress.org (If Needed) - -As of this writing, only the core LifterLMS plugin, the LifterLMS Labs plugin, and the Lite LMS Prgress Tracker are hosted on wordpress.org. - -Note: The feature of the llms-releaser server that pushes updates to wordpress.org has been disabled due to some bugs there. The steps below can be used to "manually" push a release to wordpress.org. - -1. If you don't have a lifterlms-svn folder, create it. (The first time you create this, it will take many minutes to download.) - 1. Navigate to your plugins folder. - 1. `mkdir lifterlms-svn` - 1. `cd lifterlms-svn` - 1. `svn co http://plugins.svn.wordpress.org/lifterlms .` -1. Make sure your svn repo is up to date with the remote repo by running `svn update`. -1. Make room for the update by clearing out trunk: `rm -f -f trunk/*` -1. Copy the new dist files into trunk. `cp -r -f ../lifterlms/dist/lifterlms/* trunk/` -1. Check what has changed: `svn status` -1. svn add any new files - 1. If there are a lot of files to add, you can use `svn add --force trunk/*` -1. svn rm any deleted files - 1. If there are a lot of files to remove, you can use `svn st | grep ^! | awk '{print " --force "$2}' | xargs svn rm` -1. Run `svn status` one more time to review changes and make sure all files are being properly modified, added, or removed from the repo. - -These next step is optional for point releases, but should be done for major and minor releases and whenever the deployment process is updated enough to warrant a double check. - -1. Update stable version in trunk readme to point to the last stable version. - 1. `nano trunk/readme.txt` - 1. Change stable to previous version. (not this version) - -1. Commit to SVN - 1. `svn commit -m "7.6.2 - bug fixes and enhancements"` -1. Run svn status again to make sure there are no files that still need to be added. - 1. `svn status` -1. Create a tag for the new version - 1. `svn cp trunk/ tags/7.6.2` - 1. `svn commit -m "tag for new version"` -1. Wait (about 15min) for each commit to go out to WP repo. - -If you updated the stable version to point to the previous version, test then update to the latest version. - -1. Test trunk by visiting [the Advanced Tab of the plugin page](https://wordpress.org/plugins/lifterlms/advanced/) - 1. scroll to the bottom of the page - 1. Choose "Development Version" from the dropdown. - 1. Click download. - 1. Install the zip on a fresh dev site and run the standard set up and enroll test or any other tests you want. -1. If the test goes well, update the stable tag to the latest version. - 1. `nano trunk/readme.txt` - 1. `nano tags/7.6.2/readme.txt` - 1. `commit -m "updating stable version"` - - diff --git a/includes/abstracts/llms-abstract-controller-user-engagements.php b/includes/abstracts/llms-abstract-controller-user-engagements.php index f7d835e3bb..b7383b182f 100644 --- a/includes/abstracts/llms-abstract-controller-user-engagements.php +++ b/includes/abstracts/llms-abstract-controller-user-engagements.php @@ -97,7 +97,13 @@ public function __construct() { */ protected function delete( $post_id ) { - if ( ! is_admin() ) { + // Only allow LLMS admins to delete. is_admin() check also makes sure call is made from the dashboard. + if ( ! is_admin() || ! current_user_can( 'manage_lifterlms' ) ) { + return; + } + + $post = get_post( $post_id ); + if ( ! $post || ! in_array( $post->post_type, array( 'llms_my_achievement', 'llms_my_certificate' ), true ) ) { return; } diff --git a/includes/admin/class.llms.admin.setup.wizard.php b/includes/admin/class.llms.admin.setup.wizard.php index 8431f728ca..a454293fd7 100644 --- a/includes/admin/class.llms.admin.setup.wizard.php +++ b/includes/admin/class.llms.admin.setup.wizard.php @@ -118,7 +118,6 @@ public function output_before_importable_course( array $course ): void {
get_generated_courses(); - } - } -return new LLMS_Admin_Setup_Wizard(); +function llms_load_admin_setup_wizard() { + return new LLMS_Admin_Setup_Wizard(); +} +add_action( 'init', 'llms_load_admin_setup_wizard' ); diff --git a/includes/class.llms.ajax.handler.php b/includes/class.llms.ajax.handler.php index 3085e0579e..ed7baa4b62 100644 --- a/includes/class.llms.ajax.handler.php +++ b/includes/class.llms.ajax.handler.php @@ -947,6 +947,10 @@ public static function quiz_end( $request, $attempt = null ) { $attempt = $student->quizzes()->get_attempt_by_key( sanitize_text_field( $request['attempt_key'] ) ); + if ( ! $attempt ) { + $err->add( 404, __( 'The requested attempt could not be found.', 'lifterlms' ) ); + return $err; + } } // Record the attempt's completion. diff --git a/includes/class.llms.engagements.php b/includes/class.llms.engagements.php index 8481809cd1..9c44b485e2 100644 --- a/includes/class.llms.engagements.php +++ b/includes/class.llms.engagements.php @@ -104,7 +104,6 @@ private function add_actions() { } add_action( 'deleted_post', array( $this, 'unschedule_delayed_engagements' ), 20, 2 ); - } /** @@ -208,7 +207,6 @@ private function get_engagements( $trigger_type, $related_post_id = '' ) { * @param int $related_post_id WP_Post ID of the related post. */ return apply_filters( 'lifterlms_get_engagements', $results, $trigger_type, $related_post_id ); - } /** @@ -249,7 +247,6 @@ protected function get_trigger_hooks() { * @param string[] $hooks List of hook names. */ return apply_filters( 'lifterlms_engagement_actions', $hooks ); - } /** @@ -405,7 +402,6 @@ private function parse_hook( $action, $args ) { $parsed['related_post_id'] = $related_post_id; return $parsed; - } /** @@ -450,7 +446,6 @@ private function parse_hook_find_trigger_type( $action, $related_post_id ) { } return $trigger_type; - } /** @@ -485,7 +480,6 @@ public function maybe_trigger_engagement() { $this->trigger_engagement( $handler, $engagement->delay ); } - } /** @@ -570,7 +564,6 @@ private function parse_engagement( $engagement, $trigger_data ) { ); return $parsed; - } /** @@ -594,7 +587,7 @@ private function trigger_engagement( $data, $delay ) { if ( $delay ) { as_schedule_single_action( - time() + ( DAY_IN_SECONDS * $delay ), + current_datetime()->modify( "+{$delay} days" )->getTimestamp(), $data['handler_action'], array( $data['handler_args'] ), ! empty( $data['handler_args'][3] ) ? $this->get_delayed_group_id( $data['handler_args'][3] ) : null @@ -616,7 +609,6 @@ private function trigger_engagement( $data, $delay ) { remove_filter( 'llms_skip_engagement_processing_checks', '__return_true' ); } - } /** @@ -640,7 +632,6 @@ public function unschedule_delayed_engagements( $post_id, $post = null ) { if ( 'llms_engagement' === $post_type ) { as_unschedule_all_actions( '', array(), $this->get_delayed_group_id( $post_id ) ); } - } /** @@ -660,7 +651,5 @@ public function log( $log ) { if ( $this->debug ) { llms_log( $log, 'engagements' ); } - } - } diff --git a/includes/controllers/class.llms.controller.achievements.php b/includes/controllers/class.llms.controller.achievements.php index 0fcfba9420..4bfbed8133 100644 --- a/includes/controllers/class.llms.controller.achievements.php +++ b/includes/controllers/class.llms.controller.achievements.php @@ -93,9 +93,12 @@ public function maybe_handle_reporting_actions() { } if ( isset( $_POST['llms_delete_achievement'] ) ) { + if ( ! current_user_can( 'manage_lifterlms' ) ) { + return; + } + $this->delete( llms_filter_input( INPUT_POST, 'achievement_id', FILTER_SANITIZE_NUMBER_INT ) ); } - } } diff --git a/includes/controllers/class.llms.controller.certificates.php b/includes/controllers/class.llms.controller.certificates.php index 4d9228fb2d..55efbb315f 100644 --- a/includes/controllers/class.llms.controller.certificates.php +++ b/includes/controllers/class.llms.controller.certificates.php @@ -112,7 +112,6 @@ public function maybe_allow_public_query( $post_type_args ) { } return $post_type_args; - } /** @@ -145,7 +144,6 @@ public function maybe_authenticate_export_generation() { $cert = new LLMS_User_Certificate( $post_id ); $uid = ( 'llms_certificate' === $post_type ) ? get_post_field( 'post_author', $post_id ) : $cert->get_user_id(); wp_set_current_user( $uid ); - } /** @@ -165,7 +163,6 @@ public function maybe_authenticate_export_generation() { * @return void */ public function maybe_handle_reporting_actions() { - if ( ! llms_verify_nonce( '_llms_cert_actions_nonce', 'llms-cert-actions' ) ) { return; } @@ -174,11 +171,14 @@ public function maybe_handle_reporting_actions() { if ( isset( $_POST['llms_generate_cert'] ) ) { $this->download( $cert_id ); } elseif ( isset( $_POST['llms_delete_cert'] ) ) { + if ( ! current_user_can( 'manage_lifterlms' ) ) { + return; + } + $this->delete( $cert_id ); } elseif ( isset( $_POST['llms_enable_cert_sharing'] ) ) { $this->change_sharing_settings( $cert_id, (bool) $_POST['llms_enable_cert_sharing'] ); } - } /** @@ -199,7 +199,6 @@ private function change_sharing_settings( $cert_id, $is_allowed ) { } return $cert->set( 'allow_sharing', $is_allowed ? 'yes' : 'no' ); - } /** @@ -232,7 +231,6 @@ private function download( $cert_id ) { wp_delete_file( $filepath ); exit; } - } return new LLMS_Controller_Certificates(); diff --git a/lifterlms.php b/lifterlms.php index 677bc5e7a0..d889b28513 100644 --- a/lifterlms.php +++ b/lifterlms.php @@ -10,7 +10,7 @@ * Plugin Name: LifterLMS * Plugin URI: https://lifterlms.com/ * Description: Complete e-learning platform to sell online courses, protect lessons, offer memberships, and quiz students. WP Learning Management System. - * Version: 7.8.5 + * Version: 7.8.7 * Author: LifterLMS * Author URI: https://lifterlms.com/ * Text Domain: lifterlms diff --git a/package-lock.json b/package-lock.json index 8c4e9c5dfb..4e2a3a87aa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "lifterlms", - "version": "7.8.5", + "version": "7.8.7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "lifterlms", - "version": "7.8.5", + "version": "7.8.7", "license": "GPL-3.0", "dependencies": { "@babel/core": "^7.16.5", @@ -75,8 +75,7 @@ }, "node_modules/@babel/code-frame": { "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "license": "MIT", "dependencies": { "@babel/highlight": "^7.22.13", "chalk": "^2.4.2" @@ -87,8 +86,7 @@ }, "node_modules/@babel/code-frame/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -98,8 +96,7 @@ }, "node_modules/@babel/code-frame/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -111,37 +108,32 @@ }, "node_modules/@babel/code-frame/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/@babel/code-frame/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "license": "MIT" }, "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/@babel/code-frame/node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/code-frame/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -261,8 +253,7 @@ }, "node_modules/@babel/generator": { "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "license": "MIT", "dependencies": { "@babel/types": "^7.23.0", "@jridgewell/gen-mapping": "^0.3.2", @@ -374,8 +365,7 @@ }, "node_modules/@babel/helper-environment-visitor": { "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -392,8 +382,7 @@ }, "node_modules/@babel/helper-function-name": { "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "license": "MIT", "dependencies": { "@babel/template": "^7.22.15", "@babel/types": "^7.23.0" @@ -404,8 +393,7 @@ }, "node_modules/@babel/helper-hoist-variables": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -519,8 +507,7 @@ }, "node_modules/@babel/helper-split-export-declaration": { "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -530,16 +517,14 @@ }, "node_modules/@babel/helper-string-parser": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -566,8 +551,7 @@ }, "node_modules/@babel/highlight": { "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", @@ -579,8 +563,7 @@ }, "node_modules/@babel/highlight/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -590,8 +573,7 @@ }, "node_modules/@babel/highlight/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -603,37 +585,32 @@ }, "node_modules/@babel/highlight/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "license": "MIT" }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/highlight/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -643,8 +620,7 @@ }, "node_modules/@babel/parser": { "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -1792,8 +1768,7 @@ }, "node_modules/@babel/runtime": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.7.tgz", - "integrity": "sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==", + "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -1814,13 +1789,11 @@ }, "node_modules/@babel/runtime/node_modules/regenerator-runtime": { "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + "license": "MIT" }, "node_modules/@babel/template": { "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.22.13", "@babel/parser": "^7.22.15", @@ -1832,8 +1805,7 @@ }, "node_modules/@babel/traverse": { "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.22.13", "@babel/generator": "^7.23.0", @@ -1859,8 +1831,7 @@ }, "node_modules/@babel/types": { "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.22.5", "@babel/helper-validator-identifier": "^7.22.20", @@ -2808,8 +2779,7 @@ }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -7478,8 +7448,7 @@ }, "node_modules/@testing-library/dom": { "version": "8.20.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", - "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -7496,8 +7465,7 @@ }, "node_modules/@testing-library/react": { "version": "12.1.5", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-12.1.5.tgz", - "integrity": "sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5", "@testing-library/dom": "^8.0.0", @@ -7527,8 +7495,7 @@ }, "node_modules/@types/aria-query": { "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.3.tgz", - "integrity": "sha512-0Z6Tr7wjKJIk4OUEjVUQMtyunLDy339vcMaj38Kpj6jM2OE1p3S4kXExKZ7a3uXQAPCoy3sbrP1wibDKaf39oA==" + "license": "MIT" }, "node_modules/@types/babel__core": { "version": "7.1.19", @@ -8534,8 +8501,7 @@ }, "node_modules/@wordpress/e2e-test-utils": { "version": "11.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/e2e-test-utils/-/e2e-test-utils-11.13.0.tgz", - "integrity": "sha512-NR4xVIKbyXyc4zq9cjVBNfhoMjBt6OgCoh6r7YSjP1ZRF5COr/Tq1rvPZErcRzCSnVRC6lm9FFgtRk7HGyfzgQ==", + "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", "@wordpress/api-fetch": "*", @@ -8568,8 +8534,7 @@ }, "node_modules/@wordpress/e2e-test-utils/node_modules/node-fetch": { "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -9194,8 +9159,7 @@ }, "node_modules/acorn-node": { "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "license": "Apache-2.0", "dependencies": { "acorn": "^7.0.0", "acorn-walk": "^7.0.0", @@ -9204,8 +9168,7 @@ }, "node_modules/acorn-node/node_modules/acorn": { "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -9479,8 +9442,7 @@ }, "node_modules/aria-query": { "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "license": "Apache-2.0", "dependencies": { "deep-equal": "^2.0.5" } @@ -9532,8 +9494,7 @@ }, "node_modules/array-buffer-byte-length": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "is-array-buffer": "^3.0.1" @@ -9707,8 +9668,7 @@ }, "node_modules/asn1.js": { "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "license": "MIT", "dependencies": { "bn.js": "^4.0.0", "inherits": "^2.0.1", @@ -9718,13 +9678,11 @@ }, "node_modules/asn1.js/node_modules/bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "license": "MIT" }, "node_modules/assert": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", - "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", + "license": "MIT", "dependencies": { "object.assign": "^4.1.4", "util": "^0.10.4" @@ -9732,13 +9690,11 @@ }, "node_modules/assert/node_modules/inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + "license": "ISC" }, "node_modules/assert/node_modules/util": { "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "license": "MIT", "dependencies": { "inherits": "2.0.3" } @@ -9790,8 +9746,7 @@ }, "node_modules/async-limiter": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + "license": "MIT" }, "node_modules/async-settle": { "version": "1.0.0", @@ -9860,8 +9815,7 @@ }, "node_modules/available-typed-arrays": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -10127,8 +10081,7 @@ }, "node_modules/babelify": { "version": "10.0.0", - "resolved": "https://registry.npmjs.org/babelify/-/babelify-10.0.0.tgz", - "integrity": "sha512-X40FaxyH7t3X+JFAKvb1H9wooWKLRCi8pg3m8poqtdZaIng+bjzp9RvKQCvRjF9isHiPkXspbbXT/zwXLtwgwg==", + "license": "MIT", "engines": { "node": ">=6.9.0" }, @@ -10313,13 +10266,11 @@ }, "node_modules/bn.js": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + "license": "MIT" }, "node_modules/body-parser": { "version": "1.18.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", - "integrity": "sha512-YQyoqQG3sO8iCmf8+hyVpgHHOv0/hCEFiS4zTGUwTA1HjAFX66wRcNQrVCeJq9pgESMRvUAOvSil5MJlmccuKQ==", + "license": "MIT", "dependencies": { "bytes": "3.0.0", "content-type": "~1.0.4", @@ -10338,16 +10289,14 @@ }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/body-parser/node_modules/iconv-lite": { "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -10357,8 +10306,7 @@ }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "license": "MIT" }, "node_modules/body-scroll-lock": { "version": "3.1.5", @@ -10406,13 +10354,11 @@ }, "node_modules/brorand": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + "license": "MIT" }, "node_modules/browser-pack": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", - "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", + "license": "MIT", "dependencies": { "combine-source-map": "~0.8.0", "defined": "^1.0.0", @@ -10431,16 +10377,14 @@ }, "node_modules/browser-resolve": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", - "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", + "license": "MIT", "dependencies": { "resolve": "^1.17.0" } }, "node_modules/browserify": { "version": "17.0.0", - "resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz", - "integrity": "sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==", + "license": "MIT", "dependencies": { "assert": "^1.4.0", "browser-pack": "^6.0.1", @@ -10500,8 +10444,7 @@ }, "node_modules/browserify-aes": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "license": "MIT", "dependencies": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -10513,8 +10456,7 @@ }, "node_modules/browserify-cipher": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "license": "MIT", "dependencies": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", @@ -10523,8 +10465,7 @@ }, "node_modules/browserify-des": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", @@ -10534,8 +10475,7 @@ }, "node_modules/browserify-rsa": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "license": "MIT", "dependencies": { "bn.js": "^5.0.0", "randombytes": "^2.0.1" @@ -10543,8 +10483,7 @@ }, "node_modules/browserify-sign": { "version": "4.2.2", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz", - "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==", + "license": "ISC", "dependencies": { "bn.js": "^5.2.1", "browserify-rsa": "^4.1.0", @@ -10562,8 +10501,7 @@ }, "node_modules/browserify-sign/node_modules/readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -10575,16 +10513,14 @@ }, "node_modules/browserify-zlib": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "license": "MIT", "dependencies": { "pako": "~1.0.5" } }, "node_modules/browserify/node_modules/buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "license": "MIT", "dependencies": { "base64-js": "^1.0.2", "ieee754": "^1.1.4" @@ -10670,13 +10606,11 @@ }, "node_modules/buffer-xor": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + "license": "MIT" }, "node_modules/builtin-status-codes": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" + "license": "MIT" }, "node_modules/builtins": { "version": "1.0.3", @@ -10824,13 +10758,11 @@ }, "node_modules/cached-path-relative": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", - "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==" + "license": "MIT" }, "node_modules/call-bind": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "license": "MIT", "dependencies": { "function-bind": "^1.1.2", "get-intrinsic": "^1.2.1", @@ -10930,8 +10862,6 @@ }, "node_modules/caniuse-lite": { "version": "1.0.30001663", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001663.tgz", - "integrity": "sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==", "funding": [ { "type": "opencollective", @@ -10945,7 +10875,8 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/capital-case": { "version": "1.0.4", @@ -11170,8 +11101,7 @@ }, "node_modules/cipher-base": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -11201,8 +11131,7 @@ }, "node_modules/clean-css": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", - "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", + "license": "MIT", "dependencies": { "source-map": "~0.6.0" }, @@ -11212,8 +11141,7 @@ }, "node_modules/clean-css/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -11634,8 +11562,7 @@ }, "node_modules/combine-source-map": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", - "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==", + "license": "MIT", "dependencies": { "convert-source-map": "~1.1.0", "inline-source-map": "~0.6.0", @@ -11774,9 +11701,7 @@ } }, "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + "version": "1.2.0" }, "node_modules/console-control-strings": { "version": "1.1.0", @@ -11798,13 +11723,11 @@ }, "node_modules/constants-browserify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==" + "license": "MIT" }, "node_modules/content-disposition": { "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -11870,13 +11793,11 @@ }, "node_modules/convert-source-map": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", - "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==" + "license": "MIT" }, "node_modules/cookie": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha512-+IJOX0OqlHCszo2mBUq+SrEbCj6w7Kpffqx60zYbPTFaO4+yYgRjHwcZNpWvaTylDHaV7PPmBHzSecZiMhtPgw==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -12083,8 +12004,7 @@ }, "node_modules/create-ecdh": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "elliptic": "^6.5.3" @@ -12092,13 +12012,11 @@ }, "node_modules/create-ecdh/node_modules/bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "license": "MIT" }, "node_modules/create-hash": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -12109,8 +12027,7 @@ }, "node_modules/create-hmac": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "license": "MIT", "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -12150,8 +12067,7 @@ }, "node_modules/crypto-browserify": { "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "license": "MIT", "dependencies": { "browserify-cipher": "^1.0.0", "browserify-sign": "^4.0.0", @@ -12237,8 +12153,7 @@ }, "node_modules/css-tree": { "version": "1.0.0-alpha.28", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.28.tgz", - "integrity": "sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w==", + "license": "MIT", "dependencies": { "mdn-data": "~1.1.0", "source-map": "^0.5.3" @@ -12407,8 +12322,7 @@ }, "node_modules/csso": { "version": "3.5.1", - "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz", - "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==", + "license": "MIT", "dependencies": { "css-tree": "1.0.0-alpha.29" }, @@ -12418,8 +12332,7 @@ }, "node_modules/csso/node_modules/css-tree": { "version": "1.0.0-alpha.29", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz", - "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==", + "license": "MIT", "dependencies": { "mdn-data": "~1.1.0", "source-map": "^0.5.3" @@ -12535,8 +12448,7 @@ }, "node_modules/dash-ast": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", - "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==" + "license": "Apache-2.0" }, "node_modules/data-urls": { "version": "2.0.0", @@ -12643,8 +12555,7 @@ }, "node_modules/deep-equal": { "version": "2.2.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", - "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", "call-bind": "^1.0.2", @@ -12671,8 +12582,7 @@ }, "node_modules/deep-equal/node_modules/isarray": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + "license": "MIT" }, "node_modules/deep-extend": { "version": "0.6.0", @@ -12712,8 +12622,7 @@ }, "node_modules/define-data-property": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.1", "gopd": "^1.0.1", @@ -12732,8 +12641,7 @@ }, "node_modules/define-properties": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "license": "MIT", "dependencies": { "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" @@ -12801,8 +12709,7 @@ }, "node_modules/defined": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", - "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -12837,8 +12744,7 @@ }, "node_modules/deps-sort": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", - "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", + "license": "MIT", "dependencies": { "JSONStream": "^1.0.3", "shasum-object": "^1.0.0", @@ -12851,8 +12757,7 @@ }, "node_modules/des.js": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", - "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" @@ -12860,8 +12765,7 @@ }, "node_modules/destroy": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==" + "license": "MIT" }, "node_modules/detect-file": { "version": "1.0.0", @@ -12893,8 +12797,7 @@ }, "node_modules/detective": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", - "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "license": "MIT", "dependencies": { "acorn-node": "^1.8.2", "defined": "^1.0.0", @@ -12930,8 +12833,7 @@ }, "node_modules/diffie-hellman": { "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", @@ -12940,8 +12842,7 @@ }, "node_modules/diffie-hellman/node_modules/bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "license": "MIT" }, "node_modules/dir-glob": { "version": "3.0.1", @@ -13004,8 +12905,7 @@ }, "node_modules/dom-accessibility-api": { "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==" + "license": "MIT" }, "node_modules/dom-helpers": { "version": "5.2.1", @@ -13033,8 +12933,7 @@ }, "node_modules/domain-browser": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "license": "MIT", "engines": { "node": ">=0.4", "npm": ">=1.2" @@ -13141,8 +13040,7 @@ }, "node_modules/duplexer2": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "license": "BSD-3-Clause", "dependencies": { "readable-stream": "^2.0.2" } @@ -13157,8 +13055,7 @@ }, "node_modules/elliptic": { "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "license": "MIT", "dependencies": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -13171,8 +13068,7 @@ }, "node_modules/elliptic/node_modules/bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "license": "MIT" }, "node_modules/emittery": { "version": "0.8.1", @@ -13410,8 +13306,7 @@ }, "node_modules/es-get-iterator": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", @@ -13429,8 +13324,7 @@ }, "node_modules/es-get-iterator/node_modules/isarray": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + "license": "MIT" }, "node_modules/es-module-lexer": { "version": "0.9.3", @@ -13460,13 +13354,11 @@ }, "node_modules/es6-promise": { "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + "license": "MIT" }, "node_modules/es6-promisify": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", + "license": "MIT", "dependencies": { "es6-promise": "^4.0.3" } @@ -14269,8 +14161,7 @@ }, "node_modules/evp_bytestokey": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "license": "MIT", "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -14381,8 +14272,7 @@ }, "node_modules/express": { "version": "4.16.4", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", - "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", + "license": "MIT", "dependencies": { "accepts": "~1.3.5", "array-flatten": "1.1.1", @@ -14421,26 +14311,22 @@ }, "node_modules/express-history-api-fallback": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/express-history-api-fallback/-/express-history-api-fallback-2.2.1.tgz", - "integrity": "sha512-swxwm3aP8vrOOvlzOdZvHlSZtJGwHKaY94J6AkrAgCTmcbko3IRwbkhLv2wKV1WeZhjxX58aLMpP3atDBnKuZg==" + "license": "ISC" }, "node_modules/express/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/express/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "license": "MIT" }, "node_modules/express/node_modules/safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "license": "MIT" }, "node_modules/extend": { "version": "3.0.2", @@ -14590,8 +14476,7 @@ }, "node_modules/fast-safe-stringify": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + "license": "MIT" }, "node_modules/fastest-levenshtein": { "version": "1.0.16", @@ -14718,8 +14603,7 @@ }, "node_modules/filesize": { "version": "3.6.1", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", - "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "license": "BSD-3-Clause", "engines": { "node": ">= 0.4.0" } @@ -14736,8 +14620,7 @@ }, "node_modules/finalhandler": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -14753,16 +14636,14 @@ }, "node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "license": "MIT" }, "node_modules/find-cache-dir": { "version": "3.3.2", @@ -14880,14 +14761,13 @@ }, "node_modules/follow-redirects": { "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "funding": [ { "type": "individual", "url": "https://github.com/sponsors/RubenVerborgh" } ], + "license": "MIT", "engines": { "node": ">=4.0" }, @@ -14899,8 +14779,7 @@ }, "node_modules/for-each": { "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "license": "MIT", "dependencies": { "is-callable": "^1.1.3" } @@ -15075,8 +14954,7 @@ }, "node_modules/function-bind": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -15113,8 +14991,7 @@ }, "node_modules/get-assigned-identifiers": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", - "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==" + "license": "Apache-2.0" }, "node_modules/get-caller-file": { "version": "2.0.5", @@ -15125,8 +15002,7 @@ }, "node_modules/get-intrinsic": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -16028,8 +15904,7 @@ }, "node_modules/gopd": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -18223,8 +18098,7 @@ }, "node_modules/has-proto": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -18309,8 +18183,7 @@ }, "node_modules/hash-base": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -18322,8 +18195,7 @@ }, "node_modules/hash-base/node_modules/readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -18335,8 +18207,7 @@ }, "node_modules/hash.js": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" @@ -18344,8 +18215,7 @@ }, "node_modules/he": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "license": "MIT", "bin": { "he": "bin/he" } @@ -18368,8 +18238,7 @@ }, "node_modules/highland": { "version": "2.13.0", - "resolved": "https://registry.npmjs.org/highland/-/highland-2.13.0.tgz", - "integrity": "sha512-zGZBcgAHPY2Zf9VG9S5IrlcC7CH9ELioXVtp9T5bU2a4fP2zIsA+Y8pV/n/h2lMwbWMHTX0I0xN0ODJ3Pd3aBQ==", + "license": "Apache-2.0", "dependencies": { "util-deprecate": "^1.0.2" } @@ -18380,8 +18249,7 @@ }, "node_modules/hmac-drbg": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "license": "MIT", "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -18469,8 +18337,7 @@ }, "node_modules/html-minifier": { "version": "3.5.21", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", - "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "license": "MIT", "dependencies": { "camel-case": "3.0.x", "clean-css": "4.2.x", @@ -18489,8 +18356,7 @@ }, "node_modules/html-minifier/node_modules/camel-case": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", + "license": "MIT", "dependencies": { "no-case": "^2.2.0", "upper-case": "^1.1.1" @@ -18498,42 +18364,36 @@ }, "node_modules/html-minifier/node_modules/commander": { "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" + "license": "MIT" }, "node_modules/html-minifier/node_modules/lower-case": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==" + "license": "MIT" }, "node_modules/html-minifier/node_modules/no-case": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "license": "MIT", "dependencies": { "lower-case": "^1.1.1" } }, "node_modules/html-minifier/node_modules/param-case": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "license": "MIT", "dependencies": { "no-case": "^2.2.0" } }, "node_modules/html-minifier/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/html-minifier/node_modules/uglify-js": { "version": "3.4.10", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", - "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "license": "BSD-2-Clause", "dependencies": { "commander": "~2.19.0", "source-map": "~0.6.1" @@ -18547,13 +18407,11 @@ }, "node_modules/html-minifier/node_modules/uglify-js/node_modules/commander": { "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + "license": "MIT" }, "node_modules/html-minifier/node_modules/upper-case": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==" + "license": "MIT" }, "node_modules/html-tags": { "version": "3.2.0", @@ -18567,8 +18425,7 @@ }, "node_modules/htmlescape": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", - "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==", + "license": "MIT", "engines": { "node": ">=0.10" } @@ -18678,8 +18535,7 @@ }, "node_modules/https-browserify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" + "license": "MIT" }, "node_modules/https-proxy-agent": { "version": "5.0.1", @@ -18858,8 +18714,7 @@ }, "node_modules/inline-source-map": { "version": "0.6.2", - "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", - "integrity": "sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==", + "license": "MIT", "dependencies": { "source-map": "~0.5.3" } @@ -18890,8 +18745,7 @@ }, "node_modules/insert-module-globals": { "version": "7.2.1", - "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", - "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", + "license": "MIT", "dependencies": { "acorn-node": "^1.5.2", "combine-source-map": "^0.8.0", @@ -18938,9 +18792,8 @@ }, "node_modules/ip": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz", - "integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/ipaddr.js": { "version": "1.9.1", @@ -19007,8 +18860,7 @@ }, "node_modules/is-arguments": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -19022,8 +18874,7 @@ }, "node_modules/is-array-buffer": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.0", @@ -19195,8 +19046,7 @@ }, "node_modules/is-generator-function": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -19240,8 +19090,7 @@ }, "node_modules/is-map": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -19372,8 +19221,7 @@ }, "node_modules/is-set": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -19453,8 +19301,7 @@ }, "node_modules/is-typed-array": { "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "license": "MIT", "dependencies": { "which-typed-array": "^1.1.11" }, @@ -19505,8 +19352,7 @@ }, "node_modules/is-weakmap": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -19523,8 +19369,7 @@ }, "node_modules/is-weakset": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" @@ -19586,8 +19431,7 @@ }, "node_modules/isomorphic-fetch": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==", + "license": "MIT", "dependencies": { "node-fetch": "^1.0.1", "whatwg-fetch": ">=0.10.0" @@ -19595,16 +19439,14 @@ }, "node_modules/isomorphic-fetch/node_modules/is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/isomorphic-fetch/node_modules/node-fetch": { "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "license": "MIT", "dependencies": { "encoding": "^0.1.11", "is-stream": "^1.0.1" @@ -21412,8 +21254,7 @@ }, "node_modules/json5": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -21521,8 +21362,7 @@ }, "node_modules/labeled-stream-splicer": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", - "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "stream-splicer": "^2.0.0" @@ -23508,8 +23348,7 @@ }, "node_modules/lodash.memoize": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", - "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==" + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", @@ -23646,8 +23485,7 @@ }, "node_modules/lz-string": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "license": "MIT", "bin": { "lz-string": "bin/bin.js" } @@ -24005,8 +23843,7 @@ }, "node_modules/md5.js": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -24044,8 +23881,7 @@ }, "node_modules/mdn-data": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz", - "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==" + "license": "MPL-2.0" }, "node_modules/mdurl": { "version": "1.0.1", @@ -24161,8 +23997,7 @@ }, "node_modules/miller-rabin": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "license": "MIT", "dependencies": { "bn.js": "^4.0.0", "brorand": "^1.0.1" @@ -24173,13 +24008,11 @@ }, "node_modules/miller-rabin/node_modules/bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "license": "MIT" }, "node_modules/mime": { "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "license": "MIT", "bin": { "mime": "cli.js" }, @@ -24282,8 +24115,7 @@ }, "node_modules/minimalcss": { "version": "0.8.1", - "resolved": "https://registry.npmjs.org/minimalcss/-/minimalcss-0.8.1.tgz", - "integrity": "sha512-a+kbRVvxz+oQf43pweflM38KvcvVuTvv3v6a8UgVbfS7E2rktSJSf8kfbGToSXgbiBDP83WTh8MWL6PdT9ljag==", + "license": "MIT", "dependencies": { "cheerio": "1.0.0-rc.2", "css-tree": "1.0.0-alpha.28", @@ -24298,8 +24130,7 @@ }, "node_modules/minimalcss/node_modules/cheerio": { "version": "1.0.0-rc.2", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.2.tgz", - "integrity": "sha512-9LDHQy1jHc/eXMzPN6/oah9Qba4CjdKECC7YYEE/2zge/tsGwt19NQp5NFdfd5Lx6TZlyC5SXNQkG41P9r6XDg==", + "license": "MIT", "dependencies": { "css-select": "~1.2.0", "dom-serializer": "~0.1.0", @@ -24314,8 +24145,7 @@ }, "node_modules/minimalcss/node_modules/css-select": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha512-dUQOBoqdR7QwV90WysXPLXG5LO7nhYBgiWVfxF80DKPF8zx1t/pUd2FYy73emg3zrjtM6dzmYgbHKfV2rxiHQA==", + "license": "BSD-like", "dependencies": { "boolbase": "~1.0.0", "css-what": "2.1", @@ -24325,16 +24155,14 @@ }, "node_modules/minimalcss/node_modules/css-what": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "license": "BSD-2-Clause", "engines": { "node": "*" } }, "node_modules/minimalcss/node_modules/dom-serializer": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", - "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "license": "MIT", "dependencies": { "domelementtype": "^1.3.0", "entities": "^1.1.1" @@ -24342,21 +24170,17 @@ }, "node_modules/minimalcss/node_modules/domelementtype": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + "license": "BSD-2-Clause" }, "node_modules/minimalcss/node_modules/domhandler": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "license": "BSD-2-Clause", "dependencies": { "domelementtype": "1" } }, "node_modules/minimalcss/node_modules/domutils": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==", "dependencies": { "dom-serializer": "0", "domelementtype": "1" @@ -24364,13 +24188,11 @@ }, "node_modules/minimalcss/node_modules/entities": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + "license": "BSD-2-Clause" }, "node_modules/minimalcss/node_modules/htmlparser2": { "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "license": "MIT", "dependencies": { "domelementtype": "^1.3.1", "domhandler": "^2.3.0", @@ -24382,24 +24204,21 @@ }, "node_modules/minimalcss/node_modules/nth-check": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "~1.0.0" } }, "node_modules/minimalcss/node_modules/parse5": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", - "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/minimalcss/node_modules/readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -24415,8 +24234,7 @@ }, "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + "license": "MIT" }, "node_modules/minimatch": { "version": "3.1.2", @@ -24633,8 +24451,7 @@ }, "node_modules/module-deps": { "version": "6.2.3", - "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", - "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", + "license": "MIT", "dependencies": { "browser-resolve": "^2.0.0", "cached-path-relative": "^1.0.2", @@ -25579,8 +25396,7 @@ }, "node_modules/on-finished": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -25683,8 +25499,7 @@ }, "node_modules/os-browserify": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==" + "license": "MIT" }, "node_modules/os-homedir": { "version": "1.0.2", @@ -25843,8 +25658,7 @@ }, "node_modules/pako": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + "license": "(MIT AND Zlib)" }, "node_modules/param-case": { "version": "3.0.4", @@ -25866,16 +25680,14 @@ }, "node_modules/parents": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", - "integrity": "sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==", + "license": "MIT", "dependencies": { "path-platform": "~0.11.15" } }, "node_modules/parse-asn1": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "license": "ISC", "dependencies": { "asn1.js": "^5.2.0", "browserify-aes": "^1.0.0", @@ -26000,8 +25812,7 @@ }, "node_modules/path-browserify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" + "license": "MIT" }, "node_modules/path-case": { "version": "3.0.4", @@ -26047,8 +25858,7 @@ }, "node_modules/path-platform": { "version": "0.11.15", - "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", - "integrity": "sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==", + "license": "MIT", "engines": { "node": ">= 0.8.0" } @@ -26101,8 +25911,7 @@ }, "node_modules/pbkdf2": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "license": "MIT", "dependencies": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -26793,8 +26602,7 @@ }, "node_modules/process": { "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "license": "MIT", "engines": { "node": ">= 0.6.0" } @@ -26919,8 +26727,7 @@ }, "node_modules/public-encrypt": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", @@ -26932,8 +26739,7 @@ }, "node_modules/public-encrypt/node_modules/bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "license": "MIT" }, "node_modules/pump": { "version": "3.0.0", @@ -26945,15 +26751,12 @@ }, "node_modules/punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + "license": "MIT" }, "node_modules/puppeteer": { "version": "1.20.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.20.0.tgz", - "integrity": "sha512-bt48RDBy2eIwZPrkgbcwHtb51mj2nKvHOPMaSH2IsWiv7lOG9k9zhaRzpDZafrk05ajMc3cu+lSQYYOfH2DkVQ==", - "deprecated": "< 19.4.0 is no longer supported", "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { "debug": "^4.1.0", "extract-zip": "^1.6.6", @@ -26991,8 +26794,7 @@ }, "node_modules/puppeteer/node_modules/agent-base": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "license": "MIT", "dependencies": { "es6-promisify": "^5.0.0" }, @@ -27002,8 +26804,7 @@ }, "node_modules/puppeteer/node_modules/extract-zip": { "version": "1.7.0", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", - "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "license": "BSD-2-Clause", "dependencies": { "concat-stream": "^1.6.2", "debug": "^2.6.9", @@ -27016,21 +26817,18 @@ }, "node_modules/puppeteer/node_modules/extract-zip/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/puppeteer/node_modules/extract-zip/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "license": "MIT" }, "node_modules/puppeteer/node_modules/https-proxy-agent": { "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "license": "MIT", "dependencies": { "agent-base": "^4.3.0", "debug": "^3.1.0" @@ -27041,16 +26839,14 @@ }, "node_modules/puppeteer/node_modules/https-proxy-agent/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/puppeteer/node_modules/mkdirp": { "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", "dependencies": { "minimist": "^1.2.6" }, @@ -27060,8 +26856,7 @@ }, "node_modules/puppeteer/node_modules/rimraf": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -27071,8 +26866,7 @@ }, "node_modules/puppeteer/node_modules/ws": { "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "license": "MIT", "dependencies": { "async-limiter": "~1.0.0" } @@ -27087,16 +26881,13 @@ }, "node_modules/qs": { "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.6" } }, "node_modules/querystring-es3": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "engines": { "node": ">=0.4.x" } @@ -27161,8 +26952,7 @@ }, "node_modules/randomfill": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "license": "MIT", "dependencies": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" @@ -27177,8 +26967,7 @@ }, "node_modules/raw-body": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "license": "MIT", "dependencies": { "bytes": "3.0.0", "http-errors": "1.6.3", @@ -27191,8 +26980,7 @@ }, "node_modules/raw-body/node_modules/iconv-lite": { "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -27429,8 +27217,7 @@ }, "node_modules/react-snap": { "version": "1.23.0", - "resolved": "https://registry.npmjs.org/react-snap/-/react-snap-1.23.0.tgz", - "integrity": "sha512-spmg2maHSedLrn6QBAfLJkyMqeeffLTIs7h40pS1copW2xBrajx4HEAcanm+7IVGO6SYCPoGwvbU3U30UFN25g==", + "license": "MIT", "dependencies": { "clean-css": "4.2.1", "express": "4.16.4", @@ -27452,14 +27239,11 @@ }, "node_modules/react-snap/node_modules/minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==" + "license": "MIT" }, "node_modules/react-snap/node_modules/mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==", - "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "license": "MIT", "dependencies": { "minimist": "0.0.8" }, @@ -27616,8 +27400,7 @@ }, "node_modules/read-only-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", - "integrity": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==", + "license": "MIT", "dependencies": { "readable-stream": "^2.0.2" } @@ -27932,8 +27715,7 @@ }, "node_modules/regexp.prototype.flags": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -28000,8 +27782,7 @@ }, "node_modules/relateurl": { "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -28181,9 +27962,8 @@ }, "node_modules/requirejs": { "version": "2.3.7", - "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.7.tgz", - "integrity": "sha512-DouTG8T1WanGok6Qjg2SXuCMzszOo0eHeH9hDZ5Y4x8Je+9JB38HdTLT4/VA8OaUhBa0JPVHJ0pyBkM1z+pDsw==", "dev": true, + "license": "MIT", "bin": { "r_js": "bin/r.js", "r.js": "bin/r.js" @@ -28350,8 +28130,7 @@ }, "node_modules/ripemd160": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -28699,8 +28478,7 @@ }, "node_modules/send": { "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "~1.1.2", @@ -28722,24 +28500,21 @@ }, "node_modules/send/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/send/node_modules/mime": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "license": "MIT", "bin": { "mime": "cli.js" } }, "node_modules/send/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "license": "MIT" }, "node_modules/sentence-case": { "version": "3.0.4", @@ -28786,8 +28561,7 @@ }, "node_modules/serve-static": { "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "license": "MIT", "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -28805,8 +28579,7 @@ }, "node_modules/set-function-length": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "license": "MIT", "dependencies": { "define-data-property": "^1.1.1", "get-intrinsic": "^1.2.1", @@ -28823,8 +28596,7 @@ }, "node_modules/sha.js": { "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "license": "(MIT AND BSD-3-Clause)", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -28865,8 +28637,7 @@ }, "node_modules/shasum-object": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", - "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", + "license": "Apache-2.0", "dependencies": { "fast-safe-stringify": "^2.0.7" } @@ -28890,8 +28661,7 @@ }, "node_modules/shell-quote": { "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -28914,8 +28684,6 @@ }, "node_modules/simple-concat": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", "funding": [ { "type": "github", @@ -28929,7 +28697,8 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/simple-swizzle": { "version": "0.2.2", @@ -29113,8 +28882,7 @@ }, "node_modules/sourcemapped-stacktrace-node": { "version": "2.1.8", - "resolved": "https://registry.npmjs.org/sourcemapped-stacktrace-node/-/sourcemapped-stacktrace-node-2.1.8.tgz", - "integrity": "sha512-xQOqfT5mquKLBp+H06WTeGYEQh7OF5wa44IPHbh+qNdTP15xSzxwISPml1xCweJ6DExDpDDxXe/P34wP+GdDrg==", + "license": "BSD-3-Clause", "dependencies": { "es6-promise": "^4.1.1", "isomorphic-fetch": "^2.2.1", @@ -29126,8 +28894,7 @@ }, "node_modules/sourcemapped-stacktrace-node/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -29324,8 +29091,7 @@ }, "node_modules/stop-iteration-iterator": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "license": "MIT", "dependencies": { "internal-slot": "^1.0.4" }, @@ -29335,8 +29101,7 @@ }, "node_modules/stream-browserify": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", - "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "license": "MIT", "dependencies": { "inherits": "~2.0.4", "readable-stream": "^3.5.0" @@ -29344,8 +29109,7 @@ }, "node_modules/stream-browserify/node_modules/readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -29366,8 +29130,7 @@ }, "node_modules/stream-combiner2": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", + "license": "MIT", "dependencies": { "duplexer2": "~0.1.0", "readable-stream": "^2.0.2" @@ -29380,8 +29143,7 @@ }, "node_modules/stream-http": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", - "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", + "license": "MIT", "dependencies": { "builtin-status-codes": "^3.0.0", "inherits": "^2.0.4", @@ -29391,8 +29153,7 @@ }, "node_modules/stream-http/node_modules/readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -29409,8 +29170,7 @@ }, "node_modules/stream-splicer": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", - "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "readable-stream": "^2.0.2" @@ -29790,8 +29550,7 @@ }, "node_modules/subarg": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", - "integrity": "sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==", + "license": "MIT", "dependencies": { "minimist": "^1.1.0" } @@ -30011,8 +29770,7 @@ }, "node_modules/syntax-error": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", - "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", + "license": "MIT", "dependencies": { "acorn-node": "^1.2.0" } @@ -30301,8 +30059,6 @@ }, "node_modules/timers-browserify": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", - "integrity": "sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==", "dependencies": { "process": "~0.11.0" }, @@ -30389,8 +30145,7 @@ }, "node_modules/tough-cookie": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "license": "BSD-3-Clause", "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -30488,8 +30243,7 @@ }, "node_modules/tsconfig-paths/node_modules/json5": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -30527,8 +30281,7 @@ }, "node_modules/tty-browserify": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", - "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==" + "license": "MIT" }, "node_modules/turbo-combine-reducers": { "version": "1.0.2", @@ -30607,8 +30360,7 @@ }, "node_modules/umd": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", - "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", + "license": "MIT", "bin": { "umd": "bin/cli.js" } @@ -30644,8 +30396,7 @@ }, "node_modules/undeclared-identifiers": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", - "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", + "license": "Apache-2.0", "dependencies": { "acorn-node": "^1.3.0", "dash-ast": "^1.0.0", @@ -30923,8 +30674,7 @@ }, "node_modules/url": { "version": "0.11.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", - "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "license": "MIT", "dependencies": { "punycode": "^1.4.1", "qs": "^6.11.2" @@ -30965,8 +30715,7 @@ }, "node_modules/url/node_modules/qs": { "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.0.4" }, @@ -31006,8 +30755,7 @@ }, "node_modules/util": { "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "is-arguments": "^1.0.4", @@ -31199,8 +30947,7 @@ }, "node_modules/vm-browserify": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + "license": "MIT" }, "node_modules/w3c-hr-time": { "version": "1.0.2", @@ -31333,8 +31080,7 @@ }, "node_modules/webpack": { "version": "5.76.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.1.tgz", - "integrity": "sha512-4+YIK4Abzv8172/SGqObnUjaIHjLEuUasz9EwQj/9xmPPkYJy2Mh03Q/lJfSD3YLzbxy5FeTq5Uw0323Oh6SJQ==", + "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^0.0.51", @@ -31544,8 +31290,7 @@ }, "node_modules/webpack-dev-middleware": { "version": "5.3.4", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", - "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "license": "MIT", "dependencies": { "colorette": "^2.0.10", "memfs": "^3.4.3", @@ -32886,8 +32631,7 @@ }, "node_modules/whatwg-fetch": { "version": "3.6.19", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.19.tgz", - "integrity": "sha512-d67JP4dHSbm2TrpFj8AbO8DnL1JXL5J9u0Kq2xW6d0TFDbCA3Muhdt8orXC22utleTVj7Prqt82baN6RBvnEgw==" + "license": "MIT" }, "node_modules/whatwg-mimetype": { "version": "2.3.0", @@ -32931,8 +32675,7 @@ }, "node_modules/which-collection": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "license": "MIT", "dependencies": { "is-map": "^2.0.1", "is-set": "^2.0.1", @@ -32950,8 +32693,7 @@ }, "node_modules/which-typed-array": { "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.4", @@ -32980,8 +32722,7 @@ }, "node_modules/word-wrap": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", - "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -33068,8 +32809,7 @@ }, "node_modules/yaml": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz", - "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==", + "license": "ISC", "engines": { "node": ">= 14" } @@ -33185,6 +32925,12 @@ "dev": true, "license": "GPL-3.0-or-later", "dependencies": { + "chalk": "^4.1.2", + "columnify": "^1.5.4", + "commander": "^8.2.0", + "inquirer": "^8.2.0", + "replace-in-file": "^6.3.1", + "semver": "^7.3.5", "yaml": "^2.2.2" }, "bin": { @@ -33200,7 +32946,1200 @@ "dev": true, "license": "GPL-3.0-or-later", "dependencies": { - "@emotion/styled": "^11.10.0" + "@emotion/styled": "^11.10.0", + "@fortawesome/fontawesome-free": "^6.1.2", + "react-infinite-scroller": "^1.2.6" + }, + "devDependencies": { + "yaml": "^2.1.1" + } + }, + "packages/fontawesome/node_modules/@emotion/react": { + "version": "11.14.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.13.5", + "@emotion/cache": "^11.14.0", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@babel/code-frame": { + "version": "7.26.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@babel/generator": { + "version": "7.26.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/parser": "^7.26.3", + "@babel/types": "^7.26.3", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@babel/parser": { + "version": "7.26.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/types": "^7.26.3" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@babel/runtime": { + "version": "7.26.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@babel/template": { + "version": "7.25.9", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@babel/traverse": { + "version": "7.26.4", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.3", + "@babel/parser": "^7.26.3", + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.3", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@babel/types": { + "version": "7.26.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@emotion/babel-plugin": { + "version": "11.13.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/serialize": "^1.3.3", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@emotion/cache": { + "version": "11.14.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@emotion/memoize": "^0.9.0", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", + "stylis": "4.2.0" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@emotion/hash": { + "version": "0.9.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@emotion/memoize": { + "version": "0.9.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@emotion/serialize": { + "version": "1.3.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.2", + "csstype": "^3.0.2" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@emotion/sheet": { + "version": "1.4.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@emotion/unitless": { + "version": "0.10.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "peer": true, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@emotion/utils": { + "version": "1.4.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@emotion/weak-memoize": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/@types/parse-json": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/babel-plugin-macros": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/callsites": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/convert-source-map": { + "version": "1.9.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/cosmiconfig": { + "version": "7.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/csstype": { + "version": "3.1.3", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/debug": { + "version": "4.4.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/error-ex": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/escape-string-regexp": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/find-root": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/function-bind": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/globals": { + "version": "11.12.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/hasown": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "dev": true, + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "react-is": "^16.7.0" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/import-fresh": { + "version": "3.3.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/is-arrayish": { + "version": "0.2.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/is-core-module": { + "version": "2.15.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/js-tokens": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/jsesc": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/lines-and-columns": { + "version": "1.2.4", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/ms": { + "version": "2.1.3", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/parent-module": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/parse-json": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/path-parse": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/path-type": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/picocolors": { + "version": "1.1.1", + "dev": true, + "license": "ISC", + "peer": true + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/react-is": { + "version": "16.13.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/regenerator-runtime": { + "version": "0.14.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/resolve": { + "version": "1.22.8", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/resolve-from": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/source-map": { + "version": "0.5.7", + "dev": true, + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/stylis": { + "version": "4.2.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/fontawesome/node_modules/@emotion/react/node_modules/yaml": { + "version": "1.10.2", + "dev": true, + "license": "ISC", + "peer": true, + "engines": { + "node": ">= 6" + } + }, + "packages/fontawesome/node_modules/@emotion/styled": { + "version": "11.14.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.13.5", + "@emotion/is-prop-valid": "^1.3.0", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", + "@emotion/utils": "^1.4.2" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@babel/code-frame": { + "version": "7.26.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@babel/generator": { + "version": "7.26.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.26.3", + "@babel/types": "^7.26.3", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@babel/parser": { + "version": "7.26.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.26.3" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@babel/runtime": { + "version": "7.26.0", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@babel/template": { + "version": "7.25.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@babel/traverse": { + "version": "7.26.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.3", + "@babel/parser": "^7.26.3", + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.3", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@babel/types": { + "version": "7.26.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@emotion/babel-plugin": { + "version": "11.13.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/serialize": "^1.3.3", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@emotion/hash": { + "version": "0.9.2", + "dev": true, + "license": "MIT" + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@emotion/is-prop-valid": { + "version": "1.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.9.0" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@emotion/memoize": { + "version": "0.9.0", + "dev": true, + "license": "MIT" + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@emotion/serialize": { + "version": "1.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.2", + "csstype": "^3.0.2" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@emotion/unitless": { + "version": "0.10.0", + "dev": true, + "license": "MIT" + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@emotion/utils": { + "version": "1.4.2", + "dev": true, + "license": "MIT" + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "dev": true, + "license": "MIT" + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/@types/parse-json": { + "version": "4.0.2", + "dev": true, + "license": "MIT" + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/babel-plugin-macros": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/callsites": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/convert-source-map": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/cosmiconfig": { + "version": "7.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/csstype": { + "version": "3.1.3", + "dev": true, + "license": "MIT" + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/debug": { + "version": "4.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/error-ex": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/escape-string-regexp": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/find-root": { + "version": "1.1.0", + "dev": true, + "license": "MIT" + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/function-bind": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/globals": { + "version": "11.12.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/hasown": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/import-fresh": { + "version": "3.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/is-arrayish": { + "version": "0.2.1", + "dev": true, + "license": "MIT" + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/is-core-module": { + "version": "2.15.1", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/js-tokens": { + "version": "4.0.0", + "dev": true, + "license": "MIT" + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/jsesc": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "dev": true, + "license": "MIT" + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/lines-and-columns": { + "version": "1.2.4", + "dev": true, + "license": "MIT" + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/ms": { + "version": "2.1.3", + "dev": true, + "license": "MIT" + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/parent-module": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/parse-json": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/path-parse": { + "version": "1.0.7", + "dev": true, + "license": "MIT" + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/path-type": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/picocolors": { + "version": "1.1.1", + "dev": true, + "license": "ISC" + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/regenerator-runtime": { + "version": "0.14.1", + "dev": true, + "license": "MIT" + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/resolve": { + "version": "1.22.8", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/resolve-from": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/source-map": { + "version": "0.5.7", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/stylis": { + "version": "4.2.0", + "dev": true, + "license": "MIT" + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/fontawesome/node_modules/@emotion/styled/node_modules/yaml": { + "version": "1.10.2", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "packages/fontawesome/node_modules/react": { + "version": "19.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" } }, "packages/icons": { diff --git a/package.json b/package.json index 45bd4da635..a0f916c9c4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "lifterlms", - "version": "7.8.5", + "version": "7.8.7", "description": "LifterLMS by codeBOX", "repository": { "type": "git", diff --git a/packages/llms-e2e-test-utils/src/import-course.js b/packages/llms-e2e-test-utils/src/import-course.js index 11485743f5..b2455bc7fd 100644 --- a/packages/llms-e2e-test-utils/src/import-course.js +++ b/packages/llms-e2e-test-utils/src/import-course.js @@ -2,7 +2,7 @@ import { clickAndWait } from './click-and-wait'; // External dependencies. -import { visitAdminPage } from '@wordpress/e2e-test-utils'; +import { visitAdminPage, clickButton } from '@wordpress/e2e-test-utils'; /** * Import a course JSON file @@ -28,7 +28,7 @@ export async function importCourse( await visitAdminPage( 'admin.php', 'page=llms-import' ); // Upload button - await page.click( '.llms-setting-group.top button.llms-button-primary' ); + await clickButton('Upload'); const inputSelector = 'input[name="llms_import"]'; await page.waitForSelector( inputSelector ); @@ -37,9 +37,10 @@ export async function importCourse( fileUpload.uploadFile( file ); await page.waitForTimeout( 1000 ); - await clickAndWait( '#llms-import-file-submit' ); + await clickButton( 'Import' ); if ( navigate ) { + await page.waitForSelector( '.llms-admin-notice.notice-success a' ); await clickAndWait( '.llms-admin-notice.notice-success a' ); } } diff --git a/templates/content-single-course-before.php b/templates/content-single-course-before.php index 5ffbb9c667..95c7b82434 100644 --- a/templates/content-single-course-before.php +++ b/templates/content-single-course-before.php @@ -17,7 +17,7 @@ if ( 'yes' === $course->get( 'time_period' ) ) { // If the start date hasn't passed yet. - if ( ! $course->has_date_passed( 'start_date' ) ) { + if ( $course->get( 'start_date' ) && ! $course->has_date_passed( 'start_date' ) ) { llms_add_notice( $course->get( 'course_opens_message' ), 'notice' ); @@ -30,4 +30,3 @@ llms_print_notices(); do_action( 'lifterlms_single_course_before_summary' ); - diff --git a/templates/course/lesson-preview.php b/templates/course/lesson-preview.php index 15ed7cd36f..3aa2ca8c19 100644 --- a/templates/course/lesson-preview.php +++ b/templates/course/lesson-preview.php @@ -19,11 +19,10 @@ defined( 'ABSPATH' ) || exit; $restrictions = llms_page_restricted( $lesson->get( 'id' ), get_current_user_id() ); -$data_msg = $restrictions['is_restricted'] ? ' data-tooltip-msg="' . esc_html( strip_tags( llms_get_restriction_message( $restrictions ) ) ) . '"' : ''; ?>