diff --git a/CHANGELOG.md b/CHANGELOG.md index 1aea582..8940146 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to this project will be documented in this file. +## 1.0.1 - 2018-11-07 + +### Added +- Nav badge count displays number of jobs +- Tippy.js tooltips for better tooltips (such as quickly viewing the error when hovering over the job status) + ## 1.0.0 - 2018-11-05 ### Added diff --git a/README.md b/README.md index 81bd5ea..71b90e8 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,6 @@ Full queue: Some things to do, and ideas for potential features: -- CP nav badge - Cron documentation - Responsive tables - Filter results diff --git a/composer.json b/composer.json index 69a4724..1fdb129 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "lukeyouell/craft-queue-manager", "description": "Job Queue Manager for Craft CMS.", "type": "craft-plugin", - "version": "1.0.0", + "version": "1.0.1", "keywords": [ "craft", "cms", diff --git a/package-lock.json b/package-lock.json index 04a3bb1..3799890 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6748,6 +6748,12 @@ "find-up": "^2.1.0" } }, + "popper.js": { + "version": "1.14.4", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.4.tgz", + "integrity": "sha1-juwdj/AqWjoVLdQ0FKFce3n9abY=", + "dev": true + }, "portfinder": { "version": "1.0.19", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.19.tgz", @@ -10710,6 +10716,15 @@ "setimmediate": "^1.0.4" } }, + "tippy.js": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/tippy.js/-/tippy.js-3.1.1.tgz", + "integrity": "sha512-okRIUESCkUTLxV90XwOudmWAlwUN4aCcRoA+JP79oWG2SOMo8OUQoJITYfCZFMOD9Qc5bQ3p8Lha0EttisTp1g==", + "dev": true, + "requires": { + "popper.js": "^1.14.4" + } + }, "to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", diff --git a/package.json b/package.json index 6ecdf7d..dead238 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "expose-loader": "^0.7.5", "laravel-mix": "^2.1.11", "laravel-mix-purgecss": "^2.0.0", - "tailwindcss": "^0.6.6" + "tailwindcss": "^0.6.6", + "tippy.js": "^3.1.1" } } diff --git a/src/QueueManager.php b/src/QueueManager.php index 887ae22..eeccc07 100644 --- a/src/QueueManager.php +++ b/src/QueueManager.php @@ -50,6 +50,7 @@ public function getCpNavItem() $ret = parent::getCpNavItem(); $ret['label'] = $this->name; + $ret['badgeCount'] = $this->queue->getJobCount(); return $ret; } diff --git a/src/assetbundles/dist/bundle.js b/src/assetbundles/dist/bundle.js index 97f7a12..c090263 100644 --- a/src/assetbundles/dist/bundle.js +++ b/src/assetbundles/dist/bundle.js @@ -1 +1 @@ -!function(t){var n={};function o(e){if(n[e])return n[e].exports;var r=n[e]={i:e,l:!1,exports:{}};return t[e].call(r.exports,r,r.exports,o),r.l=!0,r.exports}o.m=t,o.c=n,o.d=function(t,n,e){o.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:e})},o.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(n,"a",n),n},o.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},o.p="/",o(o.s=0)}([function(t,n,o){o(1),t.exports=o(2)},function(t,n){$(".qm-dropdown-button").on("click",function(){$(this).parent().find(".qm-dropdown-menu").toggle()}),$(".qm-view-data").on("click",function(){var t=$(this).data("job-id");$(".qm-table-data[data-job-id="+t+"]").toggle()})},function(t,n){}]); \ No newline at end of file +!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=0)}([function(e,t,n){n(1),e.exports=n(4)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(2),o=Object.assign||function(e){for(var t=1;t')):t.className="tippy-arrow",t},E=function(){var e=v();return e.className="tippy-backdrop",e.setAttribute("data-state","hidden"),e},O=function(e,t){e.setAttribute("tabindex","-1"),t.setAttribute("data-interactive","")},x=function(e,t){var n=v();n.className="tippy-popper",n.setAttribute("role","tooltip"),n.id="tippy-"+e,n.style.zIndex=t.zIndex;var r=v();r.className="tippy-tooltip",r.setAttribute("data-size",t.size),r.setAttribute("data-animation",t.animation),r.setAttribute("data-state","hidden"),t.theme.split(" ").forEach(function(e){r.classList.add(e+"-theme")});var o=v();return o.className="tippy-content",o.setAttribute("data-state","hidden"),t.interactive&&O(n,r),t.arrow&&r.appendChild(w(t.arrowType)),t.animateFill&&(r.appendChild(E()),r.setAttribute("data-animatefill","")),t.inertia&&r.setAttribute("data-inertia",""),f(o,t),r.appendChild(o),n.appendChild(r),n.addEventListener("focusout",function(e){e.relatedTarget&&n._tippy&&!D(e.relatedTarget,function(e){return e===n})&&e.relatedTarget!==n._tippy.reference&&n._tippy.props.shouldPopperHideOnBlur(e)&&n._tippy.hide()}),n},L=function(e,t,n){var r=h(e),o=r.tooltip,i=r.content,a=r.backdrop,p=r.arrow;e.style.zIndex=n.zIndex,o.setAttribute("data-size",n.size),o.setAttribute("data-animation",n.animation),t.content!==n.content&&f(i,n),!t.animateFill&&n.animateFill?(o.appendChild(E()),o.setAttribute("data-animatefill","")):t.animateFill&&!n.animateFill&&(o.removeChild(a),o.removeAttribute("data-animatefill")),!t.arrow&&n.arrow?o.appendChild(w(n.arrowType)):t.arrow&&!n.arrow&&o.removeChild(p),t.arrow&&n.arrow&&t.arrowType!==n.arrowType&&o.replaceChild(w(n.arrowType),p),!t.interactive&&n.interactive?O(e,o):t.interactive&&!n.interactive&&function(e,t){e.removeAttribute("tabindex"),t.removeAttribute("data-interactive")}(e,o),!t.inertia&&n.inertia?function(e){e.setAttribute("data-inertia","")}(o):t.inertia&&!n.inertia&&function(e){e.removeAttribute("data-inertia")}(o),t.theme!==n.theme&&(t.theme.split(" ").forEach(function(e){o.classList.remove(e+"-theme")}),n.theme.split(" ").forEach(function(e){o.classList.add(e+"-theme")}))},C=function(e){u(document.querySelectorAll(p.POPPER)).forEach(function(t){var n=t._tippy;!n||!0!==n.props.hideOnClick||e&&t===e.popper||n.hide()})},T=function(e){return Object.keys(i).reduce(function(t,n){var r,o=(e.getAttribute("data-tippy-"+n)||"").trim();return o?("content"===n?t[n]=o:"true"===o?t[n]=!0:"false"===o?t[n]=!1:(r=o,isNaN(r)||isNaN(parseFloat(r))?"["===o[0]||"{"===o[0]?t[n]=JSON.parse(o):t[n]=o:t[n]=Number(o)),t):t},{})},A=function(e){var t={isVirtual:!0,attributes:e.attributes||{},setAttribute:function(t,n){e.attributes[t]=n},getAttribute:function(t){return e.attributes[t]},removeAttribute:function(t){delete e.attributes[t]},hasAttribute:function(t){return t in e.attributes},addEventListener:function(){},removeEventListener:function(){},classList:{classNames:{},add:function(t){e.classList.classNames[t]=!0},remove:function(t){delete e.classList.classNames[t]},contains:function(t){return t in e.classList.classNames}}};for(var n in t)e[n]=t[n];return e},P=function(){if(c){var e=Element.prototype;return e.matches||e.matchesSelector||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector}}(),k=function(e,t){return(Element.prototype.closest||function(e){for(var t=this;t;){if(P.call(t,e))return t;t=t.parentElement}}).call(e,t)},D=function(e,t){for(;e;){if(t(e))return e;e=e.parentElement}},M=function(e){var t=window.scrollX||window.pageXOffset,n=window.scrollY||window.pageYOffset;e.focus(),scroll(t,n)},N=function(e,t){return(t?e:{X:"Y",Y:"X"}[e])||""},I=function(e,t,n,r){var o=t[0],i=t[1];return o||i?{scale:i?n?o+", "+i:i+", "+o:""+o,translate:i?n?r?o+"px, "+-i+"px":o+"px, "+i+"px":r?-i+"px, "+o+"px":i+"px, "+o+"px":r?-o+"px":o+"px"}[e]:""},S=function(e,t){var n=e.match(new RegExp(t+"([XY])"));return n?n[1]:""},F=function(e,t){var n=e.match(t);return n?n[1].split(",").map(parseFloat):[]},H=/translateX?Y?\(([^)]+)\)/,R=/scaleX?Y?\(([^)]+)\)/,B=function(e,t){var n=V(k(e,p.POPPER)),r="top"===n||"bottom"===n,o="right"===n||"bottom"===n,i={translate:{axis:S(t,"translate"),numbers:F(t,H)},scale:{axis:S(t,"scale"),numbers:F(t,R)}},a=t.replace(H,"translate"+N(i.translate.axis,r)+"("+I("translate",i.translate.numbers,r,o)+")").replace(R,"scale"+N(i.scale.axis,r)+"("+I("scale",i.scale.numbers,r,o)+")");e.style[void 0!==document.body.style.transform?"transform":"webkitTransform"]=a},W=function(e,t){e.filter(Boolean).forEach(function(e){e.setAttribute("data-state",t)})},_=function(e,t){var n=e.popper,r=e.options,o=r.onCreate,i=r.onUpdate;r.onCreate=r.onUpdate=function(){!function(e){e.offsetHeight}(n),t(),i(),r.onCreate=o,r.onUpdate=i}},j=function(e){setTimeout(e,1)},U=function(e,t,n,r){if(!e)return!0;var o=n.clientX,i=n.clientY,a=r.interactiveBorder,p=r.distance,s=t.top-i>("top"===e?a+p:a),c=i-t.bottom>("bottom"===e?a+p:a),u=t.left-o>("left"===e?a+p:a),f=o-t.right>("right"===e?a+p:a);return s||c||u||f},z=function(e,t){return-(e-t)+"px"},V=function(e){var t=e.getAttribute("x-placement");return t?t.split("-")[0]:""},Y=function(e,t){var n=o({},t,t.performance?{}:T(e));return n.arrow&&(n.animateFill=!1),"function"==typeof n.appendTo&&(n.appendTo=t.appendTo(e)),"function"==typeof n.content&&(n.content=t.content(e)),n},q=function(e,t,n){e[t+"EventListener"]("transitionend",n)},X=function(e,t){var n=void 0;return function(){var r=this,o=arguments;clearTimeout(n),n=setTimeout(function(){return e.apply(r,o)},t)}},K=function(e,t){for(var n in e||{})if(!(n in t))throw Error("[tippy]: `"+n+"` is not a valid option")},G=c?navigator:{},J=c?window:{},Q=/MSIE |Trident\//.test(G.userAgent),Z=/iPhone|iPad|iPod/.test(G.platform)&&!J.MSStream,ee="ontouchstart"in J,te=!1,ne=function(){te||(te=!0,Z&&document.body.classList.add("tippy-iOS"),window.performance&&document.addEventListener("mousemove",oe))},re=0,oe=function e(){var t=performance.now();t-re<20&&(te=!1,document.removeEventListener("mousemove",e),Z||document.body.classList.remove("tippy-iOS")),re=t},ie=function(e){var t=e.target;if(!(t instanceof Element))return C();var n=k(t,p.POPPER);if(!(n&&n._tippy&&n._tippy.props.interactive)){var r=D(t,function(e){return e._tippy&&e._tippy.reference===e});if(r){var o=r._tippy,i=o.props.trigger.indexOf("click")>-1;if(te||i)return C(o);if(!0!==o.props.hideOnClick||i)return;o.clearDelayTimeouts()}C()}},ae=function(){var e=document.activeElement;e&&e.blur&&e._tippy&&e.blur()},pe=function(){u(document.querySelectorAll(p.POPPER)).forEach(function(e){var t=e._tippy;t.props.livePlacement||t.popperInstance.scheduleUpdate()})};var se=1;function ce(e,t){var n=Y(e,t);if(!n.multiple&&e._tippy)return null;var s=null,c={},f=null,m=0,v=0,b=!1,g=function(){},w=[],E=!1,O=!1,C=n.interactiveDebounce>0?X(J,n.interactiveDebounce):J,T=se++,A=x(T,n),P=h(A),N={id:T,reference:e,popper:A,popperChildren:P,popperInstance:null,props:n,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},clearDelayTimeouts:he,set:me,setContent:function(e){me({content:e})},show:ve,hide:be,enable:function(){N.state.isEnabled=!0},disable:function(){N.state.isEnabled=!1},destroy:ge};return le(),e.addEventListener("click",I),n.lazy||(N.popperInstance=ae(),N.popperInstance.disableEventListeners()),n.showOnInit&&setTimeout(F,20),!n.a11y||n.target||l(e)||e.setAttribute("tabindex","0"),e._tippy=N,A._tippy=N,N;function I(){j(function(){E=!1})}function S(e){var t=f=e,n=t.clientX,r=t.clientY;if(N.popperInstance){var o=N.reference.getBoundingClientRect(),i=N.props.followCursor,a="horizontal"===i,p="vertical"===i;N.popperInstance.reference={getBoundingClientRect:function(){return{width:0,height:0,top:a?o.top:r,bottom:a?o.bottom:r,left:p?o.left:n,right:p?o.right:n}},clientWidth:0,clientHeight:0},N.popperInstance.scheduleUpdate()}}function F(e){if(he(),!N.state.isVisible){if(N.props.target)return function(e){var t=k(e.target,N.props.target);t&&!t._tippy&&(ce(t,o({},N.props,{target:"",showOnInit:!0})),F(e))}(e);if(b=!0,N.props.wait)return N.props.wait(N,e);pe()&&(P.arrow&&(P.arrow.style.margin="0"),document.addEventListener("mousemove",S));var t=y(N.props.delay,0,i.delay);t?m=setTimeout(function(){ve()},t):ve()}}function H(){if(he(),!N.state.isVisible)return R();b=!1;var e=y(N.props.delay,1,i.delay);e?v=setTimeout(function(){N.state.isVisible&&be()},e):be()}function R(){document.removeEventListener("mousemove",S),f=null}function $(){document.body.removeEventListener("mouseleave",H),document.removeEventListener("mousemove",C)}function G(e){N.state.isEnabled&&!ie(e)&&(N.state.isVisible||(c=e),"click"===e.type&&!1!==N.props.hideOnClick&&N.state.isVisible?H():F(e))}function J(e){var t=D(e.target,function(e){return e._tippy}),n=k(e.target,p.POPPER)===N.popper,r=t===N.reference;n||r||U(V(N.popper),N.popper.getBoundingClientRect(),e,N.props)&&($(),H())}function Z(e){if(!ie(e))return N.props.interactive?(document.body.addEventListener("mouseleave",H),void document.addEventListener("mousemove",C)):void H()}function ne(e){if(e.target===N.reference){if(N.props.interactive){if(!e.relatedTarget)return;if(k(e.relatedTarget,p.POPPER))return}H()}}function re(e){k(e.target,N.props.target)&&F(e)}function oe(e){k(e.target,N.props.target)&&H()}function ie(e){var t=e.type.indexOf("touch")>-1,n=ee&&te&&N.props.touchHold&&!t,r=te&&!N.props.touchHold&&t;return n||r}function ae(){var e=N.popperChildren.tooltip,t=N.props.popperOptions,n=p["round"===N.props.arrowType?"ROUND_ARROW":"ARROW"],a=e.querySelector(n),u=o({placement:N.props.placement},t||{},{modifiers:o({},t?t.modifiers:{},{arrow:o({element:n},t&&t.modifiers?t.modifiers.arrow:{}),flip:o({enabled:N.props.flip,padding:N.props.distance+5,behavior:N.props.flipBehavior},t&&t.modifiers?t.modifiers.flip:{}),offset:o({offset:N.props.offset},t&&t.modifiers?t.modifiers.offset:{})}),onCreate:function(){e.style[V(N.popper)]=z(N.props.distance,i.distance),a&&N.props.arrowTransform&&B(a,N.props.arrowTransform)},onUpdate:function(){var t=e.style;t.top="",t.bottom="",t.left="",t.right="",t[V(N.popper)]=z(N.props.distance,i.distance),a&&N.props.arrowTransform&&B(a,N.props.arrowTransform)}}),f=new MutationObserver(function(){N.popperInstance.update()});return f.observe(N.popper,{childList:!0,subtree:!0}),s&&s.disconnect(),s=f,O||(O=!0,N.popper.addEventListener("mouseenter",function(e){N.props.interactive&&N.state.isVisible&&"mouseenter"===c.type&&F(e)}),N.popper.addEventListener("mouseleave",function(e){N.props.interactive&&"mouseenter"===c.type&&0===N.props.interactiveDebounce&&U(V(N.popper),N.popper.getBoundingClientRect(),e,N.props)&&H()})),new r.a(N.reference,N.popper,u)}function pe(){return N.props.followCursor&&!te&&"focus"!==c.type}function ue(e,t){if(0===e)return t();var n=N.popperChildren.tooltip,r=function e(r){r.target===n&&(q(n,"remove",e),t())};q(n,"remove",g),q(n,"add",r),g=r}function fe(e,t,n){N.reference.addEventListener(e,t),n.push({eventType:e,handler:t})}function le(){w=N.props.trigger.trim().split(" ").reduce(function(e,t){if("manual"===t)return e;if(N.props.target)switch(t){case"mouseenter":fe("mouseover",re,e),fe("mouseout",oe,e);break;case"focus":fe("focusin",re,e),fe("focusout",oe,e);break;case"click":fe(t,re,e)}else switch(fe(t,G,e),N.props.touchHold&&(fe("touchstart",G,e),fe("touchend",Z,e)),t){case"mouseenter":fe("mouseleave",Z,e);break;case"focus":fe(Q?"focusout":"blur",ne,e)}return e},[])}function de(){w.forEach(function(e){var t=e.eventType,n=e.handler;N.reference.removeEventListener(t,n)})}function he(){clearTimeout(m),clearTimeout(v)}function me(e){K(e,i);var t=N.props,n=Y(N.reference,o({},N.props,e,{performance:!0}));n.performance=e.performance||t.performance,N.props=n,("trigger"in e||"touchHold"in e)&&(de(),le()),"interactiveDebounce"in e&&($(),C=X(J,e.interactiveDebounce)),L(N.popper,t,n),N.popperChildren=h(N.popper),N.popperInstance&&a.some(function(t){return t in e})&&(N.popperInstance.destroy(),N.popperInstance=ae(),N.state.isVisible||N.popperInstance.disableEventListeners(),N.props.followCursor&&f&&S(f))}function ve(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:y(N.props.duration,0,i.duration[0]);if(!N.state.isDestroyed&&N.state.isEnabled&&(!te||N.props.touch))return N.reference.isVirtual||document.documentElement.contains(N.reference)?void(N.reference.hasAttribute("disabled")||(E?E=!1:!1!==N.props.onShow(N)&&(N.popper.style.visibility="visible",N.state.isVisible=!0,d([N.popper,N.popperChildren.tooltip,N.popperChildren.backdrop],0),function(e){if(N.popperInstance?(pe()||N.popperInstance.scheduleUpdate(),N.props.livePlacement&&!pe()&&N.popperInstance.enableEventListeners()):(N.popperInstance=ae(),N.props.livePlacement||N.popperInstance.disableEventListeners()),N.popperInstance.reference=N.reference,pe()){N.popperChildren.arrow&&(N.popperChildren.arrow.style.margin="");var t=y(N.props.delay,0,i.delay);c.type&&S(t&&f?f:c)}_(N.popperInstance,e),N.props.appendTo.contains(N.popper)||(N.props.appendTo.appendChild(N.popper),N.props.onMount(N),N.state.isMounted=!0)}(function(){N.state.isVisible&&(pe()||N.popperInstance.update(),d([N.popperChildren.tooltip,N.popperChildren.backdrop,N.popperChildren.content],e),N.popperChildren.backdrop&&(N.popperChildren.content.style.transitionDelay=Math.round(e/6)+"ms"),N.props.interactive&&N.reference.classList.add("tippy-active"),N.props.sticky&&(d([N.popper],Q?0:N.props.updateDuration),function e(){N.popperInstance&&N.popperInstance.scheduleUpdate(),N.state.isMounted?requestAnimationFrame(e):d([N.popper],0)}()),W([N.popperChildren.tooltip,N.popperChildren.backdrop,N.popperChildren.content],"visible"),function(e,t){ue(e,t)}(e,function(){0===N.props.updateDuration&&N.popperChildren.tooltip.classList.add("tippy-notransition"),N.props.interactive&&["focus","click"].indexOf(c.type)>-1&&M(N.popper),N.reference.setAttribute("aria-describedby",N.popper.id),N.props.onShown(N),N.state.isShown=!0}))})))):ge()}function be(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:y(N.props.duration,1,i.duration[1]);!N.state.isDestroyed&&N.state.isEnabled&&!1!==N.props.onHide(N)&&(0===N.props.updateDuration&&N.popperChildren.tooltip.classList.remove("tippy-notransition"),N.props.interactive&&N.reference.classList.remove("tippy-active"),N.popper.style.visibility="hidden",N.state.isVisible=!1,N.state.isShown=!1,d([N.popperChildren.tooltip,N.popperChildren.backdrop,N.popperChildren.content],e),W([N.popperChildren.tooltip,N.popperChildren.backdrop,N.popperChildren.content],"hidden"),N.props.interactive&&!E&&["focus","click"].indexOf(c.type)>-1&&("focus"===c.type&&(E=!0),M(N.reference)),function(e,t){ue(e,function(){!N.state.isVisible&&N.props.appendTo.contains(N.popper)&&t()})}(e,function(){b||R(),N.reference.removeAttribute("aria-describedby"),N.popperInstance.disableEventListeners(),N.props.appendTo.removeChild(N.popper),N.state.isMounted=!1,N.props.onHidden(N)}))}function ge(e){N.state.isDestroyed||(N.state.isVisible&&be(0),de(),N.reference.removeEventListener("click",I),delete N.reference._tippy,N.props.target&&e&&u(N.reference.querySelectorAll(N.props.target)).forEach(function(e){return e._tippy&&e._tippy.destroy()}),N.popperInstance&&N.popperInstance.destroy(),s&&s.disconnect(),N.state.isDestroyed=!0)}}var ue=!1,fe=!1;function le(e,t,n){K(t,i),ue||(!function(e){document.addEventListener("click",ie,e),document.addEventListener("touchstart",ne),window.addEventListener("blur",ae),window.addEventListener("resize",pe),ee||!navigator.maxTouchPoints&&!navigator.msMaxTouchPoints||document.addEventListener("pointerdown",ne)}(fe),ue=!0);var r=o({},i,t);m(e)&&A(e);var a=g(e),p=a[0],s=(n&&p?[p]:a).reduce(function(e,t){var n=t&&ce(t,r);return n&&e.push(n),e},[]);return{targets:e,props:r,instances:s,destroyAll:function(){this.instances.forEach(function(e){e.destroy()}),this.instances=[]}}}le.version="3.1.1",le.defaults=i,le.one=function(e,t){return le(e,t,!0).instances[0]},le.setDefaults=function(e){!function(e){i=o({},i,e)}(e),le.defaults=i},le.disableAnimations=function(){le.setDefaults({duration:0,updateDuration:0,animateFill:!1})},le.hideAllPoppers=C,le.useCapture=function(){fe=!0};c&&setTimeout(function(){u(document.querySelectorAll("[data-tippy]")).forEach(function(e){var t=e.getAttribute("data-tippy");t&&le(e,{content:t})})});$(".qm-dropdown-button").on("click",function(){$(this).parent().find(".qm-dropdown-menu").toggle()}),$(".qm-view-data").on("click",function(){var e=$(this).data("job-id");$(".qm-table-data[data-job-id="+e+"]").toggle()})},function(e,t,n){"use strict";(function(e){for(var n="undefined"!=typeof window&&"undefined"!=typeof document,r=["Edge","Trident","Firefox"],o=0,i=0;i=0){o=1;break}var a=n&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},o))}};function p(e){return e&&"[object Function]"==={}.toString.call(e)}function s(e,t){if(1!==e.nodeType)return[];var n=getComputedStyle(e,null);return t?n[t]:n}function c(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function u(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=s(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/(auto|scroll|overlay)/.test(n+o+r)?e:u(c(e))}var f=n&&!(!window.MSInputMethodContext||!document.documentMode),l=n&&/MSIE 10/.test(navigator.userAgent);function d(e){return 11===e?f:10===e?l:f||l}function h(e){if(!e)return document.documentElement;for(var t=d(10)?document.body:null,n=e.offsetParent;n===t&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var r=n&&n.nodeName;return r&&"BODY"!==r&&"HTML"!==r?-1!==["TD","TABLE"].indexOf(n.nodeName)&&"static"===s(n,"position")?h(n):n:e?e.ownerDocument.documentElement:document.documentElement}function m(e){return null!==e.parentNode?m(e.parentNode):e}function v(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var n=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,r=n?e:t,o=n?t:e,i=document.createRange();i.setStart(r,0),i.setEnd(o,0);var a,p,s=i.commonAncestorContainer;if(e!==s&&t!==s||r.contains(o))return"BODY"===(p=(a=s).nodeName)||"HTML"!==p&&h(a.firstElementChild)!==a?h(s):s;var c=m(e);return c.host?v(c.host,t):v(e,m(t).host)}function b(e){var t="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=e.nodeName;if("BODY"===n||"HTML"===n){var r=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||r)[t]}return e[t]}function g(e,t){var n="x"===t?"Left":"Top",r="Left"===n?"Right":"Bottom";return parseFloat(e["border"+n+"Width"],10)+parseFloat(e["border"+r+"Width"],10)}function y(e,t,n,r){return Math.max(t["offset"+e],t["scroll"+e],n["client"+e],n["offset"+e],n["scroll"+e],d(10)?parseInt(n["offset"+e])+parseInt(r["margin"+("Height"===e?"Top":"Left")])+parseInt(r["margin"+("Height"===e?"Bottom":"Right")]):0)}function w(e){var t=e.body,n=e.documentElement,r=d(10)&&getComputedStyle(n);return{height:y("Height",t,n,r),width:y("Width",t,n,r)}}var E=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},O=function(){function e(e,t){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2],r=d(10),o="HTML"===t.nodeName,i=T(e),a=T(t),p=u(e),c=s(t),f=parseFloat(c.borderTopWidth,10),l=parseFloat(c.borderLeftWidth,10);n&&o&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var h=C({top:i.top-a.top-f,left:i.left-a.left-l,width:i.width,height:i.height});if(h.marginTop=0,h.marginLeft=0,!r&&o){var m=parseFloat(c.marginTop,10),v=parseFloat(c.marginLeft,10);h.top-=f-m,h.bottom-=f-m,h.left-=l-v,h.right-=l-v,h.marginTop=m,h.marginLeft=v}return(r&&!n?t.contains(p):t===p&&"BODY"!==p.nodeName)&&(h=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=b(t,"top"),o=b(t,"left"),i=n?-1:1;return e.top+=r*i,e.bottom+=r*i,e.left+=o*i,e.right+=o*i,e}(h,t)),h}function P(e){if(!e||!e.parentElement||d())return document.documentElement;for(var t=e.parentElement;t&&"none"===s(t,"transform");)t=t.parentElement;return t||document.documentElement}function k(e,t,n,r){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],i={top:0,left:0},a=o?P(e):v(e,t);if("viewport"===r)i=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.ownerDocument.documentElement,r=A(e,n),o=Math.max(n.clientWidth,window.innerWidth||0),i=Math.max(n.clientHeight,window.innerHeight||0),a=t?0:b(n),p=t?0:b(n,"left");return C({top:a-r.top+r.marginTop,left:p-r.left+r.marginLeft,width:o,height:i})}(a,o);else{var p=void 0;"scrollParent"===r?"BODY"===(p=u(c(t))).nodeName&&(p=e.ownerDocument.documentElement):p="window"===r?e.ownerDocument.documentElement:r;var f=A(p,a,o);if("HTML"!==p.nodeName||function e(t){var n=t.nodeName;return"BODY"!==n&&"HTML"!==n&&("fixed"===s(t,"position")||e(c(t)))}(a))i=f;else{var l=w(e.ownerDocument),d=l.height,h=l.width;i.top+=f.top-f.marginTop,i.bottom=d+f.top,i.left+=f.left-f.marginLeft,i.right=h+f.left}}var m="number"==typeof(n=n||0);return i.left+=m?n:n.left||0,i.top+=m?n:n.top||0,i.right-=m?n:n.right||0,i.bottom-=m?n:n.bottom||0,i}function D(e,t,n,r,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf("auto"))return e;var a=k(n,r,i,o),p={top:{width:a.width,height:t.top-a.top},right:{width:a.right-t.right,height:a.height},bottom:{width:a.width,height:a.bottom-t.bottom},left:{width:t.left-a.left,height:a.height}},s=Object.keys(p).map(function(e){return L({key:e},p[e],{area:(t=p[e],t.width*t.height)});var t}).sort(function(e,t){return t.area-e.area}),c=s.filter(function(e){var t=e.width,r=e.height;return t>=n.clientWidth&&r>=n.clientHeight}),u=c.length>0?c[0].key:s[0].key,f=e.split("-")[1];return u+(f?"-"+f:"")}function M(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return A(n,r?P(t):v(t,n),r)}function N(e){var t=getComputedStyle(e),n=parseFloat(t.marginTop)+parseFloat(t.marginBottom),r=parseFloat(t.marginLeft)+parseFloat(t.marginRight);return{width:e.offsetWidth+r,height:e.offsetHeight+n}}function I(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function S(e,t,n){n=n.split("-")[0];var r=N(e),o={width:r.width,height:r.height},i=-1!==["right","left"].indexOf(n),a=i?"top":"left",p=i?"left":"top",s=i?"height":"width",c=i?"width":"height";return o[a]=t[a]+t[s]/2-r[s]/2,o[p]=n===p?t[p]-r[c]:t[I(p)],o}function F(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function H(e,t,n){return(void 0===n?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===n});var r=F(e,function(e){return e[t]===n});return e.indexOf(r)}(e,"name",n))).forEach(function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=e.function||e.fn;e.enabled&&p(n)&&(t.offsets.popper=C(t.offsets.popper),t.offsets.reference=C(t.offsets.reference),t=n(t,e))}),t}function R(e,t){return e.some(function(e){var n=e.name;return e.enabled&&n===t})}function B(e){for(var t=[!1,"ms","Webkit","Moz","O"],n=e.charAt(0).toUpperCase()+e.slice(1),r=0;r1&&void 0!==arguments[1]&&arguments[1],n=q.indexOf(e),r=q.slice(n+1).concat(q.slice(0,n));return t?r.reverse():r}var K={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function $(e,t,n,r){var o=[0,0],i=-1!==["right","left"].indexOf(r),a=e.split(/(\+|\-)/).map(function(e){return e.trim()}),p=a.indexOf(F(a,function(e){return-1!==e.search(/,|\s/)}));a[p]&&-1===a[p].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var s=/\s*,\s*|\s+/,c=-1!==p?[a.slice(0,p).concat([a[p].split(s)[0]]),[a[p].split(s)[1]].concat(a.slice(p+1))]:[a];return(c=c.map(function(e,r){var o=(1===r?!i:i)?"height":"width",a=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,a=!0,e):a?(e[e.length-1]+=t,a=!1,e):e.concat(t)},[]).map(function(e){return function(e,t,n,r){var o=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),i=+o[1],a=o[2];if(!i)return e;if(0===a.indexOf("%")){var p=void 0;switch(a){case"%p":p=n;break;case"%":case"%r":default:p=r}return C(p)[t]/100*i}if("vh"===a||"vw"===a)return("vh"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*i;return i}(e,o,t,n)})})).forEach(function(e,t){e.forEach(function(n,r){U(n)&&(o[t]+=n*("-"===e[r-1]?-1:1))})}),o}var G={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,n=t.split("-")[0],r=t.split("-")[1];if(r){var o=e.offsets,i=o.reference,a=o.popper,p=-1!==["bottom","top"].indexOf(n),s=p?"left":"top",c=p?"width":"height",u={start:x({},s,i[s]),end:x({},s,i[s]+i[c]-a[c])};e.offsets.popper=L({},a,u[r])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var n=t.offset,r=e.placement,o=e.offsets,i=o.popper,a=o.reference,p=r.split("-")[0],s=void 0;return s=U(+n)?[+n,0]:$(n,i,a,p),"left"===p?(i.top+=s[0],i.left-=s[1]):"right"===p?(i.top+=s[0],i.left+=s[1]):"top"===p?(i.left+=s[0],i.top-=s[1]):"bottom"===p&&(i.left+=s[0],i.top+=s[1]),e.popper=i,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var n=t.boundariesElement||h(e.instance.popper);e.instance.reference===n&&(n=h(n));var r=B("transform"),o=e.instance.popper.style,i=o.top,a=o.left,p=o[r];o.top="",o.left="",o[r]="";var s=k(e.instance.popper,e.instance.reference,t.padding,n,e.positionFixed);o.top=i,o.left=a,o[r]=p,t.boundaries=s;var c=t.priority,u=e.offsets.popper,f={primary:function(e){var n=u[e];return u[e]s[e]&&!t.escapeWithReference&&(r=Math.min(u[n],s[e]-("right"===e?u.width:u.height))),x({},n,r)}};return c.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";u=L({},u,f[t](e))}),e.offsets.popper=u,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,r=t.reference,o=e.placement.split("-")[0],i=Math.floor,a=-1!==["top","bottom"].indexOf(o),p=a?"right":"bottom",s=a?"left":"top",c=a?"width":"height";return n[p]i(r[p])&&(e.offsets.popper[s]=i(r[p])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!V(e.instance.modifiers,"arrow","keepTogether"))return e;var r=t.element;if("string"==typeof r){if(!(r=e.instance.popper.querySelector(r)))return e}else if(!e.instance.popper.contains(r))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var o=e.placement.split("-")[0],i=e.offsets,a=i.popper,p=i.reference,c=-1!==["left","right"].indexOf(o),u=c?"height":"width",f=c?"Top":"Left",l=f.toLowerCase(),d=c?"left":"top",h=c?"bottom":"right",m=N(r)[u];p[h]-ma[h]&&(e.offsets.popper[l]+=p[l]+m-a[h]),e.offsets.popper=C(e.offsets.popper);var v=p[l]+p[u]/2-m/2,b=s(e.instance.popper),g=parseFloat(b["margin"+f],10),y=parseFloat(b["border"+f+"Width"],10),w=v-e.offsets.popper[l]-g-y;return w=Math.max(Math.min(a[u]-m,w),0),e.arrowElement=r,e.offsets.arrow=(x(n={},l,Math.round(w)),x(n,d,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(e,t){if(R(e.instance.modifiers,"inner"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var n=k(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),r=e.placement.split("-")[0],o=I(r),i=e.placement.split("-")[1]||"",a=[];switch(t.behavior){case K.FLIP:a=[r,o];break;case K.CLOCKWISE:a=X(r);break;case K.COUNTERCLOCKWISE:a=X(r,!0);break;default:a=t.behavior}return a.forEach(function(p,s){if(r!==p||a.length===s+1)return e;r=e.placement.split("-")[0],o=I(r);var c=e.offsets.popper,u=e.offsets.reference,f=Math.floor,l="left"===r&&f(c.right)>f(u.left)||"right"===r&&f(c.left)f(u.top)||"bottom"===r&&f(c.top)f(n.right),m=f(c.top)f(n.bottom),b="left"===r&&d||"right"===r&&h||"top"===r&&m||"bottom"===r&&v,g=-1!==["top","bottom"].indexOf(r),y=!!t.flipVariations&&(g&&"start"===i&&d||g&&"end"===i&&h||!g&&"start"===i&&m||!g&&"end"===i&&v);(l||b||y)&&(e.flipped=!0,(l||b)&&(r=a[s+1]),y&&(i=function(e){return"end"===e?"start":"start"===e?"end":e}(i)),e.placement=r+(i?"-"+i:""),e.offsets.popper=L({},e.offsets.popper,S(e.instance.popper,e.offsets.reference,e.placement)),e=H(e.instance.modifiers,e,"flip"))}),e},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split("-")[0],r=e.offsets,o=r.popper,i=r.reference,a=-1!==["left","right"].indexOf(n),p=-1===["top","left"].indexOf(n);return o[a?"left":"top"]=i[n]-(p?o[a?"width":"height"]:0),e.placement=I(t),e.offsets.popper=C(o),e}},hide:{order:800,enabled:!0,fn:function(e){if(!V(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=F(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottomn.right||t.top>n.bottom||t.right2&&void 0!==arguments[2]?arguments[2]:{};E(this,e),this.scheduleUpdate=function(){return requestAnimationFrame(r.update)},this.update=a(this.update.bind(this)),this.options=L({},e.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(L({},e.Defaults.modifiers,o.modifiers)).forEach(function(t){r.options.modifiers[t]=L({},e.Defaults.modifiers[t]||{},o.modifiers?o.modifiers[t]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return L({name:e},r.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&p(e.onLoad)&&e.onLoad(r.reference,r.popper,r.options,e,r.state)}),this.update();var i=this.options.eventsEnabled;i&&this.enableEventListeners(),this.state.eventsEnabled=i}return O(e,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=M(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=D(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=S(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=H(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,R(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[B("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=_(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return j.call(this)}}]),e}();J.Utils=("undefined"!=typeof window?window:e).PopperUtils,J.placements=Y,J.Defaults=G,t.a=J}).call(t,n(3))},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t){}]); \ No newline at end of file diff --git a/src/assetbundles/dist/styles.css b/src/assetbundles/dist/styles.css index e42fdc0..6f35a1a 100644 --- a/src/assetbundles/dist/styles.css +++ b/src/assetbundles/dist/styles.css @@ -1 +1 @@ -/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */header,nav,section{display:block}figcaption,main{display:block}strong{font-weight:inherit;font-weight:bolder}dfn{font-style:italic}svg:not(:root){overflow:hidden}button,input{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button{text-transform:none}[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}menu{display:block}canvas{display:inline-block}[hidden]{display:none}*,:after,:before{-webkit-box-sizing:inherit;box-sizing:inherit}button{background:transparent;padding:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}*,:after,:before{border:0 solid #dae1e7}[type=button],[type=reset],[type=submit],button{border-radius:0}button,input{font-family:inherit}input::-webkit-input-placeholder{color:inherit;opacity:.5}input::-ms-input-placeholder{color:inherit;opacity:.5}input::placeholder{color:inherit;opacity:.5}[role=button],button{cursor:pointer}table{border-collapse:collapse}.tw-rounded{border-radius:.25rem}.tw-flex{display:-webkit-box;display:-ms-flexbox;display:flex}.tw-flex-wrap{-ms-flex-wrap:wrap;flex-wrap:wrap}.tw-flex-1{-webkit-box-flex:1;-ms-flex:1;flex:1}.tw-font-bold{font-weight:700}.tw-leading-loose{line-height:2}.tw--mx-2{margin-left:-.5rem;margin-right:-.5rem}.tw-overflow-hidden{overflow:hidden}.tw-px-2{padding-left:.5rem;padding-right:.5rem}.tw-text-black{color:#22292f}.tw-text-lg{font-size:1.125rem}.tw-whitespace-no-wrap{white-space:nowrap}.tw-w-px{width:1px}.tw-w-1\/3{width:33.33333%}.tw-w-2\/3{width:66.66667%}.tw-w-full{width:100%}#main-container #main #header{display:none}#main-container #main #main-content #content-container #content{padding:0}.qm-wrapper{background-color:#f1f5f8;min-height:100vh}.qm-inner{padding:2rem}.qm-container{background-color:#fff;border-radius:.25rem;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.1);box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.qm-container>:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem;overflow-y:hidden}.qm-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:1.5rem;margin-left:-1rem;margin-right:-1rem}.qm-header>div{padding-left:1rem;padding-right:1rem}.qm-body{padding:1.5rem;border-top-width:1px;border-style:solid;border-color:#f1f5f8}.qm-button{padding:.75rem 1rem;background-color:#da5a47;font-size:.875rem;color:#fff;border-radius:.25rem;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.1);box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.qm-button:hover{background-color:#c45140}.qm-button:active{background-color:#83362b}.qm-button:active,.qm-button:focus{outline:0}.qm-table{width:100%;font-size:.875rem;color:#22292f}.qm-table thead{background-color:#f1f5f8}.qm-table thead th{font-weight:400;color:#22292f}.qm-table tbody tr td,.qm-table thead th{padding:1rem 1.5rem}.qm-table tbody tr:not(:last-child){border-bottom-width:1px;border-style:solid;border-color:#f1f5f8}.qm-table tbody .qm-table-data{display:none}.qm-table tbody .qm-table-data td{padding:1.5rem}.qm-table tbody .qm-table-data .qm-table-overview{background-color:#eff8ff;padding:1.5rem}.qm-table tbody .qm-table-data .qm-table-payload{background-color:#22292f;color:#38c172;padding:1.5rem;font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;white-space:pre-wrap}.qm-table tbody .qm-table-data .qm-table-error{background-color:#fcebea;color:#cc1f1a;padding:1.5rem}.qm-status{font-weight:700}.qm-status.qm-red{color:#cc1f1a}.qm-status.qm-orange{color:#f6993f}.qm-actions{display:-webkit-box;display:-ms-flexbox;display:flex;margin-left:-.5rem;margin-right:-.5rem}.qm-actions>div{padding-left:.5rem;padding-right:.5rem}.qm-action{display:block;color:#8795a1;cursor:pointer}.qm-action svg{display:block;width:1rem;fill:currentColor;pointer-events:none}.qm-action:hover{color:#22292f}.qm-action:active,.qm-action:focus{outline:0}.qm-message{width:100%;padding:1rem;background-color:#f1f5f8;font-size:.875rem;border-radius:.25rem} \ No newline at end of file +.tippy-iOS{cursor:pointer!important}.tippy-notransition{transition:none!important}.tippy-popper{-webkit-perspective:700px;perspective:700px;z-index:9999;outline:0;transition-timing-function:cubic-bezier(.165,.84,.44,1);pointer-events:none;line-height:1.4}.tippy-popper[x-placement^=top] .tippy-backdrop{border-radius:40% 40% 0 0}.tippy-popper[x-placement^=top] .tippy-roundarrow{bottom:-8px;-webkit-transform-origin:50% 0;transform-origin:50% 0}.tippy-popper[x-placement^=top] .tippy-roundarrow svg{position:absolute;left:0;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.tippy-popper[x-placement^=top] .tippy-arrow{border-top:8px solid #333;border-right:8px solid transparent;border-left:8px solid transparent;bottom:-7px;margin:0 6px;-webkit-transform-origin:50% 0;transform-origin:50% 0}.tippy-popper[x-placement^=top] .tippy-backdrop{-webkit-transform-origin:0 25%;transform-origin:0 25%}.tippy-popper[x-placement^=top] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-55%);transform:scale(1) translate(-50%,-55%);opacity:1}.tippy-popper[x-placement^=top] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-50%,-45%);transform:scale(.2) translate(-50%,-45%);opacity:0}.tippy-popper[x-placement^=top] [data-animation=shift-toward][data-state=visible]{opacity:1;-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=shift-toward][data-state=hidden]{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}.tippy-popper[x-placement^=top] [data-animation=perspective]{-webkit-transform-origin:bottom;transform-origin:bottom}.tippy-popper[x-placement^=top] [data-animation=perspective][data-state=visible]{opacity:1;-webkit-transform:translateY(-10px) rotateX(0);transform:translateY(-10px) rotateX(0)}.tippy-popper[x-placement^=top] [data-animation=perspective][data-state=hidden]{opacity:0;-webkit-transform:translateY(0) rotateX(60deg);transform:translateY(0) rotateX(60deg)}.tippy-popper[x-placement^=top] [data-animation=fade][data-state=visible]{opacity:1;-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=shift-away][data-state=visible]{opacity:1;-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}.tippy-popper[x-placement^=top] [data-animation=scale][data-state=visible]{opacity:1;-webkit-transform:translateY(-10px) scale(1);transform:translateY(-10px) scale(1)}.tippy-popper[x-placement^=top] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateY(0) scale(.5);transform:translateY(0) scale(.5)}.tippy-popper[x-placement^=bottom] .tippy-backdrop{border-radius:0 0 30% 30%}.tippy-popper[x-placement^=bottom] .tippy-roundarrow{top:-8px;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.tippy-popper[x-placement^=bottom] .tippy-roundarrow svg{position:absolute;left:0;-webkit-transform:rotate(0);transform:rotate(0)}.tippy-popper[x-placement^=bottom] .tippy-arrow{border-bottom:8px solid #333;border-right:8px solid transparent;border-left:8px solid transparent;top:-7px;margin:0 6px;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.tippy-popper[x-placement^=bottom] .tippy-backdrop{-webkit-transform-origin:0 -50%;transform-origin:0 -50%}.tippy-popper[x-placement^=bottom] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-45%);transform:scale(1) translate(-50%,-45%);opacity:1}.tippy-popper[x-placement^=bottom] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-50%);transform:scale(.2) translate(-50%);opacity:0}.tippy-popper[x-placement^=bottom] [data-animation=shift-toward][data-state=visible]{opacity:1;-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=shift-toward][data-state=hidden]{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}.tippy-popper[x-placement^=bottom] [data-animation=perspective]{-webkit-transform-origin:top;transform-origin:top}.tippy-popper[x-placement^=bottom] [data-animation=perspective][data-state=visible]{opacity:1;-webkit-transform:translateY(10px) rotateX(0);transform:translateY(10px) rotateX(0)}.tippy-popper[x-placement^=bottom] [data-animation=perspective][data-state=hidden]{opacity:0;-webkit-transform:translateY(0) rotateX(-60deg);transform:translateY(0) rotateX(-60deg)}.tippy-popper[x-placement^=bottom] [data-animation=fade][data-state=visible]{opacity:1;-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=shift-away][data-state=visible]{opacity:1;-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}.tippy-popper[x-placement^=bottom] [data-animation=scale][data-state=visible]{opacity:1;-webkit-transform:translateY(10px) scale(1);transform:translateY(10px) scale(1)}.tippy-popper[x-placement^=bottom] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateY(0) scale(.5);transform:translateY(0) scale(.5)}.tippy-popper[x-placement^=left] .tippy-backdrop{border-radius:50% 0 0 50%}.tippy-popper[x-placement^=left] .tippy-roundarrow{right:-16px;-webkit-transform-origin:33.33333333% 50%;transform-origin:33.33333333% 50%}.tippy-popper[x-placement^=left] .tippy-roundarrow svg{position:absolute;left:0;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.tippy-popper[x-placement^=left] .tippy-arrow{border-left:8px solid #333;border-top:8px solid transparent;border-bottom:8px solid transparent;right:-7px;margin:3px 0;-webkit-transform-origin:0 50%;transform-origin:0 50%}.tippy-popper[x-placement^=left] .tippy-backdrop{-webkit-transform-origin:50% 0;transform-origin:50% 0}.tippy-popper[x-placement^=left] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-50%);transform:scale(1) translate(-50%,-50%);opacity:1}.tippy-popper[x-placement^=left] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-75%,-50%);transform:scale(.2) translate(-75%,-50%);opacity:0}.tippy-popper[x-placement^=left] [data-animation=shift-toward][data-state=visible]{opacity:1;-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=shift-toward][data-state=hidden]{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px)}.tippy-popper[x-placement^=left] [data-animation=perspective]{-webkit-transform-origin:right;transform-origin:right}.tippy-popper[x-placement^=left] [data-animation=perspective][data-state=visible]{opacity:1;-webkit-transform:translateX(-10px) rotateY(0);transform:translateX(-10px) rotateY(0)}.tippy-popper[x-placement^=left] [data-animation=perspective][data-state=hidden]{opacity:0;-webkit-transform:translateX(0) rotateY(-60deg);transform:translateX(0) rotateY(-60deg)}.tippy-popper[x-placement^=left] [data-animation=fade][data-state=visible]{opacity:1;-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=shift-away][data-state=visible]{opacity:1;-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateX(0);transform:translateX(0)}.tippy-popper[x-placement^=left] [data-animation=scale][data-state=visible]{opacity:1;-webkit-transform:translateX(-10px) scale(1);transform:translateX(-10px) scale(1)}.tippy-popper[x-placement^=left] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateX(0) scale(.5);transform:translateX(0) scale(.5)}.tippy-popper[x-placement^=right] .tippy-backdrop{border-radius:0 50% 50% 0}.tippy-popper[x-placement^=right] .tippy-roundarrow{left:-16px;-webkit-transform-origin:66.66666666% 50%;transform-origin:66.66666666% 50%}.tippy-popper[x-placement^=right] .tippy-roundarrow svg{position:absolute;left:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.tippy-popper[x-placement^=right] .tippy-arrow{border-right:8px solid #333;border-top:8px solid transparent;border-bottom:8px solid transparent;left:-7px;margin:3px 0;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.tippy-popper[x-placement^=right] .tippy-backdrop{-webkit-transform-origin:-50% 0;transform-origin:-50% 0}.tippy-popper[x-placement^=right] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-50%);transform:scale(1) translate(-50%,-50%);opacity:1}.tippy-popper[x-placement^=right] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-25%,-50%);transform:scale(.2) translate(-25%,-50%);opacity:0}.tippy-popper[x-placement^=right] [data-animation=shift-toward][data-state=visible]{opacity:1;-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=shift-toward][data-state=hidden]{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px)}.tippy-popper[x-placement^=right] [data-animation=perspective]{-webkit-transform-origin:left;transform-origin:left}.tippy-popper[x-placement^=right] [data-animation=perspective][data-state=visible]{opacity:1;-webkit-transform:translateX(10px) rotateY(0);transform:translateX(10px) rotateY(0)}.tippy-popper[x-placement^=right] [data-animation=perspective][data-state=hidden]{opacity:0;-webkit-transform:translateX(0) rotateY(60deg);transform:translateX(0) rotateY(60deg)}.tippy-popper[x-placement^=right] [data-animation=fade][data-state=visible]{opacity:1;-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=shift-away][data-state=visible]{opacity:1;-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateX(0);transform:translateX(0)}.tippy-popper[x-placement^=right] [data-animation=scale][data-state=visible]{opacity:1;-webkit-transform:translateX(10px) scale(1);transform:translateX(10px) scale(1)}.tippy-popper[x-placement^=right] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateX(0) scale(.5);transform:translateX(0) scale(.5)}.tippy-tooltip{position:relative;color:#fff;border-radius:4px;font-size:.9rem;padding:.3rem .6rem;max-width:350px;text-align:center;will-change:transform;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#333}.tippy-tooltip[data-size=small]{padding:.2rem .4rem;font-size:.75rem}.tippy-tooltip[data-size=large]{padding:.4rem .8rem;font-size:1rem}.tippy-tooltip[data-animatefill]{overflow:hidden;background-color:transparent}.tippy-tooltip[data-interactive]{pointer-events:auto}.tippy-tooltip[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.53,2,.36,.85)}.tippy-tooltip[data-inertia][data-state=hidden]{transition-timing-function:ease}.tippy-arrow,.tippy-roundarrow{position:absolute;width:0;height:0}.tippy-roundarrow{width:24px;height:8px;fill:#333;pointer-events:none}.tippy-backdrop{position:absolute;will-change:transform;background-color:#333;border-radius:50%;width:calc(110% + 2rem);left:50%;top:50%;z-index:-1;transition:all cubic-bezier(.46,.1,.52,.98);-webkit-backface-visibility:hidden;backface-visibility:hidden}.tippy-backdrop:after{content:"";float:left;padding-top:100%}.tippy-backdrop+.tippy-content{transition-property:opacity}.tippy-backdrop+.tippy-content[data-state=visible]{opacity:1}.tippy-backdrop+.tippy-content[data-state=hidden]{opacity:0}@media (max-width:360px){.tippy-popper{max-width:96%;max-width:calc(100% - 20px)}}/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */header,nav,section{display:block}figcaption,main{display:block}strong{font-weight:inherit;font-weight:bolder}dfn{font-style:italic}svg:not(:root){overflow:hidden}button,input{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button{text-transform:none}[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}menu{display:block}canvas{display:inline-block}[hidden]{display:none}*,:after,:before{-webkit-box-sizing:inherit;box-sizing:inherit}button{background:transparent;padding:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}*,:after,:before{border:0 solid #dae1e7}[type=button],[type=reset],[type=submit],button{border-radius:0}button,input{font-family:inherit}input::-webkit-input-placeholder{color:inherit;opacity:.5}input::-ms-input-placeholder{color:inherit;opacity:.5}input::placeholder{color:inherit;opacity:.5}[role=button],button{cursor:pointer}table{border-collapse:collapse}.tw-rounded{border-radius:.25rem}.tw-flex{display:-webkit-box;display:-ms-flexbox;display:flex}.tw-flex-wrap{-ms-flex-wrap:wrap;flex-wrap:wrap}.tw-flex-1{-webkit-box-flex:1;-ms-flex:1;flex:1}.tw-font-bold{font-weight:700}.tw-leading-loose{line-height:2}.tw--mx-2{margin-left:-.5rem;margin-right:-.5rem}.tw-overflow-hidden{overflow:hidden}.tw-px-2{padding-left:.5rem;padding-right:.5rem}.tw-text-black{color:#22292f}.tw-text-lg{font-size:1.125rem}.tw-whitespace-no-wrap{white-space:nowrap}.tw-w-px{width:1px}.tw-w-1\/3{width:33.33333%}.tw-w-2\/3{width:66.66667%}.tw-w-full{width:100%}#main-container #main #header{display:none}#main-container #main #main-content #content-container #content{padding:0}.qm-wrapper{background-color:#f1f5f8;min-height:100vh}.qm-inner{padding:2rem}.qm-container{background-color:#fff;border-radius:.25rem;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.1);box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.qm-container>:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem;overflow-y:hidden}.qm-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:1.5rem;margin-left:-1rem;margin-right:-1rem}.qm-header>div{padding-left:1rem;padding-right:1rem}.qm-body{padding:1.5rem;border-top-width:1px;border-style:solid;border-color:#f1f5f8}.qm-button{padding:.75rem 1rem;background-color:#da5a47;font-size:.875rem;color:#fff;border-radius:.25rem;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.1);box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.qm-button:hover{background-color:#c45140}.qm-button:active{background-color:#83362b}.qm-button:active,.qm-button:focus{outline:0}.qm-table{width:100%;font-size:.875rem;color:#22292f}.qm-table thead{background-color:#f1f5f8}.qm-table thead th{font-weight:400;color:#22292f}.qm-table tbody tr td,.qm-table thead th{padding:1rem 1.5rem}.qm-table tbody tr:not(:last-child){border-bottom-width:1px;border-style:solid;border-color:#f1f5f8}.qm-table tbody .qm-table-data{display:none}.qm-table tbody .qm-table-data td{padding:1.5rem}.qm-table tbody .qm-table-data .qm-table-overview{background-color:#eff8ff;padding:1.5rem}.qm-table tbody .qm-table-data .qm-table-payload{background-color:#22292f;color:#38c172;padding:1.5rem;font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;white-space:pre-wrap}.qm-table tbody .qm-table-data .qm-table-error{background-color:#fcebea;color:#cc1f1a;padding:1.5rem}.qm-status{font-weight:700}.qm-status.qm-red{color:#cc1f1a}.qm-status.qm-orange{color:#f6993f}.qm-actions{display:-webkit-box;display:-ms-flexbox;display:flex;margin-left:-.5rem;margin-right:-.5rem}.qm-actions>div{padding-left:.5rem;padding-right:.5rem}.qm-action{display:block;color:#8795a1;cursor:pointer}.qm-action svg{display:block;width:1rem;fill:currentColor;pointer-events:none}.qm-action:hover{color:#22292f}.qm-action:active,.qm-action:focus{outline:0}.qm-message{width:100%;padding:1rem;background-color:#f1f5f8;font-size:.875rem;border-radius:.25rem} \ No newline at end of file diff --git a/src/assetbundles/src/styles.scss b/src/assetbundles/src/styles.scss index a197d29..2a6cd4b 100644 --- a/src/assetbundles/src/styles.scss +++ b/src/assetbundles/src/styles.scss @@ -4,6 +4,8 @@ @tailwind utilities; +@import '../../../node_modules/tippy.js/dist/tippy.css'; + /* Overrides */ #main-container #main #header { diff --git a/src/assetbundles/src/vendor.js b/src/assetbundles/src/vendor.js index a230856..ffd21d9 100644 --- a/src/assetbundles/src/vendor.js +++ b/src/assetbundles/src/vendor.js @@ -1,3 +1,5 @@ +import tippy from 'tippy.js'; + // Display dropdown menu on button click $('.qm-dropdown-button').on('click', function() { $(this).parent().find('.qm-dropdown-menu').toggle(); diff --git a/src/services/QueueService.php b/src/services/QueueService.php index 6ce7069..bf3b33f 100644 --- a/src/services/QueueService.php +++ b/src/services/QueueService.php @@ -54,6 +54,13 @@ public function getJobs($status = null) return $info; } + public function getJobCount() + { + return (new Query()) + ->from('{{%queue}}') + ->count(); + } + // Private Methods // ========================================================================= diff --git a/src/templates/_jobs/index.twig b/src/templates/_jobs/index.twig index 8a2d9c7..72bc6d2 100644 --- a/src/templates/_jobs/index.twig +++ b/src/templates/_jobs/index.twig @@ -15,7 +15,7 @@ {{ csrfInput() }} - + @@ -24,7 +24,7 @@ {{ csrfInput() }} - + @@ -51,7 +51,11 @@ {% if job.fail %} -
failed
+
failed
{% elseif job.timeUpdated is null %}
pending
{% else %} @@ -64,7 +68,7 @@
-
@@ -73,7 +77,7 @@ {{ csrfInput() }} - @@ -83,7 +87,7 @@ {{ csrfInput() }} - diff --git a/webpack.mix.js b/webpack.mix.js index 566e79d..1b41e6b 100644 --- a/webpack.mix.js +++ b/webpack.mix.js @@ -20,5 +20,5 @@ mix.js('src/assetbundles/src/vendor.js', 'src/assetbundles/dist/bundle.js') ], extractor: TailwindExtractor, extensions: ['html', 'twig', 'js', 'css', 'scss'], - whitelistPatterns: [], + whitelistPatterns: [/tippy-/], });