From 01e8afc1f64800011c36da2981bace6795950fea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Beganovi=C4=87?= Date: Thu, 16 Apr 2020 23:18:07 +0200 Subject: [PATCH] PDF preview improvements (#3632) - Added total page and current page preview - Added new "Page" translation - Replaced CDN based assets with local - Production builds of assets Co-authored-by: David Bomba --- public/css/app.css | 2 +- public/js/clients/shared/pdf.js | 2 +- public/js/vendor/alpinejs/alpine.js | 1686 +++++++++++++++++ public/mix-manifest.json | 4 +- resources/js/clients/shared/pdf.js | 23 + resources/lang/en/texts.php | 3 + .../portal/ninja2020/invoices/show.blade.php | 28 +- .../portal/ninja2020/layout/app.blade.php | 3 +- .../portal/ninja2020/layout/clean.blade.php | 1 - .../portal/ninja2020/quotes/show.blade.php | 28 +- 10 files changed, 1751 insertions(+), 29 deletions(-) create mode 100644 public/js/vendor/alpinejs/alpine.js diff --git a/public/css/app.css b/public/css/app.css index 9ef6cdeb7ca4..ce4316d6bfd0 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -1 +1 @@ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[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}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{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-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}button{background-color:transparent;background-image:none;padding:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}fieldset,ol,ul{margin:0;padding:0}ol,ul{list-style:none}html{font-family:Open Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #d2d6dc}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#a0aec0}input::-moz-placeholder,textarea::-moz-placeholder{color:#a0aec0}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#a0aec0}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:#a0aec0}input::placeholder,textarea::placeholder{color:#a0aec0}[role=button],button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#d2d6dc;border-width:1px;border-radius:.375rem;padding:.5rem .75rem;font-size:1rem;line-height:1.5}.form-input::-webkit-input-placeholder{color:#9fa6b2;opacity:1}.form-input::-moz-placeholder{color:#9fa6b2;opacity:1}.form-input:-ms-input-placeholder{color:#9fa6b2;opacity:1}.form-input::-ms-input-placeholder{color:#9fa6b2;opacity:1}.form-input::placeholder{color:#9fa6b2;opacity:1}.form-input:focus{outline:none;box-shadow:0 0 0 3px rgba(164,202,254,.45);border-color:#a4cafe}.form-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#d2d6dc;border-width:1px;border-radius:.375rem;padding:.5rem .75rem;font-size:1rem;line-height:1.5}.form-textarea::-webkit-input-placeholder{color:#9fa6b2;opacity:1}.form-textarea::-moz-placeholder{color:#9fa6b2;opacity:1}.form-textarea:-ms-input-placeholder{color:#9fa6b2;opacity:1}.form-textarea::-ms-input-placeholder{color:#9fa6b2;opacity:1}.form-textarea::placeholder{color:#9fa6b2;opacity:1}.form-textarea:focus{outline:none;box-shadow:0 0 0 3px rgba(164,202,254,.45);border-color:#a4cafe}.form-multiselect{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#d2d6dc;border-width:1px;border-radius:.375rem;padding:.5rem .75rem;font-size:1rem;line-height:1.5}.form-multiselect:focus{outline:none;box-shadow:0 0 0 3px rgba(164,202,254,.45);border-color:#a4cafe}.form-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M7 7l3-3 3 3m0 6l-3 3-3-3' stroke='%239fa6b2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;background-repeat:no-repeat;background-color:#fff;border-color:#d2d6dc;border-width:1px;border-radius:.375rem;padding:.5rem 2.5rem .5rem .75rem;font-size:1rem;line-height:1.5;background-position:right .5rem center;background-size:1.5em 1.5em}.form-select::-ms-expand{color:#9fa6b2;border:none}@media not print{.form-select::-ms-expand{display:none}}@media print and (-ms-high-contrast:active),print and (-ms-high-contrast:none){.form-select{padding-right:.75rem}}.form-select:focus{outline:none;box-shadow:0 0 0 3px rgba(164,202,254,.45);border-color:#a4cafe}.form-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#3f83f8;background-color:#fff;border-color:#d2d6dc;border-width:1px;border-radius:.25rem}.form-checkbox:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.707 7.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4a1 1 0 00-1.414-1.414L7 8.586 5.707 7.293z'/%3E%3C/svg%3E");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}@media not print{.form-checkbox::-ms-check{border-width:1px;color:transparent;background:inherit;border-color:inherit;border-radius:inherit}}.form-checkbox:focus{outline:none;box-shadow:0 0 0 3px rgba(164,202,254,.45);border-color:#a4cafe}.form-checkbox:checked:focus{border-color:transparent}.form-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex-shrink:0;border-radius:100%;height:1rem;width:1rem;color:#3f83f8;background-color:#fff;border-color:#d2d6dc;border-width:1px}.form-radio:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}@media not print{.form-radio::-ms-check{border-width:1px;color:transparent;background:inherit;border-color:inherit;border-radius:inherit}}.form-radio:focus{outline:none;box-shadow:0 0 0 3px rgba(164,202,254,.45);border-color:#a4cafe}.form-radio:checked:focus{border-color:transparent}.button{border-radius:.25rem;padding:.75rem 1rem;font-size:.875rem;line-height:1rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);font-weight:600}.button-primary{background-color:#3f83f8;color:#fff}.button-primary:hover{background-color:#1c64f2}.button-block{display:block;width:100%}.button-danger{background-color:#f05252;color:#fff}.button-danger:hover{background-color:#e02424}.button-secondary{background-color:#f4f5f7}.button-secondary:hover{background-color:#e5e7eb}.button-link{color:#1c64f2}.button-link:hover{color:#1a56db;text-decoration:underline}.button-link:focus{outline:0;text-decoration:underline}.validation{border-left-width:2px;margin-top:.5rem;margin-bottom:.25rem;background-color:#f4f5f7;padding:.25rem .75rem}.validation-fail{border-color:#f05252;color:#374151;font-size:.875rem}.validation-pass{border-color:#0e9f6e;color:#374151;font-size:.875rem}.input{align-items:center;border-width:1px;border-color:#d2d6dc;border-radius:.25rem;margin-top:.5rem;width:100%;padding:.5rem 1rem;font-size:.875rem}.input:focus{outline:0;border-color:#3f83f8}.input-label{font-size:.875rem;color:#4b5563}.input-slim{padding-top:.5rem;padding-bottom:.5rem}.alert{padding:.75rem 1rem;font-size:.875rem;border-left-width:2px;margin-top:.5rem;margin-bottom:.25rem;background-color:#f4f5f7;border-color:#9fa6b2}.alert-success{border-color:#0e9f6e}.alert-failure{border-color:#f05252}.badge{display:inline-flex;align-items:center;padding:.125rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:500;line-height:1rem}.badge-light{background-color:#f4f5f7;color:#252f3f}.badge-primary{background-color:#c3ddfd;color:#3f83f8}.badge-danger{background-color:#fde8e8;color:#f05252}.badge-success{background-color:#def7ec;color:#0e9f6e}.badge-secondary{background-color:#252f3f;color:#e5e7eb}.badge-warning{background-color:#feecdc;color:#ff5a1f}.badge-info{background-color:#e1effe;color:#3f83f8}.dataTables_wrapper.no-footer{background-color:#f9fafb!important}.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper select{color:#374151!important;padding:.5rem 1rem!important}.dataTables_filter,.dataTables_length{padding:.75rem!important}.dataTables_filter input{align-items:center!important;border-width:1px!important;border-color:#d2d6dc!important;border-radius:.25rem!important;font-size:.875rem!important;padding:.25rem 1rem!important}table.dataTable thead td,table.dataTable thead th{border-bottom-width:1px!important;border-color:#e5e7eb!important}.dataTables_info{padding:.75rem!important}.dataTables_info,.dataTables_paginate{font-size:.875rem!important}.dataTable.no-footer{border-style:none!important}.active-page{background-color:#233876!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.bg-transparent{background-color:transparent}.bg-white{background-color:#fff}.bg-black{background-color:#000}.bg-gray-50{background-color:#f9fafb}.bg-gray-100{background-color:#f4f5f7}.bg-gray-200{background-color:#e5e7eb}.bg-gray-300{background-color:#d2d6dc}.bg-gray-500{background-color:#6b7280}.bg-gray-600{background-color:#4b5563}.bg-gray-800{background-color:#252f3f}.bg-gray-900{background-color:#161e2e}.bg-red-100{background-color:#fde8e8}.bg-orange-600{background-color:#d03801}.bg-orange-700{background-color:#b43403}.bg-green-500{background-color:#0e9f6e}.bg-teal-600{background-color:#047481}.bg-blue-50{background-color:#ebf5ff}.bg-blue-500{background-color:#3f83f8}.bg-blue-700{background-color:#1a56db}.bg-blue-800{background-color:#1e429f}.bg-blue-900{background-color:#233876}.hover\:bg-gray-100:hover{background-color:#f4f5f7}.hover\:bg-green-600:hover{background-color:#057a55}.hover\:bg-blue-900:hover{background-color:#233876}.focus\:bg-gray-100:focus{background-color:#f4f5f7}.focus\:bg-gray-600:focus{background-color:#4b5563}.focus\:bg-blue-900:focus{background-color:#233876}.active\:bg-gray-50:active{background-color:#f9fafb}.bg-no-repeat{background-repeat:no-repeat}.bg-cover{background-size:cover}.border-transparent{border-color:transparent}.border-black{border-color:#000}.border-gray-200{border-color:#e5e7eb}.border-gray-300{border-color:#d2d6dc}.border-gray-400{border-color:#9fa6b2}.border-gray-800{border-color:#252f3f}.border-green-500{border-color:#0e9f6e}.border-teal-600{border-color:#047481}.border-blue-500{border-color:#3f83f8}.border-blue-600{border-color:#1c64f2}.border-pink-700{border-color:#bf125d}.hover\:border-gray-300:hover{border-color:#d2d6dc}.focus\:border-gray-400:focus{border-color:#9fa6b2}.focus\:border-blue-300:focus{border-color:#a4cafe}.rounded-sm{border-radius:.125rem}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-2{border-width:2px}.border{border-width:1px}.border-t-2{border-top-width:2px}.border-l-2{border-left-width:2px}.border-t-4{border-top-width:4px}.border-b-4{border-bottom-width:4px}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.cursor-pointer{cursor:pointer}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.table{display:table}.table-header-group{display:table-header-group}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.content-center{align-content:center}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.float-right{float:right}.float-left{float:left}.clearfix:after{content:"";display:table;clear:both}.font-sans{font-family:Open Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-black{font-weight:900}.h-0{height:0}.h-1{height:.25rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-32{height:8rem}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-tight{line-height:1.25}.leading-normal{line-height:1.5}.m-8{margin:2rem}.m-10{margin:2.5rem}.m-12{margin:3rem}.m-auto{margin:auto}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.mx-10{margin-left:2.5rem;margin-right:2.5rem}.my-12{margin-top:3rem;margin-bottom:3rem}.mx-16{margin-left:4rem;margin-right:4rem}.mx-auto{margin-left:auto;margin-right:auto}.-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.mb-0{margin-bottom:0}.mt-1{margin-top:.25rem}.mr-1{margin-right:.25rem}.mb-1{margin-bottom:.25rem}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mt-3{margin-top:.75rem}.mr-3{margin-right:.75rem}.mb-3{margin-bottom:.75rem}.ml-3{margin-left:.75rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left:1rem}.mt-5{margin-top:1.25rem}.mr-5{margin-right:1.25rem}.ml-5{margin-left:1.25rem}.mt-6{margin-top:1.5rem}.mr-6{margin-right:1.5rem}.mb-6{margin-bottom:1.5rem}.mt-8{margin-top:2rem}.mb-8{margin-bottom:2rem}.ml-8{margin-left:2rem}.mt-10{margin-top:2.5rem}.mr-10{margin-right:2.5rem}.mb-10{margin-bottom:2.5rem}.ml-10{margin-left:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-20{margin-top:5rem}.mt-24{margin-top:6rem}.ml-24{margin-left:6rem}.mr-auto{margin-right:auto}.ml-auto{margin-left:auto}.-mr-1{margin-right:-.25rem}.-ml-1{margin-left:-.25rem}.-mr-14{margin-right:-3.5rem}.-mt-px{margin-top:-1px}.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.min-h-screen{min-height:100vh}.min-w-full{min-width:100%}.object-cover{-o-object-fit:cover;object-fit:cover}.opacity-0{opacity:0}.opacity-75{opacity:.75}.opacity-100{opacity:1}.focus\:outline-none:focus{outline:0}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.p-0{padding:0}.p-1{padding:.25rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-16{padding:4rem}.p-px{padding:1px}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.px-12{padding-left:3rem;padding-right:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.px-16{padding-left:4rem;padding-right:4rem}.pr-1{padding-right:.25rem}.pl-1{padding-left:.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-4{padding-top:1rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.pt-5{padding-top:1.25rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pl-8{padding-left:2rem}.pl-10{padding-left:2.5rem}.pt-12{padding-top:3rem}.pb-20{padding-bottom:5rem}.pb-full{padding-bottom:100%}.placeholder-gray-500::-webkit-input-placeholder{color:#6b7280}.placeholder-gray-500::-moz-placeholder{color:#6b7280}.placeholder-gray-500:-ms-input-placeholder{color:#6b7280}.placeholder-gray-500::-ms-input-placeholder{color:#6b7280}.placeholder-gray-500::placeholder{color:#6b7280}.focus\:placeholder-gray-400:focus::-webkit-input-placeholder{color:#9fa6b2}.focus\:placeholder-gray-400:focus::-moz-placeholder{color:#9fa6b2}.focus\:placeholder-gray-400:focus:-ms-input-placeholder{color:#9fa6b2}.focus\:placeholder-gray-400:focus::-ms-input-placeholder{color:#9fa6b2}.focus\:placeholder-gray-400:focus::placeholder{color:#9fa6b2}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{right:0;left:0}.inset-0,.inset-y-0{top:0;bottom:0}.inset-x-0{right:0;left:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.resize{resize:both}.shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(118,169,250,.45)}.focus\:shadow-outline-blue:focus{box-shadow:0 0 0 3px rgba(164,202,254,.45)}.fill-current{fill:currentColor}.table-auto{table-layout:auto}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-white{color:#fff}.text-black{color:#000}.text-gray-400{color:#9fa6b2}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-gray-900{color:#161e2e}.text-red-600{color:#e02424}.text-orange-800{color:#8a2c0d}.text-yellow-600{color:#9f580a}.text-green-700{color:#046c4e}.text-teal-600{color:#047481}.text-blue-500{color:#3f83f8}.text-blue-600{color:#1c64f2}.text-pink-700{color:#bf125d}.hover\:text-gray-500:hover{color:#6b7280}.hover\:text-gray-600:hover{color:#4b5563}.hover\:text-gray-700:hover{color:#374151}.hover\:text-gray-800:hover{color:#252f3f}.hover\:text-gray-900:hover{color:#161e2e}.hover\:text-green-800:hover{color:#03543f}.hover\:text-blue-600:hover{color:#1c64f2}.hover\:text-indigo-900:hover{color:#362f78}.focus-within\:text-gray-600:focus-within{color:#4b5563}.focus\:text-gray-500:focus{color:#6b7280}.focus\:text-gray-600:focus{color:#4b5563}.focus\:text-gray-700:focus{color:#374151}.focus\:text-gray-900:focus{color:#161e2e}.active\:text-gray-800:active{color:#252f3f}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-5xl{font-size:3rem}.text-6xl{font-size:4rem}.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.focus\:underline:focus,.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.align-middle{vertical-align:middle}.visible{visibility:visible}.whitespace-no-wrap{white-space:nowrap}.break-all{word-break:break-all}.w-0{width:0}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-40{width:10rem}.w-48{width:12rem}.w-56{width:14rem}.w-64{width:16rem}.w-80{width:20rem}.w-auto{width:auto}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-2\/5{width:40%}.w-full{width:100%}.z-0{z-index:0}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.gap-1{grid-gap:.25rem;gap:.25rem}.gap-2{grid-gap:.5rem;gap:.5rem}.gap-4{grid-gap:1rem;gap:1rem}.gap-6{grid-gap:1.5rem;gap:1.5rem}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.col-span-12{grid-column:span 12/span 12}.col-start-2{grid-column-start:2}.col-start-4{grid-column-start:4}.transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.origin-top-right{transform-origin:top right}.scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.scale-100{--transform-scale-x:1;--transform-scale-y:1}.translate-x-0{--transform-translate-x:0}.-translate-x-full{--transform-translate-x:-100%}.translate-y-0{--transform-translate-y:0}.translate-y-4{--transform-translate-y:1rem}.transition-all{transition-property:all}.transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.transition-opacity{transition-property:opacity}.ease-linear{transition-timing-function:linear}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-75{transition-duration:75ms}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}@media (min-width:640px){.sm\:rounded-lg{border-radius:.5rem}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:flex-shrink-0{flex-shrink:0}.sm\:h-10{height:2.5rem}.sm\:mx-0{margin-left:0;margin-right:0}.sm\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.sm\:mt-0{margin-top:0}.sm\:ml-3{margin-left:.75rem}.sm\:mt-4{margin-top:1rem}.sm\:ml-4{margin-left:1rem}.sm\:mt-6{margin-top:1.5rem}.sm\:ml-6{margin-left:1.5rem}.sm\:max-w-lg{max-width:32rem}.sm\:p-6{padding:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:inset-0{top:0;right:0;bottom:0;left:0}.sm\:text-left{text-align:left}.sm\:text-sm{font-size:.875rem}.sm\:text-lg{font-size:1.125rem}.sm\:w-10{width:2.5rem}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:gap-4{grid-gap:1rem;gap:1rem}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-3{grid-column:span 3/span 3}.sm\:col-span-4{grid-column:span 4/span 4}.sm\:col-span-6{grid-column:span 6/span 6}.sm\:scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.sm\:scale-100{--transform-scale-x:1;--transform-scale-y:1}.sm\:translate-y-0{--transform-translate-y:0}}@media (min-width:768px){.md\:flex{display:flex}.md\:grid{display:grid}.md\:hidden{display:none}.md\:flex-shrink-0{flex-shrink:0}.md\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.md\:mt-0{margin-top:0}.md\:ml-0{margin-left:0}.md\:ml-6{margin-left:1.5rem}.md\:mt-10{margin-top:2.5rem}.md\:min-h-screen{min-height:100vh}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:pb-0{padding-bottom:0}.md\:text-3xl{font-size:1.875rem}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.333333%}.md\:gap-6{grid-gap:1.5rem;gap:1.5rem}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-start-2{grid-column-start:2}.md\:col-start-4{grid-column-start:4}}@media (min-width:1024px){.lg\:block{display:block}.lg\:-mx-8{margin-left:-2rem;margin-right:-2rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:w-1\/4{width:25%}.lg\:w-1\/5{width:20%}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:col-span-3{grid-column:span 3/span 3}} \ No newline at end of file +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[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}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{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-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}button{background-color:transparent;background-image:none;padding:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}fieldset,ol,ul{margin:0;padding:0}ol,ul{list-style:none}html{font-family:Open Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #d2d6dc}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#a0aec0}input::-moz-placeholder,textarea::-moz-placeholder{color:#a0aec0}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#a0aec0}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:#a0aec0}input::placeholder,textarea::placeholder{color:#a0aec0}[role=button],button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#d2d6dc;border-width:1px;border-radius:.375rem;padding:.5rem .75rem;font-size:1rem;line-height:1.5}.form-input::-webkit-input-placeholder{color:#9fa6b2;opacity:1}.form-input::-moz-placeholder{color:#9fa6b2;opacity:1}.form-input:-ms-input-placeholder{color:#9fa6b2;opacity:1}.form-input::-ms-input-placeholder{color:#9fa6b2;opacity:1}.form-input::placeholder{color:#9fa6b2;opacity:1}.form-input:focus{outline:none;box-shadow:0 0 0 3px rgba(164,202,254,.45);border-color:#a4cafe}.form-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#d2d6dc;border-width:1px;border-radius:.375rem;padding:.5rem .75rem;font-size:1rem;line-height:1.5}.form-textarea::-webkit-input-placeholder{color:#9fa6b2;opacity:1}.form-textarea::-moz-placeholder{color:#9fa6b2;opacity:1}.form-textarea:-ms-input-placeholder{color:#9fa6b2;opacity:1}.form-textarea::-ms-input-placeholder{color:#9fa6b2;opacity:1}.form-textarea::placeholder{color:#9fa6b2;opacity:1}.form-textarea:focus{outline:none;box-shadow:0 0 0 3px rgba(164,202,254,.45);border-color:#a4cafe}.form-multiselect{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#d2d6dc;border-width:1px;border-radius:.375rem;padding:.5rem .75rem;font-size:1rem;line-height:1.5}.form-multiselect:focus{outline:none;box-shadow:0 0 0 3px rgba(164,202,254,.45);border-color:#a4cafe}.form-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M7 7l3-3 3 3m0 6l-3 3-3-3' stroke='%239fa6b2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;background-repeat:no-repeat;background-color:#fff;border-color:#d2d6dc;border-width:1px;border-radius:.375rem;padding:.5rem 2.5rem .5rem .75rem;font-size:1rem;line-height:1.5;background-position:right .5rem center;background-size:1.5em 1.5em}.form-select::-ms-expand{color:#9fa6b2;border:none}@media not print{.form-select::-ms-expand{display:none}}@media print and (-ms-high-contrast:active),print and (-ms-high-contrast:none){.form-select{padding-right:.75rem}}.form-select:focus{outline:none;box-shadow:0 0 0 3px rgba(164,202,254,.45);border-color:#a4cafe}.form-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#3f83f8;background-color:#fff;border-color:#d2d6dc;border-width:1px;border-radius:.25rem}.form-checkbox:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.707 7.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4a1 1 0 00-1.414-1.414L7 8.586 5.707 7.293z'/%3E%3C/svg%3E");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}@media not print{.form-checkbox::-ms-check{border-width:1px;color:transparent;background:inherit;border-color:inherit;border-radius:inherit}}.form-checkbox:focus{outline:none;box-shadow:0 0 0 3px rgba(164,202,254,.45);border-color:#a4cafe}.form-checkbox:checked:focus{border-color:transparent}.form-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex-shrink:0;border-radius:100%;height:1rem;width:1rem;color:#3f83f8;background-color:#fff;border-color:#d2d6dc;border-width:1px}.form-radio:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}@media not print{.form-radio::-ms-check{border-width:1px;color:transparent;background:inherit;border-color:inherit;border-radius:inherit}}.form-radio:focus{outline:none;box-shadow:0 0 0 3px rgba(164,202,254,.45);border-color:#a4cafe}.form-radio:checked:focus{border-color:transparent}.button{border-radius:.25rem;padding:.75rem 1rem;font-size:.875rem;line-height:1rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);font-weight:600}.button-primary{background-color:#3f83f8;color:#fff}.button-primary:hover{background-color:#1c64f2}.button-block{display:block;width:100%}.button-danger{background-color:#f05252;color:#fff}.button-danger:hover{background-color:#e02424}.button-secondary{background-color:#f4f5f7}.button-secondary:hover{background-color:#e5e7eb}.button-link{color:#1c64f2}.button-link:hover{color:#1a56db;text-decoration:underline}.button-link:focus{outline:0;text-decoration:underline}.validation{border-left-width:2px;margin-top:.5rem;margin-bottom:.25rem;background-color:#f4f5f7;padding:.25rem .75rem}.validation-fail{border-color:#f05252;color:#374151;font-size:.875rem}.validation-pass{border-color:#0e9f6e;color:#374151;font-size:.875rem}.input{align-items:center;border-width:1px;border-color:#d2d6dc;border-radius:.25rem;margin-top:.5rem;width:100%;padding:.5rem 1rem;font-size:.875rem}.input:focus{outline:0;border-color:#3f83f8}.input-label{font-size:.875rem;color:#4b5563}.input-slim{padding-top:.5rem;padding-bottom:.5rem}.alert{padding:.75rem 1rem;font-size:.875rem;border-left-width:2px;margin-top:.5rem;margin-bottom:.25rem;background-color:#f4f5f7;border-color:#9fa6b2}.alert-success{border-color:#0e9f6e}.alert-failure{border-color:#f05252}.badge{display:inline-flex;align-items:center;padding:.125rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:500;line-height:1rem}.badge-light{background-color:#f4f5f7;color:#252f3f}.badge-primary{background-color:#c3ddfd;color:#3f83f8}.badge-danger{background-color:#fde8e8;color:#f05252}.badge-success{background-color:#def7ec;color:#0e9f6e}.badge-secondary{background-color:#252f3f;color:#e5e7eb}.badge-warning{background-color:#feecdc;color:#ff5a1f}.badge-info{background-color:#e1effe;color:#3f83f8}.dataTables_wrapper.no-footer{background-color:#f9fafb!important}.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper select{color:#374151!important;padding:.5rem 1rem!important}.dataTables_filter,.dataTables_length{padding:.75rem!important}.dataTables_filter input{align-items:center!important;border-width:1px!important;border-color:#d2d6dc!important;border-radius:.25rem!important;font-size:.875rem!important;padding:.25rem 1rem!important}table.dataTable thead td,table.dataTable thead th{border-bottom-width:1px!important;border-color:#e5e7eb!important}.dataTables_info{padding:.75rem!important}.dataTables_info,.dataTables_paginate{font-size:.875rem!important}.dataTable.no-footer{border-style:none!important}.active-page{background-color:#233876!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.bg-transparent{background-color:transparent}.bg-white{background-color:#fff}.bg-black{background-color:#000}.bg-gray-50{background-color:#f9fafb}.bg-gray-100{background-color:#f4f5f7}.bg-gray-200{background-color:#e5e7eb}.bg-gray-300{background-color:#d2d6dc}.bg-gray-500{background-color:#6b7280}.bg-gray-600{background-color:#4b5563}.bg-gray-800{background-color:#252f3f}.bg-gray-900{background-color:#161e2e}.bg-red-100{background-color:#fde8e8}.bg-orange-600{background-color:#d03801}.bg-orange-700{background-color:#b43403}.bg-green-500{background-color:#0e9f6e}.bg-teal-600{background-color:#047481}.bg-blue-50{background-color:#ebf5ff}.bg-blue-500{background-color:#3f83f8}.bg-blue-700{background-color:#1a56db}.bg-blue-800{background-color:#1e429f}.bg-blue-900{background-color:#233876}.hover\:bg-gray-100:hover{background-color:#f4f5f7}.hover\:bg-green-600:hover{background-color:#057a55}.hover\:bg-blue-900:hover{background-color:#233876}.focus\:bg-gray-100:focus{background-color:#f4f5f7}.focus\:bg-gray-600:focus{background-color:#4b5563}.focus\:bg-blue-900:focus{background-color:#233876}.active\:bg-gray-50:active{background-color:#f9fafb}.bg-no-repeat{background-repeat:no-repeat}.bg-cover{background-size:cover}.border-transparent{border-color:transparent}.border-black{border-color:#000}.border-gray-200{border-color:#e5e7eb}.border-gray-300{border-color:#d2d6dc}.border-gray-400{border-color:#9fa6b2}.border-gray-800{border-color:#252f3f}.border-green-500{border-color:#0e9f6e}.border-teal-600{border-color:#047481}.border-blue-500{border-color:#3f83f8}.border-blue-600{border-color:#1c64f2}.border-pink-700{border-color:#bf125d}.hover\:border-gray-300:hover{border-color:#d2d6dc}.focus\:border-gray-400:focus{border-color:#9fa6b2}.focus\:border-blue-300:focus{border-color:#a4cafe}.rounded-sm{border-radius:.125rem}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-2{border-width:2px}.border{border-width:1px}.border-t-2{border-top-width:2px}.border-l-2{border-left-width:2px}.border-t-4{border-top-width:4px}.border-b-4{border-bottom-width:4px}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.cursor-pointer{cursor:pointer}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.table{display:table}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.content-center{align-content:center}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.float-right{float:right}.float-left{float:left}.clearfix:after{content:"";display:table;clear:both}.font-sans{font-family:Open Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-black{font-weight:900}.h-0{height:0}.h-1{height:.25rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-32{height:8rem}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-tight{line-height:1.25}.leading-normal{line-height:1.5}.m-8{margin:2rem}.m-10{margin:2.5rem}.m-12{margin:3rem}.m-auto{margin:auto}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.mx-10{margin-left:2.5rem;margin-right:2.5rem}.my-12{margin-top:3rem;margin-bottom:3rem}.mx-16{margin-left:4rem;margin-right:4rem}.mx-auto{margin-left:auto;margin-right:auto}.-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.mb-0{margin-bottom:0}.mt-1{margin-top:.25rem}.mr-1{margin-right:.25rem}.mb-1{margin-bottom:.25rem}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mt-3{margin-top:.75rem}.mr-3{margin-right:.75rem}.mb-3{margin-bottom:.75rem}.ml-3{margin-left:.75rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left:1rem}.mt-5{margin-top:1.25rem}.mr-5{margin-right:1.25rem}.ml-5{margin-left:1.25rem}.mt-6{margin-top:1.5rem}.mr-6{margin-right:1.5rem}.mb-6{margin-bottom:1.5rem}.mt-8{margin-top:2rem}.mb-8{margin-bottom:2rem}.ml-8{margin-left:2rem}.mt-10{margin-top:2.5rem}.mr-10{margin-right:2.5rem}.mb-10{margin-bottom:2.5rem}.ml-10{margin-left:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-20{margin-top:5rem}.mt-24{margin-top:6rem}.ml-24{margin-left:6rem}.mr-auto{margin-right:auto}.ml-auto{margin-left:auto}.-mr-1{margin-right:-.25rem}.-ml-1{margin-left:-.25rem}.-mr-14{margin-right:-3.5rem}.-mt-px{margin-top:-1px}.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.min-h-screen{min-height:100vh}.min-w-full{min-width:100%}.object-cover{-o-object-fit:cover;object-fit:cover}.opacity-0{opacity:0}.opacity-75{opacity:.75}.opacity-100{opacity:1}.focus\:outline-none:focus{outline:0}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.p-0{padding:0}.p-1{padding:.25rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-16{padding:4rem}.p-px{padding:1px}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.px-12{padding-left:3rem;padding-right:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.px-16{padding-left:4rem;padding-right:4rem}.pr-1{padding-right:.25rem}.pl-1{padding-left:.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-4{padding-top:1rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.pt-5{padding-top:1.25rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pl-8{padding-left:2rem}.pl-10{padding-left:2.5rem}.pt-12{padding-top:3rem}.pb-20{padding-bottom:5rem}.pb-full{padding-bottom:100%}.placeholder-gray-500::-webkit-input-placeholder{color:#6b7280}.placeholder-gray-500::-moz-placeholder{color:#6b7280}.placeholder-gray-500:-ms-input-placeholder{color:#6b7280}.placeholder-gray-500::-ms-input-placeholder{color:#6b7280}.placeholder-gray-500::placeholder{color:#6b7280}.focus\:placeholder-gray-400:focus::-webkit-input-placeholder{color:#9fa6b2}.focus\:placeholder-gray-400:focus::-moz-placeholder{color:#9fa6b2}.focus\:placeholder-gray-400:focus:-ms-input-placeholder{color:#9fa6b2}.focus\:placeholder-gray-400:focus::-ms-input-placeholder{color:#9fa6b2}.focus\:placeholder-gray-400:focus::placeholder{color:#9fa6b2}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{right:0;left:0}.inset-0,.inset-y-0{top:0;bottom:0}.inset-x-0{right:0;left:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.resize{resize:both}.shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(118,169,250,.45)}.focus\:shadow-outline-blue:focus{box-shadow:0 0 0 3px rgba(164,202,254,.45)}.fill-current{fill:currentColor}.table-auto{table-layout:auto}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-white{color:#fff}.text-black{color:#000}.text-gray-400{color:#9fa6b2}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-gray-900{color:#161e2e}.text-red-600{color:#e02424}.text-orange-800{color:#8a2c0d}.text-yellow-600{color:#9f580a}.text-green-700{color:#046c4e}.text-teal-600{color:#047481}.text-blue-500{color:#3f83f8}.text-blue-600{color:#1c64f2}.text-pink-700{color:#bf125d}.hover\:text-gray-500:hover{color:#6b7280}.hover\:text-gray-600:hover{color:#4b5563}.hover\:text-gray-700:hover{color:#374151}.hover\:text-gray-800:hover{color:#252f3f}.hover\:text-gray-900:hover{color:#161e2e}.hover\:text-blue-600:hover{color:#1c64f2}.hover\:text-indigo-900:hover{color:#362f78}.focus-within\:text-gray-600:focus-within{color:#4b5563}.focus\:text-gray-500:focus{color:#6b7280}.focus\:text-gray-600:focus{color:#4b5563}.focus\:text-gray-700:focus{color:#374151}.focus\:text-gray-900:focus{color:#161e2e}.active\:text-gray-800:active{color:#252f3f}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-5xl{font-size:3rem}.text-6xl{font-size:4rem}.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.focus\:underline:focus,.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.align-middle{vertical-align:middle}.visible{visibility:visible}.whitespace-no-wrap{white-space:nowrap}.break-all{word-break:break-all}.w-0{width:0}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-40{width:10rem}.w-48{width:12rem}.w-56{width:14rem}.w-64{width:16rem}.w-80{width:20rem}.w-auto{width:auto}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-2\/5{width:40%}.w-full{width:100%}.z-0{z-index:0}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.gap-1{grid-gap:.25rem;gap:.25rem}.gap-2{grid-gap:.5rem;gap:.5rem}.gap-4{grid-gap:1rem;gap:1rem}.gap-6{grid-gap:1.5rem;gap:1.5rem}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.col-span-12{grid-column:span 12/span 12}.col-start-2{grid-column-start:2}.col-start-4{grid-column-start:4}.transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.origin-top-right{transform-origin:top right}.scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.scale-100{--transform-scale-x:1;--transform-scale-y:1}.translate-x-0{--transform-translate-x:0}.-translate-x-full{--transform-translate-x:-100%}.translate-y-0{--transform-translate-y:0}.translate-y-4{--transform-translate-y:1rem}.transition-all{transition-property:all}.transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.transition-opacity{transition-property:opacity}.ease-linear{transition-timing-function:linear}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-75{transition-duration:75ms}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}@media (min-width:640px){.sm\:rounded-lg{border-radius:.5rem}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:flex-shrink-0{flex-shrink:0}.sm\:h-10{height:2.5rem}.sm\:mx-0{margin-left:0;margin-right:0}.sm\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.sm\:mt-0{margin-top:0}.sm\:ml-3{margin-left:.75rem}.sm\:mt-4{margin-top:1rem}.sm\:ml-4{margin-left:1rem}.sm\:mt-6{margin-top:1.5rem}.sm\:ml-6{margin-left:1.5rem}.sm\:max-w-lg{max-width:32rem}.sm\:p-6{padding:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:inset-0{top:0;right:0;bottom:0;left:0}.sm\:text-left{text-align:left}.sm\:text-sm{font-size:.875rem}.sm\:text-lg{font-size:1.125rem}.sm\:w-10{width:2.5rem}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:gap-4{grid-gap:1rem;gap:1rem}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-3{grid-column:span 3/span 3}.sm\:col-span-4{grid-column:span 4/span 4}.sm\:col-span-6{grid-column:span 6/span 6}.sm\:scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.sm\:scale-100{--transform-scale-x:1;--transform-scale-y:1}.sm\:translate-y-0{--transform-translate-y:0}}@media (min-width:768px){.md\:flex{display:flex}.md\:grid{display:grid}.md\:hidden{display:none}.md\:flex-shrink-0{flex-shrink:0}.md\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.md\:mt-0{margin-top:0}.md\:ml-0{margin-left:0}.md\:ml-6{margin-left:1.5rem}.md\:mt-10{margin-top:2.5rem}.md\:min-h-screen{min-height:100vh}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:pb-0{padding-bottom:0}.md\:text-3xl{font-size:1.875rem}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.333333%}.md\:gap-6{grid-gap:1.5rem;gap:1.5rem}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-start-2{grid-column-start:2}.md\:col-start-4{grid-column-start:4}}@media (min-width:1024px){.lg\:block{display:block}.lg\:-mx-8{margin-left:-2rem;margin-right:-2rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:w-1\/4{width:25%}.lg\:w-1\/5{width:20%}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:col-span-3{grid-column:span 3/span 3}} \ No newline at end of file diff --git a/public/js/clients/shared/pdf.js b/public/js/clients/shared/pdf.js index c37d033ded2c..2a318f746e49 100644 --- a/public/js/clients/shared/pdf.js +++ b/public/js/clients/shared/pdf.js @@ -1,2 +1,2 @@ /*! For license information please see pdf.js.LICENSE.txt */ -!function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="/",r(r.s=8)}({"7+HS":function(t,e,r){"use strict";r.r(e);var n=r("o0o1"),o=r.n(n);function i(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function a(t,e){for(var r=0;r=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(c&&u){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),b(r),s}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;b(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:P(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),s}},t}(t.exports);try{regeneratorRuntime=n}catch(t){Function("r","regeneratorRuntime = r")(n)}},o0o1:function(t,e,r){t.exports=r("ls82")}}); \ No newline at end of file +!function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="/",r(r.s=8)}({"7+HS":function(t,e,r){"use strict";r.r(e);var n=r("o0o1"),o=r.n(n);function i(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function a(t,e){for(var r=0;r1&&(r.style.display="flex")}},{key:"handle",value:(c=o.a.mark((function t(){var e,r,n;return o.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,pdfjsLib.getDocument(this.url).promise;case 2:return e=t.sent,t.next=5,e.getPage(this.currentPage);case 5:return r=t.sent,this.maxPages=e.numPages,t.next=9,r.getViewport({scale:1});case 9:n=t.sent,this.canvas.height=n.height,this.canvas.width=n.width,r.render({canvasContext:this.context,viewport:n}),this.setPagesInViewport();case 14:case"end":return t.stop()}}),t,this)})),u=function(){var t=this,e=arguments;return new Promise((function(r,n){var o=c.apply(t,e);function a(t){i(o,r,n,a,u,"next",t)}function u(t){i(o,r,n,a,u,"throw",t)}a(void 0)}))},function(){return u.apply(this,arguments)})}])&&a(e.prototype,r),n&&a(e,n),t}())(document.querySelector("meta[name='pdf-url'").content,document.getElementById("pdf-placeholder")).prepare().handle()},8:function(t,e,r){t.exports=r("7+HS")},ls82:function(t,e,r){var n=function(t){"use strict";var e=Object.prototype,r=e.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",a=n.toStringTag||"@@toStringTag";function c(t,e,r,n){var o=e&&e.prototype instanceof l?e:l,i=Object.create(o.prototype),a=new P(n||[]);return i._invoke=function(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return L()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=w(a,r);if(c){if(c===s)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=u(t,e,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===s)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(t,r,a),i}function u(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var s={};function l(){}function h(){}function f(){}var p={};p[o]=function(){return this};var d=Object.getPrototypeOf,v=d&&d(d(E([])));v&&v!==e&&r.call(v,o)&&(p=v);var y=f.prototype=l.prototype=Object.create(p);function g(t){["next","throw","return"].forEach((function(e){t[e]=function(t){return this._invoke(e,t)}}))}function m(t,e){var n;this._invoke=function(o,i){function a(){return new e((function(n,a){!function n(o,i,a,c){var s=u(t[o],t,i);if("throw"!==s.type){var l=s.arg,h=l.value;return h&&"object"==typeof h&&r.call(h,"__await")?e.resolve(h.__await).then((function(t){n("next",t,a,c)}),(function(t){n("throw",t,a,c)})):e.resolve(h).then((function(t){l.value=t,a(l)}),(function(t){return n("throw",t,a,c)}))}c(s.arg)}(o,i,n,a)}))}return n=n?n.then(a,a):a()}}function w(t,e){var r=t.iterator[e.method];if(void 0===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method))return s;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return s}var n=u(r,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,s;var o=n.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,s):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,s)}function x(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function b(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function P(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(x,this),this.reset(!0)}function E(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,i=function e(){for(;++n=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(c&&u){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),b(r),s}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;b(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:E(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),s}},t}(t.exports);try{regeneratorRuntime=n}catch(t){Function("r","regeneratorRuntime = r")(n)}},o0o1:function(t,e,r){t.exports=r("ls82")}}); \ No newline at end of file diff --git a/public/js/vendor/alpinejs/alpine.js b/public/js/vendor/alpinejs/alpine.js new file mode 100644 index 000000000000..58bca23dbf29 --- /dev/null +++ b/public/js/vendor/alpinejs/alpine.js @@ -0,0 +1,1686 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = global || self, global.Alpine = factory()); + }(this, (function () { 'use strict'; + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + if (enumerableOnly) symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + keys.push.apply(keys, symbols); + } + + return keys; + } + + function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + + if (i % 2) { + ownKeys(Object(source), true).forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + + return target; + } + + // Thanks @stimulus: + // https://github.com/stimulusjs/stimulus/blob/master/packages/%40stimulus/core/src/application.ts + function domReady() { + return new Promise(resolve => { + if (document.readyState == "loading") { + document.addEventListener("DOMContentLoaded", resolve); + } else { + resolve(); + } + }); + } + function arrayUnique(array) { + var a = array.concat(); + + for (var i = 0; i < a.length; ++i) { + for (var j = i + 1; j < a.length; ++j) { + if (a[i] === a[j]) a.splice(j--, 1); + } + } + + return a; + } + function isTesting() { + return navigator.userAgent.includes("Node.js") || navigator.userAgent.includes("jsdom"); + } + function kebabCase(subject) { + return subject.replace(/([a-z])([A-Z])/g, '$1-$2').replace(/[_\s]/, '-').toLowerCase(); + } + function walk(el, callback) { + if (callback(el) === false) return; + let node = el.firstElementChild; + + while (node) { + walk(node, callback); + node = node.nextElementSibling; + } + } + function debounce(func, wait) { + var timeout; + return function () { + var context = this, + args = arguments; + + var later = function later() { + timeout = null; + func.apply(context, args); + }; + + clearTimeout(timeout); + timeout = setTimeout(later, wait); + }; + } + function saferEval(expression, dataContext, additionalHelperVariables = {}) { + return new Function(['$data', ...Object.keys(additionalHelperVariables)], `var result; with($data) { result = ${expression} }; return result`)(dataContext, ...Object.values(additionalHelperVariables)); + } + function saferEvalNoReturn(expression, dataContext, additionalHelperVariables = {}) { + // For the cases when users pass only a function reference to the caller: `x-on:click="foo"` + // Where "foo" is a function. Also, we'll pass the function the event instance when we call it. + if (Object.keys(dataContext).includes(expression)) { + let methodReference = new Function(['dataContext', ...Object.keys(additionalHelperVariables)], `with(dataContext) { return ${expression} }`)(dataContext, ...Object.values(additionalHelperVariables)); + + if (typeof methodReference === 'function') { + return methodReference.call(dataContext, additionalHelperVariables['$event']); + } + } + + return new Function(['dataContext', ...Object.keys(additionalHelperVariables)], `with(dataContext) { ${expression} }`)(dataContext, ...Object.values(additionalHelperVariables)); + } + const xAttrRE = /^x-(on|bind|data|text|html|model|if|for|show|cloak|transition|ref)\b/; + function isXAttr(attr) { + const name = replaceAtAndColonWithStandardSyntax(attr.name); + return xAttrRE.test(name); + } + function getXAttrs(el, type) { + return Array.from(el.attributes).filter(isXAttr).map(attr => { + const name = replaceAtAndColonWithStandardSyntax(attr.name); + const typeMatch = name.match(xAttrRE); + const valueMatch = name.match(/:([a-zA-Z\-:]+)/); + const modifiers = name.match(/\.[^.\]]+(?=[^\]]*$)/g) || []; + return { + type: typeMatch ? typeMatch[1] : null, + value: valueMatch ? valueMatch[1] : null, + modifiers: modifiers.map(i => i.replace('.', '')), + expression: attr.value + }; + }).filter(i => { + // If no type is passed in for filtering, bypass filter + if (!type) return true; + return i.type === type; + }); + } + function isBooleanAttr(attrName) { + // As per HTML spec table https://html.spec.whatwg.org/multipage/indices.html#attributes-3:boolean-attribute + // Array roughly ordered by estimated usage + const booleanAttributes = ['disabled', 'checked', 'required', 'readonly', 'hidden', 'open', 'selected', 'autofocus', 'itemscope', 'multiple', 'novalidate', 'allowfullscreen', 'allowpaymentrequest', 'formnovalidate', 'autoplay', 'controls', 'loop', 'muted', 'playsinline', 'default', 'ismap', 'reversed', 'async', 'defer', 'nomodule']; + return booleanAttributes.includes(attrName); + } + function replaceAtAndColonWithStandardSyntax(name) { + if (name.startsWith('@')) { + return name.replace('@', 'x-on:'); + } else if (name.startsWith(':')) { + return name.replace(':', 'x-bind:'); + } + + return name; + } + function transitionIn(el, show, forceSkip = false) { + // We don't want to transition on the initial page load. + if (forceSkip) return show(); + const attrs = getXAttrs(el, 'transition'); + const showAttr = getXAttrs(el, 'show')[0]; // If this is triggered by a x-show.transition. + + if (showAttr && showAttr.modifiers.includes('transition')) { + let modifiers = showAttr.modifiers; // If x-show.transition.out, we'll skip the "in" transition. + + if (modifiers.includes('out') && !modifiers.includes('in')) return show(); + const settingBothSidesOfTransition = modifiers.includes('in') && modifiers.includes('out'); // If x-show.transition.in...out... only use "in" related modifiers for this transition. + + modifiers = settingBothSidesOfTransition ? modifiers.filter((i, index) => index < modifiers.indexOf('out')) : modifiers; + transitionHelperIn(el, modifiers, show); // Otherwise, we can assume x-transition:enter. + } else if (attrs.length > 0) { + transitionClassesIn(el, attrs, show); + } else { + // If neither, just show that damn thing. + show(); + } + } + function transitionOut(el, hide, forceSkip = false) { + if (forceSkip) return hide(); + const attrs = getXAttrs(el, 'transition'); + const showAttr = getXAttrs(el, 'show')[0]; + + if (showAttr && showAttr.modifiers.includes('transition')) { + let modifiers = showAttr.modifiers; + if (modifiers.includes('in') && !modifiers.includes('out')) return hide(); + const settingBothSidesOfTransition = modifiers.includes('in') && modifiers.includes('out'); + modifiers = settingBothSidesOfTransition ? modifiers.filter((i, index) => index > modifiers.indexOf('out')) : modifiers; + transitionHelperOut(el, modifiers, settingBothSidesOfTransition, hide); + } else if (attrs.length > 0) { + transitionClassesOut(el, attrs, hide); + } else { + hide(); + } + } + function transitionHelperIn(el, modifiers, showCallback) { + // Default values inspired by: https://material.io/design/motion/speed.html#duration + const styleValues = { + duration: modifierValue(modifiers, 'duration', 150), + origin: modifierValue(modifiers, 'origin', 'center'), + first: { + opacity: 0, + scale: modifierValue(modifiers, 'scale', 95) + }, + second: { + opacity: 1, + scale: 100 + } + }; + transitionHelper(el, modifiers, showCallback, () => {}, styleValues); + } + function transitionHelperOut(el, modifiers, settingBothSidesOfTransition, hideCallback) { + // Make the "out" transition .5x slower than the "in". (Visually better) + // HOWEVER, if they explicitly set a duration for the "out" transition, + // use that. + const duration = settingBothSidesOfTransition ? modifierValue(modifiers, 'duration', 150) : modifierValue(modifiers, 'duration', 150) / 2; + const styleValues = { + duration: duration, + origin: modifierValue(modifiers, 'origin', 'center'), + first: { + opacity: 1, + scale: 100 + }, + second: { + opacity: 0, + scale: modifierValue(modifiers, 'scale', 95) + } + }; + transitionHelper(el, modifiers, () => {}, hideCallback, styleValues); + } + + function modifierValue(modifiers, key, fallback) { + // If the modifier isn't present, use the default. + if (modifiers.indexOf(key) === -1) return fallback; // If it IS present, grab the value after it: x-show.transition.duration.500ms + + const rawValue = modifiers[modifiers.indexOf(key) + 1]; + if (!rawValue) return fallback; + + if (key === 'scale') { + // Check if the very next value is NOT a number and return the fallback. + // If x-show.transition.scale, we'll use the default scale value. + // That is how a user opts out of the opacity transition. + if (!isNumeric(rawValue)) return fallback; + } + + if (key === 'duration') { + // Support x-show.transition.duration.500ms && duration.500 + let match = rawValue.match(/([0-9]+)ms/); + if (match) return match[1]; + } + + if (key === 'origin') { + // Support chaining origin directions: x-show.transition.top.right + if (['top', 'right', 'left', 'center', 'bottom'].includes(modifiers[modifiers.indexOf(key) + 2])) { + return [rawValue, modifiers[modifiers.indexOf(key) + 2]].join(' '); + } + } + + return rawValue; + } + + function transitionHelper(el, modifiers, hook1, hook2, styleValues) { + // If the user set these style values, we'll put them back when we're done with them. + const opacityCache = el.style.opacity; + const transformCache = el.style.transform; + const transformOriginCache = el.style.transformOrigin; // If no modifiers are present: x-show.transition, we'll default to both opacity and scale. + + const noModifiers = !modifiers.includes('opacity') && !modifiers.includes('scale'); + const transitionOpacity = noModifiers || modifiers.includes('opacity'); + const transitionScale = noModifiers || modifiers.includes('scale'); // These are the explicit stages of a transition (same stages for in and for out). + // This way you can get a birds eye view of the hooks, and the differences + // between them. + + const stages = { + start() { + if (transitionOpacity) el.style.opacity = styleValues.first.opacity; + if (transitionScale) el.style.transform = `scale(${styleValues.first.scale / 100})`; + }, + + during() { + if (transitionScale) el.style.transformOrigin = styleValues.origin; + el.style.transitionProperty = [transitionOpacity ? `opacity` : ``, transitionScale ? `transform` : ``].join(' ').trim(); + el.style.transitionDuration = `${styleValues.duration / 1000}s`; + el.style.transitionTimingFunction = `cubic-bezier(0.4, 0.0, 0.2, 1)`; + }, + + show() { + hook1(); + }, + + end() { + if (transitionOpacity) el.style.opacity = styleValues.second.opacity; + if (transitionScale) el.style.transform = `scale(${styleValues.second.scale / 100})`; + }, + + hide() { + hook2(); + }, + + cleanup() { + if (transitionOpacity) el.style.opacity = opacityCache; + if (transitionScale) el.style.transform = transformCache; + if (transitionScale) el.style.transformOrigin = transformOriginCache; + el.style.transitionProperty = null; + el.style.transitionDuration = null; + el.style.transitionTimingFunction = null; + } + + }; + transition(el, stages); + } + function transitionClassesIn(el, directives, showCallback) { + const enter = (directives.find(i => i.value === 'enter') || { + expression: '' + }).expression.split(' ').filter(i => i !== ''); + const enterStart = (directives.find(i => i.value === 'enter-start') || { + expression: '' + }).expression.split(' ').filter(i => i !== ''); + const enterEnd = (directives.find(i => i.value === 'enter-end') || { + expression: '' + }).expression.split(' ').filter(i => i !== ''); + transitionClasses(el, enter, enterStart, enterEnd, showCallback, () => {}); + } + function transitionClassesOut(el, directives, hideCallback) { + const leave = (directives.find(i => i.value === 'leave') || { + expression: '' + }).expression.split(' ').filter(i => i !== ''); + const leaveStart = (directives.find(i => i.value === 'leave-start') || { + expression: '' + }).expression.split(' ').filter(i => i !== ''); + const leaveEnd = (directives.find(i => i.value === 'leave-end') || { + expression: '' + }).expression.split(' ').filter(i => i !== ''); + transitionClasses(el, leave, leaveStart, leaveEnd, () => {}, hideCallback); + } + function transitionClasses(el, classesDuring, classesStart, classesEnd, hook1, hook2) { + const originalClasses = el.__x_original_classes || []; + const stages = { + start() { + el.classList.add(...classesStart); + }, + + during() { + el.classList.add(...classesDuring); + }, + + show() { + hook1(); + }, + + end() { + // Don't remove classes that were in the original class attribute. + el.classList.remove(...classesStart.filter(i => !originalClasses.includes(i))); + el.classList.add(...classesEnd); + }, + + hide() { + hook2(); + }, + + cleanup() { + el.classList.remove(...classesDuring.filter(i => !originalClasses.includes(i))); + el.classList.remove(...classesEnd.filter(i => !originalClasses.includes(i))); + } + + }; + transition(el, stages); + } + function transition(el, stages) { + stages.start(); + stages.during(); + requestAnimationFrame(() => { + // Note: Safari's transitionDuration property will list out comma separated transition durations + // for every single transition property. Let's grab the first one and call it a day. + let duration = Number(getComputedStyle(el).transitionDuration.replace(/,.*/, '').replace('s', '')) * 1000; + stages.show(); + requestAnimationFrame(() => { + stages.end(); + setTimeout(() => { + stages.hide(); // Adding an "isConnected" check, in case the callback + // removed the element from the DOM. + + if (el.isConnected) { + stages.cleanup(); + } + }, duration); + }); + }); + } + function isNumeric(subject) { + return !isNaN(subject); + } + + function handleForDirective(component, el, expression, initialUpdate, extraVars) { + if (el.tagName.toLowerCase() !== 'template') console.warn('Alpine: [x-for] directive should only be added to